Een Duitse beveiligingsonderzoeker heeft de EOS 1D X, een high-end camera van Canon, weten te kraken. De netwerkfunctionaliteit van de camera kan worden gebruikt om foto's te stelen, foto's en video's te maken en van de camera een spionagetool te maken.
De Duitse beveiligingsonderzoeker Daniel Mende deed zijn bevindingen uit de doeken op de Hack in the Box-beveiligingsconferentie, die deze week in Amsterdam wordt gehouden. Het blijkt relatief eenvoudig om foto's en video's van de camera te stelen, eigen foto's en video's te maken en zelfs om een livestream van de camera te krijgen. "Deze camera is in feite een spionagetool, als je dat wilt", stelt Mende. "Dit soort apparaten wordt ontworpen zonder dat wordt nagedacht over beveiliging."
Gebruikers lopen volgens Mende bijvoorbeeld gevaar als ze verbinding maken met bijvoorbeeld een wifi-netwerk in een hotel of een koffietent. Mende raadt gebruikers daarom aan om de wifi-functionaliteit van de Canon EOS 1D X alleen in te schakelen op vertrouwde wifi-netwerken. Mende wilde aanvankelijk met Canon samenwerken om de problemen naar buiten te brengen, maar daar wilde de fabrikant niet aan meewerken. Daarom besloot de Duitse beveiligingsonderzoeker de problemen zelf naar buiten te brengen.
Een van de manieren waarop Mende toegang kreeg tot de camera, is door de ingebouwde EOS Utility-modus te misbruiken. Die modus maakt het mogelijk om met een softwaretool van Canon op afstand toegang te krijgen tot de camera. Het authenticatieproces tussen de softwaretool en de camera blijkt nauwelijks beveiligd. Op het eerste gezicht lijkt de communicatie beveiligd met een unieke code en de hostname van de client, maar in de praktijk accepteert de camera connecties vanaf elke hostname.
Bovendien wordt de unieke code voordat het authenticatieproces begint, uitgezonden via upnp. De code wordt weliswaar vermomd, maar desondanks is de code te achterhalen. De enige belemmeringen zijn dat de camera in de Utility-modus moet staan en dat de camera maar één verbinding tegelijk accepteert. Dat laatste blijkt te omzeilen: de huidige gebruiker kan worden uitgelogd door een reset-commando via tcp te versturen.
Ook de ingebouwde webserver die de EOS 1D X aan boord heeft, blijkt eenvoudig te kraken. Voor authenticatie blijkt de webserver een sessie-id van 4 bytes te gebruiken. Dat betekent dat er 65536 mogelijkheden zijn. "Er zijn zes regels Python-code nodig om dat te kraken", aldus Mende. Omdat de webserver die in de camera zit relatief traag is, kan het echter wel maximaal twintig minuten duren voordat het sessie-id achterhaald is. Volgens Mende is het hoe dan ook geen goed idee dat embedded devices zoals camera's webservers aan boord hebben.
De camera beschikt verder over een ftp- en dlna-modus die volgens Mende 'by design onveilig' zijn. Het ftp-protocol is plaintext en kan dus eenvoudig worden afgeluisterd, waarna een kwaadwillende kan inloggen op de camera. Wanneer dlna wordt ingeschakeld, worden alle foto's met iedereen op het netwerk gedeeld, zoals altijd het geval is met dlna.
Tot slot is het relatief eenvoudig om een denial of service-aanval op de camera uit te voeren: wie 100 arp-pakketjes per seconde naar de camera stuurt, zorgt ervoor dat de netwerk-stack crasht. Overigens is de netwerk-stack niet erg stabiel: wanneer de camera verbinding maakt met een netwerk waar ipv6 is ingeschakeld, crasht die eveneens.