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

        ?

        基于SDT安全訪問(wèn)控制的方法

        2011-05-08 02:09:50王懷軍房鼎益湯戰(zhàn)勇
        電子科技 2011年11期
        關(guān)鍵詞:安全策略二進(jìn)制訪問(wèn)控制

        趙 媛,王懷軍,房鼎益,湯戰(zhàn)勇

        (西北大學(xué)信息科學(xué)與技術(shù)學(xué)院,陜西西安 710127)

        隨著網(wǎng)絡(luò)環(huán)境的復(fù)雜,軟件安全問(wèn)題進(jìn)一步暴露。一方面,對(duì)軟件開(kāi)發(fā)商而言,軟件易被攻擊從而失去版權(quán)認(rèn)證能力或者丟失關(guān)鍵技術(shù);另一方面,對(duì)軟件使用者而言,其存儲(chǔ)信息的安全性無(wú)法得到保證,突出的問(wèn)題之一便是訪問(wèn)安全問(wèn)題。尤其對(duì)于許多組織來(lái)說(shuō),他們的計(jì)算機(jī)里存儲(chǔ)著關(guān)鍵的數(shù)據(jù),若被非授權(quán)用戶訪問(wèn),那結(jié)局將是災(zāi)難性的。2010年6月,美國(guó)AT&T網(wǎng)站服務(wù)器出現(xiàn)嚴(yán)重安全漏洞,近11萬(wàn)名iPad用戶信息被發(fā)布到互聯(lián)網(wǎng)上,給蘋(píng)果和AT&T公司帶來(lái)了嚴(yán)重的聲譽(yù)損害。2010年末,本田公司美國(guó)網(wǎng)站遭黑客攻擊,大約490萬(wàn)名用戶信息被竊取,包括用戶姓名、郵件地址、車牌號(hào)等信息均被外泄。CNCERT監(jiān)測(cè)結(jié)果發(fā)現(xiàn),重大網(wǎng)絡(luò)安全事件的發(fā)生都有應(yīng)用軟件缺陷的誘因存在[1],因此應(yīng)用軟件的安全需要得到重視,解決信息安全問(wèn)題迫在眉睫。

        第16屆SACMAT會(huì)議論文征集結(jié)果表明,當(dāng)前訪問(wèn)控制技術(shù)的核心思想仍然是對(duì)傳統(tǒng)DAC,MAC,RBAC思想的擴(kuò)展,通過(guò)建立授權(quán)管理子系統(tǒng)來(lái)管理權(quán)限,大多都是從權(quán)限管理的角度進(jìn)行描述[2]。而文中基于SDT(Software Dynamic Translation軟件動(dòng)態(tài)翻譯,)思想,提出了一套結(jié)合軟件動(dòng)態(tài)翻譯器進(jìn)行訪問(wèn)控制的方法。并借助軟件動(dòng)態(tài)翻譯開(kāi)源平臺(tái)Strata[3],實(shí)現(xiàn)了訪問(wèn)控制的機(jī)制。不同于傳統(tǒng)的訪問(wèn)控制思想,它的側(cè)重點(diǎn)在于動(dòng)態(tài)執(zhí)行中對(duì)系統(tǒng)資源的訪問(wèn)控制。

        1 SDT思想

        動(dòng)態(tài)二進(jìn)制翻譯(SDT Software Dynamic Translation)技術(shù),是一種即時(shí)編譯技術(shù),它將針對(duì)源體系結(jié)構(gòu)編譯生成的二進(jìn)制代碼動(dòng)態(tài)翻譯為可以在目的體系結(jié)構(gòu)上運(yùn)行的代碼[4],如圖1所示。

        圖1 軟件動(dòng)態(tài)翻譯器

        軟件動(dòng)態(tài)翻譯器作為一個(gè)軟件層,位于操作系統(tǒng)之上,應(yīng)用程序二進(jìn)制之下,來(lái)控制程序的執(zhí)行。通過(guò)插入、修改可執(zhí)行代碼等方式來(lái)動(dòng)態(tài)控制程序的執(zhí)行過(guò)程從而影響程序的執(zhí)行狀態(tài),動(dòng)態(tài)收集正在執(zhí)行程序的信息來(lái)決定怎樣控制程序的執(zhí)行[5]。

        軟件動(dòng)態(tài)翻譯系統(tǒng)的功能模塊有系統(tǒng)初始化模塊、運(yùn)行時(shí)調(diào)度模塊、緩存管理模塊、虛擬CPU模塊、虛擬環(huán)境模塊等[6-7]??傮w框圖如圖2所示。

        圖2 SDT總體方框圖

        系統(tǒng)初始化模塊負(fù)責(zé)完成對(duì)系統(tǒng)環(huán)境參數(shù)等初始化的過(guò)程,完成后將控制交給運(yùn)行時(shí)調(diào)度模塊;此模塊負(fù)責(zé)對(duì)應(yīng)用程序進(jìn)行虛擬化,動(dòng)態(tài)切片應(yīng)用程序,動(dòng)態(tài)收集正在執(zhí)行程序的信息,選擇合適的片進(jìn)行執(zhí)行,對(duì)調(diào)度過(guò)程進(jìn)行優(yōu)化等;選定要執(zhí)行的片段后,調(diào)用緩存管理模塊,此模塊進(jìn)行片段緩存的建立以及片段的維護(hù)等;建立好緩存后,將要執(zhí)行的片段放入緩存,然后請(qǐng)求虛擬CPU模塊,對(duì)當(dāng)前片段進(jìn)行標(biāo)準(zhǔn)硬件的模擬過(guò)程,即“取指”、“譯碼”、“翻譯”、“執(zhí)行”;對(duì)整個(gè)應(yīng)用程序進(jìn)行同樣的操作后,請(qǐng)求虛擬環(huán)境模塊,對(duì)上下文環(huán)境進(jìn)行保存,轉(zhuǎn)換到真實(shí)的機(jī)器上進(jìn)行操作。此外,虛擬環(huán)境模塊還完成中斷、I/O操作及存儲(chǔ)器地址映像與存儲(chǔ)保護(hù)等功能。

        2 基于SDT思想的訪問(wèn)控制方法

        SDT可以控制和動(dòng)態(tài)修改正在執(zhí)行的程序從而提供對(duì)于不可信的二進(jìn)制代碼可以強(qiáng)制執(zhí)行特定用戶安全策略的機(jī)制[8]。SDT訪問(wèn)控制方法的基本思想是:通過(guò)軟件動(dòng)態(tài)翻譯器將不可信二進(jìn)制代碼的執(zhí)行過(guò)程跟系統(tǒng)資源隔離,不可信二進(jìn)制代碼只能通過(guò)軟件動(dòng)態(tài)翻譯器來(lái)執(zhí)行,在動(dòng)態(tài)執(zhí)行過(guò)程中,由SDT控制將用戶設(shè)定的安全策略強(qiáng)制加入可執(zhí)行代碼中,從而軟件動(dòng)態(tài)翻譯器便通過(guò)安全策略來(lái)控制應(yīng)用程序?qū)ο到y(tǒng)資源的訪問(wèn)。

        (1)使用安全加載器加載不可信的二進(jìn)制文件。安全加載器定位應(yīng)用程序的入口點(diǎn)并且在此處插入對(duì)軟件動(dòng)態(tài)翻譯器啟動(dòng)進(jìn)程的調(diào)用。

        (2)軟件動(dòng)態(tài)翻譯器建立一張系統(tǒng)調(diào)用表來(lái)監(jiān)視指定的系統(tǒng)調(diào)用以及對(duì)應(yīng)的返回函數(shù),并且動(dòng)態(tài)加載二進(jìn)制代碼。

        (3)軟件動(dòng)態(tài)翻譯器動(dòng)態(tài)切片執(zhí)行不可信二進(jìn)制文件,具體為:調(diào)用系統(tǒng)初始化模塊進(jìn)行系統(tǒng)初始化,運(yùn)行時(shí)調(diào)度模塊對(duì)應(yīng)用程序進(jìn)行切片,緩存管理模塊進(jìn)行片段緩存的建立和片段維護(hù),虛擬CPU模塊進(jìn)行標(biāo)準(zhǔn)硬件的執(zhí)行過(guò)程。翻譯函數(shù)檢查應(yīng)用程序代碼并定位操作系統(tǒng)調(diào)用。

        (4)在系統(tǒng)調(diào)用定位時(shí),要對(duì)每一次系統(tǒng)調(diào)用進(jìn)行監(jiān)視。具體為:對(duì)每一個(gè)系統(tǒng)調(diào)用地址,軟件動(dòng)態(tài)翻譯器檢查此系統(tǒng)調(diào)用是否是被監(jiān)視之一。多數(shù)情況下,在運(yùn)行時(shí)刻,軟件動(dòng)態(tài)翻譯器可以決定要被調(diào)用的系統(tǒng)調(diào)用,在這種情況下,如果操作系統(tǒng)調(diào)用是被監(jiān)視的一個(gè),那么執(zhí)行操作系統(tǒng)調(diào)用的代碼被替換成用戶指定安全策略代碼;若不是,則不會(huì)采取翻譯行為,操作系統(tǒng)調(diào)用代碼直接被復(fù)制到片段緩存。有一些情況,翻譯階段不能決定操作系統(tǒng)調(diào)用是否被調(diào)用,這種情況下,軟件動(dòng)態(tài)翻譯器必須在片段被執(zhí)行時(shí),產(chǎn)生并插入一些進(jìn)行檢測(cè)的代碼,檢測(cè)是否被調(diào)用的操作系統(tǒng)調(diào)用是監(jiān)視之一,如果是,調(diào)用合適的用戶提供的安全策略代碼,否則,操作系統(tǒng)調(diào)用被執(zhí)行。

        3 基于Strata訪問(wèn)控制的實(shí)現(xiàn)

        采用Strata作為實(shí)驗(yàn)平臺(tái)。利用其本身提供的安全虛擬可執(zhí)行環(huán)境、可擴(kuò)展接口來(lái)實(shí)現(xiàn)文中提出的訪問(wèn)控制方法。安全策略的編寫(xiě)采用C語(yǔ)言。即在一個(gè)安全的虛擬可執(zhí)行環(huán)境中,通過(guò)軟件動(dòng)態(tài)翻譯器虛擬化可執(zhí)行應(yīng)用程序并注入安全策略相結(jié)合來(lái)實(shí)現(xiàn)訪問(wèn)控制。

        3.1 Strata平臺(tái)簡(jiǎn)介

        目前幾種比較有影響的軟件動(dòng)態(tài)翻譯系統(tǒng)有,Intel公司的IA-32 Execution Layer,IBM公司的DAISY,Transmeta的CMS及HP的Dynamo[4]等。這些系統(tǒng)對(duì)軟件動(dòng)態(tài)翻譯系統(tǒng)關(guān)鍵技術(shù)有不同的實(shí)現(xiàn)。因此這些系統(tǒng)都有比較特定的應(yīng)用場(chǎng)景[6]。而由Pittsburgh大學(xué)和Virginia大學(xué)的研究人員,在開(kāi)發(fā)CoCo項(xiàng)目[9]過(guò)程中開(kāi)發(fā)的軟件動(dòng)態(tài)翻譯平臺(tái)——Strata,是一個(gè)滿足可擴(kuò)展性和可移植性的通用平臺(tái)。Strata被組織成虛擬機(jī)的形式,位于可執(zhí)行代碼之下,操作系統(tǒng)之上的軟件層,可以動(dòng)態(tài)控制和修改可執(zhí)行代碼,此外,通常有一個(gè)對(duì)應(yīng)的代碼緩存來(lái)保存修改后的可執(zhí)行代碼,程序修改后便在代碼緩存中直接執(zhí)行[10]。

        Strata虛擬機(jī)通過(guò)“取指-譯碼-翻譯-執(zhí)行”來(lái)模擬標(biāo)準(zhǔn)的硬件行為。取指是從內(nèi)存中裝載指令塊;譯碼是分析指令并判斷該將其分派到哪個(gè)對(duì)應(yīng)的翻譯器;翻譯是當(dāng)指令塊被寫(xiě)入FC$時(shí)對(duì)其進(jìn)行一些修改;執(zhí)行發(fā)生在控制權(quán)被返回給FC$中的二進(jìn)制代碼時(shí),由主機(jī)CPU執(zhí)行。例如,可執(zhí)行文件program.exe,通過(guò)Strata平臺(tái)動(dòng)態(tài)翻譯執(zhí)行的過(guò)程,即Strata虛擬化應(yīng)用程序的過(guò)程[11],如圖3所示。

        圖3 strata虛擬化應(yīng)用程序流程圖

        3.2 安全虛擬可執(zhí)行環(huán)境

        安全虛擬可執(zhí)行環(huán)境(SVE)能減少主機(jī)系統(tǒng)運(yùn)行一個(gè)不可靠程序的風(fēng)險(xiǎn)。SVE限制惡意代碼對(duì)系統(tǒng)資源的訪問(wèn),從而使主機(jī)有能力控制何種個(gè)人資源可以被使用。當(dāng)前的SVE都只是針對(duì)特定的應(yīng)用,缺少一個(gè)統(tǒng)一構(gòu)架。而Strata可以提供一種可擴(kuò)展、可移植的SVE系統(tǒng)構(gòu)架[12]。

        Strata提供的SVE類似于沙箱技術(shù),經(jīng)典沙箱系統(tǒng)的實(shí)現(xiàn)途徑一般是通過(guò)攔截系統(tǒng)調(diào)用,監(jiān)視程序行為,然后依據(jù)用戶定義的策略來(lái)控制和限制程序?qū)τ?jì)算機(jī)資源的使用,比如改寫(xiě)注冊(cè)表,讀寫(xiě)磁盤等。但Strata的設(shè)計(jì)重點(diǎn)不在于SVE環(huán)境本身,而在于它提供通用的SVE。

        3.3 可擴(kuò)展接口

        Strata的接口支持?jǐn)U展,其接口及對(duì)應(yīng)功能如表1所示[11-13]。

        表1 Strata接口功能表

        續(xù)表1

        其中,一部分完成對(duì)應(yīng)用程序指令的讀和翻譯,其余的完成上下文管理(capture,exec),指令緩存管理(flush),低層內(nèi)存管理(alloc,alloc_exec),片段緩存客戶化(begin_fragment,end_fragment,emit),低層鏈接(patch)以及初始客戶化(init)等功能。

        3.4 注入安全策略

        采用Strata開(kāi)發(fā)團(tuán)隊(duì)設(shè)計(jì)的安全API,通過(guò)編寫(xiě)安全策略,將其注入到不可靠可執(zhí)行文件中。安全API允許使用者指定需要監(jiān)視哪些系統(tǒng)調(diào)用并且執(zhí)行的安全策略代碼。Strata安全API包括4個(gè)函數(shù)[3]:

        第一個(gè)函數(shù)在初始進(jìn)入Strata時(shí)被調(diào)用,第一個(gè)函數(shù)實(shí)現(xiàn)里調(diào)用了第二個(gè)API函數(shù)watch_syscall(),它指明了要去監(jiān)視的系統(tǒng)調(diào)用和當(dāng)被監(jiān)視的系統(tǒng)call被調(diào)用時(shí)執(zhí)行哪些安全策略,參數(shù)callback用來(lái)匹配要進(jìn)行監(jiān)視的系統(tǒng)調(diào)用。最后兩個(gè)API函數(shù)用來(lái)界定安全策略代碼。

        實(shí)現(xiàn)訪問(wèn)控制的關(guān)鍵代碼如下:

        init_syscall()函數(shù)指明sys_open系統(tǒng)調(diào)用應(yīng)當(dāng)被監(jiān)視,當(dāng)sys_open被應(yīng)用程序調(diào)用時(shí),轉(zhuǎn)向執(zhí)行安全策略代碼myopen,myopen打開(kāi)路徑,并調(diào)用makepath_absolute()函數(shù)將路徑轉(zhuǎn)換成絕對(duì)路徑,再跟/etc/passwd進(jìn)行比較,如果一樣,則報(bào)錯(cuò)并中斷,如果不一樣,安全策略代碼執(zhí)行sys_open,再返回對(duì)應(yīng)結(jié)果,就如正常執(zhí)行效果一樣。

        圖4是通過(guò)Strata向用戶可執(zhí)行文件注入安全策略示意圖。

        圖4 向可執(zhí)行文件中注入安全策略圖

        本方法中,安全策略的書(shū)寫(xiě)是語(yǔ)言和編譯器無(wú)關(guān)的,因?yàn)樽詈笠M(jìn)行執(zhí)行的安全策略是編譯之后的二進(jìn)制代碼,這也是本方法的優(yōu)勢(shì)之一。為方便讀者閱讀,實(shí)驗(yàn)采用C語(yǔ)言書(shū)寫(xiě)安全策略。此外,此方法是在二進(jìn)制代碼運(yùn)行階段來(lái)定義和強(qiáng)制執(zhí)行安全策略代碼,這種動(dòng)態(tài)控制的方法更加安全。此外,SDT訪問(wèn)控制方法與傳統(tǒng)訪問(wèn)控制最大的區(qū)別就是:可以讓用戶自主完成安全策略,進(jìn)而達(dá)到訪問(wèn)控制的效果。這樣的方法,不僅易于實(shí)現(xiàn),更加面向用戶化,并且動(dòng)態(tài)保護(hù)過(guò)程更加安全。

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

        在對(duì)SDT思想進(jìn)行深入分析的基礎(chǔ)上,借助于SDT通用平臺(tái)Strata提供的安全虛擬可執(zhí)行環(huán)境以及對(duì)應(yīng)的安全API來(lái)驗(yàn)證SDT訪問(wèn)控制方法。借助此平臺(tái)的優(yōu)點(diǎn)在于:(1)不需要源代碼,直接處理不可信二進(jìn)制。(2)語(yǔ)言和編譯器獨(dú)立。(3)可以結(jié)合任何程序設(shè)計(jì)語(yǔ)言。(4)在運(yùn)行時(shí)刻定義和強(qiáng)制執(zhí)行安全策略,這是靜態(tài)方法做不到的。其實(shí)軟件動(dòng)態(tài)翻譯器的主要作用是對(duì)應(yīng)用程序進(jìn)行虛擬化,是一種即時(shí)編譯的技術(shù),但正是由于它的即時(shí)性,使得在動(dòng)態(tài)執(zhí)行的過(guò)程中可以插入一些控制策略,達(dá)到的控制效果是靜態(tài)方法無(wú)法比擬的。當(dāng)然,Strata平臺(tái)提供的可擴(kuò)展接口保證了與外界交互的便利。此外,它對(duì)整個(gè)執(zhí)行環(huán)境的模擬,使得應(yīng)用程序的執(zhí)行過(guò)程完全被隔離,只能通過(guò)接口進(jìn)行交互,也降低了不可信的二進(jìn)制文件帶來(lái)的危險(xiǎn)。在接下來(lái)的工作中會(huì)加以完善,提高基于SDT安全訪問(wèn)控制的理論論證力度。

        [1]周勇林.重大網(wǎng)絡(luò)安全事件揭示應(yīng)用軟件安全重要性[J].計(jì)算機(jī)工程與應(yīng)用,2009(7):76.

        [2]KEVIN S,JACK W D.Software security using software dynamic translation[C].The 2003 USENIX Annual Technical Conference,2003:21-34.

        [3]GIUSEPPE D,DENIZ H,MADAN J,et al.Avinash lakshman dynamo:amazon's highly available key-value store[C].New York,NY,USA:ACM2007:1-12.

        [5]HU Wei,JASON H,DAN W,et al.Secure and practical defense against code-injection attacks using software dynamic translation[J].SIGARCH Computer Architecture News,2005(1):108-117.

        [6]潘麗君,姜玲燕.跳轉(zhuǎn)鏈接技術(shù)在動(dòng)態(tài)二進(jìn)制翻譯中的應(yīng)用[J].微型電腦應(yīng)用,2009(6):1-3.

        [7]王楠,單征,岳峰,等.I386到Alpha動(dòng)態(tài)二進(jìn)制翻譯中的代碼緩存管理優(yōu)化[J].信息工程大學(xué)學(xué)報(bào),2010(6):1-4.

        [8]JA CK DAVIDSON.Software security via lightweight process virtualization[C].In Workshop on Exploring the Trace Space,International Conference on Supercomputing,2003:1-13.

        [9]BRUCE C,JACK D,MARY L S.Continuous compilation:a new approach to aggressive and adaptive code transformation[J].ACM Transactions on Information System Security,2005(11):3-40.

        [10]SRIDHAR S,SHAPIRO J S,BUNGALE P P.Hdtrans:Alow-overhead dynamic translator[C].In Proceedings of the 2005 Workshop on Binary Instrumentation and Applications(September 2005),IEEE Computer Society,2005:1-10.

        [11]JASON D H,DANIEL W,BRUCE R C,et al.Evaluating fragment construction policies for sdt systems[C].VEE'06,2006:1-10.

        [12]ZHOU S,CHILDERS B R,SOFFA M L.Planning for code buffer management in distributed virtual execution environments[C].New York,NY,USA:In VEE'05:Proceedings of the 1st ACM/USENIX International Conference on Virtual Execution Environments,2005:100-109.

        [13] COTT K,KUMAR N,VELUSWAMY S,et al.Reconfigurable and retargetable software dynamic translation[C].First Annual IEEE/ACM International Symposium,2003:1-15.

        猜你喜歡
        安全策略二進(jìn)制訪問(wèn)控制
        基于認(rèn)知負(fù)荷理論的叉車安全策略分析
        用二進(jìn)制解一道高中數(shù)學(xué)聯(lián)賽數(shù)論題
        基于飛行疲勞角度探究民航飛行員飛行安全策略
        有趣的進(jìn)度
        二進(jìn)制在競(jìng)賽題中的應(yīng)用
        淺析涉密信息系統(tǒng)安全策略
        ONVIF的全新主張:一致性及最訪問(wèn)控制的Profile A
        動(dòng)態(tài)自適應(yīng)訪問(wèn)控制模型
        淺析云計(jì)算環(huán)境下等級(jí)保護(hù)訪問(wèn)控制測(cè)評(píng)技術(shù)
        大數(shù)據(jù)平臺(tái)訪問(wèn)控制方法的設(shè)計(jì)與實(shí)現(xiàn)
        成人国内精品久久久久一区| 国产亚洲精品免费专线视频| 日本一二三四高清在线| 比较有韵味的熟妇无码| 成人亚洲性情网站www在线观看| 亚洲国产精品中文字幕日韩| 国产精品一区二区三区成人| а天堂中文地址在线| 中文字幕一区二区三区日韩精品| 免费一区啪啪视频| 日本女优中文字幕四季视频网站| 丁香婷婷激情视频在线播放| 国产亚洲真人做受在线观看| 少妇AV射精精品蜜桃专区| 中文字幕国内一区二区| 国产在线一区二区三区乱码| 国产又a又黄又潮娇喘视频| 亚洲专区欧美| 免费一区二区三区av| 蜜桃精品人妻一区二区三区| 国产中文欧美日韩在线| 亚州精品无码人妻久久| 蜜桃一区二区三区在线视频| 欧美日韩在线视频| 黄色视频免费在线观看| 成人免费无码a毛片| 国产在线一区二区三区香蕉| 粗大的内捧猛烈进出小视频| 亚洲va欧美va国产综合| 东京热加勒比日韩精品| 久草福利国产精品资源| 久久超碰97人人做人人爱| 2021国产成人精品国产| 白白色福利视频在线观看| 国产大屁股视频免费区| 国产成人亚洲精品无码h在线| 亚洲AVAv电影AV天堂18禁 | 国产亚洲美女精品久久| 经典黄色一区二区三区| 亚洲成a∨人片在线观看不卡| 国产精品福利影院|