UEFI

Unified Extensible Firmware Interface (UEFI) on standardi, joka määrittelee rajapinnan alustan firmwaren ja käyttöjärjestelmän välillä. UEFI on tarkoitettu korvaamaan alkuperäisestä IBM PC -tietokoneesta periytyvä BIOS, jonka asettamat rajoitukset haittaavat henkilökohtaisten tietokoneiden kehitystä. Käytännössä Windows 8:n jälkeen markkinoille tulleet tietokoneet käyttävät BIOSin tilalla UEFIa (joskus nimellä "uefi bios").
Historia.
Vuonna 1998 Intel aloitti nimellä Intel Boot Initiative (IBI) tunnetun projektin, josta tuli Itanium-järjestelmiä varten EFI (Extensible Firmware Interface) ja lopulta UEFI. IBM PC -yhteensopivien BIOS ei soveltunut uusiin koneisiin, koska se oli sidottu x86-arkkitehtuurin 16-bittiseen "real mode" -tilaan.
Intel julkaisi EFIn version 1.02 12. joulukuuta 2000 ja EFI:n viimeinen versio, 1.10 julkaistiin 1. joulukuuta 2002. Intel siirsi projektin Unified EFI Forum -konsortion kehitettäväksi. UEFI 2.1 julkaistiin tammikuussa 2007 ja viimeisin versio 2.10 elokuussa 2022.
Unified EFI Forum julisti EFI 1.10:n vanhentuneeksi vuonna 2005.
Toiminta.
UEFI osaa vanhemmasta BIOS-järjestelmistä tutut toimenpiteet, kuten suorittimen ja muistin kellotaajuuksien säätämisen, prosessorin ja emolevyn ominaisuuksien ja liitäntöjen kytkemisen päälle ja pois, lämpötilojen valvonnan ja monen muun oleellisen asetuksen säätämisen.
Etuja.
UEFI:n etuihin BIOS:iin verrattuna kuuluvat:
Secure Boot.
Secure Boot on tarkoitettu estämään BIOSin haavoittuvuuksien ohi yrittävien murtautumistyökalujen ja haittaohjelmien pääsyn koneeseen. Secure Bootin toteutuksesta on löydetty useita virheitä, jotka rajoittavat sen tarjoamaa suojaa.
Heinäkuussa 2024 kerrottiin, että Secure Boot on täysin turvaton yli 200 laitemallissa, koska niiden käyttämä salausavain on turvaton. Eräs käytetty avain on vuotanut julkisuuteen ja joissakin laitteissa on käytössä epäluotettava koekäyttöön tarkoitettu avain.
GUID Partition Table.
Osioinnilla voidaan jakaa kiintolevy osioihin (partitio), jotka näkyvät esim. Windows-käyttöjärjestelmässä omina levyasemakirjaiminaan.
GUID Partition Table (GPT) on UEFI:n määrittämä uusi osiointi (partitionti) kiintolevyille. Tämä korvaa aiemmin käytetyn MBR-osioinnin ja poistaa sen rajoitukset. GPT käyttää osioiden tunnistukseen GUID-koodeja.
UEFI osaa myös käynnistää koneen vanhoilta MBR-osioiduilta levyiltä. Tällöin ladataan erityinen Compatibility Support Module (CSM).
EFI System partition.
Suurin osa UEFI:sta on tallennettu kiintolevylle. Se vaatii kiintolevyllä oman osionsa, joka sisältää sen käyttämät tiedostot. Osion on oltava FAT32-muodossa.
Graphics Output Protocol.
Graphics Output Protocol (GOP) korvaa vanhan VESA-BIOSin. Se mahdollistaa näytön tarjoamien grafiikkatilojen luetteloinnin ja niihin vaihtamisen. GOP antaa käyttöön kuvapuskurin grafiikan piirtämistä varten.
Verkkokäynnistys.
UEFI osaa käynnistää tietokoneen verkosta ladattavien tiedostojen avulla käyttäen Preboot eXecution Environment (PXE) -protokollaa. Se käyttää olemassa olevia verkkoprotokollia kuten IPv4 tai IPv6, UDP, DHCP ja TFTP.
"Huom. Windows Vista ei tue EFI-järjestelyä, mutta ensimmäisen Service Packin mukana Microsoft lisäsi Vistaan tuen 64-bittisille UEFI-järjestelmille."
Haittaohjelmat.
Eräät haittaohjelmat (bootkit ja rootkit-tyyppiset) asentuvat UEFI-ohjelmistoon, jolloin ne saastuttavat Windowsin ytimen tämän käynnistyessä. Haittaohjelmasta ei tällöin pääse eroon käyttöjärjestelmän uudelleen asentamisella.
UEFI:n saastuttavia haittaohjelmia on ollut ainakin vuosien 2016 ja 2017 aikana ja aktiviteettia on havaittu vuonna 2020. UEFI:n saastuttavasta haittaohjelmasta on raportoitu vuonna 2020. UEFI:in asentuvasta rootkitistä nimeltä BlackLotus kerrottiin vuonna 2023. Ohjelma voi kytkeä pois päältä Secure Bootin ja käyttöjärjestelmän turvaominaisuuksia.
Vaihtoehdot.
Joukko insinöörejä Googlella ja Ciscolla ehdottavat Linux-ytimen käyttöä UEFI:n tilalla, joka voi nopeuttaa laitteen käynnistymistä huomattavasti ja tarjota turvallisemman vaihtoehdon. UEFI on monimutkainen (sisältää miljoonia koodirivejä), sisältää tunnettuja haavoittuvuuksia ja on aktiivinen vielä varsinaisen käyttöjärjestelmän latauduttua, joka antaa tunkeilijalle mahdollisuuden sen hyväksikäyttöön.