如何利用 Deepfence 来检测和弥补 Log4j2 漏洞(如何利用电脑赚钱的方法)

网友投稿 282 2022-10-03


如何利用 Deepfence 来检测和弥补 Log4j2 漏洞(如何利用电脑赚钱的方法)

与经典的 OpenSSL Heartbleed、Apache Struts 的漏洞类似,log4j2 漏洞对于以数字化为基础的企业所造成的深远影响,远不止打上可用的补丁,以及重新部署应用那么简单。我们往往还需要及时发现、并弥补生产环境与平台中的潜在漏洞。下面,我将向您展示如何使用 Deepfence 的 ThreatMapper 和 ThreatStryker,来实现这一点。

作为一个开源的安全、可观察性平台,Deepfence ThreatMapper(Log4j2 在内的各种漏洞,进而根据漏洞被利用的风险程度,予以排名。也就是说,ThreatMapper 通过进一步计算每个漏洞的利用率,来消减扫描工具所产生的误报,以便您发现和锁定对于应用程序可能构成的最大风险。

Deepfence ThreatStryker(ThreatMapper 的基础上,通过捕获网络流量,识别攻击的特征,洞察攻击者在目标应用中的独特行为,进而通过执行预定义的安全策略,实现立即阻断。

作为一个演示环境,下面是一个存在着 Log4j2 漏洞的 Java 应用容器映像。我将向您展示攻击者是如何远程利用它,以及如何使用 ThreatMapper 和 ThreatStryker 来实时检测和防范针对 Log4j2 的攻击。

如何使用 ThreatMapper 找到最容易被利用的漏洞

请参阅链接 中的步骤 1 到 4,安装 ThreatMapper,并开始您的第一次漏洞扫描。您可以在 ThreatMapper 控制台的“最可利用漏洞(Most Exploitable Vulnerabilities)”报告中,查看到那些最严重的漏洞。

下图向您展示了,我在对演示环境进行扫描之后,发现的最容易被利用的漏洞报告的上半部分。ThreatMapper 不但突出显示了风险最大的漏洞,并显示了那些可能会被利用的攻击路径。您可以在图中位于 HAproxy 的后面,看到 Log4j 容器(已用文本标出,便于您的参考)。这便可以利用 log4j2 漏洞,开展攻击的路径。

当您将鼠标悬停在上述攻击路径中的关键节点上时,您将看到有关该漏洞的相关信息。例如,节点 deepfenceio/log4j-vulnerable-app:latest 具有 Top CVE:CVE-2021-44228 的网络攻击向量类型(Attack Vector type:network)。攻击者可以通过 Port:8080 访问到。

向下滚动页面,您将看到整张排名列表,其中各种详细信息一目了然。

当您单击特定漏洞项时,将能够更加深入地了解、并在表格和 JSON 视图中,查看到详细的信息。在上述演示中,我们单击了排名第一的漏洞 Log4j,并查看到了与之相关的信息。

目前,ThreatMapper 可以提取 50 多种不同的威胁源,并尽可能地为用户提供针对各种特定漏洞的最新威胁源。同时,ThreatMapper 还提供了指向外部资源的链接,以便您获取有关漏洞的最新消息。例如,在表格视图中,您可以看到存在问题的包、它所在的位置(例如它正运行在哪个容器中)、CVSS(Common Vulnerability Scoring System,通用漏洞评分系统)的评分、修复它的版本、以及其他便于您理解其严重性和修复方式的信息。

如何识别 Log4j2 类攻击,并使用 ThreatStryker 予以阻止

为了发现目标系统中是否存在诸如 Log4j2 之类最严重的可利用漏洞,您需要应用临时的 WAF(Web Application Firewall,Web 应用防火墙)规则,来限制攻击者对于此类漏洞的访问和利用,同时也应当与开发团队协作,去优先修复这些漏洞。不过常言道:我们需要知其然,更要知其所以然。不知您是否考虑过如下问题:

攻击者是否已经领先了您一步?攻击者在运用何种尝试来发现漏洞?他们是否已经找到了漏洞利用的入口?他们是否在使用它进行横向扩展,进而在您的应用中获得额外的控制?您是否能立即阻止他们?

对于上述问题,ThreatStryker 正好能够派上用场。ThreatStryker 建立在 ThreatMapper 执行的静态分析之上,添加了运行时(runtime)的检查功能,以确定攻击者为了利用潜在漏洞所做的各项尝试。

通常,ThreatStryker 会从您的应用程序中,捕获两种主要类型的运行时遥测数据(runtime telemetry):

攻击指标:通过深度捕获数据包,它能够发现各种嗅探、横向传播、命令和控制(command-and-control)、渗透、以及其他攻击活动。危害指标:通过在主机上捕获进程和文件系统的异常,它能够发现攻击者是否已成功地利用了那些易受攻击的组件。

由于 ThreatStryker 的数据包捕获(使用 eBPF(译者注:extended Berkeley Packet Filter,是一种可以在 Linux 内核中运行用户编写的程序,而不需要修改内核代码或加载内核模块的技术)来抓取流量,对其进行采样,然后将其与运行时的威胁源进行匹配,以识别出各种类型的恶意流量。

在收集到足够的流量,并完成数据检查和分析后,您将会看到包含如下警报的结果报告。

ThreatStryker 使用网络杀伤链(Cyber Kill Chain)框架(Stage),它会将事件映射到网络杀伤链中,并以上下文的方式,提供攻击类型和严重程度。您只需单击下半部分列表中的某个警报,就能够看到各种深入的详细信息。例如,下图是我在单击了尝试获取管理员权限警报后,所看到的内容。下半部分有一个桑基图(Sankey Diagram)。该图显示了恶意活动随着时间变化,而推进的情况。这方便了您开展追踪,应用策略,以及获悉正在发生的攻击。而上半部分则包括了表格和 JSON 视图。它收录了各种触发警报的详细信息,您可以上下滚动,以查看包括数据包的有效负载、以及违规字符串等大量的表述信息。如图所示,我停留在了臭名昭著的 ${jndi:ldap 字符串处,它便是 Log4j2 攻击的签名。

上面的示例展示了针对入站(或入口)流量的检查。此类检查可以有效地发现、并报告各种利用 Log4j2 漏洞,获取管理员权限的行为。不过,光有入站流量检查显然是不够的。ThreatStryker 也会去检查出站(或出口)流量、以及各种主机上的异常情况。

让我们来查看另一个警报 --Suspicious tracing event process strace /bin/ls -l:23408 trying to ptrace:23409。它是在主机检查中产生的,即:一个进程正在尝试着执行系统追踪。这是在正常操作中并不常见的事件,它指示了攻击者已经找到了破坏容器或应用程序的方法。

孤立地看,这些事件中的每一个都足以引起安全人员的警觉,并且它们表明了攻击的演变阶段。而当 ThreatStryker 为事件添加意图和分类时,它会进一步将各项攻击指标和危害程度关联起来,以描述攻击是如何演变的,以及漏洞被利用的风险是如何增加的。

当然,您也可以使用一系列监控工具,实时跟踪 ThreatStryker 事件日志,或者在 ThreatStryker 中配置好安全措施,以便在目标达到确定性的阈值时,予以干预,并抑制正在发生的攻击。

如下图所示,在 ThreatStryker 的保护策略(Protection Policies)仪表板中,您可以定义各种安全策略(包括隔离策略和网络策略等),以阻止正在进行的各类攻击。

您可能已经注意到了,在该演示环境中,我们尚未创建或设置任何保护策略。为此,请单击网络策略(Network Policies)选项卡,然后单击右上角的添加策略(Add Policy)按钮。您将看到一个选项菜单,并可以在其中选择严重性、警报类型、意图类型等。

接着,您可以在所选的时段内,自定义或无限期地阻止入站和出站流量。

当然,仅靠阻断攻击只能部分解决问题。对此,ThreatStryker 还可以识别主机上已发生的攻击事件,包括:异常的文件系统篡改、进程活动、以及主机或负载已被攻陷等状况。对此,我们可以采用各种隔离政策,根据实际情况予以冻结、阻止、终止或删除主机,防止攻击影响的进一步传播与恶化。

若要创建隔离策略,请前往保护策略(Protection Policies)仪表板上的隔离策略(Quarantine Policies)选项卡,单击添加策略(Add Policy)。下图便是我们在演示环境中创建的示例策略。

小结

综上所述,作为一个开源的平台,ThreatMapper 可以学习到应用程序的逻辑拓扑结构,识别潜在的易受攻击负载,并针对 50 多个不同的威胁源开展扫描工作,进而实时、准确地向您展示和提供有关每个负载可能存在的漏洞信息。通过将发现的结果与攻击面相关联,ThreatMapper 会告诉您,诸如 Log4j2 之类的漏洞是如何被利用的,以便您迅速采取行之有效的修复措施。

而 ThreatStryker 是建立在由 ThreatMapper 创建的漏洞图表和信息的基础上,通过识别攻击行为,判断攻击步骤,进而阻断和防范其攻陷目标应用。

参考链接:ThreatMapper 和 ThreatStryker 的演示视频 --的实时沙箱 --GitHub 上获取全开源的 ThreatMapper--​​https://github.com/deepfence/ThreatMapper​​


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:信息安全、等级保护及风险评估是什么?这篇文章一定要看!(信息系统等级保护与风险评估基本知识)
下一篇:远程连接Jedis和整合SpringBoot的详细过程
相关文章

 发表评论

暂时没有评论,来抢沙发吧~