75 % komerčních aplikací obsahuje zastaralý otevřený zdrojový kód s chybami zabezpečení

Společnost Synopsys analyzovány 1253 99 komerčních kódových bází a došlo k závěru, že téměř všechny (70 %) kontrolovaných komerčních aplikací obsahovaly alespoň jednu open source komponentu a 2015 % kódu v kontrolovaných repozitářích bylo open source. Pro srovnání, v podobné studii v roce 36 byl podíl open source XNUMX %.

Ve většině případů však použitý otevřený zdrojový kód třetí strany není aktualizován a obsahuje potenciální bezpečnostní problémy – 91 % revidovaných kódových základen má otevřené komponenty, které nebyly aktualizovány déle než 5 let nebo byly v opuštěné podobě pro nejméně dva roky a nejsou udržovány vývojáři. Výsledkem je, že 75 % open source kódu identifikovaného v repozitářích obsahuje neopravené známé zranitelnosti, z nichž polovina má vysokou úroveň nebezpečí. Ve vzorku z roku 2018 byl podíl kódu se zranitelnostmi 60 %.

Nejčastější nebezpečnou zranitelností byla
problém CVE-2018-16487 (vzdálené spuštění kódu) v knihovně lodash pro Node.js, jehož zranitelné verze byly zjištěny více než 500krát. Nejstarší neopravená chyba zabezpečení byl problém v démonu lpd (CVE-1999-0061), revidovaný v roce 1999.

Kromě bezpečnosti v kódových základech komerčních projektů jde také o nedbalý přístup k dodržování podmínek bezplatných licencí.
V 73 % kódových bází byly zjištěny problémy s legálností používání open source, například nekompatibilní licence (obvykle je GPL kód součástí komerčních produktů bez otevření odvozeného produktu) nebo použití kódu bez specifikace licence. 93 % všech problémů s licencí se vyskytuje ve webových a mobilních aplikacích. Ve hrách, systémech virtuální reality, multimediálních a zábavních programech bylo porušení zjištěno v 59 % případů.

Celkem studie identifikovala 124 typických otevřených komponent, které se běžně používají ve všech kódových bázích. Mezi nejoblíbenější patří: jQuery (55 %), Bootstrap (40 %), Font Awesome (31 %), Lodash (30 %) a jQuery UI (29 %). Z programovacích jazyků jsou nejoblíbenější JavaScript (používá se v 74 % projektů), C++ (57 %), Shell (54 %), C (50 %), Python (46 %), Java (40 %), TypeScript (36 %), C# (36 %); Perl (30 %) a Ruby (25 %). Celkový podíl programovacích jazyků je:
JavaScript (51 %), C++ (10 %), Java (7 %), Python (7 %), Ruby (5 %), Go (4 %), C (4 %), PHP (4 %), TypeScript ( 4 %), C# (3 %), Perl (2 %) a Shell (1 %).

Zdroj: opennet.ru

Přidat komentář