What if Malware Programmers Were Better at Their Work?

By Larry Seltzer  |  Posted 2004-11-04 Print this article Print

Opinion: Sloppiness and disdain for good style are sometimes chic in the software underground, but we'd all be in trouble if malware authors really thought through how to write a good worm.

Many assume that malware programmers are good programmers, and this isnt hard to understand. Its sort of like being impressed with a magician who does something that shouldnt be possible. But its also like assuming that bullies must be good fighters. Closer analysis shows that many of them dont—or perhaps cant—do their job well. Malware programmers are at some distinct disadvantages. They cant run conventional test processes. They dont often have a variety of platforms and third-party products on which to test.

As a result, viruses and worms often make the same evolutionary mistake made by their less fortunate biological cousins: They damage or kill the infected host. This is not good evolutionary strategy. They make another mistake in that they compete with their own biological successors and antecedents.

Have you ever wondered what happens when you have a computer infected with the .A version of a virus, and then you run the .B version? Its not the same as with commercial products, which recognize other versions of their own product and either upgrade the alternate version or at least offer the user some options. In most cases, both of them are installed.

Its bad enough when one of these pests is running on the system, but two of them basically doubles the added overhead—twice the scanning of files to harvest e-mail addresses, twice the clogging of bandwidth to spread itself and twice the memory consumed. And it gets worse: Any user inept enough to get two of these running on their computer is probably wide open to three or more.

Its at this point, or perhaps even before, that users complain to vendor support or the local high school genius or their cousin Larry who writes about these things for some Web site, and they probably end up reinstalling Windows. (Actually, using System Restore to the oldest restore point is worth trying if the user didnt let the problem fester for too long.)

Once again, what if virus authors were better at their jobs? If Bagle.B recognized that the system was already infected with Bagle.A and did a proper upgrade, removing the old version, only one version would be operating, the system might run acceptably and the user would allow it to continue. This is more in the interest of the virus author and the virus, just as its in the interest of a biological virus not to kill its host before it gets the best chance to spread to others. Is it more in the interest of security in general, or of the user? That is not as clear.

Click here to read about the latest versions of the Bagle worm. There are impediments to a virus doing a proper upgrade. It must install silently. It cant, for example, tell users they must reboot in order to complete the process (to remove the old processes from memory and start up the new ones in a clean way).

This is an advantage for Trojan horses and adware, each of which can generally run out in the open, use InstallShield and other such products, and pretend to be legitimate. True, these products can bog down the system, but thats because they are intentionally intrusive. Adware vendors would also do better to have some subtlety added to their repertoire.

Its nothing to celebrate, but I think were better off that malware authors often overdo it and make the system unusable. Life for malware victims might be more tolerable if they could live with chronic infection, but I suspect a larger percentage of users would be infected over time.

Security Center Editor Larry Seltzer has worked in and written about the computer industry since 1983. Check out eWEEK.coms for the latest security news, reviews and analysis. And for insights on security coverage around the Web, take a look at eWEEK.com Security Center Editor Larry Seltzers Weblog. More from Larry Seltzer
Larry Seltzer has been writing software for and English about computers ever since—,much to his own amazement—,he graduated from the University of Pennsylvania in 1983.

He was one of the authors of NPL and NPL-R, fourth-generation languages for microcomputers by the now-defunct DeskTop Software Corporation. (Larry is sad to find absolutely no hits on any of these +products on Google.) His work at Desktop Software included programming the UCSD p-System, a virtual machine-based operating system with portable binaries that pre-dated Java by more than 10 years.

For several years, he wrote corporate software for Mathematica Policy Research (they're still in business!) and Chase Econometrics (not so lucky) before being forcibly thrown into the consulting market. He bummed around the Philadelphia consulting and contract-programming scenes for a year or two before taking a job at NSTL (National Software Testing Labs) developing product tests and managing contract testing for the computer industry, governments and publication.

In 1991 Larry moved to Massachusetts to become Technical Director of PC Week Labs (now eWeek Labs). He moved within Ziff Davis to New York in 1994 to run testing at Windows Sources. In 1995, he became Technical Director for Internet product testing at PC Magazine and stayed there till 1998.

Since then, he has been writing for numerous other publications, including Fortune Small Business, Windows 2000 Magazine (now Windows and .NET Magazine), ZDNet and Sam Whitmore's Media Survey.

Submit a Comment

Loading Comments...
Manage your Newsletters: Login   Register My Newsletters

Rocket Fuel