75% aplikacji komercyjnych zawiera przestarzały kod open source z lukami w zabezpieczeniach

Firma Synopsys analizowane 1253 komercyjnych baz kodów i doszedł do wniosku, że prawie wszystkie (99%) sprawdzonych aplikacji komercyjnych zawierały co najmniej jeden komponent typu open source, a 70% kodu w sprawdzonych repozytoriach było typu open source. Dla porównania w podobnym badaniu z 2015 roku udział open source wyniósł 36%.

Jednak w większości przypadków używany kod open source stron trzecich nie jest aktualizowany i zawiera potencjalne problemy związane z bezpieczeństwem - 91% sprawdzonych baz kodów ma otwarte komponenty, które nie były aktualizowane od ponad 5 lat lub były w porzuconej formie przez co najmniej dwa lata i nie są utrzymywane przez programistów. W rezultacie 75% kodu open source zidentyfikowanego w repozytoriach zawiera niezałatane znane luki w zabezpieczeniach, z których połowa charakteryzuje się wysokim poziomem zagrożenia. W próbie z 2018 r. udział kodu zawierającego luki wyniósł 60%.

Najczęstszą niebezpieczną luką była
problem CVE-2018-16487 (zdalne wykonanie kodu) w bibliotece lodasz dla Node.js, którego podatne wersje napotkano ponad 500 razy. Najstarszą niezałataną luką był problem w demonie lpd (CVE-1999-0061), poprawiony w 1999 r.

Oprócz bezpieczeństwa w bazach kodu projektów komercyjnych, istnieje również niedbałe podejście do przestrzegania warunków wolnych licencji.
W 73% baz kodów stwierdzono problemy z legalnością korzystania z open source, np. niezgodne licencje (zwykle kod GPL jest zawarty w produktach komercyjnych bez otwierania produktu pochodnego) lub użycie kodu bez określenia licencji. 93% wszystkich problemów z licencjami występuje w aplikacjach internetowych i mobilnych. W grach, systemach wirtualnej rzeczywistości, programach multimedialnych i rozrywkowych naruszenia stwierdzono w 59% przypadków.

W sumie w badaniu zidentyfikowano 124 typowe otwarte komponenty, które są powszechnie stosowane we wszystkich bazach kodu. Najpopularniejsze to: jQuery (55%), Bootstrap (40%), Font Awesome (31%), Lodash (30%) i jQuery UI (29%). Jeśli chodzi o języki programowania, najpopularniejsze to JavaScript (wykorzystywany w 74% projektów), C++ (57%), Shell (54%), C (50%), Python (46%), Java (40%), TypeScript (36%), C# (36%); Perl (30%) i Rubin (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%) i Shell (1%).

Źródło: opennet.ru

Dodaj komentarz