由 KRACK 攻擊想到的確保網路安全的小貼士
KRACK 漏洞攻擊 出現已經一段時間了,並且已經在 相關技術網站 上有很多詳細的討論,因此,我將不在這裡重複攻擊的技術細節。攻擊方式的總結如下:
- 在 WPA2 無線握手協議中的一個缺陷允許攻擊者在你的設備和 wi-fi 訪問點之間嗅探或操縱通訊。
- 這個問題在 Linux 和 Android 設備上尤其嚴重,由於在 WPA2 標準中的措辭含糊不清,也或許是在實現它時的錯誤理解,事實上,在底層的操作系統打完補丁以前,該漏洞一直可以強制無線流量以無加密方式通訊。
- 還好這個漏洞可以在客戶端上修補,因此,天並沒有塌下來,而且,WPA2 加密標準並沒有像 WEP 標準那樣被淘汰(不要通過切換到 WEP 加密的方式去「修復」這個問題)。
- 大多數流行的 Linux 發行版都已經通過升級修復了這個客戶端上的漏洞,因此,老老實實地去更新它吧。
- Android 也很快修復了這個漏洞。如果你的設備在接收 Android 安全補丁,你會很快修復這個漏洞。如果你的設備不再接收這些更新,那麼,這個特別的漏洞將是你停止使用你的舊設備的一個理由。
即使如此,從我的觀點來看, Wi-Fi 是不可信任的基礎設施鏈中的另一個環節,並且,我們應該完全避免將其視為可信任的通信通道。
Wi-Fi 是不受信任的基礎設備
如果從你的筆記本電腦或移動設備中讀到這篇文章,那麼,你的通信鏈路看起來應該是這樣:
KRACK 攻擊目標是在你的設備和 Wi-Fi 訪問點之間的鏈接,訪問點或許是在你家裡、辦公室中、或你喜歡的咖啡吧中的任何一台路由器。
實際上,這個圖示應該看起來像這樣:
Wi-Fi 僅僅是在我們所不應該信任的信道上的長長的通信鏈的第一個鏈路。讓我來猜猜,你使用的 Wi-Fi 路由器或許從開始使用的第一天氣就沒有得到過一個安全更新,並且,更糟糕的是,它或許使用了一個從未被更改過的、預設的、易猜出的管理憑據(用戶名和密碼)。除非你自己安裝並配置你的路由器,並且你能記得你上次更新的它的固件的時間,否則,你應該假設現在它已經被一些人控制並不能信任的。
在 Wi-Fi 路由器之後,我們的通訊進入一般意義上的常見不信任區域 —— 這要根據你的猜疑水平。這裡有上游的 ISP 和接入提供商,其中的很多已經被指認監視、更改、分析和銷售我們的流量數據,試圖從我們的瀏覽習慣中掙更多的錢。通常他們的安全補丁計劃辜負了我們的期望,最終讓我們的流量暴露在一些惡意者眼中。
一般來說,在互聯網上,我們還必須擔心強大的國家級的參與者能夠操縱核心網路協議,以執行大規模的網路監視和狀態級的流量過濾。
HTTPS 協議
值的慶幸的是,我們有一個基於不信任的介質進行安全通訊的解決方案,並且,我們可以每天都能使用它 —— 這就是 HTTPS 協議,它加密你的點對點的互聯網通訊,並且確保我們可以信任站點與我們之間的通訊。
Linux 基金會的一些措施,比如像 Let』s Encrypt 使世界各地的網站所有者都可以很容易地提供端到端的加密,這有助於確保我們的個人設備與我們試圖訪問的網站之間的任何有安全隱患的設備不再是個問題。
是的... 基本沒關係。
DNS —— 剩下的一個問題
雖然,我們可以盡量使用 HTTPS 去創建一個可信的通信信道,但是,這裡仍然有一個攻擊者可以訪問我們的路由器或修改我們的 Wi-Fi 流量的機會 —— 在使用 KRACK 的這個案例中 —— 可以欺騙我們的通訊進入一個錯誤的網站。他們可以利用我們仍然非常依賴 DNS 的這一事實 —— 這是一個未加密的、易受欺騙的 誕生自上世紀 80 年代的協議。
DNS 是一個將像 「linux.com」 這樣人類友好的域名,轉換成計算機可以用於和其它計算機通訊的 IP 地址的一個系統。要轉換一個域名到一個 IP 地址,計算機將會查詢解析器軟體 —— 它通常運行在 Wi-Fi 路由器或一個系統上。解析器軟體將查詢一個分散式的「根」域名伺服器網路,去找到在互聯網上哪個系統有 「linux.com」 域名所對應的 IP 地址的「權威」信息。
麻煩就在於,所有發生的這些通訊都是未經認證的、易於欺騙的、明文協議、並且響應可以很容易地被攻擊者修改,去返回一個不正確的數據。如果有人去欺騙一個 DNS 查詢並且返回錯誤的 IP 地址,他們可以操縱我們的系統最終發送 HTTP 請求到那裡。
幸運的是,HTTPS 有一些內置的保護措施去確保它不會很容易地被其它人誘導至其它假冒站點。惡意伺服器上的 TLS 憑據必須與你請求的 DNS 名字匹配 —— 並且它必須由一個你的瀏覽器認可的信譽良好的 認證機構(CA) 所簽發。如果不是這種情況,你的瀏覽器將在你試圖去與他們告訴你的地址進行通訊時出現一個很大的警告。如果你看到這樣的警告,在選擇不理會警告之前,請你格外小心,因為,它有可能會把你的秘密泄露給那些可能會對付你的人。
如果攻擊者完全控制了路由器,他們可以在一開始時,通過攔截來自伺服器指示你建立一個安全連接的響應,以阻止你使用 HTTPS 連接(這被稱為 「SSL 脫衣攻擊」)。 為了幫助你防護這種類型的攻擊,網站可以增加一個 特殊響應頭(HSTS) 去告訴你的瀏覽器以後與它通訊時總是使用 HTTPS 協議,但是,這僅僅是在你首次訪問之後的事。對於一些非常流行的站點,瀏覽器現在包含一個 硬編碼的域名列表,即使是首次連接,它也將總是使用 HTTPS 協議訪問。
現在已經有了 DNS 欺騙的解決方案,它被稱為 DNSSEC,由於有重大的障礙 —— 真實和可感知的(LCTT 譯註,指的是要求實名認證),它看起來接受程度很慢。在 DNSSEC 被普遍使用之前,我們必須假設,我們接收到的 DNS 信息是不能完全信任的。
使用 VPN 去解決「最後一公里」的安全問題
因此,如果你不能信任固件太舊的 Wi-Fi 和/或無線路由器,我們能做些什麼來確保發生在你的設備與常說的互聯網之間的「最後一公里」通訊的完整性呢?
一個可接受的解決方案是去使用信譽好的 VPN 供應商的服務,它將在你的系統和他們的基礎設施之間建立一條安全的通訊鏈路。這裡有一個期望,就是它比你的路由器提供者和你的當前互聯網供應商更注重安全,因為,他們處於一個更好的位置去確保你的流量不會受到惡意的攻擊或欺騙。在你的工作站和移動設備之間使用 VPN,可以確保免受像 KRACK 這樣的漏洞攻擊,不安全的路由器不會影響你與外界通訊的完整性。
這有一個很重要的警告是,當你選擇一個 VPN 供應商時,你必須確信他們的信用;否則,你將被一撥惡意的人出賣給其它人。遠離任何人提供的所謂「免費 VPN」,因為,它們可以通過監視你和向市場營銷公司銷售你的流量來賺錢。 這個網站 是一個很好的資源,你可以去比較他們提供的各種 VPN,去看他們是怎麼互相競爭的。
注意,你所有的設備都應該在它上面安裝 VPN,那些你每天使用的網站,你的私人信息,尤其是任何與你的錢和你的身份(政府、銀行網站、社交網路、等等)有關的東西都必須得到保護。VPN 並不是對付所有網路級漏洞的萬能葯,但是,當你在機場使用無法保證的 Wi-Fi 時,或者下次發現類似 KRACK 的漏洞時,它肯定會保護你。
via: https://www.linux.com/blog/2017/10/tips-secure-your-network-wake-krack
作者:KONSTANTIN RYABITSEV 譯者:qhwdw 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive