Backdoor (calcul) - Backdoor (computing)

O ușă din spate este o metodă de obicei ascunsă de ocolire a autentificării sau criptării normale într-un computer , produs, dispozitiv încorporat (de exemplu, un router de acasă ) sau întruchiparea acestuia (de exemplu, parte a unui criptosistem , algoritm , chipset sau chiar un „computer homunculus” - un mic computer în interiorul unui computer, cum ar fi cel găsit în tehnologia Intel AMT ). Portierele din spate sunt cele mai des utilizate pentru securizarea accesului la distanță la un computer sau pentru obținerea accesului la text simplu în sistemele criptografice . De acolo, acesta poate fi folosit pentru a obține acces la informații privilegiate, cum ar fi parole, pentru a corupe sau a șterge date de pe hard disk-uri sau pentru a transfera informații în rețele autoschedentice.

Un backdoor poate lua forma unei părți ascunse a unui program, a unui program separat (de exemplu, Back Orifice poate subverti sistemul printr-un rootkit ), cod în firmware-ul hardware-ului sau părți ale unui sistem de operare, cum ar fi Windows . Caii troieni pot fi folosiți pentru a crea vulnerabilități într-un dispozitiv. Un cal troian poate părea a fi un program complet legitim, dar atunci când este executat, declanșează o activitate care poate instala o ușă din spate. Deși unele sunt instalate în secret, alte uși din spate sunt deliberate și cunoscute pe scară largă. Aceste tipuri de uși din spate au utilizări „legitime”, cum ar fi furnizarea producătorului cu o modalitate de a restabili parolele utilizatorului.

Multe sisteme care stochează informații în cloud nu reușesc să creeze măsuri de securitate precise. Dacă multe sisteme sunt conectate în cloud, hackerii pot avea acces la toate celelalte platforme prin intermediul celui mai vulnerabil sistem.

Parolele implicite (sau alte acreditări implicite) pot funcționa ca ușile din spate dacă nu sunt modificate de utilizator. Unele caracteristici de depanare pot acționa și ca portiere din spate dacă nu sunt eliminate în versiunea de lansare.

În 1993, guvernul Statelor Unite a încercat să implementeze un sistem de criptare , cipul Clipper , cu un backdoor explicit pentru aplicarea legii și accesul la securitatea națională. Cipul nu a reușit.

Prezentare generală

Amenințarea ușilor din spate a apărut atunci când sistemele de operare multi-utilizator și în rețea au devenit adoptate pe scară largă. Petersen și Turn au discutat despre subversiunea computerului într-o lucrare publicată în lucrările Conferinței AFIPS din 1967. Aceștia au remarcat o clasă de atacuri de infiltrare activă care utilizează puncte de intrare „trapdoor” în sistem pentru a ocoli facilitățile de securitate și a permite accesul direct la date. Utilizarea cuvântului trapdoor aici coincide în mod clar cu definiții mai recente ale unei portiere din spate. Cu toate acestea, de la apariția criptografiei cu cheie publică , termenul trapdoor a căpătat un alt sens (a se vedea funcția trapdoor ) și, prin urmare, termenul „backdoor” este acum preferat, numai după ce termenul trapdoor a ieșit din uz. Mai general, astfel de încălcări ale securității au fost discutate pe larg într-un raport al grupului de lucru RAND Corporation publicat sub sponsorizarea ARPA de către JP Anderson și DJ Edwards în 1970.

O ușă din spate într-un sistem de conectare ar putea lua forma unei combinații codate de utilizator și parolă care oferă acces la sistem. Un exemplu de acest tip de ușă din spate a fost folosit ca dispozitiv de complot în filmul WarGames din 1983 , în care arhitectul sistemului de calcul " WOPR " a introdus o parolă codificată, care a permis utilizatorului acces la sistem și la părți nedocumentate ale sistem (în special, un mod de simulare asemănător unui joc video și interacțiunea directă cu inteligența artificială ).

Deși numărul de backdoor-uri din sistemele care utilizează software proprietar (software al cărui cod sursă nu este disponibil public) nu este creditat pe scară largă, acestea sunt totuși frecvent expuse. Programatorii au reușit chiar să instaleze în secret cantități mari de cod benign ca ouă de Paște în programe, deși astfel de cazuri pot implica îngăduință oficială, dacă nu chiar permisiunea reală.

Politică și atribuire

Există o serie de considerații legate de mantie și pumnal care intră în joc atunci când împărțim responsabilitatea.

Ușile din spate ascunse se maschează uneori ca defecte involuntare (bug-uri) din motive de negare plauzibilă . În unele cazuri, acestea ar putea începe viața ca o eroare reală (eroare involuntară), care, odată descoperită, este lăsată în mod deliberat nesoluționată și nedivulgată, fie de către un angajat necinstit pentru avantaj personal, fie cu conștientizarea și supravegherea executivului la nivel C.

De asemenea, este posibil ca baza tehnologică a unei corporații complet superioare să fie afectată în mod ascuns și intrăbil de agenți externi (hackeri), deși se crede că acest nivel de sofisticare există în principal la nivelul actorilor statului național. De exemplu, dacă o mască foto obținută de la un furnizor de mască foto diferă în câteva porți de specificația sa de mască foto, un producător de cipuri ar fi apăsat să detecteze acest lucru dacă altfel este silențios din punct de vedere funcțional; un rootkit ascuns care rulează în echipamentul de gravat cu fotomască ar putea promulga această discrepanță, necunoscut producătorului de fotomascare, și prin astfel de mijloace, o ușă din spate poate duce la alta. (Acest scenariu ipotetic este în esență o versiune de siliciu a backdoor-ului compilatorului nedetectabil, discutată mai jos.)

În termeni generali, lungele lanțuri de dependență din economia tehnologică modernă, extrem de specializată și nenumăratele puncte de control ale proceselor de elemente umane fac dificilă identificarea concludentă a responsabilității în momentul în care devine dezvăluită o ușă de spate ascunsă.

Chiar și recunoașterea directă a responsabilității trebuie examinată cu atenție dacă partea care mărturisește este supusă altor interese puternice.

Exemple

Viermi

Mulți viermi de computer , cum ar fi Sobig și Mydoom , instalează un backdoor pe computerul afectat (în general un computer pe bandă largă care rulează Microsoft Windows și Microsoft Outlook ). Astfel de ușile din spate par a fi instalate, astfel încât spammerii să poată trimite e-mailuri nedorite de pe mașinile infectate. Altele, cum ar fi rootkit-ul Sony / BMG , plasat în secret pe milioane de CD-uri muzicale până la sfârșitul anului 2005, sunt concepute ca măsuri DRM - și, în acest caz, ca agenți de colectare a datelor , deoarece ambele programe subreptare pe care le-au instalat au contactat în mod obișnuit servere centrale.

O încercare sofisticată de a planta o ușă din spate în nucleul Linux , expusă în noiembrie 2003, a adăugat o modificare mică și subtilă a codului prin subversarea sistemului de control al reviziilor . În acest caz, a apărut o modificare pe două linii pentru a verifica permisiunile de acces root ale unui apelant la sys_wait4funcție, dar, deoarece a folosit atribuirea =în loc de verificarea egalității ==, a acordat de fapt permisiuni sistemului. Această diferență este ușor de trecut cu vederea și ar putea fi chiar interpretată ca o eroare tipografică accidentală, mai degrabă decât ca un atac intenționat.

Marcat în galben: parola de administrare backdoor ascunsă în cod

În ianuarie 2014, a fost descoperit un backdoor în anumite produse Samsung Android , cum ar fi dispozitivele Galaxy. Versiunile Android deținute de Samsung sunt echipate cu un spate care oferă acces la distanță la datele stocate pe dispozitiv. În special, software-ul Samsung Android, care se ocupă de gestionarea comunicațiilor cu modemul, utilizând protocolul Samsung IPC, implementează o clasă de cereri cunoscute sub numele de comenzi de la serverul de fișiere la distanță (RFS), care permit operatorului din spate să efectueze via modem la distanță Operații I / O pe hard diskul dispozitivului sau alt spațiu de stocare. Întrucât modemul rulează software-ul de proprietate Android Samsung, este probabil să ofere o telecomandă over-the-air care ar putea fi apoi utilizată pentru a emite comenzile RFS și, astfel, pentru a accesa sistemul de fișiere de pe dispozitiv.

Cod obiect obiect în spate

Mai ușor de detectat ușile din spate implică modificarea codului obiectului , mai degrabă decât codul sursă - codul obiectului este mult mai greu de inspectat, deoarece este conceput pentru a fi citit de mașină, nu de citire umană. Aceste portiere din spate pot fi inserate fie direct în codul obiectului de pe disc, fie inserate la un moment dat în timpul compilării, asocierii sau încărcării - în acest din urmă caz, portiera din spate nu apare niciodată pe disc, doar în memorie. Ușile din spate ale codului obiectului sunt dificil de detectat prin inspecția codului obiectului, dar sunt ușor de detectat prin simpla verificare a modificărilor (diferențelor), în special în lungime sau în suma de control și, în unele cazuri, pot fi detectate sau analizate prin dezasamblarea codului obiectului. Mai mult, ușile din spate ale codului obiectului pot fi eliminate (presupunând că este disponibil codul sursă) prin simpla recompilare din sursă pe un sistem de încredere.

Astfel, pentru ca astfel de uși din spate să evite detectarea, toate copiile existente ale unui binar trebuie să fie subvertizate și orice sumă de verificare a validării trebuie să fie compromisă și sursa trebuie să fie indisponibilă, pentru a preveni recompilarea. Alternativ, aceste alte instrumente (verificări de lungime, diferență, sumă de control, dezasamblare) pot fi ele însele compromise pentru a ascunde ușa din spate, de exemplu detectând că binarul subvertizat este sumat de verificare și returnează valoarea așteptată, nu valoarea reală. Pentru a ascunde aceste subversiuni suplimentare, instrumentele trebuie, de asemenea, să ascundă modificările în sine - de exemplu, o vară de verificare subvertizată trebuie să detecteze, de asemenea, dacă este însumarea de verificare (sau alte instrumente subversate) și să returneze valori false. Acest lucru duce la schimbări ample în sistem și instrumente necesare pentru a ascunde o singură modificare.

Deoarece codul obiectului poate fi regenerat prin recompilarea (reasamblarea, reconectarea) codului sursă original, realizarea unui backdoor de cod obiect persistent (fără modificarea codului sursă) necesită subversarea compilatorului în sine - astfel încât, atunci când detectează că compilează programul atacat, introduce geamul din spate - sau, alternativ, ansamblorul, legatorul sau încărcătorul. Deoarece acest lucru necesită subversarea compilatorului, acest lucru la rândul său poate fi remediat prin recompilarea compilatorului, eliminând codul de inserare din spate. La rândul său, această apărare poate fi subversată prin introducerea unei meta-backdoor sursă în compilator, astfel încât atunci când detectează că se compilează singură, atunci introduce acest generator de meta-backdoor, împreună cu generatorul de backdoor original pentru programul original atacat. După ce se face acest lucru, meta-backdoor-ul sursă poate fi eliminat, iar compilatorul a fost recompilat din sursa originală cu executabilul compilatorului compromis: backdoor-ul a fost bootstrappat. Acest atac datează din Karger & Schell (1974) și a fost popularizat în articolul lui Thompson din 1984, intitulat „Reflections on Trusting Trust”; prin urmare, este cunoscut în mod colocvial ca atacul „Trusting Trust”. Vedeți ușile din spate ale compilatorului , mai jos, pentru detalii. Atacurile analoge pot viza niveluri mai scăzute ale sistemului, cum ar fi sistemul de operare, și pot fi inserate în timpul procesului de pornire a sistemului ; acestea sunt menționate și în Karger & Schell (1974) și există acum sub formă de viruși din sectorul de boot .

Usi spate asimetrice

O ușă din spate tradițională este o ușă din spate simetrică: oricine găsește ușa din spate o poate folosi la rândul ei. Noțiunea de backdoor asimetric a fost introdusă de Adam Young și Moti Yung în Proceedings of Advances in Cryptology: Crypto '96 . Un backdoor asimetric poate fi folosit doar de atacatorul care îl plantează, chiar dacă implementarea completă a backdoor-ului devine publică (de exemplu, prin publicare, fiind descoperită și dezvăluită prin inginerie inversă etc.). De asemenea, este intratabil din punct de vedere al calculului să detectăm prezența unei uși din spate asimetrice sub interogări cu cutie neagră. Această clasă de atacuri a fost denumită cleptografie ; pot fi realizate în software, hardware (de exemplu, carduri inteligente ) sau o combinație a celor două. Teoria ușilor din spate asimetrice face parte dintr-un câmp mai mare numit acum criptovirologie . În special, NSA a introdus un backdoor cleptografic în standardul dual EC DRBG .

Există un backdoor asimetric experimental în generarea cheilor RSA. Această ușă din spate OpenSSL RSA, proiectată de Young și Yung, utilizează o pereche răsucită de curbe eliptice și a fost pusă la dispoziție.

Ușile din spate ale compilatorului

O formă sofisticată de backdoor cu cutie neagră este un backdoor al compilatorului , unde nu numai că un compilator este subvertizat (pentru a insera un backdoor într-un alt program, cum ar fi un program de autentificare), dar este modificat în continuare pentru a detecta când se compilează singur și apoi introduce atât codul de inserare backdoor (care vizează celălalt program), cât și autocompilarea care modifică codul, precum mecanismul prin care retrovirusurile își infectează gazda. Acest lucru se poate face prin modificarea codului sursă, iar compilatorul compromis rezultat (codul obiect) poate compila codul sursă original (nemodificat) și se poate insera singur: exploit-ul a fost blocat.

Acest atac a fost prezentat inițial în Karger & Schell (1974 , p. 52, secțiunea 3.4.5: "Trap Door Insertion"), care a fost o analiză de securitate a Forței Aeriene a Statelor Unite a Multics , unde au descris un astfel de atac asupra unui PL / Eu compilator și îl numesc „capcană a compilatorului”; menționează, de asemenea, o variantă în care codul de inițializare a sistemului este modificat pentru a insera un backdoor în timpul bootării , deoarece acesta este complex și slab înțeles și îl numesc „trapdoor de inițializare”; acest lucru este acum cunoscut sub numele de virus al sectorului de boot .

Acest atac a fost apoi implementat și popularizat de Ken Thompson , în discursul său de acceptare a Premiului Turing din 1983 (publicat în 1984), „Reflections on Trusting Trust”, care subliniază că încrederea este relativă, iar singurul software în care se poate avea încredere este codul unde fiecare pas al bootstrapping-ului a fost inspectat. Acest mecanism de backdoor se bazează pe faptul că oamenii examinează doar codul sursă (scris de om) și nu codul mașinii compilate ( codul obiectului ). Un program numit compilator este folosit pentru a crea al doilea din primul, iar în compilator este de obicei de încredere să facă o treabă sinceră.

Lucrarea lui Thompson descrie o versiune modificată a compilatorului Unix C care ar:

  • Introduceți un backdoor invizibil în comanda de conectare Unix când a observat că programul de conectare a fost compilat și ca o întorsătură
  • De asemenea, adăugați această caracteristică nedetectabil la viitoarele versiuni ale compilatorului și la compilarea lor .

Deoarece compilatorul în sine era un program compilat, este foarte puțin probabil ca utilizatorii să observe instrucțiunile codului mașinii care au efectuat aceste sarcini. (Din cauza celei de-a doua sarcini, codul sursă al compilatorului ar părea „curat”.) Ce este mai rău, în dovada implementării conceptului Thompson , compilatorul subvertit a subvertizat și programul de analiză ( dezasamblatorul ), astfel încât oricine a examinat binarele din mod obișnuit nu ar vedea de fapt codul real care rulează, ci altceva în schimb.

O analiză actualizată a exploatării originale este prezentată în Karger & Schell (2002 , Secțiunea 3.2.4: Uși capcană a compilatorului), iar o prezentare istorică și o cercetare a literaturii este dată în Wheeler (2009 , Secțiunea 2: Context și lucrări conexe ) .

Apariții

Versiunea lui Thompson nu a fost, oficial, lansată niciodată în sălbăticie. Cu toate acestea, se crede că o versiune a fost distribuită către BBN și a fost înregistrată cel puțin o utilizare a ușii din spate. Există rapoarte anecdotice împrăștiate despre astfel de uși din spate în anii următori.

În august 2009, un astfel de atac a fost descoperit de laboratoarele Sophos. Virusul W32 / Induc-A a infectat compilatorul de programe pentru Delphi , un limbaj de programare Windows. Virusul și-a introdus propriul cod în compilarea noilor programe Delphi, permițându-i să se infecteze și să se propage la multe sisteme, fără știrea programatorului software. Un atac care se propagă prin construirea propriului cal troian poate fi deosebit de greu de descoperit. Se crede că virusul Induc-A se propagă de cel puțin un an înainte de a fi descoperit.

Contramăsuri

Odată ce un sistem a fost compromis cu un backdoor sau un troian, cum ar fi compilatorul Trusting Trust , este foarte greu pentru utilizatorul „legitim” să recâștige controlul sistemului - de obicei, ar trebui să reconstruiți un sistem curat și să transferați date (dar nu executabile) peste. Cu toate acestea, au fost sugerate mai multe puncte slabe practice în schema Trusting Trust . De exemplu, un utilizator suficient de motivat ar putea revizui cu atenție codul mașinii compilatorului de încredere înainte de al utiliza. După cum sa menționat mai sus, există modalități de a ascunde calul troian, cum ar fi subversarea dezasamblatorului; dar există și modalități de a contracara această apărare, precum scrierea propriului tău dezasamblator de la zero.

O metodă generică pentru a contracara atacurile de încredere de încredere se numește Diverse Double-Compiling (DDC). Metoda necesită un compilator diferit și codul sursă al compilatorului sub test. Această sursă, compilată cu ambele compilatoare, are ca rezultat două compilatoare de etapă-1 diferite, care ar trebui însă să aibă același comportament. Astfel, aceeași sursă compilată cu ambele compilatoare de etapa 1 trebuie să aibă ca rezultat două compilatoare de etapă 2 identice. O dovadă formală este dată că această din urmă comparație garantează că pretinsul cod sursă și executabilul compilatorului sub test corespund, sub unele ipoteze. Această metodă a fost aplicată de autorul său pentru a verifica dacă compilatorul C al suitei GCC (v. 3.0.4) nu conținea niciun troian, folosind icc (v. 11.0) ca diferit compilator.

În practică, astfel de verificări nu sunt efectuate de utilizatorii finali, cu excepția cazurilor extreme de detectare și analiză a intruziunilor, datorită rarității unor astfel de atacuri sofisticate și deoarece programele sunt distribuite de obicei în formă binară. Eliminarea ușilor din spate (inclusiv a celor din spate ale compilatorului) se face de obicei prin simpla reconstrucție a unui sistem curat. Cu toate acestea, verificările sofisticate sunt de interes pentru furnizorii de sisteme de operare, pentru a se asigura că nu distribuie un sistem compromis și în setări de înaltă securitate, unde astfel de atacuri sunt o preocupare realistă.

Lista ușilor din spate cunoscute

  • Back Orifice a fost creat în 1998 de hackeri din grupul Cultul vacii moarte ca instrument de administrare la distanță. A permis computerelor Windows să fie controlate de la distanță printr-o rețea și a parodiat numele BackOffice- ului Microsoft .
  • Duala CE DRBG generatorul de numere criptografic securizat pseudoaleatoare a fost descoperită în 2013 , pentru a avea , eventual , un kleptographic backdoor inserat în mod deliberat de către ANS, care a avut , de asemenea , cheia privată la ușa din spate.
  • Mai multe portiere din copiile fără licență ale pluginurilor WordPress au fost descoperite în martie 2014. Au fost inserate sub formă de cod JavaScript ofuscat și au fost create în tăcere, de exemplu, un cont de administrator în baza de date a site-ului web. O schemă similară a fost expusă ulterior în pluginul Joomla .
  • Versiunile Borland Interbase 4.0 până la 6.0 aveau un backdoor codat, pus acolo de dezvoltatori. Codul serverului conține un cont backdoor compilat (nume de utilizator: politic , parolă: corect ), care ar putea fi accesat printr-o conexiune de rețea; un utilizator care se conectează cu acest cont backdoor ar putea prelua controlul complet asupra tuturor bazelor de date Interbase. Ușa din spate a fost detectată în 2001 și un patch a fost eliberat.
  • Juniper Networks backdoor a fost introdus în anul 2008 în versiunile de firmware ScreenOS de la 6.2.0r15 la 6.2.0r18 și de la 6.3.0r12 la 6.3.0r20, care oferă acces utilizatorului oricărui utilizator atunci când se utilizează o parolă master specială.
  • Mai multe portiere din spate au fost descoperite în dispozitivele C-DATA Optical Line Termination (OLT). Cercetătorii au publicat descoperirile fără a notifica C-DATA, deoarece consideră că ușile din spate au fost plasate intenționat de către furnizor.

Vezi si

Referințe

Lecturi suplimentare

linkuri externe