Java, .NET razvijalci nagnjeni k pogostejšim ranljivostim

Java, .NET razvijalci nagnjeni k pogostejšim ranljivostim

Izvorno vozlišče: 1901108

Več kot tri četrtine aplikacij, napisanih v Javi in ​​.NET, ima vsaj eno ranljivost s seznama OWASP Top 10, seznama slabosti programske opreme, ki jih razvijalci običajno uporabljajo kot osnovo za varnost aplikacij.

To je po podatkih podjetja za testiranje programske opreme Veracode, ki je v analizi skoraj 760,000 aplikacij ugotovilo, da ima približno ena od petih aplikacij, ki uporabljajo ta dva programska ekosistema, vsaj eno ranljivost visoke ali kritične resnosti.

Na splošno je imela povprečna aplikacija 27-odstotno možnost, da se bo vsak mesec pojavila vsaj ena ranljivost, pri čemer bodo slabo napisane aplikacije in redko pregledovane aplikacije verjetno imele več napak, medtem ko bodo aplikacije z daljšo zgodovino varnostnih procesov in so jih napisali dobro usposobljeni Podatki so pokazali, da je manj verjetno, da bodo razvijalci uvedli nove napake.

Analiza poudarja pomen vključevanja varnosti v razvojni proces, pravi Tim Jarrett, podpredsednik strateškega upravljanja izdelkov pri Veracode.

»Podatki dosledno kažejo, da če v svoj proces vgradite navado varnosti, imate boljši rezultat, tako v smislu odpravljanja splošnih pomanjkljivosti, kot ... prav tako upočasnite poplavo stvari, ki prihajajo, in to je velika razlika, " on reče.

Medtem se podjetja za programsko opremo in razvojne ekipe še naprej trudijo odpraviti napake in ranljivosti v programski kodi. Medtem ko so razvijalci in odprtokodni projekti hitrejše odpravljanje programskih napak, se razpolovna doba povprečne ranljivosti še naprej meri v mesecih, ne v dnevih ali tednih, glede na Veracodeovo poročilo “Stanje varnosti programske opreme”, objavljeno 11. januarja. 

Na primer, pri aplikacijah Java in .NET, ki so predstavljale 71 % vseh aplikacij, analiziranih v študiji, je polovica napak še vedno vplivala na aplikacije po 243 oziroma 158 dneh.

Razpolovna doba ranljivosti glede na programski jezik

Vir: Veracodeovo poročilo o stanju varnosti programske opreme

Napihnjenost aplikacij in starost sta pomembno negativno vplivala na njihovo varnost. Povprečna aplikacija je nabrala približno 40 % več kode in je bolj verjetno, da bo imela ranljivosti. Približno 54 % dve leti starih vlog ima pomanjkljivosti, medtem ko je 69 % pet let starih vlog pomanjkljivosti, analiza je ugotovila.

Presenetljiva varnost JavaScripta

Presenetljivo so se aplikacije, napisane v JavaScriptu ali ki uporabljajo enega od ogrodij JavaScript, bolje odrezale pri pregledih ranljivosti. Medtem ko je približno 80 % aplikacij Java in .NET imelo ranljivost, jo je imelo le 56 % aplikacij JavaScript. Medtem ko je približno 20 % aplikacij Java in .NET imelo visoko resno ranljivost, jo je imelo manj kot 10 % aplikacij JavaScript.

Ogrodja JavaScript so novejša, imajo večjo varnost in imajo prednosti odprtokodnega ekosistema, od katerega je Java imela koristi šele relativno nedavno, pravi Jarret.

»JavaScript je novejši jezik, zato so aplikacije, napisane v njem, novejše, in obstaja povezava, ki smo jo ugotovili v prejšnjih poročilih med starostjo aplikacije in časom odprave napak,« pravi. "Veliko orodij za JavaScript [je] zrelih in je dobro podprt jezik."

Poleg tega, kjer je ranljivost v aplikaciji Java lastna težava – razvijalcu je prepuščeno odpravljanje težav – v JavaScriptu in ogrodju Node.js so ranljivosti pogosto težava tretje osebe, ker se je ranljivost pojavila v komponenti od katerega je odvisna programska oprema.

»Način, kako odpravite varnostno težavo v aplikaciji Java, je še vedno v veliki meri [kjer] spremenite datoteko razreda in jo prevedete,« pravi. »Kjer je v aplikaciji JavaScript, je bolj problem pri upravljanju paketov. In to je nekaj drugega, kar se mora razvijalec naučiti, kar je lahko lažje.«

Novi programski jeziki bledijo

Podatki iz poročila prav tako poudarjajo razliko med programskimi jeziki, ki se jih učijo razvijalci, in tistimi, ki se dejansko uporabljajo v večini podjetij. Najbolj priljubljeni jeziki in ekosistemi – Java, .NET in JavaScript –, ki jih vidi Veracode, niso programska tehnologija po izbiri razvijalcev.

Medtem ko ogrodja, ki temeljijo na JavaScriptu in JS – kot so Node.js, React.js in Angular – prevladujejo na seznamih najprimernejših tehnologij za razvijalce, je Java eden najmanj všečnih programskih jezikov, saj se tega jezika boji 54 % anketirancev. s 46 %, ki jim je bil všeč, glede na Stack Overflow's 2022 Raziskava razvijalcev

Kljub temu je Java prevladovala v deležu aplikacij, ki so jih pregledali odjemalci Veracode (44 %) v primerjavi s 14 % za JavaScript. 

Poleg tega najbolj priljubljen programski jezik, Rust, sploh ni prikazan v podatkih Veracode, medtem ko številka 6 razvijalcev, Python, predstavlja le manj kot 4 % pregledanih aplikacij.

Del razloga za prekinitev povezave je, da so uveljavljene aplikacije napisane v uveljavljenih programskih jezikih, pravi Jarrett iz Veracode.

»Imate celotno vesolje vse kode, ki je tam zunaj, in potem imate peno na grebenu vala novega razvoja, ki se dogaja, in tam vidite ljudi, ki pobirajo Go in Rust in Dart in Flutter,« pravi.

Zaradi združenih kodnih baz aplikacij, napisanih v teh jezikih, se to stanje verjetno ne bo spremenilo.

»Stare aplikacije na žalost nikoli ne umrejo, zato je v podjetjih veliko kritične mase s temi velikimi kodnimi bazami Java in kodnimi bazami .NET,« pravi.

Časovni žig:

Več od Temno branje