隨著個(gè)人和企業(yè)越來(lái)越注重?cái)?shù)據(jù)安全,通常重金購(gòu)買(mǎi)各種安全產(chǎn)品,如防火墻,VPN,入侵防御系統(tǒng),應(yīng)用控制網(wǎng)關(guān),各種殺毒軟件等,希望構(gòu)造一個(gè)全方位的安全辦公應(yīng)用環(huán)境,所有數(shù)據(jù)的產(chǎn)生、應(yīng)用都在這樣的安全環(huán)境里,從而保證數(shù)據(jù)的安全性。很多時(shí)候,數(shù)據(jù)的安全性已經(jīng)遠(yuǎn)遠(yuǎn)大于設(shè)備本身的價(jià)值。但是,搭建這樣的一套安全防護(hù)系統(tǒng),我們的數(shù)據(jù)就真的安全了嗎?數(shù)據(jù)離不開(kāi)存儲(chǔ),作為數(shù)據(jù)存儲(chǔ)的最終載體硬盤(pán),為數(shù)據(jù)提供最終的存儲(chǔ)空間。所有需要永久性記錄的數(shù)據(jù),必須存放在像硬盤(pán)這樣的永久性存儲(chǔ)載體上。數(shù)據(jù)在硬盤(pán)上進(jìn)行存儲(chǔ),那通過(guò)硬盤(pán)讀寫(xiě)的數(shù)據(jù)可靠嗎?安全嗎?
硬盤(pán)結(jié)構(gòu)與原理
硬盤(pán)目前市面上主要分為機(jī)械硬盤(pán)和固態(tài)硬盤(pán)(SSD),我們先來(lái)看看硬盤(pán)的原理和構(gòu)造,如下圖所示:
這是一個(gè)簡(jiǎn)化的硬盤(pán)結(jié)構(gòu)圖,機(jī)械硬盤(pán)和固態(tài)硬盤(pán)SSD具有相似的結(jié)構(gòu)。由上圖可以看出,硬盤(pán)內(nèi)部其實(shí)還有一個(gè)小系統(tǒng),有處理器,有ROM,有緩存RAM等。
其中,處理器運(yùn)行固件,負(fù)責(zé)初始化周邊模組,驅(qū)動(dòng)周邊模組完成命令和數(shù)據(jù)的處理以及傳輸控制等;緩存用于主機(jī)和存儲(chǔ)介質(zhì)之間進(jìn)行數(shù)據(jù)中轉(zhuǎn)使用;主機(jī)接口負(fù)責(zé)對(duì)接主機(jī)側(cè)的命令協(xié)議和數(shù)據(jù)傳輸;ROM負(fù)責(zé)加載處理器提供存儲(chǔ)服務(wù)的產(chǎn)品固件。
對(duì)于機(jī)械硬盤(pán),產(chǎn)品固件可能存放在獨(dú)立的I2C接口的EEPROM上,也可能存放在SPI接口的NOR Flash上;對(duì)于固態(tài)硬盤(pán)SSD,產(chǎn)品固件通常存放在NAND Flash上的系統(tǒng)區(qū)(由固件定義,用戶(hù)不可見(jiàn)區(qū)域)。產(chǎn)品固件可能是在出廠時(shí)由硬盤(pán)廠商寫(xiě)好的,也可能是在后續(xù)的使用過(guò)程中,或者某個(gè)中間環(huán)節(jié)通過(guò)升級(jí)工具升級(jí)寫(xiě)入的。幾乎所有的硬盤(pán)廠商,考慮修復(fù)軟件bug等因素,都會(huì)提供升級(jí)功能。
硬盤(pán)上電時(shí),處理器執(zhí)行Boot ROM,Boot ROM再加載產(chǎn)品固件,然后將CPU控制權(quán)移交給產(chǎn)品固件。產(chǎn)品固件獲取控制權(quán)過(guò)后,通過(guò)控制主機(jī)接口、DMA以及緩存資源等,來(lái)完成主機(jī)業(yè)務(wù)對(duì)數(shù)據(jù)的存取業(yè)務(wù)。由于產(chǎn)品固件存放于硬盤(pán)的系統(tǒng)區(qū),運(yùn)行于硬盤(pán)的內(nèi)部小系統(tǒng),這部分?jǐn)?shù)據(jù)和處理獨(dú)立于主機(jī)所在安全系統(tǒng)以外,不受任何安全措施監(jiān)控。所以,數(shù)據(jù)如何處理,完全受控于產(chǎn)品固件本身,產(chǎn)品固件本身的可靠性和安全性,在很大程度上決定了數(shù)據(jù)的可靠性和安全性。
那么,問(wèn)題來(lái)了,我們的產(chǎn)品固件是否安全?如果不安全,如何保證安全?
固件與安全
硬盤(pán)制造商在發(fā)布固件時(shí),有的廠家為了簡(jiǎn)化處理,只簡(jiǎn)單在固件頭部寫(xiě)入部分廠家標(biāo)識(shí)和版本標(biāo)識(shí),方便在后續(xù)的生產(chǎn)和升級(jí)場(chǎng)景進(jìn)行識(shí)別;有的做的多一點(diǎn),在前面的基礎(chǔ)上還對(duì)固件進(jìn)行了CRC校驗(yàn),檢查固件數(shù)據(jù)的完整性。前者可以識(shí)別是否是自己固件以及對(duì)應(yīng)版本號(hào),后者則可以進(jìn)一步看出固件在傳輸過(guò)程中是否發(fā)生了變化。
這些手段在大部分應(yīng)用下已經(jīng)可以滿(mǎn)足需要,但無(wú)法防備帶有惡意目的的特殊用戶(hù)對(duì)固件進(jìn)行針對(duì)性的修改(hacker行為),注入惡意軟件代碼,然后再重新計(jì)算出新的CRC來(lái)偽裝成合法的固件。這種經(jīng)過(guò)偽裝的固件,可以在硬盤(pán)流通和使用的各個(gè)環(huán)節(jié)通過(guò)升級(jí)方式寫(xiě)入,并在重新使用時(shí)駐扎硬盤(pán)內(nèi)部小系統(tǒng),且完全不被任何安全措施發(fā)現(xiàn)。
如果這種帶有惡意代碼的固件接管硬盤(pán)的內(nèi)部小系統(tǒng),那么接下來(lái),他可以做更多可怕的事情。比如識(shí)別并截取BIOS加載loader的讀命令,返回感染的loader數(shù)據(jù)。如果bios加載了受感染的loader,并將CPU控制權(quán)交給這種loader,那么接下來(lái)就可以做更多攻擊行為,如截取密碼等。且這種感染的loader非常隱蔽(不在硬盤(pán)用戶(hù)可見(jiàn)區(qū)),在系統(tǒng)啟動(dòng)階段即被激活,可無(wú)限次復(fù)活,危害性巨大。
這種惡意固件還可通過(guò)檢測(cè)固定特征或地址的讀寫(xiě)數(shù)據(jù)內(nèi)容,截取并修改內(nèi)容;或者記錄內(nèi)容,將其寫(xiě)入系統(tǒng)不可見(jiàn)區(qū),等待合適時(shí)候獲取記錄內(nèi)容等各種非法行為。
這種直接對(duì)硬盤(pán)固件的攻擊行為,隱蔽性高,不易發(fā)現(xiàn),但卻危害巨大,曾經(jīng)被著名的“方程式組織”所采用,攻擊了多個(gè)硬盤(pán)廠商的硬盤(pán),覆蓋包括中國(guó)、俄羅斯、英國(guó)等在內(nèi)的30多個(gè)國(guó)家。
其實(shí),這種攻擊很容易防范,因?yàn)榉欠ü碳欢ㄒ?a href="http://srfitnesspt.com/soft/special/" target="_blank">下載到硬盤(pán)內(nèi)部,且被內(nèi)部的ROM加載過(guò)后才可運(yùn)行。硬盤(pán)廠商完全可以在生產(chǎn)、升級(jí)以及ROM加載階段,通過(guò)對(duì)固件進(jìn)行合法性檢測(cè),來(lái)杜絕非法固件下載并獲取到CPU的控制權(quán)。如版本發(fā)布時(shí)對(duì)固件進(jìn)行簽名,生產(chǎn)和升級(jí)時(shí)硬盤(pán)對(duì)下載的固件進(jìn)行驗(yàn)簽,ROM加載時(shí)也驗(yàn)簽整個(gè)固件。所有操作都保證固件真正合法,理論上就杜絕所有惡意目的惡意行為。
如果固件是合法安全的固件,是否數(shù)據(jù)在所有場(chǎng)景下就安全了呢?
合法安全的固件讓硬盤(pán)處于一個(gè)安全的運(yùn)行環(huán)境。但我們平時(shí)使用時(shí),通常一個(gè)環(huán)境被多個(gè)人使用,或者需要經(jīng)常移動(dòng)硬盤(pán)接入多個(gè)不同的主機(jī)環(huán)境,這樣的應(yīng)用場(chǎng)景下,數(shù)據(jù)是否安全?
數(shù)據(jù)安全
用戶(hù)存放在硬盤(pán)上的數(shù)據(jù),由于內(nèi)容不同,可能對(duì)用戶(hù)的重要性也不盡相同。如何保證訪(fǎng)問(wèn)特定數(shù)據(jù)內(nèi)容的用戶(hù)一定是真正對(duì)應(yīng)的合法用戶(hù)?你可能首先想到這個(gè)可以由系統(tǒng)來(lái)保證,和硬盤(pán)沒(méi)有關(guān)系。那么,再加上一條,如果這個(gè)硬盤(pán)是一塊移動(dòng)硬盤(pán)呢?在一些特殊的應(yīng)用場(chǎng)景下,我們的移動(dòng)硬盤(pán)可能會(huì)在多個(gè)不同安全環(huán)境下進(jìn)行接入。如何從存儲(chǔ)的角度來(lái)保證數(shù)據(jù)訪(fǎng)問(wèn)的用戶(hù)是被授權(quán)的用戶(hù)?
如果將數(shù)據(jù)訪(fǎng)問(wèn)與用戶(hù)權(quán)限進(jìn)行一對(duì)一綁定,在用戶(hù)訪(fǎng)問(wèn)特定范圍數(shù)據(jù)時(shí),需要得到對(duì)應(yīng)區(qū)間授權(quán),硬盤(pán)按照區(qū)間范圍對(duì)用戶(hù)鑒權(quán)成功過(guò)后,才被允許數(shù)據(jù)訪(fǎng)問(wèn),那么這種訪(fǎng)問(wèn)方式,無(wú)疑將滿(mǎn)足最大可能性的數(shù)據(jù)訪(fǎng)問(wèn)安全。
更進(jìn)一步,不同區(qū)間的數(shù)據(jù)使用不同的密鑰對(duì)數(shù)據(jù)加密存儲(chǔ),加密密鑰必須與對(duì)應(yīng)區(qū)間的授權(quán)碼有綁定關(guān)系,只有正確的授權(quán)碼才能解開(kāi)對(duì)應(yīng)數(shù)據(jù)區(qū)的加密密鑰,通過(guò)這樣的一種方式,數(shù)據(jù)將得到最大安全保障。
固件安全保證生產(chǎn)、升級(jí)時(shí)只有合法的固件才能下載到硬盤(pán);數(shù)據(jù)安全保證硬盤(pán)使用過(guò)程當(dāng)中,只有得到數(shù)據(jù)訪(fǎng)問(wèn)授權(quán)的用戶(hù),才能訪(fǎng)問(wèn)對(duì)應(yīng)區(qū)域的重要數(shù)據(jù),保證訪(fǎng)問(wèn)合法性。那么,硬盤(pán)淘汰過(guò)后的數(shù)據(jù)如何保證數(shù)據(jù)不被非法訪(fǎng)問(wèn)呢?
數(shù)據(jù)銷(xiāo)毀
硬盤(pán)因?yàn)槿萘?、性能、可靠性等原因,可能面臨升級(jí)換代或淘汰。但通常這種淘汰下來(lái)的硬盤(pán)有很大可能性被重新流通使用或者被存有惡意目的用戶(hù)非法獲取,且這種硬盤(pán)上通??赡苡腥菀妆晃覀兒雎缘闹匾獢?shù)據(jù)和信息。
一般的做法可能是,格式化整個(gè)硬盤(pán),或杜絕這類(lèi)硬盤(pán)進(jìn)行再次流通,統(tǒng)一物理銷(xiāo)毀。但這樣的方法前者比較耗時(shí),且不一定真正的刪除了硬盤(pán)上的數(shù)據(jù);后者雖可真正銷(xiāo)毀,但增加成本。
有沒(méi)有一種辦法,成本低,能夠快速銷(xiāo)毀硬盤(pán)上的數(shù)據(jù),且銷(xiāo)毀后理論上無(wú)法再次恢復(fù)數(shù)據(jù)?答案當(dāng)然是肯定的,且當(dāng)前有些做得好的硬盤(pán)廠商已經(jīng)支持,目前國(guó)科微的SSD硬盤(pán)方案已具有這種功能,這就是硬盤(pán)的安全擦除。
所有支持安全擦除功能的硬盤(pán),其上的數(shù)據(jù)都是經(jīng)過(guò)符合行業(yè)或國(guó)家認(rèn)可的加密算法進(jìn)行加密存儲(chǔ)的。當(dāng)需要進(jìn)行數(shù)據(jù)銷(xiāo)毀時(shí),我們只需要向硬盤(pán)發(fā)送一個(gè)安全擦除命令,硬盤(pán)收到命令后對(duì)數(shù)據(jù)加密的密鑰進(jìn)行銷(xiāo)毀。一旦數(shù)據(jù)的加密密鑰被銷(xiāo)毀,硬盤(pán)上存放的密文數(shù)據(jù)再也無(wú)法恢復(fù)回來(lái)。
當(dāng)然,這種用于數(shù)據(jù)加密的密鑰,一定是不同硬盤(pán)唯一的,甚至同一硬盤(pán)不同區(qū)域唯一的,且是隨機(jī)產(chǎn)生的,存儲(chǔ)的方式必須也是以密文方式存放,這樣就可以保證密鑰的唯一性和不可復(fù)制。一旦密鑰被銷(xiāo)毀,那么技術(shù)上無(wú)法找到恢復(fù)的可能性。
只有真正的從生產(chǎn)、流通、應(yīng)用和回收等各個(gè)環(huán)節(jié),針對(duì)固件安全、數(shù)據(jù)安全、數(shù)據(jù)銷(xiāo)毀等場(chǎng)景都做了安全設(shè)計(jì)的硬盤(pán),才算是真正的安全存儲(chǔ)產(chǎn)品。一套安全解決方案只有在各個(gè)節(jié)點(diǎn)和環(huán)節(jié)都使用進(jìn)行了安全設(shè)計(jì)的產(chǎn)品,才能說(shuō)是真正的安全解決方案,才是一個(gè)能夠全方位防護(hù)的安全解決方案。
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
6756瀏覽量
88614 -
硬盤(pán)
+關(guān)注
關(guān)注
3文章
1276瀏覽量
57161 -
存儲(chǔ)
+關(guān)注
關(guān)注
13文章
4170瀏覽量
85483
原文標(biāo)題:數(shù)據(jù)存儲(chǔ)安全與全方位防護(hù)
文章出處:【微信號(hào):cunchujie,微信公眾號(hào):存儲(chǔ)界】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論