IP-camera netwerkverkeer bekeken

Noud van Kruysbergen
0

Inhoudsopgave

Bij webshops vind je al voor 20 euro of zelfs nog minder een IP-camera. Ze beloven scherpe beelden, zelfs in het donker, en moeten makkelijk te configureren zijn. En ze zijn nogal spraakzaam, zoals ons onderzoek aantoont.

Zoals gebruikelijk bij dergelijke apparaten helpt een begeleidende smartphone-app bij het instellen van de camera. Dat werkte, toen we een pas een paar maanden oud apparaat in gebruik wilden nemen, niet op een Android-telefoon maar wel op een iPhone. Het is voldoende om het wachtwoord voor het wifinetwerk in te voeren, de app komt dan vaak vanzelf wel achter de naam van het netwerk. Daarna hoef je alleen nog maar te klikken op een link die moet overeenkomen met het type dat op het apparaat is afgedrukt.

IP-camera netwerk veiligheid beveiliging security hack monitoren monitoring

We sloten de camera aan op een wifi-netwerk dat we opzetten met de tool c’t-Raspion (een Raspberry Pi met eigen speciale software erop). Daarmee kun je al het netwerkverkeer tussen geobserveerde apparaten en internet zien – het werkt eigenlijk als een router. In het flow-overzicht van ntopng (een van de tools in c’t-Raspion) zagen we al meteen vreemde activiteiten.

Raspberry Pi netwerk veiligheid beveiliging security hack monitoren monitoring

Met de tools die zijn verzameld in c’t-Raspion kan het netwerkverkeer op verschillende manieren gecontroleerd worden.

UDP-bommetje

De app op de iPhone bombardeert in dit geval het wifinetwerk van Raspion met UDP-pakketten op multicast-adressen (te beginnen met 234). Die pakketten variëren nauwelijks in lengte en zijn 60 of 61 bytes lang. De bestemming is steeds poort 8888, de inhoud lijkt willekeurig. Het eerste levensteken van de camera is een verzoek om een IP-adres (DHCP-request). Blijkbaar kan de camera zonder verbinding met het wifi het wachtwoord van c’t-Raspion uit dit pakketbombardement halen en ermee inloggen op diens wifi. Hoe dat zou kunnen werken wordt uitgelegd in een ander artikel. De app blijft daarna vrolijk gegevens versturen.

IP-camera netwerk veiligheid security monitoren ntopng

Typisch wanneer een app wifi-wachtwoorden uitzendt: ‘betekenisloze’ pakketten.

De camera vraagt via DNS naar het IP-adres van de host openapi.xg.qq.com. Dat lijkt een cloudaanbieder te zijn die daar een REST-API aanbiedt. Terwijl de app UDP-pakketten blijft sturen, begint de camera die ook te verzenden naar poort 6809 van de gate­way (c’t-­Raspion) en het algemene uitzendadres 255.255.255.255. De gateway informeert de camera dat die poort niet beschikbaar is. Je kunt ook requests zien voor het IP-adres van www.baidu.com en time.nist.gov.

Meer over het instellen en gebruiken van c't-Raspion lees je in c't apr/2020

DNS-direct

De DNS-query’s gaan soms naar de lokale DNS-server, soms rechtstreeks naar de publieke server van Google (8.8.8.8). Afgezien van de laatst genoemde tijdserver, gebruikt de camera verder geen van de via DNS opgevraagde IP-adressen in het daaropvolgende verkeer. In plaats daarvan communiceert de camera rechtstreeks met IP-adressen, die waarschijnlijk in de firmware zijn opgeslagen: 52.8.16.72, 52.28.98.191 en 52.74.44.157.

De camera stuurt regelmatig kleine UDP-pakketten, die niet als platte tekst leesbaar zijn, naar die adressen en ontvangt reacties van de servers. Met ntopng kom je erachter dat dit blijkbaar huurservers zijn in de cloud van Amazon. De regelmaat waarmee UDP-pakketten binnenkomen en weer naar buiten gaan, suggereert dat de camera op die manier contact houdt met de buitenwereld. De manier waarop de app werkt is daar een verdere indicatie van: zonder actief in te loggen op een cloud, konden we de camera van buitenaf, dus vanaf het mobiele netwerk of een ander wifinetwerk, benaderen. Het geheel werkt zonder port-forwarding – dat doet de camera als het ware zelf door voortdurend gaten in de firewall van de router te schieten met UDP-pakketten.

De app maakt contact met de bovengenoemde servers buiten het netwerk waar de camera actief is. Die voorzien app en camera van elkaars IP-adressen en poortnummers, zodat ze een directe verbinding kunnen maken via een NAT-firewall. Gangbare routers voor thuis voorkomen dat niet; telefonie, games en andere dingen moeten immers ook gewoon kunnen werken. Deze truc heet ‘hole punching’.

Verkeerde veiligheid

Dat zou allemaal niet zo dramatisch zijn als de fabrikant stappen had ondernomen om die procedures te beveiligen. Met Wireshark (in c’t-Raspion makkelijk toegankelijk via een webinterface) hebben we gekeken naar het verkeer tussen de camera en de smartphone wanneer die laatste in het mobiele netwerk geforceerd wordt. Het resultaat is ontnuchterend: de app wisselt toegangsgegevens en toegangsverzoeken uit met de camera in platte tekst. De verkapte HTTP-toegangen zwerven door het publieke netwerk in UDP-verpakking, leesbaar voor iedereen, met een eigenzinnige syntaxis.

IP-camera netwerk veiligheid security monitoren wachtwoord Wireshark

Altijd de moeite waard om naar te zoeken: wachtwoorden mogen nooit in platte tekst worden gevonden – zeker niet wanneer de pakketten door openbare netwerken stromen.

Het gebruikte cameratype is zeer gangbaar en in vele vormen verkrijgbaar. Beveiligingsexperts hebben ze al lang ontleed en manieren gevonden om het compleet overnemen van de camera mogelijk te maken. Vanwege de in de hardware vastgelegde IP-adressen kan er geen gebruik worden gemaakt van eenvoudige DNS-blacklisting. Je kunt het apparaat wel volledig verbieden om contact te maken met de buitenwereld (via c’t-Raspion, maar bijvoorbeeld ook via een gewone router). Een lokaal gebruik als IP-camera blijft dan nog mogelijk.

We hebben ook gekeken naar het netwerkverkeer bij een slimme stekkerdoos en smart-tv met behulp van c’t-Raspion. Wat daarbij aan het licht kwam lees je in c’t magazine uitgave 4.

(Peter Siering en Noud van Kruysbergen, c’t magazine)

 


Blijf op de hoogte van de nieuwste informatie en tips!
Schrijf je in voor de nieuwsbrief:


 

Uitgebreide achtergrondinfo en workshops lees je op je gemak in c't nov/2020

Deel dit artikel

Lees ook

IPMI maakt plaats voor Redfish: remote server beheer vernieuwd

IPMI voor server beheer op afstand wordt opgevolgd door Redfish voor nieuwe functies, hogere veiligheid en meer flexibiliteit. We gaan in op Redfish e...

Deepfake en AI-stemmen: kansen en risico’s van spraaksynthese

De menselijke stem kan met AI worden gekloond en bijvoorbeeld in een 'deepfake' gebruikt worden. We bekijken de risico's en kansen van spraaksynthese.

0 Praat mee
avatar
  Abonneer  
Laat het mij weten wanneer er