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 条
  • [21] Low Memory Consumption DTV (ATSC) Software Solution for Embedded TV Devices
    Ilic, Mladen
    Vidakovic, Darko
    Filipovic, Jovana
    2017 13TH INTERNATIONAL CONFERENCE ON ADVANCED TECHNOLOGIES, SYSTEMS AND SERVICES IN TELECOMMUNICATIONS (TELSIKS), 2017, : 77 - 80
  • [22] Spin Torque Devices in Embedded Memory: Model Studies and Design Space Exploration
    Raychowdhury, Arijit
    2013 IEEE/ACM INTERNATIONAL CONFERENCE ON COMPUTER-AIDED DESIGN (ICCAD), 2013, : 572 - 575
  • [23] Adapting Linear Hashing for Flash Memory Resource-constrained Embedded Devices
    Feltham, Andrew
    MacBeth, Spencer
    Fazackerley, Scott
    Lawrence, Ramon
    PROCEEDINGS OF THE 21ST INTERNATIONAL CONFERENCE ON ENTERPRISE INFORMATION SYSTEMS (ICEIS), VOL 1, 2019, : 176 - 181
  • [24] Discovery and Identification of Memory Corruption Vulnerabilities on Bare-Metal Embedded Devices
    Salehi, Majid
    Degani, Luca
    Roveri, Marco
    Hughes, Danny
    Crispo, Bruno
    IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, 2023, 20 (02) : 1124 - 1138
  • [25] Component-Wise Software Certification for Safety-Critical Embedded Devices
    Streitferdt, Detlef
    Zimmermann, Armin
    Schaffner, Joerg
    Kallenbach, Michael
    2017 8TH ANNUAL INDUSTRIAL AUTOMATION AND ELECTROMECHANICAL ENGINEERING CONFERENCE (IEMECON), 2017, : 175 - 180
  • [26] Memory Effects of Nonvolatile Memory Devices with a Floating Gate Fabricated Utilizing Ag Nanoparticles Embedded into a Polymethylmethacrylate Layer
    Kim, Won Tae
    Yun, Dong Yeol
    Jung, Jae Hun
    Kim, Tae Whan
    JOURNAL OF NANOSCIENCE AND NANOTECHNOLOGY, 2011, 11 (01) : 791 - 795
  • [27] A Memory Protection Strategy for Resource Constrained Devices in Safety Critical Applications
    Barbareschi, Mario
    Barone, Salvatore
    Casola, Valentina
    Montone, Pasquale
    Moriconi, Alberto
    2022 6TH INTERNATIONAL CONFERENCE ON SYSTEM RELIABILITY AND SAFETY, ICSRS, 2022, : 533 - 538
  • [28] Embedded memory
    NScore
    不详
    Proc Custom Integr Circuits Conf, 2008,
  • [29] Two-terminal resistive switching memory devices with a polymer film embedded with nanoparticles
    Ouyang, Jianyong
    JOURNAL OF MATERIALS CHEMISTRY C, 2015, 3 (28) : 7243 - 7261
  • [30] Nonvolatile Electric Double-Layer Transistor Memory Devices Embedded with Au Nanoparticles
    Koo, Jaemok
    Yang, Jeehye
    Cho, Boeun
    Jo, Hyunwoo
    Lee, Keun Hyung
    Kang, Moon Sung
    ACS APPLIED MATERIALS & INTERFACES, 2018, 10 (11) : 9563 - 9570