A Purely Modular PC...

Other than all of us being eternally endentured to Bill Gates, is there any practical reason why parts of Windows can’t be reinstalled while the rest of Windows keeps running fine?

For example, I once had a virus cause the PC to think it can’t find the modem! For goodness sake, can’t it look a little harder? :wink: Seriously, if this is the case, whether real or not, why isn’t the Windows software user-friendly enough to allow one to point to “modem” and it would reinstall itself? Or, more recently, the sockets issue…why can’t I simply point-and-click to reload “communications”?

It seems like Windows is all or nothing, but if it were “segmented” (my word) or broken into modular units somehow…wouldn’t the cyberworld be a better place for the layman? (Or, would Windows be even more vulnerable to viruses?)

  • Jinx

Linux has a lot of such modularity (but not completely). For many devices one can stop and restart the driver, or install and run a new driver on the fly. I still can’t get over the silly idea of having to reboot the computer everytime I install or remove a program. That’s just not necessary under Unix unless it’s a core OS component.

You just have to accept the fact that most things are done badly in MS software.

Not all of us are indentured to Bill Gates.

I do use Excel but that’s about it.

Jinx, I recommend a good book on systems engineering. Well, not a particular book, just find a good one. And when you’re done, hand it to Mr. Gates, I guess.

For something as complicated as an operating system, what you ask is very hard to do. My Unix-based, mostly modular OS is a hard nut to crack, but I could be a victim of a virus if I do something stupid, like give a program permission to run as a higher-level user.

In Windows XP home and all consumer Windows below, you’re always running as the highest user! So anything you get can infect you.

This all has to do with file access, which is where a virus does its damage.

So let’s look at my OS – it’s a good, rock solid OS where all of the hardware abstraction is done via a true microkernel, and all of the pretty stuff is done as a process on top of that. To install a kernel extension that prevents my modularly-loaded modem driver from working, all I have to do is give the virus permission to write to the kernel extensions directory. Maybe I want to try-before-you buy in the non-legal sense, so I get something off of the internet that carries a trojan, maybe a virus scanner (just to be ironic). Logically the virus scanner exists in a low, low level of the OS, so I give the installer my root password, and it has access to literally every file on my OS. So the installer plants a virus without my knowing it.

So it doesn’t really matter if Windows sucks or not; any OS is vulnerable. Unix permissions, though, really help things out. Windows XP Pro has a wierd, overly-complicated persmissions system, too, but most people have their main user set as an Admin, so you’re still at risk. At least on my OS choice, even Admin users have to type their passwords for certain types of access.

You usually can nowadays. In fact, I’d honestly have to say that most of the reasons why when you can’t is caused by poorly-made drivers and lazy 3rd party programmers.

Once you get a virus on there, all bets are off. on any PC. And while Windows could certainly get better security, it doesn’t deserve a lot of the crap that gets heaped on it for unsecurity. Every guy who writes viruses (virii) is doing it against Windows, not OS/2 or Mac or even Linux. And you’d have to do a hell of a lot to convince me Linux is secure.

In windows XP you can. It should have been on 2000, but better late than never. Socket issues are sometimes much deeper than TCP/IP, though.

As I said, from what I’ve seen its lazy programming. I’ve had plenty of software that didn’t need to restart in 2000 or XP, but a lot of programs that did. Its my estimation that the ones that did were generally more poorly programmed and included unneccessary ‘features’, which were what really required the reboot.

There are certain things I’d like it if Windows could be better about, like installing video drivers, but I’m prepared to forgive it a few hiccups overall.

Owning the desktop market does not mean you own any other segment of the computing world. For example, *nixes are very widespread in the server and firewall markets, and getting a hold of that population with a virus would give you near-total ownership of the Internet. You think a cracker doesn’t want that?

So, why hasn’t it happened yet? Because *nix (including Linux, the *BSDs, closed-source Unix-like systems, etc.) administrators have a different set of reflexes when it comes to security. *nix encourages you to run as a low-permission peon unless you actually need root-level access, and to be very wary of programs that say they need to run with full permissions. Intelligent admins of these systems create a bunch of groups with well-defined roles and permissions that only allow them to fulfill their role. The web server doesn’t need to know about the printer, and the print daemon doesn’t need to know about the graphical system (which may or may not exist). And nothing a common user has permissions to run should be able to directly modify sensitive information.

To craft a successful *nix virus, you would need to find a way to become root without any external help, on an OS that was designed to hinder those attempts. To be fair, some programs in the past have had bugs that allowed this. sendmail, for example, was a notoriously insecure program for a while. But those problems get fixed rather quickly, and developers will refrain from adding features until and unless all of the outstanding bugs are fixed. Chrome simply isn’t a priority: Most *nix programs are ugly, text-oriented things that are completely mission-focused. This emphasis on bullet-proofing software makes a catastrophe on the level of Outlook much less likely.

Finally, it is true that *nix systems are used mainly by clueful people, who will keep all of the above in mind while installing and maintaining his system. But it is also true that *nix systems were designed for those people, the ones who want security more than features and correctness more than chrome. It will be interesting to see if any viruses successfully target MacOS X, a *nix OS used by some determinedly non-technical people.