[发明专利]一种内核级rootkit检测处理方法及系统在审
| 申请号: | 201310657878.8 | 申请日: | 2013-12-09 |
| 公开(公告)号: | CN103699839A | 公开(公告)日: | 2014-04-02 |
| 发明(设计)人: | 孙向作 | 申请(专利权)人: | TCL集团股份有限公司 |
| 主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F21/51 |
| 代理公司: | 深圳市君胜知识产权代理事务所 44268 | 代理人: | 王永文;刘文求 |
| 地址: | 516001 广东省惠州市*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 内核 rootkit 检测 处理 方法 系统 | ||
技术领域
本发明涉及计算机技术领域,尤其涉及一种内核级rootkit检测处理方法及系统。
背景技术
Android系统恶意软件数量增长迅速,而对Android安全性的研究却远远落后。rootkit技术是恶意程序用于隐藏自身的主要技术手段之一,其原理为:系统调用实现函数位于内核空间,而可加载内核模块可以通过内核符号表访问内核空间中的各种资源,这就为攻击者通过编写一个LKM(Loadable Kernel Modules ),利用HOOK技术挂钩系统调用以执行攻击者代码片段成为了可能。现有的内核级rootkit正是基于这种原理实现的。修改系统调用表的rootkit对位于系统调用表中的一些系统调用函数地址进行修改,它利用Android操作系统中的特性可加载内核模块,将一些系统调用的地址重定向到含有恶意代码的系统调用地址。
内核级rootkit加载进Android系统,主要是通过如下步骤执行:
1、获取系统调用表地址
System.map文件包含了系统的内核符号地址,由于每次编译内核时,内核符号有可能会发生变化,因此每次编译都会生成一个新的System.map。System.map文件的内容格式为:线性地址 类型 符号。可通过文件搜索命令grep在文件中查找sys_call_table,例如,如下所示:
sunxz@sunxz:~/work/sdk_svn/SDK/STAOS_SDK/sourceCodeForSDK/sdk_kernel/goldfish$ grep sys_call_table System.map
c0028f84 T sys_call_table
从查询结果可以看出,系统调用表的地址为c0028f84,类型字母T意思是text,表示该符号位于代码段。类型字母小写表示局部,大写表示全局。
2、 实现系统调用的劫持
根据系统调用表地址,利用hook技术实现系统调用函数的劫持。实现方法是在rootkit模块加载时将系统调用表中待劫持的系统调用索引替换为攻击者定义的函数指针,如图1:重定向系统调用所示。
图1以read和write系统调用展示了重定向系统调用过程。sys_read和sys_write是这两个系统调用的实现函数,系统调用表中_NR_read和_NR_write两个索引指向这两个函数(图中虚线所示)。攻击者将系统调用表中相关索引指向的具体实现函数更改为:rootkit_read和rootkit_write(图中实线所示),这样当read和write被调用时,实际执行的就是攻击者函数。
3、 执行恶意程序代码
攻击者可以在rootkit_read和(或)rootkit_write函数中增加触发条件分支,当智能设备执行特定动作时满足一定条件从而运行相应的指令序列。当攻击者设定的特定条件被触发时,攻击者可以在相应的逻辑分支中做任何事情,比如获取用户关键信息等。
4、 实现rootkit模块自身的隐藏
Android系统对内核模块的维护通过一个全局双向链表来实现,该链表的每个节点都包括数据以及指向前驱和后继的两个指针。该数据结构定义在/include/linux/list.h中。list.h同时给出了链表的基本添加、删除、移动及替换等操作,并将相关函数作为内核符号导出。rootkit模块的隐藏是在模块自身的初始化函数中,将其前驱和后继节点的next和prev重定向以将自身从链表中删除。
而与此同时,传统的rootkit检测技术由于各自的局限性,不能够完全适用于Android平台。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种内核级rootkit检测处理方法及系统,旨在解决目前Android系统无法很好检测内核级rootkit及进行系统恢复问题。
本发明的技术方案如下:
一种内核级rootkit检测处理方法,其中,所述方法包括以下步骤:
A、预先在内核模块链表当前节点中保存新加载模块节点生成的签名,并将内核模块链表当前节点生成的签名保存在所述新加载模块节点中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于TCL集团股份有限公司,未经TCL集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310657878.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:新型沥青延度试验器
- 下一篇:具有回油滤清器的液压油箱





