Mag een internet provider onveilige IoT-apparaten blokkeren?

fence-hek-bord-afscheiding-blokkade-concurrentie-beding-verbod.jpgEen Amerikaanse senator vroeg me… nee die is te flauw. De Amerikaanse senator Mark Warner wil van de toezichthouder FCC weten of internetproviders onveilige Internet of Things-apparaten op hun netwerk mogen weren. Dat las ik bij Security.nl. Aanleiding voor de vraag was de grote ddos-aanval op dns-provider Dyn waarbij gehackte IoT-apparaten waren betrokken (en waarschijnlijk de eerdere aanval op securityjournalist Brian Krebs). Amerikaanse regels voor internetproviders maken het alleen mogelijk om apparatuur van internet te weren als deze schadelijk (harmful) is, en Warner maakt het argument dat een triviaal hackbaar IoT-apparaat daaronder valt. Hoe zit dat bij ons?

Ik blijf me erover verbazen dat het niet verboden is om brakke apparatuur met internettoegang uit te brengen. Ja, specifiek als het apparaat persoonsgegevens lekt dan zou je heel misschien iets kunnen doen met de Wbp maar formeel legt ook die wet de verantwoordelijkheid bij de eigenaar van het apparaat. De leverancier van een datalekveroorzakend apparaat doet niets verkeerd onder de Wbp (en ook niet onder de nieuwe Europese privacywet). Wat mij betreft komt er zo snel mogelijk een wet op productsecurity.

Specifiek bij internetapparatuur is er misschien nog een optie, analoog aan die Amerikaanse senator z’n plan. In de Telecommunicatiewet staat namelijk (art. 11.3 Telecomwet:

[Internet]aanbieders treffen in het belang van de bescherming van persoonsgegevens en de bescherming van de persoonlijke levenssfeer van abonnees en gebruikers passende technische en organisatorische maatregelen ten behoeve van de veiligheid en beveiliging van de door hen aangeboden netwerken en diensten. De maatregelen garanderen, rekening houdend met de stand van de techniek en de kosten van de tenuitvoerlegging, een passend beveiligingsniveau dat in verhouding staat tot het desbetreffende risico.

Dit gaat met name over persoonsgegevens beveiligen, maar de norm is breed genoeg om ook bescherming tegen malware hieronder te laten vallen. Al in 2009 bepaalde de OPTA (nu ACM) beleidsregels die hierover gaan. Dat ging nog met name over informatieplichten (een folder “Hoe voorkom ik dat ik een zombie word”) maar volgens mij kunnen op dit artikel ook best hardere maatregelen worden gebaseerd.

Dat botst alleen een beetje met netneutraliteit (art. 7.4a Telecomwet), want in die wet staat weer dat een provider niet zomaar mag afsluiten bij uitgaande malware en dergelijke bij zijn klanten. Hij moet ze informeren en een kans geven het zelf te herstellen. Alleen wanneer dit wegens de vereiste spoed niet voorafgaand mogelijk is, mag hij direct ingrijpen. Dit is bedoeld als uitzondering, maar misschien wordt het tijd dit maar eens als hoofdregel te gaan zien. Malware en zombies tegenhouden vereist dan per definitie spoed en je merkt het vanzelf als je dan in quarantaine wordt gezet omdat je webcam of NAS iemand aan het ddossen is.

Wat mij betreft de hoogste tijd, het is te bizar voor woorden dat je anno 2016 nog steeds zó veel rotzooi brakende IoT-devices op de markt hebt.

Arnoud

32 reacties

  1. Een lopende DDoS aanval lijkt mij per definitie spoed. Immers een partij lijdt hierdoor schade en blijft schade lijden zolang de aanval voortduurt. Er is dus een spoedeisend belang om de schade te beperken.

    Ik roep heb al eerder gezegd, zolang de eigenaren van brak beveiligde apparaten geen negatieve gevolgen hebben van hun onkunde is er geen stimulans om zich verder te verdiepen of een derde in te schakelen en blijft het een probleem.

    Daarnaast heb ik een aantal mensen waarvoor ik de PC onderhield in de ban gedaan omdat men weigerde van Windows XP af te stappen. Windows XP kan ik niet (meer) beveiligen en brand ik mijn vingers niet meer aan. Ik weet zeker dat één van die PC’s nu een zombie is, ik kreeg namelijk mail met trojan die daadwerkelijk van hun e-mail adres kwam. De persoon in kwestie werkt vrolijk door met zijn PC zonder op te lossen omdat hij er zelf geen last van heeft!

    Of het nu om domme, ongeinteresseerde of luie mensen gaat, als je wil dat er wat gebeurt zal je moeten zorgen dat de last komt te liggen bij de mede verantwoordelijken voor deze aanvallen, de onzorgvuldige consumenten.

    1. Dat is leuk maar dat kan alleen maar werken als je als consument de geleden schade (het inschakelen van een expert) op een gemakkelijke manier kan verhalen op de leverancier/producent van het product.

      Uiteindelijk moet namelijk dáár de incentive liggen om de producten veilig te maken. Voor een consument is het ondoenlijk om op voorhand te bepalen of een product veilig genoeg is. Vaak kan je wel iets zeggen op basis van de fabrikant, de ene is nu eenmaal wat beter dan de andere maar dat geeft geen zekerheden.

      1. De consument heeft zelf wel degelijk ook schuld door chinese rommel voor een paar centen te kopen. Als je betaald voor troep krijg je troep. Het interesseert gewoon niemand. De overheid kan helpen door security updates voor connected apparaten te verplichten en fabrikanten die niet voldoen van de markt te weren. Een consument die dan zoiets toch zelf importeerd is zelf verantwoordelijk.

        Waarom ben je niet verantwoordelijk als je een apparaat waarvan je geen kennis hebt aanschaft en aan het internet hangt? Sinds wanneer is onkunde een excuus? Als je ergens geen verstand van hebt dan huur je maar iemand in die er wel verstand van heeft. Doe je dat niet, ook goed maar de gevolgen zijn voor jou.

        Om maar eens een analogie te gebruiken: Dat excuus moet je ook niet mee aankomen als je bij de Gamma wat koper en een soldeerbout hebt gekocht en zelf onvakkundig de gasleidingen in je huis hebt omgelegd en de boel ploft.

        (Overigens: daarmee mogen de meeste android telefoons dus ook niet meer verkocht worden. Inclusief budget modellen van de samsungs van deze wereld.)

        1. Dat is te makkelijk. Het gaat namelijk niet alleen maar om Chinese rommel maar ook om gerenommeerde merken en je kan niet van een consument verlangen dat ze een uitgebreide pentest laten uitvoeren op elk gekocht apparaat.

          De analogie van de soldeerbout klopt natuurlijk niet want de consument doet niet iets raars met deze apparaten maar steekt alleen de stekker in de stopcontact en verbind ze met hun router.

          Dus zelfs als je de consument verantwoordelijk maakt, heeft deze geen enkele invloed op de veiligheid van de producten en is het onmogelijk voor hen om dit te controleren. Ik ben vrij technisch maar ook ik ga niet elk apparaat uitvoerig testen op zwakheden, dat is namelijk onmogelijk.

          Je zal er dus voor moeten zorgen dat er al vóórdat het bij de consument komt een afweging is gemaakt en daarom moet de schade bij de leverancier komen te liggen, net zo als dat nu is als jouw soldeerbout plotseling kan ontploffen. Dan leg je ook niet de verantwoordelijkheid bij de consument die maar even een expert moet inhuren om te bepalen of het product veilig is.

          Uiteraard, ben je als consument wel volledig verantwoordelijk als je een product rechtstreeks uit China importeert.

          1. De analogie van de soldeerbout klopt natuurlijk niet want de consument doet niet iets raars met deze apparaten maar steekt alleen de stekker in de stopcontact en verbind ze met hun router.

            Jij loopt nu dus in dezelfde ‘val’ als die consument. Je gaat ervanuit dat de stekker en de netwerkkabel in een apparaat steken alle kennis is die je nodig hebt om een apparaat veilig te gebruiken. De zelfde fout die een consument maakt als hij denkt dat hij met een soldeerbout en wat kopen een gasleiding kan verleggen.

            In beide gevallen doe je ongehinderd door gebrek aan kennis risicovolle handelingen. Toegegeven dat de gevolgen van een gas explosie iets directer en heftiger zijn dan een DDoS …

            Ergens is het idee ontstaan/gestimuleerd dat je voor het gebruik van computers geen kennis nodig hebt van beveiliging etc… Dat is zelfs in bedrijven met een IT afdeling niet meer waar, gezien het aantal bedrijven wat alsnog ten prooi valt aan cryptolockers omdat men klakkeloos email attachments opent.

            1. Nee, de analogie klopt niet omdat het er om gaat wat je er mee doet. Bij een IP camera waar je de handleiding volgt en 2 stekkers in de juiste opening stopt, kan je de consument niet verantwoordelijk houden voor brakke software op die camera.

              Net als dat je de consument niet verantwoordelijk houdt voor hardwarematige fouten (verkeerde accu in je Note 7) kan je hem ook niet verantwoordelijk houden voor softwarematige fouten. De consument is gewoon niet in staat om dat te controleren. Ook vrijwel elk willekeurige expert die iets af weet van computers kan dat niet controleren.

              Waarom wil je het zo graag bij de consument leggen en niet (net als bij elke andere non-conformiteit) bij de leverancier?

              1. Ik wil de consument niet straffen voor het hebben van brakke apparatuur, maar er moet wel enige bewustwording en verantwoordelijkheidsgevoel gekweekt worden.

                De consument kan je niet verantwoordelijk houden voor brakke software. Maar wel voor het niet updaten van de firmware. Dat hoort er gewoon bij, zelfs bij goede apparatuur worden er fouten ontdekt. Even om je heen kijken en je weet dat de meeste consumenten daar niet eens van op de hoogte zijn, laat staan dat ze updaten.

                In dat geval is de hun internet verbinding redirecten naar een informatie pagina als ze onderdeel zijn geworden van een bot net een prima actie. De consument wordt gewezen op zijn deel van de verantwoordelijkheid. Mocht blijken dat zijn apparaat niet naar behoren kan werken omdat er geen updates zijn, dan moet hij het maar afkoppelen en bij de verkoper klagen. Als hij dan bij een vage shop in china heeft gekocht of bij een dozenschuiver op marktplaats die niet meer bestaat heeft hij meteen een extra les geleerd: goedkoop is duurkoop.

                Overigens koop ik wel onderdelen van dit soort bedrijven, maar ik weet het risico en ik heb ook voldoende kennis om zelf mijn software in te richten en beveiligen.

    1. Als we beginnen met de leveranciers van op Internet aangesloten zaken wat basisvaardigheden bij te brengen en afdwingen dat die apparatuur een redelijke basisveiligheid heeft, dan hebben de klanten minder kopzorgen over netwerkbeveiliging. De gemiddelde consument kan niet beoordelen of een IOT gadget veilig is, specialisten op het gebied van computerveiligheid hebben daar weken voor nodig.

      “Blame the user”, soms. Van de gebruiker verwachten dat hij de ontwerpproblemen van de leverancier verhelpt, belachelijk, maar dagelijkse praktijk in de software wereld: “Patch Tuesday”.

          1. Belachelijk en ook nog eens niet waar in veel gevallen.

            Hoeveel mensen met een router met default pw? Hoeveel mensen die na gedwongen wijziging een router hebben met een triviaal te raden password?

            Hoeveel fout geconfigureerde Synologies zijn er in gebruik?

  2. Geheel met Arnout eens, er moet een soort “kema-keur” komen voor de veiligheid van “IP/Internet” devices. Immers kan je het probleem niet bij ISP’s neerleggen. Die mogen klanten niet zo maar afsluiten , maar hebben wel een zorgplicht.

    Los van dit alles wat moet je als ISP? Als je een IoT device wil afsluiten, in de wereld met NAT / uPnP/PMP etc aan de klant zijde dan heb je eigenlijk alleen een optie om de klant in zijn geheel af te sluiten. Even los van de afwegingen en problemen die de klant dan heeft generiek gezien, hoe gaat die klant nieuwe software/firmware downloaden voor zijn koelkast, camera etc om te updaten? Moet de ISP hem hier dan ook bij helpen? De gemiddelde klant kan het type nummer / hardware revisies etc vaak niet vinden hoe moet een ISP hier dan bij helpen zeker als de klant is afgesloten? USB stick opsturen met de firmware en via de telefoon support leveren om een cam te upgraden?

      1. En de provider kan helpen door de van het internet losgekoppelde klant, als ‘ie een browser opent, te redirecten naar een pagina die uitlegt wat er aan de hand is, wat de klant kan doen (zie bovenstaande post), en een chatbox en telefoonnummer om hulp te bieden.

        1. Alleen is het heel erg lastig om uit te leggen wat de klant moet doen. Voor pc’s en smartphones heb je realistisch gezien een redelijk beperkt aantal opties. Een handjevol apparaten per aansluiting met slechts een beperkt aantal OS-en. Daar zijn handleiding en dergelijke voor te maken. Maar straks heb je per aansluiting tientallen iot-apparaten van evenveel fabrikanten. Van sommige zal de gebruikers nauwelijks weten dat het ding aan het netwerk hangt. Techneuten zullen nog wel in staat zijn het apparaat te vinden en het probleem te verhelpen, maar gewone gebruikers zullen dat nooit kunnen.

          1. Stap 1: zoek uit welk apparaat het probleem is (met in/uitpluggen; de website kan live aangeven of het probleem wel/niet actief is).

            Stap 2: laat het probleem-apparaat uit, en klik op een knop op de web-interface om internet weer aan te zetten.

            Stap 3: kijk op de website van de fabrikant of er een update beschikbaar is. Dit is apparaat-specifiek, en daar kan een generieke website van de provider niet bij helpen. Misschien kan een technisch onderlegde helpdeskmedewerker dat wel. Alternatief is: ga met je apparaat terug naar de winkel, en laat het daar repareren, of gooi het apparaat weg.

            1. Ik heb een betere Stap 3:

              Stap 3: Ga met je apparaat naar de winkelier en eis dat hij de fout verhelpt, een vervangend apparaat levert zonder die fout, of anders je geld teruggeeft.

              Dat zou nu in principe al moeten kunnen, maar wat mij betreft leggen we gewoon wettelijk vast dat als een IoT-apparaat gehackt wordt, de winkelier daarvoor 100% aansprakelijk is. Die gaat dan vanzelf bij de fabrikant klagen of houdt op met chinese rommel verkopen.

              Ja, ook al heeft de gebruiker geen enkele update geinstalleerd, dan moet je dat updaten als fabrikant maar automatisch maken. Ik vind het sowieso gezeik dat ik met de hand updates moet installeren op mijn TV en mijn broodrooster.

      2. Apparaat in kwestie lospluggen van het internet (of van de stroom), dan uit quarantaine, device update downloaden op pc, internet lospluggen, device updaten, internet inpluggen.

        Je gaat er van uit dat de leverancier beveiligingsupdates beschikbaar maakt…
        Kijk maar eens naar Android telefoons, hoe lang het duurt voordat de beveiligingsupdates die Google maakt op de telefoons van andere leveranciers terecht komen, als die er ooit komen.
        En sommige IoT apparaten hebben helemaal geen update functie, dat is namelijk “overbodige” functionaliteit in de ogen van bepaalde managers.

  3. Waarom moet dit per wet worden opgelost? Waarom kunnen internetgebruikers en netwerk-operators dit niet onderling afspreken? Als jij geen virussen wil, dan moet je je eigen beveiliging goed op orde hebben. Doe je dat, dan doet de beveiliging van anderen er niet zo veel meer toe. Als je niet geDDoSt wilt worden, dan neem je daar zelf maatregelen tegen, of je vraagt je netwerkoperator maatregelen te nemen. Netwerkoperatoren die elkaars buren zijn in het internet kunnen ook elkaar vragen om anti-DDoS-maatregelen te nemen.

    Ik zie slecht beveiligde IoT-apparaten vooral als probleem voor de eigenaar zelf: het slachtoffer is ook de dader. Eventueel zou je de fabrikant nog als dader aan kunnen wijzen, of derden in de omgeving van de IoT-apparaten als slachtoffer, als die derden schade lijden (bijv. als ze in beeld zijn van een gehackte camera). In die gevallen zou de wet zich nuttig kunnen maken.

    1. Dader gaat wat ver, maar hele hordes mensen zijn gewoon nalatig in de beveiliging van hun apparatuur waar anderen veel last van ondervinden. Daar kan je de fabrikant de schuld van geven. Maar je kan je IP camera ook gewoon de toegang tot het internet ontzeggen en alleen via een vpn met je lokale netwerk toegankelijk maken. Daarvoor heb je de fabrikant niet nodig.

      1. Om eeen camera enkel via een vpn op je eigen lokale netwerk te laten heeft 99% van de burgers professionele hulp nodig. Veel gedoe voor functionaliteit die bijna niemand gebruikt. En de meeste van die IOT apparaten krijgen nooit nieuwe software van de fabrikant. En hoeveel fabrikanten blijven de beveiliging verzorgen na meer als 2 jaar? De enige manier om dit op te lossen is de fabrikanten verplichten een aantal jaar de beveiliging te verzekeren (en dit automatisch te laten gebeuren). Geen veilig product voor x jaar? Hup een boete, en aansprakelijk voor de schade geleden door de nalatigheid van de fabrikant. Als dit te ver gaat, dan op zijn minst een Europees keurmerk of zo.

        1. Hulp van een professional en extra apparatuur. De meeste consumenten routertjes of modempjes hebben net een NAT firewall (hoewel UPnP dan weer aan staat), maar ook dat is niet echt veilig, afgezien van UPnP.

          Een mooi voorbeeld van die support die na twee jaar staakt is Samsung TVs. De modellen uit 2014 hebben geen moderne SSL/TLS ondersteuning en gaan die ook niet krijgen. Mediaservers dienen daardoor of unencrypted of met een verzwakte configuratie te kunnen communiceren. Belachelijk!

  4. Specifiek voor de relatie tussen verkoper en koper van apparatuur zie ik wel wat in een beveiligings-norm. Ik ben er tegenwoordig van overtuigd dat keurmerken op vrijwillige basis een beter systeem zijn dan verplichte bescherming door wetgeving, onder de voorwaarde dat consumenten hun verwachtingen aanpassen aan zo’n systeem, maar ongeacht dat is het wel interessant om na te denken hoe zo’n beveiligings-norm er uit zou moeten zien.

    Ik denk dat de essentie van informatie-beveiliging is dat een apparaat nooit iets moet doen wat de eigenaar niet wil.

    “Doen” komt bij een informatie-verwerkend systeem neer op het versturen, verwijderen of wijzigen van informatie. Bijvoorbeeld: versturen van privacy-gevoelige info, of het verwijderen/encrypten van waardevolle info. Bij IoT-robotica kunnen er ook nog fysieke handelingen onder “doen” vallen (denk maar aan thermostaat anders afstellen).

    De “eigenaar” moet op een bepaalde manier herkend worden door het apparaat. Misschien zouden er normen moeten komen voor veilige herkenning. Meestal zal een bewijs van fysieke toegang (bijv. het indrukken van een knop) wel goed genoeg zijn. Voor authenticatie over een openbaar netwerk zal een wachtwoord meestal wel goed genoeg zijn, aannemende dat het apparaat wachtwoorden accepteert die lang/veilig genoeg zijn, en de communicatie goed beveiligd is (end-to-end encryptie zonder backdoors, bijv. HTTPS met up-to-date keuze van algoritmes).

    Wat de eigenaar “wil” moet voldoende duidelijk zijn. De keuzes die de eigenaar maakt moeten voldoende goed geïnformeerd zijn; het moet de eigenaar duidelijk zijn wat het apparaat “doet”. De standaard-instellingen moeten zo zijn dat het apparaat helemaal niets doet, of niets meer doet dan de kern-functie (als het apparaat geen praktisch nut kan hebben zonder die kern-functie).

    Het apparaat moet geen bekende beveiligingslekken / backdoors bevatten waardoor de fabrikant, overheden of hackers het apparaat andere dingen kunnen laten doen dan de eigenaar wil, of dingen niet laten doen die de eigenaar wel wil. Als zulke lekken na verkoop van tijd bekend worden, dan moet de fabrikant gratis software-updates aanbieden, of gratis aanbieden het apparaat te repareren (bijv. als er een hardware-fix nodig is). De eigenaar moet zich kunnen informeren over welke updates/reparaties beschikbaar zijn. De eigenaar moet zelf kunnen kiezen om updates wel/niet automatisch te laten installeren, of per update kiezen om die handmatig te installeren (anders zou het update-kanaal een backdoor voor de fabrikant zijn). Een update/reparatie mag geen verlies aan functionaliteit veroorzaken, tenzij dit technisch noodzakelijk is om het lek te dichten. Updates moeten gedurende de hele levensduur van de oorspronkelijke hardware beschikbaar gesteld worden.

    Ik denk dat bovenstaande wel zo’n beetje het absolute minimum is. Onder zo’n norm claimt de fabrikant bij verkoop aan de norm te voldoen, en kan ‘ie aangepakt worden als later bewezen wordt dat dat niet zo is. Je kunt als fabrikant nog verder gaan door het hele ontwerp (broncode e.d.) openbaar en verifieerbaar te maken, zodat er third party security audits gedaan kunnen worden, en third party security updates. Dan krijg je meer het security-niveau dat ik graag zou zien.

  5. De verantwoordelijkheid van beveiliging van een apparaat ligt bij de eigenaar, niet de fabrikant. Het feit dat iedereen tegenwoordig voor een appel en een ei vanalles computer gerelateerd kan kopen, wil nog niet zeggen dat iedereen het dan ook maar moet gebruiken als ze totaal geen enkele vorm van kennis hebben. Er zou meer geinvesteerd moeten worden in kennis van computers en internet devices en hoe deze veilig te gebruiken, vanaf een zo jong mogelijke leeftijd. Stellen dat ISP’s het maar moeten oplossen is hetzelfde als banken die makkelijke apps maken met minder beveiliging en dan gaan roepen dat de klanten verantwoordelijk zijn voor eventueel misbruik. Omgekeerde wereld. Stel gebruikers zelf maar aansprakelijk, dan stoppen ze of met gebruiken van die rommel, of ze zorgen dat hun beveiliging op orde is.

    1. Laten we eens een auto-analogie gebruiken: We hebben typegoedkeuring van auto’s, voorkomt dat struktureel onveilige auto’s op de markt komen.

      Als we kijken welke partijen allemaal verantwoordelijkheid dragen voor de veiligheid van een autoop de weg: dat is de bestuurder (weggedrag), eigenaar (onderhoud), garage (uitvoering van het onderhoud), fabrikant (ontwerp en assemblage) en de overheid (controle). Dat systeem is in de loop der jaren ontstaan omdat bleek dat anders sommige partijen hun verantwoordelijkheid niet namen…

      Het lijkt me heel goed wanneer zowel fabrikanten als eigenaar/gebruikers van IoT apparaten op hun verantwoordelijkheden gewezen worden. Alle schuld bij de “domme gebruiker” leggen lost de problemen bij de fabrikant niet op.

  6. Na het lezen van een aantal discussies onder dit artikel krijg ik wel een interessant idee. Ik doe hier even de aanname dat een ISP in staat is identificerende karakteristieken te schetsen van een aanval, bijv. een TCP-sessie.

    Er zou een protocol ontwikkeld kunnen worden dat op de modems/routers van thuisgebruikers kan worden geïnstalleerd. Zodra een ISP detecteert dat een bepaalde klant betrokken is bij een DDoS of anderszins illegale activiteit, zou de ISP een signaal naar de modem/router van deze klant kunnen sturen om deze activiteit te staken.

    Bij eigenlijk alle moderne consumentenrouters zie ik dat deze in staat is om individuele apparaten te herkennen, danwel aan een WiFi-associatie, danwel aan nummering van een fysieke ethernet-poort.

    De router zou bij ontvangst van dit signaal in zijn NAT-tabel kunnen terugvinden welk apparaat (dus welke WiFi-associatie of welke ethernet-poort) hierbij betrokken is en het betreffende apparaat afsluiten.

    Het voordeel wat hiermee wordt behaald is dat je een individueel (IoT-)apparaat afsluit en niet de hele klant. De ISP kan gelijktijdig een e-mail sturen naar de klant met de mededeling dat deze activiteit is uitgevoerd. De klant verliest niet zijn volledige internetverbinding, maar enkel het defecte apparaat wordt afgekoppeld.

    Uiteraard is dit niet waterdicht. Wanneer je een switch op een ethernet-poort aansluit zouden er meerdere apparaten worden afgesloten, alsook waarschijnlijk bij de inzet van een WiFi-brug. Verder kunnen klanten kiezen om routers te gebruiken die deze functionaliteit niet implementeren, maar in dat geval zou ik het gerechtvaardigd vinden om als fallback alsnog de klant in zijn geheel af te sluiten.

    1. Ik vind het wel bijzonder dat we tegenwoordig smart dit en smart dat in huis hebben, maar dat de modem nog zo dom als jaren geleden is (oké, je kunt van alles instellen).

      Laat die gewoon een simpele interface bieden waarin je elk apparaat actief moet toelaten verkeer naar het internet te zenden. Zet daar dan bij wat voor soort apparaat het is (jouw PC mag flink wat data verstoken, een koelkast maar een heel klein beetje), en de modem kan rotzooi van IoT devices op het internet al flink verminderen.

      Maar nee. De providers hebben stilgezeten en zijn verantwoordelijk voor de rommel die hun klanten op het internet veroorzaken.

  7. Ik denk dat we eerst eens moeten nadenken hoe het komt dat er zoveel brakke IoT apparaten zijn. Hoe kan het dat een beetje electronica zoveel zwakheden kan hebben? Hoe kan het eigenlijk dat deze IoT apparaten het mogelijk maken dat er extra code op het apparaat erbij komt?

    Nu heb ik wel eens “gespeeld” met Arduino-bordjes en zelfs met een kale ATTiny processor om zo mijn eigen electronica te bouwen. Combineer dit met een WiFi module of een Internet-module voor aan de kabel en je hebt al snel een IoT dingetje. Dit vereist vervolgens dat je wat code schrijft in C en dit rechtstreeks op de processor gaat uploaden. Daarbij heb je maar een hele beperkte hoeveelheid geheugen en voor het uploaden heb je ook nog eens een paar pinnen van de processor nodig die uiteindelijk vrij gebruikt kunnen worden als je deze eenmaal aan je project toevoegt. Zeker een ATTiny processor is erg lastig te hacken als deze eenmaal is ingebouwd. Dus wat is het probleem?

    Wel, het is iets eenvoudiger want veel IoT apparaten worden niet op Arduino-achtige processoren gebouwd maar op iets krachtigere hardware. Meestal hardware waar een volledige Linux-kernel op kan draaien zodat het apparaat eigenlijk een volledig besturingssysteem heeft waar de ontwikkelaars dus gebruik van kunnen maken. Dit scheelt een hoop omdat je dan kunt werken met bestanden, een hele hoop geheugen hebt en je met een compleet OS ook nog eens automatische updates kunt uitvoeren aan de software zonder dat het apparaat met een USB kabel aan een PC gehangen hoeft te worden. Updates kunnen gewoon automatisch over het Internet worden ontvangen.

    En dat is dus ook meteen de zwakke plek van veel IoT apparaten. Ze worden met veel meer kracht uitgerust dan strikt noodzakelijk is. Veel IoT apparaten zijn eerder een variant van de Raspberry Pi dan van de Arduino en hebben daardoor ook meteen meer potentiële aanvalsvectoren. Mede ook doordat de code ook nog eens als open-source beschikbaar is, is het redelijk eenvoudig om deze zwakheden te vinden en uit te buiten. Maar goed, de reden hiervoor is omdat het eenvoudiger is om te werken met een systeem dat een compleet besturingssysteem heeft dan eentje waarbij je alles zelf moet schrijven.

    Maar de consument kan hier verandering in brengen door gewoon niet de brakke apparatuur aan te schaffen. Maar ja, veel mensen kopen gewoon een “Smart Microwave” omdat ze gewoon willen dat het apparaat automatisch hun prakje opwarmt zodra ze thuis komen en denken niet aan de beveiliging. Ze verwachten gewoon dat het veilig is. En dat is het grootste probleem!

    Maar goed, als de IoT apparaten voor brandgevaar en explosies kunnen zorgen dan waren er al honderden consumenten-organisaties in actie gekomen tegen de slechte apparaten en zou de industrie voor betere beveiliging zorgen. Maar ja, dat je buurman kan meekijken met je kookprogramma en het programma kan aanpassen zodat je eten te gaar is, is niet iets waar veel mensen zich druk om maken…

    Gehackte IoT apparaten worden door consumenten en consumentenorganisaties nauwelijks als een gevaar gezien…

    1. Het is omdat er prioriteit wordt gelegd in features, niet in veiligheid. Veiligheid kost ontwikkel-tijd, en maakt het gebruik soms lastiger; dat zijn beide redenen voor een fabrikant om geen veiligheid in te bouwen als de consument het niet eist.

      Om bij de Arduino te blijven: ik heb recent een Arduino Wifi gekocht, en ik heb eens gekeken hoe het in elkaar zit en wat het kan. Naast de gewone Atmel van de standaard Arduino zit er ook een (veel krachtigere!) ESP8266 processor op, die een complete Wifi / TCP/IP netwerkstack implementeert, en daar nog allerlei services bovenop. Naast een web-interface voor het configureren van de Wifi-verbinding draaien er ook allerlei services voor “leuke” dingen zoals interactie met je Arduino via Twitter en andere web-diensten. Features dus.

      De standaard firmware die op de ESP8266 draait biedt daarnaast de mogelijkheid om de Arduino te her-programmeren, en ook om de firmware van de ESP8266 te updaten, over de Wifi-verbinding. Dit zijn ook “features”, maar je voelt al aan dat dit qua beveiliging een potentieel probleem is.

      Het probleem wordt erger door de manier waarop met Wifi wordt omgegaan. Standaard wordt een unprotected access point aangeboden: logisch, want je moet als nieuwe eigenaar toegang tot je apparaat krijgen. Je kunt daarna SSID en wachtwoord van je thuis-wifi invullen; als de Arduino daar verbinding mee kan maken, dan maakt ‘ie geen unprotected access point meer aan. Je beveiliging is dan net zo goed als die van je thuis-wifi(*). Alhoewel: als ‘ie geen verbinding meer kan krijgen met je thuis-Wifi, maakt ‘ie weer een unprotected access point aan. Logisch vanuit het idee van features (zo kan je altijd de toegang tot je apparaat terug krijgen), maar dramatisch op het gebied van beveiliging. Een hacker hoeft alleen maar je thuis-Wifi te verstoren om via het unprotected access point toegang te krijgen. Als ze jouw eigen wifi-router niet kunnen hacken(**), dan kan het misschien wel door de wifi-router van je buren te hacken. Na je Arduino gehackt te hebben kan een hacker waarschijnlijk daar het wachtwoord van je thuis-Wifi uitlezen, en van daaruit je thuis-Wifi binnendringen.

      PS. respect voor zulke hackers. Ik ben al dagen bezig om een cross-compiler werkend te krijgen voor de ESP8266; enorm frustrerend.

      (*) behalve misschien als er beveiligingslekken zitten in die “leuke” features zoals interactie met Twitter.

      (**) als ze dat wel kunnen hebben ze sowieso al onbeperkte toegang.

      1. Ik heb zelf een Arduino Yun, waar een complete Linux-kernel in een aparte Atheros AR9331 genaamd OpenWRT zit. En dan kom je al een stuk sneller bij een systeem met compleet besturingssysteem, wat je eigenlijk wilt vermijden om een veilig IoT te maken.

        Maar ja, je moet een arduino ook gewoon gebruiken voor het maken van een prototype en als je eenmaal een werkend geheel hebt dan moet je eigenlijk de Arduino eruit slopen en vervangen door alleen die hardware modules die je werkelijk nodig hebt. Gewoon afbouwen tot aan de chip zelf.

        Maar je geeft ook al aan dat het een heel gemak kan zijn als je onderdelen al compleet met kant-en-klare software komt die je zo in je project kunt hangen. Maar daarmee is de ESP8266 natuurlijk wel risicovol want als hackers toegang weten te krijgen tot de WiFi module dan zijn ze binnen. En als iedereen dezelfde brakke module gebruikt dan is iedereen eenvoudig te hacken…

        Maar goed, de ESP8266 is ook als losse module te verkrijgen en ik heb wel een meerdere varianten van dat ding, hoewel ik nog weinig ermee heb gedaan. Aangezien ze al voor twee tot drie euro te koop zijn is het ook een veel goedkopere oplossing dan om zelf aan te gaan modderen. Maar als deze modules standaard een veel sterkere beveiliging krijgen dan worden alle IoT apparaten vanzelf een stuk veiliger.

        Maar deze modules zijn eenvoudig te produceren en enorm gewild, dus zal het nog lang duren voor er echte, veilige standaarden voor komen…

    2. Maar goed, als de IoT apparaten voor brandgevaar en explosies kunnen zorgen dan waren er al honderden consumenten-organisaties in actie gekomen tegen de slechte apparaten en zou de industrie voor betere beveiliging zorgen .… Gehackte IoT apparaten worden door consumenten en consumentenorganisaties nauwelijks als een gevaar gezien…

      Met hackbare apparaten (zeker magnetrons en andere kookapparatuur) kunnen hackers gevaarlijke situaties creeeren, met genoeg controle over het apparaat ook brand. Er zijn vele risico’s te bedenken, en als ze niet voldoende worden geadresseerd zullen ze m.i. ook zeker gaan optreden. Ik denk dat veel consumenten zich de risico’s niet (willen) realiseren.

      Wetten tegen (door derden) hackbare apparaten die daardoor significante schade kunnen veroorzaken lijken me dan ook geen overbodige luxe. Dat geldt m.i. voor vrijwel ieder apparaat wat op internet is aangesloten: een gehackt apparaat kan al snel worden gebruikt voor diverse activiteiten op internet die tot hoge schades kunnen leiden (niet alleen ddos aanvallen, maar ook bijvoorbeeld fraude, ‘vernieling’, verspreiden van auteursrechtelijk beschermd materiaal, etc.). Ook als eigenaar wil je daar niet aansprakelijk voor worden (gehouden).

Geef een reactie

Handige HTML: <a href=""> voor hyperlinks, <blockquote> om te citeren, <UL>/<OL> voor lijsten, en <em> en <strong> voor italics en vet.