2014年2月,美國(guó)駐烏克蘭大使遭遇了尷尬的泄密事件。他與美國(guó)助理國(guó)務(wù)卿維多利亞·努蘭的一次秘密談話被貼到了YouTube上,談話中努蘭對(duì)歐盟嗤之以鼻。
談話是通過(guò)加密電話進(jìn)行的,美國(guó)官方對(duì)媒體稱懷疑通話在烏克蘭被竊聽(tīng),但沒(méi)說(shuō)明是如何被竊聽(tīng)的。有人認(rèn)為,移動(dòng)數(shù)據(jù)網(wǎng)絡(luò)SS7中的漏洞是竊聽(tīng)得以進(jìn)行的根源——SS7是電信公司用以路由通話和短信的骨干基礎(chǔ)設(shè)施的組成部分。
烏克蘭政府在事發(fā)數(shù)月后發(fā)布了一份少有人注意到的報(bào)告證實(shí)了此說(shuō)法。盡管沒(méi)有提到大使,該報(bào)告披露稱,那年4月中有3天時(shí)間里,12部身份不明的手機(jī)位置數(shù)據(jù)被神秘地通過(guò)SS7漏洞發(fā)送到了俄羅斯電信公司。其中幾部手機(jī)用戶的短信和通話被轉(zhuǎn)到了俄羅斯,極有可能被竊聽(tīng)并錄音。
電信行業(yè)對(duì)SS7漏洞問(wèn)題知之已久,卻一直沒(méi)什么動(dòng)作,因?yàn)楹芏嗳擞X(jué)得這個(gè)風(fēng)險(xiǎn)只是理論上的。但烏克蘭竊聽(tīng)事件掀起了波瀾。幾家電信安全公司設(shè)計(jì)出SS7攻擊檢測(cè)的方法,由此發(fā)現(xiàn)了多家電信用戶網(wǎng)絡(luò)中的可疑活動(dòng),揭示出SS7攻擊確實(shí)是真是存在的。
上個(gè)月,新聞媒體《60分鐘》再掀公眾對(duì)SS7的關(guān)注。節(jié)目中展示了兩名德國(guó)研究員在美國(guó)國(guó)會(huì)議員 Ted Lieu 的同意下,利用SS7監(jiān)聽(tīng)其通話的過(guò)程。議員呼吁召開(kāi)國(guó)會(huì)聽(tīng)證會(huì)討論SS7漏洞問(wèn)題,聯(lián)邦通信委員會(huì)(FCC)也表示計(jì)劃就此問(wèn)題進(jìn)行審查。
那么,SS7到底是什么,又為什么會(huì)如此脆弱呢?
圖片顯示的是西歐某系統(tǒng)利用SS7,通過(guò)向用戶的運(yùn)營(yíng)商發(fā)送位置請(qǐng)求,在2分鐘內(nèi)追蹤到某個(gè)用戶的情形。1分鐘后,對(duì)同一個(gè)用戶的追蹤請(qǐng)求便通過(guò)SS7從多個(gè)國(guó)家的不同系統(tǒng)蜂擁而至。
SS7入門
SS7,也被稱為7號(hào)信令系統(tǒng),指的是一種數(shù)據(jù)網(wǎng)絡(luò),也是一系列管理數(shù)據(jù)交換的技術(shù)協(xié)議或規(guī)則。它出現(xiàn)于上世紀(jì)70年代,目的是跨運(yùn)營(yíng)商網(wǎng)絡(luò)跟蹤和連接固話。不過(guò),現(xiàn)在通常用于手機(jī)計(jì)費(fèi)和發(fā)送短信,附帶跨運(yùn)營(yíng)商和區(qū)域交換中心路由手機(jī)和固話呼叫。SS7是電信骨干網(wǎng)的一部分,但卻不是語(yǔ)音通話流經(jīng)的網(wǎng)絡(luò),它是帶有不同功能的獨(dú)立管理網(wǎng)絡(luò)。可以用客運(yùn)火車系統(tǒng)來(lái)打比方,SS7就是工作人員使用的維護(hù)隧道,而不是普通列車使用的主隧道。
當(dāng)今,SS7被用于設(shè)置漫游,以便能在所屬運(yùn)營(yíng)商范圍之外也能撥打電話收發(fā)短信。 域外運(yùn)營(yíng)商會(huì)通過(guò)SS7向所屬運(yùn)營(yíng)商發(fā)送獲取手機(jī)唯一ID的請(qǐng)求以便跟蹤手機(jī),還會(huì)請(qǐng)求手機(jī)通信被重定向到它的網(wǎng)絡(luò)以便投遞呼叫和短信。這是一種確保跨網(wǎng)絡(luò)通信的手段。
問(wèn)題點(diǎn)
問(wèn)題在于,SS7是基于信任的。電信公司收到的任何請(qǐng)求都被認(rèn)為是合法的。因此, 任何能登入SS7網(wǎng)絡(luò)服務(wù)器或網(wǎng)關(guān)的人,都可以向電信公司發(fā)送位置漫游和重定向請(qǐng)求,而電信公司多半會(huì)遵從請(qǐng)求——即使漫游請(qǐng)求是從圣彼得堡或孟買發(fā)出而你的手機(jī)卻在紐約。這就使得攻擊者可以遠(yuǎn)程竊聽(tīng)立法者、公司高管、軍方人員、激進(jìn)分子和其他人士。值得注意的是,通過(guò)劫持你的短信和通話,攻擊者也就能夠獲取Gmail和其他服務(wù)通過(guò)短信發(fā)送的雙因子身份驗(yàn)證登錄碼。已經(jīng)知道用戶名和密碼的攻擊者就能在你收到之前攔截驗(yàn)證碼,登錄你的賬戶。
而誰(shuí)可以登入SS7呢?全世界數(shù)百家電信公司都可以。政府情報(bào)機(jī)構(gòu)也可以訪問(wèn)這一網(wǎng)絡(luò),無(wú)論電信公司允許與否。商業(yè)公司也可以將SS7電話追蹤服務(wù)售賣給政府和其他客戶。有能力收買電信員工的犯罪團(tuán)伙同樣可以使用SS7,攻破了有漏洞的SS7設(shè)備的黑客也行。
直到 2014年12月,烏克蘭竊聽(tīng)事件幾個(gè)月后,德國(guó)混動(dòng)通信大會(huì)上兩名研究員展示了SS7脆弱性之時(shí),電信公司才開(kāi)始實(shí)現(xiàn)阻撓SS7攻擊的方法。其中一位名為恩格爾的獨(dú)立研究員早在2008年就演示過(guò)用SS7追蹤電話的方法,只不過(guò)該方法不如2014年混沌大會(huì)上展示的那么精煉。后者令北歐監(jiān)管機(jī)構(gòu)向運(yùn)行商提出了在2015年底實(shí)現(xiàn)緩解SS7攻擊的要求。
用現(xiàn)有技術(shù)就可以防止大量SS7攻擊。確實(shí)有一些案例是需要一兩年時(shí)間來(lái)實(shí)現(xiàn)防御機(jī)制,但至少,北歐和世界上其他地方的電信網(wǎng)絡(luò)里是存在基本防御措施的。
美國(guó)的兩家運(yùn)營(yíng)商,T-Mobile和AT&T,卻不在此列。在電視新聞節(jié)目《60分鐘》里,研究人員展示了 這兩家運(yùn)營(yíng)商對(duì)SS7攻擊是不設(shè)防的。威瑞森和Sprint采用不同的協(xié)議交換大部分?jǐn)?shù)據(jù),因此,理論上沒(méi)那么脆弱。但所有手機(jī)網(wǎng)絡(luò)將最終遷移到一個(gè)名為Diameter的信令系統(tǒng)。該系統(tǒng)采用了與之前的SS7網(wǎng)絡(luò)相同的許多概念和設(shè)計(jì),包括讓SS7備受煎熬的信任機(jī)制。
怎樣黑掉SS7才可以追蹤通話和短信?
為追蹤用戶,攻擊者會(huì)向用戶運(yùn)營(yíng)商發(fā)送隨時(shí)詢問(wèn)(Anytime Interrogation)請(qǐng)求以獲取到用戶手機(jī)的唯一ID,并確定手機(jī)使用哪個(gè)移動(dòng)交換中心(MSC)——通常一個(gè)MSC負(fù)責(zé)一個(gè)城市。運(yùn)營(yíng)商使用這些信息確定你的位置,用距你最近的蜂窩塔路由你的通話和短信。通過(guò)不斷發(fā)送隨時(shí)詢問(wèn)請(qǐng)求可以獲取到這些信息和你的GPS坐標(biāo),攻擊者便能追蹤你的手機(jī),還能用谷歌地圖追到你當(dāng)前所在的街區(qū)。
運(yùn)營(yíng)商可以通過(guò)封鎖域外“隨時(shí)詢問(wèn)請(qǐng)求”來(lái)阻止此類非法追蹤行為。但是,還有其他幾種通過(guò)SS7獲取位置信息的方法,這些別的方法就沒(méi)那么容易封鎖了。
這并不是假設(shè)性的,現(xiàn)實(shí)案例確實(shí)存在。有報(bào)道描述過(guò)一起SS7追蹤行動(dòng)就是從多個(gè)系統(tǒng)發(fā)起的位置信息請(qǐng)求。大概是為了避免被懷疑,攻擊者從全球多個(gè)SS7系統(tǒng)而不是單一SS7系統(tǒng),對(duì)同一用戶發(fā)出了追蹤請(qǐng)求——因?yàn)閺耐幌到y(tǒng)發(fā)出很多請(qǐng)求實(shí)在是太明顯了。這些系統(tǒng)每天向某些手機(jī)用戶發(fā)出數(shù)千次詢問(wèn)請(qǐng)求,但攻擊者試圖追蹤的其他手機(jī)卻每天只詢問(wèn)1或2次。
很明顯,發(fā)送請(qǐng)求越多,暴露可能性越高。但這些都是低流量高價(jià)值類型的目標(biāo),只要保持低流量,就有機(jī)會(huì)不被人注意到。
歐洲國(guó)家的另一起行動(dòng),則是通過(guò)四家歐洲電信公司的系統(tǒng)追蹤了中東和歐洲的手機(jī),顯示出這幾家電信公司在追蹤行動(dòng)中難逃干系。不過(guò),若是間諜系統(tǒng)或國(guó)家系統(tǒng),他們實(shí)際上也沒(méi)多少選擇的。
竊聽(tīng)
研究人員描述利用SS7竊聽(tīng)通話和短信的3種技術(shù)。其中一種是去年在澳版《60分鐘》里演示的,研究人員從德國(guó)向澳洲的運(yùn)營(yíng)商發(fā)出了將某位政客語(yǔ)音信箱重配置成轉(zhuǎn)發(fā)給該研究人員的請(qǐng)求。其實(shí),只要將網(wǎng)絡(luò)設(shè)置成 請(qǐng)求來(lái)源地與用戶手機(jī)所在區(qū)域不符就拒絕接受,便能很容易地阻止此類攻擊。可惜,幾乎沒(méi)有運(yùn)營(yíng)商進(jìn)行此類匹配檢查。
另一種方法是 濫用重寫(xiě)撥出號(hào)碼功能。舉例說(shuō)明一下,如果你正在國(guó)外,撥打手機(jī)聯(lián)系人中的號(hào)碼,重寫(xiě)功能會(huì)識(shí)別出這是一個(gè)國(guó)際電話,并自動(dòng)附帶上國(guó)別區(qū)號(hào)。
附加國(guó)別區(qū)號(hào)的功能是通過(guò)將號(hào)碼識(shí)別為“錯(cuò)誤”并發(fā)回帶國(guó)別區(qū)號(hào)的“正確”號(hào)碼來(lái)實(shí)現(xiàn)的。很方便,對(duì)吧?但攻擊者可以利用這個(gè)功能讓系統(tǒng)用他的號(hào)碼替換掉任何號(hào)碼。一有電話接入,他就轉(zhuǎn)發(fā)至正確的號(hào)碼,而他自己則在中間竊聽(tīng)并錄音。
第三種方法則利用了 手機(jī)不接電話或短信時(shí)通常不會(huì)和網(wǎng)絡(luò)通信的特性。這段長(zhǎng)長(zhǎng)的靜默時(shí)間里,攻擊者可以騙你的運(yùn)營(yíng)商說(shuō)你正在德國(guó),任何發(fā)往你手機(jī)的通信都應(yīng)重定向到德國(guó)。最終,你那在美國(guó)的手機(jī)肯定有被喚醒的時(shí)候,也會(huì)告訴運(yùn)營(yíng)商位置。但攻擊者也可以發(fā)送另外的信息否認(rèn)此事實(shí)。
只要每5分鐘來(lái)這么一次,你能單獨(dú)接到電話或短信的機(jī)會(huì)就非常非常少,絕大多數(shù)時(shí)候都是攻擊者接管了你的通信。或許一段時(shí)間后你會(huì)從賬單上發(fā)現(xiàn)漫游異常,但那時(shí)候,你的隱私已經(jīng)不存在了。
不是什么高明的竊聽(tīng)手法。還得支付漫游費(fèi)。但這種方法真的很實(shí)用。
有何對(duì)策?
此類攻擊用個(gè)檢測(cè)用戶反常位置變更的算法就能輕松破解,畢竟,沒(méi)人會(huì)每5分鐘就在美國(guó)和德國(guó)之間來(lái)回飛不是?但遺憾的是,沒(méi)有哪家運(yùn)營(yíng)商實(shí)現(xiàn)了這些聰明的檢測(cè)方法。
個(gè)人能做的有限。Signal、WhatsApp或Skype的加密服務(wù)是可以用來(lái)保護(hù)你的個(gè)人通信的, 但攻擊者也可以向你的運(yùn)營(yíng)商發(fā)送數(shù)據(jù)使用禁止請(qǐng)求,阻止你使用這些服務(wù)。
然后,在沒(méi)有WiFi的地方,你能用的就只剩下短信和電話了——讓你處于SS7竊聽(tīng)攻擊威脅之下。
電信公司對(duì)SS7攻擊也不是無(wú)動(dòng)于衷,但大多數(shù)仍然只是解決了最容易的那幾種方法。
目前,他們處于必須實(shí)現(xiàn)更復(fù)雜的防火墻和算法來(lái)檢測(cè)并封鎖更高級(jí)攻擊的階段。攻擊者想成功更難了,但防御者想阻止攻擊一樣更難了。攻防消長(zhǎng)一直在繼續(xù)。