75% kommertsrakendustest sisaldavad aegunud avatud lähtekoodi koos haavatavustega

Ettevõte Synopsys analüüsitud 1253 kaubanduslikku koodibaasi ja jõudsid järeldusele, et peaaegu kõik (99%) üle vaadatud kommertsrakendused sisaldasid vähemalt ühte avatud lähtekoodiga komponenti ja 70% ülevaadatud hoidlates olevast koodist oli avatud lähtekoodiga. Võrdluseks, 2015. aasta sarnases uuringus oli avatud lähtekoodi osakaal 36%.

Kuid enamikul juhtudel ei uuendata kasutatav kolmanda osapoole avatud lähtekoodi kood ja see sisaldab potentsiaalseid turvaprobleeme – 91% üle vaadatud koodibaasidest on avatud komponendid, mida pole värskendatud üle 5 aasta või mis on olnud kasutusest loobutud kujul. vähemalt kaks aastat ja arendajad neid ei hoolda. Seetõttu sisaldab 75% hoidlates tuvastatud avatud lähtekoodist paikamata teadaolevaid turvaauke, millest pooled on kõrge ohutasemega. 2018. aasta valimis oli haavatavustega koodi osakaal 60%.

Kõige tavalisem ohtlik haavatavus oli
probleem CVE-2018-16487 (koodi kaugkäivitamine) raamatukogus lodash Node.js jaoks, mille haavatavaid versioone kohtati rohkem kui 500 korda. Vanim parandamata haavatavus oli probleem lpd deemonis (CVE-1999-0061), muudetud 1999. aastal.

Lisaks turvalisusele kommertsprojektide koodibaasides suhtutakse ka hooletult tasuta litsentside tingimuste täitmisesse.
73% koodibaasidest leiti probleeme avatud lähtekoodiga kasutamise seaduslikkusega, näiteks ühildumatud litsentsid (tavaliselt lisatakse GPL-kood kommertstoodetesse ilma tuletistoote avamata) või koodi kasutamine ilma litsentsi määramata. 93% kõigist litsentsiprobleemidest ilmnevad veebi- ja mobiilirakendustes. Mängudes, virtuaalreaalsussüsteemides, multimeedia- ja meelelahutusprogrammides märgati rikkumisi 59% juhtudest.

Kokku tuvastas uuring 124 tüüpilist avatud komponenti, mida tavaliselt kasutatakse kõigis koodibaasides. Kõige populaarsemad on: jQuery (55%), Bootstrap (40%), Font Awesome (31%), Lodash (30%) ja jQuery kasutajaliides (29%). Programmeerimiskeelte osas on populaarseimad JavaScript (kasutatakse 74% projektides), C++ (57%), Shell (54%), C (50%), Python (46%), Java (40%), TypeScript (36%), C# (36%); Perl (30%) ja Ruby (25%). Programmeerimiskeelte osakaal kokku on:
JavaScript (51%), C++ (10%), Java (7%), Python (7%), Ruby (5%), Go (4%), C (4%), PHP (4%), TypeScript ( 4%), C# (3%), Perl (2%) ja Shell (1%).

Allikas: opennet.ru

Lisa kommentaar