{"id":437,"date":"2007-12-28T23:48:21","date_gmt":"2007-12-28T21:48:21","guid":{"rendered":"http:\/\/www.mitternachtshacking.de\/blog\/437-24c3-toying-with-barcodes"},"modified":"2012-06-07T09:43:43","modified_gmt":"2012-06-07T08:43:43","slug":"24c3-toying-with-barcodes","status":"publish","type":"post","link":"https:\/\/www.mitternachtshacking.de\/blog\/437-24c3-toying-with-barcodes","title":{"rendered":"24C3: Toying with Barcodes"},"content":{"rendered":"<p>FX ist im Grunde eine Klasse f\u00fcr sich. <a href=\"http:\/\/events.ccc.de\/congress\/2007\/Fahrplan\/events\/2273.en.html\">Das Thema Barcode<\/a> klingt auf den ersten Blick ja erstmal extrem langweilig aber FX hat was spannendes und ansprechendes daraus gemacht.<\/p>\n<p>Zuerst mal zu den technischen Details:\u00c2\u00a0 FX hat sich mit 1D Barcodes (das sind die mit den Strichen) und 2D Barcodes (das sind diese Matrixfelder) besch\u00e4ftigt, wobei 1D Barcodes aufgrund der geringen Datenmenge und den beschr\u00e4nkten Kodierungsm\u00f6glichkeiten sich als leicht angreifbar erwiesen haben.\u00c2\u00a0 Zu den 1D Barcodes geh\u00f6ren u.a. die Kodierungen Code39, UPC-A bis UPC-E, EAN8, EAN13 (das sind die auf den Lebensmitteln) sowie obskurere wie Postnet (der Code auf den Briefen). Bei den 2D Barcodes sind haupts\u00e4chlich PDF417, Data Matrix, Maxicode und Aztec Code zu nennen. Als Software zum Erzeugen von Barcodes empfiehlt er GNU Barcode (die Spezifikationen der Barcodes kann man aber auch f\u00fcr relativ wenig Geld erwerben). Zum Lesen verwendet er die Omniplaner SwiftDecoder Software, ein kommerzielles Produkt.<\/p>\n<p>Neben vielen Anekdoten und technischen Erkl\u00e4rungen zum Vorgehen sind drei Punkte bei mir h\u00e4ngengeblieben:<\/p>\n<p>1. Scanner-Konfiguration via Barcodes<\/p>\n<p>Einige Scanner lassen sich via Barcodes konfigurieren. Daf\u00fcr gibt es einen speziellen Barcode &#8222;Enter Configuration&#8220;, einen weiteren mit der eigentlichen Konfiguration und einen dritten &#8222;Save Configuration&#8220;. Das sieht schon mal recht vielversprechend f\u00fcr lustige Angriffe aus.<\/p>\n<p>2. Anwenden von Barcodes im Supermarkt<\/p>\n<p>Die Idee von FX war, man nimmt einen Barcode-Auszahlungsbeleg vom Pfandsystem, vervielf\u00e4ltigt diesen und kopiert ihn auf Aufkleber, die automatisch gescannt werden. Diese Aufkleber pappt man auf schwere Waren die auf der Unterseite den Barcode haben. Die meisten Kassierer ziehen die Ware nur \u00fcber den Leser und statt dem Preis f\u00fcr das Sixpack bekommt man Geld zur\u00fcck. Diesen Trick kann man auch in Verbindung mit Punkt 1 anwenden.<\/p>\n<p>3. Es gibt ein paar Barcode-Systeme die recht sicher scheinen, zumindest hat FX auf die schnelle nichts gefunden. Dazu geh\u00f6ren u.a. das der Deutschen Post und der Deutschen Bahn. Au\u00dferdem bekam er bei seinen USA-Besuchen bei der Ausreise ebenfalls einen riesengro\u00dfen Barcode, der jedoch nie wieder eingescannt wurde. Ich wiederhole hier daher die Einladung an FX, diese Barcode-Systeme zu analysieren.<\/p>\n<p>Heise hat einen <a href=\"http:\/\/www.heise.de\/newsticker\/meldung\/101121\">sehr guten Artikel<\/a> dazu, der die weiteren Angriffe wie SQL-Injection via Barcode oder fehlerhafte Verwendungen von Barcodes z.B. in Videotheken oder am Frankfurter Flughafen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>FX ist im Grunde eine Klasse f\u00fcr sich. Das Thema Barcode klingt auf den ersten Blick ja erstmal extrem langweilig aber FX hat was spannendes und ansprechendes daraus gemacht. Zuerst mal zu den technischen Details:\u00c2\u00a0 FX hat sich mit 1D Barcodes (das sind die mit den Strichen) und 2D Barcodes (das sind diese Matrixfelder) besch\u00e4ftigt, [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[13,8],"tags":[],"_links":{"self":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts\/437"}],"collection":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/comments?post=437"}],"version-history":[{"count":0,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts\/437\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/media?parent=437"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/categories?post=437"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/tags?post=437"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}