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

利用TrustZone保護可信程序免受惡意操作系統攻擊

2018-01-05 10:06:43管樂
中國教育網絡 2017年11期
關鍵詞:進程設備

文/管樂

利用TrustZone保護可信程序免受惡意操作系統攻擊

文/管樂

IoT(物聯網)設備正在瘋狂滲透人們的生活。從IP攝像頭,外科手術機器人, 語音智能輔助系統,到邊緣計算(如智能路由器),人們的生活工作環境已經由上億個IoT設備互聯。不如此,這些設備需要有足夠的智能來協助我們來處理事務,比如,Amazon的Echo語音智能系統可以學習用戶的習慣,從而制定個性化的語音服務。設備生產商為了快速進入市場,通常會在已有的成熟平臺搭建自己的系統,很顯然,ARM加Linux的組合統治了目前智能IoT市場。

然而,Linux內核作為統治互聯網的開源軟件,無時不刻遭受著黑客的攻擊,2017年短短幾個月(截至7月8日),已有346個安全漏洞被曝出【1】。操作系統內核作為計算機的大管家,通常被認為是系統的可信計算基(TCB)。顯然,惡意的Linux內核給運行在其上的敏感用戶程序帶來嚴重的威脅。如何在操作系統不可信的情況下,保護敏感應用程序的機密性、隔離性和可信性是非常有挑戰但卻很重要的研究課題。

在x86平臺,已有基于虛擬化的方案來解決這一問題【2,3】。其總體思想是利用影子頁表來給應用程序兩個視圖。如圖1所示,在用戶態,進程可以正常訪問它的數據;但是一旦進入內核,如果處理器要訪問用戶數據,該數據對應的頁會被hypervisor透明的加密。

圖1 基于虛擬化的解決方案

對基于ARM的IoT平臺,這一思路卻行不通。其原因有以下三點:第一,ARM的虛擬化硬件擴展直到2010年才發布【4】,因此很多現有ARM設備不支持該擴展;第二,虛擬機不能提供native的性能,這對于本來就資源受限的ARM IoT移動設備,無疑是很難接受的(當然,ARM的硬件虛擬化技術在服務器市場仍然被廣泛使用)【5】;第三,這類方案需要依賴hypervisor,然而,實現一個hypervisor本身需要相當大的TCB, 近年來hypervisor的安全性已經受到嚴峻的挑戰【6】。

相比硬件虛擬化擴展,TrustZone安全擴展【7】已經得到廣泛應用,自從在ARMv6上第一次被引入,TrustZone已被部署在其后絕大多數應用處理器上(比如,手機上廣泛使用的cotex-a系列)上。簡單來講,具有TrustZone安全擴展的處理器,有兩個邏輯core,它們共用一套處理器運算資源。兩個core分別運行在安全世界和普通世界中,它們分時復用處理器。每個core有自己獨立的安全運行級和系統控制寄存器、內存管理單元(MMU)等,因此,他們可以獨立運行自己的操作系統。兩個core的不同,體現在對系統資源的訪問上,對應兩個邏輯core,系統的硬件資源被劃分為安全和非安全的。運行在安全世界的core,可以訪問所有的硬件資源;而運行在普通世界的core,則只能訪問非安全的資源。這些訪問控制的配置,儲存在只有安全世界才能訪問的寄存器中。一般來講,普通世界的core運行commodity的操作系統,比如Linux;安全世界的core運行輕量級的可信操作系統,從而提供一個可信運行環境(TEE)。ARM的這種架構, 被Android、iOS等移動操作系統廣泛利用。比如,在指紋識別技術中,為了保護用戶指紋的原始信息,移動操作系統沒有權限獲取指紋識別器的數據,相反,在安全世界,TEE里的服務進程進行指紋采集和比對等工作,而僅僅只把結果傳送給普通世界的移動操作系統。

已有的基于TrustZone的安全技術,其安全服務的API和普通操作系統完全不同,并且相對獨立,甚至不能和普通世界交互,僅構成一個自包含的程序邏輯(Pieces of Application Logic, PAL) 。TrustShadow則首次利用TrustZone,來安全的運行未更改的應用程序。一方面,TrustShadow支持已有的代碼;另一方面,支持TrustZone的設備非常廣泛。因此,TrustShadow可以立即部署在現實世界,并保護已有的、不需要修改的代碼。

TrustShadow的基本思想是,可信的進程仍然由普通世界的Linux內核來創建和管理,但是,其運行必須在安全世界中。顯然,可信進程所使用的物理內存必須是安全資源,這樣可以防止Linux內核對其進行訪問。可信進程在安全世界的運行環境,比如頁表的創建、系統服務由安全世界的一個輕量級運行時來維護。為了減小其TCB,安全運行時并不直接參與這些服務,而是把他們轉發到普通世界的Linux內核,然后,驗證其行為是否可信。顯然,驗證一個行為正確性的復雜性遠遠低于實現它,因此,安全運行時可以保持很小的TCB。通過這些驗證機制,我們確保可信進程的以下安全特性:

1.在運行過程中,可信進程和普通操作系統隔離,普通操作系統不能訪問可信進程的數據和代碼;

2.載入階段,保證可信進程的代碼的完整性;

3.驗證系統調用的返回值,來抵抗Iago攻擊【8】;

4.加密文件操作,使得寫入磁盤的數據是密文,防止不可信操作系統的訪問。

圖2展示了TrustShadow如何通過缺頁處理(page fault handler)來保證可信進程地址空間的隔離,以及確保代碼的完整性。其他技術細節,請參考MobiSys 2017的論文《TrustShadow:Secure Execution of Unmodified Applications with ARM TrustZone》。

圖2 代碼段缺頁處理

如圖2所示,當進程由于訪問代碼而發生缺頁,安全運行時把該異常轉發給普通世界的Linux內核,Linux找到對應的文件緩存頁N-page,安裝頁表,同時給可信進程分配一個安全的物理頁S-page。安全運行時接管后,首先驗證S-page是否真的安全資源,其次驗證S-page是否和別的物理內存存在doublemapping,只有在安全驗證都通過以后,安全運行時才安裝可信的頁表,并把N-page的代碼復制到S-page。最后,使用儲存在安全世界的元數據來驗證該代碼頁是否經過篡改,如果沒有,則返回可信進程繼續執行。至此,普通Linux不能對改代碼頁進行任何修改。

當然,把進程運行在安全世界,如果有漏洞,則可能被攻擊者利用,反過來攻擊普通世界的Linux內核,因為安全世界的權限大于普通世界。在TrustShadow的設計中,我們利用以下幾點來防止這一隱患:第一,TrustShadow支持未經修改的程序,并不意味著所有程序都可以在安全世界運行。我們需要對可信進程進行嚴格審查,通過審查的程序,需要綁定一個簽名的manifest,安全運行時檢查該manifest的有效性來判斷是否允許其在安全世界運行;第二,由于可信進程運行在用戶空間,即使其有漏洞,也需要進一步exploit安全運行時,才能構成有效攻擊;第三,安全運行時進行了極簡的設計,其對可信進程暴露的接口很少(僅僅轉發異常和檢查系統服務返回值),并且5000+的代碼量也使得形式化驗證成為可能。

我們在NXP的i.MX6q開發版上實現了以上設計,并成功運行了50多個Linux的核心utility,以及Apache、Nginx等大型程序。

【1】 CVEdetails.com. Linux: Vulnerability statistics. https://www.cvedetails.com/product/47/Linux-Linux-Kernel.html?vendor_id=33

【2】 Chen, Xiaoxin, et al. “Overshadow: a virtualization-based approach to retrofitting protection in commodity operating systems.” ACM SIGARCH Computer Architecture News. Vol. 36. No. 1. ACM, 2008.

【3】 Hofmann, Owen S., et al. “Inktag: Secure applications on an untrusted operating system.” ACM SIGARCH Computer Architecture News. Vol. 41. No. 1.ACM, 2013.

【4】 ARM Architecture Group. Virtualization Extensions Architecture Specification, 2010. https://www:arm:com/products/processors/technologies/virtualization-extensions:php.

【5】 Felix Baum. Why you don‘t necessarily need a hypervisor, 2014.http://embedded-computing:com/guest-blogs/why-you-dont-necessarily-need-ahypervisor/.

【6】 CVEdetails.com. Vmware: Vulnerability statistics. http://www:cvedetails:com/vendor/252/Vmware:html.

【7】 ARM Ltd. Security technology building a secure system using trustzone technology (white paper). 2009.

【8】 Checkoway, Stephen, and Hovav Shacham. Iago attacks: Why the system call api is a bad untrusted rpc interface. Vol. 41. No. 1. ACM, 2013.

(責編:楊潔)

為美國賓州州立大學)

猜你喜歡
進程設備
諧響應分析在設備減振中的應用
債券市場對外開放的進程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
基于VB6.0+Access2010開發的設備管理信息系統
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
如何在設備采購中節省成本
原來他們都是可穿戴設備
消費者報道(2014年7期)2014-07-31 11:23:57
我國高等教育改革進程與反思
教育與職業(2014年7期)2014-01-21 02:35:04
Linux僵死進程的產生與避免
男女平等進程中出現的新矛盾和新問題
主站蜘蛛池模板: 九色在线视频导航91| 欧美一级高清片欧美国产欧美| 亚洲中文无码av永久伊人| 久草视频中文| 三上悠亚一区二区| 色欲不卡无码一区二区| 国产精品不卡永久免费| 香蕉99国内自产自拍视频| 成人综合网址| av在线无码浏览| 亚洲欧美精品一中文字幕| 国产夜色视频| 国模极品一区二区三区| 成人年鲁鲁在线观看视频| 国产尤物在线播放| 国产69精品久久久久妇女| 97se亚洲综合在线韩国专区福利| 国产白浆在线| 日韩高清成人| 国产高潮流白浆视频| 免费午夜无码18禁无码影院| 国产亚洲高清在线精品99| 国产剧情一区二区| 视频二区亚洲精品| 亚洲综合中文字幕国产精品欧美| 国产麻豆va精品视频| 亚洲二三区| 精品1区2区3区| 欧美日韩福利| 欧美一区国产| 99精品国产自在现线观看| 亚洲午夜18| 九九热在线视频| 色婷婷电影网| 欧美一级黄色影院| 国产哺乳奶水91在线播放| 色网在线视频| 国产色爱av资源综合区| 99人妻碰碰碰久久久久禁片| 日本三级黄在线观看| 亚洲毛片一级带毛片基地| 亚洲va欧美va国产综合下载| 免费精品一区二区h| 色哟哟精品无码网站在线播放视频| 在线观看视频一区二区| 日本欧美视频在线观看| 日韩一区二区在线电影| 日韩大乳视频中文字幕| 亚洲第一视频免费在线| 日韩午夜福利在线观看| 精品国产污污免费网站| 综合色在线| 黄色在线网| 亚亚洲乱码一二三四区| 5555国产在线观看| 激情综合激情| 久久精品人人做人人爽电影蜜月 | 中文字幕在线看视频一区二区三区| 美女啪啪无遮挡| 亚洲91在线精品| 国模视频一区二区| 色九九视频| 婷婷久久综合九色综合88| 日本91视频| 欧美国产日韩在线播放| 青青草国产一区二区三区| 5388国产亚洲欧美在线观看| 国产乱肥老妇精品视频| 中文字幕欧美日韩| 欧美国产在线精品17p| 国产丝袜一区二区三区视频免下载| 视频二区欧美| 中文字幕永久视频| 国产精品30p| 亚洲午夜天堂| 激情综合五月网| 亚洲另类第一页| 青青青国产视频| h视频在线播放| 亚洲天堂777| 在线无码私拍| 国产性生交xxxxx免费|