Содержание статьи
Итак, вниманию читателя представляется очередная статья, содержащая
информацию об опубликованных в разделе «bugtrack»
нашего сайта уязвимостях за первое полугодие 2008 года.
Обзор
Общее количество найденных уязвимостей составило 1524. Как видно из таблицы,
удаленных уязвимостей обнаружено гораздо больше, чем локальных. Соотношение
удаленных/локальных уязвимостей ощутимо выше по сравнению с прошлым полугодием.
Общие данные по уязвимостям | Количество |
Количество уязвимостей | 1524 |
уязвимостей с эксплойтами | 835 |
уязвимостей без эксплойтов | 689 |
удаленных уязвимостей | 1459 |
локальных уязвимостей | 65 |
Уязвимостей, содержащих эксплойты опубликовано также гораздо больше, чем в
предыдущий раз. 835 уязвимостей из 1524 включают примеры эксплойтов, что
графически отражено на диаграмме.
Основные типы уязвимостей и их количественный эквивалент отражены в таблице.
Диаграмма отражает эту же информацию в процентном соотношении. Как и прежде,
уязвимости ориентированные на Web-приложения выделим в отдельную касту. О них мы
поговорим чуть ниже. Из основных типов уязвимостей, конечно, стоит выделить
«Выполнение произвольного кода» - 346 записей и «Отказ в обслуживании» - 196
уязвимостей и «Доступ к конфиденциальной информации».
Основные типы уязвимостей | Количество |
Web-ориентированные уязвимости | 646 |
Выполнение произвольного кода | 346 |
Отказ в обслуживании | 196 |
Доступ к конфиденциальной информации | 107 |
Обход ограничений безопасности | 90 |
Досуп к файловой системе | 64 |
Эскалация привилегий | 58 |
Спуфинг | 17 |
Уязвимости в Web приложениях
Интересно, что так же, как и в прошлом полугодии, доля обнаруженных уязвимостей,
позволяющих осуществить атаки на Web-приложения, составляет 42%. Это очень
высокий показатель, свидетельствующий о популярности Web сервисов во всем мире.
Хотя это и не единственный фактор! Для оценок вероятности появления вредоносных
программ для различных устройств и операционных систем уже давно применяется
методика трех факторов:
- популярность, широкое распространение данной системы;
- документированность - наличие разнообразной и достаточно полной документации
по системе; - незащищенность системы или существование известных уязвимостей в ней и
приложениях.
Прошлый раз мы коротко рассмотрели пятерку самых бажных Web-приложений. В этот
раз расширим наш обзор до полноценной десятки.
Рейтинг Web приложений с наибольшим количеством обнаруженных уязвимостей |
Количество |
Joomla! | 57 |
Mambo | 26 |
WordPress | 15 |
Xoops | 14 |
PHP-Nuke | 14 |
Drupal | 7 |
MyBB | 6 |
kwsPHP | 5 |
PHPBB | 4 |
RoomPHPlanning | 4 |
И снова в лидерах по дырявости программного обеспечения фигурирует Joomla!.
Данное ПО является CMS системой (системой управления содержанием сайтов),
написанной на языке PHP и использующей в качестве хранилища базу данных MySQL.
Популярность Joomla! вызвана тем, что данная CMS является свободным программным
обеспечением, распространяющимся под лицензией GPL. Однако пользователям Joomla!
стоит задуматься... 57 уязвимостей с эксплойтами за 6 месяцев – не слишком ли?
Показатель-то больше, чем у MS Windows. Любопытно, что на втором месте
расположилась CMS Mambo, по сути, являющаяся ответвлением Joomla!. Когда-то обе
команды разработчиков работали над одним проектом, но позже разделились из-за
несогласованности в экономических взглядах.
С третьего по пятое место расположились WordPress, Xoops и PHP-Nuke (знакомые
все лица :)). Drupal опустился на 6 место в рейтинге, тем самым поднявшись в
глазах трудящихся.
В следующей таблице приведены основные атаки, нацеленные на Web приложения:
PHP-инклюдинг, SQL-инъекции и Межсайтовый скриптинг.
Атаки, нацеленные на Web приложения | Количество |
Всего | 646 |
PHP-инклюдинг | 112 |
XSS (Межсайтовый скриптинг) | 177 |
SQL-инъекции | 399 |
Другие | 58 |
Как видно
атаки на основе PHP-инклюдинга не только уступили место SQL-инъекциям, но их
количество также существенно ниже XSS атак. Число последних по прежнему велико,
поскольку данный вид нападения позволяет эффективно манипулировать системой
жертвы, посетившей злонамеренный ресурс. При открытии страницы зараженного сайта
в браузере пользователя срабатывает злонамеренный код, который может находиться
как на самом зараженном сервере, так и на другом источнике.
Количество атак, позволяющих выполнить SQL код, практически достигло отметки в
четыре сотни. Действительно, практически любое приложение использует в качестве
хранилища реляционную базу данных. Поэтому количество SQL атак будет только
нарастать. Соотношение сценариев используемых хакерами для выполнения
SQL-инъекций очередной раз изменилось в пользу PHP. Разница в использовании PHP
сценариев по отношению к ASP велика и равняется пять к одному.
SQL-инъекции в PHP и ASP сценариях | 399 |
в PHP сценариях | 334 |
в ASP сценариях | 65 |
Наибольшие пики активности хакеров по отношению к Web-приложениям были замечены
в феврале (после новогоднего спада) и июне.
Выполнение произвольного кода
Всего атак, нацеленных на выполнение произвольного кода, было обнаружено 346.
Данный вид атак занимает первую позицию в таблице уязвимостей не случайно.
Выполнение произвольного кода, по сути, является возможностью осуществления
самых разнообразных и изощренных действий на компьютере пользователя-жертвы.
Такой подход всегда выигрышный, поскольку он универсальный.
Отказ в обслуживании
Ошибок, приводящих к остановке и краху служб, завершению работы процессов,
прекращению обработки легитимных запросов и осуществлению других DoS атак всегда
было и будет довольно большое количество. Такое положение дел обусловлено
естественной природой программного обеспечения. Любое вмешательство в нормальную
работу системы в первую очередь приведет к отказу системы в обслуживании. В
дальнейшем эту атаку можно развивать с целью более серьезных исследований.
Но, кончено, и сами по себе DoS-уязвимости привлекают хакеров, поскольку позволяют
заработать на распределенных DDoS атаках, упомянутых в предыдущем обзоре.
Большинство DoS атак является удаленными.
Доступ к конфиденциальной информации
Доступ к информации пользователей является излюбленным лакомством кибер
мошенников. Об этом говорит и наш рейтинг (3 место в общем списке, не считая
атак на Web приложения). Количество атак этого типа выросло на половину и
достигло 107. По прежнему антивирусные компании сообщают о тысячах разнообразных
троянских программ, ориентированных на кражу аккаунтов доступа к банковских
системам. Это такие семейства шпионов, как Bancos, Banpaes и Banload. Все они,
кстати, по неофициальным данным написаны бразильскими вирусописателями.
По-прежнему популяры игровые трояны, нацеленные на кражу учетных данных
пользователей онлайн-игр. Самой популярной целью у хакеров остается игра World
of Warcraft. Огромное семейство шпионских троянов Trojan-PSW.Win32.WOW в
терминах именования Лаборатории Касперского атакуют именно игроков «World of
Warcraft».
Обход ограничений безопасности
Уязвимости, связанные с обходом ограничений безопасности, используют весьма
изощренные способы для обмана различных подсистем компьютера-жертвы. В прошлом
обзоре мы говорили о результатах, которых можно достичь с использованием таких
уязвимостей. Давайте сейчас перечислим основные механизмы достижения
результатов:
- использование того факта, что приложение устанавливает недостаточно
строгие права доступа на инсталляционные файлы; - несовершенство механизмов аутентификации входа в систему, например, библиотека libxcrypt из openSUSE 11.0, содержала ошибку, заключающуюся в использовании
алгоритма DES для генерации хэшей паролей, несмотря на указание применять
алгоритм MD5 в файле /etc/default/passwd; - использование ошибок в правилах ACL и всевозможных фильтрах, включая
антивирусные механизмы фильтрации; - использование особенностей в обработке последовательностей обхода директорий и
многое другое.
Проанализировав такие бреши становится ясно, что хакеры очень тщательно изучают
систему перед очередной атакой, фактически выступая в роли бета тестеров.
Доступ к файловой системе
Брешей безопасности, позволяющих хакеру получить доступ к файловой системе, было
обнаружено 64. Данный вид атак, несомненно, присутствует в реальных эксплоитах,
но их доля не так велика по сравнению с другими распространенными видами атак.
Данный факт обусловлен практической подоплекой, а если более конкретно
- коммерциализацией вирусописательства. Практически никто уже не пишет вредоносные
программы с целью самовыражения, самоутверждения или исследований. Выполнив
деструктивные действия на системе жертвы, хакер не получит никаких материальных
благ. Гораздо более выгодно полиморфно генерировать сотни примитивных троянских
программ на продажу. Таким образом, доступ к системе пользователя является для
хакера неким промежуточным результатом, позволяющим впоследствии обойти
ограничения безопасности и войти в систему, например, перезаписав какой либо
системный файл. Конечно, вы можете меня упрекнуть, вспомнив пресловутый Gpcode,
шифрующий данные пользователя с целью шантажа жертвы. Не спорю, такие прецеденты
также случаются, но, во-первых, их гораздо меньше, а во-вторых, всегда
безопаснее провести атаку наименее заметно для пользователя.
Спуфинг
В первом полугодии 2008 года мы также наблюдаем некоторое количество спуфинг
атак, то есть атак относящихся к подмене каких-либо данных. Только недавно
прокатилась целая серия публикаций об уязвимостях, приводящих к подмене DNS кэша
в DNS серверах. Уязвимости возникают из-за недостаточной рандомизации значений
таких важных характеристик, как идентификатор транзакции DNS и номер порта
источника. По-прежнему ведутся атаки на Интернет браузеры с целью модификации
различных отображаемых данных, например подмена истинного адреса Web страницы.
Рейтинг самых уязвимых приложений
Новый рейтинг уязвимого ПО пополнился сразу тремя Web-приложениями, первое из
которых Joomla, намного оторвалось от остальных соперников. На диаграмме и в
таблице четко видны всплески обнаружений уязвимостей в Joomla в феврале и
июне, а также чуть меньше в марте и апреле. Интересно, что на 90% это
уязвимости, приводящие к SQL-инъекциям, гораздо в меньшей степени PHP-инклюдинг
и XSS.
Рейтинг приложений с наибольшим количеством обнаруженных уязвимостей | Количество |
Joomla | 57 |
Sun Solaris | 28 |
Mambo | 26 |
Microsoft Windows | 23 |
Mozilla Firefox | 21 |
Apple Safari | 20 |
Mozilla SeaMonkey | 18 |
Mozilla Thunderbird | 17 |
Microsoft Office | 16 |
WordPress | 15 |
На втором месте расположилась операционная система Sun Solaris, которая
передвинулась с четвертого места. Затем следуем CMS Mambo, для которого
подавляющее большинство ошибок, как и для Joomla, относится к SQL-инъекциям.
Microsoft Windows занимает четвертую позицию. Число ошибок в абсолютном
выражении для этой операционной системы также сократилось. Видимо не зря
представители Microsoft заверяли, что Windows Vista написана практически с нуля,
и в техническом департаменте внедрена абсолютно новая система тестирования
продуктов. Хотелось бы верить, но говорить о том, что Vista станет самой
защищенной системой за все время существования компании пока рано. Тем более,
когда такой авторитетный источник как PC Tools Software, занимающийся борьбой с
вредоносным ПО, заявляет, что ОС Windows Vista более уязвима, нежели Windows
2000.
Браузер Mozilla Firefox занимает 5 строчку хит парада, прихватив с собой
сородичей по оружию Mozilla SeaMonkey и Mozilla Thunderbird (7-е и 8-е место
соответственно). В этом нет ничего удивительного, поскольку задача
универсализации кода, так или иначе, стоит перед любым разработчиком пытающимся
снизить издержки. Действительно, в данном конкретном случае мы наблюдали
публикации о множественных уязвимостях сразу в
трех продуктах Mozilla.
Браузер Apple Safari также не отстает. И все благодаря широкому признанию iPhone.
По официальным данным более сорока процентов американцев выходят в интернет
именно через это устройство и соответственно, используют браузер Safari.
Замыкают десятку Microsoft Office и WordPress, содержащие 16 и 15 уязвимостей
соответственно. Не попало в топ лист, но также имеют довольно много уязвимостей
следующее ПО: HTTP сервер Apache (12), Apple QuickTime (14), Gnome (8), Vmware
Workstation/Server (8), Microsoft Internet Explorer (9), Oracle (7).
Итоги. Тенденции.
Самыми защищенными операционными системами по-прежнему остаются FreeBSD, OpenBSD
и NetBSD. Однако и ядро линукс оказалось не таким уязвимым в данном полугодии.
Среди офисного программного обеспечения Open Office для юникс систем также
показал себя гораздо лучше, чем офисный продукт для MS Windows, имея всего 4
уязвимости. Интернет браузер Opera имеет всего 2 уязвимости, что гораздо меньше,
чем в прошлом полугодии (11).
Все больше появляется уязвимостей в системах мгновенного обмена сообщениями
(IM-клиентах). Особенно увеличивается найденное количество ошибок в таких
популярных системах как Skype и ICQ. Так, например, Worm.Win32.Skipi
распространяется через Skype-клиент, рассылая по контакт-листу пользователя
зараженной машины ссылку на свой исполняемый файл. Что помогает червю мгновенно
распространяться на компьютеры Skype пользователей.
Все больше источниками публикаций об уязвимостях становятся антивирусные
компании. Так крупнейший разработчик антивирусного ПО, Symantec ведет свою
новостную колонку об уязвимостях в продуктах сторонних разработчиков.
Скорее всего, такой ход вызван желанием проактивно влиять на ситуацию.
Анализируя и предсказывая потенциальные дыры в защите, разработчики смогут
добавлять антивирусные сигнатуры и эвристические методы еще до появления
эксплойта, тем самым опережая действия хакеров.