置顶

典型软件供应链攻击安全_网络安全之供应链网络攻击

作者:hacker | 分类:渗透破解 | 浏览:204 | 日期:2022年11月01日

文章目录:

企业怎么防范软件供应链攻击?

般情况下,企业团队会通过开源软件中的一些漏洞来处理对系统的攻击(比如:equifax apache struts、Log4j 和 Solarwinds Hack )。

但实际上,还有很多没有得到过多关注的漏洞,最终给企业造成了很大的损害,因此JFrog Pyrsia通过提高开源软件的安全性和信任度来保护软件的开发和供应链。Pyrsia 是一个去中心化的包网络,它通过以下方式为供应链的关键部分提供解决方案:一是通过经过认证和同行验证的构建,为在软件开发中用作依赖项的开源包建立信任。二提供一个去中心化的包网络,它可以理解包坐标、语义和可发现性⌄并且即使发生本地中断也能继续工作。

软件供应链安全及防护工具研究

文 中国信息通信研究院云计算与大数据研究所云计算部工程师 吴江伟

随着 5G、云计算、人工智能、大数据、区块链等技术的日新月异,数字化转型进程逐步推进,软件已经成为日常生产生活必备要素之一,渗透到各个行业和领域。容器、中间件、微服务等技术的演进推动软件行业快速发展,同时带来软件设计开发复杂度不断提升,软件供应链也愈发复杂,全链路安全防护难度不断加大。近年来,软件供应链安全事件频发,对于用户隐私、财产安全乃至国家安全造成重大威胁,自动化安全工具是进行软件供应链安全防御的必要方式之一,针对软件供应链安全及工具进行研究意义重大,对于维护国家网络空间安全,保护用户隐私、财产安全作用深远。

一、软件供应链安全综述

软件供应链定义由传统供应链的概念延伸扩展而来。业界普遍认为,软件供应链指一个通过一级或多级软件设计、开发阶段编写软件,并通过软件交付渠道将软件从软件供应商送往软件用户的系统。软件供应链安全指软件供应链上软件设计与开发的各个阶段中来自本身的编码过程、工具、设备或供应链上游的代码、模块和服务的安全,以及软件交付渠道安全的总和。软件供应链攻击具有低成本、高效率的特点,根据其定义可知,相比传统针对软件自身安全漏洞的攻击,针对软件供应链,受攻击面由软件自身扩展为了软件自身内部的所有代码、模块和服务及与这些模块、服务相关的供应链上游供应商的编码过程、开发工具、设备,显著降低了攻击者的攻击难度。同时,软件设计和开发所产生的任何安全问题都会直接影响供应链中所有下游软件的安全,扩大了攻击所造成的影响。

近年来,软件自身安全防御力度不断加大,攻击者把攻击目标由目标软件转移到软件供应链最薄弱的环节,软件供应链安全事件频发,对用户隐私及财产安全乃至国家安全造成重大威胁。最典型的如 2020 年 12 月,美国网络安全管理软件供应商“太阳风”公司(SolarWinds)遭遇国家级 APT 组织高度复杂的供应链攻击,直接导致包括美国关键基础设施、军队、政府等在内的超过 18000 家客户全部受到影响,可任由攻击者完全操控。

软件供应链安全影响重大,各国高度重视,纷纷推行政策法规推动软件供应链安全保护工作。2021 年 5 月 12 日,美国总统拜登签署发布《改善国家网络安全行政令》,明确提出改善软件供应链安全,要求为出售给政府的软件开发建立基线安全标准,不仅提供应用程序,而且还必须提供软件物料清单,提升组成该应用程序组件的透明度,构建更有弹性且安全的软件供应链环境,确保美国的国家安全。同年 7 月,美国国家标准与技术所(NIST)发布《开发者软件验证最低标准指南》,为加强软件供应链安全加码,明确提出关于软件验证的 11 条建议,包括一致性自动化测试,将手动测试最少化,利用静态代码扫描查找重要漏洞,解决被包含代码(库、程序包、服务)等。

我国对软件供应链安全问题也给予了高度重视,2017 年 6 月,我国发布实施《网络产品和服务安全审查办法》,将软件产品测试、交付、技术支持过程中的供应链安全风险作为重点审查内容。2019 年12 月 1 日,《信息安全技术 网络安全等级保护基本要求》2.0 版本正式实施,在通用要求及云计算扩展部分明确要求服务供应商选择及供应链管理。

二、软件供应链安全挑战

目前,软件供应链安全受到高度重视,但仍面临多重现实挑战,可以总结分为以下五大类。

1. 软件设计开发复杂化成为必然趋势

随着容器、中间件、微服务等新技术的演进,软件行业快速发展,软件功能及性能需求也不断提升,软件设计开发复杂化已经成为必然趋势。这一现状同时带来了软件设计、开发及维护难度陡增,设计与开发过程不可避免的产生安全漏洞,为软件供应链安全埋下隐患。

2. 开源成为主流开发模式

当前,开源已经成为主流开发模式之一,软件的源代码大多数是混源代码,由企业自主开发的源代码和开源代码共同组成。根据新思 科技 《2021 年开源安全和风险分析》报告显示,近 5 年,开源代码在应用程序中所占比例由 40% 增至超过 70%。开源的引入加快了软件的研发效率,但同时也将开源软件的安全问题引入了软件供应链,导致软件供应链安全问题多元化。

3. 快速交付位于第一优先级

由于业界竞争环境激烈,相较于安全,功能快速实现,软件快速交付仍处于第一优先级,虽然软件通常实现了安全的基本功能需求,如身份认证鉴权、加解密、日志安全审计等,但整体安全防护机制相对滞后,以后期防护为主,前期自身安全性同步建设往往被忽视,软件自身代码安全漏洞前期清除存在短板。

4. 软件交付机制面临安全隐患

软件交付指软件由软件供应商转移到软件用户的过程。传统软件交付以光盘等存储设备为载体,随着互联网等技术的发展,通过网络对于软件进行快速分发已经成为基本模式,不安全的分发渠道同样会对软件供应链安全产生重大影响。

5. 使用时软件补丁网站攻击

针对软件供应链安全防护,软件的生命周期并非结束于软件交付之后,而是直到软件停用下线。软件在设计及开发过程中难免存在安全缺陷,通过补丁下发部署是修复软件缺陷漏洞的最通用方式。软件补丁的下发部署同样受分发渠道影响,受污染的补丁下载站点同样会造成软件供应链安全问题。

三、软件供应链安全防护工具

软件供应链安全涉及众多元素及环节,参考业界常见划分,软件供应链环节可抽象成开发环节、交付环节、使用环节三部分。针对交付环节及使用环节安全防护,主要通过确保分发站点及传输渠道安全。开发环节与软件源代码紧密相关,安全防护较为复杂,囊括编码过程、工具、设备及供应链上游的代码、模块和服务的安全,涉及四类安全工具,包括软件生产过程中的工具和软件供应链管理工具。

1. 静态应用程序安全测试工具

静态应用程序安全测试(SAST)是指不运行被测程序本身,仅通过分析或者检查源程序的语法、结构、过程、接口等来检查程序的正确性。源代码静态分析技术的发展与编译技术和计算机硬件设备的进步息息相关,源代码安全分析技术多是在编译技术或程序验证技术的基础上提出的,利用此类技术能够自动地发现代码中的安全缺陷和违背安全规则的情况。目前,主流分析技术包括:(1)词法分析技术,只对代码的文本或 Token 流与已知归纳好的缺陷模式进行相似匹配,不深入分析代码的语义和代码上下文。词法分析检测效率较高,但是只能找到简单的缺陷,并且误报率较高。(2)抽象解释技术,用于证明某段代码没有错误,但不保证报告错误的真实性。该技术的基本原理是将程序变量的值映射到更加简单的抽象域上并模拟程序的执行情况。因此,该技术的精度和性能取决于抽象域对真实程序值域的近似情况。(3)程序模拟技术,模拟程序执行得到所有执行状态,分析结果较为精确,主要用于查找逻辑复杂和触发条件苛刻的缺陷,但性能提高难度大。主要包括模型检查和符号执行两种技术,模型检查将软件构造为状态机或者有向图等抽象模型,并使用模态/时序逻辑公式等形式化的表达式来描述安全属性,对模型遍历验证这些属性是否满足;符号执行使用符号值表示程序变量值,并模拟程序的执行来查找满足漏洞检测规则的情况。(4)定理证明技术,将程序错误的前提和程序本身描述成一组逻辑表达式,然后基于可满足性理论并利用约束求解器求得可能导致程序错误的执行路径。该方法较为灵活性,能够使用逻辑公式方便地描述软件缺陷,并可根据分析性能和精度的不同要求调整约束条件,对于大型工业级软件的分析较为有效。(5)数据流分析技术,基于控制流图,按照某种方式扫面控制流图的每一条指令,试图理解指令行为,以此判断程序中存在的威胁漏洞。数据流分析的通用方法是在控制流图上定义一组方程并迭代求解,一般分为正向传播和逆向传播,正向传播就是沿着控制流路径,状态向前传递,前驱块的值传到后继块;逆向传播就是逆着控制流路径,后继块的值反向传给前驱块。

2. 动态应用程序安全测试工具

动态应用程序安全测试(DAST)技术在测试或运行阶段分析应用程序的动态运行状态。它模拟黑客行为对应用程序进行动态攻击,分析应用程序的反应,从而确定该应用是否易受攻击。以 Web 网站测试为例对动态应用程序安全测试进行介绍,主要包括三个方面的内容:(1)信息收集。测试开始前,收集待测试网站的全部 URL,包括静态资源和动态接口等,每一条 URL 需要包含路径和完整的参数信息。(2)测试过程。测试人员将测试所需的 URL列表导入到测试工具中。测试工具提供“检测风险项”的选择列表,测试人员可根据测试计划选择不同的风险检测项。测试工具在测试过程中,对访问目标网站的速度进行控制,保证目标网站不会因为同一时刻的请求数过高,导致网站响应变慢或崩溃。测试人员在设定测试任务的基本信息时,根据目标网站的性能情况填入“每秒请求数”的最大值。测试工具在测试过程中保证每秒发送请求的总数不超过该数值。(3)测试报告。在安全测试各步骤都完成后,输出测试报告。测试报告一般包含总览页面,内容包括根据测试过程产生的各种数据,输出目标网站安全性的概要性结论;测试过程发现的总漏洞数,以及按照不同安全等级维度进行统计的漏洞数据。

3. 交互式应用程序安全测试工具

交互式应用程序安全测试(IAST)通过插桩技术,基于请求及运行时上下文综合分析,高效、准确地识别安全缺陷及漏洞,确定安全缺陷及漏洞所在的代码位置,主要在三方面做工作:流量采集、Agent监控、交互扫描。(1)流量采集,指采集应用程序测试过程中的 HTTP/HTTPS 请求流量,采集可以通过代理层或者服务端 Agent。采集到的流量是测试人员提交的带有授权信息有效数据,能够最大程度避免传统扫描中因为测试目标权限问题、多步骤问题导致扫描无效;同时,流量采集可以省去爬虫功能,避免测试目标爬虫无法爬取到导致的扫描漏水问题。(2)Agent 监控,指部署在 Web 服务端的 Agent 程序,一般是 Web 服务编程语言的扩展程序,Agent通过扩展程序监控 Web 应用程序性运行时的函数执行,包括 SQL 查询函数、命令执行函数、代码执行函数、反序列化函数、文件操作函数、网络操作函数,以及 XML 解析函数等有可能触发漏洞利用的敏感函数。(3)交互扫描,指 Web 应用漏洞扫描器通过Agent 监控辅助,只需要重放少量采集到的请求流量,且重放时附带扫描器标记,即可完成对 Web 应用程序漏洞的检测。例如,在检测 SQL 注入漏洞时,单个参数检测,知名开源 SQL 注入检测程序 SQLMAP需要发送上千个 HTTP 请求数据包;交互扫描只需要重放一个请求,附带上扫描器标记,Agent 监控SQL 查询函数中的扫描器标记,即可判断是否存在漏洞,大大减少了扫描发包量。

4. 软件组成分析软件组成分析

(SCA)主要针对开源组件,通过扫描识别开源组件,获取组件安全漏洞信息、许可证等信息,避免安全与法律法规风险。现有的开源组成扫描技术分为五种。(1)通过进行源代码片段式比对来识别组件并识别许可证类型。(2)对文件级别提取哈希值,进行文件级哈希值比对,若全部文件哈希值全部匹配成功则开源组件被识别。(3)通过扫描包配置文件读取信息,进行组件识别从而识别组件并识别许可证类型。(4)对开源项目的文件目录和结构进行解析,分析开源组件路径和开源组件依赖。(5)通过编译开源项目并对编译后的开源项目进行依赖分析,这种方式可以识别用在开源项目中的开源组件信息。

四、软件供应链安全研究建议

1. 发展软件安全工具相关技术

软件供应链安全防护的落地离不开安全工具的发展使用。大力发展软件安全工具技术,解决安全开发难点需求,进行安全前置,实现安全保护措施与软件设计、开发同步推进。

2. 提升软件供应链安全事件的防护、检测和响应能力

软件供应链安全防护需要事前、事中、事后的全方位安全防御体系。软件供应链安全攻击事件具有隐蔽性高、传播性强、影响程度深的特点,软件供应链作为一个复杂、庞大的系统,难免存在脆弱节点,应提升对软件供应链安全攻击事件的防护、检测和响应能力,避免安全事件造成重大影响。

3. 构建完善软件供应链安全相关标准体系

通过科研院所及标准机构完善软件供应链安全标准体系,普及软件供应链安全防范意识,提升企业组织对软件供应链安全的重视程度,进行软件供应链安全投入,推进安全建设工作落实。

4. 建立软件供应链安全可信生态

实现软件供应链安全需要各领域企业的共同努力。企业共建安全可信生态将满足不同用户、不同行业、不同场景的安全可信需求,提升业界整体软件供应链安全水平。

(本文刊登于《中国信息安全》杂志2021年第10期)

为什么近几年勒索软件攻击激增?如何防范它

目前我们正在与两种流行病毒作斗争——冠状病毒和勒索软件攻击。两者都会影响到部分经济,前者肉眼可见,后者则普通人不可遇见。然而,就网络安全而言,现在我们的安全防范意识,让黑客们有了一个轻松的方法来攫取数百万甚至更高的不法收入。

对于黑客来说,获取经济利益非常简单,即使用恶意软件访问和加密数据并将其扣为“人质”,直到受害者支付赎金为止。

现在网络攻击越来越频繁,因为黑客可以毫不费力地执行实施他们的计划。此外,支付方式现在对他们更友好。加上企业对数据越来越依赖,更多迁移到互联网办公服务,这样给了黑客更多的动机去尝试更多的漏洞,当黑客入侵获得了企业的某些数据,或者加密了某些东西的时候,企业在现有技术无法清除病毒或者修补落地,更多愿意支付赎金来临时解决现在问题,因为拖得越久企业损失越大,黑客可以拖,企业可拖不起。

更大胆的黑客们

几年前,黑客在获得银行密码,他们利用技术诀窍从人们的账户中窃取资金之前都会玩心理战术。现在他们更大胆了,因为他们很容易购买勒索软件即服务,并从在线视频分享网站学习黑客技术。一些有组织的网络黑客甚至为商业黑客提供服务,收取一定费用,通常是利润的一部分。

同样加密货币出现使得黑客更加大胆,因为他们可以去限制地敲诈受害者获取匿名支付。黑客可以通过匿名的方式从受害者那里获得更高金额的虚拟货币后转换成现金。

你也可以将网络攻击的增加归咎于一些愿意支付数百万美元加密货币的公司的行为。然而,如果公司和数据安全专家确保黑客攻击不再有利可图,攻击就会停止。

现在你会明白为什么很多国家不承认数字加密货币的真正含义了吧。

是网络攻击是越来越引人注目还是实际上在上升?

这两个问题的答案都是肯定的。 勒索软件变得越来越普遍,因为它很容易执行。黑客使用软件来绕过安全漏洞,或通过使用网络钓鱼诈骗策略欺骗网络用户,例如发送似乎来自可信来源的恶意软件。加上一些大公司的网络安全协议也比较宽松,这样让普通的黑客可以轻易得手。

以美国Colonial Pipeline的供应链攻击事件为例子,该公司首席执行官Joseph Blount承认该公司不使用多因素身份验证当用户登录。

根据美国2020年发布的互联网“犯罪”报告,“佛菠萝”在2020年收到了近2500起勒索软件报告,比2019年增加20%。2020年勒索软件袭击的总成本接近2910万美元。这相当于2019年增加了200%。

勒索软件攻击上升的另一个因素是在线用户越来越多。新冠肺炎的流行导致了全球互联网使用量的激增。许多学生和工人由线下转线上远程工作和学习,加上初次使用互联网服务,安全意识的欠缺往往成为黑客们下手的头号目标。

有网络专家预测勒索软件每年至少带来上千亿美元的损失,随着黑客改进其恶意软件攻击和勒索行为,攻击可能每两秒钟发生一次,到2031年,每年带来超过2500亿美元的损失。

勒索软件对企业的影响

我们已经知道勒索软件是如何对大小企业产生毁灭性影响的。但一次又一次的提醒是值得的,因为即使是企业也可能成为受害者。黑客继续利用网络安全系统中的漏洞。此外,许多黑客团伙正在利用勒索软件和拒绝服务攻击获取经济利益。

除了勒索软件攻击事件的增加,攻击的成本也在增加。勒索软件使公司的数字网络和相关设备瘫痪。因为敏感的商业数据被破坏或者泄露,商业运作,尤其是供应链都会会受到影响——因此,公司更愿意支付赎金。

但从理论上讲,即使公司支付赎金,也不能保证敏感数据没有被复制。同样,也不能保证攻击者将返回所有数据或解密密钥将起作用。在Colonial的案例中,黑客在收到支付赎金后给他们的解密密钥太慢了。他们不得不使用备份文件,其中损失无法评估。

防止勒索软件感染

安全专家建议被勒索公司不要向黑客们支付赎金,因为这会鼓励他们发动更多的攻击。

他们还给出一些防止此类攻击的方法包括:

与网络安全公司合作,网络安全公司提供最适合企业当前和未来需求的安全系统需求。

保持警惕是防止感染的另一种方法。如果您的系统没有明显的原因而速度减慢,请断开与internet的连接并将其关闭。然后,您可以致电您的网络安全提供商并寻求他们的帮助。

除了确保网络安全的技术层面,有时回到基础是值得的。

利用安全培训,让员工更好地了解网络安全的重要性和意义。此外,员工应学会确保保护整个公司免受网络攻击。

训练你自己和你的员工不要点击未经证实来源的链接,因为网络钓鱼链接是传播恶意软件的一种方法,使你的公司成为一个容易攻击的目标。

练习创建数据的定期备份。至少有两个数据备份,并将它们存储在不同的位置。只允许最信任的员工访问备份。

使用数据加密来保护电子邮件、文件交换和个人信息。

确保定期升级所有应用程序,以便修复漏洞。

使用密码管理器确保所有员工都有更强大的密码。指导员工使用不同的密码登录到公司中使用的其他应用程序。

总结

勒索软件攻击之所以猖獗,是因为它们的易用性和盈利能力。了解黑客团伙的活动并为员工提供网络安全培训至关重要。结合技术专长和基本的安全措施将有助于减少勒索软件的感染。但是,重要的是不要惊慌,并且知道应该遵循的安全措施。

发表评论

访客 游客 2022-11-01 · 回复该评论
影响程度深的特点,软件供应链作为一个复杂、庞大的系统,难免存在脆弱节点,应提升对软件供应链安全攻击事件的防护、检测和响应能力,避免安全事件造成重大影响。 3. 构建完善软件供应链安全相关标准体系 通过科研院所及标准机构完善软件供应链安全标准体系,普及

访客 游客 2022-11-01 · 回复该评论
件,获取组件安全漏洞信息、许可证等信息,避免安全与法律法规风险。现有的开源组成扫描技术分为五种。(1)通过进行源代码片段式比对来识别组件并识别许可证类型。(2)对文件级别提取哈希值,进行文件级哈希值比对,若全部

访客 游客 2022-11-01 · 回复该评论
立软件供应链安全可信生态 实现软件供应链安全需要各领域企业的共同努力。企业共建安全可信生态将满足不同用户、不同行业、不同场景的安全可信需求,提升业界整体软件供应链安全水平。 (本文

访客 游客 2022-11-01 · 回复该评论
现了安全的基本功能需求,如身份认证鉴权、加解密、日志安全审计等,但整体安全防护机制相对滞后,以后期防护为主,前期自身安全性同步建设往往被忽视,软件自身代码安全漏洞前期清除存在短板。 4

取消
微信二维码
支付宝二维码