《電子技術應用》
您所在的位置:首頁 > 測試測量 > 業界動態 > 軟件安全靜態檢測技術與工具

軟件安全靜態檢測技術與工具

2009-07-16
作者:楊洪路1,2,宮云戰2,高文齡1

  摘 要: 提出了一種軟件安全漏洞的檢測方法,重點介紹了靜態測試。對當前基于源碼分析的軟件安全測試工具進行了分類并加以分析。
??? 關鍵詞: 軟件安全;漏洞;安全測試;靜態分析;測試工具

?

??? 隨著Internet的迅速普及和社會信息化程度的不斷加深,信息系統面臨著越來越多的安全威脅,信息安全問題日益突出。研究表明,相當數量的安全問題都是由于軟件自身的安全漏洞引起的[1]。軟件漏洞的產生,既有內因也有外因。內因方面:設計人員在架構階段沒有明確用戶對安全性方面的需求,在設計上也沒有考慮安全性,因此,使得軟件本身存在著缺陷和Bug。外因方面,軟件的運行環境不安全,容易被植入惡意代碼,遭到黑客攻擊,利用軟件漏洞傳播已成為時下惡意代碼最為常用的手段之一。
1?軟件安全漏洞檢測方法
1.1?手工分析

??? 手工分析是目前大部分安全研究人員仍在采用的方法。針對開源軟件,手工分析人員一般是通過諸如SourceInsight之類的源碼閱讀工具來加速源碼檢索和查詢的速度。比如,對C或C++程序最簡單的分析一般都是先對系統中gets、strcpy之類不安全的函數調用進行審查,進一步的審核安全庫函數和循環的使用。閉源軟件的審查與開源軟件不同,閉源軟件難以獲得源代碼,因此反匯編引擎和調試器扮演了最重要的角色,通常在反匯編得到的匯編代碼基礎上進行分析,其難度要遠遠高于源代碼閱讀。由此造成對程序的理解和對程序的逆向工程等很多困難。
??? 因此,不論采用什么方法進行手工分析,都要求安全分析人員既對軟件安全漏洞的原理有深入的了解,同時還要熟悉軟件本身的結構和功能。即便軟件開發人員懂得軟件安全漏洞檢測技術,手工進行漏洞檢測仍然是一件費時耗力的事情。但由于完全自動化的軟件安全漏洞檢測還沒有實現,所以,人工的參與是必不可少的。比如,對靜態程序分析結果的確認、動態程序分析數據的構造等。
1.2?動態測試
  軟件動態測試是通過運行軟件來檢驗軟件的動態行為和運行結果的正確性。目前,動態測試也是軟件測試工作的主要方式。
  動態測試需要通過程序的執行來完成,有別于靜態測試得到程序每次執行都不變的特性。動態分析得到程序一次或多次執行的信息,根據這些信息對特定的漏洞模式進行檢測,從而完成軟件的安全分析。程序測試和剖析是最常見的標準動態測試,因為動態測試沒有對程序進行抽象處理,所以其分析結果是十分準確的,如:程序的哪條路徑被執行,程序計算的數據值是什么,程序使用了多少內存或是程序執行了多長時間等等。
??? 但動態測試的結果是不完整的,一次程序的執行情況并不能代表程序以后的可能執行情況。也就是說,一個測試輸入數據集不可能保證程序的所有可能執行路徑,僅僅依靠一次或多次的程序執行情況有可能無法發現軟件的安全漏洞,而這些安全漏洞卻是真實存在的,關鍵是如何設計有良好分支覆蓋和狀態覆蓋的測試。
1.3?靜態測試
  靜態測試作為一種高效的程序分析方法,受到越來越多的重視。當用戶給出語言的抽象語義后,該類方法能夠自動發現滿足所有可能執行狀態的軟件屬性。靜態測試方法具有自動化程度高、分析速度快的優點。在實際使用中,靜態測試比動態測試更有效率,并能快速找到缺陷(發現30%~70%的邏輯設計和編碼缺陷)。盡管靜態分析方法可能產生一定的漏報(false negatives)或誤報(false positives),但仍然是當今最實用、最有效的安全漏洞檢測方法之一[2]。
  靜態測試使用靜態分析技術,直接分析程序的源代碼,通過詞法分析、語法分析和靜態語義分析,檢測程序中潛在的安全漏洞。目前,靜態分析主要有類型推斷、數據流分析和約束分析3種方法。
  (1)類型推斷
  程序語言的類型系統包括一種定義類型的機制,有關類型等價、類型相容和類型推理的規則。在將運算符作用于運算對象、執行賦值,或者把實際參數傳遞給子程序時,都存在著類型是否合適的問題。類型推斷是一個處理過程,其目的是保證每個操作都是針對一組數目正確、類型合適的對象進行,以保證操作的有效性。
  類型推斷可以檢查類型錯誤,選擇合適的操作,根據情況確定必要的類型轉換。類型推斷方法具有簡單、高效的特點,非常適合軟件安全漏洞的快速檢測。采用類型推斷方法檢測的安全漏洞主要有C程序中的格式化字符串漏洞、操作系統內核中的權限檢查[3],以及操作系統內核中不安全的指針使用[4]等。
  (2)數據流分析
  數據流分析是一項編譯時使用的技術,它能從程序代碼中收集程序的語義信息并通過代數的方法在編譯時確定變量的定義和使用。數據流分析被用于解決編譯優化、程序驗證、調試、測試、并行、向量化和串行編程環境等問題。數據流分析是通過對變量構造定義實現的。
  數據流分析在安全檢測中有著廣泛的用途。應用數據流分析技術,可以檢測C程序中的數組越界漏洞[5]等多種程序中的安全漏洞。
  (3)約束分析
  約束分析方法將程序分析過程分為約束產生和約束求解2個階段,前者利用約束產生規則建立變量類型或分析狀態之間的約束系統,后者對這些約束系統進行求解。
  約束系統可以分為等式約束、集合約束和混合約束3種形式。等式約束的約束項之間只存在相等關系。集合約束把每個程序變量看成一個值集,變量賦值被解釋為集合表達式之間的包含關系?;旌霞s束系統由部分等式約束和部分集合約束組成。
  約束分析在安全檢測中的應用也很廣泛。比如,可以利用集合約束方法檢測C程序中的緩沖區溢出漏洞。
  (4)3種主要靜態分析方法的比較
  以上介紹的3種主要靜態分析方法都是通過解釋程序的抽象語義,建立程序屬性的數學模型,再通過求解這個數學模型確定程序的屬性。相比較而言,約束分析具有最強的檢測能力和最慢的檢測速度,適合進行軟件的安全檢測;數據流分析具有較強和較快的檢測速度,適合需要考慮控制流信息,變量屬性之間的操作簡單的靜態分析問題;類型推斷則具有最弱的檢測能力和最快的檢測速度,適合檢查屬性域有限、與控制流無關的安全屬性。
2?軟件安全靜態測試工具?
??? 靜態分析技術通過發現源代碼中的安全漏洞防止入侵攻擊。靜態分析程序時不需要執行所測試的程序,它掃描所測試程序的正文,并對程序的數據流和控制流進行分析,然后產生非常人性化的錯誤報告,告訴用戶發生錯誤的類型、位置并提出改正的建議,幫助用戶改進軟件質量。
??? 軟件安全測試的工具種類很多,根據保護程序或者保護軟件系統安全的方式和途徑,對基于源碼分析的軟件安全測試工具進行了分類,主要分為:詞匯語法分析類工具、約束分析類工具、擴展編譯類工具、基于模型測試工具等。
2.1?詞匯語法分析類工具
??? 詞匯語法分析類工具是安全測試工具中最簡單的工具,通過程序的詞法和語法分析,對源代碼進行靜態分析,通過模式匹配找出特定的函數中可能導致安全問題的缺陷。
??? 詞匯語法分析類工具使用簡單、快速,易于實現,通常嵌入到程序編譯器中,在軟件開發的過程中發揮重要作用。但其局限性比較大,很難檢測出比較復雜的安全問題,同時此類工具的誤報率比較高。
??? 詞匯語法分析類工具主要有:ITS4、Flawfinder、RATS和PScan等。
2.2?約束分析類工具
??? 約束分析類工具通常利用解析樹產生的約束(也可以利用代碼中添加注釋),對源代碼進行分析,檢查出可能導致安全問題的缺陷。
??? 相比于詞匯語法類的分析工具,此類工具能夠更好地分析函數的安全性,可以更全面地檢查特定的一些安全漏洞,通過對解析樹的分析,確定缺陷的位置。但因其對安全問題檢查是根據約束完成的,所以檢查缺陷范圍比較有限。
??? 約束分析類工具主要有:BOON、CQUAL、Splint、UNO以及ESC/JAVA。
2.3?擴展編譯類工具
??? 擴展編譯類工具是通過程序員根據對安全規則的理解,把規則和注釋寫入到源程序中傳播。同時對編譯器進行擴展,并對編譯后的程序進行分析。
??? 擴展編譯類的工具把特殊域合并到編譯過程中,使應用的編寫者不需要懂得內部的編譯方式,減少了程序員對于編譯的了解,可以進行系統級的規則檢查;隱藏執行過程中不容易理解的規則;降低了誤報率和測試的開銷。但是這類工具不能檢測多線程類的錯誤。
??? 擴展編譯類工具主要有:xg+、MC。
2.4? 基于模型測試的工具
??? 基于模型測試類工具一般是對程序構造出有限狀態模型,再檢查其是否存在違反特定安全規則的問題。
??? 不同于前面工具的是,模型檢查會為程序建模,檢查的對象變成抽象化的模型。首先構建程序的有限狀態模型,使用形式化方法表示需要檢查的安全屬性,設計分析算法檢測模型中存在的缺陷。但是現存的模型檢測工具一般針對有限狀態模型進行分析,對于模型構建復雜的系統,測試增加了難度。模型的統一形式化表示也是這方面研究的重點。
??? 模型檢測類的工具有:SLAM、BLAST、Banera、MOPS、The Boop Toolkit、ESP以及FindingBugs等工具。
??? 對軟件測試工具進行的對比如表1所示。

?


??? 隨著由軟件安全漏洞引起的信息安全問題日益突出,人們越來越重視軟件安全測試的重要性。對源代碼進行分析的靜態測試是保證軟件安全的一個重要方法,它與動態測試的檢測方法互為補充,但不可互相替換。軟件安全靜態測試工具也已經在測試工具中占據一席之地,隨著軟件安全測試技術和工具的不斷發展,已經不再只注重于測試安全方面的漏洞,而是綜合了更多方面的測試[6],在實際應用中將更加可靠實用。


參考文獻
[1] 劉海燕,楊洪路,王崛.C源代碼靜態安全檢查技術[J].計算機工程,2004,30(2):28-30.
[2] 夏一民,羅軍,張民選.基于靜態分析的安全漏洞檢測技術研究[J].計算機科學,2006,33(10):279-282.
[3] ZHANG Xiao Lan,EDWARDS A.Using CQUAL for static analysis of authorization hook[C].Usenix security symposium,USA,2002.
[4] JOHNSON R, WAGNER D.Finding user/kernel pointer bugs with type inference[C].Usenix security symposium,2004.
[5] XIE Yi Chen,CHOU A,ARCHER E D.Using symbolic pathsensitive analysis to detect memory access errors[C].ESEC/FSE’03,helsinki,finland,Sep 2003.
[6] 白哥樂,宮云戰,楊朝紅.基于源碼分析的軟件安全測試工具綜述[C].第五屆中國測試學術會議,2008.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美综合国产精品久久丁香| 国产欧美日韩综合一区在线观看| 久久国产日本精品| 久久久精品午夜少妇| 亚洲永久字幕| 久久久久久9999| 午夜精品剧场| 日韩一区二区免费高清| 国内综合精品午夜久久资源| 韩国av一区二区三区四区| 午夜伦欧美伦电影理论片| 国产日韩高清一区二区三区在线| 国产视频欧美视频| 欧美一区二区三区在线观看视频| 欧美日韩在线第一页| 亚洲国产天堂久久综合| 久久夜精品va视频免费观看| 欧美三级黄美女| 欧美一级欧美一级在线播放| 欧美天堂亚洲电影院在线播放| 欧美一乱一性一交一视频| 日韩午夜一区| 一区二区三区四区五区精品视频| 亚洲高清视频在线观看| 国产乱码精品一区二区三| 欧美成人激情在线| 久久天堂成人| 日韩午夜在线观看视频| 在线精品在线| 激情综合视频| 亚洲一区二区三区在线视频| 欧美一区二区黄色| 亚洲第一天堂av| 欧美视频一区二区三区…| 一本色道久久综合狠狠躁篇的优点| 女女同性女同一区二区三区91| 在线国产精品一区| 国产精品一卡二| 中文精品在线| 国产精品一国产精品k频道56| 国产精品高潮呻吟视频| 国产亚洲欧洲一区高清在线观看| 欧美在线免费观看亚洲| 欧美日韩一区二区三区高清| 久久成人这里只有精品| 国产日韩精品一区二区浪潮av| 看片网站欧美日韩| 激情另类综合| 国产日韩在线播放| 亚洲字幕在线观看| 尤妮丝一区二区裸体视频| 亚洲午夜精品国产| 经典三级久久| 99精品视频免费| 亚洲精品久久在线| 亚洲精品麻豆| 可以看av的网站久久看| 中文国产亚洲喷潮| 欧美精品在线观看一区二区| 欧美精品乱人伦久久久久久| 久久综合久久88| 欧美日韩在线视频首页| 亚洲一区视频在线观看视频| 日韩亚洲欧美高清| 久久综合九色| 国产麻豆综合| 亚洲欧洲午夜| 久久在线视频在线| 亚洲日本中文字幕免费在线不卡| 亚洲欧美在线aaa| 亚洲精品乱码久久久久久蜜桃91| 欧美午夜免费影院| 欧美日韩视频在线一区二区观看视频| 久久精品视频在线观看| 欧美交受高潮1| 亚洲性视频网址| 国产亚洲美州欧州综合国| 一区二区动漫| 免费欧美在线视频| 欧美日本精品一区二区三区| 亚洲曰本av电影| 欧美成人影音| 在线观看不卡| 久久av老司机精品网站导航| 99re6热在线精品视频播放速度| 国产精品久久久久久久久久三级| 久久国产精品久久精品国产| 欧美三日本三级少妇三99| 亚洲精品久久嫩草网站秘色| 亚洲国内精品| 欧美一区二区观看视频| 欧美激情一区二区三区蜜桃视频| 久久aⅴ国产欧美74aaa| 亚洲大片精品永久免费| 久久久久成人精品免费播放动漫| 国产一区二区无遮挡| 亚洲精品黄色| 99精品视频免费在线观看| 亚洲第一狼人社区| 欧美成人一区二免费视频软件| 激情欧美亚洲| 欧美日韩视频一区二区三区| 在线激情影院一区| 国产精品日韩| 欧美电影在线| 一区二区三区在线高清| 亚洲国产va精品久久久不卡综合| 久久精品国产第一区二区三区| 国产精品成人av性教育| 一本色道精品久久一区二区三区| 最新69国产成人精品视频免费| 亚洲一区影音先锋| 欧美日韩国产免费观看| 妖精成人www高清在线观看| 欧美精品一区二区三| 国产日韩欧美高清| 午夜精品免费| 欧美视频中文一区二区三区在线观看| 一区二区在线观看av| 亚洲精品影院在线观看| 久久中文欧美| 欧美激情一区二区三区四区| 久久se精品一区精品二区| 激情六月婷婷久久| 久久久久久午夜| 欧美一区激情视频在线观看| 欧美久久久久久蜜桃| 日韩视频在线观看免费| 亚洲欧美一区二区在线观看| 欧美高清在线一区| 国产一区日韩二区欧美三区| 欧美 日韩 国产在线| 欧美经典一区二区三区| 国产精品一区二区三区免费观看| 欧美在线观看天堂一区二区三区| 欧美另类综合| 久久精品国产综合精品| 亚洲女人天堂成人av在线| 欧美激情综合五月色丁香小说| 日韩视频免费大全中文字幕| 欧美日韩精品中文字幕| 亚洲精品欧美一区二区三区| 日韩亚洲欧美成人一区| 国产日韩一区二区三区在线播放| 国产精品av免费在线观看| 亚洲图片自拍偷拍| 欧美1区2区| 国产精品亚洲一区二区三区在线| av成人福利| 亚洲国产欧美另类丝袜| 国产丝袜美腿一区二区三区| 国产精品视区| 91久久夜色精品国产网站| 欧美在线影院在线视频| 国内久久婷婷综合| 欧美日韩视频一区二区三区| 老司机成人在线视频| 欧美一区国产在线| 韩国一区二区三区在线观看| 午夜精品免费| 久久久国产视频91| 亚洲一区二区影院| 欧美第十八页| 亚洲国产91色在线| 亚洲国产毛片完整版| 亚洲国产91| 久久精精品视频| 久久女同精品一区二区| 久久久久五月天| 在线播放日韩专区| 亚洲一区二区三区中文字幕| 国内精品久久久久久久影视蜜臀| 国产日韩欧美综合| 久久久xxx| 亚洲精品国产品国语在线app| 欧美一区二区三区视频免费播放| 精品成人一区二区三区四区| 欧美亚洲在线视频| 亚洲免费在线电影| 麻豆av一区二区三区久久| 国产精品国产亚洲精品看不卡15| 性欧美videos另类喷潮| 免费欧美视频| 国产视频综合在线| 亚洲午夜伦理| 亚洲黄色在线观看| 国产精品草莓在线免费观看| 亚洲伊人一本大道中文字幕| 久久久久久久999精品视频| 亚洲视频免费观看| 黑人巨大精品欧美黑白配亚洲| 欧美激情第一页xxx| 亚洲激情啪啪| 免费成人在线观看视频| 亚洲夫妻自拍| 欧美极品欧美精品欧美视频| 亚洲欧美日韩在线高清直播| 国产欧美一区二区三区沐欲| 99在线精品观看| 国产精品av久久久久久麻豆网| 亚洲伊人第一页| 国产真实精品久久二三区| 欧美婷婷久久| 久久久www| 中文无字幕一区二区三区| 狠狠色综合播放一区二区| 国产欧美日韩免费看aⅴ视频| 欧美顶级大胆免费视频| 久久综合给合久久狠狠狠97色69| 一本久久a久久免费精品不卡| …久久精品99久久香蕉国产| 美女精品一区| 久久精品五月| 亚洲二区视频在线| 久久国产直播| 欧美中文字幕在线播放| 欧美视频免费在线| 一区二区三区在线高清| 老司机免费视频久久| 在线不卡欧美| 欧美高清视频免费观看| 在线电影欧美日韩一区二区私密| 亚洲综合电影| 国产欧美一区二区精品性| 欧美一级大片在线观看| 美国三级日本三级久久99| 欧美电影免费观看高清完整版| 久久艳片www.17c.com| 亚洲一区二区三区视频播放| 一区二区三区四区五区精品| 新片速递亚洲合集欧美合集| 国产曰批免费观看久久久| 一本色道久久综合亚洲精品高清| 亚洲人成人一区二区三区| 亚洲人成人77777线观看| 欧美伦理在线观看| 免费成年人欧美视频| 国产亚洲一级| 亚洲精品乱码久久久久| 久久夜色精品国产噜噜av| 精品成人一区二区| 一区二区三区日韩| 精品999在线观看| 久久久久久一区二区三区| 久久精品国产清高在天天线| 亚洲第一在线视频| 裸体女人亚洲精品一区| 亚洲国产精品传媒在线观看| 国产精品九九| 欧美在线精品免播放器视频| 中文日韩电影网站| 欧美四级在线观看| 久久国产直播| 欧美日韩国产一中文字不卡| 午夜久久电影网| 欧美亚洲视频一区二区| 欧美日韩免费观看一区=区三区| 久久久爽爽爽美女图片| 国产精品sss| 国产精品xxx在线观看www| 尤物yw午夜国产精品视频| 久久爱www.| 欧美一区二区高清| 欧美成人免费va影院高清| 亚洲国产欧美一区| 国产精品一级在线| 久久精品国产久精国产一老狼| 久久超碰97中文字幕| 裸体一区二区三区| 黄色日韩网站| 国产一区在线播放| 久久一日本道色综合久久| 欧美人成免费网站| 欧美日韩国产综合网| 国产亚洲欧美一区二区三区| 亚洲欧美日韩综合一区| 亚洲日韩第九十九页| 亚洲国产欧美不卡在线观看| 亚洲一区国产精品| 亚洲麻豆一区| 久久精品91久久香蕉加勒比| 国产精品夜夜夜一区二区三区尤| 中文亚洲视频在线| 欧美成人一区在线| 国产精品一区二区在线观看网站| 欧美一区二区三区四区夜夜大片| 在线成人欧美| 精品成人一区二区三区四区| 国产嫩草一区二区三区在线观看| 欧美日韩国产美女| 国产欧美精品在线观看| 国产综合激情| 亚洲一区精品在线| 久久三级福利| 欧美理论电影在线播放| 激情伊人五月天久久综合| 国内外成人免费视频| 一区二区三区欧美| 一区二区三区不卡视频在线观看| 伊人伊人伊人久久| 国产九色精品成人porny| 国产农村妇女毛片精品久久麻豆| 亚洲黑丝一区二区| 国产精品视频999| 欧美在线观看天堂一区二区三区| 亚洲一区在线免费观看| 欧美绝品在线观看成人午夜影视| 亚洲欧洲综合另类在线| 国产精品久久久久毛片大屁完整版| 欧美日韩另类字幕中文| 一本色道久久88亚洲综合88| 亚洲精品无人区| 香蕉成人伊视频在线观看| 欧美婷婷六月丁香综合色| 亚洲国产精品久久久久久女王| 亚洲国产高清自拍| 欧美中文在线视频| 欧美黄色片免费观看| 国产精品免费电影| 国产精品日韩在线播放| 欧美成人黄色小视频| 欧美日韩一卡二卡| 国产精品有限公司| 免费看精品久久片| 欧美视频国产精品| 久久男人资源视频| 国产欧美日韩精品一区| 欧美亚州韩日在线看免费版国语版|