虹科分享 | 软件供应链攻击如何工作?如何评估软件供应链安全?

2023-09-16 17:11:28

说到应用程序和软件,关键词是“更多”。在数字经济需求的推动下,从简化业务运营到创造创新的新收入机会,企业越来越依赖应用程序。云本地应用程序开发更是火上浇油。然而,情况是双向的:这些应用程序通常更复杂,使用的开放源代码比以往任何时候都包含更多的漏洞。此外,威胁行为者正在创造和使用更多的攻击方法和技术,通常是组合在一起的。

最终,我们得到了各种攻击机会的大杂烩,威胁行为者知道这一点。事实上,Mend.io最近发布的关于软件供应链恶意软件的报告显示,从2021年到2022年,发布到NPM和RubyGems上的恶意包数量跃升了315%。这些攻击通常会危及受信任的供应商。

正是因为他们利用了可信的关系,他们可能很难被发现和击退。

那么,你如何防御它们呢?

软件供应链攻击是如何运作的?

软件供应链是为应用程序提供软件组件的供应商和供应商的网络。敌手侵入第三方软件以获取对您的系统和代码库的访问权限。然后,他们在你的供应链中横向移动,直到他们到达预期的目标。

一般来说,软件供应链攻击遵循一系列阶段。

侦察

恶意行为者研究他们的目标并识别供应链中的漏洞。这涉及到收集关于供应链中的供应商、供应商和合作伙伴的信息。

最初的妥协

第一次接触到供应链中的薄弱环节,如第三方供应商或供应商。它可能涉及网络钓鱼和其他社交工程,以诱骗员工提供访问凭据。

横向运动

一旦进入供应链,攻击者就会试图使用被盗的凭据或利用漏洞等手段访问其他系统或数据。

特权升级

攻击者试图获得对目标企业内的关键系统的管理访问权限,如域控制器或其他保存敏感数据的服务器。

数据外泄

数据或知识产权被盗,或造成其他破坏。

通过了解这些阶段,您可以采取措施在软件供应链攻击造成重大破坏之前检测、减轻和防止它们。

软件供应链安全漏洞最常见的原因

代码审查和测试不足,导致漏洞未被检测到。企业应实施全面的代码审查和测试流程,以识别和缓解任何潜在的安全问题。

过时/未打补丁的软件使系统容易受到攻击者利用的已知安全漏洞的攻击。

设计不佳的访问控制和薄弱的身份验证允许攻击者轻松获得对敏感系统和数据的未经授权访问。

薄弱的加密和不安全的通信使数据泄露变得很容易。

如果企业没有工具或专业知识来有效地监控和检测威胁,缺乏对供应链的可见性就会增加暴露在潜在问题中的风险。这是也构成威胁的一些隐藏漏洞中的第一个。

其他包括:

隐藏的漏洞

第三方依赖项。应用程序通常依赖于第三方库和组件,如果管理不当,可能会引入漏洞。这些可能很难检测到,特别是当企业对源代码的可见性很差的时候。

软件供应商缺乏多样性。如果企业依赖于单一的软件供应商,并且无法了解其安全实践,那么它就无法有效地检测隐藏的漏洞。

针对开源软件的攻击之所以发生,是因为企业大量使用开源软件,以至于它是一个巨大的攻击面。

如何评估供应链安全?

确定软件供应商和合作伙伴。生成软件材料清单(SBOM)-所有供应商、承包商和其他合作伙伴的清单,检查他们的安全策略和控制,以及他们是否符合法规。

进行风险评估并制定补救计划,包括可靠的软件测试和增强安全意识。

审查并实施您的控制和策略。确保您的策略符合安全要求。检查访问控制和数据保护,以防止未经授权的访问、加强保密性、限制攻击面并降低第三方风险。

增强加密和安全通信的能力

评估和重新设计供应链架构,以提高供应链可见性,更好地识别和管理潜在问题、恶意活动、第三方风险,并确保满足合规和监管要求。

构建全面的安全方法。结合使用漏洞扫描仪、终端保护软件、网络安全工具、身份和访问管理以及特定的软件供应链工具,以及员工培训和响应规划。

在下一篇文章中,我将介绍如何成功地做到这一点,以及您应该如何使用这些工具来加强软件和应用程序的安全性。

更多推荐

基于香橙派和SU-03T 使用Linux实现语音控制刷抖音

硬件介绍SU-03T之前在小车的时候使用过,详见:语音小车---6+最终整合_mjmmm的博客-CSDN博客按照下图进行接线:项目需求通过语音指令来控制安卓手机刷抖音,可以实现视频切换和点赞等功能:1.开机播报“你好,我是你的刷抖音助手”1.当说出“你好抖音助手"可以唤醒模块,模块回复“抖音助手在”2.当超过10s没有

七天学会C语言-第一天(C语言基本语句)

一、固定格式这个是C程序的基本框架,需要记住!!!#include<stdio.h>intmain(){return0;}二、printf语句简单输出一句C程序:#include<stdio.h>intmain(){printf("大家好,");printf("我是");printf("沐尘而生!");return0;

9月15日、9月18日上课内容 Zookeeper集群 + Kafka集群

Zookeeper本章结构Zookeeper概述Zookeeper定义*(了解)Zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目。Zookeeper工作机制*****(非常重要,需要掌握)Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和

Cobol学习笔记(整理中80%)

1.数据类型1.1变量定义序号数据名PIC数据类型[VALUE值].例:03MY-IDPIC999[VALUE123].数据类型写几个长度就是几。1.2数据类型1.2.1数值型9:数值型,99999缩写9(5),不满位前补0,0有(+)符号。S:正负数值,S9999缩写S9(4),不满位前补0,值有正负符号。V:小数,

【大数据毕设】基于Hadoop的音乐推荐系统论文(三)

博主介绍:✌全网粉丝6W+,csdn特邀作者、博客专家、大数据领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于大数据技术领域和毕业项目实战✌🍅文末获取项目联系🍅摘要本文基于Hadoop技术,设计并实现了一个名为“酷酷音乐网站”的系统,用于音乐资源的存储、管理和推荐。该系统采用Hado

MySQL 面试题——MySQL 基础

目录1.什么是MySQL?有什么优点?2.MySQL中的DDL与DML是分别指什么?3.✨数据类型varchar与char有什么区别?4.数据类型BLOB与TEXT有什么区别?5.DATETIME和TIMESTAMP的异同?6.✨MySQL中IN和EXISTS的区别是什么?7.MySQL中记录货币用什么字段类型比较好?

java微服务 Dubbo面试题/SpringCloud面试题

java微服务面试题Q:为什么要用微服务?微服务有哪些优势?单体应用把所有功能都堆放在一起,改动影响大,风险高。微服务具有以下优势:针对特定服务发布,影响小,风险小,成本低。频繁发布版本,快速交付需求。低成本扩容,弹性伸缩,适应云环境。Q:怎么解决服务调用闭环(循环依赖)?服务分层,设定groupId。比如分为上层服务

【23种设计模式】组合模式(八)

前言组合模式,英文名称是:CompositePattern。当我们谈到这个模式的时候,有一个物件和这个模式很像,也符合这个模式要表达的意思,那就是“俄罗斯套娃”。“俄罗斯套娃”就是大的瓷器娃娃里面装着一个小的瓷器娃娃,小的瓷器娃娃里面再装着更小的瓷器娃娃,直到最后一个不能再装更小的瓷器娃娃的那个瓷器娃娃为止。在我们的操

黑马JVM总结(十)

(1)直接内存_基本使用下面我们看一下使用了ByteBuffer直接内存,大文件的读写效率是非常的高Java本身并不具备磁盘读写的能力,它需要调用操作系统的函数,需要从java的方法内部调用本地方法操作系统的方法,设计到了cpu的用户状态变为内核态,切换到内核态以后,由cpu的函数去读取磁盘文件的内容,会在操作系统中划

【计算机网络】——数据链路层(应用:局域网、广域网、设备 )

//仅做个人复习和技术交流,图片取自王道考研,侵删一、大纲1、介质访问控制信道划分介质访问控制随机访问介质访问控制2、局域网3、广域网4、数据链路层设备二、局域网1、局域网基本概念和体系结构局域网(LocalAreaNetwork):简称LAN,是指在某一区域内由多台计算机互联成的计算机组,使用广播信道。特点1:覆盖的

【python】我用python写了一个可以批量查询文章质量分的小项目(纯python、flask+html、打包成exe文件)

web效果预览:文章目录一、API分析1.1质量分查询1.2文章url获取二、代码实现2.1Python2.11分步实现2.12一步完成2.13完整代码2.2python+html2.21在本地运行2.22打打包成exe文件2.23部署到服务器一、API分析1.1质量分查询先去质量查询地址:https://www.cs

热文推荐