Intr-un interviu acordat de catre @planetbeing companiei Forbes acesta relateaza detaliile si ceea ce inseamna Evasi0n, jailbreak si iPhone.
Toate acestea duc catre cel mai avansat sistem de operare din toata lumea, oferind utilizatorilor sai cea mai avansata platforma in materie de securitate, stabilitate si da vorbim de iOS ! De astazi il indragesc si mai mult.
Daca aveti 5 minute libere din timpul vostru si nu aveti ce face, cititi materialul de mai jos si nu veti regreta!
Urmeaza:
In lumea Apple tot timpul a fost dea joaca intre soarecele si pisica, adica iOS si jailbreak.
Astfel intr-o luni o echipa de hackeri s-au denumit @evad3rs si au lansat evasi0n, primul program de jailbreak care functioneaza pe iPhone 5 la fel de bine cum functioneaza si pe iPad 3, iPad Mini si cel mai important pe cea mai noua versiune de iOS adica 6.1 lansata de catre Apple cu 1 saptamana inainte, oferind posibilitatea utilizatorilor sa treaca de restrictile impuse in doar cateva minute.
In primele 6 ore de la lansare, evasi0n a fost folosit de 800.000 de ori conform spuselor lui @saurik (Jay Freeman, creatorul aplicatiei Cydia care din cauza traficului infernal nu a mai functionat), dupa care a inceput cu adevarat valul de accesari ajungand la un numar impresionant de vizualizari si descarcari. Astazi numarul a ajuns la 1.7 milioane.
La fiecare ultima aparitie in materie de iDevice, impreuna cu un sistem iOS complet optimizat si updatat in materie de securitate, este din ce in ce mai greu sa gasesti vulnerabilitati in acest sistem pentru a putea lansa o noua solutie de jailbreak. La fel ca si celelalte solutii, Evasi0n nu este o exceptie si este folosita si creata utilizand 5 vulnerabilitati in sistem, ne spune David Wang sub numele de @planetbeing. (ca si referinta el ne spune ca este mai mult decat Stuxnet, un malware conceput de NSA si Israel pentru a putea ataca sistemele nucleare ale Irakului prin sistemul de operare a celor de la Microsoft).
Si acum vom parcurge etapa cu etapa prin evasi0n.
- Evasi0n a inceput sa ruleze libimobiledevice, un program care inlocuieste iTunes si care comunica cu device-ul prin acelasi protocol ca si cel utilizat de Apple. Folosind acest program se poate exploata un bug in sistemul de backup care ofera acces la anumite setari la care in mod normal nu ar trebui sa avem acces, denumind un fisier care indica data si timpul afisat pe device.
- Programul de jailbreakÂă insereaza un “link simbolic” in acea zona a fisierului de timp, o scurtatura dintr-un loc al sistemului de operare intr-un alt loc. In acest caz link-ul duce la un “socket”, un canal restrictionat de comunicare intre diferite programe (@planetbeing le-a denumit “un fel de telefonul rosu de la Moscova”). Evasi0n altereaza “socket-ul” cu un program denumit Launch Daemon, prescurtat launchd, un proces de baza care ruleaza la inceputul bootari unui device si care poate rula diverse aplicatii care au nevoie de “rootarea” privilegiilor, dincolo de cele pe care un utilizator normal are acces. Astfel de fiecare data cand un iPhone sau iPad ruleaza un backup, automat ofera acces tuturor programelor in acea zona de fisiere, iar cu ajutorul gaselnitei link-urilor simbolice, se poate accesa launchd.
- Pe langa acestea iOS-ul are un sistem de siguranta care in mod normal previne foarte riguros orice aplicatie in a avea acces la launchd, denumit Code-signing. Aceasta restrictie are nevoie sa ruleze codul pe un device aprobat avand o semnatura Apple neutilizata. Astfel, Evasi0nÂă ruleaza o aplicatie care nu are nici un fel de cod: semnata sau nesemnata. In momentul in care utilizatorul atinge ecranul (mai exact aplicatia “Jailbreak” ce va aparea pe device) foloseste un truc denumit “shebang” (un fel de abracadrabra:) ) care poate scrie codul folosindu-se de o alta aplicatie semnata. In cazul de fata este vorba de launchd – care poate fi accesat datorita socket-ului modificat adineauri – folosindu-l pentru a rula comanda “remount” care schimba memoria din starea read-only in writable.
- Acum sistemul de baza (root) este writable, evasi0n modificand un fisier denumit launchd.conf care altereaza configuratia lui launchd astfel incat modificarile facute de evasi0n sa fie repetate de fiecare data cand ruleaza. Din acest motiv solutia de jailbreak este permanenta: In acest caz nu este nevoie ca de fiecare data utilizatorul sa foloseasca un cablu USB pentru a porni device-ul.
- Dupa toate acestea modificari, un device nu este jailbroken pana cand restrictiile nu sunt indepartate din Ã‚ă “kernel” – un fel de inima a iOS-ului – care previne rularea aplicatiilor neverificate folosind un proces Apple Mobile File Integrity Daemon (AMFID). Deci Evasi0n foloseste launchd pentru a incarca niste functii dintr-o librarie in AMFID de fiecare data cand programul porneste si il da peste cap astfel de fiecare data sa returneze valoarea “approved”. E normal ca si @planetbeing sa nu ii explice exact procesul sau modul de atac al lui AMFID, spunand “Apple poate singura sa isi dea seama”.
- iOS-ul are si el o protectie pentru a prevenit atacurile pentru alternarea memoriei in “inima” sistemului de operare, denumit si Address Space Layout Randomization sau ASLR. Acest truc muta locatia codului device-ului intr-o memorie flash la o distanta certa, diferita de fiecare data cand pornea device-ul facand scrierea doar partiala a codului sursa. Dar, Evasi0n foloseste alocarea memoriei printr-un truc care ofera un “loc” in memorie fiind greu de ascuns in cazul chipurilor ARM, cunoscut sub numele de Vectorul Exceptie in ARM. Aceasta parte a kernelului inregistreaza toate crash-urile, raportarile in memorie si locul unde s-a intamplat. Aici intervine Evasi0n care simuleaza un crash, iar apoi verifica vectorul exceptie in ARM pentru a vedea locatia exacta si pentru a afla destule informatii pretioase din memoria kernel-ului.
- In momentul in care reusesti sa invingi ASLR-ul, jailbreak-ul foloseste ultimul bug al iOS prin interfata USB care schimba adresa in memoria kernel-ului intr-un program care asteapta sa treaca de el neatins.
- In acest moment Evasi0n are posibilitatea sa scrie oriunde doreste in “inima” iOS-ului (numit kernel). IN MOMENTUL IN CARE AI PATRUN IN KERNEL, NICI O SECURITATE NUMAI CONTEAZA, ne spune @planetbeing. Atunci poti zice usurat “AM INVINS”
WOW !
Nu pot spune nimic, momentan am ramas fara cuvinte, am savurat fiecare cuvant din interviul pe care reporterulÂă Andy GreenbergÂă i l-a luat lui David Wand (@planetbeing) unul din dezvoltatorii aplicatiei Evasi0n prin care reusim sa facem jailbreak oricarui device al celor de la Apple.
Povestea este fascinanta, iar traducand tot acest interviu, cuvant cu cuvant, pot spune ca am intrat in pielea lui si mi-am imaginat ce poate exista in acest COMPLEX sistem de operare sub numele iOS dezvoltat de Apple si care lasa de fiecare data cate o portita deschisa pentru ca noi utilizatorii sa putem beneficia de un singur lucru: JAILBREAK!
Sursa: Forbes
0 Comentarii