不仅仅是文化:解决常见安全问题根源

今年,GitLab对DevSecOps专业人士的年度调查发现了一些与组织文化相关的问题,这些问题可能会阻碍工程团队和安全团队之间的更深层次协调。

大多数(58%)的安全受访者表示,他们很难让开发部门优先修复漏洞,52%的人表示,繁文缛节往往会减慢他们快速修复漏洞的努力。

此外,安全受访者指出了与他们的工作相关的几个具体挫折,包括难以理解安全发现、过多的误报以及在软件开发过程的后期进行测试。

DevSecOps承诺将工程和安全更好地结合起来,但显然挫折和错位仍然存在。这是因为这些挑战是组织如何看待安全、团队如何合作以及如何分配安全时间的更大问题的症状。

漏洞扫描会暴露所有潜在漏洞。但是,软件包存在常见漏洞或暴露(CVE)并不意味着该漏洞可触及或可利用。

自经过身份验证的漏洞扫描成为常态以来,安全团队和开发人员仍在对漏洞发现进行分类和筛选,这些漏洞发现多年来呈指数级增长。

转向认证扫描在许多方面提高了安全程序的有效性,但也让开发人员陷入了无休止的修复无关紧要的问题的循环中。

当团队将精力浪费在无法解决可利用漏洞的补丁上时,他们就无法完成更重要的任务,例如修补易受攻击和可利用的漏洞。这就是当今安全团队和工程团队之间分歧的根源。

那么,组织如何解决这些问题的根本原因,并促进工程与安全之间的更好融合?

以下是从源头上预防常见安全问题的三种方法。

1. 消除噪音,专注于可操作的高保真信号

在调查中,安全受访者认为误报过多是第二大令人沮丧的问题。误报显然是一个挑战,但它们往往是伪装的漏洞管理问题。

如果组织发现许多误报,这可能表明他们没有尽一切努力确保其安全发现具有高保真度。

组织应该将安全工作的重点缩小到重要的事情上。这意味着传统的静态应用程序安全测试(SAST)解决方案可能不够用。

SAST是一种强大的工具,但如果结果难以管理或缺乏适当的背景,则会失去其大部分价值。

为了使SAST发挥最大作用,它必须与其他安全和开发工具无缝结合使用,并可供开发人员使用。

另一个问题是,大多数扫描工具对于理解漏洞发现的上下文窗口非常狭窄。

这是人工智能可以通过人工智能驱动的功能来解释安全漏洞的领域之一。

2. 最小化技术堆栈,最小化攻击面

专注于重要的事情不仅适用于安全测试——它应该首先从组织如何构建软件开始。

尽管人工智能有望帮助简化软件开发流程,但调查显示,许多组织还有很长的路要走。

事实上,使用人工智能的受访者比不使用人工智能的受访者更有可能整合他们的工具链。

这表明运行不同人工智能模型的不同点解决方案的激增可能会增加复杂性,而不是减少复杂性。

组织技术堆栈的复杂性不断增加是导致安全问题的主要原因。

在构建大型、多方面的软件系统时,某些复杂性是不可避免的。

但是,组织应采取措施避免由次优设计决策导致的复杂性,例如难以维护的代码和冗余依赖关系。

这种不必要的复杂性会造成更大的攻击面,并产生更多的安全扫描结果,需要团队进行分类、优先处理和解决。

组织应从软件最小化的角度来处理开发问题,即刻意选择所采用的工具以及决定在代码库中构建哪些内容。

这将有助于最大限度地减少依赖性、提高软件供应链的安全性、减少扫描仪噪音,并减轻开发人员修复非关键问题的负担。

3. 规范铺设道路

软件开发生命周期中安全测试进行得太晚是我们的调查受访者指出的另一个最令人沮丧的问题。

当团队想要发布某样东西却因为漏洞检测得太晚而被推迟时,他们可能会感到沮丧。

但在许多情况下,可能无法更早地检测到该漏洞。然而,可以实现易于部署、可重复使用的安全组件,限制变量和潜在漏洞。

通过采用基于可重复用例的经过测试和保证的设计模式,团队可以避免后期意外:“铺平道路”方法。

铺平道路是一条推荐的路径,包括一组精心挑选的工具、流程和组件,团队可以遵循这些路径更有效地构建安全的应用程序。

例如,使用GitOps对经过良好架构和测试的基础设施即代码进行版本控制和部署,该代码可针对所有工作负载进行大规模部署。

采用铺设道路可能会减少一些灵活性,但最终会减少工程团队的运营负担和返工,并提高安全性。这需要安全部门和开发部门的共同努力。

安全部门可以帮助设计铺设道路,但工程部门必须参与其中,才能将其作为代码库的一部分进行运营和维护。

安全是一个领域,而不是一个团队

我们已经看到安全实践正在向工程团队转变,我们可以预期两者之间的界限将继续模糊。

然而,随着人工智能的快速普及和软件开发的相应加速;66%的受访者表示,他们发布软件的速度是去年的两倍甚至更快。

对于组织来说,建立优化的系统和框架以实现最大的安全效益至关重要。

这就是为什么开发和安全之间存在文化脱节的想法并不是全部。

培养协作文化至关重要,但安全和工程团队也必须共同努力,重新思考软件开发的基础方面。

例如优化现有代码库和构建可扩展的以工程为中心的解决方案,以便整个组织的技术团队无缝采用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/878167.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

fastjson序列化时过滤字段的方法

在使用fastjson进行序列化时,可能需要根据实际需求过滤掉某些字段,以避免将敏感信息或不必要的字段发送到客户端。fastjson提供了多种灵活的方式来实现这一需求。以下整理了fastjson序列化时过滤字段的几种常用方法。 方法一:使用fastjson的…

【CVPR‘23】CompletionFormer:用于深度补全的 Transformer 网络!已开源

【CVPR23】CompletionFormer:用于深度补全的 Transformer 网络! 摘要方法3.1 RGB 和深度嵌入3.2 联合卷积注意力和 Transformer 编码器3.3 解码器3.4 SPN 精化和损失函数主要贡献实验结果论文地址:https://openaccess.thecvf.com/content/CVPR2023/papers/Zhang_CompletionF…

【专项刷题】— 链表

1、2两数相加 - 力扣(LeetCode) 思路: 只要有任意一个链表还没有为空的时候就继续加,当链表为空的时候但是t不尾0,还是进入循环进行操作 代码: public ListNode addTwoNumbers(ListNode l1, ListNode l2) {…

Git学习(001 git介绍以及安装)

尚硅谷2024最新Git企业实战教程,全方位学习git与gitlab 总时长 5:42:00 共40P 此文章包含第1p-第p4的内容 文章目录 介绍Git介绍GitLab介绍 概述Git安装版本控制工具介绍 介绍 Git介绍 GitLab介绍 相当于中央仓库 概述 Git安装 进入官网(下载当前版本 2.43.0) …

AD原理图Update成PCB时提示Comparator Results的原因

在使用AD20把原理图转换成PCB时,AD提示 【原理图导入PCB时提示ECO的原因】 解释是: 原理图中存在元件未添加PCB封装。 验证 1、从右下角的panels打开messages 2、Validate PCB Project 3、warning中的确提示有元器件缺少封装 在更改添加了原理图中的元…

FL Studio 24.1.1.4285官方中文版全新发布,最新功能解析

【功能强大:一站式音乐制作平台】 说到功能,这款软件简直就是全能战士。从录音、编曲到混音、母带处理,FL Studio几乎能涵盖音乐制作的方方面面。而且它还支持多种插件格式,让你的音乐作品更加丰富多彩。 【兼容性强:…

改造小蚁摄像头支持免费无限容量云储存(Samba挂载篇)

为什么要改造? 插卡摄像头最大的一个问题就是频繁的读写会导致内存卡寿命急速下降,哪怕是市面上支持NAS转存的摄像头也是先录制到SD卡里,然后把SD卡上的视频再转存到NAS。同样对内存卡和NAS硬盘寿命都是损耗巨大。而这类监控视频绝大多数情况…

数据结构——树的三种表示方法

目录 引言 树 1.树的定义 2.树的基本概念 3.树的表示方式 (1)双亲表示法 (2)孩子表示法 (3)左孩子右兄弟表示法 (4)树的应用 结束语 引言 在学习完栈和队列的之后后,我们接下来学习新的数据结构——树。 树 1.树的定义 树是一种非线性数据结构&#x…

智慧公路大数据运营中心整体解决方案

方案简介: 智慧公路大数据运营中心解决方案的实施,不仅提高了公路交通的运行效率和管理水平,还推动了智慧交通建设的深入发展。通过消除信息孤岛、促进数据共享和开放,实现了交通信息资源的有效整合和利用。未来,随着…

ctfhub-web-SSRF通关攻略

一、内网访问 1.打开ctfhub给的环境地址 2.观察题目 发现让我们访问127.0.0.1下的flag.php 在地址栏后面有一个url参数 ?urlhttp://127.0.0.1/flag.php 提交即可 二、伪协议读取文件 1.打开ctfhub给的环境 2.观察题目 发现让我们读取flag.php文件 读取文件用到的协议是…

QT Mainwindow下指定控件的setMouseTracking(true)和mousemoveevent函数失效-问题解决

目录: 一,问题描述二,解决方法2.1解决依据2.2方法实操 三,参考资料 一,问题描述 ☀️之前碰到过的一个问题,现在分享出来:想在qt哪里搞个鼠标移动在控件显示的图片上,然后实时显示对…

设备状态图表-甘特图

1.背景&#xff1a;设备状态监控图表&#xff0c;监控不同状态的时间段&#xff0c;可以使用甘特图来展示效果 鼠标经过时的数据提示框 2、代码实现 <template><divref"ganttChartRefs":style"{ height: 6.2rem, width: 100% }"class"bg…

java Boss直聘爬虫数据分析

摘要 本报告利用Java和Selenium爬虫技术获取数据&#xff0c;并使用ECharts库对薪资数据进行可视化分析&#xff0c;旨在探究不同经验和学历的薪资分布情况。 数据来源 数据来源于Boss直聘&#xff0c;使用Java结合Selenium库进行数据抓取。 数据总数&#xff1a;约2000家企…

如何设置Winfrom中dataGridView中的内容换行并行高自适应

如何设置Winfrom中dataGridView行高 在 Windows Forms (WinForms) 应用程序中&#xff0c;DataGridView 控件用于显示和编辑数据的表格形式。如果你想要设置 DataGridView 控件中行的高度&#xff0c;可以通过以下几种方式来实现&#xff1a; 1. 通过属性设置行高 你可以直接…

Vue:组件化开发

我们为什么要组件化开发&#xff1f; 在之前的vue中&#xff0c;我们要么是通过本地引入vue.js进行开发&#xff0c;要么就是通过CLI&#xff08;脚手架&#xff09;来创建环境然后单独在App.vue中进行开发&#xff0c;这样的开发模式当然没有问题&#xff0c;但是当项目庞大起…

3 Python开发工具:VSCode+插件

本文是 Python 系列教程第 3 篇&#xff0c;完整系列请查看 Python 专栏。 Visual Studio Code的安装非常简单&#xff0c;就不放这里增加文章篇幅了。 相比PyCharm&#xff0c;VSCode更加轻量&#xff0c;启动速度快。并且搭配Python插件就能实现和Pycharm一样的代码提示、高…

摄影曝光:曝光模式认知

写在前面 学习整理《摄影曝光&#xff1a;拍出好照片的49个关键技法》读书笔记博文内容涉及曝光模式简单认知适合小白认知理解不足小伙伴帮忙指正 &#x1f603;,生活加油 99%的焦虑都来自于虚度时间和没有好好做事&#xff0c;所以唯一的解决办法就是行动起来&#xff0c;认真…

PyTorch深度学习模型训练流程:(二、回归)

回归的流程与分类基本一致&#xff0c;只需要把评估指标改动一下就行。回归输出的是损失曲线、R^2曲线、训练集预测值与真实值折线图、测试集预测值散点图与真实值折线图。输出效果如下&#xff1a; 注意&#xff1a;预测值与真实值图像处理为按真实值排序&#xff0c;图中呈现…

【JS】使用MessageChannel实现深度克隆

前言 通常使用简便快捷的JSON 序列化与反序列化实现深克隆&#xff0c;也可以递归实现或者直接使用lodash。 但 JSON 序列化与反序列化 无法处理如下的循环引用&#xff1a; 实现 MessageChannel 内部使用了浏览器内置的结构化克隆算法&#xff0c;该算法可以在不同的浏览器上…

Qt WebAssembly 警告:构建套件中未设置编译器

目录 Qt WebAssembly 警告:构建套件中未设置编译器问题解决方法 参考资料 Qt WebAssembly 警告:构建套件中未设置编译器 问题 安装好QT之后构建套件中出现黄色感叹号Qt WebAssembly 警告:构建套件中未设置编译器。 原因是现在你只安装了qt for webassembly的qt的库&#xff…