Werner Schober is een onderzoeker bij SEC Consult en een student aan de University of Applied Sciences in Oostenrijk. In zijn vijfde jaar stuitte hij op een bij velen van ons bekend probleem: Het kiezen van een scriptie-onderwerp.
Hij begon met het maken van een woordwolk met onderwerpen die zijn medestudenten hadden gekozen. Alle standaard IT-modewoorden kwamen voor: bitcoin, GDPR, cloud, etc. Om een of andere reden werd het woord Internet der Dingen (I) niet genoemd, terwijl het een actueel onderwerp is. Het was nogal dom, vooral wetende dat Werner bij SEC Consult flink wat ervaring met penetratietests (apparaten en netwerken hacken om kwetsbaarheden op te sporten) heeft opgedaan, die in zijn onderzoek gebruikt had kunnen worden.
Het Internet der Dingen (IoT) is een breed concept dat zaken omvat als verkeerslichten, pacemakers en slimme theepotten. De focus moest ingeperkt worden. Maar de gevoelige kant van IoT, de infrastructuur – zoals bij de hierboven genoemde verkeerslichten en pacemakers – was al tot in de puntjes onderzocht. Hetzelfde geldt voor smart home apparaten, zoals de ketels en lampen, wat ook uitvoerig besproken is – zonder dat er belangrijke kwetsbaarheden gevonden zijn. Maar wat als je smart grasmaaier een DDoS-aanval krijgt? Dan maai je het gras gewoon een dagje zelf.
Werner koos voor een IoT-subcategorie waar niet veel onderzoek naar zijn (hoewel ze wel bestaan, omdat hackers nu eenmaal houden van wat verboden is) en waar kwetsbaarheden kunnen leiden tot echte consequenties: smart seksspeeltjes.
Werner testte drie apparaten: twee afkomstig uit China en een uit Duitsland. Raad eens welke de meeste kwetsbaarheden vertoonde? Spoiler alert: de laatste. En hoe! De kwetsbaarheden bleken zo ernstig en talloos te zijn dat Werner het Chinese apparaat links liet liggen en zijn hele scriptie richtte op het Duitse apparaat. Hij deed verslag van zijn bevindingen op het 35e Chaos Communication Congress (35C3).
Het Duitse apparaat heet Vibratissimo PantyBuster. Het maakt verbinding met een Android- of iOS-smartphone via Bluetooth en wordt bestuurd met een speciale app, lokaal of op afstand, via een andere smartphone. De app heeft echter extreem veel mogelijkheden die een compleet sociaal netwerk omvatten met groepschats (!), fotogalerijen (!!), vriendenlijsten (!!!), en andere functies.
Software: Andere gebruikers van seksspeeltjes leren kennen
Laat ik beginnen met de softwarekwetsbaarheden. De hoofdmap van de Vibratissimo-website bleek een .DS_Store bestand te hebben, wat neerkomt op een lijst van alle mappen en bestanden die hier staan, met extra instellingen die macOS maakt om bestandsiconen en hun lay-out goed te kunnen weergeven. Werner was in staat deze bestanden de decrypteren, waarbij de namen van alle folders en bestanden in de hoofdmap werden onthuld.
De Config map was de meest opmerkelijke, omdat die een gelijknamig bestand bevatte met niet-geëncrypteerd login-details voor toegang tot de database. Werner was in staat een interface te verbinden aan de database, de login-details in te voeren en toegang te krijgen tot de data van alle Vibratissimo-gebruikers, inclusief hun gebruikersnamen en wachtwoorden (opnieuw opgeslagen zonder encryptie), alsmede chats, afbeeldingen en video’s. Wat voor chats en berichten zou je vinden op een sociaal netwerk voor seksspeeltjes? Deze zijn waarschijnlijk erg privégevoelig.
Een ander probleem: Zodra in de app een fotogalerij wordt gemaakt, wordt deze aan een ID gekoppeld. En zodra je de galerij wilt inzien, stuurt de app een verzoek mét deze ID. Om dit te testen creëerde Werner een galerij met twee foto’s van katten, maakte een ID aan en dacht toen: Wat gebeurt er als de ID in de aanvraag wordt aangepast, door bijvoorbeeld een nummer ervan af te halen? Hiermee verkreeg hij toegang tot de galerij van iemand anders (waar geen kattenfoto’s in stonden).
De app geeft gebruikers ook de mogelijkheid om een quick-control link aan te maken, waarmee andere gebruikers kunnen worden uitgenodigd om het speeltje te besturen (voor lange afstand relaties bijvoorbeeld). De app vraagt niet om bevestiging als iemand de link gebruikt – het apparaat gaat simpelweg meteen aan. De link bevat ook een ID. Drie keer raden wat er gebeurt er je van deze ID een weghaalt? Juist, iemand anders zijn apparaat gaat op dat moment aan.
Daarbovenop komt dat tijdens het authenticatieproces, bij het inloggen op de telefoon, de app een verzoek stuurt naar de server met de niet-geëncrypteerde gebruikersnaam en wachtwoord in leesbare tekstvorm, wat betekent dat op een openbaar netwerk iedereen dit kan onderscheppen – niet bepaald de allernieuwste veiligheid. Er waren ook andere software-kwetsbaarheden, hoewel minder significant. Maar er waren tal van significante kwetsbaarheden op andere vlakken – zoals wat betreft transport (communicatie met het apparaat) en op hardware-niveau.
Interface: Verbinding maken met willekeurige vreemden
Zoals hierboven genoemd, verbindt de Vibratissimo PantyBuster met een smartphone via Bluetooth. In het bijzonder wordt er gebruik gemaakt van Bluetooth Low Energy die gebruik van een van de vijf matching-technieken – opties met uitwisseling van passkeys om de apparaten te verbinden. De passkey die moet worden ingevoerd in de smartphone kan op het apparaat zelf staan, op het scherm of het kan zijn dat de gebruiker het van tevoren weet (dit kan bijvoorbeeld zijn 0 of 1234). Daarnaast kunnen apparaten passkeys uitwisselen met NFS, anders kan er geen koppeling plaatsvinden.
De PantyBuster heeft geen scherm en heeft geen NFC, waardoor deze opties afgeschreven kunnen worden. Twee van de overgebleven functies zijn min of meer veilig, maar de makers van het apparaat wilden hoofdzakelijk eenvoud, en daarom kozen ze voor een basisaanpak die onzeker is: zonder koppeling. Dat betekent dat als iemand het commando van het apparaat kent en stuurt, alle PantyBusters binnen bereik tegelijk afgaan. Dan kan iedereen met de geactiveerde app rondlopen in de metro, bijvoorbeeld en op aangename wijze de ‘geluksvogels’ verrassen die toevallig met het apparaat op pad zijn.
Werner schreef een simpel programma dat scant op apparaten die Bluetooth LE ingeschakeld hebben, zich ervan verzekert dat het seksspeeltjes zijn, en indien het geval, dan worden deze op volle kracht aan gezet. In het geval iemand het zich afvraagt, dergelijke actie wordt niet als verkrachting beschouwd volgens de Oostenrijkse wet, maar de strafwet bevat wel een paragraaf over ‘ongewenste seksuele handelingen’, en andere regio’s zouden dit ook kunnen hebben.
Hardware: Hoe ziet de binnenkant eruit?
Allereerst is er geen optie op de firmware te updaten. In andere woorden, de fabrikant kan dit doen, maar niet de gebruiker. Toen de fabrikant hoorde over Werners onderzoek, besloot het de apparaten terug te roepen om ze te updaten en terug te sturen. Maar het is niet vanzelfsprekend dat iemand een gebruikt seksspeeltje terug zou willen sturen.
Ten tweede, als het apparaat wordt geopend, dan kunnen er interfaces gevonden worden die de fabrikant heeft gebruikt bij de foutopsporing en die vervolgens niet gesloten zijn. Deze interfaces kunnen gebruikt worden om de firmware aan het apparaat te onttrekken en te analyseren.
IoT-problemen blijven maar komen
De half uur durende presentatie van Werner stond boordevol problemen, maar oplossingen waren schaars, in eerste instantie omdat die er niet zijn. Natuurlijk heeft Werner contact opgenomen met de fabrikant, en samen hebben ze de meeste problemen in de app en nieuwe apparaten opgelost. Maar de problemen op hardware-niveau in de reeds verkochte apparaten zullen blijven bestaan.
Nu rest nog het advies te herhalen dat we in bijna elke post over smart-dingen vertellen: Lees online over het smart-apparaat voordat je het koopt. En denk goed na (ten minste tien keer) of je de smart-opties echt nodig hebt. Misschien heb je wel genoeg aan een standaardversie van hetzelfde product, dat niet verbindt via het Internet en niet door een app wordt aangestuurd? Het is goedkoper en in ieder geval zekerder.