Software security and safety is gaining more and more importance in recent years. This project aims at developing highly efficient and precise analysis techniques to enhance software security and safety. It focuses on symbolic execution and dynamic taint analysis techniques. Specifically, we will work on offline taint propagation analysis, static code instrumentation on Android systems, path feasibility analysis for complex program paths, analysis of binary executables, and so on. Prototype tools will be developed, based on the above techniques.
软件安全性日益受到人们的重视。针对源代码、中间语言代码或二进制代码的静态分析、动态分析是保障安全性的重要手段。学术界对此进行了广泛的研究,但是形成的技术或者工具在针对真实软件分析中存在精度、效率、实用性等方面的问题。本项目将针对软件安全性分析中的的关键技术,包括符号执行、污点分析等,进行深入细致的研究。在此基础上改进现有的技术,或者提出新的技术,并研制相应的原型工具,构建程序安全分析的基础设施,并将其应用于多个平台上重要软件的缺陷检测。
本项目主要研究可信软件,特别是如何分析、提高软件的安全性。项目组围绕动态污点传播、静态分析、数据竞争和死锁检测、安卓应用程序缺陷检测与修复等多个方面开展了深入研究,取得了一系列研究成果。包括:通过静态插桩添加污点跟踪语句实施动态污点跟踪技术,提出了一种名叫引用劫持的新技术,较好地解决了安全性增强与分析工作的部署问题,达到动态运行时检测恶意行为的目的;针对Android应用的Delvik字节码,提出了一套流敏感的、支持跨过程分析的自动化静态分析框架;对Android系统组件间通信使用的权限机制进行了安全性分析,提出了相应的攻击模型;提出了一种称为AntMiner的方法来提高缺陷挖掘技术的精度,通过引入程序切片技术和程序规范化技术,设计出一个分而治之的缺陷挖掘方法,有效减少了噪声代码的干扰,显著降低了缺陷挖掘工作的漏报和误报;提出了一种针对二进制程序的更为细粒度的控制流完整性校验方法,即BinCC,能够显著优化间接控制流转移的合法目标数量,提高控制流转移的防护效果;针对并发程序中常见的错误(数据竞争和死锁),提出了新的有效的动态检测方法,等等。.项目组在著名的国际会议和期刊(IEEE TSE,ICSE, FSE, ASE, RAID, ...)上发表了10余篇高水平论文。此外,还开发了多个原型工具,包括:面向二进制应用的污点传播系统AOTA,漏洞利用早期检测系统Xede,Android上高可部署性的动态污点分析系统,Android应用资源泄漏缺陷静态检测工具Relda2,Android应用的字节码插桩工具InsDal. 有的工具已经在有关单位及华为公司得到应用。项目组对很多真实软件系统进行了实例分析,并发现了Linux内核等软件中的数十个缺陷,得到了软件开发者的认可。
{{i.achievement_title}}
数据更新时间:2023-05-31
玉米叶向值的全基因组关联分析
涡度相关技术及其在陆地生态系统通量研究中的应用
正交异性钢桥面板纵肋-面板疲劳开裂的CFRP加固研究
硬件木马:关键问题研究进展及新动向
基于SSVEP 直接脑控机器人方向和速度研究
软件在线演化的关键技术与支撑工具研究
软件测试方法与工具研究
大规模软件验证若干关键技术研究及支持工具
程控交换软件维护工具