75% komercijalnih aplikacija uključuje zastarjeli open source kod sa ranjivostima

Synopsys Company analizirano 1253 komercijalne kodne baze i zaključili da skoro sve (99%) pregledanih komercijalnih aplikacija uključuju najmanje jednu komponentu otvorenog koda, a 70% koda u pregledanim repozitorijumima je otvorenog koda. Poređenja radi, u sličnoj studiji iz 2015. godine udio otvorenog koda iznosio je 36%.

Međutim, u većini slučajeva, otvoreni izvorni kod treće strane koji se koristi nije ažuriran i sadrži potencijalne sigurnosne probleme - 91% pregledanih baza kodova ima otvorene komponente koje nisu ažurirane više od 5 godina ili su bile u napuštenom obliku za najmanje dvije godine i programeri ih ne održavaju. Kao rezultat toga, 75% otvorenog koda identifikovanog u repozitorijumima sadrži nezakrpljene poznate ranjivosti, od kojih polovina ima visok nivo opasnosti. U uzorku iz 2018. udio koda sa ranjivostima iznosio je 60%.

Najčešća opasna ranjivost bila je
problem CVE-2018-16487 (daljinsko izvršavanje koda) u biblioteci lodash za Node.js, čije su ranjive verzije naišle više od 500 puta. Najstarija nezakrpljena ranjivost bila je problem u lpd demonu (CVE-1999-0061), revidiran 1999.

Osim sigurnosti u kodnim osnovama komercijalnih projekata, postoji i nemaran odnos prema poštivanju uslova besplatnih licenci.
U 73% kodnih baza pronađeni su problemi sa 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 licencama javlja se u web i mobilnim aplikacijama. U igricama, sistemima virtuelne realnosti, multimedijalnim i zabavnim programima, prekršaji su uočeni u 59% slučajeva.

Ukupno, studija je identifikovala 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