软件安全最佳实践:首先关注的地方

news2024/11/10 11:49:37

尽管组织拥有大量可用的工具,但应用程序安全性仍然不足。

最近的数据显示,在过去四到五年中,软件供应链攻击同比增长了 600-700%,超过一半的美国企业在过去 12 个月中遭受过某种形式的软件供应链攻击。  

为何应用程序安全工作未能达到预期? 

其根源在于: 

庞大的软件工厂

开发变得更加复杂,而构建开发人员环境(SCM、CI/CD 工件存储库、云基础设施等)比以往任何时候都更加容易和快速。

随着这种转变,安全部门正在失去对开发环境的可见性,从而导致大量攻击面得不到控制。    

孤立的风险识别和分类

多种应用程序安全工具用于评估应用程序中的风险,但每种工具都会查看应用程序的不同区域,并且发现的问题通常没有联系或关联,因此很难在噪音中找到信号。

同时,大多数组织现在都有云安全团队、应用程序安全团队、DevOps 团队等,通常对端到端软件工厂或其中生产的软件的风险没有任何整体了解。  

忽略攻击面

现有的应用程序或云安全工具专注于云基础设施和应用程序本身,但在很大程度上忽略了软件工厂。

这些工具没有考虑源代码控制管理系统、CI/CD 系统甚至工件注册表中的风险,恶意攻击者已经意识到了这一点。  

 弥合 AppSec 差距的重点工作在哪里  
 
你从哪里开始呢?

根据我们最常看到的差距和风险,建议优先考虑以下被忽视的领域:  

机密扫描

我们经常看到组织环境中的机密被泄露。机密已成为攻击者的首要切入点。对整个开发环境(而不仅仅是源代码)进行机密扫描是至关重要的第一步。机密可能隐藏在 wiki 文件、Jira 票证、日志文件和容器中,因此在搜索潜在漏洞时必须广撒网。 

定期轮换密钥并利用密钥管理系统可以显著降低凭证被盗用的风险。此外,实施蜜罐令牌可以充当预警系统,在发生更严重的攻击之前提醒安全团队注意潜在的漏洞。 

最小权限

开发人员在项目间拥有过多权限的情况并不少见,这会不必要地增加攻击面。为了方便起见,构建工具经常配置过多权限,但这些系统通常可以访问敏感 IP,例如代码、生产数据等。 

保持可见性和正确配置:安全团队需要实时了解开发人员创建的新建资产或管道。为管道和云基础设施创建“铺平道路”或预配置的安全模板可以显著降低配置错误的风险,并使开发人员更容易采用安全做法。 

基于风险的左移

在将漏洞发送给开发人员之前,使用业务背景和基于风险的方法对其进行分类。仅发送关键或高危漏洞可能会忽略高价值资产中非常容易被利用的中等漏洞,而将所有漏洞发送给开发人员只会淹没这些漏洞,并让他们陷入安全债务。

在评估要修复的内容和修复速度时,找到一个折衷方案,考虑诸如暴露、业务影响、可利用性和合规性等因素。 

培训

虽然安全编码实践很重要,但组织也应该注重教导开发人员识别网络钓鱼尝试,了解正确的配置管理,并注意依赖混淆和命名空间攻击等威胁。 

利用应用程序安全态势管理 (ASPM) 弥补差距  

手动实施这些最佳实践可能是一项艰巨的任务,尤其是对于已经超负荷工作的安全和开发团队而言。

这时,应用程序安全态势管理 (ASPM) 工具就可以提供巨大的价值。

ASPM 解决方案提供整个软件供应链的端到端可视性,关联来自多个来源的漏洞,并实现基于风险的安全问题优先级排序。 

通过采用这些最佳实践并利用适当的工具,组织可以采取有意义的步骤来保护整个软件开发生命周期 (SDLC) ,降低实际风险并构建更具弹性和可扩展的软件安全程序。  

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

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

相关文章

签署《AI安全国际对话威尼斯共识》 智源持续推动人工智能安全发展

近日,由AI安全国际论坛(Safe AI Forum)和博古睿研究院(Berggruen Institute) 共同举办的第三届国际AI安全对话(International Dialogues on AI Safety)在威尼斯举办。图灵奖得主Yoshua Bengio、姚期智教授&…

电气设备施工现场风险状态判断ai模型训练数据集

电气设备施工现场风险状态判断ai模型训练数据集 id:18 电气设备施工现场工人人工智能学习数据和工作环境安全数据,建立系统化管理体系,改变全球EHS范式,预防工业事故。数据集记录了387709例子电力设施建设以及施工现场相关的灾害安全环境数据…

VM16安装macOS11

注意: 本文内容于 2024-09-17 12:08:24 创建,可能不会在此平台上进行更新。如果您希望查看最新版本或更多相关内容,请访问原文地址:VM16安装macOS11。感谢您的关注与支持! 使用 Vmware Workstation Pro 16 安装 macOS…

数字世界的新秩序:探索Web3的前景

在过去的几十年中,互联网已经彻底改变了我们的生活方式,推动了信息共享、全球互联以及数字经济的快速发展。然而,当前的互联网架构主要是中心化的,由少数大型科技公司控制数据、服务和基础设施。这种模式虽然高效,但也…

Golang | Leetcode Golang题解之第419题棋盘上的战舰

题目: 题解: func countBattleships(board [][]byte) (ans int) {for i, row : range board {for j, ch : range row {if ch X && !(i > 0 && board[i-1][j] X || j > 0 && board[i][j-1] X) {ans}}}return }

微服务注册中⼼2

5.Nacos配置管理 Nacos除了可以做注册中⼼,同样可以做配置管理来使⽤ 5.1 统⼀配置管理 当微服务部署的实例越来越多,达到数⼗、数百时,逐个修改微服务配置就会让⼈抓狂,⽽且很容易出错。我们需要⼀种统⼀配置管理⽅案&#xf…

idea生成类信息及快捷开发配置

目录 一、预言 二、在Java类的开头自动注释作者名字和日期等信息 2.1.各种预设变量 2.2.idea配置 2.3.成品展示 三、快捷开发 3.1.三种循环热键 3.2.if判断 3.3.instanceof运算 3.4.非空判断 3.5.测试打印 3.6. synchronized 3.7.异常抛出 一、预言 在…

Java运算符有哪些?深入解析Java运算符:从基础到进阶的全方位指南(超全表格)

💻1.前言 在编程中,运算符是处理数据和变量的基本工具。它们不仅使得代码更加简洁,还能极大地提高编程效率。本文还提供了详细的 Java运算符参考表格,涵盖了算术运算符、关系运算符、逻辑运算符、赋值运算符、位运算符、…

Dependency Check:一款针对应用程序依赖组件的安全检测工具

关于Dependency Check Dependency-Check 是一款软件组合分析 (SCA) 工具,可尝试检测项目依赖项中包含的公开披露的漏洞。它通过确定给定依赖项是否存在通用平台枚举 (CPE) 标识符来实现此目的。如果找到,它…

Arthas thread(查看当前JVM的线程堆栈信息)

文章目录 二、命令列表2.1 jvm相关命令2.1.2 thread(查看当前JVM的线程堆栈信息)举例1:展示[数字]线程的运行堆栈,命令:thread 线程ID举例2:找出当前阻塞其他线程的线程 二、命令列表 2.1 jvm相关命令 2.…

展锐平台的手机camera 系统开发过程

展锐公司有自己的isp 图像处理引擎,从2012 年底就开始在智能手机上部署应用。最初的时候就几个人做一款isp的从hal 到kernel 驱动的完整软件系统,分工不是很明确,基本是谁擅长哪些就搞哪些,除了架构和编码实现之外,另外…

Flask项目入门和视图

1、第一个项目的结构 以示例代码中的入口文件app.py为例子 (1)引入Flask以及创建Flask对象 from flask import Flask app Flask(__name__)(2) 路由route 视图函数 app.route(/index/) def hello_world():# 响应:…

超详细PS2019安装教程与安装步骤图文解析!保姆级教程!(附赠PS下载地址)

步骤1:下载Adobe Photoshop PS CC 2023下载链接:https://pan.quark.cn/s/f997e116f327 下载完成后,解压文件到当前文件夹(随便用什么解压软件都行,现在解压软件都是免费的,没有的到360官网下载360压缩&am…

开源RK3588 AI Module7,并与Jetson Nano生态兼容的低功耗AI模块

RK3588 AI Module7 搭载瑞芯微 RK3588,提供强大的 64 位八核处理器,最高时钟速度为 2.4 GHz,6 TOPS NPU,并支持高达 32 GB 的内存。它与 Nvidia 的 Jetson Nano 接口兼容,具有升级和改进的 PCIe 连接。由于该模块的多功…

Photoshop 2020安装教程

软件介绍 Adobe Photoshop,简称“PS”,是美国Adobe公司旗下最为出名的图像处理软件系列之一。ps 2021新增一键换天空,AI只能滤镜,新增内置的画笔工具极为丰富,成千上万的精致像素、动态和矢量画笔可以满足你的各种绘图…

【Qt | QAction】Qt 的 QAction 类介绍

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

基于深度学习的手势识别算法(论文复现)

基于深度学习的手势识别算法(论文复现) 本文所涉及所有资源均在传知代码平台可获取 文章目录 基于深度学习的手势识别算法(论文复现)概述算法原理核心逻辑效果演示使用方式 概述 本文基于论文 Simple Baselines for Human Pose Es…

在WPF中自定义控件时如何选择基类

在WPF中需要自定义控件,首要要选择需要继承的基类 FrameworkElement 这是常用的最低级的基类。通常,只有当希望重写OnRender()方法并使用DrawingContext从头绘制内容时,才会继承该类。 Control 当从头开始创建控件时,这是最常用…

茴香豆:企业级知识问答工具实践闯关任务

基础任务 在 InternStudio 中利用 Internlm2-7b 搭建标准版茴香豆知识助手,并使用 Gradio 界面完成 2 轮问答(问题不可与教程重复,作业截图需包括 gradio 界面问题和茴香豆回答)。知识库可根据根据自己工作、学习或感兴趣的内容调…

pytorch学习笔记一:作用、安装和基本使用方法、自动求导机制、自制线性回归模型、常见tensor格式、hub模块介绍

文章目录 一、安装二、基本使用方法①创建一个矩阵②获得随机值③初始化全零矩阵④直接传入数据⑤构建矩阵,然后随机元素值⑥展示矩阵大小⑦矩阵计算8、取索引9、view操作:改变矩阵维度10、与numpy的协同操作 三、自动求导机制1)定义tensor成…