基于深度学习的二进制软件漏洞挖掘-闫晗.pdf
ThenamBeeoijfintgheFoDreepsatrStmtuedniot
北京理工大学信息系统及安全对抗部实验门名中称心
基于深度学习的二进制
软件漏洞挖掘
动态缺陷检测方法
硕士研究生闫晗
2020年8月2日
内容提要
•背景简介
•基本概念
•算法原理
•优劣分析
•应用总结
•参考文献
2
背景简介
•预期收获
–1.了解二进制缺陷检测任务的基本概念和TIPO
–2.了解模糊测试、符号执行等动态缺陷检测方法
–3.理解基于深度学习的动态二进制缺陷检测方法
3
基于深度学习的二进制软件漏洞挖掘
基本概念
基本概念
•漏洞
–软件漏洞(Vulnerablity)是由软件在设计、开发或配置过
程中存在的错误(Mistake)而导致的缺陷(Flaw)的实例,
利用漏洞可以违反某些显式或隐式的安全策略。
导致利用
错误缺陷漏洞
错误:拷贝动作没有约束边界
缺陷:可能导致栈缓冲区溢出
漏洞:可能导致恶意代码执行
5
基本概念
•漏洞挖掘
T发现目标软件中存在的漏洞
I目标软件(源程序或二进制程序)
1.软件缺陷检测(缺陷位置);
P
2.可利用性分析(利用方法)
O目标软件的漏洞信息(缺陷位置、利用方法等)
•二进制漏洞挖掘
–目标软件是二进制文件的漏洞挖掘
–二进制文件包括可执行文件、链接库文件等
6
基本概念
•二进制缺陷检测
T发现并定位二进制程序中存在的缺陷代码
I目标二进制程序
P静态分析/动态分析
O目标二进制程序的缺陷代码位置
•基本概念整理
二进制缺陷检测
二进制漏洞挖掘
可利用性分析
漏洞漏洞挖掘
源代码漏洞挖掘..