提防ALPACA跨协议攻击手法,美国NSA呼吁应正视通配符TLS凭证风险

安全研究员于今年6月,披露名为ALPACA(Application Layer Protocols Allowing Cross-Protocol Attacks)的网络攻击手法,攻击者一旦滥用,便能借由TLS协议的弱点,将HTTPS流量重定向至另一个IP地址,进而窃取受害计算机的机密信息。而最近美国国家安全局(NSA)特别对此提出警告,要网站管理者重新查看相关凭证,来降低网站被攻击者用于发动ALPACA攻击的风险。

NSA认为,IT管理者应该要确认组织的所有万用字符凭证(Wildcard Certificate)使用范围,避免让组织的网页服务器暴露于ALPACA风险。再者,组织应考虑使用应用程序网关或应用程序防火墙(WAF),来保护服务器,同时,使用非HTTP协议的服务器(如FTP文件服务器、SMTP邮件服务器)也要纳入保护的范围。

而对于DNS的部分,NSA指出,组织则应该要防范DNS重定向的问题,采取加密DNS连接,以及验证DNS安全扩展(DNSSEC)信息等措施。

除此之外,对于TLS加密连接的部分,也应该激活应用层协议交涉(ALPN)的扩展机制,允许网页应用程序与服务器指定所使用的通信协议。

什么是万用字符TLS凭证?简单来说就是能适用于多个相同子域名的TLS凭证,如果我们买的是*.ithome.com.tw这样的万用字符域名名称凭证,使用这种凭证可同时保护aaa.ithome.com.tw、bbb.ithome.com.tw、ccc.ithome.com.tw,以及其他的ithome.com.tw子域名,而不需为上述域名个别购置凭证。由于万用字符凭证能节省购置凭证的成本,而受到许多组织采用。但这种能在多个子域名使用的凭证,可能会被攻击者用发动ALPACA攻击。

究竟在组织运用万用字符凭证的情况下,攻击者如何发动ALPACA攻击?NSA举例,攻击者可能会先引诱受害者访问有问题的URL,当受害者向组织架设的应用程序服务器(app.example.com)发出请求时,攻击者会将受害者引导到另一个服务器(service.example.com)。

由于攻击者的服务器提供非HTTP连接的服务,因此在收到受害者的HTTP请求时,会反射恶意内容到受害者的计算机,受害者的浏览器会回应组织的应用程序服务器请求,这使得攻击者的恶意脚本得以借机从受害计算机的浏览器中,访问用户的资料与Cookie。