部署不当的PEAP-MSCHAP v2无线网容易被中间人劫持攻击

云舒 http://icylife.net/yunshu/show.php?id=814

企业部署无线网,一般选择WPA/WPA2标准。PEAP-MSCHAP v2 + AES(Advanced Encryption Standard)、使用AD认证是比较常见的架构之一。事实上,MSCHAP v2(Microsoft Challenge Handshake Authentication Protocol version 2)是EAP(Protected EAP)(Extensible Authentication Protocol)的具体实现,执行具体的认证工作,PEAP则是使用类似SSL的机制为认证提供传输层的安全。这里有一个好消息一个坏消息。 首先看坏消息。对称加密速度快强度也不低,但是由于加密和解密使用同一个密钥,分发密钥是一个难点,一旦遭到中间人劫持泄露了密钥整个传输都不再安全。而SSL则优美的解决了这个问题,通过RSA非对称加密,客户端通过验证证书对服务端进行检验,发现证书不匹配则断开连接,安全的传输用于给后续数据做对称加密的密钥。PEAP则是完全类似的机制,因此需要企业去购买一个证书,或者建立内部的PKI(Public Key Infrastructure) 系统,将根证书部署到每个客户端,然后自签署一份用于无线认证的证书。但是问题在于大部分企业要么没有意识到这个问题,要么不愿意为无线网购买证书,要么为了部署方便不去搭建PKI,直接在客户端设置成“不检验服务端证书”。这么做导致的严重后果是攻击者通过ARP Spoof,可以很容易的劫持整个无线通信,从认证到后面的数据传输。当然,前提是需要攻击者也接入了无线网络中。 再来看好消息。由于使用了MSCHAP认证,客户端并不会把真实密码传输到AP以及Radius,而是用hash代替,所以中间人劫持捕获不到用户的密码,即常见的AD帐号密码。这也就是挑战认证的优势所在,MySQL也是这么做的。当然,由于攻击者是知道挑战时候的那个随机数,所以拿到HASH之后可以暴力破解,这已经比不知道HASH就暴力前进了一大步了,也不能算是太好的消息。 解决办法很清楚,在客户端勾选“检验服务端证书”,服务端则部署一个证书,买的或者内部PKI自签署的均可。

评论关闭。