Computerbeveiliging - Hoe je bad guys buiten de deur houdt

EUFI /PCI-option Rom- bootkits : Onzin, of een walhalla voor inlichtingendiensten, botnet bazen etc?

04-09-2013, 06:41 door Anoniem, 1 reacties
Tot voor kort was een UEFI BIOS EFI runtime (PEI/DXE) bootkit EN/of PCI-Option-ROM bootvirus infectie slechts een hypothetisch model waarvan de zogenaamde security experts stelden dat deze nauwelijks in het wild voorkwam. Er zijn enkele proof-of-concepts (2009/2010/2012 PCI-ROM en UEFI Apple) geweest maar deze bleken echter in de praktijk zonder "Evil Maid" -type aanvallen moeilijk uitvoerbaar. Een "Evil Maid" - aanval wil zeggen dat een kwaadwillend persoon fysiek toegang op de PC of laptop of mobiele telefoon moet hebben om zo'n type bootkit en.of trojan te installeren.

Klokkenluiders zijn gek! The greatest trick the devil ever pulled?

Mensen die beweren dat hun computer geinfecteerd is met een dergelijk EFI/PCI-option-rom boot virus krijgen op security fora vaak te horen dat ze lijden aan "Morgellons syndroom" of "Munchausen by Proxy" m.a.w. : ze worden vaak niet serieus genomen en dergelijke hulpvragen worden afgesloten met argumentum ad absurdum: "je zal wel een fout in je hardware hebben", louter omdat dit grensoverschijdende virus nog niet in combinatie met trojans/malware/spyware is waargenomen. Dit lijkt op een kip / ei situatie. Op bepaalde fora moeten de getroffen personen een heus arsenaal aan anti-malware en anti-trojan detectie software draaien en daaruit geproduceerde hun logbestanden voor inspectie op een of ander forum plaatsen. Vaak zonder resultaat of duidelijk symptoom van een besmetting en daarmee is de kous afgedaan.

De fabrikanten (Toshiba, Packard bell, Acer, Medion, Gateway etc etc etc) hebben het wel mogelijk gemaakt om met behulp van versleuteling - en beveiligingscertificated zogenaamde "3th party"-value added EFI software in de BIOS te capsulen/installeren of beter "injecteren". Dit kan eventueel tijdens het (HER)-installeren van een besturingssysteem vanaf de verborgen vendor's partitie (recoverypartitie). Het is niet altijd evident door dumps van de bios te bestuderen of er bepaalde EFI 3th party drivers of runtime software aanwezig is.

"LoJack" is een goed voorbeeld van een geldige 3th party (U)EFI "Value added" anti-theft applicatie die gebruik maakt van pre-boot UEFI RUNTIME situatie (deze applicatie draait dus dubbel : lowlevel BIOS runtime DXE in het "drivermodel" en/of in virtual space in het besturingssystem hooked aan systeemprocessen. LoJack heeft dus eigenlijk complete controle over het systeem voor en NA het booten van linux/bsd of windows) en ver-"Bind" alle mogelijke protocollen (dus ook UEFI embedded IPV4/IPV6/ARP netwerkstacks) aan alle interfaces die voor de bios beschikbaar zijn zoals Bluetooth/WiFi/Lan/3g. LoJack is ontworpen voor anti-diefstal doeleinden en vreet _na_ vastgestelde diefstal de harde schijf op, zelfs na iedere (her)installatie en maakt calls over eigen TCP/IP stack (encapsuled en encrypted) naar de makers van "LoJack" om het IP adres van de dief te openbaren. (het signaal is 'magic' netwerk pakket: een trigger die de pc ontvangt na gemelde diefstal bij LoJack).

What If....

- makers van bootkits hebben ontdekt hoe ze een UEFI BIOS kunnen injecteren, bijvoorbeeld door het nabootsen van de certificaten/handshake met de UEFI Bios, de ingangen die de 'vendors' van de PC hebben gecreeerd voor 3th parties te misbruiken. Zo kunnen de UEFI ingangen als tweetrapsraket worden misbruikt om frequent automatisch nieuwe malware binnen te halen zonder dat een anti-virusscanner dit kan detecteren. Dit kan handig zijn specifieke doelen steeds met nieuwe instructies te kunnen targetten of bespioneren (bijv. Word of Excel bestanden van diplomaten , versleutelde gegevens etc). Als een 3th party (of bootkit) PEI/DXI toegang heeft tot low-level OS drivers dan kan een PC dmv virtuele hooks met het virus en alle low level verkeer regelen (dus ook wifi, USB hubs, scsi, lan, sata) en bijvoorbeeld dat verkeer ingekapseld via het netwerk en wellicht ongezien verzenden.

-scriptkiddies hebben ontdekt hoe ze "LoJack" kunnen triggeren met een Magic netwerk pakket die aangeeft dat een PC gestolen is: gevolg: Armageddon op je PC. Als kwaadwillenden zo'n signaal forceren dan is je harde schijf binnen korte tijd verwoest. Deze situatie is in 2009 ontdekt bij LoJack.

- The Cheshire Cat VM. UEFI applicaties draaien onzichtbaar voor het besturingssysteem: ik ben nog geen oplossing van anti-virus makers tegengekomen om een UEFI infectie te voorkomen of te detecteren maar ik sluit niet uit dat de bekende fabrikanten in de toekomst ook de mogelijkheden van UEFI bios gaan benutten om lowlevel controles uit te voeren en de integriteit van drivers/netwerk verkeer bewaken (correctie: Kaspersky heeft iets gemaakt dat EFI compatible is. Kunnen ze dit ook met PCI-Option roms? hmm). . Zelfs dan is het door middel van versleuteling en polymorfisme nog uiterst moeilijk om een dergelijke bootkit infectie te herkennen. Het onzichtbare aspect behelst dat een UEFI virus het netwerkverkeer ONGEZIEN lowlevel verkeer kan beinvloeden, kan laden en kan "inkapselen" om vervolgens te transporteren over het reguliere netwerkverkeer van het OS (bv Windows) ongeacht welke soort firewall op je OS/router/modem draait: het gaat ongezien voorbij. UEFI is volgens de specificatie immers zelf voorzien van eigen protocollen en netwerkstacks en heeft volledige toegang tot modem/3g/Bluetooth/Wifi/lan. Het lijkt me hypothetisch niet onmogelijk om door VM/UEFI gegenereerd netwerkverkeer magic te taggen en zo onzichtbaar voor pcap / capture drivers te maken. Het downloaden/URI/guid aanroepen van een specifieke elementen van zogenaamd onschuldige site in de EUFI DXE situatie kan als signalleringsfunctie werken voor overheidsinstanties. Zo kunnen TOR gebruikers eventueel ook worden getraceerd.

- een UEFI applicatie heeft lowlevel toegang tot ALLE invoer uitvoer apparaten (HID muis/keyboard(s)) en kan dus ongezien keyloggen, replayen d.w.z. dat de volgende situatie mogelijk is: een versleutelde (TrueCrypt/bitlocker) harde schijf/partitie moet pre-OS-boottime (na UEFI boot handoff) worden ontsloten met een passphrase/wachtwoord. Dit wachtwoord kan 1 op 1 door een UEFI RUNTIME applicatie in DXE mode worden onderschept en versleuteld over het netwerk naar EVE (persoon/botnet groep/instantie) worden verzonden (ik heb enkele sporen van kleine UEFI shell (waarschijnlijk een stukje poc) die toetsaanslagen boottime afvangt gevonden in een applicatie die was voorgeinstalleerd op een Acer laptop). Als UEFI applicaties draaien in een geheugengebied dat voor het OS als onbruikbaar is gemarkeerd dan kunnen OS virusscanners deze UEFI instructies/applicaties niet waarnemen. Wanneer een bootkit specifieke handelingen uitvoert door bijv. ongezien een win32/x64 trojan binnen te laden om specifieke informatie te stelen OF de eigenaar te openbaren als deze op het TOR netwerk zit (zoals de duitse inlichtingdienst dit doet) kan dit duiden op een UEFI bootvirus.

- Herinstalleren na vermoedelijke infectie heeft geen nut want een UEFI bootkit virus, of de netwerkcode i.c.m een SLEUTEL om een virus te laden zit in de BIOS de eerste code die een pc moet uitvoeren na een koude/herstart. Nieuwe code kan eventueel ongezien van internet pre-boot worden gedownload, bijvoorbeeld een Uninstall/destroy functie. Een nieuwe harde schijf installeren is na kwaadwillige UEFI /of pci-option rom infectie zinloos: de bootprocedure is in handen van UEFI : Niet het besturingssysteem. Pas na de pre-boot (Hands-off ) / exit() procedures zal een geinstalleerd OS starten met laden. Een VM heeft dan al in geheugengebieden PCI-ROM data uitgevoerd, of in UEFI geval; bytecode van 3e partijen of een virus. Overigens maken veel fabrikanten gebruik van 1 en dezelfde installatie "CD/DVD" op een verborgen partitie. Bij het (her) installeren of draaien van recovery is bepaald welke software je recht op hebt (de logic hiervan zit in de zogenaamde launchers, wanneer je die stack bekijkt zie je misschien een glimps van de instructies die nodig zijn om de vendor te bepalen zoals bijv. via de SMBIOS tabellen via WMI of eigen elevated user account (OEM NT "system" accounts). Wat opvalt is dat zo'n standaard installatie (voor Toshiba, Medion, Acer, Gateway, Packard Bell eendezelfde) NIET kan worden onderbroken en worden evident achterdeuren gemaakt om voor de fabrikant "service" te kunnen verlenen". Licenties van dergelijke voorgeinstalleerde software zijn amper voorhanden of obscuur gemaakt. Daarin zou moeten staan dat na herinstallatie nog wijzigingen kunnen worden aan de infrastructuur van de PC/tablet/etc.

- Stel, een hypothetische UEFI applicatie draait RUNTIME in een Driver - "virtuele machine" toestand en kan on the fly worden getriggerd om zichzelf met "bytecode" (EBC) te wijzigen, een virus dat bijvoorbeeld kijkt naar naar de heuristische kenmerken van een anti-trojan of andere applicatie om de BIOS te inspecteren. UEFI heeft een eigen bytecode interpreter en een virus/uefi applicatie kan zichzelf on the fly of na iedere herstart zodanig herprogrammeren (polymorfisme) zodat er geen digitale vingerafdruk van kan worden gemaakt om dergelijk bootvirus op te sporen. Heuristisch scannen is dan nog een mogelijkheid maar als de code is versleuteld dan heeft ook dit weinig zin. Alle lowlevel informatie van een BIOS kan worden geshadowed door valse informatie over de BIOS door te geven. Als laatste redmiddel kan een UEFI bootkit zichzelf op de onzichtbare bootpartitie van een Operating System installeren en een bootmechanisme op schijf infecteren (de huidige methode van bootkits).

- Trojans/malware kunnen door UEFI bootvirii ongezien worden verankerd in x y z Operating system afhankelijke bootstrap, trojans kunnen zichzelf onderhouden door zich frequent te updaten met nieuwe instructies/payloads en eventueel gebruik maken van kernelhooks of userspace om veranderingen door te voeren (om bijvoorbeeld toch ongezien SSL verkeer tijdens betalingsverkeer te injecteren).

Voorzienigheid
Apple heeft al *voor* deze "hypothetische" besmettingen mogelijk werden geacht voorzorgsmaatregelen getroffen om een dergelijke besmetting te testen: bij het opstarten kijkt een andere pre-preboot BIOS naar een eventueel geinfecteerde UEFI bios. Als de UEFI bios inderdaad geinfecteerd is dan laat een Apple PC "S.O.S" in morse horen. Bij Microsoft is kennelijk ook een belletje gaan rinkelen op de unit "AE-35" want Windows vanaf versie *8* heeft nu ook een beveiliging die werkt met beveiligingscertificaten om wijzigingen aan de BIOS aan te voorkomen of juist aan te kunnen brengen. De rest van de combinaties Windows Vista/windows7/ (ROVNIX.ZEUS) zijn verdachte situaties die op de verborgen EFI/windowspartitie vrij snel de BCD kunnen infecteren zonder dat een virusscanner (Microsoft Security Essentials, Kapsersky, MacAfee, Norton, Panda, ClamAV, AVG etc etc etc) dit kunnen waarnemen. Slechts 23% van die situaties kunnen worden herkend en de payload (lading) is steeds variabel (afhankelijk van wat de botnetmakers/virusinkopers(overheid)) met je PC willen.
Ik heb op GITHUB en op chinese fora diverse methoden gevonden om eenvoudig het stroomschema aan te passen op UEFI bioses zonder NT/SYSTEM account of local Administrator rechten Deze methodiek is uiteraard platform onafhankelijk. Ik sluit niet uit dat er nog meerdere methodieken bestaan om tijdens het draaien van UPDATES door derden ook aanpassingen aan de BIOS kunnen worden gedaan om persistente trojans/malware/keyloggers etc te installeren.

bronnen: veul, theoretisch.

Researchers find insecure BIOS 'rootkit' pre-loaded in laptops
Summary: LAS VEGAS -- A popular laptop theft-recovery service that ships on notebooks made by HP, Dell, Lenovo, Toshiba, Gateway, Asus and Panasonic is actually a dangerous BIOS rootkit that can be hijacked and controlled by malicious hackers. For it to be an effective theft-recover service, Ortega and Sacco explained that it has to be stealthy, must have complete control of the system and must be highly-persistent to survive a hard disk wipe or operating system reinstall. "This is a rootkit. It might be legitimate rootkit, but it's a dangerous rootkit," Sacco declared. The research team stumbled upon the rootkit-like technology in the course of their work on BIOS-based malware attacks. At last year's CanSecWest security conference, the duo demonstrate methods for infecting the BIOS with persistent code that survive reboots and reflashing attempts.

Zover ik weet is de Duitse inlichtendienst bekend met deze technieken en gebruiken ze deze in de praktijk om (soms terecht) harde schijven op afstand te wissen of specifieke bestanden te verzamelen en terug te sturen (in de UEFI bios staat tenminste 3-5 unieke vendor (G)UID's, variabelen die nauwkeurig aangeven wie de kast /laptop heeft gemaakt/verscheept/processor ID, deze gekoppeld aan MAC adressen en variabele IP van een provider maakt iemand uniek traceerbaar.

De UEFI 2013 (2.3) specificatie van 1700 pagina's leest weg als een goede horror of thriller. Iedere 'feature' of instructie is ontworpen om los van het besturingssysteem zaken te doen die eigenlijk triviaal zijn zoals het laden van drivers voor apparaten. Ze zijn eigenlijk overbodig.

Een linux kernel hacker hierover:
x86, efi: Retain boot service code until after switching to virtual mode
UEFI stands for "Unified Extensible Firmware Interface", where "Firmware" is an ancient African word meaning "Why do something right when you can do it so wrong that children will weep and brave adults will cower before you", and "UEI" is Celtic for "We missed DOS so we burned it into your ROMs". The UEFI specification provides for runtime services (ie, another way for the operating system to be forced to depend on the firmware) and we rely on these for certain trivial tasks such as setting up the bootloader. But some hardware fails to work if we attempt to use these runtime services from physical mode, and so we have to switch into virtual mode. So far so dreadful. (.....)
Since we've been charmingly naive and trusted that the specification may be somehow relevant to the real world, we've already stuffed a picture of a penguin or something in that address space. And just to make things more entertaining, we've also marked it non-executable.

dit zinnetje:
"ie, another way for the operating system to be forced to depend on the firmware". Zo maken fabrikanten hun systemen en Operating system afhankelijk van elkaar. M.a.w. de BIOS van die fabrikant MOET worden gebruikt om de PC of Laptop en Mobiele telefoon (Android) te laten functioneren.

Mijn conclusie: misbruik van EUFI EN PCI-ROM bootkit-constructies is een enorme kostenbesparing voor inlichtendiensten die geen enorme "brute force" clusters meer hoeven te bouwen om wachtwoorden te kraken en voor makers van trojans/beheerders van botnets een goede methode om een stabiel en kosteneffectief botnet in de lucht te helpen.
Als ik voor een inlichtingendienst zou werken dan zou ik een programmeur bij AMI (american megatrends) of LUA humoristen bij Dritek (uit taiwan, bouwt een shell in UEFI met windows) voor een paar ton omkopen om bewust meer zwakheden in het UEFI mechanisme in te bouwen, dusdanig beveiligingstechnisch slecht programmeren zodat deze techniek over een paar jaar weer kan worden misbruikt. Het is bekend dat veel hackers zwakheden in besturingssystemen aan overheden verkopen, 0-day exploits is booming business.

Persistentie en determinisme: van sommige bootkit virussen is bekend dat ze zich pas na een half jaar na infectie manifesteren. Het kan dus goed zijn dat iedere PC vatbaar is voor UEFI exploits al is geinfecteerd en dat de exploits/trojans pas een half jaar later malicious code uitvoeren als een soort 4 dimensionale obscurity zodat er geen duidelijke link kan worden gemaakt met tijdstip van infectie en de later ingebrachte zwakheden/malware.(sommige linux hardcore kernel coders hebben dit voorzien door het geheugengebied als onuitvoerbaar te markeren, maar nemen verder weinig acht aan mogelijke consequenties van een dergelijke constructie).

permutate
Reacties (1)
04-09-2013, 12:52 door Anoniem
TL; DR... zeker niet na bronnen: veul, theoretisch....

Wat wil je nou? Een hele verhandeling schrijven waarin je stelt dat niemand je serieus neemt, en dan zonder enige bronvermelding dat poneren?

Overigens vond ik het wiki artikel over Munchausen by Proxy weer wel interessant ;-)
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.