Розробники Java, .NET схильні до більш частих уразливостей

Розробники Java, .NET схильні до більш частих уразливостей

Вихідний вузол: 1901108

Понад три чверті додатків, написаних на Java та .NET, мають принаймні одну вразливість із топ-10 OWASP, списку слабких місць програмного забезпечення, які розробники зазвичай використовують як основу для безпеки додатків.

Це згідно з даними фірми з тестування програмного забезпечення Veracode, яка в результаті аналізу майже 760,000 XNUMX програм виявила, що приблизно кожна п’ята програма, яка використовує ці дві екосистеми програмування, мала принаймні одну вразливість високого або критичного рівня.

Загалом середня програма мала 27% шансів мати принаймні одну вразливість щомісяця, причому погано написані програми та програми, які рідко скануються, ймовірно, будуть більш несправними, тоді як програми з більшою історією процесів безпеки та написані добре навченими Дані показали, що розробники менш схильні вводити нові недоліки.

Аналіз підкреслює важливість інтеграції безпеки в процес розробки, каже Тім Джаретт, віце-президент зі стратегічного управління продуктами Veracode.

«Дані незмінно показують, що якщо ви створите звичку безпеки у свій процес, ви отримаєте кращий результат як у виправленні загальних недоліків, так і ... ви також сповільните потік речей, що надходять, і це має велике значення, " він каже.

Тим часом компанії-розробники програмного забезпечення та групи розробників продовжують боротися за усунення дефектів і вразливостей у програмному коді. У той час як розробники та проекти з відкритим кодом є швидше виправляти недоліки програмного забезпечення, відповідно до звіту Veracode «Стан безпеки програмного забезпечення», опублікованого 11 січня, період напіврозпаду середньої вразливості продовжує вимірюватися місяцями, а не днями чи тижнями. 

Наприклад, у програмах Java та .NET, на частку яких припадає 71% від загальної кількості програм, проаналізованих у дослідженні, половина недоліків все ще впливала на програми через 243 дні та 158 днів відповідно.

Період напіврозпаду вразливостей мовою програмування

Джерело: звіт Veracode «Стан безпеки програмного забезпечення».

Завантаженість програм і вік мали значний негативний вплив на їх безпеку. Середня програма накопичила приблизно на 40% більше коду та, ймовірно, матиме вразливості. Близько 54% ​​заявок дворічної давності мають недоліки, тоді як 69% заявок п’ятирічної давності мають недоліки, виявив аналіз.

Дивовижна безпека JavaScript

Дивно, але програми, написані на JavaScript або які використовують одну з фреймворків JavaScript, як правило, краще показують результати сканування вразливостей. У той час як близько 80% програм Java і .NET мали вразливість, лише 56% програм JavaScript були уразливі. І хоча приблизно 20% додатків Java і .NET мали вразливість високого рівня, у додатках JavaScript – менше 10%.

Фреймворки JavaScript є новішими, мають більший рівень безпеки та переваги екосистеми з відкритим вихідним кодом, від якої Java лише відносно недавно скористалася, каже Джарет.

«JavaScript — це нова мова, тому додатки, написані на ній [є] новішими, і існує кореляція, яку ми встановили в попередніх звітах між віком програми та часом усунення недоліків», — каже він. «Багато інструментів для JavaScript [є] зрілими, і це добре підтримувана мова».

Крім того, якщо уразливість у додатку Java є проблемою першої сторони, залишаючи розробнику вирішувати проблеми, у JavaScript і фреймворку Node.js уразливості часто є проблемою третьої сторони, оскільки вразливість виникла в компоненті від якого залежить програмне забезпечення.

«Спосіб вирішення проблеми безпеки в Java-додатку все ще полягає в тому, що ви вносите зміни у файл класу та компілюєте його», — каже він. «У додатку JavaScript це більше проблема керування пакетами. І це інша справа для розробника, чому може бути легше».

Нові мови програмування занепадають

Дані звіту також підкреслюють різницю між мовами програмування, які вивчають розробники, і мовами, які фактично використовуються на більшості підприємств. Найкращі мови та екосистеми — Java, .NET і JavaScript — які бачить Veracode, не є вибором розробників технології програмування.

Хоча фреймворки на основі JavaScript і JS, такі як Node.js, React.js і Angular, домінують у списках технологій, яким надають перевагу розробники, Java є однією з найменш популярних мов програмування: 54% респондентів бояться цієї мови, порівняно за даними Stack Overflow, 46% тих, кому це сподобалося Опитування розробників 2022 року

І все ж Java домінувала в частці програм, сканованих клієнтами Veracode (44%) порівняно з 14% для JavaScript. 

Крім того, найулюбленіша мова програмування, Rust, навіть не відображається в даних Veracode, тоді як на 6 розробників, Python, припадає лише менше 4% сканованих програм.

Частково причиною розриву є те, що встановлені програми написані на усталених мовах програмування, каже Джарретт з Veracode.

«У вас є повний всесвіт усього коду, який є там, а потім у вас є піна на гребені хвилі нової розробки, і саме тут ви бачите, як люди підбирають Go, Rust і Dart і Флаттер, — каже він.

Через агреговані кодові бази програм, написаних цими мовами, ця ситуація, ймовірно, не зміниться.

«На жаль, старі програми ніколи не вмирають, тому на підприємствах з цими великими кодовими базами Java та .NET є багато критичної маси», — каже він.

Часова мітка:

Більше від Темне читання