Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial Internet of Things >> Internet of Things-technologie

Kwetsbaarheden in de hardwarebeveiliging die technici moeten kennen

Waarom zouden technici zich druk moeten maken over hardwarebeveiliging? Omdat ze kwetsbaarheden kunnen helpen voorkomen door middel van design!

Waarom zouden technici zich druk moeten maken over hardwarebeveiliging? Omdat ze kwetsbaarheden kunnen helpen voorkomen door middel van design!

Ingenieurs praten traditioneel niet graag over beveiligingsproblemen. Dit neemt echter niet weg hoe belangrijk het is voor ingenieurs om kennis te hebben van cryptografie, zodat ze er in hun toekomstige ontwerpen rekening mee kunnen houden.

Tot nu toe hebben we gesproken over de (korte) introductie van een ingenieur in cyptografie, de Diffie-Hellman-uitwisseling en hoe ECC (elliptische-curve-cryptografie) werkt.

Nu is het tijd om te leren hoe hackers cryptografie breken, zodat u aan de lange reis kunt beginnen om uw ontwerp te beschermen tegen veelvoorkomende aanvallen.

Waarom elektrotechnici om beveiliging moeten geven

Als u verantwoordelijk bent voor het leveren van veilige apparaten voor een bedrijfskritisch of veiligheidskritisch ontwerp, moet u uw ontwerp in elke fase van het ontwerpproces bespreken met uw chipleveranciers en/of beveiligingsonderzoekers. Bedrijven zoals Microchip, SiLabs, WolfSSL, enz. hebben technici in dienst die u kunnen helpen bij uw ontwerpen en u kunnen informeren over beveiliging.

Er bestaat tenslotte niet zoiets als een 100% veilig systeem.

“Er is nooit een paard geweest dat niet bereden kon worden. Er was nooit een renner die niet gegooid kon worden.”

Beveiligingsonderzoekers spelen een leven lang kat-en-muisspel met hackers. Keer op keer is "onbreekbare" versleuteling verbroken. Of uw bericht gecodeerd blijft, hangt af van de selectie van onderdelen, hoe goed u uw circuit ontwerpt, hoe goed u uw code implementeert en of uw aanvaller voldoende gemotiveerd en uitgerust is om uw ontwerpen te verslaan. Het is jouw taak als engineer om er alles aan te doen om je privésleutel te beschermen.

U weet waarschijnlijk dat u vrijwel niets kunt doen om uw privésleutels te beschermen tegen een natiestaat. De middelen die verschillende overheidsinstanties kunnen inzetten tegen elektronische en menselijke doelen zijn aanzienlijk en overweldigend. Zelfs als de spionnen geen privésleutels van een apparaat kunnen halen, kunnen ze altijd de computer hacken die het apparaat heeft geprogrammeerd, de fabriek binnendringen waar de IC's worden gemaakt, een werknemer in gevaar brengen...

Gelukkig hoef je je geen zorgen te maken dat natiestaten je apparaten hacken. Ont gelukkig is het meestal een veel eenvoudigere aangelegenheid dan we zouden willen geloven. Een tiener met ongeveer $ 250 aan hardware en toegang tot YouTube-trainingsvideo's kan in een middag de privésleutels uit een microcontroller halen. En een kwaadwillende programmeur kan binnen een paar minuten gegevens stelen.

Om voorbereid te zijn op een veilig ontwerp, is het belangrijk om de bedreigingen te begrijpen. Hier is een overzicht op hoog niveau van enkele bekende op hardware gebaseerde beveiligingsproblemen en wat u mogelijk kunt doen om deze te verhelpen.

Voorbeelden van beveiligingsproblemen met embedded systemen

Laten we eens kijken naar enkele belangrijke voorbeelden van hardwarekwetsbaarheden en enkele tips bespreken voor een veiliger ontwerp.

Elektromagnetische zijkanaalaanvallen

Onderzoekers weten al tientallen jaren van elektromagnetische zijkanaalaanvallen. Elke keer dat een mechanische schakelaar of een transistor van toestand verandert, plant een elektromagnetische golf zich langs en naar buiten vanaf de geleider voort. Als die elektromagnetische golf wordt onderschept door een hacker, kunnen ze vaak de gegevens reconstrueren die zijn gebruikt om de golf te creëren. Bekijk Van Eck Phreaking, Tempest of de video hieronder voor meer informatie.

Beperking van elektromagnetische zijkanaalaanvallen

Gebruik best-practices uit de branche bij het ontwerpen en opmaken van uw PCB.

  1. Plaats de ontkoppelcondensatoren zo dicht mogelijk bij de voedingspinnen.
  2. Gebruik een solide grondvlak onder je IC.
  3. Gebruik EMI-afscherming bovenop uw IC.

Het zal iemand met fysieke toegang tot uw apparaat niet stoppen, maar het zal hun werk des te moeilijker maken.

Aanvallen met differentiële krachtanalyse

Om encryptie op de meeste microcontrollers te kraken, heb je alleen een weerstand van $ 0,005, een analoog-naar-digitaal-omzetter en een rudimentair begrip van de programmeertaal Python nodig.

Wanneer de digitale poorten in een microcontroller schakelen, verstoren ze de stroomrails die naar een microcontroller leiden. Hackers hebben geleerd een weerstand van 50 en een analoog-naar-digitaal-omzetter over de stroomrails te plaatsen om de minuscule stroomveranderingen die optreden tijdens de werking van de microcontroller vast te leggen.

De microcontroller wordt ondervraagd via de SPI-programma/debug-interface terwijl de meetgegevens van het differentieel vermogen worden geregistreerd. Later worden de gegevens geanalyseerd en worden de pieken en pulsen gebruikt om individuele microcontroller-acties te correleren en vingerafdrukken te nemen.

Door zorgvuldige analyse kunnen hackers bijna alle gewenste informatie uit een microcontroller halen.

Aanvallen met differentiële vermogensanalyse verminderen

Deze hack is eenvoudig uit te voeren met op software gebaseerde cryptografische code, dus gebruik crypto-hardwareversnellers die waar mogelijk DPA-tegenmaatregelen implementeren. Gebruik net als voorheen best practices uit de branche voor ontwerp en lay-out. Kies een BGA-voetafdruk en laat uw stroomrails in tussenlagen van uw PCB lopen en, als u zich echt zorgen maakt, integreer uw IC in een tussenlaag van uw PCB met koperen vlakken boven en onder en gebruik via stiksels rondom. Immers, als de slechteriken niet bij de stroomrails kunnen komen, kunnen ze niet gemakkelijk differentiële vermogensanalyses uitvoeren.

U kunt ook een op hardware gebaseerde beveiligingskern gebruiken, aangezien deze niet zo gevoelig zijn voor deze hack (ze zijn nog steeds te hacken). Ingenieurs zijn op de hoogte van deze kwetsbaarheid en ontwerpen er op verschillende manieren tegen. De Silicon Labs Wireless Gecko Series 2 heeft bijvoorbeeld een geïntegreerde beveiligingskern en Microchip maakt een reeks beveiligings-IC's, inclusief cryptografische modules die u in uw ontwerpen kunt gebruiken.

Man in the Middle-aanvallen

Er zijn verschillende Man-in-the-Middle-aanvallen. Dit artikel demonstreert een "Invalid Curve Attack". Het eenvoudiger hypothetische voorbeeld dat volgt is slechts één mogelijke aanvalsvector.

Wanneer u muziek vanaf uw computer afspeelt via een Bluetooth-luidspreker met de naam "MyTunes", worden gegevens rechtstreeks van uw computer naar de luidspreker verplaatst. Maar wanneer u uw computer aansluit op een externe website met de naam "AllAboutCircuits.com", weet u misschien niet dat uw computer niet onmiddellijk rechtstreeks is verbonden met een andere computer met de naam "AllAboutCircuits".

Het eerste dat gebeurt, is dat uw computer contact maakt met uw router en dat uw router contact maakt met een Domain Name Server (DNS) die de naam AllAboutCircuits.com vertaalt in een IPV4- of een IPV6-adres (104.20.234.39). Dit gebeurt meestal snel en de gegevens worden lokaal opgeslagen om toekomstig browsen te versnellen.

DNS-vermelding voor AllAboutCircuits.com op een Windows 10-pc.

De gegevens stuiteren dan van computer naar router naar gateway om naar over te schakelen enz... naar een computer waarvan het IP-adres overeenkomt met 104.20.234.39. Het aantal hops varieert van website tot website en van locatie tot locatie. Op elke locatie kunnen, als de computer niet is beveiligd, de gegevens worden onderschept, het verkeer worden omgeleid of iets heel anders.

Dit routespoor toont alle "hops" van mijn laptop naar de AllAboutCircuits.com-website

De opzet voor de man-in-the-middle-aanval

Er zijn verschillende manieren waarop een man-in-the-middle-aanval kan plaatsvinden. Overweeg alleen dit ene type aanval.

Afbeelding van "Bob" van ThisPersonDoesNotExist.com

Bob kocht een mooie nieuwe draadloze router. Hij krijgt zijn speeltje mee naar huis en sluit het aan op zijn thuisnetwerk. En om er zeker van te zijn dat hij niet te veel geld heeft uitgegeven aan zijn nieuwe speeltje, controleert hij het saldo van zijn bankrekening op zijn computer.

Afbeelding van "Mallory" van ThisPersonDoesNotExist.com

Mallory is een hacker. Ze gebruikt de website shodan.io (of iets dergelijks) om routers, webcams, Raspberry Pi of IoT-apparaten te identificeren die op internet staan, ziet Bobs nieuwe router, grijnst en wrijft dreigend in haar handen omdat ze nu ook een nieuw speeltje heeft.

Mallory gebruikt de standaard gebruikersnaam/wachtwoord (admin/default, admin/admin, admin/wachtwoord, enz.) die bij alle apparaten wordt geleverd. De meeste fabrikanten gebruiken dezelfde gebruikersnaam/wachtwoord voor alle apparaten en de meeste mensen nemen niet de moeite om ze te wijzigen, dus het kost haar niet veel tijd om een ​​of meer toegangspunten te vinden. Mallory logt gewoon in op het apparaat, flasht het met haar eigen firmware en verandert de DNS-server in een DNS-server naar keuze.

Ze kan dit omdat:

  • Fabrikanten gebruiken lui dezelfde gebruikersnaam/wachtwoorden op al hun apparaten.
  • Het merendeel van de eindgebruikers verandert hun standaardwachtwoord niet.
  • Apparaatfabrikanten hebben geen ondertekende firmware nodig of hun privésleutel is gecompromitteerd en in het wild.

Nu heeft Mallory toegang tot een privénetwerk. Ze is niet langer een hacker op internet, ze bevindt zich nu in het persoonlijke thuisnetwerk van Bob en kan gegevens heen en weer zien bewegen. De gegevens zijn versleuteld, dus ze kan nog niet per se zien wat het is, maar ze kan wel zien dat Bob ThisBankDoesNotExist.com (123.123.123.123) vrij vaak bezoekt en inlogt, dus begon ze met het opzetten van een server en webpagina voor Bob, dat is een pixel-perfecte kopie van de inlogpagina van ThisBankDoesNotExist.com.

Dan verandert Mallory de DNS-vermelding van Bob voor ThisBankDoesNotExist.com in (123.45.67.89)

De aanval

Bob navigeert naar ThisBankDoesNotExist.com. Hij neemt niet de moeite om https:// voor de domeinnaam te typen, en door de hacks van Mallory maakt hij geen verbinding met de juiste computer, hij is op http://ThisBankDoesNotExist.com -- dus er verschijnen geen certificaatwaarschuwingen.

Bob weet hier echter niets van; hij ziet de pixel-perfecte kopie en typt zijn gebruikersnaam/wachtwoord in op de computer van Mallory, en precies zoals hij verwacht, verschijnt de accountinformatie.

Behalve nu kan Mallory alles zien:elke transactie, elke geautoriseerde rekeninghouder en zelfs Bobs supergecompliceerde gebruikersnaam/wachtwoord (bob/letmein) die hij gebruikt om zijn accountgegevens te beschermen.

De nasleep van de hack

Bijna alle websites gebruiken end-to-end-encryptie. Dat betekent dat de gegevens alleen kunnen worden ontsleuteld op de computer van Bob en de computer van de bank. Mallory heeft een nieuw eindpunt geïntroduceerd. Het verkeer van Bob wordt gecodeerd op zijn computer en gedecodeerd op de computer van Mallory. Vervolgens worden de gegevens opnieuw gecodeerd op de computer van Mallory en gedecodeerd op de computer van de bank. Dit verschijnt nog steeds als end-to-end-codering voor zowel Bob als de bank.

Maar er is een tussenliggend eindpunt:de computer van Mallory. Mallory kan hetzelfde trucje doen om Bobs ziekenhuisgegevens, e-mail, enz. te vinden.

Ingesloten systemen beveiligen

De eenvoudigste manier om uw apparaten te beveiligen, is door uw producten moeilijk te hacken te maken.

Als ze weerstand ondervinden, bestaat de kans dat de hacker gewoon doorgaat naar het volgende doelwit. Aan de andere kant is het voor een individu of een klein bedrijf moeilijk om hacks van nationale staten te voorkomen. Gelukkig zijn veel "hackers" gewoon "scriptkiddies" die niet over de expertise beschikken om nieuwe aanvallen te ontwikkelen en problemen op te lossen wanneer ze zich voordoen. Als er geen YouTube-video en GitHub voor je apparaat is, weten ze niet wat ze moeten doen en gaan ze verder.

Praat ook met uw microchipleverancier voor meer informatie over het beveiligen van uw apparaten. Zowel Microchip als Silicon Labs kwamen prominent aan bod in deze serie artikelen omdat beide bedrijven technici beschikbaar stelden voor een interview voor deze artikelen.

Als u een IoT-apparaat ontwerpt, kunt u verschillende dingen doen om de kans te verkleinen dat uw klanten hun spaargeld verliezen als gevolg van uw nalatige engineering- en programmeerpraktijken.

Overweeg, naast de hierboven genoemde gedachten, deze aanvullende stappen:

  1. Ontwerp met een microcontroller en toolchain die firmware-authenticatie ondersteunt (AKA secure boot). Alleen correct ondertekende digitale firmware zal op de microcontroller draaien en alleen u kent de privésleutel. Zowel Silicon Labs als Microchip (en andere leveranciers) hebben microcontrollers die veilig opstarten ondersteunen.
  2. Gebruik waar mogelijk een microcontroller met een veilige debug-functie. Sommige van deze hacks zijn mogelijk omdat hackers gegevens van de hostmicrocontroller kunnen injecteren en ophalen en deze kunnen gebruiken om te bepalen wat er in het microcontrollerpakket gebeurt. Als de gegevens vervormd of helemaal niet uitkomen, zullen ze gefrustreerd zijn en verder gaan. Nogmaals, Silicon Labs en Microchip (en andere leveranciers) hebben deze mogelijkheid.
  3. Lees over beveiliging , stel vragen aan experts en stuur uw ontwerp naar de applicatie-ingenieurs van uw apparaatfabrikant om feedback te ontvangen over uw voorgestelde beveiligingsschema, bordindeling, enz.
  4. Gebruik anti-sabotagetechnieken om uw privésleutel uit het geheugen te wissen als er met het apparaat is geknoeid.
    • TE Connectivity maakt piëzo-filmvellen die zich volledig om uw PCB kunnen wikkelen. Als de plaat wordt doorgesneden, beschadigd, gesmolten, enz., genereert deze een spanning om een ​​sabotagetoestand aan te geven.
    • Gebruik capacitieve of inductieve sensoren (zoals die van TI) om te detecteren wanneer uw projectbehuizing is geopend, of Hall-effectsensoren om te detecteren wanneer de schroeven van de behuizing worden gedraaid.
  5. Stel dat tegen de tijd dat uw apparaat in handen is van de eerste klant, het al gehackt is. Maak een projectbeveiligingsblauwdruk waarmee een of meer individuele apparaten kunnen worden gecompromitteerd zonder dat dit uw hele project beïnvloedt.

Deze serie artikelen was slechts een inleiding tot beveiliging. Het is jouw verantwoordelijkheid als engineer om het IoT voor iedereen veilig te maken.


Internet of Things-technologie

  1. IoT in de gezondheidszorg:wat u moet weten
  2. Beveiligingsproblemen van het industriële IoT aanpakken
  3. Industriële IoT-beveiliging bouwt voort op hardware
  4. Op zoek naar een beheerd IoT-ecosysteem dat werkt
  5. Drie vragen die netwerkoperators moeten stellen over IoT-beveiliging
  6. Het is de beveiliging, niet COVID-19, die de commerciële implementatie van 5G op de proef stelt
  7. Waarom beveiliging van industriële automatisering een nieuwe focus moet zijn
  8. 7 React-bibliotheken die je moet kennen
  9. Drie dingen die elke IoT-fabrikant zou moeten doen om de beveiliging te verbeteren
  10. Basisprincipes van het ontwerp van het bedieningspaneel
  11. Rapport State of Cyber ​​Assets vindt nog steeds kwetsbaarheden