久久久18,天天躁夜夜躁狠狠躁婷婷,国产成人三级一区二区在线观看一,最近的2019中文字幕视频 ,最新免费av在线观看

a&s專業(yè)的自動(dòng)化&安全生態(tài)服務(wù)平臺(tái)
公眾號(hào)
安全自動(dòng)化

安全自動(dòng)化

安防知識(shí)網(wǎng)

安防知識(shí)網(wǎng)

手機(jī)站
手機(jī)站

手機(jī)站

大安防供需平臺(tái)
大安防供需平臺(tái)

大安防供需平臺(tái)

資訊頻道橫幅A1
首頁(yè) > 資訊 > 正文

手機(jī)攻擊解密──你不知道的漏洞威脅

為了支持不同的手機(jī)不同的芯片,需要進(jìn)行驅(qū)動(dòng)編寫給用戶提供相同的接口,導(dǎo)致廠商驅(qū)動(dòng)的安全性比Android內(nèi)核本身的安全性差,廠商驅(qū)動(dòng)為Android系統(tǒng)帶來(lái)了新的攻擊面新的漏洞。
  長(zhǎng)亭科技安全研究實(shí)驗(yàn)室的實(shí)習(xí)生于晨升稍早前在第二屆中國(guó)互聯(lián)網(wǎng)安全領(lǐng)袖峰會(huì)上,詳細(xì)說(shuō)明了黑客會(huì)如何利用未公開漏洞ROOT掉一款最新款的流行手機(jī)。于晨升從Android系統(tǒng)架構(gòu)解析開始,解釋了手機(jī)的漏洞是如何被攻擊,以及該如何防范。
 
  于晨升指出,Android系統(tǒng)架構(gòu)主要分為四層,即是:Application層、Framework層、Library層以及Kernel層。手機(jī)的自帶應(yīng)用在Application層,這一層從安裝到運(yùn)行其權(quán)限最低。Framework層主要為Application層的應(yīng)用提供系統(tǒng)服務(wù),隨后在安卓程序運(yùn)行時(shí),需要第三層Library層的支持,通過此層引入運(yùn)行時(shí)所依賴的動(dòng)態(tài)庫(kù)。
 
  Kernel層為系統(tǒng)內(nèi)核層。特別是在Android系統(tǒng)第四層內(nèi)核層中包含許多廠商相關(guān)的驅(qū)動(dòng),例如顯卡、相機(jī)、觸摸屏的驅(qū)動(dòng)等。于晨升表示,為了支持不同的手機(jī)不同的芯片,需要進(jìn)行驅(qū)動(dòng)編寫給用戶提供相同的接口,導(dǎo)致廠商驅(qū)動(dòng)的安全性比Android內(nèi)核本身的安全性差,廠商驅(qū)動(dòng)為Android系統(tǒng)帶來(lái)了新的攻擊面新的漏洞。因此,尋找手機(jī)漏洞,可以從這個(gè)層面出發(fā)。
 
漏洞分析
 
  于晨升分享了CVE-2015-0569,CVE-2015-0570, CVE-2015-0571三個(gè)已知漏洞的利用思路和過程。他表示,這三個(gè)漏洞由slipper在2015年的GeekPwn上公開,存在于高通WLAN驅(qū)動(dòng)中的棧溢出與堆溢出漏洞,漏洞由于在進(jìn)行內(nèi)存拷貝之前未檢驗(yàn)拷貝長(zhǎng)度,導(dǎo)致緩沖區(qū)溢出。隨后高通第一時(shí)間修補(bǔ)了漏洞,在內(nèi)存拷貝操作之前進(jìn)行了檢查,同時(shí)在調(diào)用對(duì)應(yīng)的代碼塊之前進(jìn)行了權(quán)限檢查(CAP_NET_ADMIN)。
 
  至于如何從發(fā)現(xiàn)漏洞到利用漏洞,再獲得手機(jī)root權(quán)限呢?于晨升解釋說(shuō),觸發(fā)漏洞后,就能夠達(dá)到的任意內(nèi)核地址寫0效果。從0開始的地址無(wú)法申請(qǐng),寫函數(shù)指針寫0無(wú)法實(shí)現(xiàn),所以需要提升條件,寫0但是不把所有的指針寫為0只是更改高位的,然后對(duì)地址進(jìn)行操作。無(wú)KASLR,覆寫固定地址的指針高位是可行的。有時(shí)改寫函數(shù)值是不可行的,因?yàn)槎鄶?shù)ARM64架構(gòu)的手機(jī)上PXN是打開的,不能直接申請(qǐng)一段用戶態(tài)內(nèi)存讓內(nèi)核去執(zhí)行shellcode。那么此時(shí)該如何利用呢?
 
  為了解決以上問題,于晨升在鏈表頭數(shù)組inetsw中尋找到了突破口:
 

 
  inetsw是linux內(nèi)核用于維護(hù)socket創(chuàng)建時(shí)所需要的信息的雙向鏈表,inet_register_protosw時(shí),將特定類型的socket信息加入到鏈表中, inet_create時(shí)遍歷鏈表尋找對(duì)應(yīng)信息。包含proto, ops等結(jié)構(gòu)的指針,這些結(jié)構(gòu)中又含有許多的函數(shù)指針。
 
  因此,如果在無(wú)PAN的條件下,覆寫inetsw中某一個(gè)next指針的高位,在用戶態(tài)偽造數(shù)據(jù)結(jié)構(gòu),可創(chuàng)建一個(gè)完全被控制的socket,最終達(dá)到如下效果:
 

 
  如圖所示,可以看到PC指針形成了一個(gè)特殊的指令,此時(shí)可以控制PC指令了。
 
  那么,控制PC之后如何進(jìn)一步利用呢?此時(shí)無(wú)法執(zhí)行用戶態(tài)代碼,只能利用內(nèi)核態(tài)代碼。我們注意到ioctl中r0, r1, r2寄存器可以控制,于是可以利用以下gadget達(dá)到任意地址讀寫:
 
0x000000000021b598 : str w1, [x2] ; ret
0x00000000001e246c : ldr x0, [x2] ; add w0, w0, #1 ; ret
 
  通過任意地址讀寫,利用init_task可以找到當(dāng)前進(jìn)程的task_struct(或者利用泄露sp的gadget,通過thread_info找到task_struct,更穩(wěn)定)。找到task_struct之后即可修改cred,將uid等改為0即可。同時(shí)patch掉selinux_enforcing,關(guān)掉selinux、mount -o rw,remount /system即可關(guān)掉/system分區(qū)寫保護(hù)。在實(shí)際利用中,發(fā)現(xiàn)mtk設(shè)備的內(nèi)核代碼是可寫的。在關(guān)閉selinux之后,某處的assert會(huì)失敗,可以利用上面的特性patch掉assert的代碼?;蛘咄ㄟ^修改修改當(dāng)前進(jìn)程的sid,將其selinux的context修改為u:r:init:0。實(shí)際測(cè)試中,我們會(huì)發(fā)現(xiàn)u:r:init:0進(jìn)程啟動(dòng)/system/bin/sh后權(quán)限會(huì)降為u:r:init_shell:0。(本文來(lái)自長(zhǎng)亭科技公開發(fā)布文件)
 
 
參與評(píng)論
回復(fù):
0/300
文明上網(wǎng)理性發(fā)言,評(píng)論區(qū)僅供其表達(dá)個(gè)人看法,并不表明a&s觀點(diǎn)。
0
關(guān)于我們

a&s傳媒是全球知名展覽公司法蘭克福展覽集團(tuán)旗下的專業(yè)媒體平臺(tái),自1994年品牌成立以來(lái),一直專注于安全&自動(dòng)化產(chǎn)業(yè)前沿產(chǎn)品、技術(shù)及市場(chǎng)趨勢(shì)的專業(yè)媒體傳播和品牌服務(wù)。從安全管理到產(chǎn)業(yè)數(shù)字化,a&s傳媒擁有首屈一指的國(guó)際行業(yè)展覽會(huì)資源以及豐富的媒體經(jīng)驗(yàn),提供媒體、活動(dòng)、展會(huì)等整合營(yíng)銷服務(wù)。

免責(zé)聲明:本站所使用的字體和圖片文字等素材部分來(lái)源于互聯(lián)網(wǎng)共享平臺(tái)。如使用任何字體和圖片文字有冒犯其版權(quán)所有方的,皆為無(wú)意。如您是字體廠商、圖片文字廠商等版權(quán)方,且不允許本站使用您的字體和圖片文字等素材,請(qǐng)聯(lián)系我們,本站核實(shí)后將立即刪除!任何版權(quán)方從未通知聯(lián)系本站管理者停止使用,并索要賠償或上訴法院的,均視為新型網(wǎng)絡(luò)碰瓷及敲詐勒索,將不予任何的法律和經(jīng)濟(jì)賠償!敬請(qǐng)諒解!
? 2024 - 2030 Messe Frankfurt (Shenzhen) Co., Ltd, All rights reserved.
法蘭克福展覽(深圳)有限公司版權(quán)所有 粵ICP備12072668號(hào) 粵公網(wǎng)安備 44030402000264號(hào)
用戶
反饋