em Posted December 25, 2013 Report Posted December 25, 2013 (edited) Când ne referim la PC-uri, smartphone-uri, ma?ini - în general presupunem c? vorbim de un singur sistem de operare. O singura bucat? de software care are grij? de toate componentele hardware, de la CPU la USB pân? la adaptorul wireless. Dac? sistemul d? o eroare, în 99% din cazuri vom da vina pe sistemu de operare sau pe un driver. În orice manual de CS, calculatorul este descris din 3 mari blocuri: hardware, sistemul de operare ?i software-ul din user space. Utilizatorul de rând nu are idee c? de fapt orice computer ruleaz? în paralel mai multe sisteme de opeare care se ocup? de diferite buc??ele din hardware - ?i îngrijor?tor, aceste sisteme de operare sunt de obicei proprietare, closed-source, susceptibile la buguri ?i de cele mai multe ori au acces la datele utilizatorului.S? lu?m smartphone-ul, de exemplu. Avem de-a face cu un sistem de operare primar - Android, iOS, Windows Phone - dar mai avem de-a face cu înc? cel pu?in dou? sisteme de operare: Baseband OS ?i SIM card OS - amândou? rulând pe propriul procesor separat de SoC-ul[1] telefonului. De fiecare dat? când porni?i telefonul, aceste sisteme de operare ruleaz?, având grij? de propriile domenii. Când trimite?i sau primi?i un apel, el este de fapt pasat c?tre baseband OS, care se ocup? cu toate detaliile complicate ale protocoalelor GSM, UMTS, HSPDA, LTE etc. Când ave?i nevoie de date de pe cartela SIM, Java Card - care are control exclusiv alte datelor criptate de pe SIM - preia controlul.(Imagine cu un SIM desf?cut. CPU în mijloc care ruleaz? OS-ul simului).La prima vedere, totul poate p?rea un mod extrem de sensibil de a face lucrurile - dar trebuie avut în vedere c? exist? multe device-uri hardware într-un sistem modern ?i ar fi destul de greu pentru cineva ca Google sau Apple s? creeze solu?ii optime pentru toate permut?rile posibile. În plus, mai este o problem? ce ?ine de eficien??, dac? avem mai multe task-uri care ruleaz? în paralel - este bine c? baseband OS ?i procesorul s?u aferent se pot ocupa de trimiterea/primirea de date GSM las?nd SoC-ul telefonului liber pentru a face alte lucruri, cum ar fi datul de like-uri pe facebook sau ascultarea de manele la maxim în metrou. În teorie, o astfel de încapsulare este ?i mai sigur?. Nu ar exista niciun motiv ra?ional pentru ca cineva din userspace s? acceseze baseband-ul sau cartela SIM ?i o asemenea encapsulare ar trebui s? previn? hackerii/malware s? p?trunde în acele regiuni sigure.În practic?, totu?i, acele sisteme de operare (SIM/baseband) sunt adesea implementate într-o maniera nesigur?. Pentru început, este important de ?tiut c? aproape toate aceste sisteme de operare sunt closed-source, dezvoltate de produc?torii de hardware (Qualcomm, Broadcom, Realtek, etc.). Deoarece dezvoltatorii nu au un motiv legitim pentru a accesa acele resurse, exist? foarte pu?in? documenta?ie despre cum functioneaz? aceste sisteme de operare. Mai mult de cât atât, potrivit Thom Holwerda at OS News, aceste sisteme de operare sunt de cele mai multe ori învechite ?i pline de functionalit??i antice ?i nesigure. To?i ace?ti factori însuma?i fac ca aceste sisteme de operare secundare s? fie extrem de nesigure.Am vrea s? v? d?m exemplu de un sistem de operare secundare, dar nu exist? aproape nicio informa?ie public? despre aceste. Cel mai bun exemplu cu care putem veni este Qualcomm REX OS, care ruleaz? pe procesoarele companiei înc? din 1999. Exist? indicii c? Qualcomm a renun?at la REX OS în 2012, dar este greu de adus probe concrete. REX OS este un sistem de operare în timp real[2], care ruleaz? pe procesoarele ARMv5. Acest procesor (adic? ?i REX OS) au acces direct la hardware-ul telefonului (microfon, speaker) plus posibilitatea de a scrie în accea?i memorie ca ?i SoC (procesorul principal al telefonului). REX OS este bazat pe un cod foarte vechi, din anii '90, dar implementeaz? ?i multe standarde din anii '80. ?tim toate aceste informa?ii, deoarece un hacker a f?cut reverse engineering pe REX OS.Dup? cum probabil a?i ghicit, a avea o mare bucat? de cod closed-source care implementeaz? standarde foarte vechi este o idee foarte rea. Holwerda spune c? REX OS execut? în mod automat orice comenzi prime?te over-the-air (de la sta?ia GSM) - ?i da, în caz de v? întreba?i - aceste comenzi pot modifica starea telefonului - cum ar fi pornirea de r?spuns automat la apeluri, execu?ia de cod arbitrar sau pur ?i simplu brickuirea telefonului. În teorie, v-a?i putea contrui propria sta?ie GSM (cu software-defined-radio) ?i controla telefoanele celor din jur. Când auzi?i de un nou jailbreak de iphone din cauza unui exploit baseband, înseamn? c? hackerii au g?sit un bug în baseband OS care le d? acces elevat la restul device-ului.Acesta este doar un mic exemplu de OS secundar. La fel cum am men?ionat mai devreme, SIM-ul are de asemenea un mic procesor care ruleaz? un kernel [3] capabil de a rula aplica?ii java (Sistemul de operare al cartelelor SIM a fost spart, de asemenea). Dac? calculatorul dvs are o zon? de stocare sigur? (cum ar fi TrustZone), cel mai probabil ave?i un procesor ?i un sistem de operare separat acolo. Datorit? m?rimii foarte mici ale procesoarelor ARM (plus lipsa de documenta?ie) este foarte greu de spus câte sisteme de operare ruleaz? pe un sistem în paralel. Dac? NSA ar vrea s? porneasc? un atac global asupra smartphone-urilor din întreaga lume, cel mai probabil ar porni de la baseband OS.Singura solu?ie real? la aceast? problem? este îndep?rtarea de hardware ?i software closed source. Exist? indincii c? unii produc?tori ar trece la solu?ii open source (cum ar fi OKL4) dar înc? o dat?, nu sunt date sigure. Corpora?ii mari ca Qualcomm nu vor documenta niciodat? buc??i de cod interne. În concluzie, fi?i con?tien?i c? smartphone-ul pe care îl folosi?i acum ar putea rula mai multe sisteme de operare - extrem de nesigure ?i nu pute?i face nimic în privin?a asta.[1] - System on a chip - Wikipedia, the free encyclopedia[2] - Real-time operating system - Wikipedia, the free encyclopedia[3] - Kernel (computing) - Wikipedia, the free encyclopediaSursa (c/p) : http://www.extremetech.com/computing/170874-the-secret-second-operating-system-that-could-make-every-mobile-phone-insecure Edited December 25, 2013 by em 1 Quote