Som du ser är vår webbplats inte anpassad för äldre webbläsare. Vi rekommenderar att du uppgraderar till en nyare webbläsare.

Publicerad - MQTT, IoT, klartext

IoT-servrar som står oskyddade på internet

Implementationer av MQTT där säkerhet inte ens kommit i efterhand.

Introduktion till MQTT

MQTT är ett protokoll, en standard, för överföring av data via en server.
Det är resurssnålt, lätt att implementera och det är ett av en handfull liknande protokoll som är Open-Source. Detta gör MQTT lämpligt för IoT-applikationer, där sensorer sänder mätdata till en server som skickar datat vidare till styr- och reglersystem, webbservrar eller direkt till datorer eller mobiltelefoner.

Skiss som visar sändare, broker och mottagare.
Tack vare servern i mitten, som kallas 'broker', behöver sändare och mottagare inte känna till varandra, de behöver inte vara aktiva samtidigt eller arbeta synkroniserat. Dessutom blir anropen från både sändaren och mottagaren utåtriktade, vilket inte störs av NAT och vanligtvis stöds av brandväggar.
I sina meddelanden inkluderar sändarna ett ämne, topic, som är hierakiskt uppbyggt. Mottagarna kan ansluta till brokern och prenumerera på ämnen eller träd av ämnen.

Säkerhetsproblem

CERT-SE och många andra fick upp ögonen för MQTT i somras när svenske Lucas Lundgren uppmärksammade att många MQTT-brokers finns på internet utan att använda varken autenticering, trafikkryptering eller kryptering av meddelandenas innehåll. Det är möjligt att undersöka vilka ämnen som finns på servern men också att läsa och skriva meddelanden i befintliga ämnen. En angripare kan därigenom komma över känslig data men också manipulera applikationer som använder meddelanden som indata.
Lundgren har försett CERT-SE med datat från sina skanningar. 224 av de oskyddade servrarna har svenska IP-adresser, men ingen som tillhör CERT-SE:s prioriterade aktörer (myndigheter, kommuner och vissa företag). För att undersöka om någon prioriterad aktör använder en öppen MQTT-server har CERT-SE analyserat meddelanden som servrarna hanterar. Meddelandena innehöll inget av de prioriterade aktörernas IP-adresser, domännamn eller e-postadresser. Det går ändå inte att utesluta att någon av aktörerna använder en tjänst vars data transporteras över en öppen MQTT-broker, i Sverige eller utomlands.

Använder din organisation MQTT?

  • Sök efter trafik till port 1883 som är standard för okrypterad MQTT. Kontrollera att den trafiken inte innehåller känslig information eller att den är skyddad. Intresset och skanningarna har ökat den senaste månaden och Shodan har inkluderat MQTT i drygt ett år.
  • Använd autentisering, behörigheter (vem kan prenumerera på vilka ämnen?) och skydd av trafiken.
  • MQTT är inte det enda protokollet som implementeras i test och sedan går över till produktion utan att säkras upp. Andra protokoll som används inom IoT är OPC UA, HTTP (REST/JSON), CoAP, DDS och AMQP.

Mer information om MQTT

Kort om MQTT
http://internetofthingsagenda.techtarget.com/definition/MQTT-MQ-Telemetry-Transport

MQTT-standarden och resurser
https://www.oasis-open.org/committees/mqtt/

Lucas Lundgrens presentation på DefCon, 2016-08-06
https://media.defcon.org/DEF%20CON%2024/DEF%20CON%2024%20presentations/DEFCON-24-Lucas-Lundgren-Light-Weight%20Protocol-Critical-Implications.pdf

Tips på säkerhetsåtgärder kring MQTT
http://de.slideshare.net/dobermai/securing-mqtt-buildingiot-2016-slides