---
# System prepended metadata

title: Background Introduction
tags: [計劃書]

---

---
title: Background Introduction
tags: 計劃書
---

## Background Introduction

VoWiFi是一個依據IEEE 802.11 標準的無線行動語音通訊技術，使用 3GPP IMS 系統來提供封包交換為基礎的語音服務。這個服務旨在提供用戶不必透過蜂巢網路基地台，只需連接具有網路功能的私用/公用WiFi，就能撥電其他用戶、接聽來自不同電信的電話、接收或發送簡訊。因此，已然成為現今最熱門的語音通話替代方案，利用WiFi連網，能克服基礎建設覆蓋不足的困境，也能降低日益增長的語音通話流量，對用戶來說，可以享有更好的語音通話品質，出國使用當地WiFi網路，也不必透過在地電信業者通話，節省不少漫遊費用。與 VoIP, VoLTE 服務相比，VoWiFi 透過 WiFi接入後直接連至電信業者的 IMS 系統，不必安裝額外應用程式也不受不同電信業者限制。
技術上來說，雖然 VoWiFi 也是以 SIP 為基礎的服務，但為 3GPP 訂製的版本<!--之後補充來源、詳細說明 -->。 3GPP 與 GSMA 規定 WiFi calling 服務必須使用以 SIM 為基礎的安全與驗證方法，且封包必須使用 IPSec 協定連至語音通話網路核心。針對充滿未知的網路環境，若不幸遭遇阻斷服務或其他因素使得用戶跟網路核心失去連線，VoWiFi 也規範一個系統切換安全機制，來適時地將通話從 WiFi calling 無縫切換回傳統蜂巢網路。
儘管有上面四個安全設計，WiFi calling 似乎已是一個成熟安全的新世代服務，但基於設計疏失、實作問題與隱私洩漏，在[^TDSO]已有提出數個程度不一的安全問題，其中之一甚至能嚴重影響用戶通話的可信性，讓這項服務失去應有的可靠度。如 VoWiFi 的系統切換安全機制在某些情況下，並不如預期正常運作，當用戶發出通話，手機派送的封包若無法連線核心網路，切換機制將主動介入；然而，當用戶以 VoWiFi 通話中，經過實測系統是不會介入的，儘管全部的語音封包都沒能送達也是一樣。從協定上來看，UE 與 ePDG 之間的封包通訊定義並不全面，不穩定的網路連線很有可能意外地影響用戶，如通話畫面卡死、一方接聽另一方還在響鈴等，造成使用體驗嚴重下降，上述的問題經由計畫的惡意掉包，即可快速輕易地實現。

在[^PRACTICAL_ATTACK_ON_VOWIFI]中即實際應用*某個VoWiFi的弱點*，來實作*某種攻擊*...
> 晚點補充攻擊種類、原因、再詳細一點的結果等
> 其他想到再說
> [name=昇峰]



[^TDSO]:https://www.egr.msu.edu/~mizhang/papers/2018_CNS_WiFiCalling.pdf

[^PRACTICAL_ATTACK_ON_VOWIFI]:https://ernw.de/download/newsletter/ERNW_Whitepaper_60_Practical_Attacks_On_VoLTE_And_VoWiFi_v1.0.pdf

:::success
### [PRACTICAL ATTACKS ON VoWifi](https://ernw.de/download/newsletter/ERNW_Whitepaper_60_Practical_Attacks_On_VoLTE_And_VoWiFi_v1.0.pdf)
(Page 12)
此段落我們將會探討三(五)種不同類型的攻擊，分別有: 嗅探使用者設備於VoWiFi介面的IMS註冊階段與通話(Sniffing VoWiFi Interfaces)、監聽於USIM卡的ISIM介面以獲得IPSec金鑰、於SIP標頭之定位竄改(Location Manipulation)與獲得側信道(Side Channel)的注射攻擊(Injection Attacks)。
1. Sniffing VoWiFi Interfaces
首先我們必須確認使用者設備(UE)能夠支援VoWiFi功能，且必須root手機並安裝tcpdump以嗅探VoWiFi封包。
我們使用Wireshark與Gcrypt來解碼ESP封包以獲得SIP與TCP封包。
經封包捕獲發現，雖然VoWiFi有IPSec的認證，但無經過加密，使落入於非3GPP認證的網絡。意旨此傳輸是借由IPSec通道的Wlan0介面，但我們發現一隱藏的虛擬介面，epdg1，包含使用ESP整合防護的無加密的封包。
2. [ISIM](/CO1VC6v3RjihXrCIvAuQGw#ISIM) Sniffing
我們使用SIMTrace裝置來竊聽ISIM介面的通訊，並將SIM card於手機取出並放置在SIMTrace中且將SIMTrace與手機連接。
ISIM是一個位於UICC裡的應用程式，儲存IMS特定的訂閱者信息，如識別使用者的註冊請求、驗證參數、P-CSCF位址、Home Network之進入點。
在處置[AKA](/CO1VC6v3RjihXrCIvAuQGw#AKA)時，生成IPSec的參數於此交換。IPSec金鑰是在UICC生成且當IPSec用戶需要時被傳送至Kernel。此攻擊就是利用SIMTrace來擷取這些金鑰。
3. User Location Manipulation
該攻擊使用OpenIMS作為後端，且利用桌電SIP用戶來實現測試與用SIP Proxy來實現Injection。
P-[CSCF](https://en.wikipedia.org/wiki/IP_Multimedia_Subsystem#Call_Session_Control_Function_(CSCF))是負責取得使用者地點，因為Access Network並無賦予使用者提供此資訊。所以當P-CSCF獲得SIP請求時，會將Header完全清除以取得定位資訊並新增P-Access-Network-Info之標頭，附帶使用者位置。
但是若P-Access-Network-Info header無包含network-provided的屬性(上一段的敘述)，P-CSCF直接信任使用者提供的位置資訊且不會雙重確認HSS裡的值。
:::
> [name=垣菘] 

當我們使用WiFi通話服務時，可以建立在不需蜂窩服務的情況下。在安全性方面:在無線網路中，攻擊者不須再透過物理訪問即可入侵網路，由於缺乏中間人而造成攻擊TLS證書驗證，攻擊者可以竊聽甚至竄改使用WiFi通話裡封包送出內的短信內容。他們可以嘗試ARP spoofing，或者，如果攻擊者知道==網路參數==，他們可以利用邪惡雙子攻擊，在攻擊中他們會模仿合法網路並誘騙用戶連接到該網路，利用常見操作系統中自動網路選擇演算法中的錯誤進行攻擊。

為了達成MITM，攻擊者須在目標網路的路徑上。但如果他們未在路徑上，也可透過ARP spoofing來讓裝置相信攻擊者他們的網路接口，也就是具有路由器的IP位址，這表示攻擊者需在經過的網路上才能使用此功能;如果攻擊者不再目標網路路徑上，他們可以使用DNS存取病毒，欺騙暫存DNS解析器來為他們要攻擊的服務暫存無效的地址紀錄，當有使用同一解析器的其他客戶端時會收到惡意紀錄，同時連接到攻擊者。

### 1. 位址解析協定 (Address Resolution Protocol，簡稱 ARP)

是一種透過資料連結層 (data link layer) 將網路位址 (如 IPV4 和 IPV6) 對應到實體位址 (如 MAC 位址) 的通訊協定。基本上主機必須發送一個 ARP 請求到某個 TCP/IP 網路上來查詢對應的實體位址。但因為 ARP 協定安全性的問題，歹徒可能利用一種叫做 假冒 ARP 資料 (ARP Spoofing) 的技巧來發動 MiTM 攻擊。

由於 ARP 協定缺乏認證機制，因此駭客可以發送一個假的 ARP 訊息到區域網路 (LAN) 上，讓駭客鎖定的目標主機 IP 位址改對應到駭客電腦的實體位址。如此一來，原本要傳送給目標主機的網路流量都會改傳送至駭客的電腦。駭客接收到網路流量之後就能從事監聽或篡改通訊內容。

有效降低風險方式 : 將電腦 IP 位址與 MAC 位址的對應資料手動加入快取當中並設成靜態 ARP 資料，是防止 ARP 快取遭到汙染的方法之一。此方法可防止駭客利用 ARP 請求／回覆訊息來汙染快取，因為網路上的裝置都將使用本機上手動設定的快取。然而這方法並不適合規模較大的企業機構，因為這樣網路上的每一台裝置都必須手動設定。

另一種方法是 IT 人員可採用 具備防範 ARP 假冒功能的軟體解決方案 來監控端點裝置上的執行程序，一發現傳送可疑 ARP 流量的執行程序就將它終止。(我們可以實現看看)，至於一般使用者，請務必透過 HTTPS 加密通訊協定來瀏覽網站，以防止駭客從中監聽。

### 2. 假冒網域名稱伺服器 (Domain Name Server，簡稱 DNS) 資料
是一種常見的 MiTM 攻擊。在假冒 DNS 資料 (DNS Spoofing) 的攻擊手法當中，駭客會利用 DNS 的設計漏洞來汙染 DNS 快取，讓 DNS 傳回的 IP 位址指向駭客所掌控的網站，例如：網路釣魚網站。DNS 資料遭到假冒的情況不容易發掘，因為駭客所架設的惡意網站經常跟原本的正常網站長得很像。

有效降低風險方式 : 定期清理本地端電腦與網路伺服器的 DNS 快取以保障網路使用者的安全。此外，使用 Microsoft 作業系統的用戶可利用 Domain Name Security System Extensions (DNSSEC) 網域名稱安全系統延伸模組來提升 DNS 的安全性，包括：來源的權威性、資料的完整性，以及受驗證的不存在性。DNSSEC 尤其能夠防範假冒 DNS 資料的攻擊。

實測：
+ 設置 :
    1. wifi允許呼叫的電話標記P，他可以使用AP，且不需靠有線連接，是可當無線網 路交換機使用。
    2. 設置了連接到同一個網路的DHCP伺服器標器M和NAT路由器標記S。

+ 功能 :
    1. 我們可以紀錄和控制往返於P的所有internet traffic(網路流量)。
    2. 在他們的實驗過程中，在network interfaces上的所有流量都可以使用libpcap來攔截(libpcap是一個網絡數據包捕獲函數庫)。
    3. 透過M.sslsniff上運行的sslsniff可攔截所有TLS connections。
    4. 中斷所有TLS連接請求，連接到遠程端點本身並生成一個certificate基於他從端點所接收到的樣子(訊息)。
    5. The certificate is signed with any certificate we specify 並馬上發回給客戶。
    6. 他們修改了sslsniff以輸出master-secret和client-random所有已建立連接的參數，如此一來TLS流量追蹤數據包可以被解密。

結果：可以看到TLS加密的消息在時間上與其他數據包的關係。
> [name=翔誠]
