această carte albă de securitate a fost publicată anterior pe wickr.com/security de Chris Howell, Wickr CTO
Apr 20, 2018 · 7 min read
securitatea Wickr este construită pe conceptul unui server de încredere. Cu alte cuvinte, ne propunem să oferim securitate chiar și în cazul unei încălcări a serverului „cel mai rău caz”, în care un atacator omnipotent are control deplin asupra resurselor serverului, pentru a include capacitatea de a citi și modifica codul și datele aplicației back-end și de a rămâne nedetectat de ceva timp.
experții terți au verificat continuu criptarea și securitatea noastră end-to-end de la început. Ca parte a promisiunilor noastre de securitate pentru clienți lansate recent, o firmă independentă de securitate independentă a validat că conținutul mesajului nu poate fi citit pe componentele serverului nostru back-end. Această lucrare examinează problema securității și compromisului serverului în sens mai larg. Acesta rezumă elementele cheie ale arhitecturii de securitate Wickr care oferă rezistență la compromisul serverului back-end și discută evenimentul în ceea ce privește capacitățile reale ale atacatorului sau impactul din lumea reală.
obiectivele atacatorului
pentru a înțelege ce poate face un atacator cu un compromis de server Wickr , trebuie să înțelegem rolul serverului în arhitectura Wickr și să luăm în considerare valoarea datelor conținute în componentele și bazele de date back end. Serverul Wickr joacă un rol cheie în livrarea mesajelor în sprijinul comunicării sincrone și asincrone. De asemenea, oferă servicii centralizate de directoare de utilizatori, seturi de permisiuni și sincronizare de profil și setare.
atacurile care încearcă să exploateze serverul Wickr pot fi, în general, clasificate după cum urmează:
- atacuri care vizează securitatea mesajelor sau accesarea conținutului mesajului în text clar;
- atacuri care vizează informații și metadate sau colectarea și armarea informațiilor sensibile despre sistem sau utilizatorii săi;
- atacuri care vizează disponibilitatea sau distrugerea datelor.
discutăm fiecare tip de atac în secțiunile care urmează.
securitatea mesajelor
prin compromiterea serverului, atacatorul obține acces la mesaje criptate, precum și la grupuri de chei efemere publice . Cu toate acestea, mesajele sunt criptate end-to-end și atât mesajele criptate, cât și cheile din bazinele de chei sunt autentificate end-to-end. Aceasta înseamnă că atacatorii nu au capacitatea de a citi sau modifica mesajele criptate pe măsură ce trec prin server și nu pot manipula bazinele cheie pentru a executa atacurile man in the middle.cu aceste protecții în vigoare, atacatorii care speră să obțină acces la conținutul mesajului trebuie să încerce să preia controlul asupra unei identități Wickr. Identitățile Wickr sunt înrădăcinate în perechi de chei asimetrice care sunt utilizate pentru a semna și verifica Digital datele. Încrederea este stabilită prin verificarea lanțului de semnături de la un anumit obiect sau componentă criptografică la identitatea rădăcină sau utilizator (de exemplu, mesaj către aplicație, Aplicație către utilizator).
pentru a produce o cheie autentică (sau un mesaj), un atacator ar trebui să facă una dintre următoarele acțiuni:
1. Obțineți componenta privată a cheii de identitate a unui utilizator, care ar putea fi utilizată pentru autentificarea aplicațiilor Wickr conectate în cont.
2. Obțineți componenta privată a cheii de identitate a unei aplicații, care ar putea fi utilizată pentru a produce chei de mesagerie efemere autentice și pentru a autentifica mesajele trimise din aplicație.
3. Păcăliți un utilizator să accepte o cheie de identitate falsă pentru un utilizator țintă, ceea ce ar avea același efect ca obținerea cheii de identitate existente a utilizatorului.
componentele private ale cheilor de identitate ale aplicației sunt securizate într-un depozit de date criptat din partea clientului și la îndemâna unui atacator din partea serverului. Componentele publice sunt stocate pe server, dar sunt semnate de cheia de identitate (privată) a utilizatorului, protejându-le de manipulare. Păcălirea utilizatorilor să accepte chei de identitate false este mai mult un atac de inginerie socială decât un atac tehnic și nu are prea multe de-a face cu un punct de sprijin din partea serverului . Prin urmare, capacitatea atacatorului de pe server de a compromite o sursă de autenticitate-și de fapt singura lor cale tehnică de atac pentru a afecta securitatea mesajelor — se reduce la capacitatea lor de a compromite cheia de identitate a unui utilizator.
Din diverse motive legate în principal de gradul de utilizare a sistemului, cheile de identitate ale utilizatorului sunt stocate pe serverul Wickr și securizate cu criptare simetrică puternică. Protejarea acestor date este în cele din urmă o cheie de 256 de biți, care este un derivat criptografic puternic al parolei utilizatorului. Această cheie nu este niciodată stocată sau trimisă la server, astfel încât un atacator care încearcă să compromită cheia de identitate a unui utilizator ar trebui să efectueze un atac de ghicire a parolei împotriva versiunii stocate folosind un algoritm generator de derivate de parolă care este special conceput pentru a face procesul cât mai consumator de resurse și timp posibil. Pentru parolele non-banale, ne-am putea aștepta ca acest proces să dureze mulți ani până la chiar multe mii sau milioane de ani dacă utilizatorul alege pur și simplu o parolă de calitate de doar 8 caractere. Pentru a compromite mai multe conturi, atacatorul ar trebui să cheltuiască același efort din nou și din nou. Acest nivel de protecție înseamnă că atacurile din partea serverului împotriva cheilor de identitate ale utilizatorului sunt imposibile împotriva tuturor conturilor, cu excepția celor mai slabe. Vezi cartea albă a lui Wickr privind protecția prin parolă.
informații și metadate
cu controlul serverului Wickr, atacatorul are acces la orice informație pe care serviciul o are despre utilizatorii săi. În proiectarea pentru această amenințare, Wickr limitează cantitatea de informații despre utilizator pe care o stocăm la ceea ce este minim necesar pentru a oferi servicii de calitate. Următoarea este o listă a informațiilor contului de utilizator disponibile serviciilor Wickr la momentul scrierii acestui articol:
Wickr Me:
- Data creării unui cont
- tipul dispozitivului(dispozitivelor) pe care a fost utilizat acest cont (de exemplu, iOS, Android)
- Data ultimei utilizări
- numărul Total de mesaje trimise/primite
- numărul ID-urilor externe (numere de telefon) conectate la cont (nu id-uri externe în text simplu)
- înregistrări limitate ale modificărilor recente ale setărilor contului (de exemplu, adăugarea sau eliminarea unui dispozitiv; nu include conținutul mesajului sau informații de rutare și livrare)
- Numărul versiunii Wickr
Wickr Pro:
- Wickr Pro ID (adresa de e-mail)
- afiliere la rețea
- număr de telefon, dacă este furnizat de administratorul de rețea ca a doua formă de autentificare
- data creării unui cont
- tipul dispozitivului(dispozitivelor) pe care a fost utilizat un cont
- Data ultimei utilizări
- numărul Total de mesaje trimise/primite
- Numărul de ID-uri externe (numere de ID-urile externe plaintext în sine)
- înregistrări limitate ale modificărilor recente ale setărilor contului (de exemplu, adăugarea sau eliminarea unui dispozitiv; nu include conținutul mesajului sau informații de rutare și livrare)
- Numărul versiunii Wickr
- informații legate de plată
- Setări de rețea, inclusiv înregistrări limitate ale modificărilor recente ale setărilor de rețea (de exemplu, activarea sau dezactivarea Federației)
Wickr Enterprise (implementare controlată de client):
- Wickr Enterprise ID (mâner)
- afilierea la rețea
- data creării unui cont
- tipul dispozitivului(dispozitivelor) pe care a fost utilizat un cont
- Data ultimei utilizări
- numărul Total de mesaje trimise/primite
- înregistrări limitate ale modificărilor recente ale setărilor contului (de exemplu, adăugarea sau eliminarea unui dispozitiv; nu include conținutul mesajului sau informații de rutare și livrare)
- numărul versiunii Wickr
- Setări de rețea, inclusiv înregistrări limitate ale modificărilor recente ale setărilor de rețea (de ex., activarea sau dezactivarea Federației)
cele de mai sus ar fi, prin urmare, expuse riscului de divulgare în cazul unui compromis al serverului. Orientările noastre privind procesele juridice și Politica de confidențialitate conțin discuții mai detaliate despre modul în care limităm colectarea și utilizarea informațiilor despre utilizatori pe platforma noastră.
controlul serverului oferă, de asemenea, unui atacator capacitatea de a colecta informații și metadate pe care serviciul le ignoră. Cele mai bune două exemple în acest sens în Wickr sunt adresele IP ale clienților și urmărirea mesajelor.
Wickr ca serviciu este complet neinteresat de adresa IP a clienților Wickr. Nu le înregistrăm în jurnalele de aplicații de configurare standard sau nu le stocăm în înregistrările utilizatorilor. Cu toate acestea, acestea sunt disponibile pentru anumite componente ale infrastructurii back-end și, presupunând că atacatorul controlează componenta potrivită și efectuează analiza corectă a traficului și a corelației, aceste informații ar fi în pericol.
Wickr este, de asemenea, neinteresat de cine comunică cu cine în rețea. Nu înregistrăm aceste informații în jurnalele de aplicații de configurare standard. Cu toate acestea, presupunând că atacatorul investește o cantitate suficientă de timp și efort în acest proces, numărul, orele, tipurile de mesaje trimise și primite și ID-urile Wickr sursă și destinatar ar fi în pericol. ID-urile Wickr în text clar nu sunt disponibile în magazinele de date Wickr Me, astfel încât acest tip de analiză ar fi mult mai dificil (deși nu imposibil) de făcut în Wickr Me.
disponibilitate
deși poate nu este cea mai interesantă formă de atac pe care ne-o putem imagina împotriva unui serviciu de mesagerie securizat, atacurile care vizează disponibilitatea serviciilor au șanse foarte reale și impacturi destul de evidente. Nu există multe de discutat pe această temă în acest document, în afară de a recunoaște riscul, dar un atacator cu controlul serverelor Wickr ar avea puterea de a dezactiva serviciile și de a șterge datele, indiferent dacă pur și simplu provoacă haos sau refuză serviciul utilizatorilor legitimi.
rezumat
sperăm că această lucrare a fost informativă pentru clienții care doresc să înțeleagă impactul real al unei încălcări a serverului Wickr. În concluzie, un astfel de eveniment, dacă este exploatat de un adversar capabil, ar putea pune în pericol următoarele:
1. Securitatea mesajelor viitoare ale conturilor cu parole slabe.
2. Confidențialitatea informațiilor și metadatelor contului limitat.
3. Disponibilitatea serviciilor.
alegeți parole de calitate.
dacă se utilizează parole de calitate, un compromis al serverului Wickr (cunoscut sau necunoscut) poate fi considerat un eveniment cu impact redus sau fără impact.
luați în considerare rekeying periodice.
crearea periodică a unei noi perechi de chei și re-verificarea cu alții (de exemplu, anual, semestrial) poate reduce și mai mult riscul unui atac de ghicire a parolei de succes pentru a compromite cheia de identitate a unui utilizator. Este, de asemenea, o metodă eficientă de reabilitare a unui cont de utilizator care credeți că a fost deja compromis prin ghicitul parolei sau compromisul clientului. Utilizatorii își pot rekey contul completând fluxul ‘Parolă uitată’ în Wickr Pro și Wickr Enterprise sau creând un nou ID în Wickr Me.