几种cc语言安全检测工具介绍

几种cc语言安全检测工具介绍

ID:33201167

大小:73.00 KB

页数:9页

时间:2019-02-22

几种cc语言安全检测工具介绍_第1页
几种cc语言安全检测工具介绍_第2页
几种cc语言安全检测工具介绍_第3页
几种cc语言安全检测工具介绍_第4页
几种cc语言安全检测工具介绍_第5页
资源描述:

《几种cc语言安全检测工具介绍》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、几种C/C语言安全检测工具介绍2012-05-1100:00中国IT实验室佚名关键字:C语言  针对C/C++语言安全漏洞的分析检测也出现了大量的工具,按照不同的机理主要分为以下几类,如表所示:分析类型  机理  分析工具  备注  静态分析  预处理  FormatGuard  预处理提供的宏功能来对printf函数中的参数个数进行计数  词法分析  Rats、Flawfinder、Its4  见后文介绍  语法分析  Antlr/Gold  见后文介绍  注解分析  Splint/  见后文介绍  语义/值流分析 

2、 Cqual  见后文介绍  逆向分析  IDA/Win32Dasml  反汇编工具  动态分析  拦截库函数的调用  LibFormat  见后文介绍  逆向分析  OllyDbg/Windbg  动态调试工具,常结合静态反汇编工具对程序进行逆向分析  FormatGuard:Linux下防止格式化字符串攻击的工具,是对glibc的增强。具体通过预处理提供的宏功能来对类printf函数中的参数个数进行计数,通过glibc提供的parse_printf_format函数来对转换说明符进行计数。如果转换说明符的数目大于提

3、供给printf的参数个数,_proteced_printf函数认为可能遭受格式串攻击,发出警告。但该工具不能分析类vprintf函数(而此类函数却大量存在)  LibFormat:Unix中提供了一个有用的环境变量LD_PRELOAD,它允许我们定义在程序允许前优先加载的动态链接库。主要思想,通过动态连接器将自己插入到程序中,在程序以后的运行中如果发现了包含%n的格式串出现在可写内存中,则终止程序。但对读操作却无能为力,而且遇到的任何%n格式串,都会终止程序,误报高。  ANTLR:识别和处理编程语言是Antlr的首

4、要任务,编程语言的处理是一项繁重复杂的任务,为了简化处理,一般的编译技术都将语言处理工作分为前端和后端两个部分。其中前端包括词法分析、语法分析、语义分析、中间代码生成等若干步骤,后端包括目标代码生成和代码优化等步骤。Antlr 致力于解决编译前端的所有工作。使用Anltr的语法可以定义目标语言的词法记号和语法规则,Antlr自动生成目标语言的词法分析器和语法分析器;此外,如果在语法规则中指定抽象语法树的规则,在生成语法分析器的同时,Antlr还能够生成抽象语法树;最终使用树分析器遍历抽象语法树,完成语义分析和中间代码生

5、成。整个工作在Anltr强大的支持下,将变得非常轻松和愉快。另外,Antlr的词法分析器生成器,可以很容易的完成正则表达式能够完成的所有工作;除此之外使用Anltr还可以完成一些正则表达式难以完成的工作,比如识别左括号和右括号的成对匹配等。  GOLD:它是一个较为复杂的分析器,支持很多语言,包括:Assembly– Intel x86 、ANSIC、C#、D、Delphi、Java、Pascal、Python、VisualBasic、VisualBasic.NET、VisualC++、所有。NET语言、所有Activ

6、eX语言。是个免费的软件。  Its4:读取一个或多个C/C++源程序,将每个源程序分割成函数标志流,然后检查生成的标志是否存在于漏洞数据库中,从而得到每个源程序的所有错误警告列表,并带有相关的描述。其规则库vulns.i4d定义了各种函数的危险等级,描述等,通过规则匹配来报出风险,但它不能理解程序上下文意思,存在很大的误报。  Flawfinder:词法扫描和分析,内嵌了一些漏洞数据库,如缓冲区溢出、格式化串漏洞等,扫描快,按照代码中漏洞的风险等级对漏洞进行划分,可以快速找到存在的问题,误报较高  Rats:扫描C、

7、C++、Perl、PHP和Python开发的源程序中潜在的漏洞,扫描规则比较粗糙  词法分析工具的分析流程:  描述:  (1)输入待扫描的源程序文件或者文件夹,分析输入的文件和文件夹,识别出其中的所有源程序文件,建立一个待扫描文件列表,下一步就可以从待扫描文件列表中有序的读取带扫描文件进行扫描。  (2)当词法分析工具得到一行待分析文件的源代码的同时,从危险函数数据库中提取一个等级的危险函数与该行源代码进行匹配,这就是初步分析。  (3)如果在初步分析中匹配成功,那么词法分析工具将使该行代码进入下一步的分类特征分析,

8、否则,返回继续进行下一行的初步分析。  (4)词法分析工具不断的读取源代码按照设定的危险等级进行分析,直到最后生成报告,以便开发者进行改进。  Cqual:采用语义/值流分析,该工具的功能即是查找格式化字符串缺陷,const数据类型以及结构体的检查等。其分析流程如下:  (1)用户输入源文件和格配置文件,作为程序的输入。Cqual

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。