大家對電腦硬碟被廠家植入間諜程序怎麼看?作為普通用戶怎麼辦?

卡巴斯基:美國間諜軟體可監聽全球大多數電腦

有同學說除非我有什麼國家機密。
其實作為普通人,持有國家機密的可能性並不大。
但是我作為公司的一名員工,很可能持有公司的商業機密啊。
這部分信息也是很重要的。


媒體總是喜歡搞個大新聞……其實對業內人士來說,所謂的 「新聞」 很多都是炒冷飯。

向硬碟控制器植入木馬的技術早在 OHM 2013 安全會議上就公開了(Hard disk more than block device),見作者主頁 Sprites mods
這個作者的厲害之處是在沒有文檔的情況下通過 JTAG 調試和反彙編,搞清楚了磁碟控制器的內部結構,並在磁碟控制器里實現了鉤子監聽並替換文件內容。該 POC 具體做的事情就是把 /etc/shadow 中的 root 密碼進行替換,當然真正的木馬可以做得更隱蔽。對於政府機構來說,拿到硬碟控制器的 datasheet 大概不是什麼難事。當然報道中提到的木馬 「兼容」 多種型號的硬碟,肯定是下了不少苦功夫的。

硬碟控制器被植入木馬後要 「潛伏」 在重裝後的系統中,一種方案是篡改系統引導代碼,比如經典的 MBR 病毒,Windows Vista 開始的 Secure Boot 就是應對這個的方案;另一種方案是待系統啟動後擇機觸發,篡改系統的關鍵文件(Hard disk more than block device 的 POC 就是這種方案),應對方案主要包括程序簽名和全盤加密。

一、Secure Boot 是對系統的內核進行數字簽名,以防系統引導代碼被篡改。目前的電腦已經普及了 UEFI。當然這裡面有兩個漏洞:

  1. 數字簽名需要信任頒發數字簽名的機構。微軟把它的證書頒發業務外包給 Verisign,而 Verisign 對 Secure Boot 證書頒發的條件是非常嚴格的,可以認為一般的木馬作者不可能拿到簽名,但政府機構就不好說了。 Microsoft UEFI CA Signing policy updates
  2. 微軟為了避免壟斷之嫌,要求所有支持 Secure Boot 的主板廠商允許用戶關掉 Secure Boot 或者向固件添加新的 Platform Key(類似添加 root certificate)。向固件添加自簽名的 key 教程在此 booting a self-signed Linux kernel 或者這個 Owning your Windows 8 UEFI Platform 就像添加 12306 等國內 CA 的根證書會增加安全隱患,向固件添加新的 Platform Key 也是安全隱患。

二、程序簽名。就是對每個需要以較高許可權執行的可執行文件進行數字簽名,並附加在文件上;可執行文件被載入時,檢查數字簽名,簽名不符則拒絕運行。Windows 從 Vista 開始強制驅動程序經過簽名。QQ 之類的軟體為了防篡改,也有自己檢查文件完整性的機制。這裡面主要有兩個問題:

  1. 數據文件不方便進行簽名。如果每次對數據文件進行修改後都重新計算整個文件的簽名,會嚴重影響系統的性能。(一種折中的方法是對大文件分塊簽名,不過還不如直接用全盤加密)例如,硬碟木馬可以篡改 Linux /etc 下的配置文件或 Windows 註冊表,只要使用字元串等長替換,就不會被操作系統發現。
  2. Windows 的程序簽名證書並不難搞到。比如 StartSSL 的 Class 2 認證(60 刀)就可以簽名可執行文件,而 EV 認證(200 刀)就可以簽名內核驅動。http://www.startssl.com/?app=40

三、全盤加密。全盤加密一般是為了防止硬碟被竊取後數據泄露,對數據安全重視的公司一般會要求員工的工作電腦全盤加密,保存有敏感數據的伺服器一般也會全盤加密。

全盤加密可以實現在軟體里,也可以實現在硬體里。傳統的是用軟體,也就是在操作系統的文件系統層和塊設備層之間添加一層加密。磁碟控制器看到的就是加密的數據流,無法對數據進行有意義的篡改,也就是無法在系統啟動後進行除拒絕服務外的攻擊。

對軟體全盤加密來說,密鑰是一定要在內存中的,如果木馬入侵時已經獲得了足夠的許可權,就可能從內存中截取全盤加密的密鑰並寫入硬碟控制器中的木馬程序。為了防止從內存中截取密鑰,操作系統可以採用包括地址空間隨機化(ASLR)、驅動程序要求籤名(即使木馬獲得了管理員許可權也無法入侵內核地址空間)等應對機制。

越來越多的硬碟廠商提供了硬體加速的全盤加密方案,也就是把加密和解密放到了磁碟控制器里。這樣密鑰可以不出現在內存中,入侵操作系統的木馬就不能輕易獲取密鑰了。不過,磁碟控制器還是洞悉一切,可以為所欲為。

不管怎麼說,Secure Boot 和全盤加密兩項技術極大地提高了 「硬體木馬」 的門檻。


這個事情用不著你操心太多。

即便有人能夠在你硬碟上植入間諜程序,或者是說惡意程序吧。
1、對於正牌間諜機構而言,絕大部分人類的數據只是「噪音」,是不屑一顧的。

2、對於大部分企業和政府機構而言,稍微上點檔次的都會考慮其內部的信息安全問題。
會有各種安全加固手段來應對數據的傳遞問題,休閑的做安全ZONE,夠狠的內外兩張網、毒手的甚至不聯網,搞定。(這裡就不bala神馬防火牆、VPN、數字證書、TPM之類的細節了)。

3、對於職業黑客而言,他們對普通人也沒興趣,只對價值數據有興趣。
對於普通人來說,還是把這個憂慮交給各種在線支付企業擔心去吧,你只需要考慮這些企業本身是不是夠大牌就可以了。什麼網銀啊,支付寶啊,paypal啊,就屬於這類。把這些支付企業推薦的安全措施都用上把,他們才是天天操心這個的主體。

4、最好玩的,也是我們普通人最要擔心的問題,反而是各類管家、APP異常許可權、雲業務。
現在這個混亂啊,想想也是醉了。

隨便裝個APP,就要各種許可權,神馬通訊錄、簡訊、位置信息、WIFI訪問……甚至默默幫你ROOT
各種許可權,來者不拒,多多益善。

隨便一個管家軟體,天天嘰歪各種不安全,各種要求許可權,各種程序靜默安裝,各種後台升級。
然後這些管家之間還打來打去,紛紛要做你的第一馬仔,好像他們都挺忠心似得,是吧?

隨便裝個程序,就要雲服務,就要默認上載你看過的東西,就要開啟各種關聯帳號註冊和登錄。
仔細琢磨下你家的瀏覽器、輸入法、下載軟體吧。
還有,那些支持用QQ帳號登錄的網站,他們的確得到了騰訊的授權?他們是按照騰訊的標準要開發的?少用點這玩意吧。


沒什麼特別的,請使用 Windows 8 以上的系統就可以解決這個安全問題。

並且使用支持 TPM 的計算機。

==============================================

補充,win8的安全啟動技術已經比較完整,具體可以看

Windows 8 系統安全見解

的第二部分:安全啟動。


其實U盤固件里問題更多。你裝數字產品嗎?用企鵝嗎?裝某寶的客戶端了嗎?
你還擔心什麼?


以前有新聞說, NSA 在某些批次的 CPU 里,給隨機數生成器加上瑕疵,使得產生的隨機數不再那麼隨機;當軟體調用,生成的 RSA 密鑰對安全性會大大降低,使得非常容易被破解。

所以,一家有點實力的公司,可以對軟體安全有一定的把控能力,可是硬體呢?
總不能自己買 ARM 圖紙,造兼容 CPU,買快閃記憶體顆粒,自己設計內存控制器設計 NAND 控制器吧?

即使如此,一個安全意識欠缺的僱員,在機器上插上了帶毒的U盤(USB控制器蠕蟲),一樣會泄露商業機密。

題主不如向貴公司 IT 管理員取取經。一般有很多守則啊,注意事項啊,有些是很不起眼的細節,養成習慣,就能相對提高信息安全。

最後,一般企業,員工用的筆電,都是 IT 部門統一配發的吧,對內網外網有嚴格的許可權管理,對軟體,對陌生硬體也都有嚴格的管理。所以只要別把機密文檔往自己私有的機器上亂插,也不用憂心忡忡吧。


所有的電腦都有可能被盜取信息,不存在永遠牛逼的保存方法。
所以你只要做到,讓你的對手無法持有你的信息就可以了。比如你是公司機密,那麼你只要保證對手公司得不到就可以了。
對手公司搶信息的水平,方法,估計跟你公司差不多,大部分同等級公司的保密水平也都差不多。所以不必那麼下功夫去保護你的文件。
因為,一般的人無法盜取你的信息,能盜取你信息的高手根本不愛看你電腦里的亂七八糟的信息


推薦閱讀:

如何看待360殺毒在AV-C等評測機構的測試中因作弊被譴責後發布的公關文?
怎麼設置密碼安全又好記?
為何谷歌現在還是偶爾能夠進入?
多平台進行登錄共享後,各個網站對個人信息及行為都有了記錄,如果他們之間的信息進行共享,是否可以理解為,你在網路上的任何行為都會被記錄。像一個人在任何地方都又攝像頭監控。您如何看待這樣的現象?
網頁內容被篡改,如何找到是在哪個位置被篡改的,如何找到這個惡意程序?

TAG:互聯網 | 網路安全 | 互聯網隱私 |