Java, .NET-i arendajad, kes on altid sagedamini esinevatele haavatavustele

Java, .NET-i arendajad, kes on altid sagedamini esinevatele haavatavustele

Allikasõlm: 1901108

Enam kui kolmveerandil Javas ja .NET-is kirjutatud rakendustest on vähemalt üks haavatavus OWASP Top 10-st, mis on tarkvara nõrkade külgede loend, mida arendajad tavaliselt kasutavad rakenduste turvalisuse tagamisel.

See on tarkvara testimisettevõtte Veracode andmetel, mis leidis peaaegu 760,000 XNUMX rakenduse analüüsis, et umbes ühel viiest neid kahte programmeerimisökosüsteemi kasutavast rakendusest oli vähemalt üks kõrge või kriitilise raskusastmega haavatavus.

Üldiselt oli keskmisel rakendusel 27% tõenäosus, et iga kuu lisatakse vähemalt üks haavatavus, kusjuures halvasti kirjutatud rakendused ja harva skannitud rakendused olid tõenäoliselt rohkem vigased, samas kui rakendused, millel on pikem turvaprotsesside ajalugu ja mille on kirjutanud hästi koolitatud Andmed näitasid, et arendajad ei too tõenäoliselt uusi vigu.

Analüüs tõstab esile turvalisuse integreerimise tähtsust arendustorusse, ütleb Veracode'i strateegilise tootehalduse asepresident Tim Jarrett.

"Andmed näitavad järjekindlalt, et kui loote oma protsessi turvalisuse harjumuse, on teil parem tulemus nii üldiste vigade parandamisel kui ka … aeglustate ka sissetulevate asjade tulva, ja see muudab suureks. " ta ütleb.

Samal ajal näevad tarkvaraettevõtted ja arendusmeeskonnad jätkuvalt vaeva, et kõrvaldada rakenduse koodist vead ja haavatavused. Kuigi arendajad ja avatud lähtekoodiga projektid on tarkvaravigade kiirem parandamineVastavalt Veracode'i 11. jaanuaril avaldatud aruandele "Tarkvara turvalisuse seisund" mõõdetakse keskmise haavatavuse poolestusaega jätkuvalt kuudes, mitte päevades või nädalates. 

Näiteks Java- ja .NET-rakendustes, mis moodustasid 71% kõigist uuringus analüüsitud rakendustest, ilmnesid pooled vigadest, mis mõjutasid rakendusi vastavalt 243 ja 158 päeva pärast.

Turvaaukude poolväärtusaeg programmeerimiskeele järgi

Allikas: Veracode'i aruanne "Tarkvara turvalisuse seisund".

Rakenduse paisumine ja vanus avaldasid nende turvalisusele märkimisväärset negatiivset mõju. Keskmine rakendus kogus umbes 40% rohkem koodi ja sellel on tõenäolisemalt turvaauke. Umbes 54% kahe aasta vanustest rakendustest on vigadega, samas kui 69% viie aasta vanustel rakendustel on vigu, analüüs leiti.

JavaScripti üllatav turvalisus

Üllataval kombel läksid JavaScriptis kirjutatud või mõnda JavaScripti raamistikku kasutavad rakendused haavatavuse kontrollimisel paremini. Kui umbes 80% Java- ja .NET-rakendustest oli haavatavusega, siis ainult 56% JavaScripti rakendustest. Ja kuigi umbes 20% Java- ja .NET-rakendustest oli tõsise haavatavusega, siis vähem kui 10% JavaScripti rakendustest.

JavaScripti raamistikud on uuemad, neil on suurem turvalisus ja avatud lähtekoodiga ökosüsteemi eelised, millest Java sai alles suhteliselt hiljuti, ütleb Jarret.

"JavaScript on uuem keel, nii et selles kirjutatud rakendused [on] uuemad ja varasemates aruannetes oleme tuvastanud seose rakenduse vanuse ja vigade kõrvaldamise aja vahel, " ütleb ta. "Suur osa JavaScripti tööriistadest [on] küps ja see on hästi toetatud keel."

Veelgi enam, kui Java-rakenduse haavatavus on esimese osapoole probleem – arendaja jätab probleemid lahendama – JavaScriptis ja Node.js-i raamistikus on haavatavused sageli kolmanda osapoole probleem, kuna haavatavus on tekkinud komponendis. millest tarkvara sõltub.

"Java-rakenduses turbeprobleemi lahendamise viis on ikkagi suures osas [kus] muudate klassifaili ja kompileerite selle," ütleb ta. „JavaScripti rakenduses on see rohkem paketihalduse probleem. Ja see on arendaja jaoks erinev asi, mida õppida, mis võib olla lihtsam.

Uued programmeerimiskeeled

Aruande andmed toovad esile ka erinevuse programmeerimiskeelte, mida arendajad õpivad, ja nende keelte vahel, mida enamikus ettevõtetes tegelikult kasutatakse. Veracode'i populaarseimad keeled ja ökosüsteemid – Java, .NET ja JavaScript – ei ole arendajate valik programmeerimistehnoloogiat.

Kui JavaScript- ja JS-põhised raamistikud (nt Node.js, React.js ja Angular) domineerivad arendajate eelistatud tehnoloogiate loendites, siis Java on üks kõige vähem meeldivaid programmeerimiskeeli, võrreldes 54% vastajatest kardab seda keelt. Stack Overflow'si andmetel 46%, kellele see meeldis 2022. aasta arendajate uuring

Siiski domineeris Java Veracode'i klientide skannitud rakenduste osakaalus (44%), JavaScripti puhul aga 14%. 

Lisaks ei ilmu Veracode'i andmetes isegi armastatuim programmeerimiskeel Rust, samas kui arendajate nr 6 Python moodustab vaid alla 4% skannitud rakendustest.

Üks osa ühenduse katkestamise põhjustest on see, et väljakujunenud rakendused on kirjutatud väljakujunenud programmeerimiskeeltes, ütleb Veracode'i Jarrett.

"Teil on täielik universum kogu koodist, mis seal väljas on, ja siis on selline vaht uue arengu laine harjal, mis toimub ja seal näete inimesi, kes võtavad üles Go, Rust ja Dart. ja Flutter,” ütleb ta.

Nendes keeltes kirjutatud rakenduste koondatud koodibaaside tõttu see olukord tõenäoliselt ei muutu.

"Kahjuks ei sure vanad rakendused kunagi, seega on nende suurte Java koodibaaside ja .NET-i koodibaasidega ettevõtetes suur kriitiline mass," ütleb ta.

Ajatempel:

Veel alates Tume lugemine