Sandbox (securitate cibernetică)

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În securitatea cibernetică , un sandbox este un mecanism pentru rularea aplicațiilor într-un spațiu limitat. De obicei, oferă un set mic și controlat de resurse programului care urmează să fie testat, cum ar fi o zonă mică de memorie sau un set de apeluri limitate de sistem ; de regulă, accesul la rețea , capacitatea de a inspecta sistemul gazdă sau de a citi de pe dispozitivele de intrare , sunt fie dezactivate, fie foarte restricționate. Având în vedere capacitatea de a oferi un mediu extrem de controlat, sandbox-urile pot fi văzute ca un exemplu specific de virtualizare , de obicei utilizate pentru a rula programe care nu sunt testate sau care nu sunt de încredere, care nu sunt verificate sau de la terțe părți nerecunoscute (cum ar fi utilizatorii sau site-urile web ), fără riscul infectarea dispozitivului pe care rulează aplicația [1] , de exemplu testarea programelor neconfirmate care pot conține viruși sau coduri rău intenționate , fără a permite software - ului să infecteze dispozitivul gazdă [2] .

Implementări

Un sandbox este implementat prin rularea software-ului într-o zonă restricționată a sistemului de operare , controlând resursele (de exemplu, descriptori de fișiere , memorie , spațiu în sistemul de fișiere etc.) pe care le poate folosi un proces . Sandbox-urile au devenit rapid un mecanism de apărare rapid și eficient împotriva intruziunilor terților, găsind implementarea în multe aplicații frecvent utilizate.

Browser

Dacă un atacator este capabil să găsească un exploit în browser, astfel încât să poată executa codul rău intenționat pe mașina gazdă, mecanismul sandbox previne posibile deteriorări ale sistemului. Mai mult, prin utilizarea sandbox-ului, atacatorul este împiedicat să citească sau să scrie orice fișier personal pe sistem. Pentru a ajuta producătorii de browsere, a fost adăugat un atribut sandbox la eticheta iframe în HTML5 , care permite un set de restricții asupra conținutului său.

Google Chrome

Google Chrome utilizează o arhitectură multi-proces care permite multă flexibilitate în ceea ce privește securitatea. De fapt, toate randările HTML și execuția codului Javascript sunt izolate într-o clasă specifică de procese (numite renderere ): în acest fel a fost posibil să se creeze un mediu izolat care vă permite să deschideți paginile web în siguranță [3] .

Mozilla Firefox

Pentru a rezolva problemele de securitate, Firefox generează procese secundare pentru a delimita resursele disponibile unei aplicații web. Modul în care Firefox generează procese secundare și interacționează cu acestea este comun pentru toate platformele pentru care browserul este disponibil, în timp ce implementarea efectivă a unui sandbox pentru procesele secundare este specifică platformei pe măsură ce sunt utilizate tehnologiile proprietare ale fiecărui sistem de operare [4] .

Internet Explorer - Microsoft Edge

De la versiunea 7 a Internet Explorer , a fost utilizat un mod protejat care a forțat redarea unei pagini web cu privilegii mai mici decât browserul sau comenzile utilizatorului. Din versiunea 10, se adaugă un mod protejat avansat (EPM), unde a fost implementat un sandbox mai bun și s -a activat implicit semantica de refuz și de citire . În cele din urmă, în cea mai recentă versiune a browserului Microsoft, Edge , conținutul unei pagini web este întotdeauna executat într-un sandbox, împiedicând dezactivarea acestuia [5] .

Sisteme de operare

În sistemele de operare moderne și difuzarea pe scară largă a aplicațiilor care pot fi instalate pe computere, a fost necesar să se prevadă mecanisme de sandboxing. Fiecare platformă are o abordare diferită. În Microsoft Windows , o tehnologie numită AppContainer [6] este utilizată pentru a izola mediul de execuție al unei aplicații. Acest lucru vă permite să creați medii izolate cu acces la setul minim de resurse necesare aplicației, astfel încât, chiar dacă o vulnerabilitate se găsește într-o anumită aplicație, nu este posibil să accesați mai multe resurse decât cele specificate de AppContainer. De exemplu, dacă o aplicație dorește să aibă acces la unele periferice de sistem, cum ar fi camera, această caracteristică este blocată în mod implicit, permițând accesul doar dacă este solicitată în mod explicit. Același mecanism este utilizat în MacOS și iOS , unde tehnologia utilizată se numește App Sandbox [7] .

Începând cu nucleul Linux 2.6.2, este implementată o funcție numită seccomp [8] , cu funcția de a izola procesul de resursele disponibile. În ceea ce privește Android , pentru a asigura o securitate mai mare, în timp ce partajează nucleul cu Linux, a fost implementat un adevărat sandbox unde aplicațiile accesează resurse extrem de limitate [9] .

Vulnerabilitate

Deși tehnologia sandbox este o modalitate bună de a vă proteja dispozitivele împotriva atacurilor cibernetice , noi amenințări se nasc pe net în fiecare zi: gândiți-vă doar că, în iunie 2016, Google a remediat un bug în Chrome care a reușit să ocolească mecanismul sandboxing [10] . Implementarea unui sandbox poate fi împărțită în trei compartimente principale: interpretul de limbă de bază, bibliotecile standard și codul de aplicație de încredere. De obicei, bibliotecile standard sunt veriga slabă a mecanismului, făcând astfel sandbox-urile vulnerabile: utilizarea codului Java sau C # pentru a scrie biblioteci care gestionează funcționalități importante (cum ar fi comunicarea și criptarea în rețea) duce la vulnerabilități datorate defectelor intrinseci ale aceste două limbi [11] .

Mulți utilizatori sau organizații folosesc mașini virtuale (VM-uri) ca sandbox: acest lucru poate fi văzut ca o securitate suplimentară de către utilizator, dar noile generații de malware și troieni creați de hackerii cu pălărie neagră pot detecta dacă o VM, depășind această barieră suplimentară creată prin exploatare posibile vulnerabilități.


Tehnici de evaziune cu nisip

  • rootkit : colecție de software care permite accesul la un computer;
  • Detectare sandbox: codul rău intenționat poate conține instrumente care pot înțelege dacă rulează într-un sandbox pentru a exploata vulnerabilitățile producătorului sandbox [12] .

Exemple de utilizare

  • Testare malware : sandbox-urile sunt folosite pentru a rula codul rău intenționat și apoi pentru a studia comportamentul acestuia, pentru a crea patch-uri de securitate;
  • NGFW : În firewall - urile de nouă generație, sandbox-urile sunt utilizate pentru a analiza datele care ar putea intra într-o rețea. De exemplu, înainte de a deschide un atașament suspect într-un e-mail , acesta este mai întâi deschis și analizat în siguranță într-un sandbox, neinfectând computerul utilizatorului destinatar [13] .

Generații de SandBoxes

Sandbox de prima generație

"Fortinet NSE Training Institute" definește agregarea informațiilor despre amenințări pentru soluțiile punctuale ca fiind dificilă pentru prima generație de sandbox

A doua generație de nisip

„Fortinet NSE Training Institute” definește a doua generație de sandbox ca un proces care implică schimbul în timp util de informații despre amenințări, întrucât prima generație a suferit din cauza lipsei de integrare cu alte dispozitive de securitate.

Sandbox de generația a treia

„Fortinet NSE Training Institute” definește a treia generație de sandbox ca un proces care implică automatisme și inteligență artificială din cauza amenințărilor datorate „atacurilor conduse de AI” sau atacurilor conduse de inteligență artificială.

Notă

  1. ^ Un mediu sigur pentru aplicațiile de asistență de încredere (Confining the Wily Hacker) ( PDF ), la usenix.org .
  2. ^ (RO) Cum să vă păstrați computerul în siguranță cu Sandboxing , în PCWorld. Adus la 8 februarie 2018 .
  3. ^ (RO) O nouă abordare a securității browserului: sandbox-ul Google Chrome din Chromium Blog. Adus la 8 februarie 2018 .
  4. ^ (EN) Security / Sandbox - MozillaWiki , pe wiki.mozilla.org. Adus la 8 februarie 2018 .
  5. ^ elizatobii, îmbunătățiri de securitate (Microsoft Edge pentru profesioniști IT) , la docs.microsoft.com . Adus la 8 februarie 2018 .
  6. ^ (EN) AppContainer Isolation (Windows) pe msdn.microsoft.com. Adus la 8 februarie 2018 .
  7. ^ (RO) Despre aplicația Sandbox , pe developer.apple.com. Adus la 8 februarie 2018 .
  8. ^ Linux Kernel Organization, Inc., SECURE COMPUTING with filters ( TXT ), la kernel.org .
  9. ^ Sfaturi de securitate | Dezvoltatori Android , la developer.android.com . Adus la 8 februarie 2018 .
  10. ^ ( EN ) 610600 - sandbox escape folosind ppapi broker - crom - Monorail , pe bugs.chromium.org . Adus la 12 februarie 2018 .
  11. ^ (EN) Program de securitate sandbox: apărare în profunzime sau vulnerabilități stratificate? , în CăutareSecuritate . Adus la 12 februarie 2018 .
  12. ^ (EN) Rețele inteligente reziliente, cele mai comune 8 tehnici de evaziune a sandbox-ului și cele mai bune soluții de securitate cibernetică . Adus la 12 februarie 2018 .
  13. ^ FW sandbox | Sophos NGFW Sandstorm cu protecție avansată împotriva amenințărilor | Sophos , la www.sophos.com . Adus la 12 februarie 2018 .

Elemente conexe

Securitate IT Portal de securitate IT : accesați intrările Wikipedia care se ocupă cu securitatea IT