Vai mākslīgais intelekts var pastāstīt par programmas ievainojamībām? Varbūt, bet jūs, iespējams, nevēlaties pilnībā ticēt tam, kas tajā teikts.
Iespiešanās pārbaude ir drošības pārbaude, kas ietver ievainojamību izmantošanu, lai atklātu citas sistēmas ievainojamības un izpildītu ļaunprātīgu kodu. Šie testi ir īpaši svarīgi aizsardzībai pret datu ieguvi un drošības ļaunprātīgas izmantošanas novēršanu.
Iespiešanās testi ietver vairākas metodes, ko izmanto, lai pārbaudītu tīkla drošību. Šīs metodes ietver tīkla skenēšanu, ugunsmūrus, drošības novērošanas sistēmas un mākslīgo intelektu. Mākslīgais intelekts var analizēt drošības testus, izmantojot tehnoloģijas, kas izstrādātas, lai atklātu tīkla ievainojamības.
AI var ļaut sasniegt visaptverošākus un efektīvākus rezultātus ar īpašiem algoritmiem, kas paredzēti izmantošanai iespiešanās testos un automātiski izpildītos drošības testos.
AI izmantošanas priekšrocības iespiešanās testēšanai
Mūsdienās tehnoloģiju straujā attīstība un arvien pieaugošās lietotāju drošības vajadzības ir atklājušas AI tehnoloģiju izmantošanas nepieciešamību drošības testos. AI izmantošana drošības uzlabošanai nodrošina daudz ātrākus un efektīvākus rezultātus, novēršot vajadzību pēc laikietilpīga darbaspēka, lai veiktu bieži pielāgotus un sarežģītus drošības testus. AI palīdz pēc iespējas ātrāk atklāt ievainojamības. Tā var arī veikt unikālas un sarežģītas drošības pārbaudes, atvieglojot ievainojamību atklāšanu.
AI šķiet diezgan veiksmīgs, it īpaši, ja runa ir par uzbrukuma atklāšanu un bloķēšanu. Lai apmācītu mākslīgo intelektu, ir nepieciešamas ļoti lielas datu kopas. Lietojumprogramma ar lielu tīmekļa trafiku šajā ziņā ir labvēlīga. Jo jūs varat padarīt katru ienākošo trafiku līdzīgu datu kopai, ko izmantot AI. Tādējādi jums ir AI, kas var lasīt un analizēt tīmekļa lietojumprogrammu trafiku un atklāt draudus. Šis ir viens no vienkāršākajiem piemēriem, ko var sniegt.
Tas var arī iepriekš noteikt ne tikai tīmekļa trafiku, bet arī daudz ļaunprātīgas programmatūras jūsu lietotnei vai ierīcei. Šo metodi jau ir sākuši izmantot daudzi ugunsmūri.
Papildus tam visam cilvēka kļūda ir viena no lielākajām kiberdrošības problēmām. Neliela koda ievainojamība, kas paliek nepamanīta, var radīt lielas neatgriezeniskas drošības problēmas. Daži spraudņi, kas skenē koda ievainojamības, ir parādījušies AI attīstībā, un tie brīdina izstrādātājus par šādām problēmām. Līdz šim viņi ir parādījuši zināmus panākumus cilvēku kļūdu novēršanā.
Turklāt ļoti svarīgs ir arī reakcijas laiks, kas parādīts pret draudiem. Kad tiek pakļauts uzbrukumam, ir nepieciešams laiks, lai noteiktu uzbrukumu, plānotu ceļu uz aizsardzību un palaistu aizsardzības sistēmas. Bet AI šajā ziņā ir ļoti noderīgs.
AI ierobežojumi kiberdrošībā
Lai AI izmantotu kiberdrošības nolūkos, ir jāidentificē un jāanalizē ļaunprātīgas, tīras un potenciāli nedrošas lietojumprogrammas. Pat ja algoritma apmācībai izmantojat ļoti lielas datu kopas, jūs nekad nevarat būt drošs par rezultātu. Tā rezultātā nav droši pilnībā paļauties uz mašīnām un AI. Ir nepieciešams atbalstīt AI tehnoloģiju ar cilvēka iejaukšanos.
Daži drošības rīku ražotāji apgalvo, ka risinājumi, ko nodrošina mašīnmācīšanās, var analizēt katru gadījumu. Pēc ražotāju domām, šie rīki var atklāt ļaunprātīgu programmatūru, izmantojot tikai matemātiskos līdzekļus. Tomēr tas diez vai ir iespējams.
Alana Tjūringa Enigma koda uzlaušana Otrā pasaules kara laikā ir ļoti labs piemērs tam. Pat ideāla iekārta nevar izlemt, vai nezināma ievade var izraisīt nevēlamu darbību nākotnē. Šos pierādījumus var izmantot daudzās dažādās jomās, tostarp kiberdrošībā.
Vēl viens nopietns mašīnmācības lietojumprogrammu ierobežojums kiberdrošībā ir paslēpts mākslīgā intelekta modeļu robežās. Piemēram, mašīnas ir kļuvušas pietiekami gudras, lai pārspētu cilvēkus šahā.
Bet šaham ir noteikti noteikumi. Šaha dzinēji no šiem noteikumiem neatkāpjas. Runājot par kiberdrošību, uzbrucējiem bieži nav noteikumu. Digitālās ainavas nepārtraukti mainīgais raksturs neļauj izveidot aizsargājošu risinājumu, kas spēj atklāt un bloķēt visus nākotnes draudus.
Avota koda analīze ar ChatGPT
OpenAI izstrādātais ChatGPT ir nopietni ienācis mūsu dzīvē daudzās jomās. Kā tu vari uzdodiet dažus jautājumus un tērzējiet ar ChatGPT, tas arī mēģina jums palīdzēt ar programmēšanas un programmatūras problēmām. ChatGPT pat mēģina veikt pirmkoda analīzi, ja paskatās uz to no kiberdrošības viedokļa. Taču ChatGPT joprojām ir sākumstadijā un prasīs kādu laiku, lai sāktu darboties.
Lai to labāk redzētu, pārbaudīsim ChatGPT jaudu. Piemēram, zemāk ir vienkāršs JavaScript kods, kas rada XSS ievainojamību. Jautāsim ChatGPT par šo kodu un liksim tam pastāstīt mums par jebkādām ievainojamībām.
dokumentu.write("Pašreizējais URL: " + dokumentu.baseURI);
ChatGPT minēja an XSS ievainojamība atbildot. Tas ir diezgan labs sākums. Taču pirmkodi nekad nav tik vienkārši. Tāpēc mēģināsim padarīt piemēru nedaudz sarežģītāku.
Zemāk jūs redzēsiet kodu, kas sagatavots C programmēšanas valodā. Šis C kods pieder neaizsargātai lietojumprogrammai. Tas pat tika pilnībā izmantots reālās pasaules lietojumprogrammā. Ja vēlaties, varat pārbaudīt reālās pasaules pirmkoda ievainojamības, kas Sonārs tika izlaists 2022. gadā.
char *loggerPath *cmd;
nederīgsrotateLog(){
charlogOld[PATH_MAX], žurnālsJauns[PATH_MAX], laika zīmogs[0x100];
laiks_t t;
laiks(&t);
strftime (laika zīmogs, izmērs (laikspiedols), "%FT%T", gmtime(&t));
snprintf (logOld, sizeof (logOld), "%s/../logs/global.log", loggerPath);
snprintf (logNew, sizeof (logNew), "%s/../logs/global-%s.log", loggerPath, laikspiedols);
execl("/bin/cp", "/bin/cp", "-a", "--", žurnālsVecs, žurnālsJauns, NULL);
}starptgalvenais(starpt argc, char **argv){
if (argc != 2) {
printf("Lietošana: /opt/logger/bin/loggerctl \n");
atgriezties1;
}ja (setuid(0) == -1) atgriezties1;
ja (seteuid(0) == -1) atgriezties1;char *executablePath = argv[0];
loggerPath = dirname (executablePath);
cmd = argv[1];
ja (!strcmp (cmd, "pagriezt")) rotateLog();
cits listCommands();
atgriezties0;
}
Ievainojamība ir tāda, ka uzbrucējs var veikt izmaiņas dažos failos bez administratīvām privilēģijām. Apskatīsim, kā ChatGPT reaģēs uz šo drošības ievainojamību.
Galvenā problēma šajā kodā ir setuid, Lietotāja ID (uid), un efektīvais lietotāja ID (euid). Tomēr, neiedziļinoties pārāk daudz tehniskās detaļās, galvenais, kam jāpievērš uzmanība, ir tas ChatGPT nevarēja noteikt šī plānā daļa. Tā var saprast, ka pastāv problēma, bet diemžēl nevar nokļūt līdz šīs problēmas saknei.
Izmantojot šos piemērus, jūs redzējāt reakcijas uz dažādām programmēšanas valodām un ievainojamībām. Ja kods ir patiešām vienkāršs un tajā ir acīmredzams drošības robs, ChatGPT var jums palīdzēt. Bet jums nevajadzētu pilnībā paļauties uz ChatGPT pirmkoda analīzei, iespiešanās pārbaudei un citai drošības analīzei.
Iespiešanās pārbaudītāju nākotne
Mākslīgais intelekts nākotnē būs svarīga iespiešanās pārbaudītāju darba sastāvdaļa. Piemēram, iespiešanās pārbaudītājiem nebūs vajadzīgs laiks, lai manuāli atklātu ļaunprātīgas darbības, un tie varēs automātiski veikt drošības skenēšanu.
AI arī palīdzēs atklāt jaunas un sarežģītākas uzbrukuma metodes iespiešanās testēšanai un rīkoties pret tām. Taču mākslīgais intelekts joprojām ir kā bērns, kas spēlē parkā, un viņam ir vajadzīgs pieaugušā padoms. Tuvākajā nākotnē kiberdrošības eksperti un iespiešanās pārbaudītāji vienkārši nepaliks bez darba.