軟件安全漏洞自動(dòng)化識(shí)別原理評(píng)析-最新年文檔_第1頁(yè)
軟件安全漏洞自動(dòng)化識(shí)別原理評(píng)析-最新年文檔_第2頁(yè)
軟件安全漏洞自動(dòng)化識(shí)別原理評(píng)析-最新年文檔_第3頁(yè)
軟件安全漏洞自動(dòng)化識(shí)別原理評(píng)析-最新年文檔_第4頁(yè)
軟件安全漏洞自動(dòng)化識(shí)別原理評(píng)析-最新年文檔_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

精選優(yōu)質(zhì)文檔-----傾情為你奉上精選優(yōu)質(zhì)文檔-----傾情為你奉上專(zhuān)心---專(zhuān)注---專(zhuān)業(yè)專(zhuān)心---專(zhuān)注---專(zhuān)業(yè)精選優(yōu)質(zhì)文檔-----傾情為你奉上專(zhuān)心---專(zhuān)注---專(zhuān)業(yè)軟件安全漏洞自動(dòng)化識(shí)別原理評(píng)析隨著社會(huì)信息化的發(fā)展,大型社會(huì)服務(wù)部門(mén)對(duì)外信息服務(wù)多已建立了信息系統(tǒng),也正是隨著各種公眾信息服務(wù)軟件的應(yīng)用,軟件信息安全事件也不斷沖擊著公眾的管感點(diǎn),因軟件安全問(wèn)題引起服務(wù)中斷的事情屢見(jiàn)報(bào)端,究其原因,很大成分是在軟件規(guī)模的演變中,原來(lái)軟件定位多服務(wù)于小型區(qū)域和內(nèi)部使用,對(duì)軟件安全的要求自然比較低,在軟件功能定位已發(fā)生明顯變化,服務(wù)于公眾客戶(hù),承載規(guī)模越來(lái)越大的時(shí)候,軟件安全的建設(shè)未隨之提升,而且隨著軟件規(guī)模的增大,依賴(lài)人工進(jìn)行軟件安全漏洞風(fēng)險(xiǎn)的難度也日益增加,一點(diǎn)僥幸和一點(diǎn)為難,為軟件安全隱患打開(kāi)了方便之門(mén),這種問(wèn)題演變出來(lái)的影響如今不得不令人痛心決心予以考慮,這也正是軟件代碼安全漏洞工具用武之地。1.軟件代碼安全檢查工具功能評(píng)析隨著計(jì)算機(jī)軟件編譯技術(shù)的發(fā)展和市場(chǎng)的需求,目前有多種開(kāi)源的和商業(yè)的靜態(tài)源代碼分析工具可以幫助開(kāi)發(fā)人員和軟件安全人員在編碼階段快速掃描出軟件代碼所潛在的安全隱患,這些技術(shù)在我們?nèi)粘5拈_(kāi)發(fā)過(guò)程中很普遍,只是我們平時(shí)沒(méi)有注意到而已。通過(guò)源代碼分析工具對(duì)代碼掃描后的結(jié)果,開(kāi)發(fā)人員和安全代碼審查人員可以對(duì)結(jié)果再次復(fù)查,極大地提高了代碼安全審查的效率,這些分析工具或者技術(shù)主要包括如下的功能:1.1類(lèi)型檢查類(lèi)型檢查是靜態(tài)分析使用得最為廣泛的形式,也是程序員最為熟悉的方式,很多程序員并沒(méi)有在類(lèi)型檢查方面太多的思考,畢竟類(lèi)型檢查的規(guī)則被編程語(yǔ)言事先定義好了,并被編譯器強(qiáng)制執(zhí)行,因此關(guān)于類(lèi)型檢查的分析器是如何執(zhí)行的,程序員一般都了解得很少。類(lèi)型檢查能夠幫助開(kāi)發(fā)人員全面地排除編碼類(lèi)型方面的錯(cuò)誤,比如把一個(gè)整型的值賦給一個(gè)對(duì)象的變量;在編譯時(shí)捕獲錯(cuò)誤;也在一定程度上預(yù)防運(yùn)行時(shí)的錯(cuò)誤。1.2代碼編寫(xiě)風(fēng)格檢查Stylecheckers是一個(gè)專(zhuān)門(mén)的代碼風(fēng)格檢查的靜態(tài)分析工具,這種工具在類(lèi)型檢查之外強(qiáng)制一些其它的編碼格式的規(guī)則,比如空格檢查、命名規(guī)范、不推崇函數(shù)的使用、注釋、程序結(jié)構(gòu)等.被stylechecker檢查的錯(cuò)誤通常是那些影響代碼的可靠性和可維護(hù)性方面的缺陷,這些缺陷在程序運(yùn)行時(shí)并不一定是一個(gè)特定的錯(cuò)誤。1.3程序理解程序理解工具幫助用戶(hù)理解代碼量大的程序,幫助用戶(hù)理解代碼,集成開(kāi)發(fā)環(huán)境(IDE)也總是包含一些程序理解功能,比如:“findallusesofthismethod”and“findthedeclarationofthisglobalvariable.”“一些高級(jí)的分析可以支持自動(dòng)程序重構(gòu)的特性,比如把單個(gè)的復(fù)雜的函數(shù),裂解成多個(gè)更為簡(jiǎn)單的函數(shù)?!备呒?jí)的程序理解工具也盡量幫助程序員去獲取程序是按哪種方式工作的,有些工具盡量使用逆向工程了解代碼的設(shè)計(jì).因此會(huì)給程序員一個(gè)圖形化的視圖,這對(duì)程序員去理解代碼量大的程序非常有用,尤其是這些代碼不是程序員自己寫(xiě)的時(shí)候,1.4程序確認(rèn)程序確認(rèn)工具接受一組規(guī)格要求和代碼,并企圖為代碼提供證明:“代碼的實(shí)現(xiàn)是滿(mǎn)足規(guī)格要求的”,如果規(guī)格是程序應(yīng)當(dāng)作的每一件事情的完整描述,程序確認(rèn)工具就能夠執(zhí)行一個(gè)等同的檢查,以確保代碼和規(guī)格是一致的。1.5屬性檢查屬性檢查工具關(guān)注臨時(shí)安全的屬性上面,臨時(shí)安全的屬性按順序列出一些不允許發(fā)生事件的清單,。比如不能去訪(fǎng)問(wèn)已經(jīng)釋放了的內(nèi)存塊的地址,大多數(shù)屬性檢查工具允許程序員寫(xiě)自己的規(guī)則去檢測(cè)特定程序的屬性。1.6缺陷發(fā)現(xiàn)缺陷發(fā)現(xiàn)工具的目的并不像stylechecker那樣去抱怨代碼的格式問(wèn)題,也不去對(duì)程序代碼和規(guī)格做比較。它僅僅指出在程序在哪兒,它的行為將不是程序員本身的意圖,大多數(shù)程序缺陷工具是易于使用的,因?yàn)樗鼈兪桥c一組特定的缺陷規(guī)則相關(guān),這些規(guī)則描述了一些特定的代碼模式,這些代碼模式將通常指示代碼缺陷。2.軟件代碼安全的審查路徑關(guān)注于安全的靜態(tài)掃描工具使用了多種其它靜態(tài)分析工具的技術(shù),但它更關(guān)注識(shí)別安全問(wèn)題這個(gè)目標(biāo),這就意味著它們應(yīng)用這些技術(shù)的不同,它檢查潛在的不安全的庫(kù)函數(shù)的調(diào)用;檢測(cè)邊界錯(cuò)誤和類(lèi)型轉(zhuǎn)換錯(cuò)誤;使用控制流檢測(cè)操作順序不合理所帶來(lái)的隱患;使用數(shù)據(jù)流跟蹤技術(shù)去跟蹤不安全的數(shù)據(jù)的引入及其不安全的操作…。同時(shí)也提供自定義安全規(guī)則的接口,以滿(mǎn)足用戶(hù)特定安全目的的需求,以下是數(shù)據(jù)流和控制流的例子。數(shù)據(jù)流跟蹤來(lái)自網(wǎng)絡(luò)的數(shù)據(jù),該數(shù)據(jù)最后在一塊給定的內(nèi)存執(zhí)行操作,對(duì)來(lái)自網(wǎng)絡(luò)的數(shù)據(jù)沒(méi)有做大小控制,會(huì)導(dǎo)致緩沖區(qū)溢出??刂屏鞣治鏊械牟僮髀窂?,發(fā)現(xiàn)在特定的邏輯下,程序執(zhí)行不安全的操作,比如下面的對(duì)同一內(nèi)存塊釋放了兩次,導(dǎo)致內(nèi)存管理紊亂。靜態(tài)源代碼安全掃描工具器的潛在價(jià)值:●減少成本。靜態(tài)安全掃描工具主要用于開(kāi)發(fā)階段去識(shí)別潛在的安全風(fēng)險(xiǎn),在研發(fā)早期就識(shí)別出安全問(wèn)題,修復(fù)問(wèn)題早,修復(fù)的成本低?!窠逃_(kāi)發(fā)人員進(jìn)行安全編程。大多數(shù)開(kāi)發(fā)人員沒(méi)有培訓(xùn)如何安全編程,好的安全掃描工具不僅僅發(fā)現(xiàn)問(wèn)題,也解釋問(wèn)題的根源,并推薦怎樣去修復(fù)問(wèn)題。這提供給開(kāi)發(fā)人員第一手的資料,作為他們?nèi)绾稳ジ纳凭幊虒?shí)踐的參考?!裰匦聶z測(cè)老的代碼。即使老的代碼在開(kāi)發(fā)的時(shí)候考慮到安全的,當(dāng)這些代碼被開(kāi)發(fā)出來(lái)以后,新的類(lèi)別安全漏洞也可能使得原有的系統(tǒng)不安全,安全掃描器能夠幫助找出這些問(wèn)題?!褡鳛榘踩攘康拿壮?。盡管因?yàn)榘踩珤呙韫ぞ叩恼`報(bào)和漏報(bào)的原因,我們無(wú)法確定軟件的安全有多好,但安全掃描分析器能夠幫助測(cè)量軟件安全到底有多么壞?!褡詣?dòng)重復(fù)源代碼安全審計(jì)方面單調(diào)乏味的工作,解放人工的安全分析去跟蹤更多更困難的問(wèn)題?!褚园踩挠^點(diǎn)去檢測(cè)好的編程風(fēng)格。如果沒(méi)有定制安全規(guī)則,分析器將以它自己定義的編程風(fēng)格去確定編碼風(fēng)格的好壞,定制規(guī)則幫助開(kāi)發(fā)團(tuán)隊(duì)固化好的編程風(fēng)格,這使得從安全的角度去提高編碼的風(fēng)格。當(dāng)然定制規(guī)則是需要一定的時(shí)間和一定經(jīng)驗(yàn)的。3.軟件代碼安全檢測(cè)工具功能限定靜態(tài)安全掃描器并不是設(shè)計(jì)去發(fā)現(xiàn)架構(gòu)方面的問(wèn)題,或者說(shuō)設(shè)計(jì)方面的缺陷,也不適合去發(fā)現(xiàn)集成方面的BUG,安全掃描器也有一些局限,特別是讓它去分析一些大的系統(tǒng),這些系統(tǒng)包含多種可執(zhí)行的組件,或者不同的結(jié)構(gòu)層次。應(yīng)當(dāng)強(qiáng)調(diào)的是:就像人工審計(jì)一樣,安全掃描器并不能發(fā)現(xiàn)軟件系統(tǒng)的所有代碼的安全缺陷,它們也只能發(fā)現(xiàn)一些,畢竟安全掃描器它自己也是一個(gè)軟件,這剩下的未被發(fā)現(xiàn)的問(wèn)題仍然需要人工去把他們找出來(lái)。因此,不要僅僅單一依賴(lài)安全的掃描器去確保整個(gè)系統(tǒng)代碼的安全。開(kāi)發(fā)人員需要學(xué)會(huì)避免安全掃描器指出的問(wèn)題,這是好的事情,但并不意味著能夠避免那些安全掃描器沒(méi)能發(fā)現(xiàn)的問(wèn)題。安全掃描的結(jié)果不能作為僅有的判斷軟件質(zhì)量的唯一方式。否則,軟件可能從表面上看起來(lái)已經(jīng)得到改善和提高了,但實(shí)際上仍然在有些方面很糟糕。4.總結(jié)源代碼安全掃描器綜合了多

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論