mercoledì 14 settembre 2011

Trovare la mia macchina, trovare la vostra auto, trovare auto di tutti, il Westfield iPhone app privacy smorgasbord


Quando giunse la notizia attraverso recentemente sulla Bondi centro commerciale Westfield la nuova funzione "Find my car", le implicazioni di sicurezza e la privacy quasi saltato fuori dalla pagina:
"Aspetta - in modo da dire tutto quello che faccio è inserire un numero di targa - qualsiasi numero di targa - e torno tutte queste informazioni su altre auto parcheggiate nel centro?Whoa ".
Se questa affermazione suona un po 'liberale, continuate a leggere e vedrete quanta informazione Westfield è intenzionalmente divulgare al pubblico.

Destinazione d'uso

Cominciamo con l'applicazione appare come per l'utente finale. Tutto questo inizia la vita come l' applicazione mall Westfield in App Store di iTunes e da qualche tempo, è stata in grado di aiutarvi a trovare negozi del centro. Come di recente, però, ha una funzione di "parcheggio", che consente di inserire un numero di targa e tornare una serie di immagini poi ricevere indicazioni su come navigare a quella che sembra essere il vostro veicolo. Forse Westfield trasse ispirazione da Seinfeld il garage su questo! Ecco come tutti i legami insieme:
Mall Westfield home page appImmissione di un numero di targa di ricerca
Quattro foto di veicoli corrispondenti risultati della ricercaIndicazioni per il posto auto
Per l'utente casuale della richiesta, le targhe - e questo è quello che sto parlando di quando dico "privacy" - sembra essere indiscernibile. Certamente non è chiaro dalle immagini qui sopra ma non è altrettanto chiaro dopo schermo afferrare e in espansione che:
Vicino colpo di un veicolo
La targa è in realtà AWC11A, ma torneremo a questo.
Comunque, tutto questo è reso possibile utilizzando il Park Assist tecnologia che mette il piccolo ragazzo nell'immagine qui sotto sul tetto tra ogni parco in modo che possano informare i clienti di entrambi i luoghi vacanti e scattare foto di loro una volta parco:
Park Assist sistema di telecamere M3 visione
La cosa interessante è però che l'attuazione di questa applicazione espone facilmente alcuni abbastanza gravi, dati piuttosto ampia che molte persone sarebbe probabilmente preoccupati. E non è necessario.

Sotto le coperte

Il modo in cui queste applicazioni smart phone tendono a lavorare è che quando hanno una dipendenza da dati esterni recuperate da internet, è che comunicare avanti e indietro attraverso i servizi che viaggiano su protocollo stesso la maggior parte del traffico internet di altri - HTTP. Molto spesso questi servizi contenere ogni tipo di informazione con solo un piccolo sottoinsieme di fatto di essere esposti per l'utente tramite l'applicazione consumare il servizio. Nel caso Westfield era giusto pensare che questo servizio dovrebbe contenere alcune informazioni sui veicoli corrispondenti alla ricerca di targa e quale sia il loro posizione è.
Utilizzando un tool gratuito come Fiddler e permettendole di agire come un gateway HTTP per l'iPhone , è facile da interpretare e controllare i contenuti della comunicazione tra l'applicazione e il server è parlare. Quando ho fatto questo per l'applicazione Westfield, ecco cosa ho trovato:
Fiddler traccia quando si individua un veicolo
Quello che stiamo vedendo qui è un totale di cinque richieste al server Westfield: Il primo restituisce un JSON risposta che contiene i dati che spiegano la posizione delle vetture corrispondenti alla ricerca. I prossimi quattro richieste sono per le immagini che sono le immagini delle vetture restituiti dalla ricerca. Ecco cosa si ottiene:
Veicolo 1Veicolo 2Veicolo 3Veicolo 4
A parte la leggera differenza di proporzioni, questo è esattamente quello che abbiamo visto in app originale in modo sorprese ancora. Ma qui è dove diventa davvero interessante - esaminiamo quella risposta JSON. In primo luogo, si tratta di una richiesta GET al seguente indirizzo:
Una delle cose belle di un RESTful servizio come questo è la capacità di passare facilmente i parametri nella richiesta. L'URL di cui sopra, possiamo vedere quattro parametri:
  1. Il numero di targa stiamo cercando con l'aggiunta di "~ 0.3"
  2. Un valore "is_occupied" impostato su "true"
  3. Un "limite" impostato a "4"
  4. Un "ordine" impostato su "-somiglianza"
Ora, quando osserviamo il corpo della risposta, vediamo quanto segue:
4 collezioni JSON ritorno
Che cosa questo ci dice è che la risposta JSON contiene quattro raccolte di dati. Facciamo espandere tale primo e vedere cosa c'è dentro:
Il contenuto della raccolta JSON
Questo è un bel po 'di dati. In realtà è un sacco di dati ed è di essere inviato al telefono ogni volta che si tenta di individuare una macchina. Ricordate, tutti l'applicazione deve fare è mostrarci l'immagine di quello che potrebbe essere la nostra macchina. Ma il bit veramente preoccupante è quello che c'è dentro il nodo "visita"; Westfield sta memorizzando e rendere accessibili al pubblico al momento dell'ingresso e il numero di targa (vedi il campo "testo") di quello che sembra essere ogni singolo veicolo al centro. Cosa c'è di più, è disponibile come servizio bel po 'di consumo facilmente da chiunque con il know-how per costruire alcuni software di base.
Ma questo è solo quattro risultati, giusto? In realtà, è peggio. Molto peggio. L'URL per l'endpoint del servizio che abbiamo visto prima contiene una serie di parametri - i filtri, se volete - e la rimozione di questi fornisce facilmente lo stato attuale di tutte le 2.550 sensori.Ciò include il numero di targa di qualsiasi auto attualmente occupando uno spazio e, come potete vedere, è disponibile per progettazione a chiunque :
http://120.151.59.193/v2/bays.json
Si può liberamente richiedere quella risorsa più e più volte tutte le volte che si desidera e quindi memorizzare i dati al contenuto del vostro cuore. Ora che , è un problema di privacy.

L'impatto per la privacy

Ciò significa che chiunque abbia qualche conoscenza di programmazione rudimentali in grado di monitorare il via vai di ogni singolo veicolo in uno dei centri più attivi del paese dello shopping. In un'epoca in cui siamo diventati circondati da telecamere di sorveglianza ci aspettiamo che i nostri movimenti da monitorare con artisti del calibro di gestione del centro o delle forze di sicurezza, ma non esposti al pubblico a chiunque abbia una connessione internet!
Pensate alle possibili utilizzi malevoli se siete in grado di scrivere un po 'semplice del software:
  1. Un Stalker riceve una notifica quando la loro vittima entra nel parcheggio (e sapranno esattamente dove la vittima è parcheggiato).
  2. Un marito sospettoso tracce quando la moglie arriva e poi lascia il parcheggio.
  3. Un driver lesa in possesso di un rancore da un incidente stradale vicino rabbia monitor per l'arrivo dell'altra parte.
  4. Un ladro d'auto con i loro occhi su un veicolo particolare potrebbe essere notificata una volta che viene lasciato incustodito nel parcheggio.
Con Westfield in piedi il servizio nel modo in cui hanno, questo diventa estremamente facile. Inoltre, questo è solo un centro commerciale fuori decine di Westfields tutto il paese.Se questa pratica continua, data mining i movimenti dei singoli veicoli attraverso i centri commerciali sarà un gioco da ragazzi per chiunque abbia conoscenze di programmazione di base . E questo è davvero il nocciolo del problema che questo non è uno di quei "Oh no, la grande società sta inseguendo me" situazioni, è che qualcuno mi può pista .
Mentre io sono in alcun modo un forte sostenitore della privacy (io ho una vita abbastanza aperto in mostra attraverso numerosi canali sul web), qualcosa su questo proprio non si sposa perfettamente ragione a me. Certamente coloro che sono forti sostenitori della privacy si opporrebbe a tale comunicazione al pubblico delle informazioni.

Cosa deve essere fatto

Mettere il mio "software architect / cappello di sicurezza" indietro per un momento, il problema è semplicemente che Westfield è esporre i dati questa applicazione non ha bisogno di. Il modo migliore per mantenere un segreto è quello di non averlo e questo è dove sono andato storto.
La funzione di parcheggio delle app è stato progettato per un solo scopo: prendere un numero di targa da parte dell'utente e tornando quattro posizioni possibili con le immagini sgranate del veicolo. Su questa base, ogni pezzo di dati nel nodo "visita" a immagine precedente è del tutto inutile su, è come la capacità di tirare più di quattro record alla volta ed è come la capacità di farlo più e più volte come più velocemente possibile. Tutto ciò che serve è l'immagine così a chiunque di verificare visivamente è la loro auto (la targa non è necessario essere chiari), e naturalmente informazioni sulla posizione all'interno del centro.
Se dovessero farlo, il rischio privacy è drasticamente ridotto, come tutti voi siete lasciati con ora come Joe Public è un mazzetto di immagini sgranate con targhe indecifrabile. Il feedback positivo del servizio esplicitamente restituendo il numero di targa (e il grado di fiducia nella sua integrità), è andato. Certo, c'è ancora un rischio privacy che io possa aprire manualmente l'applicazione e la ricerca di auto di qualcuno poi manualmente ID, ma il potenziale per l'automazione è andato.
In effetti la maggior parte dei dati restituiti in quel servizio è completamente inutile. Taglio indietro sarebbe non solo (in gran parte) risolvere il problema della privacy, sarebbe anche ridurre la dimensione del servizio quindi spingendo al massimo per l'utente finale e ridurre l'onere della larghezza di banda di Westfield. Win-win-win.

Riassunto

Nel processo di ricerca e di scrivere questo post ho anche individuato altri importanti vulnerabilità di natura piuttosto grave. Ho fatto la cosa giusta e ha tentato di notificare Westfield di questi e non rivelare pubblicamente.
Le informazioni di cui sopra, invece, è già di dominio pubblico in quanto le persone sanno che esiste una banca dati contenente le loro auto che è pubblicamente accessibile, semplicemente, probabilmente non sanno come sia facile entrare in possesso di. Ma naturalmente dalla progettazione, queste informazioni sono destinate ad essere consumate su richiesta, il più frequentemente possibile e per qualsiasi veicolo nel parcheggio.
Tutto sommato, questo non sembra essere molto ben pensato in nome degli sviluppatori.Infatti su questa base, se Assist Park è alla base di questo e hanno implementato lo stesso sistema in altri luoghi, la situazione Bondi potrebbe essere solo la punta di un iceberg. Con ogni probabilità, non è intenzione Westfield di esporre questo volume di informazioni in un modo così facilmente consumabile e, si spera faranno chiedere al software di essere rivista una volta che sono a conoscenza di tutta la misura della situazione.
Update 1, 11:10 14 SETTEMBRE: Un paio di ore dopo aver postato questo, un lettore di utile contattato direttamente e Park Assist che ha risposto prontamente, tirando il servizio del tutto (che sembrano controllare l'ambiente). Sulla base delle loro risposte , sembra che l'API al servizio non avrebbe dovuto essere pubblicamente esposti e utilizzati dalla applicazione per iPhone in questo modo. Sembra inoltre che oltre ai rischi per la privacy, vulnerabilità di sicurezza sono stati ulteriormente identificati da altri individui. Mentre io non divulgherà pubblicamente questi, ho fatto il tentativo di contattare Westfield direttamente sul problema. A partire da ora, sono ancora per ottenere una risposta da loro.
Update 2, 12:00 14 SETTEMBRE: Ho appena avuto una bella chiacchierata telefonica con il ragazzo da da Park Assist che ha fornito la risposta legata al precedente aggiornamento. In breve, sono gestito questa situazione in modo molto efficiente e hanno risposto con urgenza e professionalità. Abbiamo discusso alcuni concetti di sicurezza generale, compresa come il servizio possa essere adeguatamente assicurato per un uso futuro ed è chiaro che capiscono esattamente ciò che deve essere fatto. E 'un peccato per loro che il software è stato configurato in questo modo, in primo luogo, ma sicuramente stanno facendo tutto nel modo giusto nella loro risposta.
Corso Visual Studio - Corsi Visual Studio
Corso .Net- Corso Dot.Net - Corso Vb.net
Corso C# - Corso PHP - Corso Joomla

Nessun commento:

Posta un commento