Utworzony przez organizację Linux Foundation fundusz , w ramach którego wiodące korporacje połączyły swoje wysiłki w celu wsparcia otwartych projektów zaangażowanych w kluczowe obszary przemysłu komputerowego, drugie badanie w ramach programu , mającego na celu identyfikację otwartych projektów potrzebujących pilnego audytu bezpieczeństwa.
Drugie badanie koncentruje się na analizie wspólnie używanego otwartego kodu, niejawnie stosowanego w różnych projektach korporacyjnych w formie zależności pobieranych z zewnętrznych repozytoriów. Luki w zabezpieczeniach i kompromitacja twórców komponentów zewnętrznych, używanych w aplikacjach (supply chain), mogą zniweczyć wszystkie wysiłki w celu poprawy bezpieczeństwa podstawowego produktu. W wyniku badania stwierdzono Biblioteki JavaScript z repozytorium npm:
async
- inherits
- isarray
- kind-of
- lodash
- minimist
- natives
- qs
- readable-stream
- string_decoder
- Biblioteki Java z repozytoriów Maven:
jackson-core
- jackson-databind
- guava.git
- commons-codec
- commons-io
- httpcomponents-client
- (121 tysięcy linii kodu, 16 autorów, 8 osób wprowadzających zmiany, 47 otwartych problemów);
- (131 tysięcy linii kodu, 15 autorów, 4 osoby wprowadzające zmiany, 7 otwartych problemów);
- (154 tysiące linii kodu, 1 autor, 2 osoby wprowadzające zmiany, 799 otwartych problemów);
- (168 tysięcy linii kodu, 28 autorów, 17 osób wprowadzających zmiany, 163 otwarte problemy);
- (38 tysięcy linii kodu, 4 autorów, 4 osoby wprowadzające zmiany, 189 otwartych problemów);
W raporcie omówiono również kwestie standaryzacji schematu nazewnictwa zewnętrznych komponentów, ochrony kont deweloperów oraz utrzymywania przestarzałych wersji po wydaniu nowych istotnych wydań. Dodatkowo organizacja Linux Foundation opublikowała z praktycznymi zaleceniami dotyczącymi organizacji bezpiecznego procesu tworzenia projektów open source.
Dokument omawia kwestie rozdziału ról w projekcie, tworzenia zespołów odpowiedzialnych za bezpieczeństwo, określenia polityki bezpieczeństwa, monitorowania uprawnień członków projektu, prawidłowego korzystania z Gita przy naprawianiu luk, aby uniknąć wycieków przed publikacją poprawek, określenia procesów reagowania na zgłoszenia dotyczące bezpieczeństwa, wdrożenia systemów testów bezpieczeństwa, stosowania procedur przeglądu kodu oraz uwzględnienia kryteriów bezpieczeństwa przy przygotowywaniu wydań.
Źródło: opennet.ru
