10.3969/j.issn.1007-130X.2022.11.003
基于行为监测的嵌入式操作系统堆栈溢出测试
堆栈测试是嵌入式操作系统安全评估的重要环节,堆栈溢出会覆盖邻近堆栈中的数据,造成数据错乱进而引发系统崩溃.然而捕获并定位堆栈溢出具有一定难度.首先,溢出数据可能会侵占操作系统中其它任务的私有堆栈,而发生溢出的任务本身没有异常表现,以致难以确定堆栈溢出的根源;其次,由于操作系统任务的优先级差异,堆栈溢出的暴露时间可能滞后于其发生时间.提出了一种基于实时堆栈分配与回收行为监测的动态堆栈测试方法,首先在堆栈行为测试点插入桩函数,以采集任务堆栈的测试码;然后设置上位机测试程序,以分析测试码并提供测试结果,实现实时捕获并定位堆栈溢出.利用此方法,在基于车载远程信息处理终端的实际测试中,定位到了3处造成系统崩溃或复位的堆栈溢出异常,评估了操作系统堆栈的安全性.另外,根据测试结果,优化了堆栈大小的静态分配,在单个任务中最多节省了42%的堆栈空间,并将整个任务RAM压缩至原来的63%.
操作系统、程序插桩、堆栈测试、动态测试
44
TP306(计算技术、计算机技术)
安徽省重点研究与开发计划项目202004a05020041
2022-11-24(万方平台首次上网日期,不代表论文的发表时间)
共6页
1918-1923