行业洞察 | 2024应用程序安全领域现状报告

在信息爆炸的时代,我们每天都在使用各种应用,从社交娱乐到工作学习,应用已经成为我们生活中不可或缺的一部分。然而,你是否知道,在这些便捷的背后,隐藏着巨大的安全风险?


近年来,应用安全风险剧增。从24年2月的ESXi勒索软件攻击事件到同年2月的GoAnywhere攻击再到3月的3CX软件供应链攻击,这些影响极大的应用安全攻击事件让我们不得不重新审视应用安全的重要性。

 什么是应用程序安全?

应用程序安全是指旨在保护应用程序免受可能危及其安全性的威胁的措施、方法和实践。这些威胁可能是恶意软件、注入攻击、软件漏洞或拒绝服务(DoS)等任何威胁。

应用程序安全的目标是识别、纠正和预防安全漏洞。这包括应用程序生命周期的所有阶段,从初始设计、开发、部署、维护到最终退役。

整体应用程序安全不仅涉及保护应用程序本身,还涉及确保应用程序运行的安全环境。它涉及保护应用程序与之交互的网络和数据库,确保传输中和静态数据的安全,以及维护应用程序代码的完整性。

 应用程序安全的重要性与日俱增

随着越来越多的企业将业务转移到网上,企业对安全应用程序的需求变得至关重要:

▪ 保护敏感数据:随着数据泄露事件的日益普遍,确保应用程序的安全比以往任何时候都更加重要。违规行为可能导致重大经济损失、声誉受损和客户信任丧失。

▪ 法规遵从性:许多行业都受到严格的数据保护法规的约束,未能保护组织的应用程序可能会导致巨额罚款和法律诉讼。

▪ 确保功能和正常运行时间:网络攻击可能会破坏组织的应用程序,导致停机和生产力损失。通过保护应用程序,可以确保它们继续顺利运行。

2024年应用程序安全攻击事件

ESXi勒索软件攻击

时间:2024年2月

攻击者:“ESXiArgs”组织

目标:运行VMware ESXi虚拟机监控程序的客户

影响:全球超过3800台服务器被感染,主要针对美国、加拿大、法国和德国等国家的组织

攻击方式:利用了一个两年前的漏洞(CVE-2021-21974),实现代码的远程执行,主要影响了旧版本的VMware ESXi中的OpenSLP服务

GoAnywhere攻击

时间:2024年2月

攻击者:未知

目标:Fortra的GoAnywhere文件传输平台

影响:导致300万会员的部分隐私信息被泄露,窃取了包括宝洁公司、多伦多市政府、皇冠度假村和数据安全公司Rubrik等大型组织的数据

攻击方式:利用GoAnywhere平台的一个零日漏洞,在易受攻击的系统上远程执行代码

3CX软件供应链攻击

时间:2024年3月

攻击者:未知

目标:3CX的VoIP电话系统应用程序

影响:超过600,000家组织的客户群受到影响,主要客户包括美国运通、麦当劳、可口可乐、NHS、丰田、宝马和本田等

攻击方式:利用3CX电话系统应用程序的漏洞进行攻击

Phorpiex僵尸网络与LockBit3勒索软件团伙的攻击

时间:2024年5月及之后

攻击者:Phorpiex僵尸网络和LockBit3勒索软件团伙

影响:Phorpiex僵尸网络被用于策划恶意垃圾邮件攻击,LockBit3勒索软件团伙在沉寂后卷土重来,其攻击数量占已发布勒索软件攻击的三分之一

攻击方式利用Phorpiex僵尸网络发送数百万封带有LockBit Black勒索病毒的网络钓鱼电子邮件

 影响应用安全领域发展趋势的核心要素

核心影响要素一:推动安全策略的法规变化

随着网络威胁的持续发酵以及对隐私和数据保护的日益关注,这些管理数据和隐私保护的法规也在不断发展。并且它们在制定应用程序安全策略和实践方面发挥着重要作用。

其中一个潜在的变化可能是更加强调用户同意和对个人数据的控制。这一变化将要求应用程序为用户提供更高的透明度,并控制其数据的使用和共享方式。另一个潜在的监管变化可能涉及对数据泄露的更严厉的处罚。

这一变化将使企业比以往任何时候都更需要优先考虑应用程序安全。不合规不仅会导致巨额罚款,还会损害公司的声誉。

在此大趋势下,2024年国内新发布了有关数据管理和隐私保护的法律法规,如下表所示:

表1.2024年新发布有关数据管理和隐私保护的法律法规

图片

核心影响要素二:软件供应链攻击的持续增长

供应链攻击是应用程序安全领域日益关注的问题。在Sonatype的一份报告中显示,过去三年全球软件供应链攻击的平均年增长率高达742%。

2024年供应链攻击增加的原因之一是企业对第三方供应商的依赖增加。随着企业继续将任务外包给外部各方,供应链攻击的风险也在增加,因此企业需要彻底审查其供应商资质并实施强有力的安全措施。

另一个攻击增加的原因是攻击方法的不断变化。在2024年,软件供应链攻击方式继续呈现多样化和复杂化的趋势。以下是一些近年主流的软件供应链攻击方式:

▪ 入侵上游服务器并注入恶意代码:攻击者通过入侵上游服务器或代码仓库,在其中注入恶意代码。这种攻击方式能够迅速将恶意代码分发到大量用户,从而放大攻击的影响范围。

▪ 入侵中间环节发送恶意更新:攻击者入侵软件供应链中间环节的软件升级功能或CI/CD工具,通过修改升级流程来实施攻击,而不直接修改源代码库。

▪ 依赖性混淆攻击:攻击者利用开源生态系统中的设计弱点,在公共仓库中注册与私有依赖项同名的依赖项,并通过提高版本号来使其被软件构建拉取。

▪ 开源组件恶意投毒:攻击者在开源组件中植入恶意代码,并通过组件管理器分发到大量项目中。这种攻击方式利用了开发人员对开源组件的信任。

▪ 利用软件构建工具或更新的基础结构破坏:攻击者针对软件构建工具或更新机制进行破坏,以在构建或更新过程中植入恶意代码。这种攻击方式依赖于对软件构建和更新过程的深入理解,因此具有高度的隐蔽性和针对性。

▪ 利用信任与依赖关系进行攻击:攻击者通过伪造身份或社交工程等方式,欺骗供应链成员,利用供应链中的信任与依赖关系进行攻击。这种攻击方式利用了人类心理和社会工程学原理,因此难以通过技术手段完全防范。

核心影响要素三:量子计算对加密的影响

量子计算多年来一直备受瞩目。通过巧妙应用量子力学原理,这些计算机能以远超传统计算机的速度处理信息,其强大的计算能力能在极短时间内破解那些传统计算机需要数千年才能解开的加密代码。然而,尽管这项技术展现出巨大的潜力,但它同样对应用程序安全构成了一定挑战,这种对加密技术的潜在威胁要求各个组织必须提前做好准备:

▪ 破解现有加密算法:量子计算机利用量子力学原理,通过量子比特(qubit)进行存储和计算信息,可以实现高效的并行计算。这种计算能力使得量子计算机能够破解目前广泛使用的加密算法,如RSA和椭圆曲线加密。Shor算法是量子计算中一种重要的算法,它可以利用量子计算机的并行计算能力在多项式时间内破解RSA和椭圆曲线加密算法。这将对现代密码学造成重大影响,因为RSA和椭圆曲线加密是目前互联网安全体系中的基石。

▪ 严重影响非对称加密算法的安全性:非对称加密算法使用一对密钥进行加密和解密,其中一个密钥是公开的,另一个密钥是私密的。RSA和椭圆曲线加密是目前最常用的非对称加密算法,但这两种算法都面临着量子计算机的威胁。由于Shor算法可以在多项式时间内破解非对称加密算法,因此整个非对称加密体系的安全性都将受到威胁。这将对密钥交换、数字签名等安全应用造成严重影响。然而,量子计算机对对称加密算法的影响相对较小,因为对称密钥的长度通常较短,量子计算机需要耗费大量时间和资源来破解它们。因此,对称加密算法在短期内仍然可以保持一定的安全性。

尽管面临这样的威胁,但量子计算也为应用程序安全领域带来了新的机遇。目前,一种名为量子加密或量子密钥分发的新型加密方法正在研发中。这些方法基于量子力学的原理,旨在创建理论上无法破解的密钥。这一进步或许能为量子计算带来的加密挑战提供有效的解决方案。

 2024年应用安全领域现状分析

DevSecOps成熟度提升

加速开发、持续交付、管道弹性、可扩展性以及端到端的透明度,是DevOps实践中的核心支柱。要实现这些标准,开发、安全和运维团队必须紧密协作,共同努力。

DevSecOps,作为DevOps方法论的自然演进,核心在于深化和普及多团队间的安全文化,确保在DevOps环境下,安全挑战能以统一且前瞻性的方式被及时应对。通过将安全实践自然融入软件开发生命周期(SDLC)和持续集成(CI)流程,DevSecOps致力于将安全性从孤立的阶段提升为开发生命周期中不可或缺、贯穿始终的要素。

这样,安全性不再仅仅是一个附加的考量,而是深植于开发、测试和部署的每一个环节,成为其固有的、不可或缺的特性。

为什么要自动化?

DevOps的核心原则在于在整个软件开发生命周期(SDLC)中自动化手动流程,以提高效率和质量。对于任何组织而言,自动化都是通过持续集成和持续部署来加速软件开发和交付的关键所在。成功的DevSecOps(即融入安全性的DevOps)依赖于自动化与集成的协同作用,以及明确的标准和策略作为指导。这样的实践不仅能让安全团队确信安全利益得到了有效保障,还能让DevOps团队保持高效运作,有信心避免流水线中断。

相较于手动测试,自动安全测试能迅速且一致地执行,使得开发人员能够在开发早期阶段即发现并解决问题,从而不会对交付进度或工作效率产生负面影响。这种预防性措施极大地提高了软件质量和安全性,同时降低了潜在风险。

▪ 一致性:自动测试可确保对每一次的构建和部署一致地进行安全检查。手动测试可能会导致测试过程和覆盖范围不一致。

▪ 可扩展性:随着软件复杂性的增长,手工测试将变得不切实际。自动测试容易扩展,以便跨越不同组件进行大量测试。

▪ 持续集成和持续部署(CI/CD):自动测试在CI/CD管道中至关重要,因为这些管道中会发生快速而频繁的代码变更。自动测试可以快速验证变更,防止错误代码进入生产环境。

▪ 持续改进:自动测试提供数据和洞察,可以帮助开发和安全团队随时间的推移改进安全实践,允许他们系统地分析和处理漏洞模式。

▪ 记录:自动测试可以记录整个测试过程,从而更容易跟踪和审计安全措施与合规要求。

▪ 减少人为错误:由于疲劳或疏忽,手动测试容易出错。自动测试遵循预定义的脚本,能够降低人为错误的风险。

▪ 节省时间和成本:在开发过程的后期或生产过程中识别和修复安全问题既耗时又昂贵。自动测试可将这些费用降至最低。

▪ 改进开发者体验:自动的应用安全测试允许开发者采取主动的、全面的、有助于学习和提高安全知识和技能的方式来解决安全问题,从而增强开发者体验,最终提高软件安全性并提升整个开发过程的效率。

全球DevSecOps企业应用现状

新思科技的CyRC(网络安全研究中心)于2023年初联合国际市场咨询公司Censuswide,对负责安全事务的1,000名IT专业人士开展了一项调查。受访者包括开发人员、应用安全专业人员、DevOps工程师、CISO以及在技术、网络安全和应用、软件开发领域担任各种职务的专家。受访者来自美国、英国、法国、芬兰、德国、中国、新加坡和日本。

调研结果中显示,大多数受访者对自己使用的AST工具普遍感到不满:

表2.受访者对AST工具意见收录表

图片

在这1,000名被访问人员中有35%的人员认为这些安全工具不能根据漏洞的暴露程度、可利用性和严重程度来确定修复顺序,也无法合并和关联数据来帮助解决问题(29%)。

有34%的人员认为这些安全工具因速度太慢而无法适应快速的发布周期以及持续部署。

有33%的人觉得这些安全工具性价比低并且还有33%的人认为这些安全工具的结果并不准确。

大多数DevOps团队都在某种程度上采用了DevSecOps

共有91%的受访者表示,他们已将开展DevSecOps活动相关的安全措施纳入到了软件开发管道中。可以肯定地说,采用DevSecOps方法论现已成为软件开发的一部分。29%的受访者表示他们拥有跨职能部门的DevSecOps团队——由开发、安全和运维部门成员构成的协作团队,是安全计划取得成功的重要因素。

然而想要有效实施DevSecOps存在许多障碍。超过33%的受访者指出,缺乏安全培训是主要障碍。紧随其后的是安全人员短缺(31%)。开发或运维工作缺乏透明性(31%)以及无法有效确定优先级(30%)也是主要原因。

表3.阻碍有效实施DevSecOps的因素

图片

超过三分之一的受访者表示,将自动安全测试集成到构建和部署工作流中是安全计划取得成功的关键。其他的主要成功因素还包括通过基础架构即代码来执行安全和合规策略,在开发和运维团队中培养安全支持者(security champions),以及加强开发、运维和安全团队之间的沟通等。

在SDLC后期再处理重大漏洞和技术债务的成本将会非常高

最合理以及最节省成本的方式是在开发生命周期的最早期就介入安全,尽可能不要留下技术债务问题。

超过80%的受访者表示,2022-2023年间,已部署软件中的重大漏洞和安全问题以某种形式影响了他们的工作进度。28%的受访者表示,他们的组织需要长达三周的时间来修补已部署应用程序中的重大安全风险以及漏洞;另有20%的受访者表示,这可能需要一个月的时间。

考虑到现在的漏洞利用速度比以往任何时候都要快,这些数字令人担忧。最新研究表明,超过一半的漏洞在披露后的一周内即被利用。

超过70%的受访者表示,通过自动扫描代码来查找漏洞或编码缺陷是一种有用的安全措施,34%的受访者认为自动AST“非常有用”。

对代码进行安全漏洞和其他缺陷的自动化扫描,在“工具以及流程的有用性”类别中排名第一,紧随其后的是“在SDLC的需求挖掘阶段明确安全需求”以及“通过BSIMM和SAMM等模型对软件安全计划进行正式评估”。

AST工具现阶段使用场景的弊端

几乎所有受访者都认为AST工具与其业务需求不符。在1,000名受访者中,大多数人都认为AST工具存在各种各样的问题是他们面临的主要挑战,包括这些工具无法根据业务需求对修复措施进行优先级排序(35%),也无法合并和关联数据来帮助解决问题(29%)。

安全与AI技术结合大势所趋的同时也存在多维度风险

......

点击查看完整版《2024应用程序安全领域现状报告》原文

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Build a Large Language Model (From Scratch)附录D(gpt-4o翻译版)

来源:https://github.com/rasbt/LLMs-from-scratch?tabreadme-ov-file https://www.manning.com/books/build-a-large-language-model-from-scratch

Windows系统安装SSH服务结合内网穿透配置公网地址远程ssh连接

前言 在当今的数字化转型时代,远程连接和管理计算机已成为日常工作中不可或缺的一部分。对于 Windows 用户而言,SSH(Secure Shell)协议提供了一种安全、高效的远程访问和命令执行方式。SSH 不仅提供了加密的通信通道,…

单片机IO

一、简单GPIO口 保护二极管:IO引脚上下两边两个二极管用于防止引脚外部过高、过低的电压输入。 当引脚电压高于VDD时,上方的二极管导通,电压被钳位在VDD0.7V; 当引脚电压低于VSS时,下方的二极管导通,防止不…

设计模型 - 学习笔记

学习参考: https://blog.csdn.net/m0_65346405/article/details/136994128 《系统分析师教程》 《设计模式之禅》 一. 设计模式的5大原则 1. 单一职责原则 一个类应该只有一个变化因子。 就是说,一个类要变化,比如增加功能,那么引…

Elasticsearch 8.x 存储有无压缩?能压缩到多少?

1、认知前提 Elasticsearch 支持压缩,压缩方式默认为:LZ4 压缩算法。 具体参见: The default value compresses stored data with LZ4 compression, but this can be set to best_compression which uses DEFLATE for a higher compression r…

mybatis mapper.xml 比较运算符(大于|小于|等于)的写法: 转义和<![CDATA[]]>

文章目录 引言I 使用xml 原生转义的方式进行转义II 使用 <![CDATA[ 内容 ]]>引言 应用场景:查询时间范围 背景:在 *.xml 中使用常规的 < > = <= >= 会与xml的语法存在冲突 <![CDATA[]]> 比 转义符 来的繁琐 <![CDATA[]]> 表示xml解析器忽略…

Linux内网端口转公网端口映射

由于服务商做安全演练&#xff0c;把原先服务器内网的端口映射到外网端口全都关闭了&#xff0c;每次维护服务器特别麻烦&#xff0c;像数据库查询如果用原生的mysql 去连接&#xff0c;查询返回的结果乱了&#xff0c;非常不方便。 查了服务还是可以正常访问部分外网的&#x…

mongodb在windows环境安装部署

一、mongodb 1.释义 MongoDB 是一种开源的文档型 NoSQL 数据库管理系统&#xff0c;使用 C 编写&#xff0c;旨在实现高性能、高可靠性和易扩展性。MongoDB 采用了面向文档的数据模型&#xff0c;数据以 JSON 风格的 BSON&#xff08;Binary JSON&#xff09;文档存储&#x…

Unity射击游戏开发教程:(29)躲避敌人的子弹射击

在这篇文章中,我将介绍如何创建一个可以使玩家火力无效的敌人。创建的行为如下...... 当玩家向敌人开火时,敌人会向左或向右移动。向左或向右的移动是随机选择的,并在一段时间后停止敌人的移动。如果敌人移出屏幕,它就会绕到另一边。将一个精灵拖到画布上,将其缩小以匹配游…

mdb转gdb实现过程介绍(2)三种方式实现GDB数据库的读、写,并将实现方式与ArcGIS环境共存配置

一、内容提示 通过解析mdb地理数据库&#xff0c;获取了图层之间的组织结构、空间参考、表字段属性等信息。 下一步&#xff0c;就是将数据输出到GDB中。 下面详细介绍python3.9版本&#xff0c;读写GDB数据的方法&#xff1a; &#xff08;1&#xff09;使用ArcPy创建GDB、读写…

【MySQL基础篇】函数及约束

1、函数 函数是指一段可以直接被另一段程序程序调用的程序或代码。 函数 - 字符串函数 MySQL中内置了很多字符串函数&#xff0c;常用的几个如下&#xff1a; 函数功能CONCAT(S1,S2,...,Sn)字符串拼接&#xff0c;将S1,S2,...,Sn拼接成一个字符串LOWER(str)将字符串str全部…

STM32第十二课:ADC检测烟雾浓度(MQ2)

文章目录 需求一、MQ-2 气体传感器特点应用电路及引脚 二、实现流程1.开时钟&#xff0c;分频&#xff0c;配IO2.配置ADC的工作模式3.配置通道4.复位&#xff0c;AD校准5.数值的获取 需求实现总结 需求 使用ADC将MQ2模块检测到的烟雾浓度模拟量转化为数字量。 最后&#xff0c…

【ElementPlus源码】Button 按钮

文章目录 准备工作属性方法模板使用到的hooksuse-propuseDeprecated 看源码时候做的笔记。 准备工作 本地开发 | Element Plus (element-plus.org) 文档与源码对应&#xff1a;docs/examples/button 组件源码位置&#xff1a; packages/components/button/src 属性 定义在 …

C++面试宝典30题丨第一题:开灯

专栏导读 见得题目越多&#xff0c;考试时抽中的概率也越大。每一题都有详细的解答思路和独有的视频讲解。 本文收录于&#xff1a;C面试宝典&#xff08;送视频讲解&#xff09; ☆☆☆购买专栏后&#xff0c;请加微信会私发讲解视频&#xff01; 题目描述 一条名叫Mango的街…

图书管理系统(持久化存储数据以及增添新功能)

目录 一、数据库表设计 二、引入MyBatis 和MySQL 驱动依赖 三、配置数据库 & 日志 四、Model创建 五、枚举类 常量类用户登录 六、用户登录 七、添加图书 八、图书列表 九、修改图书 十、删除图书 十一、批量删除 十二、强制登录 十三、前端代码 &#xff0…

使用 HBuilder X 进行 uniapp 小程序开发遇到的问题合集

文章目录 背景介绍问题集锦1. 在 HBuilderX 点击浏览器运行时&#xff0c;报 uni-app vue3编译器下载失败 安装错误2.在 HBuilderX 点击微信小程序运行时&#xff0c;报 微信开发者工具打开项目失败&#xff0c;请参阅启动日志错误 背景介绍 HBuilder X 版本&#xff1a;HBui…

餐饮界的新传奇:沃可趣员工社区,让品牌关怀在指尖流淌

咖啡师与顾客发生肢体冲突、员工用咖啡粉泼顾客……某精品咖啡一天爆出两个大瓜&#xff01; 很快有网友指出咖啡店员工长期遭受重压&#xff0c;与品牌之间存在根本矛盾。 同样做餐饮的老牌快餐&#xff0c;门店密度与之不相上下&#xff0c;却很少发生这样的暴雷。 不仅因…

六.核心动画 - 特殊图层①

引言 本专栏到目前为止已经介绍了CALayer&#xff0c;了解了它的绘画和动画功能。但是Core Animation图层不仅仅能够用于图片和颜色&#xff0c;本篇博客就来介绍一下一些CALayer的子类特殊图层&#xff0c;来进一步扩展Core Animation的绘图能力。 特殊图层 Core Animation…

Vue实现金钱输入框组件自动带千位逗号

新建PriceInput.vue <template><div id"bord"><el-inputv-model"inputValue"v-bind"$attrs":maxlength"maxlength"input"handleInput"focus"handleFocus"blur"handleBlur"change"h…

自闭症儿童:探索症状背后的多彩内心世界

在星启帆自闭症康复中心&#xff0c;我们每天与一群独特而珍贵的孩子相遇——他们&#xff0c;是自闭症谱系障碍的患儿。自闭症&#xff0c;这一复杂的神经发育障碍&#xff0c;以其多样化的症状表现&#xff0c;为每个孩子的生活轨迹绘上了不同的色彩。 自闭症孩子的症状各异…