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);
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ń.