Instructeur:
In deze les gaan we het hebben over
opstartopties die zijn ingesteld in je BIOS of UEFI.
Het BIOS of basic input/output system is het programma dat
de microprocessor van een personal computer gebruikt
om het computersysteem op te starten nadat
je het hebt aangezet.
Dit BIOS beheert ook de gegevensstroom tussen
het besturingssysteem van de computer
en de aangesloten apparaten, zoals opslagapparaten
zoals een harde schijf of solid-state drive, een
videoadapter, het toetsenbord en de printer.
Dit is het meest voorkomende voorbeeld van firmware
of software op een chip en het is de
eerste software die wordt uitgevoerd door de computer
wanneer je de machine inschakelt.
Het BIOS heeft verschillende rollen, waaronder
het uitvoeren van de zelftest die de processor, videokaart,
schijfstations en adapters test en initialiseert,
evenals het configureren van de hardware van je systeem
en het instellen van de juiste opstartvolgorde
die wordt uitgevoerd wanneer dat systeem
voor het eerst wordt ingeschakeld.
Het BIOS is opgeslagen in ROM en ROM is alleen-lezen geheugen.
Dit is een type chip
dat eigenlijk in je moederbord is ingebouwd, maar het
kan worden geüpgraded door middel van een proces dat bekend staat als flashen.
Het BIOS is ook een programma in deze chip en dat programma stelt de gebruiker
in staat om wijzigingen aan te brengen
in de instellingen en die instellingen
worden opgeslagen in iets dat bekend
staat als het CMOS.
CMOS is de complementaire metaaloxide halfgeleider en het is
een geheugenchip op batterijen.
Dit is een niet-vluchtig type geheugen
dat de BIOS-instellingen opslaat
en is ingebouwd in het moederbord.
Zolang de batterij gevoed blijft, wordt
de gelijkstroom aan het CMOS geleverd en dit zorgt
ervoor dat de instellingen door dat
moederbord en door dat BIOS behouden blijven.
Als de computer voortdurend zijn instellingen
verliest of de datum en tijd vergeet,
is dit meestal een indicatie
dat de batterij moet worden vervangen.
Deze batterij gaat normaal gesproken ongeveer drie jaar mee.
Maar op nieuwere CMOS'en
kunnen deze een interne lithium-ion batterij
gebruiken die wel 10 jaar meegaat.
De meest gebruikelijke externe
batterij die gebruikt gaat worden met
deze CMOS'en staat bekend als de CR2032 en dit lijkt
op een horlogebatterij.
Onthoud dat als de batterij het begint te begeven,
het eerste wat de gebruiker zal
merken is dat de systeemklok
vaak de datum en tijd vergeet.
Dus als je merkt dat je de datum en tijd vaak verandert,
geeft dit aan dat je batterij waarschijnlijk leeg is.
Wanneer je nu op de aan/uit-knop van je computer
drukt, is het eerste wat er gebeurt wanneer de stroom
wordt toegepast het opstartproces
en de eerste stap is de Power-on self-test die bekend
staat als de POST.
De inschakel-zelftest is een diagnostische testvolgorde die
het basis invoer/uitvoer-systeem of het opstartprogramma
van een computer uitvoert
om te bepalen of het toetsenbord, het RAM-geheugen,
de schijfstations, de opslagapparaten en andere hardware van de computer
goed werken.
Als de benodigde hardware wordt
gedetecteerd en goed blijkt te
werken, kan de computer opstarten.
Als de hardware niet wordt gedetecteerd
of niet goed blijkt te werken, geeft het BIOS
een foutmelding die een tekstbericht
op je scherm kan zijn.
Of als je scherm een probleem heeft, kan
het een reeks gecodeerde piepjes zijn,
afhankelijk van de aard van je specifieke probleem.
Omdat de POST wordt uitgevoerd
voordat de videokaart van de computer wordt geactiveerd, is
het misschien niet mogelijk om alles op je scherm weer te geven.
En daarom gaan we deze variabele piepjes gebruiken
om je te vertellen wat er mis is met het systeem.
Deze piepjes kunnen kort en lang zijn of
een combinatie van korte en lange piepjes, afhankelijk
van het type BIOS dat op je moederbord is
geïnstalleerd.
Het exacte patroon van pieptonen bevat berichten over
de aard van het probleem dat is gevonden.
Als het toetsenbord bijvoorbeeld niet wordt gedetecteerd,
kan een bepaald piepjespatroon je dat laten weten
door twee korte en één lange piep te sturen, zoiets
als piep, piep, boop.
Nu kan de POST ook fatale fouten bevatten.
En als dit het geval
is, stopt het huidige programma met draaien
en stopt het opstartproces.
Dit is belangrijk om te begrijpen
omdat de hardware die wordt gecontroleerd door deze POST-test
alle essentiële hardware is, dingen
zoals je geheugen, je toetsenbord, je invoer/uitvoerapparaten
en je processor.
Dus als er een fout optreedt in een van deze dingen,
zal het opstartproces stoppen omdat het geen volledig
besturingssysteem kan laden
met defecte hardware.
Zodra je POST succesvol is verlopen, zal het BIOS de instellingen
uit het CMOS lezen en zal
het BIOS op zoek gaan naar een besturingssysteem
vanaf de door jou geconfigureerde opstartapparaten.
Het BIOS heeft ook een soort besturingssysteem op laag niveau voor
die computer, waarmee het invoer
kan ontvangen en uitvoer kan geven
aan de meest elementaire onderdelen, waaronder je
toetsenbord, je schijfstations en het
videoscherm.
Met behulp van zijn low-level mogelijkheid om te lezen van het opslagapparaat,
zal het BIOS dan proberen om je
geïnstalleerde besturingssysteem
te vinden, iets als Windows of Linux of Mac OS.
En dan zal de bootloader van het besturingssysteem
het opstartproces van het besturingssysteem starten en de controle
over de computer overdragen aan dat besturingssysteem.
Nu slaat het BIOS ook zijn instellingen en configuraties op in
het CMOS, zoals ik al eerder zei, maar je vraagt
je waarschijnlijk af, hoe verander je
die instellingen?
Om die instellingen in het CMOS te configureren, moet
je naar de BIOS-configuratieomgeving gaan.
Om dit te doen, moet je een geldige toets of toetsencombinatie
indrukken tijdens het opstartproces en dit wordt ingesteld door de
fabrikant van je BIOS.
De meest gebruikte toetsen hiervoor is F2 of Delete,
maar dit hangt af van het BIOS en het
moederbord dat je gebruikt
en ik heb ook andere toetsen gezien, zoals
de Escape-toets, F1, F10 en F12.
Meestal, wanneer je het systeem voor het eerst aanzet,
zal er een bericht op je scherm verschijnen
dat je vertelt welke toetsaanslag nodig is om de configuratie-instellingen
te wijzigen.
Als dat niet wordt weergegeven,
kun je gewoon online zoeken op de website
van de fabrikant en daar kun je zien
welke toetsaanslag door jouw specifieke
systeem wordt gebruikt.
Traditioneel was er slechts één type BIOS dat volledig vertrouwde
op een tekstgebaseerd menusysteem en een toetsenbord
als invoersysteem.
Dit traditionele BIOS bood de gebruiker de mogelijkheid
om informatie over geheugen, CPU, optische drives
en opslagapparaten te bekijken.
Hoewel deze grafisch niet erg aantrekkelijk
waren, boden deze tekstgebaseerde
systemen wel alle functionaliteit die nodig was om
je apparaat te configureren, je opstartvolgorde, je kloksnelheden,
de datum, de tijd, of je virtualisatie-ondersteuning
inschakelde of niet, beveiligingsfuncties en nog veel
meer van dat soort dingen.
Nu zijn moderne systemen
echter overgestapt van dit traditionele BIOS
en gebruiken in plaats daarvan iets dat UEFI wordt genoemd.
UEFI, of UEFI zoals wij het graag noemen, is de Unified Extensible
Firmware Interface en het is in feite een bijgewerkte
vorm van BIOS dat zowel het toetsenbord als de muis
als invoer toestaat en een grafische gebruikersinterface
biedt in plaats van het standaard tekstgebaseerde
menu.
Deze systemen zijn vaak intuïtiever in het gebruik omdat ze
een grafische gebruikersinterface hebben
in plaats van een tekstgebaseerd menusysteem
en ze bieden nog steeds alle benodigde functionaliteit
om je apparaten, je opstartvolgorde, je kloksnelheden,
je datum en tijd, de opties voor virtualisatieondersteuning,
beveiligingsfuncties en nog veel meer te configureren,
waaronder tarieven.
Sommige van deze op UEFI gebaseerde
systemen bevatten ook software
waarmee je online kunt gaan,
enkele basisspellen
kunt spelen en zelfs back-upprogramma's
kunt gebruiken zonder ooit een normaal besturingssysteem
zoals Windows, Linux of Mac OS te hoeven openen.
UEFI heeft verschillende voordelen ten opzichte van het traditionele BIOS.
Ten eerste werkt het traditionele BIOS
alleen als een 32-bits systeem,
terwijl UEFI 64-bits systemen kan ondersteunen.
Ten tweede kan UEFI grotere harde schijven en solid-state
apparaten ondersteunen.
Het traditionele BIOS kan alleen opslagapparaten
tot 2 ondersteunen. 2 terabytes groot,
maar het UEFI kan schijven
tot 9 ondersteunen. 4 zettabytes groot.
Dat is 9. 4 keer 10 tot de 21e bytes.
Dat zou een extreem grote schijf zijn.
En op dit moment bestaat geen enkele daarvan echt.
Maar om deze reden geeft
UEFI ons veel mogelijkheden tot ver in de toekomst.
Het derde ding dat we hebben is dat het traditionele
BIOS alleen het gebruik van een master boot record
ondersteunt die bekend staat als
een MBR en dit is de partitietabel van je opslagapparaat
die je vertelt hoe de dingen worden opgeslagen
op je harde schijf of solid-state apparaat.
Maar UEFI ondersteunt het nieuwere
GUID- of GUID-partitietabelformaat
dat bekend staat als GPT.
Dit nieuwe GPT-formaat ondersteunt nu grotere harde schijven
en opslagapparaten, zoals vereist voor elk apparaat
dat groter dan 2 wordt. 2 terabytes groot.
Ten vierde is UEFI sneller dan een traditioneel BIOS als het gaat om
het opstarten van een systeem.
Dit is dus nog een extra voordeel voor ons.
En ten vijfde gebruikt UEFI meestal een groter ROM dan een
traditioneel BIOS.
En dus kan het meer gecompliceerde programma's ondersteunen,
inclusief het GUI-gebaseerde configuratieprogramma
waar we het eerder over hadden en dat
bij de meeste UEFI-gebaseerde systemen zit, en dit geeft je betere
diagnostische gereedschappen en commando's die je kunt gebruiken
tijdens het oplossen van problemen.
Ongeacht of je een traditioneel BIOS of
een nieuwer UEFI-gebaseerd systeem gaat gebruiken, je gaat dit
configuratieprogramma gebruiken om de
opstartvolgorde en de parameters voor je systeem in te stellen.
Hierdoor kun je bepalen
van welke apparaten er gelezen gaat
worden als je het besturingssysteem probeert
te vinden, zoals Windows, Linux of Mac OS om het
systeem te kunnen laden.
Dit kan je vaste opslagapparaat zijn,
zoiets als een harde schijf of een solid-state apparaat.
Maar je zou het ook kunnen opslaan op een optisch station
zoals een CD, DVD of Blu-ray, of een USB-station
zoals een thumb drive of flash drive, of je zou zelfs een netwerkadapter
kunnen gebruiken om een server te bereiken
met behulp van de pre-executie omgeving bekend als PXE als je gewenste
opstartoptie.
Dit zijn allemaal geldige keuzes en het
hangt af van je gebruikssituatie.
Het is dus belangrijk dat je dit configureert
in je BIOS of UEFI als je de geprioriteerde
lijst of opstartvolgorde kiest
die je wilt gebruiken.
Stel bijvoorbeeld dat je eerst de
optische drive hebt ingesteld, dan
de harde schijf, dan de USB en als laatste
het netwerk.
Dit betekent dat wanneer je je computer aanzet,
het systeem eerst naar je optische schijf kijkt om te zien of
het daar een opstartbaar besturingssysteem kan vinden.
Als dat zo is, wordt het geladen.
Maar als dat niet het geval is,
gaat het door naar de tweede
prioriteit die we de harde schijf noemen.
Als het nu naar je harde schijf kijkt, kan
het vinden dat Windows is geïnstalleerd.
Dus het zal dan Windows laden en de controle over
het systeem overdragen aan het
Windows besturingssysteem en
het zal niet verder gaan in de opstartlijst.
Maar deze specifieke volgorde kan eigenlijk gevaarlijk voor je
zijn omdat er veel besturingssystemen zijn die
je kunt draaien vanaf een optische drive of een USB-stick,
zoals bepaalde versies van Linux.
Dus als ik als aanvaller mijn
Kali Linux DVD in je optische drive stop en je computer aanzet,
kan ik nu je hardware gebruiken
en al je wachtwoorden omzeilen,
omdat ik nu Kali Linux laad in plaats
van Windows en dus niet meer je Windows account hoef
te hacken om je systeem te gebruiken.
Op dit punt kan ik vanuit Kali Linux je harde
schijf mounten om je bestanden
te lezen en dat soort dingen.
Maar nogmaals, ik zou fysieke toegang tot
je systeem moeten hebben om die DVD in je drive te stoppen.
Daarom gebruiken we in de meeste bedrijfsomgevingen de best
practice om het opstarten vanaf een optisch station
of USB-station uit te schakelen om te voorkomen dat aanvallers
op deze manier je systemen overnemen.
In plaats daarvan moet u uw systeem configureren om op te
starten vanaf uw geïnstalleerde harde schijf met
het besturingssysteem dat u hebt geïnstalleerd.
Of als je een thin client gebruikt,
kun je ervoor kiezen om het besturingssysteem via
het netwerk op te starten met PXE als primaire optie
en dan helemaal geen optische schijven of USB-schijven selecteren
in je prioriteitenlijst.
Het laatste dat we moeten bespreken
met het BIOS en UEFI is hoe je het
kunt updaten, want dit is tenslotte software, ook
al is het software op een chip of firmware.
Om het BIOS of UEFI bij te werken, moet je een
proces gebruiken dat bekend staat als flashen.
Flashen wordt uitgevoerd wanneer er upgrades,
beveiligingsfixes of functieverbeteringen
moeten worden aangebracht in het BIOS of de UEFI-codebase.
Controleer altijd de website van de
fabrikant voor de laatste firmwareversie
en hun specifieke proces
voor het flashen van je BIOS of UEFI.
Vroeger hadden onze
systemen niet de mogelijkheid om
het BIOS te flashen.
In plaats daarvan moesten we de
hele BIOS-chip op het moederbord vervangen.
Maar gelukkig ondersteunen alle moderne moederborden
nu flashen, zodat we gewoon
het BIOS of UEFI kunnen overschrijven met deze gespecialiseerde
procedure.
Voordat je het BIOS of het UEFI flasht, moet je altijd
eerst een back-up maken van je configuratie
en informatie, voor het geval
er iets misgaat.
In de meeste systemen
heb je een USB flash drive nodig om je firmware
te flashen.
U laadt dan een bestand in de root van
dat USB-flashstation, sluit het flashstation
aan op de gespecificeerde
USB-poort op uw moederbord en start het systeem opnieuw
op terwijl u op een reeks gespecificeerde
toetsen drukt of op een specifieke knop op de achterkant van uw moederbord drukt.
Dan neemt het BIOS of UEFI het over, kopieert de firmware
naar het systeem en overschrijft
de oude code met de nieuw bijgewerkte
firmwarecode.