【技术实现步骤摘要】
一种基于Linux内核的动态库劫持检测方法及装置
[0001]本专利技术涉及网络终端安全
,特别涉及一种基于Linux内核的动态库劫持检测方法及装置。
技术介绍
[0002]rootkit的运行特点之一为隐蔽性,因此rootkit进程必须能够隐藏自身,躲避安全软件的追踪。目前许多应用级rootkit为了隐藏自身,躲避追踪,常常会利用Linux系统的动态库加载机制,构造恶意的动态库,然后设置特定的环境变量LD_PRELOAD、LD_LIBRARY_PATH,促使类似netstat、ss、ps、pidof等查询命令加载指定的恶意动态库,从而在劫持的动态库中完成需要的功能。
技术实现思路
[0003]本专利技术实施例的目的是提供一种基于Linux内核的动态库劫持检测方法及装置,通过实时采集待执行进程启动的所有环境变量,并遍历其中是否包含动态库劫持的环境变量,以此检测恶意劫持动态库行为,检测方式准确、高效。
[0004]为解决上述技术问题,本专利技术实施例的第一方面提供了一种基于Linux内核的动态库劫 ...
【技术保护点】
【技术特征摘要】
1.一种基于Linux内核的动态库劫持检测方法,其特征在于,包括如下步骤:获取待执行进程启动的环境变量;判断所述待执行进程的环境变量是否包括LD_PRELOAD或LD_LIBRARY_PATH;如是则判定存在动态库劫持行为,如否则允许进程执行。2.根据权利要求1所述的基于Linux内核的动态库劫持检测方法,其特征在于,所述获取待执行进程启动的环境变量,包括:在Linux安全模块的security_bprm_check_security hook回调函数中,依据struct linux_binprm类型参数,计算运行参数和环境变量的字节长度;获取相应字节长度的内存缓存;调用access_remote_vm函数,读取由struct linux_binprm的对象的成员变量p开始的所述字节长度个字节并存储至所述内存缓存,获取待执行进程的环境变量。3.根据权利要求2所述的基于Linux内核的动态库劫持检测方法,其特征在于,所述获取待执行进程启动的环境变量之前,还包括:在驱动安装时,注册所述Linux安全模块的security_bprm_check_security hook回调函数。4.根据权利要求3所述的基于Linux内核的动态库劫持检测方法,其特征在于,所述允许进程执行之后,还包括:在所述驱动卸载时,解注册Linux安全模块的security_bprm_check_security hook函数。5.根据权利要求1
‑
4任一所述的基于Linux内核的动态库劫持检测方法,其特征在于,所述判定存在动态库劫持行为之后,还包括:依据防误报和阻断策略判断所述动态库存在劫持行为是否为误报;如是则允许所述进程执行,如否则阻断所述进程执行,并发送报警信息。6.一种基于Linux内核的动态库劫持检测装置,其特征在于,包括:变量获取模块,其用于获取待执行进程启动的环境变量;变量判断模块,其用于判断所述待执行进程的环境变量是否包括LD_PRELOAD...
【专利技术属性】
技术研发人员:姜向前,赵克奉,鲍春杰,
申请(专利权)人:安芯网盾北京科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。