u8,u8国际,u8国际官方网站,u8国际网站,u8国际网址,u8国际链接,u8体育,u8体育官网,u8体育网址,u8注册,u8体育网址,u8官方网站,u8体育APP,u8体育登录,u8体育入口
(73)专利权人平安普惠企业管理有限公司地址518000广东省深圳市前海深港合作区前湾一路1号A栋201室,入驻深圳市前海商务秘书有限公司,
(74)专利代理机构深圳市明日今典知识产权代理事务所(普通合伙)44343专利代理师王杰辉熊成龙
本申请涉及信息安全领域,提供哈希传递攻击行为的检测方法、装置和计算机设备,包括,判断是否接收到客户端发送的资源访问请求,若是,生成随机数并存储,将随机数发送给客户端,接收客户端返回的加密后的随机数,向域控制器发送验证请求,接收域控制器返回的验证结果,判断验证结果是否为验证通过,若是,向客户端返回身份认证通过的第一信息,并放行客户端登录服务器的登录权限,在客户端成功登录服务器后,获取客户端的登录认证日志,对登录认证日志进行日志分析,从登录认证日志提取出指定字段,根据与指定字段信息对应的数据值,按照预设规则识别出客户端是否存在哈希传递攻击行为。本申请能准确识别出客户端是否存在哈希传递攻击行为。
若接收到所述客户端发送的资源访问请求,则生成一个指定位数的随机数,并存储所述随机数,
接收所述客户端返回的加密后的随机数,其中,所述客户端会使用预存储的密码哈希值对所述随机数进行加密,生成所述加密后的随机数,
向预设的域控制器发送验证请求,以通过所述域控制器对所述验证请求进行验证处理,并返回对应的验证结果,其中,所述验证请求携带有与所述客户端对应的客户端用户名,所述随机数以及所述加密后的随机数,
若所述验证结果为验证通过,则向所述客户端返回身份认证通过的第一信息,并放行所述客户端登录至所述服务器的登录权限,
在所述客户端成功登录至所述服务器后,获取与所述客户端对应的登录认证日志,
对所述登录认证日志进行日志分析,从所述登录认证日志中提取出指定字段,其中,所述指定字段包括事件ID字段、登录类型字段与登录进程名字段,
根据与所述指定字段对应的数据值,按照预设规则识别出所述客户端是否存在哈希传递攻击行为。
2.根据权利要求1所述的哈希传递攻击行为的检测方法,其特征在于,所述根据与所述指定字段对应的数据值,按照预设规则识别出所述客户端是否存在哈希传递攻击行为的步骤,包括,
从所述登录认证日志中获取与所述事件ID字段对应的第一数据值,并判断所述第一数据值是否为第一预设值,
若所述第一数据值为所述第一预设值,则从所述登录认证日志中获取与所述登录类型字段对应的第二数据值,
若所述第二数据值为所述第二预设值,则从所述登录认证日志中获取与所述登录进程名字段对应的第三数据值,
若所述第三数据值为所述第三预设值,则判定所述客户端存在哈希传递攻击行为,
若所述第三数据值不为所述第三预设值,则判定所述客户端不存在哈希传递攻击行为。
3.根据权利要求2所述的哈希传递攻击行为的检测方法,其特征在于,所述从所述登录认证日志中获取与所述事件ID字段对应的第一数据值,并判断所述第一数据值是否为第一预设值的步骤之后,包括,
若所述第一数据值不为所述第一预设值,则判断所述第一数据值是否为第四预设值,
若所述第一数据值为所述第四预设值,则从所述登录认证日志中获取与所述登录类型字段对应的第四数据值,
若所述第四数据值为所述第五预设值,则从所述登录认证日志中获取与所述登录进程名字段对应的第五数据值,
若所述第五数据值为所述第六预设值,则判定所述客户端存在哈希传递攻击行为,
若所述第五数据值不为所述第六预设值,则判定所述客户端不存在哈希传递攻击行为。
4.根据权利要求2所述的哈希传递攻击行为的检测方法,其特征在于,所述判断所述第二数据值是否为第二预设值的步骤之后,包括,
若所述第二数据值不为所述第二预设值,则判断所述第二数据值是否为第七预设值,
若所述第二数据值为所述第七预设值,则从所述登录认证日志中获取与所述登录进程名字段对应的第六数据值,
若所述第六数据值为所述第八预设值,则判定所述客户端存在哈希传递攻击行为,
若所述第六数据值不为所述第八预设值,则判定所述客户端不存在哈希传递攻击行为。
5.根据权利要求1所述的哈希传递攻击行为的检测方法,其特征在于,所述接收所述域控制器返回的所述验证结果,并判断所述验证结果是否为验证通过的步骤之后,包括,
6.根据权利要求1所述的哈希传递攻击行为的检测方法,其特征在于,所述根据与所述指定字段对应的数据值,按照预设规则识别出所述客户端是否存在哈希传递攻击行为的步骤之后,包括,
若所述客户端不存在哈希传递攻击行为,则获取与所述资源访问请求对应的服务数据,
7.根据权利要求1所述的哈希传递攻击行为的检测方法,其特征在于,所述根据与所述指定字段对应的数据值,按照预设规则识别出所述客户端是否存在哈希传递攻击行为的步骤之后,包括,
第一生成模块,用于若接收到所述客户端发送的资源访问请求,则生成一个指定位数的随机数,并存储所述随机数,
第一接收模块,用于接收所述客户端返回的加密后的随机数,其中,所述客户端会使用
第二发送模块,用于向预设的域控制器发送验证请求,以通过所述域控制器对所述验证请求进行验证处理,并返回对应的验证结果,其中,所述验证请求携带有与所述客户端对应的客户端用户名,所述随机数以及所述加密后的随机数,
第二判断模块,用于接收所述域控制器返回的所述验证结果,并判断所述验证结果是否为验证通过,
第一返回模块,用于若所述验证结果为验证通过,则向所述客户端返回身份认证通过的第一信息,并放行所述客户端登录至所述服务器的登录权限,
第一获取模块,用于在所述客户端成功登录至所述服务器后,获取与所述客户端对应的登录认证日志,
提取模块,用于对所述登录认证日志进行日志分析,从所述登录认证日志中提取出指定字段,其中,所述指定字段包括事件ID字段、登录类型字段与登录进程名字段,
识别模块,用于根据与所述指定字段对应的数据值,按照预设规则识别出所述客户端是否存在哈希传递攻击行为。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
[0001] 本申请涉及信息安全技术领域,具体涉及一种哈希传递攻击行为的检测方法、装置和计算机设备。
[0002] Pass‑the‑hash(哈希传递攻击)是一种技术,攻击者在获得本地管理员权限之后,通过这种技术从被入侵的工作站或服务器上的内存中捕获NT(LM)哈希。使用这些被盗用的凭据,他们可以代表受到威胁的用户打开一个新的身份验证会话,通过该身份会话实现攻击者在网络环境中的横向移动。该技术对于内部网络安全的影响较为深远,如果缺乏对该哈希传递攻击技术的检测,会造成大量工作站或服务器上的敏感数据被盗取。
[0003] 现有的检测哈希传递攻击行为的方式是依赖杀毒软件对攻击者在操作系统上使用的攻击程序及执行的系统命令进行判断。但如果攻击者使用的攻击程序进行更改替换时,杀毒软件的策略无法及时更新。另外,由于执行的系统命令可进行混淆,使得杀毒软件无法进行检测判断。因此,现有的检测哈希传递攻击行为的方式存在检测困难,且检测精度低的弊端。如何能够实现准确地检测出哈希传递攻击行为,已成为了目前亟需解决的技术问题。
[0004] 本申请的主要目的为提供一种哈希传递攻击行为的检测方法、装置、计算机设备和存储介质,旨在解决现有的检测哈希传递攻击行为的方式存在检测困难,且检测精度低的技术问题。
[0005] 本申请提出一种哈希传递攻击行为的检测方法,所述方法包括步骤,
[0007] 若接收到所述客户端发送的资源访问请求,则生成一个指定位数的随机数,并存储所述随机数,
[0009] 接收所述客户端返回的加密后的随机数,其中,所述客户端会使用预存储的密码哈希值对所述随机数进行加密,生成所述加密后的随机数,
[0010] 向预设的域控制器发送验证请求,以通过所述域控制器对所述验证请求进行验证处理,并返回对应的验证结果,其中,所述验证请求携带有与所述客户端对应的客户端用户名,所述随机数以及所述加密后的随机数,
[001 1] 接收所述域控制器返回的所述验证结果,并判断所述验证结果是否为验证通过,
[0012] 若所述验证结果为验证通过,则向所述客户端返回身份认证通过的第一信息,并放行所述客户端登录至所述服务器的登录权限,
[0013] 在所述客户端成功登录至所述服务器后,获取与所述客户端对应的登录认证日志,
[0014] 对所述登录认证日志进行日志分析,从所述登录认证日志中提取出指定字段,其中,所述指定字段包括事件ID字段、登录类型字段与登录进程名字段,
[0015] 根据与所述指定字段对应的数据值,按照预设规则识别出所述客户端是否存在哈希传递攻击行为。
[0016] 可选地,所述根据与所述指定字段对应的数据值,按照预设规则识别出所述客户端是否存在哈希传递攻击行为的步骤,包括,
[0017] 从所述登录认证日志中获取与所述事件ID字段对应的第一数据值,并判断所述第一数据值是否为第一预设值,
[0018] 若所述第一数据值为所述第一预设值,则从所述登录认证日志中获取与所述登录类型字段对应的第二数据值,
[0020] 若所述第二数据值为所述第二预设值,则从所述登录认证日志中获取与所述登录进程名字段对应的第三数据值,
[0022] 若所述第三数据值为所述第三预设值,则判定所述客户端存在哈希传递攻击行为,
[0023] 若所述第三数据值不为所述第三预设值,则判定所述客户端不存在哈希传递攻击行为。
[0024] 可选地,所述从所述登录认证日志中获取与所述事件ID字段对应的第一数据值,并判断所述第一数据值是否为第一预设值的步骤之后,包括,
[0025] 若所述第一数据值不为所述第一预设值,则判断所述第一数据值是否为第四预设值,
[0026] 若所述第一数据值为所述第四预设值,则从所述登录认证日志中获取与所述登录类型字段对应的第四数据值,
[0028] 若所述第四数据值为所述第五预设值,则从所述登录认证日志中获取与所述登录进程名字段对应的第五数据值,
[0030] 若所述第五数据值为所述第六预设值,则判定所述客户端存在哈希传递攻击行为,
[0031] 若所述第五数据值不为所述第六预设值,则判定所述客户端不存在哈希传递攻击行为。
[0032] 可选地,所述判断所述第二数据值是否为第二预设值的步骤之后,包括,
[0033] 若所述第二数据值不为所述第二预设值,则判断所述第二数据值是否为第七预设值,
[0034] 若所述第二数据值为所述第七预设值,则从所述登录认证日志中获取与所述登录进程名字段对应的第六数据值,
[0036] 若所述第六数据值为所述第八预设值,则判定所述客户端存在哈希传递攻击行
[0037] 若所述第六数据值不为所述第八预设值,则判定所述客户端不存在哈希传递攻击行为。
[0038] 可选地,所述接收所述域控制器返回的所述验证结果,并判断所述验证结果是否为验证通过的步骤之后,包括,
[0039] 若所述验证结果不为验证通过,则生成身份认证未通过的第二信息,
[0042] 可选地,所述所述根据与所述指定字段对应的数据值,按照预设规则识别出所述客户端是否存在哈希传递攻击行为的步骤之后,包括,
[0043] 若所述客户端不存在哈希传递攻击行为,则获取与所述资源访问请求对应的服务数据,
[0045] 可选地,所述根据与所述指定字段对应的数据值,按照预设规则识别出所述客户端是否存在哈希传递攻击行为的步骤之后,包括,
[0046] 若所述客户端存在哈希传递攻击行为,则限制对所述资源访问请求进行响应,
[0048] 将所述源网络IP地址字段信息作为哈希传递的攻击来源信息,以及,
[0050] 本申请还提供一种哈希传递攻击行为的检测装置,应用于服务器,包括,
[0051] 第一判断模块,用于判断是否接收到客户端发送的资源访问请求,
[0052] 第一生成模块,用于若接收到所述客户端发送的资源访问请求,则生成一个指定位数的随机数,并存储所述随机数,
[0054] 第一接收模块,用于接收所述客户端返回的加密后的随机数,其中,所述客户端会使用预存储的密码哈希值对所述随机数进行加密,生成所述加密后的随机数,
[0055] 第二发送模块,用于向预设的域控制器发送验证请求,以通过所述域控制器对所述验证请求进行验证处理,并返回对应的验证结果,其中,所述验证请求携带有与所述客户端对应的客户端用户名,所述随机数以及所述加密后的随机数,
[0056] 第二判断模块,用于接收所述域控制器返回的所述验证结果,并判断所述验证结果是否为验证通过,
[0057] 第一返回模块,用于若所述验证结果为验证通过,则向所述客户端返回身份认证通过的第一信息,并放行所述客户端登录至所述服务器的登录权限,
[0058] 第一获取模块,用于在所述客户端成功登录至所述服务器后,获取与所述客户端对应的登录认证日志,
[0059] 提取模块,用于对所述登录认证日志进行日志分析,从所述登录认证日志中提取出指定字段,其中,所述指定字段包括事件ID字段、登录类型字段与登录进程名字段,
[0060] 识别模块,用于根据与所述指定字段对应的数据值,按照预设规则识别出所述客户端是否存在哈希传递攻击行为。
[0061] 本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
[0062] 本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
[0063] 本申请中提供的哈希传递攻击行为的检测方法、装置、计算机设备和存储介质,具有以下有益效果,
[0064] 本申请中提供的哈希传递攻击行为的检测方法、装置、计算机设备和存储介质,本申请在客户端发出资源访问请求且该客户端通过了域控制器的身份认证后,并不会立即对该资源访问请求进行响应,而是会在客户端成功登陆了服务器后,通过获取与客户端对应的登录认证日志,再按照预设规则对该登录认证日志中包含的指定字段信息,即事件ID、登陆类型以及登陆进程名信息进行分析匹配,进而根据得到的分析匹配结果来实现智能、准确且快速地识别出客户端是否存在哈希传递攻击行为,有效地提高了哈希传递攻击行为的识别效率与识别准确性。
[0065] 图1是本申请一实施例的哈希传递攻击行为的检测方法的流程示意图,
[0066] 图2是本申请一实施例的哈希传递攻击行为的检测装置的结构示意图,
[0068] 本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
[0069] 应当理解,此处所描述的具体实施例仅仅用于解释本申请,并不用于限定本申请。
[0070] 本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、 “一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
[0071] 本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语) ,具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
[0072] 参照图1,本申请一实施例的哈希传递攻击行为的检测方法,包括,
[0074] S2,若接收到所述客户端发送的资源访问请求,则生成一个指定位数的随机数,并存储所述随机数,
[0076] S4,接收所述客户端返回的加密后的随机数,其中,所述客户端会使用预存储的密码哈希值对所述随机数进行加密,生成所述加密后的随机数,
[0077] S5,向预设的域控制器发送验证请求,以通过所述域控制器对所述验证请求进行验证处理,并返回对应的验证结果,其中,所述验证请求携带有与所述客户端对应的客户端用户名,所述随机数以及所述加密后的随机数,
[0078] S6,接收所述域控制器返回的所述验证结果,并判断所述验证结果是否为验证通过,
[0079] S7,若所述验证结果为验证通过,则向所述客户端返回身份认证通过的第一信息,并放行所述客户端登录至所述服务器的登录权限,
[0080] S8,在所述客户端成功登录至所述服务器后,获取与所述客户端对应的登录认证日志,
[0081] S9,对所述登录认证日志进行日志分析,从所述登录认证日志中提取出指定字段,其中,所述指定字段包括事件ID字段、登录类型字段与登录进程名字段,
[0082] S10,根据与所述指定字段对应的数据值,按照预设规则识别出所述客户端是否存在哈希传递攻击行为。
[0083] 如上述步骤S1至S10所述,本方法实施例的执行主体为一种哈希传递攻击行为的检测装置。在实际应用中,上述哈希传递攻击行为的检测装置可以通过虚拟装置,例如软件代码实现,也可以通过写入或集成有相关执行代码的实体装置实现,且可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。具体地,上述哈希传递攻击行为的检测装置可为服务器。本实施例中的哈希传递攻击行为的检测装置,能够实现智能、准确且快速地识别出客户端是否存在哈希传递攻击行为。具体地,首先判断是否接收到客户端发送的资源访问请求。其中,当客户端具有访问服务器资源的需求时,需要向服务器发送一个对应的资源访问请求,该资源访问请求中包含以明文表示的客户端用户名,以及所需的资源信息。如果接收到上述客户端发送的资源访问请求,则生成一个指定位数的随机数,并存储上述随机数。其中,对于上述指定位数不作具体限定,可根据实际需求进行设置,例如可设为16位。上述随机数被称为Challenge或者Nonce。然后将上述随机数发送给上述客户端,并接收上述客户端返回的加密后的随机数,其中,上述客户端会使用预存储的密码哈希值对上述随机数进行加密,生成上述加密后的随机数。另外,上述随机数是以明文的形式发送的。具体的,客户端存在两种身份,第一种身份是属于正常的客户端,如果客户端是正常的客户端,用户会通过输入正确的Windows帐号和密码登录客户端。在用户成功登录之前,客户端会缓存输入的密码的哈希值,即上述密码哈希值。第二种身份则是使用了Pass‑the‑hash技术的攻击者可以通过类型木马病毒的形式获得客户端的本地管理员权限,从而可以成功登录客户端,之后通过Pass‑the‑hash技术从被入侵的客户端上的内存中捕获NT(LM)哈希。通过使用这些被盗用的凭据,便可以代表受到威胁的用户打开一个新的身份验证会话,通过该身份会话实现攻击者在网络环境中的横向移动。对于攻击者而言,攻击者在接收到服务器发回的随机数后,通过对客户端进行hash dump操作,便可以获取到客户端上预存储的密码哈希值。在得到了上述加密后的随机数后,再向预设的域控制器发送验证请求,以通过上述域控制器对上述验证请求进行验证处理,并返回对应的验证结果。其中,上述验证请求携带有与上述客户端对应的客户端用户名,上述随机数以及上述加密后的随机数。具
体的,域控制器也可称为DC(域控制器) ,域控制器对上述验证请求进行验证处理的过程包括,首先根据验证请求中的客户端用户名来获取与该客户端用户名对应的指定密码哈希值,然后使用该指定密码哈希值来对上述随机数进行加密,得到对应的指定随机数,之后判断该指定随机数与上述加密后的随机数是否相同,如果两者相同,则表明客户端具有正确的密码,并生成验证通过的验证结果。而如果两者不相同,则表明客户端不具有正确的密码,并生成验证不通过的验证结果。在生成了验证结果后,域控制器会将该验证结果发回给服务器,并通过服务器最终反馈给客户端。之后接收上述域控制器返回的上述验证结果,并判断上述验证结果是否为验证通过。如果上述验证结果为验证通过,则向上述客户端返回身份认证通过的第一信息,并放行上述客户端登录至上述服务器的登录权限。在上述客户端成功登录至上述服务器后,获取与上述客户端对应的登录认证日志。其中,可以预先在客户端中部署终端日志收集器,从而通过该终端日志收集器来收集客户端的登录认证日志并传送会服务器上,以实现服务器对于与上述客户端对应的登录认证日志的获取。在得到了上述登录认证日志后,再对上述登录认证日志进行日志分析,从上述登录认证日志中提取出指定字段,其中,上述指定字段包括事件ID字段、登录类型字段与登录进程名字段。另外,在客户端通过了域控制器的身份验证后,便可使用客户端用户身份认证成功登录服务器,且会生成对应的登录认证日志,且该登录认证日志是指与本次登录至服务器所相关的日志数据。登录认证日志中至少包含有事件ID字段、登录类型字段、登录进程名字段等字段信息。通过对该登录认证日志进行日志分析,便可获得所需的字段信息。最后根据与上述指定字段对应的数据值,按照预设规则识别出上述客户端是否存在哈希传递攻击行为。其中,事件ID字段对应EventID字段,登录类型字段对应LogonType字段,登录进程名字段对应LogonProcessName字段。具体的,根据与上述指定字段对应的数据值,按照预设规则识别出上述客户端是否存在哈希传递攻击行为的识别过程可包括,通过对与客户端对应的登录认证日志中包含的事件ID字段对应的数据值、登录类型字段对应的数据值以及登录进程名字段对应的数据值进行匹配分析处理,只有当在上述登录认证日志中出现以下三种情况中的任意一种情况时,才会判定客户端存在哈希传递攻击行为。第一种情况,同时满足EventID 字段对应的数据值为成功登录账户事件所对应的数值,LogonType字段对应的数据值为网络登录类型所对应的数值,LogonProcessName字段对应的数据值为使用Ntlm协议进行身份验证所对应的值,第二种情况,同时满足EventID字段对应的数据值为成功登录账户事件所对应的数值,LogonType字段对应的数据值为NewCredential登录类型所对应的数值,LogonProcessName字段对应的数据值为使用seclogo进行身份验证所对应的值,第三种情况,同时满足EventID字段对应的数据值为账户无法登录事件所对应的数值,LogonType字段对应的数据值为网络登录类型所对应的数值,LogonProcessName字段对应的数据值为使用Ntlm协议进行身份验证所对应的值。而如果上述登录认证日志中没有出现三种情况中的任意一种情况时。则会判定客户端不存在哈希传递攻击行为。在实际应用中,具体的,EventID字段对应的数据值为4624表示成功登录账户事件,EventID字段对应的数据值为4625表示账户无法登录事件,LogonType字段对应的数据值为3表示网络登录类型,LogonType字段对应的数据值为9表示NewCredential登录类型,LogonProcessName字段对应的数据值为NtlmSsp表示使用Ntlm协议进行身份验证,LogonProcessName字段对应的数据值为seclogo表示使用seclogo进行身份验证。本实施例在客户端发出资源访问请求且该