买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】基于防御蜜罐的安全威胁主动感知方法_江苏中天科技软件技术有限公司_201810199011.5 

申请/专利权人:江苏中天科技软件技术有限公司

申请日:2018-03-12

公开(公告)日:2020-07-14

公开(公告)号:CN108446557B

主分类号:G06F21/55(20130101)

分类号:G06F21/55(20130101);H04L29/06(20060101)

优先权:

专利状态码:有效-授权

法律状态:2020.07.14#授权;2018.10.23#著录事项变更;2018.09.18#实质审查的生效;2018.08.24#公开

摘要:本发明公开了一种基于防御蜜罐的安全威胁主动感知方法,其基于对Hook技术的理解,通过分析系统函数的执行Trace来判定防御蜜罐是否截获测试函数,首先通过向不可信进程注入并执行待检测系统函数来获取函数的指令执行记录Trace,进一步根据防御蜜罐截获系统函数Trace的特点,设计了地址空间有限状态自动机,并在自动机内分析获取的Trace来判别防御蜜罐截获的系统函数,最后,遍历测试函数集来识别目标防御蜜罐的威胁感知。本发明能识别目标防御蜜罐的威胁感知,与已有的威胁感知识别方法相比,本发明具有相同的防御蜜罐威胁感知识别能力,同时,更为自动化,效率更高。

主权项:1.一种基于防御蜜罐的安全威胁主动感知方法,其特征在于包含以下步骤:步骤一:函数注入地址选择,选择不可信进程的NOP和HLT指令填充的区域为可注入地址区域ms;步骤二:向不可信进程注入并执行待检测系统函数;步骤三:获取函数的指令执行记录Trace;所述步骤三具体为记访问系统函数A的Trace为TA;其中,TA={i1,i2,...ik...,im-1,im}是执行的指令集合,ik=no,op,saddr,taddr是Trace中第k个指令的信息,包括指令操作码op、所在地址saddr、指令的执行顺序no以及下一条执行指令的地址taddr;步骤四:建立描述不可信进程调用系统函数的指令地址转换的有限状态自动机模型;地址空间有限状态自动机M=Q,q0,ξ,q0,δ,Q是地址空间状态集合,包括q0,q2,q1三个元素,其中,q0状态表示指令位于PC,q1状态表示指令位于OS,q2状态表示指令位于SC,PC是不可信进程地址空间,OS是系统地址空间,SC是防御蜜罐地址空间;ξ是M的输入表,由于M的状态转换是由执行指令实现的,因此,ξ包括所在系统提供的所有指令,并且根据威胁感知分析的需要,通过所在地址saddr和下一条执行指令的地址taddr标记的不同地址空间将指令分为九类,并提供其地址空间转换语义;δ是M的状态转换函数,且步骤五:识别防御蜜罐截获行为;不可信进程调用系统函数时,Trace地址空间转换情况包含a、b、c、d、e五种情况,其中a表示函数未被防御蜜罐截获,Trace中的指令只属于不可信进程地址空间和系统地址空间;b、c表示防御蜜罐在系统地址空间实现系统函数的截获的地址空间转换情况;d、e表示防御蜜罐在不可信进程地址空间实现截获的地址空间转换情况;五种不同情况中q2是防御蜜罐截获系统函数的标志,通过判断Trace中是否包含q2以识别是否存在截获行为;步骤六:根据自动机内状态转换指令的位置来识别防御蜜罐截获的系统函数;防御蜜罐截获不可信进程访问系统函数会使不可信进程的控制流转移到防御蜜罐地址空间,即或分析Trace中是否包含d类或h类指令判断是否存在防御蜜罐截获行为;采用指令地址关系来识别防御蜜罐截获的系统函数,任一正常执行的函数调用在指令层面表现为存在调用指令c和相应的返回指令r,且两者满足c.saddr=r.taddr,两者之间执行的指令都为该函数对应的指令,通过d类或h类指令所在的c,r范围来识别防御蜜罐截获的系统函数;使用公式1来判断防御蜜罐截获的系统函数,使用前两个式子选择满足指令范围限制的c,r,进一步选择包含d或h类指令的最小c,r对作为识别的防御蜜罐截获的系统函数,其中,用m代表d类或h类指令,k表示Trace中包含的c,r数量; 步骤七:遍历测试函数集;步骤八:识别目标防御蜜罐的威胁感知。

全文数据:基于防御蜜罐的安全威胁主动感知方法技术领域[0001]本发明涉及一种安全威胁主动感知方法,特别是一种基于防御蜜罐的安全威胁主动感知方法。背景技术[0002]随着计算机技术的迅猛发展,主动防御技术已经逐渐取代被动防御技术,成为现今计算机安全的主要研究方向。虽然防火墙和入侵检测技术的应用仍然非常普遍,但是面对着攻击手段的日趋多样化和网络安全要求的不断提高,检测已经发生的入侵被动检测)已经不能满足计算机安全的要求,现代安全更多强调的是主动防御,提前防御。[0003]因此,主动防御技术将会越来越受到人们的关注,主动防御技术试图牵制和转移攻击行为,对攻击方法进行技术分析和取证,对攻击者进行监视和跟踪,并且有可能获得未知的攻击技术资料。蜜罐技术就是一种非常典型的主动防御技术,它可以诱骗入侵者进行攻击,从而监视和跟踪入侵者的行为并已日志形式记录,然后借助一定的工具进行分析,掌握学习入侵者的工具、策略和方法,从而相应地提高计算机安全。因此需要设计一种基于蜜罐技术的主动防御技术。发明内容[0004]本发明所要解决的技术问题是提供一种基于防御蜜罐的安全威胁主动感知方法。[0005]为解决上述技术问题,本发明所采用的技术方案是:[0006]—种基于防御蜜罐的安全威胁主动感知方法,其特征在于包含以下步骤:[0007]步骤一:函数注入地址选择,选择不可信进程的NOP、HLT指令填充内存区域;[0008]步骤二:向不可信进程注入并执行待检测系统函数;[0009]步骤三:获取函数的指令执行记录;[0010]步骤四:建立描述不可信进程调用系统函数的指令地址转换的有限状态自动机模型;[0011]步骤五:识别防御蜜罐截获行为;[0012]步骤六:根据自动机内状态转换指令的位置来识别防御蜜罐截获的系统函数;[0013]步骤七:遍历测试函数集;[0014]步骤八:识别目标防御蜜罐的威胁感知。[0015]进一步地,所述步骤二具体过程为向不可信进程注入并执行待检测系统函数;系统函数s:s是用于测试的系统函数,包括函数参数信息params和所需内存大小length两个属性;[0016][0017]在不存在单个ms大于注入函数长度的情况下,为了保证注入的函数不破坏进程的内存布局,使用公式⑴选择多个ms注入系统函数;其中,式1用于限制选择的ms至少可以容纳一个直接跳转指令DJMP和任一指令;式2用于保证选择尽可能少的ms用于注入系统函数。[0018]进一步地,所述步骤三具体为记访问系统函数A的Trace为TA;其中,T⑷={ii,i2,···ik.··,im-i,im}是执行的指令集合,ik=〈no,op,saddr,taddr是Trace中第k个指令的信息,包括指令操作码op、所在地址saddr、指令的执行顺序no以及下一条执行指令的地Jitaddr0[0019]进一步地,所述步骤四具体为地址空间有限状态自动机1=〈〇^〇,|^^,9是地址空间状态集合,包括qo,q2,qG个元素,其中,qo状态表示指令位于PC,^状态表示指令位于〇S,q2状态表示指令位于SC^是M的输入表,由于M的状态转换是由执行指令实现的,因此,ξ包括所在系统提供的所有指令,并且根据威胁感知分析的需要,将指令分为九类,并提供其地址空间转换语义d是M的状态转换函数,且[0020]进一步地,所述步骤五具体为不可信进程调用系统函数时,Trace地址空间转换情况包含a、b、c、d、e五种情况,其中a表示函数未被防御蜜罐截获,Trace中的指令只属于程序地址空间和系统地址空间;b、c表示防御蜜罐在系统地址空间实现系统函数的截获的地址空间转换情况;d、e表示防御蜜罐在不可信进程地址空间实现截获的地址空间转换情况;五种不同情况中q2是防御蜜罐截获系统函数的标志,通过判断Trace中是否包含q2以识别是否存在截获行为。[0021]进一步地,所述步骤六具体为防御蜜罐截获不可信进程访问系统函数会使不可信进程的控制流转移到防御蜜罐地址空间,即,分析Trace中是否包含d类、h类指令判断是否存在防御蜜罐截获行为;[0022]采用指令地址关系来识别防御蜜罐截获的系统函数,任一正常执行的函数调用在指令层面表现为存在调用指令c和相应的返回指令r,且两者满足c.saddr=r.taddr,两者之间执行的指令都为该函数对应的指令,通过d类、h类指令所在的〈c,r范围来识别防御蜜罐截获的系统函数;使用公式⑵来判断防御蜜罐截获的系统函数,使用前两个式子选择满足指令范围限制的,进一步选择包含d、h类指令的最小对作为识别的防御蜜罐截获的系统函数,其中,用m代表d类、h类指令,k表示Trace中包含的数量;[0023][0024]本发明与现有技术相比,具有以下优点和效果:[0025]1、防御蜜罐使用多种Hook技术实现威胁感知,已有的Hook识别方法关注钩子的存在性,即判断系统中是否存在钩子,而已有的工具则只识别部分特定类型的钩子,不适合防御蜜罐威胁感知的识别,该发明则解决了该问题,能识别目标防御蜜罐的威胁感知。[0026]2、与已有的威胁感知识别方法相比,本发明具有相同的防御蜜罐威胁感知识别能力,同时,更为自动化,效率更高。附图说明[0027]图1是本发明的基于防御蜜罐的安全威胁主动感知方法的流程图。[0028]图2是本发明的ξ中元素的类型图。[0029]图3是本发明的状态转换函数δ图。[0030]图4是本发明的Trace地址空间转换示意图。[0031]图5是本发明的系统函数识别的误报成因图。[0032]图6是本发明的指令转换规则表1图。具体实施方式[0033]下面结合附图并通过实施例对本发明作进一步的详细说明,以下实施例是对本发明的解释而本发明并不局限于以下实施例。[0034]如图1所示,本发明的一种基于防御蜜罐的安全威胁主动感知方法,具体步骤如下:[0035]步骤一,函数注入地址选择,选择不可信进程的N0P、HLT等指令填充内存区域。在Windows系统中,由于程序使用N0P、HLT指令填充程序的代码段来保证指令对齐,为了不破坏不可信进程自身的功能代码,选择N0P、HLT指令填充的区域为可注入地址区域ms。[0036]步骤二,向不可信进程注入并执行待检测系统函数。系统函数s:s是用于测试的系统函数,包括函数参数信息params和所需内存大小length两个属性。[0037][0038]当不存在单个ms大于注入函数长度的情况下,为了保证注入的函数不破坏进程的内存布局,我们使用公式⑴选择多个ms注入系统函数。其中,式1用于限制选择的ms至少可以容纳一个直接跳转指令DJMP和任一指令;式2用于保证选择尽可能少的ms用于注入系统函数。[0039]步骤三,获取函数的指令执行记录Trace。记访问系统函数A的Trace为T㈧。其中,TA={ii,i2,···ik.··,im-1,irn}是执行的指令集合,ik=〈no,op,saddr,taddr是Trace中第k个指令的信息,包括指令操作码op、所在地址saddr、指令的执行顺序no以及下一条执行指令的地址taddr。[0040]步骤四,建立描述不可信进程调用系统函数的指令地址转换的有限状态自动机模型。地址空间有限状态自动机M=,Q是地址空间状态集合,包括qQ,q2,个元素,其中,q〇状态表示指令位于PC,qi状态表示指令位于OS,q2状态表示指令位于SC;ξ是M的输入表,由于M的状态转换是由执行指令实现的,因此,ξ包括所在系统提供的所有指令,并且根据威胁感知分析的需要,将指令分为九类,并提供其地址空间转换语义,如图2所示;δ是M的状态转换函数,且,如图3所示。[0041]步骤五,识别防御蜜罐截获行为。图4是不可信进程调用系统函数时,可能的Trace地址空间转换情况的示意图,其中,(a表示函数未被防御蜜罐截获,Trace中的指令只属于程序地址空间和系统地址空间;⑹,(c表示防御蜜罐在系统地址空间实现系统函数的截获的地址空间转换情况;(d,(e表示防御蜜罐在不可信进程地址空间实现截获的地址空间转换情况。通过对比五种不同情况,可以发现q2是防御蜜罐截获系统函数的标志,因此,通过判断Trace中是否包含q2就可以识别是否存在截获行为。[0042]步骤六,根据自动机内状态转换指令的位置来识别防御蜜罐截获的系统函数。防御蜜罐截获不可信进程访问系统函数会使不可信进程的控制流转移到防御蜜罐地址空间,即分析Trace中是否包含d类、h类指令能够判断是否存在防御蜜罐截获行为,但如果仅通过d类、h类指令来判断防御蜜罐截获的系统函数,则会出现误报。以图5为例,函数A是用于测试的系统函数,函数B是函数A在实现过程中调用的系统函数,(a是不存在截获系统函数的情况,⑹、(c是存在截获的情况,但⑹截获的函数是A,(c截获的函数是B。因此,通用d类、h类指令的位置来确定防御蜜罐截获的系统函数。[0043]该方法采用指令地址关系来识别防御蜜罐截获的系统函数,任一正常执行的函数调用在指令层面表现为存在调用指令c和相应的返回指令r,且两者满足c.saddr=r.taddr,那么,两者之间执行的指令都为该函数对应的指令,因此,通过d类、h类指令所在的范围来识别防御蜜罐截获的系统函数。使用公式2来判断防御蜜罐截获的系统函数,首先,使用前两个式子选择满足指令范围限制的,进一步选择包含d、h类指令的最小〈c,r对作为识别的防御蜜罐截获的系统函数,其中,用m代表d类、h类指令,k表示Trace中包含的数量。[0044][0045]步骤七,遍历测试函数集。[0046]步骤八,识别目标防御蜜罐的威胁感知。[0047]下面通过具体实施例来对本发明的技术方案进一步进行说明:[0048]本发明以原型系统SIAnalyzer的设计与实现为例。SIAnalyzer包括内存监控模块、函数注入模块、Trace记录模块和威胁感知分析模块四个主要部分。内存监控模块主要监控防御蜜罐对不可信进程的内存操作,并记录该内存区域为防御蜜罐地址空间;函数注入模块监控不可信进程的执行,并从测试系统函数库中选择系统函数,根据内存监控模块记录的内存信息选择内存并注入测试的系统函数;Trace记录器负责获取不可信进程访问系统函数的Trace,并将其存储在Trace库;威胁感知分析器从Trace数据库中获取Trace,并通过分析每条Trace来识别防御蜜罐截获的系统函数。在SIAnalyzer实现过程中,处理了系统函数集构造、函数注入时机选择等几个关键问题:[0049]测试系统函数集的构造:测试系统函数集由基础函数集和增量函数集两部分组成,其中,基础函数集包括操作系统提供的进程、文件、注册表、网络以及安全相关的系统函数;通过阅读待分析防御蜜罐的文档来手动为函数集增加测试的系统函数。[0050]函数注入时机选择:如果函数注入并执行发生在防御蜜罐威胁感知部署之前,则无法得到有效的Trace,如果随机地在不可信进程中注入函数,则需要在每次函数注入前,分析并选择可用的内存空间。因此,从不可信进程的角度分析函数注入时机,一旦防御蜜罐允许不可信进程执行,那么说明防御蜜罐已经完成了威胁感知的初始化。标记不可信进程相应程序的入口函数,并监视该函数的执行,如果该函数被执行,就说明防御蜜罐威胁感知初始化已经结束,就可以挂起程序并注入系统函数。[0051]内存监控:监控防御蜜罐调用的内存申请释放函数及其参数,如memcpy、free、MapViewOfFiIe和UnmapViewOfFile等函数。在不可信进程被挂起后,计算不可信进程内的防御蜜罐地址空间。[0052]Trace指令转换规则:我们将指令分为转移指令TI和非转移指令NTI两类,指令转换为中间表示的规则如图6所示的表1所示。[0053]本说明书中所描述的以上内容仅仅是对本发明所作的举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种修改或补充或采用类似的方式替代,只要不偏离本发明说明书的内容或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。

权利要求:1.一种基于防御蜜罐的安全威胁主动感知方法,其特征在于包含以下步骤:步骤一:函数注入地址选择,选择不可信进程的NOP、HLT指令填充内存区域;步骤二:向不可信进程注入并执行待检测系统函数;步骤三:获取函数的指令执行记录;步骤四:建立描述不可信进程调用系统函数的指令地址转换的有限状态自动机模型;步骤五:识别防御蜜罐截获行为;步骤六:根据自动机内状态转换指令的位置来识别防御蜜罐截获的系统函数;步骤七:遍历测试函数集;步骤八:识别目标防御蜜罐的威胁感知。2.按照权利要求1所述的一种基于防御蜜罐的安全威胁主动感知方法,其特征在于:所述步骤二具体过程为向不可信进程注入并执行待检测系统函数;系统函数s:s是用于测试的系统函数,包括函数参数信息params和所需内存大小length两个属性;在不存在单个ms大于注入函数长度的情况下,为了保证注入的函数不破坏进程的内存布局,使用公式⑴选择多个ms注入系统函数;其中,式1用于限制选择的ms至少可以容纳一个直接跳转指令DJMP和任一指令;式2用于保证选择尽可能少的ms用于注入系统函数。3.按照权利要求1所述的一种基于防御蜜罐的安全威胁主动感知方法,其特征在于:所述步骤三具体为记访问系统函数A的Trace为TA;其中,TA={ii,i2,...ik...,im-i,im}是执行的指令集合,ik=〈no,op,saddr,taddr是Trace中第k个指令的信息,包括指令操作码〇P、所在地址saddr、指令的执行顺序no以及下一条执行指令的地址taddr。4.按照权利要求1所述的一种基于防御蜜罐的安全威胁主动感知方法,其特征在于:所述步骤四具体为地址空间有限状态自动机M=,Q是地址空间状态集合,包括qo,q2,qi三个元素,其中,qo状态表示指令位于PC,qi状态表示指令位于OS,q2状态表示指令位于SC;ξ是M的输入表,由于M的状态转换是由执行指令实现的,因此,ξ包括所在系统提供的所有指令,并且根据威胁感知分析的需要,将指令分为九类,并提供其地址空间转换语义3是M的状态转换函数,且Q:5.按照权利要求1所述的一种基于防御蜜罐的安全威胁主动感知方法,其特征在于:所述步骤五具体为不可信进程调用系统函数时,Trace地址空间转换情况包含a、b、c、d、e五种情况,其中a表示函数未被防御蜜罐截获,Trace中的指令只属于程序地址空间和系统地址空间;b、c表示防御蜜罐在系统地址空间实现系统函数的截获的地址空间转换情况;d、e表示防御蜜罐在不可信进程地址空间实现截获的地址空间转换情况;五种不同情况中q2是防御蜜罐截获系统函数的标志,通过判断Trace中是否包含q2以识别是否存在截获行为。6.按照权利要求1所述的一种基于防御蜜罐的安全威胁主动感知方法,其特征在于:所述步骤六具体为防御蜜罐截获不可信进程访问系统函数会使不可信进程的控制流转移到防御蜜罐地址空间,即或、分析Trace中是否包含d类、h类指令判断是否存在防御蜜罐截获行为;采用指令地址关系来识别防御蜜罐截获的系统函数,任一正常执行的函数调用在指令层面表现为存在调用指令C和相应的返回指令r,且两者满足c.saddr=r.taddr,两者之间执行的指令都为该函数对应的指令,通过d类、h类指令所在的〈c,r范围来识别防御蜜罐截获的系统函数;使用公式⑵来判断防御蜜罐截获的系统函数,使用前两个式子选择满足指令范围限制的〈c,r,进一步选择包含d、h类指令的最小〈c,r对作为识别的防御蜜罐截获的系统函数,其中,用m代表d类、h类指令,k表示Trace中包含的数量;

百度查询: 江苏中天科技软件技术有限公司 基于防御蜜罐的安全威胁主动感知方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。