据黑帽安全大会上展示的研究成果显示,SSL VPN可能会遭到某种方式的攻击,让攻击者得以控制远程用户的机器;还有可能会在连接上去的网络里面从事破坏活动。
Intrepidus集团的高级顾问Michael Zusman表示,这个问题可能存在于SSL VPN会话一开始、就把自己安装在远程机器上的Web客户软件上。(DNS漏洞发现者Dan Kaminsky也在黑帽安全大会上作了发言,谈到了如何可以通过DNS攻击避开用来证实网站有效性的SSL证书)。
Zusman表示,他的研究成果并不适用于永久性安装在机器上(作为计算机的标准软件组合当中一部分)的SSL VPN客户软件。
不过,Zusman提到的所谓的Web客户软件的几个组件会导致这种客户软件受到攻击。这种客户软件由SSL VPN网关下载到远程机器上,里面含有Active X组件。有些厂商还提供了一项功能,让客户软件能够在远程机器上启动整套应用程序的客户软件。
所以,比方说,如果远程用户想访问公司的某个会计应用程序,他们只要点击VPN门户上列出来的那个应用程序。然后,VPN客户软件就会启动会计应用程序的客户软件,那样用户不必手工启动该客户软件,从而简化了这个过程。
Zusman表示,危险在于Web客户软件依赖充当应用程序启动器的Active X组件,这意味着它也会启动恶意代码。所以,让SSL VPN客户软件启动其他客户应用程序的这种便利恰恰留下了一条潜在的攻击途径。他说:“我认为这是相当糟糕的设计方案。”
Zusman实际上对SonicWall SSL VPN设备执行了这个改变了用途的Active X组件。他把情况告诉SonicWall后,这家公司立马解决了这个问题。他表示,这对其他SSL VPN设备而言可能也行得通,不过他没有尝试过。
Zusman还演示了自己设计的一种方法,可以从可信的第三方证书管理机构获得有效的SSL证书。他不愿透露这家证书管理机构,不过只要声称自己需要仅仅用于内部网络的证书,就从该证书管理机构骗来了证书。
然后,他使用该证书来证实SSL会话的有效性,连接上了某个合法网站的代理服务器。然后通过电子邮件网络钓鱼手法,就可以把用户定向至该代理服务器。Zusman说:“受害者的机器被转送到了攻击者控制的地址。”他表示,因为证书是有效的,所以上当受骗的用户不会收到表明证书是否有效的弹出来的警示信息。
Zusman表示,使用这种方法,自己就有可能窃取用户的密码;并且执行路过式下载(drive-by download),从代理网站下载恶意软件。
虽然他发现的这个漏洞与SSL VPN没有什么直接关系,但这表明SSL本身并不是十分安全的。Zusman说:“我们如今使用SSL的方式是有缺陷的。有一些方法可以绕过它。”