Door Peter de Boer

Doktersteam

Secustick biedt schijnveiligheid

12-04-2007 • 08:57

121

Multipage-opmaak

De Secustick

For your convenience, an English translation of this article is available.

Secustick De laatste tijd is onder meer de overheid een aantal keren in verlegenheid gebracht omdat geheimen via een verloren memorystick naar buiten kwamen. Beveiliging van deze gegevensdragers is dan ook een hot issue. De Secustick belooft de ultieme beveiliging.

Secustick logoDe meest gebruikte techniek om gegevens te beveiligen zal encryptie zijn, maar het Franse bedrijf Sipal International kwam enige tijd geleden met een alternatief dat velen wel uit de Mission Impossible-films zullen herkennen: een beveiligde stick die zichzelf vernietigt als er te vaak een verkeerd wachtwoord wordt ingevoerd. De stick is ontwikkeld in opdracht van de Franse overheid, en - volgens het persbericht van het bedrijf - revolutionair, superveilig en goedgekeurd door de Franse veiligheidsdienst. Naast de Franse overheid zouden ook de defensie-industrie en het bankwezen, respectievelijk met name Dassault en Crédit Agricole, van de stick gebruik maken.

De secustick

De Secustick, met een opslagcapaciteit van 1GB, is in Nederland voor 130 euro verkrijgbaar. Een fors bedrag vergeleken met normale geheugensticks van deze grootte, die voor een bedrag van minder dan 20 euro over de toonbank gaan. De Secustick onderscheidt zich echter van andere beveiligde sticks door zichzelf te vernietigen als er te vaak een foutief wachtwoord wordt ingevoerd. Op papier zien de mogelijkheden er goed uit en zou de Secustick zijn forse aanschafprijs waard kunnen zijn. Tweakers.net kreeg een aantal sticks in handen en besloot te onderzoeken of de stick zijn belofte en prijskaartje waar kan maken.

De eerste indruk

De metalen Secustick wordt in een mooi afgewerkt doosje geleverd. Daarin zitten de Secustick en een koord dat het mogelijk maakt de waardevolle gegevens om de nek te hangen. We hebben een van de sticks aan een grondige inspectie onderworpen en het lijkt erop dat het om gerelabelde Netac U220-sticks gaat; de gebruikte componenten zijn exact gelijk. Ter vergelijking: de Netac moet ongeveer 40 euro opbrengen, maar biedt geen zelfdestructiemogelijkheden.

Secustick in doos

De eerste keer dat de stick wordt gebruikt moet een wachtwoord worden gekozen. Naast het wachtwoord moet het aantal toegestane inlogpogingen ingesteld worden. Als dit aantal is bereikt voordat er een juist wachtwoord is ingevoerd, zal de zelfdestructie in werking treden. Als de stick eenmaal klaar is voor gebruik, is er zonder het invoeren van een wachtwoord slechts een partitie van 2MB zichtbaar. Hierop staat het - alleen voor Windows geschikte - programma password.exe. Na het opstarten van het programma verschijnt een dialoogvenster dat om het wachtwoord vraagt. Als een foutief wachtwoord wordt ingevoerd toont het programma de resterende inlogpogingen.

Secustick wachtwoord dialoogbox

Zelfvernietiging

Omdat de stick zichzelf vernietigt na een aantal foute inlogpogingen leek het ons een goed idee dit mechanisme als eerste aan een nader onderzoek te onderwerpen; we wilden natuurlijk niet het risico lopen dat we binnen de kortste keren met een aantal defecte sticks zouden zitten. De meest geschikte manier om dit te na te gaan, is uiteraard iets wat een tweaker eigen is: openschroeven. De angst dat de stick in rook op zou gaan bij het openen bleek al snel ongegrond: het losdraaien van een enkele schroef bleek voldoende om het hele apparaatje te demonteren. Bij het openen bleek overigens meteen dat er geen epoxy is gebruikt om de printplaat tegen eventuele creatieve aanpassingen met een soldeerbout te beveiligen.

Secustick opengewerkt
Het binnenwerk van de Secustick.

Na het openen van de behuizing zijn de twee basiselementen van een geheugenstick zichtbaar: een flashcontroller en een stukje nand-geheugen, in dit geval van leverancier Hynix. Enig onderzoek naar het type flashcontroller leerde al snel dat het om een eenvoudig model gaat dat niet over specifieke beveiligingstechnieken lijkt te beschikken. Van het geheugen konden we geen exacte datasheet vinden, maar die van een gelijksoortig model was wel via internet beschikbaar. We kwamen er al snel achter dat de geheugenchip uitgerust was met een pinnetje wat afhankelijk van het spanningsniveau, het beschrijven van de chip wel of niet kan toestaan. De stick heeft hier zelf ook al een knopje voor, maar die loopt naar de controller en niet naar de geheugenchip. Dat betekent dat de controller alsnog zelf kan beslissen om een schrijfactie uit te voeren. Door echter een draad te leggen tussen de pin aan de geheugenchip en de aarde, konden we er zeker van zijn dat er geen gegevens op de chip veranderd konden worden.

Secustick met de gesoldeerde draad
De gesoldeerde draad op de Secustick.

Nadat de stick weer op de pc was aangesloten voerden we een willekeurig wachtwoord in: 'Wachtwoord fout, nog 6 resterende pogingen' wist de software ons te melden. Nog een keer proberen: 'Wachtwoord fout, nog 6 resterende pogingen', was het antwoord weer. Mooi! De stick kon het aantal gebruikte inlogpogingen niet meer opslaan; we hadden dus in feite een ongelimiteerd aantal pogingen om een wachtwoord in te voeren. Tijd om de software aan een nadere blik te onderwerpen.

De software

Het programma password.exe schrijft bij het opstarten twee bestanden in een tijdelijke directory: SinglePWD.exe en USB20.dll. Met W32Dasm, een disassembler annex debugger, keken we naar de software. De executable is zoals verwacht verantwoordelijk voor het tonen van de userinterface en USB20.dll zorgt voor de communicatie met de stick. Wat wel verrassend was, is de opbouw van het dll-bestand. In plaats van low-level commando's zoals SendToStick() waren routines als GetWriteProtectState(), RefreshFileBrowser() en de belangrijkste VerifyPassWord() zichtbaar.

Secustick screenshot debugger (klein)
Schermafbeelding van de debugvensters (klik voor groter)

Vanzelfsprekend trok deze laatste de meeste aandacht. Met de debugger keken we naar de VerifyPassWord-routine. Het bleek dat via een eax-register het resultaat van de routine aan het hoofdprogramma werd doorgegeven. We plaatsten met de debugger een breakpoint direct na de functie, en voerden een fictief wachtwoord in. Het programma werd door de debugger gestopt en de returnwaarde 0 werd door ons in 1 veranderd. Het programma werd daarna vervolgd. We hoopten op een foutmelding die ons iets meer inzicht in het proces zou geven. Dat was helaas niet het geval. Hoewel helaas? We kregen veel meer dan waar we op gerekend hadden.

Door de mand gevallen

Het bleek dat we al volledige toegang tot de 'beveiligde' bestanden hadden. Blijkbaar wordt alleen in het programma gecontroleerd of het wachtwoord correct is ingevoerd, en wordt op basis daarvan het vrijgavecommando via de dll aan de stick gezonden. Door eenvoudigweg de returnwaarde van de VerifyPassWord-routine te veranderen gaf de schijf zijn - niet versleutelde - inhoud prijs.

Secustick screenshot van de bestanden

De controle van het wachtwoord en het vrijgeven van de bestanden zijn twee aparte processen. Dit mag een ernstige ontwerpfout genoemd worden. De best beveiligde sticks voeren het versleutelen en vrijgeven van de bestanden volledig uit op de chip. Een iets minder goede methode is het vergelijken van een wachtwoord dat versleuteld in de controller is opgeslagen, met een wachtwoord dat door de pc wordt aangeleverd. Deze methode voorkomt in ieder geval dat het wachtwoord van het flashgeheugen gehaald kan worden. Een nog minder goede methode is het opslaan van het wachtwoord op het geheugen van de stick, het risico dat het wachtwoord van de chip gelezen wordt is reëel. De Secustick staat nog een stapje lager op de ladder: de controle van het wachtwoord en het vrijgeven van de stick vindt volledig plaats vanaf de pc. Een pc waar je uiteraard geen controle over hebt als de stick gestolen wordt.

Ten slotte

Classified?De beveiliging van de stick is dus zo goed als waardeloos: een eenvoudig programma kan het vrijgavecommando aan de stick sturen zonder het wachtwoord te weten. Daarnaast kan het password.exe programma aangepast worden om ieder willekeurig wachtwoord te accepteren. Als een aangepaste versie van het programma publiekelijk beschikbaar gemaakt zou worden kan iedereen die de weg naar een zoekmachine weet de Secustick zonder enige moeite uitlezen. Het lijkt er tevens op dat de zelfvernietiging - the flash memory is burned volgens de datasheet - ook niet veel te betekenen heeft. Er zit voor zover we hebben kunnen vaststellen geen extra hardware op de chip - zoals een dc-dc-converter - die het geheugen fysiek kan vernietigen door er bijvoorbeeld een te hoge spanning op te zetten.

In een reactie geeft importeur Walter Preij aan verrast te zijn door onze bevindingen. 'De fabrikant heeft mij verzekerd dat het systeem volledig veilig is,' zo reageert hij. De Franse leverancier stelt desgevraagd dat de Secustick niet bedoeld is als ultiem beveiligingsmiddel. 'Iedere vorm van beveiliging is te kraken. We vertellen onze klanten altijd zelf te testen of de stick aan hun verwachtingen voldoet. Onze klanten zijn tevreden met de mate van beveiliging die ons product biedt. Normaal gesproken is onze beveiliging voldoende, niet iedereen heeft de technische kennis in huis die jullie hebben,' zo vertelt de Franse leverancier, daarbij voorbijgaand aan de mogelijkheden die een kwaadwillende ter beschikking kan hebben of de mogelijkheid om een gekraakte versie van de software online te zetten. De directeur van het bedrijf geeft wel aan met een verbeterde versie bezig te zijn. Deze versie zal binnen twee maanden gereed zijn. Voor de echt grote geheimen heeft het bedrijf nog een aparte productlijn 'die nog beter beveiligd is'.

Ons advies mag duidelijk zijn: iemand die 130 euro over heeft voor een mooie metalen usbstick met ophangkoordje kan gerust een Secustick aanschaffen; degene die graag zijn gegevens veilig meeneemt doet er verstandiger aan een beter exemplaar te zoeken of een gewone stick te gebruiken met een programma als TrueCrypt.

Wij willen Sprite_tm bedanken voor zijn uitgebreide technische bijdrage aan dit artikel.

* Plug this story

Reacties (121)

121
121
74
11
1
30
Wijzig sortering
Ik begrijp niet hoe bedrijven wegkomen met regelrechte rommel als dit, zeker niet als er overheidsdiensten zijn die de beveiliging "gecontroleerd" hebben. "Iedereen" kan blijkbaar de beveiliging van die stick met relatief gemak omzeilen.

Een debugger hanteren is niet bepaald rocket science, al is er wel wat gedegen kennis voor nodig die de gemiddelde Whizzkid van het Windows tijdperk niet heeft. Peter R. de Vries kan de stick iig niet lezen, maar die kan wel iemand betalen om dat te doen. Hetzelfde geld voor criminelen.

Iedereen dit die kan kraken (en nog een heleboel andere mensen) hadden een beter ontwerp kunnen verzinnen dan dit.
Vergis je niet in Peter hoor, hij kan ook met een virusscanner overweg :Y)
ze stapelen wel fout op fout.
Geheugenchip te benaderen (evt los solderen en op een andere stick terug zetten). Read only pin te benaderen. Password controle door host systeem, vrijgave door host systeem, en het wissen ('vernietigen') door host systeem uitvoeren.

Wat ik nog niet heb gehoord (maar ook vaak voor komt en het nadeel is van Truecrypt) zijn er administrator rechten nodig voor gebruik van de stick. Dat vindt ik het grootste nadeel van veel beveiligde sticks.

Stel je bent bij een klant en je wil wat gegevens over zetten. Deze klant heeft de beveiliging goed voor elkaar dus jij krijgt geen admin rechten (vandaar ook die veilige stick) maar dan moet je om de stick te gebruiken eerst een programma installeren (foei dat mag niet).
Truecrypt heeft het zelfde probleem (tenminste een 1/2 jaar geleden).

De enige goedkopere oplossing zijn sommige sticks met vingerafdruk-scan.
Dure oplossingen hebben een eigen microproc om de password afhandeling te doen, maar deze zijn nog een stuk duurder als dit franse prut ding.
Volgens de datasheet hoeft je geen administrator te zijn :)
Een willekeurige (password).exe uitvoeren op een beveiligde bedrijfspc zal vaker niet dan wel lukken.
Klopt.. Truecrypt heeft Admin rechten nodig en is dus voor bedrijfsleven al gauw niet meer interresant.

Wij zijn daarom in zee gegaan met het duitse Challenger. Challenger doet encryptie op bestandsniveau. Om te en- / decrypten is geen adminrechten vereist.

www.challenger.de
Maar eens Truecrypt geïnstalleerd is op de PCs heb je geen adminrechten meer nodig om een beveiligde stick te gebruiken.

After a system administrator installs TrueCrypt on the system, users without administrator privileges will be able to run TrueCrypt, mount/dismount any type of TrueCrypt volume, load/save data from/to it, and create file-hosted TrueCrypt volumes on the system.
hochzeits- und veranstaltungsservice :?
Ik vraag me nog wel af wat er gebeurt als je het wachtwoord te vaak fout hebt gehad, en het geheugen "vernietigd" wordt; zou je het dan ook nog kunnen uitlezen?
In het artikel staat wel dat jullie geen hardware gevonden hebben die het geheugen fysiek vernietigt, maar wat gebeurt er dan wel? Wordt er ergens een bitje gezet dat het geheugen vanaf heden stuk is, of gaan ze alles nullen? (dat zou trouwens wel z'n voordelen hebben; ik meende dat data recovery niet goed wil met flash drives, en je hebt dan geen kapotte stick als iemand in je bedrijf het verkeerde wachtwoord had gekregen)
Ik denk dat de software het geheugen leeg maakt... Aangezien het softwarematige oplossing is. Hardware is het een gewone USB stick uit de media markt ;)
Leeg maakt? of de fat table leeg gooit?
Want als niet alle bits opnieuw beschreven worden kun je alsnog prima de files uitlezen.

Aangezien de hele stick herschrijven met random data (meerdere malen t liefst) te lang duurt om een gegarandeerde vernietiging te garanderen lijkt ook dit me erg sterk.
@killercow, dit is flash geheugen, niet een magneet schijf, waarvan je het magnetische van de vorige stand nog half kan aflezen ;)
Dus 1x de bitjes van 1 naar 0 en naar 1 en je bent alles 100% en onherstelbaar kwijt. Iets dat hier dus duidelijk niet wordt gedaan.
Ik weet niet hoe het programma het doet, maar ik heb toch 2 keer een hele sd kaart en memory stick hersteld met het programma pci filerecovery en pci smartrecovery.

Misschien een tip ;)
@abdurrahman123: Dat heb ik ook al eens gedaan, maar dat komt simpelweg, omdat je de data niet weggooit. Bij een delete wordt alleen maar de verwijzing naar de data weg gesmeten. Dus als je die kan herstellen... dan is het weer goed.

In de programmeertaal 'C' moet je de functie 'unlink()' gebruiken om een delete uit te voeren.
Het grappige is dat voordat ik verder ging naar pagina 3 al hetzelfde in me hoofd had omdat het open te maken en aan te passen. Omdat het fysiek hetzelfde was als de Netac :). Iemand met elektronica kennis weet dat elke geheugen chip een Write Enable pin heeft en deze kan misbruiken. Ik had bij de titel verwacht dat een microcontroller opzat die de flash chip vrijgeeft na het wachtwoord gecontrolleerd was (op de microcontroller). En tevens met deze wachtwoord de gegevens encrypt..

Het is dan alsnog te kraken maar dan was het niet zo'n kinderspel...
Je hebt nog altijd de optie om het flash geheugen over te solderen op een niet-beveiligde USB-stick.
Een product als dit had gewoon encryptie met dat wachtwoord moeten gebruiken, dan kun je oversolderen totdat je een ons weegt en schiet je er nog niets mee op. Mits het wachtwoord natuurlijk op de chip van de stick gechecked wordt en niet op de pc... |:(
ja bedoel als het zo makkelijk begint te gaan moet je wel een omweg nemen om nog wel een beetje plezier erin te houden :9
maar daar dacht ik dus ook als eerste aan toen ik las dat het een zelfde memstick was als de andere
Janoz Moderator PRG/SEA 12 april 2007 09:22
De Franse leverancier stelt desgevraagd dat de Secustick niet bedoeld is als ultiem beveiligingsmiddel. 'Iedere vorm van beveiliging is te kraken. We vertellen onze klanten altijd zelf te testen of de stick aan hun verwachtingen voldoet. Onze klanten zijn tevreden met de mate van beveiliging die ons product biedt. Normaal gesproken is onze beveiliging voldoende, niet iedereen heeft de technische kennis is huis die jullie hebben'
Ja, iedere vorm van beveiliging is te kraken, en dan vervolgens je nieuwe mountainbike 's avonds met een dropveter aan de brug knopen |:(..

Je hebt beveiligingen die by design jaren tot eeuwen vragen voordat er ingebroken kan worden, en je hebt pruts beveiligingen als deze..
prachtige review!

dit soort artikelen zijn erg leuk om te lezen, ook voor de wat minder die hard tweakers.
Goede tweakers.net review! Van mij mogen dit soort reviews vaker!
Ziet er naar uit dat de importeur het ook maar even voor gezien houd:
Wegens omstandigheden met betrekking tot het beveiligingsniveau van de Secustick is deze site momenteel offline.
Er wordt hard gewerkt aan een nieuwe en betere versie van de Secustick.
Wanneer deze beschikbaar is, kunt u op deze website weer alle informatie vinden.
(http://www.secustick.com/)
Klinkt toch een beetje als oplichting. Vraag me af in hoeverre dit juridisch verantwoord is en of ze wel goed verzekerd zijn tegen schadeclaims.
Mwa, dat lijkt me wat overdreven. Ze hebben immers geprobeerd te beveiligen. Dat ze er nou niks van bakken, tja, da's jammer.
Nee, ze beloven iets dat niet waar is: een (bijna) vollledig veilige stick. Dit is overduidelijk niet het geval, aangezien het tweakers.net zo snel gelukt is het ding te kraken
Mjah... moet het wel iets relativeren.. De eerste de beste kneus die die stick vind krijgt de data er net zo min af als dat die hangslot open krijgt. Maar net zo goed als dat je een slijptol op dat slot kan zetten kan je dus ook met wat meer moeite data van die stick af krijgen.

Neemt niet weg dat het geen beste beveiliging is - een dik kettingslot met verankerde sluiting, plastic en vezel wrap eromheen is ook beter dan deen hangslot - maar het is een beveiliging.
Dat het slechts een kwartiertje werk kost om toegang tot een dergelijke stick te krijgen, en met een speciaal software appje slechts secondes mag toch wel een groot schandaal heten voor een stick die aan allerlei veiligheidseisen zou voldoen. Alsof het leger en inlichtingendiensten deze beveiliging werkelijk genoeg vinden als ze dit verhaal lezen. Encrypten die handel, dat password in de chip opslaan, dit ook checken in de chip ipv de pc en daadwerkelijk het flashgeheugen 'burnen' zoals in het datasheet staat.
Voor mij riekt dit wel degelijk naar fraude, encrypting memory sticks zoals bijvoorbeeld Kingstons Datatraveler Elite doen meer aan beveiliging voor minder geld, echt triest dit :(
Neemt niet weg dat het geen beste beveiliging is - een dik kettingslot met verankerde sluiting, plastic en vezel wrap eromheen is ook beter dan deen hangslot - maar het is een beveiliging.
Ik vind toch dat je voor 120 euro verwacht een dik kettingslot te kopen, en dat je wel degelijk bedrogen bent als daarna blijkt dat er slechts een dun ijzerdraadje binnenin zit.
De gegevens gewoon encrypteren met dat paswoord is toch het minste dat je zou kunnen doen, en is volgens mij in een dag er bij te programmeren.
Tja, dit is wel heel eenvoudig... Hoe zit dat bij andere 'beveiligde' sticks? Bijv. m'n Transcend JF210E 1Gb met vingerafdruk-dingetje, hij slaat tenminste wel ge-encrypt op zegt ie...
edit: oeps moest onder Jouke74
"Klinkt toch een beetje als oplichting. Vraag me af in hoeverre dit juridisch verantwoord is en of ze wel goed verzekerd zijn tegen schadeclaims."

Inderdaad. Pure oplichting zelfs, zou ik willen zeggen. Waarom? Ten eerste omdat de data helemaal niet beveiligd is, maar er gewoon alleen maar een boolean ('0' of 1') poortje voorzit.

Maar de echte oplichting zit em natuurlijk in die "the flash memory is burned". Puur bedrog. Blijkt gewoon alleen een stringetje te zijn dat op het schermpje verschijnt.
Als de fabrikant idd niet door had dat hun beveiliging zo brak is dat het wachtwoord niet eens door de chip wordt gecontroleerd maar op de pc, is dat grove nalatigheid. Zo niet dan is het gewoon oplichting.

Ze moeten wel weten dat ze fout zitten. Naast deze aanval zou je ook simpelweg de commando`s die richting de USB poort gestuurd worden kunnen onderscheppen en daaruit het unlock comando filteren.
"Naast deze aanval zou je ook simpelweg de commando`s die richting de USB poort gestuurd worden kunnen onderscheppen en daaruit het unlock comando filteren."

Neen, Nijn. Dat laatste kan nou net niet. Wat ik begreep is dat er een sub aangeroepen wordt die in het CPU register EAX een boolean waarde returnt: 0 of 1. Die waarde gaat dus niet over een USB lijntje, maar is dus gewoon een register waarde als gevolg van een berekening/test.
Ik vind het een beetje lullig om het product gelijk helemaal af te serveren, maar de prijs kan wel een stukje omlaag nu :+
Wat me meer verbaast (en toch ook weer niet) is de enorme kennis van zaken hier bij tweakers. Chapeau...
diep respect voor electro guru sprite_tm die zelfs van een optishe muis ooit een scanner heeft weten te maken (geen hoge kwaliteit uiteraard :))

hulde, goed artikel en grappig om te lezen dat jullie ook verrast zijn door de eenvoud waarmee je zoiets kan kraken :)
Zoiets zou Tweakers vaker moeten ondernemen, zulke stukjes hebben echt een hoog tweak-gehalte :)

Alleen jammer dat er niet wat verder op de selfdestruct-methode is ingegaan, om bijvoorbeeld te onderzoeken of de stick nog leesbaar is na deze 'selfdestruct'.

Op dit item kan niet meer gereageerd worden.