Run-time integrity enforcement in real-time systems presents a fundamental conflict with availability. Existing approaches in real-time systems primarily focus on minimizing the execution-time overhead of monitoring. After a violation is detected, prior works face a trade-off: (1) prioritize availability and allow a compromised system to continue to ensure applications meet their deadlines, or (2) prioritize security by generating a fault to abort all execution. In this work, we propose PAIR, an approach that offers a middle ground between the stark extremes of this trade-off. PAIR monitors real-time tasks for run-time integrity violations and maintains an Availability Region (AR) of all tasks that are safe to continue. When a task causes a violation, PAIR triggers a non-maskable interrupt to kill the task and continue executing a non-violating task within AR. Thus, PAIR ensures only violating tasks are prevented from execution, while granting availability to remaining tasks. With its hardware approach, PAIR does not cause any run-time overhead to the executing tasks, integrates with real-time operating systems (RTOSs), and is affordable to low-end microcontroller units (MCUs) by incurring +2.3% overhead in memory and hardware usage.
翻译:实时系统中的运行时完整性执行与可用性存在根本性冲突。现有实时系统方法主要侧重于最小化监控的执行时间开销。在检测到违规后,先前研究面临一种权衡:(1) 优先考虑可用性,允许受损系统继续运行以确保应用程序满足其截止时间,或(2) 通过生成故障中止所有执行来优先考虑安全性。在本工作中,我们提出PAIR,一种在此权衡的两种极端之间提供中间立场的方法。PAIR监控实时任务的运行时完整性违规,并维护所有可安全继续任务的可用性区域(AR)。当任务导致违规时,PAIR触发不可屏蔽中断来终止该任务,并继续执行AR内的未违规任务。因此,PAIR确保仅阻止违规任务执行,同时为剩余任务提供可用性。通过其硬件方法,PAIR不对执行任务造成任何运行时开销,能与实时操作系统(RTOS)集成,并且通过增加+2.3%的内存和硬件使用开销,适用于低端微控制器单元(MCU)。