De eerste stappen op weg naar automatisch testen van IoT-apparaten

Het NCSC heeft TNO in 2019 laten onderzoeken of de in ontwikkeling zijnde IETF-standaard Manufacturer Usage Description ( MUD) geschikt is om IoT-apparaten (Internet of Things) geautomatiseerd te testen en zodoende certificering gemakkelijker te maken.

Aan de hand van het IoT Security Framework van het Open Web Application Security Project (OWASP) is onderzocht of het mogelijk is om een geautomatiseerde testomgeving voor IoT-apparaten op te zetten die de MUD-standaard als startpunt neemt. MUD is nog in ontwikkeling, maar biedt een aantal interessante perspectieven voor de toekomst.

In 2014 is OWASP begonnen met het Internet of Things Project om producenten, ontwikkelaars en gebruikers van IoT-apparaten een beter inzicht te geven in de kwetsbaarheden die veel apparaten hebben. Het project is openbaar en door iedereen te gebruiken.

Vergroot afbeelding
Beeld: ©NCSC

Hoe werkt MUD?

MUD richt zich op ‘access control’ op netwerkniveau door producenten in staat te stellen de communicatiepatronen van hun IoT-apparaten in een profiel te vangen. Het principe van MUD is dat de producent, de Manufacturer, in een bestand het bedoelde gebruik, de Usage, van een apparaat aangeeft, oftewel het Description component.

MUD werkt door het apparaat te koppelen aan een MUD URL. Deze URL geldt als de ‘locator’ voor de MUD-file op de server van de producent. De MUD-server, of manager, haalt de file op bij de producent. Deze server kan geplaatst worden in een router of een op zichzelf staand apparaat zijn. In de MUD-file levert de producent de netwerkverbindingen aan die het apparaat nodig heeft om taken uit te voeren.

Een bewakingscamera zou bijvoorbeeld met 1 IP-adres binnen het eigen netwerk mogen communiceren, de thuisserver. Daarnaast mag de camera eenmaal per dag communiceren met een externe server om te kijken of er updates klaarstaan. Voor elk IoT-apparaat zou in de MUD-file een communicatieprofiel staan die het apparaat in staat stelt de taken waarvoor het is gemaakt, uit te voeren en alle andere te blokkeren.

Welke perspectieven biedt MUD?

In een ideale wereld zou MUD testers in staat moeten stellen om IoT-apparaten netjes onder te verdelen in communicatieprofielen en gewenst en ongewenst gedrag per categorie te vergelijken. Dit proces wordt geautomatiseerd om zo testen op security-eisen voorafgaand aan certificering van de apparaten te vergemakkelijken.

De realiteit is echter weerbarstiger. Veel IoT-apparaten hebben meerdere functies en vervullen dus meerdere communicatieprofielen. Denk bijvoorbeeld aan een webcam met een camera met microfoonfunctie. Deze functies kunnen ook voorkomen in bijvoorbeeld een smart-tv. Dit maakt het indelen van IoT-apparaten op basis van MUD arbeidsintensief.

Een geautomatiseerde manier om onderscheid te maken tussen IoT-apparaten op basis van hun MUD-file is in de huidige vorm van de standaard nog niet mogelijk. Wel biedt MUD mogelijkheden voor het handmatig testen op verschillende onderdelen, waaronder de Device web interface, Device network service (alleen standaardprotocollen) en Network traffic (LAN, LAN to internet en Wi-Fi).

Wat zijn de belangrijkste uitkomsten?

De MUD-standaard is momenteel is nog in de conceptfase en mist nog complexiteit om IoT-apparaten in onderscheidende communicatieprofielen op te delen en hierop geautomatiseerd te kunnen testen.

Wel biedt MUD de mogelijkheid om op bepaalde delen van een IoT-apparaat handmatig te testen. Dit kan delen van het testproces voor IoT-apparaten gemakkelijk maken. Daarnaast zijn de MUD-files erg bruikbaar voor handmatige analyse van apparaten.

Wat doet het NCSC?

In opdracht van het NCSC heeft TNO onderzocht of MUD geschikt is om IoT-apparaten automatisch te testen en zo certificering te vereenvoudigen. De onderzoeksresultaten zijn door TNO verwerkt in een memo en gepresenteerd in een interne kennissessie aan medewerkers van het NCSC. De belangrijkste uitkomsten van het onderzoek zijn verwerkt in dit artikel.

Voor meer informatie over het onderzoek, kunt u mailen naar research@ncsc.nl.