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

處理器的安全漏洞及防御策略研究

2021-10-14 03:28:32李沛南
科技與創新 2021年19期
關鍵詞:受害者程序信息

李沛南

(中國科學院信息工程研究所信息安全國家重點實驗室,北京 100093;中國科學院大學網絡空間安全學院,北京 100049)

隨著大數據時代的到來,5G、云平臺等技術日趨成熟,人們生活中記錄的文件、音頻、視頻可以在網絡上高速傳播,并能使用云平臺技術存儲、分享。但隨著計算機系統日趨復雜,軟硬件技術日益繁多,近些年,越來越多的安全漏洞被披露。2011—2020 年新披露CVE 漏洞的數量統計如圖1 所示,2020 年新披露的漏洞已接近10 年前的6 倍。更重要的是,除了軟件上發現的漏洞外,硬件本身也被披露存在著大量的安全隱患。軟件漏洞可以通過加補丁等方法進行修復,但硬件上的缺陷卻無法在短時間內有效地根除。這些問題都來源于在傳統的系統設計中,不論是硬件還是軟件,都是一味地追求性能而忽略了安全性。因此,分析現有漏洞,歸納漏洞本質,并在下一代系統設計伊始便將安全性作為重要的考慮因素。

圖1 2011—2020 年新披露CVE 漏洞的數量

1 攻擊場景分析

在實際的攻擊中,攻擊者通常需要首先確定攻擊的目標,再針對性地構造攻擊。典型的攻擊場景包括以下幾個。

1.1 單核內攻擊

攻擊者可以通過腳本注入等方法與受害者程序在同一核內運行。這樣一來,攻擊者可以通過改變受害者的執行流,將信息傳遞給攻擊者,或者直接惡意讀取受害者的數據,進行攻擊。當處理器核支持同時多線程(Simultaneous multithreading,SMT)機制時,攻擊者甚至可以觀察另一個硬件線程中正在運行的受害者程序,并獲得敏感信息。

1.2 多核間攻擊

多核間也存在各種各樣共享的軟件或者硬件資源,攻擊者通過分析這些共享資源的變化,則可以獲得其他核上受害者程序當前的運行狀態或敏感數據。

1.3 網絡攻擊

通常情況下,處理器需要與網絡上的其他設備進行通信,例如瀏覽網頁時需要向網頁服務器發起請求并響應。在此過程中,攻擊者有機會通過執行惡意代碼劫持服務程序,或者通過分析服務器的響應速度進而推出敏感信息。

1.4 安全執行環境內部攻擊

盡管最新的處理器中提出了安全執行環境,例如Intel的 SGX(Software Guard Extension)機制、ARM 的 TrustZone機制。處理器會將機密程序部署在安全執行環境中執行,而其他非安全的程序在非安全模式下運行。但SGX 與TrustZone 機制都是基于現有的共享硬件資源進行設計,攻擊者依然有機會通過觀察資源的變化進而獲得敏感信息。

在這些場景下,多種多樣的信息都有可能成為攻擊者的竊取目標,例如處理器中的AES 加密秘鑰、SGX 機制中驗證秘鑰、其他用戶程序的數據、操作系統中虛擬地址到物理地址的映射關系、虛擬機管理程序中存放的其他虛擬機信息、瀏覽器中其他頁面信息等。

2 處理器中存在的漏洞

2.1 軟件漏洞

由于大量的程序在最初設計時并未考慮安全性,這使得攻擊者在分析源碼后,可以利用潛在的漏洞來竊取信息。依據攻擊過程中采用的方法,典型的軟件漏洞攻擊可以分為兩大類,分別如下。

2.1.1 控制流劫持

在程序中,依據執行狀態變換控制流的操作十分普遍。然而由于缺乏程序執行過程中指令地址存儲與程序數據空間,因此,不論是前向的跳轉、調用指令,還是后向的返回指令[1],攻擊者有機會通過改變其目標地址從而劫持受害者程序的執行流。具體的方法靈活多樣,攻擊者可以通過輸入參數,強行覆蓋軟件棧空間的數據,進而保證在程序跳轉時,執行到特定的代碼片段,進而導致信息泄露。

2.1.2 釋放后使用(Use After Free,UAF)

除了與受害者程序交互,惡意劫持控制流外,攻擊者還可以在其他進程內獲取敏感數據。這是因為程序在分配或者釋放空間時,對應的內容并不會被初始化,而殘留著之前程序的數據。因此,當受害者程序執行后,殘留的敏感信息可能被后續程序執行時訪問到。這種攻擊被廣泛使用于實際的攻擊場景中。

2.2 硬件漏洞

自2018 年推測執行漏洞的披露,揭示了現有商用處理器中最核心的性能優化技術——推測執行存在著嚴重的安全隱患,也說明了傳統的以性能優先的設計方案缺乏嚴謹的安全性分析。處理器中存在的安全問題也被廣泛關注。除了在設計過程中隱含的可疑“后門”外,芯片本身的特性也可能成為攻擊者的目標。通過探針監聽、電磁或功耗分析等物理方法,攻擊者可以觀測到處理器中的當前運行信息,進而獲得敏感信息。這些攻擊需要額外的硬件支持,攻擊者還可以利用其他漏洞,采用軟件方法即可觀測到敏感信息。本節主要討論這一類攻擊。

2.2.1 緩存側信道攻擊

高速緩存(Cache)減小了CPU 處理數據與內存之間數據供給不足的剪刀差。考慮到實現的復雜性和硬件開銷,緩存設計為多級結構。小尺寸的高級別高速緩存放置在靠近CPU 的位置,大尺寸的低級高速緩存放置在遠離CPU 的位置。替換策略利用了空間和時間上的局部性,并幫助經常訪問的高速緩存行始終命中高級高速緩存,從而確保加載這些數據僅花費最少的周期。盡管不經常訪問的低級緩存數據加載需要相對更多的周期。通過測量訪問時間,對手可以推斷出相應數據來自哪個級別的緩存。通過進一步分析,攻擊者可以推出敏感信息。現有的緩存側信道攻擊已經有多種方法,包括 Flush+Reload[2]、Prime+Probe 等。

2.2.2 分支預測器側信道攻擊

通常,程序并不是線性地按指令序列執行,而是通過許多分支、跳轉、返回指令來控制程序的方向。處理器引入分支預測單元(Branch Predictor Unit,BPU),包括分支目標緩沖區(Branch Target Buffer,BTB)、模式歷史表(Pattern History Table,PHT)和返回地址堆棧(Return Address Stack,RAS),以記錄分支指令的執行歷史,并預測執行目標。然而,這些預測歷史表由所有程序共享,因此程序執行時可以感知到之前的運行歷史。依據表中的歷史信息,攻擊者可以分析出敏感信息。目前,BranchScope[3]、Branch Shadowing證明了PHT 以及BTB 都存在信息泄露的風險。

2.2.3 端口競爭側信道攻擊

處理器流水線中通常采用大量的執行單元以增大指令并行執行能力,所有程序對執行單元共享。但資源數有限,攻擊者通過頻繁占用特定的資源可以觀測到其他程序是否有使用對應的資源,進而分析出其他程序的執行狀態與敏感信息。

2.2.4 推測執行攻擊

基于前面的三種側信道攻擊可以發現,攻擊者可以通過觀察微體系結構狀態的差別,進而分析出敏感信息。對于現有的推測執行技術,包括分支預測、亂序執行、前遞技術,在發現錯誤預測后,僅僅會將對體系結構狀態有影響的功能單元進行恢復,但考慮到硬件實現的復雜度和性能問題,對不影響程序正確性的微體系結構狀態并不會被恢復。因此,攻擊者通過控制受害者程序的推測執行指令,訪問敏感信息,并依據敏感信息改變微體系結構的狀態。之后,通過側信道的方法,可以獲得敏感信息。目前,采用該方法,攻擊者通過 Spectre[4]、SMoTherSpectre、SpectrePrime、SgxPectre、NetSpectre 等攻擊均證明了單核內、核間、安全執行環境、網絡上都存在信息泄露的可能。

除以上幾種方式之外,還有諸多其他微體系結構狀態的改變也可以被攻擊者,例如預取器、電壓控制模塊、電容模塊的變化都有可能被攻擊者用來構造攻擊。

3 防御策略

3.1 軟件漏洞防御策略

軟件漏洞的本質是由于缺乏安全保障來防止攻擊者惡意攻擊但并未觸發錯誤的讀寫操作。針對這一問題,可以通過為編譯器和操作系統中添加補丁,在程序編譯階段,動態地識別潛在的安全風險,并在程序內添加嚴格的判斷屏蔽非法讀寫操作或保證在分配空間過程中無法獲取之前的數據。

僅采用軟件方法或許無法準確地屏蔽所有安全隱患,引入硬件支持也是一種有效的方法。通過添加額外的硬件機制,在程序執行過程中動態地識別控制流地址,防止攻擊者惡意讀寫該區域;對于釋放后使用的攻擊,可通過硬件識別內存分配、釋放的過程,通過添加標簽,進而避免后續程序獲得之前程序的敏感數據。

3.2 硬件漏洞防御策略

針對芯片架構中的安全隱患,需通過隔離攻擊者與受害者程序,或者干擾攻擊者觀察微體系結構狀態的改變。主要有以下幾種方法。

禁用特定模塊:針對安全隱患,禁用有風險的模塊是最直接的方法,但是已有的硬件模塊大都是對處理器性能有顯著提升的功能。例如禁用緩存后,處理器性能與內存吞吐量之間的“剪刀差”又凸顯,處理器性能將大打折扣。

隔離:通過軟件或硬件的方法將攻擊者與受害者隔離,防止他們共享硬件或者軟件資源。這樣一來,攻擊者將無法直接讀取受害者的數據,無法影響受害者的執行流程,也無法觀察共享資源的變化而推出敏感信息。例如,針對熔斷漏洞,通過隔離用戶態與內核態的程序,可以防止惡意用戶直接竊取內核信息。

隨機:現有的硬件漏洞中,攻擊者之所以能從微體系結構狀態的變化分析出敏感信息內容,是因為其微體系結構狀態的變化方式固定,且每一個狀態本身對應特定的敏感信息。對此,一方面可以通過隨機緩存結構狀態的變化方式,另一方面可以使微體系結構狀態與敏感信息本身之間的對應關系隨機變化,以解決此問題。隨機從本質上講是一種輕量的隔離方法。例如,通過隨機化緩存地址與緩存行之間的映射關系,攻擊者便無法通過分析敏感數據是否在緩存中,繼而分析出對應的地址信息。

降低攻擊者分析能力:在攻擊過程中,需要借助特定的方法進行觀察。比如在絕大部分的緩存側信道與推測執行攻擊中,攻擊者往往通過微體系結構狀態改變導致的時間差進而分析出隱含的敏感信息。因此,可以直接削減用戶程序獲得時間的精度,使得攻擊者無法從時間差中獲得有效的信息。

針對攻擊特征制定特定方案:除以上幾種方法外,攻擊者還可以通過依據不同的攻擊特征,指定不同的防御方法。例如針對推測執行側信道攻擊,可以防止推測執行過程中對于微體系結構狀態的改變,從而避免信息泄露。針對分支預測器目標地址被惡意訓練的攻擊,可以通過將跳轉分支轉化為其他指令,從而直接避免受害者程序被惡意誘導。針對預取器固定預取規則分析出敏感信息的特征,可以引入隨機預取方案,避免攻擊者從中分析出受害者的訪問規律。

4 防御策略的應用

本小節以后向控制流劫持以及推測執行攻擊為例,分別講述防御策略在真實防御機制中的應用。

4.1 后向控制流劫持的防御

為防止攻擊者通過數組越界直接更改后向返回的目標地址,可以通過編譯器在數組訪問過程中進行邊界檢查,這一 功 能 已 實 現 在 Intel 的 MPX ( Memory Protection Extensions)機制中。這種方法會在程序執行時引入較多的地址比較,從而導致性能的下降。因此,可以通過引入單獨的硬件模塊,對真正的跳轉地址進行存儲,防止該地址被惡意篡改,保證程序控制流的完整性[5]。

4.2 推測執行攻擊的防御

推測執行攻擊的步驟為:①攻擊者誘使受害者推測執行特定的代碼片段;②在推測執行過程中首先訪問敏感數據;③依據敏感數據,改變微體系結構的狀態;④通過側信道的方法從微體系結構狀態的變化中分析出敏感信息。

針對推測執行攻擊的步驟,分別列出以下防御目標:①防止惡意訓練并堵塞可疑的推測執行;②隔離敏感數據;③防止推測執行改變微體系結構狀態;④防止攻擊者從微體系結構改變中分析出敏感信息。針對這四種防御目標,可以提出不同的防御方案。

防止惡意訓練并堵塞可疑的推測執行:針對幽靈漏洞中攻擊者惡意訓練分支預測器現象,可以設計為不同的程序分配不同的分支預測器資源,進而進行隔離。但這種方法會導致較大的硬件開銷,因此通過引入隨機的方式更新分支預測器,也可以達到輕量隔離的效果。堵塞可疑的推測執行可以通過在推測執行前插入FENCE 指令,這種方法本質上為禁用推測執行,這會帶來較大的性能開銷,使用性不強。

隔離敏感數據:通過隔離用戶空間與內核空間、隔離瀏覽器中不同的頁面,可以避免攻擊者在推測執行過程中訪問到本不該訪問的敏感數據。除此之外,還可以通過軟件方法,標注對應的敏感信息,并在程序執行過程中,動態地隨機化敏感信息的內存分布。這會干擾攻擊者直接訪問敏感信息。

防止推測執行改變微體系結構狀態:可以通過引入單獨的硬件或在發現錯誤推測執行后回滾微體系結構狀態,從而提供一種隔離機制,保證在非推測機制下無法感知推測執行過程中改變。

防止攻擊者從微體系結構改變中分析出敏感信息:通過降低用戶獲得時間的精準度,可以降低攻擊者感知微體系結構狀態變化的能力。

除此之外,針對推測執行攻擊,以制定的防御方案,比如禁止推測執行過程中改變緩存狀態,但不影響不改變緩存狀態指令的執行。可以通過將分支跳轉指令轉變為其他指令,進而防止攻擊者的惡意訓練。

5 結語

在大數據時代的背景下,日益增多的漏洞揭示了現有的計算機系統中存在著嚴重的安全隱患,也為傳統的以性能優先的處理器設計策略敲響了警鐘。人們迫切需要在下一代處理器設計伊始,便引入安全因素。本文著重分析了已知的軟硬件漏洞,并歸納總結了有效的防御策略。在此基礎上,以后向控制流劫持與推測執行攻擊為例,分別講述了防御策略在軟硬件漏洞中的應用,并分析各方法的缺陷及優勢。通過結合多種防御方法,未來的處理器可以在保證安全性的前提下,提升性能并降低硬件開銷。

猜你喜歡
受害者程序信息
“目睹家暴也是受害者”,彰顯未成年人保護精細化
公民與法治(2020年5期)2020-05-30 12:33:40
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
受害者敏感性與報復、寬恕的關系:沉思的中介作用
兒童霧霾的長期受害者
母子健康(2015年1期)2015-02-28 11:21:37
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
關注恐怖主義受害者
主站蜘蛛池模板: 欧美日韩成人在线观看| 四虎在线高清无码| 成人伊人色一区二区三区| 午夜精品国产自在| 婷婷亚洲最大| 黄色网站在线观看无码| 中文字幕亚洲精品2页| 国产亚洲视频中文字幕视频| 欧美啪啪视频免码| 欧美精品不卡| 国产青青操| 欧美激情视频一区二区三区免费| 91国内在线观看| 欧美在线黄| 国内精品自在自线视频香蕉| 福利一区在线| 日韩欧美中文在线| 91美女在线| 国产成人无码综合亚洲日韩不卡| 91免费国产在线观看尤物| 五月天久久婷婷| 国产区人妖精品人妖精品视频| 久久综合一个色综合网| 欧美狠狠干| 在线国产你懂的| 中日韩欧亚无码视频| 国产18在线播放| 日韩激情成人| 精品国产黑色丝袜高跟鞋| 日本爱爱精品一区二区| 国产黄网永久免费| 久久国产精品国产自线拍| 免费看a级毛片| 亚洲免费成人网| 中文字幕人妻av一区二区| 国产呦视频免费视频在线观看| 91九色国产porny| 五月天天天色| 久久精品国产电影| 99久久国产自偷自偷免费一区| 亚洲国产理论片在线播放| 国产日韩精品欧美一区喷| 大陆国产精品视频| 国产成人综合网| jizz在线观看| 国产亚洲视频在线观看| 久久综合色播五月男人的天堂| 欧美一区二区精品久久久| 成人欧美在线观看| 日韩黄色大片免费看| 久久综合丝袜长腿丝袜| 久久人妻xunleige无码| 四虎国产永久在线观看| 日本国产精品| 亚洲色精品国产一区二区三区| 毛片基地视频| 中文字幕在线日本| 国产精品美女在线| 国产精品第一区在线观看| 中日韩一区二区三区中文免费视频| 三区在线视频| 亚洲欧美另类色图| 国产www网站| 国产黑丝视频在线观看| 三上悠亚在线精品二区| 亚洲综合片| 精品国产黑色丝袜高跟鞋| 在线视频亚洲色图| 欧美激情视频在线观看一区| 日本色综合网| 国产黄网永久免费| 伊人福利视频| 亚洲第一成年人网站| 欧美日韩精品综合在线一区| 日韩资源站| 99这里只有精品6| 亚洲国产高清精品线久久| 国产美女精品一区二区| 久久精品视频亚洲| 丰满人妻中出白浆| 91亚洲精品第一| 日韩精品一区二区三区大桥未久 |