Apple urmărește fiecare aplicație Mac pe care o rulați? OCSP explicat

Este adevărat că Mac-ul tău contactează serverele Apple de fiecare dată când deschizi o aplicație? Această acuzație a apărut după data de 12 octombrie 2020, când serverele Apple au întâmpinat dificultăți, iar Mac-urile mai noi aveau nevoie de un timp considerabil pentru a lansa aplicațiile. Vom analiza în detaliu ce se întâmplă.

Important de reținut: această situație afectează atât macOS Big Sur, cât și macOS Catalina. Problemele de performanță și preocupările legate de confidențialitate nu sunt un fenomen nou pentru macOS Big Sur.

Motivele pentru care aplicațiile de Mac sunt semnate cu certificate de dezvoltator

Pe un Mac, aplicațiile pe care le obții, indiferent dacă sunt din Mac App Store sau de pe internet, sunt marcate cu un certificat de dezvoltator. De fiecare dată când pornești o aplicație, sistemul verifică acest certificat pentru a se asigura că aplicația este autentică și nu a fost modificată. Acest proces are rolul de a te proteja împotriva programelor malițioase.

De exemplu, când Mozilla dezvoltă Firefox, generează un fișier al aplicației Firefox și apoi îl semnează cu certificatul Mozilla. Astfel, Mozilla atestă că fișierul este legitim și a fost creat de ei. Dacă fișierul aplicației este modificat ulterior, Mac-ul tău va detecta această modificare.

Aceste certificate au o perioadă de valabilitate limitată, de obicei câțiva ani, dar pot fi retrase anticipat. Spre exemplu, dacă Apple identifică un dezvoltator care folosește certificatul său pentru aplicații dăunătoare, certificatul va fi anulat. Mac-urile vor refuza să ruleze aplicații cu certificate anulate.

Înțelegerea OCSP: De ce Mac-ul tău „sună acasă”?

Dar cum află Mac-ul tău dacă Apple a anulat un certificat legat de o aplicație de pe Mac? Pentru a face această verificare, Mac-ul folosește un protocol denumit Online Certificate Status Protocol (OCSP). Acest protocol este utilizat și de browserele web pentru a verifica certificatele site-urilor pe care le vizitezi.

Atunci când deschizi o aplicație, Mac-ul tău trimite informații despre certificatul acesteia către un server Apple, la adresa ocsp.apple.com. Mac-ul tău întreabă acest server dacă certificatul a fost revocat. Dacă nu, aplicația este lansată. Dacă certificatul a fost anulat, aplicația nu va porni.

Cât de des se întâmplă această verificare?

Mac-ul tău reține aceste răspunsuri pentru un anumit timp. Pe 12 noiembrie 2020, răspunsurile erau memorate timp de cinci minute. Adică, dacă porneai o aplicație, o închideai și o redeschideai în patru minute, Mac-ul tău nu ar mai fi întrebat serverul Apple. Totuși, dacă redeschideai aplicația după șase minute, Mac-ul ar fi verificat din nou serverele Apple.

Indiferent de cauză, posibil din cauza modificărilor din macOS Big Sur, serverul Apple a fost copleșit pe 12 noiembrie 2020, devenind foarte lent. Răspunsurile au întârziat, iar lansarea aplicațiilor a durat mult, deoarece Mac-urile așteptau răspunsul serverului Apple.

După acest incident, serverul OSCP al Apple le spune acum Mac-urilor să păstreze răspunsurile legate de valabilitatea certificatelor timp de 12 ore. Mac-ul tău va contacta serverul Apple pentru a verifica un certificat de fiecare dată când lansezi o aplicație, cu excepția cazului în care a primit deja un răspuns în ultimele 12 ore. Aceste informații despre intervalele de timp provin de la dezvoltatorul de aplicații independent Jeff Johnson.

Ce se întâmplă când un Mac este offline?

Verificarea OCSP este concepută pentru a fi tolerantă la erori. Dacă ești offline, Mac-ul tău va omite verificarea și va lansa aplicațiile normal.

Același lucru este valabil dacă Mac-ul tău nu poate accesa serverul ocsp.apple.com, de exemplu, dacă adresa serverului a fost blocată la nivel de router. În această situație, Mac-ul omite verificarea și lansează aplicația imediat.

Problema din 12 noiembrie 2020 a fost că, deși Mac-urile puteau contacta serverul Apple, serverul însuși funcționa lent. În loc să renunțe la verificare și să lanseze aplicația, Mac-urile au așteptat mult timp răspunsul. Dacă serverul ar fi căzut complet, utilizatorii nu ar fi observat această problemă.

Care sunt riscurile legate de confidențialitate? Ce informații colectează Apple?

Există mai multe îngrijorări legate de confidențialitate pe care oamenii le-au ridicat. Acestea sunt detaliate în articolul hackerului și cercetătorului de securitate Jeffrey Paul.

Certificatele sunt asociate cu aplicațiile. Când Mac-ul tău contactează serverul OCSP, solicită informații despre un certificat care este asociat unei aplicații sau poate unui grup restrâns de aplicații. Tehnic vorbind, Mac-ul tău nu comunică Apple ce aplicație ai lansat. De exemplu, dacă lansezi Firefox, Apple află doar că ai pornit o aplicație dezvoltată de Mozilla. Aceasta ar putea fi Firefox sau Thunderbird, dar Apple nu știe care anume. Însă, dacă lansezi o aplicație semnată de Tor Project, Apple va ști cu o oarecare certitudine că ai deschis Tor Browser. Solicitările sunt legate de adrese IP și ore. Aceste solicitări sunt asociate cu o dată, o oră și adresa ta IP. Așa funcționează internetul. Adresa ta IP este legată de o anumită locație geografică. Fiecare solicitare OCSP îi indică Apple dezvoltatorul aplicației pe care o deschizi, zona ta generală și ora la care ai lansat aplicația. Lipsa criptării poate permite spionarea datelor. Protocolul OCSP nu este criptat. Nu numai Apple primește aceste informații, ci și oricine se află între tine și Apple poate vedea aceste date. Furnizorul tău de internet, administratorul de rețea de la locul de muncă sau chiar agenții de spionaj pot monitoriza traficul OSCP și pot obține toate aceste informații. Aceste solicitări trec printr-o rețea de distribuție de conținut (CDN) numită Akamai, ceea ce accelerează transferul, dar adaugă încă un intermediar care poate monitoriza traficul. Important de reținut: Mac-ul tău nu comunică Apple ce aplicație anume lansezi. În schimb, îi spune doar Apple care dezvoltator a creat aplicația. Desigur, mulți dezvoltatori fac o singură aplicație. Această distincție tehnică nu este întotdeauna relevantă.

Notă: Odată cu schimbarea modului de stocare în cache, Mac-ul tău nu mai contactează Apple la fiecare lansare a unei aplicații. O face doar la fiecare 12 ore în loc de 5 minute.

De ce procedează Mac-ul tău în acest mod?

După cum era de așteptat, motivul principal este securitatea. Mac-ul este o platformă mai deschisă decât iPad-ul sau iPhone-ul. Ai posibilitatea de a descărca aplicații de oriunde, nu doar din Mac App Store.

Pentru a proteja Mac-ul de malware – da, malware-ul pentru Mac a devenit mai frecvent – Apple a implementat această verificare de securitate. Dacă un certificat folosit pentru a semna o aplicație este anulat, Mac-ul tău poate refuza imediat să o deschidă. Aceasta oferă Apple posibilitatea de a bloca aplicațiile dăunătoare.

Poți bloca verificările OCSP?

Aceste verificări OCSP sunt concepute să eșueze rapid și silențios atunci când un Mac este offline sau nu poate accesa serverul ocsp.apple.com.

Astfel, este ușor să le blochezi: trebuie doar să împiedici Mac-ul tău să se conecteze la ocsp.apple.com. De exemplu, poți bloca această adresă pe router, astfel încât niciun dispozitiv din rețea să nu se poată conecta la ea.

Din păcate, se pare că Big Sur nu mai permite firewall-urilor software de pe Mac să blocheze procesul de încredere integrat al Mac-ului să acceseze servere la distanță, conform acestui tweet.

Atenție: dacă blochezi serverul ocsp.apple.com, Mac-ul tău nu va mai putea identifica momentul în care Apple revocă certificatul unui dezvoltator. Alegi să dezactivezi o funcție de securitate, ceea ce poate expune Mac-ul la riscuri.

Ce spune Apple și ce promite că va schimba?

Se pare că Apple a luat în considerare aceste critici. Pe 16 noiembrie 2020, compania a adăugat informații despre „protecții de confidențialitate” pentru Gatekeeper pe site-ul său.

În primul rând, Apple afirmă că nu a corelat datele din aceste certificate sau verificări de malware cu alte date personale. Compania promite că nu folosește aceste informații pentru a monitoriza ce aplicații lansează utilizatorii pe Mac-urile lor.

În al doilea rând, Apple subliniază că verificările certificatelor nu sunt legate de ID-ul tău Apple sau de alte informații specifice dispozitivului, cu excepția adresei tale IP. Apple spune că a oprit înregistrarea adreselor IP asociate cu aceste solicitări și le va elimina din bazele sale de date.

În următorul an, adică până la sfârșitul anului 2021, Apple promite următoarele modificări:

Înlocuirea OCSP cu un protocol criptat. Apple spune că va dezvolta un protocol criptat nou pentru a înlocui sistemul OCSP necriptat, pentru verificarea certificatelor dezvoltatorilor. Acest lucru va împiedica monitorizarea de către terți.
Eliminarea încetinirilor. Apple promite „protecții puternice împotriva defecțiunilor serverelor”. Adică, aplicațiile nu vor mai fi întârziate din cauza performanțelor slabe ale serverelor.
Oferirea de opțiuni utilizatorilor. Utilizatorii de Mac vor putea dezactiva aceste protecții de securitate și vor putea împiedica Mac-ul să verifice certificatele revocate.

În general, aceste modificări vor rezolva diverse probleme – terții nu vor mai putea monitoriza datele. Mac-urile vor trimite în continuare informații către Apple, care pot fi folosite pentru a urmări aplicațiile pe care le deschizi, dar Apple promite că nu va corela aceste informații cu tine. Încetinirile ar trebui să dispară odată cu rezolvarea problemelor de performanță a serverelor.

Cum va arăta acest protocol îmbunătățit? Apple nu a dezvăluit încă ce va înlocui OCSP. Cercetătorul de securitate Scott Helme sugerează că un sistem ca CRLite ar putea fi o soluție. Imaginează-ți dacă Mac-ul tău ar descărca un singur fișier de la Apple și l-ar actualiza regulat. Acest fișier ar conține o listă comprimată cu toate certificatele revocate. La fiecare lansare a unei aplicații, Mac-ul ar putea verifica fișierul, evitând verificările de rețea și problemele de confidențialitate.

Mac-ul tău transmite uneori hash-uri ale aplicațiilor către Apple

De asemenea, Mac-ul tău trimite uneori hash-uri ale aplicațiilor pe care le deschizi către serverele Apple. Acest lucru este diferit de verificările semnăturii OCSP și are legătură cu procesul de notarizare din Gatekeeper.

Dezvoltatorii pot încărca aplicații pe serverele Apple, unde sunt verificate pentru malware și, dacă par sigure, sunt „notarizate”. Aceste informații despre notarizare pot fi „atașate” în aplicație. Dacă un dezvoltator nu atașează informațiile în fișierul aplicației, Mac-ul va verifica serverele Apple la prima lansare a aplicației.

Această verificare se efectuează doar la prima lansare a unei anumite versiuni a aplicației, nu de fiecare dată când este deschisă. În plus, dezvoltatorii pot elimina această verificare online prin atașarea informațiilor de notarizare.

Mac-urile nu sunt singurele care fac acest lucru. De exemplu, computerele cu Windows 10 trimit adesea date despre aplicațiile descărcate către serviciul Microsoft SmartScreen pentru a verifica dacă sunt periculoase. Programele antivirus și alte aplicații de securitate pot trimite informații despre aplicațiile suspecte către compania de securitate.