Barcode faking for fun and profit
Mischief in black and white
The increased use of barcodes in a wider variety of applications has made them a suitable, if unlikely, target for hacking attacks.
Having started out as a means to label cans of food in supermarkets, one-dimensional barcodes and two-dimensional matrix codes are now found in systems from pre-paid postage labels and airline tickets. Instead of serving as simple tags, 2D matrix barcodes are featuring as authentication, authorisation and payment method.
Organisations place implicit trust in these codes. Unfortunately, developers of barcode systems frequently neglect security considerations, assuming that codes are unlikely to be fake because hackers lack the necessary resources.
FX of hacker group Phenoelit undermined these assumptions with a presentation on Toying with barcodes at last week's Chaos Communication Congress hacker fest in Berlin.
Phenoelit began looking into the area of barcode security after one cheeky punter used forged admission cards to get free drinks at a meeting of the group. Perhaps unwisely, Phenoelit used one-dimensional barcodes as both an admission method and a payment method for drinks at one of their PH Neutral conferences.
The group initially looked into other similar one-dimensional barcode systems. It found that a season ticket to a multistorey car park in Dresden was based on a simple barcode that wasn't properly checked by backend systems. The flaw made it easy to get free parking.
At its most straightforward, it's easy to copy "used" barcodes in a print shop, scan them in and print them out. Freely-available programs such as GNU Barcode allow hackers to decode or write barcodes. Readers and scanners for two-dimensional barcodes were still comparatively expensive, a potential barrier for hackers. But once obtained, according to FX, these devices are easy to reconfigure.
The approach might be applied to print out fake airline boarding cards, although previous experience suggests that checks before boarding mean the approach would (at worst) only allow a miscreant past initial security checks and not actually onto a plane. FX was unable to manipulate the pre-paid postage system used by the German post office or the ticketing system used by German railways. Barcodes used by these orgainsations are protected by encryption, but other organisations are not so careful.
FX showed how he was able to create fake barcodes that allowed him to obtain DVDs that other clients had already paid for at his local rental shop. The hack relied on deciphering the codes used in the labels and printing out fake labels using the membership number of another member of a hire firm FX had joined, Heise reports.
Fake barcodes with surplus character might be used to crash backend systems. Mobile Tagging systems (such as Welt Kompakt in Germany) that allow shoppers to scan in and read codes with their mobile phones might also be subverted to direct surfers to maliciously constructed websites, Heise adds. ®