今年2月發(fā)現(xiàn)4G LTE和5G 網(wǎng)絡(luò)嚴重安全漏洞的研究團隊近日提出一種針對VoLTE的新型攻擊——ReVoLTE。攻擊者利用該攻擊可以打破VoLTE語音使用的加密,并對特定通話進行監(jiān)聽。
簡介
Voice over LTE (VoLTE)是一種無縫融合在LTE標準中的基于包的電話服務,用于部署了4G LTE無線技術(shù)的移動電話、數(shù)據(jù)終端的標準高速無線通信,包括物聯(lián)網(wǎng)設(shè)備和可穿戴設(shè)備。目前,所有的大型電信運營商都使用VoLTE 服務。為了確保通話安全, VoLTE 用流密碼的方式加密了電話和網(wǎng)絡(luò)之間的聲音數(shù)據(jù)。對每個通話內(nèi)容,流密碼可以生成唯一的密鑰流來預防密鑰流重用的問題。
ReVoLTE攻擊
ReVoLTE攻擊利用的并不是VoLTE 協(xié)議的漏洞,而是利用運營商LTE 實現(xiàn)的漏洞來恢復加密的VoLTE 通話的內(nèi)容。攻擊者利用ReVoLTE攻擊可以監(jiān)聽受害者發(fā)起的加密通話內(nèi)容。ReVoLTE 利用可預測的密鑰流重用,使得攻擊者可以用最少的資源來解密會話內(nèi)容。
ReVoLTE 漏洞利用
ReVoLTE 攻擊利用了一個無線電連接中的2個相鄰的通話中密鑰流重用的問題。該弱點是由于基站(eNodeB)的實現(xiàn)漏洞引起的。為了確定該安全漏洞的范圍,研究人員在德國隨機選擇了一些無線單元進行了測試,研究人員測試的15個基站中有12個基站受到該漏洞的影響。
ReVoLTE攻擊工作原理
ReVoLTE 的目標是監(jiān)聽Alice和Bob的會話,研究人員稱之為first call。為執(zhí)行該攻擊,攻擊者會嗅探有漏洞的基站的單元內(nèi)Alice的加密無線流量。First call結(jié)束后,攻擊者會給Alice打電話,并讓他參與會話,研究人員稱之為second call或keystream call。在該會話中,攻擊者可以記錄Alice的加密無線流量并記錄未加密的聲音(明文)。
為解密first call,攻擊者必須進行如下計算:
· 首先,攻擊者用keystream call的密文與已知明文進行異或運算。
· 然后,攻擊者計算keystream call的密鑰流。
由于基站是有漏洞的,因此密鑰流與first call的密鑰流是相同的。在第二步中,攻擊者可以講密鑰流與first call的密文進行異或運算。需要注意的是攻擊者必須在一個長的會話中讓受害者加入。與受害者通話時間越長,能夠解密的之前會話的內(nèi)容就越多。比如,如果攻擊者和受害者通話了5分鐘,攻擊者之后就可以解碼之前會話的5分鐘內(nèi)容。
PoC
為證明ReVoLTE攻擊的可行性,研究人員在有漏洞的商業(yè)網(wǎng)絡(luò)和電話上實現(xiàn)了端到端版本的攻擊。研究人員使用Airscope來嗅探加密的流量。然后用3個通過ADB和SCAT控制的安卓手機來獲取攻擊者手機上的已知明文。PoC視頻參見:
https://www.youtube.com/embed/FiiELuFvwu0
如何確認是否受該攻擊的影響?
研究人員開發(fā)了一個app來檢測基站是否受到ReVoLTE攻擊影響。APP要求是具有root權(quán)限和高通芯片集的安卓手機,并且支持VoLTE。App下載地址參見GitHub:https://github.com/RUB-SysSec/mobile_sentinel
補丁
研究人員在2019年12月將該攻擊的技術(shù)細節(jié)提交給了GSMA。GSMA確認后要求廠商對受影響的基站提供補丁。研究人員對受影響的基站重新進行了測試發(fā)現(xiàn)德國運營商應該已經(jīng)安裝了補丁進行了修復。
相關(guān)研究成果發(fā)表在計算機安全頂級會議USENIX Security 2020上,論文下載地址:https://revolte-attack.net/media/revolte_camera_ready.pdf
Revolte攻擊主頁:https://revolte-attack.net/