Hacking a Poken

18-09-2009 13:48 | Door Christiaan Beek | Lees meer artikelen over: Hacking, Encryptie, RFID, Identity Management | Lees meer over het bedrijf: Firefox | Er zijn 2 reacties op dit artikel | Permalink
Computable Expert
Christiaan Beek
Christiaan Beek

Principal Architect IR & Forensics

Expert van Computable voor de topics: Security en Cloud Computing

Meer

Tijd om eens de gadget-rage van dit moment, een Poken, te onderzoeken. De Poken is een kleine usb-stick die gebruikt wordt als een soort digitaal visitekaartje. Wanneer je twee Pokens tegen elkaar aanhoudt gaat er een groen lichtje branden. Op dat moment wordt jou identiteit en die van de ander uitgewisseld met behulp van rfid-technologie.

Zodra de poken in de pc wordt gestoken, wordt hij herkend als een usb-stick. Op de stick staan de volgende drie bestanden:

• Autorun.inf
• Help.txt
• Start_Poken.html

Het bestand ‘Start_Poken.html' zorgt ervoor dat je onmiddellijk wordt verbonden met de website van Poken, mits je autorun nog steeds aan hebt staan. Dit bestand bevat een url waarin de gegevens staan die jou identificeren op de Poken-website.

Voorbeeld URL:

faq.doyoupoken.com - Please Wait! here.URL=http://p.poken.ch/u/AB1234


Apache/2.2.3 (CentOS) Server at p.poken.ch Port 80

Zodra deze string copy/paste doet in een browser, zitten we zonder Poken in de usb-poort ingelogd op de website van Poken met de identiteit van de ander. Surfend naar de url ‘p.poken.ch' komen we keurig op een testpagina uit van Apache 2. Wanneer er ingelogd wordt met de Poken, dan wordt er een ‘Post request' uitgevoerd om contacten die op de Poken staan toe te voegen aan jouw account. Hiervoor wordt de database bij Poken geraadpleegd.

POST/PokenWeb/dwr/call/plaincall/FriendsDWR.getCard.dwr HTTP/1.1 Host: www.doyoupoken.com inFacebook%22%3Afalse%7D c0-scriptName=FriendsDWR c0-methodName=getCardc0-id=0 c0-param0=number:1234567890

Opvallend in de Wireshark-sessie was het feit dat de contactpersoon die toegevoegd werd een verwijzing op zijn visitekaartje had naar de social network-websites LinkeIin en Twitter. In de datastream werd nadat er een post-request werd uitgevoerd ook een tweetal dns-requests uitgevoerd richting LinkedIn en Twitter.

Url-codering/encryptie

Zoals al eerder besproken bevat de url in het bestand ‘Start_Poken.html' een gecodeerde reeks.

URL=http://p.poken.ch/u/AB1234

Deze ‘AB etc. ‘-reeks lijkt gecodeerd te zijn met Base64-codering. In het eerste gedeelte van de string zit je Poken_ID. Vervolgens wat bytewaardes die ik niet kon identificeren. Vervolgens is de rest van de ruimte op je Poken gereserveerd voor bevriende Pokens. Iedere vriend heeft 16 bytes ruimte, tot een maximum van 64 bevriende Pokens. Zodra een 16 byte-entry van een vriend begint, staat in de eerste aantal bytes zijn/haar Poken_ID, statusbyte, timestamp en wat overige bytewaarden. In de FAQ spreekt men over het gebruik van ‘very advanced encryption' van de informatie (geen persoonlijke informatie is opgeslagen op de Poken). Zoals eerder gezegd is er maar 16 bytes ruimte voor een vriend-contact waarbij al een aantal bytes gereserveerd is voor het Poken-ID, statusbyte en timestamp. Een advanced encryptietechniek die tegenwoordig gebruikt wordt heeft op zijn minst al 16 bytes nodig. In het verhaal van de Poken is dit dus niet mogelijk. Blijft er in dit geval maar 8 bytes over voor een encryptietechniek. Dit zou een 64 bit-versleuteling kunnen zijn, echter uit de praktijk is al gebleken dat 64 bits-encryptie niet sterk genoeg is.
Op de website van Poken valt te lezen dat de data sterk versleuteld wordt opgeslagen, echter, je Poken_ID en die van je vrienden staan dus niet versleuteld op je Poken.

Privacy

De relatie tussen Poken_ID en account wordt geregeld via de database van Poken. Bij het bewerken van je profiel kun je dus ook social network-websites opgeven. Hierbij wordt gevraag om je inloggegevens. Statement hierbij van Poken: ‘Your password confirms that this really is your account at the social network - we don't store this password'. Wie bewijst dit? Zou toch een geweldige database kunnen zijn waar onderlinge relaties kunnen worden weergegeven en waarbij de wachtwoorden bekend zijn. De privacyregeling waarmee men als gebruiker moet instemmen liegt er ook niet om:

‘We may use the information collected automatically, such as your IP address and information stored via cookies, to gather statistics about the number of people who use Poken to better customize your experience. We may share this information with third parties to help us improve Poken and better serve our users. Advertisements that appear on Poken are delivered to you by our advertising partners. Poken may transfer information about your use of Poken, such as your IP address and information stored via cookies, to our advertising partners and other third parties. This information may be used to provide advertising, promotions and other products and services that may be of particular interest to you. It may also be used to provide you with a tailored choice of content and media products.'

De passage over cookies bevat een zelfde soort passage waaruit ook blijkt dat men ‘May allow authorized third parties to place or recognize a unique cookie on your browser. [...] Any information provided to third parties through such cookies will not be personally identifiable but may provide general segment information, e.g. your industry or geographic location, for greater customization of your user experience.' Een optie binnen Firefox is om cookies te verwijderen zodra je Firefox afsluit.

Kortom

Door wat eenvoudige stappen te nemen is het mogelijk om compromitatie van je Poken te voorkomen. De encryptie die wordt gebruikt is niet zo geavanceerd zoals men beweerd. Het blijft een leuke gadget met bijbehorend initiatief. Over de privacy, opslag en gebruik van de gegevens wordt ik niet zo blij, maar goed dat is niet jouw zorg.

Reacties op dit artikel
Geen ratingRV, 28-09-2009 16:19
Leerzaam artikel Christiaan... we want more... :-)
Geen ratingBrand-Butler, 06-10-2009 11:38
De Promotionele Poken en de Business Poken zijn speciaal ontwikkeld voor bedrijven, stichtingen en instellingen die hun Poken willen bedrukken met hun logo, slogan of afbeelding. De Promo Pokens zijn verkrijgbaar vanaf 100 stuks in een rechthoekig of rond model met een full color doming. De Business Poken vanaf 25 stuks excl. bedrukking. Vanaf 5.000 stuks is het mogelijk om de Poken volledig te personaliseren (kleur, vorm etc?).
 
Brand-Butler levert en bedrukt de Promotionele Poken en de Business Poken. Op aanvraag is het ook mogelijk om de Retail Poken te laten bedrukken.
 
http://www.brand-butler.com/nl/paginas/poken-bedrukken-met-logo-slogan-of-afbeelding/
3 vacatures
Security officer

Ministerie van Veiligheid en Justitie, Immigratie- en Naturalisatiedienst , Rijswijk ZH

Senior ICT-Beheerder

Gemeente Breda , Breda

Systeembeheerder Kantoorautomatisering

SURFsara , Amsterdam

Top 10 Reagerende members
  Aantal reacties
met 3+ sterren
Gemiddelde
waardering
Klik voor meer info1 1563 6.2
Klik voor meer info2 1299 6.0
Klik voor meer info3 1266 6.2
Klik voor meer info4 1069 6.2
Klik voor meer info5 976 6.1
Klik voor meer info6 901 6.1
Klik voor meer info7 755 6.2
Klik voor meer info8 521 6.1
Klik voor meer info9 397 6.0
Klik voor meer info10 391 6.2