La vulnerabilità più comune non è affatto la sicurezza. Molte marche:
- metti un server web completamente insicuro sui propri dispositivi.
- inserisci password codificate con testo semplice nel loro codice per "accesso di manutenzione".
- problemi standard come l'overflow del buffer.
- la funzionalità di aggiornamento del firmware è spesso vulnerabile
- la firma di un aggiornamento è stata verificata in passato come una firma valida, ma il certificato stesso non è stato verificato per la validità. Così ogni certificato autofirmato ha fornito l'accesso.
Per le migliori pratiche, cerca di mantenere il tuo codice semplice e autenticare tutto. Non ci sarà probabilmente bisogno di includere qualcosa come un server web in una fotocamera e questo porta molte vulnerabilità. Ricorda inoltre che gli utenti potrebbero non aggiornare mai il firmware, quindi mantenere i bug al minimo rendendo il dispositivo semplicistico è una buona idea.
PS: Autenticati anche usando qualcosa come HMAC, poiché la tua connessione probabilmente non sarà sicura. Dovresti evitare di inviare password.
PPS: se desideri una sorta di accesso per gli sviluppatori, utilizza la crittografia a chiave pubblica e includi sempre un'opzione per disattivarlo .