A preventable plague

By Robert Fixmer, Interactive Week
14 August 2001 05:15 PM
Tags: buffer, overflow, hack, code
Each day, it seems, we are asked to depend ever more on the Internet for our professional and personal well-being. Yet each week seems to introduce a new computer worm capable of boring into and through our networks, clogging pipes, corrupting data and, in the worst cases, destroying months or even years of hard work.

The very companies that tirelessly tell us that the Internet is fundamental to our future have done almost nothing to protect us from the very defects in their products that give hackers free rein. It's high time Microsoft, Sun Microsystems and other developers undertake an all-out commitment to eliminating buffer overflows.

In fact, it borders on criminal that they have not done so already.

There could be no Code Red, or dozens of other worms that have plagued the Internet in recent years, if it were not for buffer overflows - programming bugs that have been around since the dawn of computing, and that have long been recognised as a vulnerability that hackers can exploit to spread security nightmares through networks. And yet operating system developers in particular - the very companies to which we entrust the fundamental safety of our systems and data - have refused to invest the programming resources and time required to rid their code of these Achilles' heels.

There's a simple reason for this: It's hard, expensive work sifting through tens of millions of lines of code searching for buffer overflows. It's far cheaper to let hackers find and exploit unprotected buffers, then release a quick patch. The problem with that kind of reactive solution is that we all pay a heavy price in corrupted data, clogged bandwidth and sheer frustration by the time the problem is repaired. Even worse, the decentralised Internet provides no means of communicating newly discovered dangers to each user of a vulnerable program, so many users never discover they need a patch until it's too late.

Buffer overflows, or overruns, are easily exploited holes in otherwise secure programs. A buffer is a chunk of a computer's memory or disk drive, of limited size, in which data is stored temporarily.

If a user or other source of input tries to shove more data into the buffer than it can hold, the data "overflows" into adjacent parts of the memory or disk. This would be a mere nuisance, except that the excess data can erase - and replace - programming code adjacent to the buffer, enabling a hacker to insert malicious code into the target software.

Programmers have known for decades how to prevent this kind of bug by checking the buffer size and then limiting or filtering input. In the grand scheme of things, it takes only a few lines of code to add buffer checking. Yet programmers often neglect this crucial safety feature, and the resulting vulnerabilities are frequently not caught in multiple stages of debugging.

Developers say new code routinely includes checks on all buffers. Hackers, they claim, are typically exploiting unchecked buffers in legacy portions of the code. Even if true, this excuse is ridiculous on its face. Microsoft and Sun, for example, think nothing of investing hundreds of millions of dollars to develop new bells and whistles for their products, yet they have failed to eliminate a simple bug that's been around for decades. If hackers can find and exploit unchecked buffers to make our lives miserable, clearly these giants must find and fix these buffers to protect us.

It is time for a proactive commitment on the part of the largest developers to eliminate this preventable plague--if for no other reason than it would be a very wise investment. What's at stake is our basic faith in the Internet as a trusted platform for commerce, finance, personal information and entertainment. Only the largest developers can ensure the safe cyberneighborhoods that will attract us all to their products.

Advertisement

Talkback 2 comments

    Don't expect MS to spend money ...Anonymous -- 15/08/01

    Don't expect MS to spend money on things like security.

    They don't mind if their own systems are broken into and MS' own code or ready made software is stolen.

    Why would you think your system is more important to MicroSoft than their own?

    Only lip service. They are i ...Anonymous -- 17/08/01

    Only lip service.

    They are in it for the profits, and security costs money which they don't want to spend.

    Profits are more important to them.

    This makes me wonder if a peer to peer approach and public scrutiny of the code would not be a safer way to go.

Add your opinion

Latest Videos

Sponsored content

Power Centre - Content from our premier sponsors

Blogs

  • Suzanne Tindal Love me, tender
    Considering how expensive and drawn-out tender processes can be to solve problems that might be very immediate, it's little wonder that the Victorian Police IT department tried to work the tender exemptions system.
  • Array 2009 funding drought rolls on
    For Australian start-ups looking for venture capital, 2009 was a very bad year. 2010 may be no better.
  • Array Can not-so-smart meters help the NBN?
    It was interesting to witness Conroy's recent enthusiasm to spruik the NBN's role in supporting the Smart Grid, Smart City initiative. What a pity that Conroy hadn't yet seen the damning report from the Victorian auditor-general about that state's smart-meter roll-out.
  • More blogs »

Tags

Back to top

Featured