“如果攻击者能够渗透到像log4j这样的流行库中,它们将很快在世界上大多数数据中心内以特权运行。”
— Jeff Williams, Contrast Security (2018)

为什么今天的网络安全威胁更具威胁性,以及它们与我们过去遇到的障碍有何不同

在过去的两年中,勒索软件的兴起只是冰山一角。头版头条新闻和有害软件供应链攻击的揭露将网络安全提升到许多政府和组织的首要议程。与此同时,即使是普通大众也意识到了Nation-State主义者和犯罪组织带来了一系列新的网络威胁。
在我写这篇文章的时候Log4Shell已经发生了。所以这成为我将要分享的最好的例子–为什么现在的网络威胁更具威胁性。
我需要告诉你的是,网络安全威胁的性质不同于我们过去所面临的挑战–从技术复杂性到日益增长的相互依赖。因此,攻击者抓住机会的速度比我们的缓解要快得多。但首先让我们谈谈什么是Log4Shell。

Log4j 0-day 漏洞(又称"Log4Shell")(CVE-2021–44228 & CVE-2021–45046)

世界各地的公司都在努力降低多年来发现的最重要的开源软件安全漏洞造成的损害。过去二十年中,在无数Java应用程序中使用了一个名为Log4j的程序,该程序中的一个缺陷,迫使几乎每家公司都在调查它们的软件以确定是否容易受到攻击。
Zero-day 漏洞 (CVE-2021–44228)于2021年12月9日公布,被称为Log4j或Log4Shell,它目前正成为攻击目标。因此CVE-2021-44228被指定为最高的“严重”性评级,风险评分为10/10。
在我撰写本文时,出现了第二个漏洞,记录为CVE-2021-45046。根据MITRE的说法,新漏洞CVE 2021-45046的描述表明,在Apache Log4j 2.15.0中解决CVE-2021-44228的修复程序“在某些非默认配置中不完整”。

Updated Log4j CVEs Summary

  • CVE-2021-44228(CVSS评分:10.0)–影响Log4j 2.0-beta9到 2.14.1版本的远程代码执行漏洞(2.15.0 版本中已修复)
  • CVE-2021-45046(CVSS评分:9.0)–影响从Log4j 2.0-beta9到2.15.0版本的信息泄漏和远程代码执行漏洞,不包括 2.12.2(在 2.16.0 版本中已修复)
  • CVE-2021-45105(CVSS评分:7.5)–影响从Log4j 2.0-beta9到2.16.0版本的拒绝服务漏洞(已在2.17.0版中修复)
  • CVE-2021-4104(CVSS评分:8.1)–影响Log4j 1.2版的不受信任的反序列化缺陷(无修复程序;直接升级到2.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)
Apache Log4j2版本2.0-alpha1到2.16.0(不包括2.12.3)不能防止自引用查找不受控制的递归。这允许控制线程上下文映射数据的攻击者在解释精心设计的字符串时导致拒绝服务。此问题已在Log4j 2.17.0和2.12.3中修复。

网络犯罪的性质

当我们观察 20 年前的网络犯罪分子时,他们必须非常技术化–我们在电影中看到的“真正的黑客”戴着兜帽,在键盘上快速着打字。现在网络犯罪的入门门槛低,并且网络犯罪正在成为一种服务。
当今最有利可图的网络犯罪活动是勒索软件,它会滋生更危险的威胁并需要更具创新性的网络防御。例如,勒索软件即服务 (RaaS) 为非技术犯罪分子提供了利用网络勒索的机会。然而,鉴于威胁格局的快速变化,真正的挑战是了解风险。
黑客可以从更复杂的网络犯罪中获利的另一种方式是为网络犯罪提供“基础设施即服务”。该领域的那些人提供服务和基础设施–包括防弹托管和僵尸网络租赁–其他不法分子利用这些服务和基础设施来完成他们肮脏的工作。
防弹托管可帮助网络犯罪分子将网页和服务器放在Internet上,而不必担心被执法部门删除。网络犯罪分子可以支付僵尸网络租用费用,让他们可以临时访问受感染计算机网络,用于分发垃圾邮件或DDoS攻击等等。

复杂性与相互依赖性

要明确的是,这不是我们第一次遇到这样的假期破坏者。上一次遇到这样的危机是2014年在OpenSSL中发现Heartbleed漏洞的时候。难道我们不应该从错误中吸取教训吗?
几乎所有主要科技企业公司都同意向一个基金捐款,以维护OpenSSL和其他关键开源项目的安全。然而,还有两个更复杂的问题:

  1. 规模:Java长期以来一直是最著名的企业软件编程语言之一,Log4j是Java应用中最流行的日志工具之一。
  2. 如何构建软件:Log4j也被用于各种开源软件程序中,这些程序通常作为其他软件的基础。

在过去的二十年中,开源软件导致了企业软件创新的爆炸式增长。尽管如此,这个世界上还有一个公开的秘密:许多著名和突出的开源项目都是由少数人维护的,他们不一定有偿去做这项工作。
然而,问题不在于缺少资金:有太多的开源项目被用来构建世界上一些最关键的软件,而仅仅确定需要支持的软件就是一个巨大的挑战。

更多方面的攻击 — IoT(示例)

即使像微软这样的主要技术公司已经改善了他们的安全态势,但今天的攻击面也比以前更广泛。造成这一原因的一个特殊贡献者是物联网(IoT)设备。
黑客可以使设备脱机的方法之一就是发送使机器崩溃的恶意数据包。 另一件事是当他们可以在设备上执行代码时,这就打开了在网络上持久化或横向移动到其他类型目标的可能性。
与大型机服务器、台式计算机、笔记本电脑和移动设备不同,从安全角度来看,物联网很难更新。这不是简单的“做或不做”的意识形态,而是局限性导致物联网安全面临挑战。
许多物联网设备都设计得非常小,并且功率刚好满足特定的功能需求。因此,没有足够的内存、存储或 CPU 功能来容纳安全更新。 所以对于大多数在野外运行的物联网来说修补是不可能的。
今年8月,Realtek警告称其WiFi模块中的三个SDK存在四个漏洞。根据该公告,可能有近一百万台易受攻击的设备处于使用中,这包括VoIP设备、无线路由器、中继器、IP摄像机、智能照明控制,可能还包括任何采用该芯片设计的WiFi连接设备。
以Realtek为例,修复涉及更新相关产品的固件,这会引入多种困难:

  • 查找正在使用的物联网设备是否包含该芯片组;
  • 查看设备是否处于易受攻击的版本下;
  • 更新固件。

更新固件通常涉及到直接访问设备。在大多数情况下这是另一个挑战,这些物联网设备可能位于难以到达的位置(天花板、油箱内、另一台机器内…)。
也许值得补充的是,每个人都可以使用Shodan漏洞搜索引擎找到受影响的硬件,这意味着黑客也可以这样做。

回到BlackHat 2016,Log4Shell被发现。

最后,还有一个提醒,我们应该更加关注安全研究。例如,在 Black Hat USA 2016中,Alvaro Muñoz 和 Oleksandr Mirosh 研究了JNDI问题。
虽然没有具体命名Log4j,但它是Log4j使用底层接口中的缺陷。当然,知道Log4Shell是一个“我早就告诉过你了”对所有安全专业人员来说都没有什么好处,他们正以110%的速度努力解决这个问题。
然而,知道它是在2016年发现的,这凸显了让安全团队能够从研究中获取相关信息的重要性,以及将这些经验教训应用于组织自己的基础架构和实践所需的资源(时间,金钱等)。

建议 --再次强调,零信任和纵深防御

经验证的安全原则,如纵深防御和零信任框架,也可以发挥重要作用。许多安全团队非常了解这些概念,并希望将其应用于组织的软件和解决方案部署。
然而,它们经常遇到其他利益相关者的抵制,或者缺乏部署它们的资源。正如我之前提到的,我们仍在实现这一目标的旅程中。
希望随着自动化(例如基础架构即代码,主要用于围绕 CI/CD 构建的现代管道)的日益普及,使安全团队能够与开发人员合作,从一开始就跨多个系统构建起更安全的解决方案。
零信任原则在主机、应用程序和网络级别也起着至关重要的作用。 例如在主机级别利用Log4j的进程需要哪些实际权限和功能。越来越多的行为监控(EDR、NDR 和 XDR)与运行时保护可以作为一种强大的组合来减轻被利用系统的影响。
值得注意的是,零信任访问通过网络级别的微分段来体现自己。由于Log4Shell是一个两阶段攻击–其中有效负载必须从攻击者控制的系统中下载 --隔离受感染系统的能力是有利的。

最后的话–软件内部的定时炸弹

无论是Log4j还是Realtek漏洞–都是冰山一角。 在蠕虫和病毒准备削弱网络的重要部分的早期,我们作为一个行业没有做任何事情:我们没有实施更好的技术,减少我们的攻击面,或解决代码库中的内存损坏问题。
要了解IT/OT/IoT连接基础背后真正的危险,还有很多的工作要做。但是我们可以参与查找漏洞,修复它们,并且提供更高级别的解决方案的各方力量越多,我们就能越快地过渡到更安全的世界。

软件内部的定时炸弹:0-Day Log4Shell只是冰山一角相关推荐

  1. c# 低功耗蓝牙_C#建立从笔记本电脑内部蓝牙4.0到蓝牙低功耗(BLE)外设的流

    我正在尝试编写一个连接到蓝牙低功耗设备(BLE)的程序,然后在更新或给定间隔内读取特征. 我的外设是德州仪器CC2540 BLE设备. 然而,这使用了加密狗,我的任务是使用内部蓝牙4.0调制解调器(稍 ...

  2. VR眼镜连接android设备,华为VR眼镜和电脑如何连接 投屏软件PCVR Assistant 2.0使用教程...

    HUAWEI VR Glass如何连接电脑?HUAWEI VR Glass在电脑上如何使用?华为投屏软件PCVR Assistant 2.0如何使用?华为VR眼镜主打轻薄,能调节近视,支持联动多种设备 ...

  3. 基于MPS先进CFD软件Prometech.ParticleWorks.6.0.0.161003

    基于MPS先进CFD软件Prometech.ParticleWorks.6.0.0.161003    Particleworks非常适合处理复杂机械系统的刚柔-柔柔耦合.复杂接触与碰撞等方面的问题, ...

  4. 推荐一款聚合阅读软件: 阅读 3.0

    文章首发于个人公众号「阿拉平平」 需要资源的小伙伴可于公众号后台回复 阅读 获取. 相信大家平时多少会有看书的需求,一款好的阅读软件可以带来愉快的阅读体验,而糟糕的阅读软件则不乏弹窗广告以及臃肿无用的 ...

  5. 维棠FLV视频下载软件(1.3.0.7)绿色版

    维棠FLV视频下载软件(1.3.0.7)去广告绿色版 2015年03月 维棠FLV视频下载软件针对FLV视频分享站的特点,支持对y0utube.土豆网.56网以及Mofile网等最火热的视频分享站的F ...

  6. 好压软件测试大乐,国产压缩软件好压2.0 Beta完全评测

    好压压缩软件(HaoZip)是国内自主研发的最大的免费压缩软件,压缩率比同类软件高出10%~30%.无论在速度,易用性还是安全性方面均表现出色,并且更新速度快,兼容性好,支持格式多达46种. 软件小档 ...

  7. 实用小工具:语音朗读软件—朗读女4.0正式版

    之前我们发过朗读女的3.0版本,还是比较喜欢这款小巧的软件的.软件本身很小,只有1M多的样子,但是如果不下载语音库的话,会使用windows7自带的语音库,大家都知道,自带的那声音的确不怎么样,所以我 ...

  8. 照片后期处理软件DxO PhotoLab 3.0.0 Build 4210 完美汉化版

    照片后期处理软件DxO PhotoLab 3.0.0 Build 4210 完美汉化版 DxO PhotoLab是一款专业的raw图片处理软件,可以让用户以最佳图像质量轻松生成RAW和JPEG图像,并 ...

  9. 《中国汽车基础软件发展白皮书2.0》正式发布!(附下载)

    构建汽车产业新生态 2021年9月25-28日,"2021世界智能网联汽车大会"在北京顺利举办,9月26日,中国汽车基础软件生态委员会(以下简称"AUTOSEMO&quo ...

  10. 不现实的“机器化软件人假设” v2.0与“容许自由的温和家长制”助推

    注意:本文已过时.请看最新版:2023-07-05修订版:不现实的"机器化软件人假设"v2.0与"容许自由的温和家长制"助推 https://zhuanlan. ...

最新文章

  1. 电阻应用电路之上下拉电阻
  2. 【转】Linux Netfilter实现机制和扩展技术
  3. 嵌入式Linux入门10:编译管理Makefile
  4. 直接访问 可以拿到cookie 本地起的服务拿不到 cookie_微服务下的分布式session管理...
  5. 你们小时候绝对没玩过的游戏
  6. Hive和hdfs的关系与区别
  7. 程序员“不会”修电脑的原因
  8. iOS应用的真机调试
  9. PPT设置自动保存时间 mac_第17期分享:如何控制PPT演讲汇报时间?
  10. 安装配置fcitx输入法
  11. PowerBI学习笔记
  12. 软件调试修炼之道之——山重水复疑无路
  13. net_speeder发双倍包加速
  14. 数据库全栈工程师(DevDBOps)低首付、高回报,先就业后付款
  15. c语言arg是什么函数,arg函数(arg辐角公式)
  16. iMac 2019一体机开箱体验,其内存是什么牌子,怎样换iMac内存?
  17. 软件测试工程师简历项目经验怎么写?--1000个已成功入职的软件测试工程师简历范文模板(真实简历)
  18. 计算机ppt总结,计算机基础课件总结.ppt
  19. AIWIN 心电图智能诊断Baseline【线上0.719】
  20. python实验室怎么样_跟老齐学Python之一个免费的实验室

热门文章

  1. 仿人机器人运动控制技术探讨
  2. 梶田秀司 仿人机器人学习笔记(一)书本第一章
  3. 计算机动画设计论文,计算机动画设计论文.docx
  4. 图像二值化——最大类间方差法(Ostu,大津法)
  5. nEO iMAGING——400K的图像处理软件(应急处理照片的好帮手)
  6. ipa在线安装搭建_免电脑 iOS 12 一键越狱+手机端直接自动安装插件教程
  7. spring-boot-starter-data-jpa详细使用介绍
  8. 基于matlab的天线方向图
  9. 平面阵列天线的3D方向图的Python综合
  10. 用npm安装yarn