当前在CVE中有超过11万个漏洞代码,程序开发过程中,常常也会复用已有的漏洞代码片段。我们从二进制程序入手,采用数据挖掘及深度学习技术,从语法及语义的两个角度,训练特征模型,检测程序中的漏洞代码复用、恶意代码及预测高危代码。设计开发了面向跨平台二进制文件的漏洞搜索工具VulSeeker-Pro, 比目前Berkerly Gemini等工具取得更快更准的搜索效率。
相关论文:
- Jian Gao, Xin Yang, Ying Fu, Yu Jiang, Heyuan Shi, and Jiaguang Sun:VulSeeker-pro: enhanced semantic learning based binary vulnerability seeker with emulation.(ESEC/FSE 2018: 803-808)
- Jian Gao, Xin Yang, Ying Fu, Yu Jiang, and Jiaguang Sun: VulSeeker: a semantic learning based vulnerability seeker for cross-platform binary.(ASE 2018: 896-899)
在针对内存安全的模糊测试中,重点解决种子来源及变异收敛性两个挑战。提出基于符号执行的种子生成,再基于覆盖率信息提出导向性的变异算法。通过导向性变异,优化调度策略,提升抵达罕见路径的种子变异次数,并保证不会破坏路径上的分支条件。该工作取得比广泛使用的Google Libfuzzer AFL等主流模糊测试工具更高的覆盖率。
相关论文:
- Mingzhe Wang, Jie Liang, Yuanliang Chen, Yu Jiang, Xun Jiao, Han Liu, Xibin Zhao, Jiaguang Sun:SAFL: increasing and accelerating testing coverage with symbolic execution and guided fuzzing. (ICSE (Companion Volume) 2018: 61-64)
- Jie Liang, Yu Jiang, Yuanliang Chen, Mingzhe Wang, Chijin Zhou and Jiaguang Sun: PAFL: Extend Fuzzing Optimizations of Single Mode to Industrial Parallel Mode. (ESEC/SIGSOFT FSE 2018: 809-814)
面向安卓应用的测试用例自动生成工具 当前,安卓应用的功能愈发复杂,涉及的隐私和安全信息愈发深入,实现方式也越来越多样,对面向安卓应用的测试用例自动生成工具提出了更高要求。为适应工业级复杂应用的测试需求,我们综合考虑测试历史,控件测试程度,当前页面测试程度,预期页面测试程度等因素,以代码覆盖率增长为导向,设计实现了动态权重算法。该算法能有效生成事件序列以触发应用的深层页面。工具采用C/S架构,支持多设备,多任务同时测试,设备和任务间共享应用模型数据和测试进度数据,在提升被测应用的代码覆盖率方面比已有工具或算法如Monkey、Priority Set等取得了更好的效果。
当前深度学习技术越来越多地应用于与安全相关的领域,例如无人驾驶和恶意软件检测,给深度学习技术的广泛应用带来了新的挑战。但是深度学习系统经常在边界情况中表现出不正确的行为。我们提出并开发了深度学习系统测试工具DLFuzz,将模糊测试技术与深度学习测试技术相结合,以覆盖率为导向,对测试图片加入微小扰动来使得神经网络预测错误,进而生成对抗样本。DLFuzz相对于深度学习测试工具DeepXplore,能够以更小的扰动,在更短的时间内生成更多的对抗样本,并提高神经元覆盖率。
相关论文:
- Jianmin Guo, Yu Jiang, Yue Zhao, Quan Chen, Jiaguang Sun:DLFuzz: Differential Fuzzing Testing of Deep Learning Systems. (ESEC/SIGSOFT FSE 2018: 739-743)