In che modo è possibile caricare sistemi operativi alternativi su un dispositivo mobile?

8

L'intera idea di un'immagine di avvio firmata è di impedire la sostituzione dell'immagine di avvio con qualcosa di personalizzato o malizioso. Tuttavia, l'intero processo sembra dipendere da un singolo punto di errore: la verifica della firma dell'immagine. Il boot loader dovrà verificare che l'immagine firmata sia stata firmata dalla chiave privata che richiede la memorizzazione della chiave pubblica ... da qualche parte .

Forse è memorizzato in un chip di memoria non volatile (ad esempio un chip ROM). Forse è memorizzato in un settore super-segreto nel dispositivo di memorizzazione integrato. (Quali altre alternative ci sono?)

Non è un chip ROM (veramente di sola lettura) l'unico modo - escludendo la saldatura di un nuovo chip in posizione - per garantire che il processo di avvio non possa essere modificato? In tal caso, perché i dispositivi mobili non sono interessati a mantenere una strong presa sull'immagine di avvio utilizzando questi chip? C'è qualche motivo tecnico o è più un motivo di costo / beneficio?

Supponendo che i produttori di dispositivi desiderino mantenere una certa flessibilità per alterare il processo di avvio nell'evento, i bug vengono scoperti, in che modo (provare) a proteggere questo codice di avvio di lettura / scrittura e / o set di chiavi pubbliche?

    
posta logicalscope 21.12.2011 - 00:32
fonte

1 risposta

7

Per un avvio attendibile (o avvio autenticato o avvio sicuro o comunque si desidera chiamare it), hai bisogno di una radice di fiducia che sia protetta per l'integrità. Non ha bisogno di essere un settore "super-segreto", deve essere un settore "super-schermato". ROM si adatta al conto.

In pratica, i produttori di dispositivi preferiscono inserire il meno codice possibile nella ROM, perché non vogliono smettere di aggiornare il codice alcuni mesi prima che il dispositivo venga spedito. Di conseguenza, quel codice non fa altro che inizializzare alcuni dispositivi di base (ad esempio, mettere in forma la MMU), caricare i primi settori da un supporto di memorizzazione, verificare la loro firma crittografica su una chiave pubblica archiviata nella ROM e trasferire l'esecuzione a quel codice . Se la firma non corrisponde, il codice ROM potrebbe consentire all'utente di caricare un'immagine di avvio alternativa (generalmente tramite USB).

Il primo codice di avvio non ROM è spesso molto più complesso del codice ROM: di solito ha bisogno di sapere come gestire la memoria, accedere a vari dispositivi di memorizzazione, leggere i filesystem, avere almeno un'interfaccia utente rudimentale e così via. Quindi, in pratica, tutto quel codice buggato, e questo (o più tardi nella catena di avvio) è il modo in cui gli iPhone vengono jailbreak. Alcuni produttori, come Apple, sono infatti profondamente interessati al controllo dell'immagine di avvio; ciò non significa che abbiano successo contro una determinata comunità.

Inoltre, anche se l'immagine di avvio firmata è stata mantenuta, il sistema operativo stesso è troppo complesso per resistere agli attacchi per molto tempo. La firma dell'intero sistema operativo non è pratica, in quanto gli utenti di tutti i telefoni cellulari e PDA, ma di base, si aspettano di essere in grado di installare le proprie applicazioni (e i sistemi operativi tendono ad avere buchi di root). Il sistema operativo in genere può fare praticamente ciò che vuole, tranne che se esso sovrascrive in modo ingannevole l'immagine di avvio, il dispositivo non si avvia. Se si desidera eseguire un sistema operativo diverso, è possibile utilizzare il sistema operativo originale come punto di salto dal quale si avvia il sistema operativo reale.

La velocità è un altro fattore: verificare l'autenticità di un bootloader da 100kB è solo un blip su uno smartphone moderno, ma verificare l'autenticità o l'integrità di un sistema operativo multi-GB è troppo lento per farlo in una volta. La verifica incrementale rallenta anche le letture del disco e richiede il supporto del filesystem che al momento non è ampiamente disponibile.

    
risposta data 21.12.2011 - 02:20
fonte

Leggi altre domande sui tag