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

        ?

        新型非易失存儲的安全與隱私問題研究綜述

        2016-10-13 03:53:15徐遠超閆俊峰孫鳳蕓張偉功
        計算機研究與發(fā)展 2016年9期
        關(guān)鍵詞:失性存儲介質(zhì)指針

        徐遠超 閆俊峰 萬 虎 孫鳳蕓 張偉功 李 濤

        1(首都師范大學信息工程學院 北京 100048)2(計算機體系結(jié)構(gòu)國家重點實驗室(中國科學院計算技術(shù)研究所) 北京 100190)3   (佛羅里達大學電子與計算機工程系 美國佛羅里達州蓋恩斯維爾 32611)

        ?

        新型非易失存儲的安全與隱私問題研究綜述

        徐遠超1,2閆俊峰1萬虎1孫鳳蕓1張偉功1李濤3

        1(首都師范大學信息工程學院北京100048)2(計算機體系結(jié)構(gòu)國家重點實驗室(中國科學院計算技術(shù)研究所)北京100190)3(佛羅里達大學電子與計算機工程系美國佛羅里達州蓋恩斯維爾32611)

        (xuyuanchao@cnu.edu.cn)

        近年來,以相變存儲器(phase change memory, PCM)為代表的各種新型非易失存儲(non-volatile memory, NVM)技術(shù)得到廣泛關(guān)注.NVM同時具有傳統(tǒng)內(nèi)存的字節(jié)尋址特性和外存的非易失特性,因而可以同時替代內(nèi)存和外存,也可以用于混合存儲體系結(jié)構(gòu).NVM具有低延時、高密度、低功耗的優(yōu)勢,有效緩解了存儲墻問題.然而,由于應用程序可以直接通過存取指令(loadstore)接口訪問NVM,并且掉電后存儲在NVM上的信息不會丟失,這給NVM的應用帶來了一些新的安全和隱私挑戰(zhàn).首先討論了持久化內(nèi)存泄漏、不經(jīng)意寫操作、元數(shù)據(jù)安全、惡意磨損攻擊、非易失指針等NVM應用中可能存在的安全問題以及最新的解決方案;然后討論了數(shù)據(jù)保護、信息泄露等NVM應用中可能存在的隱私問題及現(xiàn)有的解決方案;最后探討了NVM還需解決的安全和隱私問題,包括非易失緩存、程序安全等,并提出了一些解決方案,包括權(quán)限和保護機制的融合、使用易失性的NVM等.

        內(nèi)存泄漏;非易失性存儲;安全;隱私;磨損攻擊;不經(jīng)意寫

        信息技術(shù)近年來得到了迅猛發(fā)展,面向大數(shù)據(jù)的計算機體系結(jié)構(gòu)與深度學習、神經(jīng)網(wǎng)絡等人工智能技術(shù)的結(jié)合,讓人類步入了類腦計算[1]研究的時代.類腦計算是一種仿腦的大規(guī)模存儲與并行處理系統(tǒng).與傳統(tǒng)的馮·諾依曼架構(gòu)不同,類腦計算中的存儲和計算是融合的、沒有明確的界限,因此具有并行度高、魯棒性強、能耗低等特點.可以預見,未來的體系結(jié)構(gòu)發(fā)展趨勢就是讓計算貼近數(shù)據(jù)、減少數(shù)據(jù)的搬移[2],因此,存儲成為新型計算架構(gòu)的關(guān)鍵.近年來,各種新型非易失存儲介質(zhì)(non-volatile memory, NVM)的出現(xiàn),如相變存儲器(phase change memory, PCM)、自旋轉(zhuǎn)移力矩存儲器(spin-transfer torque RAM, STT-RAM)、憶阻器(memristor)等[3-5],給計算機體系結(jié)構(gòu)的發(fā)展帶來了福音.惠普實驗室正在如火如荼開展的“The Machine”項目[6],就是采用憶阻器新型非易失存儲介質(zhì),同時設(shè)計全新的操作系統(tǒng)Linux++.當然,同時具有記憶和計算功能的憶阻器在技術(shù)上還不太成熟,但PCM等新型存儲介質(zhì)離產(chǎn)品化已經(jīng)越來越近.

        PCM等非易失存儲介質(zhì)不僅具有字節(jié)尋址以及非易失特性,還具有存儲密度高、延遲小、功耗低等優(yōu)勢(如表1所示),因此,可以替代傳統(tǒng)的內(nèi)存(如DRAM)和外存(如機械式硬盤、基于閃存的固態(tài)硬盤等),圖1顯示了4種可能的存儲體系架構(gòu).但是,要想完全發(fā)揮NVM的優(yōu)勢,不能簡單地進行物理上的替換,還需要更新存儲軟件棧(software stack)[7],一方面減少軟件的開銷,另一方面是減少NVM的不足帶來的負面影響,包括軟件方法屏蔽存儲單元的錯誤率(制程越小、存儲密度越高,錯誤率也隨之升高)、減少每個存儲單元的寫入次數(shù)(尤其是對PCM而言,寫入次數(shù)大約為108~1012),這些不足不僅帶來可靠性問題,也帶來安全方面的隱患.盡管如此,可以預見,隨著器件技術(shù)的成熟和支撐軟件的完備,這些新型的非易失存儲介質(zhì)必將徹底顛覆傳統(tǒng)的二級存儲結(jié)構(gòu),給計算系統(tǒng)帶來更大的存儲容量和更低的訪問延遲.

        網(wǎng)絡和信息安全設(shè)備作為一種專用的計算設(shè)備,對網(wǎng)絡參數(shù)配置的讀寫速度有很高要求.比如,現(xiàn)有的很多路由器(如思科路由器)是將網(wǎng)絡參數(shù)配置存放在存儲容量較小但讀取速度較快的非易失存儲介質(zhì)中,操作系統(tǒng)仍然存放在閃存中.隨著新型存儲技術(shù)的成熟,配置更大容量的內(nèi)存和外存都成為可能,無疑可以進一步提升網(wǎng)絡設(shè)備的性能.

        Table1 Comparison of Properties of Several Memory and Storage Technologies[3-4]

        Fig. 1 System architecture options for NVM.圖1 應用NVM的4種體系架構(gòu)

        安全和隱私問題在傳統(tǒng)的計算機體系結(jié)構(gòu)中也得到了極大關(guān)注.如針對內(nèi)存保護,操作系統(tǒng)提供了進程地址空間、虛實地址轉(zhuǎn)換、內(nèi)核態(tài)和用戶態(tài)、段頁式管理等多種機制,確保了一個進程的執(zhí)行不會影響到另一個進程,用戶進程不會破壞操作系統(tǒng)的地址空間.針對文件安全,也提供了文件訪問許可、訪問控制列表以及密碼等多種機制.除了傳統(tǒng)的安全問題之外,NVM的使用還帶來了一些新的安全和隱私問題.比如,系統(tǒng)斷電后,存儲在其中的數(shù)據(jù)不會在短時間內(nèi)消失,程序執(zhí)行的狀態(tài)也是持久化的[8],增加了冷啟動(cold-boot attack)[9]攻擊的風險.因此,從安全的角度看,NVM的非易失特性增大了系統(tǒng)被入侵和數(shù)據(jù)被竊取的風險.NVM既可以作為工作內(nèi)存(working memory)使用,也可以作為持久化存儲(persistent storage)來使用[10].安全風險的增大主要源于工作內(nèi)存.當NVM作為常規(guī)存儲時,其存在的安全和隱私問題在其他持久性存儲介質(zhì)中也同樣存在,因此不作為本文討論的重點.

        NVM安全和隱私問題的根源主要來自2個方面:1)NVM的非易失特性.傳統(tǒng)的操作系統(tǒng)是針對易失的工作內(nèi)存設(shè)計的,沒有考慮非易失性,因此,如果將NVM作為工作內(nèi)存使用或構(gòu)建基于NVM的單一存儲系統(tǒng),就必須考慮非易失引入的安全問題.2)字節(jié)尋址特性.字節(jié)尋址特性使得應用程序可以采用存取指令(loadstore)接口訪問NVM上的文件,從而帶來了很高的性能,但與此同時,也帶來了更高的安全風險.傳統(tǒng)的操作系統(tǒng)通過文件的權(quán)限檢查決定進程是否有權(quán)訪問磁盤塊.現(xiàn)在全部變?yōu)榱送ㄟ^現(xiàn)有的內(nèi)存管理單元(memory management unit, MMU)來實施保護,因此,必須從頂層視角重新設(shè)計操作系統(tǒng)的安全機制,將文件權(quán)限機制與內(nèi)存保護機制更好地融合[11].

        針對以上問題,學術(shù)界提出了一些預防和改進措施,比如,研究加密機制對NVM中的數(shù)據(jù)進行加密,防止數(shù)據(jù)竊取或泄密情況的發(fā)生;采取安全的文件系統(tǒng)機制防止元數(shù)據(jù)被應用程序惡意或不經(jīng)意修改;通過在線探測和地址動態(tài)重映射來降低磨損攻擊(wearout attack)的風險等.當然,這些措施都有一定的開銷,盡可能降低開銷也是相關(guān)研究重點考慮的內(nèi)容.

        本文針對NVM在使用過程中可能存在的安全和隱私問題進行了分析,包括持久化內(nèi)存泄漏、不經(jīng)意的寫操作、元數(shù)據(jù)安全、惡意磨損攻擊、非易失指針等安全問題,以及數(shù)據(jù)保護、信息泄露等隱私問題,這些問題與NVM的特性息息相關(guān),與存儲介質(zhì)無關(guān)的安全和隱私問題沒有作為本文的重點;最后給出了NVM在安全和隱私方面的研究展望和可能的研究方向.

        1 安全問題

        1.1持久化內(nèi)存泄漏

        所謂內(nèi)存泄漏(memory leak),是指用動態(tài)存儲分配函數(shù)動態(tài)開辟的空間,在使用完畢后未釋放,結(jié)果導致該內(nèi)存單元一直被占用.內(nèi)存泄漏分為易失性(volatile)和持久化(persistent)的內(nèi)存泄漏.易失性內(nèi)存泄漏可能導致程序崩潰,但是這種情況可以通過重啟程序來恢復;而持久化內(nèi)存泄漏對于程序來講是致命的.

        Mnemosyne[12]提供了2種機制來阻止持久化內(nèi)存泄漏:1)在分配內(nèi)存時,要求程序提供一個持久化的指針指向該內(nèi)存,從而保證了系統(tǒng)崩潰時該內(nèi)存不會丟失;2)通過將NVM存儲區(qū)域轉(zhuǎn)換(swap)成文件來實現(xiàn)NVM的虛擬化,進而保證一個程序中出現(xiàn)的內(nèi)存泄漏不會影響到其他程序.基于以上2種機制,即使真出現(xiàn)了內(nèi)存泄漏,可以先分配一塊新的持久化區(qū)域(persistent region),然后將活動的數(shù)據(jù)從原先的區(qū)域拷貝到新的持久化區(qū)域中,以此來恢復程序,Mnemosyne的體系結(jié)構(gòu)如圖2所示:

        Fig. 2 Mnemosyne architecture[12].圖2 Mnemosyne體系結(jié)構(gòu)[12]

        1.2不經(jīng)意寫操作

        由于NVM的字節(jié)尋址特性,NVM可以直接映射到進程或內(nèi)核的虛擬地址空間,隨后的訪問可以直接通過loadstore接口進行,不再經(jīng)過冗長的文件系統(tǒng)路徑,這大大降低了延遲,提升了性能[13-14].但是,把NVM直接暴露給進程或內(nèi)核的虛擬地址空間,帶來了極大的安全隱患,因為應用程序或驅(qū)動程序一旦存在程序缺陷(program bugs),很可能導致NVM的不經(jīng)意寫(stray writes)操作.

        為了防止不經(jīng)意寫,PMFS[15]利用處理器中的寫保護控制特征,實現(xiàn)了一個低開銷的寫保護機制.表2表示了寫保護機制的工作原理.行名表示NVM映射的地址空間,列名表示不經(jīng)意寫的發(fā)生權(quán)限.這里不包含一個進程中多個線程間的寫保護.來自用戶態(tài)的不經(jīng)意寫操作操作內(nèi)核空間時遵循特權(quán)級別(privilege levels)機制,來自用戶態(tài)的不經(jīng)意寫操作操作用戶空間時遵循分頁機制.來自內(nèi)核態(tài)的不經(jīng)意寫操作操作用戶空間時遵循防止超級用戶訪問機制(supervisor mode access prevention, SMAP),當SMAP被禁時,就不允許以超級模式(supervisor mode)訪問用戶地址空間.來自內(nèi)核態(tài)的不經(jīng)意寫操作操作內(nèi)核空間時不會將整個NVM都映射到內(nèi)核虛擬地址空間中,而是僅僅將其臨時映射到某一個物理核的私有地址空間中.PMFS[15]利用了處理器的寫保護機制(CR0.WP)來實現(xiàn)寫保護功能.只有當CR0.WP沒有設(shè)置時,才允許內(nèi)核態(tài)操作對內(nèi)核虛擬地址空間中標記為只讀的頁進行寫操作.

        Table 2 Overview of NVM Write Protection[15]

        文獻[16]使用基于頁表(page table)的保護來預防不經(jīng)意寫,通過以下4個步驟:1)當驅(qū)動程序被加載時,使用ioremap()將NVM頁面映射到內(nèi)核虛擬地址空間中并且通過禁用讀寫(RW)位來將其初始化為只讀;2)當進行讀操作時,不再有額外的其他操作;3)當進行寫操作時,開啟RW位將某一個頁面置為可寫,并執(zhí)行寫操作,當完成寫操作后再將RW位禁用使該頁恢復為只讀;4)當驅(qū)動程序卸載后,NVM 頁面必須是沒有映射的.

        這種基于頁表的保護方式方法雖然簡單,但是卻對性能帶來了很大的影響,主要原因有以下2個:1)當寫1個頁時,必須要對頁表項(page table entry, PTE)中的位進行2次變換(第1次是從只讀變成可寫,第2次是變回來),而每一次PTE屬性的變化都會引起“PTE shootdown”.2)操作系統(tǒng)對頁表屬性變換未做優(yōu)化.因此,文獻[16]對此進行了優(yōu)化.第1種優(yōu)化方法是使用緩沖批處理(bufferbatching)機制進行保護.這種機制可以減少操作PTE標志位帶來的開銷,有2個原因:1)一個小的DRAM空間可以當作一個緩沖區(qū)用來緩解突發(fā)的大量寫操作;2)在更新頁表前,這些緩沖區(qū)用于存放等待重新組織的頁.因此,只需要中止一次旁路轉(zhuǎn)換緩沖(translation lookaside buffer, TLB),就可以批處理更新一系列連續(xù)頁的RW標志位,從而減小了單個操作帶來的開銷.第2種優(yōu)化方法是使用多個緩沖區(qū)進行保護.為了提高擴展性,使用多個緩沖區(qū),每一個緩沖區(qū)由單獨的同步守護進程來管理,所有發(fā)送過來的寫操作以循環(huán)的方式分布到不同的緩沖區(qū)中.

        基于頁表的寫保護機制因為管理的粒度小、頁表龐大導致占用的內(nèi)存空間太大,文獻[16]還提出基于臨時映射(temporary mapping)的保護緩解該問題.臨時映射是指只有在需要時才會動態(tài)地將NVM頁映射到內(nèi)核空間,通過這種方式來提供寫保護,而不是通過控制每個頁的可訪問性來提供寫保護.也就是說,當加載NVM設(shè)備時,NVM頁并不直接映射到內(nèi)核虛擬地址空間中,而是當一個頁被讀寫時才會被映射到內(nèi)核地址空間中.NVM空間對操作系統(tǒng)是不可見的,這就阻止了不經(jīng)意寫操作帶來的潛在破壞性.臨時映射方法的缺點在于:無法通過固定的虛擬地址來訪問,使軟件更加復雜;同時,共享頁表項和大頁映射的優(yōu)勢也將無法體現(xiàn).

        1.3元數(shù)據(jù)安全

        現(xiàn)在將一塊NVM區(qū)域直接映射到應用程序的虛擬地址空間,也就是說應用程序可以直接操作NVM區(qū)域.傳統(tǒng)的文件系統(tǒng)權(quán)限管理已經(jīng)不復存在.在修改元數(shù)據(jù)前,應該通過一個內(nèi)核服務(kernel service)來進行權(quán)限監(jiān)控,防止元數(shù)據(jù)被隨意修改.

        Volos等人[17]設(shè)計了一種靈活的文件系統(tǒng)體系結(jié)構(gòu)——Aerie,用戶程序能夠感知下層NVM存儲介質(zhì)的存在,能夠直接訪問文件系統(tǒng)數(shù)據(jù)和元數(shù)據(jù),無需與內(nèi)核進行交互.然而,惡意程序也可以利用直接訪問這一特性來破壞和違背文件系統(tǒng)不變式(file-system invariants)的約束條件,比如禁止在同一目錄下插入2個同名的文件.從根本上來說,解決這個問題需要一個受信任實體或者要求所有的客戶端驗證元數(shù)據(jù).Aerie依靠軟硬協(xié)同的方式來解決該問題,它將文件系統(tǒng)的實現(xiàn)分為不可信的用戶庫(libFS)和可信的文件系統(tǒng)服務(trusted file system, TFS),如圖3所示.libFS提供了訪問文件的接口,包括命名和數(shù)據(jù)訪問;TFS提供了不可信程序之間的協(xié)作服務,確保了元數(shù)據(jù)的完整性和同步.因此,Aerie中的用戶庫可以直接訪問內(nèi)存保護權(quán)限允許的全部存儲介質(zhì).由于內(nèi)存保護(protection)比文件權(quán)限(permission)更加嚴格,libFS通過調(diào)用TFS來實現(xiàn)文件系統(tǒng)權(quán)限允許但被內(nèi)存保護禁止的寫操作,如只寫的文件操作以及只能遍歷的目錄.

        Fig. 3 Aerie architecture[17].圖3 Aerie體系結(jié)構(gòu)[17]

        1.4惡意磨損攻擊

        現(xiàn)有的非易失存儲介質(zhì)都存在寫入次數(shù)限制,如果反復對同一個位置進行寫入操作將會造成該區(qū)域提前老化、數(shù)據(jù)出錯,器件壽命也因此而縮短.正是由于有限的寫入次數(shù)特性,攻擊者很可能利用該特性通過惡意程序[18]對NVM的某些區(qū)域進行反復寫入操作,造成部分存儲單元快速達到耐用極限(limited endurance),在很短的時間內(nèi)失效.為此,學術(shù)界提出了大量的磨損均衡算法[19-23],通過將寫操作均勻分布在整個存儲空間上,延長整個器件的使用壽命.

        Qureshi等人[19]提出了基于區(qū)域的起始-間隙(region based Start-Gap, RBSG)磨損均衡算法.其核心思想是將整個存儲空間劃分為多個區(qū)域,在寫操作過程中,通過邏輯地址和物理地址重映射的方式將每一行的數(shù)據(jù)轉(zhuǎn)移到相鄰的地址,算法思想如圖4所示.Start-Gap算法的核心是地址的重映射,實現(xiàn)比較簡單,只需要為每個區(qū)域定義2個獨立的寄存器,分別記錄起始(start)指針和間隙(gap)指針,start跟蹤存儲區(qū)域中所有的行被重定位的次數(shù),gap跟蹤存儲區(qū)域中被重定位的行數(shù).間隙行(gapline)是該存儲區(qū)域中的任意一個空閑行,如果沒有空閑行,需要單獨給該區(qū)域一個空閑行,以便于間隙行的移動和旋轉(zhuǎn).通過這種方式便可以防止由于頻繁寫操作帶來的行失效,從而實現(xiàn)了磨損均衡的效果.

        Start-Gap算法以固定的映射邏輯實現(xiàn)磨損均衡,抗惡意攻擊能力不強.即使實現(xiàn)了基于隨機映射的算法,但其變化規(guī)律容易被探測.另外,間隙行的移動和旋轉(zhuǎn)也帶來了額外開銷,更重要的是,增加了空間管理的復雜度.

        文獻[19]還提到另外一種容忍攻擊的方法,即增加對同一行寫操作的時間間隔.實現(xiàn)的方式很多,比如,通過改變PCM的寫隊列策略,推遲寫操作直到寫隊列達到定義的閾值.舉例而言,如果PCM寫隊列有64個條目,可以把閾值定義為16,只有寫隊列達到16個條目才進行一次批量寫操作,如果只有攻擊者的寫操作,相當于延遲了16倍的時間,當然,這只是時間間隔上延長了,要真正減少寫操作次數(shù),還需要結(jié)合寫合并等其他措施,當然,延遲寫影響了實時性,因此,系統(tǒng)設(shè)計者需要在安全性和性能上根據(jù)實際應用場景的風險系數(shù)進行權(quán)衡.

        以前的磨損均衡算法通常假設(shè)寫操作是正常的,很少考慮惡意攻擊等異常情況.因此,除了算法本身能否有效地實現(xiàn)磨損均衡外,還要從安全性方面進行設(shè)計.

        安全刷新(security refresh)算法[20]通過PCM控制器周期性地對地址映射空間進行動態(tài)刷新,防止地址映射信息泄露.方法是:以存儲體(bank)為單位,每超過一定的寫入次數(shù),就將bank內(nèi)不同的塊地址進行重新映射,將其映射到一個新的地址.映射的過程中如圖5所示,在開始新一輪的動態(tài)刷新前,安全刷新控制器(security refresh controller, SRC)生成一個新的隨機數(shù)作為密鑰,與上一個密鑰共同參與運算以確定下一輪映射.因此,該算法的關(guān)鍵是隨機數(shù)的產(chǎn)生、地址轉(zhuǎn)換邏輯、重映射邏輯和數(shù)據(jù)交換邏輯等,這些都由SRC硬件完成, 內(nèi)嵌在每個PCM存儲上,避免攻擊者通過探測內(nèi)存總線獲得地址信息,從而在實現(xiàn)磨損均衡的同時保證了系統(tǒng)的安全性.

        Fig. 4 Start-Gap wear leveling on a memory containing 16 lines[19].圖4 Start-Gap算法(16行存儲器的磨損均衡)[19]

        Fig. 5 An example of one complete security refresh round[20].圖5 一輪完整的Security Refresh過程[20]

        頻繁的地址重映射會引入較大的額外寫開銷,有時比正常的磨損均衡算法的開銷高2~3個數(shù)量級[21].大多數(shù)情況下,系統(tǒng)都處在一個安全環(huán)境下,遭受攻擊的次數(shù)不是很多.因此,如果能夠?qū)崟r了解系統(tǒng)所處的安全狀況、及時動態(tài)調(diào)整磨損均衡算法,有助于實現(xiàn)性能和安全的平衡.

        Fig. 6 Architecture of adaptive wear leveling[21].圖6 自適應磨損均衡體系結(jié)構(gòu)[21]

        在線攻擊探測(online attack detection, OAD)機制[21]通過監(jiān)控寫數(shù)據(jù)流和地址引用來判斷是否存在攻擊,并通過攻擊密度(attack density)來度量攻擊的嚴重程度,以此來決定磨損均衡的地址映射頻率,從而動態(tài)調(diào)整磨損均衡算法的寫開銷,較好地達到了安全和性能的平衡,OAD算法的框架如圖6所示.此文提出的自適應的磨損均衡(adaptive wear leveling, AWL)機制適合多種磨損均衡算法.實驗顯示,在保持算法安全性的同時,AWL以較小的空間開銷(68 B)將寫開銷降到了原來的1100~110,在一定程度上平衡了磨損均衡算法安全性和性能需求.

        實際上,以上各種算法機制并不能從源頭上制止惡意磨損攻擊,因此只能被動采取防護措施.理想的做法是,從源頭檢測并阻止惡意程序的攻擊,可以借鑒網(wǎng)絡安全領(lǐng)域的入侵檢測工具來阻止惡意程序.

        1.5非易失指針

        NVM具有低延遲及字節(jié)尋址特性,可以當作工作內(nèi)存使用;但NVM也存在讀寫延遲不對稱、寫延遲和功耗高等不足,因此,采用DRAM+NVM的混合主存結(jié)構(gòu)也是目前研究較多的一種存儲結(jié)構(gòu).然而,這種混合結(jié)構(gòu)增加了操作系統(tǒng)或內(nèi)存控制器寫分配數(shù)據(jù)的復雜性,同時,也由于在同一種性質(zhì)的存儲結(jié)構(gòu)(工作內(nèi)存)中同時存在易失和非易失2種存儲介質(zhì),帶來一些安全隱患.比如,存放在非易失存儲區(qū)域的指針指向的是易失存儲區(qū)域的地址,如果異常掉電或程序非正常結(jié)束,非易失指針[24-25]就指向了不確定區(qū)域,可能帶來不安全性.

        NV-Heaps[24]實現(xiàn)了一個可以在應用層訪問的對象持久化接口,其體系架構(gòu)如圖7所示.該接口允許編程人員在分配主存空間時明確選擇易失存儲或者非易失存儲.NVM通過加強對指針創(chuàng)建規(guī)則的控制來減少因程序員誤用指針而導致的安全性錯誤,如破壞數(shù)據(jù)結(jié)構(gòu)、錯誤分配內(nèi)存等.

        Fig. 7 NV-Heaps system stack[24].圖7 NV-Heaps系統(tǒng)棧結(jié)構(gòu)[24]

        NV-Heaps將地址空間劃分成了易失性的內(nèi)存區(qū)域(如棧和易失性堆)和非易失性堆.相應地,根據(jù)指針是否存放在非易失性區(qū)域以及指針指向的區(qū)域是否為非易失性區(qū)域可以將指針劃分為4類,如表3所示.這4類指針分別是:指針位于非易失性堆且指向同一個堆內(nèi)部(intra-heap NV-to-NV)、指針位于非易失性堆且指向另外一個非易失性堆(inter-heap NV-to-NV)、指針位于易失性堆且指向非易失性堆(V-to-NV)、指針位于非易失性堆且指向易失性區(qū)域(NV-to-V).為了保證系統(tǒng)中指針引用的完整性,要求程序中所有的引用(如指針)必須指向有效的數(shù)據(jù),因此,系統(tǒng)必須遵循2個約束條件:1)不能存在NV-to-V 指針.因為一旦程序結(jié)束了,這些指針就失去了意義,而且當程序再次使用這個NV-Heaps時這些指針將會變得不安全;2)不能存在inter-heap NV-to-NV 指針.因為如果NV-Heaps中包含了一個無法使用的對象,那么這些指針將會不安全.此外,這種類型的指針也使得垃圾回收機制更加復雜,它無法確定哪些被分配的空間已經(jīng)廢棄,因為可能會有其他NV-Heaps(有可能已經(jīng)不可用)中的指針指向這塊空間.

        Table 3 Volatile and Non-Volatile Pointers

        2 隱私問題

        2.1數(shù)據(jù)保護

        平板電腦、移動終端由于體積、功耗等原因,在未來的存儲體系結(jié)構(gòu)中率先采用NVM作為工作內(nèi)存的可能性更大[26],因此可以用單一的存儲介質(zhì)同時替換傳統(tǒng)的主存和外存.然而,這也給數(shù)據(jù)隱私帶來了巨大隱患,因為系統(tǒng)崩潰或斷電后存儲在NVM 上的所有敏感信息都依然存在,無論該NVM區(qū)域用于工作內(nèi)存還是持久性存儲.本文不討論NVM作為持久性存儲的數(shù)據(jù)保護問題,因為這與其他非易失性存儲介質(zhì)并沒有本質(zhì)差異.

        相比之下,DRAM作為工作內(nèi)存要比NVM更加安全,因為DRAM是易失性的,掉電后數(shù)據(jù)將不復存在.而NVM是非易失性的,如果出現(xiàn)系統(tǒng)崩潰或異常掉電等意外情況,應用程序?qū)聿患颁N毀存放在上面的數(shù)據(jù)[27].解決方案有以下2種:

        1) 敏感數(shù)據(jù)特殊處理.對移動設(shè)備而言,如果數(shù)據(jù)(尤其是敏感數(shù)據(jù))不再使用,應該將其擦除或者加密,防止冷啟動攻擊[9].所謂冷啟動攻擊,是指計算機電源關(guān)閉后所遭受的攻擊.在使用DRAM構(gòu)建的內(nèi)存子系統(tǒng)中,計算機電源關(guān)閉后,內(nèi)存中的信息實際上不會立即自動擦除,而是還能夠保持5 s甚至更長時間,此時如果通過某種方式獲取內(nèi)存中的信息映像,就能夠得到在內(nèi)存運行時保存在其中的各種數(shù)據(jù).PCM等非易失性存儲介質(zhì)在系統(tǒng)斷電后,上面的數(shù)據(jù)還能夠保持相當長的一段時間,與易失性內(nèi)存相比,遭受冷啟動攻擊的風險更大,因此,必須采取相應預防措施.

        當應用程序用完這些敏感數(shù)據(jù)時,安全和隱私策略必須決定操作系統(tǒng)什么時候如何擦除或加密這些敏感數(shù)據(jù)[28],這種策略可以由程序員來定義,讓應用程序來決定哪些數(shù)據(jù)(相對較為敏感的數(shù)據(jù))放在DRAM上還是放在NVM上.如果放在了NVM上,應用程序就必須妥善管理好這些數(shù)據(jù).

        Fig. 9 High-level diagram of i-NVMM architecture support[31].圖9 i-NVMM體系結(jié)構(gòu)支持的高級示意圖[31]

        2) 改進加密技術(shù).由于加密技術(shù)對磨損均衡技術(shù)帶來了很大影響,文獻[29-30]針對隱私保護提出了一種基于計數(shù)器模式(counter mode)的改進之后的加密技術(shù).文獻[30]通過遞增一個加密計數(shù)器以產(chǎn)生連續(xù)的密鑰流,如圖8所示,其中,計數(shù)器可以是任意的不會產(chǎn)生長時間重復輸出的函數(shù).計數(shù)器模式的加密強度來自密鑰流的時間唯一性和空間唯一性.通常情況下,加密數(shù)據(jù)塊的地址決定了空間唯一性,而計數(shù)器的值決定了時間唯一性.這種加密方式是針對緩存行(cache line)進行的,也就是加密的粒度通常為64 B.這帶來一個問題,如果其中只有幾個字節(jié)被修改過,當寫回主存時對整個緩存行進行加密的開銷較大.為此,此文增加了數(shù)據(jù)塊級的計數(shù)器,每一個數(shù)據(jù)塊的加密通過緩存行級計數(shù)器和數(shù)據(jù)塊級計數(shù)器共同完成.只有臟塊對應的數(shù)據(jù)塊級計數(shù)器才會自增,只加密臟塊并將其寫回到NVM中,同一個緩存行中的其他干凈(未被修改過)的塊不會被寫回到NVM中.通過這種方法解決了部分寫(partial write)的磨損均衡.

        Fig. 8 Counter mode encryption for secure processors[30].圖8 面向安全處理器的計數(shù)器模式加密[30]

        對所有數(shù)據(jù)加密無疑開銷很大,因此,文獻[31]提出了一種針對NVM的增量式數(shù)據(jù)加密方式,稱為i-NVMM.i-NVMM通過一個預測機制來判斷處理器是否還會用到該數(shù)據(jù),從而確定該數(shù)據(jù)在何時進行加密,如圖9所示.這種增量式的數(shù)據(jù)加密方式會先對內(nèi)存中暫時不用的數(shù)據(jù)進行加密,對于正在使用的數(shù)據(jù)則暫時不加密,直到達到了預測條件再對這些數(shù)據(jù)進行加密.這種加密方式主要是對主存進行加密.其思想是區(qū)分出哪些是工作集(working set),只加密除工作集之外的剩余內(nèi)存數(shù)據(jù).這種方案需要預測處理器將會使用的數(shù)據(jù),對預測的準確度有很高的要求,因此也會帶來很大的開銷,加密技術(shù)也會有較大的延遲.

        在基于加解密的數(shù)據(jù)保護方案中,密鑰的存放是一個棘手的問題.如果把密鑰等敏感數(shù)據(jù)存放在非易失存儲中,當出現(xiàn)硬件故障時,這些敏感數(shù)據(jù)有被竊取的風險.為了解決該問題,文獻[8]提出了內(nèi)存加密控制單元(memory encryption control unit, MECU),它位于主存和二級緩存(cache)之間,用于對二級緩存和主存之間的數(shù)據(jù)傳輸進行加解密,用于保護主存,如圖10所示.當從主存讀取數(shù)據(jù)時,首先經(jīng)過MECU解密,才能寫入二級緩存,供CPU處理.同樣,當處理器往主存寫入數(shù)據(jù)時也要經(jīng)過MECU進行加密.MECU對于操作系統(tǒng)和CPU是完全透明的.用來對存儲塊進行加密的密鑰是來自于可移動的授權(quán)令牌上的秘密信息(比如智能卡或其他類似的安全存儲設(shè)備),刪除這些令牌就會使主存中的明文變得不可讀,從而阻止了離線攻擊.

        Fig. 10 A MECU-enhanced architecture[8].圖10 一個MECU增強的體系結(jié)構(gòu)[8]

        此外,針對憶阻器的數(shù)據(jù)加密,文獻[32]設(shè)計了查找表操作、移位操作、模冪與模乘等基本加密操作,并以數(shù)據(jù)加密標準算法(data encryption standard, DES) 為案例進行了完整的電路設(shè)計和綜合.在存儲器內(nèi)直接進行數(shù)據(jù)加密的方式對于提高數(shù)據(jù)存儲的安全性同樣具有重要的意義.

        2.2信息泄露

        側(cè)信道攻擊(side-channel attack)是通過泄露的信息進行攻擊的一種模式.比如,在一個加解密系統(tǒng)中,由于平臺自身的一些物理特性導致在加解密過程中會泄露出一些物理效應信息(如時間、功耗、電磁輻射、聲音、錯誤、緩存訪問信息等),這些信息稱之為側(cè)信道信息,利用側(cè)信道信息對密碼算法和密鑰進行分析的過程稱為側(cè)信道攻擊.

        比如,在加解密系統(tǒng)中針對緩存的側(cè)信道攻擊就是利用了緩存訪問命中和失效時的時間和能耗差異[33].在分組密碼算法中,要進行查表操作需要訪問緩存,其緩存訪問特征信息可通過時間或能耗特征信息泄露出來,攻擊者可采集到分組密碼算法運行過程中泄露的緩存訪問信息,這些訪問信息同查找索引、明文、密文和密鑰有緊密聯(lián)系,攻擊者可以用來恢復密鑰.學術(shù)界提出了很多防止緩存攻擊的方法,尤其是如何減少由于預防攻擊所引入的開銷.

        Fig. 11 Paired page corruption during programming MLC due to unexpected power loss.圖11 MLC編程過程中異常掉電導致的配對頁的損壞

        此外,現(xiàn)有的STT-RAM,PCM等存儲介質(zhì)可以在1個存儲單元上存放2位或3位數(shù)據(jù),稱為多層單元(multi-level cell, MLC).從物理上看,這幾個位并不是相鄰的,而是分別存放在不同的頁上,形成“頁對”(paired page).這種特性不僅帶來可靠性風險,也帶來了安全隱患.因為在對其中的某個頁進行編程時如果出現(xiàn)掉電,則2個頁的數(shù)據(jù)都有可能被破壞.例如,如圖11所示,在對Page 11進行編程時出現(xiàn)掉電,由于Page 8和Page 11是一對,Page 8也破壞了.重新上電后,控制器通過糾錯碼(error correcting code, ECC)校驗發(fā)現(xiàn)Page 8被破壞了,從而將Page 8及其后面的頁全部失效.這種問題可以通過一致性技術(shù)加以解決.這種可靠性問題在單層單元(single-level cell, SLC)的NVM中是不存在的,因為每一個存儲單元只有1位數(shù)據(jù),沒有“頁對”的問題.

        同樣,攻擊者也可以利用某一個頁的信息,獲取“頁對”的相關(guān)信息進行攻擊,如何預防這種攻擊,還沒有更多的相關(guān)研究.

        3 研究展望

        3.1權(quán)限和保護機制的融合

        NVM模糊了傳統(tǒng)內(nèi)存和外存之間的界限,使用單一的存儲介質(zhì)可以同時完成工作內(nèi)存和持久性存儲的雙重功能,因此,使用基于NVM的單一存儲系統(tǒng)得到了極大關(guān)注[34].相對傳統(tǒng)的二級存儲架構(gòu)而言,單一的存儲系統(tǒng)縮短了IO路徑,但另外一方面,也帶來了諸多挑戰(zhàn).

        首先,NVM具有字節(jié)尋址特性,應用程序可以像訪問DRAM一樣使用loadstore接口訪問NVM.然而,另一方面,由于持久性存儲介質(zhì)的管理需要通過對象來完成,以及磁盤本身的信息需要記錄和更新,這就導致了一些非常重要的元數(shù)據(jù)的存在.元數(shù)據(jù)在某種程度上比用戶數(shù)據(jù)更重要,因此,必須保護這些數(shù)據(jù)不要被惡意修改或不經(jīng)意修改.

        另外,傳統(tǒng)的操作系統(tǒng)使用虛擬內(nèi)存管理DRAM,使用文件系統(tǒng)管理磁盤.從安全的角度看,內(nèi)存是通過保護機制實現(xiàn)的,磁盤是通過權(quán)限機制實現(xiàn)的.采用單一存儲介質(zhì)以后,為了最大化地發(fā)揮NVM的性能優(yōu)勢,勢必需要使用loadstore接口直接訪問NVM,繞過文件系統(tǒng),但這也帶來了很多的安全隱患,因為應用程序由于bug或惡意攻擊等原因更容易毀壞NVM存儲區(qū)域.

        因此,需要重新設(shè)計針對單一的NVM存儲介質(zhì)的存儲軟件棧,包括如何更好地融合傳統(tǒng)的權(quán)限和保護等安全機制、更好地平衡安全和性能2個方面需求.

        3.2非易失緩存

        系統(tǒng)崩潰和異常掉電可能導致用戶數(shù)據(jù)和元數(shù)據(jù)之間處于不一致性狀態(tài)[35-40],傳統(tǒng)的文件系統(tǒng)采用寫前日志(write ahead logging, WAL)[41]或?qū)憰r拷貝(copy on write, COW)[42]等一致性技術(shù)來保證數(shù)據(jù)的一致性,然而這些技術(shù)都帶來了一定的開銷,如果用于慢速存儲介質(zhì),開銷所占比例不大,但如果用于NVM,則開銷所占比重很大.

        針對上述問題,Zhao等人[43]提出使用非易失緩存以及相應的硬件支持可以在沒有WAL和COW的情況下保證數(shù)據(jù)的一致性.此外,還有文獻提出所有存儲層次均為非易失存儲介質(zhì)的系統(tǒng)[14].這種系統(tǒng)帶來了存儲的可靠性,使得系統(tǒng)可以在掉電后得以快速啟動和恢復,減少了宕機時間,然而也帶來了一系列安全隱患.數(shù)據(jù)在緩存上也是非易失的,增加了敏感數(shù)據(jù)被竊取的風險;程序的執(zhí)行狀態(tài)也是非易失的,增加了被惡意程序攻擊的風險.

        因此,對于緩存中的敏感數(shù)據(jù)(包括程序執(zhí)行狀態(tài)),仍然需要采取加密的方法進行處理.但頻繁加解密會帶來很大開銷,如何降低開銷有待進一步研究,比如,可以考慮只在敏感數(shù)據(jù)從緩存寫回到內(nèi)存時進行加密.對于不敏感數(shù)據(jù),則無需加密.

        3.3易失性的NVM

        NVM同時具有傳統(tǒng)DRAM和硬盤的雙重特性,可以用一種NVM存儲介質(zhì)同時替換DRAM和硬盤.但是,由于程序代碼靜止存放和動態(tài)運行時的布局完全不同,甚至會有多個實例,因此,存儲介質(zhì)雖然是一樣的,但還是要區(qū)分哪些作為工作內(nèi)存,哪些作為持久性存儲.

        另外,非易失存儲介質(zhì)雖然具有非易失性,但它的保持時間(retention time)與寫加速比(write speedup)密切相關(guān)[10].如表4所示.利用這個特性,可以減少NVM的保持時間,降低數(shù)據(jù)在NVM作為工作內(nèi)存時被竊取的風險.通常情況下,工作內(nèi)存中的數(shù)據(jù)要么是臨時性數(shù)據(jù),要么是處于非一致性狀態(tài)的數(shù)據(jù),最終的數(shù)據(jù)都要寫回到持久性存儲介質(zhì)中,因此,作為工作內(nèi)存時,其保持時間不需要太長,可以設(shè)定為幾小時.如果工作內(nèi)存中的數(shù)據(jù)因超過保持時間而丟失,可以從持久性存儲中再次讀取,但要注意數(shù)據(jù)的及時同步避免數(shù)據(jù)的不一致性.降低保持時間,不僅降低了安全風險,還加快了寫入速度,降低了寫功耗,可謂是一舉多得.

        Table 4Write Speedup Factors with Different Retention

        Guarantees[10]

        表4 保持時間與寫加速比之間的對應關(guān)系[10]

        更進一步,也可以對持久性存儲區(qū)域進行更細粒度的控制,比如,某些數(shù)據(jù)需要持久化,但保持時間不需要太長,最為典型的就是事務機制中的日志[44]以及分布式存儲中的多數(shù)據(jù)副本.針對這些數(shù)據(jù),可以選擇一個合適的保持時間.

        3.4程序安全

        重啟是強大的恢復工具[45],重啟后,DRAM中的數(shù)據(jù)就全部丟棄了,其中也包括損壞的數(shù)據(jù),然后從持久性存儲介質(zhì)中讀取數(shù)據(jù)重建DRAM.

        由于程序代碼魯棒性的原因,可能因一些代碼缺陷引起DRAM損壞,盡管這種損壞很少遇到.如果出現(xiàn)的話,可能導致應用程序崩潰或操作系統(tǒng)崩潰,通過重啟可以解決該問題.如同DRAM,NVM同樣會遭受損壞,然而由于其非易失,重啟后問題仍然存在.

        另外,應用程序可以直接讀寫NVM,這就要求應用程序在必要時必須顯式地將數(shù)據(jù)從CPU的高速緩存刷回到NVM中,如果失敗的話,可能導致NVM上一些數(shù)據(jù)結(jié)構(gòu)的損壞,而這種情況很少發(fā)生,因此,測試的難度很大.

        此外,一個進程的多個線程之間也需要數(shù)據(jù)的隔離和保護,傳統(tǒng)的處理器是通過內(nèi)存一致性模型(memory consistency model)來保證程序執(zhí)行的正確性,但這種模型只需要保證數(shù)據(jù)以程序的順序?qū)懭氲綄λ刑幚砥骱丝梢姷墓蚕韰^(qū)域,如最后一級緩存(last level cache, LLC)、DRAM即可.數(shù)據(jù)的持久化是由文件系統(tǒng)完成的,傳統(tǒng)的文件系統(tǒng)(如ext4)中只有一個單一的IO隊列,不存在并發(fā)問題.使用NVM替換DRAM和HDD之后,為了提升程序的性能,目前學術(shù)界普遍主張旁路文件系統(tǒng),由應用程序直接將數(shù)據(jù)寫入到持久化存儲中,因此,實際上隱含著將傳統(tǒng)的內(nèi)存一致性模型延伸到持久化存儲介質(zhì)中.必須設(shè)計更魯棒的編程模型和存儲軟件棧保證數(shù)據(jù)正確地、原子性地寫入到持久性存儲介質(zhì)中.

        4 結(jié)  論

        大數(shù)據(jù)處理、類腦計算等都對存儲提出了更高的要求.以相變存儲器為代表的各種新型非易失存儲技術(shù)的不斷成熟,給新型計算機體系結(jié)構(gòu)的設(shè)計帶來了難得的機遇.新型存儲介質(zhì)同時具有字節(jié)尋址特性和非易失特性,因此,可以替代高速緩存、主存和外存,也可以與傳統(tǒng)的存儲介質(zhì)混合使用,系統(tǒng)架構(gòu)設(shè)計師可以根據(jù)應用的需求進行多種組合.

        然而,NVM的應用也帶來了3個巨大挑戰(zhàn):1)針對慢速存儲介質(zhì)設(shè)計的傳統(tǒng)存儲軟件棧需要重新設(shè)計,讓應用程序可以通過loadstore接口直接訪問NVM,繞過冗長的基于文件系統(tǒng)的IO訪問路徑,以發(fā)揮出NVM的低延遲優(yōu)勢;2)由于應用程序可以直接以訪問主存的方式訪問NVM以及非易失存儲介質(zhì)普遍存在的寫入次數(shù)有限等問題,需要采取措施防止不經(jīng)意寫操作、提高元數(shù)據(jù)安全以及預防磨損惡意攻擊;3)由于NVM具有非易失特性,在作為高速緩存和工作內(nèi)存時,斷電后存放在上面的信息仍然存在,因此,需要采取措施防止持久化內(nèi)存泄漏、非易失指針、數(shù)據(jù)保護及泄露等問題.

        NVM的安全與隱私保護是個系統(tǒng)工程,跨越多個層級.1)硬件層,如防止磨損攻擊;2)操作系統(tǒng)層,要求設(shè)計靈活并且安全的文件訪問接口,防止不經(jīng)意的寫操作,防止元數(shù)據(jù)的隨意修改;3)編程模型層,需要編寫魯棒、安全的應用程序.

        新型非易失存儲介質(zhì)還處于實驗研究階段,雖然存在讀寫不對稱、寫入次數(shù)有限等不足,但其存儲密度高、功耗低、低延遲、非易失、字節(jié)尋址等特性,足以讓計算機架構(gòu)設(shè)計師興奮不已.學術(shù)界和企業(yè)界都在進行緊鑼密鼓的研究,新型存儲介質(zhì)的軟件生態(tài)系統(tǒng)基本成熟.

        可以預見,隨著器件技術(shù)的成熟、支撐軟件的完善、芯片成本的降低,新型存儲介質(zhì)必將顛覆現(xiàn)有的多級存儲層次架構(gòu),在保證可靠性、安全隱私足夠魯棒的前提下以更高的性能服務于大數(shù)據(jù)處理和類腦計算.

        [1]Sterling T, Brodowicz M, Gilmanov T. Towards brain-inspired system architectures[C]Proc of Int Workshop on Brain-Inspired Computing. Berlin: Springer, 2013: 159-170[2]Balasubramonian R, Chang J, Manning T, et al. Near-data processing: Insights from a MICRO-46 workshop[J]. IEEE Micro, 2014, 34(4): 36-42[3]Zhang Hongbin, Fan Jie, Shu Jiwu, et al. Summary of storage system and technology based on phase change memory[J]. Journal of Computer Research and Development, 2014, 51(8): 1647-1662 (in Chinese) (張鴻斌, 范捷, 舒繼武, 等. 基于相變存儲器的存儲系統(tǒng)與技術(shù)綜述[J]. 計算機研究與發(fā)展, 2014, 51(8): 1647-1662)[4]Mao Wei, Liu Jingning, Tong Wei, et al. A review of storage technology research based on phase change memory[J]. Chinese Journal of Computers, 2015, 38(5): 944-960 (in Chinese)(冒偉, 劉景寧, 童薇, 等. 基于相變存儲器的存儲技術(shù)研究綜述[J]. 計算機學報, 2015, 38(5): 944-960)[5]Strukov D B, Snider G S, Stewart D R, et al. The missing memristor found[J]. Nature, 2008, 453(7191): 80-83[6]HP Labs. The machine: A new kind of computer[EBOL]. [2015-06-10]. http:www.hpl.hp.comresearchsystems-researchthemachine[7]Swanson S, Caulfield A M. Refactor, reduce, recycle: Restructuring the IO stack for the future of storage[J]. Computer, 2013, 46(8): 52-59[8]Enck W, Butler K, Richardson T, et al. Defending against attacks on main memory persistence[C]Proc of Computer Security Applications Conf. Piscataway, NJ: IEEE, 2008: 65-74[9]Halderman J A, Schoen S D, Heninger N, et al. Lest we remember: Cold-boot attacks on encryption keys[J]. Communications of the ACM, 2009, 52(5): 91-98[10]Liu R S, Shen D Y, Yang C L, et al. NVM duet: Unified working memory and persistent store architecture[J]. ACM SIGPLAN Notices, 2014, 49(4): 455-470[11]Volos H, Swift M. Storage systems for storage-class memory[C]Proc of Annual Non-Volatile Memories Workshop (NVMW’11). Piscataway, NJ: IEEE, 2011[12]Volos H, Tack A J, Swift M M. Mnemosyne: Lightweight persistent memory[J]. ACM SIGPLAN Notices, 2011, 46(3): 91-104[13]Moraru I, Andersen D G, Kaminsky M, et al. Consistent, durable, and safe memory management for byte-addressable non volatile main memory[C]Proc of the 1st ACM SIGOPS Conf on Timely Results in Operating Systems. New York: ACM, 2013: 1-17[14]Caulfield A M, Mollov T I, Eisner L A, et al. Providing safe, user space access to fast, solid state disks[J]. ACM SIGARCH Computer Architecture News, 2012, 40(1): 387-400[15]Dulloor S R, Kumar S, Keshavamurthy A, et al. System software for persistent memory[C]Proc of the 9th European Conf on Computer Systems. New York: ACM, 2014: 15[16]Chen F, Mesnier M P, Hahn S. A protected block device for persistent memory[C]Proc of the 30th Symp on Mass Storage Systems and Technologies. Piscataway, NJ: IEEE, 2014: 1-12[17]Volos H, Nalli S, Panneerselvam S, et al. Aerie: Flexible file-system interfaces to storage-class memory[C]Proc of the 9th European Conf on Computer Systems. New York: ACM, 2014: 14[18]Chhabra S, Solihin Y. Defining anomalous behavior for phase change memory[C]Proc of Workshop on the Use of Emerging Storage and Memory Technologies, Held in Conjunction with HPCA. Piscataway, NJ: IEEE, 2010: 1-7[19]Qureshi M K, Karidis J, Franceschini M, et al. Enhancing lifetime and security of PCM-based main memory with start-gap wear leveling[C]Proc of the 42nd Annual IEEEACM Int Symp on Microarchitecture. New York: ACM, 2009: 14-23[20]Seong N H, Woo D H, Lee H H S. Security refresh: Protecting phase-change memory against malicious wear out[J]. IEEE Micro, 2011, 31(1): 119-127[21]Qureshi M K, Seznec A, Lastras L, et al. Practical and secure PCM systems by online detection of malicious write streams[C]Proc of the 17th Int Symp on High Performance Computer Architecture. Piscataway, NJ: IEEE, 2011: 478-489[22]Yun J, Lee S, Yoo S. Bloom filter-based dynamic wear leveling for phase-change RAM[C]Proc of the Conf on Design, Automation and Test in Europe, New York: ACM, 2012: 1513-1518[23]Seznec A. A phase change memory as a secure main memory[J]. Computer Architecture Letters, 2010, 9(1): 5-8[24]Coburn J, Caulfield A M, Akel A, et al. NV-Heaps: Making persistent objects fast and safe with next-generation, non-volatile memories[J]. ACM SIGARCH Computer Architecture News, 2011, 39(1): 105-118[25]SNIA Technical Position. NVM programming model (NPM)[EBOL]. (2013-12-21) [2015-06-10]. http:snia.orgsitesdefaultfilesNVMProgrammingModel_v1.pdf[26]Farrow R. Interview with steve swanson[J]. ;login:, 2015, 40(1): 15-17[27]Bailey K, Ceze L, Gribble S D, et al. Operating system implications of fast, cheap, non-volatile memory[C]Proc of the 13th USENIX Conf on Hot Topics in Operating Systems. Berkeley, CA:USENIX Association, 2011: 2-6[28]Badam A. How persistent memory will change software systems[J]. Computer, 2013, 46(8): 45-51[29]Young V, Nair P J, Qureshi M K. DEUCE: Write-efficient encryption for non-volatile memories[C]Proc of the 20th Int Conf on Architectural Support for Programming Languages and Operating Systems. New York: ACM, 2015: 33-44[30]Kong J, Zhou H. Improving privacy and lifetime of PCM-based main memory[C]Proc of IEEEIFIP Int Conf on Dependable Systems and Networks. Piscataway, NJ: IEEE, 2010: 333-342[31]Chhabra S, Solihin Y. i-NVMM: A secure non-volatile main memory system with incremental encryption[C]Proc of the 38th Annual Int Symp on Computer Architecture. Piscataway, NJ: IEEE, 2011: 177-188[32]Zhu Xuan. Memristor-based storage encryption architecture technology[D]. Changsha: National University of Defense Technology, 2014 (in Chinese)(朱玄. 基于憶阻器的存儲加密體系結(jié)構(gòu)技術(shù)[D]. 長沙: 國防科學技術(shù)大學, 2014)[33]Kong J, Aciicmez O, Seifert J P, et al. Architecting against software cache-based side-channel attacks[J]. IEEE Trans on Computers, 2013, 62(7): 1276-1288[34]Meza J, Luo Y, Khan S, et al. A case for efficient hardware-software cooperative management of storage and memory[C]Proc of the 5th Workshop on Energy-Efficient Design (WEED). Piscataway, NJ: IEEE, 2013: 1-7[35]Kadav A, Renzelmann M J, Swift M M. Tolerating hardware device failures in software[C]Proc of the 22nd ACM SIGOPS Symp on Operating Systems Principles. New York: ACM, 2009: 59-72[36]Pillai T S, Chidambaram V, Alagappan R, et al. All file systems are not created equal: On the complexity of crafting crash-consistent applications[C]Proc of the 11th USENIX Symp on Operating Systems Design and Implementation. Berkeley, CA:USENIX Association, 2014: 1-16[37]Chidambaram V, Sharma T, Arpaci-Dusseau A C, et al. Consistency without ordering[C]Proc of the 10th USENIX Conf on File and Storage Technologies. Berkeley, CA:USENIX Association, 2012: 9-24[38]Jose J, Banikazemi M, Belluomini W, et al. MetaData persistence using storage class memory: Experiences with flash-backed DRAM[C]Proc of the 1st Workshop on Interactions of NVMFLASH with Operating Systems and Workloads. New York: ACM, 2013: 3-9[39]Narayanan D, Hodson O. Whole-system persistence[J]. ACM SIGARCH Computer Architecture News, 2012, 40(1): 401-410[40]Fryer D, Sun K, Mahmood R, et al. Recon: Verifying file system consistency at runtime[J]. ACM Trans on Storage, 2012, 8(4): 15-27[41]Hagmann R. Reimplementing the cedar file system using logging and group commit[C]Proc of the Symp on Operating Systems Principles. New York: ACM, 1987: 155-162[42]Rosenblum M, Ousterhout J K. The design and implementation of a log-structured file system[J]. ACM Trans on Computer Systems, 1992, 10(1): 26-52[43]Zhao J, Li S, Yoon D H, et al. Kiln: Closing the performance gap between systems with and without persistence support[C]Proc of the 46th Annual IEEEACM Int Symp on Microarchitecture. New York: ACM, 2013: 421-432[44]Sun L, Lu Y, Shu J. DP2: Reducing transaction overhead with differential and dual persistency in persistent memory[C]Proc of the 12th ACM Int Conf on Computing Frontiers. New York: ACM, 2015: 24

        [45]Bridge B. NVM support for C applications[EBOL]. (2015-01-20) [2015-06-10]. http:www.snia.orgsitesdefaultfilesBillBridgeNVMSummit2015Slides.pdf

        Xu Yuanchao, born in 1975. PhD and assistant professor since 2005, postgraduate supervisor since 2013, at the College of Information Engineering, Capital Normal University, China. Member of China Computer Federation. His main research interests include computer architecture and operating system.

        Yan Junfeng, born in 1991. Master candidate. Her main research interests include system software for non-volatile memory.

        Wan Hu, born in 1991. Master candidate. Student member of China Computer Federation. His main research interests include system software for non-volatile memory.

        Sun Fengyun, born in 1989. Master. Student member of China Computer Federation. Her main research interests include system software for non-volatile memory.

        Zhang Weigong, born in 1967. PhD, professor and PhD supervisor. Senior member of China Computer Federation. His main research interests include embedded computer architecture, fault tolerance.

        Li Tao, born in 1972. Full professor in the Department of Electrical and Computer Engineering at the University of Florida. Received his PhD degree in computer engineering from the University of Texas at Austin. Member of ACM and IEEE. His main research interests include computer architecture, the impacts of emerging technologiesapplications on computing.

        A Survey on Security and Privacy of Emerging Non-Volatile Memory

        Xu Yuanchao1,2, Yan Junfeng1, Wan Hu1, Sun Fengyun1, Zhang Weigong1, and Li Tao3

        1(CollegeofInformationEngineering,CapitalNormalUniversity,Beijing100048)2(StateKeyLaboratoryofComputerArchitecture(InstituteofComputingTechnology,ChineseAcademyofSciences),Beijing100190)3(DepartmentofElectricalandComputerEngineering,UniversityofFlorida,Gainesville,Florida,USA32611)

        In recent years, emerging non-volatile memory (NVM) technologies, such as phase change memory (PCM), spin-transfer torque RAM (STT-RAM), and memristor have gained great attention of researchers. NVM has both byte-addressable and non-volatile features, thereby making it possible to replace both traditional main memory and persistent storage. Also, NVM can be used in hybrid memory and storage architecture. Due to the advantages of low latency, high density, and low power, NVM has become the promising memory technology because of the effect of alleviating memory wall problem. However, applications can access NVM directly through ordinary loadstore interface, and more important, data resided in the NVM still retains after power loss, thus it imposes new challenges of security and privacy. This paper surveys several security problems about NVM and existing solutions including persistent memory leak, stray writes, metadata security, malicious wearout attacks, and non-volatile pointer. Then, privacy issues and existing studies about NVM, such as data protection and information leaks, are discussed. Finally, we explore other potential security and privacy issues related to NVM and propose several possible solutions, such as convergence of permission and protection, security of non-volatile cache, volatile NVM, and program security.

        memory leak; non-volatile memory (NVM); security; privacy; wearout attack; stray write

        2015-06-16;

        2015-08-26

        國家自然科學基金項目(61472260,61402302);北京市自然科學基金項目(4143060);計算機體系結(jié)構(gòu)國家重點實驗室開放課題(CARCH201503)

        This work was supported by the the National Natural Science Foundation of China (61472260,61402302), Beijing Municipal Natural Science Foundation (4143060), and the Project Funded by the State Key Laboratory of Computer Architecture of China (CARCH201503).

        TP309; TP333

        猜你喜歡
        失性存儲介質(zhì)指針
        面向非易失性內(nèi)存的持久索引數(shù)據(jù)結(jié)構(gòu)研究綜述
        一種面向非易失性內(nèi)存文件系統(tǒng)的數(shù)據(jù)讀寫粒度控制策略
        偷指針的人
        娃娃畫報(2019年5期)2019-06-17 16:58:10
        檔案館移動存儲介質(zhì)管理方法探討
        為什么表的指針都按照順時針方向轉(zhuǎn)動
        一種使用存儲介質(zhì)驅(qū)動的方式
        非易失性納米晶存儲器的研究
        詩性
        ——史性——失性——試論《白鹿原》及其話劇和電影改編
        大眾文藝(2016年7期)2016-01-27 11:18:22
        基于改進Hough變換和BP網(wǎng)絡的指針儀表識別
        電測與儀表(2015年5期)2015-04-09 11:30:42
        硬盤
        CHIP新電腦(2015年3期)2015-04-02 11:28:15
        国产精品成年片在线观看| 国产精品国产三级野外国产| 狠狠色丁香婷婷久久综合| 亚洲男人第一无码av网站| 2021年国产精品每日更新| 亚洲人成伊人成综合网中文| 中文字幕av人妻少妇一区二区| 欧美性猛交xxxx三人| 996久久国产精品线观看| 亚洲性色ai无码| 沐浴偷拍一区二区视频| 精品亚洲成a人无码成a在线观看 | 极品美女销魂一区二区三| 日本亚洲视频一区二区三区| 成人国产精品一区二区视频| 国产精品理人伦国色天香一区二区| 午夜香蕉av一区二区三区| 日本人妖熟女另类二区| 性大毛片视频| 中文字幕一区二区三区四区在线| 男女动态视频99精品| 国产精品 无码专区| 正在播放国产对白孕妇作爱| 欧美国产伦久久久久久久| 91精品国产91综合久久蜜臀| 狠狠色综合7777久夜色撩人| 久久AV中文一区二区三区| 精品亚亚洲成av人片在线观看| 一级r片内射视频播放免费| 亚洲av日韩专区在线观看| 亚洲 无码 制服 丝袜 自拍| 日本视频一区二区三区| 欧美丰满熟妇bbb久久久| 亚洲欧洲成人a∨在线观看| 亚洲国产成人久久一区www | 久久婷婷夜色精品国产| 日本添下边视频全过程| 国产人在线成免费视频| 北岛玲精品一区二区三区| 美利坚日韩av手机在线| 日韩免费无码一区二区三区 |