Vulnerabilități ale implementărilor criptografice din terminalele mobile cu iOS și Android

2016/03/07
Popularitate 988

Foto:

O echipă de cercetători ce provin de la Universitatea din Tel Aviv, Techion și Universitatea din Adelaide a descoperit o modalitate prin care un atacator poate fura chei de criptare folosite pentru protejarea conturilor de tip wallet (portofel): Bitcoin, Apple Pay, dar și alte servicii sensibile din cadrul sistemelor de operare Android și iOS.

Exploatarea este descrisă de către criptografi ca un atac non invaziv de tip side-channel[1] care funcționează împotriva algoritmului Eliptic Curve Digital Signature, un sistem de criptare folosit la scară largă deoarece este mult mai rapid decât celelalte.

Prin plasarea unui dispozitiv lângă un terminal mobil care inițiază operațiuni criptografice, un atacator poate măsura destule emisii electromagnetice astfel încât să poată extrage în cele din urmă cheia secretă de autentificare a utilizatorului sau cea utilizată pentru tranzacțiile financiare. Același lucru poate fi realizat prin folosirea unui adaptor conectat la cablul de încărcare via USB.

“Un atacator poate măsura printr-o metodă non intruzivă aceste efecte fizice, prin folosirea unui dispozitiv magnetic de doar 2 USD plasat în apropierea terminalului, sau prin intermediul unui adaptor USB improvizat ce se conectează la cablul USB al telefonului și o placă de sunet externă, cu conectivitate USB. Folosind astfel de măsurători, am reușit să extragem chei din OpenSSL și CoreBitcoin, ambele de pe dispozitive cu iOS. În același timp am observat o scurgere parțială a cheilor din Open SSL ce rulează pe Android sau din Common Crypto de pe iOS”, au declarat cercetătorii.

 

Impact

Sunt afectați acei utilizatori care folosesc încă versiuni mai vechi ale iOS, mai exact de la iOS 7.1.2 până la 8.3. Varianta curentă de iOS (9.x) nu pare a fi vulnerabilă deoarece a implementat un sistem de apărare împotriva atacurilor de tip side-channel. Cu toate acestea, și acei utilizatori ce folosesc variante mai actualizate ale iOS pot fi afectați dacă utilizează aplicații vulnerabile.

Una dintre acestea este aplicația CoreBitcoin, utilizată pentru protejarea ”portofelelor” Bitcoin pe iPhone sau iPad. Deoarece folosește propria implementare criptografică și nu librăria iOS CommonCrypto, această aplicație este vulnerabilă în cazul unui atac ce vizează extragerea cheilor. Dezvoltatorii CoreBitcoin au dezvăluit cercetătorilor recent că vizează înlocuirea librăriei cu una care nu este susceptibilă atacurilor de acest tip.

Totodată, ambele versiuni 1.0.x și 1.1.x ale librăriei Open SSL sunt vulnerabile la astfel de atacuri, cu excepția situației în care sunt compilate pentru procesoare x86-64, cu opțiunea non-deafault bifată, sau atunci când rulează o opțiune specială disponibilă pentru CPU-urile ARM. Cercetătorii au dezvăluit faptul că au raportat vulnerabilitatea către dezvoltatorii OpenSSL, iar răspunsul acestora din urmă a fost că atacurile side-channel nu fac parte din lista de amenințări de luat în considerare. Pentru o documentare completă, în special din punct de vedere tehnic, recomandăm lecturarea completă a studiului de la adresa:

https://www.cs.tau.ac.il/~tromer/mobilesc/mobilesc.pdf.     

 

Remediere

Momentan, pentru a avea succes, un atacator are nevoie de acces fizic prin cablu sau printr-un dispozitiv în proximitatea terminalului țintă vulnerabil. Perioada de timp necesară extragerii cheilor depinde de specificul aplicației vizate de atac.

Cu toate acestea, atacul poate deveni lipsit de orice rezultat practic atât timp cât deținătorii terminale mobile inspectează cu atenție cablurile USB înainte de a le conecta sau caută să detecteze eventuale dispozitive suspecte în apropiere.

Așadar, cel mai sigur pas pentru reducerea impactului acestei vulnerabilități de către utilizator este actualizarea sistemului de operare (iOS sau Android) și evitarea aplicațiilor vulnerabile.

Surse:

http://arstechnica.com/security/2016/03/new-attack-steals-secret-crypto-keys-from-android-and-ios-phones/

http://thehackernews.com/2016/03/encryption-keys-android.htmlc

https://www.cs.tau.ac.il/~tromer/mobilesc/mobilesc.pdf

 

[1] Atac bazat pe informația obținută de la implementarea fizică a unui sistem criptografic, mai degrabă decât printr-un atac de tip bruteforce sau prin detectarea unor erori ale algoritmului de criptrare.