一种针对rootkit的检测方法及系统技术方案

技术编号:38003633 阅读:10 留言:0更新日期:2023-06-30 10:17
本发明专利技术的实施例公开了一种针对rootkit的检测方法及系统。方法包括:调用待保护的系统的指定信息并储存;设置rootkit标识范围,判断待保护的系统的标识是否超出rootkit标识范围;若待保护的系统的标识超出rootkit标识范围,则判断系统未受到rootkit感染;若待保护的系统的标识位于rootkit标识范围内,则再次调用待保护的系统的指定信息,与储存的指定信息比较,若两次信息不同,则判断系统受到rootkit感染。系统包括调用模块,标识检测模块和指定信息比较模块。本发明专利技术检测过程简便迅速,仅在应用层即可完成,对系统无任何影响,无安全隐患,且对于使用了magic id标志技术的特定rootkit来说必定可检,准确率得到了保证。准确率得到了保证。准确率得到了保证。

【技术实现步骤摘要】
一种针对rootkit的检测方法及系统


[0001]本专利技术涉及rootkit检测计数领域,特别涉及一种针对rootkit的检测方法及系统。

技术介绍

[0002]Linux平台上的rootkit主要可以分为利用动态链接库劫持技术、二进制程序替换(用户空间rootkit)和LKM内核可插拔模块技术(内核空间rootkit)几大类,但是在这几类中都有一定数量的rootkit使用了magic id技术来作为标识。
[0003]简单来说,对于入侵者,当rootkit hook系统调用来隐藏自身与入侵痕迹时,第一不希望自己使用系统时获取的各类信息也是被隐藏过的,第二则是希望能够通过一些标识来选定要隐藏的文件、进程、连接等从而实现隐藏。针对第一点,若选择在入侵时短暂停用或卸载rootkit,必然会增加被发现的风险;针对第二点,常规的通过名字进行标识可能会意外将正常系统使用者的正常文件进程等也隐藏,反而增加被发现的风险。因此,许多rootkit开发者会在hook系统调用时选择magic id的标识技术:对于使用系统的用户来说,magic id决定是否返回系统真实信息;对于文件、进程、网络连接来说,使用magic id决定是否对其进行隐藏。攻击者在被感染系统中执行恶意操作时,很多时候会将自己的uid/gid设置为一个当前系统不存在且正常情况下不可能被使用的值,称作magic uid/gid,而rootkit hook的系统调用逻辑中,会优先判断调用者的uid/gid,当匹配到magic uid/gid时,会返回系统的真实情况,通过这种方式攻击者能正常使用系统。攻击者通过此方法可以实现特定恶意文件、进程、网络连接、文件的隐藏,当正常用户尝试访问这些项时,系统调用通过判断id返回被隐藏后的结果,通过这种方式攻击者实现隐藏和自保。例如Jynx、umbreon等Linux平台上的rootkit均使用了该标识方法。
[0004]现有的Linux平台下rootkit检测技术主要有以下几种方法:
[0005](1)针对动态链接库劫持类rootkit,可以使用静态编译的二进制文件获取系统信息,对比动态链接的程序结果,若有区别则说明可能遭到了动态链接库劫持攻击。当rootkit修改了系统调用时,静态文件的结果也不可靠,也可能获取到虚假信息,因此很多rootkit可以避开这种检测方式。
[0006](2)这一类检测思路追求对于内核空间rootkit的检出率,获取内存信息进行分析,在内核、系统调用层面上进行改动以判断是否存在内核空间rootkit。因为其在内核、系统调用上进行很大改动,对系统的影响相应的也较大,在Linux系统上有概率会带来其他安全隐患。而且即使这样,这些技术在面对一些足够隐蔽、技术力足够强、设计足够巧妙的rootkit时也难以发现。
[0007](3)这种rootkit检测方式则从rootkit留下的痕迹方面进行判断,例如检查加载内核模块痕迹、检查日志系统痕迹、检查网络模式痕迹等等。这种检测方式,只要rootkit做好隐藏、痕迹清理方面的处理,基本不可能被这种方式检出。

技术实现思路

[0008]有鉴于此,本专利技术实施例的目的在于提供一种针对rootkit的检测方法及系统,检测过程简便迅速,仅在应用层即可完成,对系统无任何影响,无安全隐患,且对于使用了magic id标志技术的特定rootkit来说必定可检,准确率得到了保证,也几乎不存在误报情况。
[0009]第一方面,本专利技术实施例提供了一种针对rootkit的检测方法,其中,包括:
[0010]调用待保护的系统的指定信息并储存。
[0011]设置rootkit标识范围,判断待保护的系统的标识是否超出rootkit标识范围。
[0012]若待保护的系统的标识超出rootkit标识范围,则判断系统未受到rootkit感染。
[0013]若待保护的系统的标识位于rootkit标识范围内,则再次调用待保护的系统的指定信息,与储存的指定信息比较,若两次信息不同,则判断系统受到rootkit感染。
[0014]结合第一方面,本专利技术实施例提供了第一方面的第一种可能的实施方式,其中,包括:
[0015]所述rootkit标识采用magic id。
[0016]所述magic id包括uid或gid。
[0017]结合第一方面,本专利技术实施例提供了第一方面的第二种可能的实施方式,其中,所述设置rootkit标识范围包括:
[0018]采集用户的uid或gid取值范围。
[0019]第一等级用户的uid取值为0。
[0020]第二等级用户的uid范围在1~499或1~999。
[0021]第三等级用户的uid范围在500~65535或1000~65535。
[0022]所述第一等级用户的权限级别高于所述第二等级用户,所述第二等级用户的权限级别高于所述第三等级用户。
[0023]根据用户的uid或gid取值范围作为起始值,设置rootkit标识范围。
[0024]结合第一方面,本专利技术实施例提供了第一方面的第三种可能的实施方式,其中,所述根据用户的uid或gid取值范围作为起始值,设置rootkit标识范围,包括:
[0025]uid的取值范围从第三等级用户的uid+1作为起始值,向上递增。
[0026]结合第一方面,本专利技术实施例提供了第一方面的第四种可能的实施方式,其中,所述rootkit标识范围中,uid的最大取值为2
32

1。
[0027]结合第一方面,本专利技术实施例提供了第一方面的第四种可能的实施方式,其中,所述根据用户的uid或gid取值范围作为起始值,设置rootkit标识范围,包括:
[0028]gid的取值范围从0作为起始值,向上递增。
[0029]结合第一方面,本专利技术实施例提供了第一方面的第四种可能的实施方式,其中,所述rootkit标识范围中,gid的最大取值为2
32

1。
[0030]第二方面,本专利技术实施例还提供了一种针对rootkit的检测系统,其中,包括:
[0031]调用模块,用于调用待保护的系统的指定信息并储存。
[0032]标识检测模块设置rootkit标识范围,判断待保护的系统的标识是否超出rootkit标识范围,若待保护的系统的标识超出rootkit标识范围,则判断系统未受到rootkit感染。
[0033]指定信息比较模块,用于若待保护的系统的标识位于rootkit标识范围内,则再次
调用待保护的系统的指定信息,与储存的指定信息比较,若两次信息不同,则判断系统受到rootkit感染。
[0034]第三方面,本专利技术实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如前所述的针对rootkit的检测方法。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种针对rootkit的检测方法,其特征在于,包括:调用待保护的系统的指定信息并储存;设置rootkit标识范围,判断待保护的系统的标识是否超出rootkit标识范围;若待保护的系统的标识超出rootkit标识范围,则判断系统未受到rootkit感染;若待保护的系统的标识位于rootkit标识范围内,则再次调用待保护的系统的指定信息,与储存的指定信息比较,若两次信息不同,则判断系统受到rootkit感染。2.根据权利要求1所述的针对rootkit的检测方法,其特征在于,包括:所述rootkit标识采用magic id;所述magic id包括uid或gid。3.根据权利要求2所述的针对rootkit的检测方法,其特征在于,所述设置rootkit标识范围包括:采集用户的uid或gid取值范围;第一等级用户的uid取值为0;第二等级用户的uid范围在1~499或1~999;第三等级用户的uid范围在500~65535或1000~65535;所述第一等级用户的权限级别高于所述第二等级用户,所述第二等级用户的权限级别高于所述第三等级用户;根据用户的uid或gid取值范围作为起始值,设置rootkit标识范围。4.根据权利要求3所述的针对rootkit的检测方法,其特征在于,所述根据用户的uid或gid取值范围作为起始值,设置rootkit标识范围,包括:uid的取值范围从第三等级用户的uid+1作为起始值,向上递增。5.根据权利要求4所述的针对rootkit的检测方法,其特征在于,所...

【专利技术属性】
技术研发人员:李越姚纪卫
申请(专利权)人:安芯网盾北京科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1