3月31号office漏洞参考资料

本文介绍了两种源代码安全性扫描工具Flawfinder和RATS。Flawfinder是一个Python程序,可以检查C和C++程序,它能快速扫描并智能地识别漏洞。RATS则是一个更为通用的工具,支持多种编程语言,并能输出XML格式的错误信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过扫描源代码来提高代码的安全性并不是一个新课题,比如象lint这种用于
发现C语言程序中的错误的工具己经出现了许多年。目前随着开放源代码的迅
速发展,源代码的安全性工具也得到了极大的发展。在这其中做的比较好的有
Flawfinder和RATS。
著名的作家和程序员David Wheeler开发的Flawfinder工具是一个Python程序
,可以用来检查C和C++程序。目前该程序还处于初级阶段,版本是0.19,但
其性能可以和许多1.x版本的工具相竞争。Flawfinder的速度非常快,在一般的
台式机上处理几千行的C程序只需要几秒钟。
在扫描漏洞的过程中,Flawfinder也具有一定的智能性。例如在对于一个特别
编写的不安全的C程序进行扫描的过程中,Flawfinder可以区分出strcpy()对于
固定长度的字符处理和变长的字符处理,从而区分出真正的漏洞和错误的报警
。更进一步,Flawfinder还能够识别字符串在国际化中的使用。
RATS(the Rough Auditing Tool for Security)也是一个影响比较大的源代码扫
描工具,目前正处于比较活跃的开发过程中,可以检查使用C,C++、Perl,
PHP和Python等语言编写的源程序。RATS也是基于GPL发行的,目前的版本是
1.3,相对与前一版本在稳定性上有了显著的提高,但有时仍然在处理大量的输
入时会出错。
RATS是可配置的,当被扫描的源代码被修改后,通过词法分析,RATS可
以输出XML格式的错误信息,因此在使用RATS之前,还需要安装XML处理
工具expat。在RATS的运行过程中,用户可以通过配置来改变其输出的错误信
息级别,缺省是中级。可选的漏洞知识库和一致的输出函数可以接受用户的自
定义输入,因此更方便用户使用自己的专门数据来发现特定的错误。

编译好的PE文件内容都由二进制数据构成,不可能从逻辑比较的角度进行
比较。但如果转变观念,使用IDA Pro等反汇编工具对补丁安装前后的PE文件
分别进行反汇编,然后比较得到的反汇编文本,这样就将二进制文件比较问题
转化为文本比较问题。常用的文本比较工具包括ExamDiff、Gvim等。
缓冲区溢出、内存非法访问等操作往往会导致一些异常,保护模式下的
CPU就会产生一个异常中断,在Windows下程序就会返回到ntdll.dll中的
KiUserExceptionDispatcher函数的入口。KiUserExceptionDispatcher函数的参数
是一个数据结构指针,该数据结构包括了异常发生时EIP等寄存器内容(即现场
数据)。因此,可以在SoftICE下通过BPX命令设置这个函数断点,进而对这
些现场数据进行分析,最终判断是否真的存在漏洞。

powerpoint file viewer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值