20、检测内核控制流修改型Rootkit及大数据环境下智能形成技术解析

检测内核控制流修改型Rootkit及大数据环境下智能形成技术解析

1. 内核Rootkit检测技术设计细节
1.1 威胁模型

目标是检测来宾虚拟机(guest VM)内具有最高权限的内核Rootkit。这种Rootkit可对来宾虚拟机的内存空间进行完全的读写操作,能在虚拟机内核空间执行任意恶意活动。为隐藏自身,它会修改内核控制流并执行恶意代码。假定虚拟机监视器(VMM)是可信的,且Rootkit无法突破来宾虚拟机去危害底层的VMM。

1.2 利用硬件性能计数器(HPCs)进行系统调用分析

为检测修改控制流的内核Rootkit,技术重点在于验证系统调用的执行。系统调用是用户程序与内核交互的主要接口,内核Rootkit常通过篡改系统调用的正常执行来欺骗用户监控工具,如Linux中的 ps ls netstat 等。例如, ps 命令会返回所有运行进程的状态,其调用的系统调用包括 sys_open sys_close 等。Rootkit会修改这些系统调用,使恶意进程信息不在 ps 返回列表中,这种修改通常会导致监控的硬件事件数量与未感染时不同。

使用HPCs对来宾虚拟机中的系统调用执行情况进行性能分析时,主机中的分析器需具备以下能力:
1. 能感知来宾虚拟机中系统调用的发生。
2. 可触发HPCs。

现有的基于HPC的性能分析工具无法满足设计要求,因为它们无法捕获来宾虚拟机中系统调用的开始和退出。为解决此问题,将分析工具与VMM连接,VMM能拦截来宾虚拟机中的系统调用。该技术可与任何基于HPC的分析器结合使用,概念验证设计基于Linux Perf,虚拟化环境使用基于内核的虚拟机(KVM)构建。

KVM是适用于具有虚拟化扩展硬件的Linux全虚拟化解决方案,来宾虚拟机作为单个进程运行在用户空间,由修改后的QEMU模拟I/O活动。处理器有主机模式和来宾模式,执行虚拟化敏感指令时会触发VM - exit,主机通过虚拟机控制块(VMCB)管理来宾对虚拟化资源的访问。

来宾虚拟机中的系统调用由KVM模块拦截,KVM模块与Perf_event内核服务通信以初始化、启用/禁用、读取和关闭HPCs。检查组件(包括KVM模块、Perf_event工具和HPCs)部署在目标虚拟机外部,以防止来宾虚拟机中的内核Rootkit干扰检查过程。仅当来宾虚拟机中运行受监控的系统调用时,才调用Perf_event内核服务启动按进程的性能分析任务并启用HPCs,确保计数事件准确对应特定来宾虚拟机中受监控系统调用的执行。

对于给定系统调用,不同输入下执行时发生的硬件事件数量会有所不同。为确定异常事件数量是否由系统调用的恶意修改引起,将受监控系统调用的硬件事件计数与使用相同输入调用的未修改系统调用的计数进行比较。

以下是VMM - 基于HPCs的Rootkit检测技术结构:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    classDef service fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
    classDef hardware fill:#FFEBEB,stroke:#E68994,stroke-width:2px;

    A(Hardware):::hardware --> B(QEMU):::process
    B --> C(KVM module):::process
    D(Guest Applications<br>(ring 3)):::process --> C
    E(Normal process<br>(ring 3)):::process --> C
    F(Guest OS<br>(ring 0)):::process --> C
    G(Linux kernel & KVM):::process --> C
    C --> H(Perf_event<br>kernel service):::service
    H --> I(HPCs):::hardware
    D --> |syscalls| F
    E --> |syscalls| F
    F --> |syscalls| C
    C --> |syscalls| H
1.3 系统调用拦截

为执行基于HPC的检查,VMM需拦截受监控系统调用的执行。系统调用有两种实现方式:基于中断的系统调用和基于 sysenter 的系统调用。

基于中断的系统调用通过执行软件中断指令(如Linux的 INT 中断向量为 0x80 ,Windows为 0x2e )调用,内核通过执行 IRET 汇编指令退出系统调用。AMD - SVM处理器可通过设置VMCB中的某些位直接支持拦截基于中断的系统调用,而Intel VT扩展目前无法直接支持捕获用户中断,Ether通过将系统调用入口地址替换为非法地址引发页面错误来解决,Nitro通过虚拟化中断描述符表(IDT)解决。

用户空间进程分别通过执行 SYSENTER SYSEXIT 指令进入和退出基于 sysenter 的系统调用,当前硬件辅助虚拟化技术不直接支持拦截此类系统调用。可通过禁用主机操作系统中与 sysenter 模式相关的CPU功能,迫使来宾系统使用基于中断的系统调用,Nitro则通过向来宾虚拟机注入系统中断来捕获基于 sysenter 的系统调用。

为确定捕获的 INT 指令是否由系统调用引起,需检查中断向量。当来宾虚拟机通过执行 INT 指令退出时,指令地址存储在EIP寄存器中,可从VMCB的EIP字段获取该地址,进而访问来宾内存获取中断向量。此外,还需确定系统调用号,系统调用号是系统调用被调用时存储在来宾虚拟机EAX寄存器中的整数,可从VMCB的EAX字段获取。

2. 安全分析

借助虚拟化提供的隔离和使用HPCs的优势,执行路径分析具有很高的安全性和抗篡改能力。以下是一些可能的攻击及防御方法:
1. 篡改计数过程 :若事件计数在来宾虚拟机内,内核Rootkit可能在执行自身代码时禁用计数器,恢复正常执行时再启用,导致恶意行为无法被检测。在设计中,硬件事件由主机计数,Rootkit无法触及HPCs。
2. 篡改分析过程 :即使计数器正常工作,Rootkit也可能直接操纵分析结果。而基于VMM的设计中,计数由可信主机从HPCs读取,分析也由主机执行,来宾内核Rootkit无法访问主机内存,无法干扰分析。
3. 修改执行路径但保持指令总数不变 :高级Rootkit可能尝试修改执行路径但保持指令总数不变,但基于HPC的设计可同时监控多个硬件事件,如分支数、返回数、浮点运算数等,Rootkit几乎不可能使所有这些事件数量都不变。
4. 根据检查时间调整行为 :聪明的攻击者可能在检查时撤销修改,检查结束后再激活。设计中,检测过程在主机中运行,来宾无法察觉,且可随机化检查间隔,避免攻击者预测检查时间。

该技术的唯一局限是难以检测短期的内核修改,但攻击者使用Rootkit通常是为了在目标系统中长期执行恶意活动,短期Rootkit不符合其目标,因此该局限可忽略。

3. 评估

为评估技术的有效性,使用真实世界的内核Rootkit SUCKIT 1.3b进行测试。SUCKIT是广为人知的内核Rootkit,运行于Linux系统,用于隐藏进程、文件、连接并获取root权限等。它会用自己的副本替换系统调用表,并重定向到恶意系统调用。

在评估中,SUCKIT 1.3b运行在Redhat 7.3来宾虚拟机(Linux内核2.4.18)上,主机运行Ubuntu 11.10(Linux内核3.0.16)。检查 sys_open sys_read sys_getdents64 三个通常是内核Rootkit目标的系统调用,同时监控每个系统调用执行时的三个硬件事件:已退休指令数、已退休返回数和已退休分支数。将受感染系统调用的计数与原始系统调用的计数进行比较,实验结果如下表所示:
| 监控事件 | 系统调用 | sys_open | sys_read | sys_getdents64 |
| — | — | — | — | — |
| 已退休指令数 | 原始 | 1081 | 370 | 1808 |
| | 受感染 | 10119 | 590 | 6200 |
| 已退休返回数 | 原始 | 17 | 6 | 24 |
| | 受感染 | 132 | 15 | 140 |
| 已退休分支数 | 原始 | 191 | 78 | 160 |
| | 受感染 | 2663 | 104 | 1805 |

从结果可看出,Rootkit为引入自身功能,通常会显著修改原始系统调用,正常执行和受感染执行的事件数量差异明显, sys_open 被修改得最为严重。

4. 大数据环境下智能形成相关探讨

在大数据环境中,与生命和思维相关的信息量远超物质世界的多样性。现代科学若忽视自然基础中的信息处理,会陷入各种复杂问题。不明确包含信息处理机制的基础物理范式不仅不完整,甚至是错误的,正如John A. Wheeler所说:“物理世界由信息构成,能量和物质只是附带品”。

信息处理的实现面临硬件和软件两方面的问题,这里主要探讨与大数据信息泛滥情况相关的软件问题。之前的出版物已对大数据情况下的硬件问题进行了一些一般性讨论。

大数据情况面临两个主要问题:
1. 在信息过剩的情况下如何采取有意义的行动。
2. 如何实际生成具有极其丰富信息内容的对象。

建设性的自然科学解决方案需要优雅的操作算法,不合适的算法会导致笨拙的临时理论,而针对大数据情况设计的巧妙算法解决方案会成为有效的自然法则。

5. 内核Rootkit检测技术总结

综上所述,通过对内核Rootkit检测技术的研究和实践,我们可以看到该技术在保障系统安全方面具有显著的效果。以下是对该技术的主要特点和优势的总结:
- 针对性强 :明确针对具有最高权限的内核Rootkit,这类Rootkit危害大且隐蔽性强,技术通过对系统调用的监测和分析,能够有效检测其恶意行为。
- 安全性高 :利用虚拟化提供的隔离以及硬件性能计数器(HPCs)的优势,将检测过程与来宾虚拟机隔离,防止Rootkit篡改计数和分析过程,保证了检测结果的可靠性。
- 多维度监测 :不仅关注指令总数,还同时监测多个硬件事件,如分支数、返回数、浮点运算数等,大大增加了检测的准确性,使高级Rootkit难以逃避检测。
- 难以预测 :检测过程在主机中运行,来宾虚拟机无法察觉,并且可以随机化检查间隔,避免攻击者根据检查时间调整行为。

然而,该技术也存在一定的局限性,即难以检测短期的内核修改。但考虑到攻击者使用Rootkit的主要目的是长期执行恶意活动,这一局限在实际应用中可以适当忽略。

6. 大数据环境下智能形成的深入思考

在大数据环境下,信息处理的软件问题成为了关键。随着数据量的不断增长,如何从海量数据中提取有价值的信息,以及如何生成具有丰富信息内容的智能对象,是亟待解决的问题。

为了更好地应对大数据带来的挑战,我们可以从以下几个方面进行思考:
- 算法优化 :设计更加高效、智能的算法,能够在信息过剩的情况下快速筛选出有意义的信息。这些算法应该具有自适应能力,能够根据数据的特点和需求进行动态调整。
- 模型构建 :构建合适的模型来表示和处理大数据。这些模型可以是基于机器学习、深度学习等技术,通过对大量数据的学习和分析,发现数据中的规律和模式。
- 协同合作 :加强不同领域之间的合作,整合多方面的资源和技术。例如,计算机科学、数学、物理学等领域的知识可以相互融合,为大数据处理提供更全面的解决方案。

以下是一个简单的大数据处理流程示例:

graph LR
    classDef data fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    classDef process fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
    classDef output fill:#FFEBEB,stroke:#E68994,stroke-width:2px;

    A(原始数据):::data --> B(数据清洗):::process
    B --> C(特征提取):::process
    C --> D(模型训练):::process
    D --> E(预测与决策):::process
    E --> F(结果输出):::output
7. 综合应用与展望

将内核Rootkit检测技术与大数据环境下的智能形成相结合,可以为系统安全和智能决策提供更强大的支持。例如,在大数据系统中,通过检测内核Rootkit可以保证数据的安全性和完整性,而大数据处理技术则可以为检测提供更丰富的信息和更准确的分析。

未来,随着技术的不断发展,我们可以期待以下几个方面的进步:
- 技术融合 :将更多的安全技术和大数据处理技术进行融合,形成更加完善的安全防护体系和智能决策系统。
- 自动化程度提高 :实现检测和处理过程的自动化,减少人工干预,提高效率和准确性。
- 应用领域拓展 :将该技术应用到更多的领域,如物联网、云计算等,为这些领域的安全和发展提供保障。

总之,内核Rootkit检测技术和大数据环境下的智能形成是两个具有重要意义的研究方向,它们的发展将为我们的生活和工作带来更多的便利和安全。我们需要不断探索和创新,推动这些技术的进步,以应对日益复杂的安全挑战和大数据处理需求。

技术方向 优势 挑战
内核Rootkit检测技术 针对性强、安全性高、多维度监测、难以预测 难以检测短期内核修改
大数据环境下智能形成 可提取有价值信息、生成智能对象 算法优化、模型构建、协同合作难题
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值