Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
Prijevodi ove stranice:

UEFI i firmware forenzika

Sažetak

Ova wiki stranica obrađuje UEFI (Unified Extensible Firmware Interface) i platformski firmware kao kritični sloj računalne sigurnosti koji, zbog smještaja izvan tvrdog diska (na SPI flash memoriji), omogućuje napadačima trajnu prisutnost neovisnu o reinstalaciji operacijskog sustava. Stranica definira arhitekturu UEFI firmware-a s naglaskom na forenzički relevantne komponente poput NVRAM varijabli i DXE drivera. Opisani vektori napada koji ciljaju Secure Boot lanac povjerenja i metode ugradnje malicioznog koda (implantata) poput LoJaxa i BlackLotusa. Središnji dio fokusira se na metodama forenzičke akvizicije, uspoređujući ograničenja softverskog pristupa i pouzdanost hardverske akvizicije putem SPI programatora. Konačno, predstavljene su tehnike analize prikupljenih dokaza korištenjem alata kao što su UEFITool i Chipsec te pregled zaštitnih mehanizama potrebnih za očuvanje integriteta platforme.

Uvod

UEFI (Unified Extensible Firmware Interface) kritična je poveznica između hardvera i operacijskog sustava koja, zbog smještaja na SPI flash memoriji matične ploče, omogućuje napadačima trajnu prisutnost (perzistenciju) neovisnu o reinstalaciji OS-a ili zamjeni diska. Firmware forenzika bavi se pouzdanim prikupljanjem sadržaja flash čipa i analizom UEFI postavki (NVRAM) kako bi se otkrile neovlaštene izmjene, npr. umetnuti zlonamjerni moduli ili pokušaji da se tijekom paljenja računala pokrene nepouzdan (nepotpisan) kod. Ova wiki stranica definira postupke hardverskog i softverskog snimanja (izrade slike) firmware-a te ključne artefakte nužne za detekciju kompromitacije na najnižoj razini računalnog sustava.

UEFI arhitektura

Za razliku od klasičnog BIOS-a koji je bio monolitni komad koda, UEFI (Unified Extensible Firmware Interface) je složeniji softverski sustav koji djeluje kao “mini operacijski sustav” prije pokretanja glavnog OS-a. Razumijevanje njegove strukture nužno je za lociranje malicioznog koda.

Fizički smještaj: SPI Flash memorija

Sav firmware (BIOS/UEFI) pohranjen je na SPI Flash čipu koji se nalazi na matičnoj ploči. Forenzička važnost leži u tome što je čip fizički odvojen od tvrdog diska (HDD/SSD) pa brisanje ili zamjena diska ne uklanja podatke (ni malware) s ovog čipa.​ Sadržaj čipa nije nasumičan, nego je organiziran prema strogim pravilima (npr. Intel Flash Descriptor).

Logička struktura Intel SPI Flash memorije. (0) Flash Descriptor definira početak i kraj svih ostalih regija. (1) BIOS (ili UEFI) Region sadrži glavni UEFI kod i NVRAM varijable, dok (2) Intel CSME (Converged Security and Management Engine) sadrži firmware za zasebni sigurnosni procesor. Ostale regije poput (3) GbE (mrežne postavke) i (4) EC (Embedded Controller) su specifične za platformu.

NVRAM (Non-Volatile RAM)

NVRAM je dio flash memorije rezerviran za pohranu postavki koje moraju moći preživjeti gašenje računala. On sadrži boot redoslijed (BootOrder), postavke jezika, i najvažnije, Secure Boot ključeve (PK, KEK, db, dbx).​ Forenzička važnost leži u tome što napadači ovdje mogu promijeniti način bootanja ili ubaciti svoje ključeve kako bi njihov malware bio “ovlašten” za pokretanje, zato ovdje često forenzičar traži anomalije.

UEFI Varijable

Podaci unutar NVRAM-a spremaju se u obliku varijabli te svaka varijabla ima svoje ime i jedinstveni identifikator (GUID). Primjer sumnjive varijable: Ako bi bila pronađena varijabla nepoznatog imena koja sadrži veliku količinu binarnih podataka (koda), to može biti maliciozni payload.

Vektori napada na firmware

Napadači ciljaju firmware jer omogućuje trajnu prisutnost (perzistenciju) ispod razine operacijskog sustava, što znači da malware preživljava reinstalaciju OS-a, zamjenu diska ili skeniranje antivirus softverom. UEFI arhitektura nudi nekoliko “ulaznih točaka” koje napadači iskorištavaju kako bi ugradili zlonamjerni kod.

expected-vs-attacker-boot-flow.jpg

Usporedba očekivanog i kompromitiranog lanca pokretanja (boot flow). Lijeva strana prikazuje siguran sustav gdje se učitavaju samo pouzdani UEFI driveri, dok desna strana prikazuje scenarij u kojem pogrešna konfiguracija sigurnosnih postavki (npr. isključen Secure Boot ili ranjiv BIOS Write Protection) omogućuje napadaču umetanje Firmware rootkita i učitavanje zlonamjernih drivera prije samog operacijskog sustava.

Umetanje u DXE drivere

DXE (Driver Execution Environment) je dio UEFI pokretanja u kojem se učitavaju driveri za hardver i pripremaju usluge koje će OS koristiti. Napadači mogu umetnuti zlonamjerni DXE driver ili modificirati postojeći legitiman driver, s čime osiguraju da se njihov kod izvršava pri svakom pokretanju računala prije nego što operacijski sustav preuzme kontrolu. Ovaj pristup je učinkovit jer se DXE driveri izvršavaju s najvećim privilegijama, a primjer takvog napada je CosmicStrand, koji je koristio modificirani DXE driver kako bi “ubacivao” malware u memoriju OS-a tijekom svakog pokretanja.

Modifikacija Boot Loadera (Bootkit)

Bootkit je vrsta rootkita koja modificira bootloader, program kojeg učitava operacijski sustav. U UEFI kontekstu, napadači mogu zamijeniti legitimni EFI bootloader (npr. za Windows je to bootx64.efi) sa zlonamjernom verzijom ili ga omotati dodatnim kodom koji se izvršava prije legitimnog dijela. BlackLotus je poznati primjer UEFI bootkita koji je iskorištavao ranjivost u Secure Boot mehanizmu kako bi zaobišao provjeru potpisa i učitao nepotpisani maliciozni kod. Bootkit ostavlja tragove u EFI System Partition (ESP) particiji na disku, ali može biti integriran i direktno u BIOS regiju SPI flash čipa, čime bi bio otporniji na detekciju.

Napadi na Secure Boot varijable

Secure Boot je sigurnosni mehanizam koji osigurava da se tijekom pokretanja pokreću samo potpisane i odobrene komponente. Ovaj sustav oslanja se na kriptografskim ključevima pohranjenima u NVRAM varijablama: PK (Platform Key, “vlasnik” platforme), KEK (Key Exchange Key, posredni ključevi) i db/dbx (database/revocation database, tj. popis dozvoljenih i zabranjenih potpisa). Napadač koji dobije mogućnost pisanja u NVRAM može dodati vlastite ključeve u db ili ukloniti opoziv zlonamjernog potpisa iz dbx, čime omogućuje pokretanje nepouzdanog koda bez alarmiranja sustava. Ovakvi napadi su rijetki jer zahtijevaju povišene privilegije ili fizički pristup, ali kada se dogode, vrlo su teški za uočavanje jer ne mijenjaju sam izvršni UEFI kod, nego samo konfiguraciju povjerenja.

Option ROM implantati

Option ROM je firmware koji dolazi na dodatnim karticama (grafička, mrežna, RAID). Budući da se ovaj kod učitava vrlo rano tijekom bootanja (kako bi inicijalizirao karticu), napadači mogu pokušati zamijeniti taj kod sa svojim zlonamjernim. Iako je teži za izvedbu jer često zahtijeva fizički pristup ili specifične alate za flashanje tog firmwarea, ovaj vektor je opasan jer sigurnosni alati koji skeniraju glavnu matičnu ploču često preskaču provjeru firmwarea na dodatnim karticama.

Forenzička akvizicija

Akvizicija firmwarea je proces stvaranja kopije (dump/image) sadržaja SPI flash čipa, a postoje dvije glavne metode, ovisno o dostupnosti opreme i sigurnosnim preprekama na sustavu.

Softverska (Live) akvizicija

Ova metoda koristi alate pokrenute unutar operacijskog sustava (Windows/Linux) ili iz EFI shell-a za čitanje sadržaja flash memorije. Najpoznatiji alati su Intel Flash Programming Tool (FPT) iz Intel CSME paketa i open-source alat Flashrom. Primjer naredbe za dump je: fptw64.exe -D full_dump.bin

  • Prednosti: Brzo je i ne zahtijeva otvaranje kućišta računala niti dodatnu opremu.
  • Nedostaci i rizici: Često je nepouzdana za forenziku, ako je sustav već zaražen rootkitom, malware može presresti pozive za čitanje i vratiti lažne i čiste podatke. Također, moderne platforme često zaključavaju pristup određenim regijama (npr. ME regija ili Flash Descriptor) radi sigurnosti, pa softverski dump može biti nepotpun.

Hardverska (Dead) akvizicija

Ova metoda uključuje fizičko spajanje na SPI flash čip dok je računalo isključeno, čime se zaobilaze sve softverske zaštite i ograničenja OS-a. Postupak je sljedeći: Koristi se SPI programator (kao što je popularni i jeftini CH341A ili profesionalni DediProg) koji se spaja na USB port forenzičke radne stanice. Na čip na matičnoj ploči spaja se pomoću SOIC8/SOIC16 testne kvačice (POMONA clip), bez potrebe za odlemljivanjem čipa.

  • Prednosti: Daje potpunu, bit-po-bit kopiju cijelog čipa (full dump) koju malware ne može lažirati jer procesor ciljanog računala ne radi. To je zlatni standard u firmware forenzici.
  • Nedostaci i rizici: Zahtijeva fizički pristup, otvaranje uređaja (što može narušiti jamstvo ili dokazni lanac) i zahtijeva oprez pri spajanju napona (1.8V vs 3.3V) kako se ne bi spržio čip.

Primjer hardverske akvizicije: CH341A USB programator (vidljiv lijevo u slici) spojen je na laptop, dok je testni clip (u ovom slučaju SOIC8 clip) izravno spojen na SPI flash čip promatranog računala. Ovakvo spajanje omogućuje čitanje i pisanje po čipu bez potrebe za odlemljivanjem ili uključivanjem napajanja matične ploče promatranog računala.

Analiza i otkrivanje anomalija

Nakon što je napravljena akvizicija (dump), forenzičar raspolaže binarnom datotekom koju je potrebno analizirati kako bi pronašao tragove kompromitacije. Ovaj proces zahtijeva pretvaranje sirovih podataka u strukturirani oblik i zahtijeva potragu za odstupanjima od tvorničkih postavki/vrijednosti.

Parsiranje firmware slike

Prvi korak je pretvaranje binarnog oblika u čitljivi oblik, a standardni alat za ovu namjenu je UEFITool (open-source rješenje autora Nikolaja Schleja). Alat prikazuje stablo firmwarea, koje omogućuje forenzičaru pregled GUID-ova (jedinstvenih identifikatora modula), imena drivera i sekcija. U ovom koraku forenzičar aktivno traži module koji nemaju ime (Unnamed), module s neobičnim GUID-ovima ili DXE drivere koji su naknadno dodani u odnosu na originalne tvorničku postavke. UEFITool također omogućuje ekstrakciju sumnjivih modula (opcija Extract Body) za daljnju analizu reverznim inženjerstvom u alatima poput IDA Pro ili Ghidra.

Prikaz strukture UEFI firmwarea u alatu UEFITool. Vide se pojedinačni moduli (driveri) s njihovim GUID-ovima i imenima.

Analiza NVRAM varijabli

Zbog toga što se perzistencija često skriva u konfiguraciji, a ne isključivo u izvršnom kodu, analiza NVRAM regije je od velike važnosti. Forenzičari ovdje traže anomalije poput neuobičajeno velikih varijabli nepoznatog imena koje mogu skrivati shellcode ili cijele izvršne datoteke (PE datoteke). Fokus analize je obično na:

  • Varijabli BootOrder (kako bi se provjerilo kamo se računalo usmjerava pri njegovom uključivanju).
  • Ključnim varijablama Secure Boot-a (db, dbx), gdje bi napadač mogao ubaciti vlastite ili generalno maliciozne certifikate.

Validacija potpisa i provjera integriteta

Chipsec je moćan framework za procjenu sigurnosti platforme koji može analizirati živi sustav ili statički dump. Njegova glavna moć je automatizirana provjera hardverskih zaštita, npr. pokretanje skripte chipsec_main.py može otkriti je li uključena BIOS Write Protection zaštita (koja sprječava pisanje po flash memoriji) ili su ranjivi SMM (System Management Mode) mehanizmi. Ako Chipsec prijavi “FAILED” na ovim ključnim zaštitama, to je snažan indikator da je sustav podložan napadima ili već kompromitiran.

Prikaz rezultata Chipsec analize (Linux terminal). Crvenom bojom su istaknuti testovi koji nisu prošli (FAILED), konkretno bios_wp (BIOS Write Protection) i spi_desc (zaštita Flash Descriptora). Ovi rezultati ukazuju na ranjivost sustava koja napadaču omogućuje trajno zapisivanje zlonamjernog koda u SPI flash memoriju.

Usporedba s poznatim uzorkom (Whitelisting)

Vjerojatno najpouzdanija metoda detekcije je usporedba (tzv. diffing) s poznatim “dobrim” uzorkom. Postupak uključuje preuzimanje službenog BIOS/UEFI ažuriranja sa stranice proizvođača (npr. Dell, HP, …) za točnu verziju matične ploče te usporedbu hash vrijednosti (npr. SHA256) svakog modula iz prikupljenog dumpa s onima iz tvorničke slike. Svako odstupanje u hashu izvršnog koda DXE drivera, koji bi trebao biti statičan, odmah ukazuje na neovlaštenu modifikaciju i potencijalni maliciozni kod.

Zaštitni mehanizmi

Obrana od firmware napada oslanja se na niz mehanizama koji djeluju u različitim fazama životnog ciklusa računala, od proizvodnje do njegovog svakodnevnog pokretanja, te je njihov cilj je osigurati lanac povjerenja i spriječiti neovlaštene izmjene koda.

Secure Boot

Secure Boot je industrijski standard (dio UEFI specifikacije) koji osigurava da se pri pokretanju računala izvršavaju samo digitalno potpisani binarni zapisi. Prije učitavanja svakog drivera ili operacijskog sustava, UEFI firmware provjerava njegov digitalni potpis. Ako potpis nije valjan ili ključ nije u bazi povjerenja (db), izvršavanje se ne dopušta. Ovo je prva linija obrane protiv bootkita, ali štiti samo od trenutka kada se UEFI pokrene, a ne štiti sam UEFI kod od modifikacije.

Intel Boot Guard

Intel Boot Guard pruža hardversku zaštitu integriteta samog firmwarea (Root of Trust). Za razliku od Secure Boot-a koji je softverski definiran, Intel Boot Guard koristi mikrokod unutar procesora koji, odmah pri dolasku napona, provjerava digitalni potpis početnog bloka (IBB, Initial Boot Block) flash memorije. Ako potpis ne odgovara onome postavljenom u procesor tijekom proizvodnje (fusing), računalo se odbija upaliti (brick računala), čime se spriječava izvršavanje modificiranog BIOS-a čak i ako je napadač fizički prepisao flash čip.

BIOS Write Protection

BIOS Write Protection (BIOS Lock/BLE) je mehanizam koji spriječava softversko pisanje po SPI flash čipu iz operacijskog sustava. Kada je ova zaštita aktivna, svaki pokušaj drivera ili malicioznog programa da pošalje naredbu za pisanje (Write Enable) na flash čip generira sistemski prekid (SMI - System Management Interrupt). Taj prekid “hvata” privilegirani kod (SMM) koji provjerava je li zahtjev legitiman, ako nije, pisanje se blokira. Ovo je ključna zaštita protiv daljinskog instaliranja koda poput LoJaxa.

Primjeri stvarnih UEFI napada

Analiza stvarnih napada u “divljini” daje najbolji uvid u metode koje napadači koriste za probijanje firmware zaštita. Ovo su tri najznačajnija primjera UEFI prijetnji.

LoJax

LoJax (otkriven 2018.) prvi je UEFI rootkit otkriven u aktivnoj kampanji (povezan s grupom Sednit/APT28). Napad je koristio softverski alat (modificiranu verziju legitimnog alata RWEverything) kako bi iskoristio ranjivost u BIOS Write Protection mehanizmu i upisao zlonamjerni DXE driver u flash memoriju. Ovaj driver bi u svakom pokretanju računala “ispustio” (drop) malware u Windows OS, osiguravajući komunikaciju s C2 serverom čak i nakon reinstalacije Windowsa. Njegova pojava dokazala je da UEFI rootkiti nisu više samo akademski koncept.

CosmicStrand

CosmicStrand (otkriven 2022.) predstavlja napredniju generaciju implantata (povezan s kineskim APT grupama). Za razliku od LoJaxa, ovaj malware pronađen je u firmware slikama matičnih ploča (Gigabyte, ASUS) kod kojih je inicijalni vektor napada vjerojatno bio automatiziran ili supply-chain oblika. CosmicStrand se skriva u modificiranom CSMCORE DXE driveru i koristi sofisticirane metode presretanja (hooking) procesa bootanja kako bi modificirao učitavanje Windows kernela prije nego se bilo koji sigurnosni softver pokrene.

BlackLotus

BlackLotus (otkriven 2023.) prvi je javno dostupni (prodavao se na hakerskim forumima) UEFI bootkit sposoban zaobići Secure Boot na potpuno ažuriranim Windows 11 sustavima. Koristio je tehniku “Baton Drop” iskorištavajući ranjivost (CVE-2022-21894) u starom, ali potpisanom Windows bootloaderu koji nije bio opozvan u dbx bazi. Time je omogućio napadačima isključivanje sigurnosnih mehanizama OS-a (npr. BitLocker-a) i učitavanje nepotpisanog koda, pokazujući slabost lanca povjerenja.

Zaključak

UEFI firmware forenzika postala je nezanemariv dio moderne digitalne forenzike zbog sve češćih i sofisticiranijih napada koji ciljaju najniže razine računalnog sustava. Budući da firmware omogućuje perzistenciju koja preživljava reinstalaciju operacijskog sustava i zamjenu diska, detekcija ovakvih prijetnji predstavlja značajan izazov za sigurnosne stručnjake. Zaštitni mehanizmi poput Secure Boota i Intel Boot Guarda podižu razinu sigurnosti, no primjeri stvarnih napada poput BlackLotusa i LoJaxa dokazuju da niti jedan sustav nije potpuno siguran od ranjivosti u konfiguraciji ili dizajnu lanca povjerenja. Stoga je poznavanje arhitekture firmwarea, tehnika hardverske akvizicije i alata za analizu anomalija postalo nužno znanje za potpunu istragu sigurnosnih incidenata, potvrđujući da stvarna sigurnost platforme počinje zapravo prije samog pokretanja operacijskog sustava.

Literatura

[1] Brenda Buckman, What is UEFI and Why It Matters in Cybersecurity
[2] Alex Matrosov, Eugene Rodionov, UEFI Firmware Rootkits: Myths and Reality
[3] Jim Mortensen & Dick Wilkins, PhD, Phoenix Technologies, Ltd., UEFI Firmware Security Concerns and Best Practices
[4] Paul Asadoorian, Firmware Security Realizations - Part 3 - SPI Write Protections
[5] Erik Bjorge and Maggie Jauregui (Intel), Attacking and Defending the Platform
[6] Xeno Kovah, John Butterworth, Corey Kallenberg, Sam Cornwell, Analyzing UEFI BIOS from Attacker & Defender Viewpoints
[7] Stefan Kiltz, Robert Altschaffel, Jana Dittmann, Hidden in Plain Sight - Persistent Alternative Mass Storage Data Streams as a Means for Data Hiding With the Help of UEFI NVRAM and Implications for IT Forensics
[8] Great (Kaspersky Lab), CosmicStrand: the discovery of a sophisticated UEFI firmware rootkit
[9] ESET, https://www.eset.com/us/about/newsroom/research/eset-research-analyzes-blacklotus-a-uefi-bootkit-that-can-bypass-uefi-secure-boot-on-fully-patched-systems/
[10] Johannes Stuttgen, Stefan Voemel and Michael Denzel, Acquisition and Analysis of Compromised Firmware Using Memory Forensics
[11] Izvor slike CH341A USB programatora
[12] Hadar Cochavi Gorelik, Orel Fadlon, Denis Klimov, Oleg Brodt, Asaf Shabtai, Yuval Elovici, Peacock: UEFI Firmware Runtime Observability Layer for Detection and Response
[13] Behnam A. Shamshirsaz, Seyyed Amir Asghari & Mehdi Aminian, A spyware detection method for firmware based cyber attacks
[14] Chipsec Github repository
[15] Eclypsium, Yet Another UEFI Bootkit Discovered: Meet CosmicStrand
[16] Intel, Intel vPro® Security Overview
[17] Oracle, Working With UEFI Secure Boot
[18] Corey Kallenberg, John Butterworth, Xeno Kovah, Sam Cornwell, Defeating Signed BIOS Enforcement
[19] ESET, LOJAX First UEFI rootkit found in the wild, courtesy of the Sednit group
[20] Pierluigi Paganini, CosmicStrand, a new sophisticated UEFI firmware rootkit linked to China
[21] Daryna Olyniychuk, BlackLotus UEFI Bootkit Detection: Exploits CVE-2022-21894 to Bypass UEFI Secure Boot and Disables OS Security Mechanisms

racfor_wiki/seminari2025/fb53204.txt · Zadnja izmjena: 2026/02/01 14:59 od Franko Budimir
Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0