A group of four computer scientists urged Microsoft to redesign the way it distributes patches, after they created a technique that automatically produces attack code by comparing the vulnerable and repaired versions of a program. The technique, which the researchers refer to as automatic patch-based exploit generation (APEG), can create attack code for most major types of vulnerabilities in minutes by automating the analysis of a patch designed to fix the flaws, the researchers stated in a paper released last week.
If Microsoft does not change the way its patches are distributed to customers, attackers could create a system to attack the flaws in unpatched systems minutes after an update is released by the software giant, said David Brumley, a PhD candidate in computer science at Carnegie Mellon University.
"When Microsoft releases a patch, what they are saying - from a security standpoint - is, 'Here is an exploit,'" Brumley said.
Brumley along with computer scientists at Carnegie Mellon University, the University of California at Berkeley and the University of Pittsburgh built on already-familiar techniques used by many security researchers. Many security professionals reverse engineer patches - particularly patches pushed out by Microsoft - to find any vulnerabilities fixed by the update. In many cases, they create exploits for the flaws manually. Within a few days, and sometimes hours, of Microsoft releasing its monthly patches, attack code for the many of the flaws are created.
"People have been doing this for years," said Robert Graham, CEO of security firm Errata Security, who described a technique at a security conference last summer for discovering vulnerabilities by analyzing the signatures distributed by intrusion-detection system vendors. "There will be black hats that have the exploits in hours - Chinese hackers, Russian hackers among others."
In its recent Security Intelligence Report, Microsoft found that a third of the flaws patched by the company were exploited either before or after the update was released.
Yet, the APEG research could turn an unfavorable situation into a much more threatening one. In their research paper, Brumley and his colleagues demonstrate a method of automatically finding exploit candidates for flaws using a hybrid technique based on automatic test-case generation. The result: Given the differences between a patched and unpatched program, the APEG technique can generate exploit code in seconds or, at most, minutes, the researchers stated.
"I would say this is the next evolutionary step in the malware development cycle," said John C. Bambenek, a handler at the Internet Storm Center, a network-monitoring group, and researcher programmer at the University of Illinois.