全文概览
文章针对存储系统中的防勒索检测,提出了一套基于机器学习(ML)的高效模型构建方法。
该方案首先通过IBM FlashCore Module收集硬件中IO活动的特征信息,然后利用AI引擎在每个FlashSystem上运行经过真实世界防勒索训练的ML模型,最后通过IBM Storage Insights收集并分析相关信息,触发安全软件响应。该方案已经能够实现对1000个卷的block级别的防勒索检测,并且具有高准确度和低假阳性率。
文中详细讨论了特征选择、模型选择、文件系统类型、数据集和工作负载等训练挑战,并提出了多种技术来提高模型性能,包括决策树集成、元后处理特征处理、以及文件系统特性的分析。此外,通过引入来自现场的数据进行模型再训练,进一步提升了模型的准确性。
勒索病毒对企业数据安全危害
- 75%的公司在过去12个月内遭遇了勒索软件攻击。
- 85%的公司在攻击发生后,未能成功地从备份中完全恢复数据。
- 89%的公司花费超过一天的时间恢复正常业务,其中61%的公司恢复时间超过4天。
Ransomware (勒索病毒)背景与原理
随着互联网和数字技术的发展,数据和信息成为了企业最重要的资产之一。勒索软件利用这一点,通过加密受害者的文件、数据或整个网络,强迫受害者支付赎金以解锁数据。近年来,勒索软件攻击不仅影响个人用户,还对大型企业、政府机构、医疗机构等组织造成了严重威胁。
在过去几年中,勒索软件攻击呈现上升趋势。攻击者通常通过钓鱼邮件、恶意附件、或漏洞利用等方式感染目标计算机或网络。一旦恶意软件被安装,攻击者会加密受害者的数据,并要求赎金(通常以比特币或其他加密货币支付),否则数据将永远丢失,或被公开泄露。
实现方式原理
勒索软件的工作原理大致可以分为以下几个步骤:
- 感染阶段:攻击者通常通过钓鱼邮件、伪造的文件下载链接、恶意软件嵌入广告等手段,诱使受害者下载并运行勒索软件。一旦运行,勒索软件会开始在系统中传播,感染计算机或网络上的多个文件。
- 加密阶段:勒索软件利用加密算法对受害者的文件进行加密,确保这些文件无法被用户访问或使用。常见的加密算法包括AES、RSA等,这些算法可以加密文件,使其无法被解密,除非输入正确的解密密钥。
- 勒索阶段:一旦文件被加密,勒索软件会在受害者的屏幕上显示勒索信息,通常要求支付赎金以获取解密密钥。赎金通常以比特币等加密货币支付,因为这些支付方式可以保证匿名。
- 支付与解密:在支付赎金后,攻击者会提供一个解密工具或密钥,帮助受害者恢复文件。然而,并非所有情况下,支付赎金后就能恢复数据。许多受害者发现即使支付了赎金,攻击者也没有提供有效的解密工具,或者被再次攻击。
- 扩散和后门:一些高级勒索软件会在攻击过程中植入后门程序,允许攻击者在未来重新访问和攻击系统。此外,某些勒索软件也会窃取数据,并威胁公开或出售这些信息。
类型
- Crypto Ransomware(加密型勒索软件)这类勒索软件加密用户的数据文件,要求支付赎金才能解密。
- Locker Ransomware(锁屏型勒索软件)这类勒索软件锁定计算机的屏幕,阻止用户访问系统,通常不加密文件。
- Double Extortion(双重勒索)攻击者不仅加密数据,还会盗取敏感信息,并威胁在支付赎金之前将这些信息公开,进一步增加了攻击的威胁。
检测方法
图片介绍了IBM FlashSystem的勒索软件威胁检测管道。首先,IBM FlashCore模块在硬件中收集IO活动特征信息,而不会影响系统性能。然后,IBM Storage Virtualize 使用经过真实勒索软件训练的机器学习模型在每个 FlashSystem 上运行 AI 引擎,以检测威胁。最后,IBM Storage Insights 从连接的存储阵列中收集线程信息,发出警报并触发自动响应,进一步利用这些数据优化检测模型。
Note
该工作流的思路和业界 Auto-Tuning(自动调优)大致相似,通过探针检测业务IO特征,将特征信息与勒索软件训练的模型进行比对、复合,从而判断业务IO是否属于勒索病毒。
关键点在于了解、明确勒索软件工作态的IO特征。
可参考阅读:IBM:FCM 4 大容量存储与防勒索特性
IBM FlashSystem使用FCM4模块进行块级勒索软件检测的现有功能和未来展望。目前,系统能够在1000个卷上检测勒索软件,并通过训练50多种勒索软件和模拟勒索软件的样本来优化检测模型。
未来,IBM计划支持更多的卷、更复杂的卷分组方式,并引入文件系统感知的机器学习模型,以及处理更多变量的时间序列分析。这些功能将进一步提升对勒索软件、擦除软件和数据外泄的检测能力。
图示机器学习模型训练过程中的一些挑战,包括从IO操作中提取特征、选择合适的模型、处理不同类型的文件系统、管理卷的状态、处理大规模数据集和工作负载等。此外,在后处理阶段,还包括投票机制、时间序列分析以及使用自动编码器进行更深层次的分析。每个步骤都需要仔细考虑和优化,以提高勒索软件检测的效果。
按图中流程梳理成如下表格:
Note
任何基于IO负载定性业务特征的分类场景,本质都是上述6个步骤总结的方法。这让我回忆起前几年做 OpenEuler 生态推广时,经常提及的 A-Tune[1](基于AI的操作系统性能调优引擎)。
特征提取与处理(详解)
- IO Features(IO特征):
每次IO操作提取特征。
- Features Summarization(特征汇总):
每个卷的特征按秒间隔进行汇总。
- Feature Aggregation(特征聚合):
从所有CSD SSD中聚合特征信息。
- Meta-features(元特征):
例如:读写比率等。
- File-system Features(文件系统特征):
使用libblkid提取的一热编码文件系统信息。
- Inference(推理):
进行推理分析。
- Post-processing(后处理):
对推理结果进行后处理。
过程中,提取的特征数量较多(110个),但只有少部分特征(4个)与熵相关。
特征熵在防勒索病毒应用中的应用价值
特征熵是衡量数据随机性的一个重要指标,在防勒索病毒的应用中具有显著的意义。
1. 数据加密的特征
- 加密后的数据熵值较高,接近完全随机化,这表明数据已被加密。通过监测熵值的变化,可以有效识别数据是否被加密,从而及时发现潜在的勒索软件攻击。
2. 实时监测与检测
- 在存储设备上,通过分析数据的熵值,可以实时监测存储活动。高熵值的出现往往与勒索软件的加密行为相关,这使得系统能够在不影响性能的情况下,快速检测到异常活动。
3. 提升威胁检测效率
- 特征熵的分析方法为存储阵列内置的勒索软件检测工具提供了理论基础,使得威胁检测速度显著提升,优化了系统的安全性。
文件系统和存储卷状态分析
随机森林模型
- 模型 1:使用12个聚合特征熵(均值、MAD、斜率、峰度、重写)
LBA(读取和写入的MAD、峰度)
传输大小(读取+写入)
重写率
- 模型 2
添加文件系统信息作为一热编码特征
用直方图替换计算量大的特征(斜率和峰度)
训练设置
- 3种文件系统类型XFS、EXT4、NTFS
- 各种勒索软件和良性工作负载
- 卷状态(1TB)
卷的总体利用率:52%
卷的总体利用率:77%
与N相同,但10%的文件在测试目录内被复制,旧数据在收集卷跟踪前被删除。
模型评估
模型1:12个聚合特征
- F1得分与假阳性率的表现
- 在XFS、EXT4和NTFS上进行训练和测试时,F1得分和假阳性率的变化情况。
- F1得分在不同的文件系统类型之间有所不同。
模型2:12个聚合特征+文件系统类型
- F1得分与假阳性率的表现
- 模型2通过添加文件系统类型作为特征,改善了F1得分,特别是在XFS和EXT4文件系统中表现更为突出,假阳性率也显著降低。
结论:
- 对于3种不同的卷状态,F1得分以及假阳性率在EXT4和XFS中有显著差异。
- 在模型中使用文件系统信息和直方图可以提高准确性(提高3-8%)并减少假阳性率(降低40-47%)。
- 计算量大的特征可以通过直方图高效替代。
模型对勒索软件的检测效果评估
检测时间:
图表显示了勒索软件检测的信心度曲线,其中勒索软件在不到1分钟内就被检测到。
推理时间:
图表显示了1000个卷的推理时间,其中推理时间低于10毫秒。
通过推理引擎的快速分类,勒索软件能够在不到1分钟的时间内被检测到。同时,对于1000个卷的推理,整个过程的推理时间也保持在10毫秒以内,展示了高效的检测性能。
真实数据矫正模型准确性
- 从实际系统中收集的数据集可用于重新训练模型,必须确保正确的标签。
- 在此案例中,包含现场数据的模型训练相较于只使用实验室数据训练的单级分类器,假阳性率(FPR)减少了78.2%至88.0%。
图表描述:
- 绿色线从实验室追踪数据训练的模型。
- 橙色线结合实验室追踪数据和现场数据训练的模型。
- 蓝色线实验室数据和现场数据混合训练的模型,表现出更低的假阳性率。
结论
- 基于决策树集成的机器学习模型结合后处理方法,非常适合用于存储系统中的勒索软件检测。每个卷的推理可以应用于成千上万的卷。
- 大规模的特征集,包含计算上不昂贵的特征,使用超过100个特征。
- 必须仔细研究机器学习模型的泛化能力:
- 包括卷状态信息、文件系统类型和勒索软件菌株。
- 丰富的良性工作负载样本。
- 来自现场数据的真实数据跟踪有助于提高机器学习模型的准确性:
- https://gitee.com/openeuler/A-Tune ↩