TY - JOUR
T1 - Osprey
T2 - A fast and accurate patch presence test framework for binaries
AU - Sun, Peiyuan
AU - Yan, Qiben
AU - Zhou, Haoyi
AU - Li, Jianxin
N1 - Publisher Copyright:
© 2021 Elsevier B.V.
PY - 2021/5/1
Y1 - 2021/5/1
N2 - With the rapid development of Internet of Things (IoT), a new paradigm named Mobile Edge Computing (MEC) is proposed to push the cloud computing to the edge devices. However the rapid growth of Internet-of-Things (IoT) and its inadvertent incorporation of vulnerable third-party code have created a massive amount of vulnerable IoT devices. Even worse, the majority of vulnerable devices are left unpatched due to the lack of easy upgrade routine and automated patch management. Thus, it is crucial to test the patch presence in IoT devices rapidly and accurately, for both defenders and attackers. In this paper, we present Osprey, a fast and accurate patch presence test framework for automatically identifying security patches in a firmware. Osprey identifies fine-grain semantic binary changes introduced by the patch in the binary by analyzing data flow slices across the basic blocks. It parses and analyzes these binary changes to extract patch signatures, which incorporate representative operators and the origins of operands. Then, patch presence can be identified by matching patch signatures through lexical comparison. Compared with the state-of-the-art patch presence test approach, Osprey extracts precise patch semantic information from data flow without expensive symbolic execution. We implement and evaluate Osprey against 45 patches and 8 versions of OpenSSL project, and the results show that Osprey is able to perform patch presence test 9.6 times faster than the state-of-the-art approach with high precision that exceeds 90%.
AB - With the rapid development of Internet of Things (IoT), a new paradigm named Mobile Edge Computing (MEC) is proposed to push the cloud computing to the edge devices. However the rapid growth of Internet-of-Things (IoT) and its inadvertent incorporation of vulnerable third-party code have created a massive amount of vulnerable IoT devices. Even worse, the majority of vulnerable devices are left unpatched due to the lack of easy upgrade routine and automated patch management. Thus, it is crucial to test the patch presence in IoT devices rapidly and accurately, for both defenders and attackers. In this paper, we present Osprey, a fast and accurate patch presence test framework for automatically identifying security patches in a firmware. Osprey identifies fine-grain semantic binary changes introduced by the patch in the binary by analyzing data flow slices across the basic blocks. It parses and analyzes these binary changes to extract patch signatures, which incorporate representative operators and the origins of operands. Then, patch presence can be identified by matching patch signatures through lexical comparison. Compared with the state-of-the-art patch presence test approach, Osprey extracts precise patch semantic information from data flow without expensive symbolic execution. We implement and evaluate Osprey against 45 patches and 8 versions of OpenSSL project, and the results show that Osprey is able to perform patch presence test 9.6 times faster than the state-of-the-art approach with high precision that exceeds 90%.
KW - Binary analysis
KW - Data flow
KW - Intermediate Representation
KW - Optimization
KW - Patch presence test
UR - https://www.scopus.com/pages/publications/85103931524
U2 - 10.1016/j.comcom.2021.03.011
DO - 10.1016/j.comcom.2021.03.011
M3 - 文章
AN - SCOPUS:85103931524
SN - 0140-3664
VL - 173
SP - 95
EP - 106
JO - Computer Communications
JF - Computer Communications
ER -