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

正文內(nèi)容

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

2025-07-04 08:21本頁面
  

【正文】 檢測可分為基于源代碼的動態(tài)檢測和基于二進(jìn)制代碼的動態(tài)檢測?;诙M(jìn)制代碼的靜態(tài)檢測技術(shù)的研究目前比較少見,其本質(zhì)也是基于“源碼” 的檢測技術(shù)。靜態(tài)檢測一般發(fā)生在編譯前和編譯后,分為基于源代碼的靜態(tài)檢測和基于二進(jìn)制代碼的靜態(tài)檢測??傮w上,棧緩沖區(qū)溢出的檢測技術(shù)可分為兩類:靜態(tài)檢測技術(shù)和動態(tài)檢測技術(shù)。根據(jù)溢出改寫數(shù)據(jù)的方式分類根據(jù)棧溢出時對數(shù)據(jù)的改寫方式是否連續(xù) [24],可以分為連續(xù)的棧溢出和不連續(xù)的棧溢出,目前的大多數(shù)檢測工具都只能檢測連續(xù)的棧溢出。類似函數(shù)指針,longjmp 緩沖區(qū)能夠指向任何地方,所以攻擊者所要做的就是找到一個可供溢出的緩沖區(qū)。} _ J U M P _ B U F F E R 。 u n s i g n e d l o n g U n w i n d F u n c 。 u n s i g n e d l o n g T r y L e v e l 。 u n s i g n e d l o n g E i p 。 u n s i g n e d l o n g E s i 。 u n s i g n e d l o n g E b x 。 編譯器對其在 X86 下的定義如圖 所示。longjmp(jmp_buf j,int i)可以接著被調(diào)用,根據(jù) jmp_buf 結(jié)構(gòu)中保存的程序現(xiàn)場實現(xiàn)跳轉(zhuǎn)。頭文件中聲明了這些函數(shù),并且定義了 jmp_buf 數(shù)據(jù)類型。這也就是基于堆棧的緩沖區(qū)溢出攻擊的原理。EBP 是定位函數(shù)形參和局部變量的標(biāo)桿,EIP 決定函數(shù)調(diào)用結(jié)束后的返回地址,二者一旦出錯輕則使程序運(yùn)行不正常,重則出錯終止,甚至被他人取得程序的運(yùn)行權(quán)進(jìn)而控制本機(jī)。因此這個過程中就出現(xiàn)了安全漏洞。本文中,堆棧是向下增長,ESP 指向堆棧的最后地址。堆棧10華 中 科 技 大 學(xué) 碩 士 學(xué) 位 論 文指針(ESP)也是依賴于具體實現(xiàn)的。堆棧增長方式堆棧既可以向下增長(低端地址)也可以向上增長,這依賴于具體的實現(xiàn)。當(dāng)調(diào)用函數(shù)時邏輯堆棧幀被壓入棧中,當(dāng)函數(shù)返回時邏輯堆棧幀被從堆棧中彈出。堆棧有兩個重要的操作 PUSH 和 POP,分別實現(xiàn)向堆棧中添加元素和從中移去元素。一個名為堆棧指針(ESP)的寄存器指向堆棧的頂部。本文設(shè)計的漏洞檢測系統(tǒng)主要針對的是棧溢出漏洞。當(dāng)程序試圖訪問已分配的緩沖區(qū)以外的內(nèi)存時,將出現(xiàn)下列三種情況之一:一是內(nèi)存不存在,系統(tǒng)報錯;二是系統(tǒng)提供了內(nèi)存保護(hù)的功能,報段錯或保護(hù)錯;三是允許訪問,但將覆蓋緩沖區(qū)一側(cè)的內(nèi)容,輕則留下安全隱患,成為日后被入侵者攻擊的弱點,嚴(yán)重的會導(dǎo)致系統(tǒng)崩潰。這些內(nèi)存區(qū)域的分配位置如圖 所示。廣義的“緩沖區(qū) ”是指應(yīng)用程序中定義的變量在進(jìn)程中對應(yīng)的內(nèi)存位置。 緩沖區(qū)溢出機(jī)理緩沖區(qū)溢出是向一個緩沖區(qū)填充超過它處理能力的數(shù)據(jù)所造成的結(jié)果 [9]。當(dāng)對象的引用計數(shù)為 0 時,對象可以自己釋放自己。IUnknown 接口包含 3 個方法:QueryInterface 、AddRef 、Release 。如果客戶要對對象進(jìn)行操作,則必須保證對象存在于內(nèi)存中;如果客戶對對象的操作完成,則必須把對象從內(nèi)存釋放掉。8華 中 科 技 大 學(xué) 碩 士 學(xué) 位 論 文接 口 指 針指 針 指 針 函 數(shù) 1指 針 函 數(shù) 2指 針 函 數(shù) 3… …對 象 實 現(xiàn)p V t a b l e v t a b l e圖 COM 組件接口結(jié)構(gòu)IUnknown 接口COM 定義的每一個接口都必須從 IUnknown 接口繼承。接口指向的虛函數(shù)表是確定的,即接口的成員函數(shù)個數(shù)和先后順序是不變的;對于每個成員函數(shù)來說,其參數(shù)和返回值也是確定的。Microsoft Visual C++提供了 MIDL 工具,可以把 IDL 接口描述文件編譯成C/C++兼容的接口描述頭文件(.h) ,該文件可以被組件程序和客戶程序所使用。每個接口由一個 128 位的全局唯一標(biāo)識符 IID 來標(biāo)識,客戶通過 IID 獲得接口的指針,再通過接口指針調(diào)用相應(yīng)的接口成員函數(shù)。接口的傳統(tǒng)命名前綴為 I。 COM 接口接口的定義接口是一組邏輯上相關(guān)的函數(shù)集合。與 C++對象相比兩點不同:COM 對象的數(shù)據(jù)成員的封裝以組件模塊為最終邊界,對于對象用戶是完全透明的;而 C++對象的封裝特性相比之較差,可能對于用戶是可見的。客戶程序與 COM 組件通過 COM 對象交互。組件的內(nèi)部實現(xiàn)對客戶程序是完全隱藏的。當(dāng)組件的客戶程序調(diào)用組件的功能時,首先創(chuàng)建一個 COM 對象,然后通過該對象實現(xiàn)的 COM 接口調(diào)用所提供的服務(wù)。COM 組件、COM 對象和 COM 接口三者之間的關(guān)系如圖 所示 [31]。接口是一組方法的集合,其方法也稱為接口成員函數(shù)。COM 是由 Microsoft 提出的組件標(biāo)準(zhǔn),不僅提供了組件之間的接口標(biāo)準(zhǔn),還引入了面向?qū)ο蟮乃枷?。本章首先簡單介紹了 COM 組件,然后詳細(xì)介紹了緩沖區(qū)溢出原理和目前成熟的檢測方法及工具。其中,緩沖區(qū)溢出安全問題占了很大的比例。第六章是對本文工作的總結(jié)和展望。第四章詳細(xì)介紹 COM 組件的棧緩沖區(qū)溢出漏洞檢測系統(tǒng)的設(shè)計與實現(xiàn)。介紹了在匯編代碼中識別函數(shù),識別函數(shù)參數(shù),識別函數(shù)返回值以及識別函數(shù)變量的技術(shù)。重點介紹了棧緩沖區(qū)溢出的原因和分類,同時比較分析了現(xiàn)有的棧緩沖區(qū)溢出檢測技術(shù)和工具。 論文結(jié)構(gòu)第一章為緒論,主要介紹論文研究內(nèi)容的一些背景情況,國內(nèi)外研究現(xiàn)狀和論文的主要內(nèi)容。依據(jù)緩沖區(qū)溢出的標(biāo)準(zhǔn),判斷棧溢出漏洞。利用 IDA 的腳本語言 IDC 實現(xiàn)了一個完整的棧溢出檢測算法 SBODBCCC。因此必須建立適用 COM 組件的危險函數(shù)庫。但 COM 組件中使用的是混合字符串。根據(jù) COM 組件結(jié)構(gòu)特點,設(shè)計了一種自動識別接口函數(shù)的算法,并實現(xiàn)了一個函數(shù)定位模塊,可以將5華 中 科 技 大 學(xué) 碩 士 學(xué) 位 論 文COM 組件中用戶函數(shù)名和該函數(shù)在匯編代碼中的線性地址實現(xiàn)精確定位。研究在匯編代碼中識別程序流程,識別函數(shù)(庫函數(shù)和用戶編寫的函數(shù)) ,識別函數(shù)的參數(shù),識別函數(shù)的變量等技術(shù),在研究識別庫函數(shù)的過程中提出了一個切實可行的算法。在分析現(xiàn)有檢測技術(shù)的基礎(chǔ)上,提出論文研究的檢測技術(shù)。具體工作包括:現(xiàn)有的棧緩沖區(qū)溢出檢測技術(shù)的總結(jié)對現(xiàn)有的棧緩沖區(qū)溢出檢測技術(shù)進(jìn)行了深入的研究,將溢出檢測技術(shù)分為四大類:基于源碼的靜態(tài)檢測、基于源碼的動態(tài)檢測、基于二進(jìn)制代碼的靜態(tài)檢測和基于二進(jìn)制代碼的動態(tài)檢測。論文中的檢測技術(shù)就是歸屬于基于二進(jìn)制代碼的靜態(tài)檢測技術(shù)的。漏洞檢測方法各有利弊,需要根據(jù)具體情況選擇相應(yīng)的方法來確保最大程度上挖掘出緩沖區(qū)溢出漏洞。基于二進(jìn)制代碼的動態(tài)檢測技術(shù):通過靜態(tài)或動態(tài)修改二進(jìn)制代碼和采用“黑盒測試”的方法實現(xiàn)棧溢出漏洞檢測,如 RAD[22]、libverify [23]和 Fuzz[24]等工具。目前關(guān)于此方面的研究較多,典型的工具有 ITS4[14]、BOON [15]、Splint [16,17]、ARCHER [18]等。在緩沖區(qū)溢出漏洞挖掘和檢測方面,國外已經(jīng)有一些較為深入的研究工作,并且這些技術(shù)都能應(yīng)用到在 Win32 平臺下開發(fā)的軟件中,而國內(nèi)的研究還處于初級階段。該論文闡述了 Linux 系統(tǒng)中棧的結(jié)構(gòu)和如何利用棧緩沖區(qū)溢出,并首次提出 shellcode 的概念。緩沖區(qū)溢出攻擊可追溯到 1988 年臭名昭著的 Morris 蠕蟲, 在隨后的 1989 年里,Spafford 提交了一份關(guān)于運(yùn)行在 VAX 機(jī)上的 BSD 版 UNIX 的 fingerd 的緩沖區(qū)溢出程序的技術(shù)細(xì)節(jié)的分析報告,這引起了一部分安全人士對這個研究領(lǐng)域的重視。3華 中 科 技 大 學(xué) 碩 士 學(xué) 位 論 文總之,根據(jù)構(gòu)件自身的特點,尋求高效的構(gòu)件軟件測試技術(shù)和開發(fā)實用的測試工具是當(dāng)今軟件業(yè)界一個亟待解決的問題。Harrold [8]認(rèn)為應(yīng)該從構(gòu)件開發(fā)者和構(gòu)件使用者兩個不同的角度來看待構(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)行較為頻繁的回歸測試等。 國內(nèi)外 概況軟構(gòu)件技術(shù)提供了一種較面向?qū)ο蠓椒ǜ鼮橛行У能浖O(shè)計模式,構(gòu)件軟件被廣泛應(yīng)用并成為一種主流軟件形態(tài) [3](本段及后兩段中的 “構(gòu)件”與論文中的“組件”概念一樣,只是翻譯的不同) 。同時,對 COM 組件進(jìn)行靜態(tài)分析獲取其結(jié)構(gòu)信息和安全漏洞信息是實驗室正在研發(fā)的針對 COM 組件的安全漏洞自動檢測工具的需要。這種方法在某些時候會起到較好的效果,但效率太低,而且對測試人員的經(jīng)驗和技術(shù)水平要求很高。COM 組件多數(shù)情況下源代碼不可知,目前常用的測試方法是黑盒測試。隨著 COM 組件的廣泛應(yīng)用,COM2華 中 科 技 大 學(xué) 碩 士 學(xué) 位 論 文組件中暴露的緩沖區(qū)溢出的安全問題的數(shù)量也是逐年上升。經(jīng)過十幾年的發(fā)展,緩沖區(qū)溢出已經(jīng)成為一種成熟和最有效的黑客攻擊手段。綠盟科技在 2022 年發(fā)布CVE 漏洞 8 個,而緩沖區(qū)溢出漏洞就占了 5 個。SANS 評選出的 2022 年威脅最大的 20 個漏洞中,有 8 個跟緩沖區(qū)溢出有關(guān)。在安全日益被人們所關(guān)注的今天,緩沖區(qū)溢出毫無疑問是最大的安全威脅之一。COM 組件在受到廣泛應(yīng)用的同時,自身的安全問題也日益暴露。微軟的 COM 組件對象模型是當(dāng)今比較成熟的軟件組件規(guī)范之一,被廣泛應(yīng)用于 Windows 操作系統(tǒng)和應(yīng)用程序中。目前流行的組件規(guī)范有三種,它們是 OMG(Object Management Group)提出的 CORBA(Common Object Request Breaker Architecture);微軟提出的COM(Component Object Model);還有 SUN 公司提出的 EJB(Enterprise Java Bean)。按照組件化程序設(shè)計的思想,復(fù)雜的應(yīng)用程序被設(shè)計成一些小的、功能單一的組件模塊,這些模塊可以運(yùn)行在同一機(jī)器上,也可以運(yùn)行在不同的機(jī)器上,每臺機(jī)器的運(yùn)行環(huán)境可以不同,甚至可以是不同的操作系統(tǒng)。關(guān)鍵詞:緩沖區(qū)溢出,靜態(tài)分析,二進(jìn)制代碼,COM 組件,危險函數(shù)II華 中 科 技 大 學(xué) 碩 士 學(xué) 位 論 文III華 中 科 技 大 學(xué) 碩 士 學(xué) 位 論 文AbstractIn order to solve the problem of software reuse, shorten software developing period, reduce maintenance cost and realize software automatic updating, ponent software design is put forward and has bee an inevitable developmental trend. Microsoft39。根據(jù) COM 組件使用虛表定位函數(shù)的結(jié)構(gòu)特點,實現(xiàn)了COM 組件中用戶函數(shù)的精確定位;同時利用 IDC 腳本語言提取了 COM 組件中的函數(shù)依賴關(guān)系圖。檢測方法是將檢測緩沖區(qū)溢出問題轉(zhuǎn)化為整數(shù)范圍分析問題。因此,如果能采用有效的手段對 COM 組件的緩沖區(qū)溢出漏洞進(jìn)行檢測,將能極大地提高組件軟件的安全性。緩沖區(qū)溢出問題主要出現(xiàn)在 C/C++這類非類型安全語言中,而在新一代的編程語言,例如 Java、C中不存在。隨著 COM 組件技術(shù)的大量使用,COM 組件暴露出越來越多的安全問題,其中,緩沖區(qū)溢出安全問題占了很大比例。(請在以上方框內(nèi)打“√”) 學(xué)位論文作者簽名: 指導(dǎo)教師簽名: 日期: 年 月 日 日期: 年 月 日本論文屬于I華 中 科 技 大 學(xué) 碩 士 學(xué) 位 論 文摘 要為了解決軟件復(fù)用,縮短軟件開發(fā)時間,降低維護(hù)成本和實現(xiàn)程序動態(tài)升級,軟件設(shè)計領(lǐng)域產(chǎn)生了組件化程序設(shè)計結(jié)構(gòu),并且日益成為發(fā)展趨勢。 保密□ ,在_____年解密后適用本授權(quán)書。 學(xué)位論文作者簽名: 日期: 年 月 日學(xué)位論文版權(quán)使用授權(quán)書本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,即:學(xué)校有權(quán)保留并向國家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。對本文的研究做出貢獻(xiàn)的個人和集體,均已在文中以明確方式標(biāo)明。碩士學(xué)位論文COM 組件棧緩沖區(qū)溢出漏洞檢測技術(shù)研究學(xué)位申請人 : 學(xué)科專業(yè) : 計算機(jī)軟件與理論指導(dǎo)教師 : 答辯日期 : A Dissertation Submitted to Huazhong University of Science andTechnology for the Degree of Master of EngineeringThe Research on stack buffer overflow detection of COM ponentCandidate : Zhang Chao Major : Computer Software and TheorySupervisor : Prof. Lu YanshengHuazhong University of Science and TechnologyWuhan 430074, .January, 2022
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1