0%

[2023 15th鐵人賽] Day6 - 你知道使用免費 Wi-Fi 時可能洩露機密訊息的途徑有哪些嗎

原文連結:フリーWi-Fiを使ったら秘密情報を抜かれる経路にはどのようなものがあるか - Qiita

常聽聞免費 Wi-Fi 可能暗藏資安危機,究竟原理是如何、可能造成什麼影響,又該如何預防等等,本文將針對這個主題進行介紹。

以下正文開始!


這是在黃金週的開始(4月29日)發布的推文,截至 5 月 7 日晚上 8 點,已經累積 1938.8 萬次觀看次數,顯然引起很大的關注。

我叫阿席達卡!我在星巴克使用免費 Wi-Fi 處理公司的機密資訊時,結果訊息全部外洩了。我該怎麼辦才好!(原推文連結

對此,我發布了以下的推文,同樣也吸引不少關注,累積 124.1 萬次的觀看次數。雖然收到了許多反饋,但卻是出乎意料的難題,我打算在黃金週結束後,接著介紹幾種可能的訊息洩漏途徑。

應該把這當作入職考試題目嗎?請說明「在星巴克使用免費 Wi-Fi 處理公司機密資訊時,導致所有訊息外洩的情況」在現實中可能導致的威脅。我認為這問題相當具有挑戰性。(原推文連結

針對無線區域網路的攻擊

由於背景是以「在星巴克使用免費 Wi-Fi 時」為前提,這裡會解釋有關無線區域網路(Wireless LAN)所帶來的威脅。一般來說,當提到無線 LAN 的威脅時,多數人會先想到「未加密的無線 LAN」,然而實際上,許多免費 Wi-Fi 也存在「即使有加密也能被竊聽」的問題。原因是無線 LAN 的密碼(預共享金鑰 PSK、密碼短語 Passphrase)已經被公開。以下文章可作為參考:

パスワードが公開された公衆無線LAN、暗号化されていても盗聴できる? | 日経クロステック(xTECH)

此外,還存在偽造存取點(Fake Access Point)的威脅,意即攻擊者偽裝成咖啡廳的 Wi-Fi 存取點。設置與真正存取點相同的 SSID 和密碼的偽造存取點,被稱作孿生惡魔(Evil Twin, 英語版WikiPedia),對使用者來說難以區分真偽,因此構成嚴重的威脅。以下是以咖啡廳 Wi-Fi 為例,說明偽造存取點帶來的威脅(見下圖)。

Fake AP

在偽造存取點的情況,可在上圖中的有線 LAN 區段進行竊聽,因此與無線加密無關。此外,也可能出現中間人攻擊(man-in-the-middle attack; MITM),使攻擊的種類更加多樣。

在任何情況下,如果通訊路徑是透過 HTTPS(TLS)加密的話,通訊內容就不容易被竊聽。但如果網站存在漏洞,或使用者的使用方式不正確,仍有可能會洩露通訊內容。

未使用 HTTPS 進行連線

如果使用的網站不支援 HTTPS,或即便網站支援 HTTPS,但使用者仍使用 HTTP 進行連線,那通訊內容還是會透過上述方法被全部竊聽。

現今已經很少有網站不使用 HTTPS,但仍有可能被引導至 HTTP 以進行中間人攻擊。在下方影片中,展示了某家巨型銀行的線上銀行網站,被進行中間人攻擊漏洩了通訊內容。雖然該網站將 HTTP 通訊重新轉向至 HTTPS,但攻擊者仍避開並進行攻擊。即使網站關閉了 TCP 80 port,仍有機會進行此攻擊。詳細內容請信請參考下方影片。

針對這種攻擊的防範措施,如下所示:

  • 網站端:通過設定 HSTS(Strict-Transport-Security)以強制使用HTTPS
  • 使用者端:確認使用 HTTPS 進行連線

已連接 https URL 卻忽略瀏覽器的警告

即便使用者透過 HTTPS 進行連線,如果攻擊者使用類似 Burp Suite 的 MITM Proxy 的情況,則可透過 Burp Suite 將 HTTPS 解密再重新加密,藉此盜取通訊內容。但在這種情況下,瀏覽器將會顯示錯誤,除非使用者強制忽略警告,否則通訊無法進行。在上述影片中,也展示了這種情況。

針對這種攻擊的防範措施,如下所示:

  • 網站端:透過設定 HSTS(Strict-Transport-Security)使憑證錯誤無法被忽略
  • 使用者端:當瀏覽器出現憑證錯誤時即停止使用

在上述影片所介紹的巨型銀行就未設定 HSTS。

使用特定 APP 而非瀏覽器,但該 APP 存在漏洞並且未經過憑證授權

在透過手機 APP 而非瀏覽器使用服務的情況,檢驗憑證將成為 APP 方的責任。有時 APP 方檢驗憑證不夠嚴謹,可能導致訊息被竊取。以下是筆者發現的一個例子。

Android版KindleにおけるSSLサーバ証明書の検証不備の脆弱性CVE-2014-3908 | 徳丸浩の日記

針對這種情況的防範措施,如下所示:

  • 提供者端:透過對手機 APP 掃描是否存在漏洞,確保檢驗憑證
  • 使用者端:使用可信賴的 APP,或在使用 APP 時改用行動數據通訊

在伺服器允許使用脆弱的加密演算法可能造成漏洞

TLS/SSL 的規格或實作上有時存在著脆弱性。其中代表性的例子是 POODLE 弱點。詳細請參考はるぷさん的文章說明。

SSL v3.0の脆弱性「POODLE」ってかわいい名前だけど何?? | BLOG - DeNA Engineering

正如這篇文章提及,POODLE 攻擊是藉由 MITM,透過咖啡廳的偽造存取點攻擊是典型案例。換句話說,在沒有 MITM 風險的環境中,就不存在 POODLE 的實際威脅,因此針對 POODLE 的威脅,SSL 協議已被停用。

以下是應對措施:

  • 網站端:僅允許 TLS 1.2 以上版本,實作 SSL (OpenSSL 等)並隨時更新至最新狀態
  • 使用者端:使用最新版的瀏覽器(最新的瀏覽器已停用 SSL)

由於 Web 應用程式的存在弱點,可能在通訊過程中被竊取內容。其中代表性的例子是 Cookie 缺少的 Secure 屬性的情況。換句話說,若 Set-Cookie 未添加 Secure 屬性,可能會使 Cookie 在明文通訊時被竊聽。

詳細內容請參考下方部落格文章和影片:

HTTPSを使ってもCookieの改変は防げないことを実験で試してみた | 徳丸浩の日記

網站端的應對措施如下,Cookie 缺少的 Secure 屬性經常在弱點檢測中被診斷出。

  • 在 Cookie 設定 Secure 屬性(根本解決方案)
  • 設定 HSTS(緩解措施)

使用者端的應對措施較為困難,以下提供一些可用措施:

  • 使用可信任的網站
  • 避免使用公共無線網絡

Session ID 固定攻擊(Session Fixation)

有一種攻擊手法被稱為「Session ID 固定攻擊」。詳細內容請參考下方文章:

  • 安全なウェブサイトの作り方 - 1.4 セッション管理の不備 | 情報セキュリティ | IPA
  • とくまるひろしのSession Fixation攻撃入門 | 徳丸浩の日記

在這種攻擊中,必須達成「攻擊者預先透過某種方法,將準備好的 Session ID 傳送給使用者」這項步驟。也就是說,攻擊者必須將準備好的 Cookie 傳給使用者。可能有不少人會認為「這種事有可能嗎」,透過 MITM 是有可能實現的。以下文章和影片將會進行說明:

HTTPSを使ってもCookieの改変は防げないことを実験で試してみた | 徳丸浩の日記(再發表)

網站端的應對措施如下:

  • 為防止 Session ID 固定,可在登入後立即更改 Session ID(根本解決方案)
  • 使用 Cookie 的前綴詞(參考 MDN)(緩解措施)
  • 設定 HSTS(緩解措施)

另一方面,一般使用者較難發現 Session ID 固定這項弱點,因此使用者端的應對措施較為有限:

  • 使用可信任的網站
  • 避免使用公共無線網絡

雖然 Session ID 固定這項弱點近來較少見,但在弱點分析中偶爾會被診斷出。

設定檔案共享

Windows 有項名為 Network Profile(網路配置文件)的功能,可設定為 Public 或 Private。在使用公共無線網絡時,必須將其設定為 Public。若誤設為 Private,可能存在以下威脅:

在公共場所使用無線網絡時,如果啟用這個檔案共享功能,電腦或智慧型手機內的檔案就有可能被他人讀取,或被發送病毒等惡意檔案。因此在公共場所使用無線網絡時,請務必停用檔案共享功能。
引用自無線LANの安全な利用|基本的な対策|一般利用者の対策|国民のための情報セキュリティサイト

雖然感染病毒不一定是經由公共無線網絡這條途徑,但透過連接偽造的存取點,就有機會提高感染病毒的可能性。有個典型的例子是 WannaCry。WannaCry 透過 tcp/445 port 進行攻擊,受到防火牆保護的網路通常不會受到感染,但如果連接到偽造的存取點,並將網路配置文件設定為 Private 時,就可能增加被感染的可能性。

在以下影片中,模擬使用偽造的存取點,展示 WannaCry 利用 Windows 的漏洞 MS17-010 進行攻擊,以及透過文件共享洩露資訊的情況。

使用者的防護措施如下:

  • 連接到公共無線網絡時,將網路配置文件設定為 Public
  • 保持軟體更新至最新狀態

此外,這類攻擊通常無法透過 VPN 來預防(已在 Norton Secure VPN 驗證),即便使用 VPN,也不能忽略上述的防護措施。

肩窺攻擊

肩窺攻擊(Shoulder Hacking)是指旁人在附近窺視螢幕或鍵盤操作的行為,在這種情況,給人「越過肩膀偷看」的感覺,因此被稱作肩窺攻擊,實際上不一定侷限於越過肩膀偷看。

可參考: ソーシャルエンジニアリングの対策|社員・職員全般の情報セキュリティ対策|企業・組織の対策|国民のための情報セキュリティサイト

防範措施如下:

  • 使用防窺螢幕保護貼
  • 當周圍有人時,避免輸入密碼或信用卡資訊

肩窺攻擊與原始推文中的 「在星巴克使用免費 Wi-Fi」無關,因此可能稍微偏離了主題。

離席時的攻擊

在咖啡廳等場所,有些人會把筆記型電腦放在座位上然後離席一陣子。在咖啡廳如果想去廁所,即使隨身攜帶貴重物品和筆電,飲料還是會留在原位,畢竟不太會想帶著飲料去廁所,這的確是有點棘手的問題。像我這樣比較膽小的人,可能會選擇「在咖啡廳忍住不去廁所」,但這麽做對健康(可能)不太好。

那麼,如果把筆電留在座位上離開,除了筆電可能被偷走,如果畫面還繼續開著,很容易被偷偷瀏覽已登入的網站或筆電中的文件。

此外,即使筆電沒有被偷,也可能在離席這段時間,在筆電安裝「鍵盤側錄(Keylogger)」或其他惡意軟體⋯⋯但這種情況非常可疑,直接把整台筆電偷走還比較乾脆省事。
這種攻擊方式也和「使用星巴克的免費 Wi-Fi」主題無關,因此可能稍微偏離了主題。

防範對策如下所示:

  • 在咖啡廳等地,不要把筆電留在座位上離開

那該怎麼做呢

近來工作型態改變,傾向推薦在咖啡廳等開放空間工作,又因為裝載 Apple 晶片的 MacBook 電池使用時間非常長,因此想在咖啡廳使用的心情也能夠理解。但由於存在上述的威脅,在使用時應該注意以下事項較為妥當:

  • 確認是否使用 HTTPS 連線
  • 透過預先加入的書籤使用網站
  • 不忽視 TLS 憑證的錯誤訊息
  • 軟體隨時更新至最新版本
  • 在使用 Windows 作業系統時,將網路配置文件設定為 Public
  • 在咖啡廳等地點,避免使用高度機密的網站
  • 使用可信賴的(已針對漏洞進行防範)網站
  • 使用網路共享等其他通訊方式
  • 使用防窺螢幕保護貼
  • 在咖啡廳等地點,避免輸入密碼或信用卡號碼
  • 不把筆電等物品留在座位上離席

15th鐵人賽目錄傳送門:https://ithelp.ithome.com.tw/users/20135558/ironman/6290