亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        軟件動(dòng)態(tài)防御技術(shù)研究綜述

        2017-09-30 23:55:08田楠蒲江
        網(wǎng)絡(luò)空間安全 2017年9期
        關(guān)鍵詞:技術(shù)原理

        田楠++蒲江

        摘 要:軟件動(dòng)態(tài)防御技術(shù)是指通過(guò)動(dòng)態(tài)更改軟件自身及其執(zhí)行環(huán)境,改變軟件同質(zhì)化現(xiàn)象,減少攻擊者利用軟件漏洞造成大規(guī)模攻擊的一種技術(shù)手段。論文綜述了目前常見(jiàn)的軟件動(dòng)態(tài)防御技術(shù),包括地址空間隨機(jī)化技術(shù)、指令集隨機(jī)化技術(shù)和多變體執(zhí)行技術(shù)等,介紹了各技術(shù)手段的研究現(xiàn)狀和技術(shù)原理,分析了針對(duì)各類(lèi)攻擊的效能和存在的不足,最后對(duì)各種技術(shù)手段進(jìn)行總結(jié),并對(duì)軟件動(dòng)態(tài)防御技術(shù)的發(fā)展提出展望。

        關(guān)鍵詞:軟件漏洞;軟件動(dòng)態(tài)防御;技術(shù)原理

        中圖分類(lèi)號(hào):TP311.5 文獻(xiàn)標(biāo)識(shí)碼:A

        1 引言

        在信息安全攻防對(duì)抗中,軟件始終處于重要位置。由于軟件漏洞不可避免,導(dǎo)致軟件防御相對(duì)于攻擊存在嚴(yán)重的不對(duì)等性,而軟件的同質(zhì)化現(xiàn)象更加劇了這一不利局面?,F(xiàn)有的主流防護(hù)技術(shù)仍以靜態(tài)的、被動(dòng)的防護(hù)為主,難以應(yīng)對(duì)日新月異、快速變化的攻擊技術(shù)。

        軟件動(dòng)態(tài)防御作為一種新興的安全理念,其主要思想是以密碼技術(shù)、編譯技術(shù)、動(dòng)態(tài)運(yùn)行時(shí)技術(shù)等為基礎(chǔ),對(duì)程序代碼在控制結(jié)構(gòu)、代碼布局、執(zhí)行時(shí)內(nèi)存布局以及執(zhí)行文件的組織結(jié)構(gòu)等多層面進(jìn)行隨機(jī)性、多樣性和動(dòng)態(tài)性的處理,增加攻擊者發(fā)現(xiàn)漏洞、利用漏洞的成本,有效抵御針對(duì)代碼缺陷的外部代碼攻擊。

        軟件動(dòng)態(tài)防御技術(shù)可以應(yīng)用于軟件生命周期的各個(gè)階段。在編譯與鏈接階段,主要通過(guò)修改編譯器實(shí)現(xiàn)動(dòng)態(tài)化,通過(guò)添加、變換和去除現(xiàn)有指令,產(chǎn)生具有相同運(yùn)行效果的程序變體。在載入階段,可以通過(guò)動(dòng)態(tài)加載機(jī)制實(shí)現(xiàn)軟件動(dòng)態(tài)化,目前主要有地址空間隨機(jī)化、指令集隨機(jī)化等技術(shù)。在運(yùn)行階段,主要通過(guò)構(gòu)建二進(jìn)制動(dòng)態(tài)執(zhí)行環(huán)境實(shí)現(xiàn)軟件動(dòng)態(tài)化。本文將分別對(duì)地址空間隨機(jī)化技術(shù),指令集隨機(jī)化技術(shù)和多變體執(zhí)行技術(shù)進(jìn)行介紹,最后做了總結(jié)和展望。

        2 地址空間隨機(jī)化技術(shù)

        2.1 基本原理

        地址空間隨機(jī)化技術(shù)是為了解決緩沖區(qū)溢出攻擊而提出的,也是目前最成功且使用最廣泛的軟件動(dòng)態(tài)化技術(shù)[1,2]。緩沖區(qū)溢出攻擊時(shí),攻擊者需獲知進(jìn)程的地址空間,然后通過(guò)計(jì)算,利用溢出操作將程序的執(zhí)行流程跳轉(zhuǎn)到攻擊代碼處[3,4]。地址空間隨機(jī)化技術(shù)的基本思想是對(duì)進(jìn)程組件和對(duì)象的內(nèi)存地址空間分布進(jìn)行隨機(jī)化,使進(jìn)程空間不可預(yù)測(cè),導(dǎo)致攻擊者無(wú)法計(jì)算出準(zhǔn)確的跳轉(zhuǎn)位置,從而阻斷攻擊。

        如圖1所示是地址空間隨機(jī)化技術(shù)的示意(以棧溢出攻擊為例),若緩沖區(qū)地址固定,攻擊者可以預(yù)先得出攻擊代碼的地址,將其覆蓋到某函數(shù)返回地址的位置,使函數(shù)返回時(shí)跳轉(zhuǎn)到攻擊代碼的位置執(zhí)行,采用地址空間隨機(jī)化技術(shù),使攻擊代碼的地址偏移隨機(jī)長(zhǎng)度,攻擊者無(wú)法準(zhǔn)確跳轉(zhuǎn)到攻擊代碼的位置發(fā)起攻擊。

        2.2 技術(shù)手段

        棧、堆、字符串等空間常作為緩沖區(qū)溢出攻擊的對(duì)象,對(duì)這些緩沖區(qū)進(jìn)行隨機(jī)化,發(fā)展出多種地址空間隨機(jī)化技術(shù)。

        ??臻g隨機(jī)化主要是隨機(jī)改變程序中每個(gè)函數(shù)棧幀的大小和位置。改變棧幀的大小是通過(guò)在編譯時(shí)定位出函數(shù),并在函數(shù)頭部增加一段隨機(jī)填充棧幀的代碼實(shí)現(xiàn)。改變變量位置則是通過(guò)在編譯或加載時(shí)隨機(jī)調(diào)整函數(shù)中變量的順序,使變量地址隨機(jī)改變。??臻g隨機(jī)化效果如圖2所示。

        2.3 研究現(xiàn)狀

        2000年,地址空間隨機(jī)化率先在Linux內(nèi)核PaX補(bǔ)丁中得到成功應(yīng)用[5],通過(guò)為L(zhǎng)inux內(nèi)核打補(bǔ)丁,實(shí)現(xiàn)了對(duì)?;刂?、主程序基地址以及共享庫(kù)加載地址隨機(jī)化。此后,在大部分主要操作系統(tǒng)中都有所使用,包括Windows(2007年首先使用于Windows Vista,后來(lái)用于Windows Server 2008和Windows 7)、Linux(2005年以后在Linux內(nèi)核中包含了一部分,在后來(lái)的Linux加強(qiáng)版中有更完整的實(shí)現(xiàn))及MacOS(OSX 10.5之后版本)。

        2.4 效能與不足

        地址空間隨機(jī)化技術(shù)可以有效增加緩沖區(qū)溢出攻擊的難度,是阻止內(nèi)存攻擊一種實(shí)用、有效的防御技術(shù),但其自身仍存在一些局限。

        地址猜測(cè)。隨機(jī)化的范圍受CPU數(shù)據(jù)總線(xiàn)寬度、對(duì)象組件特點(diǎn)等因素制約,一些組件的位置變化有限,隨機(jī)化范圍不大,攻擊者可以采用暴力猜測(cè)的方法猜測(cè)跳轉(zhuǎn)地址。

        隨機(jī)化粒度。隨機(jī)化的粒度應(yīng)該盡可能細(xì),以抵御基于相對(duì)地址的攻擊。僅隨機(jī)化進(jìn)程各模塊加載的基地址遠(yuǎn)遠(yuǎn)不夠,還需對(duì)各個(gè)模塊內(nèi)部元素間的間隔進(jìn)行進(jìn)一步隨機(jī)化。

        3 指令集隨機(jī)化技術(shù)

        3.1 基本原理

        指令集隨機(jī)化技術(shù)主要應(yīng)用于防御代碼注入攻擊[6]。指令集隨機(jī)化的思想最早由Thimbleby于1991年提出[7];哥倫比亞大學(xué)的Stephen等人對(duì)Bochs模擬器進(jìn)行了修改[8],構(gòu)建了指令集隨機(jī)化驗(yàn)證系統(tǒng),并證明了指令集隨機(jī)化對(duì)Perl、SQL等解釋性語(yǔ)言的可行性;David H.Ackley等人基于開(kāi)源的二進(jìn)制翻譯工具Valgrind開(kāi)發(fā)了隨機(jī)指令集模擬器[9];Wei Hu、Jason Hiser等人基于Strata虛擬機(jī)開(kāi)發(fā)了能夠?qū)嵱玫闹噶罴S機(jī)化原型系統(tǒng)[10];哥倫比亞大學(xué)的Georgios等人基于二進(jìn)制插裝工具PIN[11]為運(yùn)行于Linux上的x86軟件實(shí)現(xiàn)了指令隨機(jī)化運(yùn)行環(huán)境

        3.2 編譯型語(yǔ)言隨機(jī)化

        編譯型語(yǔ)言指令集隨機(jī)化的對(duì)象是二進(jìn)制可執(zhí)行文件。如圖3所示,描述了編譯型語(yǔ)言程序指令集隨機(jī)化的基本流程。編譯型語(yǔ)言指令隨機(jī)化一般是通過(guò)引入加密、解密機(jī)制,對(duì)二進(jìn)制代碼指令進(jìn)行加密操作,生成隨機(jī)化指令集,在指令執(zhí)行前進(jìn)行譯碼操作。指令集隨機(jī)化系統(tǒng)一般包括兩個(gè)部分:一是對(duì)應(yīng)用二進(jìn)制文件進(jìn)行加密操作,生成隨機(jī)化指令集;二是構(gòu)建執(zhí)行環(huán)境,一般是在系統(tǒng)取指令后,執(zhí)行前利用密鑰對(duì)隨機(jī)化指令進(jìn)行譯碼,然后由處理器執(zhí)行。

        3.3 解釋型語(yǔ)言隨機(jī)化

        解釋型語(yǔ)言隨機(jī)化的對(duì)象可以是腳本中的關(guān)鍵字、操作數(shù)、功能調(diào)用等。如圖3所示,描述的是SQL指令隨機(jī)化系統(tǒng)。SQL指令在數(shù)據(jù)庫(kù)中間件被隨機(jī)化處理,由數(shù)據(jù)庫(kù)服務(wù)器中代理對(duì)收到的經(jīng)隨機(jī)化處理的SQL語(yǔ)句進(jìn)行譯碼,然后把它送給數(shù)據(jù)庫(kù),從而阻止非法表達(dá)式的攻擊。endprint

        3.4 效能與不足

        理論上,指令集代碼隨機(jī)化能夠防范各種代碼注入攻擊,但其自身也存在缺陷。

        為了實(shí)現(xiàn)指令集隨機(jī)化,需要構(gòu)建基于硬件或者軟件的隨機(jī)指令執(zhí)行環(huán)境。對(duì)于硬件環(huán)境需要修改處理器,對(duì)于軟件的環(huán)境則對(duì)性能影響較大;

        指令集隨機(jī)化重點(diǎn)防范代碼注入攻擊,但如果攻擊者能夠訪問(wèn)本地磁盤(pán),得到二進(jìn)制文件和對(duì)應(yīng)的隨機(jī)化文件,指令集隨機(jī)化系統(tǒng)很容易被破解。

        4 多變體執(zhí)行技術(shù)

        4.1 基本原理

        多變體執(zhí)行技術(shù)是一種能夠在運(yùn)行時(shí)防止惡意代碼執(zhí)行的技術(shù)[12],其原理是通過(guò)同時(shí)運(yùn)行多個(gè)語(yǔ)義上等價(jià)的變體,并在同步點(diǎn)比較其行為,在同樣輸入的前提下一旦發(fā)現(xiàn)有不一樣的行為,則可以通過(guò)監(jiān)控程序來(lái)判斷是否存在攻擊行為。

        4.2 多變體執(zhí)行環(huán)境

        多變體執(zhí)行分為變體生成和監(jiān)控執(zhí)行兩個(gè)部分。變體生成基于編譯器實(shí)現(xiàn),在源代碼中為需要重點(diǎn)保護(hù)的程序核心算法或關(guān)鍵控制過(guò)程添加多變體生成編譯指令,編譯生成多樣化代碼的變體;多變體執(zhí)行環(huán)境運(yùn)行多個(gè)變體,在系統(tǒng)調(diào)用上同步并監(jiān)控各個(gè)變體行為,通過(guò)比較行為的一致性,發(fā)現(xiàn)潛在的惡意代碼攻擊。

        多變體執(zhí)行環(huán)境由動(dòng)態(tài)運(yùn)行支撐環(huán)境和多變體監(jiān)視器組成,其架構(gòu)如圖5所示。

        多變體監(jiān)視器用于控制變體的執(zhí)行狀態(tài),同時(shí)驗(yàn)證它們是否符合預(yù)先定義的規(guī)則。在用戶(hù)啟動(dòng)程序時(shí),執(zhí)行環(huán)境運(yùn)行程序的多個(gè)變體,只要變體不訪問(wèn)其進(jìn)程空間之外的數(shù)據(jù)或者資源,監(jiān)視器就不會(huì)中斷變體的執(zhí)行;當(dāng)變體請(qǐng)求系統(tǒng)調(diào)用時(shí),監(jiān)視器會(huì)攔截請(qǐng)求并暫停變體執(zhí)行,嘗試同步其它變體的系統(tǒng)調(diào)用,所有變體需要在短時(shí)間內(nèi)執(zhí)行功能相同且參數(shù)等價(jià)的系統(tǒng)調(diào)用;當(dāng)某個(gè)變體因攻擊導(dǎo)致執(zhí)行結(jié)果不同或執(zhí)行超時(shí),監(jiān)視器根據(jù)所配置的策略采取相應(yīng)動(dòng)作,默認(rèn)將終止并重啟所有變體,也可以根據(jù)多數(shù)原則剔除不一致變體。

        4.3 效能與不足

        多變體執(zhí)行中,同一程序必須同時(shí)執(zhí)行多個(gè)變體,監(jiān)控程序要實(shí)時(shí)監(jiān)控每個(gè)變體的運(yùn)行結(jié)果,對(duì)系統(tǒng)性能要求較高,特別是對(duì)于細(xì)粒度的監(jiān)控,性能影響更大。

        5 結(jié)束語(yǔ)

        本文總結(jié)了目前主流的軟件動(dòng)態(tài)防御技術(shù)。目前,軟件動(dòng)態(tài)防御技術(shù)針對(duì)特定攻擊都有很好的防御效果,如何將各項(xiàng)技術(shù)進(jìn)行有機(jī)整合,建立完整的軟件動(dòng)態(tài)防御系統(tǒng)是下一步的研究方向。

        參考文獻(xiàn)

        [1] SHACHAM H, PAGE M, PFAFF B. On the effectiveness of address space randomization [A]. ACM Conference on Computer and Communications Security (CCS), Washington D.C.[C].2004.298-307.

        [2] BHATKAR S, SEKAR R, DUVAMEY D C. Efficient techniques for eomprehensive protection from memory error exploits [A].Proceedings of the 14th USENIX Security Symposium, Baltimore, MD[C].2005.

        [3] 王清.0day 安全:軟件漏洞分析技術(shù)(第二版)[M].北京:電子工業(yè)出版社,2013.

        [4] MARCO-GISBERT H, RIPOLL I. On the effectiveness of NX, SSP, Renew SSP and ALSR against stack buffer overflows [A]. Proceedings of the 13th International Symposium on Network Computing and Applications[C].2014.

        [5] PaXTeam.PaX[EB/OL].http://pax.gmecurity.net, 2001.

        [6] RAY D, LIGATTI J. Defining code-injection attacks [C]. ACM SIGPLAN Notices. ACM, 2012,47(1):179-190.

        [7] THIMBLEBY H. Can viruses ever be useful. [J].Computer Security,1991,10(2):111-114.

        [8] KC G S, KEROMYTIS A D, PREVELAKIS V. Countering code-injection attacks with instruction-set-randomization [A].ACM Computer & Communications Security onference[C].2003.272-280.

        [9] BARRANTES E G, ACKLEY D H, FORREST S. Randomized instruction set emulation[J]. ACM Transactions on Information System Security,2005,8:3-40.

        [10] HU W, HISER J, WILLIAMS D. Secure and practical defense against code injection attacks using software dynamic translation [A]. Proceedings of the 2nd International Conference on Virtual Execution Environment (VEE)[C]. 2006. 2-12.

        [11] LUK C K, COHN R, MUTH R. Building customized program analysis tools with dynamic instrumentation [A]. Proceedings of Programming Language Design and Implementation (PLDI)[C]. 2005:190-200.

        [12] BARRANTES E G, ACKLEY D H, FORREST S. Randomized instruction set emulation to disrupt binary code injection attacks [A]. Conference on Computer and Communications Security [C].2003.281-289.endprint

        猜你喜歡
        技術(shù)原理
        中波廣播發(fā)射天線(xiàn)的原理及維護(hù)技術(shù)探討
        市級(jí)人工影響天氣地面業(yè)務(wù)流程研究
        芻議廣播發(fā)射天線(xiàn)技術(shù)及應(yīng)用
        無(wú)人駕駛汽車(chē)未來(lái)展望
        新能源汽車(chē)技術(shù)的技術(shù)原理和優(yōu)缺點(diǎn)探究
        淺談智能化除草機(jī)器人技術(shù)發(fā)展現(xiàn)狀及趨勢(shì)展望
        COFDM在現(xiàn)代數(shù)字廣播DRM中的應(yīng)用
        科技視界(2016年11期)2016-05-23 10:05:17
        基于VPN的計(jì)算機(jī)虛擬網(wǎng)絡(luò)技術(shù)及應(yīng)用
        電氣自動(dòng)化測(cè)量設(shè)備的技術(shù)原理與應(yīng)用
        科技傳播(2015年24期)2016-03-09 23:55:50
        典型多模型估計(jì)方案的分析與比較
        亚洲成a人片在线观看高清| 亚洲av色图一区二区三区| 无码人妻丰满熟妇区免费| 无码av中文一区二区三区桃花岛| 无码人妻一区二区三区在线视频 | 日日碰狠狠躁久久躁96avv| 亚洲成人av一区二区三区| 日韩精品一区二区三区在线观看的 | 久久精品国产亚洲黑森林| 国产一区二区三区视频免费在线| 蜜桃网站免费在线观看视频| 免费a级毛片无码a∨中文字幕下载| 国模无码视频一区| 麻豆国产成人AV网| 成人激情视频在线手机观看 | 久久青青草原精品国产app| 亚洲综合无码一区二区三区| 亚洲日韩AV秘 无码一区二区| 性无码国产一区在线观看| 免费人妖一区二区三区| 亚洲av无码乱码国产麻豆| 午夜精品一区二区三区的区别| 国产激情视频在线观看首页| 亚洲女同精品一区二区久久| 国产亚洲精品美女久久久m| 久久午夜无码鲁丝片直播午夜精品 | 亚洲国产av一区二区三区天堂| 成人欧美一区二区三区黑人| 小sao货水好多真紧h无码视频| 波多野结衣视频网址| 国产一区二区三区免费小视频| 麻豆91蜜桃传媒在线观看| 久久99精品久久久久久9蜜桃| 日韩中文字幕中文有码| 国产成版人性视频免费版| 国产亚洲精品综合一区| 好男人日本社区www| 女人体免费一区二区| 亚洲无人区一码二码国产内射 | 国产精品性一区二区三区| 少妇人妻中文久久综合|