Kan et virus ødelegge BIOS til en moderne datamaskin?

På slutten av 1990-tallet begynte et datavirus kjent som CIH å infisere noen datamaskiner. Dens nyttelast, når den ble utløst, overskrev systeminformasjon og ødela datamaskinens BIOS, og i hovedsak muret hvilken datamaskin den smittet. Kan et virus som påvirker moderne operativsystemer (som Windows 10) ødelegge BIOS til en moderne datamaskin og i det vesentlige tegne det måte, eller er det nå umulig for et virus å få tilgang til en moderne datamaskins BIOS?

Kommentarer

  • ja, men fra et angriperperspektiv. det er bortkastet eller ressurser … Mer info om et rootkit for UEFI som et eksempel i neste papir … welivesecurity.com/wp-content/uploads/2018/ 09 / ESET-LoJax.pdf
  • Kommentarer er ikke for utvidet diskusjon; denne samtalen er flyttet til chat .
  • Noen (eller de fleste?) hovedkort på skrivebordet har en ROM som brukes til å gjenopprette BIOS fra en eller annen form av medier (i gamle dager, disketter, i disse dager, USB-pinner, kanskje cd-rom). ROM-en kan ‘ ikke endres, men gjenoppretting krever vanligvis å åpne saken og flytte en jumper for å starte opp i BIOS-gjenopprettingsmodus. Jeg vet ikke ‘ hvordan bærbare datamaskiner håndterer dette.
  • Relatert: security.stackexchange.com/q / 13105/165253

Svar

Moderne datamaskiner har ikke BIOS, de har a UEFI . Oppdatering av UEFI-firmware fra det kjørende operativsystemet er en standard prosedyre, så all skadelig programvare som klarer å bli kjørt på operativsystemet med tilstrekkelige privilegier, kan prøve for å gjøre det samme. De fleste UEFIer godtar imidlertid ikke en oppdatering som ikke er signert digitalt av produsenten. Det betyr at det ikke skal være mulig å overskrive den med vilkårlig kode.

Dette forutsetter imidlertid at:

  1. hovedkortprodusentene klarer å holde sine private nøkler hemmelige
  2. UEFI har ikke utilsiktede sikkerhetsproblemer som tillater å overskrive den med vilkårlig kode eller på annen måte kan utnyttes til å forårsake skade.

Og disse to antagelsene holder ikke nødvendigvis .

Når det gjelder lekkede nøkler: Hvis en UEFI-signeringsnøkkel skulle bli kjent for allmennheten, kan du anta at det ville være ganske mye medierapportering og hysterisk lapp på gang. Hvis du følger noen IT-nyheter, vil du sannsynligvis se mye alarmist «Hvis du har et [merke] hovedkort OPPDATER UEFI NÅ !!! 1111oneone» overskrifter. Men en annen mulighet er å signere nøkler som hemmelig er lekket til statlige aktører. Så hvis arbeidet ditt kan være interessant for industriell spionasje, kan dette også være en pålitelig trussel for deg.

Når det gjelder feil: UEFI-gevinster mer og mer funksjonalitet som har flere og flere muligheter for skjulte feil. De mangler også de fleste interne sikkerhetsfunksjonene du har etter at du har startet et «ekte» operativsystem.

Kommentarer

Svar

Ja, det er definitivt mulig.

I dag, med UEFI å bli utbredt, er det enda mer bekymringsfullt: UEFI har en mye større angrepsflate enn tradisjonell BIOS, og en (potensiell) feil i UEFI kan være løftestang for å få tilgang til maskinen uten å ha enhver form for fysisk tilgang ( som demonstrert av folket i Eclypsium ved svart hatt i fjor ).

Svar

Et virus er praktisk talt programvare, så det kan gjøre alt som enhver annen programvare kan gjøre.

Så den enkle måten svar på dette spørsmålet, og alle andre i klassen «Kan virus gjøre X?» er å spørre «Gjør programvare for øyeblikket X?»

Slike spørsmål kan omfatte «kan et virus gå hunden min?» (ikke uten en hundevandrende robot); «Kan et virus skaffe meg pizza?» (ja: dette er dessverre ikke hovedfokuset for de fleste virusforfattere.).

Er BIOS (UEFI) for tiden oppdatert med programvare? Svaret er, ja det er de. Mine ble oppdatert i går kveld, da jeg startet om.

Og så er svaret ja.

Av samme logikk kan virus også forårsake (og historisk har forårsaket) fysisk skade på CPU, harddisker og skrivere.

Hjemmeautomatiseringssystemer og førerløse kjøretøy er også mulige mål for fysiske skader, men jeg vet ikke om virus som har gjort det.

Kommentarer

  • Jeg vil ikke ‘ bryr meg mye om min personlige informasjon ble brukt av malwareutviklere for å bestille meg gratis pizza og ingenting annet. (+1 for nyttig resonnement)
  • @Marc.2377, jeg ville ikke ha noe imot hvis din personlige informasjon ble brukt til å bestille meg gratis pizza … 🙂
  • Moderne virus vil ha veldig vanskelig tid som forårsaker fysisk skade. På det meste kunne de slite maskinvaren litt ved å kjøre CPUen veldig varmt, noe som forkorter levetiden, men den ‘ er ikke vanlig for at den skal kunne forårsake skade . Tidligere var det ikke ‘ t saken. Se » dødens poke «.
  • @forest Aren ‘ t programvaren for vifter og kjølesystemer som kontrolleres i disse dager? Jeg ‘ er ikke sikker, men jeg vedder på at du på en eller annen måte kan forstyrre CPU- eller GPU-viften fra programvare. Russland ødela generatorer eksternt ved å slå dem av og på med en resonansfrekvens – jeg vedder på at det er lignende triks som kan drepe skjermen din ganske raskt. Tallerkenharddisker kan definitivt kasseres ved å spinne dem opp og ned gjentatte ganger, solid state-stasjoner er sårbare for gjentatte lese- / skrivesykluser. Jeg vedder på at det er mye en motivert hacker kan gjøre ..
  • Jeg tror vi ‘ d trenger å definere omfanget av » forårsake fysisk skade » før vi bestemte oss for om det var mulig / plausibelt. Hvis du begrenser definisjonen til å bokstavelig talt skade datamaskinen som kjører koden, er ‘ ganske smal, og jeg tror @forest har rett. Hvis du inkluderer fysisk skade i en mer generell forstand, er det ‘ mye lettere å forestille seg scenarier der en infisert datamaskin som ‘ kontrollerer noe annet (kraftverk, trafikklys, massetransittanlegg, vannbehandlingsanlegg osv.) kan lett forårsake store fysiske skader.

Svar

Ja, det er absolutt mulig.

Her er et eksempel på en skadelig operativsystemoppdatering signert med produsentens private nøkkel: https://www.theregister.co.uk/2019/03/25/asus_software_update_utility_backdoor/

I følge Kaspersky Labs ble omtrent en million Asus-bærbare datamaskiner smittet av Shadowhammer, med en oppdatering som så ut til å være signert riktig. Det er ikke klart om det endret fastvaren, men det kunne absolutt ha gjort.

Svar

Spørsmålet ditt antyder et dypere emne som er ringetoner og tillatelser til kode i et operativsystem. På MS DOS kan koden gjøre hva den vil. Hvis koden ønsket å skrive alle 0x00 «s til en harddisk, kunne den hvis den ville sende merkelig utdata til et stykke maskinvare, kunne det heller ikke være noe som stoppet brukerens kode. På et moderne operativsystem er det et konsept med ringer (dette håndheves av CPUen). Kjernen kjører på ring null, og den kan gjøre hva den vil. Brukerens kode på den annen side kan ikke. Den kjører på noe som heter ring 3 og den får sin egen lille bit minne og inne i det minnet kan den gjøre hva den vil, men den kan ikke direkte snakke med maskinvaren . Hvis brukerens kode prøver å snakke med maskinvare, dreper kjernen umiddelbart programmet. Dette betyr at det er svært lite sannsynlig at et vanlig virus kan drepe maskinvare fordi det ikke kan snakke direkte med det.

Hvis kjernen er hacket, så er spillet i utgangspunktet over. Kjernen kan gjøre hva den vil, og en hel rekke dårlige ting kan skje, for eksempel å overklokke CPU til et punkt der maskinvaren er ustabil, tørke harddiskene (fylle med nuller for eksempel), eller stort sett alle andre plausible angrep.

Kommentarer

  • » Hvis brukerens ‘ -kode prøver å snakke med maskinvare, dreper kjernen umiddelbart programmet » – Virkelig? Kan du gi et sitat for det? Jeg trodde den beskyttede instruksjonen rett og slett ville mislykkes, og det ‘ er opp til programmet for å takle det rimelig eller krasje.
  • @Marc .2377 Det er riktig. Hvis brukeren ‘ s kode forsøker å utføre en instruksjon i CPL3 som krever CPL0-rettigheter, den vil kaste #GP(0) (generell beskyttelsesfeil eller GPF). Dette får koden til å hoppe inn i kjernen for å se hvilken signalbehandler som ble satt opp for den hendelsen. Som standard vil kjernen drepe prosessen, selv om den ‘ er teknisk mulig for prosessen å sette opp en signalbehandler for SIGSEGV, i hvilket tilfelle kjernen gjenopptar kjøringen av prosessen kl. plasseringen av signalbehandleren. Det ‘ er generelt ikke en god ide, men fordi en prosess anses å være i en …
  • … udefinert tilstand i henhold til POSIX hvis kjøringen gjenopptas etter at en SIGSEGV har blitt reist som ikke ‘ t kom fra raise(). Den vil gjenoppta kjøringen etter den mislykkede instruksjonen, som bare vil kjøre igjen og føre til at prosessen låser seg hvis signalet blir ignorert.Så det kan være opp til programmet å håndtere det, hvis det setter opp en signalbehandler for SIGSEGV, men der ‘ s stort sett aldri noen situasjon der det ville blitt gjort (selv om jeg tror Dolphin-emulatoren fanger seg feil for en slags hacky-optimalisering, så det trenger ikke ‘ å etterligne litt merkelig personsøkeadferd og kan stole på MMU).
  • Se dette for et (sjeldent) eksempel på når det er opp til programmet. Eller bare les PoC || GTFO 6: 3.

Svar

Potensielt. Det ville imidlertid være vanskelig å gjøre, da det mer enn sannsynlig måtte maskere seg som en legit BIOS-oppdatering et sted nede. Metoden for å gjøre det vil endres avhengig av moboen din, men sjansen er stor for at det må innebære lekkasje av private eller maskinvarenøkler eller andre hemmeligheter.

Svar

Ja. Det er maskinvarespesifikt, men her er det et tilfelle av at en bruker ved et uhell bryter fastvarens hovedkort fra OS-nivået https://github.com/systemd/systemd/issues/2402

En feil i firmwaren til en MSI-bærbar PC betydde at tømming av efi-variablene førte til at den bærbare datamaskinen var ubrukelig. Fordi disse variablene ble eksponert for operativsystemet og montert som en fil, slettet alle filer fra operativsystemnivået forårsaket problemet som kunne utnyttes av et virus for å målrette spesifikt mot disse variablene.

Svar

Det er mange måter, og noen av dem er foruroligende. For eksempel Computrace ser ut til å være en permanent bakdør som kan omgå ikke bare operativsystemet, men til og med BIOS. Og mer generelt, Intel Management Engine har full kontroll over datamaskinen din og kan sannsynligvis utnyttes. Disse kan endre BIOS, men trenger ikke engang det. Bare i 2017 skjønte sikkerhetsforskere at ut hvordan du utnytter Intel IME via USB for å kjøre usignert kode .

Poenget er at selv om du har et helt sikkert operativsystem og du laster aldri ned usikker eller ondsinnet programvare, det er fortsatt en ikke-ubetydelig mulighet for at du kan bli påvirket av skadelig programvare som omgår alt dette ved å utnytte et sikkerhetsproblem i maskinvaren din (selv når datamaskinen din angivelig er slått av).

Svar

Noe jeg ikke har sett her:

Hvis angriperen får tilstrekkelig tillatelse til å installere enda en offisiell UEFI-firmware, riktig signert av systemprodusenten, kan de fremdeles potensielt la datamaskinen være i en ikke-oppstartbar tilstand ved å slå den av med kraft på et passende tidspunkt under prosessen.

Oppdateringskoden i moderne firmware prøver vanligvis å minimere tiden datamaskinen bruker i en tilstand der et strømbrudd vil føre til korrupsjon av fastvaren, og s ome firmwares har til og med en gjenopprettingsmodus som vil aktiveres i et slikt tilfelle.

Imidlertid er mange av disse systemene ikke helt skuddsikre. Selv om de tilbyr god beskyttelse mot tilfeldige strømbrudd, kan en tidsbestemt strømavbrudd fremdeles slå den i hjel hvis firmwaren ikke har en robust automatisk gjenopprettingsfunksjon.

Det kan også hende at man ikke engang trenger å angripe hovedsystemets fastvare. Nesten alle enheter i en moderne PC har firmware av noe slag, og mange av dem kan oppdateres via programvare. Disse enhetene er også ofte mindre sikre. De godtar kanskje usignerte firmware helt eller i det minste mindre elastiske mot skadelig avstenging under oppdateringsprosessen.

Hvis du ødelegger fastvaren på strømkontrolleren, lagringskontrolleren, lagringsenheten, videoenheten eller inngangskontrollen, kan systemet bli like ubrukelig som om du hadde angrep UEFI.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *