Inception: System-Wide Security Testing of Real-World Embedded Systems Software

被引:0
|
作者
Corteggiani, Nassim [1 ,2 ]
Camurati, Giovanni [2 ]
Francillon, Aurelien [2 ]
机构
[1] Maxim Integrated, San Jose, CA 95134 USA
[2] EURECOM, Biot, France
来源
PROCEEDINGS OF THE 27TH USENIX SECURITY SYMPOSIUM | 2018年
关键词
D O I
暂无
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Connected embedded systems are becoming widely deployed, and their security is a serious concern. Current techniques for security testing of embedded software rely either on source code or on binaries. Detecting vulnerabilities by testing binary code is harder, because source code semantics are lost. Unfortunately, in embedded systems, high-level source code (C/C++) is often mixed with hand-written assembly, which cannot be directly handled by current source-based tools. In this paper we introduce Inception, a framework to perform security testing of complete real-world embedded firmware. Inception introduces novel techniques for symbolic execution in embedded systems. In particular, Inception Translator generates and merges LLVM bitcode from high-level source code, hand-written assembly, binary libraries, and part of the processor hardware behavior. This design reduces differences with real execution as well as the manual effort. The source code semantics are preserved, improving the effectiveness of security checks. Inception Symbolic Virtual Machine, based on K-LEE, performs symbolic execution, using several strategies to handle different levels of memory abstractions, interaction with peripherals, and interrupts. Finally, the Inception Debugger is a high-performance JTAG debugger which performs redirection of memory accesses to the real hardware. We first validate our implementation using 53000 tests comparing Inception's execution to concrete execution on an Arm Cortex-M3 chip. We then show Inception's advantages on a benchmark made of 1624 synthetic vulnerable programs, four real-world open source and industrial applications, and 19 demos. We discovered eight crashes and two previously unknown vulnerabilities, demonstrating the effectiveness of Inception as a tool to assist embedded device firmware testing.
引用
收藏
页码:309 / 326
页数:18
相关论文
共 50 条
  • [11] System-Wide Security for Offline Payment Terminals
    Ivanov, Nikolay
    Yan, Qiben
    SECURITY AND PRIVACY IN COMMUNICATION NETWORKS, SECURECOMM 2021, PT II, 2021, 399 : 99 - 119
  • [12] Moving toward system-wide software suites
    Dutton, G
    GENETIC ENGINEERING NEWS, 2005, 25 (10): : 18 - 18
  • [13] REAL-WORLD SOFTWARE ENGINEERING
    PYLE, IC
    SOFTWARE ENGINEERING JOURNAL, 1991, 6 (03): : 68 - 71
  • [14] Real-world software development
    Sowatskey, N
    IEEE SOFTWARE, 2005, 22 (01) : 9 - 9
  • [15] Real-World Security Protocols
    Hao, Feng
    IEEE SECURITY & PRIVACY, 2024, 22 (06) : 9 - 10
  • [16] SOFTWARE ISNT THE REAL-WORLD
    COOK, S
    DANIELS, J
    JOURNAL OF OBJECT-ORIENTED PROGRAMMING, 1994, 7 (02): : 22 - 29
  • [17] Developing a QRNG ECU for automotive security: Experience of testing in the real-world
    Hoang Nga Nguyen
    Tavakoli, Siamak
    Shaikh, Siraj Ahmed
    Maynard, Oliver
    2019 IEEE 12TH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION WORKSHOPS (ICSTW 2019), 2019, : 61 - 68
  • [18] A security evaluation and testing methodology for open source software embedded information security system
    Choi, SJ
    Kang, YH
    Lee, GS
    COMPUTATIONAL SCIENCE AND ITS APPLICATIONS - ICCSA 2005, PT 2, 2005, 3481 : 215 - 224
  • [19] An Approach for the Inception of Security Testing in the Early Stages of Software Development
    Mahendra, Neha
    Muqeem, Mohammad
    2018 INTERNATIONAL CONFERENCE ON COMPUTATIONAL AND CHARACTERIZATION TECHNIQUES IN ENGINEERING & SCIENCES (CCTES), 2018, : 304 - 307
  • [20] System-wide vulnerability of multi-component software
    Gelenbe, Erol
    Nakip, Mert
    Siavvas, Miltiadis
    COMPUTERS & INDUSTRIAL ENGINEERING, 2024, 196