Mi chiedo se ci sia una differenza tra attacco canale laterale e attacco intercettazioni . Per me entrambi sembrano simili
Mi chiedo se ci sia una differenza tra attacco canale laterale e attacco intercettazioni . Per me entrambi sembrano simili
Sì.
Eavesdropping significa che qualcuno (di solito qualcuno chiamato Eve ...) intercetta le comunicazioni di Alice con Bob. L'intercettazione può inficiare la sicurezza di un sistema, ad esempio quando il protocollo ha password trasmesse in testo semplice.
Un attacco sidechannel sfrutta le informazioni trapelate tramite (inserire i tamburi qui) un canale laterale che si osserva per interrompere un sistema. Gli attacchi Sidechannel non devono implicare alcuna intercettazione sulle comunicazioni effettive tra Alice e Bob; l'attaccante potrebbe semplicemente attaccare direttamente il sistema e osservare un determinato canale laterale.
Ad esempio, ecco un semplice attacco a canale laterale contro le implementazioni ingenue di un controllo password che utilizza un ciclo for per controllare ogni carattere segreto rispetto a una password fornita:
def check_password(provided):
secret = 'open-sesame'
for i in range(len(secret):
if provided[i] != secret[i]:
return False
return True
(Il codice python di cui sopra non funzionerebbe nella vita reale, ma portami con me): se usi tale controllo, ci vuole meno tempo quando il primo carattere è sbagliato di quanto ci vuole quando il primo carattere è giusto, perché il ciclo for verrà terminato nella prima iterazione. Quindi puoi semplicemente provare una password che inizia con A, poi con B, poi con C e così via e misurare il tempo necessario perché venga rifiutato da check_password. Quando ci vorrà un po 'di più, sai di avere il primo personaggio giusto. Ora ripeti quello con il secondo carattere, ecc.
La comunicazione in corso qui è che stai fornendo la funzione check_password con una password e ottieni una risposta Vero o Falso (accettato o rifiutato). Il tempo necessario per accettare o rifiutare la password è il canale laterale, e poiché il tempo non è lo stesso per le password accettate e rifiutate, il sistema perde informazioni su questo canale laterale, che può essere sfruttato per trasformare la password in ipotesi un'operazione O (n), dove n è la lunghezza della password nei caratteri.
Potresti pensare che differenze minuscole nei tempi non possano essere sfruttate, ma è stato dimostrato che tali attacchi temporali funzionano anche da remoto (ad esempio misurando il tempo necessario al server per rispondere con un messaggio di "accesso negato"), a condizione che raccogli abbastanza informazioni statistiche sulla durata della risposta media per raggiungerti.
link descrive un vecchio attacco temporale contro il controllo della password trovato sul tenex operativo sistema che ha sfruttato le differenze temporali introdotte dall'infrastruttura di paging. Quello è abbastanza famoso e il link fornito ha una spiegazione bella e dettagliata.
Gli attacchi a tempo sono solo un esempio di attacchi a canali laterali. Un altro canale laterale è il consumo di energia, e recentemente Bruce Schneider ha scritto su un documento di ricerca che ha utilizzato un attacco utilizzando i modelli di radiazioni wifi per determinare la password dello smartphone. Vedi anche articolo di notizie a riguardo.
Leggi altre domande sui tag encryption privacy attacks side-channel