Наиболее уязвимые сайты – исследование Positive Technologies
Компания Positive Technologies обнародовала результаты анализа Web-приложений российских компаний и предприятий, который проводили ее специалисты с 2010 по 2011 гг. в рамках оказания услуг по тестированию на проникновение и анализу защищенности информационных систем. Объектами тестирования стали 123 сайта; оценка защищенности проводилась ручным способом по методам черного и белого ящиков с использованием вспомогательных автоматизированных средств.
Как следует из материалов исследования, на всех 123 порталах были найдены уязвимости (в среднем по 15 уязвимостей на каждый из них). При этом 64% ресурсов содержали уязвимости критического уровня риска, 98% — среднего уровня и 37% — низкого. Вредоносным кодом были заражены около 10% сайтов.
Абсолютным лидером стала уязвимость Cross-Site Request Forgery, обнаруженная на 61% проанализированных сайтов. Далее идут Brute Force и Information Leakage — 52% и 54% соответственно, а также критическая уязвимость SQL Injection (47%). В Top-10 попали еще две критические уязвимости, OS Commanding и Path Traversal (по 28%), и недостатки среднего уровня риска: Insufficient Anti-automation (42%), Cross-Site Scripting (40%), Predictable Resource Location (36%) и Insufficient Transport Layer Protection (22%).
В целом 2011 г. был отмечен ростом доли ресурсов, подверженных уязвимости Cross-Site Request Forgery, тогда как SQL Injection и OS Commanding стали встречаться реже, чем в 2010 г.
Что касается систем управления контентом, исследователи обращают внимание на низкую безопасность сайтов, использующих CMS собственной разработки (на таких ресурсах значительно чаще встречались критические уязвимости, чем на порталах с коммерческими и свободными системами). Единственное исключение касается фактического заражения вредоносным кодом. Среди ресурсов, сконструированных на базе CMS собственной разработки, оказались заражены только 5%. Доли сайтов с признаками взлома на коммерческих и свободных системах заметно выше: 8 и 24% соответственно. Это связано с тем, что Web-приложения на базе самодельных CMS, несмотря на наличие большого количества уязвимостей, меньше подвержены случайному взлому в рамках массовой атаки с использованием автоматизированных средств.
С другой стороны, порталы с эксклюзивными движками — отличная мишень для целенаправленного нападения. Почти каждый второй ресурс с собственной CMS содержал следующие критические уязвимости: SQL Injection (60% сайтов), OS Commanding (40%), Path Traversal (45%). Соответствующие доли уязвимых порталов с коммерческими (47, 20, 29%) и бесплатными (34, 48, 28%) CMS выглядят несколько более оптимистично.
Уязвимость Remote File Inclusion присутствовала исключительно на ресурсах, использующих «самописные» CMS, а Null Byte Injection встретилась на 30% подобных сайтов, что втрое превышает проблемную долю порталов с бесплатными CMS и в 15 раз — с коммерческими. Кроме того, на порталах с уникальными CMS преобладали уязвимости, характерные для осуществления атаки на клиента (Cross-Site Request Forgery и в особенности Cross-Site Scripting).
С точки зрения выбора Web-сервера наивысший уровень безопасности продемонстрировали сайты под управлением Microsoft IIS. Лишь в отношении двух уязвимостей — Insufficient Transport Layer Protection и Server Misconfiguration — он оказался не лучшим.
Анализ уязвимостей, связанных с ошибками администрирования, выявил проблемы у сайтов на базе Web-серверов nginx: они были подвержены таким уязвимостям, как Server Misconfiguration (25% сайтов), Improper Filesystem Permissions (33%), Transport Layer Protection (75%) и Information Leakage (83%). Для сравнения: доли уязвимых для подобных атак Web-ресурсов, функционирующих на базе Microsoft IIS, оказались гораздо ниже: 5, 5, 29 и 43% соответственно. Сайты, использующие Web-серверы Apache, в среднем показали достойные результаты: 1, 26, 9 и 54%.
Порталы на nginx, кроме того, продемонстрировали наибольшую склонность к уязвимостям Predictable Resource Location (67%), Directory Indexing (25%) и Insecure Indexing (8%). Значительно меньше оказалось число ресурсов, уязвимых для Predictable Resource Location, под управлением Apache (39%) и Microsoft IIS (5%). Уязвимость Directory Indexing оказалась характерна для 4% сайтов на базе Apache, а Insecure Indexing — для 3%; обе эти уязвимости не зафиксированы в системах на базе Microsoft IIS.
Самым распространенным языком программирования для создания Web-приложений оказался PHP — на нем написано 63% протестированных ресурсов. Вместе с тем у него выявлены наиболее серьезные проблемы с безопасностью: 81% сайтов на этом языке содержат критические уязвимости, а на 91% ресурсов обнаружены изъяны системы защиты средней степени риска.
Второе место по числу критических уязвимостей в веб-приложениях занимает язык Java (59%). Наименее распространены уязвимости высокого уровня риска среди сайтов, написанных на ASP.NET: их содержат только 26% таких сайтов. Многие сайты содержали распространенные уязвимости, связанные с ошибками при разработке приложений. На ASP.NET- и Java-сайтах не выявлено ни одной уязвимости типа Null Byte Injection, в отличие от приложений на языке PHP (12%). Доля PHP-порталов, уязвимых для Cross-Site Request Forgery, составляет 73% и более чем в два раза превосходит этот показатель для ASP.NET и Java (35%). Таким образом, PHP является лидером по распространенности всех серьезных уязвимостей, связанных с ошибками или недоработками в коде приложений.
Отдельным объектом исследования стали системы дистанционного банковского обслуживания, наиболее чувствительные к проблемам информационной безопасности. Самыми распространенными уязвимостями здесь оказались Insufficient Authorization (31% всех уязвимостей), Cross-Site Scripting (18%) и Fingerprinting (9%). Обнаруженные в системах ДБО критические уязвимости составляют лишь 1% от общего числа проблем с безопасностью этой группы, что значительно меньше среднего показателя (13%). Основная часть выявленных уязвимостей (90%) связана со средним уровнем риска.
Как показал специальный анализ Web-ресурсов финансового сектора, требованиям стандарта безопасности PCI DSS v. 2 по защите Web-приложений удовлетворяют только 10% приложений. Около 24% сайтов оказались подвержены различным инъекциям (из них наиболее распространена SQL Injection). Лидером по количеству не соответствующих ресурсов стало требование 6.5: на трех четвертях (76%) сайтов происходит утечка информации в результате некорректной обработки ошибок. Уязвимости Cross-Site Scripting и Cross-Site Request Forgery присутствовали примерно в половине тестируемых Web-приложений (52 и 43% соответственно).
По итогам исследования оказалось, что практически все сайты, зараженные вредоносным кодом (92%), написаны на языке PHP и работают под управлением Web-сервера Apache. Половина взломанных Web-приложений функционируют под управлением свободных CMS.
При сравнении распределения уязвимостей на сайтах с вредоносным кодом и без него эксперты Positive Technologies выяснили, что заражению информационного ресурса наиболее способствует наличие уязвимостей OS Commanding и Improper Filesystem Permissions. Треть всех сайтов с уязвимостью OS Commanding оказалась инфицирована.