Le minacce alla sicurezza della ricarica wireless?

20

È risaputo che il collegamento del dispositivo mobile per la ricarica in luoghi pubblici / non controllati tramite Micro-USB può rappresentare un pericolo per la sicurezza. Il protocollo USB supporta molto più del semplice trasferimento di energia, lasciando il dispositivo esposto a tutti i tipi di trasferimento di dati maligni.

Quindi, anche se non collegherò il mio telefono a nessun caricatore cablato non sicuro, mi chiedo se le tecnologie di ricarica wireless - come Qi - pongono una minaccia alla sicurezza, ad esempio consentendo qualsiasi tipo di backdoor / exploited accesso al dispositivo stesso?

Ho riscontrato dei pad di ricarica wireless pubblici con maggiore frequenza (ad es. nei caffè) e sembrano essere un modo estremamente pratico di tenere il telefono in ordine (Nexus 4 nel mio caso) quasi senza interruzioni. Quindi sono abbastanza interessato se sia possibile sfruttare questa nuova e bella tecnologia senza preoccuparsi delle minacce alla sicurezza.

    
posta Xion 23.12.2012 - 21:29
fonte

2 risposte

13

I caricabatterie più vecchi erano semplicemente un semplice alimentatore: poco più di un ponte a diodi, un condensatore e un regolatore di tensione. Hanno fornito una tensione costante al telefono, spesso + 5V. Quando la connettività USB è arrivata con i telefoni moderni, + 5V è diventato uno standard e i pin di alimentazione sull'header USB sono stati utilizzati per ricaricare lo stesso. I due pin di dati verrebbero lasciati fluttuanti o legati a terra e non verrebbero utilizzati.

In questi giorni le cose sono cambiate. I telefoni moderni sono dispositivi intelligenti assetati di energia, con grandi batterie. I vecchi standard USB limitano strongmente la quantità di corrente che può essere fornita a un dispositivo. Su una porta USB 1.1, è possibile disegnare fino a 100 mA di corrente sulla linea + 5V. Ciò equivale a 0,5 W, che certamente non è molto quando si carica. USB 2.0 ha aumentato questo valore a 500 mA e USB 3.0 lo ha aumentato ulteriormente fino a 900 mA. Tuttavia, il reale consumo di energia consentito non è così semplice: quando è appena inserito il massimo che un dispositivo può prelevare è solo 100mA / 150mA per USB 2.0 / 3.0 rispettivamente. Il dispositivo deve designarsi su un particolare tipo , così come il dock su cui è collegato. Questo è chiamato una negoziazione.

Ci sono tre tipi principali di alimentazione per USB:

  • Modalità No Dead Battery (NDB): consente di disegnare 100 mA (150 mA su USB3) quando viene collegato a un dispositivo senza alcuna negoziazione. Nessun dato può essere trasferito.
  • Modalità caricatore host - consente 100 mA su USB 1.1, 500 mA su USB 2.0 e 900 mA su USB 3.0 dopo che il dispositivo è stato registrato con l'host e possono verificarsi comunicazioni full duplex. Questa è la modalità "normale" in cui la maggior parte dei dispositivi entrerà quando viene collegata a un computer.
  • Modalità caricatore dedicato - definita solo per USB 2.0 e 3.0 e consente 1,5 A su un dispositivo di ricarica dedicato. Mentre in questa modalità, nessun dato può essere trasferito. Tuttavia, il dispositivo deve negoziare questa modalità con il caricabatterie.

Si noti che possono essere disegnati solo 150 mA dal dispositivo quando non si è verificata alcuna negoziazione. Questa è una funzione di sicurezza, poiché la protezione da sovracorrente su un dispositivo può comportare fusibili montati sulla superficie che richiedono la dissaldatura per la sostituzione. Pertanto, se un dispositivo tenta di estrarre 1.5 A su un host USB 1.1 che supporta solo 100 mA, probabilmente si fonderà l'host. In quanto tale, dobbiamo fare una negoziazione corretta, che comporta alcuni trasferimenti di dati.

Ecco dove le cose si confondono:

  • La fase di negoziazione può essere implementata in hardware, firmware o software. Di solito il primo passo è l'hardware, quindi il passo successivo è il firmware e il passaggio finale (riconoscimento del sistema operativo tramite PnP) è software.
  • I dati coinvolti nell'handshake iniziale di negoziazione non implicano (per quanto ne so io) alcun buffer di lunghezza arbitraria. È in questa fase che coinvolge la negoziazione di potere.
  • I dati coinvolti nella negoziazione completa di Plug-n-Play sono complicati e quasi certamente implicano buffer di lunghezza arbitrari.

Per questo motivo, i moderni caricatori dedicati di solito hanno un piccolo microcontrollore o un chip host USB dedicato per affrontare la fase di negoziazione. Ciò significa che di solito c'è una superficie di attacco basata sul firmware sul caricatore e sicuramente sul dispositivo. Tuttavia, alcuni caricabatterie specializzati (ad esempio iPhone) imbrogliano le specifiche utilizzando trucchi di rilevamento (ad esempio il rilevamento capacitivo sulle linee dati) per rendere la produzione del caricatore più economica, e quindi non è necessario eseguire alcun trasferimento di dati. Questo può o meno essere una violazione delle specifiche USB, ma le grandi aziende tendono ad essere in grado di ottenere cose come quelle autorità normative precedenti.

Il lato di ricarica wireless funziona quasi allo stesso modo, tranne che il trasferimento effettivo della corrente avviene tramite un campo elettromagnetico oscillante. La negoziazione funziona allo stesso modo, proprio sopra un canale di comunicazione in stile NFC . Se potessi inserire dati in quel canale di comunicazione, potresti alterare il modo in cui funziona la negoziazione, ma dubito che potresti fare qualcosa di interessante senza violare il protocollo. Un modo interessante di ricerca sarebbe vedere se alcuni dispositivi hanno buffer overflow o problemi simili nel protocollo.

Quindi, in conclusione, potrebbe essere in grado di trovare un exploit per un dispositivo, ma è probabile che non faccia altro che mettere temporaneamente in pausa l'IC del controller USB sul dispositivo. In alternativa, è possibile sostituire il caricabatterie con un host attivo e utilizzarlo per negoziare completamente con il dispositivo e inviare comandi. Ciò è particolarmente pericoloso su dispositivi iPhone e Android che hanno il debug USB abilitato, in quanto consente l'accesso alla memoria del dispositivo.

    
risposta data 23.12.2012 - 23:58
fonte
2

Non ci sono minacce alla sicurezza provenienti dai caricabatterie wireless, né caricabatterie USB. Quando si collega il caricabatterie USB al telefono, inizia la ricarica, ma l'accesso alla memoria non è abilitato, è necessario abilitare manualmente l'accesso alla memoria del telefono. Tuttavia, devi assicurarti che il debug di ADB e USB sia disabilitato e che ci possa essere un exploit in uno dei driver USB di Linux, ma è improbabile, dato che il codice è in circolazione da un po 'di tempo e nessuno è stato trovato.

Con la ricarica wireless direi che è impossibile sfruttare a distanza il telefono. Il circuito della batteria wireless e la parte della batteria stessa sono separati dalla CPU principale e l'unica comunicazione tra la parte della batteria e la CPU è lo stato della batteria. Inoltre, per un attacco pratico di successo, è necessaria una comunicazione a due vie. Il pad di ricarica sta trasmettendo energia EM, ma quell'energia non è "modellata" in alcun modo specifico che potrebbe rappresentare informazioni. Inoltre, non vi è alcuna logica all'interno del telefono per interpretare l'energia EM del caricabatterie wireless come dati. Funziona sul principio dell'induzione, come una stufa da cucina a induzione.

L'unica minaccia derivante dai pad di ricarica wireless che vedo è che potrebbero essere utilizzati per causare il DoS danneggiando ("friggendo") i circuiti elettronici del telefono inviando troppa energia. Tuttavia, spero che i produttori di telefoni abbiano implementato una sorta di protezione contro una cosa del genere. Ma se c'è molta energia proveniente dal caricabatterie, nessuna protezione ti sarà utile in quanto il telefono non è collegato a terra. Tuttavia, tali attacchi non avrebbero alcun altro scopo se non la distruzione.

    
risposta data 23.12.2012 - 21:57
fonte

Leggi altre domande sui tag