Ocena bibliotek wymagających specjalnych kontroli bezpieczeństwa

Fundacja utworzona przez Linux Foundation Inicjatywa dotycząca infrastruktury podstawowej, w którym wiodące korporacje połączyły siły, aby wspierać projekty open source w kluczowych obszarach branży komputerowej, zużyty drugie badanie w ramach programu Spis ludności, którego celem jest identyfikacja projektów open source wymagających priorytetowych audytów bezpieczeństwa.

Drugie badanie koncentruje się na analizie współdzielonego kodu open source wykorzystywanego implicite w różnych projektach korporacyjnych w postaci zależności pobieranych z zewnętrznych repozytoriów. Luki w zabezpieczeniach i kompromisy twórców komponentów stron trzecich zaangażowanych w działanie aplikacji (łańcuch dostaw) mogą zniweczyć wszelkie wysiłki mające na celu poprawę ochrony głównego produktu. W wyniku badań tak zdecydowanie 10 najczęściej używanych pakietów w JavaScript i Javie, których bezpieczeństwo i łatwość konserwacji wymagają szczególnej uwagi.

Biblioteki JavaScript z repozytorium npm:

  • async (196 tys. linii kodu, 11 autorów, 7 autorów, 11 otwartych spraw);
  • dziedziczy (3.8 tys. linii kodu, 3 autorów, 1 osoba zatwierdzająca, 3 nierozwiązane problemy);
  • isarray (317 linii kodu, 3 autorów, 3 autorów, 4 otwarte kwestie);
  • rodzaj (2 tys. linii kodu, 11 autorów, 11 autorów, 3 nierozwiązane problemy);
  • lodasz (42 tys. linii kodu, 28 autorów, 2 autorów, 30 otwartych spraw);
  • minimista (1.2 tys. linii kodu, 14 autorów, 6 autorów, 38 otwartych spraw);
  • tubylcy (3 tysiące linii kodu, 2 autorów, 1 osoba zatwierdzająca, brak otwartych problemów);
  • qs (5.4 tys. linii kodu, 5 autorów, 2 autorów, 41 otwartych spraw);
  • czytelny strumień (28 tys. linii kodu, 10 autorów, 3 autorów, 21 otwartych spraw);
  • dekoder_ciągowy (4.2 tys. linii kodu, 4 autorów, 3 autorów, 2 otwarte zgłoszenia).

Biblioteki Java z repozytoriów Maven:

  • rdzeń jacksona (74 tys. linii kodu, 7 autorów, 6 autorów, 40 otwartych spraw);
  • wiązanie danych jacksona (74 tys. linii kodu, 23 autorów, 2 autorów, 363 otwartych spraw);
  • guava.git, biblioteki Google dla Javy (1 milion linii kodu, 83 autorów, 3 osoby odpowiedzialne za zatwierdzanie, 620 otwartych problemów);
  • kodek Commons (51 tys. linii kodu, 3 autorów, 3 autorów, 29 otwartych kwestii);
  • commons-io (73 tys. linii kodu, 10 autorów, 6 autorów, 148 otwartych spraw);
  • Klient httpcomponents (121 tys. linii kodu, 16 autorów, 8 autorów, 47 otwartych kwestii);
  • httpcomponents-core (131 tys. linii kodu, 15 autorów, 4 autorów, 7 otwartych kwestii);
  • logback (154 tys. linii kodu, 1 autor, 2 autorów, 799 otwartych kwestii);
  • język wspólny (168 tys. linii kodu, 28 autorów, 17 autorów, 163 otwarte kwestie);
  • slf4j (38 tys. linii kodu, 4 autorów, 4 autorów, 189 otwartych kwestii);

W raporcie poruszono także kwestie standaryzacji schematu nazewnictwa komponentów zewnętrznych, ochrony kont programistów i utrzymywania starszych wersji po wprowadzeniu nowych, głównych wydań. Dodatkowo opublikowane przez Linux Foundation dokument z praktycznymi zaleceniami dotyczącymi organizacji bezpiecznego procesu rozwoju projektów open source.

Dokument porusza kwestie podziału ról w projekcie, tworzenia zespołów odpowiedzialnych za bezpieczeństwo, definiowania polityk bezpieczeństwa, monitorowania uprawnień, jakie posiadają uczestnicy projektu, prawidłowego korzystania z Gita przy naprawianiu podatności w celu uniknięcia wycieków przed publikacją poprawki, definiowania procesów reagowania na zgłoszenia problemów z bezpieczeństwem, wdrażanie systemów testowania bezpieczeństwa, stosowanie procedur przeglądu kodu, uwzględnienie kryteriów związanych z bezpieczeństwem przy tworzeniu wydań.

Źródło: opennet.ru

Dodaj komentarz