日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

科普 | 你必须了解的漏洞利用缓解及对抗技术

發(fā)布時(shí)間:2025/3/15 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 科普 | 你必须了解的漏洞利用缓解及对抗技术 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

隨著軟件系統(tǒng)越來(lái)越復(fù)雜,軟件漏洞變得無(wú)法避免。業(yè)界逐漸推出了讓漏洞無(wú)法利用或利用難度提高的方法,簡(jiǎn)稱(chēng)漏洞緩解技術(shù)。我們簡(jiǎn)單介紹下Android和iOS中廣泛使用的一些漏洞緩解及可能的繞過(guò)技術(shù)。當(dāng)然這里也包含一些相關(guān)聯(lián)的安全限制,而非真正意義的緩解技術(shù)。


緩解及繞過(guò)技術(shù)點(diǎn)

User Permissions

每個(gè)app有自己uid,selinux_context,只有申請(qǐng)并且用戶(hù)允許才有權(quán)限做它想做的事。要突破這些限制,可以考慮通過(guò)每個(gè)app合理的權(quán)限相互結(jié)合后產(chǎn)生的不合理性來(lái)入手。或者App之間交互的漏洞,如Android的FileProvider,先拿下此app等。


SELinux、MAC、Sandbox

SELinux是Security Enhanced Linux縮寫(xiě),可解釋為“安全加固型Linux內(nèi)核”,MAC是Mandatory Access Control的縮寫(xiě),意為強(qiáng)制訪問(wèn)控制。Sandbox即沙盒。它們含了一套很復(fù)雜的權(quán)限管理策略。基本采用白名單模式,默認(rèn)禁止任意進(jìn)程的絕大部分的行為,限制文件訪問(wèn),限制系統(tǒng)調(diào)用及調(diào)用參數(shù)。即限制了每個(gè)app的行為,也減少了被攻擊面。要突破這些限制,比較可行的方法是攻擊如內(nèi)核關(guān)閉等。


PIE、ASLR、KALSR

PIE是Position Independent Executable的縮寫(xiě),與PIC,Position Independent Code一樣。ALSR是Address Layout Space Randomization增強(qiáng)內(nèi)存地址空間分配的隨機(jī)度。可執(zhí)行文件和動(dòng)態(tài)加載的庫(kù)之間的間隔,前后順序均不同,更沒(méi)有規(guī)律。準(zhǔn)確地址未知的情況下攻擊者幾乎不可能完成攻擊,相當(dāng)于戰(zhàn)場(chǎng)上目標(biāo)都沒(méi)有找到。KALSR中的K是kernel的縮寫(xiě),保證每次設(shè)備啟動(dòng)內(nèi)核的虛擬地址是不同的。要突破這些限制,可采用堆噴射等噴射加各種類(lèi)型的滑板,提高利用成功幾率。信息泄漏漏洞,如泄漏內(nèi)存,泄漏文件,獲取內(nèi)存地址。


DEP、PXN

DEP是Data Execution Protection的縮寫(xiě)數(shù)據(jù)不可執(zhí)行,意味著攻擊者不能直接執(zhí)行自己的代碼,使攻擊難度變高。PXN是Privileged Execute Never的縮寫(xiě),內(nèi)核態(tài)無(wú)法運(yùn)行用戶(hù)態(tài)可執(zhí)行數(shù)據(jù)。要突破這些限制,可利用ROP(Return Orient Program),JOP(Jump Orient Program),stack?pivot技術(shù),用程序自己的代碼做攻擊者想做的事。原理是利用現(xiàn)在ABI(Application Binary Interface)的特點(diǎn),改寫(xiě)程序的棧,控制多個(gè)函數(shù)返回地址從而形成鏈,將原有程序自己的代碼片段連起來(lái)做攻擊者想做的事。類(lèi)似生物上的病毒。瀏覽器的話(huà)可以改寫(xiě)JIT(Just In Time)編譯器所用的內(nèi)存。Android用戶(hù)態(tài)mprotect,mmap系統(tǒng)調(diào)用,把內(nèi)存改成可執(zhí)行。


Trust Zone

可信空間,完成指紋、支付、解鎖、DRM和其他認(rèn)證最保險(xiǎn)的一步。即使是操作系統(tǒng)內(nèi)核也無(wú)法訪問(wèn)其內(nèi)存。它完成簽名,加密等工作。要突破這些限制,先考慮拿下有權(quán)限訪問(wèn)的service進(jìn)程drmservie,gatekeeper。通過(guò)Fuzz接口找漏洞。如果拿到代碼執(zhí)行的權(quán)限的話(huà),就可以跳過(guò)指紋驗(yàn)證悄悄的扣款了。


平滑升級(jí)

App自動(dòng)更新,系統(tǒng)自動(dòng)下載并提醒開(kāi)關(guān)機(jī)時(shí)候升級(jí),保證及時(shí)修復(fù)bug,我們也將此列入到漏洞緩解中。要突破這些限制,可以考慮使用Google的app之間彼此信任,先拿下Google的一個(gè)app。讓這個(gè)app向Google?Play發(fā)送安裝請(qǐng)求。


Code Sign

對(duì)代碼進(jìn)行簽名,保證代碼從商店到用戶(hù)手機(jī)上不會(huì)有變化,防止被惡意植入代碼,也防止執(zhí)行未被蘋(píng)果公司審核的代碼。繞過(guò)方法這里就不闡述了。


Secure Boot、Verifying Boot

Secure Boot是iOS中的、Verifying Boot是Android中的,它們保證系統(tǒng)代碼不被修改,保證完美越獄、完美root無(wú)法實(shí)現(xiàn)。還有一些手機(jī)廠商自定義的緩釋措施,如Android的system分區(qū)強(qiáng)制只能只讀掛載,需要修改部分驅(qū)動(dòng)中的數(shù)據(jù)才能實(shí)現(xiàn)對(duì)system分區(qū)的修改


示例初探

在之前發(fā)布的《PXN防護(hù)技術(shù)的研究與繞過(guò)》這篇文章,里面詳細(xì)解釋了如何繞過(guò)DEP、PXN這兩種緩釋措施,用的基本方法就是JOP和ROP技術(shù)。我們將在此基礎(chǔ)上解釋root工具中繞過(guò)其他幾種防護(hù)的方法。


文章提到將thread_info中的addr_limit改為0xffffffffffffffff:



addr_limit是用于限制一個(gè)線程虛擬地址訪問(wèn)范圍,為0至addr_limit,改成0xffffffffffffffff表示全部64位地址全部可訪問(wèn)。Google至今沒(méi)有在Android上啟用KALSR,arm64內(nèi)核一般都固定在0xffffffc000000000開(kāi)始的虛擬地址上,并沒(méi)有隨機(jī)化也就是說(shuō)可以隨意讀寫(xiě)內(nèi)核了。雖然Android沒(méi)有KALSR但內(nèi)核堆的地址依舊是不可預(yù)知的相當(dāng)于一種隨機(jī)化,想要利用CVE-2015-3636(pingpong)這類(lèi)UAF類(lèi)型漏洞必須要用到噴射或者ret2dir這類(lèi)內(nèi)存掩蓋技術(shù)。



一般是將uid、gid修改為0,0是root的uid,即此線程擁有了root權(quán)限,capabilities修改為0xffffffffffffffff掩蓋所有比特位,表示擁有所有capability。至此user permissions緩釋就被繞過(guò)了,也可以把自己偽造成其他任意用戶(hù)。


將“selinux_enforcing”這個(gè)內(nèi)核中的全局變量設(shè)為0后,selinux相當(dāng)于被關(guān)閉了。此舉可以繞過(guò)SElinux的緩釋。


MAC、Sandbox是iOS中的緩釋措施,作用相當(dāng)于Android中的SELinux。蘋(píng)果公司的Code Sign要求除了開(kāi)發(fā)所用程序,所有可執(zhí)行代碼必須要蘋(píng)果公司簽名才能在iPhone運(yùn)行。Android雖然要對(duì)APK簽名但APK依舊可以任意加載可執(zhí)行程序。


在此次阿里聚安全攻防挑戰(zhàn)賽中便可以體驗(yàn)一把如何突破ASLR、DEP等漏洞緩解技術(shù)該題是由螞蟻金服巴斯光年實(shí)驗(yàn)室(AFLSLab) 曲和、超六、此彼三位同學(xué)完成設(shè)計(jì),將模擬應(yīng)用場(chǎng)景準(zhǔn)備一些包含bug的程序,并側(cè)重于PWN形式,服務(wù)端PWN需要選手具備二進(jìn)制程序漏洞挖掘和利用能力,通過(guò)逆向服務(wù)端程序,找出服務(wù)端程序的各類(lèi)問(wèn)題,然后編寫(xiě)利用代碼,在同服務(wù)端程序的交互中取得服務(wù)端程序的shell權(quán)限,進(jìn)而拿到服務(wù)器上的敏感信息。另外在Android應(yīng)用PWN能力方面,需要選手具有遠(yuǎn)程獲得任意代碼執(zhí)行和arm64平臺(tái)反匯編理解邏輯的能力,尋找能夠突破DEP、ASLR等防護(hù),進(jìn)而控制目標(biāo)APP執(zhí)行自己的代碼。


這次參與出題的螞蟻金服巴斯光年實(shí)驗(yàn)室(AFLSLab)是螞蟻金服安全中心(俗稱(chēng)螞蟻神盾局)旗下近期剛成立不久的移動(dòng)安全實(shí)驗(yàn)室,除護(hù)航支付寶錢(qián)包及螞蟻金服相關(guān)產(chǎn)品的安全外,也同時(shí)為守護(hù)外部廠商、商戶(hù)、生態(tài)伙伴終端基礎(chǔ)安全。雖然成立時(shí)間很短,但已經(jīng)為google、三星、華為等公司上報(bào)多個(gè)安全漏洞。實(shí)驗(yàn)室技術(shù)負(fù)責(zé)人曲和表示,期望通過(guò)此次比賽吸引更多應(yīng)用及系統(tǒng)漏洞挖掘和漏洞利用的選手進(jìn)行交流學(xué)習(xí),共同為互聯(lián)網(wǎng)安全新生態(tài)而努力。


原文地址:?http://jaq.alibaba.com/community/art/show?spm=a313e.7916646.24000001.22.PiP9Q0&articleid=678

總結(jié)

以上是生活随笔為你收集整理的科普 | 你必须了解的漏洞利用缓解及对抗技术的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。