Процесс создает битовую задачу, что такое антивирусный процесс

Обновлено: 04.07.2024

Злоумышленники могут внедрить код в процессы, чтобы обойти защиту, основанную на процессах, а также, возможно, повысить привилегии. Внедрение процесса — это метод выполнения произвольного кода в адресном пространстве отдельного живого процесса. Запуск кода в контексте другого процесса может предоставить доступ к памяти процесса, системным/сетевым ресурсам и, возможно, повышенным привилегиям. Выполнение через внедрение процесса также может избежать обнаружения продуктами безопасности, поскольку выполнение маскируется под законный процесс.

Существует множество различных способов внедрения кода в процесс, многие из которых злоупотребляют законными функциями. Эти реализации существуют для каждой основной ОС, но обычно зависят от платформы.

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

Примеры процедур

ABK может внедрить шелл-код в svchost.exe. [1]

Агент Тесла может внедрять известные уязвимые двоичные файлы на целевых хостах. [2]

Вредоносная программа APT32 внедрила маяк Cobalt Strike в Rundll32.exe. [3]

APT37 внедряет свой вариант вредоносного ПО ROKRAT в процесс cmd.exe. [4]

Вредоносная программа APT41 TIDYELF загрузила основной компонент WINTERLOVE, внедрив его в процесс iexplore.exe. [5]

Диспетчер Attor может внедряться в запущенные процессы, чтобы получить более высокие привилегии и избежать обнаружения. [6]

AuditCred может внедрять код из файлов в другие запущенные процессы. [7]

Avenger может внедрять шелл-код в svchost.exe. [1]

Backdoor.Oldrea внедряется в explorer.exe. [8]

Bazar может внедрить код, вызвав VirtualAllocExNuma . [9]

BBK может внедрить шелл-код в svchost.exe. [1]

Cardinal RAT внедряется во вновь порожденный процесс, созданный из собственного исполняемого файла Windows. [10]

Cobalt Group внедрила код в доверенные процессы. [11]

Cobalt Strike может внедрять различные полезные нагрузки в процессы, динамически выбираемые противником. [12] [13]

Dyre может напрямую внедрять свой код в процесс веб-браузера. [14]

Эгрегор может внедрить свою полезную нагрузку в процесс iexplore.exe. [15]

Empire содержит несколько модулей для внедрения в процессы, например Invoke-PSInject . [16]

Gazer внедряет свой коммуникационный модуль в процесс, доступный через Интернет, посредством которого он выполняет C2. [17] [18]

gh0st RAT может внедрить вредоносный код в процесс, созданный функцией «Command_Create&Inject». [19]

GuLoader может внедрять шелл-код в процессы-доноры, запущенные в приостановленном состоянии. GuLoader ранее использовал RegAsm в качестве процесса-донора. [20]

Honeybee использует пакетный файл для загрузки библиотеки DLL в процесс svchost.exe. [21]

HOPLIGHT внедряется в запущенные процессы. [22]

HTRAN может внедряться в запущенные процессы. [23]

HyperBro может запускать шелл-код, внедряемый во вновь созданный процесс. [24]

InvisiMole может внедряться в другой процесс, чтобы избежать обнаружения, в том числе с использованием метода под названием ListPlanting, который настраивает алгоритм сортировки в структуре ListView. [25]

JHUHUGIT выполняет внедрение кода, внедряя свои собственные функции в процессы браузера. [27] [28]

JPIN может вставлять содержимое в lsass.exe для загрузки модуля. [29]

Кимсуки использовал Win7Elevate для внедрения вредоносного кода в файл explorer.exe. [30]

NavRAT копирует себя в работающий процесс Internet Explorer, чтобы избежать обнаружения. [31]

NETWIRE может внедрять код в системные процессы, включая notepad.exe, svchost.exe и vbc.exe. [32]

Операция Wocao внедрила код в выбранный процесс, который, в свою очередь, запускает команду как дочерний процесс исходного. [33]

PLATINUM использует различные методы технологического внедрения, включая горячее исправление. [29]

PoshC2 содержит несколько модулей для внедрения в процессы, например Invoke-PSInject . [34]

QakBot может внедряться в процессы, включая explore.exe, Iexplore.exe и Mobsync.exe. [35] [36] [37] [38]

У Remcos есть команда, позволяющая скрыть себя путем внедрения в другой процесс. [39]

REvil может внедряться в запущенные процессы на скомпрометированном хосте. [40]

Ryuk внедряется в удаленные процессы для шифрования файлов с помощью комбинации VirtualAlloc , WriteProcessMemory и CreateRemoteThread . [41]

ShadowPad внедрил модуль установки во вновь созданный процесс. [42]

Sharpshooter использует встроенный шелл-код для внедрения загрузчика в память Word. [43]

Silence внедрила библиотеку DLL, содержащую троянскую программу, в процесс fwmain32.exe. [44]

Sliver может внедрять код в локальные и удаленные процессы. [45] [46]

SLOTHFULMEDIA может внедряться в запущенные процессы на скомпрометированном узле. [47]

Smoke Loader внедряется в процесс Internet Explorer. [48] ​​

StoneDrill полагался на внедрение своей полезной нагрузки непосредственно в память процесса предпочтительного браузера жертвы. [49]

TrickBot использует функции Nt* Native API для внедрения кода в законные процессы, такие как wermgr.exe . [50]

TSCookie может внедрять код в процессы svchost.exe, iexplorer.exe, explorer.exe и браузера по умолчанию. [51]

Turla также использовала Invoke-ReflectivePEInjection.ps1 PowerSploit для рефлективной загрузки полезной нагрузки PowerShell в случайный процесс в системе-жертве. [52]

Waterbear может внедрить расшифрованный шелл-код в службу LanmanServer. [53]

Wiarp создает бэкдор, через который удаленные злоумышленники могут внедрять файлы в запущенные процессы. [54]

Wingbird выполняет несколько внедрений процессов, чтобы захватить системные процессы и выполнить вредоносный код. [55]

Смягчение

Некоторые решения для обеспечения безопасности конечных точек можно настроить таким образом, чтобы блокировать некоторые типы внедрения процессов на основе общих последовательностей действий, происходящих в процессе внедрения. Например, в Windows 10 правила сокращения направлений атаки (ASR) могут предотвращать внедрение кода приложениями Office. [56]

Используйте Yama (например, /proc/sys/kernel/yama/ptrace_scope), чтобы смягчить внедрение процессов на основе ptrace, ограничив использование ptrace только привилегированными пользователями. Другие средства смягчения последствий включают развертывание модулей ядра безопасности, которые обеспечивают расширенный контроль доступа и ограничения процессов, таких как SELinux, grsecurity и AppArmor.

Обнаружение

Отслеживание вызовов Windows API, свидетельствующих о различных типах внедрения кода, может привести к созданию значительного объема данных и может быть бесполезным для защиты, если только они не будут собраны при определенных обстоятельствах для известных неверных последовательностей вызовов, поскольку доброкачественное использование функций API может быть распространены и их трудно отличить от злонамеренного поведения. Вызовы Windows API, такие как CreateRemoteThread , SuspendThread / SetThreadContext / ResumeThread , QueueUserAPC / NtQueueApcThread , и те, которые можно использовать для изменения памяти в другом процессе, такие как VirtualAllocEx / WriteProcessMemory , могут использоваться для этой техники. [57]

Отслеживайте события файлов DLL/PE, особенно создание этих двоичных файлов, а также загрузку DLL в процессы. Ищите библиотеки DLL, которые не распознаются или обычно не загружаются в процесс.

Мониторинг конкретных вызовов Linux, таких как системный вызов ptrace, не должен генерировать большие объемы данных из-за их специализированного характера и может быть очень эффективным методом обнаружения некоторых распространенных методов внедрения процессов. [58] [59] [60] [61]

Отслеживайте события создания и подключения именованных каналов (идентификаторы событий 17 и 18) для возможных индикаторов зараженных процессов с внешними модулями. [62]

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

..потому что у него недостаточно прав для этого! Начиная с Windows 8.1 был введен Protected Process Light (PPL). Защищенные процессы были реализованы в Windows Vista (и в основном были ориентированы на DRM), но они были значительно улучшены, например, имеют разные уровни защиты в зависимости от приложения.

Существует множество вариантов использования PPL, но в этой статье мы сосредоточимся на антивирусном программном обеспечении. Мы также не будем углубляться в то, как это развивать. Если вы разрабатываете это, вы, вероятно, знаете гораздо больше, чем я и этот блог.

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

Схема PPL имеет несколько уровней: от 0 до 7. 0 – отсутствие защиты, 7 – максимальная защита. Ядро защищено на уровне 7, критические компоненты Windows — на уровне 6, а антивирусы работают на уровне 3. Процессы с более высоким уровнем имеют большую мощность и будут иметь преимущество над более низкими уровнями с точки зрения доступности. Итак, антивирус не может завершить критический процесс Windows, так как уровень 6 выше уровня 3.

Не все компоненты Windows защищены схемой PPL, критически важные приложения, такие как ssms.exe, csrss.exe, services.exe, защищены схемой PPL и работают на уровне 6. Такие приложения, как диспетчер задач, не защищены лицензией PPL. схема, и по очень веской причине.

Если вы хотите создать приложение по схеме PPL, вам необходимо получить его подпись от Microsoft.Учитывая, что только Microsoft может подписывать приложения, содержащие такие уровни защиты, вирусы не могут иметь такой защиты. Принимая во внимание, что PPL запускаются с более привилегированным доступом к незащищенным процессам (даже к тем приложениям, которые запущены от имени администратора), вирусы просто не могут прерывать антивирусные процессы.

Вы можете убедиться в этом сами — запустите Диспетчер задач (даже в режиме администратора, если хотите) и попробуйте закрыть MsMpEng.exe (служба Защитника Windows). Если вы попытаетесь завершить процесс, диспетчер задач просто скажет «Отказано в доступе». Это связано с тем, что, поскольку Диспетчер задач не находится под схемой PPL, у него просто недостаточно прав для завершения AV.

Попытка завершить MsMpEng.exe

Попытка завершить работу MsMpEng.exe

мухтасим96

Выдающийся

Мы будем очень признательны за любую помощь, спасибо

ДжошРосс

Оценочно

Получали ли вы также сообщение об ошибке «Запрошенный ресурс уже используется»? Если ваш ответ «да», возможно, вы имеете дело с каким-то руткитом. Загрузите Malwarebytes (есть такой инструмент, как Malwarebytes Anti-Rootkit Beta, который вам тоже стоит попробовать) и определите его местонахождение. Если вы хотите починить компьютер вручную, вы также можете выполнить следующие действия:

leigh76

Выдающийся

Загрузите бесплатную версию MalwareBytes.


Проведите полное сканирование, оно найдет кое-что.
Поместить в карантин, перезагрузить компьютер, выполнить еще одно сканирование.

СуммироватьW0ng

Выдающийся

Мы будем очень признательны за любую помощь, спасибо

Запустите следующие инструменты при полной проверке

Экстренный комплект Emsisoft

Защита от вредоносного ПО Malwarebytes

Онлайн-сканер ESET

мухтасим96

Выдающийся

Загрузите бесплатную версию MalwareBytes.


Проведите полное сканирование, оно найдет кое-что.
Поместить в карантин, перезагрузить компьютер, выполнить еще одно сканирование.

leigh76

Выдающийся

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

мухтасим96

Выдающийся

Мы будем очень признательны за любую помощь, спасибо

Запустите следующие инструменты при полной проверке

Экстренный комплект Emsisoft

Защита от вредоносного ПО Malwarebytes

Онлайн-сканер ESET

Эй, Emsisoft, кажется, работает до тех пор, пока после запуска его полного сканирования в моем диспетчере задач нет никаких признаков «Диспетчера процессов Windows», но я посмотрю, нужно ли мне запускать другой антивирус, так как я буду контролировать мой компьютер на некоторое время в то же время. Большое спасибо!

белый ангел

Выдающийся

ДжошРосс

Оценочно

Получали ли вы также сообщение об ошибке «Запрошенный ресурс уже используется»? Если ваш ответ «да», возможно, вы имеете дело с каким-то руткитом. Загрузите Malwarebytes (есть такой инструмент, как Malwarebytes Anti-Rootkit Beta, который вам тоже стоит попробовать) и определите его местонахождение. Если вы хотите починить компьютер вручную, вы также можете выполнить следующие действия:

СуммироватьW0ng

Выдающийся

Мы будем очень признательны за любую помощь, спасибо

Запустите следующие инструменты при полной проверке

Экстренный комплект Emsisoft

Защита от вредоносного ПО Malwarebytes

Онлайн-сканер ESET

Эй, Emsisoft, кажется, работает до тех пор, пока после запуска его полного сканирования в моем диспетчере задач нет никаких признаков «Диспетчера процессов Windows», но я посмотрю, нужно ли мне запускать другой антивирус, так как я буду контролировать мой компьютер на некоторое время в то же время. Большое спасибо!

Вы выполнили полное сканирование всех перечисленных мною инструментов? В Emsisoft вам нужно выбрать пользовательское сканирование, чтобы выполнить полное сканирование системы, а не сканирование вредоносных программ, также известное как сканирование в интеллектуальном режиме.

Ралстон18

Великолепно

И попробуйте этот сайт:

мухтасим96

Выдающийся

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

мухтасим96

Выдающийся

Получали ли вы также сообщение об ошибке «Запрошенный ресурс уже используется»? Если ваш ответ «да», возможно, вы имеете дело с каким-то руткитом. Загрузите Malwarebytes (есть такой инструмент, как Malwarebytes Anti-Rootkit Beta, который вам тоже стоит попробовать) и определите его местонахождение. Если вы хотите починить компьютер вручную, вы также можете выполнить следующие действия:

Да, есть, но я не могу запустить их из-за ошибки «Запрошенный ресурс используется» даже в безопасном режиме. Единственные антивирусы, которые вообще работают, это Защитник Windows, ReasonCore Security и Emsisoft. Спасибо, я проверю эту ссылку

everest_home

Выдающийся

Это руткит+троян и бэкдор.

Возможно, вам придется переформатировать. Этот конкретный вирус раздражающе противен. Я полез туда по собственной глупости. Проще говоря, на момент публикации нет определений, которые могли бы убить его любым поставщиком.

Позвольте мне повторить. На данный момент НИКАКОЙ антивирус не может полностью удалить это. Я пробовал буквально все. Эмисофт - единственный, кто вообще что-то сделал. Даже мой платный антивирус ничего не сделал.

Все время запущено 4-5 файлов.
Всегда работают два менеджера процессов Windows.
Также запущены две «службы Windows», которые вы не узнаете (это легко заметить, если вы знаете ОС).
Есть еще один исполняемый файл, который заменяет отсутствующие файлы, если вам удается что-либо удалить (не работает, запускается один раз при запуске).
Имена 3-го, 4-го и 5-го процессов генерируются случайным образом вместе с папками, в которых они находятся.

Вы не можете завершить работу с помощью CMD или Powershell, поскольку все они запускаются как дочерние процессы Services.exe, которые являются службой Windows. Если вы завершите его /t /f, вы ПОЛУЧИТЕ синий экран. Также PID являются ложными и генерируются случайным образом каждый раз. Вы также можете заметить, что один исполняемый файл говорит, что он связан с PID, который не существует и не может быть завершен. Вы также не можете принудительно удалить или приостановить их процессы.

Мне удалось удалить исполняемые файлы диспетчера процессов, находившиеся в заблокированной папке в папке user/name/app data/local, и они больше не возвращались. Однако я не мог удалить два других запущенных процесса, потому что удаление любого из них было бы просто заменено при перезапуске пятым исполняемым файлом, который я не смог найти.

ВСЕ части отправляют данные через ваше сетевое соединение, если вы не можете заблокировать их с помощью НАСТОЯЩЕГО брандмауэра, а не мусора Windows. Беспокоит то, что исполняемые файлы процессов Windows будут запускать несколько исполняемых файлов, и ВСЕ будут отправлять данные с угрожающей скоростью. Я не могу сказать, что они отправляли другое, что они отправляли данные. Ни один из моих личных аккаунтов не подвергался покушению, но у меня также есть 2step для всего важного. Кроме того, IP-адреса, с которых он отправлял данные, вероятно, были ложными или находились за VPN, поскольку не было ни одного IP-адреса, получающего много информации. Сообщил о них все равно.

В конце концов я не смог удалить 3 оставшихся экзешника и был вынужден переформатировать. Я попытался связаться с Avast, чтобы получить определение, созданное для этой штуки, но я не получил от них ответа. Очень разочарован этим фактом.

Emisoft смогла обнаружить одну часть после того, как избавилась от первых двух, но затем при обнаружении третьего файла произошел сбой/зависание на неопределенное время. Я оставил его включенным на весь день, и после этого он все еще зависал на файле. Я несколько раз пытался войти и выйти из безопасного режима и с учетной записью root, но безуспешно.

Если вы используете Windows 10, вы можете загрузить ISO-образ напрямую с сайта Microsoft, и для установки вам понадобится только серийный номер. Это был мой маршрут, за исключением того, что мой компьютер активирован в биосе, поэтому серийный номер не требуется. Я бы предложил использовать для этого другую машину. Я не могу гарантировать, что вирус не сможет перейти на другое устройство.

клейнвампир

Выдающийся

Это руткит+троян и бэкдор.

Возможно, вам придется переформатировать. Этот конкретный вирус раздражающе противен. Я полез туда по собственной глупости. Проще говоря, на момент публикации нет определений, которые могли бы убить его любым поставщиком.

Позвольте мне повторить. На данный момент НИКАКОЙ антивирус не может полностью удалить это. Я пробовал буквально все. Эмисофт - единственный, кто вообще что-то сделал. Даже мой платный антивирус ничего не сделал.

Все время запущено 4-5 файлов.
Всегда работают два менеджера процессов Windows.
Также запущены две «службы Windows», которые вы не узнаете (это легко заметить, если вы знаете ОС).
Есть еще один исполняемый файл, который заменяет отсутствующие файлы, если вам удается что-либо удалить (не работает, запускается один раз при запуске).
Имена 3-го, 4-го и 5-го процессов генерируются случайным образом вместе с папками, в которых они находятся.

Вы не можете завершить работу с помощью CMD или Powershell, поскольку все они запускаются как дочерние процессы Services.exe, которые являются службой Windows. Если вы завершите его /t /f, вы ПОЛУЧИТЕ синий экран. Также PID являются ложными и генерируются случайным образом каждый раз. Вы также можете заметить, что один исполняемый файл говорит, что он связан с PID, который не существует и не может быть завершен. Вы также не можете принудительно удалить или приостановить их процессы.

Мне удалось удалить исполняемые файлы диспетчера процессов, находившиеся в заблокированной папке в папке user/name/app data/local, и они больше не возвращались. Однако я не мог удалить два других запущенных процесса, потому что удаление любого из них было бы просто заменено при перезапуске пятым исполняемым файлом, который я не смог найти.

ВСЕ части отправляют данные через ваше сетевое соединение, если вы не можете заблокировать их с помощью НАСТОЯЩЕГО брандмауэра, а не мусора Windows.Беспокоит то, что исполняемые файлы процессов Windows будут запускать несколько исполняемых файлов, и ВСЕ будут отправлять данные с угрожающей скоростью. Я не могу сказать, что они отправляли другое, что они отправляли данные. Ни один из моих личных аккаунтов не подвергался покушению, но у меня также есть 2step для всего важного. Кроме того, IP-адреса, с которых он отправлял данные, вероятно, были ложными или находились за VPN, поскольку не было ни одного IP-адреса, получающего много информации. Сообщил о них все равно.

В конце концов я не смог удалить 3 оставшихся экзешника и был вынужден переформатировать. Я попытался связаться с Avast, чтобы получить определение, созданное для этой штуки, но я не получил от них ответа. Очень разочарован этим фактом.

Emisoft смогла обнаружить одну часть после того, как избавилась от первых двух, но затем при обнаружении третьего файла произошел сбой/зависание на неопределенное время. Я оставил его включенным на весь день, и после этого он все еще зависал на файле. Я несколько раз пытался войти и выйти из безопасного режима и с учетной записью root, но безуспешно.

Если вы используете Windows 10, вы можете загрузить ISO-образ напрямую с сайта Microsoft, и для установки вам понадобится только серийный номер. Это был мой маршрут, за исключением того, что мой компьютер активирован в биосе, поэтому серийный номер не требуется. Я бы предложил использовать для этого другую машину. Я не могу гарантировать, что вирус не сможет перейти на другое устройство.

Этот парень прав. Я не такой технический специалист, как он, но я пробовал несколько разных антивирусов и программ защиты от вредоносных программ. они занимают много времени, но они мало что делают. Я попробовал несколько программ, чтобы принудительно удалить его, но даже эти специальные программы не смогли удалить папку, в которой он находится. Конечно, я не могу просто завершить процесс. Это не позволит мне сделать что-либо с папкой. Я даже попробовал /d в командной строке, вручную набрав папку, и все равно было написано, что доступ запрещен. Как бы я ни хотел победить эту штуку, кажется, я просто не могу этого сделать. О, ComboFix даже не запускается, кстати. Power Eraser от Norton был БЛИЗКИМ к тому, чтобы избавиться от него, но, в конце концов, этой чертовой штуке удалось заблокировать и это, и возникла ошибка. В первый раз, когда я запустил его, я на секунду подумал, что, возможно, это сработает. Но когда дело дошло до фактического удаления, ошибка. И я знаю, что он отправляет данные. надеюсь, Norton делает что-то, чтобы держать это в страхе, пока я не получу в свои руки компакт-диск с ОС, чтобы я мог просто переформатировать. Ненавижу признавать поражение после более чем дня борьбы с этой штукой, но. Кажется, никакое программное обеспечение, которое я могу получить, не способно избавиться от него.

Я использую антивирус ESet, и недавно его графический интерфейс egui.exe завис и загружал 50 % ресурсов ЦП (т. е. 100 % ресурсов одного ядра). Удивительно, но я обнаружил, что не могу убить его, даже с включенной привилегией отладки.

Теперь мне любопытно: как они реализуют такую ​​защиту, и есть ли способ убить ее, кроме написания драйвера ядра?

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

  • вы не можете убить его из диспетчера задач
  • вы не можете убить его с помощью pskill
  • вы не можете убить его с помощью обозревателя процессов и не можете подключить к нему отладчик

Затем я начал программировать и обнаружил следующее:

под непривилегированным пользователем вы можете открыть его с доступом PROSESS_TERMINATE, но фактический вызов TerminateProcess() завершается с ошибкой 5.

под учетной записью администратора вы можете открыть его с любыми правами доступа, которые вы хотите (конечно, после включения привилегии отладки), но затем вызовы TerminateProcess(), GetKernelObjectSecurity(), SetKernelObjectSecurity() завершатся с ошибкой 5.

Это определенно указывает на какую-то возню, помимо простой настройки DACL процесса, поскольку, если бы Terminate не было в DACL, вы бы не смогли сразу открыть процесс с PROCESS_TERMINATE. Действительно ли они перехватывают вызовы Win32 API? Если да, то как? Давненько я не занимался низкоуровневым системным программированием, так что извините за невежество.

AV обычно имеют компоненты режима ядра. Если бы вы могли убить его, просто предоставив себе самые высокие привилегии, это была бы паршивая защита.

2 ответа 2

Если вы сможете получить «Системный верификатор девственности» от Джоанны Рутковской, это должно дать вам довольно хорошее представление, где они реализуют свои хуки. Подобные инструменты (включая GMER) можно использовать для исследования того, что происходит в недрах системы. Это может показаться странным, но иногда антивирусы используют методы, которые также часто встречаются в вредоносных программах, например методы руткитов, в попытке защитить свое программное обеспечение от обмана.

Похоже, что SSDT-hooking и подобные методы использовались для «защиты» процесса. Моя первая попытка в этом состояла бы в том, чтобы приостановить все потоки процесса. Большинство таких механизмов защиты (как вредоносного, так и антивредоносного ПО) срабатывают только при попытках завершения.Но как только вы приостановите все потоки (это может сделать Process Explorer), ни один из них больше не будет планироваться планировщиком (что приведет к прекращению использования ЦП).

SSDT (иногда SDT) означает таблицу дескрипторов системных служб. Это таблица с функциональными адресами системных служб (номер системной службы является индексом). Когда вы вызываете что-то вроде CreateFile из своего приложения Win32, оно в конечном итоге вызывает NtCreateFile в NTDLL (== ZwCreateFile в единой системе обмена сообщениями). Оттуда механизм (который изменился со времен Windows 2000/XP) будет отличаться тем, как он переходит в режим ядра (KM), также известный как «кольцо 0». Так или иначе, реализация NtCreateFile в NTDLL примерно делает следующее: она перемещает индекс системной службы в регистр, а затем вызывает метод, который используется для перехода к KM (код операции sysenter в новых реализациях). Прибыв в KM, обработчик проверит индекс, вычислит адрес функции из SSDT и затем вызовет эту функцию. Здесь происходит дополнительная проверка стека единой системы обмена сообщениями (когда вы приходите из единой системы обмена сообщениями), но это процесс, если говорить простыми словами. Таким образом, когда вы подключаете функциональность на этом уровне, вы можете запретить выполнение действий любой подсистеме, включая подсистему Win32. Однако к этому прилагается несколько проблем (ваша — наименьшая из них). Большинство разработчиков делают плохую работу, что часто можно увидеть в вредоносных программах, таких как руткит, который Sony решила поместить на некоторые аудио компакт-диски еще в 2005 году. Индекс SSDT также обычно приводит к проблемам из-за безрассудства со стороны разработчиков.

Таким образом, приостановка потоков кажется возможной, хотя этот вопрос, конечно, является открытым (без знания деталей драйвера(ов) ESET). Однако, если они предотвращают и это, вам действительно следует подумать о смене продуктов. Бьюсь об заклад, что недостатки для стабильности системы таких продуктов перевешивают дополнительную «защиту», хотя они (ESET) собираются сказать вам обратное.

Читайте также: