In recent years, security, especially of the Windows platform, seems to constantly reawaken as a topic of eager discussion. Tech magazines and websites regularly publish articles on the subject, offering tips and tricks to stay clear of the latest virus or spyware. Often mainstream newspapers jump in on the act, providing glimpses of the latest developments. As a result, such discussions find their way even among home users, fed by the juicy tidbits provided by neighboring computer geeks. And while all this discussion certainly provides a forum for future developments, the seemingly hopeless situation almost invariably leads to simple “Microsoft-bashing”. Although sometimes a quite entertaining activity, such criticism is rarely constructive, often just leading to the conclusion that Windows is doomed to insecurity.
But what exactly is meant by “security”? Traditionally, we might have defined it as the restriction of data from those unauthorized. Yet once viruses and spyware are taken into account, much more is involved. In fact, in these cases, security involves the protection of the stability of the computer from its main user. An example is the spread of viruses (and in many cases, spyware), which most often require at least some degree of user interaction to be activated.
One solution that has existed in the Unix world since the beginning has been to restrict users from manipulating the basic functioning of the computer–only with the proper permissions can settings be modified or software installed. Moreover, even those that by right have permission deliberately forfeit it while normally using the computer, only obtaining higher privileges (often by typing a password) if absolutely necessary (such as to install software). As a result, the same action (such as opening an attachment) that might have spread a virus on a Windows machine is immediately thwarted, since the user does not have the necessary permissions required for the virus to multiply.
The Windows world, on the other hand, started with a single-user environment, all the way back to the first IBM Personal Computer. In fact, even the term “Personal Computer” implies a single-user system. Granted, Windows 3.1 for Workgroups, Windows 95 and Windows 98 had some concept of multiple users, but each failed to have any significant data protection or concept of user permissions. Although Windows NT did have such features, only recently with Windows 2000 and now Windows XP has a multi-user environment really been available to the general public, and in particular home users. Now, the real problem is not that Windows doesn’t have such features, but more that these features aren’t being used. For the past twenty years, those using Windows machines have subconsciously grown accustomed to this single-user way–if you want to install something, just run the setup program.
In light of this, along comes Service Pack 2 (SP2) for Windows XP, promising greatly enhanced security on several different fronts. Yet in its wake, the internet swarmed with basically two groups of articles. The first group claimed that SP2 was not stable enough, breaking many otherwise functional applications. What’s not immediately obvious, however, is that this “instability” was almost always related to security enhancements that actually worked. In other words, SP2 went against this single-user mentality ingrained in software applications. Not surprisingly, the second group claimed that SP2 was not secure enough or, by some, worse than its predecessors. Yet once again, this is not surprising, since we have already seen that security is a process, not a destination–from the days of Windows 3.1 to now and beyond. Without digging into these arguments further, let us simply say that the improvements of SP2 infringe on something ingrained in software and its users, and this is the real struggle in the search for security.
In considering these things, I began wondering what would happen if a home user actually used these multi-user features of Windows XP. Sure, plenty of people setup multiple users, but often just to allow their kids to have their own wallpaper. What if instead, I actually used my computer without administrative privileges, as a “Limited User” in Windows XP vernacular? Plenty of large corporations use these features with great success, restricting their employees from installing software, and as such shield themselves from a great deal of junk that so often seems to plague home users.
Soon, I took the plunge, reinstalled Windows XP, and created a limited user for my day-to-day activities. This was indeed a drastic switch from the administrative privileges I was use to. Even changing the date and time required logging in as administrator. However, using the “Run As” feature, I am able to install most software simply by right-clicking the setup program, choosing “Run As,” and typing my password to launch the installation as administrator.
But herein lies the Windows security struggle–the great majority of software was written with a hidden assumption for administrative privileges. Indeed, most programs will either not run at all, or lack key features when run as a limited user. Even the popular Winamp fails to run properly unless the user is granted write permissions to the installation directory (normally, limited users are restricted from writing inside the Program Files folder). Companies that use such features generally must test each application individually to guarantee operation as a limited user. Home users, on the other hand, expect that software “just works.” This is the reason why Microsoft cannot simply make the default user a “Limited User” after installing Windows, when even the modest changes made by SP2 caused a global uproar. Unix users, on the other hand, have long grown accustomed to the concept of permissions, while most Windows users barely know that such a thing exists. The problem does not lie simply with home users, however. This mentality has permeated the minds of virtually all application developers, who think little of whether or not the user has the necessary permissions to perform some action (such as writing to the Windows registry). This is the reason that even today so much software fails to work as a limited user.
What then is the solution? Should we simply wait as the mass machine of corporate bureaucracy slowly changes the state of our security? No. The key lies, as it so often does, in education. All users must become aware of the dangers. Developers must be trained to program software with these issues in mind. Then, as more software is designed to work without such hidden assumptions, Microsoft can make the default settings more secure, without stirring up a worldwide revolution.
About the Author
Jonathan Van Eenwyk is currently a junior at the University of Kansas majoring in Computer Engineering. He has a great love for all things computer related.
If you would like to see your thoughts or experiences with technology published, please consider writing an article for OSNews.