一种基于溯源信息的入侵检测系统及方法

文档序号:10660865阅读:281来源:国知局
一种基于溯源信息的入侵检测系统及方法
【专利摘要】本发明公开了一种基于溯源信息的入侵检测系统及方法,该系统包括收集器、检测器和分析器;收集器包括溯源生成单元、溯源修剪单元和溯源存储单元,检测器包括规则库建立单元、规则匹配单元和输出预警报告单元,分析器包括传播查询单元和追溯查询单元;其方法是通过收集溯源信息,将溯源信息以文件的形式存放在文件系统上,同时存放到溯源数据库中,提取溯源数据库中的依赖信息,根据该依赖信息建立规则数据库,入侵检测时,将被检测的溯源信息与规则库中的溯源信息作比较,发现入侵时,输出预警报告,通过预警报告提供的入侵检测点,对入侵行为进行全面查询,得到整个入侵过程,分析出系统漏洞和入侵来源;本发明提供的系统及方法,提高了入侵检测的实时性。
【专利说明】
一种基于溯源信息的入侵检测系统及方法
技术领域
[0001 ]本发明属于计算机系统安全技术领域,更具体地,涉及一种基于溯源信息的入侵 检测系统及方法。
【背景技术】
[0002] 目前,利用计算机网络实施犯罪的事件已绝不少见。面对越来越开放的网络环境, 数据安全也受到很大威胁。信息系统的安全一般采用标识与鉴别、访问控制、加密技术等安 全机制来加以保护,内部网络和外部网络之间使用防火墙类技术保护,但通过这些方法并 不能完全杜绝入侵的发生,攻击者可利用各种系统漏洞(如未打补丁的操作系统,程序 bugs,防火墙配置错误,密码简单等)来危害计算机系统,导致敏感数据被泄露或者修改。因 此,入侵检测技术是系统保护的第二层屏障。
[0003] 现有的入侵检测技术多是基于主机的入侵检测,记录和分析入侵过程中的系统调 用;该类方法没有详细的揭露入侵的内在事件,如系统漏洞在哪,是什么导致了这次入侵的 发生等。基于日志的取证分析加强了对入侵过程是如何进入系统的和哪些文件受到了影响 的处理,但是基于日志的取证分析方法是手动获得这些信息,相当繁琐的;并且,由于日志 中不仅包含了入侵者的非法行为也包含了用户的正常行为,因此无法实行实时入侵检测。 尽管一些研究尝试减少日志大小,但相比于实时入侵检测,从系统日记中识别入侵的类型 和优先检测重要部分,挖掘出有用的信息是相当慢的过程,实时性不高。

【发明内容】

[0004] 针对现有技术的以上缺陷或改进需求,本发明提供了一种基于溯源信息的入侵检 测系统及方法,其目的在于解决现有技术中入侵检测实时性不高的技术问题。
[0005] 为实现上述目的,按照本发明的一个方面,提供了一种基于溯源信息的入侵检测 系统,该系统包括收集器、检测器和分析器;
[0006] 其中,收集器用于根据系统调用序列进行转换生成溯源信息;
[0007] 检测器用于根据上述溯源信息建立规则数据库;入侵检测时,将被检测的溯源信 息与规则库中的溯源信息作比较;发现入侵时,输出预警报告,所说预警报告中包括上述比 较过程中识别出的异常路径;根据所述入侵路径,确定入侵检测点;
[0008] 分析器用于在上述入侵检测点,对入侵过程进行传播查询和追溯查询,检测系统 漏洞和入侵来源;
[0009] 上述基于溯源信息的入侵检测系统通过对溯源信息的分析,实时输出入侵路径, 可及时检测到入侵。
[0010]优选的,上述基于溯源信息的入侵检测系统,其收集器包括溯源生成单元、修剪单 元和存储单元;
[0011]其中,溯源生成单元用于拦截系统调用,将系统调用序列转换成溯源信息;修剪单 元用于删除上述溯源信息中与入侵检测无关的信息;存储单元用于将修剪单元输出的溯源 信息转换成文件的形式,将获得的文件存储在文件系统上,并将该文件存储到溯源数据库 中;其中文件系统是只能写入文件,不能修改和删除文件的文件系统。
[0012] 优选的,上述基于溯源信息的入侵检测系统,其检测器包括规则库建立单元、规则 匹配单元和预警报告单元;
[0013] 其中,规则库建立单元用于提取溯源数据库中的依赖信息,根据该依赖信息建立 规则数据库;
[0014] 规则匹配单元用于将检测到的溯源信息与规则数据库进行比较,获得比较结果;
[0015] 预警报告单元用于根据上述比较结果生成预警报告,确定入侵检测点。
[0016] 优选的,上述基于溯源信息的入侵检测系统,其分析器包括传播查询单元和追溯 查询单元;
[0017] 其中,传播查询单元用于根据入侵来源对入侵进行传播查询;
[0018] 追溯查询单元用于根据受损文件对入侵行为进行追溯查询。
[0019]优选的,上述基于溯源信息的入侵检测系统,其溯源数据库包括主数据库和索引 数据库;
[0020] 其中,主数据库用于存储对象的身份信息,包括文件节点号、进程ID;索引数据库 包括名字数据库、父节点数据库和子节点数据库;
[0021] 其中,名字数据库用于存储对象名字与对象的序号(pnode号)之间的映射关系;父 节点数据库用于存储对象与其父节点之间的映射关系;子节点数据库用于存储对象与其子 节点之间的映射关系。
[0022] 为实现本发明目的,按照本发明的另一个方面,提供了一种基于上述基于溯源信 息的入侵检测系统的入侵检测方法,包括如下步骤:
[0023] (1)实时拦截系统调用,通过转换系统调用序列生成第一溯源信息;
[0024] (2)对所述第一溯源信息进行检测,删除与检测无关的临时文件和管道文件,获得 第二溯源信息;
[0025] (3)将所述第二溯源信息存储到溯源数据库中;
[0026] (4)根据从本地缓存收集的系统或用户正常行为的溯源信息,提取依赖信息,根据 所述依赖信息建立规则数据库;
[0027] (5)将被检测事件的溯源信息与规则数据库中的信息进行比较,根据比较结果识 别被检测事件是否异常,以及异常路径;将检测到的异常路径中出现的受损文件作为检测 占 .
[0028] (7)根据所述检测点追溯查询,获取入侵来源或入侵漏洞;
[0029] (8)根据入侵来源或入侵漏洞查询受损或被窃取文件的信息。
[0030] 优选地,上述基于溯源信息的入侵检测方法,步骤(4)建立规则数据库的步骤包括 如下子步骤:
[0031] (4-1)从运行的程序中获取正常行为的溯源信息R;其中,正常行为是指在没有外 界入侵的情况下,管理员或用户所做的操作;
[0032] (4-2)将上述溯源信息R进行分解,获得对象间的依赖关系R={Depl,…,Depn}; [0033]其中,Depi = (A,B),Depi是指父节点A与其子节点B两个对象之间的直接依赖关 系;
[0034] (4-3)根据上述依赖关系Depi,建立规则数据库G,G= {Depl,…,Depk}。
[0035] 优选地,上述基于溯源信息的入侵检测方法,其步骤(5)包括以下子步骤:
[0036] (5-1)将被检测事件的溯源信息R'进行分解,获得对象间的依赖关系R' = {Depl,,…,Depi,,···Depn,};
[0037] (5-2)对于所述溯源信息R'中每个依赖关系Depi ' = (A,B),判断依赖关系Depi '是 否属于所述规则数据库G;若是,则将依赖关系Depi '的可疑度设为0 ;若否,则将依赖关系 Depi'的可疑度设为1;
[0038] (5-3)查找所述溯源信息R'中路径长度为w的路径(Depl',…,Depw');
[0039] (5-4)获取所述路径的路径判决值
1其中,Μ是指依赖性关系Depj'的可疑 度,
是指w个依赖性关系可疑度之和,j从1到w取值;
[0040] (5-5)判断是否P>T,若是,则判定被检测事件异常;若否,则判定被检测事件正常; 其中,Τ是指判决门限,根据检测率设置。
[0041] 优选地,上述基于溯源信息的入侵检测方法,通过在入侵检测点对入侵行为进行 传播查询和追溯查询构造溯源图;根据所述溯源图获取攻击路径;根据所述攻击路径上的 事件,查询找到被入侵过程影响的所有文件。
[0042] 总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有 益效果:
[0043] (1)本发明提供的基于溯源信息的入侵检测系统,由于可以根据入侵检测点,通过 传播查询和追溯查询,能够起到及时查出系统漏洞或入侵来源的作用;
[0044] (2)本发明提供的基于溯源信息的入侵检测方法,由于通过比较被检测溯源信息 和规则库,确定异常路径,其中包含系统漏洞和入侵来源,以及受损文件;根据其构造溯源 图,分析整个入侵过程;
[0045] (3)本发明提供的基于溯源信息的入侵检测方法,由于入侵路径中可能包含受损 文件,以受损文件为入侵检测点,对入侵行为进行查询,从而确定整个入侵过程,管理员可 以及时采取相应措施,如修补漏洞和恢复受损文件;
[0046] (4)本发明提供的基于溯源信息的入侵检测方法,由于溯源的收集是和入侵操作 同步的,因此,具有提尚检测实时性的优点。
【附图说明】
[0047] 图1本发明实施例提供的基于溯源信息的入侵检测系统的示意框图;
[0048] 图2是本发明实施例提供的系统的收集器的功能示意图;
[0049] 图3是本发明实施例提供的系统的检测器的功能示意图;
[0050] 图4是本发明实施例提供的系统的分析器的功能示意图。
【具体实施方式】
[0051] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要 彼此之间未构成冲突就可以相互组合。
[0052] 本发明实施例提供的基于溯源信息的入侵检测系统其功能示意图图如图1所示; 该系统包括收集器、检测器和分析器;
[0053] 其收集器用于根据系统调用,将系统调用的系统调用序列进行转换,生成溯源信 息;检测器用于对溯源信息进行入侵检测处理,根据入侵路径,确定入侵检测点;分析器用 于在上述入侵检测点进行传播查询和追溯查询,查询系统漏洞和入侵来源;
[0054] 实施例提供的基于溯源信息的入侵检测方法,基于上述基于溯源信息的入侵检测 系统,包括以下步骤:
[0055] (1)溯源生成单元实时拦截系统调用,并将其转换为溯源信息;本步骤的优点在 于,该单元工作对用户是透明的,能够自动收集上层应用产生的溯源信息;
[0056] (2)修剪单元删除溯源信息中对检测无关的信息,并将删除后的溯源信息转发给 存储单元;其中删除的无关信息包括管道文件和临时文件;
[0057] (3)存储单元将溯源信息以文件的形式存放在文件系统上,同时存储在溯源数据 库中;所愿数据库包括主数据库和索引数据库,主数据库用于存储对象的身份信息,如文件 节点号或进程ID;
[0058] 索引数据库包括名字数据库、父节点数据库和子节点数据库,名字数据库用于存 储对象名字和pnode号之间的映射关系,父节点数据库和子节点数据库分别用于存储一个 对象和它各自的父节点或子节点之间的关系;
[0059] (4)规则库建立单元获取从本地缓存收集系统或用户正常行为的溯源信息或溯源 数据库,提取依赖信息,根据依赖信息建立规则数据库;
[0060] 规则数据库应尽可能完善且没有多余的依赖,而且,可以通过增加新的正常依赖 无限的更新规则库;
[0061] (5)规则匹配单元将被检测事件的溯源信息和规则库中的序列作比较;对于规则 匹配过程,从边Depi = (A,B)开始,寻找与之连贯的边(8,〇((:,0)等,也可能存在其他连贯 的边(B,E)(E,F);这是一个图的深度优先查找过程;对于包含许多路径的程序,通过查找异 常路径来判断;虽然一些路径有相同的边,但每条路径都要被检测;
[0062] (6)预警报告单元将匹配比较过程中发现不正常的路径输出;本步骤的优点在于 能及时查出入侵来源或系统漏洞,并为取证分析提供检测点;
[0063] (7)追溯查询单元根据预警报告中提供的检测点追溯查询出入侵来源或入侵漏 洞;
[0064] (8)传播查询单元根据入侵来源找到所有受损和被窃取文件;本步骤的优点在于 可以根据溯源中依赖关系构造溯源图,更详细的分析整个入侵过程,以便管理员及时采取 相应措施,如修补漏洞,恢复受损文件等。
[0065] 本发明实施例提供的系统的收集器的功能示意图如图2所示,收集器包括溯源生 成单元、修剪单元和存储单元;收集单元用于拦截系统调用,转换为溯源信息,修剪单元用 于删除对检测入侵无关的溯源信息,存储单元是用于将修剪单元得到的溯源信息以文件的 形式存放在文件系统上,同时存放到多个数据库中。
[0066] 溯源信息由溯源生成单元拦截系统调用生成,包括文件对象、进程对象和网络连 接对象之间的依赖关系,系统为每个对象分配一个唯一的编号以及版本号来标识该对象, 不同的操作系统调用将产生不同的对象和依赖关系。
[0067] 实施例中,系统调用与溯源信息的对应关系如下:
[0068] (1)第一类事件是一个进程直接影响另外一个进程;这些事件可以是一个进程创 建另外一个进程,和另外一个进程共享内存,或者发送信号;如果进程A创建了另外一个进 程B,则存在依赖关系B-〉A;因为父进程A对B进行了初始化,并且B的地址空间的内容都来 自于进程A。
[0069] (2)第二类事件是进程影响文件,或者受到文件的影响;A为文件,P为进程,系统调 用写(¥1';^6和¥1';^6¥),则产生1 一>P"这样的依赖关系,读和创建(reacUreadv和execv), 则产生"P-〉A"这样的依赖关系。
[0070] (3)在Linux系统中,一个socket对应一个文件描述符;通过socket从网络中读取 和发送数据类似于读写一个文件;B为网络连接对象,P为进程,Socket中的系统调用进程向 网络发送数据(send)产生"B-〉P"这样的依赖关系,接收数据(recev)产生"P-〉B"这样的 依赖关系。
[0071] 实施例提供的系统的检测器的功能示意图如图3所示,检测器包括规则库建立单 元、规则匹配单元和预警报告单元其;规则库建立单元用于提取溯源数据库中的依赖信息, 根据该依赖信息建立规则数据库;规则匹配单元用于将检测到的溯源信息与规则数据库进 行比较,获得比较结果;预警报告单元用于根据比较结果生成预警报告,确定入侵检测点。
[0072] 实施例中,建立规则库的过程包括以下子步骤:
[0073] (4-1)从运行的程序中获取该程序正常行为的溯源信息R;实施例中,为了规则库 更完善,运行该程序Μ次,得到Μ个溯源信息,记为R1、R2、……Rm,其中每个Ri为程序运行第i 次时产生的溯源信息;
[0074] (4-2)将每个溯源信息R进行分解,获得一系列的两个对象间的依赖关系,R = {Depl, ··· ,Depn};
[0075] Depi表示两个特定对象之间的直接依赖关系,Depi = (A,B);其中,A为B的父节点; [0076] (4-3)根据上述依赖关系Depi,建立规则数据库G,G= {Depl,…,Depk}。
[0077] 实施例中,步骤(5)包括以下子步骤:
[0078] (5-1)将被检测事件的溯源信息R'进行分解,获得对象间的依赖关系R' = {Depl,,…,Depi,,···Depn,};
[0079] (5-2)对于上述溯源信息R'中每个依赖关系Depi ' = (A,B),判断Depi '是否属于G; 若是,则Depi '可疑度为0;若否,则Depi '可疑度为1;
[0080] (5-3)查找上述溯源信息R'中长度为W的路径(Depl',…,Depw');(Depi ',Dep(i+ 1) ')构成路径要求Depi' = (A,B)的子节点是Dep(i+1) '的父节点;
[0081] (5-4)获取所述路径的路径判决值
;其中,Μ是指依赖性关系Depj'的可 疑度,Σ&1 Μ是指w个依赖性关系可疑度之和,j从1到w取值;
[0082] (5-5)判断是否P>T,若是,则判定被检测事件异常;若否,则判定被检测事件正常; [0083]其中,Τ是指判决门限;根据检测率来设置相应的路径长度W和判决门限Τ,每条长 度W的路径都要计算其判决值,并与门限比较;实验得出当W=3,T = 0.3时,可获得最好的检 测率。
[0084]本发明实施例提供的系统的分析器的功能示意图如图4所示,分析器包括传播查 询单元和追溯查询单元;其中,传播查询单元用于查询入侵行为;追溯查询单元查询入侵来 源和系统漏洞;通过追溯查询和传播查询,构造溯源图;可根据溯源图分析整个入侵过程, 以便管及时采取相应措施,如修补漏洞,恢复受损文件等。
[0085]本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以 限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含 在本发明的保护范围之内。
【主权项】
1. 一种基于溯源信息的入侵检测系统,其特征在于,包括收集器、检测器和分析器; 所述收集器用于根据系统调用序列进行转换生成溯源信息; 所述检测器用于根据所述溯源信息建立规则数据库;入侵检测时,将被检测的溯源信 息与规则库中的溯源信息作比较;发现入侵时,输出预警报告,所说预警报告中包括所述比 较过程中识别出的异常路径,根据所述异常路径确定入侵检测点; 所述分析器用于在所述入侵检测点对入侵过程进行传播查询和追溯查询,检测系统漏 洞和入侵来源。2. 如权利要求1所述的入侵检测系统,其特征在于,所述收集器包括溯源生成单元、修 剪单元和存储单元; 所述溯源生成单元用于拦截系统调用,将系统调用序列转换成溯源信息; 所述修剪单元用于删除上述溯源信息中与入侵检测无关的信息; 所述存储单元用于将修剪单元输出的溯源信息进行转换,将获得的文件存储到文件系 统,并将所述文件存储到溯源数据库中。3. 如权利要求1或2所述的入侵检测系统,其特征在于,所述检测器包括规则库建立单 元、规则匹配单元和预警报告单元; 所述规则库建立单元用于提取溯源数据库中的依赖信息,根据所述依赖信息建立规则 数据库; 所述规则匹配单元用于将检测到的溯源信息与所述规则数据库进行比较,获得比较结 果; 所述预警报告单元用于根据所述比较结果生成预警报告,确定入侵检测点。4. 如权利要求1或2所述的入侵检测系统,其特征在于,所述分析器包括传播查询单元 和追溯查询单元; 所述传播查询单元用于根据入侵来源对入侵进行传播查询;所述追溯查询单元用于根 据受损文件对入侵行为进行追溯查询。5. 如权利要求2所述的入侵检测系统,其特征在于所述溯源数据库包括主数据库和索 引数据库; 所述主数据库用于存储对象的身份信息,包括文件节点号、进程ID;索引数据库包括名 字数据库、父节点数据库和子节点数据库; 所述名字数据库用于存储对象名字与对象的序号之间的映射关系;父节点数据库用于 存储对象与其父节点之间的映射关系;子节点数据库用于存储对象与其子节点之间的映射 关系。6. -种基于权利要求1至5任一项所述的入侵检测系统的入侵检测方法,其特征在于, 包括如下步骤: (1) 实时拦截系统调用,通过转换系统调用序列生成第一溯源信息; (2) 对所述第一溯源信息进行检测,删除与检测无关的临时文件和管道文件,获得第二 溯源信息; (3) 将所述第二溯源信息存储到溯源数据库中; (4) 根据从本地缓存收集的系统或用户正常行为的溯源信息,提取依赖信息,根据所述 依赖信息建立规则数据库; (5)将被检测事件的溯源信息与规则数据库中的信息进行比较,根据比较结果识别被 检测事件是否异常,以及异常路径;将检测到的异常路径中出现的受损文件作为检测点; (7) 根据所述检测点追溯查询和传播查询,获取入侵来源或入侵漏洞; (8) 根据入侵来源或入侵漏洞查询受损或被窃取文件的信息。7. 如权利要求6所述的入侵检测方法,其特征在于,所述步骤(4)建立规则数据库的方 法包括如下子步骤: (4-1)从运行的程序中获取正常行为的溯源信息R;其中,正常行为是指在没有外界入 侵的情况下管理员或用户所做的操作; (4-2)将所述溯源信息R进行分解,获得对象间的依赖关系R= {Depl,…,Depn}; 其中,Depi = (A,B),Depi是指父节点A与其子节点B两个对象之间的直接依赖关系; (4-3)根据所述依赖关系Depi,建立规则数据库G,G= {Depl,…,Depk}。8. 如权利要求7所述的入侵检测方法,其特征在于,所述步骤(5)包括以下子步骤: (5-1)将被检测事件的溯源信息R'进行分解,获得对象间的依赖关系R' = {Depl',···, Depi ', ··-Depn'}; (5-2)对于所述溯源信息R'中每个依赖关系Depi ' = (A,B),判断依赖关系Depi '是否属 于所述规则数据库G;若是,则将依赖关系Depi '的可疑度设为O;若否,则将依赖关系Depi ' 的可疑度设为1; (5-3)查找所述溯源信息R'中路径长度为w的路径(Depl',…,Depw'); (5-4)获取所述路径的路径判决彳:其中,M是指依赖性关系Depj '的可疑度,I指W个依赖性关系可疑度之和,j从1到w取值; (5-5)判断是否P>T,若是,则判定被检测事件异常;若否,则判定被检测事件正常;其 中,T是指判决门限,根据检测率设置。9. 如权利要求6所述的入侵检测方法,其特征在于,通过所述传播查询和追溯查询构造 溯源图;根据所述溯源图获取攻击路径;根据所述攻击路径上的事件,查询找到被入侵过程 影响的所有文件。
【文档编号】H04L29/06GK106027529SQ201610351996
【公开日】2016年10月12日
【申请日】2016年5月25日
【发明人】谢雨来, 石珍珍, 谭支鹏, 冯丹
【申请人】华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1