色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SSD上成功地進(jìn)行全系統(tǒng)的本地權(quán)限提升的攻擊的要求

SSDFans ? 來源:未知 ? 作者:李倩 ? 2018-03-20 09:05 ? 次閱讀

簡(jiǎn)介

Rowhammer表明,基于非物理硬件的攻擊可能具有破壞性。在最近的一篇論文中,Cai等人提出,可以在基于MLC NAND閃存的SSD上執(zhí)行類似的攻擊,并且具有潛在的破壞性。在本文中,我們將討論在SSD上成功地進(jìn)行全系統(tǒng)的本地權(quán)限提升的攻擊的要求,并展示基于文件系統(tǒng)的攻擊方法,我們將對(duì)此進(jìn)行演示。 特別地,我們展示了攻擊者可以通過使用單元與單元之間的干擾獲得攻擊原語,因此需要在OS層進(jìn)行精心的設(shè)計(jì)。

前言

在開發(fā)軟件時(shí),通常會(huì)抽象出硬件,并將諸如資源隔離等安全保護(hù)視為理所當(dāng)然。 簡(jiǎn)而言之,現(xiàn)代軟件編程幾乎不需要知道底層硬件的復(fù)雜性。

Rowhammer 把硬件的內(nèi)部運(yùn)作引入到我們的注意力中。 Rowhammer利用內(nèi)存管理更深層次的缺陷來破壞敏感的內(nèi)存區(qū)域。最近的工作表明,這樣一個(gè)非顯而易見的復(fù)雜漏洞可以被利用來通過Javascript注入錯(cuò)誤[8],實(shí)現(xiàn)手機(jī)上的權(quán)限升級(jí)[22]或者破壞共同托管的虛擬機(jī)。

但是,DRAM并不是唯一擁有敏感數(shù)據(jù)的地方,這些敏感數(shù)據(jù)對(duì)在軟件中實(shí)施正確的安全保護(hù)是必不可少的。通過文件系統(tǒng)組織的持久性存儲(chǔ),根據(jù)存儲(chǔ)在磁盤上的元數(shù)據(jù)授予對(duì)數(shù)據(jù)的訪問權(quán)限。在現(xiàn)代計(jì)算機(jī)中,閃存已經(jīng)在很大程度上取代了旋轉(zhuǎn)磁盤作為主要的永久性存儲(chǔ)介質(zhì)。

Cai等人最近發(fā)表的論文中提出在固態(tài)硬盤上可能出現(xiàn)類似rowhammer的攻擊,但不會(huì)出現(xiàn)實(shí)際的攻擊,我們從系統(tǒng)角度研究這類攻擊SSD的可行性。 特別是,我們表明,在對(duì)閃存設(shè)備行為和文件系統(tǒng)使用的真實(shí)假設(shè)下,利用閃存弱點(diǎn)來升級(jí)本地權(quán)限是可能的(雖然很具有挑戰(zhàn)性)。 我們演示的攻擊不是”全系統(tǒng)”,因?yàn)槲覀儍H僅演示了文件系統(tǒng)層的攻擊,并假定底層閃存介質(zhì)的損壞是可能的。 但是,我們還描述了這種攻擊如何擴(kuò)展到全系統(tǒng)攻擊,我們打算在未來的工作中展示這種攻擊。

更準(zhǔn)確地說,我們利用對(duì)SSD(包括ECC)中現(xiàn)有可靠性機(jī)制的了解,證明攻擊者從MLC NAND閃存的缺陷中獲得的attack primitive是粗粒度的損壞:不像在rowhammer中,攻擊者可以翻轉(zhuǎn)單個(gè)bit,在這種攻擊的情況下,攻擊者只能破壞一個(gè)數(shù)據(jù)塊。然后我們證明,這個(gè)較弱的attack primitive(與翻轉(zhuǎn)單個(gè)位相比,這為攻擊者提供了更高級(jí)別的控制)足以導(dǎo)致提升本地權(quán)限的攻擊。

模型:我們假設(shè)被攻擊系統(tǒng)在基于MLC NAND閃存的SSD上運(yùn)行文件系統(tǒng),并假設(shè)攻擊者不具有特權(quán),即被攻擊系統(tǒng)的非root訪問。該訪問使攻擊者可以通過文件系統(tǒng)對(duì)系統(tǒng)存儲(chǔ)器進(jìn)行受控寫入訪問。一個(gè)典型的場(chǎng)景是非特權(quán)用戶的登錄shell。我們不討論對(duì)被攻擊統(tǒng)的物理訪問。

貢獻(xiàn):本文的主要貢獻(xiàn)如下:

(1)我們首次詳細(xì)介紹了如何進(jìn)行完整系統(tǒng)地,基于閃存缺陷的、提升本地特權(quán)的攻擊。

(2)我們將此攻擊在文件系統(tǒng)級(jí)別進(jìn)行了實(shí)施并演示。

(3)我們討論了該攻擊的泛化和限制。

背景介紹

2.1基于硬件的攻擊

表1展示了基于硬件攻擊的分類。首先,我們區(qū)分兩個(gè)主要類別:物理和非物理攻擊。對(duì)于物理攻擊,需要直接訪問系統(tǒng)的硬件。這種攻擊的例子是探測(cè)電壓電平或刮掉硅芯片上的鍍層來對(duì)其邏輯進(jìn)行逆向工程。少數(shù)相關(guān)的例子使用冷卻劑噴霧和冷啟動(dòng)來從系統(tǒng)的記憶庫中泄露敏感信息。另一方面,非物理攻擊仍然利用系統(tǒng)的硬件,但不需要直接訪問,因此可能更強(qiáng)大。例如,定時(shí)旁路攻擊可以針對(duì)云中的服務(wù)器遠(yuǎn)程執(zhí)行。

在正交層面上,我們區(qū)分危害系統(tǒng)機(jī)密性和完整性的攻擊。危害機(jī)密性的攻擊通常需要讀取原語來公開敏感信息,例如高速緩存旁道攻擊中的關(guān)鍵材料。另一方面,對(duì)系統(tǒng)完整性的攻擊需要寫入原語來主動(dòng)修改和破壞系統(tǒng)的各個(gè)方面以改變其行為。一個(gè)非常突出的例子是drammer [22],它使用rowhammer [10,19]內(nèi)存寫入原語在Android上執(zhí)行特權(quán)升級(jí)攻擊 。

本文中顯示的攻擊屬于同一類非物理硬件完整性攻擊。

2.2 閃存的缺陷

MLC NAND閃存表現(xiàn)出與介質(zhì)和器件特性相關(guān)的可靠性問題。首先,MLC NAND Flash上的重復(fù)編程擦除(P / E)周期會(huì)加重器件的負(fù)載并逐漸使其可靠性變差[23]。其次,單元間干擾(CCI)是閃存頁面寫入期間發(fā)生的另一個(gè)不利影響,并影響NAND器件的可靠性。由于存儲(chǔ)器陣列中相鄰單元之間的電容耦合[12],施加于當(dāng)前正在編程的頁面單元的編程電壓對(duì)相鄰頁面單元造成干擾。第三,由于只讀操作的反復(fù)執(zhí)行而導(dǎo)致的閾值電壓不穩(wěn)定,從而造成干擾,導(dǎo)致位錯(cuò)誤數(shù)量的顯著增加[21]。第四,最近的研究已經(jīng)表明,在部分編程的MLC NAND塊中,在頁面編程完成之前,會(huì)進(jìn)行大量的讀取,剩下的頁面的誤碼率會(huì)顯著增加[14]。

攻擊者可以利用CCI來更改被攻擊者閃存頁面中的信息。這可以通過使用對(duì)被攻擊的閃存頁面產(chǎn)生最大干擾的特殊數(shù)據(jù)模式對(duì)相鄰的被攻擊者頁面進(jìn)行編程來實(shí)現(xiàn)。由于CCI的性質(zhì),只有少數(shù)單元可以進(jìn)行狀態(tài)轉(zhuǎn)換。 具體而言,CCI可以導(dǎo)致單元狀態(tài)僅轉(zhuǎn)換到較大的閾值電壓。使用CCI,攻擊者可以寫入具有最大干擾模式的攻擊閃存頁,以概率的方式對(duì)相鄰受害者頁面的所有或不同字段的單元進(jìn)行不受控制的隨機(jī)修改。

2.3 閃存可靠性的方法

在閃存控制器級(jí)別,使用兩種機(jī)制來提高可靠性:擾碼和糾錯(cuò)碼(ECC)。由于某些位模式更可能導(dǎo)致錯(cuò)誤,因此數(shù)據(jù)不會(huì)按原樣寫入,而是由擾碼器編碼以減少錯(cuò)誤的方式寫入[20]。 通常情況下,數(shù)據(jù)可以通過與塊地址相關(guān)的位模式簡(jiǎn)單異或。關(guān)于ECC,寫入閃存頁的數(shù)據(jù)被編碼:將冗余位添加到用戶數(shù)據(jù)中,以確保從閃存讀取的二進(jìn)制序列中存在的錯(cuò)誤可通過解碼進(jìn)行糾正。閃存存儲(chǔ)系統(tǒng)中使用的編碼字長度通常在512B到2KB之間。雖然兩種使用最廣泛的編碼是Bose-Chaudhuri-Hocquenghem(BCH)編碼和低密度奇偶校驗(yàn)(LDPC)編碼,但編碼設(shè)計(jì)的確切細(xì)節(jié)是制造商決定的。

全系統(tǒng)攻擊

利用閃存缺陷的本地權(quán)限提升的全系統(tǒng)攻擊需要解決存儲(chǔ)層次結(jié)構(gòu)上不同層面的多重挑戰(zhàn)。即從最低層到最高層:

(1)閃存芯片:?jiǎn)卧g干擾。

(2)閃存控制器:擾碼器和ECC。

(3)SSD控制器:磨損均衡和塊放置算法

(4)操作系統(tǒng):文件系統(tǒng)緩存和錯(cuò)誤檢測(cè)

(5)用戶:權(quán)限提升。

第1層是攻擊的基礎(chǔ)。正如第2節(jié)所述,以前的工作表明可以在具有特定訪問模式的閃存頁中引起位翻轉(zhuǎn),特別是使用單元間干擾。

Flash社區(qū)早已知道并研究了NAND錯(cuò)誤,并且在SSD可靠性問題的背景下,制造商設(shè)計(jì)了閃存和SSD控制器,以降低在實(shí)際使用中發(fā)生此類錯(cuò)誤的概率。 實(shí)質(zhì)上,第2層和第3層旨在向操作系統(tǒng)提供沒有可靠性問題的塊設(shè)備的抽象,并以存儲(chǔ)設(shè)備的尋址粒度完美隔離訪問。通常在系統(tǒng)安全性方面,這種抽象可能顯示出漏洞。接下來我們解釋攻擊者可能從這個(gè)漏洞抽象中得到什么攻擊原語。

剩下的挑戰(zhàn)(第4層到第5層)主要在于找到一個(gè)基于文件系統(tǒng)的攻擊矢量,它利用了這個(gè)弱攻擊原語,這是本文的主要貢獻(xiàn)。 這種攻擊的總體思路是破壞文件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu),并準(zhǔn)備新的文件系統(tǒng)并選擇結(jié)構(gòu),這可能導(dǎo)致權(quán)限的提升(在這種情況下,創(chuàng)建SUID根目錄的 shell二進(jìn)制文件)。

我們已經(jīng)探索了多種可能性,并在第4節(jié)中介紹了我們發(fā)現(xiàn)的最佳攻擊方案(就成功概率而言)。

3.1 Attack primitives

系統(tǒng)中ECC編碼/解碼的存在決定了攻擊者所期望的最好的情況是對(duì)flash頁面/塊的不受控制的隨機(jī)修改。為了理解這一點(diǎn),讓我們考慮一下不同的解碼方法,即通過將原始位錯(cuò)誤注入閃存頁面可能會(huì)導(dǎo)致攻擊行為。我們將假設(shè)用戶數(shù)據(jù)已經(jīng)使用BCH編碼進(jìn)行保護(hù),BCH編碼能夠利用它的碼字(C1)糾正t bit出錯(cuò)。T的值通常非常高(例如,t = 50)。 在引入錯(cuò)誤時(shí),可能會(huì)引發(fā)三種可能的事件:

(1)解碼成功。如果引入的錯(cuò)誤數(shù)小于或等于t,解碼一定成功。

(2)檢測(cè)到解碼失敗。如果注入錯(cuò)誤的數(shù)量嚴(yán)格大于t并且得到的二進(jìn)制向量不在另一個(gè)碼字的解碼半徑內(nèi),則會(huì)發(fā)生此情況。通常,讀取失敗將由系統(tǒng)報(bào)告,系統(tǒng)將處理該失敗操作。

(3)未檢測(cè)到解碼失敗。 當(dāng)注入錯(cuò)誤的數(shù)量嚴(yán)格大于t并且所得到的矢量落入另一個(gè)碼字(C2)的解碼半徑內(nèi)時(shí),會(huì)發(fā)生此情況。如果發(fā)生此情況,則不會(huì)報(bào)告讀取失敗并將損壞的數(shù)據(jù)返回給用戶,就像讀取成功一樣。

圖1說明了三種不同類型的解碼事件。顯然,成功的攻擊只能利用未檢測(cè)到的解碼失敗的事件。因此,攻擊者必須注入足夠的錯(cuò)誤以將原始回讀模式推入不正確碼字的解碼半徑。 以這種方式,有可能導(dǎo)致真正的數(shù)據(jù)損壞,但是將這種損壞的模式控制到bit級(jí)是不可能的。可以誘發(fā)的損壞模式的集合由可通過經(jīng)由CCI機(jī)制或以其他方式翻轉(zhuǎn)寫入模式中的比特而可達(dá)到的錯(cuò)誤代碼字的數(shù)量來確定。為了描述和總結(jié)這一點(diǎn),從最強(qiáng)到最弱的可能攻擊原語可能是:

(1)P1:在可控de 位置翻轉(zhuǎn)單個(gè)bit

(2)P2:在塊內(nèi)不可控制地翻轉(zhuǎn)單個(gè)bit

(3)P3:對(duì)塊進(jìn)行無控制的隨機(jī)修改(高位翻轉(zhuǎn),導(dǎo)致無法檢測(cè)的解碼失敗)

(4)P4:損壞一個(gè)塊(讀取該塊時(shí)出錯(cuò))

對(duì)于DRAM的rowhammer 是可以實(shí)現(xiàn)P1或P2的,但,由于閃存具備強(qiáng)大的ECC保護(hù), P1和P2在這里不太可能實(shí)現(xiàn)。P4極不可能用于提升權(quán)限的攻擊。 我們將攻擊集中在P3上,這是唯一可能成功實(shí)現(xiàn)的攻擊。

在實(shí)施攻擊時(shí),F(xiàn)TL操作(如磨損均衡和垃圾回收(GC)引起的閃存頁面的寫入)以及塊放置算法必須考慮在內(nèi)。傳統(tǒng)地,F(xiàn)TL執(zhí)行磨損均衡是試圖使所有的塊具有相同的P/E值[5]。由于磨損均衡通常是不經(jīng)常的操作,因此攻擊者可以通過多次重復(fù)攻擊來緩解磨損均衡對(duì)攻擊造成的潛在干擾。另一方面,F(xiàn)TL 的GC寫入操作在穩(wěn)定的寫入工作負(fù)載下可能是用戶寫入數(shù)據(jù)的多倍[1,3],因此占總閃存頁寫入的很大一部分。為了避免GC寫入操作對(duì)攻擊造成干擾,攻擊者可以等待足夠的時(shí)間(通常為幾十秒),以便GC操作在攻擊開始之前以及完成。這是可能成功的,因?yàn)镾SD通常在閑置時(shí)準(zhǔn)備大量空閑以維持用戶寫入的突發(fā)。

為了在閃存芯片級(jí)別最大化并行性,SSD通常使用塊放置算法,其將到來的寫入操作動(dòng)態(tài)地映射到不同的Flash芯片(例如,以循環(huán)方式)。 這些塊放置算法可以阻止攻擊者的攻擊,因?yàn)閷懭氡还繇撁婧罅⒓窗l(fā)生攻擊頁面寫入,可能不會(huì)發(fā)生在與被攻擊頁面相同的閃存塊中。為了緩解這一障礙,攻擊者應(yīng)該重復(fù)寫入攻擊者頁面足夠多的時(shí)間,最終使其寫入到與被攻擊者頁面相同的閃存塊中。

3.2 測(cè)試平臺(tái)

我們的測(cè)試平臺(tái),如圖2所示,包含:帶有FPGA和DRAM的PCIe閃存開發(fā)板,通用CPU和MLC NAND閃存芯片。NAND閃存的編程,數(shù)據(jù)擾碼器和糾錯(cuò)碼(ECC)都在FPGA中完全實(shí)現(xiàn)。FTL運(yùn)行在FPGA和CPU上。開發(fā)板連接到運(yùn)行RHEL 6.7的x86-64服務(wù)器上。我們可以完全控制在開發(fā)板上運(yùn)行的硬件和軟件堆棧,以及與設(shè)備通信Linux設(shè)備驅(qū)動(dòng)程序。

在我們的測(cè)試平臺(tái)中使用的MLC NAND芯片在可靠性方面的研究已經(jīng)在之前的工作中有介紹到[14,15,16]。在這項(xiàng)工作的背景下,測(cè)試平臺(tái)已被用于驗(yàn)證我們對(duì)MLC NAND閃存行為的理解

文件系統(tǒng)層攻擊

我們現(xiàn)在詳細(xì)描述攻擊中與文件系統(tǒng)相關(guān)的部分(第4層到第5層)。演示本地權(quán)限提升的視頻:https://www.youtube.com/watch?v=Mnzp1p9Nvw0。成功的攻擊需要滿足以下約束條件:

(1)R1:目標(biāo)塊的數(shù)據(jù)損壞應(yīng)該不會(huì)(或以很低的概率)導(dǎo)致致命的文件系統(tǒng)錯(cuò)誤,從而阻止攻擊并需要管理員干預(yù)。

(2)R2:攻擊目標(biāo)應(yīng)該是經(jīng)常寫的塊(為了獲得更大的成功機(jī)會(huì))。理想情況下,寫入應(yīng)該由攻擊者觸發(fā)。這是為了允許對(duì)攻擊的第1層到第3層的文件系統(tǒng)攻擊進(jìn)行計(jì)時(shí)。

(3)R3:目標(biāo)塊的數(shù)據(jù)損壞應(yīng)該具有足夠的可能性來創(chuàng)建可利用的條件。

(4)R4:新緩存應(yīng)該被刷新以強(qiáng)制操作系統(tǒng)訪問閃存盤中的損壞數(shù)據(jù)。

4.1 環(huán)境搭建

我們使用ext3文件系統(tǒng)在Linux上實(shí)施了攻擊,并使用默認(rèn)的安裝選項(xiàng)進(jìn)行安裝。文件系統(tǒng)不需要是根文件系統(tǒng)。我們將在第5節(jié)討論這些假設(shè)在多大程度上可以放寬和推廣。

4.2 攻擊

考慮到攻擊的限制,我們選擇了indirect block作為被攻擊的塊。

ext3 的indirect block是一個(gè)包含數(shù)據(jù)塊指針的文件系統(tǒng)塊大小區(qū)域,每個(gè)大小為4個(gè)字節(jié)。 因此,在4K塊大小的文件系統(tǒng)中,indirect block包含1024個(gè)數(shù)據(jù)塊指針(數(shù)據(jù)塊包含文件內(nèi)容)。 一旦文件大小超過12個(gè)塊,就會(huì)(通過內(nèi)核文件系統(tǒng)驅(qū)動(dòng)程序)寫入一個(gè)indirect block:因此這個(gè)寫入非常容易為攻擊者提供提供觸發(fā)機(jī)會(huì)。

如果攻擊的較低層(第1層到第3層)成功,則indirect block被破壞,對(duì)于indirect block中的1024個(gè)數(shù)據(jù)指針中的每一個(gè),有三種可能的結(jié)果。

(1)32位數(shù)據(jù)指針可指向文件系統(tǒng)內(nèi)部的一個(gè)”interesting block”(例如,inode table,root ssh私鑰文件,root使用的重要二進(jìn)制文件):這是唯一可利用的條件。

(2)32位數(shù)據(jù)指針可指向文件系統(tǒng)內(nèi)的”uninteresting block “,例如已經(jīng)屬于攻擊用戶的文件中的數(shù)據(jù)塊。

(3)32位數(shù)據(jù)指針可指向文件系統(tǒng)外部的塊(即:塊號(hào)≥文件系統(tǒng)上的塊數(shù))。 在這種情況下,攻擊是不可利用的。 但是,幸運(yùn)的是,文件系統(tǒng)內(nèi)核驅(qū)動(dòng)程序只會(huì)為相應(yīng)的數(shù)據(jù)訪問返回一個(gè)錯(cuò)誤:后續(xù)使用相同indirect block的訪問仍然可以成功。 如果1024個(gè)損壞塊中的任何一個(gè)指向一個(gè)interesting block的塊,驅(qū)動(dòng)程序的這種行為對(duì)攻擊是有效的,這大大增加了攻擊的成功概率。

假設(shè)被損壞的指針指向一個(gè)inode表(可利用的條件)。 然后,攻擊者可以通過簡(jiǎn)單地寫入攻擊文件(受攻擊者控制)來創(chuàng)建(或修改)一個(gè) root 用戶所有的inode。 然后,攻擊者將這個(gè)inode的數(shù)據(jù)塊指針指向一個(gè)shell的數(shù)據(jù)塊,最后通過執(zhí)行攻擊文件(現(xiàn)在是一個(gè)SUID-root shell,這需要SUID-root shell對(duì)應(yīng)的inod從緩存中刷新)來提升權(quán)限,如圖3所示。

我們已經(jīng)證明了R1是符合要求的,因?yàn)殡S機(jī)地破壞indirect block不會(huì)導(dǎo)致致命的錯(cuò)誤。 R2也是符合的,因?yàn)楣粽哂|發(fā)indirect block指針的寫入(通過簡(jiǎn)單地向文件中寫入足夠的字節(jié))。我們現(xiàn)在表明,R3約束(創(chuàng)造充分可利用的條件的概率)也得到了滿足。

單個(gè)數(shù)據(jù)指針指向interesting block的概率是p1:

并且任何1/4的塊大小的攻擊指針指向interesting block的概率是p2:

假設(shè)只有inode表對(duì)于攻擊者而言是”有趣的”,并且具有4 KB塊大小的100 GB文件系統(tǒng),每個(gè)inode(缺省值為/etc/mke2fs.conf)16384字節(jié)的inode比率為:

因此,假設(shè)攻擊者在indirect inode成功地使一個(gè)數(shù)據(jù)塊崩潰,權(quán)限提升攻擊將將有9%的概率會(huì)成功。 因此,我們認(rèn)為R3比較符合。

最后,我們展示緩存可以被攻擊者刷新(R4)。攻擊者需要在兩個(gè)不同的時(shí)間刷新緩存:為了覆蓋inode表內(nèi)容,并執(zhí)行新創(chuàng)建的SUID-root shell。在第一種情況下,應(yīng)從緩存中剔除出的緩存數(shù)據(jù)是indirect block,在第二種情況下,是inode。攻擊者自然可以采取兩種策略:被動(dòng)或主動(dòng)攻擊。被動(dòng)地,攻擊者可以等待文件系統(tǒng)被重新安裝(例如,在重新啟動(dòng)時(shí)),或者系統(tǒng)上的并發(fā)活動(dòng)導(dǎo)致足夠的內(nèi)存壓力,以從緩存中驅(qū)逐間接塊以及隨后的inode。主動(dòng)攻擊者觸發(fā)的路由包括創(chuàng)建內(nèi)存壓力:攻擊者只是使用程序分配足夠的內(nèi)存,從而鼓勵(lì)操作系統(tǒng)從緩存中逐出文件系統(tǒng)元數(shù)據(jù)。這是我們?cè)谘菔局胁捎玫姆椒ā?(這種方法的有效性可能會(huì)因VFS和頁面緩存設(shè)置的不同而不同,但在我們的攻擊中,RHEL 6.7的默認(rèn)設(shè)置是驅(qū)逐有效的)。

4.3 細(xì)節(jié)探索

我們現(xiàn)在討論在實(shí)際過程中出現(xiàn)的一些細(xì)節(jié),但不是攻擊的核心。

首先,從上面的描述可以看出,攻擊者需要知道一個(gè)root shell的數(shù)據(jù)塊號(hào)。 盡管可以通過從inode表讀取(通過被攻擊文件)并識(shí)別shell(例如通過時(shí)間戳或文件大小)來查找,但這是不太可能的,因?yàn)閕node表的可讀部分不太可能包含root shell。 一個(gè)更簡(jiǎn)單的替代方案是攻擊者首先通過在目標(biāo)文件中創(chuàng)建一個(gè)shell的副本,從而讓文件系統(tǒng)創(chuàng)建并設(shè)置數(shù)據(jù)塊指針,然后設(shè)置SUID位并通過直接寫入inode table的方式使文件為root所有。

其次,攻擊者需要能夠識(shí)別破壞是否成功,即indirect block指針指向inode table的某處而不是其他地方。 實(shí)際上,由于inode表的結(jié)構(gòu),這很容易實(shí)現(xiàn)(例如,具有默認(rèn)權(quán)限的常規(guī)文件的標(biāo)記每256個(gè)字節(jié)重復(fù)一次)。

第三,攻擊者可以覆蓋現(xiàn)有的inode或?qū)⒁獎(jiǎng)?chuàng)建的文件的inode。 如果攻擊者對(duì)其可以創(chuàng)建的文件數(shù)量沒有限制(這通常是大多數(shù)Linux發(fā)行版的默認(rèn)設(shè)置),我們可以假設(shè)我們始終處于前一種情況。 然后,攻擊者不停創(chuàng)建文件,直到文件系統(tǒng)用完inode(所有inode表已滿),然后在文件系統(tǒng)中搜索(例如,使用find)一個(gè)SUIDroot文件并執(zhí)行它:這是在我們的演示中完成的一個(gè)攻擊方式。 在攻擊者可以創(chuàng)建的文件數(shù)量上有限制的情況下,雖然我們還沒有嘗試過,攻擊仍然是可能的(通過刪除文件,等待inode重新分配給其他用戶并創(chuàng)建新文件,直到目標(biāo)inode被分配給攻擊者)。

最后,攻擊者可能無法通過文件系統(tǒng)訪問現(xiàn)有的inode(例如,它位于攻擊者無法訪問的子目錄中)。在實(shí)踐中,這僅僅意味著interesting block的數(shù)量低于等式3中計(jì)算的塊數(shù)。

4.4 Improved attack using double indirect blocks

針對(duì)double indirect block的破壞而非indirect block的破壞可以執(zhí)行非常類似的攻擊。 盡管這種攻擊稍微難以解釋,但它成功的可能性更高和而且更靈活(對(duì)整個(gè)文件系統(tǒng)具有完全的讀寫能力:請(qǐng)注意,這仍然會(huì)通過創(chuàng)建SUID-root文件來提升權(quán)限)。

double indirect block中的每個(gè)4字節(jié)指針都指向一個(gè)indirect block。 因此,破壞double indirect block可能導(dǎo)致攻擊者完全控制indirect block的內(nèi)容。 通過選擇indirect block中的指針,攻擊者可以讀寫文件系統(tǒng)中的任意位置。

這里的可利用條件是double indirect block中的一個(gè)指針指向攻擊者擁有的塊。 例如,攻擊者可以在文件系統(tǒng)上創(chuàng)建一個(gè)非常大的文件(跨越多個(gè)塊),以增加某個(gè)受損指針受到攻擊的可能性。 一旦發(fā)生破壞,攻擊者可以通過用文件系統(tǒng)超級(jí)塊的地址(固定塊號(hào)和可識(shí)別的格式)填充大文件來驗(yàn)證他們是否擁有indirect block。 然后,攻擊者可以通過讀寫目標(biāo)文件來修改大文件的內(nèi)容以訪問文件系統(tǒng)上的任何塊:通過寫入大文件來控制寫或讀訪問的位置(控制indirect block內(nèi)容),通過訪問目標(biāo)文件來控制訪問內(nèi)容。

假設(shè)攻擊者可以在一個(gè)塊大小為4 KB的ext3文件系統(tǒng)中創(chuàng)建一個(gè)100 GB的文件(這是合理的假設(shè)),這種改進(jìn)使攻擊的成功概率為99.7%(通過使用公式2獲得)。 這是因?yàn)閕nteresting block的數(shù)量大大增加。

討論

5.1 其他文件系統(tǒng)

盡管第4節(jié)中描述的攻擊的很多部分可以被推廣,但仍然依賴于使用indirect block的文件系統(tǒng),如ext3,ext2和某些版本的Unix文件系統(tǒng)(UFS1)。ext4文件系統(tǒng)使用擴(kuò)展(還要NTFS),從本質(zhì)上將數(shù)據(jù)塊描述為一個(gè)元組(起始文件塊,起始磁盤塊,塊數(shù))。 盡管在ext4中可能有一個(gè)”extent block”(超過3個(gè)extents,ext4開始在inode之外的新的塊中存儲(chǔ)extents,從而啟動(dòng)樹結(jié)構(gòu)),但我們相信攻擊的成功的概率會(huì)很低,因?yàn)閑xtents的結(jié)構(gòu)更大(即,ext4解析器不會(huì)捕獲到隨機(jī)破壞的可能性很小):ext4通常使用48位的塊編號(hào)空間,而不是ext3的32位)。 因此,這種攻擊對(duì)其他文件系統(tǒng)是否仍然可行還有待觀察。

5.2 元數(shù)據(jù)checksums

另外,某些文件系統(tǒng)(如ZFS和ext4(但不包括ext3))可以選擇使用元數(shù)據(jù)校驗(yàn)和。 顯然,文件系統(tǒng)元數(shù)據(jù)校驗(yàn)和,無論它們是否使用加密哈希,都可以通過內(nèi)核文件系統(tǒng)驅(qū)動(dòng)程序檢測(cè)到文件系統(tǒng)元數(shù)據(jù)(例如,inode或范圍)已被損壞從而顯著降低攻擊的成功概率。

最后,我們?cè)趇ndirect block損壞后運(yùn)行e2fsck(一種檢查(和更正)ext3文件系統(tǒng)元數(shù)據(jù)的工具)。如預(yù)期的那樣,e2fsck成功檢測(cè)到文件系統(tǒng)元數(shù)據(jù)已損壞,這將使得管理員檢測(cè)到此攻擊。 當(dāng)然,e2fsck很少運(yùn)行,為了阻止攻擊,它需要在攻擊者獲得root權(quán)限并能夠糾正文件系統(tǒng)元數(shù)據(jù)之前運(yùn)行。

5.3 其他攻擊

任何直接或間接訪問SSD的程序(廣義上講)都可能成為在SSD上進(jìn)行的非物理的完整性攻擊的目標(biāo)。 在本文中,我們考慮了文件系統(tǒng),但其他攻擊媒介也可能存在。

不幸的是,由于攻擊者獲得的P3的限制以及攻擊的其他限制(R1至R4),我們無法找到另一個(gè)真實(shí)世界的很可能會(huì)被用于特權(quán)升級(jí)的程序。 然而,我們不能排除這種可能性的存在,需要在這方面進(jìn)行進(jìn)一步的研究。

最后,作為一個(gè)類似于rowhammer 和Gruss [8]等人的工作。值得考慮的是本文中提出的攻擊是否也可以通過瀏覽器和javascript被遠(yuǎn)程利用。 由于瀏覽器確實(shí)允許通過Web內(nèi)容的本地緩存、Cookie或使用HTML5存儲(chǔ)API來對(duì)文件系統(tǒng)(盡管是間接的)進(jìn)行寫入和讀取,因此將此處介紹的攻擊媒介擴(kuò)展到遠(yuǎn)程攻擊可能是可行的。

5.4 加密和完整性

磁盤加密(如dm-crypt)的使用應(yīng)該可以從根本上防止這里提出的攻擊。 更準(zhǔn)確地說,磁盤加密不會(huì)阻止攻擊在第4層到第5層進(jìn)行(因?yàn)楣粽哒诟采w將被操作系統(tǒng)透明加密/解密的元數(shù)據(jù))。但是,這將使得攻擊者不可能從第1層到第3層的缺陷來獲得P3。事實(shí)上,正如第3節(jié)所述,為了繞過ECC,擾碼器的組合和Flash頁面只能在在一個(gè)方向上編程的限制來獲取P3,攻擊者需要控制寫入磁盤的數(shù)據(jù)。 但是,通過使用磁盤加密,攻擊者很難在不知道加密密鑰的情況下這樣做。

如前所述,元數(shù)據(jù)完整性會(huì)阻止我們提供的文件系統(tǒng)攻擊。我們注意到,除ZFS外,目前的文件系統(tǒng)加密解決方案由于性能方面的考慮,通常不會(huì)實(shí)現(xiàn)(加密的)文件內(nèi)容的完整性。

總結(jié)

在本文中,我們提出并解決了需要處理的問題,以便利用現(xiàn)實(shí)世界場(chǎng)景中的閃存缺陷。 最重要的是,我們展示了基于閃存缺陷的利用場(chǎng)景,利用其破壞文件系統(tǒng)元數(shù)據(jù)的能力。結(jié)合這兩個(gè)方面形成了一個(gè)完整系統(tǒng)的攻擊方法,理論的成功率在實(shí)踐中是足夠合理的;

在未來的工作中,我們計(jì)劃解決克服ECC的步驟,以完成我們的全系統(tǒng)攻擊的實(shí)施。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 閃存
    +關(guān)注

    關(guān)注

    16

    文章

    1782

    瀏覽量

    114895
  • SSD
    SSD
    +關(guān)注

    關(guān)注

    21

    文章

    2857

    瀏覽量

    117372

原文標(biāo)題:怎樣攻擊固態(tài)硬盤并破壞系統(tǒng)

文章出處:【微信號(hào):SSDFans,微信公眾號(hào):SSDFans】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    你的數(shù)據(jù)安全么?Hadoop再曝安全漏洞| 黑客利用Hadoop Yarn資源管理系統(tǒng)未授權(quán)訪問漏洞進(jìn)行攻擊

    摘要: 4月30日,阿里云發(fā)現(xiàn),俄羅斯黑客利用Hadoop Yarn資源管理系統(tǒng)REST API未授權(quán)訪問漏洞進(jìn)行攻擊。 Hadoop是一款由Apache基金會(huì)推出的分布式系統(tǒng)框架,它
    發(fā)表于 05-08 16:52

    全系統(tǒng)需要保護(hù)什么?

    新聞總是樂于報(bào)道安全系統(tǒng)遭到攻擊的事件:操作系統(tǒng)漏洞、非法入侵***網(wǎng)絡(luò)、筆記本電腦的*帳戶信息被竊等等。安全性不僅僅涉及到筆記本電腦和服務(wù)器,嵌入式領(lǐng)域也越來越關(guān)注安全性問題,例如交通燈、家庭安
    發(fā)表于 08-06 08:01

    iis權(quán)限設(shè)置教程

      據(jù)最新的黑客攻擊方法顯示,如果在IIS的站點(diǎn)屬性打開了“寫入”權(quán)限,則被黑是輕而易舉的事。而一般在我們使用時(shí),要求大家打開網(wǎng)站所在文件夾的“寫入”權(quán)限,很多
    發(fā)表于 09-07 15:56 ?15次下載

    區(qū)域權(quán)限系統(tǒng)的設(shè)計(jì)

    針對(duì)國家氣象服務(wù)中心的實(shí)際要求,建立供各級(jí)公共氣象服務(wù)中心開展公眾氣象服務(wù)調(diào)查、滿意度調(diào)查使用的公共氣象效益評(píng)估系統(tǒng),提出了權(quán)限控制與區(qū)域關(guān)聯(lián),是基于區(qū)域權(quán)限
    發(fā)表于 03-07 15:08 ?0次下載
    區(qū)域<b class='flag-5'>權(quán)限</b><b class='flag-5'>系統(tǒng)</b>的設(shè)計(jì)

    ARM和SQLite在遠(yuǎn)程控制系統(tǒng)中的研究

    在ARM2410和Linux平臺(tái)上成功地移植了SQLite,并利用SQLite和網(wǎng)絡(luò)成功地實(shí)現(xiàn)了用戶與遠(yuǎn)程嵌入式控制終端的動(dòng)態(tài)交互,最后對(duì)數(shù)據(jù)庫進(jìn)行加密,保障了安全性,可廣泛用于遠(yuǎn)程控制。該
    發(fā)表于 02-03 14:50 ?38次下載
    ARM和SQLite在遠(yuǎn)程控制<b class='flag-5'>系統(tǒng)</b>中的研究

    提升權(quán)限模塊

    易語言是一門以中文作為程序代碼編程語言學(xué)習(xí)例程:易語言-提升權(quán)限模塊
    發(fā)表于 06-06 17:36 ?4次下載

    Android系統(tǒng)權(quán)限提升攻擊檢測(cè)技術(shù)_王聰

    Android系統(tǒng)權(quán)限提升攻擊檢測(cè)技術(shù)_王聰
    發(fā)表于 03-19 11:41 ?0次下載

    權(quán)限提升之Mysql提權(quán)

    權(quán)限提升之Mysql提權(quán)
    發(fā)表于 09-07 10:50 ?4次下載
    <b class='flag-5'>權(quán)限</b><b class='flag-5'>提升</b>之Mysql提權(quán)

    基于CA技術(shù)的網(wǎng)絡(luò)信息安全系統(tǒng)(winpcap驅(qū)動(dòng)軟件)

    在真實(shí)的企業(yè)網(wǎng)絡(luò)環(huán)境中進(jìn)行測(cè)試,測(cè)試結(jié)果表明對(duì)于設(shè)計(jì)好的網(wǎng)絡(luò)信息安全系統(tǒng),能夠正確完成對(duì)網(wǎng)絡(luò)信息系統(tǒng)的身份認(rèn)證、接入認(rèn)證以及網(wǎng)絡(luò)訪問權(quán)限控制功能,可以滿足實(shí)際對(duì)網(wǎng)絡(luò)信息安
    發(fā)表于 11-02 10:14 ?4次下載
    基于CA技術(shù)的網(wǎng)絡(luò)信息安<b class='flag-5'>全系統(tǒng)</b>(winpcap驅(qū)動(dòng)軟件)

    網(wǎng)絡(luò)安全系統(tǒng)之新型APT攻擊

    高級(jí)持續(xù)性威脅攻擊, 簡(jiǎn)稱APT攻擊,也被稱為定向威脅攻擊,它是指利用各種先進(jìn)的攻擊手段,對(duì)高價(jià)值目標(biāo)進(jìn)行的有組織、長期持續(xù)性網(wǎng)絡(luò)
    發(fā)表于 08-09 11:32 ?3383次閱讀

    蘋果 iOS 14 新增 “BlastDoor”沙箱安全系統(tǒng):防止利用信息應(yīng)用進(jìn)行攻擊

    1 月 29 日消息 iOS 14 為 iPhone 和 iPad 增加了一個(gè)新的 “BlastDoor”沙箱安全系統(tǒng),以防止利用信息應(yīng)用進(jìn)行攻擊。蘋果并沒有分享具體信息,但谷歌 Project
    的頭像 發(fā)表于 01-29 11:16 ?2829次閱讀
    蘋果 iOS 14 新增 “BlastDoor”沙箱安<b class='flag-5'>全系統(tǒng)</b>:防止利用信息應(yīng)用<b class='flag-5'>進(jìn)行</b>的<b class='flag-5'>攻擊</b>

    GitHub披露了一個(gè)可將權(quán)限不足的本地用戶的權(quán)限提升為root權(quán)限的漏洞

    近日,GitHub 披露了一個(gè) Linux 漏洞,該漏洞可將權(quán)限不足的本地用戶的權(quán)限提升為 root 權(quán)限,且整個(gè)過程只需要幾個(gè)簡(jiǎn)單的命令即
    的頭像 發(fā)表于 06-21 17:06 ?2049次閱讀

    聯(lián)發(fā)科已修復(fù)天璣芯片被惡意應(yīng)用監(jiān)聽的漏洞

    近日,由于聯(lián)發(fā)科公司設(shè)計(jì)的片上系統(tǒng)音頻處理固件存在安全漏洞,有可能被別有用心者利用于本地權(quán)限提升攻擊,惡意應(yīng)用能夠?qū)σ纛l接口的某些部分,執(zhí)行它本不該實(shí)現(xiàn)的相關(guān)操作。目前聯(lián)發(fā)科對(duì)其已經(jīng)完
    的頭像 發(fā)表于 11-26 10:43 ?2995次閱讀

    什么是機(jī)械安全系統(tǒng)?機(jī)械安全系統(tǒng)需要什么?

    提高機(jī)器安全性,就是提升企業(yè)的效益。現(xiàn)如今,隨著全社會(huì)安全意識(shí)的提高,越來越多的機(jī)器和生產(chǎn)線都標(biāo)配了安全系統(tǒng)。一個(gè)標(biāo)準(zhǔn)的機(jī)械安全系統(tǒng)是什么樣的?怎樣才可以得到國際安全等級(jí)認(rèn)證呢?
    發(fā)表于 12-29 12:00 ?566次閱讀

    oracle系統(tǒng)權(quán)限和對(duì)象權(quán)限的區(qū)別

    Oracle系統(tǒng)權(quán)限和對(duì)象權(quán)限是Oracle數(shù)據(jù)庫中的兩種不同類型的權(quán)限控制機(jī)制。雖然它們都是用于限制用戶對(duì)數(shù)據(jù)庫進(jìn)行操作的
    的頭像 發(fā)表于 12-05 16:21 ?1090次閱讀
    主站蜘蛛池模板: 亚洲人美女肛交真人全程| 欧美精品XXXXBBBB| 国产在线亚洲精品观| 国产69精品久久久久无码麻豆| 成人免费观看国产高清| mdapptv麻豆下载| jizz日本黄色| jizz女学| 芳草地在线观看免费视频| 不卡无线在一二三区| 办公室激情在线观看| yellow日本动漫免费观看| 成年人在线免费观看视频网站| yellow在线中文| 大学生宿舍飞机china free| 俄罗斯17vidio| 国产精品一区二区在线观看| 国产午夜在线视频| 极品少妇高潮啪啪无码吴梦| 久久精品WWW人人爽人人| 久久青青草原| 你的欲梦裸身在线播放| 青青草在线视频| 视频在线免费观看| 午夜伦伦电影理论片大片| 亚洲AV永久无码精品老司机蜜桃 | 久久亚洲网站| 暖暖在线观看播放视频| 欧美日韩亚洲一区视频二区| 日韩免费一区| 性春院| 一本色道久久综合亚洲精品加| 最好看中文字幕国语| QVOD在线播放| 国产精品国产三级国产AV麻豆| 精品视频网站| 男污女XO猛烈的动态图| 神马老子影院午夜伦| 亚洲视频在线观看不卡| 99欧美精品| 国产精品久久婷婷五月色 |