Pewny, JannikGarmany, BehradGawlik, RobertRossow, ChristianHolz, Thorsten2018-04-132018-04-132017https://dl.gi.de/handle/20.500.12116/16405With the general availability of closed-source software for various CPU architectures, there is a need to identify security-critical vulnerabilities at the binary level. Unfortunately, existing bug finding methods fall short in that they i) require source code, ii) only work on a single architecture (typically x86), or iii) rely on dynamic analysis, which is difficult for embedded devices. In this paper, we propose a system to derive bug signatures for known bugs. First, we compute semantic hashes for the basic blocks of the binary. When can then use these semantics to find code parts in the binary that behave similarly to the bug signature, effectively revealing code parts that contain the bug. As a result, we can find vulnerabilities, e.g., the famous Heartbleed vulnerabilities, in buggy binary code for any of the supported architectures (currently, ARM, MIPS and x86).en Binary bug search cross-architecture sampling similarity metricCross-architecture bug search in binary executablesText/Journal Article10.1515/itit-2016-00401611-2776