簡報上因為有些其他東西不方便附上來
整份報告是講述使用 usrpb210 + OpenAirInterface 來實作惡意基地台
重點在 4G LTE 上的攻擊
常見 4G LTE 的攻擊有
<1> 阻斷服務
<2> 資料洩漏
整篇重點在於資訊洩漏上,並統合幾篇論文內容整理
============================================================
做的東西,常聽見的名字是 IMSI Catcher
他是透過獲取他人手機上的 IMSI ,來達到追蹤用戶在區域上的移動的功能
IMSI 是用戶在行動網路上的永久識別,類似身分證那種
存在 SIM 卡裡面和發卡的運營商
長度最長不超過 15
格式: 國家代碼 + 運營商編號 + 運營商自行分配
EX:
台灣: 466
中華電信: 92
則在台灣,中華電信的手機,IMSI 開頭都是 46692
如 466920000000003
==============================================================
討論一下,從 2G ~ 4G 的 IMSI Catcher 上的變化
因為 1G 本身連加密都沒有,所以不討論
2G 在設計上,只有防備被動式攻擊
也就是他怕會有人監聽無線電通訊
所以,在 2G 裡面,通訊上的身分認證並不會使用 IMSI
而是改用 TMSI 作為臨時的身分識別
但 2G 的設計並沒有考慮到會不會有人做主動式攻擊
也就是架設一個惡意的基地台
2G 在認證上,只會認證使用者身分,不會驗證基地台是否是合法的
UE 將無條件相信其所連接的基地台
故在 2G 裡面,只需要誘使UE 跟我們連接即可,後面你向UE要求什麼都可以
比如我這邊是想要他的 IMSI ,就可以對UE 發起身分識別要求
也可以要求傳輸改用未加密通訊,這樣就可以竊聽用戶通話了
每個世代都會改進前一個世代的問題
在 3G 裡面,增加了2G 所沒有的雙向驗證
但 3G 因為缺乏訊號的完整性保護,我們可以透過降級攻擊
把服務降到 2G 來進行 2G 已知的漏洞攻擊
======================================================================
2G 上的實際攻擊流程:
先用工程手機監聽目標周遭的基地台和其訊號強度
選取最弱的來假冒,目的是為了降低同頻干擾
之後再調整Cell selection 用的參數來誘使 UE 連接即可
3G 上的實際攻擊過程:
(其實就是中間人攻擊)
一開始先用假基地台和目標UE 做通訊連接,在最開始可以獲得其 TMSI
然後我們用此假冒成目標 UE ,和合法基地台做連接
並在獲取需要的驗證參數後,直接和合法基地台斷開連接
再回去和 UE 做通訊,因為整個過程的時間很短暫,所以得到的那些參數都是可以用的
之後再要求 UE 降級到 2G 來使用服務即可
========================================================================
4G 有了很多改善,如使用更強的安全演算法和新增了3G 所沒有的訊號完整性保護
4G 的雙向驗證使用的是 EPS AKA protocol ,而在 2017/07 的 black hat 上
有人發表了一篇有關於 AKA protocol 上的密碼學漏洞
可以做到資訊洩漏,達到我這篇所要報告的 imsi catcher 上的功能
(不過還沒研究QQ)
========================================================================
4G 簡單講架構
分為兩個部分 <1> 核心網路 <2> 基地台
而 UE + 核心網路 + 基地台 合稱 EPS
核心網路裡面可以簡單分為三個部分
- HSS : Database
- MME : 身分認證 / 資源分配 / 核心網路和 基地台之間溝通的主要橋梁
- SPGW: 提供 UE 對外的網路連線
手機開機時,會做 camping on
意思就是會去連接 4G LTE Network
UE 會先經過一些篩選機制後,向自己認為最合適的 Cell 發起連接請求
而cell 會轉給 mme ,之後也是經過一些機制判斷後,mme 會告訴 cell 這 UE
可不可以連進來,可以的話,整個過程就差不多結束了
=======================================================================
整理相關論文內講述有關 4G LTE 上的資訊洩漏問題
<1> Smart paging
在 2G 裡面,做 paging 的範圍差不多是一個都市的大小,大概 100 公里差不多
所以監聽這類訊息其實沒什麼用
而到了 4G ,協定上為了加速整個過程並將低訊號上的負載
把範圍縮小到一個基地台的大小,差不多 2 公里
我們可以藉由被動式攻擊來監聽這類訊息,來粗略估計 UE 在哪裡
<2> GUTI persistence
前面有說過 2G 通訊是改用 TMSI 做身分識別,而在 4G 裡面改稱為 GUTI
做一個整稱 (當然裡面包含很多其他有的沒的)
理論上來講,GUTI 必須要分頻繁的去更改
可是經由他人測試報告發現,其實運營商並不會很經常去更改 GUTI
大概 3 天差不多才改一次。
在 2015 年,國外學長發現,社群軟體如 FB messenger / What's APP
這類軟體在傳訊息給他人時,會觸發 Paging request ,裡面會包含 GUTI
所以我們可以透過這樣的方式來綁定 GUTI 和他人的網路身分
然後前面有說嘛,其實運營商大概 3 天才會改一次GUTI ,
故我們可以透過這樣的方式,監控他人長達三天之久
<3> SIB msg
eNB 會一直去廣播自己的資訊,包刮 MCC / MNC / TAC / 自己的 ID
我們可以透過獲取這類訊息來配置我們自己的惡意基地台
雖然其實大多訊息也是可以在網路上蒐集到。
<4> 錯誤報告機制
4G 為了方便做 Trouble shooting ,所以提供了一個錯誤機制
在基地台和 UE 連接失敗後,基地台可以回給UE 一個原因,告訴她為啥失敗
而 UE 會依照這個原因去修改,而我們可以利用這樣的方式去控制 UE 後續的行為
達到類似 ROP 的感覺。
有些設備有支援和啟動 locationInfo-r10 這個功能,沒實際研究過,是看到有一篇論文有寫
當設備有這功能的時候,在回報這個錯誤機制時會把自己的 GPS 定位一起給出去
這樣我就可以確切知道 UE 所在的地方
以生活舉例就好像去了一家銀行辦事情,阿銀行說不准,因為這裡要雙證件
那我們知道問題後就會去準備雙證件給銀行,跟這裡概念差不多一樣,透過故意
給一個原因來要求 UE 做一些我們想要他做的事情。
我這篇報告也是透過這個方式去做攻擊的
<5> Attach procedure
在這過程中,我們可以透過拒絕UE連接並回給他一個拒絕的原因來控制 UE 後續的行為
也就是使用我剛剛上面寫的那個方式進行攻擊
<6> Tracking Area Update procedure
一樣在這個過程中,我們可以透過拒絕UE並給一個原因來控制其後續行為
=======================================================================
IMSI Catcher in 4G LTE
這次實驗的整體流程是:
1. 一開始手機是正常和真實合法基地台連接,然後UE 定期會去偵測並重選
透過偽造合法基地台並強化訊號使其對我們的假 eNB 進行 Cell Reselection
這裡要改 MCC 和 MNC 以偽造合法基地台,並修改 MAC 和當地不同以觸發 TAU
2. UE 會對我們發起 TAU Request
這裡我修改 OAI 的設定,如果有去追裡面的 Code 會發現其在編譯前就把處理 TAU
的函數給註解掉了,所以這裡要先改 OAI 設定,然後修改函數內容讓其收到 TAU Request
會直接回 EMM Causes #9
這樣會使 UE 清掉其裡面所有的 GUTI 並對我們重新發起 Attach ,而當 UE 沒有任何
GUTI 時,為了證實自己身分, UE 會將 自己的IMSI 發給我們
3. UE 對我們發起 Attach
這時我們就可以獲取到目標的 IMSI ,之後的目的就是要盡量不讓 UE 發覺自己被攻擊
這裡使用 EMM Causes #15 ,其實使用 EMM Causes #12 也可以,但其會關閉 晶片
所以改用 15 ,這裡也要重新去修改 OAI 的設定來符合我們的需求
到此我的實作也結束了~
待續
請問關於第二點OAI設定,具體是要修改哪裡?
回覆刪除