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

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


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

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

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

1. 摘要

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

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

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

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

2.1 漏洞CVE-2017-11120

iOS設(shè)備搭載的BroadCom WiFi芯片采用了快速基本服務(wù)設(shè)置轉(zhuǎn)換(Fast BSS Transition)和無(wú)線資源管理(Radio Resource Management)標(biāo)準(zhǔn)。在接入無(wú)線接入點(diǎn)(Access Point,簡(jiǎn)稱(chēng)AP)后,iOS設(shè)備會(huì)發(fā)送相鄰接入點(diǎn)請(qǐng)求(Neighbor Report Request),AP則返回相鄰接入點(diǎn)應(yīng)答(Neighbor Report Response),包含當(dāng)前無(wú)線局域網(wǎng)內(nèi)的相鄰AP以及各自的BSSID,Operating Class和Channel Number等信息。在處理Neighbor Report Response數(shù)據(jù)幀時(shí),BroadCom WiFi芯片將每一種Operating Class和Neighbor Report信息保存在一個(gè)456字節(jié)的內(nèi)存塊中(如圖1所示),并且將這些塊通過(guò)指針串接起來(lái)。其中,Neighbor Count Array記錄了各個(gè)Channel Number的Neighbor數(shù)量。Array長(zhǎng)度為450字節(jié),每2個(gè)字節(jié)記錄一個(gè)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ù)(簡(jiǎn)稱(chēng)function_AC0A8,下同)首先在串聯(lián)的內(nèi)存塊中查找Operating Class對(duì)應(yīng)的條目,如果沒(méi)有找到,則會(huì)動(dòng)態(tài)創(chuàng)建一個(gè)條目 ,然后從數(shù)據(jù)幀中讀出Channel Number作為數(shù)組索引,定位到 Neighbor Count Array 中元素,將其值加一。此過(guò)程并沒(méi)有對(duì)Channel Number做出校驗(yàn),當(dāng)偽造的數(shù)據(jù)幀中 Channel Number大于0xE0(如0xFF)時(shí),上述過(guò)程將會(huì)造成內(nèi)存越界寫(xiě)。攻擊者可以通過(guò)內(nèi)存越界寫(xiě)改變關(guān)鍵指針數(shù)據(jù)或者控制流元素,一步步接管代碼執(zhí)行。值得一提的是,BroadCom WiFi 芯片里沒(méi)有 ASLR、DEP 等防護(hù),攻擊者可以很容易做代碼改寫(xiě),注入任意代碼執(zhí)行。

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

2.2 漏洞CVE-2017-11121

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

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

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

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

1)GTK解密函數(shù) function_6D8 中,當(dāng)構(gòu)造的畸形數(shù)據(jù)幀中 gtk_subelem[1]為11時(shí),函數(shù)參數(shù)input_length為0。在第二處調(diào)用 memcpy 時(shí),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)用前沒(méi)有檢查 gtk_len 取值,可能導(dǎo)致堆溢出。

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

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

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

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

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

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

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

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

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

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

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

截至2017年9月27日,通過(guò)對(duì)國(guó)內(nèi)上億臺(tái)iOS設(shè)備的系統(tǒng)版本進(jìn)行的統(tǒng)計(jì),排除虛假設(shè)備干擾結(jié)果后,詳細(xì)系統(tǒng)版本比例分布如圖4所示。從左半部分開(kāi)始,逆時(shí)針?lè)较虬葱屡f版本次序依次為最新的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%。

從圖中可以看到, 目前國(guó)內(nèi)升級(jí)到最新的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芯片高危漏洞帶來(lái)的安全威脅。

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

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

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

5. 結(jié)語(yǔ)

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


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

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

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

    當(dāng)前時(shí)區(qū) GMT+8, 現(xiàn)在時(shí)間是 2025-05-23 22:39:35
    渝ICP備11001752號(hào)  Copyright @ 2006-2016 mscbsc.com  本站統(tǒng)一服務(wù)郵箱:mscbsc@163.com

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