freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

com組件棧緩沖區(qū)溢出漏洞檢測技術(shù)研究-碩士學(xué)位論文-文庫吧

2025-06-13 08:21 本頁面


【正文】 .......................................................................(36) 函數(shù)定位模塊實現(xiàn) .............................................................................(37) 棧溢出靜態(tài)分析模塊實現(xiàn) .................................................................(38) 結(jié)果輸出模塊實現(xiàn) .............................................................................(47) 與 CSTS 的接口 ..................................................................................(49) 小結(jié) .....................................................................................................(50)5 實驗與測試 實驗?zāi)康?.............................................................................................(51) 實驗 環(huán)境 .............................................................................................(51) 測試用例 .............................................................................................(52) 測試結(jié)果 .............................................................................................(53)6 總結(jié)與展望 工作總結(jié) .............................................................................................(59) 工作展望 .............................................................................................(60)致謝 .............................................................................................................(61)參考文獻(xiàn) .....................................................................................................(62)附錄 攻讀學(xué)位期間參與的科研項目 .......................................................(67)1華 中 科 技 大 學(xué) 碩 士 學(xué) 位 論 文1 緒 論 課題背景繼面向?qū)ο蟮能浖O(shè)計方法之后,基于組件的軟件設(shè)計方法正在逐漸成為新的趨勢 [1]。按照組件化程序設(shè)計的思想,復(fù)雜的應(yīng)用程序被設(shè)計成一些小的、功能單一的組件模塊,這些模塊可以運行在同一機(jī)器上,也可以運行在不同的機(jī)器上,每臺機(jī)器的運行環(huán)境可以不同,甚至可以是不同的操作系統(tǒng)。為了實現(xiàn)這樣的應(yīng)用軟件,組件需要一些細(xì)致的規(guī)范,只有組件程序遵守這些共同的規(guī)范,組件軟件才能正常運行。目前流行的組件規(guī)范有三種,它們是 OMG(Object Management Group)提出的 CORBA(Common Object Request Breaker Architecture);微軟提出的COM(Component Object Model);還有 SUN 公司提出的 EJB(Enterprise Java Bean)。Cai[2]給出了三種規(guī)范的詳細(xì)比較。微軟的 COM 組件對象模型是當(dāng)今比較成熟的軟件組件規(guī)范之一,被廣泛應(yīng)用于 Windows 操作系統(tǒng)和應(yīng)用程序中。在分布式計算、Inter 網(wǎng)絡(luò)、三層體系結(jié)構(gòu)開發(fā)以及音視頻處理等前沿領(lǐng)域,COM 組件技術(shù)正在被大量使用。COM 組件在受到廣泛應(yīng)用的同時,自身的安全問題也日益暴露。其中,緩沖區(qū)溢出安全問題占了很大的比例。在安全日益被人們所關(guān)注的今天,緩沖區(qū)溢出毫無疑問是最大的安全威脅之一。1988 年,Inter 上的第一例蠕蟲(Morris)攻擊,就是利用 Vax 和 Sun 機(jī)器 fingerd中的緩沖區(qū)溢出漏洞。SANS 評選出的 2022 年威脅最大的 20 個漏洞中,有 8 個跟緩沖區(qū)溢出有關(guān)。國內(nèi)綠盟科技根據(jù)安全漏洞的嚴(yán)重程度、影響范圍等因素綜合評出 2022 年度的十大安全漏洞,緩沖區(qū)溢出漏洞占 4 個。綠盟科技在 2022 年發(fā)布CVE 漏洞 8 個,而緩沖區(qū)溢出漏洞就占了 5 個。根據(jù) CERT 的統(tǒng)計數(shù)據(jù),近幾年與緩沖區(qū)溢出有關(guān)的安全事件在 50%以上。經(jīng)過十幾年的發(fā)展,緩沖區(qū)溢出已經(jīng)成為一種成熟和最有效的黑客攻擊手段。并且在接下來的許多年里,情況仍然會是這樣。隨著 COM 組件的廣泛應(yīng)用,COM2華 中 科 技 大 學(xué) 碩 士 學(xué) 位 論 文組件中暴露的緩沖區(qū)溢出的安全問題的數(shù)量也是逐年上升。因此檢測 COM 組件的緩沖區(qū)溢出漏洞具有十分重要的意義。COM 組件多數(shù)情況下源代碼不可知,目前常用的測試方法是黑盒測試。按照經(jīng)驗和一般規(guī)律設(shè)計大量測試用例,以期望觸發(fā)組件的漏洞和異常。這種方法在某些時候會起到較好的效果,但效率太低,而且對測試人員的經(jīng)驗和技術(shù)水平要求很高。為了改進(jìn)已有的 COM 組件測試方法,提高對 COM 組件安全漏洞的檢測,本論文研究并實現(xiàn)了 COM 組件棧緩沖區(qū)溢出漏洞檢測原型系統(tǒng)。同時,對 COM 組件進(jìn)行靜態(tài)分析獲取其結(jié)構(gòu)信息和安全漏洞信息是實驗室正在研發(fā)的針對 COM 組件的安全漏洞自動檢測工具的需要。所以本論文研發(fā)的原型系統(tǒng)可以很好與實驗室研發(fā)的自動檢測工具結(jié)合,以完善該工具的效率和功能。 國內(nèi)外 概況軟構(gòu)件技術(shù)提供了一種較面向?qū)ο蠓椒ǜ鼮橛行У能浖O(shè)計模式,構(gòu)件軟件被廣泛應(yīng)用并成為一種主流軟件形態(tài) [3](本段及后兩段中的 “構(gòu)件”與論文中的“組件”概念一樣,只是翻譯的不同) 。然而,構(gòu)件的內(nèi)部信息屏蔽、演變速度快以及構(gòu)件間的異質(zhì)、松耦合等特點給構(gòu)件及構(gòu)件軟件的測試工作帶來一系列的問題 [4,5]:對于構(gòu)件提供者,問題在于需要使用相當(dāng)充分的覆蓋準(zhǔn)則進(jìn)行測試以提高構(gòu)件的可復(fù)用性;對用戶使用構(gòu)件的上下文環(huán)境并不完全了解;并且不能很好的獲得構(gòu)件的錯誤報告。對于構(gòu)件使用者而言,問題在于源代碼不可見性給測試設(shè)計和用例生成帶來了極大的障礙 [6];系統(tǒng)中構(gòu)件的異質(zhì)性不利于測試標(biāo)準(zhǔn)的統(tǒng)一及自動化的實現(xiàn);構(gòu)件版本更新快以及不確定性迫使要對構(gòu)件系統(tǒng)進(jìn)行較為頻繁的回歸測試等。構(gòu)件軟件測試通常分為構(gòu)件測試、子系統(tǒng)測試、系統(tǒng)測試三個階段 [7],分別與傳統(tǒng)軟件測試過程的單元測試、集成測試和系統(tǒng)測試相對應(yīng)。Harrold [8]認(rèn)為應(yīng)該從構(gòu)件開發(fā)者和構(gòu)件使用者兩個不同的角度來看待構(gòu)件軟件的測試問題。一般來講,構(gòu)件測試主要由構(gòu)件的開發(fā)者完成,而后兩個階段的測試則由使用者實施。3華 中 科 技 大 學(xué) 碩 士 學(xué) 位 論 文總之,根據(jù)構(gòu)件自身的特點,尋求高效的構(gòu)件軟件測試技術(shù)和開發(fā)實用的測試工具是當(dāng)今軟件業(yè)界一個亟待解決的問題。相對于構(gòu)件測試的研究,針對緩沖區(qū)溢出攻擊的研究比較成熟。緩沖區(qū)溢出攻擊可追溯到 1988 年臭名昭著的 Morris 蠕蟲, 在隨后的 1989 年里,Spafford 提交了一份關(guān)于運行在 VAX 機(jī)上的 BSD 版 UNIX 的 fingerd 的緩沖區(qū)溢出程序的技術(shù)細(xì)節(jié)的分析報告,這引起了一部分安全人士對這個研究領(lǐng)域的重視。但真正讓眾人認(rèn)識緩沖區(qū)溢出攻擊的論文是 1996 年 11 月 Aleph One 在 Phrack 雜志第 49 期發(fā)表的論文“Smashing the stack for fun and profit”[9]。該論文闡述了 Linux 系統(tǒng)中棧的結(jié)構(gòu)和如何利用棧緩沖區(qū)溢出,并首次提出 shellcode 的概念。1999 年, 遠(yuǎn)程攻擊代碼的作者 dark spyrit AKA Barnaby Jack[10]在 Phrack Magzine(第 55 期)上提出了使用系統(tǒng)核心 DLL 中的 “jmp esp”的指令來完成到 shellcode 跳轉(zhuǎn)的想法,從此開創(chuàng)了 Win32 平臺下緩沖區(qū)溢出的新思想,大量 Windows 平臺下的緩沖區(qū)溢出漏洞也被利用。在緩沖區(qū)溢出漏洞挖掘和檢測方面,國外已經(jīng)有一些較為深入的研究工作,并且這些技術(shù)都能應(yīng)用到在 Win32 平臺下開發(fā)的軟件中,而國內(nèi)的研究還處于初級階段。通過對目前國內(nèi)外相關(guān)研究文獻(xiàn)的搜集整理,按照各種技術(shù)的研究對象的不同,可將緩沖區(qū)溢出漏洞檢測的研究工作進(jìn)行如下分類 [11,12,13]:基于源代碼的靜態(tài)檢測技術(shù):將源代碼作為輸入,通過建立漏洞庫,掃描源代碼,匹配漏洞模式來檢測緩沖區(qū)溢出漏洞。目前關(guān)于此方面的研究較多,典型的工具有 ITS4[14]、BOON [15]、Splint [16,17]、ARCHER [18]等?;谠创a的動態(tài)檢測技術(shù):可通過擴(kuò)展編譯器功能和直接修改源代碼來完成溢出漏洞的檢測,如 StackGuard[19,20]和 STOBO[21]等工具?;诙M(jìn)制代碼的動態(tài)檢測技術(shù):通過靜態(tài)或動態(tài)修改二進(jìn)制代碼和采用“黑盒測試”的方法實現(xiàn)棧溢出漏洞檢測,如 RAD[22]、libverify [23]和 Fuzz[24]等工具?;诙M(jìn)制代碼的靜態(tài)檢測技術(shù):該技術(shù)的研究目前比較少見,目前典型的研究是通過一些反匯編工具對目標(biāo)代碼進(jìn)行處理,然后再依賴一些源代碼靜態(tài)檢測4華 中 科 技 大 學(xué) 碩 士 學(xué) 位 論 文技術(shù)進(jìn)行處理 [25,26,27],如 Terry Eruce Cillette[28]、 bugscam[29,30]等工具。漏洞檢測方法各有利弊,需要根據(jù)具體情況選擇相應(yīng)的方法來確保最大程度上挖掘出緩沖區(qū)溢出漏洞。在上述的研究工作中,基于二進(jìn)制代碼的靜態(tài)檢測技術(shù)對于針對 COM 組件的緩沖區(qū)溢出檢測具有指導(dǎo)意義。論文中的檢測技術(shù)就是歸屬于基于二進(jìn)制代碼的靜態(tài)檢測技術(shù)的。 論文主要研究工作論文的主要工作為:在研究已有緩沖區(qū)溢出檢測技術(shù),分析現(xiàn)存成熟的緩沖區(qū)溢出檢測工具,研究 C/C++程序的逆向技術(shù)以及參加實驗室的針對 COM 組件的安全漏洞自動化檢測工具的開發(fā)的基礎(chǔ)上,設(shè)計了一種針對 COM 組件二進(jìn)制代碼的棧緩沖區(qū)溢出漏洞檢測算法 SBODBCCC(stack buffer overflow detection based on binary code of COM ponent),并最終實現(xiàn)一個 COM 組件棧緩沖區(qū)溢出檢測原型系統(tǒng)。具體工作包括:現(xiàn)有的棧緩沖區(qū)溢出檢測技術(shù)的總結(jié)對現(xiàn)有的棧緩沖區(qū)溢出檢測技術(shù)進(jìn)行了深入的研究,將溢出檢測技術(shù)分為四大類:基于源碼的靜態(tài)檢測、基于源碼的動態(tài)檢測、基于二進(jìn)制代碼的靜態(tài)檢測和基于二進(jìn)制代碼的動態(tài)檢測。詳細(xì)分析了這四類技術(shù)并介紹了各自的代表自動化工具。在分析現(xiàn)有檢測技術(shù)的基礎(chǔ)上,提出論文研究的檢測技術(shù)。C/C++程序的逆向技術(shù)研究熟悉反匯編工具 IDA、OllyICE 和 Win32dsm,熟練掌握 IDC 腳本語言。研究在匯編代碼中識別程序流程,識別函數(shù)(庫函數(shù)和用戶編寫的函數(shù)) ,識別函數(shù)的參數(shù),識別函數(shù)的變量等技術(shù),在研究識別庫函數(shù)的過程中提出了一個切實可行的算法。函數(shù)定位模塊的實現(xiàn)為了減少掃描匯編代碼得到的無用信息,提高檢測效率。根據(jù) COM 組件結(jié)構(gòu)特點,設(shè)計了一種自動識別接口函數(shù)的算法,并實現(xiàn)了一個函數(shù)定位模塊,可以將5華 中 科 技 大 學(xué) 碩 士 學(xué) 位 論 文COM 組件中用戶函數(shù)名和該函數(shù)在匯編代碼中的線性地址實現(xiàn)精確定位。COM 組件危險函數(shù)庫的建立棧緩沖區(qū)溢出通常發(fā)生在字符串操作函數(shù)中,對于一般的 C/C++程序,使用的是 C 字符串,所以危險函數(shù)庫主要是由常規(guī)字符串操作函數(shù)(如 strcpy、strcat 等)的子集構(gòu)成。但 COM 組件中使用的是混合字符串。常規(guī)的字符串操作函數(shù)無法處理該類型字符串。因此必須建立適用 COM 組件的危險函數(shù)庫。棧溢出檢測算法的實現(xiàn)在詳細(xì)分析 bugscam 的基礎(chǔ)上,對其兩大核心函數(shù) SHeapBuffSize 和函數(shù)StckBuffSize 做了改進(jìn)。利用 IDA 的腳本語言 IDC 實現(xiàn)了一個完整的棧溢出檢測算法 SBODBCCC。該算法可以根據(jù)危險函數(shù)的參數(shù)類型,識別不同的賦值操作指令,從而較準(zhǔn)確的得到參數(shù)代表的緩沖區(qū)的分配長度和使用長度。依據(jù)緩沖區(qū)溢出的標(biāo)準(zhǔn),判斷棧溢出漏洞。同時通過識別函數(shù)調(diào)用的操作指令,并結(jié)合函數(shù)定位模塊,可以提取用戶函數(shù)的依賴關(guān)系,以 XML 格式輸出的函數(shù)依賴關(guān)系為 COM 組件的后續(xù)分析提供良好的輸入信息。 論文結(jié)構(gòu)第一章為緒論,
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1