Chaos Communication Congress
Chaos Communication Congress
Type confusion: discovery, abuse, and protection (34x167)
Data di messa in onda: Dic 30, 2017
Speaker: gannimo
Type confusion, often combined with use-after-free, is the main attack vector to compromise modern C++ software like browsers or virtual machines. Typecasting is a core principle that enables modularity in C++. For performance, most typecasts are only checked statically, i.e., the check only tests if a cast is allowed for the given type hierarchy, ignoring the actual runtime type of the object. Using an object of an incompatible base type instead of a derived type results in type confusion. Attackers have been abusing such type confusion issues to compromise popular software products including Adobe Flash, PHP, Google Chrome, or Firefox, raising critical security concerns.
We discuss the details of this vulnerability type and how such vulnerabilities relate to memory corruption. Based on an LLVM-based sanitizer that we developed, we will show how to discover such vulnerabilities in large software through fuzzing and how to protect yourself against this class of bugs.
- Iniziato: Dic 2011
- Episodi: 1118
- Followers: 0
- Terminata
- Sconosciuto
- Sconosciuto