人人書

雜誌

保存到桌面 | 簡體人人書 | 手機版
傳記回憶文學理論偵探推理驚悚懸疑詩歌戲曲雜文隨筆小故事書評雜誌
人人書 > 雜誌 > 基于硬件事務内存的安全增強機制

基于硬件事務内存的安全增強機制

時間:2024-11-06 07:05:42

文/劉宇濤陳海波

近些年,在學術界和工業界出現了一些利用非安全相關的硬件特性來增強系統安全的機制。在本文中,我們主要介紹其中的兩個工作,它們都是基于硬件事務内存特性,其中一個用于增強虛拟機自省技術,另外一個用于防止私鑰洩露。

事務内存(TransactionalMemory),是在程序并發控制領域提出的一套完整的解決方案。傳統的基于“鎖”的程序并發控制面臨了包括低可擴展性、死鎖、活鎖在内的一系列問題,而事務内存,作為樂觀并發控制(OptimisticConcurrencyControl,OCC)的一種解決方案,假設在大多情況下,并發的事務不會相互影響,隻有在實際發生沖突的情況下才會發生事務的回滾。因此在事務間數據沖突較少的場景中,基于事務内存的程序并發控制能夠獲得更好的性能。在過去的近二十年中,事務内存都是通過軟件來實現的。2014年,Intel在其第四代Core處理器(代号Haswell)上裝配了硬件支持的事務同步擴展(TransactionalSynchronizationExtensions,TSX)機制,其中一套軟件接口RestrictedTransactionalMemory(RTM),成為市面上首個為程序員提供的硬件事務内存指令集。RTM在處理器緩存中為事務維護了内存地址的讀寫集合,從而在多核之間的緩存一緻性協議中實現了一套不同事務訪問數據的沖突檢測機制。和軟件事務内存相比,RTM提供了更好的性能,但是也由于硬件的局限性,造成了其功能上的一些缺陷。比如某些系統事件(如中斷,系統調用等)會無條件中止(abort)執行中的事務;另外,RTM維護的讀寫集合也是有限的,在我們的測試中,RTM維護了4M的讀集合和32K的寫集合,當事務中的數據超過了讀寫結合的大小,事務同樣會被中止。

TxIntro是一個利用RTM來增強虛拟機自省技術的機制。虛拟機自省,即在虛拟機外部對虛拟機的狀态進行分析,從而達到更高的隔離性和安全性。但是當前的虛拟機自省技術存在三個問題:第一,沒有一套機制可以及時地觸發虛拟機自省;第二,在虛拟機自省過程中需要暫停虛拟機,造成性能下降;第三,即使暫停了虛拟機,仍然會發生數據讀取不一緻的現象。針對這些問題,TxIntro将一些關鍵數據結構(如系統調用表)放入RTM的讀集合中,任意對其的惡意修改都會及時觸發虛拟機自省。另外,它将自省過程置于事務之中,這樣即使不暫停虛拟機,也能防止虛拟機自省過程中數據讀取的不一緻,因為如果虛拟機在該過程中對相關數據進行了修改,RTM就會中止這個事務,使其重新執行。除此之外,為了解決RTM的局限性,TxIntro提出了兩個創新的優化技術,從而大幅度減小了虛拟機自省過程中事務内存的讀寫集合。TxIntro被用于虛拟機Rootkit的檢測,它使得虛拟機自省技術滿足了及時性、同步性和一緻性,并最小化了對虛拟機的性能影響。

Mimosa是一個利用RTM防止秘鑰洩露的系統。在傳統的加解密過程中,秘鑰會被加載到内存中,任何系統中存在的内存洩露的漏洞,或者其它類似于冷啟動(coldboot)的攻擊都可能竊取秘鑰。Mimosa借鑒了含羞草一旦被觸碰就會合上葉子保護自己的這一特點,提出一套利用事務内存特性保護秘鑰的方法。具體的做法如下:最初秘鑰被加密存儲在内存中,當需要利用它加解密數據時,先創建一個事務,在該事務中解密該秘鑰,獲得秘鑰的明文,之後的加解密操作都在這個事務中完成,并在事務結束之前清除内存中秘鑰的明文。如果在事務執行過程中有其它進程(包括内核進程)讀取該秘鑰的明文,則會中止該事務,由于該事務尚未被提交,因此其它進程無法獲得秘鑰的明文信息,從而防止了秘鑰的洩露。為了克服RTM的限制,Mimosa系統做了大量的性能調節的工作,使得整套機制能夠順利完成。總的來說,Mimosa的原理就是利用事務内存的特性,在秘鑰被無關進程訪問時清除它,從而防止其洩露。

計算機在發展過程中會引入越來越多的硬件特性,其中的很多并非安全相關,比如RTM,其初衷在于提高程序并發控制的性能。但是如果能有效地利用這些硬件的特性,就能夠在現有的硬件資源中進一步提高系統的安全等級。

陳海波上海交通大學教授,CCF傑出會員、ACM/IEEE高級會員,主要研究方向為系統軟件、系統結構與系統安全。多次擔任SOSP、ISCA、Oakland、EuroSys、FAST、PPoPP、UsenixATC等國際著名學術會議PCmembers,APSys2014、2014年全國體系結構學術年會等PCCo-Chairs,APSys2011、SOSP2017的大會共同主席,以及ACMAPSys的SteeringCommitteeCo-Chair,在SOSP、OSDI、EuroSys、UsenixATC、FAST、PPoPP、ISCA、MICRO、HPCA、UsenixSecurity、CCS等發表多篇學術論文,獲得EuroSys2015、APSys2013與ICPP2007的最佳論文獎、HPCA2014的最佳論文提名獎與2011年全國優秀博士學位論文獎,入選國家萬人計劃“青年拔尖人才”以及2015年CCF青年科學家獎。
   

熱門書籍

熱門文章