Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

вторая_чать_диплома

.pdf
Скачиваний:
8
Добавлен:
19.03.2016
Размер:
1.63 Mб
Скачать

процессов в название которых входит подстрока ―rootkit‖.

Скрытие осуществляется путѐм модификации таблицы системных сервисов (system services descriptor table). Руткит устанавливает ловушку на – ZwQuerySystemInformation, имитируя еѐ работу.

Файл руткита имеет название rtkspy.sys;

2)Hacker Defender - Троянская программа семейства "Backdoor",

работоспособна только в операционных системах Windows NT, Windows 2000 и XP. Представляет собой два файла - основной и вспомогательную библиотеку. Основной файл имеет размер 70144

байта, размер библиотеки 3328 байт.

Программа обладает стелс-функцией пользовательского режима,

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

WinAPI для скрытия своего присутствия в системе;

Backdoor не открывает на пораженной машине никаких портов при запуске. Благодаря функциям перехвата и подмены API,

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

являясь таким образом глобальным перехватчиком;

3)Rootkit single – это тот же Hacker Defender, но с тем отличием, что

он внедряется в какой-то определѐнный процесс системы и имеет плюс ко всему прочему возможность скрытия своего snglrkit.dll

модуля из списка модулей процесса.

Результаты сканирования следующие:

RootkitRevealer – на совершенно чистой системе произвѐл

31

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

пользователю;

 

 

HKLM\SECURITY\Policy\Secrets\SAC*

25.06.2013 13:27

0

bytes

Key name contains embedded nulls (*)

 

HKLM\SECURITY\Policy\Secrets\SAI*

25.06.2013 13:27

0

bytes

Key name contains embedded nulls (*)

 

Рисунок 6 - Результат сканирования RootkitRevealer

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

32

Рисунок 7 - Оповещение пользователя после запуска GMER

Лог работы AVZ получился достаточно объѐмным, найти его можно в приложении. В итоге найдены – руткит режима ядра, но скрываемый им процесс не обнаружен и один руткит пользовательского режима – syshklobj.dll, который был загружен во

все процессы системы. Руткит находящийся в процессе explorer.exe

найден не был.

Общий итог тестирования следующий:

Rootkit Revealer – показал слабую эффективность из-за узкую направленность используемых методик обнаружения скрытых программ. Уникальность данного приложения заключается в методах поиска. Разработчиками данного решения являются очень опытные разработчики из Microsoft, идея их алгоритма заключается в том,

чтобы отказаться от использования различного системного API,

реализовав свой собственный набор функций по работе с жѐстким

диском

и ключами реестра. Зная все внутренние,

33

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

GMER – оказался самым эффективным инструментом, предоставил исчерпывающие описание всех присутствующих в системе угроз,

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

AVZ – по данным, которые были приведены по окончанию сканирования, можно сказать, что под прицел программы попадает очень много уязвимых системных моментов. Однако говорить о стопроцентной защите данного приложения не приходится. User-mode

руткит, который был загружен в адресное пространство проводника

Windows так и остался не замеченным, а это большой недостаток сканера, который ограничивается поиском Win API перехватчиков в пределах своего процесса. Так же стоит отметить, что приведѐнный список найденных перехватчиков от syshklobj.dll является не полным,

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

FindNextFile, FindFirstFile по прежнему перехвачены – скрытие файлов продолжает осуществляться. Файл второго руткита – syshklobj.dll

вызвал подозрение у эвристического анализатора, что совершенно

34

верно т.к. вредоносный код присутствует. При анализе ядра операционной системы так же были найдены изменения структур системы и успешно восстановлены. Перехватчик spyrtk.sys был успешно найден, но вот скрываемый им процесс никак не был упомянут, как скрытый. В итоге можно сказать, что утилита является весьма мощным инструментом со встроенным сигнатурным сканером,

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

Из полученных выше результатов, можно выделить ряд качеств, которыми должен обладать хороший сканер безопасности:

Простой и интуитивно понятный пользовательский интерфейс;

Область для поиска угроз должна быть максимально широкой

(анализ памяти всех системных процессов, драйверов устройств);

Процесс сканирования должен быть минимально затратным по времени.

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

2.7 Использование собственного инструмента

На данном этапе будет рассмотрено практическое применение мною написанного приложения для поиска скрытого вредоносного программного обеспечения. Условия проведения эксперимента буду теми же что и для предыдущих программ. Тестовая система Windows будет эмулироваться в

Virtual PC с активными руткитами.

Стремясь разработать максимально удобный сканер безопасности,

были реализованы все ранее озвученные требования. На вкладке общих настроек программы (рисунок 8) пользователь может включить или выключить ряд опций:

35

Карантин – область, где находятся копии удалѐнных из системы вредоносных объектов;

Возможность использовать эвристический анализатор;

Возможность защиты системных API от перехватчиков;

Выбрать язык графического интерфейса.

Рисунок 8 - Вкладка общих настроек программы

36

Рисунок 9 - Вкладка со списком библиотек, функции которых будут контролироваться

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

37

Рисунок 10 - Доверенные приложения

Так же в настройках программы имеется вкладка, в которой можно работать со списком доверенных приложений (рисунок 10) – удалять,

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

Карантин – место, в котором хранятся копии всех когда-либо найденных и удалѐнных угроз (рисунок 11). Карантин предоставляется ряд возможностей:

Хранение зашифрованной копии вредоносного объекта, который может быть восстановлен в любой момент времени, по требованию

38

пользователя. Это очень удобно использовать, когда в результате каких либо обстоятельств был удалѐн компонент системы,

программа, которая была ошибочно признана вредоносной. Стоит сказать, что копия файла в карантине, является полностью безобидной, неактивной;

Получение информация о файле, времени удаления, адресе в карантине;

Удаление файлов из карантина, восстановление.

Рисунок 11 - Карантин

Результат сканирования заражѐнной системы антируткитом, при

максимальном уровне ―агрессии‖ эвристического анализатора следующие.

39

Рисунок 12 - Сканер угроз

Глубина дерева сканера равняется двум (рисунок 12). На первом уровне находятся записи с обнаруженными угрозами, это полный путь к файлу.

Кликнув правой кнопкой мыши, появляется контекстное меню, в котором пользователь может получить информацию о файле, удалить его из системы или же добавить в доверенную зону, в случае последующих сканирований файл будет проигнорирован. На втором уровне этого дерева находятся характеристики, согласно которым он был причислен к категории опасных или подозрительных. В зависимости от типа угрозы, характеристики могут изменяться. В случае с первым обнаруженным файлом rootkit.sys, в строке характеристики говорится о том, что это руткит режима ядра (драйвер),

который перехватил системный вызов в таблице системных сервисов (SSDT)

с индексом 261 (ZwQuerySystemInformation). С помощью перехвата этой функции осуществляется скрытие системных процессов, модулей. Кликнув правой клавишей мыши на строке с характеристикой, можно удалить этот перехватчик, восстановив оригинальное поведение системы, прекратить

40