Итак, в предыдущих статьях вы ознакомились с главным природным врагом Windows - малварью - и изучили основные места её обитания. Также вы узнали, что с ней вполне возможно бороться собственными силами, хотя для этого может потребоваться некоторый программный арсенал. В этой статье я поподробнее объясню, как конкретно это делается.
Малварь - это обычнейшие программы, не обладающие никакими сверхъестественными свойствами и имеющие строго определённые пути проникновения на ваш компьютер. Соответственно, первая мера защиты - это возведение баррикад. Как это делать - описано в предыдущей статье, здесь я просто перечислю. Итак, я совершенно спокоен и ни капли не боюсь хакеров, червей и вирусов потому что:
Поверите или нет - но этих мер хватает для обеспечения достаточного уровня безопасности для нормальной работы в онлайне! Вместо этого люди держат на компах резидентные мониторы антивирусов, бешено съедающие производительность и параноидально проверяющие все файлы на предмет заражения. Зачем? Хватает простенького монитора основных показателей заражения - новых процессов, сервисов, запланированных задач, автозагрузок - например, WinPatrol.
"Ага!" - скажут читатели. - "Adrax по-любому парит нам мозги. Всё это теория, но как это выглядит на практике?" Сейчас опишу один забавный случай.
Есть у меня одна знакомая, зовут её Таня. Однажды она попросила меня помочь ей купить компьютер. Я выбрал комплектующие, собрал комп, установил и наладил Windows XP SP1 Pro, откровенно забыв, честно говоря, про настройки безопасности. Спустя год она обратилась ко мне с просьбой разобраться с "тормозами" компа.
Дело в том, что её брат всерьёз занялся научной работой, а это значило: сотни документов в формате .doc, переносимых туда-сюда на флэшке, самораспаковывающиеся архивы и прочая лабуда, необходимая ему, но потенциально опасная. Плюс постоянно приходящие и устанавливающие какой-то левый софт друзья-"программисты" (на самом деле студенты местного политеха). Плюс купленный GPRS-модем и постоянные посиделки в Интернете. В общем, комп подвергся нехилой атаке со всех сторон, причём его владельцы, разумеется, совсем не задумывались о какой-то там security. Тревогу они забили, когда Винда стала просто ползать. Танин брат сразу же поставил 5-ю версию антивируса Касперского и обнаружил на своём компе жуткий зверинец. Ничтоже сумняшеся, он поставил в настройках Каспера "удалять всё подозрительное" и провёл проверку всех дисков. Теперь злобный антивирь резидентно висел у него в системе, однако тормоза продолжались, добавилось и ещё глюков. Вставив флэшку, они обнарживали, что папки на ней нашпигованы .exe-шниками, имена которых совпадали с именами папок. Они запускали Касперского, однако резидентный монитор нихрена не видел. В общем, искусственный интеллект признал своё поражение, пришлось призвать на помощь естественный.
В своё время я поставил на её комп кое-какие защитные утилиты, включая и WinPatrol. Но Касперский, видимо, не захотел соседствовать с ним. И половину моих утилит этот грёбаный авер снёс как подозрительные. Однако он не тронул архивы, закинутые мной в одну из юзерских папок, поэтому мне не составило труда разархивировать и установить защитный софт по новой. Разумеется, Касперский мешал мне, и я его временно отключил.
Вирус оказался хитёр, он запретил доступ к реестру, перезагружал комп при вызове консоли, скрыл папки, где располагал свои файлы, запретил менять свойства папок, поэтому мне пришлось перезагрузиться в безопасном режиме и зайти под Администратором. Причём заходить пришлось несколько раз - я вычищал систему не целиком, и вирус быстро возвращал свои позиции после перезагрузки.
Первым делом я запустил ProcessExplorerNT. Он показал список процессов, крутящихся на компе, среди которых выделялись winlogon.exe, services.exe, smss.exe, запущенные ОТ ИМЕНИ ТЕКУЩЕГО ПОЛЬЗОВАТЕЛЯ!! (для тех, кто в танке объясню - SYSTEM IDLE, SYSTEM, CSRSS.EXE, SMSS.EXE, SERVICES.EXE, SVCHOST.EXE - СИСТЕМНЫЕ процессы и запущены они могут быть только от лица NT AUTHORITYSYSTEM, а SVCHOST - ещё и от NT AUTHORITYNETWORK SERVICE) ProcessExplorerNT также показал, где лежат их исполняемые файлы - в c:Documents and SettingsВоваLocal SettingsApplication Data. Зайдя туда, я удалил все вирусные .exe-шники и перезагрузился. Каково же было моё удивление, когда они вновь появились. Кстати, вновь запущенный WinPatrol запалил и эти .exe-шники, и ещё несколько, и даже один .com-файл, потому что все они как угорелые ломились в автозагрузку. Касперский молчал, как партизан...
Далее я запустил Autoruns, который показал мне запланированную задачу A.Jot1, исполняемый файл которой с расширением .com лежал в c:Documents and SettingsВоваШаблоны. Полазив по вирусным папкам, я снёс эти файлы и нашёл ещё кучу интересных файлов. Все они содержали в своём названии либо Norb, либо Bor и Tok. Ещё я увидел HTML-страничку, содержащую имя вируса - Brontok.A и послание от его создателя - некоего HVM31 из команды VM Community. Даже адресок для обратной связи был - IRC-канал #VM_Community. Увидав эту страничку, Вова признался, что она периодически возникает на Рабочих столах компов их университета, которые сисадмины торжественно считают здоровыми. Ужас! У них перед глазами висит привет от вируса, а они тупо твердят, что комп здоров, лишь потому, что антивирус ничего не показывает.
Я снова снёс поганые файлы и ребутнулся, зайдя в систему под Вовиной учёткой. И они вновь возникли! Этот факт погрузил меня в раздумья: выходит, что-то пряталось само и прятало вирусные файлы, блокируя к ним доступ и восстанавливая их. Руткит! К сожалению антируткита с собой у меня не было, поэтому я просто по-тупому вбил "tok"(без кавычек) в строке "Имя или часть имени файла" в окошке поиска Винды, предварительно приказав вести поиск в скрытых и системных папках. Напомню, в этот момент я был залогинен под учёткой Вовы в обычном режиме Windows, а это значило, что руткит запущен. Но тем не менее, он не спрятался от поиска! Несколько .exe-шников с именами bortok и norbtok были обнаружены в c:Windowsinf и c:Windowssystem32. Мне не хотелось сейчас перезагружаться в безопасном режиме, поэтому я просто зашёл Проводником в указанные папки. Проводник, разумеется, ничего не видел. Тогда я запустил Far, который сразу показал мне заразу и смог её удалить. Тут ожил Касперский - он наконец-то что-то нашёл! Это был I-Worm.Rays и находился он в папке c:System Volume Information в нескольких папках с RP (Restore Points - точками восстановления, содержащими данные о состоянии системы в более ранние моменты).
Тут мне пришлось перезагрузиться, зайти в безопасном режиме под Администратором и снова запустить поиск файлов с именем "tok". Плюс ещё я запустил REGEDIT, поискав параметры реестра с таким именем. Почти всё найденное имело отношение к вирусу и было прибито мной. Плюс ещё я сваял мессадж-бокс на асме (компилятор Fasm был у меня с собой на диске), обозвал его CMD.EXE и поместил в c:Windowssystem32, предварительно переименовав оригинальный cmd в myconsoll и переведя переменную окружения ComSpec на новое имя. Затем я зашёл в c:System Volume Information и удалил все RP.
Ребутнувшись и запустив ProcessExplorerNT, я не увидел вирусных процессов. Поиск тоже ничего не показал. Однако доступ к реестру, консоли и свойствам папок не восстановился. Что это значило? Что бой не закончен - вирус, скорее всего оставил хитрые ключи реестра, а может и ещё один хитроумный руткит, но - он был побеждён: основные вирусные файлы были уничтожены и работа его на компе прекратилась.
Этот вирус явно был "шуточной" программой, написанной программистом прикола ради или для проверки своих сил:
И только не надо мне говорить, что нужно было всего лишь обновить антивирус! Я думаю, что сисадмины их университета регулярно это делают. Только почему они не видят на Рабочих столах своих машин ярко-зелёные HTML-паги с ярко-красным приветствием от вируса? Может, они английского языка не знают? И виря Вова принёс именно с их компов на своей флэшке - как только мы впихнули флэшку, поганые бинарники тут же очутились на своих местах, и один из них тут же обратился к cmd.exe, заставив сработать мой мессадж-бокс. Пришлось вычищать всё заново, а флэшку Вова отдал мне на "чистку": там была куча Word'овских документов, один из которых, видимо, и устраивал такую бяку. Удалять их было нельзя - они содержали необходимые научные данные, Касперский нихрена не видел, но что-то делать надо было. В одной из следующих статей я расскажу, как боролся с инфекцией на флэшке.
А проблема с тормозами решалась относительно просто (дело было не только и не столько в вирусе) - просто друзья-"программисты" натаскали столько софта, что систему враз заколбасило. Ну на хрена на компе с видюхой ATI комплект драйверов nVidia Forceware?! (как у них система с этого не навернулась - я не знаю) На кой им нужны были новые демоны: веб-сервер Apache и Machine Debug Manager от MS Visual Studio?! Зло берёт с этих "программистов"!!! Да плюс резидентный монитор антивируса грузил проц до 66%, в упор не видя при этом вирусы!
Этот вирус мне явно понравился. Надо было продрать его код дизассемблером и отладчиком, чтобы получить представление о том, чем он занимался на компе моей подруги. Я не стал этого делать, время не позволяло. В одной из будущих статей я обещаю подробно описать алгоритм анализа вирусного кода, но пока хочу сказать следующее:
Большинство вирусов примитивны. Они пишутся подростками на основе готовых исходников десятилетней давности или изготовляются путём шлифовки в HEX-редакторе уже существующих образцов (кстати, что бы ни говорили про эвристику антивирусов, они всё равно используют старый добрый сигнатурный поиск, который при изменении десятка байт кода вируса уже не срабатывает). Они совершенно не умеют прятаться в системе, ограничиваясь лишь сокрытием своих папок и гнилой маскировкой процессов. Возможно, они также запретят вам заходить в реестр и защитят свои файлы от удаления. Однако процессы их проявятся в ProcessExplorerNT, файлы легко удалятся в CopyLock, а папки станут видны в безопасном режиме. Есть зверьки, маскирующиеся и покруче, но и тогда их процессы выявит ProcessHunter, а файлы найдёт и удалит антируткит. Таким образом, простенького монитора и ежедневного аудита вполне хватит для обеспечения офигенного уровня безопасности.
Бывает, что вирусы пишут и серьёзные программисты прикола ради. Но нормальный программист никогда не вставит в его код деструктивных функций. Вышеописанный зверёк заставил меня напрячь мозги, но и он пал после проведённой работы. Разумеется, этот вирус был относительно прост, хотя спокойно противостоял аверу. Возможно, обновлённый Касперский или Dr. Web или NOD32 его и нашли бы, но смогли бы они его целиком удалить? Никакая автоматика не заменит точной ручной работы. В случае появления на вашем компьютере вируса, написанного профессионалом-вирмейкером, борьба с ним превращается в увлекательное сражение, которое (после выяснения пути проникновения и способа закрепления в системе) всегда заканчивается в пользу админа.
Конечно, среди вирусов есть шедевры, выполняющие свою подрывную работу незаметно ни для кого и не обнаруживаемые никакими защитными утилитами. Это представители высшей ступени развития малвари, использующие новейшие руткитные технологии, шлифуемые целой командой разработчиков и совершенные во всём. Но это - дорогостоящее оружие для промышленного шпионажа, стоящее десятки тысяч долларов. Пасть жертвой такого - своего рода честь. Но прогнуться под примитивным вирусом или тупым авторутером я считаю ниже своего достоинства