发布单位:苏州华克斯信息科技有限公司 发布时间:2022-8-7
fortify sca 简介
fortify sca 是一个静态的、白盒的软件源代码安全测试工具。源代码安全风险评估对现有代码库进行分析,并对导致安全漏洞的代码构造进行定位。 它通过内置的五大主要分析引擎:数据流、语义、结构、控制流、配 置流等对应用软件的源代码进行静态的分析,分析的过程中与它特有 的软件安全漏洞规则集进行全mian地匹配、查找,从而将源代码中存在
的安全漏洞扫描出来,并给予整理报告。扫描的结果中不但包括详细 的安全漏洞的信息,还会有相关的安全知识的说明,以及修复意见的 提供。
1.fortify
sca 扫描引擎介绍:
foritfy sca
主要包含的五大分析引擎:
z 数据流引擎:---,记录并分析程序中的数据传递过程所产生
的安全问题。
z 语义引擎:分析程序中不安全的函数,方法的使用的安全问题。
z 结构引擎:分析程序上下文环境,结构中的安全问题。
z 控制流引擎:分析程序特定时间,状态下执行操作指令的安全 问题。
z 配置引擎:分析项目配置文件中的---息和配置缺失的安全
问题。
z 特有的 x-tier?跟zong器:跨跃项目的上下层次,贯穿程序来综合 分析问题
fortifysca庞大的安全编码规则包
跨层、跨语言地分析代码的漏洞的产生
c,
c++, .net, java, jsp,pl/sql, t-sql, xml,
cfml
javasc ript, php, asp, vb, vbsc ript
精que地定位漏洞的产生的全路径
支持不同的软件开发平台
platform:
windows, solaris, red hat linux,
mac os x, hp-ux, ibm
aix
ides :
visual studio, eclipse, rad, wsad
source code ---ysis engine(源代码分析引擎)
数据流分析引擎--------,记录并分析程序中的数据传递过程的安全问题
语义分析引擎-----分析程序中不安全的函数,方法的使用的安全问题
结构分析引擎-----分析程序上下文环境,结构中的安全问题
控制流分析引擎-----分析程序特定时间,状态下执行操作指令的安全问题
配置分析引擎 -----分析项目配置文件中的---息和配置缺失的安全问题
特有的x-tier?---qi-----跨跃项目的上下层次,贯穿程序来综合分析问题
fortify软件
强化静态代码分析器
使软件更快地生产
“将findbugs xml转换为hp fortify sca fpr | main | ca---身份管理员安全研究---?
强化针对jsse api的sca自定义规则---
我们的贡献:强制性的sca规则
为了检测上述不安全的用法,我们在hp fortify sca的12个自定义规则中对以下检查进行了编码。这些规则确定了依赖于jsse和apache httpclient的代码中的问题,因为它们是厚---和android应用程序的广泛使用的库。
超许可主机名验证器:当代码声明一个hostnameverifier时,该规则被触发,并且它总是返回true。
<谓词>;
<![cdata [
函数f:f.name是“verify”和f.enclosingclass.supers
包含[class:name ==“javax.net.ssl.hostnameverifier”]和
f.parameters [0] .type.name是“java.lang.string”和
f.parameters [1] .type.name是“javax.net.ssl.sslsession”和
f.returntype.name是“boolean”,f包含
[returnstatement r:r.expression.constantvalue m---hes“true”]
]]>;
谓词>;
过度允许的---管理器:当代码声明一个trustmanager并且它不会抛出一个certificateexception时触发该规则。抛出异常是api管理意外状况的方式。
函数f:f.name是“checkservertrusted”和
f.parameters [0] .type.name是“java.security.cert.x509certificate”
和f.parameters [1] .type.name是“java.lang.string”和
f.returntype.name是“void”而不是f包含[throwstatement t:
t.expression.type.definition.supers包含[class:name ==
“(javax.security.cert.certificateexception | java.security.cert.certificateexception)”]
缺少主机名验证:当代码使用低级sslsocket api并且未设置hostnameverifier时,将触发该规则。
经常被误用:自定义hostnameverifier:当代码使用---httpsurlconnection api并且它设置自定义主机名验证器时,该规则被触发。
经常被误用:自定义sslsocketfactory:当代码使用---httpsurlconnection api并且它设置自定义sslsocketfactory时,该规则被触发。
我们决定启动“经常被---”的规则,因为应用程序正在使用---api,并且应该手动---这些方法的重写。
规则包可在github上获得。这些检查应始终在源代码分析期间执行,以---代码不会引入不安全的ssl / tls使用。
http://github.com/gdssecurity/jsse_fortify_sca_rules
authorandrea scaduto |---关闭|分享文章分享文章
标签tagcustom规则,categoryapplication安全性中的tagsdl,categorycustom规则