Fortify SCA源代码扫描工具对于脆弱性的检测是通过八个解析器来实现的,下面为您简单介绍下这八个解析器。
1、 Buffer(缓冲区):此解析器主要是用于对缓冲区溢出的情况进行检测、分析,并且将其报告给使用者。
2、 Configuration(配置):该解析器是用于检测和应用部署配置文件相关的错误或不安全设定。
3、 Content(内容):该解析器是用于检查静态HTML页面,确认其是否包含安全上脆弱性相关的内容。除静态HTML页面以外,该解析器还能够检测动态页面文件,例如PHP/JSP等。
4、 Control Flow(控制流):该解析器用来检测潜在的操作顺序上的危险性,通过对程序中的控制流路径进行分析来实现检测。
5、 Dataflow(数据流):该解析器主要是用来检测用户输入导致潜在使用上的风险性。例如,输入字符串是否被拷贝到了静态定长的缓冲区中,导致了缓冲区溢出,又或者SQL查询中是否包含了用户输入的动态内容等。
6、 Higher Order:很多的现代动态语言例如JavaScript、Python等,对函数都能够像对值的操作一样,可以创建匿名函数表达式,或将函数作为参数进行传递,还可以作为返回值存在。
7、 Semantic(语义):该解析器可以检测函数或API使用上潜在的危险,例如,在Java中会检测deprecated函数的使用情况,在C/C++语言中,使用不安全的函数比如gets()函数也会被作为重点的检测对象进行检查。
8、 Structural(结构):该解析器可以检查程序的定义和结构上的问题。例如可以检测出那些由于入口恒为false而导致永远都不会执行的代码块,这些无意义的代码有时是缺陷,需要及时检测,修复。
有关Fortify SCA源代码扫描工具的知识分享到这里就结束了,感谢您的观看。我们将持续为您更新更多测试工具小知识,期待您的关注。