Gebruik canary tokens om indringers op te sporen
Canary tokens zijn de moderne kanarievogels van in de mijnen. Zij verwittigen jou wanneer ze verdachte activiteit op je computer of op je netwerk opmerken. In dit artikel leer je hoe je ze kan maken en gebruiken.
Kanarievogeltjes werden in het verleden in mijnen gebruikt om mijnwerkers te waarschuwen voor gevaarlijke gassen. Wanneer er een (niet ruikbaar) schadelijk gas vrij kwam tijdens de werken, dan stierven de kanaries onmiddellijk. Dat was voor de mijnwerkers het teken om zichzelf in veiligheid te brengen.
Canary tokens zijn de digitale tegenhanger van de kanaries in de mijnen - en veel diervriendelijker. Net zoals dat vroeger een kanarie de mijnwerker verwittigde, verwittigt een canary token de eigenaar van een dreigend gevaar of een inbraak in zijn computer, netwerk, database, e-mail, enzovoort.
Wat is een canary token?
Een canary token bestaat in verschillende vormen. Het kan een webpagina zijn, een API key, een bestand, een DNS record, een uitvoerbaar .exe bestand, een e-mailadres, enzovoort. Wanneer een canary token getriggerd wordt, dan wordt een alarm naar de eigenaar van de canary token gestuurd.
Een concreet voorbeeld
Stel dat er in een PDF bestand een canary token 'verborgen' zit. Wanneer iemand dat PDF bestand opent, dan wordt de canary token tezelfdertijd getriggerd. Hierdoor wordt een e-mail naar de eigenaar van de canary token gestuurd met de melding dat iemand die specifieke PDF geopend heeft.
Wat is het nut van een canary token?
We gaan verder op het voorbeeld van het PDF bestand. Stel dat je een PDF bestand met schijnbaar gevoelige data en een canary token op je bureaublad opslaat met de bestandsnaam 'wachtwoorden.pdf'. Wanneer iemand op je computer inbreekt en dat bestand op je bureaublad ziet staan, dan is de verleiding waarschijnlijk wel erg groot om dat bestand te openen. Wanneer de indringer dat bestand opent, dan stuurt de canary token die in de PDF verborgen zit jou een e-mail met de melding dat dat bestand geopend werd. Zo ben je op de hoogte dat iemand in je computer is binnengedrongen (en heb je zijn IP-adres). En neen, de indringer zal nooit weten dat hij opgemerkt is geweest.
Een canary token zal dus nooit een inbraak tegenhouden, maar je wel op de hoogte brengen dat er een inbraak geweest is. En het is beter om te weten dat kwaadwillige toegang hebben gehad op je computer of je netwerk, dan dat je dat nooit zou weten. Daar kan je dan op anticiperen.
De mogelijkheden zijn haast oneindig. Heb je, zoals zovelen, een USB-stick aan je autosleutels hangen? Dan kan het nuttig zijn om daarop een canary token verstopt in een afbeelding op te plaatsen. Wanneer iemand je sleutelbos in handen krijgt en de afbeelding op je USB-stick opent, dan krijg je daar een melding van. Zo krijg je bijvoorbeeld het IP-adres van de autodief in handen, of ben je op de hoogte dat iemand stiekem je USB-sleutel uitgelezen heeft en stilletjes terug in je tas gestoken heeft.
Wat is het verschil tussen een canary token en een honeypot?
Een 'honeypot' wordt door techniekers opgezet om met opzet indringers aan te trekken, in de val te lokken en te onderzoeken hoe zij te werk gaan om zo hun modus operandi te leren kennen. Een honeypot wordt altijd opgezet op systemen die daarvoor speciaal ontworpen zijn en zullen nooit op een productiesysteem staan.
Een 'canary token' lokt daarentegen geen indringers. Het is een slapende trigger diein actie schiet wanneer hij aangesproken wordt. Een canary token kan jarenlang niet actief zijn en dan plots een melding sturen wanneer hij aangesproken wordt (door bijvoorbeeld het openen van een bestand).
Voorbeelden van canary tokens
We gaven al het voorbeeld van een verstopte canary token in een PDF bestand. Hieronder geven we een aantal andere voorbeelden van items waarin een canary token verstopt kan zitten.
Microsoft Word of Excel document token
Hierbij wordt dezelfde werkwijze gehanteerd als bij het PDF bestand. Je maakt een (zogenaamd belangrijk) Word of Excel document met een canary token aan en plaatst het document in de mappenstructuur op je computer of op je centrale opslag, bijvoorbeeld op je fileserver. Wanneer een hacker weet in te breken op je computer of op je netwerk en dit bestand opent, dan krijg je een e-mail met de melding dat dat specifiek bestand geopend werd.
HTTP token
Een HTTP token is een - schijnbaar - lege webpagina. Maar wanneer iemand die webpagina opent, dan wordt de canary token getriggerd en een melding verzonden. Dit kan je bijvoorbeeld gebruiken in je e-mailprogramma. Stuur jezelf een e-mail met als onderwerp 'Mijn wachtwoorden', plaats die URL in de e-mail en bewaar de e-mail in een mapje 'Belangrijk'. Wanneer iemand op je e-mailaccount weet in te breken, dan is dat een interessante link om aan te klikken.
Windows map token
Dit is een token die je in een specifieke map zet. Wanneer iemand die bepaalde map opent, dan wordt de canary token getriggerd. Dit zet je dus in een map die je zelf nooit zou openen, maar wel aantrekkelijk is om te bekijken door een hacker. Denk maar aan een map 'Bankgegevens'.
QR-code token
Vandaag de dag komen we in ons dagelijks leven veel QR-codes tegen. En we scannen ze ook met alle plezier in, want we zijn benieuwd wat er achter die kleine blokjes verborgen zit. Wanneer een QR-code met een canary token gescand wordt, dan wordt er een melding gestuurd. Zo een QR-code laat je achter op plaatsen waar in principe niemand iets te zoeken heeft. Bijvoorbeeld in een schuif op je bureau, in je kassa, op de deur van het magazijn, enzovoort.
Maar denk ook andere mogelijkheden van dit gebruik, zoals onder de batterij van je smartphone. Want wie die QR-code scant, die heeft je smartphone in bezit. Of op een van je servers met als onderschrift "Administrator wachtwoord".
SQL-server token
Deze canary token is speciaal voor database beheerders en wordt getriggerd wanneer iemand een specifieke UPDATE / SELECT / DELETE of INSERT commando op een specifieke (niet gebruikte) database tabel uitvoert. Zo weet je dat iemand in je database server ingebroken heeft.
Amazon AWS API-key token
Deze canary token is speciaal voor systeembeheerders en ontwikkelaars. Amazon AWS API-keys worden gebruikt om toegang te krijgen tot Amazon AWS diensten. Wie een echte AWS API-key in handen heeft, kan plotsklaps toegang krijgen tot veel data. Tot heel veel data. Als een hacker zo een API-key in handen krijgt, dan moet hij die simpelweg uitproberen om te ontdekken welke informatie hij kan bemachtigen.
Wanneer je een canary token verstopt in een AWS API-key, dan krijg je melding wanneer die API-key gebruikt werd. Deze API-key gebruik je dus zelf niet, maar de gegevens ervan staan simpelweg in bijvoorbeeld je documentatie, of samen met je echte API-keys in je programmacode.
Zelf een canary token maken
De eenvoudigste manier om een canary token te maken, is via de gratis online tool canarytokens.org. Je kiest het soort token dat je wilt maken, geeft je e-mailadres op en typt de notitie die naar je e-mailadres gestuurd wordt. Maak deze notitie zo volledig en duidelijk mogelijk. Typ als notitie bijvoorbeeld het doel van de token en waar je deze achtergelaten hebt. Zodat wanneer je canary token na vijf jaar plots getriggerd wordt, je duidelijke informatie over de token hebt.
Wil je meer informatie over alle mogelijke soorten canary tokens wat je via deze tool kan aanmaken? Surf dan naar docs.canaryokens.org.
PS: wil je een allerlaatste canary token triggern? Surf dan naar nexxwave.be en mogelijk merk je zelfs niet dat je een canary getriggerd hebt! Heb jij 'm opgemerkt?