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作为主控…...

软考-软件设计师(程序设计语言习题)
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...

铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...

汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...

《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...