Slimme apparaten veiliger dankzij Manufacturer Usage Description

De vele smarthome-apparaten die we in ons thuisnetwerk opnemen, zijn allen mogelijk doelwit voor cybercriminelen. Hoe voorkom je dat een gehackt apparaat vrij spel krijgt in je netwerk? Eén instrument daarvoor is Manufacturer Usage Description (MUD), een standaard waarmee apparaten aanduiden welke netwerktoegang ze nodig hebben. Zo worden slimme apparaten veiliger in gebruik.

Welke types apparaten zijn er allemaal actief op je netwerk? En welk gedrag is normaal en bij welk gedrag zouden er alarmbellen moeten aangaan? Er bestaan zelflerende firewalls die het gedrag van netwerkapparaten leren uit het geobserveerde netwerkverkeer. Als een slimme lamp bijvoorbeeld alleen maar communiceert met de server van de fabrikant, zodat gebruikers van welke locatie dan ook via een mobiele app de lamp kunnen aansturen, zou een zelflerende firewall al het andere verkeer van of naar de lamp kunnen blokkeren. 

Het probleem is dat de firewall alleen maar kan leren uit wat hij ziet. Als de fabrikant tijdens de periode dat jij je firewall iets laat leren bijvoorbeeld geen nieuwe updates aan je slimme lamp aanbiedt, heeft je firewall niet geleerd dat die actie normaal is. Als de fabrikant later dan toch een update pusht, wordt die door de firewall geblokkeerd.

Om op dit probleem een antwoord te bieden, werkte netwerkfabrikant Cisco aan de standaard Manufacturer Usage Description (MUD). Het idee daarvan is dat de firewall niet op eigen houtje moet uitvinden wat normaal gedrag van een netwerkapparaat is, maar dat het apparaat dat laat weten. Je firewall kan dan veilig al het andere gedrag blokkeren, zonder de normale werking van het apparaat te hinderen.

In dit systeem is een belangrijke rol weggelegd voor de fabrikant van het apparaat. Een fabrikant van een slimme lamp zal dan bijvoorbeeld in een gedragsprofiel aangeven dat de lamp alleen toegang nodig heeft tot de server waarmee gebruikers via een mobiele app de lamp kunnen aansturen, een server voor de updates en een server voor het DNS. Elke andere netwerktoegang is ongewenst en kan worden geblokkeerd.

Hoe werkt MUD?

Hoe werkt dat in de praktijk? Een IoT-apparaat dat MUD ondersteunt, stuurt, zodra het met je netwerk verbindt, een url uit via Link Layer Discovery Protocol (LLDP), Dynamic Host Configuration Protocol (DHCP) of 802.1X. De switch, DHCP-server of RADIUS-server op je netwerk pikt die url op, die zo bij de MUD Manager komt.

De MUD Manager is software die het bestand waarnaar de MUD-url verwijst, downloadt. Dit bestand staat op een server van de fabrikant. Het MUD-bestand beschrijft het gedrag van het apparaat. De MUD Manager vertaalt dit gedrag in een netwerkpolicy of access control list, die naar de firewall wordt doorgestuurd om toe te passen.

Kortom, dankzij de samenwerking tussen je IoT-apparaat, netwerkapparatuur, MUD Manager en de MUD-server van de fabrikant, is die ene url die het IoT-apparaat uitstuurt voldoende om het apparaat met de juiste firewallregels te beperken, zodat het niet meer netwerktoegang krijgt dan nodig. Een fabrikant kan het MUD-bestand desgewenst op zijn webserver aanpassen, waarna de MUD Manager de firewallregels aanpast.

MUD is in 2019 aangenomen als IETF-standaard, namelijk RFC 8520. Een MUD-bestand zelf geeft alleen aan welke toegang tot het netwerk een apparaat nodig heeft om correct te werken. Het daadwerkelijk blokkeren van apparaten die niet aan het gebruiksprofiel voldoen, valt buiten het bestek van de specificatie.

In de praktijk wordt het profiel in een MUD-bestand door aanvullende software vertaald in OpenFlow-regels. OpenFlow is een communicatieprotocol voor Software Defined Networking (SDN). Het is een standaard die toelaat om switches van diverse fabrikanten op dezelfde manier aan te sturen.

Beperkingen van MUD

MUD is een interessant instrument om op een veilige manier IoT-apparaten op je netwerk te laten, maar er kleven ook beperkingen aan. Zo is MUD specifiek bedoeld voor IP-apparaten. En dat terwijl in smarthome-toepassingen ook nog heel wat niet-IP-protocollen worden gebruikt, zoals Zigbee, Z-Wave, bluetooth en LoRaWAN. Voor al deze apparaten is MUD niet bruikbaar. Voor de gateway die de niet-IP-berichten naar IP vertaalt (bijvoorbeeld een Philips Hue Bridge) kun je wel een MUD-bestand aanmaken, maar dat moet dan het verkeer van alle verbonden apparaten beschrijven.

Een ander probleem is dat je niet voor alle apparaten MUD wilt inzetten. Voor IoT-apparaten is MUD perfect, omdat die een goed afgelijnd gebruiksprofiel hebben. Maar voor je laptop, of zelfs voor een Raspberry Pi of NAS, is het heel wat minder eenvoudig om een MUD-bestand aan te maken. Wat doe je dan met apparaten die geen MUD-url uitsturen? Gewoon alles toelaten? Maar dan kan een gecompromitteerd IoT-apparaat gewoon de beschermingsmaatregelen omzeilen door geen MUD-url meer uit te sturen.

De ontwikkeling van MUD

2016: IETF begint aan standaardisering MUD

2019: IETF neemt MUD aan als standaard

2019: Cisco ISE 2.6 voegt ondersteuning voor MUD toe

2021: Het Amerikaanse NIST publiceert SP 1800-15 als gids voor MUD

Mud toepassen

Als je MUD in je netwerk wilt toepassen, zul je gebruik moeten maken van netwerkapparatuur die MUD ondersteunt, zoals Cisco ISE voor (een onvolledige implementatie van) de MUD Manager en compatibele switches, zoals de Cisco Catalyst-switches. Cisco heeft ook de broncode van een MUD Manager gepubliceerd die je samen met een RADIUS-server gebruikt. Er is ook osMUD, een opensource MUD Manager die op OpenWrt-routers draait, maar de ontwikkeling daarvan lijkt stil te liggen. En het Amerikaanse NIST heeft een implementatie gepubliceerd met nist-mud.

Cisco heeft duidelijke documentatie in een MUD Developer Guide gepubliceerd. En ook op de website MUD Maker vind je een stappenplan om MUD-bestanden aan te maken voor je eigen IoT-apparaten. Je vult er in hoe je apparaat op het netwerk moet communiceren en de website genereert vervolgens een MUD-bestand. Je kunt ook MUD-bestanden visualiseren. De MUD Files Database van GlobalPlatform kan voor inspiratie dienen.

Hoewel de standaard dus klaar is en er al heel wat tools rond bestaan, ondersteunt nog maar weinig netwerkapparatuur MUD. Het mag dan ook niet verbazen dat IoT-fabrikanten voorlopig nog de kat uit de boom kijken. Zolang consumenten er niet naar vragen of overheden het niet verplichten, hebben IoT-fabrikanten er weinig voordeel aan om MUD te ondersteunen.

Geschreven door: Koen Vervloesem op

Category: Nieuws, Domotica

Tags: security, standaard, iot, cybercrime