| RSS



Меню

Bookmark and Share


Статистика
Ваш IP: 216.73.216.65
Вы используете: v





Сейчас на сайте:

Тех поддержка ->

Облако тэгов
Брутер ОС os своя ОС видио сайта Tor Обратная сторона сплоиты антенна ноута php эксплоит Windows Server 2008 Elastix QIP Virtual vps kernel Tune sysctl proc freeBSD Qemu monitoring Network Slackware Raid Bluetooth GEO game emulator Python Shell червь Conficker вирус троян лаборатория касперского пиратство Apple iPhone Microsoft twitter социальная сеть анонимность приватность лицензия Open Source уязвимость MySQL база данных Закон Франция Пират Skype мобильный Deutsche Telekom хакер trend micro кибератака Германия робот Персональные данные Ноутбук Интернет китай цензура windows vista acer Linux патент браузер Firefox Internet Explorer Opera Safari Intel цахал Oracle патч Банкомат IBM США Dell контроль кибербезопасность приговор Mozilla Chrome безопасность Госдума СМИ Windows 8 взлом Пентагон Украина Facebook Cisco Windows XP нетбук торрент музыка Биометрический Nokia ФБР IP-адрес sms RSA java Google Captcha Symantec Спам Антивирус тест Windows 7 операционная система windows провайдер авторское право rapidshare UNIX свиной грипп шантаж Дети копирайт McAfee HTTPS кризис icann студент Норвегия New York Times YouTube Warner Music КНДР Ubuntu касперский Россия РФ сервер хостинг поисковик Принтер Wi-Fi суд пароль блог фишинг одноклассники Медведев контрафакт мошенник sony Gps по JavaScript Хакеры видеохостинг Yahoo фас компьютер софт американские военные Минкомсвязи Сбой Toshiba мошенничество Доктор ВЕб Вконтакте Уголовный Кодекс исходный код Прослушка судья МВД фильтр порнография свобода слова казахстан Universal Music сисадмин Autodesk Gmail кредитная карта LiveJournal шифрование банк Нанотехнологии wikipedia выборы DNS Android атака Mac OS X домен ФСБ прокуратура уголовное дело ICQ Sophos ошибка военные DARPA сайт турция конференция спамер Полиция Koobface Великобритания белоруссия Грузия Европа Билл Гейтс спецслужбы ес терроризм Royal Bank of Scotland смартфон vodafone F-Secure Symbian фильм милиция Microsoft Office Новая Зеландия Adobe Австралия IDC Рамблер Internet Explorer 9 iPad VDI Ирландия поиск киркоров шифр МТС Реклама слежка Mandriva BSD Zeus личные данные eset Вымпелком защита виртуализация OpenOffice.org Черный список BlackBerry индия Москва социальные сети flash player paypal BitDefender сертификат honda Anonymous Тюмень технологии Чипы Ассанж Оптоволокно передача данных арест Samsung Иск Apache акция учетная запись Корея исследование счетчик Санкт-Петербург форум OpenStreetMap SOPA PIPA событие обвинение тендер пользователь Bioshock Infinite: Burial at Sea - Megaupload ВВС США Плагин отчет приложение паспорт Инвестиции олимпийские игры платформа отключение роскомнадзор рынок выдача

Главная » Статьи » Общие Статьи

Как современные вредоносные программы обходят мониторинг процессов

Одна из основных задач любого антивируса (AV) заключается в отслеживании активности всех процессов. Вредоносные программы, в свою очередь, хотят избежать своего детектирования антивирусом.

Авторы: Michael Vincent, Abhishek Singh

Одна из основных задач любого антивируса (AV) заключается в отслеживании активности всех процессов. Вредоносные программы, в свою очередь, хотят избежать своего детектирования антивирусом. Большинство руткитов стараются "залечь тише воды, ниже травы”. Подобной стратегии придерживаются и современные вредоносные программы при обходе антивирусов и систем безопасности корпоративного уровня.

Так как же вредоносным программам удается избежать детектирования при запуске нового процесса? Очень легко: под прицел попадает непосредственно ядро операционной системы. Для мониторинга создания и завершения процессов в ядре Windows, системы безопасности обращаются к функции ядра PsSetCreateProcessNotifyRoutine, предоставляемой Microsoft. Когда происходит создание или завершение процесса, PsSetCreateProcessNotifyRoutine создает соответствующее оповещение. В дальнейшем, системы безопасности используют полученную информацию о процессах, чтобы отследить активность системы и защитить критические ресурсы.

В операционных системах семейства Windows существует массив объектов обратного вызова, который начинается с адресаPspCreateProcessNotifyRoutine. В Windows XP SP2 можно зарегистрировать до восьми объектов обратного вызова. Но к несчастью для разработчиков не из Microsoft’а, указатель PspCreateProcessNotifyRoutine не экспортируется, и открытого метода регистрации на оповещения для сторонних приложений не существует.

Тем не менее, были обнаружены вредоносные программы, которые пытаются получить доступ к PspCreateProcessNotifyRoutine(внутреннему указателю), чтобы удалить все объекты обратного вызова. После того, как будут удалены функции обратного вызова антивируса, вредоносная программа сможет беспрепятственно создавать и завершать процессы по своему усмотрению. Давайте разберемся подробнее, как проводится такая атака.

Рисунок 1. PsSetCreateProcessNotifyRoutine ntoskrnl.exe

В первую очередь необходимо найти внутренний указатель PspCreateProcessNotifyRoutine. Беглый просмотр реализацииPsSetCreateProcessNotifyRoutine в ntoskrnl.exe с помощью IDA Pro показывает, что смещение PspCreateProcessNotifyRoutine находится внутри PsSetCreateProcessNotifyRoutine (см. Рисунок 1 выше). Ниже на Рисунке 2 представлен фрагмент кода вредоносной программы, полученный с помощью обратного проектирования. Фрагмент демонстрирует, как авторы вредоносной программы анализируют структуруPsSetCreateProcessNotifyRoutine в ntoskrnl.exe и используют полученную информацию для реализации атаки.

Рисунок 2. Получение смещения PspCreateProcessNotifyRoutine

Реализация атаки довольно проста (см. Рисунок 2). В первую очередь определяется номер сборки Windows, который содержится в экспортированной переменной NtBuildNumber. Для Windows XP номер сборки равен 2600 (0a28 в шестнадцатеричной системе). Следующим шагом получают адрес времени выполнения функции PsSetCreateProcessNotifyRoutine.

Фрагмент кода под меткой jmp_PsSetCreateProcessNotifyRoutine содержит команду перехода jmp на внешнюю функциюPsSetCreateProcessNotifyRoutine. Как видно из Рисунка 3, размер команды jmp равен двум байтам. Поэтому, интересующий нас адрес функции PsSetCreateProcessNotifyRoutine в памяти находится по смещению jmp_PsSetCreateProcessNotifyRoutine + 2.

Для версии сборки NtBuildNumber равной 2600 код команды ‘mov edi’ – 0xBF, а команды ‘push edi’ – 0x57. Теперь осталось только просканировать машинный код и найти фрагмент, в котором пятым по счету байтом после 0xBF был бы байт 0x57. Сразу же за 0xBF следует адрес PspCreateProcessNotifyRoutine в памяти. И это все! Дальнейшие действия эксплойта тривиальны. Нужно просто перейти на указатель PspCreateProcessNotifyRoutine и занулить все объекты обратного вызова.

Рисунок 3. jmp_PsSetCreateProcessNotifyRoutine

Заключение: Любую корпоративную или пользовательскую систему безопасности, которая использует мониторинг процессов обычным образом, можно легко обойти. К счастью, все продукты FireEye защищены от атаки, описанной в данной статье: любой вредоносный процесс будет надлежащим образом отслеживаться и идентифицироваться.

Категория: Общие Статьи | Добавил: aka_kludge (18.12.2012)
Просмотров: 3027 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
    Главная      
...
На службе : дней

07:54
Обновить


Пользователи
aka_kludge
qwerty
LeadyTOR
aka_Atlantis
AdHErENt
mAss
Sissutr
hiss
DrBio
tHick

Поиск


Copyright tHR - TeAM 2026 г. admin: aka_kludge (ICQ:334449009) Moderator's: LeadyTOR, ... Яндекс.Метрика