GitHub je pokrenuo sistem mašinskog učenja kako bi pronašao ranjivosti u kodu

GitHub logotip

GitHub predstavljen prije nekoliko dana dodavanje eksperimenti sa sistemom mašinskog učenjal na uslugu skeniranja koda da se identifikuju uobičajeni tipovi ranjivosti U kodu. Ovim je GitHubova CodeQL-bazirana tehnologija analize koda obnovljena i sada koristi mašinsko učenje (ML) za pronalaženje potencijalnih sigurnosnih propusta u kodu.

I to je taj GitHub nabavio tehnologiju za CodeQL kao dio akvizicije Semmie. CodeQL koriste timovi za istraživanje sigurnosti za obavljanje semantičke analize koda, a GitHub ga je učinio otvorenim kodom.

Sa ovim modelima, CodeQL može identificirati više nepouzdanih korisničkih tokova podataka i stoga više potencijalnih sigurnosnih propusta.

Uočeno je da je upotreba sistema mašinskog učenja omogućila značajno proširenje spektra identifikovanih problema, u čijoj analizi sistem sada nije ograničen samo na proveru tipičnih obrazaca i nije vezan za poznate okvire.

Od problema koje je otkrio novi sistem spominju se greške koje dovode do skriptiranja na više lokacija (XSS), izobličenje putanja datoteka (na primjer, kroz indikaciju "/.."), zamjena SQL i NoSQL upita. .

Skeniranje koda sada može pronaći više potencijalnih sigurnosnih propusta korištenjem novog modela dubokog učenja. Ova eksperimentalna funkcija je dostupna u javnoj beta verziji za JavaScript i TypeScript spremišta na GitHub.com.

GitHubov novi alat fue objavljen kao besplatna javna beta verzija Za sve korisnike, ova funkcija koristi mašinsko učenje i duboko učenje za skeniranje baza kodova i identifikaciju uobičajenih sigurnosnih propusta prije nego što se proizvod pošalje.

Eksperimentalna funkcija je trenutno dostupna svim korisnicima platforme, uključujući GitHub Enterprise korisnike kao GitHub Advanced Security Feature, i može se koristiti za projekte napisane u JavaScript-u ili TypeScript-u.

Uz brzu evoluciju ekosistema otvorenog koda, postoji sve veći i dugi rep biblioteka koje se rjeđe koriste. Koristimo primjere iz ručno kreiranih CodeQL upita za obuku modela dubokog učenja da prepoznaju biblioteke otvorenog koda, kao i interno razvijene biblioteke zatvorenog koda.

Alat dizajniran je da traži četiri najčešće ranjivosti koji utiču na projekte napisane na ova dva jezika: Cross-site scripting (XSS), injekcija rute, NoSQL injekcija i SQL injekcija.

Usluga skeniranja koda omogućava vam da otkrijete ranjivosti u ranoj fazi razvoja skeniranjem svake git push operacije u potrazi za potencijalnim problemima.

Rezultat je priložen direktno zahtjevu za povlačenje. Ranije je provjera rađena pomoću CodeQL motora, koji analizira obrasce sa tipičnim primjerima ranjivog koda (CodeQL vam omogućava da generišete šablon ranjivog koda kako biste otkrili prisustvo slične ranjivosti u kodu drugih projekata).

Uz nove mogućnosti analize, skeniranje koda može generirati još više upozorenja za četiri uobičajena obrasca ranjivosti: skriptiranje na više lokacija (XSS), ubrizgavanje putanje, injekcija NoSQL-a i SQL injekcija. Zajedno, ova četiri tipa ranjivosti predstavljaju mnoge od nedavnih ranjivosti (CVE) u JavaScript/TypeScript ekosistemu, a poboljšanje sposobnosti skeniranja koda za otkrivanje takvih ranjivosti u ranoj fazi razvoja ključno je za pomoć programerima da pišu sigurniji kod.

Novi motor za mašinsko učenje može identificirati ranije nepoznate ranjivosti jer nije vezan za ponavljanje obrazaca koda koji opisuju specifične ranjivosti. Cijena takve mogućnosti je povećanje broja lažnih pozitivnih rezultata u odnosu na provjere zasnovane na CodeQL-u.

Konačno za one koje zanima više o tome, možete provjeriti detalje Na sledećem linku.

Takođe je važno napomenuti da je u fazi testiranja nova funkcionalnost trenutno dostupna samo za spremišta sa JavaScript i TypeScript kodom.


Budite prvi koji komentarišete

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.