Язык PHP назван «самым небезопасным» языком программирования, исходя из числа уязвимостей, найденных в написанном на нём коде. Таковы результаты исследования компании Veracode, проанализировавшей зависимость числа уязвимостей в коде от используемого языка программирования.
В рамках исследования был выполнен статический анализ более 200 тысяч приложений, который показал, что наибольшее число связанных с безопасностью ошибок присутствует в коде проектов на ASP, ColdFusion и PHP. Учитывая то, что на PHP написаны платформы Drupal, Joomla и WordPress, доля которых среди систем управления контентом составляет около 70% и на которых работает четверть крупнейших сайтов в Сети, язык PHP указан как приносящий наибольшие проблемы с безопасностью.
В соответствии с опубликованным отчётом, каждые четыре из пяти приложений на PHP, ASP и ColdFusion не проходят как минимум один из десяти тестов OWASP на безопасность. В частности, при тестировании Veracode в 86% всех приложений на PHP выявлена как минимум одна XSS-уязвимость (Cross–Site Scripting), в 56% — проблемы подстановки SQL–запросов, 61% — возможность подстановки кода, 50% — утечки информации, 73% — проблемы с шифрованием, 58% — проблемы с аутентификацией, 67% — выход за пределы дозволенных директорий.
В более современных языках, таких как .NET и Java, данные показатели почти в два раза ниже. Что касается тестов OWASP, то все десять тестов прошли только 19% приложений на PHP. Для сравнения, все тесты OWASP прошли 60% программ на C/C++, 38% программ на JavaScript и 27% на Java.
В рейтинге языков программирования по числу критических уязвимостей в коде (число проблем на мегабайт кода) в лидерах JavaScript (8), C++ (26) и NET (32).
По информации компании Veracode, в отчёте фигурируют данные из более чем 200 тысяч приложений, собранные за последние 18 месяцев. В анализе исследован код, написанный на 11 самых популярных языках программирования, включая Java, .NET, .iOS, C/C ++, JavaScript, PHP, ColdFusion, Ruby и COBOL.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.