Приветствую Вас Прохожий | Получать RSS-новости | Главная | Регистрация | Вход |
Меню сайта

Форма входа

Категория каталога
Разное [78]

Новое на сайте
Новые файлы


Случайные программы


Новые статьи

Как настроить видеокарту...
Компьютер на замке
Что делать, если появляе...
Устранение неполадок при...
Тарифные планы провайдер...

Последние новости

«Спорту» осталось недолг...
Eutelsat W7. 36E Радуга-...
Astra 1H. 19.2E
Профилактика на спутнике...
Радуга-Интернет на Eutel...

Облако тегов


Друзья сайта
Дискуссионный клуб
Шаблоны для uCoz, скрипты для uCoz  Желтые страницы по спутниковому и кабельному ТВ


Для проживающих в городе Иваново:

Ремонт и настройка вашего компьютера
Установка программ
Защита. Удаление вирусов

Оцифровка видео и аудио материалов с возможностью компьютерного монтажа

Создание небольших сайтов, персональных страничек

Монтаж и настройка спутникового Интернета
и телевидения...

и прочие компьютерные услуги...

По всем вопросам обращаться по тел. 89605108897


Счетчики
Были сегодня:



Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Главная » Статьи » Разное » Разное

Борьба с Ring0 троянами
Оригинальный способ противодействия зловредному программному обеспечению на рабочих местах.

Одной из задач для специалиста по IT-безопасности является своевременный поиск и выявление троянских программ на компьютерах пользователей. В этой статье мы рассмотрим оригинальный способ выявления и удаления RING0 троянов без использования дорогостоящих программных комплексов и привлечения сторонних специалистов.

Теневая IT-коммерция

По данным экспертов, в 2006 году теневой доход, полученный в результате незаконной деятельности в сфере IT, превысил аналогичные показатели в сфере сбыта наркотиков. Основными подвигами этой отрасли является незаконная реклама в виде рассылки спама и атака определенных сетевых ресурсов. Поскольку для решения этих задач требуются большие вычислительные мощности, хакеры придумали, каким образом можно нелегально брать в аренду чужие компьютеры. Для этого создаются так называемые бот-сети (трудно представить, что всего 4-6 лет назад о них знали только избранные). Эта сеть состоит из серверов и клиентов (впрочем, и те и другие представляют собой пользовательские компьютеры, пораженные соответствующими зловредами).

Технологическая цепочка

Заказчик платит деньги за аренду сети под рассылку спама или атаки на сетевой ресурс; 
Хакер устанавливает на серверы задачу; 
Каждый клиент периодически соединяется с сервером, чтобы получить новую работу или обновления трояна. 

Обзор


Чтобы эффективно бороться со зловредным программным обеспечением, нужно немного представлять основные принципы их работы.

Все зловреды делятся на две большие группы - это ring3 и ring0 трояны, в виде программы или драйвера соответственно.

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

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

Сейчас существует огромное количество анти-троянов (как платных, так и бесплатных), но "воз и ныне там". Логично предположить, что рано или поздно должен был найтись достаточно универсальный и надежный способ, и такой способ нашелся!

Алгоритм действия

Попадая в систему, зловредный программный продукт прежде всего должен обеспечить свою загрузку при рестарте системы. Для этого он создает запись в специальном разделе реестра - [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services].

Каждая запись имеет следующий формат:

DisplayName 
Экранное имя, отображаемое служебными приложениями на экране. Этот параметр необязателен. При его отсутствии именем считается имя подраздела.

ErrorControl 
Определяет, каким образом реагировать на ошибки.

ImagePath 
Путь к исполняемому файлу драйвера или службы.

Для драйверов не обязательно указывать значение этого параметра, но тогда файл драйвера должен находиться в каталоге \%SystemRoot%\System32\Drivers.

Start 
Указывает, как нужно запускать драйвер. 
Значение 2 - драйвер запускается автоматически на этапе загрузки системы. 
Значение 3 - драйвер запускается по требованию.

Type 
Определяет тип службы. 
Значение 1 обозначает драйвер.

Разумеется, троян, так наследивший при установке, обязательно должен сокрыть факт своего присутствия, спрятав запись реестра и файл драйвера на диске. Для реализации этого он перехватывает функции ядра и при каждом вызове этих функций эмулирует отсутствие скрываемых объектов. В современном представлении трояна, технологии сокрытия имеют один из самых важных аспектов. Эти технологии носят название rootkit. Обнаружив действие руткита, можно со 100% гарантией говорить и о наличии в системе трояна. Стереотипом обнаружения руткитов в анти-троянском ПО является проверка целостности кода ядра системы и легальности стека вызовов функций. Мы же пойдем другим путем! Мы будем получать информацию раздела реестра описания драйверов с помощью операционной системы и с помощью утилит, которые не используют функции ОС для работы реестра, а потом будем сравнивать эту информацию. Если она различается - мы нашли руткит!

Практика


Как мы уже говорили, самое слабое место трояна - это загрузка. Троян обязан прописать себя в реестре в разделе драйверов, иначе он просто не загрузится при следующем старте системы. Именно здесь мы и будем его ловить, сравнивая два дампа реестра.

Первый дамп мы сделаем стандартными средствами ОС, а точнее, с помощью встроенного в Windows редактора реестра regedit.

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

Технология состоит из следующих этапов:

1. С помощью встроенного в Windows редактора реестра regedit мы экспортируем раздел реестра         [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services]

2. Копируем файл реестра (%windir%\system32\config\system). Поскольку все файлы реестра заблокированы и недоступны для каких бы то ни было действий, мы будем использовать утилиту RegCopy.exe, которая считывает файл реестра по кластерам, обращаясь к диску напрямую, минуя стандартные функции ОС.

3. С помощью утилиты RegView мы открываем этот файл и делаем еще один экспорт этой ветки реестра.

4. Сравниваем два файла. Поскольку сравнивать эти файлы вручную очень сложно, я написал утилиту для их сравнения - RegistryCompare.exe. Чтобы воспользоваться ей, дампы п1 и п3 нужно назвать orig.reg и raw.reg соответственно, и лежать они должны в папке с исполнимым файлом программы. Сравнивать эти файлы вручную крайне сложно, я написал утилиту для их сравнения - RegistryCompare.exe

Практиковаться мы будем на рутките Unreal.a (многие трояны используют его модификации для сокрытия в реестре и на диске).

Итак, запускаем руткит.

Далее копируем файл реестра, запустив RegCopy.exe. Теперь с помощью RegView делаем экспорт нужной ветки, нажав F2 и не забыв назвать файл именем raw.reg. Остается сделать то же самое с помощью regedit и запустить RegistryCompare.exe.

Поиск завершен

Вот так, произведя несколько несложных действий, мы можем свести на нет могучие усилия высококвалифицированных rootkit-developer'ов. Весьма вероятно, что со временем программисты могут многое придумать для обхода этого метода. Тем не менее, и наши ответные действия не ограничены представленным алгоритмом - например, пункты 2-4 можно выполнить на другой ОС (переставив HDD на другой ПК) или загрузиться с параллельно установленной ОС, а 1 пункт выполнить на системе с трояном. Проверяя реестр на другой ОС, нам теперь не надо копировать его с помощью специальных утилит, поскольку файл не заблокирован - т.е. 2 пункт выполняем вручную.

МНЕНИЕ РЕДАКЦИИ

Лозовский Александр, редактор рубрики "БЕЗОПАСНОСТЬ"

Читателю, знакомому с ситуацией на антивирусном рынке образца середины 90-х годов этот способ наверняка напомнит в чем-то аналогичную ситуацию с принципом работы антивирусного ревизора ADInf:

Так как стелс-вирусы перехватывают обращения к дисковой подсистеме компьютера и скрывают присутствие вируса, ADinf считывает информацию с диска, минуя операционную систему. Для чтения диска ADinf обращается непосредственно к соответствующей функции BIOS, записанной в ПЗУ компьютера. В этом случае вирус не может перехватить обращение к диску, и ADinf получает достоверную информацию.

Как видите, прошло уже более 10 лет, и зловредное программное обеспечение из неких активно скрывающихся и противодействующих обнаружению "произведений искусства", показывающих мастер-класс своего создателя, превратилось в мощное орудие для незаконного заработка денег, а принципы их поиска остались в чем-то похожими.

Мнение эксперта

Deeoni$, программист в сфере IT-безопасности

На данный момент нет средств, дающих 100% гарантию от проникновения руткитов в систему. Метод, описанный в данной статье, конечно, позволяет обнаружить большинство модулей, загружаемых в ядро ОС, но, прибегнув к небольшой хитрости, загрузка драйвера уже не будет прописана в ключе HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services. Например, можно прописать программу-загрузчик драйвера в ключ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run, которой будет создавать нужный ключ для подгрузки драйвера, загружать его, а потом сразу же удалять этот ключ. Драйвер в свою очередь уже будет скрывать параметр в ключе Run. Есть еще более радикальный метод - зашифровать файлы реестра и расшифровывать их только при обращении к ним "доверенных" приложений. Данный трюк исключает возможность доступа к реестру из другой ОС.

Помимо документированного способа загрузки модулей режима ядра (через реестр), есть множество "хакерских" способов, доступных из-за ошибок в коде Windows. Таким образом, предложенный в статье метод не панацея, и является лишь одной из возможных частей комплекса по обнаружению и противодействию руткитам.
Категория: Разное | Добавил: Himik (09.04.2009)
Просмотров: 1096 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Copyright Himik © 2026 Хостинг от uCoz