Test de penetrare - Penetration test

Un test de penetrare , cunoscut colocvial ca test pen sau hacking etic , este un atac cibernetic simulat autorizat pe un sistem informatic, efectuat pentru a evalua securitatea sistemului; acest lucru nu trebuie confundat cu o evaluare a vulnerabilității . Testul este efectuat pentru a identifica punctele slabe (denumite și vulnerabilități), inclusiv potențialul pentru părțile neautorizate de a avea acces la caracteristicile și datele sistemului, precum și punctele forte, permițând finalizarea unei evaluări complete a riscurilor .

Procesul identifică de obicei sistemele țintă și un anumit obiectiv, apoi revizuiește informațiile disponibile și întreprinde diverse mijloace pentru a atinge acest obiectiv. O țintă de test de penetrare poate fi o casetă albă (despre care fundalul și informații despre sistem sunt furnizate în prealabil testerului) sau o casetă neagră (despre care sunt furnizate doar informații de bază - dacă există - altele decât numele companiei). Un test de penetrare a cutiei gri este o combinație a celor două (în cazul în care cunoștințele limitate despre țintă sunt împărțite auditorului). Un test de penetrare poate ajuta la identificarea vulnerabilităților unui sistem de atac și la estimarea cât de vulnerabil este.

Problemele de securitate pe care le descoperă testul de penetrare trebuie raportate proprietarului sistemului. Rapoartele de testare a penetrării pot, de asemenea, să evalueze impactul potențial asupra organizației și să sugereze contramăsuri pentru a reduce riscul.

Centrul Național de Securitate Cibernetică din Marea Britanie descrie testele de penetrare ca: „O metodă pentru a obține asigurarea securității unui sistem IT prin încercarea de a încălca o parte sau întreaga securitate a sistemului respectiv, folosind aceleași instrumente și tehnici ca și un adversar”.

Obiectivele unui test de penetrare variază în funcție de tipul de activitate aprobată pentru orice angajament dat, obiectivul principal fiind axat pe găsirea vulnerabilităților care ar putea fi exploatate de un actor nefavorabil și informarea clientului despre aceste vulnerabilități împreună cu strategiile de atenuare recomandate.

Testele de penetrare sunt o componentă a unui audit de securitate complet . De exemplu, Standardul de securitate a datelor din industria cardurilor de plată necesită testarea penetrării în mod regulat și după modificări de sistem.

Există mai multe cadre și metodologii standard pentru efectuarea testelor de penetrare. Acestea includ Open Source Security Testing Methodology Manual (OSSTMM), Penetration Testing Execution Standard (PTES), publicația specială NIST 800-115, Framework-ul de evaluare a securității sistemului informațional (ISSAF) și Ghidul de testare OWASP .

Metodologia ipotezei defecte este o analiză a sistemelor și tehnica de predicție a penetrării în care o listă de defecte ipotezate într-un sistem software sunt compilate prin analiza specificațiilor și documentației pentru sistem. Lista defectelor ipotezate este apoi prioritizată pe baza probabilității estimate că există un defect și pe ușurința exploatării acestuia în măsura controlului sau compromisului. Lista cu priorități este utilizată pentru a direcționa testarea efectivă a sistemului.

Istorie

Până la mijlocul anilor 1960, popularitatea crescândă a sistemelor de calculatoare de partajare a timpului , care făceau resursele accesibile prin liniile de comunicații, a creat noi preocupări de securitate. După cum explică cărturarii Deborah Russell și GT Gangemi Sr., „Anii 1960 au marcat adevăratul început al erei securității computerelor”.

În iunie 1965, de exemplu, câțiva dintre cei mai importanți experți din domeniul securității computerelor din SUA au ținut una dintre primele conferințe majore privind securitatea sistemului - găzduită de contractorul guvernamental, System Development Corporation (SDC). În timpul conferinței, cineva a menționat că un angajat SDC a reușit să submineze cu ușurință diferitele garanții ale sistemului adăugate la sistemul de calcul pentru partajarea timpului AN / FSQ-32 al SDC . În speranța că un studiu suplimentar privind securitatea sistemului va fi util, participanții au solicitat „... studii care să fie efectuate în domenii precum încălcarea protecției de securitate în sistemul partajat în timp”. Cu alte cuvinte, participanții la conferință au inițiat una dintre primele solicitări formale de a utiliza penetrarea computerului ca instrument pentru studierea securității sistemului.

La Conferința comună de informatică din primăvara anului 1967, mulți specialiști de frunte în informatică s-au întâlnit din nou pentru a discuta probleme de securitate a sistemului. În cadrul acestei conferințe, experții în securitate informatică Willis Ware , Harold Petersen și Rein Turn, toți din RAND Corporation și Bernard Peters de la Agenția Națională de Securitate (NSA), au folosit toți expresia „penetrare” pentru a descrie un atac împotriva unui computer sistem. Într-o lucrare, Ware a făcut referire la sistemele de partajare a timpului accesibile de la distanță ale armatei, avertizând că „trebuie anticipate încercări deliberate de a pătrunde în astfel de sisteme informatice”. Colegii săi Petersen și Turn au împărtășit aceleași preocupări, observând că sistemele de comunicații online „... sunt vulnerabile la amenințări la adresa vieții private”, inclusiv „pătrunderea deliberată”. Bernard Peters de la NSA a menționat același punct, insistând că intrarea și ieșirea computerului „... ar putea furniza cantități mari de informații unui program penetrant”. În timpul conferinței, pătrunderea computerului va deveni formal identificată ca o amenințare majoră pentru sistemele informatice online.

Amenințarea pe care o prezintă penetrarea computerelor a fost subliniată într-un raport major organizat de Departamentul Apărării al Statelor Unite (DoD) la sfârșitul anului 1967. În esență, oficialii DoD s-au orientat către Willis Ware pentru a conduce un grup de lucru format din experți din NSA, CIA , DoD, mediului academic și industriei pentru a evalua în mod oficial securitatea sistemelor de calculatoare de partajare a timpului. Bazându-se pe multe lucrări prezentate în cadrul Conferinței comune de calcul din primăvara anului 1967, grupul de lucru a confirmat în mare măsură amenințarea la adresa securității sistemului pe care o reprezenta penetrarea computerului. Raportul Ware a fost inițial clasificat, dar mulți dintre cei mai importanți experți în informatică din țară au identificat rapid studiul drept documentul definitiv privind securitatea computerelor. Jeffrey R. Yost de la Institutul Charles Babbage a descris mai recent raportul Ware ca „... de departe cel mai important și mai aprofundat studiu privind problemele tehnice și operaționale referitoare la sistemele de calcul securizate din perioada sa de timp”. De fapt, raportul Ware a reafirmat amenințarea majoră reprezentată de pătrunderea computerului asupra noilor sisteme de calculatoare online de partajare a timpului.

Pentru a înțelege mai bine punctele slabe ale sistemului, guvernul federal și contractanții săi au început în curând să organizeze echipe de penetratori, cunoscute sub numele de echipe de tigri , pentru a utiliza penetrarea computerului pentru a testa securitatea sistemului. Deborah Russell și GT Gangemi Sr. au declarat că în anii 1970 „...„ echipele de tigri ”au apărut pentru prima dată pe scena computerelor. Echipele de tigri erau echipe de crackeri sponsorizate de guvern și industrie, care au încercat să spargă apărarea sistemelor informatice într-un efort de a descoperi și, în cele din urmă, de a remedia găurile de securitate. "

Un cercetător de frunte în istoria securității computerelor, Donald MacKenzie, subliniază în mod similar că „RAND a făcut unele studii de penetrare (experimente în eludarea controalelor de securitate a computerelor) ale sistemelor timpurii de partajare a timpului în numele guvernului”. Jeffrey R. Yost de la Charles Babbage Institute, în propria sa lucrare despre istoria securității computerelor, recunoaște, de asemenea, că atât RAND Corporation, cât și SDC s-au „angajat în unele dintre primele așa-numite„ studii de penetrare ”pentru a încerca să se infiltreze. sisteme de partajare a timpului pentru a le testa vulnerabilitatea. " În practic toate aceste studii timpurii, echipele de tigri au pătruns cu succes în toate sistemele informatice vizate, deoarece sistemele de partajare a timpului din țară aveau apărări slabe.

Dintre acțiunile timpurii ale echipei tigru, eforturile realizate de RAND Corporation au demonstrat utilitatea penetrării ca instrument de evaluare a securității sistemului. La acea vreme, un analist RAND a menționat că testele „au demonstrat practicitatea penetrării sistemului ca instrument de evaluare a eficacității și adecvării garanțiilor de securitate a datelor implementate”. În plus, unii dintre analiștii RAND au insistat asupra faptului că toate exercițiile de test de penetrare au oferit mai multe beneficii care au justificat utilizarea continuă a acestuia. După cum au remarcat într-o lucrare, „Un penetrator pare să dezvolte un cadru diabolic al minții în căutarea slăbiciunilor și incompletitudinii sistemului de operare, care este greu de imitat”. Din aceste motive și altele, mulți analiști de la RAND au recomandat continuarea studiului tehnicilor de penetrare pentru utilitatea lor în evaluarea securității sistemului.

Probabil că principalul expert în penetrarea computerelor în acești ani de formare a fost James P. Anderson, care a lucrat cu NSA, RAND și alte agenții guvernamentale pentru a studia securitatea sistemului. La începutul anului 1971, Forțele Aeriene ale SUA au contractat compania privată a lui Anderson pentru a studia securitatea sistemului său de partajare a timpului la Pentagon. În studiul său, Anderson a subliniat o serie de factori majori implicați în penetrarea computerului. Anderson a descris o secvență generală de atac în pași:

  1. Găsiți o vulnerabilitate exploatabilă.
  2. Proiectează un atac în jurul său.
  3. Testează atacul.
  4. Profită de o linie în uz.
  5. Intră în atac.
  6. Exploatați intrarea pentru recuperarea informațiilor.

De-a lungul timpului, descrierea lui Anderson a etapelor generale de penetrare a computerului a ajutat la îndrumarea multor alți experți în securitate, care s-au bazat pe această tehnică pentru a evalua securitatea sistemului de calcul de partajare a timpului.

În anii următori, penetrarea computerului ca instrument de evaluare a securității a devenit mai rafinată și mai sofisticată. La începutul anilor 1980, jurnalistul William Broad a rezumat pe scurt eforturile continue ale echipelor de tigri pentru a evalua securitatea sistemului. După cum a raportat Broad, raportul sponsorizat de DoD de Willis Ware „a arătat cum spionii puteau pătrunde în mod activ în computere, fura sau copia fișiere electronice și subvertiza dispozitivele care păzesc în mod normal informații de top secret. Studiul a atins mai mult de un deceniu de activitate liniștită de către grupuri de elită de informaticieni care lucrează pentru guvern care au încercat să pătrundă în computere sensibile. Au reușit în fiecare încercare. "

În timp ce aceste diverse studii ar fi putut sugera că securitatea computerelor în SUA a rămas o problemă majoră, savantul Edward Hunt a făcut mai recent un punct mai larg despre studiul amplu al penetrării computerelor ca instrument de securitate. Hunt sugerează într-o lucrare recentă despre istoria testelor de penetrare că instituția de apărare în cele din urmă „... a creat multe dintre instrumentele utilizate în războiul cibernetic modern”, întrucât a definit cu atenție și a cercetat numeroasele moduri în care penetratorii de computere ar putea pirata în sistemele vizate. .

Instrumente

O gamă largă de instrumente de evaluare a securității sunt disponibile pentru a ajuta la testarea penetrării, inclusiv software gratuit , software gratuit și software comercial .

Distribuții de sisteme de operare specializate

Mai multe distribuții ale sistemului de operare sunt orientate spre testarea penetrării. Astfel de distribuții conțin de obicei un set de instrumente pre-ambalate și preconfigurate. Testerul de penetrare nu trebuie să urmărească fiecare instrument individual, ceea ce ar putea crește complicațiile riscului - cum ar fi erori de compilare, probleme de dependență și erori de configurare. De asemenea, achiziționarea de instrumente suplimentare poate să nu fie practică în contextul testerului.

Exemplele notabile de testare a penetrării includ:

Multe alte sisteme de operare specializate facilitează testarea penetrării - fiecare dedicat mai mult sau mai puțin unui domeniu specific de testare a penetrării.

O serie de distribuții Linux includ vulnerabilități cunoscute ale sistemului de operare și ale aplicațiilor și pot fi implementate ca ținte împotriva cărora să vă exersați. Astfel de sisteme îi ajută pe noii profesioniști în securitate să încerce cele mai noi instrumente de securitate într-un mediu de laborator. Exemple includ Damn Vulnerable Linux (DVL), OWASP Web Testing Environment (WTW) și Metasploitable.

Cadrele software

Faze de testare a penetrării

Procesul de testare a penetrării poate fi simplificat în următoarele cinci etape:

  1. Recunoaștere: actul de a colecta informații importante despre un sistem țintă. Aceste informații pot fi folosite pentru a ataca mai bine ținta. De exemplu, motoarele de căutare open source pot fi utilizate pentru a găsi date care pot fi utilizate într-un atac de inginerie socială .
  2. Scanare: folosește instrumente tehnice pentru a îmbunătăți cunoștințele atacatorului asupra sistemului. De exemplu, Nmap poate fi folosit pentru a căuta porturi deschise.
  3. Obținerea accesului: Folosind datele colectate în fazele de recunoaștere și scanare, atacatorul poate folosi o sarcină utilă pentru a exploata sistemul vizat. De exemplu, Metasploit poate fi utilizat pentru automatizarea atacurilor asupra vulnerabilităților cunoscute.
  4. Menținerea accesului: menținerea accesului necesită luarea măsurilor implicate în a putea fi persistent în mediul țintă pentru a aduna cât mai multe date posibil.
  5. Acoperirea urmelor: atacatorul trebuie să șteargă orice urmă de compromitere a sistemului victimei, orice tip de date colectate, evenimente jurnal, pentru a rămâne anonim.

Odată ce un atacator a exploatat o vulnerabilitate, poate avea acces la alte mașini, astfel încât procesul se repetă, adică caută noi vulnerabilități și încearcă să le exploateze. Acest proces este denumit pivotant.

Vulnerabilități

Operațiunile legale care permit testerului să execute o operațiune ilegală includ comenzi SQL neevacuate, parole neschimbate neschimbate în proiecte vizibile sursă, relații umane și vechi funcții hash sau criptografice. Un singur defect poate să nu fie suficient pentru a permite o exploatare gravă. Aprovizionarea mai multor defecte cunoscute și modelarea sarcinii utile într-un mod care apare ca o operațiune validă este aproape întotdeauna necesară. Metasploit oferă o bibliotecă rubin pentru sarcini comune și menține o bază de date cu exploatări cunoscute.

Când lucrați sub constrângeri de buget și timp, fuzzing-ul este o tehnică obișnuită care descoperă vulnerabilitățile. Scopul său este de a obține o eroare nesoluționată prin introducerea aleatorie. Testerul folosește intrări aleatorii pentru a accesa căile de cod mai puțin utilizate. Căile de cod bine călcate sunt de obicei lipsite de erori. Erorile sunt utile deoarece expun mai multe informații, cum ar fi blocarea serverului HTTP cu urmărirea completă a informațiilor - sau sunt direct utilizabile, cum ar fi depășirile de tampon .

Imaginați-vă că un site web are 100 de casete de introducere a textului. Câțiva sunt vulnerabili la injecțiile SQL pe anumite șiruri. Trimiterea de șiruri aleatorii în acele casete pentru o vreme va reuși, sperăm, pe calea codului eronat. Eroarea se arată ca o pagină HTML ruptă pe jumătate redată din cauza unei erori SQL. În acest caz, numai casetele de text sunt tratate ca fluxuri de intrare. Cu toate acestea, sistemele software au multe fluxuri de intrare posibile, cum ar fi datele cookie și de sesiune, fluxul de fișiere încărcat, canalele RPC sau memoria. Erorile pot apărea în oricare dintre aceste fluxuri de intrare. Scopul testului este de a obține mai întâi o eroare nesoluționată și apoi de a înțelege defectul pe baza cazului de test eșuat. Testatorii scriu un instrument automat pentru a testa înțelegerea defectului până când acesta este corect. După aceea, poate deveni evident cum să împachetați sarcina utilă, astfel încât sistemul țintă să declanșeze execuția sa. Dacă acest lucru nu este viabil, se poate spera că o altă eroare produsă de fuzzer produce mai multe fructe. Utilizarea unui fuzzer economisește timp neverificând căile de cod adecvate în care exploatările sunt puțin probabil.

Încărcătură utilă

Operațiunea ilegală sau sarcina utilă în terminologia Metasploit pot include funcții pentru înregistrarea apăsărilor de taste, realizarea de capturi de ecran, instalarea de adware , furtul de acreditări, crearea ușilor din spate folosind shellcode sau modificarea datelor. Unele companii mențin baze de date mari de exploatări cunoscute și furnizează produse care testează automat vulnerabilitatea sistemelor țintă:

Servicii standardizate de testare a penetrării guvernului

Servicii Administrația Generală (GSA) a standardizat „test de penetrare“ serviciu ca un serviciu de suport de pre-verificate, pentru a aborda rapid potențialele vulnerabilități, și adversarii de oprire înainte de a avea impact asupra guvernelor de stat și locale din SUA federale,. Aceste servicii sunt denumite în mod obișnuit Servicii de securitate cibernetică foarte adaptabile (HACS) și sunt listate pe site-ul web GSA Advantage din SUA.

Acest efort a identificat furnizorii de servicii cheie care au fost revizuiți tehnic și verificați pentru a furniza aceste servicii avansate de penetrare. Acest serviciu GSA este destinat să îmbunătățească comenzile și desfășurarea rapidă a acestor servicii, să reducă duplicarea contractelor guvernului SUA și să protejeze și să susțină infrastructura SUA într-un mod mai oportun și mai eficient.

132-45A Testarea penetrării este testarea securității în care evaluatorii de servicii imită atacurile din lumea reală pentru a identifica metode de eludare a caracteristicilor de securitate ale unei aplicații, sistem sau rețea. Serviciile de testare a penetrării HACS testează în mod strategic eficacitatea măsurilor de securitate preventive și detective ale organizației utilizate pentru a proteja activele și datele. Ca parte a acestui serviciu, hackerii etici certificați efectuează de obicei un atac simulat asupra unui sistem, sisteme, aplicații sau o altă țintă din mediu, căutând deficiențe de securitate. După testare, aceștia vor documenta în mod obișnuit vulnerabilitățile și vor prezenta care sunt apărările eficiente și care pot fi înfrânte sau exploatate.

În Marea Britanie, serviciile de testare a penetrării sunt standardizate prin intermediul organismelor profesionale care lucrează în colaborare cu National Cyber ​​Security Center.

Rezultatele testelor de penetrare variază în funcție de standardele și metodologiile utilizate. Există cinci standarde de testare a penetrării: Open Source Security Testing Methodology Manual (OSSTMM), Open Web Application Security Project (OWASP), National Institute of Standards and Technology (NIST00), Information System Security Assessment Framework (ISSAF) și Penetration Testing Methodologies și Standarde (PTES).

Vezi si

Referințe generale

  • Long, Johnny (2011). Google Hacking for Penetration Testers , Elsevier
  • Ghidul definitiv pentru testarea penetrării

Referințe