Vulnerabilità di un computer dietro una porta seriale?

2

Consideriamo questi 4 computer:

Ubicazione costa orientale:

  • computer East1 è connesso a Internet.
  • computer East2 è collegato a East1 tramite un cavo seriale RS232.

Località della costa occidentale:

  • computer West1 è connesso a Internet.
  • computer West2 è collegato a West1 tramite un cavo seriale RS232.

East2 e West2 hanno una copia dello stesso time pad.
L'unica connessione a un altro computer è il cavo seriale.
Usano un software scritto personalizzato per trasmettere messaggi (criptati) sulla porta seriale.
Hanno un altro software scritto personalizzato in grado di crittografare / decifrare un messaggio con il time pad.

East1 e West1 hanno un altro software personalizzato che può:

  • invia e ricevi i messaggi criptati tramite il cavo seriale
  • inviare e ricevere i messaggi criptati l'un l'altro via internet (email, FTP, SSH ...)

Non hanno il time pad quindi non possono decodificare i messaggi. Stanno solo agendo da trasmettitori.

Scenario di esempio:

Bob è sulla costa orientale e vuole inviare un messaggio criptato a Jane che vive sulla costa occidentale.
- Bob scrive il messaggio su East2.
- East2 crittografa il messaggio con il one time pad
- East2 invia il messaggio a East1 tramite il cavo seriale
- East1 riceve il messaggio e lo inoltra a West1 via Internet
- West1 riceve il messaggio e lo trasmette a West2 tramite il cavo seriale
- West2 decodifica il messaggio
- Jane legge il messaggio su West2
...
- decide di rispondere
- West2 crittografa il suo nuovo messaggio e passa il messaggio a West1 attraverso il cavo seriale
- West1 invia il messaggio a East1 tramite Internet
- East1 riceve il messaggio e lo invia a East2 tramite il cavo seriale
- East2 decrittografa il messaggio e Bob legge la risposta di Jane

Facciamo alcune ipotesi:
- il time pad è veramente casuale (nel senso indistruttibile)
- East2 e West2 non sono stati compromessi prima di essere connessi con il cavo seriale
- Bob e Jane sono di fiducia
- così come lo sviluppatore che ha scritto i software personalizzati utilizzati per comunicare attraverso la porta seriale
- i potenziali attaccanti non possono accedere fisicamente a East2 e West2 (né con tempesta ecc.)

E finalmente ecco la mia domanda:
un attaccante che ha acquisito il controllo di East1 e / o West1 può accedere all'unico time pad su East2 e / o West2?

Capisco che l'aggressore possa:
- intercetta i messaggi in codice (che non può leggere se il time pad è casuale)
- interrompere le comunicazioni tra tutti i computer
- invia messaggi falsi (che dovrebbero essere privi di significato una volta decodificati)

Ma può fare qualcos'altro se il suo obiettivo è dietro un cavo seriale?

Altre domande:
- cambia qualcosa se invece di vere porte seriali vengono utilizzati convertitori da seriale a USB?
- se la soluzione è sicura, il sistema operativo di East2 e West 2 ha un ruolo da svolgere o anche un Windows 95 senza patch non cambierebbe nulla (ricorda che l'hacker non può accedere fisicamente ai computer)?

Grazie in anticipo per i tuoi input.

    
posta jmn 18.07.2012 - 16:52
fonte

2 risposte

4

Interessante domanda teorica, quindi fornirò una risposta teorica:).

Supponiamo che East1 e West1 siano compromessi (sono connessi a Internet e utilizzano il software COTS, quindi non un'ipotesi eccessivamente irragionevole).

L'interfaccia con il codice in esecuzione su East / West2 è il software che effettua la connessione seriale e trasmette i messaggi crittografati. Come ogni software, avrà bug e questi bug potrebbero essere rilevanti per la sicurezza.

Se il software che esegue la comunicazione sulla porta seriale ha un problema di overflow del buffer, ad esempio, è possibile che un utente malintenzionato trasmetta un messaggio che consenta l'esecuzione di codice sul computer solo seriale.

A quel punto il sistema operativo in uso sui sistemi seriali collegati potrebbe essere rilevante in quanto le attenuazioni del livello del sistema operativo (es. ASLR) potrebbero essere rilevanti nel caso in cui sia possibile sfruttare l'ipotetica vulnerabilità nel software che esegue la connessione seriale. p>

Supponendo che il software che esegue la connessione seriale abbia un buffer overflow sfruttabile o simile, potrebbe essere possibile ottenere l'esecuzione del comando remoto sulla macchina collegata seriale e quindi accedere al one-time pad.

Ovviamente nel mondo reale è una catena di eventi abbastanza improbabile e sarebbe probabilmente più facile per l'attaccante prendere una strada alternativa per ottenere l'accesso alle informazioni:)

    
risposta data 18.07.2012 - 19:28
fonte
1

Sì, hai ragione, questo è un modo efficace per ridurre il livello di rischio.

Non elimina completamente tutte le possibilità di un compromesso. Ad esempio, se esiste una vulnerabilità nel codice di East2 / West2 che ascolta la porta seriale e agisce sui byte che arrivano attraverso la porta seriale, allora si viene colpiti. Se esiste una vulnerabilità nei driver del dispositivo del sistema operativo per la porta seriale, è possibile che venga eseguito il hosed.

Ma questo è ancora un miglioramento significativo. La quantità di codice che è cruciale per la sicurezza è notevolmente ridotta. Inoltre, se si scrive il codice che gestisce i byte provenienti dal cavo seriale con molta attenzione e lo si fa revisionare e controllare da un gruppo di diversi esperti di sicurezza, è possibile ridurre la probabilità di vulnerabilità. Quindi, l'approccio che hai tracciato è un modo ragionevole per ridurre il rischio, in generale.

In sintesi: non perfetto, non elimina completamente tutti i rischi, ma rende meno probabile che un attaccante sia in grado di scendere a compromessi e prendere il controllo di East2 / West2.

Ora parliamo della crittografia. Il pad singolo non è una scelta così meravigliosa nella pratica. La gestione delle chiavi è difficile e spesso si fa rovinare. Inoltre, il blocco one-time fornisce solo riservatezza, ma non l'autenticazione dei messaggi. L'uso della crittografia senza l'autenticazione dei messaggi è uno dei più comuni errori di crittografia che le persone fanno e può avere conseguenze catastrofiche.

In breve: hai ancora bisogno di ottenere la crittografia giusta, e non penso che tu abbia ancora la cripto perfettamente corretta. Tuttavia, la domanda su come fare il criptato giusto è una domanda ortogonale e separabile che è stata ben trattata altrove, e non penso che sia davvero il punto di quello che stai chiedendo comunque. Quindi, lascerò quello per ora.

Speriamo che questo ti aiuti a capire meglio i rischi a cui sei esposto e non sei esposto,

    
risposta data 19.07.2012 - 20:43
fonte

Leggi altre domande sui tag