Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.

Razlike

Slijede razlike između dviju inačica stranice.

Poveznica na ovu usporedbu

Starije izmjene na obje strane Starija izmjena
Novija izmjena
Starija izmjena
racfor_wiki:seminari2025:fb53204 [2026/02/01 13:54]
Franko Budimir
racfor_wiki:seminari2025:fb53204 [2026/02/01 14:59] (trenutno)
Franko Budimir
Redak 2: Redak 2:
  
 =====Sažetak===== =====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===== =====Uvod=====
Redak 14: Redak 15:
 ===Fizički smještaj: SPI Flash memorija=== ===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).+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).
  
 [[https://eclypsium.com/wp-content/uploads/spiwrite_diagram_1@2x-1024x1024-1.png|{{ racfor_wiki:seminari2025:spi_layout.png?500 }}]] [[https://eclypsium.com/wp-content/uploads/spiwrite_diagram_1@2x-1024x1024-1.png|{{ racfor_wiki:seminari2025:spi_layout.png?500 }}]]
Redak 32: Redak 33:
 =====Vektori napada na firmware===== =====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. 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.
 +
 +[[https://learn.microsoft.com/en-us/defender-endpoint/uefi-scanning-in-defender-for-endpoint|{{ racfor_wiki:seminari2025:expected-vs-attacker-boot-flow.jpg?500 }}]]
 +
 +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=== ===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.+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.
  
  
Redak 57: Redak 62:
  
 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 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. +  * **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.+  * **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=== ===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. 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. +  * **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.+  * **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.
  
 {{ racfor_wiki:seminari2025:ch341a.png?500 }} {{ racfor_wiki:seminari2025:ch341a.png?500 }}
Redak 80: Redak 85:
 ===Parsiranje firmware slike=== ===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.+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
 + 
 +[[https://flathub.org/en/apps/com.github.LongSoft.UEFITool|{{ racfor_wiki:seminari2025:uefitool.png?600 }}]] 
 + 
 +Prikaz strukture UEFI firmwarea u alatu UEFITool. Vide se pojedinačni moduli (driveri) s njihovim GUID-ovima i imenima.
  
 ===Analiza NVRAM varijabli=== ===Analiza NVRAM varijabli===
Redak 91: Redak 100:
 ===Validacija potpisa i provjera integriteta=== ===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.+**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. 
 + 
 + 
 +[[https://firmwaresecurity.com/2017/11/15/purism-librem15-fails-chipsec-security-tests/|{{ racfor_wiki:seminari2025:librem15.png?500 }}]] 
 + 
 +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)=== ===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.+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.
  
  
Redak 124: Redak 168:
 [14] [[https://github.com/chipsec/chipsec|Chipsec Github repository]]\\ [14] [[https://github.com/chipsec/chipsec|Chipsec Github repository]]\\
 [15] [[https://eclypsium.com/blog/yet-another-uefi-bootkit-discovered-meet-cosmicstrand/|Eclypsium, Yet Another UEFI Bootkit Discovered: Meet CosmicStrand]]\\ [15] [[https://eclypsium.com/blog/yet-another-uefi-bootkit-discovered-meet-cosmicstrand/|Eclypsium, Yet Another UEFI Bootkit Discovered: Meet CosmicStrand]]\\
 +[16] [[https://www.intel.com/content/dam/www/central-libraries/us/en/documents/2024-12/intel-vpro-security-overview-white-paper.pdf|Intel, Intel vPro® Security Overview]]\\
 +[17] [[https://docs.oracle.com/en/operating-systems/oracle-linux/9/secure-boot/sboot-OverviewofSecureBoot.html|Oracle, Working With UEFI Secure Boot]]\\
 +[18] [[https://www.mitre.org/sites/default/files/publications/defeating-signed-bios-enforcement.pdf|Corey Kallenberg, John Butterworth, Xeno Kovah, Sam Cornwell, Defeating Signed BIOS Enforcement]]\\
 +[19] [[https://web-assets.esetstatic.com/wls/2018/09/ESET-LoJax.pdf|ESET, LOJAX First UEFI rootkit found in the wild, courtesy of the Sednit group]]\\
 +[20] [[https://securityaffairs.com/133658/malware/cosmicstrand-uefi-firmware-rootkit.html|Pierluigi Paganini, CosmicStrand, a new sophisticated UEFI firmware rootkit linked to China]]\\
 +[21] [[https://socprime.com/blog/blacklotus-uefi-bootkit-detection-exploits-cve-2022-21894-to-bypass-uefi-secure-boot-and-disables-os-security-mechanisms/|Daryna Olyniychuk, BlackLotus UEFI Bootkit Detection: Exploits CVE-2022-21894 to Bypass UEFI Secure Boot and Disables OS Security Mechanisms]]\\
  
racfor_wiki/seminari2025/fb53204.1769954049.txt.gz · Zadnja izmjena: 2026/02/01 13:54 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