行业洞察 | 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.mzph.cn/bicheng/40411.shtml

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

相关文章

2024年前端面试题及答案

7、 nginx代理跨域 8、 nodejs中间件代理跨域 9、 WebSocket协议跨域 前端数据加密问题 1 一般如何处理用户敏感信息? 前端一般使用md5、base64加密、sha1加密,想要了解详情请自行百度。 前端http相关问题 1 HTTP常用状态码及其含义? …

css---before和after伪元素

1.什么是伪元素 伪元素不是真正的页面元素,html没有对应的元素,但是其所有用法和表现行为与真正的页面元素一样,可以对其使用如页面元素一样的CSS样式,表面上看上去貌似是页面的某些元素来展现,实际上CSS样式展现的行…

Python容器 之 字典--字典的遍历

字典存在 键(key), 值(value) , 遍历分为三种情况 1.遍历字典的键 循环拿到字典中的每个键名 # 方式一 for 变量 in 字典: print(变量) # 方式二 for 变量 in 字典.keys(): # 字典.keys() 可以获取字典所有的键 print(变量) my_dict {name: 小明, age: 18, sex: 男}…

Kamailio-Web管理页面Siremis的安装与部署

siremis 是针对于 Kamailio 的web管理接口,使用PHP书写,更新至2020年,相对不是太新但是是官方友链的 以下就采用 Ubuntu 22.04Siremis 5.8.0apache http server 2.4php7.0 如有疑问请参看官方指南 以下开始介绍操作步骤 安装apache2.4 we…

14-5 小语言模型SLM 百科全书

想象一下这样一个世界:智能助手不再驻留在云端,而是驻留在你的手机上,无缝理解你的需求并以闪电般的速度做出响应。这不是科幻小说;这是小型语言模型 (SLM) 的前景,这是一个快速发展的领域,有可能改变我们与…

MySQL数据库数据迁徙:从本地到Linux服务器

"男人的浪漫,绝对是拥有一台属于自己的服务器" MySQL数据库数据迁徙就两步:本地导出和服务器导入。 本地导出 本地导出的时候,需要注意你的CMD命令行必须是以管理员身份运行。如果你的计算机找不到mysqldump这个命令,…

单片机软件架构连载(1)-枚举(enum)

今天跟大家讲一下我在产品开发时,用枚举(enum)的一些骚操作,都是实战经验,不难,但开发经验尚浅的话,不一定能把它灵活应用。 为什么要讲枚举呢? 因为我发现它是一个容易被遗忘,同时又非常重要的…

RK3568驱动指南|第十六篇 SPI-第195章 实践:移植官方mcp2515驱动

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

顶顶通呼叫中心中间件(mod_cti基于FreeSWITCH)-http话术接口测试流程

文章目录 前言联系我们部署http话术PHP例子Java例子 登录ccadmin-web配置拨号方案创建与注册分机创建分机注册分机 测试 前言 用户一直想体验机器人话术的效果,但却找不到门路。本文提供了配置机器人话术接口的配置流程,供用户体验。用户可以根据本文的…

springboot交流论坛网站-计算机毕业设计源码00304

Springboot交流论坛网站 摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了交流论坛网站的开发全过程。通过分析交流论坛网站管理的不足,创建了一个计算机管理交流论坛网站的方案。文章介绍了交流论坛…

Excel 宏录制与VBA编程 ——VBA编程技巧篇三 (未初始化Range判断、遍历工作表方法、工作表多行重复内容剔除)

未初始化Range的判断 有时候需要对已定义未初始化的range对象做判断 dim curRange as range If curRange Is Nothing Thendebug.print("未初始化的..") End If遍历工作表方法 Chr(10):ASCII码中的换行键,相当于vbLF。 …

【鸿蒙学习笔记】@Prop装饰器:父子单向同步

官方文档:Prop装饰器:父子单向同步 [Q&A] Prop装饰器作用 Prop装饰的变量可以和父组件建立单向的同步关系。Prop装饰的变量是可变的,但是变化不会同步回其父组件。 [Q&A] Prop装饰器特点 1・Prop装饰器不能在Entry装饰的…

MySQL数据库增删改查示例

一、 1、登陆数据库 2、创建数据库zoo 3、修改数据库zoo字符集为gbk 4、选择当前数据库为zoo 5、查看创建数据库zoo信息 6、删除数据库zoo 二、创建俩张表 先创建一个数据库并使用: 创建员工表 创建员工绩效表 三、修改表 1.在员工表的基本上增加一个image系列&a…

设计模型 - 学习笔记

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

C语言 | Leetcode C语言题解之第205题同构字符串

题目&#xff1a; 题解&#xff1a; struct HashTable {char key;char val;UT_hash_handle hh; };bool isIsomorphic(char* s, char* t) {struct HashTable* s2t NULL;struct HashTable* t2s NULL;int len strlen(s);for (int i 0; i < len; i) {char x s[i], y t[i]…

盘点一波国际上最具挑战性的11个IT认证,你有几个证书?

在信息技术领域&#xff0c;获得认证不仅是对专业知识和技能的认可&#xff0c;更是提升职业竞争力的重要手段。 随着技术的发展和行业的需求&#xff0c;IT认证的种类越来越多&#xff0c;难度也越来越大。 你可能听说过一些知名的认证&#xff0c;比如思科的CCIE、华为的HCIE…

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

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

springboot的非物质文化遗产管理系统-计算机毕业设计源码16087

目录 摘要 1 绪论 1.1 选题背景与意义 1.2国内外研究现状 1.3论文结构与章节安排 2系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1系统开发流程 2.2.2 用户登录流程 2.2.3 系统操作流程 2.2.4 添加信息流程 2.2.5 修改信息流程 2.2.6 删除信息流程 2.3 系统功能…

微信小程序 typescript 开发日历界面

1.界面代码 <view class"o-calendar"><view class"o-calendar-container" ><view class"o-calendar-titlebar"><view class"o-left_arrow" bind:tap"prevMonth">《</view>{{year}}年{{month…

Maven:下载配置教学(2024版 最简)

文章目录 一、Maven下载1.1 下载官网1.2 下载压缩包1.3 解压1.4 创建repo文件夹 二、Maven配置2.1 环境变量2.1.1 新建系统变量2.1.2 添加Path 2.2 阿里云镜像2.3 JDK2.4 本地仓库2.5 conf文件的全部内容2.6 测试安装配置是否成功 三、IDEA中配置Maven3.1 新配置3.2 推荐配置 四…