zoukankan      html  css  js  c++  java
  • 源代码扫描工具Fortify SCA与FindBugs的简单对比

    
    

    前段时间因为工作原因需要对java源代码进行扫描,现结合使用经验对静态代码扫描工具Fortify SCA与FindBugs进行一个简单的对比。

    一、Fortify SCA

    Fortify SCA是由全球领先的软件安全产品解决方案供应商Fortify Software开发,致力于帮助客户在软件开发生命周期中建立安全机制,杜绝软件安全漏洞,避免经济上和声誉上的损失。

    扫描原理:FortifySCA首先通过调用语言的编译器或者解释器把前端的语言代码(Java、C、C++等源代码)转换成一种中间媒体文件NST(Normal Syntax Trcc),将其源代码之间的调用关系、执行环境、上下文等分析清楚。然后通过匹配所有规则库中的漏洞,若发现存在漏洞就抓取出来,显示在Fortify SCA扫描结果中。

    风险类型:参考CWE、OWASP

    是否收费:收费

    支持语言:Java,JSP,C#,C,C++,PHP,VB.NET,ASP.NET,COBOL,ColdFusion,Transact-SQL,PL/SQL,JavaScript/Ajax,Classic,ASP,VBScript,VB6

    支持系统:Windows、Linux、Mac OS

    安装方式:IDE插件(Eclipse、VS、WSAD、RAD)、命令行

    分析页面:

     报告格式:PDF

    二、FindBugs

    FindBugs是由马里兰大学提供的一款开源静态代码分析软件。

    扫描原理:Findbugs检查类或者JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。Findbugs自带检测器,其中有60余种Bad practice,80余种Correctness,1种 Internationalization,12种Malicious code vulnerability,27种Multithreaded correctness,23种Performance,43种Dodgy。我们还可以自己配置检查规则(做哪些检查,不做哪些检查),也可以自己来实现独有的校验规则(用户自定义特定的bug模式需要继承它的接口,编写自己的校验类,属于高级技巧)。

    风险类型:

    ·Bad practice  常见代码错误,用于静态代码检查时进行缺陷模式匹配

    ·Correctness   可能导致错误的代码,如空指针引用等

    ·Dodgy code     糟糕的代码

    ·Experimental  实验

    ·Internationalization  国际化相关问题

    ·Malicious code vulnerility 恶意的代码漏洞

    ·Multithreaded correctness 多线程问题

    ·Performance  性能问题

    是否收费:免费

    支持语言:Java

    使用方式:IDE插件(Eclipse、NetBeans、Intellij IEDA)、GUI

    支持系统:Windows、Linux

    分析页面:

    报告格式:XML

    使用Fortify SCA与FindBugs扫描同一份源代码结果差异较大。两个工具所针对的威胁类型(可参见上文风险类型项)不同,可结合起来使用,有助于更多地发现源代码问题。

  • 相关阅读:
    BZOJ 2565 最长双回文串 (Manacher)
    BZOJ 3881 [COCI2015]Divljak (Trie图+Fail树+树链的并+树状数组维护dfs序)
    BZOJ 3530 [SDOI2014]数数 (Trie图/AC自动机+数位DP)
    BZOJ 1444 [JSOI2009]有趣的游戏 (Trie图/AC自动机+矩阵求逆)
    BZOJ 1195 [HNOI2006]最短母串 (Trie图+状压+bfs最短路)
    luogu P5289 [十二省联考2019]皮配
    luogu P5285 [十二省联考2019]骗分过样例
    luogu P5294 [HNOI2019]序列
    luogu P5292 [HNOI2019]校园旅行
    luogu P5284 [十二省联考2019]字符串问题
  • 原文地址:https://www.cnblogs.com/canyezhizi/p/10980851.html
Copyright © 2011-2022 走看看