Roland Piquepaille's Technology Trends
How new technologies are modifying our way of life

 
Web www.primidi.com



lundi 1 janvier 2007
 

No, it's not another movie sequel. DieHard is a piece of software which helps programs to run correctly and protects them from a range of security vulnerabilities. It has been developed by computer scientists from the University of Massachusetts Amherst -- and Microsoft. DieHard prevents crashes and hacker attacks by focusing on memory. Our computers have thousands times more memory than 20 years ago. Still, programmers are privileging speed and efficiency over security, which leads to the famous "buffer overflows" which are exploited by hackers.

Here is a short description of the problem.

Today’s computers have more than 2,000 times as much memory as the machines of yesteryear, yet programmers are still writing code as if memory is in short supply. Not only does this make programs crash annoyingly, but it also can make users vulnerable to hacker attacks, says computer scientist Emery Berger from the University of Massachusetts Amherst.

This is why he developed DieHard, a software that you can download for free and which runs under Linux and Windows.

Many programmers still don't realize that our computers have hundreds of megabytes of memory -- if not more. So they are trying to reuse memory as much as they can. When a program is running, it often requests some memory. But usually, this space is already occupied -- and overwritten -- sometimes causing overflows. This is why DieHard is secretly running several instances of the program you're using.

Below is a diagram showing the replicated DieHard architecture. "Input is broadcast to multiple replicas, each equipped with a different, fully randomized memory manager. Output is only committed when at "least two replicas agree on the result." (Credit: Emery Berger).

The replicated DieHard architecture

Of course, you'll need more memory. In the DieHard FAQs, you'll see that depending on your application, memory consumption will increase by 50 to 75%. But is it really important?

These problems wouldn’t arise if programmers were a little less focused on speed and efficiency, which is rarely a problem these days, and more attentive to security issues, says Berger. "Today we have way more memory and more computer power than we need," he says. "We want to use that to make systems more reliable and safer, without compromising speed."

For more information, you can read this technical paper, "DieHard: Probabilistic Memory Safety for Unsafe Languages" (PDF format, 11 pages, 338 KB), from which the above diagram has been extracted. You also can read this presentation (PDF format, 28 slides, 346 KB) which has been shown at PLDI 2006 (Programming Language Design & Implementation) or watch this video (Microsoft Media Player format, 1 minute and 35 seconds, 21.5 MB).

Sources: University of Massachusetts Amherst news release, December 26, 2006; and various websites

You'll find related stories by following the links below.


7:19:02 PM   Permalink        


Click here to visit the Radio UserLand website. © Copyright 2007 Roland Piquepaille.
Last update: 01/04/2007; 19:30:58.


January 2007
Sun Mon Tue Wed Thu Fri Sat
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
Dec   Feb


Personal Links



Other Links

Ars Technica
Bloglines
Daily Rotation News
Dave Winer
Danger Room
del.icio.us
Engadget
Gizmodo
John Robb
Jon Udell
OhGizmo!
Really Magazine
Robots.net
Slashdot
Smart Mobs
TG Daily
WorldChanging
ZDNet Blogs


Drop me a note via Radio
Click here to send an email to the editor of this weblog.

E-mail me directly at
pique@noos.fr

RSS subscription for Radio users
Subscribe to "Roland Piquepaille's Technology Trends" in Radio UserLand.

RSS feed for others
Click to see the XML version of this web page.