Încorporarea securității într-un dispozitiv IoT

by donpedro

În contextul în care conectivitatea prin cablu și wireless este acum omniprezentă, implementarea securității în proiectarea oricărui dispozitiv nu mai este o idee de ultimă oră. O abordare coerentă și robustă a securității este esențială și ar trebui să devină o parte intrinsecă a specificațiilor inițiale de proiectare.

Articolele de presă care evidențiază sistemele și aplicațiile compromise devin un eveniment obișnuit la nivel global. Hackerii și atacatorii sunt experți în căutarea punctelor slabe ale securității unui sistem și în colaborarea cu alții pentru a realiza un atac reușit.

Atacurile nu trebuie să implice întotdeauna perturbarea unui sistem sau a unui proces industrial. Inițial, poate include încercarea de a fura proprietatea intelectuală a firmware-ului, cheile criptografice și alte date confidențiale ale utilizatorului. Înarmarea cu astfel de informații permite următoarea fază a unui atac.

O implementare de tip IoT (Internetul lucrurilor)/IIoT (Internetul industrial al lucrurilor) este deosebit de vulnerabilă la atacuri. O implementare IIoT la scară largă poate avea sute de dispozitive conectate responsabile de managementul unui proces industrial, iar multe dintre acestea se pot afla în locații îndepărtate accesibile unui atacator. Compromiterea unui singur dispozitiv ar putea fi tot ceea ce este necesar pentru a pune în pericol un întreg proces de producție. (Vedeți figura 1).

Figura 1: Un atacator poate lansa un atac asupra unui proces industrial important de la un singur senzor IoT compromis. (© STMicroelectronics)

Consecințele unui atac reușit asupra unui proces industrial sau al unui serviciu de utilitate publică variază, de la provocarea unor perturbări pe scară largă până la producerea de victime omenești.

Înțelegerea spectrului de amenințări

Tabelul 1 ilustrează cele patru categorii de tipuri de atac pe care le are la dispoziție un atacator. Metodele hardware necesită acces fizic la sistemul embedded, cea mai invazivă dintre acestea necesitând accesul la placa PCB și la componentele sistemului. În schimb, multe dintre metodele de atac software nu au nevoie ca agresorul să aibă sistemul în apropiere. Atacurile software de la distanță asupra sistemelor embedded devin din ce în ce mai atractive, reducând probabilitatea de detectare.

Tabelul 1: Vectorii potențiali de atac pentru compromiterea unui sistem embedded se împart, în linii mari, în patru categorii. (© Mouser)

Un alt aspect al unor vectori de atac este acela că sunt relativ simplu de realizat și necesită costuri minime.

Atacuri software

Malware denumește orice software injectat într-un sistem embedded pentru a prelua controlul sistemului și a obține acces sau a modifica funcțiile software, interfețele și porturile sau pentru a accesa memoria sau regiștrii microcontrolerului. Este un vector de atac relativ ieftin, care se bazează pe partajarea cunoștințelor și pe accesul la un computer. Programele malware pot face parte dintr-un proces iterativ de accesare a unui sistem, descărcând mai întâi chei criptografice sau deschizând porturi de comunicație securizate anterior. Atacatorii pot injecta programe malware prin interfețe fizice, cum ar fi portul de depanare al sistemului sau pot crea o versiune coruptă de actualizare a firmware-ului pentru ca sistemul să o aplice automat.

Atacuri hardware

Atacurile de tip side-channel (SCA) necesită acces la hardware-ul sistemului embedded, dar nu sunt invazive. Analiza diferențială a consumului de putere presupune monitorizarea atentă a consumului de putere al sistemului pe parcursul funcționării acestuia. În timp, este posibil să se determine ce caracteristică din sistem funcționează pe baza modificărilor consumului de putere. Este posibilă înțelegerea comportamentului intern al dispozitivului și a arhitecturii sale software la un nivel granular. Glitching-ul rapid de alimentare este o altă tehnică utilizată pentru a forța un sistem embedded să intre într-o stare de eroare în care porturile și interfețele de depanare nu mai sunt securizate.

Atacurile invazive la nivel de hardware necesită investiții semnificative în timp și în echipamente specializate. De asemenea, acestea necesită o cunoaștere aprofundată a tehnologiilor de proiectare și de procesare a semiconductorilor, care, de obicei, sunt peste puterile celor mai mulți atacatori și, de regulă, celor care doresc să fure proprietatea intelectuală.

Atacuri în rețea

Un atac de tip “man in the middle” (MITM) presupune interceptarea și ascultarea comunicațiilor dintre un dispozitiv embedded și un sistem gazdă. Această abordare ar permite preluarea datelor de conectare la gazdă și recoltarea cheilor criptografice. În cele mai multe cazuri, un atac MITM este dificil de detectat. Cu toate acestea, criptarea datelor și utilizarea protocoalelor IPsec oferă un mijloc eficient de contracarare a unor astfel de vectori de atac.

Figura 2: Schimbul de mesaje utilizând infrastructura cu cheie publică. (© STMicroelectronics)

Importanța criptografiei

Cea mai populară metodă de comunicație criptografică utilizată cu sistemele embedded în scopuri de autentificare utilizează o infrastructură cu cheie publică (PKI). Autentificarea confirmă identitatea expeditorului mesajului. Printre cei mai comuni algoritmi de criptare PKI se numără RSA (numit după numele fondatorilor Rivest, Shamir și Adleman) și criptografia cu curbă eliptică (ECC). Aceasta funcționează pe baza unei perechi de chei, una privată și una publică, care au o relație asimetrică. Autorul păstrează cheia privată, dar partajează cheia publică cu oricine dorește să partajeze un mesaj criptat. (Vedeți figura 2).

Oricine deține cheia publică poate decripta un mesaj criptat cu cheia privată. În figura 2, John Doe2 poate cripta un mesaj cu cheia publică și îl poate trimite lui John Doe1, care îl poate decoda cu ajutorul cheii private. Cu toate acestea, JohnDoe3 nu ar putea citi mesajul destinat lui John Doe1.

Figura 3: Adăugarea autentificării la integritatea mesajului utilizând un algoritm de cheie publică PKI. (© STMicroelectronics)

Un alt aspect al criptografiei este confirmarea că mesajul în sine nu a fost modificat în timpul transmiterii. Algoritmii de hashing verifică integritatea mesajului. Un digest (un flux de biți de lungime fixă) este creat din mesaj și trimis destinatarului împreună cu mesajul. Rețineți că atacatorii nu pot recrea mesajul din digestul hash. Algoritmii de hashing populari includ MD5 și SHA-1/2/3.

Adăugarea unei semnături, creată cu ajutorul unui algoritm cu cheie publică, adaugă autentificare la integritatea hashing-ului – (Vedeți figura 3).

Implementarea securității embedded

Tabelul 2: Funcțiile disponibile în structura de securitate embedded Secure Vault de la Silicon Lab. (© Silicon Labs)

Pentru a ajuta dezvoltatorii de sisteme embedded să implementeze funcții de securitate fiabile și robuste în noile proiecte, furnizorii de semiconductori oferă funcții și structuri (framework-uri) de securitate bazate pe hardware. Printre exemple se numără Secure Vault de la Silicon Labs și STM32Trust de la STMicroelectronics (ST). Atât SecureVault, cât și STM32Trust sunt certificate conform Platform Security Architecture (PSA) Level 3. PSA este un parteneriat de certificare industrială, fondat inițial de Arm, dar care în prezent reprezintă o colaborare globală a companiilor de semiconductori, a organizațiilor de certificare și a laboratoarelor de evaluare a securității embedded.

Tabelul 2 prezintă lista completă a funcțiilor disponibile în Secure Vault, de la funcții criptografice esențiale la contramăsuri DPA mai avansate și funcții de gestionare securizată a cheilor.

Figura 4: Setul de funcții al framework-ului de securitate STM32Trust de la STMicroelectronics. (© STMicroelectronics)

Un set similar de caracteristici oferă și STM32Trust – (Vedeți figura 4). Funcțiile disponibile pe microcontrolerele fiecărui furnizor depind de dispozitiv.

Conceptele de bază ale securității embedded utilizate în cele două framework-uri sunt, în esență, aceleași, deși fiecare furnizor poate implementa o caracteristică într-o manieră specifică.

De exemplu, Secure Vault, Secure boot cu caracteristica “root of trust” utilizează codul inițial de pornire din ROM-ul imuabil (gated ROM) al dispozitivului. Orice atacator nu va putea modifica codul de pornire păstrat în pastila de siliciu, astfel încât dezvoltatorii pot avea încredere în această etapă de pornire cu un grad foarte ridicat de încredere. Codul din ROM este considerat ca fiind rădăcina de încredere și servește la validarea semnăturii următoarei secțiuni de cod care urmează să fie încărcată; aceasta se numește First Stage Bootloader – (Vedeți figura 5). Prima etapă validează apoi semnătura celui de-al doilea stadiu al bootloaderului, verificând mai întâi dacă sunt disponibile actualizări semnate. Bootloaderul din a doua etapă verifică, de asemenea, dacă există actualizări semnate OTA (over-the-air) pentru codul aplicației înainte de a-l executa.

Figura 5: Pornirea securizată – Secure Vault – cu o funcție de rădăcină de încredere. (© Silicon Labs)

O altă caracteristică a Secure Vault este funcția Anti-Rollback Prevention, care asigură că doar noile actualizări firmware semnate operează pe dispozitiv. Această caracteristică împiedică un atacator, care ar putea cunoaște vulnerabilitățile din versiunile mai vechi de firmware, să le încarce pentru a le exploata și a compromite dispozitivul.

ST utilizează diverse metode de monitorizare a sistemului care oferă protecție ASH (Abnormal Situation Handling) pentru gestionarea situațiilor anormale. Printre acestea se numără detecția avansată tamper (acțiuni externe de pătrundere forțată în sistem), de exemplu, linii de alimentare cu tensiune anormal de joasă, deconectarea ceasului extern sau atacuri DPA (differential power attacks) de analiză diferenţială a puterii consumate. De asemenea, are loc monitorizarea temperaturii dispozitivului. Împreună, aceste forme de detecție evidențiază dacă un atacator încearcă să creeze o stare de defecțiune sau să forțeze circuitul integrat într-un mod care l-ar putea face vulnerabil. Mecanismele de răspuns programabile la un potențial vector de atac de manipulare includ întreruperi, resetări sau ștergerea cheii secrete.

STM32Trust și Secure Vault protejează porturile de depanare și alte interfețe periferice împotriva atacurilor. Aceste porturi și interfețe oferă acces la resursele unui dispozitiv, inclusiv la memorie, CPU și regiștri. Depanarea oricărui sistem embedded este esențială pentru orice proiect, dar accesul la un port de depanare este adesea restricționat pentru a menține securitatea dispozitivului.

Protecția memoriei SRAM încorporate este o altă caracteristică esențială a STM32Trust și oferă funcții de ștergere automată a memoriei SRAM în cazul în care se detectează un eveniment anormal.

Atât dispozitivele STM32Trust, cât și Secure Vault dispun de un generator de numere aleatorii (RNG) certificat de NIST (National Institute of Standards and Technology). Un RNG eficient este o cerință fundamentală pentru orice proces criptografic. Un generator de numere aleatorii care nu generează un număr cu adevărat aleatoriu înseamnă că un eventual atacator ar putea exploata descoperirea secvenței de numere aleatorii, ceea ce ar duce la un protocol de securitate vulnerabil la atac.

Securizarea unui dispozitiv embedded

Încorporarea unui grad ridicat de securitate într-un sistem embedded este vitală. Pentru majoritatea dezvoltatorilor de sisteme embedded, încercarea de a învăța să realizeze acest lucru de la zero este o sarcină foarte descurajantă și consumatoare de timp. Cu toate acestea, furnizorii de semiconductori, precum Silicon Labs și ST, au dezvoltat framework-uri de securitate bazate pe hardware și firmware certificate PSA pentru microcontrolerele lor, care simplifică foarte mult acest proces. Implementarea securității pe baza unuia dintre aceste framework-uri ajută la accelerarea ciclurilor de proiectare și permite dezvoltatorilor să se concentreze în continuare asupra sarcinilor de bază ale aplicației.


Autor
:
Mark Patrick

 

 

Mouser Electronics
Authorised Distributor
www.mouser.com
Urmărește-ne pe Twitter

S-ar putea să vă placă și

Adaugă un comentariu