CN114301610A - 失陷计算机的识别方法和失陷计算机的识别设备 - Google Patents
失陷计算机的识别方法和失陷计算机的识别设备 Download PDFInfo
- Publication number
- CN114301610A CN114301610A CN202010995651.4A CN202010995651A CN114301610A CN 114301610 A CN114301610 A CN 114301610A CN 202010995651 A CN202010995651 A CN 202010995651A CN 114301610 A CN114301610 A CN 114301610A
- Authority
- CN
- China
- Prior art keywords
- computer
- feature vector
- authentication
- unit time
- user name
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种失陷计算机的识别方法和失陷计算机的识别设备。用以提高识别失陷计算机的准确性。该方法包括:获得AD日志,AD日志中记录有多个认证事件,每个认证事件是根据受控计算机集合中的计算机在检测时段内的认证行为生成的;根据所述AD日志,从受控计算机集合中确定失陷计算机,确定的失陷计算机在检测时段中的一个单位时间对应的特征向量属于特征向量集合中的离群点,其中,特征向量集合中包括多个特征向量,多个特征向量包括受控计算机集合中的每个计算机在检测时段中的各个单位时间分别对应的特征向量、且每个特征向量包括对应的计算机在单位时间内认证失败的次数、以及在单位时间内通过对应的计算机认证失败的用户的数量。
Description
技术领域
本申请涉及计算机网络技术领域,进一步涉及人工智能(artificialintelligence,AI)技术在计算机网络领域中的应用,尤其涉及一种失陷计算机的识别方法、一种失陷计算机的识别设备和一种失陷计算机的识别系统。
背景技术
活动目录(active directory,AD)是微软(Microsoft)公司为基于Windows域管理的网络而开发的目录服务。其中,Windows域是计算机网络的一种管理形式,这种计算机网络中的各网络对象(例如用户账号、计算机、打印机等设备)都在域控制器上进行注册和身份认证。其中,域控制器位于一个服务器上、或者位于一个或多个中央计算机群集上。域控制器上的中央数据库用于支持上述注册和身份认证过程。在Windows域(后面简称为“域”)中使用计算机的每个人会收到一个唯一的用户账号,继而该账号被分配了对域中资源的访问权。域控制器根据网络对象与账号操作、身份认证、资源访问相关的各种行为、或者各种行为的结果生成对应的Windows事件。AD日志包含域控制器产生的Windows事件,因此也可以说AD日志中包括Windows域中网络对象的历史认证信息。
在攻击者(或称黑客)在入侵企业网络的过程中,通常会先设法获取一个计算机的控制权。在获取一个计算机的控制权之后,攻击者以控制权被获取的计算机作为源进行侦测活动,或者以控制权被获取的计算机作为跳板继续攻击企业网络中的其他计算机。其中,控制权被攻击者获取的计算机被称为失陷计算机(或者失陷主机)。例如,攻击者通过失陷计算机作为跳板,采用暴力破解的方式攻击企业网络中的其他计算机。暴力破解的原理是攻击者尝试所有可能的用户名和密码组合登录目标计算机,直到找到正确的用户名和密码为止。
在暴力破解过程中,域控制器会产生大量的用于指示认证失败的Windows事件并在AD日志中记录这些事件。因此对AD日志进行分析为识别失陷计算机提供了可能性。较为容易被采用的方案是将AD日志中得到的历史认证信息与阈值进行比较,根据比较结果来识别失陷计算机。例如,为网络中计算机设置对应的失败次数阈值,如果通过分析AD日志发现网络中的一台计算机(如计算机A)发起的认证中,认证失败的次数超过设定的失败次数阈值,则确定计算机A为失陷计算机。
然而,采用上述方案识别失陷计算机的准确性不佳。
发明内容
本申请实施例提供一种失陷计算机的识别方法,用以提高现有技术识别失陷计算机的准确性。
第一方面,提供了一种失陷计算机的识别方法。
该方法包括:获得AD日志,所述AD日志中记录有多个认证事件、以及所述多个认证事件中的每个认证事件的生成时间,其中所述每个认证事件是根据受控计算机集合中的计算机在检测时段内的认证行为生成的,所述检测时段包括多个单位时间;
根据所述AD日志,从所述受控计算机集合中确定失陷计算机,所述失陷计算机在所述检测时段中的一个单位时间对应的特征向量属于特征向量集合中的离群点,其中,所述特征向量集合中包括多个特征向量,所述多个特征向量包括所述受控计算机集合中的每个计算机在所述检测时段中的各个单位时间分别对应的特征向量、且所述特征向量集合中的每个特征向量包括对应的计算机在单位时间内认证失败的次数、以及在单位时间内通过对应的计算机认证失败的用户的数量。
本申请实施例提供的识别方法以检测时段中的单位时间、受控计算机集合中的单个计算机为粒度,对AD日志中记录的大量认证事件进行向量化处理得到特征向量集合。通过上述向量化处理,特征向量集合中的每个特征向量能够反映某个特定单位时间内,作为分析对象的单个计算机作为事件源的所有认证事件中认证失败的次数,以及通过该计算机机认证失败的用户的数量。识别设备进一步基于特征向量集合,使用AI技术从受控计算机集合中得到失陷计算机。与传统方案相比,能够降低误报,提升识别准确性。而且能够根据AD日志中的认证事件自动完成识别失陷计算机的过程,无需考虑如何设置认证失败次数阈值。与传统方案相比,实施难度低。
可选地,在一种可能的实现方式中,所述根据所述AD日志,从所述受控计算机集合中确定失陷计算机,包括:
根据所述AD日志中记录的认证事件,获取所述特征向量集合;
根据预定异常检测算法,从所述特征向量集合中确定异常特征向量;
从所述异常特征向量对应的计算机中确定失陷计算机。
在本申请实施例中异常检测算法也被称为离群点检测算法,用于从给定的数据中检测出那些在行为或特征参数方面,与正常数据差别较大的异常数据。异常检测算法例如高斯混合模型(gaussian mixed model,GMM)或局部异常因子(local outlier factor,LOF)算法
可选地,在一种可能的实现方式中,所述根据AD日志中记录的认证事件,获取特征向量集合,包括:从所述受控计算机集合中选择一个计算机,对选择的计算机执行以下操作,直到处理完所述受控计算机集合的每个计算机为止,从而获得所述每个计算机在检测时段中的各个单位时间分别对应的特征向量:
针对所述检测时段中的第一单位时间,从所述AD日志中获取一个或多个目标认证事件,所述目标认证事件的生成时间属于所述第一单位时间、且所述目标认证事件中包括的作为事件源的计算机名代表的计算机为所述选择的计算机;
根据获取的一个或多个目标认证事件中的用户名和行为结果,获得第一特征向量,所述第一特征向量包括所述选择的计算机在所述第一单位时间内认证失败的次数、以及所述第一单位时间内通过所述选择的计算机认证失败的用户的数量;
以此类推,采用类似方式获得所述选择的计算机在所述检测时段中除所述第一单位时间之外的每个其他单位时间分别对应的特征向量。
可选地,在一种可能的实现方式中,所述预定异常检测算法包括局部异常因子算法,所述根据预定异常检测算法,从所述特征向量集合中确定异常特征向量,包括:
将所述受控计算机集合中每个计算机在检测时段中的各个单位时间分别对应的特征向量输入LOF算法,获得所述LOF算法针对每个特征向量分别输出的对应的局部离群因子值,其中,所述局部离群因子值大于1、且与1的差值越大,指示对应的所述特征向量的异常度越高;
根据所述LOF算法针对每个特征向量分别输出的对应的局部离群因子值,从特征向量集合中选择部分特征向量从而生成目标特征向量集合,所述目标特征向量集合中的特征向量对应的局部离群因子值大于1、且大于所述特征向量集合中未被选择的特征向量对应的局部离群因子值;
从所述目标特征向量集合包含的特征向量中,确定异常特征向量。
可选地,在一种可能的实现方式中,所述从所述目标特征向量集合包含的特征向量中,确定异常特征向量,包括:
从所述目标特征向量集合中选择一个特征向量,对于选择出特征向量执行以下处理,直到处理完所述目标特征向量集合中的每个特征向量为止,从而获得异常特征向量:
根据所述选择的特征向量,获取第一计算机在第二单位时间内认证失败的次数,其中所述选择的特征向量包括所述第一计算机在所述第二单位时间内认证失败的次数、以及在所述第二单位时间内通过所述第一计算机认证失败的用户数量;
判断所述第一计算机在所述第二单位时间内认证失败的次数是否属于第一平均值的N倍标准差范围内,所述第一平均值是根据所述特征向量集合中的各特征向量分别指示的认证失败次数计算出的,其中N的取值为1、2、或3;
如果所述第一计算机在所述第二单位时间内认证失败的次数不属于所述第一平均值N倍标准差范围内,则确定所述选择的特征向量为异常特征向量。
认证失败次数是能反映失陷计算机行为特点的一个因素,因而由于认证失败次数的原因导致异常度高的部分特征向量是与确定失陷计算机相关性较高的异常特征向量。通过将各特征向量中的认证失败次数与标准差范围进行比较,能够筛选出超出标准差范围的部分异常特征向量,将这部分异常特征向量对应的计算机作为失陷计算机的主要来源,从而提高确定失陷计算机的准确性。
可选地,在一种可能的实现方式中,所述从所述目标特征向量集合包含的特征向量中,确定异常特征向量,包括:
从所述目标特征向量集合中选择一个特征向量,对于选择出的特征向量执行以下处理,直到处理完所述目标特征向量集合中的每个特征向量为止,从而获得异常特征向量:
根据所述选择的特征向量,获取在所述第三单位时间内通过第二计算机认证失败的用户数量,其中所述选择的特征向量包括所述第二计算机在第三单位时间内认证成功的次数、以及所述第三单位时间内通过所述第二计算机认证失败的用户数量;
判断在所述第三单位时间内通过所述第二计算机认证失败的用户数量是否属于第二平均值的N倍标准差范围内,所述第二平均值是根据所述特征向量集合中的各特征向量分别指示的认证失败的用户数量计算出的,其中N的取值为1、2、或3;
如果在所述第三单位时间内通过所述第二计算机认证失败的用户数量不属于所述第二平均值N倍标准差范围内,则确定所述选择的特征向量为异常特征向量。
认证失败的用户数量是能反映失陷计算机行为特点的一个因素,因而由于认证失败的用户数量的原因导致异常度高的部分特征向量是与确定失陷计算机相关性较高的异常特征向量。通过将各特征向量中的认证失败的用户数量与标准差范围进行比较,能够筛选出超出标准差范围的部分异常特征向量,将这部分异常特征向量对应的计算机作为失陷计算机的主要来源,从而提高确定失陷计算机的准确性。
可选地,在一种可能的实现方式中,所述从所述异常特征向量对应的计算机中确定失陷计算机,包括:
从所述异常特征向量中选择一个异常特征向量,其中,选择出的所述异常特征向量是第三计算机在第四单位时间对应的特征向量;
根据所述AD日志,获得第一目标用户名集合,所述第一目标用户名集合中包括在第四单位时间和/或在第四单位时间之后通过所述第三计算机认证的用户名;
从所述第一目标用户名集合中选择一个用户名,确定选择出的用户名是否为异常用户名,直到异常用户名的数量超过第一数量阈值或者处理完所述第一目标用户名集合中的每个用户名为止,所述异常用户名是基于对所述AD日志的分析,确认发起过认证行为、但认证行为从未成功过的用户名;
如果所述异常用户名的数量超过第一数量阈值,则确定所述第三计算机为失陷计算机。
攻击者对一个计算机进行暴力破解的过程中,会在短时期内尝试用大量不存在的用户名和密码的组合在该计算机上触发认证过程,此时域控制器会产生大量事件源为某个计算机的认证失败事件。因此如果AD日志中在某个单位时间之后,存在关于这些不存在的用户的大量认证事件,则识别设备确认在这个单位时间中出现某个计算机被黑客控制的可能性很高。利用这一特点,将与短时间内大量异常用户名导致的认证失败事件相关的计算机作为失陷计算机,能够进一步提高确定失陷计算机的准确性。
可选地,在一种可能的实现方式中,所述方法还包括:
如果所述异常用户名的数量不超过第二数量阈值,则从所述异常特征向量中删除所述选择的异常特征向量。
相对应地,如果一个计算机的行为虽然引发了大量认证失败事件,但这些认证失败事件不是异常用户名导致的,那么这个计算机是失陷计算机的可能性不高,据此排除掉部分计算机,也能够提高确定失陷计算机的准确性。
可选地,在一种可能的实现方式中,所述方法还包括:所述从所述异常特征向量对应的计算机中确定失陷计算机,包括:
从所述异常特征向量中选择一个异常特征向量,其中,选择出的所述异常特征向量是第四计算机在第五单位时间对应的特征向量;
根据所述AD日志,获得第二目标用户名集合,所述第二目标用户名集合中包括在第五单位时间和/或在第五单位时间之后通过所述第四计算机认证、且认证行为失败的用户名;
从所述第二目标用户名集合中选择一个用户名,确定选择出的用户名是否为被利用的用户名,直到找到一个被利用的用户名或者处理完所述第二目标用户名集合中的所有用户名为止,所述被利用的用户名是基于对所述AD日志的分析,确认通过所述受控计算机集合中除所述第四计算机之外的计算机发起过认证行为、且认证行为成功过的用户;
如果第二目标用户名集合中包括至少一个所述被利用的用户名,则确定所述第四计算机为失陷计算机。
攻击者在尝试利用已破解的用户名进行密码猜测的过程中,会导致域控制器会生产事件源为某计算机的计算机名、用户名为上述正常用户名,但行为结果是失败的认证事件。这一现象与合法用户的认证行为是不符的。利用这一特点,识别设备能够进一步提高确定失陷计算机的准确性。
可选地,在一种可能的实现方式中,所述AD日志中还包括账号更改事件、密码更改事件、用户离职事件、账号重置事件中的一种或多种;
所述从所述异常特征向量对应的计算机中确定失陷计算机之前,还包括:
从所述异常特征向量中选择一个异常特征向量,其中,选择出的所述异常特征向量是所述第五计算机在第六单位时间对应的特征向量;
根据所述AD日志,获得第三目标事件集,所述第三目标事件集中包括在第六单位时间和/或在第六单位时间之后通过所述第五计算机认证、且认证行为失败的用户名;
从所述第三目标用户名集合中选择一个用户名,确定选择出的用户名是否为正常用户名,直到处理完所述第三目标用户名集合中的所有用户名为止,所述正常用户名是指基于对所述AD日志的分析,确认在所述第六单位时间之前,通过所述第五计算机发起过账号更改行为、密码更改行为、用户离职行为、或账号重置行为;
如果所述第三目标用户名集合中包括的用户名均为正常用户名,则从所述异常特征向量中删除所述选择的异常特征向量。
由于用户的某些合理的行为,也会造成域控制器在短时期内产生事件源为某台计算机的大量认证失败事件。通过利用历史上的其他类型的事件,能够去除一部分是失陷计算机可能性较低的计算机。通过这种方式,识别设备能够进一步提高确定失陷计算机的准确性。
可选地,在一种可能的实现方式中,每个所述特征向量还包括以下一个或多个:对应的计算机在单位时间内认证成功的次数、在单位时间内通过对应的计算机认证成功的用户的数量、在单位时间内通过所述对应的计算机进行认证的用户总数、对应单位时间的指示符。
可选地,在上述各种可能的实现方式中,所述AD日志是从域控制器获取的,所述域控制器用于对所述受控计算机集合中的计算机进行管理。
第二方面,提供了失陷计算机的识别设备,该设备包括存储器和至少一个处理器。所述存储器用于存储指令,所述指令被所述至少一个处理器读取后,所述分析设备执行上述第一方面或第一方面的任意一种可能的实现方式中的方法,具体参见上面的详细描述,此处不再赘述。
第三方面,提供了失陷计算机的识别装置,该装置具有实现上述第一方面所述方法或上述方面的任意一种可能的实现方式的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
第四方面,本申请实施例提供了一种计算机可读存储介质,用于储存为上述报文转发设备所用的计算机软件指令,其包含用于执行上述第一方面或上述方面的任意一种可能的实现方式所设计的程序。
第五方面,本申请实施例提供了一种芯片,包括存储器和处理器,存储器用于存储计算机指令,处理器用于从存储器中调用并运行该计算机指令,以执行上述第一方面及其第一方面任意可能的实现方式中的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的失陷计算机的识别方案适用的网络场景示意图;
图2为本申请实施例一种失陷计算机的识别方法的流程图;
图3为本申请实施例提供的根据认证失败次数,确定异常特征向量的流程图;
图4为本申请实施例提供的根据认证失败的用户数量确定异常特征向量的流程图;
图5为本申请实施例提供的一种从异常特征向量对应的计算机中确定失陷计算机的方法的流程图;
图6为本申请实施例提供的另一种从异常特征向量对应的计算机中确定失陷计算机的方法的流程图;
图7为本申请实施例提供的一种减少异常特征向量数量的方法的流程图;
图8为本申请实施例提供的另一种减少异常特征向量数量的方法的流程图;
图9为本申请实施例提供的一种失陷计算机的识别设备的结构示意图;
图10为本申请实施例提供的一种失陷计算机的识别装置的结构示意图。
具体实施方式
一种传统方案是将AD日志中得到的历史认证信息与阈值进行简单比较,并根据比较结果根据比较结果来识别失陷计算机。这种传统方案的误报较高、准确性不佳。此外,企业网络中的用户行为的复杂性也会导致某些计算机会产生大量认证失败事件。例如,用户A使用计算机A,且计算机A上的一些应用程序配置了自动认证的功能。用户A执行更改域密码这一行为后,计算机A上的应用程序可能并不会同步获得用户的新密码,这些应用程序仍然使用更改域密码之前的旧密码执行认证,这会造成域控制器产生大量认证失败事件。类似地,当用户A的账号被删除后,这些应用程序仍然定期自动执行认证,这也会造成域控制器产生大量认证失败事件。综合上面列举的各种原因,为所有计算机设置同一阈值会造成大量误报。
针对传统方案对失陷计算机识别准确性不佳的问题,本申请实施例提供了一种通过AI技术对AD日志进行处理,从而识别失陷计算机的方法。识别设备首先针对检测时长中的每个单位时间,基于域控制器上的AD日志,获得受控计算机集合中的每个计算机在各个单位时间分别对应的特征向量。进一步地,识别设备将上述获得的各个计算机在各个单位时间分别对应的特征向量,输入AI算法,通过AI算法获得在检测时长中上述特征向量的分布情况,根据向量的分布情况获得作为离群点的异常特征向量。识别设备将异常特征向量对应的计算机作为确定失陷计算机的来源。本申请实施例基于AI技术识别失陷计算机,与传统方案简单根据阈值比较结果识别失陷计算机相比,能够提升识别失陷计算机的准确性。
在本申请实施例中特征向量中特征的数量没有严格限制,但需要能反映出至少两方面的信息,第一方面是某个特定单位时间内,作为分析对象的单个计算机作为事件源的所有认证事件中认证失败的次数;第二方面是某个单位时间内,通过该计算机机认证失败的用户的数量。
本申请实施例提供的失陷计算机的识别方法适用于各种基于windows域进行管理并能提供AD日志的网络,或者基于类似于windows域的方式进行管理,能提供类似于AD日志的其他类型日志的网络。例如,在以其他方式对受保护网络中的计算机进行管理时,如果网络中的管理设备也能产生包含事件源、认证结果的认证事件,则也可以采用本申请实施例提供的识别方法来识别失陷计算机。
下面结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。
附图1是本申请实施例提供的失陷计算机的识别方法的应用场景示意图。其中网络100是基于Windows域管理的。可选地,网络100是企业局域网或家庭的局域网、或者企业或校园场景中部署的园区网等等。网络100通过防火墙等安全设备120与互联网连接。
网络100对应的windows域中包括多个管理对象,例如附图1中的计算机101至计算机103。可选地,管理对象还包括用户账号、打印机等设备。
附图1中的域控制器110对网络100对应的windows域中的网络对象进行管理。例如,域控制器110管理各管理对象的注册和身份认证行为,并根据网络对象与注册、身份认证相关的各种行为、或者各种行为的结果生成对应的Windows事件。域控制器110的存储器中存储有AD日志,AD日志用于保存上述生成的Windows事件。
附图1所示的场景中还包括失陷计算机的识别设备130(在本申请实施例中简称为“识别设备”)。可选地,识别设备130集成于域控制器110中,或者设置在与域控制器110存在通信连接的专用计算机设备中,或者集成于与域控制器110存在通信连接的其他计算机设备中。
例如,网络100中还包括实现网络安全智能系统(cybersecurity intelligencesystem,CIS)功能的计算机设备140,该计算机设备简称为CIS设备。可选地,识别设备130集成于CIS设备140中。
识别设备130从域控制器110中获得AD日志,并通过分析AD日志识别网络100中的失陷计算机。可选地,域控制器110按照指定方式向识别设备130发送AD日志,或者识别设备130按照指定方式从域控制器110请求AD日志。例如,域控制器110定期向识别设备130发送本检测周期中生成的AD日志;或者域控制器110在前次发送后,新增的AD日志的数据量或者条目数达到设定阈值后,向识别设备130发送新增的AD日志。
识别设备130获取到来自于域控制器110的AD日志后,采用本申请实施例所提供的失陷计算机的识别方法,对AD日志进行分析,从而识别出网络100中的失陷计算机。
附图1仅是本申请实施例提供的失陷计算机的识别方案适用的网络场景的一个示例,而不应被视为是对本申请实施例提供的失陷计算机的识别方法的应用场景的限制。
图2是本申请实施例提供的一种失陷计算机的识别方法的流程图,该识别方法包括步骤200至步骤230。图2主要从识别设备的角度对该方法进行描述。可选地,图2中的识别设备为附图1中的识别设备130。
步骤200,识别设备获得AD日志。其中,识别设备获得的AD日志是域控制器生成的。
AD日志是一种日志文件。域控制器是根据受控计算机集合中的各个计算机在检测时段内的行为生成Windows事件(在本申请实施例中简称为“事件”),并将这些事件以及对应的生成时间记录在AD日志中。因此AD日志中不仅包含多个事件,还包含以及所述多个事件中的每个事件的生成时间。
在本申请实施例中,受控计算机集合包括基于Windows域管理的网络中的各个计算机,例如附图1中的计算机101至计算机103。需要进行说明的是,由于在域中,代理服务器往往会作为多个管理对象在认证过程中的中间代理,例如许多用户账号委托代理服务器作为认证的发起源、或者大量机器账号委托代理服务器作为认证的发起源。因此域控制器会产生大量事件源为代理服务器的认证日志。根据事件源为代理服务器的认证日志无法定位失陷计算机,因此为了提升后续识别失陷计算机的效率和效果,可选地,识别设备识别失陷计算机所基于的受控计算机集合中不包含代理服务器。
通过分析windows事件的计算机名(也被称为机器账号),能够区分代理服务器和除代理服务器之外的其他计算机。域控制器产生的事件中还包含以IP地址或者MAC地址为例的设备标识。域服务器根据代理服务器的认证行为产生的所有事件中,会出现这些事件包含同一设备标识、但多个不同计算机名的情况。即对于代理服务器而言,一个设备标识对应多个计算机名。形成对比的是,域服务器根据其他计算机的认证行为产生的所有事件中,这些事件包含同一设备标识、且同一计算机名。即对于其他计算机而言,一个设备标识对应一个计算机名。通过这一差异,识别设备能够从一个包含域中所有的计算机的集合中去除代理服务器,从而获得受控计算机集合。后续实施例中,在不特别指明的情况下,受控计算机集合中不包含代理服务器。
域控制器对域中计算机的注册、身份认证、资源访问相关的行为进行管理。检测时段是指域控制器执行对受控计算机的上述行为进行管理,并生成AD日志这一功能的时间段。域控制器通常支持管理员、或者第三方设备按照指定时间段导出AD日志。例如,识别设备从域控制器中获取指定时间段“2019年12月1日-2019年12月30日”的AD日志,对这部分AD日志进行分析而识别失陷计算机。在这个例子中,检测时段即为“2019年12月1日-2019年12月30日”。检测时段可以根据具体网络规模,检测需求而灵活设置。
识别设备设定的检测时段,从域控制器中获取检测时段对应的AD日志这一行为也可以与其他设备进行联动。例如在附图1所示的场景中,当安全设备120检测到一个关键事件(例如信息泄露事件,或者分布式拒绝服务攻击事件)时,触发识别设备130从域控制器获得关键事件发生前后3天内的AD日志,用于分析失陷计算机。在这种情况下,识别设备130通过向域控制器发送日志获取指令来获取日志,日志获取指令携带检测时段。可选地,日志获取指令还携带所需获取的事件类型标识。
记录在AD日志中的每个事件符合规定的数据格式。每个事件中至少包括用户名、事件类型标识、以及行为结果,所述行为结果指示成功或失败。AD日志记录的多个事件中包括至少一个认证事件。认证事件是指根据网络对象的认证行为而生成的事件,这类事件中包含的信息除了上面提及的用户名、行为结果之外,还包括作为事件源的计算机名以及认证事件的事件类型标识。事件源是指该行为的物理执行主体,例如,以认证过程而言,域控制器从哪个计算机发起的数据流中检测到认证行为,则该计算机就作为认证事件的事件源。由于在认证事件中,实质上是用计算机名来指代一个作为事件源的计算机,因此认证事件中包含的计算机名也可以看作是事件源。通过认证事件中作为事件源的计算机名以及用户名,结合AD日志中记录的每个认证事件的生成时间,识别设备能够经过简单的分析过程获得一个计算机在单位时间内认证失败的次数、以及在单位时间内通过一个计算机认证失败的用户的数量。
域控制器通常支持两种认证方式,即NTLM认证和Kerberos认证。其中NTLM认证是一种相对简单的认证方式。用户通过网络中的某台计算机输入用户名(即前面提及的用户账号)和密码后,计算机与域控制器基于挑战(challenge)/响应(response)消息交互模式实现认证过程。Kerberos认证是一种相对复杂的认证方式,认证过程涉及到用户触发认证时使用的计算机、服务端和密钥分发中心(Key Distribution Center,KDC),其中域控制器担任KDC的角色。
域控制器针对一次NTLM认证过程生成的事件中包含的事件类型标识是4776。换句话说,域控制器针对一次NTLM认证过程生成4776认证事件。域控制器针对一次NTLM认证过程生成的事件中除了包含事件类型标识4776之外,还包括用户名(即前面提及的用户账号)、计算机名、行为结果。其中,行为结果指示成功或失败。对于包含事件类型标识4776的事件而言,当行为结果为成功时,指示NTLM认证成功,当行为结果为失败时,指示NTLM认证失败。
在本申请中,识别设备130主要采用AI技术,对AD日志中的4776认证事件进行分析,从而识别出潜在的失陷计算机。可选地,AD日志中除了认证事件之外还包括其他类型的事件,例如账号更改事件、密码更改事件、用户离职事件、账号重置事件等等。后面的实施例将介绍如何根据其他类型的事件,进一步提升识别失陷计算机的准确性。
步骤210,识别设备根据AD日志从所述受控计算机集合中确定失陷计算机。失陷计算机在所述检测时段中的一个单位时间对应的特征向量属于特征向量集合中的离群点。特征向量集合中包括多个特征向量,所述多个特征向量包括所述受控计算机集合中的每个计算机在所述检测时段中的各个单位时间分别对应的特征向量、且所述特征向量集合中的每个特征向量包括对应的计算机在单位时间内认证失败的次数、以及在单位时间内通过对应的计算机认证失败的用户的数量。
换句话说,按照“一个计算机在单位时间内认证失败的次数、以及在单位时间内通过该计算机认证失败的用户的数量”这两个分析维度,对AD日志中的认证事件进行分析后,得到了一个特征向量集合。将特征向量集合中的每个特征向量作为一个数据点得到特征向量集合中所有数据点的分布后,失陷计算机在检测时段中的一个单位时间对应的特征向量是上述分布中的离群点。
可选地,识别设备通过步骤211至步骤213确定失陷计算机。需要说明的是,无论是采用具体哪种方式确定失陷计算机,只要失陷计算机对应的包含上述两个分析维度的特征向量属于特征向量集合中的离群点,均在本申请的保护范围内。
步骤211,识别设备根据AD日志中记录的认证事件,获取特征向量集合。
特征向量集合中的特征向量是识别设备以单位时间、单个计算机为粒度,对AD日志中记录的认证事件进行分析后获得的。特征向量集合中包括受控计算机集合中的每个计算机在检测时段中的各个单位时间分别对应的特征向量。检测时段被划分为了多个单位时间。单位时间是识别设备进行AD日志分析的时间粒度,也可以被视为时间窗。单位时间的长度可以根据识别设备的处理能力,网络规模等因素灵活设置。例如假定单位时间的长度为1小时,那么上面例子中的检测时段“2019年12月1日-2019年12月30日”将被划分为720个单位时间(30×24=720)。可选地,这720个单位时间用T1,T2,…T720来表示,其中T1对应2019年12月1日00:00:00-0:59:59,T2对应2019年12月1日01:00:00-01:59:59,以此类推,T720对应2019年12月30日23:00:00-23:59:59。
以特征向量集合中的第一特征向量为例进行举例说明。失陷计算机的一个表现是出现大量认证失败事件。与认证成功的信息相比,认证失败的信息对于识别失陷计算机有重要的作用。第一特征向量包括受控计算机集合中的第一计算机在第一单位时间内认证失败的次数、以及所述第一单位时间内通过所述第一计算机认证失败的用户的数量。其中第一计算机属于所述受控计算机集合,所述第一单位时间属于所述检测时段。
可选地,为了提高数据的全面性和离群点确认的准确性,第一特征向量中还包括更多的信息。例如第一特征向量中还包括受控计算机集合中的第一计算机在第一单位时间内认证成功的次数、以及在所述第一单位时间内通过所述第一计算机认证成功的用户的数量。这样就能够对“认证成功次数较多,认证失败次数也较多”,“认证成功次数较少,认证失败次数较多”这两种情况分别对应的特征向量进行有效区分。
步骤212,识别设备根据预定异常检测算法,从特征向量集合中确定异常特征向量。
异常检测属于AI技术的范畴。离群点检测是异常检测中最常用的方法之一。离群点检测的主要目的是为了从给定的数据中检测出那些在行为或特征参数方面,与正常数据差别较大的异常数据。异常数据又被称为孤立点、噪音、异常点或离群点。
离群点检测算法有很多种类,如基于统计的离群检测算法、基于聚类的离群检测算法、基于分类的离群检测算法、基于距离的离群检测算法、基于密度的离群检测算法和基于信息熵的离群检测算法。其中,GMM是基于聚类的离群检测方法的一个例子。LOF算法基于距离的离群检测算法的一个例子。识别设备根据这些离群点检测算法能够从特征向量集合中确定出异常特征向量。异常特征向量是指在上述离群点算法所依据的参数,例如统计学参数、或者聚类参数值、分类参数值、距离参数值、密度参数值、熵值等方面与正常特征向量存在差异的特征向量。
在后面的实施例中将以LOF算法为例,对如何从特征向量集合中确定异常特征向量的过程进行举例说明。
步骤213,识别设备从异常特征向量对应的计算机中确定失陷计算机。
识别设备确定异常特征向量对应的计算机,并进一步从异常特征向量对应的计算机中确定失陷计算机。
可选地,识别设备将异常特征向量对应的计算机作为失陷计算机;或者识别设备将异常特征向量对应的计算机作为确定失陷计算机的来源,即将异常特征向量对应的计算机作为潜在的失陷计算机,再进一步根据AD日志中的其他信息从异常特征向量对应的计算机中确定其中的部分计算机为失陷计算机。
攻击者在执行攻击的过程中,会以暴力破解的方式尝试获得一个计算机的控制权。暴力破解将触发大量认证过程。当作为暴力破解对象的计算机位于windows域中时,域控制器会对这些认证过程分别生成对应的认证事件。以作为暴力破解对象的计算机作为事件源的认证事件,从数量、事件的内容等方面,都与未被暴力破解的计算机作为事件源的认证事件存在较大的差异。例如暴力破解引发域控制器在短时间内产生以同一计算机作为事件源的大量认证失败事件,这些认证失败事件中用户名往往是不同的。
本申请实施例提供的失陷计算机的识别方法以检测时段中的单位时间、受控计算机集合中的单个计算机为粒度,对AD日志中记录的大量认证事件进行向量化处理得到特征向量集合。通过上述向量化处理,识别设备能从AD日志中获取到更为精确详细的历史认证信息。特征向量集合中的每个特征向量能够反映某个特定单位时间内,作为分析对象的单个计算机作为事件源的所有认证事件中认证失败的次数,以及通过该计算机机认证失败的用户的数量。识别设备进一步基于特征向量集合,使用AI技术从受控计算机集合中得到失陷计算机。失陷计算机在一个单位时间对应的特征向量属于特征向量集合中的离群点。与传统的将历史认证信息与阈值进行比较识别失陷计算机的方案相比,本申请实施例提供的失陷计算机的识别方法能够降低误报,提升识别准确性。而且本申请实施例提供的方案能够根据AD日志中的认证事件自动完成识别失陷计算机的过程,无需windows域管理人员参与,例如无需windows域管理人员考虑如何设置认证失败次数阈值。与传统方案相比,实施难度低。
下面将结合一个具体实例,以附图1中的识别设备130为例对附图2所示的失陷计算机的识别方法进行更为详细的描述。
附图1中的识别设备130从域控制器110中获得AD日志。该AD日志是域控制器110根据受控计算机集合中的各个计算机在检测时段“2019年12月1日-2019年12月30日”内的行为生成的。受控计算机集合包括附图1中的计算机101、计算机102和计算机103。AD日志的内容如表1所示,表1中的每一行表示一个事件。为了简明起见,在表1所示的AD日志中,用每个事件的生成时间所属的单位时间来代表的每个事件的实际生成时间。
例如,表1中第一行所示的事件的实际生成时间是2019年12月1日0:12:35,该时间属于T1对应的单位时间2019年12月1日00:00:00-0:59:59,因此在表1中用T1代表第一行所示的事件的生成时间。
表1
由于篇幅所限,表1中难以一一列举AD日志中记录的所有事件。AD日志中除了记录4776认证事件之外,还记录有多种其他类型的事件。例如账号更改事件、密码更改事件、用户离职事件、或账号重置事件等等。
其中,账号更改事件的事件类型标识是4724,密码更改事件的事件类型标识是4738,用户离职事件的事件类型标识是4726,账号重置事件的事件类型标识是4723。
识别设备130在执行附图2中的步骤210时,采用以下方式,获取特征向量集合。
识别设备130从受控计算机集合中选择一个计算机,对选择的计算机执行以下操作A和操作B,直到处理完所述受控计算机集合的每个计算机为止,从而获得所述每个计算机在检测时段中的各个单位时间分别对应的特征向量。
A、识别设备130针对检测时段中的第一单位时间,从AD日志中获取一个或多个目标认证事件,所述目标认证事件的生成时间属于所述第一单位时间、且所述目标认证事件中包括的作为事件源的计算机名代表的计算机为所述选择的计算机。
B、根据获取的一个或多个目标认证事件中的用户名和行为结果,获得所述第一特征向量,以此类推,采用类似方式获得所述选择的计算机在所述检测时段中除所述第一单位时间之外的每个其他单位时间分别对应的特征向量。
以识别设备130如何获取计算机101在单位时间T1对应的特征向量为例。识别设备130先从AD日志中获得目标认证事件。目标认证事件是指生成时间为T1、且包括计算机101的计算机名Workstation 1、且事件类型标识为4776的认证事件。根据目标认证事件中的用户名和行为结果,得到的特征向量记为X1-1。
在本实施例中特征向量X1-1中包括4个特征值,分别为第一特征值(记为x1)、第二特征值(记为x2)、第三特征值(记为x3)和第四特征值(记为x4)。其中第一特征值x1指示计算机101在单位时间T1内认证成功的次数,第二特征值x2指示计算机101在单位时间T1内认证失败的次数,第三特征值x3指示在单位时间T1内通过计算机101认证成功的用户数量,第四特征值x4指示在单位时间T1内通过计算机101认证失败的用户数量。
以表1为例,识别设备130首先筛选出单位时间在T1的、计算机名为Workstation1、事件类型标识为4776的所有事件。如第1行、第3行、第4行所示的事件。
识别设备130读取到第1行表示的事件后,将第一特征值x1置1,将第二特征值x2置0,将第三特征值x3置1,将第四特征值x4置0。
识别设备130读取到第3行表示的事件后,维持第一特征值x1为1,将第二特征值x2置1,维持第三特征值x3为1,将第四特征值x4置1。
识别设备130读取到第4行表示的事件后,由于第4行表示的事件中包含的用户名与第3行标识的事件中包含的用户名不同,因此认证失败的用户数应增加1。即识别设备维持第一特征值x1为1,将第二特征值x2置2,维持第三特征值x3为1,将第四特征值x4置2。
以此类推,识别设备130获取到计算机101在单位时间T1对应的特征向量
X1-1=[x1,x2,x3,x4]=[1,2,1,2]。
可选地,特征向量X1-1中还包括第五特征值(记为x5),第五特征值x5指示通过计算机101进行认证的用户总数。在上面的例子中根据第1行、第3行、第4行所示的事件x5置3。在某些情况下x5并不等于x3与x4之和,因为可能会出现认证成功事件和认证失败事件包含同一用户名的情况,此时x5小于x3与x4之和。
可选地,特征向量X1-1中还包括第五特征值第六特征值(记为x6),第六特征值指示单位时间T1,即x6置T1。
这样,识别设备130确定计算机101在单位时间T1对应的特征向量为
X1-1=[x1,x2,x3,x4,x5,x6]=[1,2,1,2,3,T1]。
类似地,识别设备130确定计算机101在T2至T720分别对应的719个特征向量X1-2…X1-720。
采用类似的方法,识别设备获得特征向量集合,该特征向量集合中包括m*n个上述特征向量,其中m为受控计算机集合中受控计算机的数量,n为检测时段中单位时间的数量。在本实施例中,由于受控计算机集合中共有3个计算机,分别为计算机101,计算机102和计算机103,因此n为3。在本实施例中检测时段中包括720个单位时间,因此n为720。特征向量集合中包含2160(720*3)个特征向量。
接下来,识别设备130获得特征向量集合后,执行附图2中的步骤220,预定异常检测算法,从特征向量集合中确定异常特征向量。在本实施例中,以LOF算法为例,对如何从特征向量集合中确定异常特征向量的过程进行举例说明。
LOF算法是一种基于距离的异常点检测算法。LOF中引入参数k,k表示LOF计算考虑的邻居数。LOF通过观察某一数据点相邻的数据点来找出该数据点的密度,然后与相邻的数据点的密度进行比较,如果某一数据点的密度远低于其相邻数据点的密度。则该数据点被认为是离群值。相邻的数据点被简称为邻居点。
下面是LOF算法中的几个关键概念。
(1)数据点p和数据点o之间的距离,记为d(p,o)
在本实施例中,作为LOF算法输入的特征向量集合中的每个特征向量即为一个数据点。识别设备130从特征向量集合中获得一个特征向量作为数据点p,另一个特征向量作为数据点o。识别设备130通过欧式距离计算两个特征向量之间的距离,其中数据点p的特征向量记为[x1,x2,x3…xn],数据点o的特征向量记为[y1,y2,y3…yn]。
(2)第k距离(k-distance)
定义k,k-distance(p)表示一个数据点p到它的第k个邻居点的距离。k-distance(p)用来衡量数据点p周围领域的密集程度,k-distance(p)的取值很小时表示p点周围的区域是密集的,反之亦然。
(3)第k距离邻域(k-distance neighborhood of p)
数据点p的k-distance以内的所有数据点NK(p),即数据点p的第k距离以内的所有点,包括第k距离。因此p的第k距离邻域中包含的数据点的个数|Nk(p)≥k|。
(4)可达距离(reach-distance)
对于数据点p的k-distance邻域中的每个数据点q,定义数据点p相对于数据点q的reach-distance为max{k-distance(q),d(p,q)},其中d(p,q)为数据点p和数据点q之间的距离。数据点点p与数据点o的reach-distancek(p,o):reach-distancek(p,o)=max{k-distance(o),d(p,o)}。
(5)局部可达密度(local reachability density)
通过reach-distance计算得到local reachability density(lrd)。为了得到数据点p的lrd,首先计算数据点p到数据点p的所有k个最近邻居点中的每个邻居点分别对应的reach-distance,然后计算数据点p到数据点p的每个邻居点分别对应的reach-distance的平均值。P的lrd就是该平均值的倒数。Lrd的值越低,周围密度越小。计算公式如下:
(5)局部离群因子(local outlier factor)
数据点p的local outlier factor表示数据点p的邻域点NK(p)的lrd与数据点p的lrd之比的平均数。计算公式如下:
local outlier factor的值越接近1,说明p的其邻域点密度差不多,数据点p可能和邻域同属一簇。
local outlier factor的值越小于1,说明p的密度高于其邻域点密度,数据点p为密集点。
local outlier factor的值越大于1,说明p的密度小于其邻域点密度,p越可能是异常点。
现有技术提供了基于各种编程语言开发的LOF算法的计算工具、或者函数库,使得LOF算法被方便地广泛使用。
识别设备130将受控计算机集合中每个计算机在检测时段中的各个单位时间分别对应的特征向量作为数据点输入上述LOF算法的计算工具,或者调用上述函数库,根据计算工具或者函数的输出结果获得所述LOF算法针对每个特征向量分别输出的对应的局部离群因子值。其中,对于一个特征向量而言,该特征向量对应的局部离群因子值大于1、且与1的差值越大,指示对应的所述特征向量的异常度越高。
在识别设备130实际应用LOF算法确定各特征向量对应的局部离群因子值并进而确定异常特征向量时,可选地,识别设备130基于受控计算机集合中的一个计算机在各个单位时间对应的特征向量来确定异常特征向量(即作为LOF算法输入的特征向量集合是受控计算机集合中的一个计算机在各个单位时间对应的特征向量。在上面所提及的图1所示的例子,作为LOF算法输入的特征向量集合是计算机101在T1至T720分别对应的720个特征向量X1-1…X1-720)。或者,识别设备130基于受控计算机集合中的所有计算机在各个单位时间对应的特征向量来确定异常特征向量(即作为LOF算法输入的特征向量集合是受控计算机集合中的所有计算机在各个单位时间对应的特征向量,在上面所提及的图1所示的例子,作为LOF算法输入的特征向量集合是计算机101、计算机102和计算机103在T1至T720分别对应的2160个特征向量X1-1…X1-720,X2-1…X2-720,X3-1…X3-720)。
虽然识别设备130根据特征向量分别对应的局部离群因子值能够识别出特征向量集合中异常度高的部分特征向量,然而导致特征向量异常度高的原因是多方面的。例如在本实施例中,在第一特征向量包括x1至x4四个特征值的情况下,x1至x4中的任意一个特征值均可能导致第一特征向量的异常度高,成为离群点。然而由于暴力破解攻击只会导致失陷计算机在认证失败次数(即x2)和认证失败的用户数量(即x4)方面与正常计算机存在差异。从另一个角度来说,如果一个特征向量成为离群点是由于认证成功的次数(x1)或者认证成功的用户数量(x3)导致的,那么该特征向量对应的计算机是失陷计算机的可能性不高。
因此,可选地,为了进一步提高识别的准确性,识别设备130需要从异常度高的所有特征向量中确定出由于认证失败次数(即x2)或认证失败的用户数量(即x4)的原因导致异常度高的部分特征向量,这部分特征向量是与确定失陷计算机相关性较高的异常特征向量,然后根据这部分异常特征向量确定失陷计算机。
附图3是根据认证失败次数,确定异常特征向量的流程图。附图4是根据认证失败的用户数量确定异常特征向量的流程图。
可选地,识别设备130执行附图3所示的流程,或者附图4所示的流程,确定异常特征向量。
附图3所示的流程包括步骤310至步骤320,详细介绍了根据认证失败次数的正态分布概率,确定异常特征向量的过程。
步骤310,识别设备130从特征向量集合中选择部分特征向量从而生成目标特征向量集合。其中,目标特征向量集合中的特征向量对应的局部离群因子值大于所述特征向量集合中未被选择的特征向量对应的局部离群因子值。
由于失陷计算机对应的特征向量属于异常度高的特征向量,因此识别设备130先从特征向量集合中选择部分特征向量,生成目标特征向量集合,目标特征向量集合中包括选中的部分特征向量。目标特征向量集合是特指向量集合中的子集,目标特征向量集合中的特征向量是潜在的异常特征向量。目标特征向量集合中的特征向量对应的局部离群因子值大于所述特征向量集合中未被选择的特征向量对应的局部离群因子值。
步骤320,识别设备130从目标特征向量集合中选择一个特征向量,对于选择出特征向量执行步骤321至步骤323所示的处理,直到处理完所述目标特征向量集合中的每个特征向量为止,从而获得异常特征向量。
步骤321,根据选择的特征向量,获取第一计算机在第二单位时间内认证失败的次数。其中所述选择的特征向量包括所述第一计算机在所述第二单位时间内认证失败的次数、以及所述第二单位时间内通过所述第一计算机认证失败的用户数量。
可选地,选择的特征向量中还包括其他信息,例如第一计算机在第二单位时间内认证成功的次数、在所述第二单位时间内通过所述第一计算机认证成功的用户数量、或在所述第二单位时间内通过所述第一计算机认证的用户总数等等。
步骤322,判断第一计算机在第二单位时间内认证失败的次数是否属于第一平均值的N倍标准差范围内。所述第一平均值是根据所述特征向量集合中的各特征向量分别指示的认证失败次数计算出的,其中N的取值为1、2、或3。
步骤323,如果第一计算机在第二单位时间内认证失败的次数不属于所述第一平均值N倍标准差范围内,则确定所述选择的特征向量为异常特征向量。
首先,以识别设备130基于受控计算机集合中的一个计算机在各个单位时间对应的特征向量来确定异常特征向量为例进行举例说明。
识别设备130根据特征向量集合中各特征向量对应的局部离群因子值,从特征向量集合中选择预定数量的特征向量,或者预定比例的特征向量。目标特征向量集合中包括选择出的特征向量。示例性的,预定数量设置为10,预定比例设置为10%。例如,在上述实例中,特征向量集合中包括720个特征向量的情况下,识别设备130按照局部离群因子值从高到底的顺序从特征向量集合中选择10个特征向量(预定数量设置为10),或者识别设备130按照局部离群因子值从高到底的顺序从特征向量集合中选择7个特征向量(预定比例设置为1%)。
在上述实例中,特征向量集合中的每个特征向量包含4个特征值,分别记为x1至x4。其中x2指示某个计算机在该特征向量对应的单位时间内认证失败的次数。识别设备130先计算特征向量集合(计算机102对应的720个特征向量)中所有特征向量中特征值x2的平均值假定识别设备130从目标特征向量集合中选择的特征向量是计算机102在单位时间T3对应的特征向量X2-T3。识别设备130判断X2-T3中的x2的值是否属于的3倍标准差范围内,如果X2-T3中的x2的值属于的3倍标准差范围内,则确定X2-T3不是异常特征向量。如果X2-T3中的x2的值不属于的3倍标准差范围内,则说明x2出现的概率小于0.3%,属于小概率事件,因此确定X2-T3是异常特征向量。采用类似的方法,识别设备130处理完目标特征向量集合中的所有特征向量。
接下来,以识别设备130基于受控计算机集合中的所有计算机在各个单位时间对应的特征向量来确定异常特征向量为例进行举例说明。
识别设备130根据特征向量集合中各特征向量对应的局部离群因子值,从特征向量集合中选择预定数量的特征向量,或者预定比例的特征向量。示例性的,预定数量设置为10,预定比例设置为10%。例如,在上述实例中,特征向量集合中包括2160个特征向量的情况下,识别设备130按照局部离群因子值从高到底的顺序从特征向量集合中选择10个特征向量(预定数量设置为10),或者识别设备130按照局部离群因子值从高到底的顺序从特征向量集合中选择21个特征向量(预定比例设置为1%)。
在上述实例中,特征向量集合中的每个特征向量包含4个特征值,分别记为x1至x4。其中x2指示某个计算机在该特征向量对应的单位时间内认证失败的次数。识别设备130先计算特征向量集合(计算机102对应的2160个特征向量)中所有特征向量中特征值x2的平均值假定选择的特征向量是计算机102在单位时间T3对应的特征向量X2-T3。识别设备130判断X2-T3中的x2的值是否属于的3倍标准差范围内,如果X2-T3中的x2的值属于的3倍标准差范围内,则确定X2-T3不是异常特征向量。如果X2-T3中的x2的值不属于的3倍标准差范围内,则说明x2出现的概率小于0.3%,属于小概率事件,因此确定X2-T3是异常特征向量。采用类似的方法,识别设备130处理完目标特征向量集合中的所有特征向量为止。
附图4所示的流程包括步骤410至步骤420,详细介绍了根据认证失败的用户数量的正态分布概率,确定异常特征向量的过程。
步骤410,识别设备130从特征向量集合中选择部分特征向量从而生成目标特征向量集合,所述目标特征向量集合中的特征向量对应的局部离群因子值大于所述特征向量集合中未被选择的特征向量对应的局部离群因子值。
步骤420,识别设备130从目标特征向量集合中选择一个特征向量,对于选择出特征向量执行步骤421至步骤423所示的处理,直到处理完所述目标特征向量集合中的每个特征向量为止,从而获得异常特征向量。
步骤421,根据选择的特征向量,获取在第三单位时间内通过第二计算机认证失败的用户数量。其中所述选择的特征向量包括所述第二计算机在所述第三单位时间内认证失败的次数、以及所述第三单位时间内通过所述第二计算机认证失败的用户数量。
可选地,选择的特征向量中还包括其他信息,例如还包括第二计算机在第三单位时间内认证成功的次数、在所述第三单位时间内通过所述第二计算机认证成功的用户数量、或所述第三单位时间内通过所述第二计算机认证的用户总数等。
步骤422,判断在第三单位时间内通过第二计算机认证失败的用户数量是否属于第二平均值的N倍标准差范围内。所述第二平均值是根据所述特征向量集合中的各特征向量分别指示的认证失败的用户数量计算出的,其中N的取值为1、2、或3。
步骤423,如果在第三单位时间内通过第二计算机认证失败的用户数量不属于所述第二平均值N倍标准差范围内,则确定所述选择的特征向量为异常特征向量。
以识别设备130基于受控计算机集合中的一个计算机在各个单位时间对应的特征向量来确定异常特征向量为例进行举例说明。
识别设备130根据特征向量集合中各特征向量对应的局部离群因子值,从特征向量集合中选择预定数量的特征向量,或者预定比例的特征向量。目标特征向量集合中包括选择出的特征向量。
在上述实例中,特征向量集合中的每个特征向量包含4个特征值,分别记为x4至x4。其中x4指示在该特征向量对应的单位时间内通过某个计算机认证失败的用户的数量。识别设备130先计算特征向量集合中所有特征向量中特征值x4的平均值假定识别设备130从目标特征向量集合中选择的特征向量是计算机102在单位时间T3对应的特征向量X2-T3。识别设备130判断X2-T3中的x4的值是否属于的3倍标准差范围内,如果X2-T3中的x4的值属于的3倍标准差范围内,则确定X2-T3不是异常特征向量。如果X2-T3中的x4的值不属于的3倍标准差范围内,则说明x4出现的概率小于0.3%,属于小概率事件,因此确定X2-T3不是异常特征向量。采用类似的方法,识别设备130处理完目标特征向量集合中的所有特征向量。
识别设备根据上述附图2至附图4所示的方法,能够根据AD日志中的认证事件,从受控计算机集合中确定失陷计算机。在实现本申请提供的失陷计算机的识别方案的过程中,发明人发现由于用户的某些行为,也会造成域控制器在短时期内产生事件源为某台计算机的大量认证失败事件,这一现象与暴力破解攻击有相似性。针对这种现象,可选地,在确定出异常特征向量后,根据异常特征向量对应的单位时间前后,AD日志所记录的事件中的用户名信息进一步确认异常特征向量对应的计算机是否是失陷计算机,从而进一步降低误报,提升识别失陷计算机的准确性。
本申请实施例提供了多种识别出异常特征向量之后,能更进一步提升识别准确性的方式,这些方式可以单独使用,也可以相互结合使用,在本实施例中不进行限定。关联用户信息提升识别准确性的方式主要分为两类,一类是从异常特征向量对应的计算机中识别出风险高的计算机,将风险高的计算机作为失陷计算机,如后面介绍的方式A和方式B。另一类是从异常特征向量对应的计算机中识别出风险低的计算机,然后从异常特征向量对应的计算机中排除风险低的计算机,剩余的计算机为失陷计算机。如后面介绍的方式C和方式D。本申请后面的实施例将对上述两类方式进行举例说明。
本申请后面的实施例中列举了4种在确定异常特征向量后,进一步提升失陷计算机识别效果的方式。在附图2至附图4所示的实施例中,识别设备在执行步骤230的过程中,确定异常特征向量对应的计算机后,采用以下4种方式中的至少一种,能够进一步提升识别准确性。
方式A
通过对已知失陷计算机在被攻击者控制后的行为进行研究发现,攻击者对一个计算机进行暴力破解的过程中,会在短时期内尝试用大量不存在的用户名和密码的组合在该计算机上触发认证过程。暴力破解攻击使用的用户名绝大多数都是事实上不存在的(即未在域控制器上注册过的)。此时域控制器会产生大量事件源为该计算机的认证失败事件。当一个计算机被攻击者控制成为失陷计算机后,攻击者往往会在接下来的时间继续以该失陷计算机为跳板继续攻击企业网络中的其他计算机,即使用上述不存在的用户名对其他计算机进行暴力破解攻击。因此在该计算机被控制之后,域内会出现大量事件源为其他计算机、由这些不存在的用户引发的认证失败事件。上述不存在的用户名和正常用户名(在域控制器上注册过的)的区别是域控制器针对这些不存在的用户名产生的认证事件的认证结果都是失败的,而针对正常用户名产生的认证事件的认证结果大多数都是成功的。
因此如果AD日志中在某个单位时间之后,存在关于这些不存在的用户的大量认证事件,则识别设备确认在这个单位时间中出现某个计算机被黑客控制的可能性很高。换句话说,如果单位时间对应的特征向量中存在异常特征向量,则该特征向量对应的计算机是失陷计算机的可能性很高。
附图5时一种从异常特征向量对应的计算机中确定失陷计算机的方法的流程图,该方法包括步骤500至步骤540。可选地,附图5所示的流程是由附图1中的识别设备130执行的。
步骤500,从异常特征向量中选择一个异常特征向量,其中,选择出的所述异常特征向量是第三计算机在第四单位时间对应的特征向量。
步骤510,根据AD日志,获得第一目标用户名集合。第一目标用户名集合中包括在第四单位时间和/或在第四单位时间之后通过所述第三计算机认证的用户名。
可选地,识别设备采用以下方式获得第一目标用户名集合。识别设备首先从AD日志中获得第一目标事件集。第一目标事件集中包括至少一个认证失败事件,所述第一目标事件集中的认证失败事件的生成时间属于第一时间段、且所述第一目标认证事件集中的认证失败事件包括的作为事件源的计算机名为所述第三计算机的计算机名,所述第一时间段包括所述第四单位时间,和/或所述检测时段中在所述第四单位时间之后的时间,其中认证失败事件是指包括的行为结果指示失败的认证事件。进一步,识别设备基于第一目标事件集得到第一目标用户名集合。目标用户名集合中包括从所述第一目标事件集中认证失败事件中获取到的用户名。
步骤520,从第一目标用户名集合中选择一个用户名,确定选择出的用户名是否为异常用户名,直到异常用户名的数量超过第一数量阈值或者处理完所述目标用户名集合中的每个用户名为止。异常用户名是指基于对所述AD日志的分析,确认发起过认证行为、但认证行为从未成功过的用户。例如所述AD日志中的包括所述选择出的用户名的认证失败事件的数目超过第二数量阈值,且所述AD日志中不存在包括所述选择出的用户名的认证成功事件,则所述选择出的用户名为异常用户名,其中认证成功事件是指包括的行为结果指示成功的认证事件。
步骤530,如果所述异常用户名的数量超过第一数量阈值,则确定所述第三计算机为失陷计算机。
下面继续以前面提及的实例进行举例说明,在上述实例中,假定X2-T3是异常特征向量,即该异常特征向量是计算机102在单位时间T3对应的特征向量。识别设备130从AD日志中获得目标事件集合,目标事件集中的事件包含的单位时间为是T3至T720的任意单位时间(为了简便,可以仅选择T3至T720中的部分时间段,例如T3-T10)、包含的作为事件源的计算机名为计算机102的计算机名Workstation 2、行为结果为失败。
假定目标事件集合中的事件如表2所示。
表2
假定识别设备130从表2所示的目标事件集中获得的目标用户名集合中包括100个用户名,分别为User2、User3…User x,其中x为大于2的自然数。针对User2,识别设备130从AD日志中获取包含的用户名为User2、且事件类型标识为4776的事件。如果获取的事件的数目超过设定的阈值(例如,设定的阈值为100),且获取的事件中不存在行为结果为成功的事件,则识别设备130确定用户名User2为异常用户名,即上面提到的不存在的用户名。
识别设备130采用与确定用户名User2为异常用户名类似的方式,确定目标用户名集合中包括的其他用户名是否为异常用户名。假定上述第一数量阈值被设置为20,那么当异常用户名的数量超过20时,识别设备130确定计算机102是失陷计算机。
方式B
通过对已知失陷计算机在被攻击者控制后的行为进行研究发现,攻击者可能从某些渠道获知了一些正常用户名(即已在域控制器上注册过的用户名),但并不知晓对应的密码。例如攻击者通过其他已破解的用户名进行联想猜测得到正常用户名,或者从其他泄露的信息中偶然得到正常用户名。在这种情况下,攻击者在尝试控制一个计算机(被称为目标计算机)时,会通过已失陷的另一计算机远程登录该计算机,并利用已知的正常用户名在该目标计算机上发起认证。在这一过程中,域控制器会生产事件源为该目标计算机的计算机名、用户名为上述正常用户名,但行为结果是失败的认证事件。与这种情况形成对比的是,当使用这些正常用户名的合法用户在windows域中的其他计算机发起认证时,由于合法用户知晓对应的密码,因此这些正常用户名在其他计算机上的认证过程都是成功的。
因此,如果AD日志中如果存在关于以其他计算机名作为事件源、包含正常用户名的认证事件都是认证成功事件、但以某个特定计算机名作为事件源、包含上述正常用户名的认证事件是认证失败事件,则识别设备确认该特定计算机名对应的计算机是失陷计算机的可能性很高。
附图6是一种从异常特征向量对应的计算机中确定失陷计算机的方法的流程图。该方法包括步骤600至步骤640。可选地,附图6所示的流程是由附图1中的识别设备130执行的。
步骤600,从异常特征向量中选择一个异常特征向量,其中,选择出的所述异常特征向量是第四计算机在第五单位时间对应的特征向量。
步骤610,根据所述AD日志,获得第二目标用户名集合,所述第二目标用户名集合中包括在第五单位时间和/或在第五单位时间之后通过所述第四计算机认证、且认证行为失败的用户名。可选地,识别设备采用以下方式获得第二目标用户名集合。首先,识别设备从AD日志中获得第二目标事件集。第二目标事件集中包括至少一个认证失败事件,所述第二目标事件集中的认证失败事件的生成时间属于第五单位时间、包括的作为事件源的计算机名为所述第四计算机的计算机名。进一步,识别设备根据第二目标事件集获得第二目标用户名集合,所述第二目标用户名集合中包括从第二目标事件集中的认证失败事件中获取的用户名。
步骤620,从第二目标用户名集合中选择一个用户名,确定选择出的用户名是否为被利用的用户名,直到找到一个被利用的用户名或者处理完所述第二目标用户名集合中的所有用户名为止。被利用的用户名是基于对所述AD日志的分析,确认通过所述受控计算机集合中除所述第四计算机之外的计算机发起过认证行为、且认证行为成功过的用户名。例如识别设备从所述AD日志中获取第三目标事件集,所述第三目标事件集中包括至少一个认证事件、且所述第三认证事件集中的认证事件中包括的用户名为所述选择出的用户名、作为事件源的计算机名为除所述第四计算机的计算机名之外的其他计算机名;如果所述第三目标事件集中的认证事件均为认证成功事件,则所述目标用户名是被利用的用户名。
步骤630,如果第二目标用户名集合中包括至少一个所述被利用的用户名,则确定所述第四计算机为失陷计算机。
下面继续以前面提及的实例进行举例说明,在上述实例中,确定X2-T3是异常特征向量,即该异常特征向量是计算机102在单位时间T3对应的特征向量。识别设备130从AD日志中获得目标事件集合,目标事件集中的事件包含的单位时间为是T3、包含的作为事件源的计算机名为计算机102的计算机名Workstation 2、行为结果为失败。
假定目标事件集合中的事件如表3所示。
表3
识别设备130从表3所示的目标事件集中获得的目标用户名集合中包括2个用户名,分别为User2、User3。针对User2,识别设备130从AD日志中获取包含的用户名为User2、计算机名为除Workstation 2之外的其他计算机名、且事件类型标识为4776的事件。如果获取的事件均为认证成功的事件,则识别设备130确定用户名User2为被利用的用户名,即上面提到的已在域控制器上注册过、但被攻击者利用用来尝试控制一个计算机的用户名。
方式C
通过对历史AD日志进行研究发现,由于用户的某些合理的行为,也会造成域控制器在短时期内产生事件源为某台计算机的大量认证失败事件,这一现象与暴力破解攻击有相似性。经过进一步研究发现,计算机上的一些应用程序配置了自动认证的功能,这些程序会自动使用该用户名对应的密码发起认证。例如,用户A在域服务器上注册了用户名UserA,注册时设置了User A对应的密码Pw A。用户A长期使用的计算机A,计算机A上运行有邮件客户端程序Outlook。Outlook会定期或者每次计算机A被解锁时,都自动使用用户名User A和对应的密码Pw A向邮件服务器发起认证。然而,当用户A对用户名User A进行一些操作时(例如用户A重置用户名User A的密码为Pw B、用户A变更了自己使用的用户名User A、或者用户A从所在的公司离职),Outlook仍然继续使用用户名User A和对应的密码Pw A向邮件服务器发起认证。
针对上述发现,识别设备在识别出异常特征向量后,确定该异常特征向量对应的计算机。进一步地,识别设备如果在AD日志中发现存在事件源为上述异常特征向量对应的计算机的其他事件、且时间更早其他事件反映出用户执行了上述账号操作,则确认异常特征向量很有可能是由于用户此前的账号操作引发的大量认证失败事件造成的。在这种情况下,该异常特征向量对应的计算机是失陷计算机的可能性较低。
识别装置在根据异常特征向量对应的计算机中确定失陷计算机,通过分析同一计算机在异常特征向量对应的单位时间之前的事件,能够排除一部分是失陷计算机可能性较低的计算机。
附图7提供了减少异常特征向量数量的方法的流程图。该方法从异常特征向量对应的计算机中确定失陷计算机之前,从异常特征向量中删除为失陷计算机可能性较低的计算机对应的异常特征向量,从而降低后续识别失陷计算机的工作量。附图7包括步骤700至步骤740。可选地,附图7所示的流程是由附图1中的识别设备130执行的。
步骤700,从所述异常特征向量中选择一个异常特征向量,其中,选择出的所述异常特征向量是第五计算机在第六单位时间对应的特征向量。
步骤710,从所述AD日志中获取第四目标事件集。所述第四目标事件集中包括至少一个认证失败事件、且第四目标事件集中包括的认证失败事件的生成时间属于第三时间段内、且包括的作为事件源的计算机名为所述第五计算机名,其中所述第三时间段包括所述第六单位时间、和/或所述检测时段中在所述第六单位时间之后的时间,其中认证失败事件是指包括的行为结果指示失败的认证事件。
步骤720,获得第三目标用户名集合,所述第二目标用户名集合中包括从所述第四目标事件集中的认证失败事件中获取的用户名。
步骤730,从所述第三目标用户名集合中选择一个用户名,确定选择出的用户名是否为正常用户名,直到处理完所述第三目标用户名集合中的所有用户名为止。正常用户名是指基于对所述AD日志的分析,确认在所述第六单位时间之前,通过所述第五计算机发起过账号更改行为、密码更改行为、用户离职行为、或账号重置行为。
识别设备判断所述AD日志中是否存在至少一个生成时间属于第四时间段、且包括的作为事件源的计算机名为所述第五计算机的计算机名、且行为结果指示成功的账号更改事件、密码更改事件、用户离职事件、或账号重置事件,其中所述第四时间段包括所述检测时段中在所述第六单位时间之前的时间;如果存在至少一个生成时间属于第四时间段、且包括的作为事件源的计算机名为所述第五计算机的计算机名、且行为结果指示成功的账号更改事件、密码更改事件、用户离职事件、或账号重置事件,则确定所述选择出的用户名为正常用户名。
步骤740,如果第三目标用户名集合中包括的用户名均为正常用户名,则从所述异常特征向量中删除所述选择的异常特征向量。
下面继续以前面提及的实例进行举例说明,在上述实例中,确定X2-T3是异常特征向量,即该异常特征向量是计算机102在单位时间T3对应的特征向量。识别设备130从AD日志中获得目标事件集合,目标事件集中的事件包含的单位时间为是T3至T720的任意单位时间(为了简便,可以选择T3至T720中的部分时间段,例如T3-T10)、包含的作为事件源的计算机名为计算机102的计算机名Workstation 2、行为结果为失败。
假定目标事件集合中的事件如表2所示。
表2
识别设备130从表2所示的目标事件集中获得的目标用户名集合中包括2个用户名,分别为User2、User3。针对User2,识别设备130根据第二条件确认User2是否是正常用户名。
第二条件为:AD日志中存在包含的用户名为User2、生成时间属于单位时间T1-T2、包含计算机名Workstation 2、行为结果指示成功、且事件类型标识为4724(账号更改事件的事件类型标识)、4738(密码更改事件的事件类型标识)、4726(用户离职事件的事件类型标识)或4723(账号重置事件的事件类型标识)的事件。
如果第二条件满足,即AD日志中存在包含的用户名为User2、生成时间属于单位时间T1-T2、包含计算机名Workstation 2、行为结果指示成功、且事件类型标识为4724、4738、4726或4723的事件,则确定User2为正常用户名。
识别设备130采用与确定用户名User2为异常用户名类似的方式,确定目标用户名集合中的其他用户名,例如User3,是否为正常用户名。假定目标用户名集合中的用户名User2和User3均为正常用户名,则识别设备130从所述异常特征向量中删除所述异常特征向量X2-T3。
方式D
与方式A相对应的,通过对已知失陷计算机在被攻击者控制后的行为进行研究发现,攻击者对一个计算机进行暴力破解的过程中,不可能使用少量几个不存在的用户名尝试触发认证,这种与暴力破解的原理不符。
因此如果AD日志中在某个单位时间,存在事件源为同一个计算机的、由于这些少量不存在的用户的引发大量认证失败事件,则识别设备确认这个计算机是失陷计算机的可能性较低。
附图8提供了减少异常特征向量数量的方法的流程图。该方法从异常特征向量对应的计算机中确定失陷计算机之前,从异常特征向量中删除为失陷计算机可能性较低的计算机对应的异常特征向量,从而降低后续识别失陷计算机的工作量。附图8包括步骤800至步骤840。可选地,附图7所示的流程是由附图1中的识别设备130执行的。
步骤800,从所述异常特征向量中选择一个异常特征向量,其中,选择出的所述异常特征向量是所述第三计算机在第四单位时间对应的特征向量。
步骤810,根据所述AD日志,获得第一目标用户名集合,所述第一目标用户名集合中包括在第四单位时间和/或在第四单位时间之后通过所述第三计算机认证的用户名。
步骤810与上述附图5中的步骤510类似,关于步骤810的详细描述请参考上面实施例中对于附图5中的步骤510的描述。
步骤820,从所述第一目标用户名集合中选择一个用户名,确定选择出的用户名是否为异常用户名,直到处理完所述目标用户名集合中的每个用户名为止。异常用户名是基于对所述AD日志的分析,确认发起过认证行为、但认证行为从未成功过的用户名。
步骤820与上述附图5中的步骤520类似,关于步骤820的详细描述请参考上面实施例中对于附图5中的步骤520的描述。
步骤830,如果所述异常用户名的数量不超过第二数量阈值,则从所述异常特征向量中删除所述选择的异常特征向量。第二数量阈值小于前面提到的第一数量阈值。
下面继续以前面提及的实例进行举例说明,在上述实例中,确定X2-T3是异常特征向量,即该异常特征向量是计算机102在单位时间T3对应的特征向量。识别设备130从AD日志中获得目标事件集合,目标事件集中的事件包含的单位时间为是T3、包含的作为事件源的计算机名为计算机102的计算机名Workstation 2、行为结果为失败。
假定目标事件集合中的事件如表2所示。
表2
识别设备130从表2所示的目标事件集中获得的目标用户名集合中包括2个用户名,分别为User2、User3。针对User2,识别设备130从AD日志中获取包含的用户名为User2、且事件类型标识为4776的事件。如果获取的事件的数目超过设定的阈值(例如,设定的阈值为100),且获取的事件中不存在行为结果为成功的事件,则识别设备130确定用户名User2为异常用户名,即上面提到的不存在的用户名。
识别设备130采用与确定用户名User2为异常用户名类似的方式,确定目标用户名集合中包括的其他用户名是否为异常用户名。假定上述第二数量阈值被设置为3,那么当异常用户名的数量不超过3时,识别设备130确定从异常特征向量集合中去除X2-T3。
相应地,本发明实施例还提供了一种失陷计算机的识别设备,用以实施上述实施例描述的失陷计算机的识别方法。图9是本申请实施例提供的识别设备的结构示意图。可选地,图9所示的分析设备是图1所示应用场景中的识别设备、或用于执行图2至图8所示流程中的识别设备。识别设备包括至少一个处理器91、和存储器92。
至少一个处理器91可以是一个或多个CPU,该CPU可以是单核CPU,也可以是多核CPU。
存储器92包括但不限于是随机存取存储器(random access memory,RAM)、只读存储器(Read only Memory,ROM)、可擦除可编程只读存储器(erasable programmable read-only memory,EPROM或者快闪存储器)、快闪存储器、或光存储器等。存储器92中保存有操作系统的代码。
可选地,处理器91通过读取存储器92中保存的指令实现上述实施例中的方法,或者,处理器91也可以通过内部存储的指令实现上述实施例中的方法。在处理器91通过读取存储器92中保存的指令实现上述实施例中的方法的情况下,存储器62中保存实现本申请上述实施例提供的方法的指令。
存储器92中存储的程序代码被所述至少一个处理器91读取后,识别设备执行以下操作:获得AD日志,所述AD日志中记录有多个认证事件、以及所述多个认证事件中的每个认证事件的生成时间,其中所述每个认证事件是根据受控计算机集合中的计算机在检测时段内的认证行为生成的,所述检测时段包括多个单位时间;
根据所述AD日志,从所述受控计算机集合中确定失陷计算机,所述失陷计算机在所述检测时段中的一个单位时间对应的特征向量属于特征向量集合中的离群点,其中,所述特征向量集合中包括多个特征向量,所述多个特征向量包括所述受控计算机集合中的每个计算机在所述检测时段中的各个单位时间分别对应的特征向量、且所述特征向量集合中的每个特征向量包括对应的计算机在单位时间内认证失败的次数、以及在单位时间内通过对应的计算机认证失败的用户的数量。
处理器91确定失陷计算机的详细过程请参照前面方法实施例中的描述。例如,处理器91采用附图2步骤210、步骤211至步骤213所描述的过程确定失陷计算机。在确定失陷计算机的过程中,处理器91采用步骤211所描述的过程获取特征向量集合,采用附图2步骤212、附图3或附图4所描述的过程从特征向量集合中获取异常特征向量。采用附图2步骤213、附图5、附图6、附图7或附图8所示的过程从异常特征向量对应的计算机中确定失陷计算机。在这里不再重复描述。
可选地,附图9所示的分析设备还包括网络接口93。网络接口93可以是有线接口,例如光纤分布式数据接口(Fiber Distributed Data Interface,FDDI)、千兆以太网(Gigabit Ethernet,GE)接口;网络接口93也可以是无线接口。网络接口93用于接收来自于域控制器的AD日志。
存储器92用于存储网络接口93接收到的AD日志。所述至少一个处理器91用于对所述AD日志进行处理后,获得上述各个实施例中提及的特征向量集合,并将特征向量集合保存至存储器92。
所述至少一个处理器91进一步根据存储器92保存的这些条目来执行上述方法实施例所描述的识别方法。处理器91实现上述功能的更多细节请参考前面各个方法实施例中的描述,在这里不再重复。
可选地,识别设备还包括总线94,上述处理器91、存储器92通常通过总线94相互连接,也可以采用其他方式相互连接。
可选地,识别设备还包括输入输出接口95,输入输出接口95用于与输入设备连接,接收用户、或者与识别设备能够联动的其他设备通过输入设备输入的识别需求。输入设备包括但不限于键盘、触摸屏、麦克风等等。输入输出接口95还用于与输出设备连接,输出处理器91的识别结果。输出设备包括但不限于显示器、打印机等等。
本申请实施例提供的识别设备用于执行上述各个方法实施例提供的识别方法。识别设备首先对AD日志进行向量化处理从而获得特征向量集合。特征向量集合中包括多个特征向量,所述多个特征向量包括所述受控计算机集合中的每个计算机在所述检测时段中的各个单位时间分别对应的特征向量。特征向量集合中的每个特征向量中包含对应的计算机在单位时间内认证失败的次数、以及在单位时间内通过对应的计算机认证失败的用户的数量。识别设备进一步基于特征向量集合,使用AI技术从受控计算机集合中得到失陷计算机。失陷计算机在一个单位时间对应的特征向量属于特征向量集合中的离群点。与传统的将历史认证信息与阈值进行比较识别失陷计算机的方案相比,识别设备能够降低误报,提升识别准确性。而且该方案能够根据AD日志中的认证事件自动完成识别失陷计算机的过程,无需windows域管理人员参与,例如无需windows域管理人员考虑如何设置认证失败次数阈值。与传统方案相比,实施难度低。
图10是本申请实施例提供的一种失陷计算机的识别装置的结构示意图。该识别装置10包括获取模块1001、确定模块1002。
获取模块1001,用于获得AD日志,所述AD日志中记录有多个认证事件、以及所述多个认证事件中的每个认证事件的生成时间,其中所述每个认证事件是根据受控计算机集合中的计算机在检测时段内的认证行为生成的,所述检测时段包括多个单位时间。
确定模块1002,用于根据所述AD日志,从所述受控计算机集合中确定失陷计算机,所述失陷计算机在所述检测时段中的一个单位时间对应的特征向量属于特征向量集合中的离群点,其中,所述特征向量集合中包括多个特征向量,所述多个特征向量包括所述受控计算机集合中的每个计算机在所述检测时段中的各个单位时间分别对应的特征向量、且所述特征向量集合中的每个特征向量包括对应的计算机在单位时间内认证失败的次数、以及在单位时间内通过对应的计算机认证失败的用户的数量。
确定模块1002确定失陷计算机的详细过程请参照前面方法实施例中的描述。例如,确定模块1002采用附图2步骤210、步骤211至步骤213所描述的过程确定失陷计算机。在确定失陷计算机的过程中,确定模块1002采用步骤211所描述的过程获取特征向量集合,采用附图2步骤212、附图3或附图4所描述的过程从特征向量集合中获取异常特征向量。采用附图2步骤213、附图5、附图6、附图7或附图8所示的过程从异常特征向量对应的计算机中确定失陷计算机。在这里不再重复描述。
附图10所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。附图10中上述各个模块既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。例如,采用软件实现时,上述获取模块1001、和确定模块1002可以是由附图9中的至少一个处理器91读取存储器中存储的程序代码后,生成的软件功能模块来实现。图10中上述各个模块也可以由识别设备中的不同硬件分别实现,例如获取模块1001由附图9中的网络接口93和至少一个处理器91中的一部分处理资源(例如多核处理器中的一个核)共同实现,而确定模块92由附图9中至少一个处理器91中的其余部分处理资源(例如多核处理器中的其他核),或者采用现场可编程门阵列(Field-Programmable GateArray,FPGA)、或协处理器等可编程器件来完成。显然上述功能模块也可以采用软件硬件相结合的方式来实现,例如获取模块1001由硬件可编程器件实现,而确定模块1002是由CPU读取存储器中存储的程序代码后,生成的软件功能模块。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员将会理解,本申请的各个方面、或各个方面的可能实现方式可以被具体实施为计算机程序产品。计算机程序产品是指存储在计算机可读介质中的计算机可读程序代码。
计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质包括但不限于电子、磁性、光学、电磁、红外或半导体系统、设备或者装置,或者前述的任意适当组合。如计算机可读存储介质为随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)或便携式只读存储器(CD-ROM)。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的范围。这样,倘若本申请的这些修改和变型属于本发明权利要求的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (18)
1.一种失陷计算机的识别方法,其特征在于,包括:
获得活动目录AD日志,所述AD日志中记录有多个认证事件、以及所述多个认证事件中的每个认证事件的生成时间,其中所述每个认证事件是根据受控计算机集合中的计算机在检测时段内的认证行为生成的,所述检测时段包括多个单位时间;
根据所述AD日志,从所述受控计算机集合中确定失陷计算机,所述失陷计算机在所述检测时段中的一个单位时间对应的特征向量属于特征向量集合中的离群点,其中,所述特征向量集合中包括多个特征向量,所述多个特征向量包括所述受控计算机集合中的每个计算机在所述检测时段中的各个单位时间分别对应的特征向量、且所述特征向量集合中的每个特征向量包括对应的计算机在单位时间内认证失败的次数、以及在单位时间内通过对应的计算机认证失败的用户的数量。
2.根据权利要求1所述的识别方法,其特征在于,所述根据所述AD日志,从所述受控计算机集合中确定失陷计算机,包括:
根据所述AD日志中记录的认证事件,获取所述特征向量集合;
根据预定异常检测算法,从所述特征向量集合中确定异常特征向量;
从所述异常特征向量对应的计算机中确定失陷计算机。
3.根据权利要求2所述的识别方法,其特征在于,所述根据AD日志中记录的认证事件,获取特征向量集合,包括:
从所述受控计算机集合中选择一个计算机,对选择的计算机执行以下操作,直到处理完所述受控计算机集合的每个计算机为止,从而获得所述每个计算机在检测时段中的各个单位时间分别对应的特征向量:
针对所述检测时段中的第一单位时间,从所述AD日志中获取一个或多个目标认证事件,所述目标认证事件的生成时间属于所述第一单位时间、且所述目标认证事件中包括的作为事件源的计算机名代表的计算机为所述选择的计算机;
根据获取的一个或多个目标认证事件中的用户名和行为结果,获得第一特征向量,所述第一特征向量包括所述选择的计算机在所述第一单位时间内认证失败的次数、以及所述第一单位时间内通过所述选择的计算机认证失败的用户的数量;
以此类推,采用类似方式获得所述选择的计算机在所述检测时段中除所述第一单位时间之外的每个其他单位时间分别对应的特征向量。
4.根据权利要求2或3所述的识别方法,其特征在于,所述预定异常检测算法包括局部异常因子算法,所述根据预定异常检测算法,从所述特征向量集合中确定异常特征向量,包括:
将所述受控计算机集合中每个计算机在检测时段中的各个单位时间分别对应的特征向量输入局部离群因子LOF算法,获得所述LOF算法针对每个特征向量分别输出的对应的局部离群因子值,其中,所述局部离群因子值大于1、且与1的差值越大,指示对应的所述特征向量的异常度越高;
根据所述LOF算法针对每个特征向量分别输出的对应的局部离群因子值,从特征向量集合中选择部分特征向量从而生成目标特征向量集合,所述目标特征向量集合中的特征向量对应的局部离群因子值大于1、且大于所述特征向量集合中未被选择的特征向量对应的局部离群因子值;
从所述目标特征向量集合包含的特征向量中,确定异常特征向量。
5.根据权利要求4所述的识别方法,其特征在于,所述从所述目标特征向量集合包含的特征向量中,确定异常特征向量,包括:
从所述目标特征向量集合中选择一个特征向量,对于选择出特征向量执行以下处理,直到处理完所述目标特征向量集合中的每个特征向量为止,从而获得异常特征向量:
根据所述选择的特征向量,获取第一计算机在第二单位时间内认证失败的次数,其中所述选择的特征向量包括所述第一计算机在所述第二单位时间内认证失败的次数、以及在所述第二单位时间内通过所述第一计算机认证失败的用户数量;
判断所述第一计算机在所述第二单位时间内认证失败的次数是否属于第一平均值的N倍标准差范围内,所述第一平均值是根据所述特征向量集合中的各特征向量分别指示的认证失败次数计算出的,其中N的取值为1、2、或3;
如果所述第一计算机在所述第二单位时间内认证失败的次数不属于所述第一平均值N倍标准差范围内,则确定所述选择的特征向量为异常特征向量。
6.根据权利要求4所述的识别方法,其特征在于,所述从所述目标特征向量集合包含的特征向量中,确定异常特征向量,包括:
从所述目标特征向量集合中选择一个特征向量,对于选择出的特征向量执行以下处理,直到处理完所述目标特征向量集合中的每个特征向量为止,从而获得异常特征向量:
根据所述选择的特征向量,获取在所述第三单位时间内通过第二计算机认证失败的用户数量,其中所述选择的特征向量包括所述第二计算机在第三单位时间内认证成功的次数、以及所述第三单位时间内通过所述第二计算机认证失败的用户数量;
判断在所述第三单位时间内通过所述第二计算机认证失败的用户数量是否属于第二平均值的N倍标准差范围内,所述第二平均值是根据所述特征向量集合中的各特征向量分别指示的认证失败的用户数量计算出的,其中N的取值为1、2、或3;
如果在所述第三单位时间内通过所述第二计算机认证失败的用户数量不属于所述第二平均值N倍标准差范围内,则确定所述选择的特征向量为异常特征向量。
7.根据权利要求2至6任一所述的方法,其特征在于,所述从所述异常特征向量对应的计算机中确定失陷计算机,包括:
从所述异常特征向量中选择一个异常特征向量,其中,选择出的所述异常特征向量是第三计算机在第四单位时间对应的特征向量;
根据所述AD日志,获得第一目标用户名集合,所述第一目标用户名集合中包括在第四单位时间和/或在第四单位时间之后通过所述第三计算机认证的用户名;
从所述第一目标用户名集合中选择一个用户名,确定选择出的用户名是否为异常用户名,直到异常用户名的数量超过第一数量阈值或者处理完所述第一目标用户名集合中的每个用户名为止,所述异常用户名是基于对所述AD日志的分析,确认发起过认证行为、但认证行为从未成功过的用户名;
如果所述异常用户名的数量超过第一数量阈值,则确定所述第三计算机为失陷计算机。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
如果所述异常用户名的数量不超过第二数量阈值,则从所述异常特征向量中删除所述选择的异常特征向量。
9.根据权利要求2至6任一所述的方法,其特征在于,所述从所述异常特征向量对应的计算机中确定失陷计算机,包括:
从所述异常特征向量中选择一个异常特征向量,其中,选择出的所述异常特征向量是第四计算机在第五单位时间对应的特征向量;
根据所述AD日志,获得第二目标用户名集合,所述第二目标用户名集合中包括在第五单位时间和/或在第五单位时间之后通过所述第四计算机认证、且认证行为失败的用户名;
从所述第二目标用户名集合中选择一个用户名,确定选择出的用户名是否为被利用的用户名,直到找到一个被利用的用户名或者处理完所述第二目标用户名集合中的所有用户名为止,所述被利用的用户名是基于对所述AD日志的分析,确认通过所述受控计算机集合中除所述第四计算机之外的计算机发起过认证行为、且认证行为成功过的用户;
如果第二目标用户名集合中包括至少一个所述被利用的用户名,则确定所述第四计算机为失陷计算机。
10.根据权利要求2至6任一所述的方法,其特征在于,所述AD日志中还包括账号更改事件、密码更改事件、用户离职事件、账号重置事件中的一种或多种;
所述从所述异常特征向量对应的计算机中确定失陷计算机之前,还包括:
从所述异常特征向量中选择一个异常特征向量,其中,选择出的所述异常特征向量是所述第五计算机在第六单位时间对应的特征向量;
根据所述AD日志,获得第三目标事件集,所述第三目标事件集中包括在第六单位时间和/或在第六单位时间之后通过所述第五计算机认证、且认证行为失败的用户名;
从所述第三目标用户名集合中选择一个用户名,确定选择出的用户名是否为正常用户名,直到处理完所述第三目标用户名集合中的所有用户名为止,所述正常用户名是指基于对所述AD日志的分析,确认在所述第六单位时间之前,通过所述第五计算机发起过账号更改行为、密码更改行为、用户离职行为、或账号重置行为;
如果所述第三目标用户名集合中包括的用户名均为正常用户名,则从所述异常特征向量中删除所述选择的异常特征向量。
11.根据权利要求1至8任一所述的方法,其特征在于,每个所述特征向量还包括以下一个或多个:对应的计算机在单位时间内认证成功的次数、在单位时间内通过对应的计算机认证成功的用户的数量、在单位时间内通过所述对应的计算机进行认证的用户总数、对应单位时间的指示符。
12.根据权利要求1至11任一所述的方法,其特征在于,所述AD日志是从域控制器获取的,所述域控制器用于对所述受控计算机集合中的计算机进行管理。
13.一种失陷计算机的识别设备,其特征在于,包括:包括存储器和与所述存储器连接的至少一个处理器,所述存储器用于存储指令,所述指令被所述至少一个处理器读取后,所述识别设备执行以下操作:
获得活动目录AD日志,所述AD日志中记录有多个认证事件、以及所述多个认证事件中的每个认证事件的生成时间,其中所述每个认证事件是根据受控计算机集合中的计算机在检测时段内的认证行为生成的,所述检测时段包括多个单位时间;
根据所述AD日志,从所述受控计算机集合中确定失陷计算机,所述失陷计算机在所述检测时段中的一个单位时间对应的特征向量属于特征向量集合中的离群点,其中,所述特征向量集合中包括多个特征向量,所述多个特征向量包括所述受控计算机集合中的每个计算机在所述检测时段中的各个单位时间分别对应的特征向量、且所述特征向量集合中的每个特征向量包括对应的计算机在单位时间内认证失败的次数、以及在单位时间内通过对应的计算机认证失败的用户的数量。
14.根据权利要求13所述的识别设备,其特征在于,
所述处理器还用于根据所述AD日志中记录的认证事件,获取所述特征向量集合;
根据预定异常检测算法,从所述特征向量集合中确定异常特征向量;
从所述异常特征向量对应的计算机中确定失陷计算机。
15.根据权利要求13或14所述的识别设备,其特征在于,
所述处理器还用于从所述异常特征向量中选择一个异常特征向量,其中,选择出的所述异常特征向量是第三计算机在第四单位时间对应的特征向量;
根据所述AD日志,获得第一目标用户名集合,所述第一目标用户名集合中包括在第四单位时间和/或在第四单位时间之后通过所述第三计算机认证的用户名;
从所述第一目标用户名集合中选择一个用户名,确定选择出的用户名是否为异常用户名,直到异常用户名的数量超过第一数量阈值或者处理完所述第一目标用户名集合中的每个用户名为止,所述异常用户名是基于对所述AD日志的分析,确认发起过认证行为、但认证行为从未成功过的用户名;
如果所述异常用户名的数量超过第一数量阈值,则确定所述第三计算机为失陷计算机。
16.根据权利要求13或14所述的识别设备,其特征在于,
所述处理器还用于从所述异常特征向量中选择一个异常特征向量,其中,选择出的所述异常特征向量是第四计算机在第五单位时间对应的特征向量;
根据所述AD日志,获得第二目标用户名集合,所述第二目标用户名集合中包括在第五单位时间和/或在第五单位时间之后通过所述第四计算机认证、且认证行为失败的用户名;
从所述第二目标用户名集合中选择一个用户名,确定选择出的用户名是否为被利用的用户名,直到找到一个被利用的用户名或者处理完所述第二目标用户名集合中的所有用户名为止,所述被利用的用户名是基于对所述AD日志的分析,确认通过所述受控计算机集合中除所述第四计算机之外的计算机发起过认证行为、且认证行为成功过的用户;
如果第二目标用户名集合中包括至少一个所述被利用的用户名,则确定所述第四计算机为失陷计算机。
17.根据权利要求13或14所述的识别设备,其特征在于,所述AD日志中还包括账号更改事件、密码更改事件、用户离职事件、账号重置事件中的一种或多种;
所述处理器还用于从所述异常特征向量中选择一个异常特征向量,其中,选择出的所述异常特征向量是所述第五计算机在第六单位时间对应的特征向量;
根据所述AD日志,获得第三目标事件集,所述第三目标事件集中包括在第六单位时间和/或在第六单位时间之后通过所述第五计算机认证、且认证行为失败的用户名;
从所述第三目标用户名集合中选择一个用户名,确定选择出的用户名是否为正常用户名,直到处理完所述第三目标用户名集合中的所有用户名为止,所述正常用户名是指基于对所述AD日志的分析,确认在所述第六单位时间之前,通过所述第五计算机发起过账号更改行为、密码更改行为、用户离职行为、或账号重置行为;
如果所述第三目标用户名集合中包括的用户名均为正常用户名,则从所述异常特征向量中删除所述选择的异常特征向量。
18.一种失陷计算机的识别装置,其特征在于,包括:
获取单元,用于获得活动目录AD日志,所述AD日志中记录有多个认证事件、以及所述多个认证事件中的每个认证事件的生成时间,其中所述每个认证事件是根据受控计算机集合中的计算机在检测时段内的认证行为生成的,所述检测时段包括多个单位时间;
确定单元,用于根据所述AD日志,从所述受控计算机集合中确定失陷计算机,所述失陷计算机在所述检测时段中的一个单位时间对应的特征向量属于特征向量集合中的离群点,其中,所述特征向量集合中包括多个特征向量,所述多个特征向量包括所述受控计算机集合中的每个计算机在所述检测时段中的各个单位时间分别对应的特征向量、且所述特征向量集合中的每个特征向量包括对应的计算机在单位时间内认证失败的次数、以及在单位时间内通过对应的计算机认证失败的用户的数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010995651.4A CN114301610B (zh) | 2020-09-21 | 2020-09-21 | 失陷计算机的识别方法和失陷计算机的识别设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010995651.4A CN114301610B (zh) | 2020-09-21 | 2020-09-21 | 失陷计算机的识别方法和失陷计算机的识别设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114301610A true CN114301610A (zh) | 2022-04-08 |
CN114301610B CN114301610B (zh) | 2022-11-08 |
Family
ID=80964150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010995651.4A Active CN114301610B (zh) | 2020-09-21 | 2020-09-21 | 失陷计算机的识别方法和失陷计算机的识别设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114301610B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104780217A (zh) * | 2015-04-24 | 2015-07-15 | 福建师范大学 | 检测用户工作效率的方法、系统及客户端 |
CN106301916A (zh) * | 2016-08-16 | 2017-01-04 | 北京北信源软件股份有限公司 | 一种多网络设备统一配置方法 |
US20170185780A1 (en) * | 2014-07-31 | 2017-06-29 | Hewlett Packard Enterprise Development Lp | Secure bios password method in server computer |
CN107046550A (zh) * | 2017-06-14 | 2017-08-15 | 微梦创科网络科技(中国)有限公司 | 一种异常登录行为的检测方法及装置 |
CN109660539A (zh) * | 2018-12-20 | 2019-04-19 | 北京神州绿盟信息安全科技股份有限公司 | 失陷设备识别方法、装置、电子设备及存储介质 |
CN109711173A (zh) * | 2019-02-03 | 2019-05-03 | 北京大学 | 一种口令文件泄漏检测方法 |
CN110071896A (zh) * | 2018-01-22 | 2019-07-30 | 中兴通讯股份有限公司 | 一种基于网络通讯的身份认证方法及计算机设备 |
CN111245787A (zh) * | 2019-12-31 | 2020-06-05 | 西安交大捷普网络科技有限公司 | 一种失陷设备识别与设备失陷度评估的方法、装置 |
CN111600880A (zh) * | 2020-05-14 | 2020-08-28 | 深信服科技股份有限公司 | 异常访问行为的检测方法、系统、存储介质和终端 |
-
2020
- 2020-09-21 CN CN202010995651.4A patent/CN114301610B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170185780A1 (en) * | 2014-07-31 | 2017-06-29 | Hewlett Packard Enterprise Development Lp | Secure bios password method in server computer |
CN104780217A (zh) * | 2015-04-24 | 2015-07-15 | 福建师范大学 | 检测用户工作效率的方法、系统及客户端 |
CN106301916A (zh) * | 2016-08-16 | 2017-01-04 | 北京北信源软件股份有限公司 | 一种多网络设备统一配置方法 |
CN107046550A (zh) * | 2017-06-14 | 2017-08-15 | 微梦创科网络科技(中国)有限公司 | 一种异常登录行为的检测方法及装置 |
CN110071896A (zh) * | 2018-01-22 | 2019-07-30 | 中兴通讯股份有限公司 | 一种基于网络通讯的身份认证方法及计算机设备 |
CN109660539A (zh) * | 2018-12-20 | 2019-04-19 | 北京神州绿盟信息安全科技股份有限公司 | 失陷设备识别方法、装置、电子设备及存储介质 |
CN109711173A (zh) * | 2019-02-03 | 2019-05-03 | 北京大学 | 一种口令文件泄漏检测方法 |
CN111245787A (zh) * | 2019-12-31 | 2020-06-05 | 西安交大捷普网络科技有限公司 | 一种失陷设备识别与设备失陷度评估的方法、装置 |
CN111600880A (zh) * | 2020-05-14 | 2020-08-28 | 深信服科技股份有限公司 | 异常访问行为的检测方法、系统、存储介质和终端 |
Non-Patent Citations (1)
Title |
---|
李馥娟等: ""网络安全态势感知实训平台设计与实践"", 《实验技术与管理》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114301610B (zh) | 2022-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11658992B2 (en) | Lateral movement candidate detection in a computer network | |
CN112769796B (zh) | 一种基于端侧边缘计算的云网端协同防御方法及系统 | |
US10686829B2 (en) | Identifying changes in use of user credentials | |
US10341391B1 (en) | Network session based user behavior pattern analysis and associated anomaly detection and verification | |
US9984365B2 (en) | Device identification based on deep fingerprint inspection | |
CN106789935B (zh) | 一种终端异常检测方法 | |
US11399045B2 (en) | Detecting fraudulent logins | |
JP2016152594A (ja) | ネットワーク攻撃監視装置、ネットワーク攻撃監視方法、及びプログラム | |
US20210385253A1 (en) | Cluster detection and elimination in security environments | |
CN112714093A (zh) | 一种账号异常检测方法、装置、系统及存储介质 | |
US11949701B2 (en) | Network access anomaly detection via graph embedding | |
CN111698241B (zh) | 物联网云平台系统、验证方法和数据管理方法 | |
US20170171188A1 (en) | Non-transitory computer-readable recording medium, access monitoring method, and access monitoring apparatus | |
US20220201008A1 (en) | Multimodal modelling for systems using distance metric learning | |
CN113614718A (zh) | 异常用户会话检测器 | |
EP3794481A1 (en) | Creation and verification of behavioral baselines for the detection of cybersecurity anomalies using machine learning techniques | |
US9917858B2 (en) | Honey user | |
CN114301610B (zh) | 失陷计算机的识别方法和失陷计算机的识别设备 | |
CN112468512A (zh) | 一种基于白名单机制的企业安全防护系统及方法 | |
US11122064B2 (en) | Unauthorized authentication event detection | |
US20230379346A1 (en) | Threat detection for cloud applications | |
CN115085956A (zh) | 入侵检测方法、装置、电子设备及存储介质 | |
KR102018348B1 (ko) | 사용자 행동 분석 기반의 목표계정 탈취 감지 장치 | |
Guibene et al. | A data mining-based intrusion detection system for cyber physical power systems | |
CN111917801A (zh) | 私有云环境下基于Petri网的用户行为认证方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |