75% komercijalnih aplikacija uključuje zastarjeli otvoreni kod s ranjivostima

Tvrtka Synopsys analizirani 1253 komercijalne baze kodova i zaključili da gotovo sve (99%) pregledanih komercijalnih aplikacija uključuju barem jednu komponentu otvorenog koda, a 70% koda u pregledanim repozitorijima je otvorenog koda. Usporedbe radi, u sličnoj studiji 2015. udio otvorenog koda bio je 36%.

Međutim, u većini slučajeva korišteni otvoreni izvorni kod treće strane nije ažuriran i sadrži potencijalne sigurnosne probleme - 91% pregledanih baza koda ima otvorene komponente koje nisu ažurirane više od 5 godina ili su bile u napuštenom obliku već najmanje dvije godine i ne održavaju ih programeri. Kao rezultat toga, 75% otvorenog izvornog koda identificiranog u spremištima sadrži nezakrpane poznate ranjivosti, od kojih polovica ima visoku razinu opasnosti. U uzorku iz 2018. udio koda s ranjivostima bio je 60%.

Najčešća opasna ranjivost bila je
problem CVE-2018-16487 (daljinsko izvođenje koda) u knjižnici lodaš za Node.js, čije su se ranjive verzije susrele više od 500 puta. Najstarija nezakrpana ranjivost bila je problem u lpd daemonu (CVE-1999-0061), revidirano 1999.

Osim sigurnosti kodnih baza komercijalnih projekata, prisutan je i nemaran odnos prema poštivanju uvjeta besplatnih licenci.
U 73% baza koda pronađeni su problemi s zakonitošću korištenja otvorenog koda, na primjer, nekompatibilne licence (obično je GPL kod uključen u komercijalne proizvode bez otvaranja izvedenog proizvoda) ili korištenje koda bez navođenja licence. 93% svih problema s licencom događa se u web i mobilnim aplikacijama. U igrama, sustavima virtualne stvarnosti, multimedijskim i zabavnim programima kršenja su uočena u 59% slučajeva.

Studija je identificirala ukupno 124 tipične otvorene komponente koje se obično koriste u svim bazama koda. Najpopularniji su: jQuery (55%), Bootstrap (40%), Font Awesome (31%), Lodash (30%) i jQuery UI (29%). Što se tiče programskih jezika, najpopularniji su JavaScript (koristi se u 74% projekata), C++ (57%), Shell (54%), C (50%), Python (46%), Java (40%), TypeScript (36%), C# (36%); Perl (30%) i Ruby (25%). Ukupan udio programskih jezika je:
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%).

Izvor: opennet.ru

Dodajte komentar