当前位置: 首页 > news >正文

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

软考-软件设计师(程序设计语言习题)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…...

「C++系列」vector 容器

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站:人工智能教程 文章目录 一、vector 容器1. 基本特性2. 基本操作3. 注意事项 二、应用场景1. 应用场景2. 案例案例一&#xff1…...

梯度的概念

梯度 机器学习中,梯度下降法,牛顿法都会用到梯度概念 对于一元函数,梯度可以看成导数 对于多元函数,梯度可以看成偏导数 如果多元函数包含N个自变量: x 1 , x 2 , . . . , x n x_1, x_2, ..., x_n x1​,x2​,...,x…...

低代码开发:机遇与挑战并存的技术革新

近年来,随着数字化转型的加速,低代码开发平台如雨后春笋般涌现,承诺让非专业人士也能快速构建应用程序。这种新兴技术正在挑战传统软件开发模式,引发了IT行业的广泛讨论。低代码平台是提高效率的利器,还是降低了编程门…...

Linux之RabbitMQ集群部署

RabbitMQ 消息中间件 1、消息中间件 消息(message): 指在服务之间传送的数据。可以是简单的文本消息,也可以是包含复杂的嵌入对象的消息 消息队列(message queue): 指用来存放消息的队列,一般采用先进先出的队列方式,即最先进入的…...

【JAVA CORE_API】Day19 多线程API(2)、多线程并发安全问题、同步

多线程API 进程和线程 进程:进程就像是一个程序在电脑里运行时的一个实例。你可以把它想象成一个独立的小工人,专门负责完成某项任务(比如打开浏览器、播放音乐)。每个进程都有自己独立的资源(比如内存)和…...

最新Windows 11 23H2精简版,免费获取!稳定流畅!

今日,系统之家小编给大家带来了2024最新的Windows11 23H2精简版系统,该版本系统经过适度地优化与精简,保留大部分功能,完全能满足日常使用需求,兼容性非常出色,无需担心应用程序出现闪退问题。大家可以通过…...

PostgreSQL SELECT 语句:深入解析与实例应用

PostgreSQL SELECT 语句:深入解析与实例应用 PostgreSQL 是一款功能强大的开源关系数据库管理系统,它以稳定性、可靠性以及支持高级功能而著称。在 PostgreSQL 中,SELECT 语句是最基本也是最重要的查询语句之一,用于从数据库表中检索数据。本文将详细介绍 SELECT 语句的用…...

【自然语言处理】 构建文本对话系统

构建文本对话系统的框架如下: 根据聊天系统目的功用的不同,可分成三大类型: 闲聊式机器人:较有代表性的有微软小冰、微软小娜、苹果的 Siri、小 i 机器人等,主要以娱乐为目的。 **知识问答型机器人:**知识…...

java: 程序包org.slf4j不存在

当在Java项目中遇到“程序包org.slf4j不存在”的错误时,这通常意味着你的项目没有正确地包含SLF4J(Simple Logging Facade for Java)的库。SLF4J是一个Java的日志门面(Facade),它允许你在后端使用不同的日志…...

图片转PDF怎么转?教你3种快捷方便的jpg转pdf方法

图片文件以及PDF文档已经是我们工作当中不可或缺的一部分,我们在一些商务合作的场景下经常需要把拍摄下来的合同、企划书、画册等图片内容转换为PDF格式后再发送,这样能够极大程度的保证文件的安全性,那么图片应该如何转换成PDF文件呢?今天来…...