I dati che arrivano nel mio server UDP possono essere annusati?

2

Ho realizzato un piccolo dispositivo di tracciamento. Sto cercando di ridurre il sovraccarico dei dati il più possibile per rendere il dispositivo molto economico da eseguire. Stiamo lavorando sulla base del fatto che 1 MB = £ 0,01 (il prezzo dei dati di Three UK).

Ho scritto un semplice server UDP in C ++. Il dispositivo di tracciamento apre una connessione socket al server UDP e quindi invia i dati GPS attraverso lo zoccolo ogni 5 secondi. Questo sembra funzionare molto bene. L'overhead è molto piccolo e in generale sembra affidabile.

Il dispositivo di tracciamento ha una stringa di 16 caratteri codificata nel codice del microprocessore. Al fine di ridurre il sovraccarico, passiamo valori al server come una stringa separata da virgole e in questa stringa includiamo l'ID del dispositivo hardcoded. Ogni volta che il server UDP riceve una richiesta, verifica l'ID su un database di ID validi. In caso di successo, la richiesta viene accettata e i dati GPS vengono salvati su quel dispositivo. Ho scritto funzioni di protezione brute force per garantire che gli estranei non possano provare a inviare dati GPS falsi per un dispositivo.

Non sono esperto in sicurezza di rete, ma conosco termini come "sniffing di pacchetti". I dati vengono inviati tramite una connessione non crittografata in formato testo, quindi devo assicurarmi che non sia possibile leggere questi dati. I dispositivi di localizzazione saranno installati sotto il cruscotto nei veicoli, quindi non c'è modo di trovare fisicamente un codice dispositivo senza leggere i dati seriali (cioè collegandolo).

La mia preoccupazione, e dove sono senza tracce, è se sia possibile che un hacker rilevi in qualche modo il traffico in arrivo sul mio server UDP e veda l'ID del dispositivo e quindi lo usi per inviare dati di spoofing? Mi preoccupo di qualcosa che non esiste o devo assicurarmi che la connessione sia crittografata (presumo la connessione TLS su TCP) a costo di costi aggiuntivi?

    
posta jskidd3 18.04.2016 - 16:38
fonte

1 risposta

4

Sarebbe facile annusare i dati utilizzando strumenti come WireShark da qualcuno che possa accedere al percorso dei dati tra il client e il server. Questo non è qualcosa che chiunque su Internet potrebbe fare di per sé, ma se il tuo dispositivo utilizza il wireless e ci sono persone nelle vicinanze, potrebbero prendere questi dati se lo volessero.

Come trovare online il tuo servizio UDP che è facile da trovare tramite semplici strumenti di scansione come nmap e zmap ma a seconda del numero di porta che hai usato potrebbe essere già pubblicamente elencato su siti che scansionano l'intero Internet come scans.io . Con ogni probabilità alcune terze parti sono già a conoscenza del listener UDP e questo, si spera, sarà elencato come altri indirizzi di origine nei log.

La sicurezza attraverso l'oscurità non esiste più su Internet poiché le persone possono utilizzare strumenti come zmap o massscan per eseguire la scansione dell'intero spazio di indirizzi IPv4 in pochi minuti.

link

link

link

link

Come per la domanda di crittografia, penso che sarebbe saggio crittografare i dati e anche saggio considerare come ogni dispositivo si autentica sul server. La sicurezza dell'Internet of Things (IoT) è un elemento molto caldo perché molti di questi dispositivi hanno abissali ricercatori di sicurezza e sicurezza, e attori cattivi, possono sfruttare questi problemi per ottenere l'accesso ad altre reti molto rapidamente. Se non altro, ti consiglio di utilizzare la crittografia, perché ciò che usi il dispositivo potrebbe cambiare in futuro ed è sempre più facile progettare la sicurezza all'inizio di un progetto piuttosto che pagare l'alto costo della reingegnerizzazione.

    
risposta data 18.04.2016 - 18:52
fonte

Leggi altre domande sui tag