入侵检测方法和装置的制造方法_2

文档序号:9435854阅读:来源:国知局
多执行一步,其入侵行为的特征越明显,因此,可以根据执行行为执行到步骤状态判断该执行行为是否达到告警条件,如果达到告警条件则确定其为入侵行为。选择统计模式进行检测:统计一段时间内重复执行的动作的次数,通过判断其是否超过一定阈值来确定执行的动作行为是否为入侵行为。
[0037]根据本发明实施例,通过获取待检测数据,确定待检测数据对应的行为特征,根据行为特征从预设检测模式中选择检测模式,该预设检测模式为根据入侵行为的行为特征预先设定的检测模式,基于选择的检测模式来检测待检测数据对应的执行行为是否为入侵行为,根据预先对入侵行为的行为特征设置相应的检测模式,以入侵行为的目的来检测入侵行为,解决了难以准确地检测变形的入侵行为的问题,达到了准确检测变形的入侵行为的效果。
[0038]优选地,基于选择的检测模式来检测待检测数据对应的执行行为是否为入侵行为包括:,基于选择的检测模式来判断待检测数据对应的行为特征是否满足预设条件。该预设条件为根据入侵行为的行为特征预先设定的条件;如果判断出待检测数据对应的行为特征满足预设条件,则确定待检测数据对应的执行行为是入侵行为。
[0039]通过分析入侵行为特征,根据各个维度数据交互印证,从而定性为入侵行为。经过对入侵行为的分析总结,只有满足预设条件的执行行为才能认定为入侵行为。例如,通过多个数据维度或者多个行为特征关联分析,其中,每个数据维度的数据对应一个行为特征,多个数据维度可以是任意的数据维度。通过任意维度数据关联(包括上下文关联)判断执行行为是否满足入侵行为的行为特征。还可以采用触发式来检测,由于入侵行为包括一系列的步骤序列,每多执行一步,其入侵行为的特征越明显,因此,可以根据执行行为执行到步骤状态判断该执行行为是否达到告警条件,如果达到告警条件则确定其为入侵行为。当然也可以采用统计式的方式,统计一段时间内重复执行的动作的次数,通过判断其是否超过一定阈值来确定执行的动作行为是否为入侵行为。
[0040]根据本发明实施例,通过基于选择的检测模式来判断待检测数据对应的行为特征是否满足预设条件,预设条件为根据入侵行为的行为特征预先设定的条件,如果判断出待检测数据对应的行为特征满足预设条件,则确定待检测数据对应的执行行为是入侵行为。根据预先对入侵行为的行为特征设置相应的条件,以入侵行为的目的来检测入侵行为,达到了进一步提高对变形的入侵行为检测的准确性的效果。
[0041]优选地,待检测数据对应的行为特征包括多个行为特征,其中,根据行为特征从预设检测模式中选择检测模式包括:基于多个行为特征选择关联模式,关联模式用于对多个行为特征进行关联检测;基于选择的检测模式判断待检测数据对应的行为特征是否满足预设条件包括:对多个行为特征对应的待检测数据进行关联分析计算,得到计算结果;通过判断计算结果是否满足关联条件来判断行为特征是否满足预设条件。
[0042]当待检测数据的行为特征满足用于进行关联模式检测的条件时,即对应有多个行为特征时,可以选择关联模式来对该多个行为特征进行关联检测。具体地,由于待检测数据包括多个维度(或者类型)的数据,每个维度的数据均有其对应的行为特征,即待检测数据对应多个行为特征。判断待检测数据对应的行为特征是否满足预设条件,可以是将多个行为特征对应的待检测数据进行关联分析计算,也即是将任意维度的待检测数据进行关联分析计算,然后判断计算结果是否满足关联条件,该关联条件可以是用于反映关联后的行为特征组合是否为入侵行为的条件。
[0043]具体地,通过任意维度数据关联(包括上下文关联),对行为特征进行关联分析,从而定性为入侵行为。比如文件上传行为:网络数据发现http上传文件请求,对应的主机有新增的cgi文件落地。再如,提权行为:父进程为低权限,子进程为高权限。
[0044]通过入侵特点分析,即时入侵的表现形式不同,其入侵行为是不变的。这样针对行为分析,能准确确定入侵,误报较低。
[0045]应用场景1,“文件上传行为”分析:
[0046]数据维度:网络侧的http请求数据httplog、主机侧的新增cgi文件数据。
[0047]现有的基于数据特征匹配的入侵检测方法,无论是通过httplog匹配长传请求,还是通过主机侧匹配新增的cgi文件,都难以检测出“文件上传”,匹配误报较高。
[0048]本发明实施例,通过行为特点来检测出“上传行为”。网络侧的http请求数据httplog发现文件上传请求,主机侧的cgi数据发现有新增的cgi文件,从而确定为“文件上传行为”。
[0049]具体地,规则匹配与数据运算如下:
[0050]Httplog.rule == ‘上传,&&httplog.des_ip = = cg1.agent」d&&cg1.flag ==‘新增’ Mhttplog.local_tm e [cg1.local_tm -1nterval_tm, cg1.local_tm+interval_tm]
[0051]应用场景2,“提权行为”分析:
[0052]数据维度:进程数据cmdlog上下文关联。
[0053]子进程权限较低,为普通权限。父进程为root权限。通过父子进程关联分析,确定提权彳丁为。
[0054]具体的规则与数据运算如下:
[0055]Cmdlog.datal.uid = = ‘normal,&&Cmdlog.datal.pid = = Cmdlog.data2.ppidMCmdlog.data2.uid = = ‘root’。
[0056]进一步优选地,对多个行为特征对应的待检测数据进行关联分析计算,得到计算结果包括:确定多个行为特征对应的待检测数据的数据维度数量;创建于数据维度数量相应的堆栈;将多个行为特征对应的待检测数据缓存进创建的堆栈;以及对堆栈中的数据进行关联分析计算,得到计算结果。
[0057]待检测数据的数据维度数量可以是与行为特征的数量相同,即一种数据维度可以表示一种行为特征,例如上述提到的数据维度:网络侧的http请求数据httplog和主机侧的新增cgi文件数据,分别对应行为特征“网络侧的http请求”和“主机侧的新增cgi文件”。
[0058]在确定数据维度数量之后,创建相应数量的堆栈,将各数据维度的数据分别缓存创建的堆栈中,然后依次从堆栈中取出不同维度的数据进行关联分析算法的计算。
[0059]图3是根据本发明实施例可选的入侵检测方法的流程图。如图3所示,该入侵检测方法包括:
[0060]步骤S302,加载配置文件。该配置文件中包括数据维度数量,根据该数据维度数量创建相应的堆栈,将数据缓存到堆栈中。
[0061]步骤S304,初始化各个维度数据堆栈。
[0062]步骤S306,初始化相互关联计算方法。
[0063]步骤S308,判断是否有新的待检测数据。如果有,则执行步骤S310,反之,则进入休眠。
[0064]步骤S310,确定待检测数据的数据类型,加载进相应的堆栈。即将不同类型的数据缓存到不同的堆栈中,以便于进行关联分析计算。
[0065]步骤S312,关联计算,判断是否满足关联条件。对加载到堆栈中的数据进行关联计算,得到计算结果,判断计算结果是否满足关联条件,如果满足则执行步骤S314,反之,则返回步骤S308。
[0066]步骤S314,判断是否为入侵行为。即判断待检测数据对应的执行行为是否为入侵行为。如果是则执行步骤S316,反之,执行步骤S318。
[0067]步骤S316,输出结果告警。该结果告警用于表示待检测数据对应的执行行为是入侵行为。
[0068]步骤S318,缓存计算结果。
[0069]根据本发明实施例,通过对待检测数据进行关联分析计算,可以提高对入侵检测的准确性。
[0070]可选地,行为特征包括待检测数据对应的执行行为状态,执行行为状态用于反映待检测数据对应的执行行为的执行步骤,其中,根据行为特征从预设检测模式中选择检测模式包括:基于执行行为状态选择触发模式,触发模式用于对执行行为状态进行检测;基于选择的检测模式判断待检测数据对应的行为特征是否满足预设条件包括:判断执行行为状态是否满足预设状态,其中,如果判断出执行行为状态满足预设状态,则确定执行行为状态满足预设条件。
[0071]当待检测数据对应的行为特征满足用于进行触发模式检测的条件时,可以选择触发模式来对该行为特征进行检测。具体地,由于入侵行为是按照一系列的步骤来入侵的,通过判断入侵行为的一系列先后步骤特征,可以不停地提升异常指数,最终确定入侵行为。相应地,待检测数据对应的执行行为状态表示该待检测数据对应的执行行为所处的执行步骤,如果该状态下执行行为的执行步骤与入侵行为的某一执行步骤相匹配,则可认为该执行行为疑似入侵行为,可以进一步判断该执行行为的执行步骤前后的步骤特征,如果均满足入侵行为的步骤特征,即执行行为状态满足预设状态(即触发认定其为入侵行为的条件),则确定执行行为的行为特征满足预设条件,进一步确定执行行为是入侵行为。
[0072]具体地,经分析得到,入侵行为步骤包括下载恶意代码、编译、执行等步骤。在对待检测数据进行检测时,如图4所示,如果检测出从数据流中下载可疑代码,则认为该行为具有低风险。如果在下载可疑代码之后,还对下载的代码进行编译,则认为该行为比较可疑,为疑似入侵行为;如果进一步地,检测出在编译之后,还执行编译后的代码,则却确定该行为为入侵行为。
[0073]从图4可以看出,随着步骤一步步地执行,该行为的步骤与入侵行为步骤越接近,则其异常行为则越明显。
[0074]进一步优选地,待检测数据对应的执行行为的执行步骤包括预设步骤,判断执行行为状态是否满足预设状态包括:判断执行步骤是否执行到预设步骤,其中,如果判断出待检测数据的执行行为执行到预设步骤,则判断预设步骤是否超时,如果预设步骤超时,则确定执行行为状态不满足预设状态。
[0075]预设步骤可以是待检测数据对应的执行行为的执行步骤中任意一个步骤,如图4中的“编译”。其中,当判断出执行步骤执行到“编译”时,进一步地判断之前的“编译”是否超时,如果超时,则认为无风险,超时退出。其中,“下载可疑代码”的步骤相类似,这里不做赘述。
[0076]具体地,如图5所示,该方法包括:
[0077]步骤S502,加载配置文件。该配
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1