[发明专利]一种内核级Rootkit检测方法及系统在审
申请号: | 201610848325.4 | 申请日: | 2016-09-26 |
公开(公告)号: | CN106599685A | 公开(公告)日: | 2017-04-26 |
发明(设计)人: | 王辛宇;童志明;肖新光 | 申请(专利权)人: | 哈尔滨安天科技股份有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F21/57 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 150090 黑龙江省哈尔滨*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内核 rootkit 检测 方法 系统 | ||
技术领域
本发明涉及网络安全技术领域,尤其涉及一种内核级Rootkit检测方法及系统。
背景技术
随着计算机网络的飞速发展,信息安全日益成为当今社会的重大问题之一,没有绝对的安全,攻与防永远是信息安全领域中恒久不变的主题。能够深入了解和研究各种攻击行为,对于更好地实施信息安全保障具有很好的借鉴意义。Linux作为开源的操作系统,一直被认为安全性优于Windows,但随着发行版趋于大众化,使用者也日益增多,Linux的安全问题也尤其的凸现出来,然而Rootkit又是作为攻击Linux系统的强有力的工具,已经更加深入地侵入到 PC之中,具有很强的隐藏性,与难以清除的问题,从操作系统用户空间、内核一直到硬件,每一代Rootkit都深入到系统的更深一层,其流行速度和高级程度正在迅速增长,用户级Rootkit是比较容易发现及清除的,而内核级往往发现和清除较为麻烦。
针对于内核级Rootkit检测实现的方法并不是很多,常用的有基于特征码的检测、基于内核栈检测、内核挂钩检测、VMM Rootkit检测和基于内存的检测等。基于特征码的检测方式是最为简单的,但是这种检测方式无法检测未知的Rootkit,不具有普遍适用性,其它的检测方法多为通过内核编程,行为分析或虚拟执行,检测是否存在注入模块,进而检测是否存在Rootkit,这种方法具有较高的复杂性,而且多数依赖于内核版本的限制,跨平台性较差,对于不具备内核模块编程能力的检测者,实施较为困难,有时可能会浪费大量的时间却无法检测。
发明内容
针对上述技术问题,本发明所述的技术方案提出了一种内核级Rootkit检测方法和系统,通过内核符号表的对比和认证,可以动静态结合分析是否系统存在rootkit行为。
本发明采用如下方法来实现:
一种内核级Rootkit检测方法,包括:
解析System.map符号表,获取静态符号名称和符号类型;
解析kallsyms符号表,获取动态符号名称、符号类型以及符号所属模块;
将kallsyms符号表与System.map符号表进行对比,判定系统是否存在Rootkit行为。
进一步地,将kallsyms符号表与System.map符号表进行对比之前还包括:若kallsyms符号表中的符号全部为以非内核模块形式存在的符号,则系统不存在Rootkit行为;否则将kallsyms符号表与System.map符号表进行对比。
进一步地,所述将kallsyms符号表与System.map符号表进行对比具体为;
分别计算System.map符号表与kallsyms符号表中符号的哈希值;
若kallsyms符号表中包含与System.map符号表哈希值不相同的符号,则将符号按照符号类型进行分类;若同一类中符号的所属模块名称不同,则对符号名称按位进行匹配;
针对匹配结果低于预设相似度的符号,判定是否存在异常进程或存在异常行为或存在修改系统调用表地址或Hook文件操作系统调用行为,若是,则该系统存在rootkit行为。
本发明可以采用如下系统来实现:一种内核级Rootkit检测系统,包括:
第一解析模块,用于解析System.map符号表,获取静态符号名称和符号类型;
第二解析模块,用于解析kallsyms符号表,获取动态符号名称、符号类型以及符号所属模块;
对比判定模块,用于将kallsyms符号表与System.map符号表进行对比,判定系统是否存在Rootkit行为。
进一步地,将kallsyms符号表与System.map符号表进行对比之前还包括:若kallsyms符号表中的符号全部为以非内核模块形式存在的符号,则系统不存在Rootkit行为;否则将kallsyms符号表与System.map符号表进行对比。
进一步地,所述将kallsyms符号表与System.map符号表进行对比具体为;
分别计算System.map符号表与kallsyms符号表中符号的哈希值;
若kallsyms符号表中包含与System.map符号表哈希值不相同的符号,则将符号按照符号类型进行分类;若同一类中符号的所属模块名称不同,则对符号名称按位进行匹配;
针对匹配结果低于预设相似度的符号,判定是否存在异常进程或存在异常行为或存在修改系统调用表地址或Hook文件操作系统调用行为,若是,则该系统存在rootkit行为。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨安天科技股份有限公司,未经哈尔滨安天科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610848325.4/2.html,转载请声明来源钻瓜专利网。