防勒索方案调研

Ransomware 与 Ransomware的演变

近年来,独特的恶意软件(即勒索软件)所涉及的事件数量急剧增长。这种臭名昭著的恶意软件不仅针对普通终端用户,而且几乎所有政府的部门和商业组织都难以幸免。

许多攻击事件包括财富500强公司、银行、云提供商、芯片制造商、邮轮运营商、威胁监控服务、政府、医疗中心和医院、学校、大学,甚至警察部门。

勒索软件是恶意软件的一个子集,旨在限制对系统或数据的访问,直到满足攻击者请求的赎金数额。尽管第一个勒索软件出现于1989年,并断断续续存在了30多年,但它自2005年以来一直是最臭名昭著的网络安全威胁之一。

网络犯罪分子已经完善了勒索软件攻击组件(例如,更强的加密技术、伪匿名支付方法、类似蠕虫的功能等),甚至通过学习过去的经验和技术的进步,开始提供勒索软件即服务(RaaS)。RaaS旨在提供用户友好、易于修改的勒索软件套件,任何人都可以在地下市场购买到这些套件。这是勒索软件演变的重要一步,因为它可以很容易地重新打包以感染任何平台,使其成为平台无关的。RaaS使世界各地的勒索软件攻击数量升级。
在这里插入图片描述

勒索软件的攻击阶段可以概括为以下几个阶段:

感染:在此阶段,勒索软件被传送到受害者系统(例如,PC/工作站、移动设备、IoT/CPS设备等)。恶意攻击者利用多种感染媒介来实现勒索软件的传输。

与C&C服务器通信:感染后,勒索软件连接到命令与控制(C&C)服务器,与攻击者交换关键信息(即加密密钥、目标系统信息)。虽然有几种勒索软件可以与C&C服务器通信,但也有一些勒索软件不执行任何通信。

破坏:在这个阶段,勒索软件会执行实际的恶意操作,例如加密文件或锁定系统,以阻止受害者访问他/她的文件或系统。

勒索:最后,勒索软件通过显示勒索说明告知受害者攻击。勒索信披露了攻击详情和支付说明。

勒索软件的演变:

从2015年开始,勒索软件开始针对其他操作系统。2015年,Linux.Encoder 作为第一个针对 GNU/Linux 平台的勒索软件出现。它加密了主目录和与网站管理相关的目录。第二年,第一款 macOS 勒索软件 KeRanger 被签名为有效的 Mac 应用开发证书,以绕过苹果的保护机制。Linux.Enconder 和 KeRanger 都使用了混合加密。

从勒索软件的演变可以看出,这种臭名昭著的威胁在1989年开始是一种弱威胁,缺乏强大而快速的加密技术、多样的感染媒介、(伪)匿名支付方式和广泛的攻击目标。然而,随着技术的发展,勒索软件作者从之前不成功的尝试和技术进步中吸取了教训,从而使勒索软件成为头号网络威胁。这种演变不仅对最终用户产生了影响,而且对组织、企业和关键基础设施也产生了影响。虽然安全研究人员有可能在第一批(不成功)勒索软件攻击后成功恢复文件/系统,但目前,在没有赎金支付或恢复可用备份的情况下,几乎不可能恢复文件/系统。成功的勒索软件攻击不仅会使目标损失金钱和时间,还会损害声誉。随着勒索软件从平台依赖型向平台独立型发展,从简单的勒索软件发展到成熟的RaaS模型,它正变得越来越流行,几乎威胁到每一个计算机化系统/目标。

Ransomware的分类

按目标分类:

受害者。勒索软件的受害者可以分为两类:最终用户和组织

最终用户是第一批勒索软件系列的主要目标。缺乏安全意识和技术援助使得勒索软件对最终用户尤其有效。最初,组织并不是勒索软件的主要目标。然而,随着勒索软件的演变,政府、医院、企业和学校等多种类型的组织频繁成为攻击目标。在这些攻击中,网络犯罪分子会提前选择目标,并试图造成最大程度的破坏,以希望支付大笔赎金

目标平台

了解勒索软件行为的另一个重要点是目标平台。勒索软件针对各种平台。大多数时候,它是专门为平台和目标操作系统设计的,因为它经常利用系统特定的库/函数(即系统调用)来执行其恶意操作。

勒索软件最常见的目标是 PC/workstation。由于在用户中很受欢迎,大多数勒索软件的目标是装有Windows操作系统的PC和workstation。此外,还有一系列的勒索软件以其他操作系统为目标,例如适用于 macOS 的KeRanger 和适用于 GNU/Linux 平台的 LinuxEncoder。受害者可以通过重新安装操作系统来抵御屏幕锁勒索软件攻击。另一方面,关于加密勒索软件,由于高级加密技术的利用,解密和恢复文件几乎是不可能的。因此,加密勒索软件家族是PC/workstation的主要威胁。

按感染媒介分类:

勒索软件作者使用传统恶意软件所使用的感染技术来感染其目标。勒索软件的感染方法可分为以下五类:

恶意电子邮件、短信或即时消息(IM)、恶意应用程序、下载和漏洞。

恶意电子邮件是勒索软件最常用的感染媒介。攻击者向受害者发送垃圾邮件,这些邮件的附件包含勒索软件。此类垃圾邮件活动可以使用僵尸网络进行分发。勒索软件可能附带一个附加的恶意文件,或者电子邮件可能包含一个恶意链接,一旦访问就会触发勒索软件的安装(即下载)。

受害者平台中的漏洞,如操作系统、浏览器或软件中的漏洞,可以被勒索软件作者用作感染载体。攻击者可以使用辅助应用程序、漏洞利用工具包来利用目标系统中的已知漏洞或零日漏洞。攻击者可以通过恶意广告和恶意链接将受害者重定向到这些工具包。

按 C&C(comand-and-control )通信分类:

命令和控制(C&C)服务器是攻击者域中的远程服务器。攻击者经常使用C&C服务器来通信和配置恶意软件。在勒索软件的上下文中,C&C 服务器主要被加密勒索软件家族使用,用于发送或接收用于加密受害者的文件或应用程序的加密密钥。勒索软件家族大多使用 HTTP 或 HTTPS 协议来实现此目的。勒索软件可以通过硬编码的IP地址或域连接到 C&C 服务器,或者使用域生成算法(DGA)动态快速/生成/转换域名。

硬编码的IP/域:勒索软件系列可以将硬编码的IP地址或域嵌入到其二进制文件中,以建立与C&C服务器的连接。在这种方法中,IP地址或域对于每次攻击都保持不变,并为攻击者提供了可靠的通信。但是,防御系统可以使用这些硬编码值来创建用于检测的签名。

动态域:域生成算法(DGA)被勒索软件系列使用,以便动态地联系 C&C 服务器。这些算法通过快速流动,生成,转换域名,为每次通信提供一个唯一的域名给服务器。这种形式的通信可以使勒索软件的通信更加可靠,防火墙不容易检测到它。

按恶意行为分类:

尽管所有勒索软件系列都旨在勒索受害者的钱财,但它们在恶意行为方面可能表现出不同的特征。勒索软件可以采取的恶意操作可以分为两类:加密和锁定。

i. 加密

加密技术:勒索软件可以采用对称、非对称或混合加密技术。为了执行加密操作,勒索软件可以利用系统API,或勒索软件的实际源代码中预先实现的加密算法。

对称密钥加密:对称密钥加密中,只使用一个密钥对文件进行加密和解密。与非对称密钥加密相比,它对大量文件的加密所需的资源量更低,因此勒索软件可以更快地加密受害者文件。但是,攻击者需要确保加密过程结束后,受害者无法访问密钥。加密密钥要么在目标系统中生成,要么嵌入到勒索软件二进制文件中。加密后,勒索软件会通过C&C通信将加密密钥发送给攻击者。尽管勒索软件系列一直使用不同的对称密钥加密算法,但AES(高级加密标准)是最流行的算法。

非对称密钥加密:在这种方法中,勒索软件使用一对密钥(即公钥和私钥)来加密和解密文件。尽管对大量文件加密效率不高,但非对称密钥加密解决了密钥保护问题,因为加密和解密需要单独的密钥。攻击者可以像Tes-laCrypt 中那样将公钥嵌入二进制文件中,使勒索软件无需连接到 C&C 就可以开始加密。他们还可以像CryptoLocker 中那样在受害者系统上生成密钥。在某些勒索软件家族中,例如WannaCry,攻击者的公钥是通过 C&C 通信来传递的。因此需要连接到 C&C 服务器才能开始加密。此外,一些变体可以为每个受害者生成唯一的公私钥对。这允许攻击者解密一个受害者上的文件,而不泄露私钥,该私钥也可以用于解密其他受害者上的文件。RSA(Rivest-Shamir-Adleman)是最常用的非对称密钥算法。

混合加密:两种加密技术的优点被攻击者在混合加密中结合起来。在这方面,勒索软件首先使用对称密钥加密来快速加密受害者的文件。之后,它将使用攻击者的公钥加密所使用的对称密钥。通常,攻击者的公钥嵌入在勒索软件二进制文件中,这样这些变种在攻击期间就不需要连接到C&C服务器。

销毁行为:勒索软件在完成加密过程后,可以显示不同的行为来销毁受害者的原始文件。一些勒索软件系列会就地加密文件,以便使用加密版本覆盖原始文件。另一方面,一些勒索软件通过修改主文件表(MFT)来删除受害者的原始文件,并创建一个包含原始文件的加密版本的新文件。为了消除从文件系统快照中恢复文件的机会,一些勒索软件(如Locky)在感染后删除Windows卷影副本。

ii. 加锁

根据目标的不同,锁定勒索软件可以分为三类:屏幕锁定、浏览器锁定和主引导记录(MBR)锁定。

屏幕锁定勒索软件会锁定系统的图形用户界面,阻止访问,同时要求赎金来解除限制。他们可以使用不同的方法锁定受害者的屏幕,包括使用操作系统功能(例如CreateDesktop)创建新的桌面并使其持久化。一些勒索软件系列(如Reveton)可以从C&C服务器下载图像或HTML页面,并动态创建其锁横幅。锁屏勒索软件也可以针对移动设备。在这方面,屏幕锁定是Android勒索软件家族的常用应用。为了锁定移动设备,一些家族如LockerPin将特定参数设置为Android系统API以使Android屏幕持久化,而另一些家族如WipeLocker则禁用移动设备的特定按钮(例如Home按钮)。

浏览器锁定勒索软件家族会锁定受害者的Web浏览器,并要求支付赎金。攻击者通过将受害者重定向到包含恶意JavaScript代码的网页来锁定受害者的浏览器。与其他恶意勒索软件策略不同,从浏览器锁中恢复相对来说更简单。为了吓唬受害者,这类勒索软件可以显示勒索消息,说明计算机因违反法律而被阻止。

MBR锁定勒索软件系列,例如Seftad,目标是系统的主引导记录(MBR)。系统的MBR包含引导操作系统所需的信息。因此,这种恶意操作的结果旨在通过将原始MBR替换为伪造的MBR,或者通过加密原始MBR来阻止系统加载引导代码。

iii. 数据泄露

除了加密和销毁之外,一些勒索软件家族,特别是最近的勒索软件家族,还试图窃取受害者的宝贵信息(例如,信用卡信息、公司文档、个人文件等)。事实上,一些勒索软件家族要求支付两次赎金。因此,其中一个付款是发送密钥来解密文件,另一个付款是防止发布窃取的信息。此类行动的动机是向受害者索要更多的赎金数额,并加快支付过程。

按勒索方式分类:

勒索软件的主要目标是勒索受害者的钱财(即赎金支付)。勒索软件勒索方法的基本特征是匿名性。在勒索软件的演变过程中,网络犯罪分子使用了不同的勒索方法。支付方式,如高级短信,预付凭证,如Paysafe卡,已经被运行的勒索团伙使用。然而,比特币等加密货币是目前敲诈勒索金钱的最首选方法,因为其分散和不受监管的性质,伪匿名性,以及不受当地法律当局的约束。

Ransomware 防御研究

勒索软件防御研究可以分为分析、检测、恢复和其他防御研究四类。
在这里插入图片描述

一、勒索软件分析研究

勒索软件分析包括了解勒索软件的行为和特征的活动。与传统的恶意软件分析类似,勒索软件分析技术可以分为静态和动态两种。

静态分析旨在从样本中提取结构信息而不实际运行样本来了解样本是否为勒索软件。为了在不运行样本的情况下分析样本并获得有用的信息,研究人员拆解样本二进制文件并提取有关样本结构/内容的信息。静态分析通常是快速和安全的,因为样本不运行。然而,恶意软件作者采用隐藏(即混淆、多态(Polymorphism)、加密)技术和反汇编技术使静态分析工作更加困难,并避开使用通过静态分析获得结构特征的防御方案。

勒索软件的动态分析包括运行样本并观察其行为以确定样本是否为勒索软件。动态分析是通过在隔离环境(即沙箱)内运行样本来执行的,以避免被分析的样本可能造成的损坏。研究人员可以使用沙盒环境提供的钩子技术和功能来监控样本的行为。由于它需要一个隔离的环境和勒索软件的实际激活,因此与静态分析相比,它在时间和资源上的成本较高。隐藏技术和反汇编技术对静态分析有效,因为这些方法无法隐藏勒索软件的行为。然而,勒索软件作者利用反调试技术、沙盒指纹方法和逻辑炸弹方案(例如,基于特定时间或事件发生激活恶意行为),使动态分析工作变得更加困难。

PC/workstation中的勒索软件分析

从勒索软件获取的PC/workstation的结构化特征包括文件哈希、头信息、函数/API/系统调用、字符串、操作码和文件类型。研究人员从PC/workstation的勒索软件样本中获得这些特性,而无需运行样本。
字符串:勒索软件会在销毁过程结束时显示赎金通知。此外,勒索软件二进制文件还包括加密、比特币、特定IP地址等字符串。从样本中获得的这些字符串可能是勒索软件的迹象。
文件哈希:可以根据已知勒索软件哈希的数据库查找样本的哈希摘要,以检测勒索软件。但是,仅依赖于哈希值的防御机制可以被攻击者对勒索软件进行小的操作轻松规避。
标头信息:样本的标头(例如,Windows中的可移植可执行文件(PE)标头、Linux中的可执行和链接格式(ELF)标头以及macOS中的Mach-O标头)可以提供有关样本恶意特征的有价值信息。研究者可以通过检查样本的头部来分析分段信息、符号、可选的头部等。
函数/API/系统调用:通过静态分析可以得到函数/系统/API调用。这些调用可被应用程序用于关键操作,如加密、内存管理、文件系统或可能区分勒索软件和良性应用程序的网络操作。
操作码:指令操作码和操作码序列的模式可用于确定样本是否为勒索软件。

从勒索软件获取的PC/工作站的行为特征包括注册表活动、主机日志、进程活动、文件系统活动、函数/API/系统调用的输入和输出、I/O访问模式、网络活动、资源使用情况和传感器读数。研究人员通过在分析环境中运行这些特征,从针对PC/工作站的勒索软件样本中获得这些特征。
注册表活动:在Windows平台的安装过程中,勒索软件会在系统重新启动后对注册表进行更改以保持持久性。然而,不仅是勒索软件,其他恶意软件也会在注册表中执行类似的更改,以持久化。因此,可以利用注册表活动作为检测勒索软件的附加功能。
主机日志:从主机日志中提取的事件可用于捕获系统中的勒索软件操作。
文件系统活动:勒索软件扫描文件系统,加密所有文件或文件子集,并删除或覆盖现有文件。因此,文件系统活动可用于勒索软件检测。
函数/API/系统调用:虽然可以通过静态分析获得样本所能进行的函数/API/系统调用,但可以通过动态分析来监控所进行的实际调用、参数、结果和序列。
I/O访问:勒索软件执行的操作(即加密、删除或覆盖)涉及读取、写入和删除的重复I/O访问活动。因此,可以使用I/O访问模式来检测勒索软件。
网络活动:研究人员可以使用源和目标IP地址、端口、域名和协议等与通信相关的特征来确定样本是否表现出类似勒索软件的通信行为。
资源使用:由于勒索软件依赖于加密操作,因此CPU使用率或内存使用率过高可能是系统中存在勒索软件的标志。
传感器读数:PC/workstation的板载传感器读数可以提供有关异常活动的线索,这可能表明系统中存在勒索软件

二、勒索软件检测研究

针对目标平台对现有的勒索软件检测机制进行分类和总结。基于所采用的方法,我们将检测系统分为八类:

基于黑名单:系统使用已知勒索软件家族使用的恶意域名或IP地址列表来检测勒索软件。

基于规则:系统通过使用分析功能构建的规则来检测勒索软件。规则可以是与恶意软件检测引擎(例如 YARA)兼容的规则、恶意分数或阈值。

基于统计:系统通过统计表明样本是勒索软件的特征来检测勒索软件。

基于形式方法:系统使用形式模型检测勒索软件,该模型可以鉴别恶意模式和良性模式。

基于自然灵感计算:系统使用从自然和生物学中获得灵感的技术检测勒索软件。

基于信息论:系统使用信息论 ap-proaches(例如,熵)检测勒索软件。加密勒索软件执行的加密操作会导致文件的信息内容发生变化。因此,熵的显著变化被一些研究人员认为是勒索软件的指标。但是,对已经压缩的文件格式进行的良性加密、压缩和文件转换操作也会导致高熵值。因此,熵大多被用作勒索软件检测的支持能。

基于机器学习:系统通过使用一组分析功能构建的 ML 模型检测勒索软件。基于 ML 的勒索软件检测系统使用结构特征、行为特征或两者兼有。研究人员通过对勒索软件二进制文件的静态分析获得结构特征。通过使用ML分类器训练过程中的结构特征,检测系统可以检测勒索软件二进制结构中的模式。另一方面,行为特征是通过对勒索软件二进制文件的动态分析获得的。通过在 ML 分类器的训练过程中使用行为特征,检测系统可以检测勒索软件二进制文件的行为模式。

混合:系统通过一组检测技术检测勒索软件。

针对 PC/workstation 的勒索软件检测。

基于黑名单的检测。Akbanov等人研究了 WannaCry 勒索软件在 SDN 上的行为,并提出了一种基于 SDN 的勒索软件检测方法。他们的检测系统作为 SDN 控制器上的应用运行,并监控网络流量,以检查恶意域名或 WannaCry 使用的 IP 地址的出现。一旦检测到匹配的流,就会生成阻止该恶意流量的规则。

基于规则的检测。YARA 规则由 Medhat等人的基于规则的勒索软件检测系统创建,该系统使用 API 调用勒索软件二进制文件中的文件和加密库、字符串和文件扩展名。使用 YARA 扫描仪,他们的系统会扫描每个样本,并根据样本中这些特征的存在来分配一个分数。在 CryptoDrop 和 REDEMPTION 中计算恶意分数来检测勒索软件。CryptoDrop 采用文件类型变化、文件相似度和熵、文件删除、文件类型漏斗等方法来确定分数,REDEMPTION 采用目录遍历、文件类型变化、访问频率和文件内容特征(即数据块的熵比、文件内容覆盖、删除操作)来计算得分。在 Min 等人提出的 Amoeba 中,针对 SSD 上的每个写操作,计算勒索软件攻击的风险指标。Amoeba 使用强度(写请求数)、相似度(新旧数据的相似度)和页面写入操作的熵来计算风险指标并检测勒索软件。在UNVEIL 中,开发了一个勒索软件分析系统,该系统可以生成一个人工用户环境,该环境监控文件访问模式和缓冲区熵。此外,UNVEIL 通过对分析环境进行截图,并检查截图的结构相似性是否高于某个阈值来检测勒索软件。

在使用网络流量特征的基于规则的系统方面,REDFISH 被提出用于检测加密网络共享卷中的文件的勒索软件。它监控 PC/workstation 与网络共享卷之间的流量,并应用三个阈值,即删除文件的数量、删除事件之间的时间间隔和平均读写速度。在 Cabaj 等人的工作中,为勒索软件家族的 HTTP POST 消息内容大小构建了质心。如果三个连续的HTTP POST消息内容大小与质心的欧氏距离低于阈值,则检测到勒索软件。

基于统计的检测。Palisse 等人提出了一种基于统计的勒索软件检测系统,即数据感知防御(DAD)。主要关注从写操作中获得的特征,如缓冲区内容、大小、偏移量、文件名、进程id和名称、线程id等。考虑到最后50次写入操作,它使用卡方拟合优度检验,并检查获得的中值是否高于某个阈值。

基于信息论的检测。由于对已经压缩的文件格式进行良性加密、压缩和文件压缩操作也会导致高熵值,一些研究人员将熵作为他们的检测系统的支持特征。然而,有一些研究使用熵作为主要特征来检测勒索软件。对此,Lee等人提出了一种检测系统,其目的是检测勒索软件,并防止勒索软件影响云存储备份。他们的系统计算即将传输到云存储系统的文件的熵,并将其与阈值进行比较,以检测勒索软件。

基于形式方法的检测。Iffländer等人提出了 DIMAQS(动态识别恶意查询序列)来检测针对数据库服务器的勒索软件。DIMAQS 利用基于彩色 Petri 网的分类器来检测勒索软件对目标数据库服务器的恶意查询序列。

基于自然计算的检测。Lu等人提出了一种基于人工免疫系统的勒索软件检测系统。该系统使用 API 调用 n-grams 作为抗原,并采用双层否定选择算法来区分勒索软件和良性应用程序。

基于机器学习的检测:
通过结构特征:在使用结构特征的 PC/workstation 的基于 ML 的勒索软件检测系统中,研究人员使用了指令操作码、API 调用和 DLL。通过使用二进制文件的指令操作码序列来构建用于勒索软件检测的ML分类器。操作码n-grams 被 Zhang 等人用于构建基于深度神经网络(DNN)的分类器,被 Shaw 等人用于构建各种ML分类器。Saleh 等人使用各种指令(即数据处理、算术、逻辑和控制流)的操作码来构建隐马尔可夫模型(HMM)。Baldwin等人使用操作码密度来构建用于勒索软件检测的支持向量机(SVM)分类器。Martinelli 等人使用API调用频率进行勒索软件检测。他们通过静态分析从勒索软件样本中提取API调用,并使用API 调用频率训练随机森林(RF)分类器来检测勒索软件。Poudyal 等人没有使用单一的结构特征,而是使用了多个特征,他们在其中提取了操作码和二进制文件的DLL,并构建了一个RF分类器。

通过行为特征:在针对 PC/workstation 提出的基于 ML 的勒索软件检测系统中,研究人员通过行为特征监控和分析硬件、文件系统、网络流量和API调用行为。

通过硬件行为:研究人员对 PC/workstation 硬件(包括存储硬件、板载传感器和内存转储)进行监控,以进行勒索软件检测。

CPU 在存储设备上执行的I/O操作被研究人员用于勒索软件检测。然而,对 I/O 操作和存储硬件的监控会导致高粒度数据(例如,块地址、读/写类型、数据的大小),这使得检测变得更加困难,因为 I/O 操作监控无法获得进程和文件信息等更高级的数据。Baek 等人提出了 SSD-Insider,它通过监控 I/O 请求头来检测 SSD 上的覆盖操作中的类似勒索软件的模式。他们训练了一个决策树(DT)分类器,其中包含从 I/O 请求头获得的6个覆盖相关特征。在 RansomBlocker 中,Park 等人介绍了一种加密感知勒索软件保护系统,该系统检查写入主机SSD的数据的熵。他们的系统使用基于卷积神经网络(CNN)的分类器来区分高熵的良性写入操作和加密写入操作。

Cohen 和 Nissim 利用 Volatility 框架来监控虚拟机的易失性内存。他们从内存转储中提取了 DLL 和进程特征、内核模块和回调、权限、服务、句柄等,并训练了各种 ML 模型来检测私有云中的勒索软件。Taylor 等人利用硬件传感器监控,通过观察勒索软件对PC硬件可能的副作用来检测勒索软件行为。他们使用了59个不同的机载传感器的读数,并训练了一个Logistic Regression ML模型。Intel公司提出的工作采用了一种基于CPU的行为监测方法来检测基于 Intel vPro 平台的 PC 中的勒索软件。他们利用CPU级别的遥测和 ML 启发式来检测勒索软件的加密操作,并可能在硬件级别检测其他恶意软件。

通过文件系统行为:与监控硬件不同,一些研究人员的目标是通过监控文件系统活动来检测更高层次的勒索软件。与硬件行为相比,文件系统行为监控可以提供更细粒度的数据,以获取文件和进程信息。一些研究人员(M. Abbasi等人、Y. Abukar等人、A. Ashraf等人、Q. Chen等人、S. Egunjobi等人、P. Goyal等人、M. M. Hasan等人)将文件系统行为特征与其他结构或行为特征结合使用。然而,有一些研究将文件系统行文作为检测勒索软件的主要来源。Continella 等人提出了ShieldFS,通过捕获短期和长期文件系统活动模式来检测勒索软件。他们训练了 RF 分类器,使得每个分类器都在不同时间尺度上训练文件系统活动特征。他们使用访问、读取、重命名、移动或写入的文件数量、写入操作的熵以及文件夹列表操作作为勒索软件检测的鉴别特征。

通过网络流量行为:由于勒索软件通常与其 C&C 服务器进行通信以进行密钥交换或数据泄露,一些研究人员旨在通过观察网络流量来检测联网设备中的勒索软件。监控方案监控的是主机的流量,或者是整个网络的流量,或者是部署到的子网的流量。

在基于主机的流量监控方面,O. M. K. Alhawi等人和J. Modi等人将网络监控与ML技术相结合,用于勒索软件检测。在 NetConverse 中,O.M.K.Alhawi等人使用网络流量的协议类型、IP地址、数据包和字节数以及持续时间特征构建了一个 DT 分类器来检测勒索软件。J.Modi等人旨在通过利用28个特征(包括连接特征(例如,流、负载和数据包特征))、SSL 特征(例如,SSL 流的比率、SSL-TLS 等)和证书特征(例如,证书有效期、年龄等)构建 RF,来检测加密 Web 流量中的勒索软件。SVM 和逻辑回归分类器。

在基于网络的流量监控方案方面,Cusack等人提出了一种基于网络硬件的解决方案,即可编程转发引擎,以监控受勒索软件感染的计算机和 C&C 服务器之间的网络流量。在监控阶段,他们提取流入和流出的数据包长度和字节数的标准差、流入的平均突发长度、流出的最小到达间隔时间以及流出与流入数据包的比率,并使用RF分类器构建检测系统。

通过 API 调用行为:从勒索软件动态分析中获得的主要行为特征之一是 API 调用。在此背景下,研究人员使用API 调用作为特征来构建 ML 分类器来检测 PC/workstation 中的勒索软件。一些研究使用 API 调用作为特征,并构建了 SVM 分类器、长短时记忆(LSTM)分类器、递归神经网络(RNN)分类器和受限玻尔兹曼机器分类器。N-gram 的 API 调用也被研究人员用来构建 SVM 分类器和各种基于 ML 的分类器。而Chen等人生成 API 调用流图(CFG),并训练不同的分类器。周等人使用属于不同 API 组的 API 调用的 Pearson 相关性值构建 SVM分类器。除了使用 API 调用构建各种分类器的研究,一些研究人员更关注于寻找最重要的 API 调用特征。Ahmed 等人在特征选择过程中提出了一种新的过滤方法,以找到最适合勒索软件检测的API调用 n-grams。他们测试了各种 ML 分类器的性能。Al-Rimy 等人重点是在勒索软件检测的分类器集合中选择最重要的 API 调用特征和最佳分类器组合。

通过一组行为特征:一些研究使用一组行为特征来构建 ML 分类器来检测 PC/workstation 中的勒索软件。在这方面,Goyal等人提出的贝叶斯信念网络(BBN)分类器、Roy 和 Chen 的 LSTM 分类器以及 Homayoun等人的多 ML 分类器和 Chen等人的研究用于勒索软件检测。用于构建分类器的特征集包括 Chen等人的主机日志中的事件序列、注册表更改、文件系统活动和 Homayoun等人中的 DLL,以及 Goyal等人的十个特性,包括加密文件的生成速度、文件写入操作、CPU利用率、删除卷影副本、注册表更改、文件重命名、文件大小增加等。

通过结构和行为特征:一些研究人员并不只使用结构或行为特征,而是使用了来自这两组的特征来检测勒索软件。Abukar等人的人工神经网络(ANN)和SVM分类器、Hwang等人的马尔可夫模型和RF分类器、Zuhair等人的朴素贝叶斯和DT分类器、Magida等人的SVM分类器、Sgandurra等人的逻辑回归分类器、以及Hasan和Rahman、Egunjobi等人的各种ML分类器、Abbasi等人的研究,以及Ashraf等人的研究都是为勒索软件检测而构建的。虽然字符串是上述研究中最常用的结构特征,但 API 调用、文件和目录操作、注册表项、处理和删除的文件扩展名是这些研究构建ML 分类器时最常用的行为特征。一些研究使用了特定的技术来为分类器选择最佳特征。在这方面,Abbasi等人使用了 Mutual Information(MI)和粒子群优化,Ashraf等人使用了 MI、主成分分析(PCA)和 n-gram 技术,Magida等人使用了灰狼优化算法。

混合检测。除了使用上述检测技术之一的研究外,文献中还存在一些使用这些方法的研究。Mehnaz等人提出了RWGuard,该方法利用诱饵文件监控、基于 ML 的过程监控、文件更改监控、加密 API 函数钩挂和文件分类来检测勒索软件。诱饵文件用于检测类似勒索软件的进程。进程监控模块使用读取、打开、创建、写入和关闭 I/O 请求的数量以及创建的临时文件的数量来训练多个 ML 分类器。文件变化监控模块对被监控文件变化前后的相似度、熵、文件类型和大小进行对比。最后,加密API函数钩子模块尝试通过钩子技术获取进程的加密密钥。Jethva等人提出了一个两层勒索软件检测系统,结合了基于 ML 和基于规则的技术。在第一层中,ML分类器(例如,SVM、RF或逻辑回归)尝试使用API调用、注册表项操作、DLL、枚举目录、字符串和其他特征检测勒索软件。第二层中基于规则的系统监控文件签名和熵的变化,以检测勒索软件。

PC/workstation勒索软件检测研究概述:表2给出了 PC/workstation 勒索软件检测系统的总结。该表概述了有关其技术、使用的特征、数据集(即数据源、勒索软件系列和相应数量的勒索软件样本以及良性样本)以及检测精度(即,真阳性率(TPR)和假阳性率(FPR),单位%)的研究。图5显示了研究使用的技术、特征和评估数据集的分布。

检测技术:基于机器学习的检测是最广泛使用的 PC/workstation 勒索软件检测方法。73%的研究采用了基于 ML 的检测。在基于 ML 的研究中,大多数研究使用了行为特征(43%),其次是使用结构特征的研究(12%),以及同时使用行为和结构特征的研究(18%)。勒索软件检测技术的第二种流行选择是基于规则的检测,有14%的研究使用了该技术。除了基于 ML 和基于规则的系统之外,研究人员还使用了来自不同领域的多种检测技术来检测勒索软件,如表2和图5(a)所示。

检测功能:API 调用和文件/目录功能是用于 PC/workstation 勒索软件检测的最常用功能。由于勒索软件会在文件系统上执行恶意操作,并在执行操作时进行各种 API 调用,因此文件/目录特征和 API 调用是勒索软件模式中最受关注的特征。其余的功能也被研究者使用。但是,它们的利用频率并不像 API 调用和文件/目录功能那样高。这可能是由于这些特性依赖于平台(例如,DLL、注册表),或者容易混淆(例如,字符串、操作码、网络流量),或者已经压缩的文件类型(例如,熵)有问题。

评估数据集:VirusTotal 是用于 PC/workstation 的勒索软件检测系统的最受欢迎的数据源。紧随其后的是VirusShare、hybridanalysis.com和其他。我们可以看到,大多数研究使用了几个勒索软件家族的样本(数据集中使用的家族的平均数量为10个)。如表2所示,许多研究在其数据集中使用了超过1000个勒索软件样本。考虑到数据集中良性样本的数量,我们可以看到,一些研究人员尝试使用平衡的数据集,而另一些研究人员则选择基于不平衡的数据集评估他们的方案。虽然大多数研究报告了勒索软件系列的数量,但一些研究并未说明。
在这里插入图片描述

检测准确性:针对 PC/workstation 的勒索软件检测研究报告了非常高的检测率。TPR在73%和100%之间变化,而FPR在0和16.9%之间变化。许多研究报告了完美的TPR(即100%),看起来过于乐观。我们可以看到,这些研究中使用的家系数量在8到29之间不等。如果使用的勒索软件家族的数量增加,一些研究的检测准确性可能会发生变化。

三、勒索软件恢复研究

针对PC/workstation 的勒索软件恢复研究表明,勒索软件所造成的破坏的恢复可以通过三种不同的方式实现:密钥恢复、通过硬件恢复文件或通过云备份恢复文件。

密钥恢复:Kolodenker等人提出了PayBreak – 一种密钥托管机制,旨在通过钩住加密 API 来捕获加密密钥并解密受害者文件。当然,它只对调用相应加密API进行加密的勒索软件家族有效。

通过硬件恢复文件:这类研究旨在利用存储硬件(即SSD)的特性来恢复受害者的加密文件。基于NAND的SSD具有位置更新功能,可以保留先前版本的已删除数据,直到垃圾收集器(GC)将其删除。勒索软件恢复解决方案利用了此功能。SH Baek等人、J. Huang等人、J. Park等人的研究方法会在 SSD 中创建额外的备份页面,以恢复勒索软件攻击中的数据。在Min等人的研究中,设计了一个 SSD 系统,它可以执行自动备份并最小化备份空间开销。他们的系统利用一个检测组件,利用硬件加速器来检测内存中的受感染页面。

通过云备份恢复文件:文献中的一些恢复机制旨在利用云环境恢复文件以进行备份。Yun等人提出了一个名为CLDSafe的备份系统,部署在云上。CLDSafe 将文件的卷影副本保存在安全区域,以防止文件丢失。它计算文件版本之间的相似性分数,以选择要备份的文件。在 RockFS 中,Maos等人的目标是让云支持的文件系统的客户端对勒索软件等攻击更有弹性。它允许管理员在勒索软件事件发生后通过分析日志恢复文件。它还旨在通过使用秘密共享密钥的加密来保护存储在客户端中的用户的云访问凭证。

四、其它勒索软件防御研究

这些研究可以分为移动目标、访问控制和整体防御。

移动目标防御技术是Lee等人提出的,用于勒索软件防护,可随机更改文件扩展名。

在访问控制机制方面,Genš等人提出了 UShallNotPass,旨在通过阻止未授权的应用程序访问操作系统中的伪随机数生成器函数,在执行加密之前防止勒索软件攻击。另一种名为 Key-SSD 的勒索软件防护机制对SSD存储单元实施了磁盘级别的访问控制,以防止未授权的应用程序对SSD的访问。

考虑到整体防御系统,Keong等人提出了 VoterChoice ,使用 Suri-cata 入侵防御系统来检测恶意活动。一旦检测到此类活动,基于 ML 的检测模块(使用加密和注册表活动作为特征)将检测勒索软件。如果检测到勒索软件,则基于客户端的蜜罐(honeypot)会收集样本的活动以了解其行为。Jung等人提出了一套勒索软件防御系统,由监控、检测、安全区文件备份、灰名单等模块组成。通过监控模块监控应用的API调用,检测勒索软件。如果检测到可疑进程,则使用修改文件的熵来确定应用程序是否为勒索软件。

如果检测到大量的读/写操作,则安全区域组件将备份应用程序访问的所有文件。Shaukat等人提出了一个防御系统,实现了基于蜜糖文件的陷阱层和基于 ML 的检测层。它使用一组功能,如API调用、注册表修改、删除卷影副本和文件系统操作来训练 ML 分类器。当陷阱层检测到勒索软件时,它还会备份用户文件。

  • 30
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值