Firmware - Firmware

O telecomandă a televizorului este un exemplu de produs care conține firmware.

În calcul , firmware-ul este o clasă specifică de software de calculator care asigură controlul la nivel scăzut pentru hardware-ul specific al unui dispozitiv . Firmware-ul, cum ar fi BIOS - ul unui computer personal, poate conține funcții de bază ale unui dispozitiv și poate furniza servicii de abstractizare hardware către software de nivel superior, cum ar fi sistemele de operare . Pentru dispozitivele mai puțin complexe, firmware-ul poate acționa ca sistemul de operare complet al dispozitivului , efectuând toate funcțiile de control, monitorizare și manipulare a datelor. Exemple tipice de dispozitive care conțin firmware sunt sistemele încorporate , aparatele de uz casnic și de uz personal, computerele și perifericele computerului .

Firmware-ul este păstrat pe dispozitive de memorie nevolatile , cum ar fi ROM , EPROM , EEPROM și memoria Flash . Actualizarea firmware-ului necesită înlocuirea fizică a circuitelor integrate ROM sau reprogramarea memoriei EPROM sau a memoriei flash printr-o procedură specială. Unele dispozitive de memorie firmware sunt instalate permanent și nu pot fi schimbate după fabricare. Motivele obișnuite pentru actualizarea firmware-ului includ remedierea erorilor sau adăugarea de funcții pe dispozitiv.

Istorie

Ascher Opler a inventat termenul firmware într-un articol din 1967 despre Datamation . În acest articol, Opler se referea la un nou tip de program de calculator care avea un scop practic și psihologic diferit de programele tradiționale din perspectiva utilizatorului.

Pe măsură ce computerele au început să crească în complexitate, a devenit clar că mai multe programe trebuie inițiate și rulate mai întâi pentru a oferi un mediu consistent necesar pentru a rula programe mai complexe, la alegerea utilizatorului. Aceasta a necesitat programarea computerului pentru a rula automat aceste programe. Mai mult, întrucât companiile, universitățile și specialiștii în marketing au dorit să vândă computere unor oameni cu laici cu puține cunoștințe tehnice, a devenit necesară o mai mare automatizare pentru a permite utilizatorilor laici să ruleze cu ușurință programe în scopuri practice. Acest lucru a dat naștere unui fel de software pe care un utilizator nu l-ar rula în mod conștient și a dus la un software pe care un utilizator laic nici măcar nu l-ar ști.

Inițial, aceasta însemna conținutul unui magazin de control scris (o mică memorie specializată de mare viteză), care conține microcod care definea și implementa setul de instrucțiuni al computerului și care putea fi reîncărcat pentru a specializa sau modifica instrucțiunile pe care unitatea centrală de procesare (CPU ) ar putea executa. Așa cum a fost utilizat inițial, firmware-ul a contrastat cu hardware-ul (CPU-ul în sine) și software-ul (instrucțiunile normale care se execută pe un CPU). Nu a fost compus din instrucțiuni ale mașinii CPU, ci din microcod de nivel inferior implicat în implementarea instrucțiunilor mașinii. A existat la granița dintre hardware și software; astfel numele firmware-ului . De-a lungul timpului, utilizarea populară a extins cuvântul firmware pentru a indica orice program de computer care este strâns legat de hardware, inclusiv instrucțiuni ale procesorului pentru BIOS , încărcătoare bootstrap sau sistemele de control pentru dispozitive electronice simple , cum ar fi un cuptor cu microunde , telecomandă sau computer periferic .

Aplicații

Calculatoare personale

Firmware BIOS ROM pe o placă de bază Baby AT

În anumite privințe, diferitele componente ale firmware-ului sunt la fel de importante ca sistemul de operare al unui computer funcțional. Cu toate acestea, spre deosebire de majoritatea sistemelor de operare moderne, firmware-ul are rareori un mecanism automat bine evoluat de actualizare pentru a remedia problemele de funcționalitate detectate după livrarea unității.

BIOS-ul poate fi actualizat „manual” de către un utilizator prin intermediul unui mic program de utilitate. În schimb, firmware-ul dispozitivelor de stocare în masă (unități de hard disk, unități de disc optice, stocare a memoriei flash, de exemplu, unitate SSD) este rar actualizat, chiar și atunci când memoria firmware (mai degrabă decât ROM, EEPROM) este folosită pentru firmware.

Majoritatea perifericelor de computer sunt ele însele computere cu destinație specială. Dispozitivele precum imprimante, scanere, camere și unități flash USB au firmware stocat intern; unele dispozitive pot permite, de asemenea, actualizarea pe teren a firmware-ului lor.

Unele periferice low-cost nu mai conțin memorie nevolatilă pentru firmware și, în schimb, se bazează pe sistemul gazdă pentru a transfera programul de control al dispozitivului dintr-un fișier disc sau CD.

Produse de uz casnic și de uz personal

Începând cu 2010, majoritatea playerelor de muzică portabile acceptă actualizări de firmware. Unele companii folosesc actualizări de firmware pentru a adăuga noi formate de fișiere redabile ( codecuri ). Alte caracteristici care se pot modifica odată cu actualizarea firmware-ului includ GUI sau chiar durata de viață a bateriei. Majoritatea telefoanelor mobile au o capacitate de actualizare a firmware- ului over the air din aceleași motive; unele pot fi chiar actualizate pentru a îmbunătăți recepția sau calitatea sunetului.

Automobile

Din 1996, majoritatea automobilelor au folosit un computer de bord și diferiți senzori pentru a detecta probleme mecanice. Începând cu 2010, vehiculele moderne folosesc, de asemenea, sisteme de frânare antiblocare controlate de computer (ABS) și unități de control al transmisiei (TCU). Șoferul poate obține, de asemenea, informații în bord pe timpul conducerii în acest mod, cum ar fi economia de combustibil în timp real și citirile presiunii pneurilor. Dealerii locali pot actualiza majoritatea firmware-ului vehiculului.

Exemple

Exemple de firmware includ:

Intermitent

Intermitentul implică suprascrierea firmware-ului sau datelor existente, conținute în EEPROM sau modulul de memorie flash prezent într-un dispozitiv electronic, cu date noi. Acest lucru se poate face pentru a actualiza un dispozitiv sau pentru a schimba furnizorul unui serviciu asociat cu funcția dispozitivului, cum ar fi trecerea de la un furnizor de servicii de telefonie mobilă la altul sau instalarea unui nou sistem de operare. Dacă firmware-ul este actualizabil, acesta se face adesea prin intermediul unui program de la furnizor și va permite deseori să fie salvat vechiul firmware înainte de actualizare, astfel încât să poată fi readus în cazul în care procesul eșuează sau dacă versiunea mai nouă are un rezultat mai slab. Au fost dezvoltate înlocuiri de software gratuit pentru instrumentele intermitente ale furnizorilor, cum ar fi Flashrom .

Spargerea firmware-ului

Uneori, terții dezvoltă o versiune neoficială nouă sau modificată („aftermarket”) a firmware-ului pentru a oferi noi caracteristici sau pentru a debloca funcționalitatea ascunsă; aceasta este denumită firmware personalizat . Un exemplu este Rockbox ca înlocuitor de firmware pentru playere media portabile . Există multe proiecte homebrew pentru diferite dispozitive, care deseori deblochează funcționalitatea de calcul generală pe dispozitive limitate anterior (de exemplu, rularea Doom pe iPod-uri ).

Hackurile de firmware profită de obicei de facilitatea de actualizare a firmware-ului pe multe dispozitive pentru a se instala sau rula singure. Unii, cu toate acestea, trebuie să recurgă la exploit-uri pentru a rula, deoarece producătorul a încercat să blocheze hardware-ul pentru a opri rularea codului fără licență .

Majoritatea hacking-urilor de firmware sunt software gratuit .

Hack-uri de firmware HDD

Laboratorul Kaspersky din Moscova a descoperit că un grup de dezvoltatori la care se numește „ Grupul de ecuații ” a dezvoltat modificări ale firmware-ului unității de disc pentru diferite modele de unități, care conțin un cal troian care permite stocarea datelor pe unitate în locații care vor fi să nu fie șters chiar dacă unitatea este formatată sau ștearsă. Deși raportul Kaspersky Lab nu a susținut în mod explicit că acest grup face parte din Agenția Națională de Securitate a Statelor Unite (NSA), dovezile obținute din codul diferitelor software-uri Equation Group sugerează că acestea fac parte din NSA.

Cercetătorii de la Kaspersky Lab au clasificat întreprinderile de la Equation Group drept cea mai avansată operațiune de hacking descoperită vreodată, documentând de asemenea aproximativ 500 de infecții cauzate de Equation Group în cel puțin 42 de țări.

Riscuri de securitate

Mark Shuttleworth , fondatorul companiei Canonical , care menține distribuția Ubuntu Linux , a descris firmware-ul proprietar drept un risc de securitate, spunând că „firmware-ul de pe dispozitivul dvs. este cel mai bun prieten al NSA ” și numind firmware-ul „un cal troian de monumental proporții ". El a afirmat că firmware-ul sursă închisă de calitate scăzută reprezintă o amenințare majoră pentru securitatea sistemului: „Cea mai mare greșeală a dvs. este să presupuneți că NSA este singura instituție care abuzează de această poziție de încredere - de fapt, este rezonabil să presupunem că toate firmware-urile sunt un depozit de nesiguranță, datorită incompetenței de cel mai înalt grad de la producători și competență de cel mai înalt grad dintr-o gamă foarte largă de astfel de agenții ". Ca o soluție potențială la această problemă, el a solicitat un firmware declarativ, care să descrie „legătura hardware și dependențe” și „nu ar trebui să includă cod executabil ”. Firmware-ul trebuie să fie open-source, astfel încât codul să poată fi verificat și verificat.

Hackurile de firmware personalizate s-au concentrat, de asemenea, pe injectarea de malware în dispozitive precum smartphone-uri sau dispozitive USB . O astfel de injecție smartphone a fost demonstrată pe sistemul de operare Symbian la MalCon , o convenție a hackerilor . Un hack al firmware-ului dispozitivului USB numit BadUSB a fost prezentat la conferința Black Hat SUA 2014 , demonstrând modul în care un microcontroler de unitate flash USB poate fi reprogramat pentru a falsifica diferite alte tipuri de dispozitive pentru a prelua controlul unui computer, a exfiltra date sau a spiona utilizatorul. Alți cercetători în domeniul securității au lucrat în continuare la modul de exploatare a principiilor din spatele BadUSB, eliberând în același timp codul sursă al instrumentelor de hacking care pot fi utilizate pentru a modifica comportamentul diferitelor dispozitive USB.

Vezi si

Referințe