最新
推荐
2014年高等教育信息化十大“关... 01-04 教育部成立教育信息化专家组 12-24
CERNET第二十一届学术年会 11-24 李志民:互联网促进人类文明迈... 11-15
| 漏洞,作为挂马工具甚至信息战中重要一环,最近也受到越来越多的关注。对于普通人来说,发掘各种软、硬件的新漏洞,是一件很神秘的事情。而对于专业人员来说,发掘漏洞需要的是耐心、积累、运气和方法。
随着时间的推移,初级漏洞在流行软件里逐渐消失,因此漏洞发掘的方法也在进化。从简单的代码扫描、无格式简单二进制Fuzz,到复杂代码审计(自定义检测规则)、复杂二进制文件格式生成与Fuzz,发现的漏洞类型越来越复杂,但这并不代表使用方法的终结,好戏还在后头…… 几个概念 漏洞发掘 在总结已有漏洞模式的基础上,通过人工或者自动化方法,对目标(软、硬件平台,网络应用等)进行新漏洞的发现及确认。 动态测试 通过人工或者自动化方法,通过运行软件来检验软件的动态行为和运行结果的正确性。 静态分析 无须执行被测对象,而是借助人工审查或者专用的软件测试工具,对被测对象的代码或者二进制镜像进行检测。 覆盖率 软件测试的一个度量,用以衡量运行代码占总代码的比例,覆盖率越高,测试的越充分。 漏洞发掘的常用手段 静态代码审计 在源代码可获得的前提下,通过人工审核或者自动化工具来进行代码检测。 比较有名的商业自动化工具有: * Coverity:开发者前身来自于斯坦福大学,以研究程序Bug为主要方向,曾经找到Linux内核/MySQL/ Android等多种开源软件的许多Bug * Fortify:生产专门用于目标安全的静态分析工具,客户包括美国国土安全部 、NASA等多家大型政府机构及商业银行。 * Klocwork:生产专门用于目标安全的静态分析工具,客户包括AMD、AOL、Cisco、Philips、QualComm等多家大型公司 * Prefast:内嵌在微软Visual Studio 2005之后的版本里,可以检测用户编程时遇到的不少问题 。 静态代码审计兼有静态分析和代码审计两者的特点:优点是分析面广,可在不考虑覆盖率和运行环境的情况下,能够发现很多潜在的问题;缺点也很突出,发现的问题不一定在真实环境里触发(不一定能运行到潜在的问题代码),对于没有源代码的很多商业程序也不适用。 |
版权所有:中国教育和科研计算机网网络中心 CERNIC,CERNET,京ICP备15006448号-16,京网文[2017]10376-1180号
关于假冒中国教育网的声明 | 有任何问题与建议请联络:Webmaster@staff.cernet.com