LINUX内核级Rootkit


RootKit

1.1 Rootkit的定义

  • Rootkit的概念出现于二十世纪九十年代初,是计算机安全领域的一个术语,来自root和kit两个单词的组合,其中root表示Linux操作系统中超级用户的名
    称,拥有系统的最高权限;kit则表示工具套件的意思。顾名思义,rootkit就是用
    来保持系统最高权限的工具集。

    1.2 Rootkit的功能

    攻击者在安装rootkit之前,必须先获取目标系统的超级用户权限。Rootkit
    并不能帮助攻击者攻破系统,而是使攻击者能重新获取系统超级用户权限的技术。
  • (1)保持对系统的访问权限:Rootkit通过预留后门来保持对目标系统永久访问。
  • (2)攻击其它系统:二十世纪九十年代末期,rootkit技术中出现了用于攻击其
    它系统的工具,大体可分为本地攻击工具和远程攻击工具两种。

    本地攻击工具的主要目的是重新获取主机的管理员权限,其典型代表有本地
    密码嗅探器和解密器。

    远程攻击工具的作用是将目标机作为一个跳板,攻击网络上的其它主机。例
    如,当一个黑客成功攻陷了一台主机,并且想利用这台主机去攻击同一网段上的
    其他主机时,他就可以在这台主机上安装Sniffer工具并将网络适配卡(NIC)置为
    杂乱(promiscuous)模式,对以太网设备上传输的数据包进行侦听。黑客可设置
    Sniffer的监听条件,专门捕抓含有“login”或“password”关键字的数据包,通
    常这样的包里会有黑客感兴趣的某台主机的登录用户和密码。

  • (3)隐藏攻击痕迹:为了避免引起管理员的怀疑,rootkit还应具备隐藏攻击信
    息的功能。一个典型的rootkit能够实现修改或删除日志文件、隐藏与rootkit相关
    的所有文件、隐藏攻击相关的进程(If Sniffer、后门守护进程、解密器)、隐藏攻
    击相关的通信链接等。

    1.3 Rootkit的攻击过程

  • (1)收集目标主机的信息
  • (2)获取目标主机的超级权限
  • (3)在目标主机上安装rootkit
  • (4)清除rootkit痕迹
  • (5)操纵目标主机

    1.4 Rootkit的分类

  • 根据对操作系统攻击对象的所处位置不同,可将rootkit分为五类(如图1.1):
    应用级rootkit、内核级rootkit、设备级rootkit、其它rootkit及混合型rootkit
    图1.1

(1)应用级rootkit又称为传统rootkit,是最早出现的一类rootkit,它通过替换
用户层的系统工具,如/bin/Is,/bin/ps,/bin/netstat来隐藏攻击行为。

  • 表1.2内核级rootkit的攻击对象

    攻击对象 对象描述 攻击对象 对象描述
    adt 用于定时运行指定程序 chattr 修改ext2文件系统的文件属性
    chsh 变更shell模式 dir 查看文件大小
    find 查找文件 ifconfig 显示网卡状态
    locate 列出符合指定条件的文件 lsof 列出打开状态的文件
    ls 显示目录下内容 login 启动新会话
    md5sum 生成或校验md5摘要消息 netstat 列出网络端口、路由表等信息
    ps 列出正在运行的进程 pstree 显示进程树
    read 读取文件描述符中信息 su 切换到超级用户
    write 发送消息给其他用户 top 显示linux下的任务

典型的应用级rootkit有TOrn、WOOtkit、lion蠕虫、Irk rootkit等。这类rootkit
需要替换的系统工具太多了,以至于入侵者一不小心就会遗漏掉一两个;且通过
现有的一些文件完整性工具很容易就能检测出来,因此应用级rootkit技术已逐渐
被黑客抛弃了。

(2)内核级rootkit是指入侵到操作系统内核层的的恶意软件。操作系统内核处
于整个系统的最底层,被认为是系统中最基本的部分,像文件系统、进程调度、
存储管理、系统调用等任务都是在系统内核中实现的。内核级rootkit通常修改或
替换内核中的数据结构或函数(如中断处理函数、系统调用、文件系统等),表
1.2给出了内核级rootkit常见的攻击目标。

  • 表1.2内核级rootkit的攻击对象

    攻击对象 对象描述
    系统调用(System calls) 用户层进程的函数接口
    虚拟文件系统(Virtual file systeml 通用的文件系统接口
    调度程序(Schedulerl) 进程调度机制
    内核模块(Kernel modules) 向内核注入源码承载体
    中断处理函数(Interrupt handlers) 软硬件中断的处理函数
    驱动程序(Drivers) 可控制系统中的硬件

(3) 设备级rootkit是一种以计算机设备为目标的攻击技术,这些设备包括
BIOS、网卡、声卡、硬盘控制器等。所有这些设备都能通过程序与系统进行交互,
因此一旦这些设备上安装了rootkit,入侵者就很有可能通过它们干扰系统的正常
工作。例如,攻击者可以向硬盘控制器植入恶意代码,来伪造硬盘中的文件信息。
设备级rootkit最大的特点是,即使管理员对磁盘进行格式化或是重装系统,
这类rootkit仍会存在。

(4) 另外存在一些rootkit,其攻击对象不属于应用层、内核层或设备层,安装
在虚拟机监控器(VMM)下的rootkit就属于这一范畴。目前,还鲜少发现这类rootkit
的应用,因此在本文中将不对这类rootkit做过多介绍。

(5) 在实际应用中,同一个
rootkit的攻击目标有可能存在于多个层。例如一个rootkit可以在替换系统工具的 同时,对系统调用表进行修改,这类rootkit称为混合型rootkit。美国乔治理工大
学搭建的蜜网就曾捕获到一种名为r.tgz的混合型rootkit,它包含了应用层和内核
层rootkit。


文章作者: Augu5t
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Augu5t !
  目录