分享:关于安全性测试工具小要点

有一篇关于安全性测试工具的文章:《Gunfight at The OK Button》。

文中列出了安全测试工具的15个要点:

一、针对源代码,测试出任何类型的弱点。

二、针对二进制文件,例如可执行文件,测试出任何类型的弱点。

三、检测实时系统的问题,像死锁检测、异步行为的问题等。

四、对任何类型的补丁建立基线并进行回归测试,防止引入新的弱点。

五、提供一个机制,确保已通过检查、校验的源代码一旦构建成为可执行文件后,没有被更改。

六、帮助测试人员找到可能触发或隐含恶意代码的地方。

七、提供关于二进制文件的信息,例如哪一个本地系统对象被建立了。

八、在软件开发周期中的不一样阶段都能应用,检查软件的弱点。

九、尽量小的错误偏差。

十、能处理外国语言的源代码,例如外国语言的注释等。

十一、平台兼容性,例如Unix、Linux、Windows等。

十二、开发语言兼容性,例如C、C++、ADA、Java等。

1三、能够处理大容量的源代码或很大的可执行文件,例如上百万行的代码。

1四、不改变被测试的软件,不影响代码。

1五、产生有用的诊断、预测和度量分析报告。

文中还分类列出了几款分别知足这些不一样要点的安全性测试工具

一、分析检查器、内存泄漏检测工具、二进制代码扫描器(Profilers, checkers,memory-leak detection tools,Binary code scanners)

   开源的:Valgrind (www.valgrind.org)
   商业的:Rational/IBM Purify(www.ibm.com)、http://samate.nist.gov/index.php/Binary_Code_Scanners

二、应用程序痕迹检查工具(Application footprinting)
       UNIX 平台:lsof 、strace、ktrace 、truss
    Windows平台:ProcessExplorer

三、模糊测试工具(Fuzz testing tools and techniques (also known as penetration testing))
   Peach Fuzzer Framework (http://peachfuzz.sourceforge.net/)

四、静态代码分析工具(Static code analyzers)
   开源的:Splint(http://splint.org)
   商业的:PRQA(Programming Research)www.programmingresearch.com、Coverityphp

相关文章
相关标签/搜索