当前位置: 首页 > 科技观察

软件内部的定时炸弹:0-DayLog4Shell只是冰山一角_0

时间:2023-03-19 21:35:58 科技观察

【.com快速翻译】“如果攻击者能够渗透到像log4j这样流行的库,他们很快就会在世界上大多数数据中心以特权运行”—JeffWilliams,对比安全(2018)为什么今天的网络安全威胁更加危险,以及它们与我们过去遇到的障碍有何不同过去两年勒索软件的兴起只是冰山一角。头版头条和有害软件供应链攻击的揭露已将网络安全提升到许多政府和组织的首要议程。与此同时,即使是普通大众也意识到了民族国家主义者和有组织犯罪带来的一系列新的网络威胁。在我写这篇文章时,Log4Shell已经在发生了。所以这成为我要分享的最好的例子——为什么网络威胁现在更具威胁性。我需要告诉你的是,网络安全威胁的性质不同于我们过去面临的挑战——从技术复杂性到日益增长的相互依存性。因此,攻击者可以比我们的缓解措施更快地抓住机会。但首先让我们谈谈什么是Log4Shell。Log4j0日漏洞(又名“Log4Shell”)(CVE-2021–44228和CVE-2021–45046)世界各地的公司都在努力减少多年来发现的最重要的开源软件安全漏洞造成的损害。在过去二十年中无数Java应用程序中使用了名为Log4j的程序中的一个缺陷,迫使几乎每家公司都调查他们的软件,看看它是否容易受到攻击。零日漏洞(CVE-2021–44228)于2021年12月9日公布,称为Log4j或Log4Shell,目前已成为攻击目标。因此,CVE-2021-44228被指定为最高的“严重”严重性等级,风险评分为10/10。在我撰写本文时,存在第二个漏洞,记录为CVE-2021-45046。根据MITRE,新漏洞CVE2021-45046的描述表明ApacheLog4j2.15.0中对CVE-2021-44228的修复“在某些非默认配置中不完整”。更新了Log4jCVEsSummaryCVE-2021-44228(CVSSscore:10.0)--影响Log4j2.0-beta9到2.14.1版本的远程代码执行漏洞(在版本2.15.0中修复)CVE-2021-45046(CVSSscore:9.0)--影响Log4j2.0-beta9到2.15.0版本的信息泄露和远程代码执行漏洞,不包括2.12.2(2.16.0版本修复)CVE-2021-45105(CVSS评分:7.5)--影响Log4j的拒绝服务漏洞version2.0-beta9to2.16.0(fixedinversion2.17.0)CVE-2021-4104(CVSSscore:8.1)--UntrusteddeserializationaffectedLog4jversion1.2Defect(nofix;upgradedirectlytoversion2.17.0)为什么是这个错误如此有害?大多数安全漏洞需要一定程度的专业知识才能被利用。但是名为“Log4Shell”的程序只需要很少的努力。1.大多数软件(实际上是所有商业软件)都会记录软件运行时的所有活动,以便开发人员和运营商可以在用户遇到问题时查看并找出问题所在。2.活动包括用户在网站上输入表格的击键。3.Log4Shell漏洞允许攻击者将精心制作的字符串输入到Web表单中,该表单一旦登录,就会控制运行它的计算机下载恶意代码。4.根据应用程序决定记录的数据,这个恶意字符串可以在从针对Web服务器的HTTP用户代理到Minecraft中的聊天室消息的所有内容中找到。5.当时那台电脑被“劫持”了。6.旨在利用该漏洞的恶意软件在周日晚上开始传播。7.然后攻击者对受影响的系统进行进一步的利用,如安装加密挖矿软件、勒索软件等,利用该漏洞的结果是完全控制了被感染的系统。此外,无论身份验证如何,都可以利用此漏洞,增加整体严重性、规模和潜在影响,因此CVSS得分异常高。据MITRE和ZDNet称,到目前为止,攻击者已经利用该漏洞:在易受攻击的系统上安装加密矿工;窃取系统凭据(被盗凭据);部署勒索软件;在受损网络中隐藏得更深(持久性);窃取数据。建议目前,Log4j易受攻击的版本从2.0到2.14.1不等。此外,已弃用的1.X中仍然存在潜在的错误。一个合理的解决方案是安装当前可用的补丁版本的Log4j来解决这个漏洞,即Log4j版本2.16.0。此外,端点检测和响应(EDR)、Web应用程序防火墙(WAF)和入侵检测系统(IPS)等网络安全解决方案正试图通过提供“虚拟补丁”来缓解此问题。更新-2021年12月20日(CVE-2021–45105)ApacheLog4j2版本2.0-alpha1到2.16.0(不包括2.12.3)不会阻止自引用查找的不受控制的递归。这允许控制线程上下文映射数据的攻击者在解释精心制作的字符串时导致拒绝服务。此问题已在Log4j2.17.0和2.12.3中修复。网络犯罪的本质当我们审视20年前的网络犯罪分子时,他们必须非常精通技术——我们在电影中看到的“真正的黑客”戴着头巾,在键盘上敲打。现在网络犯罪的进入门槛很低,网络犯罪正在成为一种服务。当今最有利可图的网络犯罪活动是勒索软件,它滋生了更多危险威胁,需要更具创新性的网络防御。例如,勒索软件即服务(RaaS)为非技术犯罪分子提供了利用网络勒索的机会。然而,鉴于快速变化的威胁形势,真正的挑战是了解风险。黑客从更复杂的网络犯罪中获利的另一种方式是为网络犯罪提供“基础设施即服务”。该领域的人员提供服务和基础设施——包括防弹托管和僵尸网络租赁——其他坏人用来做他们肮脏的工作。防弹托管可帮助网络罪犯将网页和服务器放到互联网上,而不必担心被执法部门取缔。网络犯罪分子可以付费租用僵尸网络,让他们可以临时访问受感染计算机网络,这些计算机可用于分发垃圾邮件或DDoS攻击等。复杂性与相互依赖性需要说明的是,这不是我们第一次遇到这样的假期破坏者。上一次遇到这样的危机是在2014年,当时在OpenSSL中发现了Heartbleed漏洞。我们不应该从错误中吸取教训吗?几乎所有大型企业技术公司都同意向基金捐款,以确保OpenSSL和其他关键开源项目的安全。然而,还有两个更复杂的问题:1.规模:Java长期以来一直是企业软件最知名的编程语言之一,而Log4j是Java应用程序最流行的日志记录工具之一。2.软件是如何构建的:Log4j还用于各种开源软件程序中,这些程序通常作为其他软件的基础。在过去的二十年里,开源软件导致了企业软件创新的爆炸式增长。尽管如此,这个世界上还是有一个公开的秘密:许多著名和突出的开源项目都是由少数人维护的,他们不一定是为了做这项工作而得到报酬。然而,问题不在于缺乏资金:有如此多的开源项目用于构建世界上一些最关键的软件,仅仅确定要支持哪些软件就是一个巨大的挑战。更多攻击前沿-物联网(示例)即使像微软这样的主要科技公司已经改善了他们的安全态势,今天的攻击面比以往任何时候都更广。一个特别的贡献者是物联网(IoT)设备。黑客使设备脱机的方法之一是发送使机器崩溃的恶意数据包。另一件事是当他们可以在设备上执行代码时,这就开启了在网络上持久存在或横向移动到其他类型目标的可能性。与大型机服务器、台式电脑、笔记本电脑和移动设备不同,从安全角度来看,物联网很难更新。这不是简单的“做或不做”的意识形态,而是使物联网安全具有挑战性的限制。许多IoT设备都设计得非常小,并且具有足够的功率来满足特定的功能需求。因此,没有足够的内存、存储或CPU能力来容纳安全更新。因此,对于大多数在野外运行的物联网来说,修修补补是不可能的。8月,Realtek就其WiFi模块中的三个SDK中的四个漏洞发出警告。根据公告,可能有近百万个易受攻击的设备在使用中,包括VoIP设备、无线路由器、中继器、IP摄像机、智能照明控制,以及可能使用芯片设备设计的任何WiFi连接。就Realtek而言,修复涉及更新相关产品的固件,这带来了多重困难:查明正在使用的物联网设备是否包含该芯片组;查看设备是否处于易受攻击的版本;更新固件。更新固件通常涉及直接访问设备。在大多数情况下,这是另一个挑战,这些物联网设备可能位于难以到达的位置(天花板、油箱内、另一台机器内……)。也许值得补充的是,每个人都可以使用Shodan漏洞搜索引擎来查找受影响的硬件,这意味着黑客也可以这样做。回到BlackHat2016,发现了Log4Shell。最后提醒大家,要更加重视安全研究。例如,在BlackHatUSA2016上,AlvaroMu?oz和OleksandrMirosh研究了JNDI问题。Log4j虽然没有具体命名,但它是Log4j使用的底层接口的一个缺陷。当然,知道Log4Shell是“我告诉过你的”对任何安全专业人员都没有任何好处,他们正在110%地努力解决这个问题。然而,知道它是在2016年被发现的,这凸显了让安全团队访问研究相关信息的重要性,以及将这些经验教训应用到组织自己的基础设施和实践所需的资源(时间、金钱等)。建议——同样,零信任和深度防御经过验证的安全原则,例如深度防御和零信任框架,也可以发挥重要作用。许多安全团队都非常了解这些概念,并希望将它们应用到他们组织的软件和解决方案部署中。然而,他们经常遇到来自其他利益相关者的阻力,或者缺乏部署他们的资源。正如我之前提到的,我们仍在努力实现目标。希望自动化的日益普及(例如基础设施即代码,主要用于围绕CI/CD构建的现代管道)将使安全团队能够与开发人员合作,从头开始跨多个系统构建更安全的解决方案。零信任原则在主机、应用程序和网络级别也发挥着至关重要的作用。例如,在主机级别使用Log4j的进程需要哪些实际权限和功能。越来越多的行为监控(EDR、NDR和XDR)与运行时保护相结合,可以作为一种强大的组合来减轻被利用系统的影响。值得注意的是,零信任访问通过网络级别的微分段表现出来。由于Log4Shell是一种两阶段攻击——其中必须从攻击者控制的系统下载有效负载——隔离受感染系统的能力是有利的。最后的话——软件内部的定时炸弹,无论是Log4j还是Realtek漏洞——只是冰山一角。在蠕虫和病毒准备削弱网络重要部分的早期,作为一个行业,我们什么也没做:我们没有实施更好的技术,减少我们的攻击面,或解决代码库中的内存损坏问题。要了解IT/OT/IoT连接基础背后的真正危险,还有很多工作要做。但是,我们参与发现漏洞、修复漏洞并提供更高级别解决方案的各方越多,我们就能越快过渡到一个更安全的世界。译者介绍朱刚,社区编辑,2019年CSDN博客高手20强,2020年腾讯云+社区优秀作者。10年一线开发经验,曾参与猎头服务网站架构设计、企业智能客服、大型电子政务系统开发。主导某大型国有企业内部防泄密及电子文档安全监控系统建设,目前在某知名BIM公司从事招投标软件开发工作。原标题:软件内部的定时炸弹:0-DayLog4Shell只是冰山一角,作者:ZenChan