基于程序语义的嵌入式软件安全分析研究
作者单位:西安电子科技大学
学位级别:硕士
导师姓名:习宁
授予年度:2022年
学科分类:0839[工学-网络空间安全] 08[工学] 081201[工学-计算机系统结构] 0812[工学-计算机科学与技术(可授工学、理学学位)]
摘 要:嵌入式系统每天都在改变我们的生活,并且它们的复杂性随着应用程序的多样性和处理器架构的改进而增加。在各种嵌入式平台的应用程序中,有大量来自不可信第三方的应用程序,未经验证的第三方应用程序会造成系统或用户隐私泄露等安全问题。污点分析是检测嵌入式平台应用程序信息泄露的常用方法之一,通过对污点源的追踪以及污点传播分析,能够有效追踪嵌入式程序中的数据流,保证用户信息的安全性。传统的污点分析方法,忽略了程序语义,导致精度损失。此外,污点分析还依赖于人工配置的污点源和污点汇聚点,需要耗费大量的精力。因此需要提出高精确度的方法,实现对污点源和污点汇聚点的自动分类。针对嵌入式系统污点分析中精度损失和人工成本较大的问题,本文利用自然语言处理技术,研究基于语义信息的嵌入式程序污点分析方法,设计并实现了面向嵌入式系统语义安全分析原型系统,具体贡献如下:1)第三章在深入分析现有解决方案的基础上,针对嵌入式系统应用程序中的隐私泄露等安全问题,本文将自然语言处理技术融入到污点分析过程中,提出并设计了基于浅层语义的嵌入式程序污点分析方法。通过实验测试,与传统工具相比,此方法可以利用浅层语义特征有效地提高整体污点分析的准确率。2)第四章在现有的基于浅层语义的嵌入式程序污点分析方法的基础上,为解决语义信息提取不完全以及语义审查计算开销过大的问题,本文提出基于深层语义的嵌入式程序污点分析方法,结合深层语义作为分类特征,对敏感源和敏感汇进行自动分类,简化掉语义审查的步骤,减少相似度计算的开销。实验结果表明,此方法能够更高效,更准确地对嵌入式程序进行污点分析。3)第五章针对实际无人机与机载计算机通信场景,本文实现了嵌入式系统语义安全分析原型系统,并进行了实验测试。结果表明该系统完成了函数解析、句向量嵌入、语义特征提取和敏感源与敏感汇分类以及污点分析等功能,满足嵌入式系统通信场景中对信息泄露检测的基本需求。在以上研究内容及系统实现的基础上,本文研究的内容对我国嵌入式程序的信息流安全性的提高具有推动作用,为其标准制定和应用开发提供支撑。