国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

計算機軟件安全漏洞檢測技術的應用研究

2013-03-23 03:28:19黃海濱1王艷芳2
電腦與電信 2013年4期
關鍵詞:安全漏洞黑客漏洞

黃海濱1王艷芳2

(1.增城市東方職業(yè)技術學校,廣東 廣州 511300;2.增城市職業(yè)技術學校,廣東 廣州 511300)

1.引言

當今時代,我國的電子商務發(fā)展飛速,如何實現(xiàn)安全的網(wǎng)絡交易是各大交易網(wǎng)站和商家以及消費者都極為關心的問題。而大多數(shù)網(wǎng)絡安全事件的根源在于計算機軟件系統(tǒng)中存在有安全漏洞(Vulnerability)。要杜絕這類安全事件,最根本的辦法在于在軟件發(fā)布前檢測出安全漏洞并修正。

2.軟件的安全漏洞

計算機軟件安全漏洞也稱之為計算機脆弱性,漏洞是軟件系統(tǒng)存在的某些缺陷,黑客能夠利用這些缺陷,采取未授權的方式或手段對資源進行非法訪問,惡意損害計算機軟硬件而造成不必要的損失。為了預防這些惡意黑客,許多電腦使用者會為自己的計算機安裝上防火墻、殺毒軟件。比如瑞星防火墻、360安全衛(wèi)士、金山毒霸等等這些軟件根本無法阻擋技術高明的黑客,對計算機的硬件和軟件安全以及通信網(wǎng)絡安全的保護能起到的作用并不大;相反這些軟件如果運用得不好反而有可能帶來新的安全問題。

3.計算機安全漏洞檢測技術

為了提高漏洞檢測的效率,軟件安全界對自動化的漏洞檢測技術進行了研究,主要有動態(tài)檢測和靜態(tài)檢測兩類。動態(tài)檢測工具使用較容易,且確實能夠發(fā)現(xiàn)一些安全漏洞,但程序邏輯的覆蓋率問題限制了動態(tài)檢測工具的發(fā)掘能力,難于發(fā)現(xiàn)隱藏較深的安全漏洞。靜態(tài)漏洞分析技術主要通過對系統(tǒng)代碼進行程序分析以發(fā)現(xiàn)各種安全漏洞,例如緩沖區(qū)溢出、非法指針引用、競爭條件等等。與動態(tài)分析相比,靜態(tài)分析技術能夠支持更為有效的深度漏洞檢測。

3.1 動態(tài)檢測技術

動態(tài)檢測方法就是在不改變源代碼甚至是二進制代碼的情況下對程序進行檢測。這種檢測主要通過修改進程的運行環(huán)境來完成。動態(tài)監(jiān)測技術對于被檢測軟件在某種程度上會帶來一些新的安全隱患。這些被檢測未安全的軟件在實際運行的過程中有可能影響計算機的運行性能。同時,動態(tài)檢測技術本身在某種程度上說都是帶有安全隱患的。

3.1.1 非執(zhí)行棧(Non-Executable Stack)

基于棧攻擊的事件時有發(fā)生。那么阻止棧攻擊的一個最直接的方法就是讓棧不能工作。這樣即使黑客在棧中寫入了惡意代碼,如果棧不工作,這樣也可以攔截一些黑客。非執(zhí)行棧的缺點在于需要在操作層進行設置修改,這項技術使用的不得當還有可能影響計算機系統(tǒng)的性能。另外,如果一個程序既有棧溢出漏洞又有堆溢出漏洞,則很容易出現(xiàn)問題。使用此項技術所付出的代價就是在操作系統(tǒng)內(nèi)核中引入了一個比較大的改變就是把棧頁標記為不可執(zhí)行。

3.1.2 非執(zhí)行堆與數(shù)據(jù)(Non-Executable Heap/data)

堆是程序運行時動態(tài)分配內(nèi)存的區(qū)域。但是程序編譯時,數(shù)據(jù)段就初始化好了。如果一段代碼不能被堆和數(shù)據(jù)段執(zhí)行,那么黑客注入其中的惡意代碼亦無法執(zhí)行。這項技術如果結合非執(zhí)行棧技術則能起到更全面的作用,使得惡意攻擊無法完成。由于這項技術對計算機內(nèi)核的修改更多,它所付出的代價要比非執(zhí)行棧技術更多一些。不過目前有很多的實例可以借鑒,這就說明此項技術還是可行的。

3.1.3 內(nèi)存映射(Memory Mapping)

有些黑客通過使用NULL結尾的字符串覆蓋內(nèi)存來達到攻擊目的。使用內(nèi)存映射技術,可以把代碼頁映射到隨機的地址,那么黑客在進行攻擊時將會遇到很大的困難,即使做出了大量的計算也未必能夠查到所需地址。使用內(nèi)存映射技術也是要修改操作系統(tǒng)內(nèi)核的,使得操作系統(tǒng)可以把代碼頁映射到較低的內(nèi)存空間。由于二進制地址在程序鏈接階段就已確定,因此,雖然這個技術不需要對代碼進行修改,但需要重新鏈接。

3.1.4 安全共享庫(Safe Shared Libraries)

C和C++在設計當初就有很多函數(shù)都不夠“安全”,所以很多程序在使用C和C++時就會產(chǎn)生軟件安全漏洞。安全共享庫技術就是依靠動態(tài)鏈接技術在程序運行期間阻止調(diào)用不安全函數(shù),并對所有函數(shù)的參數(shù)進行檢測。這項技術在Windows操作系統(tǒng)和UNIX操作系統(tǒng)上被廣泛應用。

3.1.5 沙箱(Sandbox)

沙箱檢測技術是通過限制訪問來防止攻擊的。這項技術的關鍵是看定義策略的全面性。一個定義嚴格的策略可以更好地保護程序不受攻擊。如果黑客通過更改本地變量進行攻擊,那么沙箱技術對于這種攻擊就束手無策了。過于嚴格的策略可能會限制程序的一些合法行為而可能導致程序不能使用。系統(tǒng)調(diào)用函數(shù)的審查也可能會衍生其它一些問題的出現(xiàn)。

3.1.6 程序解釋(Program Interpretation)

程序解釋技術是程序運行后對程序進行檢查。它無需對操作系統(tǒng)內(nèi)核和程序代碼作修改。首先設置一個新的啟動代碼重新鏈接到應用程序,再由這個新的起動代碼來調(diào)用動態(tài)優(yōu)化的程序解釋框架。一旦設置了比較嚴格的安全策略,幾乎所有已知的改變程序控制流程或修改危險函數(shù)的參數(shù)的攻擊都可以被檢測到并可以進行防范。

3.2 靜態(tài)檢測技術

使用程序分析技術來分析應用程序的二進制代碼或源代碼的方法就是靜態(tài)檢測。靜態(tài)檢測的好處就是計算機不需要運行軟件,檢測起來會比較方便。對軟件不會帶來額外的安全漏洞。

3.2.1 詞法分析(lexical analysis)

最早出現(xiàn)的靜態(tài)分析技術是詞法分析,它只能對多程序進行語法上的檢查。這項技術的方法是把程序分為一個個片斷,通過把每一個片段與“嫌疑數(shù)據(jù)庫”中的數(shù)據(jù)進行比較進行判斷。詞法分析僅能檢測一些已知的固定漏洞代碼,漏報率相當高。所以這種方法目前一般不采用。

3.2.2 類型推導(type inference)

這種方法的原理是自動推導程序中變量和函數(shù)的類型來判斷對變量和函數(shù)的訪問是否符合正常規(guī)則?;陬愋屯茖У能浖┒挫o態(tài)分析方法適用于控制流無關的分析。

3.2.3 規(guī)則檢測(rule Check)

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

3.2.4 模型檢測(model checking)

模型檢測最早在1981年被提出,主要通過顯式狀態(tài)搜索或隱式不動點計算來驗證有窮狀態(tài)并發(fā)系統(tǒng)的模態(tài)/命題性質(zhì)。在計算機軟件檢測中采用模型檢測主要是對有限狀態(tài)的程序構造或抽象模型進行建模,通過模型比較來驗證軟件特性。我們通過對軟件的某個片段或者某些執(zhí)行點進行建模來進行比較。這是因為可以避免軟件的復雜性。通過建模比較,我們可以將一些功能和用途相近的軟件進行安全監(jiān)測,從而使軟件的安全性能達到一個比較高的水平。

3.2.5 定理證明(theorem proving)

定理證明比以上介紹的監(jiān)測方法更加嚴格,采用多種形式來驗證被檢測程序抽象公式是否為真。判別的方法取決于公式的形式,如不等式的舍取:首先由舍取式構造成一個圖,舍取式中每個條件對應于圖中的一個節(jié)點,然后利用給出的等式將對應的頂點合并,在頂點合并的過程中對舍取式中的不等式進行檢查,如發(fā)現(xiàn)存在不成立,則該舍取式不可滿足。

4.結語

電子商務應用越來越廣泛,信息安全也受到越來越多的重視。我們在日常的工作、學習和生活中遇到的計算機安全問題主要來自以下兩個方面:一是來自軟件自身的錯誤;二是遭受到一些惡意的攻擊而造成的錯誤。因此,對計算機軟件漏洞進行檢測是從源頭上發(fā)現(xiàn)問題的好方法,從計算機安全的源頭研究如何提高軟件的安全性,從而能夠提升網(wǎng)絡的安全性。而對于計算機軟件漏洞的檢測技術的研究,我們只能不斷探索,只有不斷提高軟件的安全監(jiān)測技術和安全防范技術,才能有效阻止惡意黑客的非法入侵,保障電子商務交易的安全。

[1]單谷云,黃成軍,江秀臣.電纜排管機器人的圖像監(jiān)控傳輸系統(tǒng)設計[J].微計算機信息,2008,(29).

[2]蔣誠.信息安全漏洞等級定義標準及應用[J].信息安全與通信保密,2007,(6).

[3]彭煒.計算機安全漏洞動態(tài)檢測研究[J].光盤技術,2009,(4).

[4]梁彬,侯看看,石文昌,梁朝暉.一種基于安全狀態(tài)跟蹤檢查的漏洞靜態(tài)檢測方法研究與實施[J].計算機學報,2009,(6).

[5]Johnson R,Wagner D.Finding user/kernel pointer bugswith type inference//Proceedings of 2004 USEN IX Security Symposium,San Diego,CA,USA,2004:119-134.

[6]Ashcraft K,Engler D.Using programmer-written compiler extensions to catch security holes//Proceedingsof 2002 IEEE Symposium on Security and Privacy,Oakland,CA,USA,2002:143-159.

猜你喜歡
安全漏洞黑客漏洞
漏洞
多少個屁能把布克崩起來?
歡樂英雄
網(wǎng)絡黑客比核武器更可怕
安全漏洞太大亞馬遜、沃爾瑪和Target緊急下架這種玩具
玩具世界(2018年6期)2018-08-31 02:36:26
基于安全漏洞掃描的校園網(wǎng)告警系統(tǒng)的開發(fā)與設計
三明:“兩票制”堵住加價漏洞
漏洞在哪兒
兒童時代(2016年6期)2016-09-14 04:54:43
高鐵急救應補齊三漏洞
安全漏洞Shellshock簡介
河南科技(2014年11期)2014-02-27 14:16:49
涪陵区| 西昌市| 陇川县| 盈江县| 四川省| 章丘市| 北宁市| 千阳县| 新巴尔虎右旗| 东山县| 东方市| 浑源县| 昆山市| 新乡县| 驻马店市| 霍城县| 临朐县| 桓台县| 铁岭市| 庄河市| 浮山县| 新乡市| 普兰店市| 台安县| 新平| 新龙县| 东海县| 安泽县| 墨玉县| 广东省| 时尚| 河源市| 绥滨县| 宁陵县| 夏河县| 盖州市| 宜昌市| 德钦县| 府谷县| 澄江县| 承德市|