Blog: EMP = Embedded Malware Processor

Jeg sidder og kigger lidt på en BeagleBone Black til et projekt til datamuseum.dk.

Det der gør den interessant er at CPU’en ud over sin ARM Cortex-A8 også har to små 32bits processorer kaldet “PRU-ICSS”:

Ideen er kort og godt at disse to støtte-CPU’er kan løse kritiske realtids opgaver, således at man ikke behøver et RTOS på hoved-CPU’en.

Ideen er langt fra ny, stort set alle mainframes har hele deres I/O system bygget på den påde, men BBB er den første amatørvenlige platform med en ordentlig co-processor.

Kigger vi lidt nærmere på hvad der er i kassen:

Finder vi to CPU’er med hver 8KB RAM til deres program og adgang til hele hoved-CPU’ens addresserum og hertil nogle dedikerede I/O adgange mv.

Overvej f.eks hvorledes man kan implementere en simpel “console-processor” på den ene PRU, via den dedikerde UART0 seriel port: Det ville være perfekt til remote GDB på et kørende system, eller bare som generel konsol-adgang.

Men overvej så at vi ofte får farvestrålende “die-photos” af se af Intel og AMD’s seneste CPUer, ofte med med hovedfunktionsdelene indrammet og navngivet.

Flot og fascinerende.

I de sjælnde tilfælde hvor man kan finde chip fotos af support chips, hvad enten de bliver kaldt North-Bridge, South-Bridge, SuperIO eller andet, er der til gengæld ikke meget hjælp at hente.

Hvad er sandsynligheden for at vores PC’er har embeddede processorer der er perfekte platforme for mal-ware ?

Det er et snydespørgsmål: Vi ved at de er der.

F.eks ligger der noget der ligner en 8051 CPU på alle Intels CPU’er til at tage sig af “microcode upload”.

For mobiltelefoner er det den såkaldte “baseband processor” der styrer showet og kan gør lige hvad den vil imod den “application processor” der kører det operativsystem og de apps forbrugeren ser.

Selv ikke en RaspBerryPi er fri for at have en skjult CPU: Den core man kører på, skal startes af den “virkelige” CPU og koden dertil er hemmelig.

Er af spørgsmålene efter mit FOSDEM foredrag var: “Hvad kan EU gøre ?”

Et rigtig godt sted at begynde, er at kræve at ejeren af den fysiske enhed har 100% kontrol over hvilken kode der eksekveres af den dims han har købt, herunder tilstrækkelig dokumentation til at detektere malware der har sneget sig ind og metoder til at stoppe og fjerne det.

Indtil noget i den stil er på plads, har jeg svært ved at få øje på noget der for alvor kan kaldes en “trusted computing platform”.

phk

Posted in computer.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>