SUMMARY
For embedded systems, it is important to detect changes in the real world and continuing processing properly. The changes are represented by external interrupts, and proper processes are implemented by nested interrupt service routines (hereafter ISRs). Here, a necessity of mutual exclusion arises. In a software execution environment without any real time OS (hereafter RTOS), a traditional mutual exclusion approach was to disable/enable interrupts in a CPU-specific manner. However, this method typically degrades the real time performance because it defers execution of the mutual-exclusion-free part of the system. Considering this situation, we have been studying a real-time embedded monitor (REMON) which provides a novel mutual exclusion method that can maintain real-time performance without RTOS. For in-service embedded systems, one major runtime fault is ISR stack overflow (SOF). It is extremely difficult to test all conditions where ISRs are called from various external conditions. Note that the ISR stack holds not only data but also program instruction addresses, and consequently a SOF may cause a fatal system error. In summary, ISR SOF is a significant issue, but it has not previously been addressed by REMON. This paper proposes two safety extension methods for embedded systems using REMON. The first method detects ISR overflow and safely stops the system before triggering a system-down or a malfunction. The second method reallocates the ISR stack and resumes system execution automatically.
[1]
Crispan Cowan,et al.
StackGuard: Automatic Adaptive Detection and Prevention of Buffer-Overflow Attacks
,
1998,
USENIX Security Symposium.
[2]
Olatunji Ruwase,et al.
A Practical Dynamic Buffer Overflow Detector
,
2004,
NDSS.
[3]
Hiroaki Takada,et al.
Enhancing Reliability in Hybrid OS System with Security Hardware
,
2010
.
[4]
Amit Vasudevan,et al.
Stealth breakpoints
,
2005,
21st Annual Computer Security Applications Conference (ACSAC'05).
[5]
Yuan-Cheng Lai,et al.
Embedded TaintTracker: Lightweight Run-Time Tracking of Taint Data against Buffer Overflow Attacks
,
2011,
IEICE Trans. Inf. Syst..
[6]
Akira Fukuda,et al.
Interrupt scheduler REMON for embedded systems
,
2013
.
[7]
Rajeev Barua,et al.
Memory overflow protection for embedded systems using run-time checks, reuse, and compression
,
2006,
TECS.