A group of Georgia Tech researchers have been awarded $100,000 by Facebook for coming up with a novel technique for detecting bad casting vulnerabilities.
The money was awarded as part of the Internet Defense Prize, an initiative launched by Facebook in partnership with the USENIX Security Symposium in an effort to “recognize superior quality research that combines a working prototype with significant contributions to the security of the Internet — particularly in the areas of protection and defense.”
The Internet Defense Prize was launched last year, when German researchers received $50,000 from Facebook for a paper titled “Static Detection of Second-Order Vulnerabilities in Web Applications.”
This year, Facebook decided to double the Internet Defense Prize and awarded $100,000 to Georgia Tech Ph.D. students Byoungyoung Lee and Chengyu Song, and professors Taesoo Kim and Wenke Lee.
The researchers have identified a new method for detecting bad casting (also known as type confusion) vulnerabilities, a category of security flaws that has often been exploited by malicious actors in their attacks. A perfect example is CVE-2015-0336, a Flash Player vulnerability that cybercriminals started exploiting one week after it was patched by Adobe.
The Georgia Tech researchers said they focused on bad casting because these types of bugs are increasingly common and they believe the community has not put enough effort into their detection.
“Many applications such as the Chrome and Firefox browsers are largely implemented in C++ for its performance and modularity. Type casting, which converts one type of an object to another, plays an essential role in enabling polymorphism in C++ because it allows a program to utilize certain general or specific implementations in the class hierarchies,” the researchers explained in their paper.
“However, if not correctly used, it may return unsafe and incorrectly casted values, leading to so-called bad-casting or type-confusion vulnerabilities. Since a bad-casted pointer violates a programmer’s intended pointer semantics and enables an attacker to corrupt memory, bad-casting has critical security implications similar to those of other memory corruption vulnerabilities,” they added.
The researchers demonstrated their technique by developing a tool, dubbed “CAVER,” which has helped them identify a total of 11 previously unknown type confusion flaws in Firefox and the GNU libstdc++ library. The vulnerabilities have been fixed.
“The authors suggested a novel technique for detecting bad type casts by combining both static and dynamic analysis. Their prototype substantially improved upon the state of the art, offering better coverage and compatibility with existing applications,” Facebook said.