ALPACA攻擊是一種可以針對安全網站發起跨協議攻擊的新型TLS攻擊。
TLS是確保互聯網上服務器和客戶端之間通信安全的互聯網標準,比如web服務器、FTP服務器和郵件服務器。TLS是獨立于應用層的,可以應用于不同的通信協議中。
ALPACA是一種利用實現不同協議的TLS服務器的應用層協議內容混淆攻擊。攻擊者可以將一個子域名的流量重定向到另一個子域名,生成有效的TLS會話。這會打破TLS認證,并可能進一步發起跨協議攻擊。
研究人員對TLS跨協議攻擊進行了分析,并對web服務器進行了案例研究,發現可以成功從受害者的web瀏覽器重定向HTTPS請求到SMTP、IMAP、POP3和FTP服務器。在真實的攻擊場景中,攻擊者可以提取會話cookie和其他隱私用戶數據,或在有漏洞的web服務器環境下執行任意JS內容,繞過TLS和web應用安全措施。
上圖是攻擊者對web服務器發起跨協議攻擊,利用有漏洞的FTP和郵件服務器的三種方式——上傳攻擊、下載攻擊和反射攻擊。在上傳攻擊(Upload Attack)中,攻擊者可以竊取認證cookie和其他隱私數據。在下載攻擊(Download Attack)中,攻擊者可以執行存儲型XSS攻擊。在反射攻擊中,攻擊者可以在受害者網站環境下執行反射XSS攻擊。
研究人員在實驗室環境對web瀏覽器和廣泛部署的郵件和FTP服務器進行了攻擊面分析,發現140萬web服務器易收到跨協議攻擊。其中,11.9萬web服務器可以利用有漏洞的應用服務器來進行攻擊。
雖然該漏洞是條件性的,而且很難利用,但是只要對web有了解的黑客就可以利用一些配置信息。此外,研究人員還分析了其他的協議,發現存在其他類型的攻擊場景。
為應對類似的攻擊,研究人員提出使用應用層協議協商(Application Layer Protocol Negotiation (ALPN))和服務器名指示(Server Name Indication)擴展來預防錫類跨協議攻擊。研究人員還建議管理員檢查TLS實現和部署,建議服務器和客戶端的應用開發者主動對所有的協議應用防護措施。