使用IDA Pro定位危险代码
在黑盒测试中,我们希望找到程序中的危险代码。使用Flawfinder这样一种基本的面向源码的工具正好可以解决这个问题。很多嵌入在源码中的函数都是很危险的,例如printf sprintf ....。PS:这里说的危险主要是缓冲区溢出
使用flawfinder带来的四个问题:
1.只能用于源码,不是直接可用的。
2.签名内嵌于源码,不易复用。
3.2007年以后就停止支持
4.不够详尽。Michael Howard在将微软SDL(Security Development Lifecycle )的一些功能变成不可开发方面做了很多工作。flawfinder不支持很多这些功能
我尝试把一些flawfinder的函数输出到IDA Pro.之后将flawfinder的数据转换成XML原始数据流,并且加入了Michael Howard作了限制的那些函数。
http://msdn.microsoft.com/en-us/library/bb288454.aspx
我的XML文件描述的危险代码在后面
SHA256: 6695bb84bd1e9536c930b3599426cca04bfc02b31d66d9a61ca00ac7f0e1a686
MD5: c6b712a94962dd583974fa34ba19e23f
要使用它你首先要修改前面提到的dangerous_functions.py文件第7行的'dangerous_functions_file’。
下面是相似的项目
http://sourceforge.net/projects/bugscam/
http://sourceforge.net/projects/ida-pro-code/
页:
[1]