ALPACA攻击可以针对TLS保护的安全网站进行跨协议攻击。
TLS
TLS被广泛用于增强HTTP、IMAP、SMTP、POP3、FTP等应用层协议的机密性、完整性和真实性。但TLS并没有将TCP连接与应用层协议绑定。因此,中间人攻击者可以重定向TLS流量到不同的TLS服务终端到另一个IP地址或端口。比如,如果子域名之间共享通配符证书(Wildcard Certificates),攻击者就可以将流量从一个子域名重定向到另一个子域名,生成有效的TLS会话。
ALPACA攻击概述
ALPACA是一种利用实现不同协议的TLS服务器的应用层协议内容混淆攻击。攻击者可以将一个子域名的流量重定向到另一个子域名,生成有效的TLS会话。这会打破TLS认证,并可能进一步发起跨协议攻击。
攻击者对web服务器发起跨协议攻击,利用有漏洞的FTP和邮件服务器可以分为三种方式。
- 在上传攻击(Upload Attack)中,攻击者可以窃取认证cookie和其他隐私数据。
- 在下载攻击(Download Attack)中,攻击者可以执行存储型XSS攻击。
- 在反射攻击中,攻击者可以在受害者网站环境下执行反射XSS攻击。
研究人员对针对TLS的跨协议攻击进行了分析,并对web服务器进行案例研究,发现攻击者可以重定向受害者web服务器的HTTPS请求到SMTP、IMAP、POP3、FTP服务器。在真实攻击场景下,攻击者可以成功提取会话cookie和其他依你说数据,并可以在有漏洞的web服务器上执行任意JS代码,成功绕过TLS。
研究人员分析发现ALPACA攻击是通用的,TLS连接的真实早在应用层数据交换前就被黑了。
ALPACA攻击事实上是TLS的服务器认证漏洞,所以是有TLS服务器都可能会受到该攻击的影响。
但在实际场景中,漏洞的利用场景还是相对有限的。因此,可以分为有漏洞的服务器和可利用的服务两类:
- 在web服务器和FTP服务器共享证书的情况下,如果攻击者有权限在FTP服务器上写入,这种情况就比较危险。
- 如果web服务器与SMTP\POP3\IMAP服务器共享证书,那么根据服务器的具体行为,会带来不同情况的危险。
大多数攻击都需要MIMT攻击者,也就是说攻击者要拦截和修改受害者浏览器发送给web服务器的数据。这种情况在互联网环境下是比较困难的,但是在本地网络上被利用的可能性更大一些。此外,有一些攻击的变种并不需要中间人,因此更加危险。
研究人员将在即将召开的Black Hat USA 2021和USENIX Security2021大会上作关于ALPACA攻击的演讲和展示,更多研究论文参见:https://alpaca-attack.com/ALPACA.pdf
相关代码参见GitHub:https://github.com/RUB-NDS/alpaca-code/