Poate un virus să distrugă BIOS-ul unui computer modern?

La sfârșitul anilor 1990, un virus informatic cunoscut sub numele de CIH a început să infecteze unele computere. Sarcina sa utilă, atunci când a fost declanșată, a suprascris informațiile de sistem și a distrus BIOS-ul computerului, eliminând în mod esențial orice computer pe care l-a infectat. Ar putea un virus care afectează sistemele de operare moderne (cum ar fi Windows 10) să distrugă BIOS-ul unui computer modern și, în esență, să-l pună la fel sau este acum imposibil ca un virus să aibă acces la BIOS-ul unui computer modern?

Comentarii

  • da, dar din perspectiva atacatorului este o risipă sau resurse … Mai multe informații despre un rootkit pentru UEFI ca exemplu în lucrarea de mai jos … welivesecurity.com/wp-content/uploads/2018/ 09 / ESET-LoJax.pdf
  • Comentariile nu sunt pentru discuții extinse; această conversație a fost mutată în chat .
  • Unele (sau cele mai multe?) plăci de bază desktop au un ROM folosit pentru a recupera BIOS-ul dintr-o formă de mass-media (pe vremuri, dischete, zilele acestea, stick-uri USB, poate cd-rom). ROM-ul nu poate ‘ să fie modificat, însă recuperarea necesită de obicei deschiderea carcasei și mutarea unui jumper pentru a porni în modul de recuperare BIOS. Nu ‘ nu știu cum se ocupă laptopurile cu acest lucru.
  • În legătură: security.stackexchange.com/q / 13105/165253

Răspuns

Calculatoarele moderne nu au BIOS, au a UEFI . Actualizarea firmware-ului UEFI din sistemul de operare care rulează este o procedură standard, astfel încât orice malware care reușește să fie executat pe sistemul de operare cu privilegii suficiente ar putea încerca Cu toate acestea, majoritatea UEFI-urilor nu vor accepta o actualizare care nu este semnată digital de producător. Asta înseamnă că nu ar trebui să fie posibil să îl suprascrieți cu cod arbitrar.

Acest lucru presupune totuși că:

  1. producătorii plăcii principale reușesc să păstreze secretele cheilor private
  2. UEFI nu are nicio vulnerabilitate de securitate neintenționată care să permită suprascrierea acestuia cu cod arbitrar sau în alt mod poate fi exploatată pentru a provoca daune.

Și aceste două ipoteze nu sunt valabile neapărat .

În ceea ce privește cheile scurgeri: dacă o cheie de semnare UEFI ar deveni cunoscută publicului larg, atunci puteți presupune că ar exista o mulțime de raportări media și corecții isterice. Dacă urmați unele Știri IT, probabil că veți vedea o mulțime de alarmiste „Dacă aveți o placă principală [de marcă] ACTUALIZAȚI-VĂ ACUM UEFI !!! 1111oneone” Titluri. Dar o altă posibilitate este să semnați chei divulgate în secret actorilor de stat. Deci, dacă munca dvs. ar putea fi interesantă pentru spionajul industrial, atunci aceasta ar putea fi, de asemenea, o amenințare credibilă pentru dvs.

În ceea ce privește erorile: UEFI câștigă din ce în ce mai multe funcționalități care au din ce în ce mai multe posibilități pentru erori ascunse. De asemenea, le lipsește majoritatea funcțiilor de securitate internă pe care le aveți după ce ați pornit un sistem de operare „real”.

Comentarii

Răspuns

Da, este cu siguranță posibil.

În zilele noastre, odată cu extinderea UEFI, este și mai îngrijorător: UEFI are o suprafață de atac mult mai mare decât BIOS-ul tradițional și un defect (potențial) în UEFI ar putea fi pârghie pentru a avea acces la mașină fără a avea orice fel de acces fizic ( așa cum a demonstrat-o oamenii din Eclypsium la pălăria neagră anul trecut ).

Răspuns

Practic vorbind, un virus este software, deci poate face orice poate face orice alt software.

Deci, modul simplu răspundeți la această întrebare și pe toți ceilalți din clasa „Virușii pot face X?” este de a întreba „Software-ul face în prezent X?”

Astfel de întrebări ar putea include „poate un virus să-mi plimbe câinele?” (nu fără un robot care călătorește câinii); „Poate un virus să-mi aducă pizza?” (da: acest lucru, din păcate, nu este principalul obiectiv al majorității autorilor de viruși).

BIOS-urile (UEFI) sunt actualizate în prezent folosind software? Răspunsul este, da, sunt. Al meu s-a actualizat aseară, când am repornit.

Și răspunsul este da.

Prin aceeași logică, virușii pot provoca (și istoric au provocat) daune fizice procesorului, hard disk-urilor și imprimantelor.

Sistemele de automatizare a locuințelor și vehiculele fără șofer sunt, de asemenea, posibile ținte pentru daune fizice, dar nu știu de viruși care să fi făcut acest lucru.

Comentarii

  • Nu m-ar deranja prea mult dacă informațiile mele personale ar fi utilizate de dezvoltatorii de programe malware pentru a-mi comanda pizza gratuită și nimic altceva. (+1 pentru raționamente utile)
  • @Marc.2377, nu m-aș deranja prea mult dacă informațiile dvs. personale ar fi utilizate pentru a comanda eu pizza gratuită … 🙂
  • Virușii moderni vor avea o problemă foarte dificilă timpul cauzând daune fizice. Cel mult, ei ar putea consuma un pic hardware-ul rulând CPU-ul foarte fierbinte, ceea ce scurtează durata de viață utilă, dar ‘ nu este obișnuit ca acesta să poată provoca daune . În trecut, nu era ‘ cazul. Vedeți ” lovitura morții „.
  • @forest Aren ‘ t software-ul ventilatoarelor și sistemelor de răcire controlate în aceste zile? Nu ‘ nu sunt sigur, dar pun pariu că ai putea să cumperi cumva fanul CPU sau GPU din software. Rusia a distrus generatoarele de la distanță, pornindu-le și oprindu-le la o frecvență rezonantă – Pun pariu că există trucuri similare care ar putea ucide monitorul destul de repede. Unitățile de disc plat pot fi cu siguranță aruncate la gunoi prin rotirea lor în sus și în jos în mod repetat, unitățile cu stare solidă sunt vulnerabile la cicluri repetate de citire / scriere. Pun pariu că există multe lucruri pe care un hacker motivat le-ar putea face.
  • Cred că ‘ ar trebui să definim domeniul de aplicare al ” provoacă daune fizice ” înainte de a decide dacă este posibil / plauzibil. Dacă constrângeți definiția la deteriorarea literală a computerului care rulează codul, ‘ este destul de îngust și cred că @forest are dreptate. Dacă includeți daune fizice într-un sens mai general, este ‘ mult mai ușor să vă imaginați scenarii în care un computer infectat care ‘ controlează ceva altfel (centrală electrică, semafoare, sistem de transport în masă, stație de tratare a apei etc.) ar putea provoca cu ușurință daune fizice majore.

Răspuns

Da, este cu siguranță posibil.

Iată un exemplu de actualizare a sistemului de operare malware semnat în mod fraudulos cu cheia privată a producătorului: https://www.theregister.co.uk/2019/03/25/asus_software_update_utility_backdoor/

Potrivit Kaspersky Labs, aproximativ un milion de laptopuri Asus au fost infectate de Shadowhammer, cu o actualizare care părea a fi semnată corect. Nu este clar dacă acest lucru a modificat firmware-ul, dar cu siguranță s-ar fi putut realiza.

Răspunde

Întrebarea dvs. sugerează un subiect mai profund, care este sunetele și permisiunile de cod pe un sistem de operare. Pe MS DOS, codul ar putea face orice vrea. Dacă codul dorea să scrie toate 0x00 „pe un hard disk, ar putea, dacă ar dori să trimită ieșiri ciudate către o bucată de hardware, ar putea, de asemenea, să nu existe nimic care să oprească codul utilizatorului. Pe un sistem de operare modern există un concept de inele (acesta este impus de CPU). Nucleul rulează pe inelul zero și ar putea face orice dorește. Codul utilizatorului, pe de altă parte, nu poate. Funcționează pe ceva numit inelul 3 și i se oferă propria bucată de memorie, iar în interiorul memoriei poate face tot ce vrea, dar nu poate vorbi direct cu hardware-ul . Dacă codul utilizatorului încearcă să vorbească cu hardware-ul, nucleul ucide imediat programul. Aceasta înseamnă că este foarte puțin probabil ca un virus obișnuit să poată ucide hardware-ul, deoarece nu poate vorbi direct cu acesta.

kernel-ul este piratat, apoi jocul s-a terminat. Kernel-ul poate face orice vrea și se pot întâmpla o serie întreagă de lucruri rele, cum ar fi overclockarea procesorului într-un punct în care hardware-ul este instabil, ștergând hard disk-urile (completând cu zerouri de exemplu), sau aproape orice alt atac plauzibil.

Comentarii

  • ” Dacă codul utilizatorului ‘ încearcă să vorbească cu hardware-ul, nucleul ucide imediat programul ” – Într-adevăr? Poți? furnizați o citație pentru asta? Am crezut că instrucțiunea protejată va eșua pur și simplu și ‘ depinde de program să se ocupe în mod rezonabil sau să se blocheze.
  • @Marc .2377 Este corect. Dacă utilizatorul ‘ codul încearcă să execute o instrucțiune în CPL3 care necesită privilegii CPL0, va arunca #GP(0) (eroare de protecție generală sau GPF). Acest lucru face ca codul să sară în kernel pentru a vedea ce handler de semnal a fost configurat pentru acel eveniment. În mod implicit, nucleul va distruge procesul, deși ‘ este posibil din punct de vedere tehnic ca procesul să configureze un handler de semnal pentru SIGSEGV, caz în care nucleul reia executarea procesului la locația manipulatorului de semnal. ‘ nu este, în general, o idee bună, totuși, deoarece un proces este considerat a fi într-o …
  • … stare nedefinită conform POSIX dacă execuția se reia după ce a fost ridicat un SIGSEGV care nu ‘ nu provine de la raise(). Va relua execuția la instrucțiunea eșuată, care va rula din nou și va cauza blocarea procesului dacă semnalul este ignorat.Deci, poate depinde de program să se ocupe de el, dacă configurează un handler de semnal pentru SIGSEGV, dar acolo ‘ nu este niciodată nicio situație în care s-ar face acest lucru (deși cred că emulatorul Dolphin prinde segfaults pentru un fel de optimizare hacky, așa că nu trebuie să emuleze un comportament de paginare ciudat) și se poate baza pe MMU).
  • Consultați acest pentru un exemplu (rar) de când este până la program. Sau pur și simplu citiți PoC || GTFO 6: 3.

Răspundeți

Potențial. Cu toate acestea, ar fi greu de făcut, deoarece ar fi trebuit să se mascheze ca o actualizare legitimă a BIOS undeva pe linie. Metoda de a face acest lucru se va schimba în funcție de mobo, dar este posibil să fie implicată scurgerea de chei private sau hardware sau alte secrete.

Răspuns

Da. Este specific hardware-ului, dar iată un caz în care un utilizator își rupe accidental firmware-ul plăcii de bază de la nivelul sistemului de operare https://github.com/systemd/systemd/issues/2402

O eroare la firmware-ul unui laptop MSI a însemnat că ștergerea variabilelor efi a făcut ca laptopul să fie inutilizabil. Deoarece aceste variabile au fost expuse sistemului de operare și montate ca fișier, ștergând fiecare fișier de la nivelul sistemului de operare. a făcut ca problema care ar putea fi exploatată de un virus să vizeze în mod specific aceste variabile.

Răspuns

Există mai multe moduri și unele dintre ele sunt neliniștitoare. De exemplu, Computrace pare a fi un backdoor permanent care poate ocoli nu numai sistemul de operare, ci chiar BIOS-ul. Și mai general, Intel Management Engine are control deplin asupra computerului dvs. și poate fi exploatat în mod plauzibil. Acestea vă pot modifica BIOS-ul, dar nici măcar nu trebuie. Chiar în 2017, cercetătorii în securitate au ut cum să exploatezi Intel IME prin USB pentru a rula codul nesemnat .

Ideea este că, chiar dacă ai un sistem de operare complet sigur și nu descărcați niciodată niciun software nesigur sau rău intenționat, există încă o posibilitate deloc neglijabilă de a putea fi afectat de un malware care ocolește toate acestea prin exploatarea unei vulnerabilități de securitate din hardware-ul dvs. (chiar și atunci când computerul este presupus oprit).

Răspuns

Ceva pe care nu l-am văzut aici:

Dacă atacatorul obține permisiunea suficientă pentru a instala chiar și un oficial Firmware UEFI, semnat corect de către producătorul sistemului, pot lăsa computerul într-o stare ne-bootabilă prin oprirea puternică a computerului la un moment oportun în timpul procesului.

Codul de actualizare în firmware-urile moderne de obicei încearcă să minimizeze timpul petrecut de computer într-o stare în care o pană de curent va provoca corupția firmware-ului și s Unele firmware-uri au chiar un mod de recuperare care se va activa într-un astfel de caz.

Cu toate acestea, multe dintre aceste sisteme nu sunt complet antiglonț. Deși oferă o bună protecție împotriva întreruperilor de curent aleatorii, o oprire bine temporizată ar putea să o dea în gol dacă firmware-ul nu are o caracteristică robustă de recuperare automată.

De asemenea, este posibil să nu fie nevoie nici măcar să firmware-ul principal al sistemului. Aproape fiecare dispozitiv dintr-un computer modern are un fel de firmware și multe dintre ele pot fi actualizate prin intermediul software-ului. Aceste dispozitive sunt, de asemenea, mai puțin sigure. Pot accepta firmware-uri nesemnate în totalitate sau cel puțin sunt mai puțin rezistente. împotriva opririlor dăunătoare în timpul procesului de actualizare.

Dacă distrugeți firmware-ul de pe controlerul de putere, controlerul de stocare, dispozitivul de stocare, dispozitivul video sau controlerul de intrare, sistemul poate deveni la fel de inutilizabil ca și cum ați avea a atacat UEFI.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *