Poate inteligența artificială să vă spună despre vulnerabilitățile unui program? Poate, dar poate nu vrei să-ți pui toată încrederea în ceea ce spune.
Testarea de penetrare este un test de securitate care implică utilizarea vulnerabilităților pentru a descoperi alte vulnerabilități într-un sistem și pentru a executa cod rău intenționat. Aceste teste sunt deosebit de importante pentru protejarea împotriva extragerii de date și prevenirea exploatărilor de securitate.
Testele de penetrare includ mai multe tehnici utilizate pentru a testa securitatea rețelei. Aceste tehnici includ scanarea rețelei, firewall-uri, sisteme de supraveghere de securitate și inteligență artificială. Inteligența artificială poate analiza testele de securitate folosind tehnologii dezvoltate pentru a dezvălui vulnerabilitățile rețelei.
AI vă poate permite să obțineți rezultate mai cuprinzătoare și mai eficiente cu algoritmi speciali proiectați pentru utilizare în teste de penetrare și teste de securitate executate automat.
Beneficiile utilizării AI pentru testarea de penetrare
Astăzi, dezvoltarea rapidă a tehnologiei și nevoile de securitate din ce în ce mai mari ale utilizatorilor au relevat necesitatea utilizării tehnologiilor AI în testele de securitate. Utilizarea AI pentru a îmbunătăți securitatea oferă rezultate mult mai rapide și mai eficiente, eliminând nevoia de forță de muncă consumatoare de timp pentru a efectua teste de securitate adesea personalizate și complexe. AI ajută la detectarea vulnerabilităților cât mai curând posibil. De asemenea, poate efectua teste de securitate unice și complexe, facilitând detectarea vulnerabilităților.
AI pare să aibă destul de mult succes, mai ales când vine vorba de detectarea și blocarea unui atac. Pentru a antrena inteligența artificială, sunt necesare seturi de date foarte mari. O aplicație cu trafic web mare este un binefăcător în acest sens. Pentru că puteți face ca fiecare trafic de intrare să arate ca un set de date pe care AI să-l folosească. Astfel, ai un AI care poate citi și analiza traficul aplicațiilor web și detectează amenințările. Acesta este unul dintre cele mai simple exemple care pot fi date.
De asemenea, poate predetecta nu numai traficul web, ci și o mulțime de programe malware pentru aplicația sau dispozitivul dvs. Această metodă a început deja să fie folosită de multe firewall-uri.
Pe lângă toate acestea, eroarea umană este una dintre cele mai mari probleme ale securității cibernetice. O vulnerabilitate minoră de cod care trece neobservată poate duce la probleme majore ireversibile de securitate. Unele plugin-uri care scanează pentru vulnerabilități în cod au apărut odată cu dezvoltarea AI și avertizează dezvoltatorii despre astfel de probleme. Până acum, au avut un oarecare succes în prevenirea erorilor umane.
În plus, timpul de răspuns afișat împotriva unei amenințări este, de asemenea, foarte important. Când este atacat, este nevoie de timp pentru a detecta atacul, a planifica calea de apărare și a lansa sisteme de apărare. Dar AI este de mare ajutor în acest sens.
Limitările AI în securitatea cibernetică
Utilizarea AI în scopuri de securitate cibernetică necesită identificarea și analizarea aplicațiilor rău intenționate, curate și potențial nesigure. Chiar dacă utilizați seturi de date foarte mari pentru a antrena un algoritm, nu puteți fi niciodată sigur de rezultat. Ca rezultat, nu este sigur să te bazezi în întregime pe mașini și AI. Este necesar să sprijinim tehnologia AI cu intervenția umană.
Unii producători de instrumente de securitate susțin că soluțiile bazate pe machine learning pot analiza fiecare instanță. Potrivit producătorilor, aceste instrumente pot detecta malware folosind doar mijloace matematice. Cu toate acestea, acest lucru este greu de posibil.
Schimbarea codului Enigma de către Alan Turing în timpul celui de-al Doilea Război Mondial este un exemplu foarte bun în acest sens. Chiar și o mașină perfectă nu poate decide dacă o intrare necunoscută poate provoca un comportament nedorit în viitor. Aceste dovezi pot fi aplicate în multe domenii diferite, inclusiv în securitatea cibernetică.
O altă limitare serioasă a aplicațiilor de învățare automată în securitatea cibernetică este ascunsă în limitele modelelor de inteligență artificială. De exemplu, mașinile au devenit suficient de inteligente pentru a învinge oamenii la șah.
Dar șahul are anumite reguli. Motoarele de șah nu se abat de la aceste reguli. Când vine vorba de securitate cibernetică, atacatorii nu au adesea reguli. Natura în continuă schimbare a peisajului digital face imposibilă crearea unei soluții de protecție care să poată detecta și bloca toate amenințările viitoare.
Analiza codului sursă cu ChatGPT
ChatGPT, dezvoltat de OpenAI, a făcut o intrare serioasă în viața noastră în multe domenii. Cum poți pune câteva întrebări și discută cu ChatGPT, de asemenea, încearcă să vă ajute cu probleme de programare și software. ChatGPT încearcă chiar să facă analize de cod sursă, dacă te uiți la asta din perspectiva securității cibernetice. Dar ChatGPT este încă în stadiu incipient și va dura ceva timp pentru a începe să funcționeze.
Pentru a vedea mai bine acest lucru, haideți să testăm puterea ChatGPT. De exemplu, mai jos este un cod JavaScript simplu care creează o vulnerabilitate XSS. Să întrebăm ChatGPT despre acest cod și să ne spună despre eventualele vulnerabilități.
document.scrie("Adresa URL curentă: " + document.baseURI);
ChatGPT a menționat un Vulnerabilitatea XSS in raspuns. Acesta este un început destul de bun. Dar codurile sursă nu sunt niciodată atât de simple. Deci, să încercăm să facem exemplul puțin mai complicat.
Mai jos veți vedea un cod pregătit în limbajul de programare C. Acest cod C aparține unei aplicații vulnerabile. A fost chiar folosit în întregime într-o aplicație din lumea reală. Dacă doriți, puteți examina vulnerabilitățile codului sursă din lumea reală care Sonar lansat în 2022.
char *loggerPath *cmd;
golrotateLog(){
charlogOld[PATH_MAX], logNew[PATH_MAX], timestamp-ul[0x100];
time_t t;
timp(&t);
strftime (marca temporală, dimensiunea (marca temporală), „%FT%T”, gmtime(&t));
snprintf (logOld, sizeof (logOld), „%s/../logs/global.log”, loggerPath);
snprintf (logNew, sizeof (logNew), „%s/../logs/global-%s.log”, loggerPath, timestamp);
execl(„/bin/cp”, „/bin/cp”, "-A", "--", jurnal vechi, jurnal nou, NUL);
}intprincipal(int argc, char **argv){
dacă (argc != 2) {
printf(„Utilizare: /opt/logger/bin/loggerctl \n”);
întoarcere1;
}dacă (setuid(0) == -1) întoarcere1;
dacă (seteuid(0) == -1) întoarcere1;char *executablePath = argv[0];
loggerPath = dirname (executablePath);
cmd = argv[1];
dacă (!strcmp (cmd, "roti")) rotateLog();
altfel listComands();
întoarcere0;
}
Vulnerabilitatea aici este că un atacator poate face modificări unor fișiere fără privilegii administrative. Să vedem cum va răspunde ChatGPT la această vulnerabilitate de securitate.
Problema principală în acest cod este setuid, ID-ul de utilizator (uid), și ID de utilizator efectiv (euid). Cu toate acestea, fără a intra în prea multe detalii tehnice, principalul punct la care ar trebui să acordați atenție este că ChatGPT nu a putut detecta această parte subțire. Poate realiza că există o problemă, dar, din păcate, nu poate ajunge la rădăcina acestei probleme.
Prin aceste exemple, ați văzut reacții la diferite limbaje de programare și vulnerabilități. Dacă codul este cu adevărat simplu și are o gaură evidentă de securitate, ChatGPT vă poate ajuta. Dar nu ar trebui să vă bazați în întregime pe ChatGPT pentru analiza codului sursă, testarea de penetrare și alte analize de securitate.
Viitorul testerilor de penetrare
Inteligenta artificiala va fi o parte importanta a muncii testerilor de penetrare in viitor. De exemplu, testerii de penetrare nu vor trebui să ia timp pentru a detecta manual activitățile rău intenționate și vor putea efectua automat scanări de securitate.
AI va ajuta, de asemenea, la detectarea și luarea de măsuri împotriva tehnicilor de atac noi și mai complexe pentru testarea de penetrare. Dar AI este tot ca un copil care se joacă în parc și are nevoie de sfatul unui adult. În viitorul apropiat, experții în securitate cibernetică și testerii de penetrare nu vor rămâne ușor fără muncă.