Более трех четвертей приложений, написанных на Java и .NET, имеют как минимум одну уязвимость из рейтинга OWASP Top 10 — списка уязвимостей программного обеспечения, которые разработчики обычно используют в качестве основы для обеспечения безопасности приложений.
По данным компании Veracode, занимающейся тестированием программного обеспечения, которая в ходе анализа почти 760,000 XNUMX приложений обнаружила, что примерно каждое пятое приложение, использующее эти две программные экосистемы, имеет по крайней мере одну уязвимость высокой или критической степени серьезности.
В целом, среднее приложение имело 27%-ный шанс появления по крайней мере одной уязвимости каждый месяц, при этом плохо написанные приложения и редко проверяемые приложения, вероятно, были более уязвимыми, в то время как приложения с более длительной историей процессов безопасности и написанные хорошо обученными Данные показали, что разработчики менее склонны внедрять новые недостатки.
Анализ подчеркивает важность интеграции безопасности в конвейер разработки, говорит Тим Джарретт, вице-президент по стратегическому управлению продуктами в Veracode.
«Данные последовательно показывают, что если вы выработаете привычку к обеспечению безопасности в своем процессе, у вас будет лучший результат, как с точки зрения исправления общих недостатков, так и … вы также замедлите поток поступающих данных, и это имеет большое значение. " он говорит.
Тем временем компании-разработчики программного обеспечения и команды разработчиков продолжают бороться за устранение дефектов и уязвимостей в коде приложений. В то время как разработчики и проекты с открытым исходным кодом более быстрое исправление программных ошибок, период полураспада средней уязвимости по-прежнему измеряется месяцами, а не днями или неделями, согласно отчету Veracode «Состояние безопасности программного обеспечения», опубликованному 11 января.
Например, в приложениях Java и .NET, на долю которых приходится 71% всех приложений, проанализированных в ходе исследования, половина уязвимостей по-прежнему затрагивала приложения через 243 и 158 дней соответственно.
Раздувание и возраст приложений оказали значительное негативное влияние на их безопасность. Среднее приложение накапливает примерно на 40% больше кода и с большей вероятностью содержит уязвимости. Около 54% приложений двухлетней давности имеют недостатки, в то время как 69% приложений пятилетней давности имеют недостатки. анализ нашел.
Удивительная безопасность JavaScript
Удивительно, но приложения, написанные на JavaScript или использующие одну из сред JavaScript, как правило, лучше справлялись со сканированием уязвимостей. В то время как около 80% приложений Java и .NET имели уязвимость, только 56% приложений JavaScript. И хотя около 20 % приложений Java и .NET имели уязвимость высокого уровня опасности, менее 10 % приложений JavaScript имели такую уязвимость.
По словам Джаррета, JavaScript-фреймворки новее, имеют более высокий уровень безопасности и обладают преимуществами экосистемы с открытым исходным кодом, от которых Java только относительно недавно выиграла.
«JavaScript — более новый язык, поэтому приложения, написанные на нем, новее, и в предыдущих отчетах мы установили корреляцию между возрастом приложения и временем устранения недостатков», — говорит он. «Многие инструменты для JavaScript [являются] зрелыми, и это хорошо поддерживаемый язык».
Более того, если уязвимость в Java-приложении является первопричиной, оставляя разработчику возможность исправить проблемы, в JavaScript и инфраструктуре Node.js уязвимости часто являются сторонней проблемой, поскольку уязвимость возникла в компоненте. от которых зависит программное обеспечение.
«То, как вы решаете проблему безопасности в приложении Java, по-прежнему в значительной степени состоит в том, [где] вы вносите изменения в файл класса и компилируете его», — говорит он. «Где в приложении JavaScript это больше проблема управления пакетами. И это совсем другая вещь для разработчика, которая может быть проще».
Новые языки программирования увядают
Данные отчета также подчеркивают разницу между языками программирования, которые изучают разработчики, и теми языками, которые фактически используются на большинстве предприятий. Лучшие языки и экосистемы — Java, .NET и JavaScript — которые видит Veracode, — это не технология программирования, выбранная разработчиками.
В то время как фреймворки на основе JavaScript и JS, такие как Node.js, React.js и Angular, доминируют в списках технологий, предпочитаемых разработчиками, Java является одним из наименее популярных языков программирования: 54% респондентов боятся этого языка, по сравнению с с 46%, которым это понравилось, согласно Stack Overflow Опрос разработчиков 2022.
Тем не менее, Java доминирует в доле приложений, сканируемых клиентами Veracode (44%), по сравнению с 14% для JavaScript.
Кроме того, самый любимый язык программирования, Rust, даже не фигурирует в данных Veracode, в то время как на шестое место разработчиков, Python, приходится менее 6% сканируемых приложений.
По словам Джарретта из Veracode, одна из причин разрыва заключается в том, что известные приложения пишутся на известных языках программирования.
«У вас есть полная вселенная всего кода, который там есть, а затем у вас есть своего рода пена на гребне волны новой разработки, и именно там вы видите, как люди выбирают Go, Rust и Dart. и Флаттер, — говорит он.
Из-за агрегированных кодовых баз приложений, написанных на этих языках, эта ситуация, скорее всего, не изменится.
«К сожалению, старые приложения никогда не умирают, поэтому на предприятиях существует много критической массы с этими большими кодовыми базами Java и кодовыми базами .NET», — говорит он.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- Платоблокчейн. Интеллект метавселенной Web3. Расширение знаний. Доступ здесь.
- Источник: https://www.darkreading.com/threat-intelligence/java-net-developers-frequent-vulnerabilities
- 000
- 10
- 11
- a
- О нас
- По
- Учетные записи
- накопленный
- на самом деле
- дополнение
- После
- Все
- анализ
- и
- Угловой
- Применение
- безопасность приложения
- Приложения
- Программы
- автоматический
- в среднем
- Базовая линия
- , так как:
- не являетесь
- Преимущества
- Лучшая
- между
- большой
- раздуваться
- строить
- шанс
- изменение
- выбор
- класс
- клиентов
- код
- приход
- Компании
- сравненный
- компонент
- продолжать
- продолжается
- Корреляция
- критической
- данным
- Дней
- зависит
- Застройщик
- застройщиков
- Развитие
- DID
- Умереть
- разница
- различный
- господствовать
- легче
- экосистема
- Экосистемы
- ликвидировать
- предприятий
- установленный
- Эфир (ETH)
- Даже
- пример
- Файл
- Фирма
- фиксированный
- недостаток
- недостатки
- недостатки
- флаттер
- Пена
- найденный
- Рамки
- каркасы
- частое
- от
- полный
- Go
- Половина
- основной момент
- история
- HTTPS
- Влияние
- значение
- in
- Интегрируя
- вводить
- выпустили
- вопрос
- вопросы
- IT
- Января
- Java
- JavaScript
- Вид
- язык
- Языки
- в значительной степени
- УЧИТЬСЯ
- изучение
- уход
- Вероятно
- Список
- Списки
- дольше
- серия
- любимый
- Большинство
- сделать
- ДЕЛАЕТ
- управление
- Масса
- зрелый
- макс-ширина
- Месяц
- месяцев
- БОЛЕЕ
- самых
- почти
- отрицательный
- сеть
- Новые
- узел
- Node.js
- произошло
- Старый
- ONE
- открытый
- с открытым исходным кодом
- проекты с открытым исходным кодом
- общий
- пакет
- Люди
- трубопровод
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- президент
- предыдущий
- Проблема
- процесс
- Процессы
- Продукт
- Управление продуктом
- Программирование
- языки программирования
- проектов
- опубликованный
- Питон
- реагировать
- причина
- недавно
- относительно
- отчету
- Отчеты
- Ржавчина
- безопасность
- Поделиться
- показывать
- Шоу
- значительный
- ситуация
- медленной
- So
- Software
- безопасность программного обеспечения
- Источник
- стек
- Область
- По-прежнему
- Стратегический
- Бороться
- Кабинет
- такие
- Поддержанный
- удивительный
- команды
- Технологии
- terms
- Ассоциация
- их
- задача
- сторонние
- Тим
- время
- в
- топ
- Топ-10
- Всего
- типично
- Вселенная
- использование
- вице-президент
- Уязвимости
- уязвимость
- Wave
- Недели
- который
- в то время как
- КТО
- будете
- письменный
- ВАШЕ
- зефирнет