L’OWASP IoT Goat è un firmware (basato su OpenWRT) deliberatamente vulnerabile che viene attivamente mantenuto da OWASP. Il suo scopo è quello di fornire materiale a sviluppatori e ricercatori di sicurezza per studiare le principali tipologie di vulnerabilità che possono essere più comunemente rinvenute nei dispositivi IoT.
Le vulnerabilità OWASP IoT Top 10 tipicamente analizzate sono:
Utilizzo di credenziali facilmente accessibili al pubblico, disponibili al pubblico o immutabili, incluse backdoor nel firmware o nel software client che garantiscono l’accesso non autorizzato ai sistemi distribuiti.
Servizi di rete non necessari o non sicuri in esecuzione sul dispositivo stesso, in particolare quelli esposti a Internet, che compromettono la riservatezza, l’integrità/autenticità o la disponibilità delle informazioni o consentono il controllo remoto non autorizzato.
Interfacce Web, API backend, cloud o mobili non sicure nell’ecosistema esterno al dispositivo che consentono la compromissione del dispositivo o dei suoi componenti correlati. I problemi più comuni includono la mancanza di autenticazione/autorizzazione, una crittografia carente o debole e la mancanza di filtraggio di input e output.
Mancanza di capacità di aggiornare in modo sicuro il dispositivo. Ciò include la mancanza di convalida del firmware sul dispositivo, la mancanza di consegna sicura (non crittografata in transito), la mancanza di meccanismi anti-rollback e la mancanza di notifiche di modifiche alla sicurezza dovute agli aggiornamenti.
Utilizzo di componenti/librerie software obsoleti o non sicuri che potrebbero consentire la compromissione del dispositivo. Ciò include la personalizzazione non sicura delle piattaforme del sistema operativo e l’uso di componenti software o hardware di terze parti provenienti da una catena di fornitura compromessa
Informazioni personali dell’utente archiviate sul dispositivo o nell’ecosistema che vengono utilizzate in modo non sicuro, improprio o senza autorizzazione.
Mancanza di crittografia o controllo dell’accesso ai dati sensibili ovunque all’interno dell’ecosistema, anche a riposo, in transito o durante l’elaborazione
Mancanza di supporto di sicurezza sui dispositivi distribuiti in produzione, tra cui gestione delle risorse, gestione degli aggiornamenti, disattivazione sicura, monitoraggio dei sistemi e capacità di risposta.
Dispositivi o sistemi forniti con impostazioni predefinite non sicure o privi della capacità di rendere il sistema più sicuro impedendo agli operatori di modificare le configurazioni.
Mancanza di misure di rafforzamento fisico, che consentano ai potenziali aggressori di ottenere informazioni sensibili che possano aiutare in un futuro attacco remoto o assumere il controllo locale del dispositivo.