19th-20th November 2011 - Melbourne, Australia
Program Analysis is a hot topic. Many people are discussing this subject even more given the amazing numbers of crashes the fuzzers are finding nowadays.
This article uses program analysis as the way of making a computational system reason automatically (or at least with little human assistance) about the behavior of a program and draw conclusions that are somehow useful.
In a world where thousands of crashes do exist and are easily found in very important software, the classification of exploitability of such bugs is the first priority. It is known that it is impossible (or inviable or nobody wants to, or whatever other excuse you find to not fix your software) to fix all the bugs such fuzzers are finding, so, at least, companies want to fix (or exploit) the ones that are exploitable.
The problem is that the widely used solution to analyze such crashes are provided by Microsoft (named !exploitable or bang exploitable) and are not really useful to create actual exploits or to better understand the problem, but just to give a static classification (exploitable, probably exploitable, not exploitable or unknown).
Even people with source code access are sometimes relying on such tools to determine the exploitability of a given path (sometimes it is easier to analyze a bug without getting into the messy code structure).
Taint Analysis concepts and challenges are going to be explained in order to determine what is being done by the proposed solution and to provide a better idea of future and areas of improvements.
Rodrigo Rubira Branco serves as Director of Vulnerability and Malware Research at Qualys. Mr. Branco was recently honored as one of the top contributors to Adobe vulnerabilities; he was previously the Chief of Security Research at Check Point.
He organizes the annual Hackers to Hackers Conference (H2HC), Latin America's oldest and largest security research conference.