国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      程序漏洞的檢測(cè)系統(tǒng)和方法

      文檔序號(hào):6382282閱讀:231來(lái)源:國(guó)知局
      專利名稱:程序漏洞的檢測(cè)系統(tǒng)和方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,尤其涉及一種程序漏洞的檢測(cè)系統(tǒng)和方法。
      背景技術(shù)
      一般地,漏洞檢測(cè)主要可以分為動(dòng)態(tài)檢測(cè)和靜態(tài)檢測(cè)兩大類。
      其中,動(dòng)態(tài)檢測(cè)是指通過(guò)對(duì)程序的運(yùn)行環(huán)境(如環(huán)境變量,內(nèi)存,堆和棧等)進(jìn)行分析,檢測(cè)運(yùn)行程序之后得到的結(jié)果與預(yù)期結(jié)果之間的差異。動(dòng)態(tài)檢測(cè)一般用于黑盒測(cè)試,其優(yōu)點(diǎn)是不需要修改程序源碼或其二進(jìn)制代碼,其缺點(diǎn)在于對(duì)漏洞的檢測(cè)不夠完善。比如DEP 這種動(dòng)態(tài)檢測(cè)就僅能檢測(cè)程序中可能存在的可能導(dǎo)致計(jì)算機(jī)軟件系統(tǒng)遭受棧攻擊的漏洞, 而并不能檢測(cè)到程序中存在的可能導(dǎo)致計(jì)算機(jī)軟件系統(tǒng)遭受堆攻擊的漏洞。
      靜態(tài)檢測(cè)則是指不運(yùn)行程序本身,而是通過(guò)分析或檢查程序的語(yǔ)法、結(jié)構(gòu)、過(guò)程和接口等來(lái)檢查程序的正確性。靜態(tài)檢測(cè)的本質(zhì)是建立程序的一個(gè)狀態(tài)模型,然后分析程序如何在該狀態(tài)模型所包含的不同狀態(tài)之間轉(zhuǎn)換?,F(xiàn)有的靜態(tài)檢測(cè)已被證實(shí)存在缺陷對(duì)程序漏洞的檢測(cè)不夠完善,同時(shí)對(duì)未知漏洞不能有效的挖掘,缺乏自適應(yīng)學(xué)習(xí)的能力。比如, 詞法分析這一種靜態(tài)檢測(cè)是通過(guò)提取程序關(guān)鍵語(yǔ)法,并解釋其語(yǔ)義,來(lái)檢測(cè)程序是否存在漏洞的。但詞法分析僅僅是進(jìn)行語(yǔ)法上的檢測(cè),具體來(lái)說(shuō)是把程序劃分成一個(gè)個(gè)片段,將每個(gè)片段與一個(gè)以設(shè)定好的“詞法數(shù)據(jù)庫(kù)”進(jìn)行比較,從而判斷程序是否漏洞。該檢測(cè)方式可以檢測(cè)到的漏洞非常少,且檢測(cè)到的往往是一些已知的固定漏洞,誤報(bào)率相當(dāng)高。又比如, 規(guī)則檢測(cè)這一種靜態(tài)檢測(cè)是檢測(cè)已知漏洞的一種代碼掃描技術(shù),對(duì)于已知類型漏洞,該技術(shù)具有高效且準(zhǔn)確率高的特點(diǎn),但是也不能檢測(cè)未知類型的漏洞。發(fā)明內(nèi)容
      本發(fā)明實(shí)施例提供一種程序漏洞的檢測(cè)系統(tǒng)和方法,用以解決采用現(xiàn)有技術(shù)提供的程序漏洞檢測(cè)方式對(duì)程序漏洞的檢測(cè)不夠完善,存在誤報(bào)率比較高的問(wèn)題。
      本發(fā)明實(shí)施例采用以下技術(shù)方案
      —種程序漏洞的檢測(cè)系統(tǒng),包括執(zhí)行路徑模擬生成器、漏洞屬性關(guān)聯(lián)生成器和模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器,其中
      所述執(zhí)行路徑模擬生成器,用于確定待檢測(cè)的程序源代碼的執(zhí)行路徑信息;并將確定的執(zhí)行路徑信息發(fā)送給所述模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器;
      所述漏洞屬性關(guān)聯(lián)生成器,用于根據(jù)設(shè)置的漏洞庫(kù)中存儲(chǔ)的漏洞信息,生成由多個(gè)漏洞關(guān)聯(lián)信息構(gòu)成的漏洞關(guān)聯(lián)信息集合,其中,每個(gè)漏洞關(guān)聯(lián)信息分別由具備邏輯關(guān)聯(lián)的多個(gè)漏洞信息構(gòu)成;并分別確定漏洞關(guān)聯(lián)信息集合中包含的各條漏洞關(guān)聯(lián)信息對(duì)于各模糊模式的支持度;其中,各模糊模式分別對(duì)應(yīng)于指定的不同漏洞攻擊方式;根據(jù)確定的支持度,從所述對(duì)應(yīng)于指定的各漏洞攻擊方式的模糊模式中選取模糊模式構(gòu)成頻繁模糊模式集合;以及將頻繁模糊模式集合發(fā)送給所述模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器;
      所述模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器,用于接收所述執(zhí)行路徑模擬生成器發(fā)送的執(zhí)行路徑信息和所述漏洞屬性關(guān)聯(lián)生成器發(fā)送的頻繁模糊模式集合;并根據(jù)接收的所述執(zhí)行路徑信息,確定所述程序源代碼的執(zhí)行流程;確定該執(zhí)行流程與頻繁模糊模式集合中包含的模糊模式的匹配度;以及根據(jù)所述匹配度,確定所述程序源代碼的安全度。
      一種檢測(cè)程序漏洞的方法,包括
      執(zhí)行路徑模擬生成器確定待檢測(cè)的程序源代碼的執(zhí)行路徑信息,并將確定的執(zhí)行路徑信息發(fā)送給模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器;
      漏洞屬性關(guān)聯(lián)生成器根據(jù)設(shè)置的漏洞庫(kù)中存儲(chǔ)的漏洞信息,生成由多個(gè)漏洞關(guān)聯(lián)信息構(gòu)成的漏洞關(guān)聯(lián)信息集合,其中,每個(gè)漏洞關(guān)聯(lián)信息分別由具備邏輯關(guān)聯(lián)的多個(gè)漏洞信息構(gòu)成;
      漏洞屬性關(guān)聯(lián)生成器分別確定漏洞關(guān)聯(lián)信息集合中包含的各條漏洞關(guān)聯(lián)信息對(duì)于各模糊模式的支持度,其中,各模糊模式分別對(duì)應(yīng)于指定的不同漏洞攻擊方式;
      漏洞屬性關(guān)聯(lián)生成器根據(jù)確定的支持度,從所述對(duì)應(yīng)于指定的各漏洞攻擊方式的模糊模式中選取模糊模式構(gòu)成頻繁模糊模式集合,并將頻繁模糊模式集合發(fā)送給模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器;
      模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器接收?qǐng)?zhí)行路徑模擬生成器發(fā)送的執(zhí)行路徑信息和漏洞屬性關(guān)聯(lián)生成器發(fā)送的頻繁模糊模式集合;
      模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器根據(jù)接收的所述執(zhí)行路徑信息,確定所述程序源代碼的執(zhí)行流程;
      模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器確定所述執(zhí)行流程與頻繁模糊模式集合中包含的模糊模式的匹配度,并根據(jù)所述匹配度,確定所述程序源代碼的安全度。
      本發(fā)明實(shí)施例的有益效果如下
      本發(fā)明實(shí)施例提供的上述方案由模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器判斷程序源代碼的執(zhí)行流程與對(duì)應(yīng)于不同漏洞攻擊方式的模糊模式的匹配度,由于匹配度越高越說(shuō)明程序源代碼的執(zhí)行流程越容易受到漏洞攻擊,從而可以根據(jù)該匹配度確定表征所述程序源代碼安全度的安全度值。該方案相當(dāng)于是對(duì)現(xiàn)有技術(shù)中的靜態(tài)檢測(cè)進(jìn)行了改進(jìn),能夠達(dá)到完善現(xiàn)有技術(shù)中的漏洞檢測(cè)技術(shù),降低誤報(bào)率的目的。進(jìn)一步地,模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器確定程序源代碼的漏洞信息,并將確定的漏洞信息發(fā)送給漏洞庫(kù),從而實(shí)現(xiàn)了根據(jù)檢測(cè)出的新類型漏洞完善了漏洞庫(kù),避免了采用現(xiàn)有技術(shù)提供的程序漏洞檢測(cè)方式不能檢測(cè)未知類型漏洞的問(wèn)題,提高了檢測(cè)系統(tǒng)的有效性和自適應(yīng)性。


      圖I為本發(fā)明實(shí)施例提供的一種程序漏洞的檢測(cè)系統(tǒng)的具體結(jié)構(gòu)示意圖2為漏洞攻擊方式的初始狀態(tài)與后續(xù)狀態(tài)之間的轉(zhuǎn)移示意圖3為實(shí)際應(yīng)用中的基于模糊分離器的新型靜態(tài)自適應(yīng)模糊有窮自動(dòng)機(jī)檢測(cè)技術(shù)模型的具體結(jié)構(gòu)示意圖4為本發(fā)明實(shí)施例提供的一種程序漏洞的檢測(cè)方法的具體流程示意圖。
      具體實(shí)施方式
      為了解決采用現(xiàn)有技術(shù)提供的程序漏洞檢測(cè)方式不能檢測(cè)未知類型漏洞的問(wèn)題,本發(fā)明實(shí)施例提供了一種程序漏洞的檢測(cè)方案,通過(guò)模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器來(lái)判斷程序源代碼的執(zhí)行流程與對(duì)應(yīng)于不同漏洞攻擊方式的模糊模式的匹配度。由于匹配度越高越說(shuō)明程序源代碼的執(zhí)行流程越容易受到漏洞攻擊,從而可以根據(jù)該匹配度確定表征所述程序源代碼安全度的安全度值。進(jìn)一步地,模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器確定程序源代碼的漏洞信息,并將確定的漏洞信息發(fā)送給漏洞庫(kù),從而實(shí)現(xiàn)了根據(jù)檢測(cè)出的新類型漏洞完善了漏洞庫(kù),避免了采用現(xiàn)有技術(shù)提供的程序漏洞檢測(cè)方式不能檢測(cè)未知類型漏洞的問(wèn)題,提高了檢測(cè)系統(tǒng)的有效性和自適應(yīng)性。
      以下結(jié)合附圖,詳細(xì)說(shuō)明本發(fā)明實(shí)施例提供的方案。
      首先,本發(fā)明實(shí)施例提供一種如圖I所示的程序漏洞的檢測(cè)系統(tǒng),該系統(tǒng)包括執(zhí)行路徑模擬生成器、漏洞屬性關(guān)聯(lián)生成器和模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器,關(guān)于其各自功能的具體介紹如下。
      執(zhí)行路徑模擬生成器,用于確定待檢測(cè)的程序源代碼的執(zhí)行路徑信息;并將確定的執(zhí)行路徑信息發(fā)送給模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器。
      漏洞屬性關(guān)聯(lián)生成器,用于根據(jù)設(shè)置的漏洞庫(kù)中存儲(chǔ)的漏洞信息,生成由多個(gè)漏洞關(guān)聯(lián)信息構(gòu)成的漏洞關(guān)聯(lián)信息集合(其中,每個(gè)漏洞關(guān)聯(lián)信息分別由具備邏輯關(guān)聯(lián)的多個(gè)漏洞信息構(gòu)成);并分別確定漏洞關(guān)聯(lián)信息集合中包含的各條漏洞關(guān)聯(lián)信息對(duì)于各模糊模式的支持度,其中,各模糊模式分別對(duì)應(yīng)于指定的不同漏洞攻擊方式;根據(jù)確定的支持度,從對(duì)應(yīng)于指定的各漏洞攻擊方式的模糊模式中選取模糊模式構(gòu)成頻繁模糊模式集合; 以及將頻繁模糊模式集合發(fā)送給模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器。
      模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器,用于接收?qǐng)?zhí)行路徑模擬生成器發(fā)送的執(zhí)行路徑信息和漏洞屬性關(guān)聯(lián)生成器發(fā)送的頻繁模糊模式集合;并根據(jù)接收的執(zhí)行路徑信息,確定程序源代碼的執(zhí)行流程;確定該執(zhí)行流程與頻繁模糊模式集合中包含的模糊模式的匹配度;以及根據(jù)確定出的匹配度,確定程序源代碼的安全度。
      可選的,模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器還可以進(jìn)一步確定該程序源代碼的漏洞信息,并將確定的漏洞信息反饋給漏洞庫(kù)。
      具體來(lái)說(shuō),模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器具體可以采用下述子步驟來(lái)實(shí)現(xiàn)通過(guò)對(duì)上述執(zhí)行流程與頻繁模糊模式集合中包含的模糊模式的匹配度的確定,最終實(shí)現(xiàn)對(duì)安全度值的確
      子步驟一,判斷該執(zhí)行流程中是否出現(xiàn)了頻繁模糊模式集合中的模糊模式所對(duì)應(yīng)的漏洞攻擊方式的初始狀態(tài)%,在判斷結(jié)果為否時(shí),執(zhí)行子步驟二,而在判斷結(jié)果為是時(shí), 執(zhí)行子步驟三;
      子步驟二,確定執(zhí)行流程與頻繁模糊模式集合中包含的模糊模式不匹配,并確定程序源代碼安全度的安全度值為0,流程結(jié)束;
      子步驟三,確定出現(xiàn)了執(zhí)行流程中出現(xiàn)的初始狀態(tài)的漏洞攻擊方式的后續(xù)狀態(tài), 并轉(zhuǎn)入執(zhí)行子步驟四;
      如圖2所示,為模糊模式所對(duì)應(yīng)漏洞攻擊方式的初始狀態(tài)與后續(xù)狀態(tài)之間的轉(zhuǎn)移示意圖。其中,%為漏洞攻擊方式的初始狀態(tài),qv表示程序源代碼存在與某條已知的漏洞關(guān)聯(lián)信息完全匹配的漏洞,而依次在其后出現(xiàn)、并位于最終指向qv的、包含多個(gè)狀態(tài)的路徑上的后續(xù)狀態(tài)qi、q13等可以看做共同構(gòu)成一種漏洞攻擊方式。類似地,依次在其后出現(xiàn)、并位于最終指向qv的、包含多個(gè)狀態(tài)的路徑上的q2、q12等也可以看做共同構(gòu)成另一種漏洞攻擊方式。
      此外,qw表示程序源代碼不存在漏洞,qz表示程序源代碼存在與已知的任意漏洞關(guān)聯(lián)信息不完全匹配的漏洞。一般地,qz所對(duì)應(yīng)的漏洞信息可能正包含需要反饋到漏洞庫(kù)中的新的漏洞信息。
      本發(fā)明實(shí)施例中,可以根據(jù)預(yù)先設(shè)置的狀態(tài)轉(zhuǎn)移函數(shù)來(lái)確定模糊模式所對(duì)應(yīng)的漏洞攻擊方式的后續(xù)狀態(tài)(如q12、Q13等)。
      子步驟四,確定子步驟三中確定的后續(xù)狀態(tài)與執(zhí)行流程的匹配度,并在執(zhí)行流程完全匹配于一個(gè)模糊模式所包含的各模糊值時(shí),確定程序源代碼安全度的安全度值為1,從而基于圖2,狀態(tài)轉(zhuǎn)移函數(shù)最終確定出的狀態(tài)為qw。而在執(zhí)行流程不完全匹配于任意模糊模式所包含的各模糊值時(shí),確定程序源代碼安全度的安全度值為大于O而小于I的值,從而基于圖2,狀態(tài)轉(zhuǎn)移函數(shù)最終確定出的狀態(tài)為qz。
      至此,可以結(jié)束上述子步驟的處理流程。
      以上是關(guān)于模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器功能的一種具體實(shí)現(xiàn)方式的介紹,以下進(jìn)一步介紹漏洞屬性關(guān)聯(lián)生成器功能的具體實(shí)現(xiàn)方式。
      一、漏洞關(guān)聯(lián)信息集合的生成功能。
      本發(fā)明實(shí)施例中,漏洞屬性關(guān)聯(lián)生成器可以先根據(jù)漏洞庫(kù)中存儲(chǔ)的漏洞信息和預(yù)先統(tǒng)計(jì)得到的漏洞邏輯關(guān)聯(lián)信息,分別確定由漏洞庫(kù)中存儲(chǔ)的漏洞信息構(gòu)成的具備邏輯關(guān)聯(lián)的多個(gè)漏洞關(guān)聯(lián)信息;然后,再根據(jù)預(yù)定的漏洞關(guān)聯(lián)信息選取規(guī)則,從確定的多個(gè)漏洞關(guān)聯(lián)息中選取漏洞關(guān)聯(lián)息來(lái)構(gòu)成漏洞關(guān)聯(lián)息集合。
      其中,漏洞關(guān)聯(lián)信息選取規(guī)則具體可以為選取包含的漏洞信息之間的邏輯關(guān)聯(lián)度大于預(yù)設(shè)關(guān)聯(lián)度閾值的漏洞關(guān)聯(lián)信息。
      可選的,也可以不按照該選取規(guī)則,而直接以上述確定出的多個(gè)漏洞關(guān)聯(lián)信息構(gòu)成漏洞關(guān)聯(lián)信息集合。但需要說(shuō)明的是,按照該選取規(guī)則選取漏洞關(guān)聯(lián)信息構(gòu)成漏洞關(guān)聯(lián)信息集合的好處在于,可以將一些雖然有一定的邏輯關(guān)聯(lián),但邏輯關(guān)聯(lián)性比較弱的漏洞信息所構(gòu)成的漏洞邏輯關(guān)聯(lián)信息排除在漏洞關(guān)聯(lián)信息集合之外,以避免實(shí)用性較低的漏洞關(guān)聯(lián)信息參與后續(xù)計(jì)算而浪費(fèi)系統(tǒng)資源并影響系統(tǒng)對(duì)于漏洞的檢測(cè)效率。
      二、漏洞關(guān)聯(lián)信息對(duì)于模糊模式的支持度的確定功能。
      本發(fā)明實(shí)施例中,可以假設(shè)不同模糊模式分別包含有多個(gè)模糊值。那么,漏洞屬性關(guān)聯(lián)生成器可以分別針對(duì)漏洞關(guān)聯(lián)信息集合中包含的每條漏洞關(guān)聯(lián)信息,按照下述方式分別確定該條漏洞關(guān)聯(lián)信息對(duì)于分別對(duì)應(yīng)于指定的不同漏洞攻擊方式的各模糊模式的支持度
      首先,針對(duì)每個(gè)模糊模式,分別計(jì)算該模糊模式所包含的每個(gè)模糊值對(duì)于該漏洞關(guān)聯(lián)信息的隸屬度;
      然后,再將計(jì)算得到的最小隸屬度確定為該條漏洞關(guān)聯(lián)信息對(duì)于該模糊模式的支持度。
      針對(duì)上文所提及的隸屬度,其具體說(shuō)明如下
      若對(duì)論域(研究的范圍)U中的任一元素X,都有一個(gè)數(shù)A (x) e
      與之對(duì)應(yīng), 則稱A為U上的模糊集,A (x)稱為X對(duì)A的隸屬度。當(dāng)X在U中變動(dòng)時(shí),A (x)就是一個(gè)函數(shù),稱為A的隸屬函數(shù)。隸屬度A (X)越接近于I,表示X屬于A的程度越高,A (X)越接近于O表不X屬于A的程度越低。用取值于區(qū)間O, I的隸屬函數(shù)A (X)表征X屬于A的程度高低。
      比如,若假設(shè)A (x)=表示模糊集“年老”的隸屬函數(shù),A表示模糊集“年老”。那么, 當(dāng)年齡X < 50時(shí)A (X) =0表明X不屬于模糊集A (即“年老”);當(dāng)X彡100時(shí),A (x) =1表明X完全屬于A ;當(dāng)50〈x〈100時(shí),0〈A (x)〈l,且X越接近100, A (x)越接近I, x屬于A的程度就越高。這樣的表達(dá)方法顯然比簡(jiǎn)單地說(shuō)“100歲以上的人是年老的,100歲以下的人就不年老”更為合理。
      而對(duì)于隸屬函數(shù)來(lái)說(shuō),現(xiàn)有常用的隸屬度函數(shù)主要包括高斯隸屬函數(shù)、廣義鐘型隸屬函數(shù)和三角形隸屬函數(shù)等。
      三、頻繁模糊模式集合的生成功能。
      本發(fā)明實(shí)施例中,漏洞屬性關(guān)聯(lián)生成器可以但不限于采用下述方式生成頻繁模糊模式集合
      以任意漏洞關(guān)聯(lián)信息為例,可以根據(jù)確定出的該漏洞關(guān)聯(lián)信息對(duì)于各模糊模式的支持度和預(yù)先設(shè)置的支持度閾值,從確定的支持度中確定大于支持度閾值的支持度;并選取大于支持度閾值的支持度所對(duì)應(yīng)模糊模式,構(gòu)成頻繁模糊模式集合。
      以下以一個(gè)具體的實(shí)施例為例,詳細(xì)介紹本發(fā)明實(shí)施例提供的上述系統(tǒng)在實(shí)際中的應(yīng)用。
      在實(shí)際應(yīng)用中,本發(fā)明實(shí)施例提供的上述系統(tǒng)可以由一種稱為基于模糊分離器的新型靜態(tài)自適應(yīng)模糊有窮自動(dòng)機(jī)檢測(cè)技術(shù)模型(以下簡(jiǎn)稱檢測(cè)模型)來(lái)實(shí)現(xiàn)。該模型的核心部分是模糊分離器和模糊有限狀態(tài)自動(dòng)機(jī)。
      其中,模糊有限狀態(tài)自動(dòng)機(jī)是具有離散輸入和輸出的系統(tǒng)的一種數(shù)學(xué)模型。該數(shù)學(xué)模型可以使用一個(gè)五元組來(lái)表示,如M= (Q,Σ,S,T,F(xiàn))。其中Q、Σ和δ分別對(duì)應(yīng)表示輸入集、狀態(tài)集和輸出集;而T和F則分別表示狀態(tài)轉(zhuǎn)移函數(shù)和輸出函數(shù)。在有限狀態(tài)自動(dòng)機(jī)(DFA, Deterministic Finite Automaton)中,狀態(tài)轉(zhuǎn)移函數(shù)T和輸出函數(shù)F都是確定的。當(dāng)把狀態(tài)轉(zhuǎn)移函數(shù)T和輸出函數(shù)F模糊化,那么有限狀態(tài)自動(dòng)機(jī)就變成了模糊狀態(tài)自動(dòng)機(jī)。模糊狀態(tài)自動(dòng)機(jī)在復(fù)雜系統(tǒng)的規(guī)則關(guān)聯(lián)、行為分析、模式識(shí)別和自學(xué)習(xí)等方面具有明顯的優(yōu)勢(shì),對(duì)識(shí)別未知漏洞也具有相當(dāng)重要的作用。在使用模糊有限狀態(tài)自動(dòng)機(jī)作為對(duì)程序源代碼進(jìn)行模糊識(shí)別的標(biāo)準(zhǔn)時(shí),只要建立合適狀態(tài)轉(zhuǎn)移函數(shù)和輸出函數(shù),就可以讓整個(gè)檢測(cè)模型具有模糊識(shí)別的能力。
      基于模糊有限狀態(tài)自動(dòng)機(jī)的上述特點(diǎn),該具體實(shí)施例中,綜合了模糊狀態(tài)自動(dòng)機(jī)及模式識(shí)別自學(xué)習(xí)功能的技術(shù),提出了基于模糊分離器的新型靜態(tài)自適應(yīng)模糊有窮自動(dòng)機(jī)檢測(cè)技術(shù)模型。該模型的一種具體結(jié)構(gòu)如圖3所示。
      圖3左側(cè)方框中的輸入、檢測(cè)過(guò)程以及輸出表示的是從將程序源代碼輸入到檢測(cè)模型中直到最終產(chǎn)生檢測(cè)結(jié)果的流程。而右側(cè)虛線框中的執(zhí)行路徑模擬生成器、漏洞屬性關(guān)聯(lián)生成器和模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器則共同構(gòu)成整個(gè)檢測(cè)模型。
      由圖3可以看出,檢測(cè)過(guò)程首先從將程序源代碼輸入執(zhí)行路徑模擬生成器,以及將漏洞庫(kù)輸入漏洞屬性關(guān)聯(lián)生成器開始;然后,通過(guò)檢測(cè)模型的處理而輸出檢測(cè)結(jié)果,并將檢測(cè)出的漏洞信息反饋給漏洞庫(kù),完成檢測(cè)模型的自學(xué)習(xí)過(guò)程。9
      以下分別介紹圖3中的各個(gè)重要組成部分
      I、漏洞庫(kù)。其是一個(gè)用于存儲(chǔ)程序的漏洞信息的數(shù)據(jù)庫(kù),在初始狀態(tài)下,其存儲(chǔ)的一般是現(xiàn)有已知的漏洞信息,比如常見的可能出現(xiàn)緩沖區(qū)溢出漏洞、堆溢出漏洞、整數(shù)溢出漏洞、格式化字符串漏洞以及常見的字符串漏洞等。
      可以通過(guò)人工手動(dòng)添加漏洞信息的方式來(lái)更新漏洞庫(kù),也可以通過(guò)檢測(cè)模型自學(xué)習(xí)的方式,將檢測(cè)出的新的漏洞信息反饋給漏洞庫(kù),以實(shí)現(xiàn)基于反饋的新的漏洞信息對(duì)漏洞庫(kù)的更新。
      2、漏洞規(guī)則關(guān)聯(lián)生成器。其用于針對(duì)漏洞庫(kù)中的漏洞信息,根據(jù)不同漏洞之間的邏輯關(guān)聯(lián),生成漏洞關(guān)聯(lián)信息(也成漏洞關(guān)聯(lián)記錄)。該些漏洞關(guān)聯(lián)信息用于作為生成頻繁模糊模式集合的依據(jù)。本發(fā)明實(shí)施例中,可以從生成的漏洞關(guān)聯(lián)信息中排除掉一些無(wú)用組合,即刪除一些由具備比較弱的邏輯關(guān)聯(lián)的漏洞信息生成的漏洞關(guān)聯(lián)信息,以減輕檢測(cè)系統(tǒng)的負(fù)擔(dān),避免不必要的處理資源浪費(fèi)。在無(wú)用組合比較多的情況下,這個(gè)策略所帶來(lái)的意義非常重大。
      在生成了漏洞關(guān)聯(lián)信息的基礎(chǔ)上,漏洞規(guī)則關(guān)聯(lián)生成器進(jìn)一步地分別確定漏洞關(guān)聯(lián)信息集合中包含的各條漏洞關(guān)聯(lián)信息對(duì)于分別對(duì)應(yīng)于指定的不同漏洞攻擊方式的各模糊模式的支持度。其中,模糊模式不同于普通模式,就入侵檢測(cè)而言,模糊模式是網(wǎng)絡(luò)連接中的屬性所對(duì)應(yīng)的模糊值的集合,模糊值是從網(wǎng)絡(luò)連接的各個(gè)方面描述網(wǎng)絡(luò)行為的特征。舉例來(lái)說(shuō),比如DDOS攻擊這一漏洞攻擊方式所對(duì)應(yīng)的一種模糊模式是(protocol is tcp, protocol_f lag is SYN, duration is high, result is DDOS),這個(gè)模糊模式包含了四個(gè)模糊值,分別是 protocol is tcp> protocol_f lag is SYN、duration is high、result is DDOS0其中前三個(gè)模糊值作為規(guī)則前件,最后一個(gè)模糊值是規(guī)則后件。這一模糊模式包含了四個(gè)模糊變量,分別是protocol、protocol_flag、duration和result。若假設(shè)有4條漏洞關(guān)聯(lián)信息,這4條漏洞關(guān)聯(lián)信息構(gòu)成一個(gè)數(shù)據(jù)集,則可以分別計(jì)算每條漏洞關(guān)聯(lián)信息對(duì)于該模糊模式(protocol is tcp,protocol—flag is SYN,duration is high, result is DDOS)的隸屬度,并將計(jì)算得到的最小隸屬度確定為該條漏洞關(guān)聯(lián)信息對(duì)于該模糊模式的支持度。具體地,針對(duì)這4條漏洞關(guān)聯(lián)信息,計(jì)算得到的隸屬度和最終確定的支持度可以參考下表。其中,表中的第2飛列分別記錄的是每個(gè)模糊值分別對(duì)于不同漏洞關(guān)聯(lián)信息的隸屬度,而最后一列記錄的則是最終確定的不同漏洞關(guān)聯(lián)信息對(duì)于該模糊模式的支持度。
      記錄Protocol is tcpprotocolflagis SYNDurationishighresultis DDOS支持度II. 00. 90. 3I. 00. 32I. 00. 70. 2I. 00. 23I. 00. 60. 8I. 00. 64I. 00. 70. 5I. 00. 5
      本發(fā)明實(shí)施例中,針對(duì)任意模糊模式,可以以不同漏洞關(guān)聯(lián)信息對(duì)于該模糊模式的支持度的平均值作為該模糊模式的支持度S,具體計(jì)算公式如下式[I]所示。其中,分母R為漏洞規(guī)則關(guān)聯(lián)生成器生成的漏洞關(guān)聯(lián)信息的總個(gè)數(shù),而分子中的Si為R個(gè)漏洞關(guān)聯(lián)信息中的第i個(gè)漏洞關(guān)聯(lián)信息對(duì)于該模糊模式的支持度,該支持度s^mirKfi,f2,. . . fn),n為該模糊模式所包含的模糊值的個(gè)數(shù),fi (l^i^n)為該模糊模式所包含的模糊值分別對(duì)于同一漏洞關(guān)聯(lián)信息的隸屬度。R
      權(quán)利要求
      1.一種程序漏洞的檢測(cè)系統(tǒng),其特征在于,包括執(zhí)行路徑模擬生成器、漏洞屬性關(guān)聯(lián)生成器和模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器,其中 所述執(zhí)行路徑模擬生成器,用于確定待檢測(cè)的程序源代碼的執(zhí)行路徑信息;并將確定的執(zhí)行路徑信息發(fā)送給所述模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器; 所述漏洞屬性關(guān)聯(lián)生成器,用于根據(jù)設(shè)置的漏洞庫(kù)中存儲(chǔ)的漏洞信息,生成由多個(gè)漏洞關(guān)聯(lián)信息構(gòu)成的漏洞關(guān)聯(lián)信息集合,其中,每個(gè)漏洞關(guān)聯(lián)信息分別由具備邏輯關(guān)聯(lián)的多個(gè)漏洞信息構(gòu)成;井分別確定漏洞關(guān)聯(lián)信息集合中包含的各條漏洞關(guān)聯(lián)信息對(duì)于各模糊模式的支持度;其中,各模糊模式分別對(duì)應(yīng)于指定的不同漏洞攻擊方式;根據(jù)確定的支持度,從所述對(duì)應(yīng)于指定的各漏洞攻擊方式的模糊模式中選取模糊模式構(gòu)成頻繁模糊模式集合;以及將頻繁模糊模式集合發(fā)送給所述模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器; 所述模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器,用于接收所述執(zhí)行路徑模擬生成器發(fā)送的執(zhí)行路徑信息和所述漏洞屬性關(guān)聯(lián)生成器發(fā)送的頻繁模糊模式集合;井根據(jù)接收的所述執(zhí)行路徑信息,確定所述程序源代碼的執(zhí)行流程;確定該執(zhí)行流程與頻繁模糊模式集合中包含的模糊模式的匹配度;以及根據(jù)所述匹配度,確定所述程序源代碼的安全度。
      2.如權(quán)利要求I所述的系統(tǒng),其特征在于,所述模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器還用于確定所述程序源代碼的漏洞信息,以及將確定的漏洞信息發(fā)送給所述漏洞庫(kù)。
      3.如權(quán)利要求I所述的系統(tǒng),其特征在于,所述模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器具體用于 判斷所述執(zhí)行流程中是否出現(xiàn)了頻繁模糊模式集合中的模糊模式所對(duì)應(yīng)的漏洞攻擊方式的初始狀態(tài); 在判斷結(jié)果為否時(shí),確定所述執(zhí)行流程與頻繁模糊模式集合中包含的模糊模式不匹配,并確定用于表征所述程序源代碼安全度的安全度值為O ; 在判斷結(jié)果為是時(shí),確定出現(xiàn)了所述執(zhí)行流程中出現(xiàn)的所述初始狀態(tài)的漏洞攻擊方式的后續(xù)狀態(tài);并確定所述后續(xù)狀態(tài)與所述執(zhí)行流程的匹配度,并在所述執(zhí)行流程完全匹配于ー個(gè)模糊模式所包含的各模糊值時(shí),確定用于表征所述程序源代碼安全度的安全度值為I ;以及在所述執(zhí)行流程不完全匹配于任意模糊模式所包含的各模糊值時(shí),確定用于表征所述程序源代碼安全度的安全度值為大于O而小于I的值。
      4.如權(quán)利要求I所述的系統(tǒng),其特征在于,所述漏洞屬性關(guān)聯(lián)生成器具體用于 根據(jù)所述漏洞庫(kù)中存儲(chǔ)的漏洞信息和預(yù)先統(tǒng)計(jì)得到的漏洞邏輯關(guān)聯(lián)信息,分別確定由所述漏洞庫(kù)中存儲(chǔ)的漏洞信息構(gòu)成的具備邏輯關(guān)聯(lián)的多個(gè)漏洞關(guān)聯(lián)信息;井根據(jù)預(yù)定的漏洞關(guān)聯(lián)信息選取規(guī)則,從確定的所述多個(gè)漏洞關(guān)聯(lián)信息中選取漏洞關(guān)聯(lián)信息構(gòu)成所述漏洞關(guān)聯(lián)信息集合; 其中,所述漏洞關(guān)聯(lián)信息選取規(guī)則具體為選取包含的漏洞信息之間的邏輯關(guān)聯(lián)度大于預(yù)設(shè)關(guān)聯(lián)度閾值的漏洞關(guān)聯(lián)信息。
      5.如權(quán)利要求I所述的系統(tǒng),其特征在于,不同模糊模式分別包含有多個(gè)模糊值;則 所述漏洞屬性關(guān)聯(lián)生成器具體用干針對(duì)所述漏洞關(guān)聯(lián)信息集合中包含的每條漏洞關(guān)聯(lián)信息,按照下述方式分別確定該條漏洞關(guān)聯(lián)信息對(duì)于分別對(duì)應(yīng)于指定的不同漏洞攻擊方式的各模糊模式的支持度 針對(duì)每個(gè)模糊模式,分別計(jì)算該模糊模式所包含的每個(gè)模糊值對(duì)于該漏洞關(guān)聯(lián)信息的隸屬度;并將計(jì)算得到的最小隸屬度確定為該條漏洞關(guān)聯(lián)信息對(duì)于該模糊模式的支持度。
      6.如權(quán)利要求I或5所述的系統(tǒng),其特征在于,所述漏洞屬性關(guān)聯(lián)生成器具體用于 根據(jù)確定的支持度和預(yù)先設(shè)置的支持度閾值,從確定的支持度中確定大于支持度閾值的支持度;并選取大于支持度閾值的支持度所對(duì)應(yīng)模糊模式,構(gòu)成頻繁模糊模式集合。
      7.—種檢測(cè)程序漏洞的方法,其特征在于,包括 執(zhí)行路徑模擬生成器確定待檢測(cè)的程序源代碼的執(zhí)行路徑信息,并將確定的執(zhí)行路徑信息發(fā)送給模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器; 漏洞屬性關(guān)聯(lián)生成器根據(jù)設(shè)置的漏洞庫(kù)中存儲(chǔ)的漏洞信息,生成由多個(gè)漏洞關(guān)聯(lián)信息構(gòu)成的漏洞關(guān)聯(lián)信息集合,其中,每個(gè)漏洞關(guān)聯(lián)信息分別由具備邏輯關(guān)聯(lián)的多個(gè)漏洞信息構(gòu)成; 漏洞屬性關(guān)聯(lián)生成器分別確定漏洞關(guān)聯(lián)信息集合中包含的各條漏洞關(guān)聯(lián)信息對(duì)于各模糊模式的支持度,其中,各模糊模式分別對(duì)應(yīng)于指定的不同漏洞攻擊方式; 漏洞屬性關(guān)聯(lián)生成器根據(jù)確定的支持度,從所述對(duì)應(yīng)于指定的各漏洞攻擊方式的模糊模式中選取模糊模式構(gòu)成頻繁模糊模式集合,并將頻繁模糊模式集合發(fā)送給模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器; 模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器接收?qǐng)?zhí)行路徑模擬生成器發(fā)送的執(zhí)行路徑信息和漏洞屬性關(guān)聯(lián)生成器發(fā)送的頻繁模糊模式集合; 模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器根據(jù)接收的所述執(zhí)行路徑信息,確定所述程序源代碼的執(zhí)行流程; 模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器確定所述執(zhí)行流程與頻繁模糊模式集合中包含的模糊模式的匹配度,井根據(jù)所述匹配度,確定所述程序源代碼的安全度。
      8.如權(quán)利要求7所述的方法,其特征在于,還包括 模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器確定所述程序源代碼的漏洞信息,以及將確定的漏洞信息發(fā)送給所述漏洞庫(kù)。
      9.如權(quán)利要求7所述的方法,其特征在于,模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器確定所述執(zhí)行流程與頻繁模糊模式集合中包含的模糊模式的匹配度,井根據(jù)所述匹配度,確定所述程序源代碼的安全度,具體包括 模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器判斷所述執(zhí)行流程中是否出現(xiàn)了頻繁模糊模式集合中的模糊模式所對(duì)應(yīng)的漏洞攻擊方式的初始狀態(tài); 模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器在判斷結(jié)果為否時(shí),確定所述執(zhí)行流程與頻繁模糊模式集合中包含的模糊模式不匹配,并確定用于表征所述程序源代碼安全度的安全度值為O ; 模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器在判斷結(jié)果為是時(shí),確定出現(xiàn)了所述執(zhí)行流程中出現(xiàn)的所述初始狀態(tài)的漏洞攻擊方式的后續(xù)狀態(tài);并確定所述后續(xù)狀態(tài)與所述執(zhí)行流程的匹配度,并在所述執(zhí)行流程完全匹配于ー個(gè)模糊模式所包含的各模糊值時(shí),確定用于表征所述程序源代碼安全度的安全度值為I ;以及在所述執(zhí)行流程不完全匹配于任意模糊模式所包含的各模糊值時(shí),確定用于表征所述程序源代碼安全度的安全度值為大于O而小于I的值。
      10.如權(quán)利要求7所述的方法,其特征在于,漏洞屬性關(guān)聯(lián)生成器根據(jù)設(shè)置的漏洞庫(kù)中存儲(chǔ)的漏洞信息,生成由多個(gè)漏洞關(guān)聯(lián)信息構(gòu)成的漏洞關(guān)聯(lián)信息集合,具體包括 漏洞屬性關(guān)聯(lián)生成器根據(jù)所述漏洞庫(kù)中存儲(chǔ)的漏洞信息和預(yù)先統(tǒng)計(jì)得到的漏洞邏輯關(guān)聯(lián)信息,分別確定由所述漏洞庫(kù)中存儲(chǔ)的漏洞信息構(gòu)成的具備邏輯關(guān)聯(lián)的多個(gè)漏洞關(guān)聯(lián)信息; 漏洞屬性關(guān)聯(lián)生成器根據(jù)預(yù)定的漏洞關(guān)聯(lián)信息選取規(guī)則,從確定的所述多個(gè)漏洞關(guān)聯(lián)信息中選取漏洞關(guān)聯(lián)信息構(gòu)成所述漏洞關(guān)聯(lián)信息集合; 其中,所述漏洞關(guān)聯(lián)信息選取規(guī)則具體為選取包含的漏洞信息之間的邏輯關(guān)聯(lián)度大于預(yù)設(shè)關(guān)聯(lián)度閾值的漏洞關(guān)聯(lián)信息。
      11.如權(quán)利要求7所述的方法,其特征在于,不同模糊模式分別包含有多個(gè)模糊值;則 漏洞屬性關(guān)聯(lián)生成器分別確定漏洞關(guān)聯(lián)信息集合中包含的各條漏洞關(guān)聯(lián)信息對(duì)于分別對(duì)應(yīng)于指定的不同漏洞攻擊方式的各模糊模式的支持度,具體包括 漏洞屬性關(guān)聯(lián)生成器針對(duì)所述漏洞關(guān)聯(lián)信息集合中包含的每條漏洞關(guān)聯(lián)信息,按照下述方式分別確定該條漏洞關(guān)聯(lián)信息對(duì)于分別對(duì)應(yīng)于指定的不同漏洞攻擊方式的各模糊模式的支持度 針對(duì)每個(gè)模糊模式,分別計(jì)算該模糊模式所包含的每個(gè)模糊值對(duì)于該漏洞關(guān)聯(lián)信息的隸屬度;并將計(jì)算得到的最小隸屬度確定為該條漏洞關(guān)聯(lián)信息對(duì)于該模糊模式的支持度。
      12.如權(quán)利要求7或11所述的方法,其特征在于,漏洞屬性關(guān)聯(lián)生成器根據(jù)確定的支持度,從所述對(duì)應(yīng)于指定的各漏洞攻擊方式的模糊模式中選取模糊模式構(gòu)成頻繁模糊模式集合,具體包括 漏洞屬性關(guān)聯(lián)生成器根據(jù)確定的支持度和預(yù)先設(shè)置的支持度閾值,從確定的支持度中確定大于支持度閾值的支持度;并選取大于支持度閾值的支持度所對(duì)應(yīng)模糊模式,構(gòu)成頻繁模糊模式集合。
      全文摘要
      本發(fā)明公開了一種程序漏洞的檢測(cè)系統(tǒng)和方法,用以解決采用現(xiàn)有技術(shù)提供的程序漏洞檢測(cè)方式對(duì)程序漏洞的檢測(cè)不夠完善,存在誤報(bào)率比較高的問(wèn)題。系統(tǒng)包括執(zhí)行路徑模擬生成器、漏洞屬性關(guān)聯(lián)生成器和模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器。執(zhí)行路徑模擬生成器確定程序源代碼的執(zhí)行路徑信息并發(fā)送給模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器;漏洞屬性關(guān)聯(lián)生成器根據(jù)設(shè)置的漏洞庫(kù)中存儲(chǔ)的漏洞信息,生成頻繁模糊模式集合發(fā)送給模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器;模糊狀態(tài)自動(dòng)機(jī)檢測(cè)器根據(jù)執(zhí)行路徑信息確定程序源代碼的執(zhí)行流程;并確定該執(zhí)行流程與頻繁模糊模式集合中包含的模糊模式的匹配度,以及根據(jù)該匹配度確定程序源代碼的安全度。
      文檔編號(hào)G06F21/56GK102982282SQ201210487298
      公開日2013年3月20日 申請(qǐng)日期2012年11月26日 優(yōu)先權(quán)日2012年11月26日
      發(fā)明者孫建坡 申請(qǐng)人:北京神州綠盟信息安全科技股份有限公司, 北京神州綠盟科技有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1