NO.27 | 2017.12.15
banner
title資訊百科 友善列印>>
【新知分享】KRACKs 攻擊_資通安全組 陳振銘工程師



今年十月中旬,有位比利時的資安研究人員,發表了一篇針對WPA2本身安全協定所存在漏洞的研究報告。報告中,指出攻擊者可以藉由無線網路中需要透過四向交握協定的漏點,進行金鑰重裝攻擊(KRACKs),要了解攻擊者如何能透過在四項交握協定中進行攻擊,則需了解何謂「四向交握協定」。

「四向交握協定」介紹

早期使用者需要連線到無線網路環境時,採用WEP或是WPA的無線加密標準。不過後來被證實這兩種標準都不安全,因此Wi-Fi聯盟在西元2004年又推出WPA2的標準。而WPA2則是採用四向交握的通訊協定。當中為了確保STA(客戶端裝置)與AP(Access Point)彼此使用的PTK(Pairwise Transient Key)不會被竊取。因此PTK的組成是由PMK,ANonce,SNonce,AP MAC address及STA MAC adderss. PMK如果是在無Radius 環境中,則是使用預設的passphrase因此在同一無線環境中,使用者都用一樣的無線登入密碼.當使用者透過預先設定的passphrase登入後,便會進行四向交握協定,如下圖所示。
 

第一步:AP 會傳送一組亂數(ANonce)給STA(也就是用戶的手機或是連無線網路的裝置)。
第二步:當STA收到從AP傳來的Anonce後,會產生一組臨時的PTK檢查碼(MIC).然後傳送自己產生的另一組亂數(SNonce)跟檢查碼給AP。
第三步:AP比對PTK和檢查碼後,會產生一組群組臨時金鑰(GTK)+檢查碼給STA。
第四步:STA會安裝GTK並傳送確認回應給AP。如果在一定的時間內,AP沒接收到STA的回覆,便會在回到第三步驟重新傳送ㄧ組金鑰給STA。之後STA和AP端的通訊就透過這組金鑰加密。
 
而在今年十月被揭露的安全漏洞則發生在第三步階段。當初IEEE 802.11只有定義客戶端裝置,在四向交握過程中應該有的設定,但是並沒有很明確去要求四向交握過程中要如何正確的處理每一個步驟。造成很多AP會因為在一定時間內,沒收到在STA傳送(第四步)的回覆,而重新發送ㄧ組相同的金鑰給STA並且將在加密所用的隨機數和封包計數器歸零。而隨機數和封包計數器是確保金鑰的產生無法被猜測,當攻擊者能讓隨機數與封包計數器歸零,他就有辦法知道金鑰。而且研究人員發現在Android 6.0以上,當攻擊者透過KRACKs攻擊時,還會造成設備使用全零密鑰而失去了防護作用。
 
雖然此攻擊手法是針對四向交握協定中的漏洞,不過攻擊者要先取得幾樣的條件才能發動攻擊。首先攻擊者要把自己的裝置變成中間人的角色才能作中斷STA與AP中間的網路連接,並且有些設備在四向交握時的第三步驟只接受有加密的信框。目前大部分的客戶端裝置已經有作更新。因此對於使用者在使用無線網路時的加密也不需要太大的擔心。