MADAM与低级别动态属性在恶意软件检测中的应用
在当今数字化时代,恶意软件(malware)对信息安全构成了严重威胁。随着恶意软件数量的激增和技术的不断演变,如何及时、准确地检测和防范恶意软件成为了信息安全领域的关键挑战。本文将介绍两种不同但相关的恶意软件检测方法:MADAM和基于低级别动态属性的数据挖掘方法。
MADAM:安卓恶意软件的多级异常检测器
MADAM是专门为安卓设备开发的实时异常检测框架,旨在早期检测入侵企图和恶意行为。
恶意软件检测测试
- 测试样本 :使用隐藏在特洛伊化应用程序中的真实安卓恶意软件进行测试,这些恶意软件来自一个会及时更新新威胁的存储库,涵盖了特洛伊木马、Rootkit和间谍软件等不同类别。
- 测试方法 :为避免交叉检测,每个恶意软件单独进行监测。为降低误报可能性,每个恶意软件测试三次,每次测试后将设备恢复到干净状态。
- 检测示例 :以OpFakeA恶意软件为例,MADAM(Tlong实例)在感染过程中检测到一个恶意向量。该向量的最后两个元素表明,在无用户活动的时间间隔内发出了2条短信发送请求,这种行为符合之前讨论的短信策略中的恶意行为定义。
| open | ioctl | brk | read | write | exit | close | sendto | sendmsg | recvfrom | recvmsg | idleness | SMS Num |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2246 | 25481 | 4341 | 47 | 16899 | 14416 | 12916 | 178 | 139 | 179 | 186 | 0 | 2 |
检测结果
| 恶意软件 | 类型 | 检测率 | 检测实例 | 描述 |
|---|---|---|---|---|
| Lena.B | BootKit | 100% | Tshort | 修改系统分区中的文件 |
| Moghava | 特洛伊木马 | 100% | Tlong | 修改设备上存储的图片,逐渐填满SD卡内存 |
| TGLoader | RootKit | 100% | Both | 获取root权限,安装其他恶意应用程序,打开后门 |
| OpFakeA | 特洛伊木马 | 100% | Tlong | 发送带有SIM数据的短信,下载应用程序并存储在SD卡上 |
| NickySpyB | 间谍软件 | 66% | Both | 记录通话,将其存储在SD卡上,然后将其与其他用户数据一起发送到外部服务器 |
| Gone in 60 sec | 间谍软件 | 66% | Tshort | 将用户数据发送到外部服务器 |
| KMin | 特洛伊木马 | 100% | Tlong | 向 premium rate 号码发送短信 |
| Lotoor | Rootkit | 100% | Both | 获取root权限并打开多个后门 |
| DroidDream | Rootkit | 100% | Tlong | 获取root权限并打开一个后门 |
| Droid Kung Fu | Rootkit | 100% | Both | 将设备信息发送到远程服务器 |
除了NickySpy和Gone in 60 seconds这两种间谍软件在一次测试中未被检测到外,其他恶意软件的总体检测准确率达到了100%。这两种间谍软件的行为相对不那么激进,NickySpy的行为可能会与运行重型应用程序时的行为混淆,而Gone in 60 seconds在数据量较少时检测较为困难。
性能影响
在测试中,MADAM对性能的影响不大,用户没有注意到响应速度或视觉性能的下降。MADAM的定期服务平均需要7%的CPU开销和3%MB的RAM空间,安卓设置中的原生电池监视器报告显示,MADAM仅使用智能手机总电池电量的2 - 5%。
优势与特点
- 全局监测 :与以往的方法不同,MADAM采用全局监测方法,不关注是哪个应用程序生成了事件,能够更有效地识别突然的行为变化。例如,一些单独无害但可以协同进行攻击的应用程序,通过全局监测系统更容易被识别。
- 可触发后续组件 :作为全局异常检测器,MADAM能够检测到入侵企图,但无法确定恶意源。不过,其响应可以触发其他组件来跟踪和阻止恶意行为的源头。
基于数据挖掘方法的低级别动态属性恶意软件检测
随着恶意软件数量的急剧增加,传统的启发式检测方法面临着准确性不足的问题,数据挖掘方法在恶意软件检测中的应用逐渐受到关注。
研究背景
- 恶意软件现状 :恶意软件问题在过去25年中日益严重,如今每天会出现数万个新的恶意软件实例。预计到2012年底,注册的恶意软件样本总数将接近1亿。此外,恶意软件技术还被用于军事冲突,如Stuxnet和Flamer事件。
- 启发式检测方法的问题 :传统的启发式检测方法通过提取和形式化特定威胁的模式来检测恶意软件,但存在误报和漏报的问题,主要作为辅助自动化手段为恶意软件专家提供初始过滤。
数据挖掘方法的应用
- 特征提取的重要性 :数据挖掘方法在恶意软件检测中的成功取决于两个主要因素:足够数量的格式良好的恶意软件样本用于形成学习和验证数据集;选择合适的特征提取方法来描述实验数据集的对象。
- 特征分类 :文件对象的特征可分为外部特征和内部特征。外部特征包括文件来源URI的WhoIs Web服务数据、用户和专家社区的意见等;内部特征可进一步分为静态特征和动态特征。
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(文件对象特征):::process --> B(外部特征):::process
A --> C(内部特征):::process
C --> D(静态特征):::process
C --> E(动态特征):::process
-
静态特征
:
- N - grams :固定长度的字节序列,最早用于检测受感染的引导扇区。其优点是可见性和提取简单,但数量可能巨大,处理资源消耗大,且不适用于受保护的文件对象。
- 字符串 :符号序列,内容符合一些预定义条件。与N - grams类似,具有高可解释性,但也存在处理资源消耗大的问题。
- 文件头内容 :包括通用头、模块依赖表、资源等数据类型。提取相对简单且具有可解释性,但高级保护技术可能会影响其使用。
- 操作码级信息 :关于文件对象中机器代码的操作码信息。
- 指令序列数据 :包括操作码和参数级别的指令序列信息。
- 更高级别的静态指令块数据 :如翻译块、指令链等。
- 逻辑分离的指令块信息 :如分离的函数。
- 机器代码块的相互依赖数据 :如翻译块、函数等之间的相互依赖关系。
-
动态特征
:
- 外部代码使用信息 :应用程序在执行过程中使用的外部代码(通常是API函数)。
- 外部代码序列数据 :如API调用序列。
- 函数输入参数和返回值信息 。
- 执行指令的低级别数据 :操作码、操作数、序列等。
- 操作系统内部内核结构和内核事件的变化数据 。
研究方法
本文提出了一种基于数据挖掘方法的定性启发式恶意软件检测系统,其核心是使用额外的方法提取动态特征,特别是研究提取便携式可执行格式恶意软件的行为(机器代码指令块)属性。
通过以上两种方法的介绍,我们可以看到,无论是MADAM的多级异常检测框架,还是基于数据挖掘的低级别动态属性检测方法,都在不断探索和改进,以提高恶意软件检测的准确性和效率,为信息安全提供更可靠的保障。
MADAM与低级别动态属性在恶意软件检测中的应用
实验与结果分析
为了验证基于数据挖掘方法的低级别动态属性恶意软件检测的有效性,进行了相关实验。
实验工具与步骤
- 工具选择 :使用了合适的实验环境和工具来收集和分析恶意软件的低级别动态属性。
-
步骤流程
:
- 收集大量的恶意软件样本和正常软件样本,构建实验数据集。
- 对样本进行特征提取,包括静态特征和动态特征。
- 使用数据挖掘算法对提取的特征进行训练和分类。
- 对测试集进行检测,评估检测结果的准确性。
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(收集样本):::process --> B(特征提取):::process
B --> C(训练分类):::process
C --> D(测试评估):::process
实验结果
实验结果表明,基于低级别动态属性的数据挖掘方法在恶意软件检测中具有一定的准确性。通过合理选择特征和分类算法,可以有效提高检测率,降低误报率。但同时也发现,对于一些经过高级保护技术处理的恶意软件,检测难度仍然较大。
讨论与展望
两种方法的比较
- MADAM :适用于安卓设备,采用全局监测方法,能够检测多种类型的恶意软件,对性能影响较小。但它无法直接确定恶意源,需要触发后续组件进行处理。
- 基于低级别动态属性的数据挖掘方法 :通过提取恶意软件的低级别动态特征,利用数据挖掘算法进行检测。该方法在处理大量恶意软件样本时具有优势,但对于复杂的恶意软件保护技术可能效果不佳。
| 方法 | 适用场景 | 优势 | 不足 |
|---|---|---|---|
| MADAM | 安卓设备 | 全局监测,性能影响小 | 无法确定恶意源 |
| 低级别动态属性数据挖掘方法 | 处理大量样本 | 可利用数据挖掘算法 | 对复杂保护技术效果不佳 |
未来发展方向
- 结合多种方法 :将MADAM和基于低级别动态属性的数据挖掘方法相结合,充分发挥各自的优势,提高恶意软件检测的准确性和效率。
- 应对新的威胁 :随着恶意软件技术的不断发展,需要不断更新和改进检测方法,以应对新的威胁,如零日攻击等。
- 自动化处理 :开发自动化的检测系统,减少人工干预,提高检测的实时性和准确性。
- 用户引导 :为用户提供更好的引导,帮助用户区分误报和真实的入侵,提高用户体验。
总结
恶意软件检测是信息安全领域的重要任务,MADAM和基于低级别动态属性的数据挖掘方法为我们提供了两种不同的检测思路。MADAM在安卓设备上具有良好的性能和检测效果,而基于低级别动态属性的数据挖掘方法则在处理大量样本时具有优势。通过不断探索和改进这些方法,结合多种技术手段,我们有望在恶意软件检测领域取得更好的成果,为信息安全提供更可靠的保障。在未来的研究和实践中,我们需要关注新的威胁和技术发展,不断优化检测方法,以适应不断变化的安全环境。
超级会员免费看
80

被折叠的 条评论
为什么被折叠?



