久久精品电影网_久久久久久电影_久久99精品久久久久久按摩秒播_天堂福利影院_国产男女爽爽爽免费视频_国产美女久久

軟件安全漏洞挖掘技術(shù)創(chuàng)新的方式

所屬欄目:軟件開發(fā)論文 發(fā)布日期:2017-01-23 15:09 熱度:

   隨著社會(huì)的發(fā)展,黑客的技術(shù)水平越來越高,而在軟件方面,漏洞屬于一個(gè)不可避免的問題,這會(huì)導(dǎo)致黑客有機(jī)可趁,使數(shù)據(jù)信息受到破壞。

電腦知識(shí)與技術(shù)

  《電腦知識(shí)與技術(shù)》Computer Knowledge and Technology(月刊)創(chuàng)刊于1994年,是經(jīng)國家批準(zhǔn)的旬刊雜志,是一本面向計(jì)算機(jī)全行業(yè)的綜合性學(xué)術(shù)刊物。創(chuàng)刊以來,一直本著普及電腦知識(shí)、推廣電腦技術(shù)、交流經(jīng)驗(yàn)技巧、促進(jìn)電腦應(yīng)用的辦刊宗旨,注重雜志質(zhì)量。如今,雜志發(fā)行面已覆蓋全國31個(gè)省、市、自治區(qū),逐步形成了融知識(shí)性、實(shí)用性、欣賞性、服務(wù)性于一體的辦刊風(fēng)格,并因其清純樸實(shí)的文風(fēng),簡明實(shí)用的內(nèi)容,以及精心細(xì)致的服務(wù)被社會(huì)各界讀者譽(yù)名為“一本看得懂、學(xué)得會(huì)、用得上”的好雜志。

  1 引言

  在任何軟件運(yùn)行的過程中,都會(huì)根據(jù)安全策略進(jìn)行一個(gè)安全域假定,也就是說這一域內(nèi)所有的操作都是可控且安全的,但是如果違反了安全策略或者超出了這一安全域,軟件運(yùn)行則會(huì)變?yōu)槲粗也豢煽氐?而安全域在切換為非安全域的過程中,其觸發(fā)點(diǎn)就是漏洞。在這種背景下,如何更快地發(fā)現(xiàn)軟件安全漏洞,并做好修復(fù)工作,是保證數(shù)據(jù)信息安全的一個(gè)有效手段。

  2 軟件安全漏洞挖掘技術(shù)概述

  2.1 漏洞概念

  通俗點(diǎn)說,漏洞就是指由于安全域設(shè)計(jì)不合理所形成的軟件及系統(tǒng)破壞。正是由于這種漏洞的存在,使得計(jì)算機(jī)在未授權(quán)的情況下會(huì)被攻擊者訪問或破壞。一般來說,漏洞多數(shù)是被動(dòng)的、靜態(tài)的、可觸發(fā)的。

  如果根據(jù)產(chǎn)生漏洞的原因來分類,則漏洞可以分為:輸入驗(yàn)證錯(cuò)誤、邊界條件錯(cuò)誤、緩沖區(qū)溢出錯(cuò)誤、訪問驗(yàn)證錯(cuò)誤、意外條件錯(cuò)誤、配置錯(cuò)誤、競(jìng)爭條件錯(cuò)誤等其他錯(cuò)誤。之所以出現(xiàn)漏洞,從根本上說是因?yàn)榘踩珯C(jī)制實(shí)現(xiàn)的過程中出現(xiàn)了一些非正常問題,比如軟件編程出錯(cuò)、安全機(jī)制規(guī)劃不完善。由于信息系統(tǒng)中存在潛在錯(cuò)誤這一問題是不可避免的,因此漏洞在信息系統(tǒng)中也是必然存在的。

  2.2 漏洞挖掘技術(shù)

  在通過漏洞攻擊的過程中,主要可以分為三個(gè)步驟:漏洞挖掘、漏洞分析以及漏洞利用,由此可見漏洞挖掘?qū)儆诤髢蓚(gè)步驟的基礎(chǔ)及前提,對(duì)網(wǎng)絡(luò)攻防有著非常重要的意義。所謂漏洞挖掘,主要是找尋漏洞,詳細(xì)點(diǎn)說就是該領(lǐng)域?qū)I(yè)人士使用各種綜合應(yīng)用工具以及技術(shù)盡最大可能找出軟件中存在的潛在漏洞,要想做好這一工作并不容易,這對(duì)于個(gè)人經(jīng)驗(yàn)有很大的依賴性。在實(shí)際的工作中,根據(jù)不同的分析對(duì)象,漏洞挖掘技術(shù)又可以分為基于源代碼漏洞挖掘技術(shù)以及基于目標(biāo)代碼漏洞挖掘技術(shù)。

  對(duì)于基于源碼漏洞挖掘技術(shù)來說,獲得源代碼是我們工作的前提。一般針對(duì)一些開源項(xiàng)目,對(duì)其公布的源代碼進(jìn)行分析就能夠獲得漏洞,比如在Limix系統(tǒng)中,漏洞挖掘所采用的技術(shù)就是使用的這一技術(shù)。具體來說,在應(yīng)用這一技術(shù)的過程中,我們還通過源代碼審核技術(shù),掃描軟件源代碼,并對(duì)一些不安全的內(nèi)存操作以及安全函數(shù)使用進(jìn)行語義檢查,進(jìn)而挖掘出其中存在的漏洞。其中,靜態(tài)分析技術(shù)屬于一種比較典型的機(jī)遇源代碼漏洞挖掘技術(shù)。

  但是在實(shí)際的工作中,由于很多商業(yè)軟件源代碼的獲取比較困難,所以基于源代碼漏洞挖掘技術(shù)往往難以起到應(yīng)有的作用,在這種情況下,我們則可以使用基于目標(biāo)代碼漏洞挖掘技術(shù)。這一技術(shù)是依靠分析目標(biāo)碼來實(shí)現(xiàn)的,其過程往往涉及到指令系統(tǒng)、編譯器以及文件格式等很多方面,所以難度比較大。具體的步驟是先反匯編需要分析的二進(jìn)制目標(biāo)代碼,在獲取匯編代碼之后再對(duì)其切面,也就是將一些關(guān)聯(lián)密切而且有意義的代碼匯聚在一起,使其復(fù)雜性降低,最后利用分析功能模塊對(duì)其是否存在漏洞進(jìn)行判斷。

  3 當(dāng)前漏洞挖掘技術(shù)分析

  當(dāng)前漏洞挖掘技術(shù)主要包括已知漏洞檢測(cè)以及位置漏洞補(bǔ)救這兩種,其中前者主要的作用在于發(fā)現(xiàn)系統(tǒng)中可能存在但是還沒有被發(fā)現(xiàn)的漏洞,在這方面主要又包括靜態(tài)分析、動(dòng)態(tài)檢測(cè)、安全掃描以及手工分析這幾種技術(shù)。其中,手工分析要求比較高,不僅需要安全分析人員對(duì)軟件漏洞原理有充分的了解,還要對(duì)軟件結(jié)構(gòu)及功能有比較深入的認(rèn)識(shí),而且即使?jié)M足了這兩點(diǎn)要求,其依然會(huì)耗費(fèi)很多的精力和時(shí)間,基于此,以下將主要對(duì)靜態(tài)分析以及動(dòng)態(tài)檢測(cè)進(jìn)行分析。

  3.1 靜態(tài)分析

  這種漏洞檢測(cè)技術(shù)不需要對(duì)程序進(jìn)行運(yùn)行,而且在沒有輸入的條件下就可以發(fā)現(xiàn)程序中存在的安全漏洞,因此在程序編寫階段,通過靜態(tài)漏洞挖掘技術(shù)就可以發(fā)現(xiàn)其中存在的問題,并在開發(fā)早期就消滅掉漏洞。不過人們?cè)谶\(yùn)用靜態(tài)分析的過程中,往往會(huì)出現(xiàn)誤報(bào)。這一技術(shù)從本質(zhì)上說是建立程序的一個(gè)狀態(tài)模型,然后對(duì)程序如何完成狀態(tài)轉(zhuǎn)換進(jìn)行分析,但是一個(gè)程序的狀態(tài)空間是很大的,因此難以對(duì)所有的狀態(tài)同時(shí)進(jìn)行考慮,針對(duì)這種情況,對(duì)狀態(tài)空間進(jìn)行抽象是必不可免的,這就導(dǎo)致了程序部分信息的丟失。而我們?yōu)榱颂嵘治鼋Y(jié)果的正確性,則會(huì)損失一部分分析精度,一般來說,近似假設(shè)地方越多,則精度的損失也會(huì)越大,而誤報(bào)也越容易發(fā)生。實(shí)際的工作中,分析工具可能會(huì)使用一些不穩(wěn)妥的分析策略,這也會(huì)導(dǎo)致出現(xiàn)一些安全漏洞,為日后的軟件運(yùn)行埋下隱患。

  3.2 動(dòng)態(tài)檢測(cè)

  所謂動(dòng)態(tài)檢測(cè),主要是在程序動(dòng)態(tài)運(yùn)行的時(shí)候?qū)浖写嬖诘穆┒催M(jìn)行檢測(cè),這不僅要求被測(cè)試目標(biāo)編譯為可執(zhí)行程序,而且在檢測(cè)的過程中還要提供相應(yīng)的輸入。具體來說,動(dòng)態(tài)檢測(cè)技術(shù)主要是利用操作系統(tǒng)所提供的雕飾接口以及資源監(jiān)視接口,來獲得目標(biāo)程序運(yùn)行過程中所需的運(yùn)行數(shù)據(jù)及運(yùn)行狀態(tài)。在當(dāng)前的動(dòng)態(tài)檢測(cè)技術(shù)中,比較常用的有數(shù)據(jù)流分析法以及環(huán)境錯(cuò)誤注入法。

  這里首先分析環(huán)境錯(cuò)誤注入法,它主要是故意將人為錯(cuò)誤注入到軟件運(yùn)行環(huán)境中,然后利用程序的反應(yīng)進(jìn)行驗(yàn)證。一般情況下,編程的過程中程序員總是會(huì)假定其程序能夠正常地運(yùn)行于環(huán)境中,如果這種假定成立,那么其程序自然會(huì)正確的運(yùn)行。不過由于程序運(yùn)行的環(huán)境并不是獨(dú)立的,而是會(huì)受到很多主體的影響,比如一些惡意用戶之類的,這會(huì)使程序員假定出現(xiàn)錯(cuò)誤,也正因?yàn)榇?環(huán)境中的錯(cuò)誤會(huì)給程序造成多大地的影響,是判斷程序健壯性的一個(gè)重要標(biāo)準(zhǔn),而環(huán)境錯(cuò)誤注入法正是對(duì)軟件系統(tǒng)可靠性及容錯(cuò)性進(jìn)行判斷的有效方法。

  至于數(shù)據(jù)流分析法,它在實(shí)現(xiàn)檢測(cè)的時(shí)候需要數(shù)據(jù)流、執(zhí)行流等信息,主要的原理是對(duì)各種參數(shù)、序列以及返回值等進(jìn)行跟蹤,然后經(jīng)過對(duì)比分析,對(duì)系統(tǒng)是否存在安全漏洞進(jìn)行判斷。

  3.3 動(dòng)態(tài)檢測(cè)以及靜態(tài)分析的對(duì)比

  客觀來說,靜態(tài)分析以及動(dòng)態(tài)檢測(cè)都是我們經(jīng)常使用的檢測(cè)方法,其中,靜態(tài)分析由于在運(yùn)行過程中的數(shù)據(jù)比較缺乏,因此難以實(shí)現(xiàn)動(dòng)態(tài)測(cè)試細(xì)粒度的安全評(píng)估,無法對(duì)所有的安全漏洞都進(jìn)行確定,所以存在很多不足之處,不過其優(yōu)勢(shì)在于比較容易在開發(fā)過程中集成。至于動(dòng)態(tài)檢測(cè),雖然其可信性以及精確性非常高,但是對(duì)于源代碼的需求也非常高,而且不能夠?qū)β┒醇奥┒丛蜻M(jìn)行準(zhǔn)確的定位,加之不容易保證代碼覆蓋率,因此它也存在一定的不足。通過表1我們可以比較系統(tǒng)的對(duì)二者進(jìn)行對(duì)比。

  4 軟件安全漏洞挖掘流程分析

  通過上文的分析我們可以看出,每種檢測(cè)方法都是存在缺陷的,我們要想真正地做好漏洞挖掘工作,就必須要在漏洞挖掘的不同環(huán)節(jié)使用不同的檢測(cè)方法,并根據(jù)具體的情況采取相應(yīng)的策略及方法,這樣才能將各種方法的優(yōu)勢(shì)發(fā)揮出來,并彌補(bǔ)其存在的不足。一般來說,漏洞挖掘的流程可以分為幾個(gè)環(huán)節(jié)。

  首先,初始化,這主要是將軟件類型分類,將開源和非開源軟件所使用的靜態(tài)分析方法確定下來。

  其次,反匯編,這主要是載入需要分析的程序,然后通過反匯編操作,實(shí)現(xiàn)對(duì)二進(jìn)制代碼的反匯編,并確定代碼中哪些屬于可執(zhí)行指令以及哪些屬于數(shù)據(jù)。

  第三,過程抽象,能夠識(shí)別可執(zhí)行指令之后,可以把其分為表示函數(shù)或者過程的組。

  第四,特征模式掃描,對(duì)于開軟軟件,我們通過編譯技術(shù)在編譯期間或者代碼掃描期間確定一些信息,根據(jù)這些信息檢查漏洞模型。至于非開源軟件的靜態(tài)分析,則可以通過之下而上的分析方法對(duì)調(diào)用二進(jìn)制文件的庫函數(shù)等進(jìn)行檢查,得到漏洞驗(yàn)證代碼。

  第五,驗(yàn)證漏洞特性,這主要是比較漏洞特征庫以及疑似漏洞驗(yàn)證代碼,并對(duì)其中是否含有惡意行為進(jìn)行判斷,得到檢測(cè)報(bào)告。

  第六,注入錯(cuò)誤環(huán)境,對(duì)需要注入的錯(cuò)誤環(huán)境數(shù)據(jù)進(jìn)行構(gòu)造,并利用其干擾程序運(yùn)行。

  第七,動(dòng)態(tài)檢測(cè),系統(tǒng)自動(dòng)地對(duì)程序所有函數(shù)序列以及特定函數(shù)序列進(jìn)行分析,并對(duì)可能存在的漏洞數(shù)目進(jìn)行估算,得到檢測(cè)報(bào)告。

  第八,檢測(cè)評(píng)估,根據(jù)所得報(bào)告信息,確認(rèn)它們共同提出的疑似漏洞,并對(duì)其他疑似漏洞進(jìn)行下一步分析。

  最后,進(jìn)入下一輪靜態(tài)及動(dòng)態(tài)檢測(cè)環(huán)節(jié)。

  5 軟件安全漏洞挖掘技術(shù)的發(fā)展方向

  首先,測(cè)試平臺(tái)的可擴(kuò)展性以及通用性將越來越強(qiáng),這是因?yàn)榘殡S著測(cè)試對(duì)象的增多,一個(gè)可擴(kuò)展性及通用性比較強(qiáng)的平臺(tái)對(duì)這一技術(shù)的發(fā)展有非常重要的提升效果。具體來說,這種平臺(tái)要具備以下幾個(gè)方面的特點(diǎn):首先,能夠產(chǎn)生多種格式并最好是有效的畸形測(cè)試數(shù)據(jù);具有可定制以及獨(dú)立的數(shù)據(jù)產(chǎn)生變異功能;具有可操作跟蹤調(diào)試功能;能夠?qū)Χ嗄K之間的自動(dòng)化運(yùn)行進(jìn)行很好的協(xié)調(diào)。

  其次,以fuzzing測(cè)試技術(shù)為例,由于在fuzzing測(cè)試過程中,很大一部分時(shí)間都用在輸入數(shù)據(jù)格式、程序狀態(tài)轉(zhuǎn)換的人工分析上。因此提高知識(shí)獲取自動(dòng)化程度對(duì)于提升測(cè)試效率非常有利,是未來的發(fā)展方向。

  第三,多維測(cè)試用例生成技術(shù)。當(dāng)前很多測(cè)試用例生成技術(shù)都是一維的,這容易使很多安全漏洞不能夠被有效地檢測(cè)出來。而如果使用多為測(cè)試用例生成技術(shù)雖然會(huì)拓寬其測(cè)試范圍,但也容易導(dǎo)致狀態(tài)爆炸問題,因此,多維測(cè)試用例生成技術(shù)的研究是未來的一個(gè)重點(diǎn)。同樣,智能測(cè)試用例生成技術(shù)也是未來的一個(gè)重點(diǎn)。

  第四,測(cè)試效果評(píng)估技術(shù),當(dāng)前的很多測(cè)試使用代碼覆蓋率對(duì)測(cè)試效果進(jìn)行評(píng)估,這存在著很大的不合理性。因此未來測(cè)試效果將從程序狀態(tài)的覆蓋率、測(cè)試數(shù)據(jù)的有效性以及輸入邊界測(cè)試的充分性等多個(gè)方面對(duì)測(cè)試效果進(jìn)行評(píng)估。

  6 結(jié)束語

  軟件安全漏洞挖掘技術(shù)的研究是一個(gè)很寬泛的研究,本文限于篇幅,很多地方難以涉及并深入。因此,在我們的日常工作中應(yīng)加強(qiáng)這方面的探索和研究,只有不斷提升我們的技術(shù)水平,才能真正為信息數(shù)據(jù)的安全起到保障作用。

文章標(biāo)題:軟件安全漏洞挖掘技術(shù)創(chuàng)新的方式

轉(zhuǎn)載請(qǐng)注明來自:http://m.56st48f.cn/fblw/dianxin/ruanjiankaifa/34723.html

相關(guān)問題解答

SCI服務(wù)

搜論文知識(shí)網(wǎng) 冀ICP備15021333號(hào)-3

主站蜘蛛池模板: 欧美中文一区 | 九九九精品视频 | 日韩精品一区在线 | 国产精品网址 | 亚洲精品乱码久久久久久9色 | 久久久国产一区二区三区 | 日韩精品一区二区三区中文在线 | 亚洲在线免费观看 | 国产精品毛片一区二区在线看 | 精品久久久久久久久久久久久 | 国内精品视频免费观看 | 国产一区二区三区高清 | 欧美一级三级 | 欧美日韩免费 | 免费一区 | 精品国产18久久久久久二百 | 三级高清 | 二区精品 | 亚洲一级黄色 | 国内精品伊人久久久久网站 | 99久久精品免费看国产四区 | 91视视频在线观看入口直接观看 | 精品福利一区二区三区 | 久久综合久久综合久久 | 亚洲中午字幕 | 中文字幕乱码一区二区三区 | 亚洲精品18 | 97中文视频| 午夜精品福利视频 | 欧美三级在线 | 性做久久久久久免费观看欧美 | 亚洲精品视频网站在线观看 | 国产区在线免费观看 | 久久精品中文 | 黄色免费看| h片在线看 | 日韩精品在线播放 | 国产一级电影在线观看 | 日韩精品成人 | 成人午夜视频在线观看 | 国产成人精品一区二区三区在线 |