Java, .NET fejlesztők, akik hajlamosak a gyakrabban előforduló sebezhetőségekre

Java, .NET fejlesztők, akik hajlamosak a gyakrabban előforduló sebezhetőségekre

Forrás csomópont: 1901108

A Java és .NET nyelven írt alkalmazások több mint háromnegyede tartalmaz legalább egy sebezhetőséget az OWASP Top 10-ből, amely azon szoftverhiányok listája, amelyeket a fejlesztők általában az alkalmazások biztonságának alapjaként használnak.

Ez a Veracode szoftvertesztelő cég szerint, amely közel 760,000 XNUMX alkalmazás elemzése során azt találta, hogy az e két programozási ökoszisztémát használó alkalmazásból körülbelül minden ötödiknél volt legalább egy nagy vagy kritikus súlyosságú sebezhetőség.

Összességében az átlagos alkalmazás 27%-os esélye volt arra, hogy havonta legalább egy sebezhetőséget bevezessenek, a rosszul megírt és a ritkán beolvasott alkalmazások valószínűleg hibásabbak voltak, míg a hosszabb biztonsági folyamatokkal rendelkező és jól képzett alkalmazások írták. Az adatok szerint a fejlesztők kisebb valószínűséggel vezetnek be új hibákat.

Az elemzés rávilágít a biztonság fejlesztési folyamatba való integrálásának fontosságára – mondja Tim Jarrett, a Veracode stratégiai termékmenedzsmentért felelős alelnöke.

„Az adatok következetesen azt mutatják, hogy ha a biztonság szokását építi be a folyamatába, akkor jobb eredményt érhet el, mind az általános hibák kijavítása, mind… lelassítja a beérkező dolgok özönét, és ez nagy különbséget jelent, " mondja.

Eközben a szoftvercégek és a fejlesztőcsapatok továbbra is küzdenek az alkalmazáskód hibáinak és sebezhetőségeinek kiküszöböléséért. Míg a fejlesztők és a nyílt forráskódú projektek igen a szoftverhibák gyorsabb kijavításaA Veracode január 11-én közzétett „State of Software Security” jelentése szerint az átlagos sebezhetőség felezési idejét továbbra is hónapokban, nem napokban vagy hetekben mérik. 

Például a Java- és a .NET-alkalmazások esetében, amelyek a tanulmány által elemzett összes alkalmazás 71%-át tették ki, a hibák fele 243, illetve 158 nap után is hatással volt az alkalmazásokra.

A sérülékenységek felezési ideje programozási nyelv szerint

Forrás: a Veracode „State of Software Security” jelentése

Az alkalmazás felfúvódása és az életkor egyaránt jelentős negatív hatással volt a biztonságukra. Az átlagos alkalmazás körülbelül 40%-kal több kódot halmozott fel, és nagyobb a valószínűsége annak, hogy vannak sebezhetőségei. A két éves alkalmazások körülbelül 54%-a, míg az ötéves alkalmazások 69%-a hibát tartalmaz, az elemzés megállapította.

A JavaScript meglepő biztonsága

Meglepő módon a JavaScript-ben írt vagy valamelyik JavaScript-keretrendszert használó alkalmazások jobban teljesítettek a sebezhetőségi vizsgálatok során. Míg a Java- és .NET-alkalmazások körülbelül 80%-ában volt sérülékenység, a JavaScript-alkalmazásoknak csak 56%-a. És bár a Java- és .NET-alkalmazások körülbelül 20%-a tartalmazott súlyos sebezhetőséget, a JavaScript-alkalmazások kevesebb mint 10%-a.

A JavaScript-keretrendszerek újabbak, nagyobb biztonsággal rendelkeznek, és rendelkeznek a nyílt forráskódú ökoszisztéma előnyeivel, amelyekből a Java csak viszonylag nemrégiben profitált, mondja Jarret.

„A JavaScript egy újabb nyelv, tehát a rajta írt alkalmazások újabbak, és a korábbi jelentésekben összefüggést állapítottunk meg az alkalmazás kora és a hibajavítási idő között” – mondja. "A JavaScript eszközeinek nagy része kiforrott, és ez egy jól támogatott nyelv."

Ezen túlmenően, ha egy Java-alkalmazásban lévő biztonsági rés belső felek problémája – a fejlesztőre kell bízni a problémák kijavítását – a JavaScriptben és a Node.js keretrendszerben, a sebezhetőség gyakran harmadik féltől származó probléma, mivel a sérülékenység egy összetevőben fordult elő. amelytől a szoftver függ.

„A Java-alkalmazások biztonsági problémáinak kijavításának módja továbbra is nagyrészt az, hogy módosítsa az osztályfájlt, és lefordítsa azt” – mondja. „Ahol egy JavaScript-alkalmazásban, az inkább csomagkezelési probléma. És ez egy másik dolog, amit a fejlesztő megtanulhat, ami talán könnyebb.”

Új programozási nyelvek

A jelentés adatai rávilágítanak a különbségre a fejlesztők által tanult programozási nyelvek és a vállalkozások többségében ténylegesen használt nyelvek között. A Veracode által használt legjobb nyelvek és ökoszisztémák – Java, .NET és JavaScript – nem a fejlesztők által választott programozási technológia.

Míg a JavaScript- és JS-alapú keretrendszerek – például a Node.js, a React.js és az Angular – uralják a fejlesztők által preferált technológiák listáját, addig a Java az egyik legkevésbé kedvelt programozási nyelv, ehhez képest a válaszadók 54%-a retteg ettől a nyelvtől. a Stack Overflow's szerint 46%-uk szerette 2022 -es fejlesztői felmérés

Ennek ellenére a Java uralta a Veracode kliensek által ellenőrzött alkalmazások arányát (44%), szemben a JavaScript 14%-ával. 

Ráadásul a legkedveltebb programozási nyelv, a Rust fel sem tűnik a Veracode adatai között, míg a fejlesztők 6. számú Pythonja a beolvasott alkalmazások kevesebb mint 4%-át teszi ki.

A kapcsolat megszakadásának részben az az oka, hogy a bevezetett alkalmazásokat bevált programozási nyelveken írják, mondja a Veracode Jarrett.

„Megvan a kód teljes univerzuma, ami odakint van, aztán megvan az a fajta hab az új fejlesztés hullámának csúcsán, ahol megtörténik, és ott látod, hogy az emberek felkapják a Go-t, Rust-ot és Dart-ot. és Flutter – mondja.

Az ezeken a nyelveken írt alkalmazások összesített kódbázisa miatt ez a helyzet valószínűleg nem fog változni.

"Sajnos a régi alkalmazások soha nem halnak meg, ezért nagy a kritikus tömeg a nagy Java-kódbázisokkal és .NET-kódbázisokkal rendelkező vállalatoknál" - mondja.

Időbélyeg:

Még több Sötét olvasmány