image

Nieuwe methode kan Trojaanse paarden in chips vinden

maandag 15 augustus 2016, 13:55 door Redactie, 4 reacties

Wetenschappers van de universiteit van San Diego hebben een nieuwe methode ontwikkeld voor het vinden van Trojaanse paarden in computerchips. Of het nu om smartphones, routers of computers gaat, ze bestaan vaak uit allerlei onderdelen en chips. Het is echter mogelijk om chips zo te programmeren dat ze bepaalde taken uitvoeren, zoals een aanvaller toegang verlenen of gevoelige informatie doorsturen.

Dit probleem wordt nog eens door de logistieke keten vergroot, aangezien de chips over de hele wereld worden geproduceerd. "Hardware Trojans", die ook nog eens lastig zijn te detecteren, hebben dan ook allerlei voordelen voor aanvallers. Om dergelijke aangepaste chips toch te vinden hebben wetenschappers een nieuwe techniek bedacht die kijkt hoe de informatie zich door de logische poorten van een chip beweegt, net zoals het verkeer zich op een kruispunt beweegt en waar het zich aan de verkeersregels en -signalen moet houden. Als de informatie opeens naar een deel van de chip gaat waar het niet hoort te zijn, zal de nieuwe methode bepalen of het door een Trojaans paard komt of niet.

De onderzoekers noemen deze methode "Gate-Level Information-Flow Tracking" (GLIFT). Hierbij wordt er een label aan belangrijke data in een hardware-ontwerp toegevoegd. Is het doel bijvoorbeeld om te begrijpen waar een encryptiesleutel zich bevindt, dan wordt het label "vertrouwelijk" aan bits van de sleutel toegevoegd. De test-engineer kan dan kijken of de encryptiesleutel in een beveiligd deel van de chip blijft. Komt de encryptiesleutel echter buiten dat gebied, dan is de hardware mogelijk gecompromitteerd.

Volgens onderzoeker en hoogleraar Ryan Kastner zijn Trojaanse paarden in chips speciaal ontworpen om geen activiteit tijdens tests te vertonen. "Hardware-ontwerpen zijn complex en bestaan vaak uit miljoenen regels code. De standaardregel is om elke vijf regels een fout te verwachten. Mensen met verkeerde bedoelingen, bijvoorbeeld een boze werknemer, kan deze speciale fouten aan bepaalde patronen toevoegen die waarschijnlijk niet worden getest. Vervolgens wachten ze op bepaalde invoer om actief te worden." Via GLIFT moet dit toch worden opgemerkt. Kastner stelt dat de methode er dan ook voor moet zorgen dat fabrikanten met veel meer vertrouwen chips aan hun producten kunnen toevoegen die door iemand anders zijn ontwikkeld.

Reacties (4)
15-08-2016, 16:18 door Anoniem
Verwarrend verhaal. Hoe label ik bits in een chip? of met andere woorden; Hoe stop ik meer bits in een bit?
Of heeft men het over een simulatie aan de hand van HW code regels, maar dat wil niet zeggen dat de chip ook werkelijk via die code gemaakt is...

Ik snap er niets van.Iemand?
16-08-2016, 06:51 door Erik van Straten
15-08-2016, 16:18 door Anoniem: [...]
Ik snap er niets van.Iemand?
Ook ik niet, d.w.z. van de detectiemethode.

Bij de trojans kan ik me wel wat voorstellen. Destijds had mijn Atari ST geen hardware klok met batterij. Een bedrijf sprong daar op in en maakte een oplossing die je zonder solderen kon monteren.

Het besturingssysteem van de ST zat in ROM (Read Only Memory) chips.

Off topic: dat was nog eens secure boot! Software kon die ROM's niet wijzigen. Zelfs als je ze verving door EPROM's (Erasable Programmable Read Only Memory) kon malware er niets in veranderen, maar jijzelf wel. Om dat laatste te kunnen doen, moest je die EPROM chips uit hun "voetjes" (sockets) trekken, ze wissen onder een UV lamp, programmeren met een EPROM programmer en terugplaatsen in de computer. Een "evil maid" zou dit natuurlijk ook kunnen, maar zoals gezegd, kale software niet (om een EPROM te kunnen programmeren heb je een hoger voltage nodig dan beschikbaar op het moederbord).

De klokchip met batterij zat op een printje dat je in plaats van een van de ROM (of EPROM) chips in een voetje stak. Op het printje (boven de klokchip + batterij) zat vervolgens weer een voetje waar je de (EP)ROM chip in moest steken (ook wel piggy-backen genoemd).

Het probleem hierbij is dat je alle verbindingen tussen moederbord en (EP)ROM chip nodig hebt om het hele adresgebied van de (EP)ROM te kunnen benaderen; er waren dus geen "draadjes over" om driversoftware voor het uitlezen van de klokchip in plaats van de (EP)ROM te laten kiezen (by default was alleen (EP)ROM geheugen "zichtbaar" in het hele adresgebied van die (EP)ROM).

Er was dus een trojan-achtige truc nodig! Die bestond eruit door direct achter elkaar enkele specifieke (EP)ROM adressen uit te lezen: als je dat deed werden de registers (met actuele datum en tijd) van de klokchip toegankelijk. Na het uitlezen van het laatste register van die klokchip kreeg de processor in het betreffende adresgebied weer gewoon (EP)ROM geheugen "te zien".

Met andere woorden: een reeks specifieke leesacties vormt de sleutel om toegang te krijgen tot iets anders dan normaal.

Terug naar backdoored chips: in plaats van de registers van een klokchip kan het daarbij om kwaadaardige code gaan (die normaal gesproken "niet zichtbaar" is). Iets dergelijks kan natuurlijk ook in één chip uit een fabriek zitten, zoals bijv. in een flash geheugenchip. De kwaadaardige code is dan aanwezig in de computer; er is alleen een speciale trigger (kan een heel klein stukje van buiten aangeleverde software zijn dat er niet kwaadaardig uitziet) nodig om de kwaadaardige code te kunnen starten. Maar het kan natuurlijk ook om een "tellertje" gaan: als een aantal normale handelingen n keer is uitgevoerd, wordt de kwaadaardige code actief.

Creatieve kwaadwillenden hebben onnoemelijk veel mogelijkheden voor dit soort scenario's. Het zal lastig zo niet onmogelijk zijn om daarop te anticiperen. En daarna geldt hetzelfde als bij virusscanners: zodra de kwaadwillenden weten wat een beveiligingsmaatregel als kwaadaardig herkent, brengt deze net zo lang kleine wijzigingen aan totdat detectie niet meer plaatsvindt.

Stuxnet kon ook heel lang onopgemerkt blijven, en ook dit zal wel weer een kat-en-muis-spel worden.
17-08-2016, 12:03 door Anoniem
http://www.securityweek.com/new-technique-detects-hardware-trojans?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Securityweek+%28SecurityWeek+RSS+Feed%29

Het blijkt inderdaad om detectie van trojans te gaan die in de 'Code' van de chip verwerkt kunnen zijn.
Werking zoals hierboven beschreven. Nuttig op zich, maar zoals gezegd, wie zegt dat de uiteindelijke chip volgens die code is gemaakt?
Hebben chip bakkers een manier om de code en de uiteindelijke chip aan elkaar te koppelen, anders is dit niet de gehele oplossing?
24-08-2016, 19:41 door Anoniem
Eindelijk weer iets geleerd van die Atari 1040 en Falcon
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.