邏輯漏洞檢測與軟件行為分析關鍵技術研究
發(fā)布時間:2021-10-30 12:09
計算機與互聯(lián)網(wǎng)技術的快速發(fā)展,帶來了一場計算機軟件領域的技術革命。從PC時代的單機軟件,到互聯(lián)網(wǎng)時代的分布式軟件,再到如今云計算時代倡導的軟件服務,計算機軟件的應用得到了前所未有的普及,軟件已成為當代社會基礎設施的重要組成部分,深刻影響著社會生活的方方面面。然而,隨著功能特性的不斷增強,軟件的規(guī)模和復雜性也呈現(xiàn)快速增加的趨勢,使得傳統(tǒng)程序分析手段在軟件可靠性和安全性分析領域的應用受到了前所未有的挑戰(zhàn)。程序分析(Program Analysis),是指對計算機程序行為的正確性、健壯性、安全性等屬性進行自動化分析的過程。目前,程序分析技術被廣泛應用于軟件的開發(fā)與測試過程中,對提升軟件質(zhì)量具有關鍵意義。從總體上看,當前程序分析技術在軟件可靠性與安全性分析方面的應用主要存在以下三大關鍵問題:1.超大規(guī)模程序中的復雜漏洞檢測問題。軟件漏洞的本質(zhì)是代碼缺陷,可能受軟件設計與實現(xiàn)、硬件架構與執(zhí)行環(huán)境等諸多因素的影響。因此,針對軟件漏洞,尤其是以邏輯漏洞為代表的復雜軟件漏洞的自動化大規(guī)模檢測技術依然存在很多問題。由于邏輯漏洞一般與軟件的特定功能相關,其隱蔽性往往更強,特征通常也更為復雜,因而缺乏有效的...
【文章來源】:浙江大學浙江省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:125 頁
【學位級別】:博士
【部分圖文】:
圖3.1:?OpenSSL?API使用簡介??的證書鏈押]
主權L名驗證API所導致的軟件邏輯漏洞。??§3.3.2研究方法概述??圖3.6概括了本節(jié)采用的主要研宄方法。首先將被分析客戶端程序的代碼輸入至靜態(tài)??分析器(Static?Analyzer):然后,靜態(tài)分析器將被分析代碼轉(zhuǎn)換為某種抽象的代碼表??示。同時,SSL/TLS軟件庫API的正確使用模式被抽象為特征,并作為輸入提供給特征匹??配引擎(Matcher);然后,特征匹配引擎會將輸入的特征與代碼抽象表示進行匹配,如??果匹配結果一致,說明被分析的SSL/TLS客戶端程序中主機驗證與證書驗證過程正確。??反之,則報告存在邏輯漏洞。??^?\w?r?、??SSL/TLS?Client?signatures?Vulnerability??Software?Report??^?I?4?^??!?A??▼?,?'??Static?.?Code?^?,??Analyzer?Representations?Mate?er??、—?^??圖3.6:研究方法簡介??§?3.3.3代碼表示形式??為了方便后續(xù)操作
?第3章SSL/TLS應用程序邏輯漏洞檢測技術研究??利用正則表達式能夠很好地匹配不同函數(shù)調(diào)用之間的時序,但卻無法適用于設計數(shù)??據(jù)流模式的表示。例如,考慮圖3.3中所示的定義調(diào)用鏈(Def-use?Chain)。僅匹配參??數(shù)或者變量是不足以驗證這些API調(diào)用模式的正確性,還需要把用于證書驗證的API函??數(shù)SSL_get_verify_result的返回值與后續(xù)的一系列檢查關聯(lián)起來。??除正則表達式外,協(xié)議狀態(tài)機(Protocol?State?Machine)也是另一類常用來表達特征??的形式。一般地,狀態(tài)機比正則表達式的表示能力更強,通常用于網(wǎng)絡流量等輸入形式??的匹配,擁有圖靈機的表示能力。然而對于像SSLint采用的靜態(tài)分析方法中涉及的與被??分析代碼和圖靈特征相關的決策問題本身是不可判定的,因此協(xié)議狀態(tài)機在本質(zhì)上不適??用。??綜上,我們選擇了一種帶標記的圖(LabeledGraph)作為API使用模式的特征表示。??這種特征表示中的節(jié)點代表了代碼中的語句,而邊代表了不同語句之間的聯(lián)系。反映了??所有需要在代碼中匹配的API的正確模式
本文編號:3466708
【文章來源】:浙江大學浙江省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:125 頁
【學位級別】:博士
【部分圖文】:
圖3.1:?OpenSSL?API使用簡介??的證書鏈押]
主權L名驗證API所導致的軟件邏輯漏洞。??§3.3.2研究方法概述??圖3.6概括了本節(jié)采用的主要研宄方法。首先將被分析客戶端程序的代碼輸入至靜態(tài)??分析器(Static?Analyzer):然后,靜態(tài)分析器將被分析代碼轉(zhuǎn)換為某種抽象的代碼表??示。同時,SSL/TLS軟件庫API的正確使用模式被抽象為特征,并作為輸入提供給特征匹??配引擎(Matcher);然后,特征匹配引擎會將輸入的特征與代碼抽象表示進行匹配,如??果匹配結果一致,說明被分析的SSL/TLS客戶端程序中主機驗證與證書驗證過程正確。??反之,則報告存在邏輯漏洞。??^?\w?r?、??SSL/TLS?Client?signatures?Vulnerability??Software?Report??^?I?4?^??!?A??▼?,?'??Static?.?Code?^?,??Analyzer?Representations?Mate?er??、—?^??圖3.6:研究方法簡介??§?3.3.3代碼表示形式??為了方便后續(xù)操作
?第3章SSL/TLS應用程序邏輯漏洞檢測技術研究??利用正則表達式能夠很好地匹配不同函數(shù)調(diào)用之間的時序,但卻無法適用于設計數(shù)??據(jù)流模式的表示。例如,考慮圖3.3中所示的定義調(diào)用鏈(Def-use?Chain)。僅匹配參??數(shù)或者變量是不足以驗證這些API調(diào)用模式的正確性,還需要把用于證書驗證的API函??數(shù)SSL_get_verify_result的返回值與后續(xù)的一系列檢查關聯(lián)起來。??除正則表達式外,協(xié)議狀態(tài)機(Protocol?State?Machine)也是另一類常用來表達特征??的形式。一般地,狀態(tài)機比正則表達式的表示能力更強,通常用于網(wǎng)絡流量等輸入形式??的匹配,擁有圖靈機的表示能力。然而對于像SSLint采用的靜態(tài)分析方法中涉及的與被??分析代碼和圖靈特征相關的決策問題本身是不可判定的,因此協(xié)議狀態(tài)機在本質(zhì)上不適??用。??綜上,我們選擇了一種帶標記的圖(LabeledGraph)作為API使用模式的特征表示。??這種特征表示中的節(jié)點代表了代碼中的語句,而邊代表了不同語句之間的聯(lián)系。反映了??所有需要在代碼中匹配的API的正確模式
本文編號:3466708
本文鏈接:http://sikaile.net/wenyilunwen/guanggaoshejilunwen/3466708.html
最近更新
教材專著