75% aplikacji komercyjnych zawiera przestarzały kod źródłowy z lukami

Firma Synopsys przeanalizowała 1253 komercyjnych baz kodu i doszła do wniosku, że prawie wszystkie (99%) rozważane aplikacje komercyjne zawierają przynajmniej jeden komponent z otwartym kodem źródłowym, a 70% kodu w rozważanych repozytoriach jest otwarte. Dla porównania, w podobnym badaniu z 2015 roku udział otwartego kodu wynosił 36%.

Jednak w większości przypadków wykorzystany zewnętrzny kod otwarty nie jest aktualizowany i zawiera potencjalne problemy z bezpieczeństwem - w 91% badanych baz kodów znajdują się otwarte komponenty, które nie były aktualizowane przez ponad 5 lat lub przez co najmniej dwa lata są w porzuconym stanie i nie są wspierane przez programistów. W rezultacie w 75% wykrytego w repozytoriach otwartego kodu obecne są niezałatane znane podatności, z których połowa ma wysoki poziom niebezpieczeństwa. W próbie z 2018 roku udział kodu z podatnościami wynosił 60%.

Najczęściej występującą niebezpieczną podatnością stała się
problem CVE-2018-16487 (zdalne wykonywanie kodu) w bibliotece (42 tysiące linii kodu, 28 autorów, 2 komiterów, 30 otwartych problemów); dla Node.js, wersje wrażliwe na tę podatność wystąpiły ponad 500 razy. Najstarszą niezałataną podatnością była kwestia w demonie lpd (CVE-1999-0061), naprawiona w 1999 roku.

Oprócz bezpieczeństwa w bazach kodu projektów komercyjnych dostrzega się również lekceważące podejście do przestrzegania warunków licencji Open Source.
W 73% baz kodów znaleziono problemy z legalnością używania otwartego kodu, na przykład niezgodności licencyjne (zwykle kod GPL jest włączany do komercyjnych produktów bez udostępnienia produktu pochodnego) lub używanie kodu bez wskazania licencji. 93% wszystkich problemów z licencjami występuje w aplikacjach sieciowych i mobilnych. W grach, systemach wirtualnej rzeczywistości, programach multimedialnych i rozrywkowych naruszenia zauważono w 59% przypadków.

W trakcie badania wyodrębniono 124 typowe komponenty otwarte, które są zwykle używane we wszystkich bazach kodów. Najbardziej popularne z nich to: jQuery (55%), Bootstrap (40%), Font Awesome (31%), Lodash (30%) i jQuery UI (29%). W zakresie języków programowania najpopularniejsze są JavaScript (używany w 74% projektów), C++ (57%), Shell (54%), C (50%), Python (46%), Java (40%), TypeScript (36%), C# (36%); Perl (30%) i Ruby (25%). Całkowity udział języków programowania wynosi:
JavaScript (51%), C++ (10%), Java (7%), Python (7%), Ruby (5%), Go (4%), C (4%), PHP (4%), TypeScript (4%), C# (3%), Perl (2%) oraz Shell (1%).

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster