image

Streepjescode biedt hackers toegang tot hoofdsysteem

maandag 16 november 2015, 09:48 door Redactie, 13 reacties

Hele bedrijfsprocessen zijn afhankelijk van streepjescodes, maar hackers kunnen die code misbruiken om op relatief eenvoudige wijze toegang te krijgen tot de achterliggende computersystemen. Met een code, genaamd Badbarcode, zijn hackers in staat om met barcode scanners en een gemanipuleerde streepjescode een shell-venster op een host-computer te openen en zo commando’s uit te voeren.

De hack werd afgelopen week tijdens de PanSec 2015 conferentie in Tokyo gedemonstreerd. “Badbarcode kan het hostsysteem in principe elk commando laten uitvoeren”, waarschuwt een van de onderzoekers van het Tencent’s Xuanwu Lab op Threatpost.

De hack werkt omdat veel streepjescode niet alleen bestaan uit numerieke en alfanumerieke karakters, maar soms uit ASCII-tekens. Barcode scanners zijn in wezen toetsenbord emulators en als ze het Code128 protocol ondersteunen, kan een aanvaller een barcode creeëren die wordt gelezen en een shell op de computer opent. Het uitvoeren van de hack is dan ook relatief eenvoudig volgens de onderzoekers. Een kwestie van een paar gemanipuleerde streepjescodes genereren en ze op papier uitprinten.

De hack zou ernstig zijn omdat het niet beperkt blijft tot een specifiek product. Diverse grote fabrikanten van barcode scanners zoals Esky, Symbol en Honeywell, maken producten die hiermee misbruikt kunnen worden. Het misbruik door Badbarcode is te voorkomen als fabrikanten van barcode scanners additionele functies, die los staan van het hoofdprotocol, standaard uitschakelen. Ook zouden ASCII controletekens niet standaard naar de host verzonden moeten worden.

Reacties (13)
16-11-2015, 11:06 door Anoniem
Hmmmm....

dus ik print het commando downloaddezesoftwareenvoeruit in streepjes uit, en plak het op de melk, waarna een argeloze caissiere mij root-scant on een kassa-systeem. Of plak het op een Gamma-bloempot, die je weer terug in het schap zet.

Hm. seems like a bit of a stretch, maar een voice commanded pc kun je ook laten rebooten door op een website de juiste .wav te embedden.

Met de kennis die ik heb van kassa-systemen geef ik deze een score: lastig uitvoerbaar, en alleen op specifieke machines, en dan vervolgens zeer lastig detecteerbaar.
16-11-2015, 11:50 door Anoniem
Maar het gaat hier niet alleen om kassa systemen.
Complete assemblagelijnen van fabrieken zijn afhankelijk van barcodes.
Als voorbeeld: iedere auto fabrikant maakt gebruik van barcodes. Je zou dus (in theorie) met de juiste 'foute' barcode een complete assemblage lijn in de soep kunnen laten lopen.
Niet alleen door te zeggen, start dit programma en download deze malware, maar er zijn nog genoeg andere mogelijkheden.
16-11-2015, 12:40 door PietdeVries
Maar streepjescodes worden door een systeem toch niet gezien als commando's? Als een assemblagelijn een streepjescode scant van een product dat voorbij komt dan staat daar toch geen string als "#schokbrekers=#schokbrekers + 1" om het aantal getelde schokbrekers te tellen? Daar zal meestal een productcode staan die wordt ingelezen door de applicatie die het voorraadbeheer doet.
Hmm... - als die applicatie dan niet netjes z'n user input sanitized, dan zou er een SQL statement doorheen kunnen glippen. Wel de ultieme blind-SQL injection ;-)
16-11-2015, 12:47 door Anoniem
Dit doet me denken aan een soortgelijke aanval die begin jaren '90 vorige eeuw al was uitgehaald. Staat vast ergens in 2600 magazine of zoiets. De nieuwe generatie hackers/onderzoekers heeft weinig kennis van het verleden en is trots het wiel opnieuw uit aan het vinden.

De basis regel is: maak van iedere invoer de data op juiste wijze schoon. Dus of het nu een microfoon is of een keyboard, een muis of een ocr-scanner etc. Maar hoe kan je verwachten dat als onderzoekers het wiel opnieuw gaan uitvinden dat onderzoekers van fabrikanten ze voor hadden moeten zijn? De nieuwe generaties onderzoekers leren aan beide kanten niet van het verleden. Doordat het zo makkelijk is geworden om producten te ontwerpen en op de markt te zetten of onderzoeker te spelen is het aanbod wel groter, maar de kwaliteit niet beter.
16-11-2015, 13:07 door Anoniem
Als het goed is heb je al rekening gehouden met het feit dat een barcodescanner als direct en programmeerbaar invoerapparaat gebruikt wordt... De aanname dat iemand een streepjescode die de toetsencombinaties "Wnd+R[pause]shutdown -f -s" als simpel voorbeeld zou proberen te maken zou redelijk voor de hand liggend genoemd mogen worden.
16-11-2015, 13:18 door dutchfish
Assumption is the mother of all ......
16-11-2015, 13:21 door Anoniem
Assumption is the father of all fuckups.

"I thought you used the pill"
16-11-2015, 14:09 door Briolet
Door PietdeVries: Maar streepjescodes worden door een systeem toch niet gezien als commando's?

Blijkbaar wel in sommige gevallen. In de tijd van inbel modems kon je een escape sequentie in de datastroom toevoegen en dan werd de daarop volgende karakters als instructie uitgevoerd. Als je een file comprimeerde moest je (De zip-software) er voor zorgen dat er niet per ongeluk zulke esc sequensen ontstonden.
16-11-2015, 14:16 door Profeet
Ik wou een keer proberen hiermee een grap uit te halen met onze configmanager. Die scande vaak zijn eigen monitor barcode als test. Ik wou daar een keer een ALT+F4 barcode opplakken. Helaas gebruiken ze nu meer en meer QR code's :), dus die grap gaat denk ik niet meer werken.
16-11-2015, 14:24 door Anoniem
Door Profeet: Ik wou een keer proberen hiermee een grap uit te halen met onze configmanager. Die scande vaak zijn eigen monitor barcode als test. Ik wou daar een keer een ALT+F4 barcode opplakken. Helaas gebruiken ze nu meer en meer QR code's :), dus die grap gaat denk ik niet meer werken.

QR codes kunnen meer informatie bevatten. Met dezefde (foute) setup dus nog erger...
16-11-2015, 15:47 door Anoniem
Door Briolet: In de tijd van inbel modems kon je een escape sequentie in de datastroom toevoegen en dan werd de daarop volgende karakters als instructie uitgevoerd. Als je een file comprimeerde moest je (De zip-software) er voor zorgen dat er niet per ongeluk zulke esc sequensen ontstonden.

Hehe memories :) Deze bijvoorbeeld (0x) 2b2b2b415448300d = +++ATH0 = HangUP. denk ping payload of iets anders dat het terug echoed.
16-11-2015, 16:33 door Profeet
Door Anoniem:
Door Profeet: Ik wou een keer proberen hiermee een grap uit te halen met onze configmanager. Die scande vaak zijn eigen monitor barcode als test. Ik wou daar een keer een ALT+F4 barcode opplakken. Helaas gebruiken ze nu meer en meer QR code's :), dus die grap gaat denk ik niet meer werken.

QR codes kunnen meer informatie bevatten. Met dezefde (foute) setup dus nog erger...

Hmmm misschien toch nog is onderzoeken dan. Leek me wel goud om zijn gezicht te zien. ;).
16-11-2015, 20:55 door karma4
Door Anoniem:Hehe memories :) Deze bijvoorbeeld (0x) 2b2b2b415448300d = +++ATH0 = HangUP. denk ping payload of iets anders dat het terug echoed.
Hayes met de modems had de beperking van die seriele lijn waar en de data en de configuratie/initialisatie mee gedaan moest worden. https://en.wikipedia.org/wiki/Hayes_command_set Heel bottom lijn zie dat met PNP USB terug.
Als je de link volgt kom je de SMS aansturing voor sommige apparaten tegen...
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.