Soluzioni per la sicurezza IoT: parte 1 - Evitate le password predefinite

Per le grandi aziende, la sicurezza informatica non è più solo un'opzione utile, è diventata fondamentale, soprattutto per i prodotti embedded e IoT. L'Istituto europeo per le norme di telecomunicazione (ETSI) ha appena rilasciato un nuovo regolamento per la sicurezza dei progetti IoT e correlati e CEPD non potrebbe essere più d'accordo sulle tempistiche di questa pubblicazione.

(Immagine per gentile concessione di CEPD)

I prodotti IoT si stanno imponendo sempre di più sul mercato. Questo è quindi il momento migliore per saperne di più su alcune problematiche comuni di sicurezza dell'IoT. Questo articolo è il primo di una serie che si concentrerà sull'IoT e la sicurezza embedded. Verranno discussi problemi comuni e possibili soluzioni. Lo scopo è diventare tutti un po' più consapevoli in fatto di sicurezza nel momento in cui utilizzeremo e progetteremo dispositivi IoT.

Password predefinite

La maggior parte dei dispositivi IoT usa una password predefinita universale, come "admin", "1234", "user", ecc. che, per peggiorare ulteriormente le cose, molti utenti non cambiano mai. Chi conosce queste password ha accesso completo. Il potenziale hacker può essere chiunque abbia acquistato il prodotto o letto informazioni su di esso. Inutile dire che il gruppo di potenziali hacker che al momento conoscono la password del vostro dispositivo è piuttosto corposo.

Possibili soluzioni

Per gli sviluppatori, l'idea di incorporare una password nel codebase del prodotto è allettante. In questo caso, però, i rischi superano di gran lunga i benefici. Per fortuna, ci sono scelte di design che si possono compiere per proteggere maggiormente un dispositivo IoT.

Generazione di numeri casuali

Alla prima accensione, il dispositivo IoT potrebbe generare un numero casuale da utilizzare come password, che potrebbe essere condiviso in modo sicuro con l'utente finale. Dato che la password è casuale, le probabilità che anche un altro dispositivo usi la stessa sono piuttosto basse.

La generazione di numeri casuali è disponibile tramite metodo hardware e software. Dispositivi come MIKROE-4090 di MikroElektronika genererà una sequenza di numeri veramente casuale. Inoltre, molti processori e microcontroller attuali offrono periferiche per la generazione di numeri casuali o pseudo-casuali. Infine, C e C++ prevedono funzionalità pseudo-casuali grazie a librerie precompilate (https://www.geeksforgeeks.org/generating-random-number-range-c/).

Sono quindi attualmente disponibili molti modi per generare un numero casuale. Se aggiungete questa possibilità al vostro dispositivo IoT, vi liberate del dilemma che riguarda la password predefinita universale e potete dimostrare che il vostro prodotto è un gradino sopra gli altri.

Chiedere di modificare la password

Se per voi i numeri casuali sono un po' troppo, iniziate chiedendo all'utente di cambiare la password. Prima che il dispositivo IoT inizi a fare quello per cui è stato progettato, fategli chiedere all'utente di inserire una nuova password. Non è un compito troppo gravoso e i 30-60 secondi necessari per eseguire questa operazione daranno i loro risultati garantendo la sicurezza dell'utente e proteggendo la reputazione del vostro prodotto.

Limitate il numero di tentativi errati

Regole, come la possibilità di inserire al massimo 5 password errate nel giro di 3 minuti, possono rendere i prodotti IoT più resilienti agli attacchi automatici. Ricordate infatti che la maggior parte degli attacchi viene in realtà perpetrata da macchine, che tentano di indovinare rapidamente una password. Se il dispositivo IoT impone un ritardo per l'inserimento della password, non sarà così esposto, i tentativi di violazione non andranno a buon fine e probabilmente l'attenzione dell'hacker verrà rivolta verso un altro dispositivo. Certo, questo metodo non è sufficiente di per sé, ma se unito a uno dei consigli precedenti, può dimostrarsi efficace.

Queste problematiche e i relativi consigli provengono dal lavoro svolto da ETSI. Per tutti questi punti, potete consultare la pubblicazione ETSI EN 303 645 v2.1.1 (2020 – 06).

A breve pubblicheremo ulteriori articoli e blog sul tema della sicurezza IoT, quindi non vi distraete.

Informazioni su questo autore

Image of Noah Madinger

Noah Madinger is a Senior Engineer at Colorado Electronic Product Design (CEPD) and has been involved in bringing novel products to market since the early 2000’s. In his role, he is responsible for developing technical solutions, which cover a vast array of disciplines in both hardware and software design. This role also includes the managing projects and technical teams, as well as engaging in business development activities. Noah is actively involved in writing articles and publications, as these provide opportunities to dive deeper into interesting topics and to engage a broader audience.

Noah’s professional interests include feedback control systems, FPGA and MCU-based embedded designs, and aerospace applications. He is an advocate of process-driven and test-driven development paradigms and has worked to implement engineering processes into team dynamics. He cherishes the reward of seeing a new product come to maturity and to have it live up to everyone’s expectations.

More posts by Noah Madinger, Colorado Electronic Product Design (CEPD)
 TechForum

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.

Visit TechForum