Wednesday, February 22, 2012

Times Change, Computers Should Not

It has been noted by Zittrain, Lee and others, that the demographic of computer users has changed much since the early days.  This is true: people generally do not know how to program -- or even fully operate -- their computers.  This lack of user knowledge has been attributed to the rise of malware, and indeed many cases of computer infection are the result of double clicking a shady exe, however it would be naive to believe that poor user decisions are the only real attack vector -- and by extension it would be naive to believe that limiting users' control over their machines would remove the threat of malware.

If anyone has ever used nmap, an application which probes computers connected to a network, in a coffee shop (it's not uncommon for every machine in a coffee shop to be a Mac, commonly misunderstood to be a "safe" platform) you will become aware of just how little users' actions ultimately have to do with their ability to become infected.  Mac computers commonly run an application called CUPS, this is software developed by Mac and is bundled with the operating system.  CUPS by default will run a web server and listen for connections on port 631.  In any given public wireless network, the Mac PCs will all pop up in nmap's output, exposing the presence of CUPS and any other network application.  If one day a bug is found in CUPS which allows a remote user to execute arbitrary code on a given machine -- well, more or less every Mac is compromised, and it had nothing to do with the users' decision (except perhaps the decision to purchase a Mac and use it in public).

This example is not hyperbole, software bugs are discovered all the time which allow remote code execution, and not only for Mac or Windows platforms.  Exim, one of the most popular email servers on the web, recently suffered such a problem.  Version 4.69, the version bundled with most cpanel installations, has a bug in its string parser which allows any remote user to type a few commands and open a reverse shell to the machine.  Cpanel is similar to an "app store" in that removes responsibility from a user to install and maintain software -- cpanel comes preloaded with only cpanel approved software and configurations -- however it has in fact compromised every machine which has not yet dropped the cpanel Exim installation in favor of a more secure user-selected Exim installation.

An app store which governs what a user can and can not install on their machine does little to protect a user from bad software (nmap will also show you iphones, ipads and androids) and at the same time, it stifles users from running software which may disagree with the app store mother ship.  Furthermore, I do not believe the app store (in the case of Apple) was designed with security in mind.  It has been revealed that all iphones come preloaded with a kill-switch which allows Apple to remotely disable your device.  Such a feature has no useful application (to an end-user), it poses the serious risk that a malicious third-party may discover how to trigger it (a BIG security vulnerability) and it reveals Apple's true intent -- that is to control your computer.

I have long since switched to Linux.  Simply put, I prefer a machine that works for me, not against me.  Windows is built-in with nonsensical proprietary structures and applications which I can not use, because I do not want to learn how to use a new (and improved!) GUI every two years once my hundred dollar plus operating system becomes out dated.  I also do not like the idea of needing to install anti-virus software, which all to often does little more than make my computer a slow crawling shell of a machine.  I do not like Apple with is proprietary hardware and it's bubble gum overdose GUI which I find harder even to use than Windows.

Linux allows me to do anything I want.  I can compile code from source, which is hardly "user-friendly," however I also have the option to install software from the vendor's repositories, which is more "user-friendly" than a Windows, Mac or app store install by a long shot.  For instance, if one wants to install the software "VLC media player," on windows you have to visit VLC's webpage, find the installation file you want, download it, double click it, click "yes I really want to install this," enter your password, and then hop through a GUI wizard.  On Mac, the process is similar.  In Ubuntu (the most popular Linux desktop platform) one must enter a single command "sudo apt-get install vlc" and enter the password. The software installs and is ready for use immediately.  No amount of marketing will ever convince me that Windows or Mac are easier to use than Linux.

The future of software is a return to generativity, but so long as Apple is pushing it's proprietary hardware and software mandates, Windows continues to offer a joke of an operating system, and Google tries to own the world through its "clouds," the future of software is in danger.  I do not know what the future of the computer or the internet will be for sure, however, if any of these three parties ultimately wrests control from the others, I have little faith that my children will grow up in a world where they can enjoy the technological promise of the computer and the internet to its fullest extent.

No comments:

Post a Comment