Saturday, October 03, 2009
Computer viruses – warnings ignored
by Larry Geller
Imagine a world without computer viruses. At work or at home, we would not have to struggle to protect our desktops and laptops with costly antivirus software and still wonder if some kid in Russia or Asia could get our credit card numbers or destroy data on our hard disks.
There might be someone you don’t know crawling around inside your computer right now. Or inside your parent’s computer or inside granny’s, if they aren’t sharp about defending themselves.
Granny shouldn’t have to worry about things like viruses.
It didn’t, and doesn’t have to be this way. First, we were amply warned:
This clip dates from 1988. The warning was clear, yet we did nothing.
The problem then and now is that some little bit of code can intentionally or by error get into your computer, and then—and this is key—the computer architecture lets it read or write anywhere it wants to in the computer memory or on the hard disk.
That architecture should have been changed in the 1990s when the problem was revealed. But it was not.
We had (and still have) the technology to stop viruses dead, and without special, expensive software. Out of the box, a computer can be immune. Your computer at home, your computer at work, even granny’s computer. We would not need an army of IT professionals to defend our networks. Instead, they would be working on improving workplace productivity or writing new and better application programs.
The technology developed by the time-sharing industry in the 1970s became virus-proof after a very short while. Time-sharing computers were mainframes that ran an operating system and up to 600 or more user programs at once. The users communicated via phone lines from different companies.
So Ford and Chrysler could be running in the same computer as Citibank, Coca-Cola and Pepsi. Believe me, if Ford could get hold of Chrysler data, or Pepsi destroy anything being stored or run by Coca-Cola, the industry would have been brought to its knees. But that was impossible. By design.
No program could access memory or hard disk outside of its own allocated space. It could get more memory, but that would be for its exclusive use. This was enforced by the hardware. There was no harm it that, the full power of the computer was available to it, just that everything else was invisible and untouchable.
One user could share data with others, by mutual arrangement. So a company and its accounting firm could share data, for example.
The operating system ran in a compartment all its own. On the computer you are now using to read this, a program can install whatever it wants into Windows/System32, for example, a directory belonging to the operating system. Even if you uninstall the program, it might leave something there. The program has access to the same memory that your operating system uses.
A program can leave something behind on the hard disk that will bite you later.
That’s a crazy design. That’s why we have viruses. They are programs that simply take advantage, like a spoiled kid, of the system. They know how to get away with things.
The design of the present personal computer hasn’t changed substantially from that of the original IBM PC in this respect. There wasn’t any need to isolate the operating system when only one user’s programs would be running on the machine.
Keeping the present architecture and building defenses hasn’t worked. Even Windows Vista cannot stop viruses. A flood of security patches is needed just to stay current with the virus-writing evildoers.
All operating systems and programs must be defended against the latest shenanigans of 13-year-old virus writers. These kids manage to write and release some clever code that software engineers must first analyze before they can stop. Right behind that 13-year-old is another, working on tomorrow’s virus.
So a whole industry has been created to sell you defenses against programs written by teenagers on a lark. Or to keep out criminals looking for your credit card number. Why do we tolerate this?
Some netbooks keep their operating systems in non-volatile memory. A virus can’t change them. This is a simple example of how it can be done. But it’s not enough.
What is needed is a hardware/software architecture in which you could not see anything in Windows/System32, much less change its contents. When you install a program it will live and work only in a space of its own. When it wants to write to the disk, for example, it might put its data in a buffer and do a call to the operating system (on some mainframes that was called a MME, or Master Mode Entry). The operating system takes and writes the data, if it is legit to do so. Same for a disk read. You could try to read a protected area, but you’d be zapped.
Would the freedom we now enjoy to do anything we like on our personal computers be compromised? No. Windows would have to run under emulation inside the new architecture. You wouldn’t know the difference. Over time, software programs such as word processors, browsers, and so forth, would be adapted to run directly under the new OS. Those programs would never see a virus.
You would be more free than you are now.
Think of greater prosperity in industry and at the office. Think of not worrying that someone would get hold of your credit cards or personal data. Think of never having to subscribe to an anti-virus service ever again.
It can be done, but don’t hold your breath…