Cyber Risks · Trail of Bits Blog

Vulnerability Modeling with Binary Ninja

Summary: Trail of Bits demonstrates using Binary Ninja's Medium Level IL and SSA form to model vulnerabilities in binaries and solve them with Microsoft Research's Z3 theorem prover, walking through Heartbleed as the example. The post explains that Heartbleed was a remote information-disclosure flaw in OpenSSL 1.0.1 through 1.0.1f that let an attacker send a crafted TLS heartbeat message and receive up to 64KB of uninitialized data, because a user-controlled size field was passed to OPENSSL_malloc and memcpy without validation.

Why it matters: The technique targets the case where only a binary is available, so a flaw like Heartbleed can be modeled and checked without source code - meaning an attacker or auditor can find the same unvalidated size field in your shipped product whether or not you publish the source.

Read the original at Trail of Bits Blog ↗

Topics
Vulnerabilities & Patching
Related