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