MSCBSC 移動通信論壇
搜索
登錄注冊
網(wǎng)絡(luò)優(yōu)化工程師招聘專欄 4G/LTE通信工程師最新職位列表 通信實習(xí)生/應(yīng)屆生招聘職位

  • 閱讀:501
  • 回復(fù):0
還沒升級iOS11?這個高危漏洞威脅近9成iPhone用戶
mao_mao
論壇副管
鎵嬫満鍙風(fēng)爜宸查獙璇? style=


 發(fā)短消息    關(guān)注Ta 

C友·鐵桿勛章   管理·勤奮勛章   C友·進(jìn)步勛章   管理·優(yōu)秀勛章   C友·貢獻(xiàn)勛章   “灌水之王”   紀(jì)念勛章·七周年   管理·標(biāo)兵勛章   活動·積極勛章   財富勛章·財運連連   財富勛章·大富豪   財富勛章·小財主   專家·終級勛章   財富勛章·神秘富豪   C友·登錄達(dá)人   紀(jì)念勛章·五周年   財富勛章·富可敵國   財富勛章·財神   財富勛章·富甲一方   財富勛章·鉆石王老五   活動·第二屆通信技術(shù)杯   紀(jì)念勛章·六周年   活動·攝影達(dá)人   紀(jì)念勛章·八周年   紀(jì)念勛章·九周年   紀(jì)念勛章·十周年   C友·技術(shù)大神  
積分 428896
帖子 85070
威望 5390306 個
禮品券 5423 個
專家指數(shù) 3546
注冊 2009-4-24
專業(yè)方向  移動通信
回答問題數(shù) 0
回答被采納數(shù) 0
回答采納率 0%
 
發(fā)表于 2017-10-03 23:48:41  只看樓主 

谷歌“Project Zero”團(tuán)隊近日發(fā)現(xiàn)一個嚴(yán)重的 Wi-Fi晶片漏洞,目前涉及到的機(jī)型包括iPhone7、三星S7edge等各大主流機(jī)型,這些手機(jī)搭載的博通Wi-Fi芯片存在的后門安全漏洞,非常容易被黑客入侵。考慮到這個漏洞對上億部手機(jī)所產(chǎn)生的影響,美國國家標(biāo)準(zhǔn)和技術(shù)研究所為補丁嚴(yán)重性的評級高達(dá)9.8分(滿分10分)。下面這篇文章就對 iOS 系統(tǒng)的 Wi-Fi 晶片漏洞細(xì)節(jié)進(jìn)行了詳細(xì)剖析, 做了不改變原意的整理。

1. 摘要

隨著iOS 11的發(fā)布,多個BroadCom WiFi 芯片的高危漏洞被公開[1]。這些漏洞對上億臺未來得及更新的iOS設(shè)備造成了嚴(yán)重的安全威脅。黑客可對同一WiFi網(wǎng)絡(luò)下的設(shè)備發(fā)起攻擊,遠(yuǎn)程控制受害設(shè)備的 WiFi 芯片,甚至進(jìn)一步攻破 iOS 內(nèi)核。本文對 iOS 設(shè)備 WiFI 芯片相關(guān)漏洞進(jìn)行簡要技術(shù)分析,然后根據(jù) iOS設(shè)備的系統(tǒng)版本統(tǒng)計出受影響的規(guī)模。

截至9月27日,國內(nèi)92.3%的iOS用戶都受到相關(guān)高危漏洞的威脅。我們 呼吁用戶盡快升級iOS系統(tǒng)到最新版本,并號召手機(jī)廠商采用更有效的防護(hù)技術(shù),避免用戶受到已知高危漏洞的威脅。

2. BroadCom WiFi芯片漏洞技術(shù)分析

本文著重分析兩個BroadCom WiFi芯片漏洞:CVE-2017-11120和CVE-2017-11121。這兩個漏洞都是WiFi 芯片固件代碼在處理數(shù)據(jù)幀時缺乏對特定字段的嚴(yán)格校驗。攻擊者可以利用它們制造內(nèi)存破壞,實現(xiàn)任意代碼執(zhí)行,獲得對設(shè)備的遠(yuǎn)程控制。

2.1 漏洞CVE-2017-11120

iOS設(shè)備搭載的BroadCom WiFi芯片采用了快速基本服務(wù)設(shè)置轉(zhuǎn)換(Fast BSS Transition)和無線資源管理(Radio Resource Management)標(biāo)準(zhǔn)。在接入無線接入點(Access Point,簡稱AP)后,iOS設(shè)備會發(fā)送相鄰接入點請求(Neighbor Report Request),AP則返回相鄰接入點應(yīng)答(Neighbor Report Response),包含當(dāng)前無線局域網(wǎng)內(nèi)的相鄰AP以及各自的BSSID,Operating Class和Channel Number等信息。在處理Neighbor Report Response數(shù)據(jù)幀時,BroadCom WiFi芯片將每一種Operating Class和Neighbor Report信息保存在一個456字節(jié)的內(nèi)存塊中(如圖1所示),并且將這些塊通過指針串接起來。其中,Neighbor Count Array記錄了各個Channel Number的Neighbor數(shù)量。Array長度為450字節(jié),每2個字節(jié)記錄一個Channel Number,所以最大可記錄的Channel Number為224(0xE0)。

▲圖1:BroadCom WiFi芯片記錄Neighbor Report Response信息的內(nèi)存塊結(jié)構(gòu)[2]

▲圖2:BroadCom WiFi芯片處理Neighbor Report Response信息的函數(shù)[2]

如圖 2 所示,WiFi 芯片固件里位于地址 0xAC0A8 的函數(shù)(簡稱function_AC0A8,下同)首先在串聯(lián)的內(nèi)存塊中查找Operating Class對應(yīng)的條目,如果沒有找到,則會動態(tài)創(chuàng)建一個條目 ,然后從數(shù)據(jù)幀中讀出Channel Number作為數(shù)組索引,定位到 Neighbor Count Array 中元素,將其值加一。此過程并沒有對Channel Number做出校驗,當(dāng)偽造的數(shù)據(jù)幀中 Channel Number大于0xE0(如0xFF)時,上述過程將會造成內(nèi)存越界寫。攻擊者可以通過內(nèi)存越界寫改變關(guān)鍵指針數(shù)據(jù)或者控制流元素,一步步接管代碼執(zhí)行。值得一提的是,BroadCom WiFi 芯片里沒有 ASLR、DEP 等防護(hù),攻擊者可以很容易做代碼改寫,注入任意代碼執(zhí)行。

此漏洞影響 iOS 11.0 以前的設(shè)備。目前此漏洞的利用代碼已公開[2], 攻擊者能直接復(fù)用這一利用代碼攻擊漏洞設(shè)備,在WiFi芯片中插入后門,并在用戶無感知的情況下實現(xiàn)對設(shè)備的遠(yuǎn)程控制。

2.2 漏洞CVE-2017-11121

根據(jù) Fast BSS Transition 標(biāo)準(zhǔn),當(dāng)設(shè)備在無線網(wǎng)絡(luò)環(huán)境下進(jìn)行快速漫游(fast roaming)時,會觸發(fā)校驗和重關(guān)聯(lián)(reassociation)操作。Reassociation操作會對組臨時秘鑰(Group Temporal Key,簡稱GTK)進(jìn)行解密和安裝。這兩個過程中存在多處 memcpy 調(diào)用,調(diào)用前都缺少對 copy 長度的校驗,可能導(dǎo)致內(nèi)存破壞。

▲圖3:BroadCom WiFi芯片重關(guān)聯(lián)操作時GTK解密和安裝的相關(guān)函數(shù)[3]

如圖3所示,reassociation 由 function_8462C 函數(shù)負(fù)責(zé),它調(diào)用 function_6D8對GTK 解密,然后會繼續(xù)調(diào)用 function_C9C14對GTK 進(jìn)行安裝。相關(guān)代碼片段如下:

上述處理過程中,有兩處 memcpy 調(diào)用存在問題:

1)GTK解密函數(shù) function_6D8 中,當(dāng)構(gòu)造的畸形數(shù)據(jù)幀中 gtk_subelem[1]為11時,函數(shù)參數(shù)input_length為0。在第二處調(diào)用 memcpy 時,input_length-8為0xfffffff8,這將導(dǎo)致大量數(shù)據(jù)被 copy,破壞 stack上的數(shù)據(jù);

2)GTK安裝函數(shù) function_C9C14,參數(shù) gtk_len 取值為 gtk_subelem[4]。攻擊者可以構(gòu)造畸形數(shù)據(jù)幀,使 gtk_subelem[4]大于164,函數(shù)中 memcpy 調(diào)用前沒有檢查 gtk_len 取值,可能導(dǎo)致堆溢出。

攻擊者同樣可以攻擊此漏洞造成內(nèi)存破壞,實現(xiàn)遠(yuǎn)程任意代碼執(zhí)行。此漏洞影響系統(tǒng)版本在11.0以前的iOS設(shè)備。

3. 通過WiFi芯片漏洞可進(jìn)一步攻擊iOS內(nèi)核

攻擊者可將WiFi芯片漏洞作為跳板,進(jìn)一步攻擊 iOS 內(nèi)核。iOS 設(shè)備進(jìn)行 WiFi 通信時,內(nèi)核的 WiFi 驅(qū)動會向 WiFi 芯片發(fā)送 ioctl 請求。如果WiFi芯片被攻擊者控制,攻擊者能夠篡改 ioctl 返回的結(jié)果數(shù)據(jù),觸發(fā)內(nèi)核WiFi驅(qū)動中結(jié)果處理函數(shù)的漏洞,從而實現(xiàn)對 iOS 內(nèi)核的攻擊。

▲表1: 當(dāng)攻擊者控制WiFi芯片后,可用于攻擊iOS內(nèi)核驅(qū)動的漏洞

表1中列舉了可由WiFi芯片作為跳板攻擊內(nèi)核的漏洞。漏洞原理簡要說明如下:

●CVE-2017-7103:驅(qū)動AppleBCMWLANBusInterfacePCIe中的函數(shù)completeFirmwareTimestampMsg,在Firmware Timestamp消息完成后會被回調(diào)。函數(shù)內(nèi)部將Timestamp消息封裝為mbuf,交由processFirmwareTimeSyncMessage處理,mbuf pkthdr_len設(shè)置為消息中timestamp_length字段的值。processFirmwareTimeSyncMessage函數(shù)內(nèi)部存在一處memmove調(diào)用,長度參數(shù)為pkthdr_len。程序沒有對pkthdr_len進(jìn)行檢查,構(gòu)造過大的pkthdr_len會使memmove調(diào)用產(chǎn)生內(nèi)存溢出。

●CVE-2017-7105:驅(qū)動AppleBCMWLANCore中的函數(shù)assembleBGScanResults,在處理WLC_GET_VAR ioctl返回的結(jié)果時,會調(diào)用IOMalloc分配一塊堆內(nèi)存,內(nèi)存分配長度根據(jù)返回結(jié)果中的字段計算得出。代碼中缺少對分配長度的溢出校驗,在WiFi芯片被控制情況下,攻擊者可通過篡改ioctl返回數(shù)據(jù),使IOMalloc分配長度在計算時產(chǎn)生整型溢出,進(jìn)而導(dǎo)致過小的內(nèi)存分配,后續(xù)對分配內(nèi)存的copy操作可能引起堆溢出。

●CVE-2017-7108:驅(qū)動AppleBCMWLANCore中的updateRateSetAsyncCallback函數(shù),在處理WLC_GET_CURR_RATESET ioctl請求結(jié)果時,首先將0x14字節(jié)的結(jié)果數(shù)據(jù)中讀到棧中buffer。rate數(shù)目由buffer中前4字節(jié)獲得,接著函數(shù)從buffer+4處循環(huán)讀出rate數(shù)據(jù)。由于在循環(huán)操作前缺少對rate數(shù)目的校驗,攻擊者可以篡改ioctl返回的rate結(jié)果,將rate數(shù)目字段改為過大的值,實現(xiàn)對buffer數(shù)據(jù)的越界讀,造成棧上數(shù)據(jù)信息泄露。

●CVE-2017-7110:設(shè)備向WiFi芯片發(fā)送獲得所有Vendor IE列表信息的ioctl請求,返回結(jié)果交由驅(qū)動AppleBCMWLANCore中setVendorIE函數(shù)處理。setVendorIE內(nèi)部調(diào)用obvcopy時,length參數(shù)根據(jù)ioctl返回結(jié)果中字段的計算得出。然而程序中缺乏對length值的校驗,在WiFi芯片受控下,攻擊者可以構(gòu)造畸形請求結(jié)果,使得obvcopy的length過大,導(dǎo)致堆溢出。

●CVE-2017-7112:驅(qū)動AppleBCMWLANCore中handleTraceEvent函數(shù),在處理WLC_E_TRACE消息時,缺少對消息頭中l(wèi)en字段的檢查。而后根據(jù)len計算得到的數(shù)組索引,進(jìn)而改寫數(shù)組內(nèi)容時,可能對數(shù)組以外的內(nèi)存寫入NULL byte。

4. 絕大多數(shù)iOS用戶受到WiFi高危漏洞威脅

截至2017年9月27日,通過對國內(nèi)上億臺iOS設(shè)備的系統(tǒng)版本進(jìn)行的統(tǒng)計,排除虛假設(shè)備干擾結(jié)果后,詳細(xì)系統(tǒng)版本比例分布如圖4所示。從左半部分開始,逆時針方向按新舊版本次序依次為最新的iOS 11.x到iOS 7.x。其中,最新的iOS 11.x設(shè)備占比為7.7%,iOS 10.3.3系統(tǒng)占比50.8%,此版本之外的iOS 10.x版本(10.0.0至10.3.2)占比23.8%。早期的iOS 9.x設(shè)備占比11.2%,iOS 8.x 占比 5.8%,更早期的iOS 7占比 0.7%。

從圖中可以看到, 目前國內(nèi)升級到最新的iOS 11.x系統(tǒng)的設(shè)備僅占7.7%,有近半的iOS設(shè)備系統(tǒng)版本為10.3.3。 其余設(shè)備停留在10.3.2到更早的7.x等不同的版本。這些舊版iOS系統(tǒng)的設(shè)備(高達(dá)92.3%)面臨著文中列舉的WiFi芯片高危漏洞帶來的安全威脅。

▲圖4:國內(nèi)iOS設(shè)備系統(tǒng)版本分布(2017年9月27日)

此外,我們統(tǒng)計了從2017年9月11日到2017年9月27日(iOS 11的升級推出于9月19日)iOS各個系統(tǒng)版本的升級情況。結(jié)果如圖5所示。可以看到,從9月19日開始推送iOS 11.0升級至9月27日期間,iOS 11.x用戶占比緩慢遞增至7.7%,升級主要來源于iOS 10.3.3。整個統(tǒng)計期間iOS 7.x至10.x的用戶占比基本不變,也就是說,仍然有近41.5%的用戶選擇停留在iOS 10.3.2及以下系統(tǒng)不升級。

▲圖5:國內(nèi)iOS設(shè)備系統(tǒng)升級趨勢(2017年9月11日-2017年9月27日)

5. 結(jié)語

本文分析了近期曝出的iOS設(shè)備WiFi芯片高危漏洞以及影響范圍。文中提及的漏洞雖然已在iOS 11得到修復(fù),但通過實際統(tǒng)計發(fā)現(xiàn),絕大多數(shù)用戶由于各種原因沒有升級上來,仍面臨嚴(yán)重的安全威脅。建議用戶及時升級系統(tǒng)到最新版本,避免受到高危漏洞影響。同時,我們也呼吁手機(jī)以及硬件廠商采取更積極的防護(hù)技術(shù),避免用戶受到已知的高危漏洞威脅。


掃碼關(guān)注5G通信官方公眾號,免費領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費領(lǐng)取《中國移動:5G網(wǎng)絡(luò)AI應(yīng)用典型場景技術(shù)解決方案白皮書
  • 2、回復(fù)“5G6G”免費領(lǐng)取《5G_6G毫米波測試技術(shù)白皮書-2022_03-21
  • 3、回復(fù)“YD6G”免費領(lǐng)取《中國移動:6G至簡無線接入網(wǎng)白皮書
  • 4、回復(fù)“LTBPS”免費領(lǐng)取《《中國聯(lián)通5G終端白皮書》
  • 5、回復(fù)“ZGDX”免費領(lǐng)取《中國電信5G NTN技術(shù)白皮書
  • 6、回復(fù)“TXSB”免費領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費領(lǐng)取《中國移動算力并網(wǎng)白皮書
  • 8、回復(fù)“5GX3”免費領(lǐng)取《 R16 23501-g60 5G的系統(tǒng)架構(gòu)1
  • 對本帖內(nèi)容的看法? 我要點評

     
    [充值威望,立即自動到帳] [VIP貴賓權(quán)限+威望套餐] 另有大量優(yōu)惠贈送活動,請光臨充值中心
    充值擁有大量的威望和最高的下載權(quán)限,下載站內(nèi)資料無憂

    快速回復(fù)主題    
    標(biāo)題
    內(nèi)容
     上傳資料請點左側(cè)【添加附件】

    當(dāng)前時區(qū) GMT+8, 現(xiàn)在時間是 2025-02-02 20:38:32
    渝ICP備11001752號  Copyright @ 2006-2016 mscbsc.com  本站統(tǒng)一服務(wù)郵箱:mscbsc@163.com

    Processed in 0.251035 second(s), 13 queries , Gzip enabled
    TOP
    清除 Cookies - 聯(lián)系我們 - 移動通信網(wǎng) - 移動通信論壇 - 通信招聘網(wǎng) - Archiver