--- 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=翔誠]