当前位置: 首页 > news >正文

为什么开发人员正在成为供应链攻击中的最薄弱环节

如果您是软件开发人员,那么您已经是目标。 

随着网络攻击在全球范围内继续呈指数级增长,威胁参与者已将他们的重点从端点和最终用户转移到软件供应链(参见SolarWinds、Log4j和Kaseya)。攻击者已经意识到,如今的生产环境比以前更先进且更难破解,这使得通常不安全的构建环境成为网络犯罪的热门新渠道。   

一个很好的类比是家庭入室盗窃:当只有您的前门受到高级安全锁、警报系统和室外摄像头的保护时,窃贼会试图从打开的窗户闯入。    

攻击者通过使用与真实软件包相似的名称(一种称为“域名仿冒') 的目的是诱骗软件开发人员安装它们。例如,我们最近发现在存储库中发现了名为“requesys”、“requesrs”和“requesr”的“Requests”(一个合法的、广泛使用的 PyPI 库)的恶意版本。缺乏创造力?相反:攻击者希望您不小心输入错误的“请求”名称,以便您最终安装包含勒索软件的恶意软件包。

越来越多地采用开源

不良行为者瞄准开源的主要原因之一是它在过去十年中的高采用率。 

如果你看看像微软这样的公司的演变,你会注意到他们从 1998 年对开源运动的敌意转变为不仅收购了 GitHub,而且最近收购了 npm。一家从字面上说“ Linux 是癌症”(2001 年)到“微软爱 Linux ”(2014 年)的公司就是一个很好的例子,说明开源软件的增长如何迫使科技行业采取不同的行动和思考方式。   

它甚至影响了流行文化:天才、孤独的程序员在黑暗的地下室中独自工作并且是令人兴奋的软件的唯一创造者的电影原型现在有点过时了(如果还是你,你已经赢得了我的尊重!)。由于市场需求迫使公司加快开发速度,今天的编程更多的是集体努力:一些专有代码和大约90% 的开源组件的拼贴。 

开源存储库的优点在于它们是免费的,并且对所有人开放。不幸的是,这也包括坏演员。软件开发人员——凭借他们更高的访问权限、强大的笔记本电脑,以及在某些情况下不喜欢安全流程——成为在供应链中分发恶意软件的完美工具。然后,攻击者可以安装后门程序、加密矿工、勒索软件,等等……甚至转向其他构建或依赖项。 

所有这一切都意味着,作为一名受益于开源组件的软件工程师,您很容易受到攻击。

有多脆弱? 

好吧,这取决于您受到的保护程度。

保护软件供应链

如果每次向项目中添加组件时都检查 IDE 中的漏洞,并选择最健康的可用版本,那么您将受到更多保护。按照我们的类比,您的门窗将被锁定,窃贼将很难闯入。

但是,如果您不太关心组件安全性,并且无意中将注册表中的恶意程序包添加到 CI/CD 管道中,那么您最终可能会部署恶意软件。打开窗户,窃贼更容易进入。他们会闯入你的家。他们会从你那里偷东西。 

城堡学说是一项法律原则,规定您有权使用合理的武力来保护自己免受家中入侵者的侵害。作为一名软件开发人员,了解网络犯罪的危险并熟悉该主题,是反击现在比毒品交易更大的对手的最佳方式。 

一个好的第一步是确定术语。

恶意软件与漏洞

随着网络安全在公众眼中不断变化,从相当于防病毒和防火墙的领域转变为具有各种行话的多方面领域,您经常会发现记者、技术专家和政策制定者陷入可能难以理解的术语中,让独自行动。 

当您注意到“漏洞”和“恶意软件”这两个术语可以互换使用时,您可能正在看新闻、随意滚动浏览一个不起眼的帖子,或者甚至在听行业会议上的演示文稿。 

如果您想让网络安全专业人士畏缩,只需在您真正谈论“漏洞”时说“恶意软件”,反之亦然。它们是不同的术语是有原因的,所以让我们一劳永逸地定义它们,希望能消除任何混淆。

漏洞:系统中可能被威胁参与者利用的弱点。在我们的类比中,漏洞就是打开的窗口。当漏洞的详细信息被披露时,他们会被分配一个CVE(常见漏洞和暴露)标识。不过,有些人可能希望将他们的发现保密,而不是报告漏洞,他们可能会在补丁发布或实施之前积极利用它。这就是所谓的“零日”。   

恶意软件:故意插入系统并打算执行未经授权的过程的恶意代码或软件。在我们的类比中,恶意软件将是通过进入房屋利用漏洞(打开窗口)的小偷。恶意软件可以根据其功能进行分类:广告软件、特洛伊木马、蠕虫、间谍软件、病毒、勒索软件、加密程序,甚至是混合软件。他们经常被创造性地命名。 

有一个有趣的测验页面会向您显示 Wifisfuneral、Gh0stRAT 和 CozyDuke 等名称,您必须确定它们是说唱歌手还是恶意软件。试一试,不要害怕失败:说唱爱好者的平均得分为 70%,网络安全专业人士的平均得分为 61%。尚未报告开发人员的分数。 

https://promon.co/rapper-or-malware/

开发人员已经有很多事情在工作中。不必了解每一个被披露的恶意软件或漏洞。但我们的统计数据显示它们每周都在增长,因此对恶意软件包进行自动防御是可行的方法。 

不良行为者试图利用您的构建环境。

你准备好反击了吗?

相关文章:

  • MySQL之事务、锁
  • 项目第二天
  • Windows与网络基础-10-windows用户管理
  • 计算机网络笔记(王道考研) 第三章:数据链路层
  • apifox 提取cookie字段添加自动鉴权
  • ATF启动(一):整体启动流程
  • 25. Python 字符串的切片方法
  • 接口测试自动化脚本框架4
  • HadoopSpark
  • 51单片机4位抢答器_倒计时可调仿真设计
  • 设计模式之模板方法模式的理解
  • 小型功率放大器的设计与制作——功率放大器电路总结
  • 接口测试自动化脚本框架5
  • Elasticsearch ik分词器的安装和使用
  • 【Spring Authorization Server 系列】(四)JWS 的签名方式
  • Druid 在有赞的实践
  • ES10 特性的完整指南
  • ES6之路之模块详解
  • JavaScript HTML DOM
  • 大快搜索数据爬虫技术实例安装教学篇
  • 简单易用的leetcode开发测试工具(npm)
  • 跨域
  • 如何设计一个比特币钱包服务
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 自动记录MySQL慢查询快照脚本
  • 数据可视化之下发图实践
  • ​2020 年大前端技术趋势解读
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (附源码)spring boot智能服药提醒app 毕业设计 102151
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (强烈推荐)移动端音视频从零到上手(下)
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (四)linux文件内容查看
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (转)项目管理杂谈-我所期望的新人
  • .gitignore文件---让git自动忽略指定文件
  • .Net 4.0并行库实用性演练
  • .Net IE10 _doPostBack 未定义
  • .Net mvc总结
  • .NET 命令行参数包含应用程序路径吗?
  • .net(C#)中String.Format如何使用
  • .net图片验证码生成、点击刷新及验证输入是否正确
  • .NET正则基础之——正则委托
  • .Net中的设计模式——Factory Method模式
  • @ModelAttribute注解使用
  • [ vulhub漏洞复现篇 ] Apache Flink目录遍历(CVE-2020-17519)
  • [2016.7 day.5] T2
  • [ABC294Ex] K-Coloring
  • [C#]使用PaddleInference图片旋转四种角度检测
  • [C++]指针与结构体
  • [C语言]——分支和循环(4)