bootloader

Sigurno pokretanje Linuxa

Sigurno pokretanje Linuxa

Linux: Što je sigurno dizanje?

Na svom početku računalo pokreće određeni program za otkrivanje i inicijalizaciju svojih hardverskih komponenti. Tradicionalno, IBM kompatibilna računala koriste Osnovni ulazni izlazni sustav (BIOS). Suprotno tome, Mac računari koriste OpenFirmware, Android ima samo pokretački program, a Raspberry Pi pokreće se od firmware-a koji se nalazi u sustavu na čipu (SoC). Ovaj početni korak uključuje provjeru hardvera, kao i traženje dostupnih operativnih sustava na medijima za pohranu koji su dio računala poput tvrdog diska, CDROM / DVD-a ili SD kartice ili su na njega povezani mrežom (mrežni datotečni sustav (NFS) , PXE dizanje).

Stvarni redoslijed pretraživanja ovisi o BIOS postavkama računala. Slika 2 prikazuje popis dostupnih uređaja za pokretanje.

Na kraju se prikazuje popis dostupnih operativnih sustava sa određenim parametrima (nazvanim "dostupne mogućnosti pokretanja") u izborniku iz kojeg odabirete željeni operativni sustav za pokretanje.

Od 2012. godine u upotrebi je Sigurno pokretanje. Ovaj će članak objasniti što je to, koja je namjera iza toga i kako to funkcionira. Nadalje, odgovorit ćemo na pitanje je li za uređaje koji se temelje samo na Linuxu potrebno Sigurno pokretanje i kako Linux distribucije rješavaju ovaj slučaj.


Što je Sigurno dizanje?

Sigurno pokretanje odnosi se na povjerenje. Općenita ideja koja stoji iza toga je pokretanje stroja na siguran način kako bi se spriječilo da računalo radi sa zlonamjernim softverom od samog početka. Općenito, čist početak s pouzdanim sustavom pristup je koji treba snažno podržati.

Sigurno pokretanje dio je Objedinjenog proširivog sučelja za firmver (UEFI) - središnjeg sučelja između ugrađenog softvera, pojedinih komponenata računala i operativnog sustava [3]. Tijekom razdoblja od oko pet godina razvili su ga Intel i Microsoft kao zamjenu za BIOS. 2012. inačica 2.3.1 UEFI predstavljen je s Microsoft Windows 8. Microsoft je za proizvođače računala obvezno implementirao UEFI ako žele dobiti Windows 8 certifikat za svoje novoizgrađene strojeve [15].

Ali zašto se Secure Boot naziva Secure Boot? Zbog čega je to sigurna mogućnost pokretanja? Sigurno pokretanje omogućuje samo pokretanje s prethodno dodijeljenih pokretača i stoga je namijenjeno sprječavanju pokretanja zlonamjernog softvera ili drugih neželjenih programa. Tradicionalni BIOS pokrenuo bi bilo koji softver. Čak bi dopustio zlonamjernom softveru, poput rootkita, da zamijeni vaš pokretački program. Tada bi rootkit mogao učitati vaš operativni sustav i ostati potpuno nevidljiv i neotkriven na vašem sustavu. Dok kod Sigurnog pokretanja firmware sustava prvo provjerava je li pokretački program sustava potpisan kriptografskim ključem. Kriptografski ključ je ključ koji je odobrio baza podataka sadržana u firmwareu. Samo ako se ključ prepozna, sustav će se moći pokrenuti. Takav valjani potpis mora slijediti specifikaciju Microsoftovog UEFI certifikacijskog tijela (CA).


Različite perspektive

Na prvi pogled ovo zvuči sasvim dobro, ali uvijek postoje dvije strane medalje. Kao i obično, koegzistiraju prednosti i nedostaci. Recenzije u tisku ili hvale ili demoniziraju Secure Boot, ovisno o tome tko piše recenziju.

Prvo, imajte na umu da je vlast nad kriptografskim ključevima u rukama jednog globalnog igrača - Microsofta. Davanje snage milijunima strojeva jednoj tvrtki nikada nije dobra ideja. Na taj način Microsoft osigurava sebi potpunu kontrolu nad vašim strojem. Jednom odlukom Microsoft je u stanju jednim potezom blokirati cijelo tržište i zabraniti konkurenciju i vas kao kupca. E.g. ako želite naknadno instalirati hardver drugog proizvođača, morat ćete osigurati da je ključ nove komponente pohranjen u sustav baze podataka. Ostavlja vam ograničenu fleksibilnost i izbore - pogotovo ako ste programer.

Drugo, ne samo da su ograničeni vaši hardverski izbori već je i izbor vašeg operativnog sustava ograničen zbog UEFI tehnologije koju je uveo Windows. To znači da otežava život Linux zajednici. Prije njegove upotrebe na hardveru koji se temelji na UEFI-u, Linux boot loaderi poput GRUB-a prvo trebaju biti certificirani i stoga usporava prilično brzi razvoj jer je Open Source zajednica poznata. Nitko ne zna što se događa ako središnji validator pogriješi tijekom provjere valjanosti ili blokira izdavanje ažuriranog softvera.

Treće, što danas znači termin malware danas i sutra? Uključuje li operativni sustav konkurenata [5] ili su isključeni? Proces provjere valjanosti odvija se iza zavjesa i to nitko ne može dokazati.

Četvrto, postoje rezerve u pogledu sigurnosti. Prema trenutnom razvoju, duljina kriptografskih ključeva je relativno kratka. Sigurno pokretanje omogućuje samo X509 certifikate i RSA ključeve fiksne duljine od 2048 bita [16]. U bliskoj budućnosti, korištenjem masovne paralelizacije i daljnjim računalnim snagama temeljenim na virtualizaciji, očekuje se rušenje ove razine sigurnosti. Danas se preporučuju kriptografski ključevi duljine 4096 bitova.

Peto, izgleda kao da je softver koji nudi veliki dobavljač i koji je certificiran siguran i bez grešaka. Kao što povijest pokazuje da svi znamo da to nije istina, softver uvijek sadrži bugove. Certifikat vas samo uspava u lažni osjećaj sigurnosti.


Rješenja za otvoreni izvor

Ali tamo gdje postoji problem, postoji i rješenje. Microsoft velikodušno nudi priliku distributerima Linuxa da pristupe svom portalu Microsoft Sysdev kako bi potpisali svoje pokretačke programe [17]. Ova usluga unatoč tome ima cijenu.

Linux distribucije imaju samo "shim" [11] potpisan na Microsoftovom portalu. Shim je mali boot loader koji pokreće glavni GRUB boot loader Linux distribucija. Microsoft samo provjerava potpisani shim i nakon toga se vaša Linux distribucija normalno pokreće. To pomaže u održavanju Linux sustava kao i obično.

Kao što je izvješteno iz različitih izvora, (U) EFI dobro funkcionira s Fedora / RedHat, Ubuntu, Arch Linux i Linux Mint. Za Debian GNU / Linux ne postoji službena podrška u vezi sa sigurnim podizanjem sustava [9]. U svakom slučaju, postoji zanimljiv post na blogu o tome kako to postaviti [18], kao i opis u Debian Wiki [14].

Alternative UEFI-u

UEFI nije jedini nasljednik PC BIOS-a - postoje alternative. Možda ćete detaljnije pogledati OpenBIOS [4], libreboot [7], Open Firmware [8,9] i coreboot [10]. Za ovaj ih članak nismo testirali, ali korisno je znati da postoje alternativne implementacije i da oni rade glatko.


Zaključak

Kao što je spomenuto prije, ključno pitanje je povjerenje. Što se tiče računala, zapitajte se u koje dijelove vašeg sustava imate povjerenja - hardverske komponente (firmware, čipovi, TPM) i / ili softverske komponente (boot loader, operativni sustav, softver koji se koristi). Ne možete otkloniti pogreške s cijelog sustava. Možda će vam biti korisno znati da vaš operativni sustav ne radi protiv vaših interesa i da ćete stvari za koje ste kupili sustav obaviti na siguran način, a da vas monopolist ne kontrolira.


Poveznice i reference

Zahvalnice

Frank Hofmann i Mandy Neumeyer koautori su članka.  Autori bi željeli zahvaliti Justinu Kellyju na pomoći i kritičkim komentarima tijekom pisanja ovog članka.

Najbolje igre naredbenog retka za Linux
Naredbeni redak nije samo vaš najveći saveznik pri korištenju Linuxa - on također može biti izvor zabave jer ga možete koristiti za igranje mnogih zab...
Najbolje aplikacije za mapiranje gamepada za Linux
Ako volite igrati igre na Linuxu s gamepadom umjesto tipičnim sustavom za unos tipkovnice i miša, za vas postoji nekoliko korisnih aplikacija. Mnoge r...
Korisni alati za Linux igrače
Ako volite igrati igre na Linuxu, velika je vjerojatnost da ste možda koristili aplikacije i uslužne programe poput Wine, Lutris i OBS Studio za pobol...