文/申文博
學術專欄
SKEE—— 針對ARM架構的輕量級Linux內核安全執行環境
文/申文博

申文博
現為Samsung Research America,Knox Linux內核組成員,研究方向為Linux內核安全。2015年于美國北卡州立大學獲得計算機博士學位,師從Dr.NingPeng和Dr.HuaiyuDai,從事無線網絡安全以及操作系統安全研究。本科2010年畢業于哈爾濱工業大學,師從張偉哲老師,曾代表信息安全國家工程重點實驗室參加首屆全國大學生信息安全競賽,榮獲一等獎。
近年來,隨著安卓設備的普及,針對其系統的攻擊也愈發頻繁。作為支持安卓系統的底層系統,Linux內核備受黑客關注,如何攻破內核獲取其root權限也成為黑客們爭相嘗試的目標。而且Linux內核由于其代碼量巨大,軟件漏洞在所難免[1]。這些漏洞往往會被黑客利用,開發惡意軟件,盜取用戶信息[2]。
與此同時,移動安全也越來越為學術界以及工業界所重視。為了保護Linux內核,人們提出各種內核保護機制,開發出多種內核安全工具,涵蓋從最基本的越界訪問保護到復雜的實時內核保護系統(RKP[3])。這些內核安全工具不但要保護內核的完整性(kernel integrity),而且要在內核完整性被破壞后通知上層以及遠端系統。這就要求內核安全工具和Linux內核之間要有較強的隔離(isolation),以保證內核里的漏洞不會直接影響到這些內核安全工具。
在以前的研究中,內核安全工具通常被放置到擁有比內核更高權限的系統構件中,例如Hypervisor,或者硬件安全組件中,例如ARM TrustZone,從而將安全工具和內核中潛在的可攻擊的漏洞隔離開來。但是由于安全工具本身的代碼量以及潛在的軟件漏洞,將安全工具放置到更高權限的系統構件不但增加了運行維護的成本,而且會增加所在高權限的系統構件的代碼量和可攻擊點,反而使系統更易受到攻擊。
NDSS2016的一篇論文:SKEE——針對ARM架構的輕量級Linux內核安全執行環境[4],致力于解決這些問題。該論文創新性地提出一個輕量級的內核安全執行環境SKEE(Secure Kernellevel Execution Environment)。這個安全執行環境擁有和內核同等的權限級別,但卻可以保證即使內核被攻破,攻擊者依然不能突破SKEE和內核之間的隔離,從而保證其內部所放置的安全工具的安全。
SKEE的實現基于兩套內存頁表(kernel page table):內核的內存頁表以及SKEE的內存頁表。在內核的內存頁表中,內存頁表本身,以及SKEE的代碼和數據頁面沒有被映射,這樣內核便不能訪問SKEE,也無法更新內核本身的內存頁表。而SKEE的內存頁表包含所有內存的映射。內核需要更新內存頁表時,會陷入(trap)到SKEE中,SKEE會檢查每一個內存頁表更新操作,確保其不會破壞SKEE和內核之間的隔離。SKEE另一貢獻是針對ARMv7和ARMv8平臺的內核和SKEE切換邏輯的設計。該切換邏輯保證切換的原子性,確定性以及唯一性。這些的創新設計保證即使內核中存在漏洞導致內核被攻破,攻擊者依然不能突破SKEE和內核之間的隔離,無法訪問SKEE內部的代碼和數據。
正是由于SKEE創新而且實用的系統設計,該論文獲得NDSS2016杰出論文獎(Distinguished Paper Award)。
[1] Linux內核漏洞統計.http://www.cvedetails.com/ product/47/Linux-Linux-Kernel.html?vendor_id=33
[2] Android Security Advisory.https://source.android. com/security/advisory/2016-03-18.html
[3] Hypervision Across Worlds: Real-time Kernel Protection from the ARM TrustZone Secure World: Ahmed M. Azab, Peng Ning, Jitesh Shah, Quan Chen, Rohan Bhutkar, Guruprasad Ganesh, Jia Ma, and Wenbo Shen, In CCS, Scottsdale, AZ, 2014
[4] SKEE: A lightweight Secure Kernel-level Execution Environment for ARM: Ahmed Azab, Kirk Swidowski, Rohan Bhutkar, Jia Ma, Wenbo Shen, Ruowen Wang and Peng Ning, In NDSS, 2016
[5]原文下載鏈接:http://www.inforsec.org/wp/wpcontent/uploads/2016/05/SKEE中文摘要.pdf