75% de komercaj aplikoj inkluzivas malmodernan malfermfontan kodon kun vundeblecoj

Synopsys Kompanio analizita 1253 komercaj kodbazoj kaj finis ke preskaŭ ĉiuj (99%) de la komercaj aplikoj recenzitaj inkludis almenaŭ unu malfermfontecan komponenton, kaj 70% de la kodo en la deponejoj recenzitaj estis malfermfonte. Por komparo, en simila studo en 2015, la parto de malferma fonto estis 36%.

Tamen, en la plej multaj kazoj, la triaparta malferma fontkodo uzata ne estas ĝisdatigita kaj enhavas eblajn sekurecproblemojn - 91% de la kodbazoj recenzitaj havas malfermajn komponentojn kiuj ne estis ĝisdatigitaj dum pli ol 5 jaroj aŭ estis en forlasita formo por almenaŭ du jarojn kaj ne estas konservitaj de programistoj. Kiel rezulto, 75% de malferma fontkodo identigita en deponejoj enhavas neflakitajn konatajn vundeblecojn, duono de kiuj havas altan nivelon de danĝero. En la specimeno de 2018, la parto de kodo kun vundeblecoj estis 60%.

La plej ofta danĝera vundebleco estis
la problemo CVE-2018-16487 (fora koda ekzekuto) en la biblioteko lodash por Node.js, vundeblaj versioj de kiuj estis renkontitaj pli ol 500 fojojn. La plej malnova neflikita vundebleco estis problemo en la lpd-demono (CVE-1999-0061), reviziita en 1999.

Krom sekureco en la kodaj bazoj de komercaj projektoj, ekzistas ankaŭ nezorgema sinteno al plenumo de la kondiĉoj de liberaj permesiloj.
En 73% de kodbazoj, problemoj estis trovitaj kun la laŭleĝeco de uzado de malferma fonto, ekzemple, malkongruaj licencoj (kutime GPL-kodo estas inkluzivita en komercaj produktoj sen malfermi derivitan produkton) aŭ uzo de kodo sen specifi permesilon. 93% de ĉiuj licencaj problemoj okazas en retejo kaj moveblaj aplikoj. En ludoj, virtualrealaj sistemoj, plurmediaj kaj distraj programoj, malobservoj estis rimarkitaj en 59% de kazoj.

Entute, la studo identigis 124 tipajn malfermajn komponentojn, kiuj estas ofte uzataj en ĉiuj kodbazoj. La plej popularaj estas: jQuery (55%), Bootstrap (40%), Font Awesome (31%), Lodash (30%) kaj jQuery UI (29%). Koncerne programlingvojn, la plej popularaj estas JavaScript (uzita en 74% de projektoj), C++ (57%), Shell (54%), C (50%), Python (46%), Java (40%), TypeScript (36%), C# (36%); Perl (30%) kaj Ruby (25%). La tuta parto de programlingvoj estas:
JavaScript (51%), C++ (10%), Java (7%), Python (7%), Ruby (5%), Go (4%), C (4%), PHP (4%), TypeScript ( 4%), C# (3%), Perl (2%) kaj Ŝelo (1%).

fonto: opennet.ru

Aldoni komenton