Fortify代码安全测试工具在静态应用安全测试(SAST)方面针对典型问题的改进
Fortify代码安全测试工具作为行业内资深的老牌软件安全测试工具,可以同时支持静态代码扫描和动态代码扫描,本文我们讲述的主要是在静态代码扫描领域Fortify所面临的问题,以及最新的改进。

在应用安全领域,特别是静态应用安全测试(SAST)的视角下,在开发之初通过Fortify静态代码安全扫描发现的一系列难以处理的问题对开发人员来说是一个不小的困扰,往往会导致开发过程中复杂性和摩擦的增加。在这种情况下,开发人员往往会更倾向于选择轻量级的静态代码扫描工具,但轻量级的静态代码扫描工具发现的问题往往不够全面和深入。
于此同时,代码安全测试工具如何权衡误报和漏报也是一个非常典型的问题,误报会带来额外的工作量,但是漏报的安全风险也不容忽视,这是所有代码安全测试工具都面临的一个通用难题。
本文我们一起来看一下,针对这些问题Fortify有哪些改进,来帮助我们消除这些顾虑,同时提供解决方案,减轻扫描结果对开发人员工作流程的影响。
1、毋庸置疑的专业性
Fortify 静态代码扫描 凭借其卓越的研究基础,从一众 SAST 扫描仪中脱颖而出。Fortify的专业研究团队 Fortify Research 每一季度都会进行 Rulepack 更新,使 Fortify SAST 能够支持广泛的编程语言和框架。Fortify SAST 能够识别 815 个独特的漏洞类别,涵盖 100 多万个 API。这种全面分析水平大大超越了基本 SAST 工具的能力,为潜在漏洞提供了更全面的评估。
Fortify的方案不仅为用户提供工具,同时也努力确保客户不会陷入虚假的安全感中。在 OWASP 1.2b 基准测试中,Fortify SAST 的识别正确率达到100%,这有力证明了 Fortify SAST 的准确性、能够真正准确识别安全威胁。
2、全新算法,解决误报和漏报之间权衡难题
与 Fortify SAST 相关的一个批评意见是,扫描结果可能会产生过多的“噪音”。这种噪音可能来自大量的误报或漏报,可能增加开发流程的摩擦。
要解决误报问题,必须认识到所有 SAST 工具都会在误报和漏报之间权衡利弊。虽然最大限度地减少误报至关重要,但防止漏报也需要重视。轻量级的 SAST 工具可能无法深入挖掘复杂的漏洞,而 Fortify SAST 则能提供全面的分析。它提供先进的过滤选项,如针对内部部署的可见性和问题过滤器,以有效管理漏报。
代码审计人员在从扫描结果中过滤出重要发现、消除“噪音”方面发挥着关键作用。然而,传统的审计方法可能成为应用程序安全的瓶颈,往往无法满足开发人员的快速需求。
为此,Fortify 与安全分析团队的数据科学家合作开发了尖端的机器学习算法。Audit Assistant 2.0中的这些算法,是通过 Fortify on Demand(FoD)历史上数以亿计的匿名 SAST 扫描的代码审计结果训练出来的。这些创新大大缩短了分流所需的时间,为迅速解决问题提供了可行的见解。

3、创新的漏洞管理技术,同时确保高效和安全
Fortify SAST 用于管理大量漏洞扫描结果的创新技术,对于保持高效的工作流程和确保应用程序安全不会阻碍开发过程至关重要。下面是具体的解决方案:
1)使用快速访问调整扫描深度
快速访问功能使开发人员能够根据应用程序的具体要求调整静态测试的深度。通过为开发人员提供调节扫描深度的能力,快速访问功能可实现更动态的方法维护应用程序安全。
例如,在早期开发阶段或对于不那么关键的应用程序,开发人员可以选择不太深入的扫描,这样可以将扫描过程加快50%。这种灵活性可确保将更深入、更全面的扫描保留给关键的开发阶段,如候选版本或高风险应用程序,从而提高扫描彻底性与开发敏捷性之间的平衡。这种方法不仅能提高效率,还能显著减少漏洞发现的数量,让团队集中精力处理最相关的问题。
2)利用智能视图简化分流
代码审核工作台中提供的智能视图可对应用程序代码中的数据流问题进行复详细的可视化表示。
这一功能大大简化了识别和了解漏洞占用路径的过程。智能视图清晰、直观地显示数据如何在系统中移动以及潜在的安全漏洞可能发生在哪里,从而使开发人员和安全分析人员能够迅速定位重大漏洞,并制定最佳修复或分流方法。这一功能在处理大量真正漏洞时尤为重要,因为它有助于根据潜在影响对问题进行优先排序,确保最重大的漏洞得到及时处理。智能视图提供的可视化情境有助于做出更明智的决策,简化分流流程,减少保护应用程序安全所需的时间。
3)Mobb 集成实现自动修复
Fortify 与 Mobb 的合作为解决常见漏洞引入了一种创新的自动化方法。Mobb 的技术与 Fortify SAST 无缝集成,利用自动化简化修复过程,允许开发人员通过战略性代码变更同时解决多个问题。
此次合作的突出特点之一是 Mobb 的 PowerUp 功能,该功能可指导开发人员对已识别的漏洞进行高效修复。这不仅加快了修复过程,还提高了修复的质量,确保漏洞不仅得到修补,而且还能使应用程序在未来避免出现类似问题。Mobb 的集成标志着 Fortify SAST 在漏洞管理中更加积极主动、进一步减少了开发工作流程的干扰方面,使开发人员能够在不影响工作效率的情况下保持高安全标准。
以上就是Fortify代码安全测试工具在静态应用安全测试领域,针对提升开发流程效率和提高应用安全性所做出的最新努力。领先的安全扫描能力、创新的算法、全新的漏洞管理、快速访问、智能图表以及与 Mobb 的集成。这些创新使开发人员和安全团队能够在坚持最高安全标准的同时保持高效的工作流程。如需Fortify试用可私信我。
(谢绝转载,更多内容可查看我的主页)
相关文章:
Fortify代码安全测试工具在静态应用安全测试(SAST)方面针对典型问题的改进
Fortify代码安全测试工具作为行业内资深的老牌软件安全测试工具,可以同时支持静态代码扫描和动态代码扫描,本文我们讲述的主要是在静态代码扫描领域Fortify所面临的问题,以及最新的改进。 在应用安全领域,特别是静态应用安全测试&…...
AWS 消息队列服务 SQS
AWS 消息队列服务 SQS 引言什么是 SQSSQS 访问策略 Access Policy示例:如何为 DataLake Subscription 配置 SQS 引言 应用系统需要处理海量数据,数据发送方和数据消费方是通过什么方式来无缝集成消费数据的,AWS 提供 SQS 消息队列服务来解决…...
【iOS】——响应者链和事件传递链
事件传递 事件传递流程 发生触摸事件后,系统会将该事件封装成UIEvent对象加入到一个由UIApplication管理的事件队列 UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理,通常,先发送事件给应用程序的主窗口…...
mysql查询慢
可能是连接数,或者缓存不够,可尝试添加如下参数,重启mysql [mysqld] max_connections50000 interactive_timeout604800 lock_wait_timeout600 wait_timeout604800 net_read_timeout604800 log-error/var/lib/mysql/mysqld.log slow_qu…...
【Java-==与equals】
与equals区别: 1.是关系运算符,equals()是0bject类中定义的方法 2.基本数据类型: 使用比较值,无法使用equals() 3.引用数据类型: 使用比较内存地址; 如果没有重写equals(),仍然调用的是0bject父类的equals(()方法,则比较的是内…...
ai回答 部署前端项目时需要使用ssh吗
SSH(Secure Shell)是一种网络协议,用于在不安全的网络上安全地访问远程计算机。SSH 提供了加密的命令行登录到远程计算机的功能,以及远程命令执行和其他服务。它常用于系统管理员管理服务器、开发者进行远程开发、用户通过终端访问…...
结合ChatGPT与Discord,提高团队合作效率
本文将教你如何集成Discord Bot,助力团队在工作中实现更高效的沟通与协作。通过充分发挥ChatGPT的潜力,进一步提升工作效率和团队协作能力。无需编写任何代码即可完成本文所述的操作,进行个性化定制只需对参数进行微调即可。 方案介绍 如果在…...
VisualStudio|开发环境相关技巧及问题
哈喽,你好啊,我是雷工! 本节继续学习VisualStudio相关内容,以前学习都是以能用为主,没有系统的学习,接下来会系统的学习相关内容, 以下为学习笔记。 01 第三方dll调用 ①:如果第三…...
Redis远程字典服务器(11)—— redis客户端介绍
一,基本介绍 前面学习的主要是各种Redis的基本操作/命令,都是再Redis命令行客户端,手动执行的,但是这种方式不是我们日常开发中主要的形式更多的时候,是使用Redis的api,来实现定制化的Redis客户端程序&…...
【mysql】mysql之DDL数据定义语言
本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》:python零基础入门学习 《python运维脚本》: python运维脚本实践 《shell》:shell学习 《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战 《k8…...
Word文件密码忘记,该如何才能编辑Word文件呢?
Word文件打开之后,发现编辑功能都是灰色的,无法使用,无法编辑,遇到这种情况,是因为Word文件设置了限制编辑导致的。一般情况下,我们只需要输入Word密码,将限制编辑取消就可以正常编辑文件了&…...
解锁移动办公新境界,七款顶尖移动终端管控软件分享!助您轻松掌控每一台移动设备,企业必备!
移动办公,它不仅打破了时间和空间的限制,提高了工作效率,还为员工创造了更加灵活的工作环境。然而,随着移动设备的普及,如何有效管理和控制这些终端,确保信息安全、提升工作效率呢? 今天&#…...
基于微信小程序的大用户心理咨询系统设计与实现---附源码99040
目录 1 绪论 1.1 研究背景 1.2研究现状 1.3论文结构与章节安排 2 基于微信小程序的大用户心理咨询系统设计与实现分析 2.1 可行性分析 2.2 系统功能分析 2.3 系统用例分析 2.4 系统流程分析 2.5本章小结 3 基于微信小程序的大用户心理咨询系统设计与实现总体设计 3.…...
Bigtop 从0开始(上)
本文作者:蔡佳良 原文阅读:【巨人肩膀社区博客分享】Bigtop 从0开始 BigTop的应用场景: 1. BigTop通过提供预配置的Docker镜像,极大简化了在不同操作系统上编译大数据组件的rpm或deb包的过程,使之变得快捷且高效。 …...
算法基础及例题
1、双指针 维护区间信息、子序列匹配、利用序列有序性、单项链表找环双指针 - OI Wiki (oi-wiki.org) 盛最多水的容器https://leetcode.cn/problems/container-with-most-water/ public class Solution {public int maxArea(int[] height) {int l 0, r height.length - 1;int…...
机器学习-KNN 算法
一.K-近邻(KNN) K-近邻(K-Nearest Neighbors, 简称 KNN)是一种基于实例的学习算法,主要用于分类和回归问题。KNN 的工作原理直观且简单,它基于相似性进行预测,也就是说给定一个新的数据点,KNN 算法会查找距…...
【Linux】如何快速查看 linux 服务器有几个cpu
如何快速查看 linux 服务器有几个cpu author: jayzhen date: 2024.08.22 文章目录 如何快速查看 linux 服务器有几个cpu1. 使用lscpu命令2. 使用nproc命令3. 使用/proc/cpuinfo文件4. 使用top或htop命令结论 在Linux服务器上,你可以通过多种方式快速查看系统中有几个…...
[数据集][目标检测]电力场景轭式悬架锈蚀分类数据集6351张2类别
数据集格式:仅仅包含jpg图片,每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数):6351 分类类别数:2 类别名称[corrosion,good] 每个类别图片数: corrosion 图片数:310 good 图片数:6041 …...
【嵌入式linux开发】智能家居入门5:老版ONENET,多协议接入(QT、微信小程序、HTTP协议、ONENET云平台、旭日x3派)
智能家居入门5(QT、微信小程序、HTTP协议、ONENET云平台、旭日x3派) 前言一、QT界面设计二、云平台产品创建与连接三、下位机端QT代码总览:四、微信小程序端代码总览五、板端测试 前言 前四篇智能家居相关文章都是使用STM32作为主控…...
软考-软件设计师(程序设计语言习题)
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...
【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制
目录 节点的功能承载层(GATT/Adv)局限性: 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能,如 Configuration …...
Python实现简单音频数据压缩与解压算法
Python实现简单音频数据压缩与解压算法 引言 在音频数据处理中,压缩算法是降低存储成本和传输效率的关键技术。Python作为一门灵活且功能强大的编程语言,提供了丰富的库和工具来实现音频数据的压缩与解压。本文将通过一个简单的音频数据压缩与解压算法…...
论文阅读:Matting by Generation
今天介绍一篇关于 matting 抠图的文章,抠图也算是计算机视觉里面非常经典的一个任务了。从早期的经典算法到如今的深度学习算法,已经有很多的工作和这个任务相关。这两年 diffusion 模型很火,大家又开始用 diffusion 模型做各种 CV 任务了&am…...
AD学习(3)
1 PCB封装元素组成及简单的PCB封装创建 封装的组成部分: (1)PCB焊盘:表层的铜 ,top层的铜 (2)管脚序号:用来关联原理图中的管脚的序号,原理图的序号需要和PCB封装一一…...
