一种恶意软件绕过杀软的新方式 (恶意软件违法吗)
整理分享一种恶意软件绕过杀软的新方式 (恶意软件违法吗),希望有所帮助,仅作参考,欢迎阅读内容。
内容相关其他词:恶意软件名称有哪些,恶意软件有什么,恶意软件的防治方法有什么,恶意软件有什么后果,恶意软件怎么处理,恶意软件的防治方法有什么,你遇到过哪些恶意软件?,你遇到过哪些恶意软件?,内容如对您有帮助,希望把内容链接给更多的朋友!
前言 随着越来越多的网络攻击、数据库漏洞、间谍软件以及敲诈软件频繁的出现在新闻头条上,每家商业公司也开始在其企业网中部署安全产品。一般地,他们往往会投入人力物力来制定适合自己公司的信息安全策略以及寻找最佳的搞定方案来对付这些网络攻击行为。 最近,我们发现一种新的令人震惊的绕过杀软的方式,该方式允许任何已知的恶意软件绕过最常见的安全搞定方案,例如下一代防*软件,安全检测工具以及反勒索改软件等。这种技术被称为Bashware,该技术在实现上利用了Win*上一个新的、称为SubsystemforLinux(WSL)的功能,此新功能可以使Win*作*用户运用流行的bash终端,而且该功能还可以使Win用户在本机*作*上运行Linux*作*的可执行文件。该功能能够允许Linux和Win*中的进程在同一时间运行,由于现有的安全搞定方案还不能够监视在Win*作*上运行的Linux可执行文件的进程,因此该技术可能为那些希望运行恶意代码的网络犯罪分子提供了方便,他们可以利用WSL来绕过尚未集成正确检测机制的安全产品。 Bashware是一个非常令人震惊的技术,任何恶意软件利用WSL机制都可以很容易的绕过安全产品。我们在大多数知名的防*和安全产品上测验了这种技术,并运用该技术成功地绕过了上述所有的安全产品,由此可见Bashware对全球现在运行的4亿台WinPC的影响还是很大的。在发现该技术之后,我们立马更新了我们的SandBlast威胁防护搞定方案,以保护我们的客户免受Bashware的攻击。因此安全同行们也应立即采取行动并修改其安全搞定方案,以防止这种网络攻击的新方式。 Bashware技术在实现上利用了WinSubsystemforLinux(WSL)的底层机制,该功能是Win*中的一个新功能,允许本机LinuxELF二进制文件在Win上运行。在正式介绍Bashware的细节之前,我们首先回顾一下WSL的内部原理。WSL概述 WinSubsystemforLinux(简称WSL,如图1所示)是一个为在Win上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层,该兼容层包含了用户模式和内核模式,可用于运行Linux二进制可执行文件,而无需启动任何的虚拟机。 Microsoft打算实现一种在隔离环境中以低开销运行使用程序的方式来在单个进程的用户模式*空间内运行目标使用程序和*作*。为了达到这个目的,Microsoft在Win*中引入了Pico进程,该进程是允许在Win*作*上运行ELF二进制文件的容器,这些新引进的进程在结构上往往是比较小的,缺少WinNT进程(PEB,TEB,NTDLL等)中常见的结构块。通过将未修改的Linux二进制文件放在Pico进程中,WSL可以将Linux*中的调用引导到Win内核,lxss.sys和lxcore.sys驱动程序将Linux*调用转换为NTAPIs并模拟Linux内核。 WSL概念最初是在Astoria项目和Drawbridge项目中才开始出现,目的是想在Win*上运行原生的Android使用程序。在WSL的初始版本中发现多个问题后,Microsoft决定以beta模式提供此项目,并在其GitHub页面上添加技术支持板块,以收集社区中发现的实时问题。在修复了社区提出的大多数问题并达到一个稳定的版本之后,微软正式在年7月日发布了WSL。虽然WSL已经成为一个稳定的功能,其许多问题现在也得到了搞定,但似乎行业依旧没有适应这种允许Linux和Win*中的进程在同一时间运行的这个奇怪想法。并且这在一定程度上为那些希望运行恶意代码的网络犯罪分子提供了方便,他们可以利用WSL功能来绕过尚未集成正确检测机制的安全产品。有关WSL组件的详细信息请参见“附录A”。Bashware Bashware是一种通用和跨平台技术,该技术在实现上利用了WSL,使得恶意软件能够以隐藏的方式运行,从而绕过当前大多数安全产品的检测。该技术的关键在于Pico进程结构的规划,虽然Pico进程与常见的Win进程特征不一样,甚至该进程没有任何特征可以将其标识为一个常见的NT进程,但是Pico进程却具有与常见NT进程相同的功能,并且不会造成任何的威胁。下面我们将从4个步骤来介绍Bashware是如何加载恶意软件payloads的,如下图所示:步骤1:加载WSL组件 为了利用WSL,Bashware必须首先验证WSL功能是否已经启用,该*作是通过检查Pico驱动程序的状态来实现的(检查lxcore.sys和lxss.sys是否存在于Win驱动程序的路径中)。在功能被禁用的情况下,Bashware将运用D*M程序来加载驱动程序。这种方式是最简单的,也不会引起任何安全软件的怀疑。在加载WSL组件之后,Bashware将会进入下一步*作。步骤2:启用开发者模式 只有启用了开发者模式才可以运用WSL组件功能,进入开发者模式需要设置以下这些注册表项:HKLM\SOFTWARE\Microsoft\Win\CurrentVersion\AppModelUnlock\AllowAllTrustedAppsHKLM\SOFTWARE\Microsoft\Win\CurrentVersion\AppModelUnlock\AllowDevelopmentWithoutDevLicense 虽然这些值由TrustedInstaller设置,但也可以由任何拥有管理员权限的用户(或使用程序)完成设置。由于机器*或任何高级安全检查没有验证这些是否被修改,因此Bashware可以通过打开并运用这些注册表项,以执行恶意软件的payloads,一旦Bashware的*作完成,注册表项将会被关闭,使得这个*作对用户而言实际上是不可见的。步骤3:安装Linux 虽然Bashware现在启用了WSL并进入开发者模式,但Linux实例依旧不包含任何的文件*。因此,Bashware的下一步是从Microsoft的服务器下载并解压缩Linux文件*。正常情况下,用户可以运用“Lxrun”命令行程序来下载linux文件*(Ubuntu.),并运用/install选项将文件*安装到在WinPC上。 Bashware利用Lxrun.exe程序从Microsoft服务器下载Linux文件*并将其安装到Win*上,整个*作看似都是合法的。有趣的是,根据我们的研究发现这个安装过程在某种条件下容易受到网络攻击,这部分内容我们会在下面的内容中进行阐述。步骤4:Wine 现在,Bashware已经在Win*上建立了一个完整的Linux环境,并且能够在两个环境中执行任何*作,下一步该如何维修?我们的最终目的是:尽管恶意软件不是跨平台的,我们也可以从Linux程序中运行恶意软件来攻击Win*。经过分析和研究,我们发现Winehq项目是一个完美的搞定方案,该项目是一个免费的开源兼容层,可以允许MicrosoftWin程序在类Unix*作*上运行。对于那些不熟悉它的人来说,Wine不是一个模拟器,而是将WinAPI调用转换成POSIX(PortableOperatingSystemInterface)。这正是我们所需要的,因为运用Wine可以在WSL环境中静默运行Win恶意软件。Bashware运用Winehq项目功能,并将优化后的Wine项目安装到WSLLinux环境中。 接下来,Wine对EXE格式的文件进行转换,将其NT*调用转换为POSIX*调用。之后,lxcore.sys驱动程序会将这些POSIX*调用转换到NT*调用,并将lxcore转换为此进程的实际调用者。这样一来,在Win*作*上运行的文件就可以在Linux*作*执行任何恶意软件的payloads,并绕过大多数安全产品的检测。结论 随着“Bashware”完成了上述四个步骤,它成为运行任何恶意软件,绕过最常见的防*安全产品、安全检测工具,调试工具等的完美工具。 基于我们的研究发现,Bashware并没有利用WSL规划中的任何逻辑或实现上的漏洞。事实上,WSL的功能规划的很好。而导致Bashware可以运行任意恶意软件的原因主要有以下两个方面:一是在Win*作*中这是一种相对较新的技术;二是各种安全厂商缺乏对该技术进行检测的意识。我们认为,安全厂商应该要行动起来了,在支持这项至关重要的新技术的同时也要想法设法去阻止诸如Bashware这样的网络威胁。 Microsoft已采取措施,协助安全厂商处理由WSL引入的新的安全问题,例如Microsoft提供了PicoAPIs,这些API接口可由*公司调用以用来对这些类型的进程进行监控。进一步分析 在WSL的安装过程中,LxRun.exe程序负责从Microsoft服务器上下载和解压缩Linux文件*。之后,文件*被命名为lxss.tar.gz,并保存在%APPDAT%目录下的隐藏文件夹中。在获得到文件*的压缩包之后,LxRun.exe将其解压缩到同一目录中。解压后的文件夹中包含了完整的Linux文件*,WSL和Bash.exe稍后会运用该文件*。 虽然微软已经花了很大的努力来保护Linux文件*本身,例如防止Linux初始化被篡改,防范常见的注入技术等安全保护,但文件*本身的保护机制呢?根据我们的研究和分析发现Linux文件*在安装过程中是存在安全隐忧的,如果攻击者在下载后(在提取文件*压缩包之前)修改文件*的压缩包,由于*不会对文件*的真实性进行检查。因此,它允许攻击者完全更改文件*并加载任何Linux文件*。 与实现此技术相关的主要问题是识别存档被解压的确切时间。幸运的是,对于我们来说,微软为下载的文件*计算出了一个SHA值,该值在下载过程完成之后(解压文件之前)被保存到一个文件中。但是,这个SHA散列值除了用于识别文件*的压缩包是何时被解压之外,并没有其他用途。 当用户希望运用WSL时,他会运行“Bash.exe”,该程序是在用户权限下执行的。在每个运行的WSL中,NTFS分区会被自动挂载到Linux环境中的/mnt中,从而被授予从WSL内读写和执行NTFS的能力,具体如下图所示: 如果一个网络攻击者利用管理员权限启动了Bash.exe程序,那么Bash.exe以及其子进程都将以管理员的权限来执行,这样在Win*中,网络攻击者就可以轻易的绕过UAC,而在Linux*端,网络攻击者可以通过提取*作以拥有超级管理员的权限,具体如下图所示:标签: 恶意软件违法吗
本文链接地址:https://www.iopcc.com/jiadian/44679.html转载请保留说明!