GitHub je lansiral sistem strojnega učenja za iskanje ranljivosti v kodi

Logotip GitHub

GitHub je predstavljen pred nekaj dnevi dodajanje eksperimenti s sistemom strojnega učenjal za storitev skeniranja kod prepoznati pogoste vrste ranljivosti V kodi. S tem je bila GitHubova tehnologija analize kode, ki temelji na CodeQL, prenovljena in zdaj uporablja strojno učenje (ML) za iskanje morebitnih varnostnih ranljivosti v kodi.

In to je tisti GitHub pridobil tehnologijo za CodeQL kot del prevzema Semmie. CodeQL uporabljajo skupine za varnostne raziskave za izvajanje semantične analize kode, GitHub pa jo je naredil odprtokodno.

S temi modeli lahko CodeQL prepozna več nezaupljivih tokov uporabniških podatkov in s tem več potencialnih varnostnih ranljivosti.

Opažamo, da je uporaba sistema strojnega učenja omogočila znatno razširitev spektra ugotovljenih problemov, pri katerih analiza zdaj ni omejena na preverjanje tipičnih vzorcev in ni vezan na znane okvire.

Med težavami, ki jih je odkril novi sistem, so omenjene napake, ki vodijo do skriptov na več mestih (XSS), popačenje poti datotek (na primer z navedbo "/.."), zamenjava poizvedb SQL in NoSQL. .

Skeniranje kode lahko zdaj odkrije več potencialnih varnostnih ranljivosti z uporabo novega modela globokega učenja. Ta poskusna funkcija je na voljo v javni različici beta za repozitorije JavaScript in TypeScript na GitHub.com.

Novo orodje GitHub fue izdana kot brezplačna javna beta Za vse uporabnike funkcija uporablja strojno učenje in poglobljeno učenje za skeniranje baz kod in prepoznavanje pogostih varnostnih ranljivosti, preden je izdelek odpremljen.

Eksperimentalna funkcija je trenutno na voljo vsem uporabnikom platforme, vključno z uporabniki GitHub Enterprise kot napredna varnostna funkcija GitHub, in se lahko uporablja za projekte, napisane v JavaScriptu ali TypeScript.

S hitrim razvojem odprtokodnega ekosistema je vedno večji rep knjižnic, ki se uporabljajo manj pogosto. Uporabljamo primere iz ročno ustvarjenih poizvedb CodeQL za usposabljanje modelov globokega učenja za prepoznavanje odprtokodnih knjižnic kot tudi interno razvitih zaprtokodnih knjižnic.

Orodje je zasnovan tako, da išče štiri najpogostejše ranljivosti ki vplivajo na projekte, napisane v teh dveh jezikih: Skriptiranje na več mestih (XSS), injekcija poti, injekcija NoSQL in injekcija SQL.

Storitev skeniranja kode vam omogoča odkrivanje ranljivosti v zgodnji fazi razvoja s skeniranjem vsake potiske operacije git za morebitne težave.

Rezultat je priložen neposredno zahtevi za vleko. Prej je bilo preverjanje opravljeno z motorjem CodeQL, ki analizira vzorce z značilnimi primeri ranljive kode (CodeQL vam omogoča generiranje predloge ranljive kode za odkrivanje prisotnosti podobne ranljivosti v kodi drugih projektov).

Z novimi zmožnostmi analize lahko skeniranje kode ustvari še več opozoril za štiri pogoste vzorce ranljivosti: skriptiranje med spletnimi stranmi (XSS), injekcijo poti, injekcijo NoSQL in injekcijo SQL. Ti štiri vrste ranljivosti skupaj predstavljajo številne nedavne ranljivosti (CVE) v ekosistemu JavaScript/TypeScript, izboljšanje sposobnosti skeniranja kode za odkrivanje takšnih ranljivosti v zgodnji fazi razvoja pa je ključnega pomena za pomoč razvijalcem pri pisanju varnejše kode.

Nov motor za strojno učenje lahko prepozna prej neznane ranljivosti ker ni vezan na ponavljanje vzorcev kode, ki opisujejo posebne ranljivosti. Cena takšne priložnosti je povečanje števila lažnih pozitivnih rezultatov v primerjavi s preverjanji, ki temeljijo na CodeQL.

Končno za tiste, ki jih zanima več o tem, lahko preverite podrobnosti V naslednji povezavi.

Prav tako je pomembno omeniti, da je v fazi testiranja nova funkcionalnost trenutno na voljo samo za repozitorije s kodo JavaScript in TypeScript.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.