快手、孩子王、华为等专家分享大模型在电商运营、母婴消费、翻译等行业场景的实际应用 了解详情
写点什么

以 Log4j 为例,如何评估和划分安全风险

作者:Owen Garrett

  • 2022-04-28
  • 本文字数:2753 字

    阅读完需:约 9 分钟

以Log4j为例,如何评估和划分安全风险

开源软件支撑着绝大多数面向互联网的应用程序。这类项目的可用性、可获取性和质量提升了企业的创新能力,并帮助它们取得成功。它们是很好的公共产品,应该受到赞美和保护。


开源的普遍存在意味着任何已经被发现的漏洞都会产生深远的影响。攻击者看到了巨大的机会,大量的企业和用户必须快速做出响应,在他们开发的应用程序以及使用的第三方应用程序和组件中识别易受攻击的软件实例。


事实上,软件漏洞是很常见的。那么,安全专业人员如何评估漏洞可能带来的风险,并将组织的精力集中在修复那些最重要的漏洞上呢?


建立全面的可见性——你无法保护你看不到的东西


安全团队负责整个应用程序的完整性,包括所有不是由企业开发人员开发的开源组件和第三方依赖项。人们已经做了很多工作来改进软件开发过程的安全性,并通过“左移”计划和 SBOM(Software Bill of Materials,软件物料清单)来跟踪依赖项,让部署到生产环境中的代码具有高度的安全性。但是,每当有新漏洞被发布时,该如何快速识别已经部署到生产环境中的代码在哪些地方将会出现这些漏洞?安全程序的第一步通常是全面获取整个 CI/CD 管道范围内的应用程序代码安全性的可见性,一直从构建阶段到部署阶段,并跨越所有的应用程序和基础设施,包括运行的容器、Kubernetes、云供应商、虚拟机和/或裸机。消除你的盲点,以便尽早检测到并降低攻击的破坏性。


关注最重要的东西:可利用性与脆弱性


在获得全面的可见性之后,组织经常会看到大型的基础设施中存在数以万计的漏洞。然而,理论上的漏洞列表几乎没有什么实际用途。在企业可以花时间修复的所有漏洞中,最重要的是要找出哪些漏洞对应用程序的安全性影响最大,因此必须首先修复它们。


为了找出这些漏洞,关键在于要了解脆弱性(Vulnerability,在已部署的软件中可被攻击者利用从而产生特定结果的弱点)与可利用性(Exploitability,可被攻击者用于获取利益的攻击路径)之间的区别。


需要高级别和本地访问权限的漏洞通常较少受到关注,因为对于远程攻击者来说要获得攻击路径比较困难(除非攻击者已经获得访问本地主机的高级权限,他们才有机会获得进一步的控制权)。值得关注的是可能由以下因素触发的漏洞,例如,不会被防火墙设备过滤的远程网络流量,以及直接从不可信的网络源接收流量的主机。


评估和划分潜在的漏洞利用


在根据漏洞的可利用性对其进行划分并以此来确定修复优先级时,你需要考虑以下的部分或全部标准:


  • 漏洞的严重程度:CVSS(Common Vulnerability Scoring System,通用漏洞评分系统)分数为漏洞的严重程度提供了一个基线,可用于对漏洞进行比较。然而,CVSS 分数并没有考虑实际的应用程序和基础设施的上下文,所以离获得准确的信息存在一定的差距。

  • 攻击向量——网络与本地系统访问:网络访问漏洞通常是攻击的第一步,而本地系统访问漏洞要在攻击者进入应用程序后才能发挥作用。这意味着你需要立即封掉任何会导致服务受攻击的网络攻击路径,同时找到服务节点上潜在的攻击行为,并采取纠正措施。

  • 贴近攻击表面:是否存在一种攻击路径,攻击者可以通过该路径到达并利用该漏洞?在考虑攻击路径时,需要考虑攻击者可能会绕过防火墙、负载平衡器、代理和其他跳转点,并解决其中的任何一个攻击点,同时让开发人员更新、测试和重新部署易受攻击的应用程序。

  • 网络连接的存在:尽管所有可以从外部触及的漏洞都值得关注,但带有通用网络连接的应用程序的漏洞是最值得关注的。攻击者通常会使用侦察(Recon)技术发现这些漏洞。


这里的关键是将运行时上下文添加到漏洞数据中,这样就能够识别最容易被利用的漏洞,并确定首先要修补哪些漏洞,因为它们对应用程序的安全性构成了最大的危险。


考虑使用开源的ThreatMapper等工具来帮助你识别最容易被利用的漏洞。随着条件发生变化,你需要持续不断地运行这样的工具,将安全工作放在在最需要的地方。


限制侦察活动


攻击者通常会根据事先准备好的剧本,使用在MITRE ATT&CK中记录的战术和技术展开攻击活动。这些战术遵循的是网络杀伤链等模型,从侦察活动开始,然后再进行初步的攻击。最初的攻击通常旨在获得有限的本地控制权,然后攻击者就有了大量的选择来探索、升级特权、安装持久控制系统和侦察邻近的系统,以便横向传播并找到更大的战利品。


要限制侦察活动的有效性,首先要确定攻击者可能采取的攻击路径。为了实现双保险,确保每一条攻击路径都有过滤技术保护:


  • 通过 WAF 捕获并丢弃已知的侦察流量;

  • 使用基于协议和源的过滤技术来限制能够访问这些路径的客户端;

  • 使用额外的应用程序级过滤:

  • 确保事务经过身份验证;

  • 对于 API 流量,确保事务来自可信的客户端。


ThreatMapper 可以可视化最容易被利用的漏洞的攻击路径,这样你就可以确定如何将它们关闭。


收集“攻击指标”和“损害指标”


尽管已经尽了最大的努力来保护攻击表面并限制了可见性,但仍然可能由于各种原因发生攻击——零日攻击、蓄意破坏供应链、对影子 IT 和其他非托管资产缺乏可见性,等等。通过NVD发布的 CVE 大约是每天50个,因此在产品中发现新漏洞的可能性非常大。


因此,另一条关键的防线是监控内部网络、主机和工作负载的攻击指标(IoA)和损害指标(IoC)。


IoA 可以包括来自不寻常来源的探测、侦察流量,或者可能表明存在 C2C(容器到容器)网络、远程遥测或泄漏企图的网络流量。IoC 表明主机出现了问题,攻击者已经进入,包括异常的进程行为、文件系统访问或文件系统修改。


建议构建“红色团队”功能,让它定期扫描应用程序,找出攻击信号及其对组织的影响。寻找一些可以帮助你自动化和管理大量 IoA 和 IoC 事件的工具,包括最小化误报、存储事件以供后续的分析,最重要的是将事件关联起来,以便了解攻击特征以及这些攻击对应用程序的渗透情况。有了这些知识,你就可以部署有针对性的对策,阻止来自内部或外部的侦察或攻击流量,并隔离受损的工作负载。


结论


Log4j 告诉我们,漏洞是不可避免的,但这不应该成为阻止组织使用开源代码作为创新和实现其他有价值的目标的障碍。在指导组织开展安全工作时,安全主管们可以获取跨所有基础设施的应用程序流量的全面可见性,结合漏洞可利用性评估和优先级排序的策略,在寻找攻击痕迹时持续保持警惕,降低与 Log4j 和下一个重大漏洞相关的风险。


作者简介


Owen Garrett 是 Deepfence 公司的产品和社区主管,为 Deepfence 的安全技术制定开源战略。他以他在 Riverbed、NGINX 和 F5 等公司 20 年的软件工程和产品领导经验为基础,在 Deepfence 指导公司的路线图,为云原生应用创建一个开源的“安全和可观察性”平台。在加入 Deepfence 之前,Owen 领导 NGINX 的产品开发,让 NGINX 发展成为部署最为广泛的开源项目之一,保护了超过 5 亿个网站,成为无数生态系统项目的核心。Owen 在网络技术方面拥有多项专利,经常在技术会议上发表演讲,是行业活动的思想领袖。


原文链接

Strategies for Assessing and Prioritizing Security Risks Such as Log4j

2022-04-28 09:582574

评论

发布
暂无评论
发现更多内容

多版本并行,测试如何做好质量保障?

老张

质量保障 版本迭代

十年磨一剑,华为云数据灾备解决方案为你解决后顾之忧

科技之光

Java中的抽象类详解

共饮一杯无

Java 抽象类 10月月更

“程”风破浪的开发者|THREE.JS实现看房自由(VR看房)

知心宝贝

前端 three.js 元宇宙 VR看房 “程”风破浪的开发者

华为云灾备解决方案,助力企业高效构建安全合规云灾备系统

科技之光

技术强、资源多,华为云等保合规解决方案助力企业快速过等保!

科技之光

你的下一个电脑桌面,为何是云桌面?

科技之光

Rocksdb dynamic-level-bytes测试简单记录

TiDB 社区干货传送门

实践案例 管理与运维

华为云,高品质保障企业的等保安全

科技之光

深度解决企业传统办公痛点,华为云桌面使能云上办公!

科技之光

可适配多企业需求,华为云等保合规安全解决方案选择灵活!

科技之光

Docker | 容器数据卷详解

甜点cc

Docker 前端 10月月更

万物皆可DAO?一文带你全方位解读DAO类型

One Block Community

区块链 开发者 治理 DAO web3、

TiCDC 实践:TiDB 到 TiDB 增量数据迁移

TiDB 社区干货传送门

迁移

TiDB v6.1.0 及 TiUniManager 在 openEuler 22.03 中的部署踩坑实践

TiDB 社区干货传送门

实践案例 管理与运维 安装 & 部署 应用适配 6.x 实践

一大波开发者岗位来袭!多家公链、投资机构抛出橄榄枝

TinTinLand

开发者 招聘 程序员、 互联网行业薪资 区块链、

2022年10月《中国数据库行业分析报告》重磅发布!精彩抢先看

墨天轮

数据库 oceanbase Milvus 向量计算 向量数据库

全球累计用户达300万+,华为云桌面综合体验优秀!

科技之光

新来个技术总监,仅花2小时,撸出一个多线程永动任务,看完直接跪了,真牛逼!

小小怪下士

Java 程序员 多线程

Docker | 部署nginx服务

甜点cc

nginx Docker 10月月更

git-secret:在 Git 存储库中加密和存储密钥(下)

SEAL安全

git 加密 makefile 密钥管理 10月月更

华为云,助力企业快速省心过等保

科技之光

OpenHarmony轻量系统中内核资源主要管理方式

OpenHarmony开发者

OpenHarmony

华为云,中小型企业的等保安全专家

科技之光

及时恢复,华为云灾备数据解决方案让你无忧办公

科技之光

Hacker 资讯 | 10 月中旬区块链黑客松活动汇总

TinTinLand

创业 defi 区块链、 黑客马拉松 web3、

企业信息安全受威胁?且看华为云灾备如何破解

科技之光

Docker | 镜像浅析,以及制作自己的镜像

甜点cc

Docker tomcat 10月月更

华为云CDN使能千行百业,业务价值不断凸显!

科技之光

华为云灾备服务,如何守护云上数据

科技之光

打造全栈安全防护体系,华为云等保合规解决方案帮企业30天过等保

科技之光

以Log4j为例,如何评估和划分安全风险_语言 & 开发_InfoQ精选文章