Jarod
02-11-2011, 02:54
Всем доброго времени суток.
В связи с просто таки пандемией вирусов-локеров назрела следующая тема.
Поскольку антивирусные программы импортного производства ни с ном ни духом не подозревают, какие вирусы ходят по русскоязычным сайтам, а пара антивирусников местного производства тоже, бывает, пропускает. И на эвристику толком нельзя полагаться.
Возникла идея каким-нибудь образом защитить ветвь реестра отвечающую за загрузку пользовательского интерфейса.
История идеи:
После посещения какого-то безобидного торрент-трекера AVP начал выдавать сообщения о том, что Программа входа в систему Windows NT пытается загрузить с нескольких сайтов файл login.php.
Казалось-бы - антивирусник чего-то заблокировал, радоваться надо. Но почуяв неладное я решил глянуть ветку:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
Так и есть - параметр UserInit кроме стандартного "C:\WINDOWS\system32\userinit.exe," содержал маленькое дополнение в виде ссылки на файл itnqimw.exe о котором не знает ни всезнающий Гугл ни Яндекс.
Этот файл вместе с несколькими dll'ками лежит в папке c:\WINDOWS\AppPatch\ и никак оттуда не удаляется. Вернее удаляется, но возвращается обратно.
Хочу заметить, что несколько недель назад выкорчевывал подобную дрянь с этого компа и точно помню, что после "userinit.exe," быть ничего не должно.)
Теперь возникают некоторые вопросы.
1) Как вирусу удалось заставить Winlogon что-то загружать? И как этого не допустить в дальнейшем. При этом в ProcessExplorer видно, что цепочка процессов не изменялась. Winlogon не перезапускался и не подменялся. Рабочий стол не перезагружался.
2) Неизвестно, какой процесс восстанавливает файл itnqimw.exe, система или вирус в памяти. Среди процессов ничего постороннего не наблюдаю. Знаю только, что процессы можно скрыть программным способом от стандартного диспетчера задач. Надеюсь, ProcessExplorer "видит" всё.
3) Попытка изменить права доступа на "только чтение" вышеупомянутой ветки реестра привела к BSOD'у при перезагрузке.
Почему нельзя запретить изменение этой ветки или хотя-бы ключа UserInit для всех. Неужели всем поголовно нужно каждые 5 минут менять Shell системы.
Мне кажется, решив хотя-бы вопрос №3 можно избавиться от большей части проблем.
Остается еще разновидность локеров, помещающих себя в обычную автозагрузку. Но они перехватывают фокус ввода и разворачиваются на весь экран тем самым закрывают рабочий стол и диспетчер задач и не дают завершить свой процесс.
Уффф. Много написал... Но может кто-то подскажет интересную идею или даже все вместе придумаем, как с этой заразой эффективно бороться. Тем более, что такую защита очень нужна обычным людям.
В связи с просто таки пандемией вирусов-локеров назрела следующая тема.
Поскольку антивирусные программы импортного производства ни с ном ни духом не подозревают, какие вирусы ходят по русскоязычным сайтам, а пара антивирусников местного производства тоже, бывает, пропускает. И на эвристику толком нельзя полагаться.
Возникла идея каким-нибудь образом защитить ветвь реестра отвечающую за загрузку пользовательского интерфейса.
История идеи:
После посещения какого-то безобидного торрент-трекера AVP начал выдавать сообщения о том, что Программа входа в систему Windows NT пытается загрузить с нескольких сайтов файл login.php.
Казалось-бы - антивирусник чего-то заблокировал, радоваться надо. Но почуяв неладное я решил глянуть ветку:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
Так и есть - параметр UserInit кроме стандартного "C:\WINDOWS\system32\userinit.exe," содержал маленькое дополнение в виде ссылки на файл itnqimw.exe о котором не знает ни всезнающий Гугл ни Яндекс.
Этот файл вместе с несколькими dll'ками лежит в папке c:\WINDOWS\AppPatch\ и никак оттуда не удаляется. Вернее удаляется, но возвращается обратно.
Хочу заметить, что несколько недель назад выкорчевывал подобную дрянь с этого компа и точно помню, что после "userinit.exe," быть ничего не должно.)
Теперь возникают некоторые вопросы.
1) Как вирусу удалось заставить Winlogon что-то загружать? И как этого не допустить в дальнейшем. При этом в ProcessExplorer видно, что цепочка процессов не изменялась. Winlogon не перезапускался и не подменялся. Рабочий стол не перезагружался.
2) Неизвестно, какой процесс восстанавливает файл itnqimw.exe, система или вирус в памяти. Среди процессов ничего постороннего не наблюдаю. Знаю только, что процессы можно скрыть программным способом от стандартного диспетчера задач. Надеюсь, ProcessExplorer "видит" всё.
3) Попытка изменить права доступа на "только чтение" вышеупомянутой ветки реестра привела к BSOD'у при перезагрузке.
Почему нельзя запретить изменение этой ветки или хотя-бы ключа UserInit для всех. Неужели всем поголовно нужно каждые 5 минут менять Shell системы.
Мне кажется, решив хотя-бы вопрос №3 можно избавиться от большей части проблем.
Остается еще разновидность локеров, помещающих себя в обычную автозагрузку. Но они перехватывают фокус ввода и разворачиваются на весь экран тем самым закрывают рабочий стол и диспетчер задач и не дают завершить свой процесс.
Уффф. Много написал... Но может кто-то подскажет интересную идею или даже все вместе придумаем, как с этой заразой эффективно бороться. Тем более, что такую защита очень нужна обычным людям.