Hardware-Based Run-Time Code Integrity in Embedded Devices

被引:7
|
作者
Wehbe, Taimour [1 ]
Mooney, Vincent [1 ,2 ]
Keezer, David [1 ]
机构
[1] Georgia Inst Technol, Sch Elect & Comp Engn, Atlanta, GA 30332 USA
[2] Georgia Inst Technol, Sch Comp Sci, Atlanta, GA 30332 USA
关键词
embedded systems security; hardware-based malware detection; run-time monitoring; code modification; security threats; Field Programmable Gate Arrays (FPGA);
D O I
10.3390/cryptography2030020
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Attacks on embedded devices are becoming more and more prevalent, primarily due to the extensively increasing plethora of software vulnerabilities. One of the most dangerous types of these attacks targets application code at run-time. Techniques to detect such attacks typically rely on software due to the ease of implementation and integration. However, these techniques are still vulnerable to the same attacks due to their software nature. In this work, we present a novel hardware-assisted run-time code integrity checking technique where we aim to detect if executable code resident in memory is modified at run-time by an adversary. Specifically, a hardware monitor is designed and attached to the device's main memory system. The monitor creates page-based signatures (hashes) of the code running on the system at compile-time and stores them in a secure database. It then checks for the integrity of the code pages at run-time by regenerating the page-based hashes (with data segments zeroed out) and comparing them to the legitimate hashes. The goal is for any modification to the binary of a user-level or kernel-level process that is resident in memory to cause a comparison failure and lead to a kernel interrupt which allows the affected application to halt safely.
引用
收藏
页码:1 / 18
页数:18
相关论文
共 50 条
  • [21] Deployment of Run-Time Reconfigurable Hardware Coprocessors Into Compute-Intensive Embedded Applications
    Francisco Fons
    Mariano Fons
    Enrique Cantó
    Mariano López
    Journal of Signal Processing Systems, 2012, 66 : 191 - 221
  • [22] Low-Cost Hardware Profiling of Run-Time and Energy in FPGA Embedded Processors
    Aldham, Mark
    Anderson, Jason
    Brown, Stephen
    Canis, Andrew
    ASAP 2011 - 22ND IEEE INTERNATIONAL CONFERENCE ON APPLICATION-SPECIFIC SYSTEMS, ARCHITECTURES AND PROCESSORS (ASAP 2011), 2011, : 61 - 68
  • [23] Compiling for template-based run-time code generation
    Smith, F
    Grossman, D
    Morrisett, G
    Hornof, L
    Jim, T
    JOURNAL OF FUNCTIONAL PROGRAMMING, 2003, 13 : 677 - 708
  • [24] Run-time Performance Monitoring of Hardware Accelerators
    Madronal, Daniel
    Fanni, Tiziana
    CF '19 - PROCEEDINGS OF THE 16TH ACM INTERNATIONAL CONFERENCE ON COMPUTING FRONTIERS, 2019, : 289 - 291
  • [25] A method for fast hardware specialization at run-time
    Bruneel, Karel
    Bertels, Peter
    Stroobandt, Dirk
    2007 INTERNATIONAL CONFERENCE ON FIELD PROGRAMMABLE LOGIC AND APPLICATIONS, PROCEEDINGS, VOLS 1 AND 2, 2007, : 35 - 40
  • [26] An Integrity Assurance Mechanism for Run-Time Programs
    Xu, Ziyao
    He, Yeping
    Deng, Lingli
    INFORMATION SECURITY AND CRYPTOLOGY, 2009, 5487 : 389 - 405
  • [27] Optimizing ML with run-time code generation
    Lee, P
    Leone, M
    ACM SIGPLAN NOTICES, 1996, 31 (05) : 137 - 148
  • [28] Optimizing ML with run-time code generation
    Lee, P
    Leone, M
    ACM SIGPLAN NOTICES, 2004, 39 (04) : 542 - 553
  • [29] Harpy: Run-time Code Generation in Haskell
    Grabmueller, Martin
    Kleeblatt, Dirk
    HASKELL'07: PROCEEDINGS OF THE ACM SIGPLAN 2007 HASKELL WORKSHOP, 2007, : 94 - 94
  • [30] Certifying compilation and run-time code generation
    Hornof, Luke
    Jim, Trevor
    Higher-Order and Symbolic Computation, 1999, 12 (04): : 337 - 375