【源代码扫描工具】 -fortify SCA原理简介_una2017的博客-程序员宝宝

技术标签: 安全测试  

1-Fortify SCA(Fortify Source Code Analysis)是一个静态的、白盒的软件源代码安全测试工具。

它通过内置的五大主要分析引擎:数据流、语义、结构、控制流、配置流等对应用软件的源代码进行静态的分析,分析的过程中与它特有的软件安全漏洞规则集进行全面地匹配、查找,从而将源代码中存在的安全漏洞扫描出来,并给予整理报告。扫描的结果中不但包括详细的安全漏洞的信息,还会有相关的安全知识的说明,以及修复意见的提供。

Foritfy  SCA主要包含的五大分析引擎:
数据流引擎:跟踪,记录并分析程序中的数据传递过程所产生的安全问题。
语义引擎:分析程序中不安全的函数,方法的使用的安全问题。
结构引擎:分析程序上下文环境,结构中的安全问题。     
控制流引擎:分析程序特定时间,状态下执行操作指令的安全问题。
配置引擎:分析项目配置文件中的敏感信息和配置缺失的安全问题。     

说明:特有的X-Tier跟踪器:跨跃项目的上下层次,贯穿程序来综合分析问题 


2-Fortify SCA是一个产品的套件,它是由内置的分析引擎、安全编码规则包、审查工作台、规则自定义编辑器和向导、IDE 插件五部分组件,五个组件配合工作完成对源代码安全漏洞的扫描,分析,查看,审计等工作。

1)分析引擎:内置五大分析引擎与规则包配合工作,从五个侧面全面地分析程序源代码中的安全漏洞。

2)安全编码规则包:由多位顶级的软件安全专家,多年研究出来的数十万条软件安全漏洞特征的集合。目前能查找出来约350多种安全漏洞,内置在SCA中与分析引擎配合工作。

3)审计工作台:一个用来查看,审计SCA分析出来的漏洞结果的综合的平台,它包含大量的丰富的软件漏洞的信息,如下图2 所示,它包括了漏洞的分级,漏洞产生的全过程,漏洞所在的源代码行数定位,以及漏洞的解释说明和推荐的修复建议等内容,极大地方便地用户对SCA的查看,审计等工作。

4)规则自定义向导/编辑器:Fortify SCA的规则支持自定义功能,方便用户来扩展SCA对漏洞的分析能力,所以SCA提供了一个用户自定义的向导和编辑器。

5)IDE插件:为了方便用户使用SCA对程序源代码进行安全扫描,它提供了多种IDE工具的插件,如Eclipse, Visual Studio,RAD, WSAD等。

3-其他方面

1)Fortify SCA支持的平台:
     Windows, Solaris, Red Hat Linux,Mac OS X, HP-UX, IBM AIX
2)Fortify SCA支持的编程语言:
     C, C++,.Net, Java, JSP,PL/SQL, T-SQL, XML, CFMLJavaScript, PHP, ASP, VB, VBScript
3)Fortify SCA plug-In 支持的有:
      Visual Studio, Eclipse, RAD, WSAD
4)Fortify SCA目前能够扫描的安全漏洞种类有:
      目前Fortify SCA可以扫描出约350种漏洞,Fortify将所有安全漏洞整理分类,根据开发语言分项目,再细分为8个大类,约350个子类

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zhailihua/article/details/73912069

智能推荐

机械自动化与计算机视觉关系,计算机视觉与机器视觉的区别?_姬轩亦的博客-程序员宝宝

计算机视觉与机器视觉的区别?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!计算机视觉与机器视觉的区别?”计算机视觉“,是指用计算机实现人的视觉功能,对客观世界的三维场景的感知、识别和理解。计算机视觉是一个处于指示前沿的领域。我们认为计算机视觉,或简称为“视觉”,是一项事业,它与研究人类或动物的视觉是不同的。它借助于几何...

Android Intent Action详解_我的日子里的博客-程序员宝宝

1.Intent的用法:(1)Action跳转1、 使用Action跳转,当程序AndroidManifest.xml中某一个 Activity的IntentFilter定义了包含Action,如果恰好与目标Action匹配,且其IntentFilter中没有定义其它的Type或Category过滤条件,那么就正好匹配了。如果手机中有两个以上的Action程序匹配,那么就会弹出一个

C++之对象内存布局(继承、虚函数、虚继承等多种情况)_ForBestSelf的博客-程序员宝宝_虚函数指针继承内存存放

目录1. 对象内存布局基本情况2. 在不同情况下的对象内存布局——通过实验验证2.1 无继承2.1.1 无虚函数2.1.2 有虚函数2.2 深度为1的多继承2.2.1 无虚函数1. 对象内存布局基本情况(1)对象内存空间中存放的内容包括普通成员变量、虚表指针(如果类中包含虚函数)、虚基表指针(如果存在虚继承);(2)对象内存空间大小按结构体对齐原则来计算,若类是空类,则对象内存空间大小是1字节,以保证不同对象的内存地址不同;当空类作为基类时,对于派生类来说,其基类部分

公安人员审问四名窃贼嫌疑犯 C_DB~wht的博客-程序员宝宝

题干: 公安人员审问四名窃贼嫌疑犯。已知,这四人当中仅有一名是窃贼,还知道这四人中每人要么是诚实的,要么总是说谎的。在回答公安人员的问题中:甲说“乙没有偷,是丁偷的”, 乙说“我没有偷,是丙偷的”,丙说“甲没有偷,是乙偷的”,丁说“我没有偷”。请根据这四人的答话判断谁是盗窃者。我在网上看到这样的代码感觉很简洁,分享给大家#include <stdio.h>int main{ char cri; for (cri = 'a'; cri <= 'd'; cri++)//a为甲 d

Python的泡菜_cunjie3951的博客-程序员宝宝

Python中的泡菜在将Python对象表示为字节字符串的意义上非常好吃。 这些字节实际上可以完成很多事情。 例如,您可以将它们存储在文件或数据库中,或通过网络进行传输。 Python对象的腌制表示形式称为pickle文件 。 腌制的文件因此可以用于不同的目的,例如存储要由另一个Python程序使用的结果或编写备份。 要获得原始的Python对象,您只需解开该字节字符串即可。 为了在P...

Centos 系统时间错误及修改方法_Daisuki_的博客-程序员宝宝_centos 服务器时间莫名晚了十几分钟

Centos 系统时间错误及修改方法问题描述:远程ssh服务器的时候发现系统时间与本地时间不符,如下图所示:centos时间: 香港时间 2020年5月14日 21:37本地时间:北京时间 2020年5月14日 13:43香港时间和北京时间是一个时区,因此发现centos时间是错误的。修改方法:安装ntpdateyum install -y ntpdate截图如下:因为下载日志太长,所以截了两张图。出现Complete即为下载成功2. 同步时间ntpdate us.pool

随便推点

GKState_monsterk1的博客-程序员宝宝

GKState状态机中定义一个特定状态逻辑的一部分。概括GKState类是一个被定义了的state类,可以在GKStateMachine中使用。每一个分离的不同的状态GKState子类组成状态机,在每一个状态GKState子类中有isValidNextState: 方法,它可以有效地使状态与状态之间平滑过渡。GKState类提供了一个可以放置状态依赖类型的逻辑,比如进入或脱离某

mysql组复制清除_MySQL组复制-初见_Fay-颜的博客-程序员宝宝

自从MySQL组复制(Group Replication)跟随5.7.17发布以来,MySQL真正有了成熟的高可用分布式集群方案,摆脱了之前master-slave+第三方工具的伪集群。笔者将整理关于MySQL组复制的系列文章,这是第一篇,简要介绍组复制的来世今生以及相关特性,希望对大家有帮助简介在介绍组复制之前,让我们先回顾一下传统的master-slave复制形式,这将有利于我们理解组复制要解...

MFC的资源切换AFX_MANAGE_STATE(AfxGetStaticModuleState()) _pkeel的博客-程序员宝宝_afxfindresourcehandle 崩溃

以前写MFC的DLL的时候,总会在自动生成的代码框架里看到提示,需要在每一个输出的函数开始添加上AFX_MANAGE_STATE(AfxGetStaticModuleState())。一直不明白这样做的含义,也一直没有这样做,而且代码也工作得好好的,所以感觉这好像一句废话。最近的项目中,需要在DLL里使用MFC生成界面,这才发现一旦资源放在不同的动态库里,而且还和多线程搅和在一起的时候,事情就变得

PHPCMS_luyaran的博客-程序员宝宝_思拓合众二次开发

PHPCMS是一款网站管理软件。该软件采用模块化开发,支持多种分类方式,使用它可方便实现个性化网站的设计、开发与维护。它支持众多的程序组合,可轻松实现网站平台迁移,并可广泛满足各种规模的网站需求,可靠性高,是一款具备文章、下载、图片、分类信息、影视、商城、采集、财务等众多功能的强大、易用、可扩展的优秀网站管理软件。PHPCMS由国内80后知名创业者钟胜辉(网名:淡淡风)于2005年创办,是国内

男神鹏:python 机器学习三剑客 之 Matplotlib_weixin_30872337的博客-程序员宝宝

Matplotlib介绍:    Matplotlib 是一个Python的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。    通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。Matplotlib基础知识:        Matplotlib中的基本图表包括的元素     ...

推荐文章

热门文章

相关标签