Memory Safety for Embedded Devices with nesCheck

被引:16
|
作者
Midi, Daniele [1 ]
Payer, Mathias [1 ]
Bertino, Elisa [1 ]
机构
[1] Purdue Univ, Dept Comp Sci, W Lafayette, IN 47907 USA
基金
美国国家科学基金会;
关键词
D O I
10.1145/3052973.3053014
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Applications for TinyOS, a popular operating system for embedded systems and wireless sensor networks, are written in nesC, a C dialect prone to the same type and memory safety vulnerabilities as C. While availability and integrity are critical requirements, the distributed and concurrent nature of such applications, combined with the intrinsic un-safety of the language, makes those security goals hard to achieve. Traditional memory safety techniques cannot be applied, due to the strict platform constraints and hardware differences of embedded systems. We design nesCheck, an approach that combines static analysis and dynamic checking to automatically enforce memory safety on nesC programs without requiring source modifications. nesCheck analyzes the source code, identifies the minimal conservative set of vulnerable pointers, finds static memory bugs, and instruments the code with the required dynamic runtime checks. Our prototype extends the existing TinyOS compiler toolchain with LLVM-based passes. Our evaluation shows that nesCheck effectively and efficiently enforces memory protection, catching all memory errors with an overhead of 0.84% on energy, 5.3% on code size, up to 8.4% on performance, and 16.7% on RAM.
引用
收藏
页码:127 / 139
页数:13
相关论文
共 50 条
  • [1] CHERIoT: Complete Memory Safety for Embedded Devices
    Amar, Saar
    Chisnall, David
    Chen, Tony
    Filardo, Nathaniel Wesley
    Laurie, Ben
    Liu, Kunyan
    Norton, Robert
    Moore, Simon W.
    Tao, Yucong
    Watson, Robert N. M.
    Xia, Hongyan
    56TH IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE, MICRO 2023, 2023, : 641 - 653
  • [2] MEMORY ALLOCATION IN EMBEDDED DEVICES
    Larmour, Vicky
    ELECTRONICS WORLD, 2009, 115 (1881): : 8 - 9
  • [3] Trustworthy Memory Isolation of Linux on Embedded Devices
    Nemati, Hamed
    Dam, Mads
    Guanciale, Roberto
    Do, Viktor
    Vahidi, Arash
    TRUST AND TRUSTWORTHY COMPUTING, TRUST 2015, 2015, 9229 : 125 - 142
  • [4] Modeling nanoparticle embedded organic memory devices
    Houili, H.
    Tutis, E.
    Izquierdo, R.
    ORGANIC ELECTRONICS, 2010, 11 (04) : 514 - 520
  • [5] Algorithms for Railway Embedded Control Devices for Safety Manoeuvres
    Beinarovica, Anna
    Gorobetz, Mikhail
    Alps, Ivars
    ELECTRICAL CONTROL AND COMMUNICATION ENGINEERING, 2021, 16 (02) : 95 - 101
  • [6] Efficient External Sorting for Memory-Constrained Embedded Devices with Flash Memory
    Jackson, Riley
    Gresl, Jonathan
    Lawrence, Ramon
    ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS, 2021, 20 (04)
  • [7] Shared fuse macro for multiple embedded memory devices with redundancy
    Ouellette, MR
    Anand, DL
    Jakobsen, P
    PROCEEDINGS OF THE IEEE 2001 CUSTOM INTEGRATED CIRCUITS CONFERENCE, 2001, : 191 - 194
  • [8] Adaptive Flash Sorting for Memory-Constrained Embedded Devices
    Lawrence, Ramon
    36TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, SAC 2021, 2021, : 321 - 326
  • [9] Memory Carving in Embedded Devices: Separate the Wheat from the Chaff
    Gougeon, Thomas
    Barbier, Morgan
    Lacharme, Patrick
    Avoine, Gildas
    Rosenberger, Christophe
    APPLIED CRYPTOGRAPHY AND NETWORK SECURITY, ACNS 2016, 2016, 9696 : 592 - 608
  • [10] Embedded memory options for ultra-low power IoT devices
    Mohammad, Khader
    Tekeste, Temesghen
    Mohammad, Baker
    Saleh, Hani
    Qurran, Mahran
    MICROELECTRONICS JOURNAL, 2019, 93