GitHub ieviesa mašīnmācīšanās sistēmu, lai atrastu koda ievainojamības

GitHub logotips

GitHub atklāts pirms dažām dienām pievienošana mašīnmācības sistēmas eksperimentil uz koda skenēšanas pakalpojumu lai noteiktu izplatītākos ievainojamību veidus Kodā. Līdz ar to GitHub CodeQL balstītā koda analīzes tehnoloģija ir pārveidota un tagad izmanto mašīnmācīšanos (ML), lai atrastu iespējamās koda drošības ievainojamības.

Un tas ir tas GitHub iegādājās CodeQL tehnoloģiju kā daļa no Semmie iegādes. CodeQL izmanto drošības izpētes grupas, lai veiktu koda semantisko analīzi, un GitHub padarīja to par atvērto avotu.

Izmantojot šos modeļus, CodeQL var identificēt vairāk neuzticamu lietotāju datu straumju un tādējādi vairāk potenciālo drošības ievainojamību.

Tiek novērots, ka mašīnmācīšanās sistēmas izmantošana ir ļāvusi būtiski paplašināt identificēto problēmu loku, kuru analīzē sistēma tagad neaprobežojas tikai ar tipisku modeļu pārbaudi un nav piesaistīta zināmiem ietvariem.

No jaunās sistēmas identificētajām problēmām tiek minētas kļūdas, kas noved pie starpvietņu skriptēšanas (XSS), failu ceļu izkropļojumi (piemēram, izmantojot norādi "/.."), SQL un NoSQL vaicājumu aizstāšana.

Koda skenēšana tagad var atrast vairāk potenciālu drošības ievainojamību, izmantojot jaunu dziļās mācīšanās modeli. Šī eksperimentālā funkcija ir pieejama publiskajā beta versijā JavaScript un TypeScript krātuvēm vietnē GitHub.com.

GitHub jaunais rīks fue ir izlaists kā bezmaksas publiska beta versija Visiem lietotājiem šī funkcija izmanto mašīnmācīšanos un dziļo apmācību, lai pirms produkta nosūtīšanas skenētu koda bāzes un noteiktu izplatītākās drošības ievainojamības.

Eksperimentālā funkcija pašlaik ir pieejama visiem platformas lietotājiem, tostarp GitHub Enterprise lietotājiem kā GitHub Advanced Security Feature, un to var izmantot projektiem, kas rakstīti JavaScript vai TypeScript.

Strauji attīstoties atvērtā pirmkoda ekosistēmai, arvien pieaug bibliotēku skaits, kuras tiek izmantotas retāk. Mēs izmantojam piemērus no manuāli izveidotiem CodeQL vaicājumiem, lai apmācītu dziļās mācīšanās modeļus, lai atpazītu atvērtā pirmkoda bibliotēkas, kā arī iekšēji izstrādātas slēgtā pirmkoda bibliotēkas.

Rīks ir izstrādāts, lai meklētu četras visizplatītākās ievainojamības kas ietekmē projektus, kas rakstīti šajās divās valodās: starpvietņu skriptēšana (XSS), maršruta ievadīšana, NoSQL injekcija un SQL injekcija.

Kodu skenēšanas pakalpojums ļauj atklāt ievainojamības agrīnā izstrādes stadijā, pārbaudot katru git push operāciju, lai noteiktu iespējamās problēmas.

Rezultāts tiek pievienots tieši vilkšanas pieprasījumam. Iepriekš pārbaude tika veikta, izmantojot CodeQL dzinēju, kas analizē modeļus ar tipiskiem ievainojama koda piemēriem (CodeQL ļauj ģenerēt ievainojamā koda veidni, lai noteiktu līdzīgas ievainojamības esamību citu projektu kodā).

Izmantojot jaunas analīzes iespējas, koda skenēšana var ģenerēt vēl vairāk brīdinājumu par četriem izplatītiem ievainojamības modeļiem: Cross-Site Scripting (XSS), ceļa ievadīšana, NoSQL injekcija un SQL ievadīšana. Šie četri ievainojamību veidi kopā atspoguļo daudzas jaunākās ievainojamības (CVE) JavaScript/TypeScript ekosistēmā, un koda skenēšanas spējas uzlabošana, lai atklātu šādas ievainojamības agrīnā izstrādes procesā, ir ļoti svarīga, lai palīdzētu izstrādātājiem rakstīt drošāku kodu.

Jaunais mašīnmācīšanās dzinējs var identificēt iepriekš nezināmas ievainojamības jo tas nav saistīts ar koda modeļu iterāciju, kas apraksta konkrētas ievainojamības. Šādas iespējas cena ir viltus pozitīvu rezultātu skaita pieaugums salīdzinājumā ar CodeQL balstītām pārbaudēm.

Beidzot tiem, kurus interesē uzzināt vairāk par to, varat pārbaudīt detaļas Šajā saitē.

Tāpat svarīgi pieminēt, ka testēšanas stadijā jaunā funkcionalitāte šobrīd ir pieejama tikai krātuvēm ar JavaScript un TypeScript kodu.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.