Een lezer vroeg me: Recent werd de Krack-aanval gepubliceerd.
Deze is met name zeer schadelijk voor tablets en smartphones die Android 6.0 draaien, wat 32% van alle Android apparaten zijn. Als ik nu zo’n apparaat heb, kan ik dan wat claimen bij de verkoper?
De recente attack van Mathy Vanhoef van de KU Leuven en Frank Piessens van imec-DistriNet maakt het mogelijk om de WPA2-beveiliging van wifi-netwerken aan te vallen. Kort gezegd wordt een key reinstallation attack uitgevoerd, waarbij een aanvaller het slachtoffer dezelfde encryptiesleutel laat gebruiken met nonce-waarden die al in het verleden zijn gebruikt.
De aanval gaf veel ophef door het breed gebruik van WPA2, maar met name bij Android 6 is het een probleem: daar kan een aanvaller de client een voorspelbare “all-zero” encryptiesleutel laten gebruiken, waardoor al het verkeer voor de aanvaller eigenlijk onversleuteld is. Heb je dus een telefoon of ander apparaat met Android 6, dan heb je nu een serieus probleem.
Helaas is er nog steeds geen duidelijke wetgeving over de vraag of een apparaat securitytechnisch goed in orde moet zijn. Er zijn wel regels over productveiligheid, maar dat gaat in principe over fysieke veiligheid zoals ontploffingen en giftige stoffen.
De wet is formeel breder: een produkt is gebrekkig, indien het niet de veiligheid biedt die men daarvan mag verwachten, zo staat in art. 6:186 BW. Uiteraard in alle redelijkheid en met de presentatie en te verwachten gebruik van het product in het achterhoofd, plus kijkend naar de stand der techniek van toen het product uitkwam. Is een product dan toch fysiek onveilig, dan is de producent aansprakelijk – en dat is naast de feitelijk producent ook de Europese importeur. Je zou dat in theorie ook kunnen toepassen op ICT-veiligheid, maar het is nog nooit geprobeerd.
Daarnaast is er nog de algemene regel van conformiteit: een product moet aan de redelijkerwijs gewekte verwachtingen voldoen, en zo niet dan moet de winkelier dat gratis oplossen of een vervangend apparaat verzorgen. Je moet dan verdedigen dat een onveilige WPA2-implementatie die verwachtingen schendt. Ik zie dat wel een heel eind: WPA2 werd altijd als de veiligste optie geadverteerd in de media, dus zou je als consument mogen verwachten dat je toestel veilig is als je dat gebruikt.
Dat de aanval zeer geavanceerd is en onverwacht voor iedereen, is daarbij niet relevant. Het risico dat zoiets gebeurt, ligt bij de winkel die het product verkoopt. (En die kan het verhalen op die importeur of fabrikant.)
Het enige tegenargument dat ik kan bedenken is dat je moet weten dat ieder ICT-product tot op zekere hoge onbetrouwbaar is, omdat aanvallen in de toekomst niet uit te sluiten zijn. Dan is het dus niet redelijk om te verwachten dat je apparaat onhackbaar/onkwetsbaar is. Maar ik vind dat argument specifiek bij deze aanval niet opgaan, juist omdat WPA2 als veilig werd geadverteerd.
@arnoud Is de laatste alinea HET argument om een update te kunnen eisen?
Op deze korte termijn kan fabrikant nog overmacht claimen. Als er over x maanden nog niet gepatched is, misschien heeft een claim dan kans.
En hoe zit het met toestellen verkocht na het bekend worden van de kwetsbaarheid? Ze verkopen nog rustig toestellen met de kwetsbaarheid en ik verwacht van veel van die toestellen niet dat ze binnen een jaar met een update komen die het oplost (of dat ze ooit met een update komen).
Precies, en dit vind ik het bizarre. Men verkoopt willens en wetens een telefoon met een defect. Voor de volle prijs.
Veiligheid in de ICT is per definitie maar tijdelijk. Algorithmen en implementaties die nu veilig zijn, zijn dat na verloop van tijd zeker niet meer. Het argument dat WPA2 als veilig werd geadverteerd is daarom, gezien de gebruikelijke ontwikkelingen in de ICT, geen nonconformiteit, of zelfs maar misleidend.
Het is niet “per definitie” maar tijdelijk. Sommige algoritmen zijn bewijsbaar veilig; bijvoorbeeld eenvoudige XOR-encryptie met een perfect random (en dus ook niet herhalende) sleutel-stream is als algoritme gegarandeerd onkraakbaar. Sommige algoritmen hangen af van bepaalde aannames die in de toekomst onwaar kunnen blijken te zijn; het zou bijvoorbeeld kunnen dat quantumcomputers RSA (dat verder nooit is gekraakt) uiteindelijk verouderd maken, doordat ontleding in priemgetallen opeens beter schaalbaar wordt. Verder zijn bepaalde keuzes van bijv. omvang van sleutels en wachtwoordzinnen onderhevig aan het steeds sneller worden van computers, waardoor kraken steeds beter economisch haalbaar wordt. Er zijn alleen wel fysieke limieten aan hoe snel een toekomstige computer kan worden; als je sleutels e.d. groot genoeg zijn om een aanval buiten die grenzen te plaatsen, dan zal er in de toekomst niet gekraakt worden.
De meeste hacks komen niet door algoritme-fouten, maar door implementatie-fouten. Ik denk dat deze hack daar ook wel toe gerekend kan worden, ook al is de fout in de implementaties in principe wel terug te voeren tot wat onduidelijke tekst in de specificatie. Implementatie-fouten zijn een hardnekkig probleem, maar in theorie is het aantal fouten dat in een implementatie kan zitten altijd eindig. In theorie is het dus mogelijk dat je op een gegeven moment de laatste implementatiefout uit de software hebt gehaald.
Tot slot is er natuurlijk de mogelijkheid om je processen inherent veilig in te richten. Wat je niet registreert, opslaat of verstuurt aan gegevens kan ook niet via hacks uitlekken. Als je geen gegevens binnenhaalt kan je ook geen vervalste gegevens binnenhalen.
Ja hoor, per definitie maar tijdelijk… laat mij dan maar eens zien wat voor kwetsbaarheid er zit in een chatapp die gebruik maakt van OTPs. OTPs zijn per definitie veilig.
En zo zijn er vast nog meer voorbeelden te noemen.
Wat is de stand van zaken nu dan? Ik dacht gelezen te hebben dat Google (en Apple) beloofd hebben updates uit te brengen om dit euvel te verhelpen. Meer dan dat kun je toch niet verlangen?
Bij Google moet hij vervolgens echter vaak door de hardware “fabrikanten” beschikbaar worden gesteld voor een toestel. Soms leveren deze het weer een de mobiele providers die het dan weer verder kunnen verspreiden. Elke extra stap zorgt voor extra vertraging en kans dat het niet beschikbaar komt. Ik dacht dat Google rond 6 november met de update naar buiten wou komen.
Kun je binnenkort met de GDPR niet iets afdwingen. Straks mag je als consument verwachten dat een telefoon GDPR compliant is want dat is de wet. Privacy by design enzo. “Hee jouw slechte telefoon (software) verhoogd mijn risico op privacy schending enorm!!!” Dus ga het maar regelen met die (privacy gerelateerde) updates! 🙂
Oh oh, allemaal weer het Nederlandse vingertje. Wordt daar wel moe van. Wel eens zelf geprobeerd een veilig communicatieprotocol te ontwikkelen en wereldwijd cross-platform te implementeren? Het zijn niet de eerste de beste scriptkiddies die deze kwetsbaarheid hebben gevonden dus zo’n evidente fout was het ook weer niet. Tenslotte, je weet nu dat WPA een kwetsbaarheid bevat en je bet zelf verantwoordelijk voor een adequate beveiliging. Dus ook GDPR gaat je niet helpen geen eigen verantwoordelijkheid te nemen.
Het gaat er hier niet om de programmeurs op hun fouten te wijzen, maar om de vraag “Hoe hoort een leverancier om te gaan met reparatie van onveilige software?” Als er mogelijk iets mis is met een doos eieren wordt aan alle consumenten gevraagd om die weer in te leveren bij de supermarkt; telefoons met twijfelachtige lithiumaccu’s worden teruggeroepen; mag je dan tenminste een update verwachten wanneer de software van de telefoon beveiligingsgaten bevat?
We hebben al een aantal maal gezien hoe beveiligingsgaten van het “Internet of Things” een “Internet of Botnet Members” maken.
Tuurlijk mag je een update verwachten. Maar een WPA protocol updaten en wereldwijd cross platform implementeren is net even complexer dan een doos eieren terug roepen. En het is ook niet zo dat de telefoons op ontploffen staan. Ik mis nogal de nuance en redelijkheid in de reacties.
Ik denk dat we het redelijk eens zijn. Het WPA2 gat lijkt vooral een implementatieprobleem dat met een softwareupdate gefixt kan worden. Wat voor sommige fabrikanten een probleem is is die update ook uitgerold te krijgen naar de apparaten die al “in het veld” staan.
Laten we de vergelijking eens doortrekken naar autobanden en snelwegen. Je koopt een auto met een type X autoband, die prima op de hedendaagse wegen ligt. Dat gaat jarenlang goed totdat de regering een nieuw soort asfalt gaat gebruiken waardoor je auto opeens een grotere kans heeft om te slippen en je dus sneller een ongeluk kunt krijgen. Die banden horen je veilig te houden maar door een verandering in de omgeving (ander asfalt) zijn ze dat niet meer. Heb je dan recht op gratis nieuwe banden die wel geschikt zijn voor het nieuwe asfalt? Of moet je zelf investeren in nieuwe banden om het probleem te herstellen?
Ik zou het vreemd vinden als ik opeens recht heb op nieuwe banden…
Zo ook hier. Ik vind het vreemd als ik recht zou hebben op een nieuwe mobiel of zelfs een vergoeding omdat er een wijziging is in de omgeving die een voorheen veilige oplossing ineens onveilig maakt. Autobanden worden ook als veilig geadverteerd totdat ze op een dag niet meer veilig zijn.
Slechte analogie. Het was altijd al onveilig, het was alleen nog niet ontdekt.
Dat is ook de reden dat argumenten met analogieen eigenlijk altijd onzin zijn. En nu dus ook.
Tja, ook asfalt is niet altijd veilig. Maar feit is dat we een 14 jaar oude techniek hebben in een snel veranderende wereld en deze techniek was goed genoeg 14 jaar geleden. Alleen, doordat de technologie steeds verder vernieuwt is deze op een dag kwetsbaar aan het worden. Waar het mij meer om gaat is dat we zo lang een oude techniek zijn blijven gebruiken zonder nieuwere alternatieven te bedenken. Want wat is er behalve WPA eigenlijk aan beveiliging voor WiFi over?
Dat kun je ook zeggen over die manier van bouwen van die parkeergarage bij Eindhoven Airport en een aantal andere gebouwen. Dus die zijn dan nu zelf verantwoordelijk geworden voor het feit dat de techniek niet deugde?
Nee, het protocol an sich was niet enorm onveilig. Het gaat om een verkeerde implementatie die leidt tot extreme onveiligheid.
Volgens jouw analogie hebben we het dus over hetvolgende: -de specificaties van autobanden eisen dat ze tussen de 1 en 3 mm brede groeven hebben -fabrikant x gebruikt in werkelijkheid groeven van iets ander formaat waardoor ze buiten de specificaties vallen. -in veiligheidstesten is dat nooit een probleem geweest, er waren tot dan toe geen goede testen die onveilige groeven konden bevestigen.
In nieuwe testen komen de banden van fabrikant X uit de bus als extreem onveilig, de reden: het verkeerde groefprofiel. Moet fabrikant X nu alle banden terugroepen ondanks dat auto’s er al 14 jaar mee op de weg rijden?
Wat mij betreft moet er dus inderdaad verantwoordelijkheid genomen worden.
Ik zie ook andere problemen omdat ik ook maar even ben gaan kijken naar wat voor beveiliging mijn eigen kabelmodem heeft. En dan zie ik ‘geen’, ‘WPA2’ en ‘WPA Enterprise’. En dat laatste heeft weer een RADIUS server nodig. Ofwel, nog een apparaat in huis? Niet dat het veel verschil maakt omdat WPA2 nog steeds de beveiliging van dat ding is, alleen met extra instellingen erbij.
Het probleem is eerder dat alle WiFi apparaten eigenlijk WPA2 gebruiken en dit protocol nu is gekraakt en er iets anders moet komen ter vervanging. Opvallend is ook dat dit protocol al 14 jaar bestaat en niemand heeft gedacht dat het wel eens verbeterd zou moeten worden. Misschien vertrouwen we tegenwoordig teveel op de beveiligingstechnieken van vandaag…
Ik heb zelf nooit helemaal vertrouwd op WPA2.
Meestal is het zo dat standaarden die door de industrie / overheid worden gedefinieerd zijn vrij slecht zijn, en doordrenkt van afwegingen die andere belangen dienen dan die van de gebruiker, en standaarden die door de academia en de open source community worden gedefinieerd vrij goed zijn (althans, de beste standaarden komen uit die hoek; er zit vast ook veel prutswerk tussen). WPA2 hoort tot de eerste groep, maar doet het wat dat betreft nog vrij goed: het recent gevonden probleem kon worden opgelost door getroffen software-implementaties een update te geven; blijkbaar is er ook een manier van WPA2 gebruiken die wel veilig is (voor zover we nu weten).
Een belangrijker bezwaar wat mij betreft is dat WiFi-beveiliging geen end-to-end-beveiliging biedt. Verreweg het grootste deel van je internetverkeer loopt vanuit je WiFi-router verder naar je internetprovider, en van daaruit over diverse internetproviders, waar je geen zicht op hebt. Bij afwezigheid van end-to-end-beveiliging kan er op je communicatie ingebroken worden door al die providers, door individuele medewerkers van die providers, door overheden die dwang kunnen uitoefenen op die providers en, in het geval de beveiliging van een provider niet op orde is, door hackers. Dus zelfs als WiFi-beveiliging 100% betrouwbaar is, is het een slecht idee om er op te vertrouwen als het gaat om je online veiligheid. Voor je online veiligheid is het veel belangrijker om overal TLS te gebruiken (bijv. https bij websites), en wellicht zelfs VPNs of TOR om je metadata af te schermen. Dan maakt het ook niet meer zo uit of je nou wel of geen (goede) WiFi-beveiliging hebt.
Dat wil niet zeggen dat een goede WiFi-beveiliging helemaal geen nut heeft. Het heeft nut als authenticatie, als je niet wilt dat je buren gratis van jouw internet gebruik maken. Het kan ook zijn dat je je privacy tegenover je buren belangrijker vindt dan je privacy tegenover internetproviders of de overheid. In dat geval kan je ook maar beter niet naast iemand gaan wonen die bij de AIVD of bij een internetprovider werkt.
Gaan we dan in het vervolg allerlei disclaimers op de doos krijgen in de trant van: “Resultaten uit het verleden bieden geen garantie voor de toekomst”?
Disclaimers zijn niet rechtsgeldig, weet je nog? Heeft Arnoud al diverse malen aan ons uitgelegd…