Automatic Patch-Based Exploits Demonstrate Weakness of Patching
Researchers at CMU, Berkley and U. of Pittsburgh have demonstrated an automated method of generating exploit code by comparing patched and unpatched versions of a program. This shows that, like vulnerability scanning, attackers can automate some of the more mechanical tasks in finding exploitable code. The paper (pdf) examines only input validation bugs but the principals could be applied to other vulnerabilities as well.
The technique uses both static and dyamic analysis and produces a more efficient search for an execution path that leads to the vulnerable code. It also exploits constraints on inputs to narrow the search for input values. Constraint satisfaction problems have received a lot of attention in computer science research and led to development of constraint programming systems that could be used to further enhance this type of technique.
This research also shows that the current model for distributing patches leaves some vulnerable:
Current patch distribution practices stagger patch distribution, usually over hours, days, or longer. For example, Gkantsidis et al. show that for Windows Update it takes about 24 hours for 80% of the unique observed IPs to check for a new patch [18]. In our experiments, we generate exploits from a patch in only a few minutes. Modern threats such as the Slammer worm have empirically demonstrated that once an exploit is available, most vulnerable hosts can be compromised in minutes [27]. Our results therefore imply that those who first receive a patch could potentially compromise most remaining vulnerable hosts before they receive a patch via current patch distribution architectures. Thus, our work indicates that current patch distribution schemes that stagger patch roll-out over large time periods requires rethinking.
Some options include distributing encrypted patches in a staggered manner similar to todays schedule and then decrypting all patches in as short a period of time as possible. This would help but still leaves the potential for unpatched devices. Perhaps the best we can expect is to shorten the window of opportunity for attackers, we can't eliminate it all together.





Email This!
Digg it!
Del.icio.us
Reddit!
Newsvine
