其实SSL中间人攻击和绝大部分黑客采用的攻击手段一致、在概念上为了便于理解,可以简单理解成SSL+中间人攻击。
中间人攻击相信大家都不陌生,简称MITM攻击。是一种间接攻击方式、需要通过一些入侵手段将被入侵者控制的一台计算机虚拟“放置在”两台计算机之间、则这台计算机就被称为“中间人”。
从而实现SMB会话劫持、DNS欺骗等。通过拦截正常的信息数据、再进行数据篡改。而信息端口的双方确浑然不觉。
在HTTPS(基于SSL/TLS协议的HTTP安全版本)通信中,这种攻击尤其危险,因为它可以破坏原本由SSL/TLS提供的数据加密和完整性保护
攻击流程大致如下:
1、伪装身份:
攻击者首先需要让客户端信任自己,通常做法是欺骗客户端接受一个伪造的SSL证书,该证书看起来像是从合法的证书颁发机构(CA)签发的。
2、监听并解密通信:
当客户端与服务器建立连接时,攻击者截获客户端发出的请求,并用自己的伪造证书替换服务器的真实证书。
客户端由于误信了伪造证书,会使用攻击者的公钥进行加密通信。
攻击者收到加密信息后,利用其掌握的私钥解密内容,查看或篡改其中的数据。
3、篡改转发数据:
中间人再用服务器真实的公钥重新加密数据,将修改过或者未修改的内容发送给服务器。
同样地,对于服务器回传的信息,攻击者也会先解密然后重新加密,确保在整个过程中客户端和服务器都认为他们在直接通信,但实际上所有数据都经过了攻击者的中介。
防患方法:
1、验证数字证书:
客户端应当检查服务器提供的SSL证书是否由受信任的CA签名,并且域名匹配正确。
启用证书吊销列表检查:
确保客户端能够识别已被撤销的证书。
2、实施SSL Pinning:
在应用程序中固定特定服务器的证书哈希值,使得只有预先知道的合法证书才能被接受。
3、使用最新的加密算法和协议:
使用最新的加密算法和协议,避免使用已知存在漏洞的算法和协议。
4、定期更新证书:
定期更新证书,避免出现过期证书导致的安全隐患。