Статья

Сколько дыр в современном ПО? Обзор актуальных сетевых угроз

Интернет Безопасность Интернет-ПО Администратору
мобильная версия

Большая часть пользователей глобальной Сети понятия не имеют о том, какие угрозы могут скрывать в себе программы, которыми они пользуются годами. Статистика компьютерных уязвимостей за 2011 год, собранная исследовательским центром Positive Research, показывает, что SCADA-системы, CMS, офисные программы, приложения мультимедиа, почти все браузеры и операционные системы становились объектами для незаконного проникновения. Причина угроз – безобидные на первый взгляд и непонятные простому пользователю уязвимости.

Одна из основных причин наличия уязвимостей в ПО является недооценка риска и слабая защищенность web-приложений. Простота протокола HTTP позволяет злоумышленнику разрабатывать эффективные методы автоматического анализа программ и выявления в них уязвимостей.

Согласно статистического анализа уязвимостей, проведенных в 2010 и 2011 годах компанией Positive Technologies было произведено исследование 123 web-приложений крупнейших предприятий. В список вошли наиболее значимые предприятия в отраслях экономики:

Распределение участников по отраслям экономики
Отрасль экономики Доля, %
Телекоммуникации 26
Государственный сектор 25
Финансовый сектор 17
Информационные технологии 13
Промышленность 7
Другие 12

Источник: Портал по информационной безопасности SecurityLab.ru, 2012

Лидер в этом списке — уязвимость Cross-Site Request Forgery, которой оказался подвержен 61% всех проверенных сайтов. Далее следуют Information Leakage и Brute Force — 54% и 52% сайтов, а также SQL Injection с критическим уровнем риска, обнаруженная на 47% ресурсов. Далее, по удельным долям найденных уязвимостей в список вошли уязвимости с высокой степенью риска — OS Commanding и Path Traversal (28%) и среднего уровня риска: Insufficient Anti-automation (42%), Cross-Site Scripting (40%), Predictable Re-source Location (36%) и Insufficient Transport Layer Protection (22%).

Наиболее распространенные уязвимости
Уязвимость Доля сайтов, %
Cross-Site Request Forgery 61
Information Leakage 54
Brute Force 52
SQL Injection 47
Insufficient Anti-automation 42
Cross-Site Scripting 40
Predictable Resource Location 36
OS Commanding 28
Path Traversal 28
Insufficient Transport Layer Protection 22

Источник: Портал по информационной безопасности SecurityLab.ru, 2012

Также в исследовании была выявлена зависимость уязвимостей от языка программирования. Можно заметить, что доли уязвимых сайтов на ASP.NET и Java ниже по сравнению с аналогичными показателями для языка PHP.

Наиболее распространенные уязвимости в зависимости от языка программирования х
PHP Доля сайтов, % ASP.NET Доля сайтов, % Java Доля сайтов, %
Cross-Site Request Forgery 73 Cross-Site Scripting 39 Insufficient Authorization 41
SQL Injection 61 Cross-Site Request Forgery 35 Cross-Site Request Forgery 35
Cross-Site Scripting 43 Insufficient Anti-automation 35 Application Misconfiguration 29
Insufficient Anti-automation 42 SQL Injection 22 Insufficient Authenticatio 29
Path Traversal 42 Application Misconfiguration 17 OS Commanding 29

Источник: Портал по информационной безопасности SecurityLab.ru, 2012

Доли сайтов на различных языках программирования с уязвимостями высокого и среднего уровня риска

Источник: Портал по информационной безопасности SecurityLab.ru, 2012

В результате исследований были выявлены уязвимости, которые присутствуют среди ресурсов, функционирующих под управлением серверов Apache, Microsoft IIS, nginx, Jboss, Tomcat, IBM HTTP Server, Oracle Application Server и др. Наиболее широко представлены первые три сервера, из них предпочтение отдается серверу Apache (57%). Согласно классификации WASC TC v.2, значительная доля уязвимостей связано с ошибками администрирования.

Распределение сайтов по используемому web-серверу
Сервер Доля, %
Apache 57
IIS 17
Nginx 10
Другие 16

Источник: Портал по информационной безопасности SecurityLab.ru, 2012

Доли уязвимых сайтов на различных web-серверах

Увеличить


Источник: Портал по информационной безопасности SecurityLab.ru, 2012

Исследование Positive Technologies позволяет оценить доли присутствия уязвимостей различных уровней рисков для отраслевой принадлежности владельца web-приложений. В зависимости от рода деятельности предприятия и назначения системы наибольшую значимость могут приобретать конфиденциальность информации и (или) доступность ресурса.

Доли сайтов с уязвимостями высокого уровня риска, принадлежащих разным отраслям экономики

Источник: Портал по информационной безопасности SecurityLab.ru, 2012

Доли уязвимых сайтов из различных отраслей экономики

Источник: Портал по информационной безопасности SecurityLab.ru, 2012

Распределение уязвимостей по уровню риска на сайтах из различных отраслей экономики

Источник: Портал по информационной безопасности SecurityLab.ru, 2012

Анализ выявленных уязвимостей по сегментам отраслей показывает, что основная доля рисков проникновения приходится на телекоммуникационные предприятия, IT компании и промышленность. Наиболее защищенным является финансовый и банковский сектор. Однако банки предпочитают защищать только собственные ресурсы, не уделяя должного внимания информированию своих клиентов.

Сравнительно честные способы обмануть службу поддержки

Зачастую сами работники крупных компаний пренебрегают элементарными мерами безопасности, что приводит к потере данных и взлому пользовательских страниц, размещенных на удаленных площадках. Это касается, как сегментов B2С и B2B, так социальных сетей и почтовых служб.

Простая услуга получения забытого пароля позволяет обеспечить проникновение и доступ к информации аккаунта, размещенного с использованием ресурсов некоторых социальных сетей. Для доступа к странице среднестатистического пользователя "ВКонтакте" достаточно несколько запросов в службу поддержки с представлением контактных данных, размещенных на его же странице в свободном доступе (номер телефона, электронная почта и так далее). В ходе переписки с персоналом и манипуляции с данными пароль можно получить в течение суток.

Компания Google, позиционирующая себя как создателя одного из самых безопасных ресурсов в интернете, требует для получения утерянного пароля заполнение формы, в которой указывается время начала использования учетной записи, сервисы, подключенные к данной учетной записи, информация о содержимом почтового ящика (метки, популярные корреспонденты и т. д.) Большую часть этих данных можно получить из открытых источников не прибегая к специальным средствам. Этих данных оказывается достаточно для получения пароля из службы поддержки Google, что позволяет получить доступ не только к чужому почтовому ящику, но и к другим сервисам Google: Picasa, YouTube, Google Analytics и т.д.

"Корпорация добра" платит за находки

Оборотная сторона медали пользовательской безопасности – это потеря доверия к программному обеспечению со стороны клиентов. И как следствие, снижение прибыли продавцов. Крупные интернет компании и разработчики программного обеспечения подходят к решению проблемы комплексно. Например, компания Google организовала программу Bug Bounty, в рамках которой она платит за найденные баги в своих продуктах. Программа действует с ноября 2010 года и участвовать в ней может любой желающий, гонорар присылают чеком. В июле 2011 года сумма вознаграждения за самые опасные дыры была увеличена до 3133,7 долл.

На оплату могут претендовать все находки серьёзных багов, особенноXSS, XSRF / CSRF, XSSI (cross-site script inclusion),обход авторизации (User A получает доступ к приватным данным User B), исполнение кода на стороне сервера или внедрение кода.

Вознаграждение можно получить за нахождение уязвимости в любом продукте Google: это браузеры Chrome, Chromium, продукты Gmail, Youtube, Google Docs, Chrome OS, а также за все сервисы на доменах *.google.com, *.youtube.com, *.blogger.com и *.orkut.com. Программа вознаграждений не действует только для клиентских приложений (Android, Picasa, Google Desktop и проч.).

После года действия программы и 410 тыс. долл. выплаченных вознаграждений, компания Google определила программу как "очень успешную". За время её действия было получено 1100 сообщений об уязвимостях разной важности более чем от 200 человек. Из этого числа 730 уязвимостей были оплачены. Значительная часть денег Google была отправлена в СНГ. Стоить отметить, что Google не согласен с отнесением всех уязвимостей на его счет. Менеджеры компании заявляют, что примерно половина найденных уязвимостей приходится на разработки вновь приобретенных компаний.

Что же такое уязвимость?

Для того чтобы проблема была решена, требуется дать ей четкую характеристику. В США были предприняты попытки определения термина "компьютерные уязвимости" В результате исследований, финансируемых из госбюджета, группой MITRE (анализ и разрешение компьютерных проблем, безопасность) было дано развернутое определение уязвимости.

Уязвимость — это состояние вычислительной системы (или нескольких систем), которое позволяет исполнять команды от имени другого пользователя; получать доступ к информации, закрытой от доступа для данного пользователя; показывать себя как иного пользователя или ресурс; производить атаку типа "отказ в обслуживании".

Впоследствии термин "уязвимость" был разделен на два значения. В MITRE считают, что атака, производимая вследствие слабой или неверно настроенной политики безопасности, может также описываться термином "открытость" (exposure).

Открытость — это состояние вычислительной системы (или нескольких систем), которое не является уязвимостью, но позволяет атакующему производить сбор защищенной информации; позволяет атакующему скрывать свою деятельность; содержит возможности, которые работают корректно, но могут быть легко использованы в неблаговидных целях; является первичной точкой входа в систему, которую атакующий может использовать для получения доступа или информации.

В момент получения неавторизованного доступа к системе злоумышленник производит сбор информации (расследование) об объекте атаки, собирает любые доступные данные и затем использует слабость политики безопасности ("открытость") или какую-либо уязвимость.

Интернет – безусловное благо для общества. В период перехода социального развития от индустриального к информационному именно глобальная Сеть позволяет эффективно эксплуатировать необходимые данные и информацию. Интернет связывает, систематизирует, находит, передает, показывает, выполняет огромное количество иных функций. Однако, как любой инструмент, Сеть может быть использована не только во благо, но и во вред. Подобный перекос напрямую связан с возможностями, которые предоставляет эксплуатируемый инструмент. В частности, такие возможности для противоправных деяний создаются самими разработчиками ПО.

Мы все понимаем, что невозможно предусмотреть появление всех уязвимостей и создать идеальное программное обеспечение. На каждого производителя найдется свой взломщик. Вопрос качественной эксплуатации программ стоит не в обеспечении 100% безопасности клиентов на момент разработки ПО, а максимизации качества продукта и своевременном реагировании на обнаруженные уязвимости путем устранения последних со стороны производителя.

Павел Лаврентьев