網絡安全研究人員披露一種新型網絡攻擊,這種攻擊利用傳輸層安全(TLS)服務器中的錯誤配置將HTTPS流量從受害者的Web瀏覽器重定向到位于另一個IP地址的不同TLS服務端點,從而竊取敏感信息,而靜態代碼檢測有助防范新型TLS 攻擊。
研究人員將這種攻擊成為“ALPACA”(Analyzing and mitigating Cracks in tls Authentication)即“應用層協議混淆-分析和減輕tls身份驗證中的裂縫”的縮寫。
攻擊者可以將流量從要給子域重定向到另一個子域,從而產生有效的TLS會話,這打破了TLS的身份驗證,可能會出現跨站腳本攻擊,其中一個協議服務的行為可能會在應用層危及另一個協議。
TLS作用
TLS是一種加密協議,用于在兩個通信應用程序之間提供保密性和數據完整性。支持多種應用層協議,如HTTPS、SMTP、IMAP、POP3 和 FTP以保護網絡通信安全,該協議由兩層組成:TLS 記錄協議(TLS Record)和 TLS 握手協議(TLS Handshake)。
TLS記錄協議提供的連接安全性有2個基本特性:
1、私有,對稱加密用以數據加密(DES等)。對稱加密所產生的密鑰對每個連接都是唯一的,且此密鑰基于另一個協議(如握手協議)協商。
2、可靠,信息傳輸包括使用密鑰的MAC進行信息完整性檢查。安全哈希功能(SHA、MD5 等)用于MAC計算。記錄協議在沒有MAC的情況下也能操作,但一般只能用于這種模式,即有另一個協議正在使用記錄協議傳輸協商安全參數。
ALPACA攻擊如何實現?
網絡安全研究人員稱,ALPACA攻擊之所以可以實現,因為TLS沒有將TCP連接綁定到預期的應用層協議上。因此,TLS未能保護TCP連接的完整性,可能被濫用為將預期的TLS服務端點和協議的TLS通信重定向到另一個替代的TLS服務端點和協議。
由于客戶端使用特定協議打開與目標服務器(如HTTPS)的安全通道,而替代服務器使用不同的應用層協議(FTP)并在單獨的TCP端點上運行,因此發生混淆從而導致所謂的跨站腳本攻擊。
圖片
目前,發現至少3中假設的跨站腳本攻擊場景,攻擊者可以利用這些場景來繞過TLS保護,并攻擊FTP和電子郵件服務器,但攻擊的前提是攻擊者能夠在TCP/IP層攔截和轉移受害者的流量。
簡單來說,攻擊采取中間人(MitM)方案的形式,其中攻擊者誘使受害者打開他們控制的網站以發出帶有特制FTP負載的跨域HTTPS請求,然后將此請求重定向到使用與網站兼容的證書的FTP服務器,最終形成有效TLS會話。
因此,TLS服務中的錯誤配置可以被利用來將身份驗證cookie或其他私有數據泄露到FTP服務器(上傳攻擊),在存儲的跨站腳本攻擊中從FTP服務器檢索惡意JavaScript負載,甚至在受害者網站的上下文中執行反射跨站腳本攻擊。
新型網絡攻擊影響
預計所有證書與其他TLS服務兼容的TLS服務器都將受到影響。在實驗設置中,研究人員發現至少有140萬臺web服務器容易受到跨協議攻擊,其中114197臺服務器被認為容易受到攻擊,它們使用可利用的SMTP、IMAP、POP3或FTP以及可信和兼容的證書。
關于跨站腳本攻擊
除了以上攻擊類型,常見跨站腳本攻擊一般是系統漏洞產生的。攻擊者在Web頁面插入惡意代碼,當用戶瀏覽網頁時,嵌在Web里面的代碼會被執行從而實現跳轉造成信息泄露或其他惡意行為。這些漏洞可能會允許攻擊者竊取cookie、記錄鍵盤敲擊、捕捉屏幕截圖、發現和收集網絡信息,以及遠程訪問和控制受害者的設備,造成的影響無法估計。
跨站腳本攻擊是OWASP Top10中第二普遍問題,存在于三分之二的應用程序中。但其實跨站腳本攻擊很容易被預防,只要在開發階段通過靜態代碼檢測技術就可以發現,問題在于開發人員此時是否意識到代碼安全檢測的重要性。
靜態代碼安全檢測技術和漏洞掃描、防火墻、入侵檢測系統互相配合,能夠有效提高網絡的安全性。通過靜態代碼檢測可以在開發階段對所有代碼缺陷實時查找并修復,如果說防火墻和網絡監視系統是被動的防御手段,那么靜態代碼檢測就是一種主動的防范措施,能有效查找系統漏洞避免黑客攻擊行為,做到防患于未然。