防SSLtrip攻击是在很多信息安全监管机构纷纷发文要求进一步推进等级保护安全整改、建设工作的情况下,他们对SSLtrip进行研究后而形成的一种有效的解决方案,用以防止SSLtrip造成的危害。
SSLtrip的工作原理
1. 首先SSLtrip的攻击者需要开启自己的路由转发功能;
2. 然后它向网络中广播ARP数据包进行ARP欺骗,冒充路由或者网关的MAC地址。这样所有网络中的数据都会从这个攻击者处经过;
3. 对经过它的所有http数据中的https连接进行替换,同时记录下来哪些连接被替换掉了;
4. 攻击者与客户端计算机通过http的方式建立连接。这个链接会被重定向到攻击者的另一个端口上;
5. 攻击者再冒充客户端与真正的服务器建立https连接;
6. 这样客户端与服务器之间的所有数据连接都被攻击者透明的进行了代理转发,对于客户端而言它是服务器,对于服务器而言它是客户端。
下图显示了都有哪些https的连接在ssltrip的攻击中位替换成了普通的http连接。
7. 为了欺骗客户端的使用者,所有的浏览器中的图标都会被替换成https的图标;
8. 这时候客户端所提交的用户名、密码都是明文形式发送到ssltrip攻击者的计算机上的。攻击者就在客户端毫不知情的情况下窃取到了客户端的私密信息。
下图中黑色掩盖的部分就是被窃取到的机密信息:
攻击工具介绍
1. 版本 0.2
2. 运行环境 Linux
3. 需要开启系统路由转发功能
4. 需要开启防火墙端口重定向功能
防御措施
措施一:由于攻击更多的发生在客户端的网络中,因此在客户机上安装ARP防火墙进行网关MAC地址绑定能够有效的防止由于arp欺骗所产生的ssltrip攻击。
推荐的软件:由于安全卫士360安全比较广泛,因此推荐启用其中的arp防火墙功能。如果没有安装,目前国内外各类防病毒软件也都有相关功能。
措施二:为了防止通过虚假的图标信息来欺骗浏览器的使用者,因此建议在IE浏览器中启用如下几项功能。
在firefox中启动如下几项功能:
1. 搭建合法的CA服务器或者使用公网的可信CA服务器颁发有效的SSL证书;
2. 检查现有ssl服务器中的证书是否有效、是否绑定正确的域名、是否过期等;
3. 在有条件的情况下,启用SSL的双向认证功能,即对服务器也对客户端进行认证增加SSLtrip攻击的难度;
4. 在网络的交换机上启用arp泛洪检测功能,对于大量发送ARP广播包的计算机及时进行安全隔离。对于比较固定的网络在交换机上进行Mac地址和IP地址的绑定;
5. 在防火墙上开启http连接数量限制,对短时间内产生大量http连接的机器自动进行短时拒绝;
6. 在网络中通过抓包软件人工分析是否存在不合理的Arp流量存在;
7. 由于该攻击工具目前还只能够运行在Linux系统上,需要对网络中的Linux系统进行重点排查。检查内容包括:是否有大量的非正常数据包和连接存在,是否启用了路由转发功能,防火墙上是否存在端口重定向的规则。
注意
目前还存在着另一款与其类似的工具,该工具能够窃听用户机密信息,也需要重点关注。该工具的名字叫做SSLsniffer。
SSLtrip攻击是比较罕见的网络攻击手段,希望广大读者能够特别注意,防止和避免此类攻击的发生。
【编辑推荐】