Eind jaren negentig begon een computervirus, bekend als CIH, sommige computers te infecteren. De payload overschreef, wanneer geactiveerd, de systeeminformatie en vernietigde het BIOS van de computer, waardoor het in feite elke computer blokkeerde die het had geïnfecteerd. Kan een virus dat moderne besturingssystemen aantast (zoals Windows 10) het BIOS van een moderne computer vernietigen en in wezen hetzelfde blokkeren manier, of is het nu onmogelijk voor een virus om toegang te krijgen tot het BIOS van een moderne computer?
Reacties
- ja maar vanuit het perspectief van een aanvaller het is een verspilling of middelen … Meer informatie over een rootkit voor UEFI als voorbeeld in de balgdocument … welivesecurity.com/wp-content/uploads/2018/ 09 / ESET-LoJax.pdf
- Reacties zijn niet bedoeld voor uitgebreide discussie; deze conversatie is verplaatst naar chat .
- Sommige (of de meeste?) desktop-moederborden hebben een ROM die wordt gebruikt om het BIOS te herstellen vanuit een of andere vorm van media (vroeger, floppy disks, tegenwoordig USB-sticks, misschien cd-rom). De ROM kan ‘ niet worden gewijzigd, maar herstel vereist meestal het openen van de behuizing en het verplaatsen van een jumper om op te starten in de BIOS-herstelmodus. Ik weet niet ‘ hoe laptops hiermee omgaan.
- Gerelateerd: security.stackexchange.com/q / 13105/165253
Answer
Moderne computers hebben geen BIOS, ze hebben a UEFI . Het bijwerken van de UEFI-firmware vanaf het actieve besturingssysteem is een standaardprocedure, dus elke malware die erin slaagt om met voldoende rechten op het besturingssysteem te worden uitgevoerd, kan proberen om hetzelfde te doen. De meeste UEFIs accepteren echter geen update die niet digitaal is ondertekend door de fabrikant. Dat betekent dat het niet mogelijk zou moeten zijn om het te overschrijven met willekeurige code.
Dit veronderstelt echter dat:
- de fabrikanten van het moederbord erin slagen hun privésleutels geheim te houden
- de UEFI heeft geen onbedoelde beveiligingsproblemen waardoor het met willekeurige code kan worden overschreven of anderszins kan worden misbruikt om schade aan te richten.
En die twee aannames gaan niet noodzakelijk op .
Met betrekking tot uitgelekte sleutels: als een UEFI-ondertekeningssleutel bekend zou worden bij het grote publiek, kunt u ervan uitgaan dat er nogal wat berichtgeving in de media en hysterische patching plaatsvindt. Als u enkele IT-nieuws, je zou waarschijnlijk veel alarmerende “Als je een [merk] moederbord hebt UPDATE JE UEFI NU !!! 1111oneone” koppen. Maar een andere mogelijkheid is het ondertekenen van sleutels die in het geheim zijn gelekt naar statelijke actoren. Dus als uw werk interessant is voor industriële spionage, dan kan dit ook een aannemelijke bedreiging voor u zijn.
Met betrekking tot bugs: UEFIs winnen steeds meer functionaliteit die steeds meer mogelijkheden heeft voor verborgen bugs. Ze missen ook de meeste interne beveiligingsfuncties die je hebt nadat je een “echt” besturingssysteem hebt opgestart.
Reacties
- Reacties zijn niet voor uitgebreid discussie; deze conversatie is verplaatst naar chat .
Antwoord
Ja, het is zeker mogelijk.
Tegenwoordig, nu UEFI wijdverspreid raakt, is het zelfs nog zorgwekkender: UEFI heeft een veel groter aanvalsoppervlak dan traditioneel BIOS en een (potentiële) fout in UEFI zou kunnen worden gebruikt om toegang te krijgen tot de machine zonder elke vorm van fysieke toegang ( zoals aangetoond door de mensen van Eclypsium bij Black Hat vorig jaar ).
Antwoord
Praktisch gesproken is een virus software, dus het kan alles doen wat andere software kan.
Dus de eenvoudige manier antwoord op deze vraag, en alle anderen van de klasse “Kunnen virussen X doen?” is de vraag “Doet software momenteel X?”.
Dergelijke vragen kunnen zijn: “Kan een virus mijn hond uitlaten?” (niet zonder een hondenuitlaatrobot); “Kan een virus mij pizza bezorgen?” (ja: dit is helaas niet de belangrijkste focus van de meeste virusauteurs).
Worden BIOS-en (UEFI) momenteel bijgewerkt met software? Het antwoord is: ja dat zijn ze. De mijne is gisteravond bijgewerkt, toen ik opnieuw opstartte.
En dus is het antwoord ja.
Volgens dezelfde logica kunnen virussen ook fysieke schade aanrichten (en historisch gezien hebben) aan uw CPU, harde schijven en printers.
Domoticasystemen en zelfrijdende voertuigen zijn ook mogelijke doelwitten voor fysieke schade, maar ik ken geen virussen die dit hebben veroorzaakt.
Opmerkingen
- Ik zou ‘ het niet erg vinden als mijn persoonlijke informatie werd gebruikt door malware-ontwikkelaars om gratis pizza voor me te bestellen en niets anders. (+1 voor nuttige redenering)
- @Marc.2377, zou ik het niet erg vinden als uw persoonlijke gegevens werden gebruikt om mij gratis pizza te bestellen … 🙂
- Moderne virussen zullen het erg moeilijk hebben tijd die fysieke schade veroorzaakt. Ze zouden hoogstens hardware een beetje kunnen verslijten door de CPU erg heet te laten werken, wat de nuttige levensduur verkort, maar ‘ is niet gebruikelijk dat het schade kan veroorzaken . In het verleden was dat echter niet ‘ het geval. Zie ” the poke of death “.
- @forest Aren ‘ t de software van de ventilatoren en koelsystemen die tegenwoordig worden beheerd? Ik ‘ ben het niet zeker, maar ik wed dat je op de een of andere manier de CPU- of GPU-ventilator zou kunnen bederven door software. Rusland vernietigde generatoren op afstand door ze op een resonerende frequentie aan en uit te zetten – ik wed dat er soortgelijke trucs zijn die je monitor behoorlijk snel zouden kunnen doden. Platter-harde schijven kunnen zeker worden weggegooid door ze herhaaldelijk op en neer te draaien, solid-state schijven zijn kwetsbaar voor herhaalde lees- / schrijfcycli. Ik wed dat er veel is dat een gemotiveerde hacker zou kunnen doen.
- Ik denk dat we ‘ het bereik van ” fysieke schade veroorzaken ” voordat we besloten of het mogelijk / plausibel was. Als je de definitie beperkt tot het letterlijk beschadigen van de computer waarop de code draait, is dat ‘ vrij smal en denk ik dat @forest gelijk heeft. Als u fysieke schade in algemenere zin meetelt, is het ‘ veel gemakkelijker om scenarios voor te stellen waarin een geïnfecteerde computer ‘ iets controleert anders (elektriciteitscentrale, verkeerslichten, openbaar vervoerssysteem, waterzuiveringsinstallatie, enz.) zou gemakkelijk grote fysieke schade kunnen veroorzaken.
Antwoord
Ja, het is zeker mogelijk.
Hier is een voorbeeld van een malware-update van het besturingssysteem die frauduleus is ondertekend met de privésleutel van de fabrikant: https://www.theregister.co.uk/2019/03/25/asus_software_update_utility_backdoor/
Volgens Kaspersky Labs zijn ongeveer een miljoen Asus-laptops geïnfecteerd door Shadowhammer
, met een update die correct leek te zijn ondertekend. Het is niet duidelijk of dat de firmware heeft gewijzigd, maar het had zeker kunnen gebeuren.
Antwoord
Uw vraag verwijst naar een dieper onderwerp: ringen en toestemmingen van code op een besturingssysteem. Op MS DOS kan de code doen wat hij wil. Als de code alle 0x00-inch naar een harde schijf zou willen schrijven, zou het kunnen, als het vreemde uitvoer naar een stuk hardware zou willen sturen, dan kon er ook niets de gebruikerscode tegenhouden. Op een modern besturingssysteem is er een concept van ringen (dit wordt afgedwongen door de CPU). De kernel draait op ring nul en kan doen wat hij wil. De gebruikerscode daarentegen kan dat niet. Het draait op iets dat ring 3 wordt genoemd en het krijgt zijn eigen kleine stukje geheugen en binnen dat geheugen kan het doen wat het wil, maar het kan niet rechtstreeks met hardware praten. . Als de gebruikerscode met hardware probeert te praten, doodt de kernel het programma onmiddellijk. Dit betekent dat het hoogst onwaarschijnlijk is dat een gewoon virus hardware kan doden omdat het er niet rechtstreeks mee kan praten.
Als de kernel is gehackt, dan is het spel in feite voorbij. De kernel kan doen wat hij wil en er kunnen een hele reeks slechte dingen gebeuren, zoals het overklokken van de CPU tot een punt waarop de hardware instabiel is, het wissen van de harde schijven (vullen met nullen bijvoorbeeld), of vrijwel elke andere plausibele aanval.
Reacties
- ” Als de code van de gebruiker ‘ probeert te praten met hardware, dan doodt de kernel het programma onmiddellijk ” – Echt waar? Kun je een citaat daarvoor geven? Ik dacht dat de beschermde instructie gewoon zou mislukken en het ‘ is aan het programma om daar redelijk mee om te gaan of vast te lopen.
- @Marc .2377 Het is correct Als de gebruiker ‘ s code probeert een instructie uit te voeren in CPL3 die CPL0-rechten vereist, het zal
#GP(0)
(algemene beschermingsfout of GPF) genereren. Dit zorgt ervoor dat de code in de kernel springt om te zien welke signaalhandler is ingesteld voor die gebeurtenis. Standaard zal de kernel het proces beëindigen, hoewel het technisch mogelijk is ‘ voor het proces om een signaalhandler voor SIGSEGV in te stellen, in welk geval de kernel de uitvoering van het proces hervat op de locatie van de signaalbehandelaar. Het ‘ is over het algemeen echter geen goed idee, omdat een proces wordt beschouwd als een … - … ongedefinieerde staat volgens POSIX als de uitvoering wordt hervat nadat een SIGSEGV is gegenereerd die niet ‘ niet afkomstig is van
raise()
. Het zal de uitvoering hervatten bij de mislukte instructie die gewoon weer wordt uitgevoerd en ervoor zorgen dat het proces vastloopt als het signaal wordt genegeerd.Dus het kan zijn aan het programma om ermee om te gaan, als het een signaalhandler instelt voor SIGSEGV, maar er is ‘ s vrijwel nooit een situatie waarin dat zou gebeuren (hoewel ik denk dat de Dolphin-emulator segfaults vangt voor een soort hacky-optimalisatie, dus ‘ hoeft niet een vreemd paginagedrag te emuleren en kan vertrouwen op de MMU). - Zie dit voor een (zeldzaam) voorbeeld van wanneer het is tot aan het programma. Of lees gewoon PoC || GTFO 6: 3.
Answer
Potentieel. Het zou echter moeilijk zijn om te doen, omdat het zich waarschijnlijk ergens later als een legitieme BIOS-update zou moeten voordoen. De methode om dit te doen zal veranderen afhankelijk van je mobo, maar de kans is groot dat er privé- of hardwaresleutels of andere geheimen moeten worden gelekt.
Antwoord
Ja. Het is hardware-specifiek, maar hier is een geval van een gebruiker die per ongeluk de firmware van zijn moederbord breekt vanaf het besturingssysteemniveau https://github.com/systemd/systemd/issues/2402
Een bug in de firmware van een MSI-laptop betekende dat het wissen van de efi-variabelen ervoor zorgde dat de laptop onbruikbaar werd. Omdat deze variabelen werden blootgesteld aan het besturingssysteem en als een bestand werden aangekoppeld, werd elk bestand verwijderd van het besturingssysteemniveau veroorzaakte het probleem dat door een virus kon worden misbruikt om zich specifiek op deze variabelen te richten.
Antwoord
Er zijn veel manieren, en sommige van hen zijn verontrustend. Computrace lijkt bijvoorbeeld een permanente achterdeur te zijn die niet alleen het besturingssysteem maar zelfs het BIOS kan omzeilen. En meer in het algemeen, de Intel Management Engine heeft volledige controle over uw computer en kan aannemelijk worden misbruikt. Deze kunnen uw BIOS wijzigen, maar dat hoeft niet eens. Pas in 2017 dachten beveiligingsonderzoekers o ut hoe de Intel IME via USB te misbruiken om niet-ondertekende code uit te voeren .
Het punt is dat zelfs als je een volledig veilig besturingssysteem hebt en u downloadt nooit onveilige of kwaadaardige software, er is nog steeds een niet te verwaarlozen kans dat u kunt worden getroffen door malware die dat alles omzeilt door misbruik te maken van een beveiligingsprobleem in uw hardware (zelfs als uw computer zogenaamd is uitgeschakeld). / p>
Antwoord
Iets wat ik hier heb gezien:
Als de aanvaller voldoende toestemming krijgt om zelfs een officiële UEFI-firmware, correct ondertekend door de systeemfabrikant, kunnen de computer nog steeds in een niet-opstartbare toestand laten door de computer op een geschikt moment tijdens het proces met geweld uit te schakelen.
De updatecode in moderne firmwares probeert gewoonlijk de hoeveelheid tijd die de computer doorbrengt in een staat te minimaliseren waarin een stroomstoring de firmware beschadigt, en s alle firmwares hebben zelfs een herstelmodus die in zon geval wordt geactiveerd.
Veel van deze systemen zijn echter niet volledig kogelvrij. Hoewel ze een goede bescherming bieden tegen willekeurige stroomstoringen, kan een goed getimede power-off hem nog steeds doodslaan als de firmware geen robuuste automatische herstelfunctie heeft.
Ook is het misschien niet nodig om de hoofdsysteemfirmware. Vrijwel elk apparaat op een moderne pc heeft een of andere soort firmware en veel ervan kunnen via software worden bijgewerkt. Deze apparaten zijn vaak ook minder veilig. Ze accepteren mogelijk niet-ondertekende firmwares volledig, of zijn in ieder geval minder veerkrachtig tegen kwaadwillende power-offs tijdens het updateproces.
Als u de firmware op de vermogenscontroller, opslagcontroller, opslagapparaat, videoapparaat of invoercontroller vernietigt, kan het systeem net zo onbruikbaar worden als wanneer u viel de UEFI aan.