Dezvoltatorii Java, .NET predispuși la vulnerabilități mai frecvente

Dezvoltatorii Java, .NET predispuși la vulnerabilități mai frecvente

Nodul sursă: 1901108

Mai mult de trei sferturi din aplicațiile scrise în Java și .NET au cel puțin o vulnerabilitate din Top 10 OWASP, o listă de deficiențe software pe care dezvoltatorii le folosesc de obicei ca bază pentru securitatea aplicațiilor.

Aceasta este conform companiei de testare a software-ului Veracode, care a constatat, într-o analiză a aproape 760,000 de aplicații, că aproximativ una din cinci aplicații care utilizează aceste două ecosisteme de programare avea cel puțin o vulnerabilitate de gravitate ridicată sau de gravitate critică.

În general, aplicația medie a avut o șansă de 27% să aibă cel puțin o vulnerabilitate introdusă în fiecare lună, cu aplicații prost scrise și aplicații scanate rar probabil să fie mai defecte, în timp ce aplicațiile cu un istoric mai lung de procese de securitate și fiind scrise de către bine instruiți Dezvoltatorii sunt mai puțin probabil să introducă noi defecte, arată datele.

Analiza evidențiază importanța integrării securității în pipeline de dezvoltare, spune Tim Jarrett, vicepreședinte al managementului strategic al produselor la Veracode.

„Datele arată în mod constant că, dacă construiți un obicei de securitate în procesul dvs., aveți un rezultat mai bun, atât în ​​ceea ce privește remedierea defectelor generale, cât și... încetiniți, de asemenea, fluxul de lucruri care vin și asta face o mare diferență, " el spune.

Între timp, companiile de software și echipele de dezvoltare continuă să se lupte pentru a elimina defectele și vulnerabilitățile din codul aplicației. În timp ce dezvoltatorii și proiectele open source sunt remedierea defectelor software mai rapid, timpul de înjumătățire al vulnerabilității medii continuă să fie măsurat în luni, nu zile sau săptămâni, conform raportului Veracode „Starea securității software”, publicat pe 11 ianuarie. 

De exemplu, aplicațiile Java și .NET, care au reprezentat 71% din totalul aplicațiilor analizate de studiu, au văzut jumătate dintre defecte încă afectate aplicațiile după 243 de zile, respectiv 158 de zile.

Perioada de înjumătățire a vulnerabilităților prin limbajul de programare

Sursa: Raportul Veracode „Starea securității software-ului”.

Balonarea aplicației și vârsta au avut ambele un impact negativ semnificativ asupra securității lor. Aplicația medie a acumulat cu aproximativ 40% mai mult cod și este mai probabil să aibă vulnerabilități. Aproximativ 54% dintre aplicațiile vechi de doi ani au defecte, în timp ce 69% dintre aplicațiile vechi de cinci ani au defecte, analiza constatată.

Securitate surprinzătoare a JavaScript

În mod surprinzător, aplicațiile scrise în JavaScript sau care utilizează unul dintre cadrele JavaScript au avut tendința de a se descurca mai bine în scanările de vulnerabilități. În timp ce aproximativ 80% dintre aplicațiile Java și .NET au avut o vulnerabilitate, doar 56% dintre aplicațiile JavaScript au avut. Și în timp ce aproximativ 20% dintre aplicațiile Java și .NET au avut o vulnerabilitate de mare severitate, mai puțin de 10% dintre aplicațiile JavaScript au avut.

Cadrele JavaScript sunt mai noi, au mai multă securitate și au beneficiile unui ecosistem open source, de care Java a beneficiat doar relativ recent, spune Jarret.

„JavaScript este un limbaj mai nou, așa că aplicațiile scrise în el [sunt] mai noi și există o corelație pe care am stabilit-o în rapoartele anterioare între vechimea aplicației și timpul de remediere a defectelor”, spune el. „O mare parte din instrumentele pentru JavaScript [este] mature și este un limbaj bine acceptat.”

Mai mult decât atât, acolo unde o vulnerabilitate într-o aplicație Java este o problemă primară - lăsând dezvoltatorul să rezolve problemele - în JavaScript și cadrul Node.js, vulnerabilitățile sunt adesea o problemă a terților, deoarece vulnerabilitatea a apărut într-o componentă. de care depinde software-ul.

„Modul în care remediați o problemă de securitate într-o aplicație Java este încă în mare parte [unde] faceți o modificare a unui fișier de clasă și îl compilați”, spune el. „Unde într-o aplicație JavaScript, este mai mult o problemă de gestionare a pachetelor. Și acesta este un lucru diferit de învățat pentru un dezvoltator, ceea ce poate fi mai ușor.”

Limbaje noi de programare Languish

Datele raportului evidențiază, de asemenea, diferența dintre limbajele de programare pe care dezvoltatorii le învață și limbajele folosite efectiv în majoritatea întreprinderilor. Cele mai importante limbi și ecosisteme — Java, .NET și JavaScript — văzute de Veracode nu sunt alegerea dezvoltatorilor în ceea ce privește tehnologia de programare.

În timp ce cadrele bazate pe JavaScript și JS - cum ar fi Node.js, React.js și Angular - domină listele de tehnologie preferată de dezvoltatori, Java este unul dintre limbajele de programare cel mai puțin apreciate, cu 54% dintre respondenți temându-se de limbaj, comparativ cu cu 46% cărora le-a plăcut, potrivit lui Stack Overflow 2022 Sondaj pentru dezvoltatori

Cu toate acestea, Java a dominat ponderea aplicațiilor scanate de clienții Veracode (44%), comparativ cu 14% pentru JavaScript. 

În plus, cel mai iubit limbaj de programare, Rust, nici măcar nu apare în datele Veracode, în timp ce numărul 6 al dezvoltatorilor, Python, reprezintă doar mai puțin de 4% din aplicațiile scanate.

O parte din motivul deconectării este că aplicațiile consacrate sunt scrise în limbaje de programare consacrate, spune Jarrett de la Veracode.

„Aveți întregul univers al întregului cod care este acolo, și apoi aveți genul de spumă de pe creasta valului de noi dezvoltări care se întâmplă și acolo vezi oameni luând pe Go și Rust și Dart. și Flutter”, spune el.

Din cauza bazelor de cod agregate ale aplicațiilor scrise în acele limbi, probabil că această situație nu se va schimba.

„Aplicațiile vechi nu mor niciodată, din păcate, așa că există o mulțime de masă critică în întreprinderi cu aceste baze de cod Java mari și baze de cod .NET”, spune el.

Timestamp-ul:

Mai mult de la Lectură întunecată