Il Raspberry Pi è vulnerabile all'iniezione oltre la scheda SD?

10

Capisco che è possibile creare un codice per un determinato hardware / firmware per iniettare un virus che non verrebbe rimosso da una cancellazione del disco rigido. Scheda video e BIOS sono esempi di una possibile destinazione per questo tipo di malware da memorizzare.

Ma il Raspberry Pi possiede questa possibile vulnerabilità? Supponendo che non ci sia stata alcuna manomissione fisica, è sicuro assumere che quando la scheda SD viene sostituita, il dispositivo è pulito?

There’s no BIOS per se, but we do support booting bare metal code...

Non c'è RTC. Non c'è quasi nulla, tranne le basi. D'altra parte, è inclusa una capacità GPU / video.

Quindi questa domanda mi viene in mente, e mi chiedo se qualcuno ha la risposta.

    
posta George Bailey 08.08.2012 - 20:05
fonte

4 risposte

14

In linea di principio, è possibile modificare il firmware del SoC (System on Chip) (ad esempio, il semplice bootloader che inizialmente dice al chip di leggere la scheda SD per ottenere l'immagine del firmware reale da avviare) caricando un nuovo firmware dannoso che persisterebbe dopo aver sostituito la scheda SD.

Tuttavia, non sono sicuro che il firmware del SoC di Raspberry Pi sia (facilmente) modificabile. Credo che sia pre-programmato dalla fabbrica e potrebbe non essere riscrivibile ; anche se un attaccante sofisticato potrebbe sempre sostituire il chip con uno programmato maliziosamente in fabbrica.

There is firmware on the SOC that you will not be able to touch. It is pre-programed from the factory. And yes it is required to boot, and this is why the first partition has to be FAT because this is how the firmware is designed. You only need a FAT partition big enough to hold a bootloader of some type.

Anche dal link :

The boards do not include NAND or NOR storage - everything is on the SD card, which has a FAT32 partition with GPU firmware and a kernel image, and an EXT2 partition with the rootfs.

We're not currently using a bootloader - we actually boot via the GPU, which contains a proprietary RISC core (wacky architecture). The GPU mounts the SD card, loads GPU firmware and brings up display/video/3d, loads a kernel image, resets the SD card host and starts the ARM. You could replace the kernel image with a bootloader image, and that would work fine.

Il che implica che nel SoC è presente un codice semplice che al momento del caricamento monta la scheda SD e legge il firmware, che in linea di principio potrebbe essere sostituito con codice dannoso. Anche se questo potrebbe richiedere la sostituzione fisica del chip con qualcosa creato in un produttore di chip che inizialmente ha caricato il codice dannoso.

    
risposta data 08.08.2012 - 21:27
fonte
15

Il processore applicativo BCM2835 che usiamo non ha una memoria persistente a bordo, quindi un attacco del genere che descrivi non è possibile. Il bootloader a zero-stage è memorizzato nella ROM reale e onesta del chip, quindi non può essere sovrascritto.

    
risposta data 30.12.2012 - 17:49
fonte
2

Non posso rispondere in modo specifico a Raspberry PI, ma mi riferirò a questo articolo . In base a ciò è possibile scrivere codice dannoso che non verrebbe pulito tramite procedure "tipiche".

Due to the efforts of programmers that have contributed to those projects, Rakshasa works on 230 different models of motherboard..

    
risposta data 08.08.2012 - 20:56
fonte
1

IIRC, il Pi ha solo 2 chip; uno per cpu / memoria / video, uno per USB e LAN. Se nessuno di questi supporta la scrittura, allora è praticamente la fine.

Tuttavia, vale la pena sottolineare che non esiste una singola configurazione hardware per il Pi - diverse iterazioni hanno utilizzato fornitori e modelli diversi per questi chip. Quindi in teoria la risposta potrebbe dipendere da quale revisione si ottiene. Dovresti controllare la scheda tecnica per il tuo chip specifico.

Ecco un elenco di revisioni per questo hardware con i numeri di modello assoicated per i due chip:

Schede RaspberryPi

    
risposta data 09.08.2012 - 02:23
fonte

Leggi altre domande sui tag