Beveiligingsarchitectuur voor IoT-oplossingen
Wanneer u een IoT-oplossing ontwerpt en ontwerpt, is het belangrijk dat u de mogelijke bedreigingen begrijpt en de juiste verdediging opneemt. Als u weet hoe een aanvaller inbreuk kan maken op een systeem, kunt u ervoor zorgen dat de juiste oplossingen vanaf het begin worden geïmplementeerd.
Bedreigingsmodellen
Microsoft raadt u aan om een proces voor bedreigingsmodellering te gebruiken als onderdeel van het ontwerp van uw IoT-oplossing. Als u niet bekend bent met threat modeling en de levenscyclus voor veilige ontwikkeling, raadpleegt u:
Beveiliging in IoT
Het is handig om uw IoT-architectuur te verdelen in verschillende zones als onderdeel van de oefening over threat modeling:
- Apparaat
- Veldgateway
- Cloudgateway
- Service
Elke zone heeft vaak zijn eigen vereisten voor gegevens en verificatie en autorisatie. U kunt zones ook gebruiken om schade te isoleren en de impact van zones met een lage vertrouwensrelatie op zones met een hogere vertrouwensrelatie te beperken.
Elke zone wordt gescheiden door een vertrouwensgrens, die wordt weergegeven als de rode stippellijn in het volgende diagram. Het vertegenwoordigt een overgang van gegevens van de ene bron naar de andere. Tijdens deze overgang kunnen de gegevens onderhevig zijn aan de volgende bedreigingen:
- Adresvervalsing (spoofing)
- Manipulatie
- Verwerping
- Openbaarmaking van informatie
- Denial of Service
- Verhoging van bevoegdheden
Zie het STRIDE-model voor meer informatie.
U kunt STRIDE gebruiken om de bedreigingen voor elk onderdeel binnen elke zone te modelleren. In de volgende secties worden alle onderdelen en specifieke beveiligingsproblemen en oplossingen beschreven die moeten worden geïmplementeerd.
In de rest van dit artikel worden de bedreigingen en oplossingen voor deze zones en onderdelen uitvoeriger besproken.
Apparaatzone
De apparaatomgeving is de ruimte rond het apparaat waar fysieke toegang en digitale toegang van het lokale netwerk tot het apparaat haalbaar is. Een lokaal netwerk wordt verondersteld onderscheid te maken van – maar mogelijk overbrugd tot – het openbare internet. De apparaatomgeving omvat alle draadloze radiotechnologie van een kort bereik die peer-to-peer-communicatie van apparaten toestaat. Het bevat geen netwerkvirtualisatietechnologie die de illusie van een dergelijk lokaal netwerk creëert. Het omvat geen openbare operatornetwerken waarvoor twee apparaten moeten communiceren via openbare netwerkruimte als ze een peer-to-peer-communicatierelatie zouden invoeren.
Veldgatewayzone
Een veldgateway is een computersoftware voor apparaten, apparaten of algemeen gebruik die fungeert als communicatie-enabler en, mogelijk, als een apparaatbeheersysteem en de hub voor gegevensverwerking van apparaten. De veldgatewayzone bevat de veldgateway zelf en alle apparaten die eraan zijn gekoppeld. Veldgateways werken buiten toegewezen gegevensverwerkingsfaciliteiten, zijn meestal locatiegebonden, zijn mogelijk onderhevig aan fysieke inbraak en hebben beperkte operationele redundantie. Een veldgateway is meestal een ding dat een aanvaller fysiek kan saboteren als ze fysieke toegang hebben verkregen.
Een veldgateway verschilt van een verkeersrouter omdat deze een actieve rol heeft bij het beheren van toegang en informatiestroom. De veldgateway heeft twee verschillende oppervlaktegebieden. Eén ziet de apparaten die eraan zijn gekoppeld en vertegenwoordigt de binnenkant van de zone. De andere gezichten zijn alle externe partijen en is de rand van de zone.
Cloudgatewayzone
Een cloudgateway is een systeem dat externe communicatie mogelijk maakt van en naar apparaten of veldgateways die op meerdere sites zijn geïmplementeerd. De cloudgateway maakt doorgaans een cloudbeheer- en gegevensanalysesysteem of een federatie van dergelijke systemen mogelijk. In sommige gevallen kan een cloudgateway de toegang tot apparaten met speciale doeleinden onmiddellijk vergemakkelijken vanaf terminals zoals tablets of telefoons. In de cloudgatewayzone voorkomen operationele maatregelen gerichte fysieke toegang en worden ze niet noodzakelijkerwijs blootgesteld aan een openbare cloudinfrastructuur.
Een cloudgateway kan worden toegewezen aan een overlay voor netwerkvirtualisatie om de cloudgateway en alle gekoppelde apparaten of veldgateways te isoleren van elk ander netwerkverkeer. De cloudgateway zelf is geen apparaatbeheersysteem of een verwerkings- of opslagfaciliteit voor apparaatgegevens; deze faciliteiteninterface met de cloudgateway. De cloudgatewayzone bevat de cloudgateway zelf, samen met alle veldgateways en apparaten die er direct of indirect aan zijn gekoppeld. De rand van de zone is een uniek oppervlak waar alle externe partijen mee communiceren.
Serviceszone
Een service in deze context is een softwareonderdeel of module die interfaces met apparaten maakt via een veld of cloudgateway. Een service kan gegevens verzamelen van de apparaten en opdrachten en deze apparaten beheren. Een dienst is een bemiddelaar die onder zijn identiteit handelt naar gateways en andere subsystemen om:
- Gegevens opslaan en analyseren
- Opdrachten uitgeven aan apparaten op basis van gegevensinzichten of -planningen
- Informatie en beheermogelijkheden beschikbaar maken voor geautoriseerde eindgebruikers
IoT-apparaten
IoT-apparaten zijn vaak speciaal ontworpen apparaten die variëren van eenvoudige temperatuursensoren tot complexe fabrieksproductielijnen met duizenden onderdelen erin. Voorbeelden van ioT-apparaatmogelijkheden zijn:
- Omgevingsomstandigheden meten en rapporteren
- Draaikleppen
- Servo's bedienen
- Alarmen klinken
- Licht in- of uitschakelen
Het doel van deze apparaten bepaalt hun technische ontwerp en het beschikbare budget voor hun productie- en geplande levensduur. De combinatie van deze factoren beperkt het beschikbare operationele energiebudget, de fysieke footprint en de beschikbare opslag-, reken- en beveiligingsmogelijkheden.
Dingen die fout kunnen gaan met een geautomatiseerd of extern beheerd IoT-apparaat zijn onder andere:
- Fysieke defecten
- Logische defecten beheren
- Opzettelijke onbevoegde inbraak en manipulatie.
De gevolgen van deze storingen kunnen ernstig zijn, zoals vernietigde productiepartijen, brandende gebouwen of letsel en dood. Er is daarom een hoge beveiligingsbalk voor apparaten die dingen verplaatsen of die sensorgegevens rapporteren die leiden tot opdrachten die ertoe leiden dat dingen worden verplaatst.
Interactie tussen apparaatbeheer en apparaatgegevens
Verbonden speciale apparaten hebben een aanzienlijk aantal potentiële interactieoppervlakken en interactiepatronen, die allemaal moeten worden beschouwd als een kader voor het beveiligen van digitale toegang tot die apparaten. Digitale toegang verwijst naar bewerkingen die worden uitgevoerd via software en hardware in plaats van via directe fysieke toegang tot het apparaat. Fysieke toegang kan bijvoorbeeld worden beheerd door het apparaat in een ruimte te plaatsen met een slot op de deur. Hoewel fysieke toegang niet kan worden geweigerd met behulp van software en hardware, kunnen maatregelen worden genomen om te voorkomen dat fysieke toegang tot systeeminterferentie leidt.
Wanneer u de interactiepatronen verkent, bekijkt u apparaatbeheer en apparaatgegevens met hetzelfde niveau van aandacht. Apparaatbeheer verwijst naar alle informatie die aan een apparaat wordt verstrekt met de bedoeling het gedrag ervan te wijzigen. Apparaatgegevens verwijzen naar informatie die een apparaat verzendt naar een andere partij over de status en de waargenomen status van de omgeving.
Threat modeling voor de Azure IoT-referentiearchitectuur
In deze sectie wordt gebruikgemaakt van de Azure IoT-referentiearchitectuur om te laten zien hoe u nadenkt over bedreigingsmodellering voor IoT en hoe u de geïdentificeerde bedreigingen kunt aanpakken:
Het volgende diagram biedt een vereenvoudigde weergave van de referentiearchitectuur met behulp van een gegevensstroomdiagrammodel:
De architectuur scheidt de mogelijkheden van de apparaat- en veldgateway. Met deze aanpak kunt u veiligere veldgatewayapparaten gebruiken. Veldgatewayapparaten kunnen communiceren met de cloudgateway met behulp van beveiligde protocollen, die doorgaans een grotere verwerkingskracht vereisen dan een eenvoudig apparaat, zoals een thermostaat, zelf kan bieden. In de Azure Services-zone in het diagram is de Azure IoT Hub-service de cloudgateway.
Op basis van de architectuur die eerder is beschreven, worden in de volgende secties enkele voorbeelden van bedreigingsmodellering weergegeven. De voorbeelden richten zich op de kernelementen van een bedreigingsmodel:
- Processen
- Communicatie
- Storage
Processen
Hier volgen enkele voorbeelden van bedreigingen in de categorie Processen. De bedreigingen worden gecategoriseerd op basis van het STRIDE-model:
Adresvervalsing: een aanvaller kan cryptografische sleutels extraheren van een apparaat, hetzij op software- of hardwareniveau. De aangevallen gebruiker gebruikt deze sleutels vervolgens om toegang te krijgen tot het systeem vanaf een ander fysiek of virtueel apparaat met behulp van de identiteit van het oorspronkelijke apparaat.
Denial of Service: Een apparaat kan niet functioneren of communiceren door radiofrequenties of snijdraad te verstoren. Een bewakingscamera met zijn stroom- of netwerkverbinding kan bijvoorbeeld helemaal geen gegevens rapporteren.
Manipulatie: Een aanvaller kan de software op het apparaat gedeeltelijk of volledig vervangen. Als de cryptografische sleutels van het apparaat beschikbaar zijn voor de code van de aanvallers, kan het de identiteit van het apparaat gebruiken.
Manipulatie: Een bewakingscamera die een zichtbare spectrumfoto van een lege gang weergeeft, kan gericht zijn op een foto van een dergelijke gang. Een rook- of brandsensor kan iemand melden die er een lichter onder houdt. In beide gevallen kan het apparaat technisch betrouwbaar zijn voor het systeem, maar het rapporteert gemanipuleerde informatie.
Manipulatie: Een aanvaller kan geëxtraheerde cryptografische sleutels gebruiken om gegevens die vanaf het apparaat worden verzonden te onderscheppen en onderdrukken en vervangen door valse gegevens die zijn geverifieerd door de gestolen sleutels.
Openbaarmaking van informatie: als het apparaat gemanipuleerde software uitvoert, kan dergelijke gemanipuleerde software mogelijk gegevens lekken naar onbevoegde partijen.
Openbaarmaking van gegevens: Een aanvaller kan geëxtraheerde cryptografische sleutels gebruiken om code in het communicatiepad tussen het apparaat en de veldgateway of cloudgateway te injecteren om informatie af te fonnen.
Denial of Service: Het apparaat kan worden uitgeschakeld of omgezet in een modus waarin communicatie niet mogelijk is (dat is opzettelijk in veel industriële machines).
Manipulatie: Het apparaat kan opnieuw worden geconfigureerd om te werken in een toestand die onbekend is bij het controlesysteem (buiten bekende kalibratieparameters) en zo gegevens leveren die onjuist kunnen worden geïnterpreteerd
Uitbreiding van bevoegdheden: een apparaat dat een specifieke functie uitvoert, kan worden gedwongen iets anders te doen. Zo kan een klep die halverwege is geprogrammeerd om te openen, worden misleid om helemaal open te gaan.
Spoofing/Manipulatie/Repudiation: als deze niet is beveiligd (wat zelden het geval is bij externe besturingselementen van consumenten), kan een aanvaller de status van een apparaat anoniem manipuleren. Een goede illustratie is een afstandsbediening die elke tv kan uitschakelen.
In de volgende tabel ziet u voorbeelden van oplossingen voor deze bedreigingen. De waarden in de bedreigingskolom zijn afkortingen:
- Adresvervalsing (S)
- Manipulatie (T)
- Repudiation (R)
- Openbaarmaking van informatie (I)
- Denial of Service (D)
- Uitbreiding van bevoegdheden (E)
Onderdeel | Bedreiging | Oplossing | Risico | Implementatie |
---|---|---|---|---|
Apparaat | S | Identiteit toewijzen aan het apparaat en verifiëren van het apparaat | Het apparaat of een deel van het apparaat vervangen door een ander apparaat. Hoe weet u dat u met het juiste apparaat praat? | Het apparaat verifiëren met behulp van Transport Layer Security (TLS) of IPSec. Infrastructuur moet ondersteuning bieden voor het gebruik van vooraf gedeelde sleutels (PSK) op die apparaten die geen volledige asymmetrische cryptografie kunnen verwerken. Gebruik Microsoft Entra-id, OAuth. |
TRID | Pas manipulatiebestendige mechanismen toe op het apparaat, bijvoorbeeld door het moeilijk te maken om sleutels en ander cryptografisch materiaal van het apparaat te extraheren. | Het risico is dat iemand het apparaat knoeit (fysieke interferentie). Hoe weet u zeker dat niemand met het apparaat heeft geknoeid? | De meest effectieve beperking is een TPM (Trusted Platform Module). Een TPM slaat sleutels op, maar staat niet toe dat ze worden gelezen. De TPM zelf kan echter de sleutels gebruiken voor cryptografische bewerkingen. Geheugenversleuteling van het apparaat. Sleutelbeheer voor het apparaat. De code ondertekenen. | |
E | Toegangsbeheer van het apparaat hebben. Autorisatieschema. | Als het apparaat toestaat dat afzonderlijke acties worden uitgevoerd op basis van opdrachten van een externe bron of zelfs gecompromitteerde sensoren, kan de aanval bewerkingen uitvoeren die anders niet toegankelijk zijn. | Autorisatieschema voor het apparaat hebben. | |
Veldgateway | S | De veldgateway verifiëren bij cloudgateway (zoals op basis van certificaten, PSK of Claim).) | Als iemand veldgateway kan spoofen, kan deze zichzelf presenteren als elk apparaat. | TLS RSA/PSK, IPSec, RFC 4279. Dezelfde belangrijke opslag- en attestation-problemen van apparaten in het algemeen: het beste geval is TPM gebruiken. 6LowPAN-extensie voor IPSec ter ondersteuning van Draadloze Sensor Networks (WSN). |
TRID | De Veldgateway beschermen tegen manipulatie (TPM) | Spoofing-aanvallen die de cloudgateway misleiden die denken dat het met een veldgateway praat, kan leiden tot openbaarmaking van informatie en manipulatie van gegevens | Geheugenversleuteling, TPM's, verificatie. | |
E | Toegangsbeheermechanisme voor Field Gateway |
Communicatie
Hier volgen enkele voorbeelden van bedreigingen in de communicatiecategorie. De bedreigingen worden gecategoriseerd op basis van het STRIDE-model:
Denial of Service: Beperkte apparaten zijn over het algemeen onder DoS-bedreigingen wanneer ze actief luisteren naar binnenkomende verbindingen of ongevraagde datagrammen op een netwerk. Een aanvaller kan veel verbindingen parallel openen en ze niet langzaam servicen of servicen, of het apparaat overspoelen met ongevraagd verkeer. In beide gevallen kan het apparaat effectief onbruikbaar worden gemaakt op het netwerk.
Adresvervalsing, openbaarmaking van informatie: beperkte apparaten en apparaten voor speciale doeleinden hebben vaak een-op-alle beveiligingsfaciliteiten, zoals wachtwoord- of pincodebeveiliging. Soms vertrouwen ze volledig op het netwerk en verlenen ze toegang tot informatie op elk apparaat in hetzelfde netwerk. Als het netwerk wordt beveiligd door een gedeelde sleutel die openbaar wordt gemaakt, kan een aanvaller het apparaat beheren of de gegevens observeren die worden verzonden.
Spoofing: een aanvaller kan de uitzending onderscheppen of gedeeltelijk overschrijven en de oorspronkelijke afzender spoofen.
Manipulatie: Een aanvaller kan de uitzending onderscheppen of gedeeltelijk overschrijven en valse informatie verzenden.
Openbaarmaking van informatie: een aanvaller kan afluisteren bij een uitzending en informatie verkrijgen zonder autorisatie.
Denial of Service: Een aanvaller kan het broadcast-signaal vastlopen en informatiedistributie weigeren.
In de volgende tabel ziet u voorbeelden van oplossingen voor deze bedreigingen:
Onderdeel | Bedreiging | Oplossing | Risico | Implementatie |
---|---|---|---|---|
IoT Hub van apparaat | TID | (D) TLS (PSK/RSA) om het verkeer te versleutelen | Afluisteren of verstoren van de communicatie tussen het apparaat en de gateway | Beveiliging op protocolniveau. Met aangepaste protocollen moet u erachter komen hoe u deze kunt beveiligen. In de meeste gevallen vindt de communicatie plaats van het apparaat naar de IoT Hub (het apparaat initieert de verbinding). |
Apparaat naar apparaat | TID | (D) TLS (PSK/RSA) om het verkeer te versleutelen. | Gegevens tijdens overdracht tussen apparaten lezen. Knoeien met de gegevens. Het apparaat overbelasten met nieuwe verbindingen | Beveiliging op protocolniveau (MQTT/AMQP/HTTP/CoAP). Met aangepaste protocollen moet u erachter komen hoe u deze kunt beveiligen. De oplossing voor de DoS-bedreiging is om apparaten te peeren via een cloud- of veldgateway en deze alleen als clients naar het netwerk te laten fungeren. Nadat de gateway de peering heeft gebrokers, kan er een directe verbinding zijn tussen de peers. |
Apparaat voor externe entiteit | TID | Sterk koppelen van de externe entiteit aan het apparaat | De verbinding met het apparaat afluisteren. De communicatie met het apparaat verstoren | De externe entiteit veilig koppelen aan het apparaat NFC/Bluetooth LE. Het operationele paneel van het apparaat beheren (fysiek). |
Field Gateway Cloud Gateway | TID | TLS (PSK/RSA) om het verkeer te versleutelen. | Afluisteren of verstoren van de communicatie tussen het apparaat en de gateway | Beveiliging op protocolniveau (MQTT/AMQP/HTTP/CoAP). Met aangepaste protocollen moet u erachter komen hoe u deze kunt beveiligen. |
Apparaatcloudgateway | TID | TLS (PSK/RSA) om het verkeer te versleutelen. | Afluisteren of verstoren van de communicatie tussen het apparaat en de gateway | Beveiliging op protocolniveau (MQTT/AMQP/HTTP/CoAP). Met aangepaste protocollen moet u erachter komen hoe u deze kunt beveiligen. |
Storage
In de volgende tabel ziet u voorbeelden van oplossingen voor de opslagbedreigingen:
Onderdeel | Bedreiging | Oplossing | Risico | Implementatie |
---|---|---|---|---|
Apparaatopslag | TRID | Opslagversleuteling, ondertekening van de logboeken | Gegevens lezen uit de opslag, knoeien met telemetriegegevens. Manipulatie met in de wachtrij geplaatste of in de cache opgeslagen opdrachtbeheergegevens. Manipulatie met configuratie- of firmware-updatepakketten terwijl lokaal in de cache of in de wachtrij geplaatst wordt, kan ertoe leiden dat er inbreuk wordt gemaakt op besturingssysteem- en/of systeemonderdelen | Versleuteling, berichtverificatiecode (MAC) of digitale handtekening. Waar mogelijk, sterk toegangsbeheer via toegangsbeheerlijsten voor resources (ACL's) of machtigingen. |
Installatiekopieën van het besturingssysteem van het apparaat | TRID | Manipulatie door besturingssysteem /vervangen van de onderdelen van het besturingssysteem | Alleen-lezen besturingssysteempartitie, ondertekende besturingssysteeminstallatiekopie, versleuteling | |
Veldgatewayopslag (in wachtrij plaatsen van de gegevens) | TRID | Opslagversleuteling, ondertekening van de logboeken | Gegevens lezen uit de opslag, knoeien met telemetriegegevens, knoeien met gegevens in de wachtrij of in de cache opgeslagen opdrachtbeheergegevens. Manipulatie met configuratie- of firmware-updatepakketten (bestemd voor apparaten of veldgateway) terwijl lokaal in de cache of in de wachtrij geplaatste onderdelen leiden tot inbreuk op het besturingssysteem en/of systeemonderdelen | BitLocker |
Afbeelding van het veldgateway-besturingssysteem | TRID | Manipulatie door besturingssysteem /vervangen van de onderdelen van het besturingssysteem | Alleen-lezen besturingssysteempartitie, ondertekende besturingssysteeminstallatiekopie, versleuteling |
Volgende stappen
Zie voor meer informatie over IoT-beveiliging: