日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
操作系統(tǒng)/虛擬化安全知識域:攻擊者模型

攻擊者模型

我們假設攻擊者有興趣違反操作系統(tǒng)或虛擬機監(jiān)控程序提供的安全保證:泄露機密數據(例如,加密密鑰),修改不應訪問的數據(例如,提升權限)或限制系統(tǒng)及其服務的可用性(例如,通過崩潰系統(tǒng)或占用其資源)。在這個知識領域,我們專注于安全的技術方面,撇開內部威脅、人類行為、物理攻擊、項目管理、公司政策等。不是因為它們不重要,而是因為它們超出了操作系統(tǒng)的控制范圍,并且需要自己的知識領域。表1列出了我們考慮的一些威脅和攻擊方法。

危害系統(tǒng)的最簡單方法是將惡意擴展注入操作系統(tǒng)的核心。例如,在Linux和Windows等單片系統(tǒng)中,這可能是惡意驅動程序或內核模塊,可能無意中加載為特洛伊木馬,可以訪問所有特權功能。無論操作系統(tǒng)或虛擬機管理程序可能做什么,為了以隱蔽的方式保持對系統(tǒng)的控制,攻擊者可能會進一步感染系統(tǒng)的啟動過程(例如,通過覆蓋主啟動記錄或統(tǒng)一可擴展固件接口)(UEFI),固件)—在每次重新啟動時(甚至在操作系統(tǒng)運行之前)讓惡意代碼控制引導過程,從而允許其繞過任何和所有操作系統(tǒng)等級防御。

除了使用特洛伊木馬外,攻擊者還經常利用漏洞在沒有任何用戶幫助的情況下違反安全屬性。事實上,攻擊者可能會使用多種方法。例如,他們通常濫用軟件中的漏洞,例如內存錯誤來更改操作系統(tǒng)中的代碼指針或數據,并違反其完整性,機密性或可用性。通過損壞代碼指針,它們控制程序在使用損壞的代碼指針的調用、跳轉或返回指令后恢復執(zhí)行的位置。更改數據或數據指針開辟了其他可能性,例如將非特權進程的特權級別提升為“root”(提供全能的“系統(tǒng)”特權)或修改頁表以允許進程訪問任意內存頁。同樣,他們可能會使用此類錯誤通過更改系統(tǒng)調用或網絡請求返回的數據量或數據量來從操作系統(tǒng)泄漏信息。

攻擊

描述

惡意擴展

攻擊者設法誘使系統(tǒng)加載惡意驅動程序或內核模塊(例如,作為特洛伊木馬)。

Bootkit

攻擊者甚至在操作系統(tǒng)開始運行之前就破壞了啟動過程以獲得控制權。

內存錯誤(軟件)

空間和時間內存錯誤允許攻擊者(本地或遠程)轉移控制流或泄露敏感信息。

內存損壞(硬件)

DRAM中的Rowhammer等漏洞允許攻擊者(本地或遠程)修改他們無法訪問的數據。

統(tǒng)一數據泄露

操作系統(tǒng)將數據返回到未正確初始化且可能包含敏感數據的用戶程序。

并發(fā)錯誤和雙重提取

示例:操作系統(tǒng)兩次使用用戶空間中的值(例如,大小值使用一次來分配緩沖區(qū),然后復制到該緩沖區(qū)中),并且該值在兩次使用之間發(fā)生變化。

側通道(硬件)

攻擊者使用共享資源(如緩存和TLB)的訪問時間來檢測另一個安全域是否使用了該資源,從而允許他們泄露敏感數據。

側通道(推測)

在推測或亂序執(zhí)行中會繞過安全檢查,當結果被壓縮時,它們會在機器的微架構狀態(tài)中留下可測量的痕跡。

側通道(軟件)

示例:當操作系統(tǒng)/虛擬機管理程序使用內存重復數據刪除等功能時,攻擊者可以判斷另一個安全域是否具有相同的內容。

資源枯竭

通過占用資源(內存、CPU、總線等),攻擊者阻止其他程序取得進展,從而導致拒絕服務。

死鎖/掛起(DoS)

攻擊者使系統(tǒng)處于軟件的某些部分無法取得進展的狀態(tài),例如,由于死鎖(DoS)。

表1:現(xiàn)代操作系統(tǒng)的已知攻擊方法/安全威脅

攻擊者還可能濫用硬件中的漏洞,例如許多DRAM芯片中存在的Rowhammer錯誤。由于內存芯片中的位是按行組織并非常緊密地打包在一起的,因此訪問一行中的位可能會導致相鄰位中的相鄰位行,將少量電荷泄漏到其電容器上-即使該位位于內存中完全不同的頁面中。通過以高頻(“錘擊”)反復訪問該行,干擾會累積,因此在某些情況下,相鄰位可能會翻轉。我們事先不知道連續(xù)哪個位(如果有的話)會翻轉,但是一旦一個位翻轉,如果我們重復實驗,它會再次翻轉。如果攻擊者成功翻轉內核內存中的位,他們就會啟用類似于基于軟件的內存損壞的攻擊。例如,損壞頁表以獲取對其他域內存的訪問權限。

另一類攻擊是并發(fā)錯誤和雙重獲取。雙重獲取對于操作系統(tǒng)來說是一個重要的問題,當它兩次使用用戶空間中的值時就會發(fā)生(例如,大小值一次用于分配緩沖區(qū),然后復制到該緩沖區(qū)中)。如果操作系統(tǒng)和攻擊者之間存在爭用,并且攻擊者在兩次訪問之間更改用戶空間值并使其更小,則會出現(xiàn)內存損壞等安全問題。它類似于檢查使用時間(TOCTOU)攻擊,不同之處在于修改的值被使用了兩次。

除了直接攻擊之外,攻擊者還可以使用側信道間接泄漏信息,例如通過緩存?zhèn)刃诺?。有許多變體,但常見的變體包括攻擊者用自己的數據或代碼填充緩存集,然后定期訪問這些地址。如果任何訪問明顯變慢,他們將知道其他人(可能是受害者)也訪問了屬于同一緩存集中的數據/代碼?,F(xiàn)在假設受害者代碼以秘密依賴的方式調用函數。例如,加密例程逐位處理密鑰,如果位為0,則調用函數foo,如果為1,則調用bar,其中foo和bar位于不同的緩存集中。通過監(jiān)控側信道使用哪些緩存集,攻擊者可以快速了解密鑰。

另一個著名的硬件側信道家族濫用投機和無序執(zhí)行。為了提高性能,現(xiàn)代CPU可能會在上述指令完成之前提前執(zhí)行指令。例如,在等待條件分支的條件被解析時,分支預測器可能會推測結果將是“分支被接受”(因為那是最后n次的結果),并推測性地執(zhí)行與taken分支對應的指令。如果事實證明它是錯誤的,CPU將壓縮推測執(zhí)行指令的所有結果,以便沒有任何存儲存在于寄存器或內存中。但是,在微架構狀態(tài)下可能仍然存在執(zhí)行的痕跡(例如在指令集架構中不直接可見的緩存、TLB和分支預測器的內容)。例如,如果用戶程序中的推測指令從寄存器中的內存中讀取一個敏感且通常無法訪問的字節(jié),隨后將其用作用戶空間數組中的偏移量,該偏移量的數組元素將位于緩存中,即使一旦CPU發(fā)現(xiàn)寄存器中的值不應該允許訪問,寄存器中的值就會被壓縮。攻擊者可以對數組中每個元素的訪問進行計時,并查看一個元素是否明顯更快(在緩存中)。該元素的偏移量將是機密字節(jié)。換句話說,攻擊者可以使用緩存?zhèn)韧ǖ纴硖崛⊥茰y訪問的數據。

最近的攻擊表明,與推測和亂序執(zhí)行相關的硬件漏洞可能比我們想象的更具災難性。Foreshadow攻擊濫用了這樣一個事實,即每當內存頁被標記為不存在時,英特爾CPU就會在推測執(zhí)行下從1級高速緩存中讀取數據,而沒有正確檢查該物理地址上數據的所有權。更糟糕的是,被稱為流氓飛行數據(RIDL)的漏洞(攻擊者可以在沒有權限的情況下利用該漏洞,甚至可以從瀏覽器中的JavaScript中利用)并且不關心地址,這表明英特爾CPUs通過各種臨時微架構緩沖區(qū),不斷向推測執(zhí)行指令提供來自任意安全域的數據。

緩解這些攻擊不僅需要更改硬件,還需要操作系統(tǒng)的深入且通常復雜的參與。例如,操作系統(tǒng)可能需要刷新可能泄漏數據的緩存和緩沖區(qū),保證某些分支之間不會發(fā)生推測,或者安排不同的時間不同內核上的安全域等。

除了緩存之外,硬件側通道還可以使用各種共享資源,包括TLB、MMU和許多其他組件[17]。實際上,側信道根本不需要與硬件相關。例如,在操作系統(tǒng)中實現(xiàn)的內存重復數據刪除和頁面緩存是眾所周知的側通道源。為了便于說明,重點介紹前者,請考慮一個主動刪除重復內存頁的系統(tǒng):每當它看到兩個頁面具有相同的內容時,它就會調整虛擬內存布局,以便兩個虛擬頁面都指向同一物理頁面。這樣,它只需要保留一個物理頁面來存儲內容,它可以以寫入時復制的方式共享內容。在這種情況下,寫入該頁需要更長的時間(因為操作系統(tǒng)必須再次復制該頁并調整其頁表映射),攻擊者可以測量這一點。因此,如果寫入頁面花費的時間要長得多,攻擊者就會知道其他某個程序也有該內容的副本-一個側信道,告訴攻擊者有關受害者數據的一些信息。研究人員已經表明,攻擊者可能會使用這種粗粒度的側信道來泄露非常細粒度的秘密[18]。在許多側信道中,問題在于軟件和硬件中的安全域之間缺乏隔離(例如,在硬件實現(xiàn)的推測執(zhí)行期間可能沒有隔離或隔離太少)。重要的是要認識到域隔離問題擴展到硬件/軟件接口。

特別是為了保密,信息泄露可能是微妙的,看似無害的,仍然會導致嚴重的安全問題。例如,對象的物理甚至虛擬地址可能看起來都不像非常敏感的信息,直到我們考慮到代碼重用或Rowhammer攻擊,濫用地址知識將控制流轉移到特定地址或翻轉特定位。

至于攻擊的來源,它們可能是從用戶空間中受害者機器上本機運行的本地代碼、(惡意)操作系統(tǒng)擴展、通過網絡獲取并在本地執(zhí)行的腳本代碼(例如瀏覽器中的JavaScript)、惡意外圍設備甚至遠程系統(tǒng)發(fā)起的(攻擊者通過網絡發(fā)起攻擊)。顯然,遠程攻擊比本地攻擊更難執(zhí)行。

在某些情況下,我們會顯式擴展攻擊者模型,以包括惡意操作系統(tǒng)或惡意虛擬機監(jiān)控程序。這些攻擊者可能與基于云的系統(tǒng)相關,其中云提供商不受信任,或者操作系統(tǒng)本身已受到損害。在這些情況下,目標是保護敏感應用程序(或其片段),這些應用程序可能在特殊的受硬件保護的受信任執(zhí)行環(huán)境或安全區(qū)中運行,免受內核或虛擬機監(jiān)控程序的影響。

估計系統(tǒng)安全性的一個有用指標是攻擊面,攻擊者可以到達或獲取數據的所有不同點。為了嘗試破壞系統(tǒng)。例如,對于本地運行的本機代碼,攻擊面包括攻擊者可以執(zhí)行的所有系統(tǒng)調用以及系統(tǒng)調用的參數和返回值,以及實現(xiàn)攻擊者可以訪問的系統(tǒng)調用的所有代碼。對于遠程攻擊者,攻擊面包括網絡設備驅動程序、網絡堆棧的一部分以及處理請求的所有應用程序代碼。對于惡意設備,攻擊面可能包括設備可能使用DMA訪問的所有內存或設備可能與之交互的代碼和硬件功能。但請注意,向攻擊者暴露更多代碼只是一個代理指標,因為代碼的質量不同。在極端情況下,系統(tǒng)會經過正式驗證,因此不再可能出現(xiàn)各種常見漏洞。


本文標題:操作系統(tǒng)/虛擬化安全知識域:攻擊者模型
分享鏈接:http://www.5511xx.com/article/dpohgpc.html