




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
漏洞挖掘經(jīng)驗(yàn)培訓(xùn)2023主要內(nèi)容主要內(nèi)容背景與約束漏洞挖掘與利用為什么要轉(zhuǎn)漏洞挖掘如何轉(zhuǎn)到漏洞挖掘結(jié)語背景與約束背景與約束每個(gè)人眼里都有一個(gè)世界。每個(gè)人都有自己的局限性。經(jīng)驗(yàn)是不可傳承的,每個(gè)人都有屬于自己的路,但仍希望本文能對你有所幫助。二進(jìn)制方面的漏洞挖掘與利用。領(lǐng)域與目標(biāo):默認(rèn)指macOS/iOS。面向:開發(fā)人員。漏洞挖掘與利用漏洞挖掘與利用–挖掘漏洞挖掘研究的是什么?研究的是可以用于突破安全邊界的編程錯(cuò)誤。識別編程錯(cuò)誤。觸發(fā)編程錯(cuò)誤的方法。自動(dòng)、高效發(fā)現(xiàn)編程錯(cuò)誤的方法。本文中的編程錯(cuò)誤指:可以用于突破安全邊界的編程錯(cuò)誤。大部分編程錯(cuò)誤跟“信任”有關(guān)系,從廣義的角度說,漏洞挖掘研究的是:信任與欺騙。漏洞挖掘與利用漏洞挖掘與利用–利用漏洞利用研究的是:控制與轉(zhuǎn)化。下面是我在日報(bào)里寫的一句話,iOS內(nèi)核利用的過程實(shí)際是:以初始錯(cuò)誤類型為起點(diǎn),以內(nèi)核空間任意地址讀寫為終點(diǎn),不斷提升控制內(nèi)核數(shù)據(jù)能力的過程。挖掘與利用所依賴的知識有共性,但是差別很大,待處理的問題處理問題時(shí)的思維模式個(gè)人認(rèn)為這是兩個(gè)不同的方向。相對于挖掘,在沒有公開套路的情況下,利用更具創(chuàng)造性、藝術(shù)性。漏洞挖掘與利用漏洞挖掘與利用–思維模式下圖是Minizip庫的解壓縮接口的截圖。開發(fā)人員關(guān)注什么?大部分關(guān)注的是:接口如何使用。一部分會(huì)關(guān)注:庫的設(shè)計(jì)庫內(nèi)部使用的算法。這跟我們所接受的專業(yè)訓(xùn)練有關(guān)系。漏洞挖掘人員關(guān)注什么?攻擊面,即:哪些數(shù)據(jù)是攻擊者可控的。庫內(nèi)部的實(shí)現(xiàn):路徑穿越,符號問題,溢出,內(nèi)存操作等。也會(huì)關(guān)注接口:主要看接口是否清晰、易用,是否容易讓開發(fā)者犯錯(cuò)。開發(fā):直接性??吹降氖墙涌?,關(guān)注的也是接口。漏洞挖掘與利用:間接性??吹降氖墙涌?,關(guān)注的是數(shù)據(jù)對內(nèi)部實(shí)現(xiàn)的影響。例子:內(nèi)核利用。漏洞挖掘與利用漏洞挖掘與利用–對抗開發(fā)者與廠商的利益是一致的,大家共處一個(gè)生態(tài)。本質(zhì)上,漏洞挖掘與廠商處于對抗?fàn)顟B(tài)。如果沒有漏洞挖掘人員,廠商可以降低數(shù)量可觀的成本。漏洞挖掘的同行之間:撞洞。漏洞挖掘與利用漏洞挖掘與利用–不確定性開發(fā)人員及軟件工程:為了保證確定性,追求的也是確定性。漏洞挖掘與利用領(lǐng)域涉及不確定性,尤其是當(dāng)前的漏洞利用領(lǐng)域。這會(huì)讓我們感覺很不舒服、不可靠。漏洞挖掘與利用漏洞挖掘與利用–支撐技術(shù)開發(fā)領(lǐng)域的一些調(diào)侃:Google編程。Github編程。QQ群編程。這些在漏洞挖掘領(lǐng)域基本不存在,遇到的大部分問題都需要自己解決。漏洞挖掘與利用漏洞挖掘與利用–工程化程度工程化是為了保證結(jié)果,粗暴地講就是:如果這么做,就可以得到結(jié)果。先定義“結(jié)果”再來看工程化程度。如果結(jié)果是:打下目標(biāo),那工程化程度非常低。如果結(jié)果是:獲得CVE,那工程化程度中等偏下。為什么要談工程化程度?因?yàn)楫a(chǎn)出。0產(chǎn)出的情況,但在漏洞挖掘領(lǐng)域,結(jié)合具體的目標(biāo),0產(chǎn)出情況的。為了避免這種情況,需要持續(xù)不斷的思考、總結(jié)、學(xué)習(xí)、對抗。漏洞挖掘與利用漏洞挖掘與利用–習(xí)慣失敗在大部分情況下,開發(fā)人員在解決好不好的問題,漏洞挖掘與利用人員在解決能不能的問題。在實(shí)際的項(xiàng)目開發(fā)中,每天都可以輸出代碼,大部分需求都是可以實(shí)現(xiàn)的。在針對有實(shí)際價(jià)值的目標(biāo)的漏洞挖掘過程中,基本不可能每天都發(fā)現(xiàn)漏洞,所發(fā)現(xiàn)的漏洞大部分都不可利用。所設(shè)計(jì)的利用方案,很可能在某個(gè)環(huán)節(jié)上,被某個(gè)緩解措施阻止。這種情況會(huì)對開發(fā)人員造成心理沖擊,如果內(nèi)心不強(qiáng)大,很可能會(huì)放棄。我們要習(xí)慣失敗,但仍對目標(biāo)保有渴望。我們要在多次失敗的情況下,繼續(xù)保持研究的節(jié)奏。漏洞挖掘與利用漏洞挖掘與利用–方法論尖專注圖片來源:\h/wuqi/lenbingqi/6222.html實(shí)戰(zhàn)實(shí)操圖片來源:/p/34766047漏洞挖掘與利用漏洞挖掘與利用–價(jià)值觀開發(fā)領(lǐng)域,大家的價(jià)值觀比較統(tǒng)一。漏洞挖掘領(lǐng)域存在各種價(jià)值觀:打下目標(biāo)。CVE致謝的數(shù)量。學(xué)術(shù)價(jià)值。–……沒有對錯(cuò)、好壞,都在推動(dòng)這個(gè)行業(yè)向前發(fā)展。為什么要轉(zhuǎn)漏洞挖掘?yàn)槭裁匆D(zhuǎn)漏洞挖掘興趣所在。挑戰(zhàn)與快樂。結(jié)果更好衡量:數(shù)量質(zhì)量可能,除了父母,沒有人真的會(huì)為我們的未來買單。如何轉(zhuǎn)到漏洞挖掘如何轉(zhuǎn)到漏洞挖掘–學(xué)習(xí)方法對于初學(xué)者,個(gè)人不提倡“書單式”的學(xué)習(xí)。個(gè)人鼓勵(lì)“功利式”的學(xué)習(xí)。學(xué)習(xí)知識是為了解決問題,知識是為目的服務(wù)的。如何轉(zhuǎn)到漏洞挖掘–Review研究的是:編程錯(cuò)誤。最核心的方法論是:專注+實(shí)操。如何轉(zhuǎn)到漏洞挖掘如何轉(zhuǎn)到漏洞挖掘–強(qiáng)化目的目的是:尋找編程錯(cuò)誤。其它的都是為這個(gè)目的服務(wù):代碼閱讀能力。靜態(tài)分析能力。動(dòng)態(tài)分析能力。–……不要本末倒置。個(gè)人認(rèn)為:對于職業(yè)的漏洞挖掘人員,針對編程錯(cuò)誤的思考與訓(xùn)練,應(yīng)該每天都進(jìn)行,目的是把其變成一種“肌肉記憶”。大家要記住目的,不要迷失在知識的海洋里。如何轉(zhuǎn)到漏洞挖掘如何轉(zhuǎn)到漏洞挖掘–確定目標(biāo)由于對抗屬性,首先需要確定目標(biāo)。目標(biāo)不同,技戰(zhàn)術(shù)也不同。大家可以結(jié)合自己的背景與興趣選擇目標(biāo)。目標(biāo)一旦選定,建議一年內(nèi)不要改變。iOS沙盒逃逸。AndroidBinder相關(guān)的漏洞。macOSXPC漏洞。Linux用戶空間提權(quán)。虛擬化產(chǎn)品的逃逸。……如何轉(zhuǎn)到漏洞挖掘如何轉(zhuǎn)到漏洞挖掘–編程錯(cuò)誤首先要掌握通用的錯(cuò)誤類型。TheArtofSoftwareSecurityAssessment》,byMark重點(diǎn)關(guān)注其中的錯(cuò)誤類型。也可以閱讀其它書籍與資料,重點(diǎn)仍然是關(guān)注錯(cuò)誤類型。GP0:/p/project-zero/issues/list?q=&can=1每天積累、關(guān)注錯(cuò)誤類型。關(guān)注每天安全動(dòng)態(tài)中提及的漏洞的錯(cuò)誤類型:/360adlab?is_all=1/xuanwulab?is_all=1上漏洞相關(guān)信息中的錯(cuò)誤類型。總之,豐富自己所掌握的錯(cuò)誤類型,強(qiáng)化自己對編程錯(cuò)誤的識別能力。根據(jù)你選擇的目標(biāo),尋找其歷史漏洞。可以選擇一個(gè)有公開利用的歷史漏洞,重點(diǎn)調(diào)試分析。#調(diào)試分析歷史漏洞#可以讓我們了解:所涉及的領(lǐng)域知識,對目標(biāo)漏洞有更深的理解,對利用有一定理解。分析的第一個(gè)漏洞,需要的時(shí)間比較長。挖掘。如何轉(zhuǎn)到漏洞挖掘如何轉(zhuǎn)到漏洞挖掘–編程錯(cuò)誤#調(diào)試分析歷史漏洞#如果一個(gè)模塊出過漏洞,那它里面存在其它漏洞的可能性更大。另外,可以進(jìn)行“變種分析”。例子:macOSXPC提權(quán)漏洞?!侗P古越獄工具在用戶空間的行為》《iOS8.1.2越獄過程詳解及相關(guān)漏洞分析》感覺自己掌握了大部分漏洞類型后,可以通過發(fā)現(xiàn)N-Day去檢驗(yàn)下自己的能力。方法:個(gè)人。團(tuán)隊(duì)。在學(xué)習(xí)錯(cuò)誤類型以及調(diào)試歷史漏洞時(shí),可能會(huì)涉及逆向及調(diào)試。對于漏洞挖掘,逆向與調(diào)試只是技術(shù)手段,不是技術(shù)目的。如何轉(zhuǎn)到漏洞挖掘如何轉(zhuǎn)到漏洞挖掘–靜態(tài)分析強(qiáng)化逆向能力的一個(gè)方法:選擇一個(gè)缺少文檔,規(guī)模合適的功能,對其進(jìn)行逆向分析。C++程序。在逆向分析的過程中,邊看匯編,邊查手冊,對每一行匯編進(jìn)行注釋。iOSSDKUIImageimageNamed的實(shí)現(xiàn)》iOSSDK“添加本地通知”的流程分析》建議:匯編是非常LowLevel的,匯編間接反應(yīng)的是開發(fā)者的目的,不要被匯編淹沒,只見樹木不見森林,要嘗試去了解開發(fā)者的意圖。如何轉(zhuǎn)到漏洞挖掘如何轉(zhuǎn)到漏洞挖掘–動(dòng)態(tài)分析程序的有些狀態(tài)無法靜態(tài)獲得,因此需要調(diào)試分析,調(diào)試是對逆向的補(bǔ)充、解惑。調(diào)試器有大量的命令與參數(shù),不要去死記這些命令與參數(shù)。大家可以先略讀一本調(diào)試相關(guān)的書籍,掌握使用調(diào)試器解決問題的方法與思路。調(diào)試器是工具,調(diào)試是技術(shù)手段,不是技術(shù)目的?!禔dvancedAppleDebugging&Engineering》調(diào)試之前應(yīng)該想一個(gè)調(diào)試“方案”:想通過調(diào)試了解、確定什么?在哪些地址設(shè)置斷點(diǎn)?斷點(diǎn)命中后,關(guān)注哪些寄存器的值?關(guān)注哪些跳轉(zhuǎn)、分支?練習(xí)方法:可以結(jié)合前面逆向分析的模塊,使用調(diào)試器去獲得在逆向時(shí):無法獲得的信息,或者不容易確定的信息。在調(diào)試器的幫助下,去驗(yàn)證靜態(tài)分析的結(jié)果。如何轉(zhuǎn)到漏洞挖掘如何轉(zhuǎn)到漏洞挖掘–方法工程人員主要使用兩種方法來挖掘漏洞:審計(jì)模糊測試(Fuzzing)前面我們不斷強(qiáng)調(diào)錯(cuò)誤類型,因?yàn)檫@是進(jìn)行審計(jì)的基礎(chǔ)。如何轉(zhuǎn)到漏洞挖掘如何轉(zhuǎn)到漏洞挖掘–審計(jì)以功能為主:一對多功能是“一”,錯(cuò)誤類型是“多”。需要熟練掌握各種錯(cuò)誤類型。以錯(cuò)誤類型為主:變種分析錯(cuò)誤類型為一,功能是多。使用這種方法,審計(jì)過程相對比較輕松。如何轉(zhuǎn)到漏洞挖掘如何轉(zhuǎn)到漏洞挖掘–模糊測試模糊測試(fuzztesting,fuzzing)是一種軟件測試技術(shù)。其核心思想是將自動(dòng)或半自動(dòng)生成的隨機(jī)數(shù)據(jù)輸入到一個(gè)程序中,并監(jiān)視程序異常,如崩潰,斷言(assertion)失敗,以發(fā)現(xiàn)可能的程序錯(cuò)誤,比如內(nèi)存泄漏。模糊測試常常用于檢測軟件或計(jì)算機(jī)系統(tǒng)的安全漏洞。模糊測試非常適合開發(fā)人員,可以利用開發(fā)人員的現(xiàn)有經(jīng)驗(yàn),發(fā)揮出開發(fā)人員的優(yōu)勢。目前效果比較好的模糊測試方法是:GuidedFuzzing。Sanitizer,如:AddressSanitizer。目前常用的模糊測試工具:AFL,AFL++libFuzzerHonggfuzzlibFuzzer+體驗(yàn):去學(xué)習(xí)如何使用工具(如:AFLlibFuzzer),然后選一個(gè)目標(biāo)(建議選
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)院食材采購 投標(biāo)方案(技術(shù)方案)
- 電商平臺具體業(yè)務(wù)
- 中醫(yī)護(hù)理學(xué)(第5版)課件 第一節(jié) 中藥方劑基本常識
- 電子商務(wù)安全交易規(guī)范手冊
- 公路建設(shè)項(xiàng)目工程可行性研究報(bào)告編制辦法
- 系統(tǒng)可行性分析包括哪些內(nèi)容
- 農(nóng)產(chǎn)品加工與綜合利用技術(shù)手冊
- 品牌建設(shè)與營銷策略實(shí)施方案
- 可行性研究報(bào)告審核
- 三農(nóng)種植技術(shù)操作手冊
- 2024年甘肅省公務(wù)員錄用考試《行測》真題及答案解析
- 2024年廣東省公務(wù)員錄用考試《行測》真題及解析
- 人際交往與人際溝通
- “雙循環(huán)”視閾下我國稀土產(chǎn)業(yè)價(jià)值鏈的邏輯構(gòu)成與重構(gòu)路徑研究
- 二十屆三中全會(huì)精神知識競賽試題及答案
- 儲(chǔ)能解決方案
- 統(tǒng)編版六年級下冊道德與法治1-學(xué)會(huì)尊重-課件(54張課件)
- GB/T 44309-2024陶瓷巖板
- 廣東省深圳市寶安區(qū)2024屆六年級數(shù)學(xué)小升初摸底考試含解析
- DL∕T 5156.2-2015 電力工程勘測制圖標(biāo)準(zhǔn) 第2部分:巖土工程
- CHT 1020-2010 1:500 1:1 000 1:2 000地形圖質(zhì)量檢驗(yàn)技術(shù)規(guī)程(正式版)
評論
0/150
提交評論