999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SDT安全訪問控制的方法

2011-05-08 02:09:50王懷軍房鼎益湯戰勇
電子科技 2011年11期
關鍵詞:系統

趙 媛,王懷軍,房鼎益,湯戰勇

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

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

第16屆SACMAT會議論文征集結果表明,當前訪問控制技術的核心思想仍然是對傳統DAC,MAC,RBAC思想的擴展,通過建立授權管理子系統來管理權限,大多都是從權限管理的角度進行描述[2]。而文中基于SDT(Software Dynamic Translation軟件動態翻譯,)思想,提出了一套結合軟件動態翻譯器進行訪問控制的方法。并借助軟件動態翻譯開源平臺Strata[3],實現了訪問控制的機制。不同于傳統的訪問控制思想,它的側重點在于動態執行中對系統資源的訪問控制。

1 SDT思想

動態二進制翻譯(SDT Software Dynamic Translation)技術,是一種即時編譯技術,它將針對源體系結構編譯生成的二進制代碼動態翻譯為可以在目的體系結構上運行的代碼[4],如圖1所示。

圖1 軟件動態翻譯器

軟件動態翻譯器作為一個軟件層,位于操作系統之上,應用程序二進制之下,來控制程序的執行。通過插入、修改可執行代碼等方式來動態控制程序的執行過程從而影響程序的執行狀態,動態收集正在執行程序的信息來決定怎樣控制程序的執行[5]。

軟件動態翻譯系統的功能模塊有系統初始化模塊、運行時調度模塊、緩存管理模塊、虛擬CPU模塊、虛擬環境模塊等[6-7]。總體框圖如圖2所示。

圖2 SDT總體方框圖

系統初始化模塊負責完成對系統環境參數等初始化的過程,完成后將控制交給運行時調度模塊;此模塊負責對應用程序進行虛擬化,動態切片應用程序,動態收集正在執行程序的信息,選擇合適的片進行執行,對調度過程進行優化等;選定要執行的片段后,調用緩存管理模塊,此模塊進行片段緩存的建立以及片段的維護等;建立好緩存后,將要執行的片段放入緩存,然后請求虛擬CPU模塊,對當前片段進行標準硬件的模擬過程,即“取指”、“譯碼”、“翻譯”、“執行”;對整個應用程序進行同樣的操作后,請求虛擬環境模塊,對上下文環境進行保存,轉換到真實的機器上進行操作。此外,虛擬環境模塊還完成中斷、I/O操作及存儲器地址映像與存儲保護等功能。

2 基于SDT思想的訪問控制方法

SDT可以控制和動態修改正在執行的程序從而提供對于不可信的二進制代碼可以強制執行特定用戶安全策略的機制[8]。SDT訪問控制方法的基本思想是:通過軟件動態翻譯器將不可信二進制代碼的執行過程跟系統資源隔離,不可信二進制代碼只能通過軟件動態翻譯器來執行,在動態執行過程中,由SDT控制將用戶設定的安全策略強制加入可執行代碼中,從而軟件動態翻譯器便通過安全策略來控制應用程序對系統資源的訪問。

(1)使用安全加載器加載不可信的二進制文件。安全加載器定位應用程序的入口點并且在此處插入對軟件動態翻譯器啟動進程的調用。

(2)軟件動態翻譯器建立一張系統調用表來監視指定的系統調用以及對應的返回函數,并且動態加載二進制代碼。

(3)軟件動態翻譯器動態切片執行不可信二進制文件,具體為:調用系統初始化模塊進行系統初始化,運行時調度模塊對應用程序進行切片,緩存管理模塊進行片段緩存的建立和片段維護,虛擬CPU模塊進行標準硬件的執行過程。翻譯函數檢查應用程序代碼并定位操作系統調用。

(4)在系統調用定位時,要對每一次系統調用進行監視。具體為:對每一個系統調用地址,軟件動態翻譯器檢查此系統調用是否是被監視之一。多數情況下,在運行時刻,軟件動態翻譯器可以決定要被調用的系統調用,在這種情況下,如果操作系統調用是被監視的一個,那么執行操作系統調用的代碼被替換成用戶指定安全策略代碼;若不是,則不會采取翻譯行為,操作系統調用代碼直接被復制到片段緩存。有一些情況,翻譯階段不能決定操作系統調用是否被調用,這種情況下,軟件動態翻譯器必須在片段被執行時,產生并插入一些進行檢測的代碼,檢測是否被調用的操作系統調用是監視之一,如果是,調用合適的用戶提供的安全策略代碼,否則,操作系統調用被執行。

3 基于Strata訪問控制的實現

采用Strata作為實驗平臺。利用其本身提供的安全虛擬可執行環境、可擴展接口來實現文中提出的訪問控制方法。安全策略的編寫采用C語言。即在一個安全的虛擬可執行環境中,通過軟件動態翻譯器虛擬化可執行應用程序并注入安全策略相結合來實現訪問控制。

3.1 Strata平臺簡介

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

Strata虛擬機通過“取指-譯碼-翻譯-執行”來模擬標準的硬件行為。取指是從內存中裝載指令塊;譯碼是分析指令并判斷該將其分派到哪個對應的翻譯器;翻譯是當指令塊被寫入FC$時對其進行一些修改;執行發生在控制權被返回給FC$中的二進制代碼時,由主機CPU執行。例如,可執行文件program.exe,通過Strata平臺動態翻譯執行的過程,即Strata虛擬化應用程序的過程[11],如圖3所示。

圖3 strata虛擬化應用程序流程圖

3.2 安全虛擬可執行環境

安全虛擬可執行環境(SVE)能減少主機系統運行一個不可靠程序的風險。SVE限制惡意代碼對系統資源的訪問,從而使主機有能力控制何種個人資源可以被使用。當前的SVE都只是針對特定的應用,缺少一個統一構架。而Strata可以提供一種可擴展、可移植的SVE系統構架[12]。

Strata提供的SVE類似于沙箱技術,經典沙箱系統的實現途徑一般是通過攔截系統調用,監視程序行為,然后依據用戶定義的策略來控制和限制程序對計算機資源的使用,比如改寫注冊表,讀寫磁盤等。但Strata的設計重點不在于SVE環境本身,而在于它提供通用的SVE。

3.3 可擴展接口

Strata的接口支持擴展,其接口及對應功能如表1所示[11-13]。

表1 Strata接口功能表

續表1

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

3.4 注入安全策略

采用Strata開發團隊設計的安全API,通過編寫安全策略,將其注入到不可靠可執行文件中。安全API允許使用者指定需要監視哪些系統調用并且執行的安全策略代碼。Strata安全API包括4個函數[3]:

第一個函數在初始進入Strata時被調用,第一個函數實現里調用了第二個API函數watch_syscall(),它指明了要去監視的系統調用和當被監視的系統call被調用時執行哪些安全策略,參數callback用來匹配要進行監視的系統調用。最后兩個API函數用來界定安全策略代碼。

實現訪問控制的關鍵代碼如下:

init_syscall()函數指明sys_open系統調用應當被監視,當sys_open被應用程序調用時,轉向執行安全策略代碼myopen,myopen打開路徑,并調用makepath_absolute()函數將路徑轉換成絕對路徑,再跟/etc/passwd進行比較,如果一樣,則報錯并中斷,如果不一樣,安全策略代碼執行sys_open,再返回對應結果,就如正常執行效果一樣。

圖4是通過Strata向用戶可執行文件注入安全策略示意圖。

圖4 向可執行文件中注入安全策略圖

本方法中,安全策略的書寫是語言和編譯器無關的,因為最后要進行執行的安全策略是編譯之后的二進制代碼,這也是本方法的優勢之一。為方便讀者閱讀,實驗采用C語言書寫安全策略。此外,此方法是在二進制代碼運行階段來定義和強制執行安全策略代碼,這種動態控制的方法更加安全。此外,SDT訪問控制方法與傳統訪問控制最大的區別就是:可以讓用戶自主完成安全策略,進而達到訪問控制的效果。這樣的方法,不僅易于實現,更加面向用戶化,并且動態保護過程更加安全。

4 結束語

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

[1]周勇林.重大網絡安全事件揭示應用軟件安全重要性[J].計算機工程與應用,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]潘麗君,姜玲燕.跳轉鏈接技術在動態二進制翻譯中的應用[J].微型電腦應用,2009(6):1-3.

[7]王楠,單征,岳峰,等.I386到Alpha動態二進制翻譯中的代碼緩存管理優化[J].信息工程大學學報,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.

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 国产无码网站在线观看| 国产精品吹潮在线观看中文| 国产第一页屁屁影院| 嫩草影院在线观看精品视频| 日本亚洲欧美在线| 波多野结衣视频一区二区| 国产欧美日韩专区发布| 欧美精品伊人久久| 亚洲中文字幕精品| 欧美97色| 亚洲综合片| 欧美日韩高清| 一级爱做片免费观看久久| 99视频在线看| 久久综合婷婷| 精品人妻AV区| 91久久偷偷做嫩草影院精品| 国产美女免费| 在线观看欧美精品二区| 97影院午夜在线观看视频| 四虎成人精品在永久免费| 国模沟沟一区二区三区| 国产精品成人啪精品视频| 中文字幕第4页| 无码日韩人妻精品久久蜜桃| 久久天天躁狠狠躁夜夜躁| 中文字幕 欧美日韩| 特级精品毛片免费观看| 色135综合网| 欧美中文一区| 国产xx在线观看| 无码高潮喷水在线观看| 在线观看免费黄色网址| 久久午夜影院| 高潮毛片免费观看| 91亚洲精选| 五月六月伊人狠狠丁香网| 欧美一级在线播放| 久久免费视频6| 99re热精品视频国产免费| 日韩毛片免费| 亚洲天堂免费| 一级毛片基地| 亚洲综合日韩精品| 国产精品va免费视频| 美美女高清毛片视频免费观看| a欧美在线| 超碰色了色| 亚洲国产欧美自拍| 日韩在线视频网| 欧美国产三级| 国产91熟女高潮一区二区| 日韩无码视频网站| 天堂网国产| 欧美a在线| 久久99精品久久久大学生| 亚洲国产无码有码| 国产av剧情无码精品色午夜| 91福利免费| 99久久精品免费看国产免费软件| 亚洲综合色婷婷| 亚洲精品福利网站| 久久国产乱子| 色欲综合久久中文字幕网| 国产你懂得| 在线欧美a| 伊人久久综在合线亚洲91| 99re在线视频观看| 国产情侣一区二区三区| 欧美精品xx| 国产高清在线丝袜精品一区| 毛片最新网址| 又黄又湿又爽的视频| 欧美日韩北条麻妃一区二区| 国产精品真实对白精彩久久| 日本在线视频免费| 欧美成人手机在线观看网址| 国产精品lululu在线观看| 久久久久久尹人网香蕉| 国产精品主播| 欧美成人一区午夜福利在线| 国产日韩丝袜一二三区|