• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      軟件靜態(tài)安全檢測(cè)技術(shù)研究

      2013-02-15 03:48:12中國(guó)移動(dòng)深圳有限公司鐘昌杰
      通信世界 2013年21期
      關(guān)鍵詞:安全漏洞漏洞靜態(tài)

      中國(guó)移動(dòng)(深圳)有限公司 | 鐘昌杰

      軟件靜態(tài)安全檢測(cè)技術(shù)研究

      中國(guó)移動(dòng)(深圳)有限公司 | 鐘昌杰

      軟件安全問(wèn)題日益嚴(yán)重,靜態(tài)安全檢測(cè)提供了從軟件結(jié)構(gòu)和代碼中尋找漏洞的方法。

      安全性是軟件質(zhì)量的一個(gè)重要屬性。軟件安全性是軟件在受到惡意攻擊時(shí)仍提供所需功能的能力。多數(shù)軟件的安全性問(wèn)題主要源自于本身,其自身的漏洞往往被攻擊者利用,從而成為軟件安全的隱患。軟件安全檢測(cè)技術(shù)的主要作用就是檢測(cè)軟件中存在的安全問(wèn)題,從而指導(dǎo)軟件進(jìn)行安全性能的改善。

      安全性相關(guān)缺陷不同于一般的軟件缺陷。一個(gè)很難發(fā)現(xiàn)的軟件安全漏洞可能導(dǎo)致大量用戶(hù)受到影響。安全性測(cè)試不同于傳統(tǒng)測(cè)試類(lèi)型最大的區(qū)別是它強(qiáng)調(diào)軟件不應(yīng)當(dāng)做什么,而不是軟件要做什么,例如未授權(quán)用戶(hù)不能訪(fǎng)問(wèn)數(shù)據(jù)。

      軟件安全性測(cè)試刻不容緩

      軟件安全性測(cè)試可分為安全功能測(cè)試和安全漏洞測(cè)試兩個(gè)方面。

      安全功能測(cè)試基于軟件的安全功能需求說(shuō)明,測(cè)試軟件的安全功能實(shí)現(xiàn)是否與安全需求一致,包括數(shù)據(jù)機(jī)密性、完整性、可用性、不可否認(rèn)性、身份認(rèn)證、授權(quán)、訪(fǎng)問(wèn)控制、審計(jì)跟蹤、委托、隱私保護(hù)、安全管理等。

      安全漏洞測(cè)試從攻擊者的角度,以發(fā)現(xiàn)軟件的安全漏洞為目的。安全漏洞是指系統(tǒng)在設(shè)計(jì)、實(shí)現(xiàn)、操作、管理上存在的可被利用的缺陷或弱點(diǎn)。漏洞被利用可能造成軟件受到攻擊,使軟件進(jìn)入不安全的狀態(tài),安全漏洞測(cè)試就是識(shí)別軟件的安全漏洞。

      目前測(cè)評(píng)中心的安全測(cè)試工作就是要發(fā)現(xiàn)中國(guó)移動(dòng)業(yè)務(wù)支撐系統(tǒng)存在的安全漏洞,對(duì)于軟件安全的檢測(cè),通??梢园凑諜z測(cè)過(guò)程中是否需要執(zhí)行程序的標(biāo)準(zhǔn)分為動(dòng)態(tài)測(cè)試和靜態(tài)測(cè)試兩種,本文針對(duì)軟件靜態(tài)安全檢測(cè)技術(shù)進(jìn)行深入研究。

      靜態(tài)檢測(cè)從分析開(kāi)始

      靜態(tài)代碼安全分析的第一步,是根據(jù)分析需求把程序源代碼變換成易于分析處理的程序模型,這個(gè)過(guò)程用到了編譯原理中的成熟技術(shù)。

      ● 詞法分析:使用正則表達(dá)式匹配將源代碼轉(zhuǎn)換為等價(jià)的符號(hào)流。

      ● 語(yǔ)法分析:使用上下文無(wú)關(guān)語(yǔ)法將符號(hào)流規(guī)整為語(yǔ)法樹(shù),作為源代碼邏輯結(jié)構(gòu)的最直接的表現(xiàn)。

      ● 抽象語(yǔ)法分析:通過(guò)簡(jiǎn)化語(yǔ)法將語(yǔ)法樹(shù)轉(zhuǎn)換為包含更少節(jié)點(diǎn)和分支的抽象語(yǔ)法樹(shù),以方便后續(xù)處理。

      ● 語(yǔ)義分析:從抽象語(yǔ)法樹(shù)建立符號(hào)表,為每個(gè)標(biāo)識(shí)符關(guān)聯(lián)類(lèi)型信息。至此,已經(jīng)具備了足夠的信息來(lái)進(jìn)行所謂的結(jié)構(gòu)化分析。編譯器通常將抽象語(yǔ)法樹(shù)和符號(hào)表轉(zhuǎn)化成易于優(yōu)化的中間形式,然后送給后端生成平臺(tái)相關(guān)的目標(biāo)代碼。安全分析工具可以建立更高階的中間形式,或者直接在抽象語(yǔ)法樹(shù)和符號(hào)表上進(jìn)行后續(xù)步驟。

      在分析模型建立后,就可以開(kāi)始進(jìn)行靜態(tài)檢測(cè)了。從早期的緩沖區(qū)溢出檢測(cè)開(kāi)始,十幾年來(lái)出現(xiàn)了各種檢測(cè)技術(shù),早期靜態(tài)檢測(cè)主要指靜態(tài)分析,隨著形式化驗(yàn)證方法的引入,靜態(tài)檢測(cè)引入了程序抽象驗(yàn)證方法。

      靜態(tài)分析直接分析被測(cè)程序特征,尋找可能導(dǎo)致錯(cuò)誤的異常。

      規(guī)則檢查 程序本身的安全性可由安全規(guī)則描述。程序本身存在一些編程規(guī)則,即一些通用的安全規(guī)則,也稱(chēng)之為漏洞模式,比如程序在root權(quán)限下要避免exec調(diào)用。規(guī)則檢查方法將這些規(guī)則以特定語(yǔ)法描述,由規(guī)則處理器接收,并將其轉(zhuǎn)換為分析器能夠接受的內(nèi)部表示,然后再將程序行為進(jìn)行比對(duì)、檢測(cè)。

      類(lèi)型推導(dǎo) 自動(dòng)推導(dǎo)程序中變量和函數(shù)的類(lèi)型,來(lái)判斷變量和函數(shù)的訪(fǎng)問(wèn)是否符合類(lèi)型規(guī)則。靜態(tài)漏洞檢測(cè)的類(lèi)型推導(dǎo)由定型斷言、推導(dǎo)規(guī)則和檢查規(guī)則3個(gè)部分組成。定型斷言定義變量的初始類(lèi)型,推導(dǎo)規(guī)則提供了推論系統(tǒng)的規(guī)則集合,檢查規(guī)則用于判定推論結(jié)果是否為“良行為”。

      程序驗(yàn)證方法通過(guò)使用形式化驗(yàn)證技術(shù)驗(yàn)證正確性的方式來(lái)檢測(cè)漏洞。

      1.模型檢測(cè)

      模型檢測(cè)對(duì)有限狀態(tài)的程序構(gòu)造狀態(tài)機(jī)或有向圖等抽象模型,再對(duì)模型進(jìn)行遍歷以驗(yàn)證系統(tǒng)特性。一般有2種驗(yàn)證方式:

      ● 符號(hào)化方法將抽象模型中的狀態(tài)轉(zhuǎn)換為語(yǔ)法樹(shù)描述的邏輯公式,然后判定公式是否可滿(mǎn)足。

      ● 模型轉(zhuǎn)換成自動(dòng)機(jī),并將需要檢查的安全時(shí)序?qū)傩赞D(zhuǎn)換為等價(jià)自動(dòng)機(jī),再將這兩個(gè)自動(dòng)機(jī)取補(bǔ),構(gòu)成一個(gè)新的自動(dòng)機(jī),判定問(wèn)題就變成檢查這個(gè)新自動(dòng)機(jī)能接受的語(yǔ)言是否為空。

      模型檢測(cè)需要列舉所有可能狀態(tài),由于軟件本身的高復(fù)雜度,對(duì)所有程序點(diǎn)進(jìn)行建??赡軙?huì)使模型規(guī)模龐大,因此一般只針對(duì)程序中某一方面屬性構(gòu)造抽象模型。近期出現(xiàn)的一種模型檢測(cè)方法通過(guò)對(duì)內(nèi)存狀態(tài)的建模,從而使原先主要檢測(cè)時(shí)序相關(guān)漏洞的模型檢測(cè)方法可對(duì)內(nèi)存相關(guān)漏洞進(jìn)行相關(guān)檢測(cè)。

      2.定理證明

      定理證明比模型檢測(cè)的形式化方法更加嚴(yán)格,用各種判定過(guò)程來(lái)驗(yàn)證程序抽象公式是否為真。判別的方法取決于公式的形式,如不等式的合?。菏紫扔珊先∈綐?gòu)造成一個(gè)圖,合取式中每個(gè)條件對(duì)應(yīng)于圖中的一個(gè)節(jié)點(diǎn),然后利用給出的等式將對(duì)應(yīng)的頂點(diǎn)合并,在頂點(diǎn)合并的過(guò)程中對(duì)合取式中的不等式進(jìn)行檢查,如發(fā)現(xiàn)存在不成立,則該合取式不可滿(mǎn)足。

      3.符號(hào)執(zhí)行

      符號(hào)執(zhí)行的基本思想是將程序中變量的值邏輯轉(zhuǎn)換成抽象符號(hào),模擬路徑敏感的程序控制流,通過(guò)約束求解的辦法,檢測(cè)是否有發(fā)生錯(cuò)誤的可能。由程序執(zhí)行前的條件P出發(fā),在程序中某程序點(diǎn),可推出約束條件C1∧C2∧…∧Cn ,因此在該點(diǎn)有P∧ Cl∧ C2∧…∧Cn->R這樣的規(guī)約式,其中R是程序結(jié)束后要滿(mǎn)足的條件。對(duì)該規(guī)約式的否命題求解,如有一組解滿(mǎn)足,說(shuō)明在這個(gè)程序點(diǎn)上存在一組變量狀態(tài),使運(yùn)行程序的結(jié)果不符。符號(hào)執(zhí)行求解工具的約束條件集合及求解能力決定了其發(fā)現(xiàn)錯(cuò)誤的能力。理論上很多約束問(wèn)題在可接受時(shí)間級(jí)內(nèi)是不可解的,因此,符號(hào)執(zhí)行求解的方法只適用于某些特定問(wèn)題求解上。

      最終的報(bào)告并非安全缺陷的簡(jiǎn)單總結(jié),還應(yīng)該幫助用戶(hù)判斷缺陷報(bào)告的正確性和缺陷的嚴(yán)重性,并給出適當(dāng)?shù)男迯?fù)建議。從易用性考慮,缺陷報(bào)告應(yīng)該支持分組、排序、屏蔽特定結(jié)果等操作。

      靜態(tài)檢測(cè)工具發(fā)展方向

      靜態(tài)檢測(cè)技術(shù)目前的發(fā)展趨勢(shì)是將靜態(tài)檢測(cè)的各種技術(shù)進(jìn)行結(jié)合,以提高性能。結(jié)合方式有以下幾種方法:

      ● 提供一個(gè)框架,使用不同檢測(cè)技術(shù)對(duì)程序進(jìn)行檢測(cè),獲取大量檢測(cè)結(jié)果之后進(jìn)行分析。從誤報(bào)率來(lái)說(shuō),使用多種技術(shù)的檢測(cè)結(jié)果的交集來(lái)進(jìn)行漏洞判斷決策,可減少誤報(bào)率。從漏報(bào)率來(lái)說(shuō),對(duì)于同一種漏洞,使用多種檢測(cè)技術(shù)的結(jié)果的并集可以減少漏報(bào)率。

      ● 直接在檢測(cè)技術(shù)上結(jié)合,通過(guò)技術(shù)的結(jié)合來(lái)得到新的方法,如在符號(hào)執(zhí)行的過(guò)程中加入類(lèi)型推導(dǎo)的技術(shù),在變量模擬執(zhí)行的過(guò)程中增加其類(lèi)型特征的推導(dǎo),可獲取更高的漏洞檢測(cè)率。

      猜你喜歡
      安全漏洞漏洞靜態(tài)
      漏洞
      靜態(tài)隨機(jī)存儲(chǔ)器在軌自檢算法
      安全漏洞太大亞馬遜、沃爾瑪和Target緊急下架這種玩具
      玩具世界(2018年6期)2018-08-31 02:36:26
      基于安全漏洞掃描的校園網(wǎng)告警系統(tǒng)的開(kāi)發(fā)與設(shè)計(jì)
      三明:“兩票制”堵住加價(jià)漏洞
      漏洞在哪兒
      高鐵急救應(yīng)補(bǔ)齊三漏洞
      機(jī)床靜態(tài)及動(dòng)態(tài)分析
      具7μA靜態(tài)電流的2A、70V SEPIC/升壓型DC/DC轉(zhuǎn)換器
      安全漏洞Shellshock簡(jiǎn)介
      河南科技(2014年11期)2014-02-27 14:16:49
      南郑县| 潢川县| 札达县| 江川县| 锡林浩特市| 兴隆县| 丰原市| 静海县| 攀枝花市| 公安县| 富锦市| 罗城| 沁阳市| 西乡县| 高安市| 巴林左旗| 英吉沙县| 错那县| 安乡县| 玉田县| 禄丰县| 彩票| 宁武县| 绩溪县| 哈尔滨市| 曲沃县| 绥中县| 富顺县| 轮台县| 奎屯市| 休宁县| 集安市| 景东| 白朗县| 墨竹工卡县| 罗源县| 曲阳县| 平阳县| 班戈县| 罗江县| 桐乡市|