Microsoft quirks, 98, XP, Vista and now 7
Monday 05 December 2011 at 11:51 am. Used tags: pc_hardware
When Windows 2000 came out, it was expected to be one of the biggest disasters in the history of the computer industry. While W2K was bad, it was marketed by Microsoft as an OS for business users rather than for home users (as Windows NT always was), so ultimately, it didn't affect too many people except the corporate folks who, by that time, had probably already become well accustomed to the lunacy that is NT-based Windows. But Windows XP is marketed as the Windows for general users, and since its release, XP has become the most widespread and damaging computer virus our world has ever seen. Windows XP is perhaps the ultimate meme virus--a virus which spreads by thought and culture rather than by biological or technical exploitation. There is no single event that has ever occurred which has negatively impacted the face of computing so much as the release of Windows XP. This page endeavors to explain why. Windows Product Activation I shouldn't really need to say any more about this; It's self-explanatory. However, given how many people use Windows XP, apparently it's not self-explanatory enough, so I feel the need to elaborate on this somewhat. When you install Windows XP, a little notice keeps popping up saying "x days left for activation", where x is of course how many days remain before Windows XP will stop working. (You have 30 days from the time you install it.) That Windows XP is deliberately configured to be a ticking time bomb is reason enough not to use it.
The fact that you need to register information about your computer to use Windows XP means that I will never, ever install XP on any computer that I own, except for experimental or testing purposes, in which case I will not "activate" it. What's amazing about WPA is how Microsoft receives praise from people by being so generous as to give you 30 days to activate your OS. This is akin to the generosity exhibited by organized crime groups which are generous enough to provide you 30 days to cave in to their demands before they slaughter your entire family. UPDATE: The situation was made even worse by the February 2005 revelation that Microsoft was going to disable Internet activation for OEM versions of Windows XP. Microsoft claimed that this was to subvert piracy: "To reduce the illegal trafficking of these OEM product keys". Let's get a few facts straight, for those who aren't sure what this means. First of all, an "OEM version of Windows XP" means a version of XP that comes preinstalled on a fully-configured computer from an OEM, a company that has its own brand on its PCs, like Dell, Compaq, HP, etc. This is as opposed to a non-OEM version of Windows XP, which would be one that you buy off the shelf as a separate software product, rather than pre-installed on a new computer. This announcement will not apply to non-OEM versions of Windows XP (at least not yet, although Microsoft may decide to change that). It will only apply to people who are re-installing Windows XP on their OEM computers. The computers will ship with Windows XP pre-activated, but if you ever want to reinstall XP (which some people do frequently because it's often easier than troubleshooting problems), this announcement will apply. So how else can you activate Windows XP? Believe it or not, the only other way is by telephone.
You actually need to call a Microsoft telephone number and speak to a customer service rep, who will ask you questions about your copy of Windows XP to determine if it's a legal copy. Stop and read that sentence again if the magnitude of it didn't strike you the first time: Microsoft has adopted apolicy of interrogating its customers to ensure that they in fact bought their copies of Windows XP. It just keeps getting worse. What's amazing is that people still blindly follow what Microsoft tells them to do. They're actually going to call Microsoft on the telephone and wait to speak to a service rep! I can't even imagine what this means for the many people (like me) who don't have telephone service because they don't want or need a phone in their house. As sad and damaging as WPA has been, however, in a way it's actually been a good thing for the world, because it's served to limit the spread of Windows. People have discovered that Windows XP simply cannot be used on installations in remote places which have no Internet access and no telephones, such as virtually any computer running in an area that's not municipally zoned. These people, forced to seek other alternatives, have finally discovered non-Windows operating systems and broken the long chain of Windows dependency. Unfortunately this hasn't happened much since most computers now have Internet connections, but it's a start. Now if Microsoft would just start charging several million dollars per Windows license, we could finally divert the world from yet another lemming march and get back to some serious stuff. Windows XP is not real Non-NT-based versions of Windows can be booted in real mode, which is the opposite of what Windows used to call 386 enhanced mode. In real mode, programs actually run in your computer's real memory space, instead of having virtual memory spaces (or "virtual machines" as Java programmers like to call them) allocated for them. While virtual mode, protected mode, or whatever you want to call it is useful for everyday multitasking, it's simply absurd to create a commercial operating system that doesn't allow software to directly interface with hardware. Try changing your interrupt vectors or PIT timing in Windows XP. Simple tasks like these, which could be easily done in real mode, become impossible with Windows XP. Of course, this is all in keeping with the computer industry's laws of economics.
If you can't actually use the standard PC functions which have been built into the hardware of every PC made since the original IBM PC came out in 1984, then you must play by Windows XP's rules, writing all your hardware drivers and functions to work with XP, since they won't actually work with the computer itself. Why adhere to standards when you can make your own? That's the question Microsoft has long known the answer to: They don't. Side note: Windows XP was not actually the first home edition of Windows to not support booting in real mode; The first was Windows Me (Millennium Edition). However, Windows Me was so widely disliked that nobody took it seriously. (It was essentially Windows 98 with a "System Restore" function, newer versions of Windows Media Player and Internet Explorer, a somewhat revamped GUI, and lacking support for real mode.) Windows XP is genuinely regarded as an actual operating system by many people, which is a frightening lapse of human reason. Services-based architecture This is probably the single worst thing about both Windows 2000 and Windows XP. Let's get one thing settled right now: When you're evaluating the security of any computer today, one of the very first things (if not *the* first thing) you check is what TCP ports are open. It doesn't matter if the computer is a server, a workstation, a home computer, or a forgotten system that's only used for printing labels or something like that; open ports create risk. A system that's actively listening for incoming connections and which intends to respond to attempted connections is something you don't want on your network unless you really have to be listening on those ports. Let's make another thing clear: Windows 98 allows you to not only boot Windows, but even connect to the Internet, without having any open ports. Not one. If you're on a computer with Windows 98 and you're connected to the Internet, but not running any Internet processes or servers, you can open a command prompt and type netstat -a to discover that absolutely nothing shows up. Nothing. No connections, no listening ports.
If something *does* show up, it either means that some connections are still waiting to close (this would be the case if anything has a status of "CLOSE_WAIT"), you have some active connections ("ESTABLISHED"), or some program is acting as a server ("LISTENING"). But the point is that if no programs are doing anything, Windows 98 won't have a single port operating. That's good. It means that any incoming TCP connections will be turned away simply because they have nowhere to connect to. It doesn't necessarily make the computer secure, but it's a good start. Windows 2000 and Windows XP both pretty much require you to run a service called Remote Procedure Call (RPC). RPC is the service that's legendary for being full of holes. It was RPC that ended up being entirely responsible for the infamous Blaster worm that infected countless Windows installations in 2003. RPC is a service, meaning by its very nature, it sits in the computer and listens for other machines that want to connect to it. While this doesn't automatically mean a computer is vulnerable (in fact, to be fair, it wasn't RPC itself that made Blaster possible, but rather the implementation of RPC that Microsoft used in Windows), there's really no reason to be listening for connections this way unless you need to. By any standard, you shouldn't have to be running RPC as a service to use your computer. Windows 98 certainly didn't require it. The basic rule of thumb among almost any security-conscious system admin is: If you're not using a service, turn it off.
You'll save system resources and close a potential entry point. Here's the catch: In Windows 2000/XP, turning off RPC is like turning off your entire computer. One of the biggest reasons why NT-based versions of Windows are so prone to security holes is that instead of actually using normal computer functions, which is what an operating system is supposed to do, Windows 2000, XP, and their ilk think that it's a better idea to set up a server on a computer so that it can essentially use TCP/IP (networking protocols intended for use in transmitting messages to other computers) to send messages to itself. Forget networking with other computers, if you use Windows 2000/XP and turn off RPC, you won't even be able to use your OWN computer. Applications that use the MMC (Microsoft Management Console) won't work, for example, which is particularly hilarious when you consider that the Services control panel used to turn off RPC is itself a MMC window, meaning that if you turn off RPC, you're essentially heading down a one-way street, because you won't be able to use the Services control panel to turn it back on again. Microsoft apparently tries to prevent you from doing this by disabling the "Stop" option for the RPC service, but you can still change the service's status to "Disabled", and if you do this and then reboot, say hello to a crippled Windows installation. (Quick tip if this happens to you: You can turn RPC back on by running Regedit, and checking the HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\RpcSs\Start value. It should be set to 4, which is the code for "Disabled"; if you set it back to 2, which means "Automatic" (i.e. it starts automatically when the computer boots) and then reboot, RPC should start working again.) Try running netstat -a on Windows 2000 or XP. You're almost guaranteed to see several ports listening that shouldn't be. You can probably close some of them, but not all of them, because some of them are needed by Windows. Then try running the Services console and seeing how many "services" Windows has running in the background; a typical Windows 2000/XP install has around 20 running by default! Some of these services can't be stopped because Windows itself depends on them, while others serve important functions that will cripple important parts of your computer's functionality if you disable them. Annoyingly, Windows seems to lump both network services (i.e. programs that actually listen for incoming network connections) and background processes (which, at least in the Unix/Linux world and in general parlance, are properly called "daemons") under the same "Services" umbrella, meaning it can be tough to tell the services that don't create risk from the ones which do. Either way, however, it is utterly foolish that any operating system would base its functionality on running a server just so that it can send messages to itself. Any OS that does this basically ties your hands behind your back, because it creates holes that you just can't plug.
Any OS that does this is an OS that should not be used, except maybe as a joke. Windows XP is a lightning rod for security attacks A majority of the viruses/adware/spyware/exploits that propagate on the Internet are designed to target Windows XP. This is logical, given that XP is the most commonly-used OS on computers today, but it's also a good reason not to use XP. On my Windows computers (those which don't run on some variant of BSD or Linux), I still exclusively use Windows 98. You may think it's funny that I'm using an OS that's almost 10 years old, but the reason is simple: Windows 98 does everything an operating system needs to do, and it's actually immune to many of the common attacks that make their rounds on the Internet. An example is the aforementioned Blaster worm, which spreads via an exploit in the RPC service that's used in Windows 2000/XP. Now, while you could protect yourself from Blaster by patching the service it uses, there's a much simpler way to protect yourself: Never install an operating system that uses that service in the first place! I was running several Windows 98-based computers when Blaster spread like wildfire across the Internet, and I never even paid it a moment's notice, simply because my operating system didn't even *HAVE* the RPC service that Blaster exploits. The worm just bounced off my computers harmlessly. It's like the difference between finding a cure for cancer and going back in time to prevent cancer from having ever existed in the first place. One works, but the other is better. This is not necessarily a defense of "security through obscurity". It is simply the basic observation that since script kids tend to target the most popular software in use, you can avoid some problems by using less popular software. Incidentally, this applies equally to other software, including web browsers, e-mail clients, etc. This is not to say that any software is 100% secure, because none is, but some programs are more secure than others, and this isn't always for technical reasons; sometimes it's simply for sociological reasons.