Fråga:
Kan ett virus förstöra BIOS på en modern dator?
user73910
2019-04-02 12:27:28 UTC
view on stackexchange narkive permalink

I slutet av 1990-talet började ett datavirus som kallas CIH infektera vissa datorer. Dess nyttolast, när den utlöstes, skrivde över systeminformation och förstörde datorns BIOS, vilket i huvudsak brickade vilken dator den infekterade. Kan ett virus som påverkar moderna operativsystem (som Windows 10) förstöra BIOS på en modern dator och i huvudsak tegla det på samma sätt, eller är det nu omöjligt för ett virus att få tillgång till en modern dators BIOS?

Kommentarer är inte för längre diskussion;den här konversationen har [flyttats till chatt] (https://chat.stackexchange.com/rooms/91977/discussion-on-question-by-user73910-can-a-virus-destroy-the-bios-of-a-modern-com).
Vissa (eller de flesta?) Moderkort på stationära datorer har en ROM som används för att återställa BIOS från någon form av media (i gamla dagar, disketter, dessa dagar, USB-minnen, kanske cd-rom).ROM-skivan kan inte ändras, men återställning kräver vanligtvis att du öppnar fodralet och flyttar en bygel för att starta i BIOS-återställningsläge.Jag vet inte hur bärbara datorer hanterar detta.
ja men ur ett angripares perspektiv är det slöseri eller resurser ... Mer information om en rootkit för UEFI som ett exempel i nedanstående tidning ... https://www.welivesecurity.com/wp-content/uploads/2018/09 / ESET-LoJax.pdf
Relaterat: https://security.stackexchange.com/q/13105/165253
Nio svar:
Philipp
2019-04-02 13:42:17 UTC
view on stackexchange narkive permalink

Moderna datorer har inget BIOS, de har en UEFI. Uppdatering av UEFI-firmware från det körande operativsystemet är en standardprocedur, så all skadlig programvara som lyckas köras på operativsystemet med tillräckliga behörigheter kan försöka göra detsamma. De flesta UEFI accepterar dock inte en uppdatering som inte signeras digitalt av tillverkaren. Det betyder att det inte ska vara möjligt att skriva över den med godtycklig kod.

Detta förutsätter dock att:

  1. moderkortstillverkarna lyckas hålla sina privata nycklar hemliga
  2. UEFI har inga oavsiktliga säkerhetsproblem som gör det möjligt att skriva över den med godtycklig kod eller på annat sätt kan utnyttjas för att orsaka skada.

Och dessa två antaganden håller inte nödvändigtvis .

När det gäller läckta nycklar: om en UEFI-signeringsnyckel skulle bli känd för allmänheten, kan du anta att det skulle bli ganska mycket mediarapportering och hysterisk lappning. Om du följer några IT-nyheter skulle du troligen se en hel del alarmist "Om du har en [brand] moderkort UPPDATERA DIN UEFI NU !!! 1111oneone" rubriker. Men en annan möjlighet är att underteckna nycklar i hemlighet läckt ut till statliga aktörer. Så om ditt arbete kan vara intressant för industriell spionage, kan detta också vara ett trovärdigt hot för dig.

När det gäller buggar: UEFI får mer och mer funktionalitet som har fler och fler möjligheter för dolda buggar. De saknar också de flesta interna säkerhetsfunktioner som du har efter att du har startat ett "riktigt" operativsystem.

Kommentarer är inte för längre diskussion;den här konversationen har [flyttats till chatt] (https://chat.stackexchange.com/rooms/92028/discussion-on-answer-by-philipp-can-a-virus-destroy-the-bios-of-a-modern-beräkning).
Stephane
2019-04-02 13:37:54 UTC
view on stackexchange narkive permalink

Ja, det är definitivt möjligt.

Nuförtiden, med UEFI att bli utbredd, är det ännu mer bekymmer: UEFI har en mycket större attackyta än traditionell BIOS och en (potentiell) brist i UEFI kan vara hävstång för att få tillgång till maskinen utan att ha någon form av fysisk åtkomst ( som visades av folket i Eclypsium vid svart hatt förra året).

Dewi Morgan
2019-04-03 00:39:48 UTC
view on stackexchange narkive permalink

Praktiskt taget är ett virus programvara, så kan göra allt som någon annan programvara kan göra.

Så det enkla sättet att svara på den här frågan och alla andra av klass "Kan virus göra X?" är att fråga "Gör programvara för närvarande X?"

Sådana frågor kan inkludera "kan ett virus gå min hund?" (inte utan en hundvandringsrobot); "Kan ett virus skaffa mig pizza?" (ja: det här är tyvärr inte huvudfokus för de flesta virusförfattare).

Uppdateras BIOS (UEFI) för närvarande med programvara? Svaret är, ja det är de. Gruvan uppdaterades igår kväll när jag startade om.

Och så är svaret ja.

Av samma logik kan virus också orsaka (och historiskt sett ha orsakat) fysisk skada på din CPU, hårddiskar och skrivare.

Hemautomationssystem och förarlösa fordon är också möjliga mål för fysiska skador, men jag känner inte till några virus som har gjort det.

Jag skulle inte bry mig mycket om min personliga information användes av malwareutvecklare för att beställa gratis pizza och inget annat.(+1 för användbart resonemang)
@Marc.2377, jag skulle inte bry mig mycket om * din * personliga information användes för att beställa * mig * gratis pizza ... :-)
Moderna virus kommer att ha mycket svårt att orsaka fysisk skada.Högst kunde de bära ner hårdvara lite genom att köra CPU: n riktigt hett, vilket förkortar användbar livstid, men det är inte vanligt att det kan orsaka _skada_.Tidigare var det dock inte fallet.Se "dödens poke".
@Forest Jag håller med ... även om "hård tid" gäller de flesta virus grejer, eftersom de förlitar sig på det odokumenterade, oväntade beteendet hos deras exploater.Jag skulle argumentera när enheter blir mer komplexa, skadligt tegelstenar blir mer genomförbara (genom termisk cykling, läs-skrivcykler, vibrationer, överhettning, överspänning, överklockning, firmware ...).Att vi inte ser fler enhetsdestruktionsattacker misstänker jag mer eftersom författare av skadlig kod är ointresserade av dem.de ger en rolig demo på en hacker-con, men är i huvudsak värdelösa i ett riktigt virus eller attack.
@forest Styrs inte fläktarna och kylsystemets programvara idag?Jag är inte säker, men jag slår vad om att du på något sätt kan göra fel på CPU- eller GPU-fläkten från programvara.Ryssland förstörde generatorer på distans genom att slå dem på och av med en resonansfrekvens - jag slår vad om att det finns liknande knep som kan döda din bildskärm ganska snabbt.Platta-hårddiskar kan definitivt kasseras genom att snurra upp och ner dem upprepade gånger, solid state-enheter är sårbara för upprepade läs- / skrivcykler.Jag slår vad om att det finns mycket en motiverad hackare kan göra ..
Ransomware som ställer sina krav via en anteckning begravd i en uppenbarligen gratis pizza.Nu finns det en idé!
Men jag ville ha vingar, inte pizza.
Jag tror att vi skulle behöva definiera omfattningen av "orsaka fysisk skada" innan vi bestämde oss för om det var möjligt / troligt.Om du begränsar definitionen till att bokstavligen skada datorn som kör koden, är det ganska smalt och jag tror att @forest har rätt.Om du tar med fysiska skador i en mer allmän mening är det mycket lättare att föreställa sig scenarier där en infekterad dator som kontrollerar något annat (kraftverk, trafikljus, system för masstransitering, vattenreningsverk etc.) lätt kan orsaka stora fysiska skador.
@dwizum Känns för mig som "Forest is right" är en pålitlig tumregel, men inte riktigt inte en truism, eftersom det finns kantfall, skillnader i erfarenhet och tolkning, etc. Jag tolkar "förstörelse" i OP för att inkludera allabrickning där special- eller ersättningshårdvara skulle behövas för att fixa.Men jag håller med om att vi bör tolka "fysisk skada" strängare: men ändå möjliggör termisk cykling, läs-skrivcykler, vibrationer, överhettning, överspänning, överklockning osv. Mycket skada på många kringutrustning även på vanliga datorer istället för nationell infrastrukturdatorer.
@BillK Även om den till stor del är mjukvarustyrd, kan du inte helt åsidosätta den eftersom vanligtvis en CPLD på moderkortet kommer att hantera fläktkontroll.Det måste, annars kan ett komplett hårt lås som kraschar datorn orsaka att det överhettas och går sönder.Men även om du på något sätt helt kunde stänga av fläktarna (kanske genom att pulsera dem på ett sätt som bryter motorerna?), Skulle CPU: n själv stängas av efter att temperaturen överstiger Tj Max, och det är inte något programvara kan påverka.
@DewiMorgan När jag tänker mer på det är jag säker på att det skulle vara möjligt på _något sätt, eftersom moderna x86-datorer är komplexa djur, men jag tror inte att det finns några välkända sätt.En BIOS-guru skulle förmodligen veta mer (kanske borde jag fråga i #libreboot eller #coreboot på Freenode!).
@BillK När det gäller att skada bildskärmar med onda frekvenser, brukade det faktiskt vara en sak för CRT-skärmar, och du kan mycket lätt förstöra dem.Även för vissa äldre LCD-system (GBA, tror jag?) Fanns det sätt att skada det fysiskt genom programvara.Se https://en.wikipedia.org/wiki/Killer_poke#Game_Boy.
@Forest: Överenskomna, de enda attackerna jag någonsin har hört talas om för att skada hårdvara är specifika per system: det finns inga generiska "one-size-fits-all" (eller till och med "-många") attacker för att skada hårdvara.Närmast jag kan tänka mig skulle vara stresstestprogram som skulle avslöja svagheter i felaktig hårdvara om de körs över en helg, men jag är inte säker på att det räknas som "attack" så mycket som "att avslöja problemen med billig-hårdvara".
Ja, jag föreslog att en riktad attack mot viss specifik hårdvara fortfarande skulle kunna skada den.Jag slår vad om att du kan hitta någon form av programvara / resonans / frekvensattack som kan döda ett grafikkort också (även om det är mer troligt att du bara kan stänga av fläkten, stänga av säkerheten och värma upp kortet beroende på implementering).Ingen verkar göra något inom hårdvara längre som de inte absolut behöver, tendensen att göra mer inom programvara har gjort allt ganska sårbart.
Och naturligtvis, om angriparen kan bifoga en JTAG, är alla spel avstängda ...
@DewiMorgan Hm, kan JTAG verkligen skada hårdvara (på något annat sätt än att skicka en kraftöverföring över TAP)?Jag kan inte tänka på ett sätt som det kan, men det är så komplicerat och kan göra så mycket mer än bara att styra processorn att jag inte alls skulle bli förvånad om det skulle kunna orsaka fysisk skada via några gränssöknings saker.
@forest: Det är mer att du med hjälp av en JTAG kan kringgå skydd ombord * mot * hårdvaruskador, i komponenter som inte var avsedda att bli flashbara av firmwareuppdateringar.Inte hårdvaruskydd, naturligtvis: du kan inte åsidosätta en säkring!Men du kan kringgå saker som hastighetsbegränsning, strömbegränsning etc. Inte en realistisk fråga, dock: med full åtkomst är det mycket lättare för alla motståndare att bara knacka brädet med en hammare.
emrys57
2019-04-03 11:50:42 UTC
view on stackexchange narkive permalink

Ja, det är definitivt möjligt.

Här är ett exempel på en OS-uppdatering med skadlig programvara som bedrägligt undertecknats med tillverkarens privata nyckel: https://www.theregister.co.uk/2019 / 03/25 / asus_software_update_utility_backdoor /

Enligt Kaspersky Labs smittades ungefär en miljon Asus-bärbara datorer av Shadowhammer , med en uppdatering som verkade vara korrekt signerad. Det är inte klart om det ändrade firmware, men det kunde verkligen ha gjort.

scifi6546
2019-04-03 03:10:46 UTC
view on stackexchange narkive permalink

Din fråga antyder ett djupare ämne som är ringsignaler och kodbehörigheter i ett operativsystem. På MS DOS kan koden göra vad den vill. Om koden ville skriva alla 0x00-tal till en hårddisk kunde det om den ville skicka konstig utdata till en hårdvara kunde det också vara något som hindrade användarens kod. På ett modernt operativsystem finns det ett koncept av ringar (detta verkställs av CPU). Kärnan körs på ring noll och den kan göra vad den vill. Användarens kod kan å andra sidan inte. Den körs på något som kallas ring 3 och den ges sin egen lilla bit minne och inuti det minnet kan den göra vad den vill men den kan inte direkt prata med hårdvara. Om användarens kod försöker prata med hårdvara dödar kärnan omedelbart programmet. Det betyder att det är mycket osannolikt att ett vanligt virus kan döda hårdvara eftersom det inte kan prata direkt med det.

Om kärnan är hackad är spelet i princip över. Kärnan kan göra vad den vill och en hel del dåliga saker kan hända som att överklocka CPU till en punkt där hårdvaran är instabil, torka hårddiskarna (fylla med nollor till exempel) eller i stort sett alla andra troliga attacker .

* "Om användarens kod försöker prata med hårdvara dödar kärnan omedelbart programmet" * - Verkligen?Kan du ge ett citat för det?Jag trodde att den skyddade instruktionen helt enkelt skulle misslyckas och det är upp till programmet att hantera det rimligt eller krascha.
@Marc.2377 Det är korrekt.Om användarens kod försöker utföra en instruktion i CPL3 som kräver CPL0-behörigheter, kommer den att kasta "#GP (0)" (allmänt skyddsfel eller GPF).Detta får koden att hoppa in i kärnan för att se vilken signalhanterare som har ställts in för den händelsen.Som standard kommer kärnan att döda processen, men det är tekniskt möjligt för processen att ställa in en signalhanterare för SIGSEGV, i vilket fall kärnan återupptar körningen av processen på platsen för signalhanteraren.Det är i allmänhet inte en bra idé men för att en process anses vara i en ...
... odefinierat tillstånd enligt POSIX om exekvering återupptas efter att en SIGSEGV har höjts som inte kom från `raise ()`.Det kommer att återuppta exekveringen vid den misslyckade instruktionen som bara kommer att köras igen och få processen att låsa om signalen ignoreras.Så det _ kan_ vara upp till programmet att hantera det, _ om_ det sätter upp en signalhanterare för SIGSEGV, men det finns ganska mycket aldrig någon situation där det skulle göras (även om jag tror att Dolphin-emulatorn fångar segfaults för någon form av hackig optimeringså det behöver inte efterlikna något konstigt personsökningsbeteende och kan lita på MMU).
Se [detta] (https://accidentallyquadratic.tumblr.com/post/142829260822/dolphin-emulator-trampoline-generation) för ett (sällsynt) exempel på när det är upp till programmet.Eller läs bara [PoC || GTFO] (https://www.alchemistowl.org/pocorgtfo/pocorgtfo06.pdf) 6: 3.
520
2019-04-02 13:13:59 UTC
view on stackexchange narkive permalink

Potentiellt. Det skulle dock vara svårt att göra, eftersom det mer än troligtvis skulle behöva maskeras som en legit BIOS-uppdatering någonstans längs linjen. Metoden för att göra det kommer att ändras beroende på din mobo men chansen är att det måste innebära läckage av privata eller hårdvarunycklar eller andra hemligheter.

Qwertie
2019-04-04 09:08:35 UTC
view on stackexchange narkive permalink

Ja. Det är hårdvaruspecifikt men här är ett fall där en användare av misstag bryter moderkortets firmware från OS-nivån https://github.com/systemd/systemd/issues/2402

A fel i firmware på en MSI-bärbar dator innebar att rensning av efi-variablerna orsakade att den bärbara datorn var oanvändbar. Eftersom dessa variabler exponerades för operativsystemet och monterades som en fil orsakade borttagning av varje fil från OS-nivån problemet som kunde utnyttjas av ett virus för att specifikt rikta in sig på dessa variabler.

user21820
2019-04-04 16:45:19 UTC
view on stackexchange narkive permalink

Det finns många sätt, och några av dem är oroande. Till exempel verkar Computrace vara en permanent bakdörr som kan kringgå inte bara operativsystemet utan även BIOS. Och mer allmänt har Intel Management Engine full kontroll över din dator och kan troligtvis utnyttjas. Dessa kan ändra ditt BIOS men behöver inte ens. Precis 2017 upptäckte säkerhetsforskare hur man utnyttjar Intel IME via USB för att köra osignerad kod.

Poängen är att även om du har ett helt säkert operativsystem och du ladda aldrig ned någon osäker eller skadlig programvara, det finns fortfarande en icke försumbar möjlighet att du kan påverkas av en skadlig kod som kringgår allt detta genom att utnyttja en säkerhetsproblem i din hårdvara (även när din dator förmodligen är avstängd).

Lily Finley
2019-04-05 14:59:29 UTC
view on stackexchange narkive permalink

Något jag har sett här:

Om angriparen får tillräckligt med behörighet att installera till och med en officiell UEFI-firmware, korrekt signerad av systemtillverkaren, kan de fortfarande lämna datorn i ett omstartbart tillstånd genom att stänga av datorn kraftigt vid en lämplig tidpunkt under processen.

Uppdateringskoden i moderna firmware försöker vanligtvis att minimera den tid datorn tillbringar i ett tillstånd där ett strömavbrott kommer att orsaka korruption av firmware, och vissa firmware har till och med ett återställningsläge som aktiveras i ett sådant fall.

Men många av dessa system är inte helt skottsäkra. Även om de erbjuder ett bra skydd mot slumpmässiga strömavbrott, kan en avstängd avstängning fortfarande slå den död om firmware inte har en robust automatisk återställningsfunktion.

Man kanske inte ens behöver attackera huvudprogramets firmware. Nästan alla enheter på en modern dator har en firmware av något slag, och många av dem kan uppdateras via programvara. Dessa enheter är också ofta mindre säkra. De kan acceptera osignerade firmware helt eller åtminstone vara mindre motståndskraftiga mot skadliga avstängningar under uppdateringsprocessen.

Om du förstör firmware på strömkontrollen, lagringsstyrenheten, lagringsenheten, videoenheten eller ingångsstyrenheten kan systemet bli lika oanvändbart som om du hade attackerat UEFI.



Denna fråga och svar översattes automatiskt från det engelska språket.Det ursprungliga innehållet finns tillgängligt på stackexchange, vilket vi tackar för cc by-sa 4.0-licensen som det distribueras under.
Loading...