Уязвимости в web-приложениях часто возникают из-за несовершенства кода, написанного на скриптовых языках. Компания Veracode, которая специализируется на облачных решениях безопасности, проанализировала более 200 000 приложений, написанных на разных языках программирования с 2013 по 2015 год, чтобы выяснить, какие из них наиболее подвержены уязвимостям. Самыми «ненадежными» оказались приложения на PHP, Classic ASP и ColdFusion, а самыми безопасными – на Java и .NET.
Специалисты измеряли количество уязвимостей на 1 МБ исходного кода. По итогам исследования составили рейтинг:
- Classic ASP – 1 686,6 уязвимостей/МБ (1 112 критических)
- ColdFusion – 262,8 уязвимостей/МБ (227 критических)
- PHP – 184 уязвимости/МБ (47 критических)
- Java – 51,8 уязвимостей/МБ (5,2 критических)
- .NET – 32,5 уязвимостей/МБ (9,7 критических)
- C++ – 26,7 уязвимостей/МБ (8,8 критических)
- iOS – 23,4 уязвимостей/МБ (0,9 критических)
- Android – 11,3 уязвимостей/МБ (0,4 критических)
- JavaScript – 8,1 уязвимостей/МБ (0,09 критических)
83% приложений на ColdFusion, 81% приложений на PHP и 79% на Classic ASP не прошли проверку OWASP (Open Web Application Security Project – сообщество, которое десять лет подряд составляет топ-10 самых опасных уязвимостей в web-приложениях).
По данным Veracode, 86% приложений на PHP содержали по меньшей мере одну XSS-уязвимость. 56% программ оказались уязвимы к внедрению SQL-кода. Среди других проблем: некорректный процесс обработки учетных данных (58%), уязвимости в криптографическом протоколе (73%) и бреши, позволяющие утечку данных (50%).
Такое положение вещей влияет на общую ситуацию в интернете, поскольку порядка 70% систем по управлению контентом работают на базе WordPress, Drupal и Joomla, акцентируют эксперты.
Ранее на AIN.UA выходил топ-10 языков программирования на GitHub. В лидерах, как всегда, JavaScript, на втором месте Java, а на третьем Ruby — «серебряный призер» прошлого года. PHP оказался на четвертом месте.