GitHub uruchomił system uczenia maszynowego, aby znaleźć luki w kodzie

Logo GitHub

Udostępniono GitHub kilka dni temu dodanie eksperymenty systemu uczenia maszynowegol do usługi skanowania kodu zidentyfikować typowe rodzaje luk w zabezpieczeniach W kodzie. Dzięki temu technologia analizy kodu oparta na CodeQL firmy GitHub została zmodernizowana i teraz wykorzystuje uczenie maszynowe (ML) do znajdowania potencjalnych luk w zabezpieczeniach kodu.

I to jest ten GitHub nabył technologię dla CodeQL w ramach przejęcia Semmie. CodeQL jest używany przez zespoły zajmujące się badaniami bezpieczeństwa do przeprowadzania semantycznej analizy kodu, a GitHub uczynił go open source.

Dzięki tym modelom CodeQL może zidentyfikować więcej niezaufanych strumieni danych użytkownika, a tym samym więcej potencjalnych luk w zabezpieczeniach.

Obserwuje się, że zastosowanie systemu uczenia maszynowego pozwoliło znacznie rozszerzyć zakres identyfikowanych problemów, w których analizie system nie ogranicza się obecnie do weryfikacji typowych wzorców i nie jest powiązany ze znanymi frameworkami.

Wśród problemów zidentyfikowanych przez nowy system wymienia się błędy prowadzące do cross-site scripting (XSS), zniekształcenia ścieżek plików (np. poprzez wskazanie „/..”), podmiany zapytań SQL i NoSQL.

Skanowanie kodu może teraz znaleźć więcej potencjalnych luk w zabezpieczeniach, wykorzystując nowy model uczenia głębokiego. Ta eksperymentalna funkcja jest dostępna w publicznej wersji beta dla repozytoriów JavaScript i TypeScript w witrynie GitHub.com.

Nowe narzędzie GitHub fue wydane jako bezpłatna publiczna wersja beta W przypadku wszystkich użytkowników funkcja wykorzystuje uczenie maszynowe i głębokie uczenie do skanowania baz kodu i identyfikowania typowych luk w zabezpieczeniach przed wysłaniem produktu.

Ta eksperymentalna funkcja jest obecnie dostępna dla wszystkich użytkowników platformy, w tym użytkowników GitHub Enterprise, jako GitHub Advanced Security Feature i może być używana w projektach napisanych w JavaScript lub TypeScript.

Wraz z szybką ewolucją ekosystemu open source, stale wydłuża się ogon bibliotek, które są rzadziej używane. Używamy przykładów z ręcznie tworzonych zapytań CodeQL, aby trenować modele uczenia głębokiego w celu rozpoznawania bibliotek open source, a także wewnętrznie opracowanych bibliotek zamkniętych.

Narzędzie ma na celu wyszukiwanie czterech najczęstszych luk w zabezpieczeniach które wpływają na projekty napisane w tych dwóch językach: cross-site scripting (XSS), wstrzyknięcie trasy, wstrzyknięcie NoSQL i wstrzyknięcie SQL.

Usługa skanowania kodu pozwala wykryć luki na wczesnym etapie rozwoju, skanując każdą operację git push pod kątem potencjalnych problemów.

Wynik jest dołączany bezpośrednio do żądania ściągnięcia. Wcześniej sprawdzanie odbywało się za pomocą silnika CodeQL, który analizuje wzorce z typowymi przykładami podatnego kodu (CodeQL pozwala na wygenerowanie szablonu podatnego kodu w celu wykrycia obecności podobnej podatności w kodzie innych projektów).

Dzięki nowym możliwościom analizy, Code Scanning może generować jeszcze więcej alertów dla czterech typowych wzorców luk w zabezpieczeniach: Cross-Site Scripting (XSS), Path Injection, NoSQL Injection i SQL Injection. Razem te cztery typy luk reprezentują wiele z ostatnich luk (CVE) w ekosystemie JavaScript/TypeScript, a poprawa zdolności skanowania kodu w celu wykrycia takich luk na wczesnym etapie procesu rozwoju jest kluczem do pomocy programistom w pisaniu bezpieczniejszego kodu.

Nowy silnik uczenia maszynowego potrafi zidentyfikować nieznane wcześniej luki w zabezpieczeniach ponieważ nie jest powiązany z powtarzaniem wzorców kodu, które opisują określone luki w zabezpieczeniach. Ceną takiej możliwości jest wzrost liczby fałszywych trafień w porównaniu z kontrolami opartymi na CodeQL.

W końcu dla tych, którzy chcą dowiedzieć się więcej na ten temat, możesz sprawdzić szczegóły W poniższym linku.

Należy również wspomnieć, że na etapie testowania nowa funkcjonalność jest obecnie dostępna tylko dla repozytoriów z kodem JavaScript i TypeScript.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.