浅析kerbraos协议的攻击_第1页
浅析kerbraos协议的攻击_第2页
浅析kerbraos协议的攻击_第3页
浅析kerbraos协议的攻击_第4页
浅析kerbraos协议的攻击_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浅析kerbraos协议的攻击

kerberos协议。1kerberos协议介绍1.1认证协议的格式Kerberos协议是为TCP/IP网络设计的可信第三方认证协议,它使用对称加密来对不安全网络进行认证,它是当今最重要的实用认证协议。Kerberos协议包括两种服务器:一个认证服务器,一个或多个票据许可服务器(TGS)。它的工作过程如图1所示。从图1可以看到,Kerberos协议主要由6个步骤组成,这里使用M来表示传输的消息,M1表示第一步传输的消息,M2表示第二步传输的消息,如此类推,每个步骤中KerberosV5的传递消息格式如下:这里,Kerberos发送的票据格式为:T1.2攻击系统的安全虽然,Kerberos协议除了提供身份认证外,还能用于数据的完整性和保密性。但是它还是有缺陷的,从攻击的角度来看,大致有以下几个方面:(1)重放攻击的问题;(2)口令猜测攻击;(3)时钟同步问题;(4)系统程序的安全性、完整性问题;(5)密钥的存储问题。由上面所描述的Kerberos缺陷与局限性来看,(2)、(4)和(5)这3个问题都是威胁口令和密钥的安全,攻击者可以通过收集信息、使用恶意软件、攻击数据库等手段来获取口令,(1)和(3)都是由系统的时钟问题所引起的,而且这两个问题都会导致攻击者成功地进行重放攻击,所以说Kerberos协议最主要的攻击可归结为:口令攻击和重放攻击。2已使用c0系统的攻击:kerberosv为了使我们对攻击的分析更加具体化和实用化,在这一节中,将用实例来分析对Kerberos最主要的两类攻击:口令攻击和重放攻击。由于Windows2000系统的广泛应用,而且Windows2000系统中专门设有Kerberos服务,特别具有代表性,因此我们选择在Windows2000系统下对KerberosV5的攻击为例。在分析之前,首先需要对攻击的前提和环境进行假设。2.1pc服务器使用前提1请求认证的受害者使用Windows2000Professional工作站。前提2KDC使用Windows2000服务器。前提3攻击者能够监听受害者和KDC之间的通信。2.2者都在同一逻辑网段,相同的另一个网段同时,网络是变换网络,受害者和攻击者都在同样的逻辑网段,而两种服务器在另外一个网段。服务器使用Kerberos的基本配置,而且网络层不进行加密。2.3基于两种攻击方式的分析从Kerberos传递的消息M1,可以看到这个消息中的c和tgs都是以明文形式传递的,这使得由用户口令得到的K在进行口令攻击分析之前,先来看看padata的结构,这个padata数据在加密之前是使用ASCII编码的,而且它的语法是YYYYMMDDHHMMSSZ,如果攻击者可以监听到受害者和KDC之间的通信,就很容易使用字典攻击或者蛮力攻击得到一个有用的口令,而且这个口令的正确性可以通过计算checksum来得到验证。以下将详细分析这种攻击的过程,一种攻击的过程如下:(1)攻击者对受害者进行ARP欺骗,而且对网络的混杂模式进行监听。(2)使用ethereal工具来捕获数据包,因为ethereal可以成功截获使用ASN.1编码的Kerberos数据包。首先分析Kerberos消息M1数据包的形式与结构,RFC1510详细说明了Kerberos消息M1的精确格式。(3)使用ethereal解密这个截获的Kerberos的数据包,对消息M1进行解密(解密的具体形式见文献[3]),得到Type和Value对,这里Value还是ASN.1编码的,因为ethereal还不能够把预认证数据padata完全解码。(4)使用HEXtoASN.1Decoder工具对这个Value进行解码,其中可以得到一个Integer值为23,可以知道这个值为23的Integer定义的是RC4-HMAC加密类型,这样我们同样可以解密时间戳。现在,padata已经被完全解码了,就可以使用前面介绍的字典攻击或者蛮力攻击的方法来得到用户的口令了。可见,如果在我们的攻击前提和环境的假设下,口令攻击是很容易实现的,而且当攻击者获取了合法用户的口令之后,就能够轻松地冒充合法用户欺骗KDC获取合法票据来请求应用服务器进行非法服务,这将会给用户带来严重的损失。2.4smb协议攻击的实现过程这里仍然以2.1和2.2节中的环境和前提假设下实现的重放攻击为例,具体介绍这种攻击的实现过程,而且主要以SMB(ServerMessageBlock)协议来进行分析。2.4.1kerberos协议SMB(ServerMessageBlock)服务器信息块通信协议主要是作为Microsoft网络的通信协议,SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。当客户需要请求一台SMB服务器的服务的时候,也就是说在Kerberos协议中的消息M5,需要把加密的鉴别码和从TGS收到的票据发送给SMB服务器进行验证的时候,要进行如图2所示的操作。由图可知,客户首先向服务器发送协商请求NegotiateProtocolRequest,之后服务器给客户发送响应应答NegotiateProtocolResponse,接着客户给服务器发送SessionSetupAndXRequest,这个请求也就是客户的认证请求,这个消息包含一个安全blob,这个安全blob是由{A2.4.2贸易信号治理攻击的方法在具体介绍这种重放攻击前,首先需要添加一个前提和一个环境假设。前提4攻击者能够暗中破坏受害者与文件服务器的通信,实现中间人攻击。假设4Windows2000ServerSP3(与受害者进行连接的SMB服务器)。在我们的环境和前提假设得到满足的情况下,一种攻击的过程如下:(1)利用文献[4]提供的工具Smb_catchblob可以使得攻击者成为受害者和服务器中间代理,当受害者向服务器发送NegotiateProtocolRequest的时候,攻击者只需要把消息重放给服务器,同样的,攻击者把服务器给受害者的请求响应重放给受害者;(2)攻击者截获受害者向文件服务器发送的SessionSetupAndX包;(3)攻击者从这个SessionSetupAndX包中获得安全blob;(4)在服务器发现SessionSetupAndX包之前断开双方连接,这时,受害者会收到一个服务器不可用的消息,而服务器却不知道用户已经发送过SessionSetupAndX包;(5)此时安全blob的内容就会写入blob.txt中,攻击者也就得到了受害者的有效票据,他们并不知道这个票据是哪个受害者的,因为与受害者有关的信息都是用服务器的密钥加密的,所以要解开这个票据就要依靠先前消息(如初始口令)的有效攻击;(6)在文献[4]中还使用了一种改进的smbclient工具来读取捕获的安全blob,还可以替代blob.txt文件,使得认证票据的生命期变得没有限制了,而且在Kerberos中认证票据是可以重复使用的,这样就可以进行重放攻击了。实际上,无论是系统误差还是计时误差,都可能使时钟失步,若发生时钟失步,所有依赖于同步时钟的协议都可能遭到攻击。这都说明了Kerberos自身存在的缺陷,使得重放攻击很容易实现。3对kerberos协议的改进由于Kerberos协议中最主要的两种攻击都是很容易实现的,而且对受害者的损失很大,因此无数的研究者提出了各种方法对Kerberos协议进行改进。我们对这些对策和改进方法作了具体分析和总结,可以分为两大类:对协议本身(包括体制和算法)的改进和对于协议实施设备的改进,而且对这些方法进行了全面的分析和对比。3.1密码攻击的对策3.1.1改进的aliece算法Kerberos对密钥的加密算法采用对称加密算法,一般采用DES算法,可以引入非对称加密算法和机制来克服以上缺陷。对Kerberos密码算法最大的改进就是把公钥体制加入到Kerberos协议中这里,PrvK利用非对称加密算法,密钥不再像传统的对称加密算法那样是由口令生成的,这时其公开密钥和私有密钥都由一个随机数序列生成,密钥做到了真正的私有,“字典式进攻”对之无效,而且公开密钥加密算法支持数字签名。为了在Kerberos协议中集成公钥体制,解决因对称算法带来的局限性,文献[7]提出了Yaksha公钥密码算法优化Kerberos系统。Yaksha算法是RSA公钥密码算法的一种变形。这种认证方法克服了Kerberos的某些缺陷,联网时不使用口令,提高了安全性。为了使修正后的协议既要对原协议改动不大,又不能带来安全性的降低。文献[8]提出的基于ElGamal的Yaksha系统是对原有Yaksha的补充和发展。但是由于公钥加密体制相对于对称加密体制而言,运算复杂性大大增加,加密和解密需要消耗更多的系统资源,降低了加密和解密速度,还要付出加大系统开销的代价。于是,为了提高计算的速度,有学者引入McEliece加密体制来改进Kerberos协议,因为McEliece加密体制加密、解密速度快,较RSA快2~3个数量级;它的明文空间到密文空间有数据扩展,密文比明文长2倍,这种机制可有效地提高安全性。但是,McEliece加密体制的缺点是公钥体积过大,会占用认证服务器很大的存储空间。然而,由于公钥加密方法是通过公钥算法加密来实现用户认证的,还是具有安全漏洞的。因此又有学者创造性地将基于椭圆曲线的零知识证明方法引入Kerberos系统,提出了串行和并行协议。使用零知识证明,将不泄露一点“有用”信息,使攻击者无机可乘;而且不使用共享密钥,KDC不再掌握“秘密”,既减轻了KDC的压力,又能抵挡离线字典攻击,但是实现起来相对复杂一些。3.1.2对加密设备的改进以上介绍的改进主要是针对密码算法的改进,但是我们前面也提到了攻击者有可能对加密设备进行攻击,或者利用恶意软件进行攻击,所以很多研究者把对Kerberos的改进放在对硬件设备的改进上3.2释放攻击的对策3.2.1时间同步认证对于重放攻击的问题,通常的做法是在Kerberos引入序列号循环机制,即由用户自己产生的一次性使用的随机数来代替时间戳,以解决时间同步问题,即协议不需要同步时钟,只是采用异步认证方式,再结合系统原有的生存期控制,将有效地保证一定的时间段里只能存在唯一的合法消息,从而消除了重放的可能性。3.2.2虚拟时钟同步另外,有的学者提出了同步时钟算法,实现了整个认证系统内的“虚拟时钟同步”,而不真正调整机器时钟,以达到既能使所有认证进程间达到同步,又不使协议过于复杂的目的,同时又是安全的。4对ros协议的改进方案的总结本文主要分析了Kerberos协议的两种最重要的攻击:口令攻击和重放攻击(归纳见表1),而且以Windows2000下Kerberos系统中的口令攻击和重放攻击为例,具体分析了这两种攻击的实现过程,证明了这两种攻击在Kerberos系统中是很容易实现的,而且给用户带来了很大的损失。同时,本文还对各种Kerberos的改进方案进行了全面的总结和归纳,这些改进方案虽然都有它们的优点,完善了Kerberos系统,但是都

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论