---
# System prepended metadata

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

---

[![hackmd-github-sync-badge](https://hackmd.io/aOvA0JdBRhmJdGWwMRHcVg/badge)](https://hackmd.io/aOvA0JdBRhmJdGWwMRHcVg)
###### tags: `2023鐵人賽` `qiita` `Security`
# [2023 15th鐵人賽] Day6 - 你知道使用免費 Wi-Fi 時可能洩露機密訊息的途徑有哪些嗎

> 原文連結：[フリーWi-Fiを使ったら秘密情報を抜かれる経路にはどのようなものがあるか - Qiita](https://qiita.com/ockeghem/items/c6a3602d2c2409f89fbb)

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

以下正文開始！

---

[toc]

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

![](https://imgur.com/Y6fmxhU.png)
> 我叫阿席達卡！我在星巴克使用免費 Wi-Fi 處理公司的機密資訊時，結果訊息全部外洩了。我該怎麼辦才好！（[原推文連結](https://twitter.com/MacopeninSUTABA/status/1652315366373363712?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1652315366373363712%7Ctwgr%5E2c16a5f2b4ce1e803944ce9626b5cd01872c2696%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fpublish.twitter.com%2F%3Fquery%3Dhttps3A2F2Ftwitter.com2FMacopeninSUTABA2Fstatus2F1652315366373363712widget%3DTweet)）

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

![](https://imgur.com/HfFt9JH.jpg)
> 應該把這當作入職考試題目嗎？請說明「在星巴克使用免費 Wi-Fi 處理公司機密資訊時，導致所有訊息外洩的情況」在現實中可能導致的威脅。我認為這問題相當具有挑戰性。（[原推文連結](https://twitter.com/ockeghem/status/1652673176852381696?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1652673176852381696%7Ctwgr%5E93dbce41dc3f650fa633b1ba21c2c42cd022baa3%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fqiita.com%2Fockeghem%2Fitems%2Fc6a3602d2c2409f89fbb)）

## 針對無線區域網路的攻擊

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

[パスワードが公開された公衆無線LAN、暗号化されていても盗聴できる？ | 日経クロステック（xTECH）](https://xtech.nikkei.com/it/atcl/column/17/090600370/091100008/)

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

![Fake AP](https://imgur.com/7jip5n8.png)

在偽造存取點的情況，可在上圖中的有線 LAN 區段進行竊聽，因此與無線加密無關。此外，也可能出現[中間人攻擊](https://zh.wikipedia.org/zh-tw/%E4%B8%AD%E9%97%B4%E4%BA%BA%E6%94%BB%E5%87%BB)（man-in-the-middle attack; MITM），使攻擊的種類更加多樣。

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

## 未使用 HTTPS 進行連線

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

現今已經很少有網站不使用 HTTPS，但仍有可能被引導至 HTTP 以進行中間人攻擊。在下方影片中，展示了某家[巨型銀行](https://zh.wikipedia.org/zh-tw/%E5%B7%A8%E5%9E%8B%E9%8A%80%E8%A1%8C)的線上銀行網站，被進行中間人攻擊漏洩了通訊內容。雖然該網站將 HTTP 通訊重新轉向至 HTTPS，但攻擊者仍避開並進行攻擊。即使網站關閉了 TCP 80 port，仍有機會進行此攻擊。詳細內容請信請參考下方影片。

<iframe width="560" height="315" src="https://www.youtube.com/embed/k0xBCjWPqcU?si=B_eV6MZo-8uELjAG" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

針對這種攻擊的防範措施，如下所示：

- 網站端：通過設定 [HSTS（Strict-Transport-Security）](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security)以強制使用HTTPS
- 使用者端：確認使用 HTTPS 進行連線

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

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

針對這種攻擊的防範措施，如下所示：

- 網站端：透過設定 [HSTS（Strict-Transport-Security）](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security)使憑證錯誤無法被忽略
- 使用者端：當瀏覽器出現憑證錯誤時即停止使用

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

![](https://imgur.com/R6Q9t8C.jpg)

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

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

[Android版KindleにおけるSSLサーバ証明書の検証不備の脆弱性CVE-2014-3908 | 徳丸浩の日記](https://blog.tokumaru.org/2014/09/androidkindlesslcve-2014-3908.html)

針對這種情況的防範措施，如下所示：

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

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

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

[SSL v3.0の脆弱性「POODLE」ってかわいい名前だけど何？？ | BLOG - DeNA Engineering](https://engineering.dena.com/blog/2014/10/poodle/)

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

以下是應對措施：

- 網站端：僅允許 TLS 1.2 以上版本，實作 SSL （OpenSSL 等）並隨時更新至最新狀態
- 使用者端：使用最新版的瀏覽器（最新的瀏覽器已停用 SSL）

## Cookie 缺少 Secure 屬性

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

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

[HTTPSを使ってもCookieの改変は防げないことを実験で試してみた | 徳丸浩の日記](https://blog.tokumaru.org/2013/09/cookie-manipulation-is-possible-even-on-ssl.html)

<iframe width="560" height="315" src="https://www.youtube.com/embed/yXNOJE9kGK8?si=UXFoHFJWZoBDWaal" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

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

- 在 Cookie 設定 Secure 屬性（根本解決方案）
- 設定 HSTS（緩解措施）

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

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

## Session ID 固定攻擊（Session Fixation）

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

- [安全なウェブサイトの作り方 - 1.4 セッション管理の不備 | 情報セキュリティ | IPA](https://www.ipa.go.jp/security/vuln/websecurity/session-management.html)
- [とくまるひろしのSession Fixation攻撃入門 | 徳丸浩の日記](https://blog.tokumaru.org/2009/01/introduction-to-session-fixation-attack.html)

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

[HTTPSを使ってもCookieの改変は防げないことを実験で試してみた | 徳丸浩の日記](https://blog.tokumaru.org/2013/09/cookie-manipulation-is-possible-even-on-ssl.html)（再發表）

<iframe width="560" height="315" src="https://www.youtube.com/embed/GP1eEit1quY?si=8MYCJXMnPYxe6Z3z" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

網站端的應對措施如下：

- 為防止 Session ID 固定，可在登入後立即更改 Session ID（根本解決方案）
- 使用 Cookie 的前綴詞（參考 [MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies)）（緩解措施）
- 設定 HSTS（緩解措施）

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

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

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

## 設定檔案共享

Windows 有項名為 [Network Profile（網路配置文件）](https://support.microsoft.com/zh-tw/windows/%E5%9C%A8-windows-%E4%B8%AD%E5%B0%87-wi-fi-%E7%B6%B2%E8%B7%AF%E8%A8%AD%E7%82%BA%E5%85%AC%E7%94%A8%E6%88%96%E7%A7%81%E4%BA%BA-0460117d-8d3e-a7ac-f003-7a0da607448d)的功能，可設定為 Public 或 Private。在使用公共無線網絡時，必須將其設定為 Public。若誤設為 Private，可能存在以下威脅：

> 在公共場所使用無線網絡時，如果啟用這個檔案共享功能，電腦或智慧型手機內的檔案就有可能被他人讀取，或被發送病毒等惡意檔案。因此在公共場所使用無線網絡時，請務必停用檔案共享功能。
引用自[無線LANの安全な利用｜基本的な対策｜一般利用者の対策｜国民のための情報セキュリティサイト](https://www.soumu.go.jp/main_sosiki/joho_tsusin/security/enduser/security01/07.html)

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

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

<iframe width="560" height="315" src="https://www.youtube.com/embed/qMbB9DUkz-k?si=Fd4IhdCYhBUNKrxB" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

使用者的防護措施如下：

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

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

## 肩窺攻擊

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

可參考： [ソーシャルエンジニアリングの対策｜社員・職員全般の情報セキュリティ対策｜企業・組織の対策｜国民のための情報セキュリティサイト](https://www.soumu.go.jp/main_sosiki/joho_tsusin/security/business/staff/12.html)

防範措施如下：

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

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

## 離席時的攻擊

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

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

此外，即使筆電沒有被偷，也可能在離席這段時間，在筆電安裝「[鍵盤側錄（Keylogger）](https://zh.wikipedia.org/zh-tw/%E9%94%AE%E7%9B%98%E8%AE%B0%E5%BD%95)」或其他惡意軟體⋯⋯但這種情況非常可疑，直接把整台筆電偷走還比較乾脆省事。
這種攻擊方式也和「使用星巴克的免費 Wi-Fi」主題無關，因此可能稍微偏離了主題。

防範對策如下所示：

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

## 那該怎麼做呢

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

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