| RSS



Меню

Bookmark and Share


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





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

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

Облако тэгов
ОС os видио казахстана Обратная сторона Tor антенна Strace php эксплоит Windows Server 2008 настройка QIP Virtual Tune sysctl kernel proc freeBSD mrtg Boot Raid GEO Bluetooth game emulator Shell Python Open vSwitch спама червь Conficker вирус троян лаборатория касперского пиратство Apple iPhone Microsoft twitter социальная сеть анонимность лицензия Open Source уязвимость MySQL база данных Закон Франция Пират Skype мобильный хакер trend micro кибератака Германия робот искусственный интеллект Персональные данные Ноутбук Интернет китай цензура windows vista Linux патент браузер Firefox Internet Explorer Opera Safari Intel патч Oracle Банкомат IBM США Dell контроль кибербезопасность приговор Mozilla Chrome безопасность Госдума СМИ Windows 8 взлом Пентагон Украина Facebook Cisco Windows XP нетбук торрент музыка Биометрический Nokia Password ФБР IP-адрес sms RSA java Google Captcha Symantec Спам лагерь Антивирус тест Windows 7 операционная система windows провайдер авторское право rapidshare UNIX свиной грипп шантаж Дети Service Pack копирайт McAfee HTTPS icann студент WebMoney Норвегия 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 Singularity Sophos ошибка DARPA военные сайт турция конференция спамер Полиция Koobface Великобритания белоруссия Грузия Европа Билл Гейтс спецслужбы терроризм Royal Bank of Scotland смартфон F-Secure Symbian фильм милиция ГАИ инновации Ватикан Новая Зеландия Adobe Австралия вымогатель IDC Рамблер Internet Explorer 9 iPad VDI Ирландия поиск МТС Реклама слежка Office 2010 Zeus личные данные eset защита Defcon виртуализация Черный список BlackBerry индия латвия Москва DVD социальные сети flash player paypal BitDefender сертификат honda Anonymous WebM Тюмень QIWI технологии IPv6 техника Ассанж Северная Корея передача данных Оптоволокно Xbox 360 арест Samsung Иск учетная запись Корея Timeline оператор исследование угрозы Рентген Санкт-Петербург документооборот Обновление SOPA PIPA тендер пользователь ico Megaupload разработчики Мобильный телефон отчет приложение технология мобильная связь Инвестиции платформа DDoS-атака роскомнадзор zbot Устройство оон выдача sea

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

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

Одна из основных задач любого антивируса (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)
Просмотров: 3018 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
    Главная      
...
На службе : дней

15:50
Обновить


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

Поиск


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