Простой контроль целостности процесса под Linux

В очередной раз решил попробовать написать драйвер (aka модуль ядра), но на этот раз под Linux. Задача, выполняемая модулем, будет аналогична рассмотренной ранее в примере драйвера под Windows.
Я не буду приводить описание методов работы со списками, которые используются в коде, так как они довольно просты, хорошо документированы (например, тут) и не слишком отличаются по логике от тех, которые доступны в Windows. Также за бортом останется детальное описание базового прототипа модуля, который будет использован для тестирования реализации функций контроля целостности. Хорошую развернутую статью про основы разработки модулей ядра под Linux можно почитать тут.
Читать далее «Простой контроль целостности процесса под Linux»

Простой контроль целостности процесса под Windows

Намедни решил попробовать написать драйвер под Windows. Варианты с "Hello world" показались унылыми, поэтому в качестве тренировки поставил перед собой следющую цель: написать драйвер, который будет контролировать целостность кода процесса по запросу. В общем, драйвер будет считывать данные о загруженных в память секциях, проверять атрибуты и считать простенькую контрольную сумму, а при повторном обращении - сверять её. Совсем детально описывать процесс я не буду, так как в интернете есть куча мануалов по самым основам, да и желающие могут просто посмотреть примеры из WDK, которые достаточно хорошо документированы.
Читать далее «Простой контроль целостности процесса под Windows»

Утилита для скрытия процессов под Windows

Давеча наткнулся на забавный пост на форуме exelab, прочел, вдохновился и написал небольшую утилиту, которая позволяет запускать процессы в скрытом состоянии (т.е. они не видны через типовые диспетчеры задач). По сути просто реализовано взаимодействие с довольно известным драйвером Frost, который обладает данной функциональностью и действительной цифровой подписью, что позволяет использовать его без заморочек на Windows Vista+.

GUI выглядит следующим образом:


Утилита позволяет: загружать указанный драйвер (понятное дело, фрост) и далее взаимодействовать с ним, взаимодействовать с уже установленным драйвером, запускать дочерний процесс в non-elevated режиме (сама утилита требует прав администратора). Проверялось на Windows XP x86 и Windows 7 x86. Можно словить BSOD при попытке выгрузки драйвера, а так вроде работает. Под x64 процессы не скрывает, но думаю это будет доделано.

Скачать: hidden-run
Исходный код: hidden-run-src
GitHub: process-hide-tool

P.S. Фрост в архив не включен, найти его можно в вышеуказанной теме на exelab, либо поставив, например, одну из игр от 4game.