Угрозы в 2008 году. По полочкам
Итак, продолжим разговор о всякого рода неприятностях, которые имели место в не так давно ушедшем 2008 году. Помнится, я остановился на наиболее ярких темах обсуждений, которые были на устах у аналитиков в ушедшем году. Помню и обещание подробнее рассмотреть эти темы, чем и займусь в этой части статьи.
Руткиты
Руткиты появились неожиданно для всей ИТ-общественности, хотя слухи об их обрушивании на пользователей все таки были. В прошлом году наиболее ярким было появление руткита Rostock.C, вокруг которого поднялась неплохая шумиха, так как кто-то пустил миф о его неуловимости. На самом же деле есть одна аксиома, которая гласит, что если есть возможности обхода, то с их известностью появляются и возможности блокировки обхода. Поэтому хорошее изучение руткита профессионалами всегда способно решить проблему и "сделать" антивирусную систему сильной.
Руткит этот заражает файлы подобно обычному файловому вирусу, но имеется некоторая особенность. Он заражает системный драйвер, что позволяет ему решить проблему маскировки на жестком диске и процесса в памяти, так как этого процесса просто нет. Таким образом, и избавление от него становится на порядок сложнее, так как при заражении обычным руткитом достаточно просто удалить его компоненты из системы, а в этом случае все не так просто, необходима либо замена системного драйвера, либо в антивирусе должна быть функция лечения.
Имеется еще один важный момент, который несет в себе некоторое новаторство. Дроппер руткита собирает информацию о компьютере-жертве и передает ее на сервер, где формируется тело руткита. Оно в зашифрованном виде отправляется обратно на компьютер-жертву. Таим образом происходит адаптация руткита под конкретную машину, привязка к ее аппаратным компонентам.
Естественно, технологии, которые были реализованы в Rustock.C, не остались без внимания, и был зафиксирован еще один руткит, который пользовался ими. Это был ITW-образец Trojan.Win32.Pakes.may. Он действовал по той же схеме, что и Rustock – заражал системный драйвер ndis.sys, а тело его загружалось с ресурса panda-server.ru. Код в файле ndis.sys после заражения шифруется, перед стартом запускается код протектора, который производит дешифровку, а после передает управление драйверу.
На самом деле о буткитах было известно довольно давно, первые ласточки стали появляться после публикации материалов, подобных eEye Bootroot. Это все началось в 2005-2006 годах, полностью функционирующие образцы, а не пробные "хрупкие" стали появляться уже в 2007 году, а вот пик активности пришелся именно на 2008 год, о чем собственно и протрубили практически все печатные издания (в электронных эта новость новостью не оказалась бы). Я было хотел написать пару материалов, которые помогли бы разложить по полочкам все возможности, но тогда (а было это в 2007-м) интерес к бутам не был таким оживленным, поэтому я забросил тему за неактуальностью. А ушедший год был у меня слишком насыщен разного рода неприятными неожиданностями :), поэтому как-то не до этого было. После этого цикла планирую поправить ситуацию и написать про буты, вот только материал будет достаточно глубоким, так как времена поверхностности уже прошли.
Буты используют дедовский способ заражения boot-секторов и MBR записей, что активно использовалось еще во времена DOS Boot-вирусов. Как сейчас помню, перезапись boot-сектора временами вызывала устойчиво появляющийся при каждом запуске BSOD, а вирусы такие лучше всего детектировал ADinf (с рисунком змеи в окне программы), не так уж и давно это было)), а кажется – уже целая вечность прошла.
Вернемся к нашим баранам. Получив управление, бут, естественно, прописывается в адресном пространстве ядра и маскирует сектора с собой. Маскировка реализуется классическими методами – как правило, путем фильтрации IRP-пакетов. Для дроппера буткита характерно открытие диска для посекторного чтения/записи, что позволяет обнаружить подобные операции на уровне эмулятора/системы расчета рейтинга опасности или на уровне HIPS/PDM и блокировать дроппер.
Теперь, обратившись к бюллетеню лаборатории Касперского, давайте рассмотрим, какие же еще моменты из мира руткитов получили развитие в 2008-м.
1. Технологии активного противодействия руткита антивирусам и антивирусным утилитам. В течение года набор технологий противодействия постоянно менялся. Наиболее популярными из них были: блокировка и повреждение принадлежащих антивирусу файлов. Идентификация файлов ведется либо по маске имени файла, либо по сигнатурам. Метод сигнатурной блокировки гораздо опаснее ввиду его универсальности; внедрение руткитов путем подмены системных драйверов – например, beep.sys. В данном случае не требуется регистрация драйвера в реестре, и в протоколах исследования системы посторонние драйверы не видны; применение новых методов самозащиты и маскировки. Кроме ставших уже привычными перехвата функций KiST, сплайсинга машинного кода функций ядра и фильтрации IRP, начали применяться сплайсинг кода обработчиков IRP-драйверов, а также использование штатного системного механизма CallBack-процедур на операции с реестром. Кроме того, активно внедрялись методики противодействия антируткитам, в частности:
. блокировка доступа к файлам ядра, не позволяющая анализировать машинный код этих файлов, что необходимо для восстановления ядра в памяти и поиска перехваченных функций;
. подмена контекста файлов ядра и принадлежащих руткиту файлов – как правило, за счет перехвата функции открытия файла и открытия вместо ядра какого-то другого системного EXE-файла;
. блокировка открытия диска для посекторного чтения/записи, которая позволяет противодействовать антируткитам и антивирусам, использующим собственные алгоритмы парсинга файловой системы;
. перехват функций NTSaveKey и NTSaveKeyEx для блокировки снятия дампов ключей реестра и их последующего парсинга (данная методика, в частности, используется в последних поколениях руткитов TDSS);
. слежение за своими перехватами и их восстановление (данный метод, известный еще со времен руткита A311 Death, в настоящее время снова стал активно применяться – например, в последних версиях руткита TDSS).
2. Новые технологии маскировки объектов на диске, основанные на модификации объектов MFT при их чтении или непосредственно на диске. Данные технологии пока не получили широкого распространения, но есть вероятность того, что они будут развиваться. Метод маскировки может, например, заключаться в следующем: руткит рассчитывает физическое местоположение интересующих его ячеек MFT и затем при чтении диска подменяет содержимое ячейки MFT для защищаемого файла на ячейку, скажем, системного объекта, что позволяет маскировать содержимое файлов без классических перехватов. Другим примером может служить модификация индексов NTFS-тома (подобное поведение зафиксировал в ITW-образце Василий Бердников в сентябре 2008 года – в руткит-компоненте Trojan-GameThief.Win32.OnLineGames.snjl).
Погеймимся немного
Чего мне скрывать, я люблю поиграть в World of Warcraft. Вот как раз сейчас перешел на новый сервер worldofwarcraft.by, где стоит лич, и в данный момент вполне удачно раскачиваю там друлю. Насколько часто мне приходится покупать там вещи? Ответ – очень часто. Однако наш скромненький белорусский серверок не сравнить с гигантами, которые имеются в более крупных странах. Там, естественно, отчаянные фанатики готовы продать последние штаны, чтобы получить вот этот стаф или вон тот свиток. Этим, конечно, не могли не воспользоваться плохие дядьки, и зловреды стали охотиться за аккаунтами онлайн-игроков. В отчете за 2007 год, если помните, я оговаривал рост игрового вредоносного программного обеспечения. В 2008-м ситуация лучше не стала, а как раз наоборот, ухудшилась. Посудите сами, 32 тысячи против 100 – с этим трудно спорить, да, ситуация ухудшилась.
Среди семейств вредоносных программ, атакующих игроков онлайн-игр, самым многочисленным по-прежнему остается Trojan-GameThief.Win32.OnLineGames, представители которого воруют пароли к двум и более играм. На долю Trojan-GameThief.Win32.OnLineGames приходится 65,4% всех игровых троянцев. Отличительной чертой 2008 года стал невероятный всплеск активности вредоносных программ данного семейства летом, в период отпусков и максимальной геймерской активности. В августе 2008 года вирусными аналитиками "Лаборатории Касперского" было задетектировано почти 12.000 новых вредоносных программ, относящихся к Trojan-GameThief.Win32.OnLineGames, а это значит, что каждые четыре минуты появлялась новая вредоносная программа (рис.1).
На этом фоне активность семейства вредоносных программ Trojan-GameThief.Win32.WOW, атакующего только игроков в World of Warcraft, росла планомерно вплоть до ноября 2008 года, когда был зафиксирован случай массового взлома сайтов с целью распространения вредоносных программ этого семейства. Злоумышленникам удалось взломать около 10.000 сайтов и разместить на них вредоносный код. Пострадали, в основном, европейские и американские сайты – в этих регионах больше всего игроков в World of Warcraft. Взлом сайтов был приурочен к выходу 13 ноября второго дополнения к игре под названием Wrath of the Lich King.
На этом все про игровых зловредов. Вообще тема достаточно интересная, поэтому, я считаю, она требует отдельной статьи.
Контакт!
Последнее время активность социальных сетей стала просто головосшибающей. Кроме того, резко все начали больше говорить о соцсетях, шутить и т.д. Вконтакте сидят все, в Одноклассниках не меньше сидит. Проводят там часы, обмениваются файлами, выкладывают музыку, видео. Последнее время популярность социальных сетей переплюнула популярность электронной почты. Это, естественно, сродни играм, не могло не остаться незамеченным :).
В конце 2008 года в коллекции "Лаборатории Касперского" содержалось более 43.000 вредоносных файлов, так или иначе связанных с различными социальными сетями.
Социальные сети привлекают все больше вирусописателей, о чем свидетельствует число вредоносных программ, атакующих пользователей различных социальных сетей, которые поступили на обработку в вирусную лабораторию (рис.2).
На этом я закончу вторую часть обзора всего того, что было в 2008 году. У нас осталась статистика, уязвимости и прогнозы, но о них в следующий раз. Удачи, и исправно почаще обновляйте свои антивирусы ;).
P.S.: При написании статьи использовались материалы: Kaspersky Security Bulletin, SASecurity Analytic department, Дмитрия Евтеева (by SecuirtyLab), Semu (by ][akep).
Евгений Кучук, SASecurity group
Руткиты
Руткиты появились неожиданно для всей ИТ-общественности, хотя слухи об их обрушивании на пользователей все таки были. В прошлом году наиболее ярким было появление руткита Rostock.C, вокруг которого поднялась неплохая шумиха, так как кто-то пустил миф о его неуловимости. На самом же деле есть одна аксиома, которая гласит, что если есть возможности обхода, то с их известностью появляются и возможности блокировки обхода. Поэтому хорошее изучение руткита профессионалами всегда способно решить проблему и "сделать" антивирусную систему сильной.
Руткит этот заражает файлы подобно обычному файловому вирусу, но имеется некоторая особенность. Он заражает системный драйвер, что позволяет ему решить проблему маскировки на жестком диске и процесса в памяти, так как этого процесса просто нет. Таким образом, и избавление от него становится на порядок сложнее, так как при заражении обычным руткитом достаточно просто удалить его компоненты из системы, а в этом случае все не так просто, необходима либо замена системного драйвера, либо в антивирусе должна быть функция лечения.
Имеется еще один важный момент, который несет в себе некоторое новаторство. Дроппер руткита собирает информацию о компьютере-жертве и передает ее на сервер, где формируется тело руткита. Оно в зашифрованном виде отправляется обратно на компьютер-жертву. Таим образом происходит адаптация руткита под конкретную машину, привязка к ее аппаратным компонентам.
Естественно, технологии, которые были реализованы в Rustock.C, не остались без внимания, и был зафиксирован еще один руткит, который пользовался ими. Это был ITW-образец Trojan.Win32.Pakes.may. Он действовал по той же схеме, что и Rustock – заражал системный драйвер ndis.sys, а тело его загружалось с ресурса panda-server.ru. Код в файле ndis.sys после заражения шифруется, перед стартом запускается код протектора, который производит дешифровку, а после передает управление драйверу.
На самом деле о буткитах было известно довольно давно, первые ласточки стали появляться после публикации материалов, подобных eEye Bootroot. Это все началось в 2005-2006 годах, полностью функционирующие образцы, а не пробные "хрупкие" стали появляться уже в 2007 году, а вот пик активности пришелся именно на 2008 год, о чем собственно и протрубили практически все печатные издания (в электронных эта новость новостью не оказалась бы). Я было хотел написать пару материалов, которые помогли бы разложить по полочкам все возможности, но тогда (а было это в 2007-м) интерес к бутам не был таким оживленным, поэтому я забросил тему за неактуальностью. А ушедший год был у меня слишком насыщен разного рода неприятными неожиданностями :), поэтому как-то не до этого было. После этого цикла планирую поправить ситуацию и написать про буты, вот только материал будет достаточно глубоким, так как времена поверхностности уже прошли.
Буты используют дедовский способ заражения boot-секторов и MBR записей, что активно использовалось еще во времена DOS Boot-вирусов. Как сейчас помню, перезапись boot-сектора временами вызывала устойчиво появляющийся при каждом запуске BSOD, а вирусы такие лучше всего детектировал ADinf (с рисунком змеи в окне программы), не так уж и давно это было)), а кажется – уже целая вечность прошла.
Вернемся к нашим баранам. Получив управление, бут, естественно, прописывается в адресном пространстве ядра и маскирует сектора с собой. Маскировка реализуется классическими методами – как правило, путем фильтрации IRP-пакетов. Для дроппера буткита характерно открытие диска для посекторного чтения/записи, что позволяет обнаружить подобные операции на уровне эмулятора/системы расчета рейтинга опасности или на уровне HIPS/PDM и блокировать дроппер.
Теперь, обратившись к бюллетеню лаборатории Касперского, давайте рассмотрим, какие же еще моменты из мира руткитов получили развитие в 2008-м.
1. Технологии активного противодействия руткита антивирусам и антивирусным утилитам. В течение года набор технологий противодействия постоянно менялся. Наиболее популярными из них были: блокировка и повреждение принадлежащих антивирусу файлов. Идентификация файлов ведется либо по маске имени файла, либо по сигнатурам. Метод сигнатурной блокировки гораздо опаснее ввиду его универсальности; внедрение руткитов путем подмены системных драйверов – например, beep.sys. В данном случае не требуется регистрация драйвера в реестре, и в протоколах исследования системы посторонние драйверы не видны; применение новых методов самозащиты и маскировки. Кроме ставших уже привычными перехвата функций KiST, сплайсинга машинного кода функций ядра и фильтрации IRP, начали применяться сплайсинг кода обработчиков IRP-драйверов, а также использование штатного системного механизма CallBack-процедур на операции с реестром. Кроме того, активно внедрялись методики противодействия антируткитам, в частности:
. блокировка доступа к файлам ядра, не позволяющая анализировать машинный код этих файлов, что необходимо для восстановления ядра в памяти и поиска перехваченных функций;
. подмена контекста файлов ядра и принадлежащих руткиту файлов – как правило, за счет перехвата функции открытия файла и открытия вместо ядра какого-то другого системного EXE-файла;
. блокировка открытия диска для посекторного чтения/записи, которая позволяет противодействовать антируткитам и антивирусам, использующим собственные алгоритмы парсинга файловой системы;
. перехват функций NTSaveKey и NTSaveKeyEx для блокировки снятия дампов ключей реестра и их последующего парсинга (данная методика, в частности, используется в последних поколениях руткитов TDSS);
. слежение за своими перехватами и их восстановление (данный метод, известный еще со времен руткита A311 Death, в настоящее время снова стал активно применяться – например, в последних версиях руткита TDSS).
2. Новые технологии маскировки объектов на диске, основанные на модификации объектов MFT при их чтении или непосредственно на диске. Данные технологии пока не получили широкого распространения, но есть вероятность того, что они будут развиваться. Метод маскировки может, например, заключаться в следующем: руткит рассчитывает физическое местоположение интересующих его ячеек MFT и затем при чтении диска подменяет содержимое ячейки MFT для защищаемого файла на ячейку, скажем, системного объекта, что позволяет маскировать содержимое файлов без классических перехватов. Другим примером может служить модификация индексов NTFS-тома (подобное поведение зафиксировал в ITW-образце Василий Бердников в сентябре 2008 года – в руткит-компоненте Trojan-GameThief.Win32.OnLineGames.snjl).
Погеймимся немного
Чего мне скрывать, я люблю поиграть в World of Warcraft. Вот как раз сейчас перешел на новый сервер worldofwarcraft.by, где стоит лич, и в данный момент вполне удачно раскачиваю там друлю. Насколько часто мне приходится покупать там вещи? Ответ – очень часто. Однако наш скромненький белорусский серверок не сравнить с гигантами, которые имеются в более крупных странах. Там, естественно, отчаянные фанатики готовы продать последние штаны, чтобы получить вот этот стаф или вон тот свиток. Этим, конечно, не могли не воспользоваться плохие дядьки, и зловреды стали охотиться за аккаунтами онлайн-игроков. В отчете за 2007 год, если помните, я оговаривал рост игрового вредоносного программного обеспечения. В 2008-м ситуация лучше не стала, а как раз наоборот, ухудшилась. Посудите сами, 32 тысячи против 100 – с этим трудно спорить, да, ситуация ухудшилась.
Среди семейств вредоносных программ, атакующих игроков онлайн-игр, самым многочисленным по-прежнему остается Trojan-GameThief.Win32.OnLineGames, представители которого воруют пароли к двум и более играм. На долю Trojan-GameThief.Win32.OnLineGames приходится 65,4% всех игровых троянцев. Отличительной чертой 2008 года стал невероятный всплеск активности вредоносных программ данного семейства летом, в период отпусков и максимальной геймерской активности. В августе 2008 года вирусными аналитиками "Лаборатории Касперского" было задетектировано почти 12.000 новых вредоносных программ, относящихся к Trojan-GameThief.Win32.OnLineGames, а это значит, что каждые четыре минуты появлялась новая вредоносная программа (рис.1).
На этом фоне активность семейства вредоносных программ Trojan-GameThief.Win32.WOW, атакующего только игроков в World of Warcraft, росла планомерно вплоть до ноября 2008 года, когда был зафиксирован случай массового взлома сайтов с целью распространения вредоносных программ этого семейства. Злоумышленникам удалось взломать около 10.000 сайтов и разместить на них вредоносный код. Пострадали, в основном, европейские и американские сайты – в этих регионах больше всего игроков в World of Warcraft. Взлом сайтов был приурочен к выходу 13 ноября второго дополнения к игре под названием Wrath of the Lich King.
На этом все про игровых зловредов. Вообще тема достаточно интересная, поэтому, я считаю, она требует отдельной статьи.
Контакт!
Последнее время активность социальных сетей стала просто головосшибающей. Кроме того, резко все начали больше говорить о соцсетях, шутить и т.д. Вконтакте сидят все, в Одноклассниках не меньше сидит. Проводят там часы, обмениваются файлами, выкладывают музыку, видео. Последнее время популярность социальных сетей переплюнула популярность электронной почты. Это, естественно, сродни играм, не могло не остаться незамеченным :).
В конце 2008 года в коллекции "Лаборатории Касперского" содержалось более 43.000 вредоносных файлов, так или иначе связанных с различными социальными сетями.
Социальные сети привлекают все больше вирусописателей, о чем свидетельствует число вредоносных программ, атакующих пользователей различных социальных сетей, которые поступили на обработку в вирусную лабораторию (рис.2).
На этом я закончу вторую часть обзора всего того, что было в 2008 году. У нас осталась статистика, уязвимости и прогнозы, но о них в следующий раз. Удачи, и исправно почаще обновляйте свои антивирусы ;).
P.S.: При написании статьи использовались материалы: Kaspersky Security Bulletin, SASecurity Analytic department, Дмитрия Евтеева (by SecuirtyLab), Semu (by ][akep).
Евгений Кучук, SASecurity group
Компьютерная газета. Статья была опубликована в номере 13 за 2009 год в рубрике безопасность