入侵检测方法及入侵检测装置制造方法及图纸

技术编号:20947481 阅读:26 留言:0更新日期:2019-04-24 03:40
本发明专利技术公开了一种入侵检测方法,包括:通过对Linux内核态中的待劫持函数进行劫持以获得操作行为信息;对所获得的操作行为信息进行处理以获得与操作行为信息相对应的目标信息;将所获得的目标信息写入共享内存;从共享内存中获取目标信息并对目标信息进行处理以获得目标检测信息;将目标检测信息传送到管理服务器以进行检测。本发明专利技术的入侵检测方法只对最主要的四个系统调用函数进行劫持,使得HIDS的结构简化,目标检测信息收集与检测分开使得资源消耗减小,内核兼容性好,并且采用共享内存的信息传输方式比在netLink模式下有较大的性能提升。

Intrusion Detection Method and Intrusion Detection Device

The invention discloses an intrusion detection method, which includes: hijacking the function to be hijacked in the Linux kernel state to obtain the operation behavior information; processing the obtained operation behavior information to obtain the target information corresponding to the operation behavior information; writing the obtained target information into the shared memory; obtaining the target information from the shared memory and entering the target information. Processing is performed to obtain the target detection information, and the target detection information is transmitted to the management server for detection. The intrusion detection method of the present invention only hijacks the four main system call functions, simplifies the structure of HIDS, reduces resource consumption and has good kernel compatibility due to the separation of target detection information collection and detection, and improves the performance of the shared memory information transmission mode compared with the netLink mode.

【技术实现步骤摘要】
入侵检测方法及入侵检测装置
本专利技术涉及网络安全,尤其涉及入侵检测方法及入侵检测装置。
技术介绍
基于主机的入侵检测系统(HIDS)是安全防护体系的重要一环,也是安全纵深防御体系中的最后一环。当攻击者攻击到内部网络,获得了服务器的权限,通过账户操作、提权操作、网络配置、文件操作,往往会给主机所有者造成严重的损害,包括服务中断或彻底破坏、数据泄露或丢失、持续执行与业务无关的操作(例如发送DDOS攻击数据包、挖矿等),有时还会使服务器持续留有后门。Linux系统的HIDS一直是安全领域最为基础也最为难以解决的问题,主要原因包括版本众多、稳定性差、性能损耗严重等。目前常见的HIDS研发思路包括:(1)基于主流的开源项目,例如OSSEC,进行客制化开发;(2)基于LinuxAudit,进行操作分析。但是这两种方案在真正实施过程中,存在以下的问题:1)结构复杂、功能繁多、不能灵活调整,2)资源消耗大,性能损耗严重,3)在用户态难以对rootkit等高级威胁进行检测。因此,亟需一种简化结构、减小资源消耗并且交互性好的入侵检测方法及检测装置。
技术实现思路
针对上述问题,本专利技术一方面提供了一种入侵检测方法,包括:通过对Linux内核态中的待劫持函数进行劫持来获得操作行为信息;对所获得的操作行为信息进行处理以获得与所述操作行为信息相对应的目标信息;将所获得的目标信息写入共享内存;从所述共享内存中获取所述目标信息并对所述目标信息进行处理以获得目标检测信息;以及将所获得的目标检测信息传送到管理服务器以进行检测。本专利技术另一方面提供了一种的入侵检测装置,所述装置包括:处理器;以及存储器,其用于存储指令,当所述指令被执行时使得所述处理器执行以下操作:通过对Linux内核态中的待劫持函数进行劫持来获得操作行为信息;对所获得的操作行为信息进行处理以获得与所述操作行为信息相对应的目标信息;将所获得的目标信息写入共享内存;从所述共享内存中获取所述目标信息并对所述目标信息进行处理以获得目标检测信息;以及将所获得的目标检测信息传送到管理服务器以进行检测。本专利技术另一方面提供了一种计算机可读存储介质,所述存储介质包括指令,当所述指令被执行时,所述计算机的处理器执行上述入侵检测方法。本专利技术的入侵检测方法只对最主要的四个系统调用函数进行劫持,使得HIDS的结构简化,目标检测信息收集与检测分开使得资源消耗减小,内核兼容性好,并且采用共享内存的信息传输方式比在netLink模式下有较大的性能提升。附图说明图1是根据本专利技术的HIDS的整体架构图100;图2是根据本专利技术实施例的入侵检测方法的流程图200;图3是根据本专利技术的一个实施例的入侵检测方法的流程图300;图4是的根据本专利技术实施例的侵检测装置的示意图400。具体实施方式以下参考附图详细描述本公开的各个示例性实施例。附图中的流程图和框图示出了根据本公开的各种实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分可以包括一个或多个用于实现各个实施例中所规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。本文所使用的术语“包括”、“包含”及类似术语应该被理解为是开放性的术语,即“包括/包含但不限于”,表示还可以包括其他内容。术语“基于”是“至少部分地基于"。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”,等等。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。对于附图中的各单元之间的连线,仅仅是为了便于说明,其表示至少连线两端的单元是相互通信的,并非旨在限制未连线的单元之间无法通信。术语解释:目标信息:是指调用进程的相关信息,例如,用户信息、具体操作行为信息、可执行文件的位置信息、文件执行目录信息、stdin、stdout等与安全检测相关的信息。目标检测信息:从目标信息中提炼出的最终将被检测的信息。LKM(Linuxkernelmodule)模块,也称为内核模块:在本专利技术中LKM模块是用于在被管理服务器的Linux内核态中对系统调用函数进行劫持(hook)的模块,是由多个函数组成的模块,可以在内核态中实现对操作系统执行命令的劫持,从而实现对执行命令相关信息进行完整、有效的收集。Agent模块,也称为代理模块:运行于被管理服务器的Linux用户态中的模块,主要功能包括向LKM模块下发命令进行信息收集、以及与Server模块进行通信和传输数据等。Server模块,也称为服务模块:运行在管理服务器上的模块,主要功能包括进行数据分析、指令下发、异常告警、加载更新分析规则等,对Agent模块向其提供的数据进行检测分析并发出异常告警。以下结合附图对本专利技术进行详细描述。图1是根据本专利技术的HIDS的整体架构图100。如图1所示,本专利技术的HIDS包括管理服务器101和被管理服务器1021,服务器101包括Server模块101a,被管理服务器1021包括Agent模块1021a和LKM模块1021b。应理解,本专利技术的HIDS可以包括N个被管理服务器(即包括被管理服务器1021、1022……102N,其中,N≥2),每个被管理服务器中均包括Agent模块1021a和LKM模块1021b。图2是根据本专利技术实施例的入侵检测方法的流程图200。步骤S201:通过对Linux内核态中的待劫持函数(即Linux的四个内核系统调用函数execve、connect、init_module、和finit_module)进行劫持以获得操作行为信息。其中,操作行为信息是对内核系统调用函数进行调用时形成的操作行为记录。步骤S202:对所获得的操作行为信息进行处理以获得与操作行为信息相对应的目标信息。步骤S203:将获得的目标信息写入共享内存。步骤S204:从共享内存获取目标信息并对该目标信息进行处理以获得目标检测信息。步骤S205:将获得的目标检测信息传送到管理服务器以进行检测。本专利技术的入侵检测方法只对最主要的四个系统调用函数进行劫持,使得HIDS的结构简化,目标检测信息收集与检测分开使得资源消耗减小,内核兼容性好,并且采用共享内存的信息传输方式比在netLink模式下有较大的性能提升。图3是根据本专利技术的一个实施例的入侵检测方法的流程图300。步骤S301:LKM模块101a在被管理服务器1021的内核态中劫持对execve,connect,init_module和finit_module系统调用函数的系统调用从而获得操作行为信息。步骤S302:LKM模块101a通过task_struct数据结构和Linux内核态的系统函数(例如,dentry_path_本文档来自技高网...

【技术保护点】
1.一种入侵检测方法,包括:通过对Linux内核态中的待劫持函数进行劫持来获得操作行为信息;对所获得的操作行为信息进行处理以获得与所述操作行为信息相对应的目标信息;将所获得的目标信息写入共享内存;从所述共享内存中获取所述目标信息并对所述目标信息进行处理以获得目标检测信息;以及将所获得的目标检测信息传送到管理服务器以进行检测。

【技术特征摘要】
1.一种入侵检测方法,包括:通过对Linux内核态中的待劫持函数进行劫持来获得操作行为信息;对所获得的操作行为信息进行处理以获得与所述操作行为信息相对应的目标信息;将所获得的目标信息写入共享内存;从所述共享内存中获取所述目标信息并对所述目标信息进行处理以获得目标检测信息;以及将所获得的目标检测信息传送到管理服务器以进行检测。2.根据权利要求1所述的方法,其中,所述待劫持函数为系统调用函数execve、connect、init_module和finit_module。3.根据权利要求2所述的方法,其中,对所获得的操作行为信息进行处理以获得与所述操作行为信息相对应的目标信息包括:通过task_struct数据结构和内核态的系统函数来获得所述目标信息。4.根据权利要求3所述的方法,其中,通过task_struct数据结构和内核态的系统函数来获得所述目标信息还包括:通过kernel_getsockname()函数来获得当前connect中的sourceip/port。5.根据权利要求3或4所述的方法,其中,通过task_struct数据结构和内核态的系统函数获得所述目标信息还包括:根据Linux的命名空间特性对容器进行隔离,以使得所述容器与所述命名空间兼容和相关联从而收集所述容器中的数据。6.根据权利要求3所述的方法,其中,所述内核态的系统函数为dentry_path_raw()或d_path()。7.根据权利要求1所述的方法,其中,对所述目标信息进行处理以获得目标检测信息还包括:根据UID信息获取用户名;添加时间戳;截断超大数据;处理换行符;以及转化为json格式并进行压缩的目标检测信息。8.一种的入侵检测装置,所述装置包括:处理器;以及存储器,其用于存储指令,当所述指令被执行时使得所述处理器执行以下操作...

【专利技术属性】
技术研发人员:陈越
申请(专利权)人:上海点融信息科技有限责任公司
类型:发明
国别省市:上海,31

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

1