我了解可以為給定的硬件/固件編寫代碼來注入無法通過擦拭硬盤清除的病毒。視頻卡和BIOS是存儲此類惡意軟件的可能目標的示例。
但是 Raspberry Pi是否具有此可能的漏洞?假設沒有物理篡改,是否可以安全地假設更換SD卡後設備是乾淨的?
本身沒有BIOS,但我們支持引導裸機代碼...
沒有RTC。除了基本知識外,幾乎沒有其他東西。另一方面,其中包含GPU /視頻功能。
所以這個問題浮現在我的腦海,我想知道是否有人能找到答案。
我了解可以為給定的硬件/固件編寫代碼來注入無法通過擦拭硬盤清除的病毒。視頻卡和BIOS是存儲此類惡意軟件的可能目標的示例。
但是 Raspberry Pi是否具有此可能的漏洞?假設沒有物理篡改,是否可以安全地假設更換SD卡後設備是乾淨的?
本身沒有BIOS,但我們支持引導裸機代碼...
沒有RTC。除了基本知識外,幾乎沒有其他東西。另一方面,其中包含GPU /視頻功能。
所以這個問題浮現在我的腦海,我想知道是否有人能找到答案。
我們使用的BCM2835應用處理器沒有內置的持久存儲,因此無法進行您描述的那種攻擊。零級引導加載程序存儲在芯片上真實的,誠實的ROM中,因此不能被覆蓋。
原則上,您可以通過上傳新的惡意固件來修改SoC(片上系統)的固件(例如,簡單的引導程序,該引導程序最初告訴芯片讀取SD卡以獲取真實的固件映像)
但是,我不確定Raspberry Pi的SoC固件是否可以(輕鬆)修改。我相信它是出廠時預先編程的,並且可能無法重寫。儘管經驗豐富的攻擊者總是可以用惡意的工廠編程芯片來替換該芯片。
SOC上有您無法觸摸的固件。它是在工廠預先編程的。是的,它需要引導,這就是為什麼第一個分區必須是FAT的原因,因為這是固件的設計方式。您只需要一個足夠大的FAT分區即可容納某種類型的引導程序。
也來自 http://elinux.org/RPi_Software:
這些闆卡不包括NAND或NOR存儲-一切都在SD卡上,SD卡具有帶GPU固件和內核映像的FAT32分區以及帶rootfs的EXT2分區。 >我們當前未使用引導加載程序-我們實際上是通過GPU引導的,該GPU包含專有的RISC內核(古怪的體系結構)。 GPU會掛載SD卡,加載GPU固件並啟動顯示/視頻/ 3d,加載內核映像,重置SD卡主機並啟動ARM。您可以將內核映像替換為引導加載程序映像,這樣就可以正常工作。
說明SoC中有一些簡單的代碼,可以在啟動時安裝SD卡並讀取固件,原則上可以用惡意代碼代替。儘管這可能需要用最初加載惡意代碼的芯片工廠中創建的某種東西來物理替換芯片。
我無法具體回答Raspberry PI,但我會參考此文章。據此,有可能編寫無法通過“典型”程序清除的惡意代碼。
由於程序員為這些項目做出了貢獻,Rakshasa致力於處理230種不同的代碼。主板的型號。
IIRC,Pi只有2個芯片;一個用於cpu /內存/視頻,一個用於USB和LAN。如果這兩種方法都不支持編寫,那麼這差不多就結束了。這些芯片的型號。因此,理論上答案可能取決於您所獲得的版本。您必須檢查特定芯片的數據表。
以下是此硬件的修訂列表,其中包含兩個芯片的關聯型號: