针对NTLM协议攻击的基线检查和加固的方法及系统与流程

文档序号:27931622发布日期:2021-12-11 12:17阅读:429来源:国知局
针对NTLM协议攻击的基线检查和加固的方法及系统与流程
针对ntlm协议攻击的基线检查和加固的方法及系统
技术领域
1.本发明属于基线检查和加固领域,具体涉及针对ntlm协议攻击的基线检查和加固的方法及系统。


背景技术:

2.ntlm协议是一种内嵌的身份认证协议,它内嵌于一些网络协议如:ldap、smb、http或webadv中,由ntlm安全支持提供程序(ntlm security support provider,ntlmssp)支持。
3.如果攻击者能够监听网络流量,将ntlm认证的流量转发到其他主机,就能实现ntlm中继。实现ntlm中继要求攻击者能够收到来自其他主机的ntlm认证请求,攻击者将挑战消息转发给拥有凭据的其他主机完成身份认证。
4.如果能够使强制使某个主机发出ntlm身份认证请求,然后使用该主机挑战消息中的challenge反射回该主机请求身份认证,则可以实现对于本机的ntlm中继攻击,这种攻击也被成为反射攻击。为了保证消息的新鲜性和认证消息的安全,ntlm协议提供了签名来保证协议的安全。默认情况下smb协议是要求开启签名的,而http、ldap和webadv协议是默认不开启签名的。目前的技术已经可以在24小时内通过netntlmv1有效破解ntlm hash,ntlmv1的安全性较低,因此如果条件允许应默认使用ntlmv2进行身份认证。网络自动发现代理(web proxy auto

discovery,wpad)劫持是攻击者经常利用的一种技术。wpad通过让浏览器自动发现代理服务器,查找存放pac文件配置网络代理。之后利用llmnr/nbns欺骗使受害者获取恶意pac文件,恶意pac文件会指定攻击者的服务器为代理服务器,使攻击者能够劫持通过该服务器的http流量,攻击者可以要求受害主机进行ntlm 身份认证获得用户的net

ntlm hash。当浏览器设置为“自动检测代理设置”的情况下,它就会自动下载pac文件。ie浏览器internet zone配置不当时浏览器会自动发送用户的账户名和密码进行身份认证:如果policy是urlpolicy_credentials_silent_logon_ok,ie会自动发送hash。如果policy是urlpolicy_credentials_must_prompt_user,那么只有internet zone的值为0、1、2的时候才会自动发送hash。nbns和llmnr 用于分别使用广播和多播实现windows系统中的名称解析工作。
5.当windows系统在查询dns缓存和dns服务器解析失败后,会使用llmnr或nbns协议在局域网内广播查询域名信息并发送ntlm认证请求。如用户访问不存在的smb共享时,就会通过nbns或llmnr寻找smb共享的地址并发送ntlm身份认证。监听该网段请求的攻击者将拦截此请求并进行nbns投毒,使得请求者认为攻击者的地址就是所请求的smb共享地址。之后请求者将向攻击者的地址发送 net

ntlm hash或明文凭据。基于这些ntlm协议攻击背景,本文设计了针对ntlm协议的基线检查和加固工具。


技术实现要素:

6.本发明针对背景技术中所指出的技术问题,提供了针对ntlm协议攻击的基线检查
和加固的方法及系统,分别从lsass缓存、smb签名、ldap签名、ntlm级别、wpad自动检测代理、internet zone登录策略和nbns策略检查对ntlm协议相关的安全基线检查并进行加固。
7.为了解决技术问题,本发明的技术方案是:针对ntlm协议攻击的基线检查和加固方法,所述方法包括:调取注册表中与ntlm协议安全相关的项;基于所述安全相关的项,判断抵御ntlm协议攻击的各安全基线是否合规;选择不合规的安全基线;对不合规的安全基线进行安全加固。
8.其中:在windows系统中,系统通过注册表实现对系统安全策略的配置。ntlm是windows系统中常用的一种身份认证协议,但是针对ntlm的攻击方式多种多样,尤其是ntlm协议的中继攻击种类繁多。本方法应用于windows操作系统,抵御和缓解ntlm协议的攻击。
9.首先通过分析ntlm协议攻击的特点和ntlm协议的薄弱部分,设计了ntlm协议安全的基线检查项,然后通过读取注册表的方式,根据所设置的基线检查项检测当前windows系统的ntlm协议策略配置是否安全,如果包含不安全的检查项,则通过修改注册表的方式修改ntlm协议的配置,加强系统对ntlm协议攻击的防御力。
10.进一步,所述安全相关的项包括:发起ntlm请求项、ntlm协议级别项、ntlm协议签名项和ntlm所嵌入的协议安全项。
11.进一步,所述对不合规的安全基线进行安全加固后,所述方法还包括:对所述安全基线的检查结果进行打印;对所述不合规的安全基线的加固结果进行打印。
12.进一步,所述对不合规的安全基线进行安全加固,具体包括:对不合规的安全基线,通过修改注册表项的方法,分别从lsass缓存、smb签名、ldap签名、ntlm级别、wpad自动检测代理、internet zone登录策略和nbns策略检查七个方面检查windows的注册表配置情况并进行安全加固。
13.进一步,通过lsass缓存策略抵抗ntlm反射攻击,当攻击者获取主机a的ntlm数据包后,如果在缓存时间内,如果将所述ntlm数据包发送回所述主机a,系统会检测数据包中的challenge与缓存中的challenge,若相同则会拒绝数据包。
14.进一步,通过签名策略防止smb和ldap协议中的ntlm中继攻击,设置签名策略后所述smb和ldap协议中数据包会使用签名加密,攻击者无法通过捕获流量查看数据包内容或进行中继。
15.进一步,设置ntlm协议级别,所述设置ntlm协议级别用于防止低级别的ntlm破解攻击;当系统在进行ntlm身份认证时,强制使用ntlmv2协议。如果攻击者捕获了协议认证过程的数据包,ntlmv2协议相比ntlmv1协议在暴力破解难度上大大提示,使得攻击者无法ntlm流量破解获取ntlm hash。
16.进一步,通过配置wpad代理设置抵抗wpad中的ntlm中继攻击,在关闭wpad代理的自动发现代理后,浏览器不会通过自动获取代理配置文件配置网络代理,用于防止攻击者通过投放恶意配置文件劫持ntlm代理。
17.进一步,通过防止浏览器自动发送凭据抵御http协议的ntlm中继攻击,在配置后浏览器不会在浏览网页时不会未经用户授权自动发送ntlm凭据到访问的目标地址。
18.进一步,通过关闭nbns协议防止nbns协议中的ntlm中继攻击,nbns协议会在整个网段内进行广播发送ntlm请求包尝试进行身份认证,如果攻击者控制网段内任意主机则可实现ntlm中继,关闭nbns协议可以抵御这种攻击。
19.与现有技术相比,本发明的优点在于:本发明针对ntlm协议攻击的基线检查和加固的方法及系统,1.通过lsass缓存策略在一定程度上抵抗ntlm反射攻击,当攻击者获取主机a的ntlm数据包后,如果在缓存时间内如果将ntlm数据包发送回主机a,系统会检测数据包中的的challenge与缓存中的challenge相同则会拒绝数据包。
20.2.通过签名策略防止smb和ldap协议中的ntlm中继攻击,设置签名策略后smb和ldap协议中数据包会使用签名加密,攻击者无法通过捕获流量查看数据包内容或进行中继。
21.3.通过设置ntlm协议级别防止低级别的ntlm破解攻击,设置后系统在进行ntlm身份认证时,会强制使用ntlmv2协议,如果攻击者捕获了协议认证过程的数据包,ntlmv2相比ntlmv1在暴力破解难度上大大提示,使得攻击者无法ntlm流量破解获取ntlm hash。
22.4.通过配置wpad代理设置抵抗wpad中的ntlm中继攻击,在关闭wpad代理的自动发现代理后,浏览器不会通过自动获取代理配置文件配置网络代理,防止攻击者通过投放恶意配置文件劫持ntlm代理。
23.5.通过防止浏览器自动发送凭据抵御http协议的ntlm中继攻击,在配置后浏览器不会在浏览网页时不会未经用户授权自动发送ntlm凭据到访问的目标地址。
24.6.通过关闭nbns协议防止nbns协议中的ntlm中继攻击,nbns协议会在整个网段内进行广播发送ntlm请求包尝试进行身份认证,如果攻击者控制网段内任意主机则可实现ntlm中继,关闭nbns协议可以抵御这种攻击。
附图说明
25.图1、本发明针对ntlm协议攻击的基线检查和加固的方法及系统的总体流程图。
具体实施方式
26.下面结合实施例描述本发明具体实施方式:需要说明的是,本说明书所示意的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。
27.同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
28.实施例一:如图1所示,针对ntlm协议攻击的基线检查和加固的方法及系统,所述方法包括:调取注册表中与ntlm协议安全相关的项;基于所述安全相关的项,判断抵御ntlm协议攻击的各安全基线是否合规;选择不合规的安全基线;
对不合规的安全基线进行安全加固。
29.其中:在windows系统中,系统通过注册表实现对系统安全策略的配置。ntlm是windows系统中常用的一种身份认证协议,但是针对ntlm的攻击方式多种多样,尤其是ntlm协议的中继攻击种类繁多。本方法应用于windows操作系统,抵御和缓解ntlm协议的攻击。
30.首先通过分析ntlm协议攻击的特点和ntlm协议的薄弱部分,设计了ntlm协议安全的基线检查项,然后通过读取注册表的方式,根据所设置的基线检查项检测当前windows系统的ntlm协议策略配置是否安全,如果包含不安全的检查项,则通过修改注册表的方式修改ntlm协议的配置,加强系统对ntlm协议攻击的防御力。
31.进一步,所述安全相关的项包括:发起ntlm请求项、ntlm协议级别项、ntlm协议签名项和ntlm所嵌入的协议安全项。
32.进一步,所述对不合规的安全基线进行安全加固后,所述方法还包括:对所述安全基线的检查结果进行打印;对所述不合规的安全基线的加固结果进行打印。
33.进一步,所述对不合规的安全基线进行安全加固,具体包括:对不合规的安全基线,通过修改注册表项的方法,分别从lsass缓存、smb签名、ldap签名、ntlm级别、wpad自动检测代理、internet zone登录策略和nbns策略检查七个方面检查windows的注册表配置情况并进行安全加固。
34.进一步,通过lsass缓存策略抵抗ntlm反射攻击,当攻击者获取主机a的ntlm数据包后,如果在缓存时间内,如果将所述ntlm数据包发送回所述主机a,系统会检测数据包中的challenge与缓存中的challenge,若相同则会拒绝数据包。
35.进一步,通过签名策略防止smb和ldap协议中的ntlm中继攻击,设置签名策略后所述smb和ldap协议中数据包会使用签名加密,攻击者无法通过捕获流量查看数据包内容或进行中继。
36.进一步,设置ntlm协议级别,所述设置ntlm协议级别用于防止低级别的ntlm破解攻击;当系统在进行ntlm身份认证时,强制使用ntlmv2协议。如果攻击者捕获了协议认证过程的数据包,ntlmv2协议相比ntlmv1协议在暴力破解难度上大大提示,使得攻击者无法ntlm流量破解获取ntlm hash。
37.进一步,通过配置wpad代理设置抵抗wpad中的ntlm中继攻击,在关闭wpad代理的自动发现代理后,浏览器不会通过自动获取代理配置文件配置网络代理,用于防止攻击者通过投放恶意配置文件劫持ntlm代理。
38.进一步,通过防止浏览器自动发送凭据抵御http协议的ntlm中继攻击,在配置后浏览器不会在浏览网页时不会未经用户授权自动发送ntlm凭据到访问的目标地址。
39.进一步,通过关闭nbns协议防止nbns协议中的ntlm中继攻击,nbns协议会在整个网段内进行广播发送ntlm请求包尝试进行身份认证,如果攻击者控制网段内任意主机则可实现ntlm中继,关闭nbns协议可以抵御这种攻击。
40.实施例二:本实施例二应用于实施例一中所述的针对ntlm协议攻击的基线检查和加固的方法及系统,本方法涉及的基线检查项含义和具体配置如下:注册表项hklm\system\currentcontrolset\control\lsa的键
disableloopbackcheck用于指示系统是否使用lsass缓存challenge防止反射攻击。
41.smb服务是否开启签名设置,注册表项:hklm\system\currentcontrolset\services\lanmanserver\parameters中的enablesecuritysignature和requiresecuritysignature键,可以有效防止smb协议中的ntlm协议中继攻击。
42.ldap服务器是否开启签名,注册表项:hkey_local_machine\system\currentcontrolset\services\ntds\parametershive中的ldapserverintegrity控制ldap签名策略。对于客户端,注册表项hkey_local_machine\system\currentcontrolset\services\ldap中的ldapserverintegrity用于控制ldap签名策略,设置ldap签名能有效抵抗ldap协议中的ntlm中继攻击。
43.注册表项:hklm\system\currentcontrolset\control\lsa\lmcompatibilitylevel可以设置ntlm身份认证的级别,低级别的ntlm协议安全性差,容易被攻击和破解。
44.注册表:\hkey_current_user\software\microsoft\windows\currentversion\internetsettings\connections中的defaultconnection控制系统浏览器代理的配置,控制浏览器是否自动配置代理。关闭自动配置代理能够防止计算机连接攻击者控制的恶意wpad代理。
45.注册表:hkey_current_user\software\microsoft\windows\currentversion\internetsettings\zones\中有5个子项0、1、2、3、4,5个子项分别控制不同的安全级别下internetzone的配置,通过设置该项能够防止在使用浏览器时浏览器自动发送用户名和密码进行ntlm身份认证,防止ntlm中继和重放攻击。
46.注册表中:hklm\system\currentcontrolset\services\netbt\parameters\interfaces\tcpip

{网络适配器guid}中的值netbiosoptions控制网络适配器是否开启nbns协议。
47.可以理解:在windows系统中,系统通过注册表实现对系统安全策略的配置。ntlm是windows系统中常用的一种身份认证协议,但是针对ntlm的攻击方式多种多样,尤其是ntlm协议的中继攻击种类繁多。本方法应用于windows操作系统,抵御和缓解ntlm协议的攻击。
48.首先通过分析ntlm协议攻击的特点和ntlm协议的薄弱部分,设计了ntlm协议安全的基线检查项,然后通过读取注册表的方式,根据所设置的基线检查项检测当前windows系统的ntlm协议策略配置是否安全,如果包含不安全的检查项,则通过修改注册表的方式修改ntlm协议的配置,加强系统对ntlm协议攻击的防御力。
49.上面对本发明优选实施方式作了详细说明,但是本发明不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
50.不脱离本发明的构思和范围可以做出许多其他改变和改型。应当理解,本发明不
限于特定的实施方式,本发明的范围由所附权利要求限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1