偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

操作系統(tǒng)/虛擬化安全知識(shí)域:攻擊者模型

安全 應(yīng)用安全
在某些情況下,我們會(huì)顯式擴(kuò)展攻擊者模型,以包括惡意操作系統(tǒng)或惡意虛擬機(jī)監(jiān)控程序。這些攻擊者可能與基于云的系統(tǒng)相關(guān),其中云提供商不受信任,或者操作系統(tǒng)本身已受到損害。

攻擊者模型

我們假設(shè)攻擊者有興趣違反操作系統(tǒng)或虛擬機(jī)監(jiān)控程序提供的安全保證:泄露機(jī)密數(shù)據(jù)(例如,加密密鑰),修改不應(yīng)訪問(wèn)的數(shù)據(jù)(例如,提升權(quán)限)或限制系統(tǒng)及其服務(wù)的可用性(例如,通過(guò)崩潰系統(tǒng)或占用其資源)。在這個(gè)知識(shí)領(lǐng)域,我們專注于安全的技術(shù)方面,撇開(kāi)內(nèi)部威脅、人類行為、物理攻擊、項(xiàng)目管理、公司政策等。不是因?yàn)樗鼈儾恢匾?,而是因?yàn)樗鼈兂隽?span style="color: #231f20;">操作系統(tǒng)的控制范圍,并且需要自己的知識(shí)領(lǐng)域。表1列出了我們考慮的一些威脅和攻擊方法。

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

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

攻擊

描述

惡意擴(kuò)展

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

Bootkit

攻擊者甚至在操作系統(tǒng)開(kāi)始運(yùn)行之前就破壞了啟動(dòng)過(guò)程以獲得控制權(quán)。

內(nèi)存錯(cuò)誤(軟件)

空間和時(shí)間內(nèi)存錯(cuò)誤允許攻擊者(本地或遠(yuǎn)程)轉(zhuǎn)移控制流或泄露敏感信息。

內(nèi)存損壞(硬件)

DRAM中的Rowhammer等漏洞允許攻擊者(本地或遠(yuǎn)程)修改他們無(wú)法訪問(wèn)的數(shù)據(jù)。

統(tǒng)一數(shù)據(jù)泄露

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

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

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

側(cè)通道(硬件)

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

側(cè)通道(推測(cè))

在推測(cè)或亂序執(zhí)行中會(huì)繞過(guò)安全檢查,當(dāng)結(jié)果被壓縮時(shí),它們會(huì)在機(jī)器的微架構(gòu)狀態(tài)中留下可測(cè)量的痕跡。

側(cè)通道(軟件)

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

資源枯竭

通過(guò)占用資源(內(nèi)存、CPU、總線等),攻擊者阻止其他程序取得進(jìn)展,從而導(dǎo)致拒絕服務(wù)。

死鎖/掛起(DoS

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


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

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

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

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

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

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

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

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

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

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

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

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


責(zé)任編輯:武曉燕 來(lái)源: 河南等級(jí)保護(hù)測(cè)評(píng)
相關(guān)推薦

2023-02-07 00:24:24

2023-01-09 00:08:37

2023-02-02 00:06:06

2023-02-03 00:14:43

2023-01-27 09:17:02

操作系統(tǒng)虛擬化內(nèi)存

2023-01-30 00:05:02

操作系統(tǒng)虛擬化安全

2023-01-31 00:10:32

2024-02-04 09:45:56

2014-08-20 09:44:57

2023-08-30 12:14:05

2023-02-06 00:26:02

2014-10-08 09:25:30

2020-07-21 10:59:49

網(wǎng)絡(luò)安全IT技術(shù)

2024-09-13 17:10:40

2010-04-14 17:54:06

2021-03-15 13:56:00

DDoS攻擊加密貨幣

2024-10-18 17:10:45

2020-03-17 08:09:30

惡意軟件安全木馬

2013-08-06 17:53:03

2021-04-29 09:36:23

攻擊漏洞Kubernetes
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)