元始天尊 发表于 2014-7-7 19:34:19

使用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]
查看完整版本: 使用IDA Pro定位危险代码