07.03.2003

Вы заражены? Обнаружение зловредного программного обеспечения.

Когда пользователи подозревают, что проблемы в системе вызваны злонамеренным программным обеспечением (malware), в 9 случаях из 10 они ошибаются. Существует множество причин для сбоев в системе. Однако, всегда предполагается, что сбой вызван каким-то внешним воздействием на систему, чем-то, что имеет намерение прервать нормальную работу системы, чем-то, имеющим отношение к вирусам, или malware. Однако, в большинстве случаев к сбоям системы malware не имеет никакого отношения.

Михаил Разумов, по материалам SecurityFocus

День начинается как обычно. Вы просыпаетесь, едете на работу, идете в свой отдел, включаете компьютер, делаете чашечку кофе и начинаете просматривать email. Здесь и напоминатели, и спам, и картинки, и истории, пара игр и какая-то анимация. Распределяете почту: рабочие письма здесь, а тут от друзей, семьи и знакомых. Затем наступает утренний перерыв.

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

Вы начинаете нервничать и приходите к решению, что нужно перезапустить систему. Возможно, перезагрузка вернет все к нормальному состоянию. После перезагрузки кажется, что ничего не произошло. Вы входите в систему, и обнаруживаете, что все снова стало нормально. Напряженность спадает, но затем вы спрашиваете себя: «Что могло привести к предыдущему сбою? Не заражен ли мой компьютер?»

Когда пользователи подозревают, что проблемы в системе вызваны злонамеренным программным обеспечением (malware), в 9 случаях из 10 они ошибаются. Существует множество причин для сбоев в системе. Однако, всегда предполагается, что сбой вызван каким-то внешним воздействием на систему, чем-то, что имеет намерение прервать нормальную работу системы, чем-то, имеющим отношение к вирусам, или malware. Однако, в большинстве случаев к сбоям системы malware не имеет никакого отношения.

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

Стратегия и тактика malware

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

Итак, каковы тактики, реализуемые различными malware? Malware должны запускаться в системе. Для того, чтобы это произошло, malware обычно прячется в привлекательных формах, таких как игры, красивые анимации, и зачастую порнографические фильмы и картинки. Поскольку malware не может попасть в систему без помощи пользователя, оно использует любые доступные средства для одурачивания пользователя-жертвы, чтобы тот запустил его файл на своей системе. Большинство рекомендаций по безопасной работе на компьютере советуют, что любой новый файл или вложение всегда должны быть просканированы перед запуском или открытием.

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

Резидентные программы

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

Чтобы проверить наличие резидентного malware в памяти, можно воспользоваться системными утилитами, типа Task Manager на Windows NT системах. В системах Windows 95- или 98-, вы можете нажать CTRL-ALT-DEL, после чего отобразится окно со всеми запущенными в памяти задачами. После того, как у вас есть полный список задач, которые в данный момент находятся в памяти, проверьте, нет ли среди них malware.

Это довольно рискованно. Закрытие резидентной программы, критичной для системы, может привести к нежелательным результатам, таким как отображение Голубого Экрана Смерти или даже к перезагрузке системы. Желательно определить, действительно ли определенная резидентная программа чужда системе, а это не легкая задача. Вы можете либо почитать руководство к операционной системе, либо поискать эту программу в поисковых системах Интернет. Если поиск не даст результатов или не покажет связи с malware, лучше всего будет, если вы оставите программу в покое.

Поддельные имена процессов

Современное malware часто использует имена процессов, которые удивительно похожи на названия стандартных процессов. Из-за этого вы можете решить, что это нормальный процесс, но это не так. Например, WSOCK32.DLL, обычный процесс в памяти, обрабатывающий библиотеку функций сокетов, может быть подделан как WSOCK33.DLL. Другой пример - KERNE132.dll (обратите внимание, что буква L в слове KERNEL заменена на цифру 1) можно по ошибке принять за KERNEL32.DLL. Иногда имена остаются верными, но отличается путь. KERNEL32.DLL всегда находится в директории \Windows\System32, но некоторые malware помещают его в \Windows\System.

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

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

Получение контроля

Перед тем, как malware становится резидентным в памяти, его нужно запустить. Когда пользователь запускает файл, это только первый шаг. Malware часто реализует другие методики, чтобы гарантировать хотя бы однократный запуск в каждой сессии системы. Это делается путем помещения ссылок на себя в местах, где система производит инициализацию и пре-конфигурацию. Это места или конфигурационные файлы, которые используются операционной системой при запуске. Для malware очень важно запускаться каждый раз и оставаться резидентно в памяти. Какой может быть лучший способ для запуска и размещения в памяти, чем запуск каждый раз при загрузке компьютера?

Существует множество мест, в которых malware может реализовать эту технику. Одной из первых методик было инфицирование Командного Интерпретатора, более известного как command.com. После инфицирования этого файла, malware гарантировано запускается и остается в памяти. Также malware может попытаться достичь этого, добавив ссылки на себя в autoexec.bat или config.sys, конфигурационных файлах, используемых в DOS и даже Windows системах в стандартной схеме загрузки.

Ключи реестра

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

Чтобы получить доступ к реестру, нажмите "Start" -> "Run" и наберите "Regedit" в окне "Open:". Откроется редактор реестра. Следует предупредить, что изменение или удаление ключей реестра, как и в случае прерывания процессов в памяти, может привести к нежелательным проблемам в системе. Поскольку реестр – хранилище конфигурационных настроек, незначительное изменение в нем может привести к некорректной загрузке системы, или сделать некоторые приложения нерабочими. Так что с осторожностью выполняйте следующие инструкции.

В редакторе реестра, вы увидите, что ключи реестра организованы аналогично структуре файлов/папок. В \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion находятся 3-6 папок, относящихся к автозапуску:

"Run"

"RunOnce"

"RunOnce\Setup"

"RunOnceEx"

"RunServices"

"RunServicesOnce"

Приложения в этих папках запускаются сразу после загрузки системы. Другая аналогичная ветвь реестра, содержащая эти 3-6 ключей автозапуска - \HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion.

Вам может понадобиться проверить каждую из этих программ. Общее количество программ автозапуска отличается в зависимости от системы и часто пропорционально количеству иконок в system tray. System tray обычно расположен в нижнем правом углу рабочего стола Windows и содержит маленькие иконки около часов.

Эти приложения обычно являются исполняемыми файлами Windows с расширением .EXE, и поэтому должны иметь свойства файла (File Properties), которые имеет обычный исполняемый файл Windows. Вы можете проверить каждый файл, прописанный в реестре автозапуска, открыв Windows Explorer, чтобы посмотреть свойства каждого из них. Для этого, нажмите правой кнопкой мыши на файл, выберите "Properties", и затем посмотрите содержимое в закладке "Version" каждого файла. "Company" и "Product Version" часто дают много информации о файле. Строки реестра, не содержащие полного пути к файлам, соответствуют файлам, лежащим в директории Windows, Windows\System, или Windows\System32. Помните о том, что некоторое malware устанавливает атрибут Hidden на файлы, которые оно помещает в систему. В этом случае, нужно установить в Windows Explorer показ скрытых файлов (Tools->Folder Options, закладка View, затем выберите Show hidden files and folders).

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

Другой путь получения контроля над системой для malware – изменение ассоциаций для часто используемых расширений файлов. Windows, как правило, использует ключи HKEY_CLASSES_ROOT для определения, какие приложения или программы должны запускаться для определенных расширений.

Рекомендуется также сделать резервную копию ключа реестра перед тем, как его модифицировать, экспортируя его в файл. Для этого, нажмите кнопкой мыши на ключ(папку) реестра, и в меню “Registry” выберите "Export Registry File". Укажите имя файла и подтвердите, что хотите сохранить его в файл. После создания резервной копии, можно удалить, или модифицировать ключ. Если вы обнаружите, что вы удалили нормальный параметр, не имеющий отношения к malware, вы сможете восстановить его.

Другие расположения автозапуска

Другие места, где можно найти строки автозапуска – System.ini и Win.ini. Malware часто изменяет их, добавляя ссылки на себя в секциях "run=" или "load=". Эти файлы расположены в директории Windows.

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

Все необходимые системные конфигурационные можно открыть, просмотреть и отредактировать с помощью программы Sysedit. Чтобы открыть ее, нажмите "Start", затем "Run", и наберите "Sysedit" в строке "Open:".

Еще одно место, где можно обнаружить строки автозапуска – папка Start -> Programs -> Startup. Эти строки запускаются непосредственно при входе пользователя в систему. Аналогично, сделайте резервную копию перед тем, как что-либо модифицировать.

Макросы

Приложения для обработки текста, электронных таблиц и презентации PowerPoint часто уязвимы для макровирусов. Вы можете обнаружить злонамеренную активность, проверив макросы в этих файлах. Для этого откройте macros organizer (как это сделать – смотрите help своей программы) и проверьте, нет ли внутри незнакомых макросов. Однако, некоторые макровирусы прячут себя от пользователей, изменяя foreground/background отображения шрифтов или добавляя множество табуляций, делая текст невидимым на стандартной панели просмотра.

Ниже представлены методики, которые можно использовать для двух приложений, использующих макросы: MS Word и Excel.

MS Word

Найдите на своем жестком диске файл с именем NORMAL.DOT, который является глобальным шаблоном этого приложения. Переименуйте его, чтобы быть уверенным, что у вас есть резервная копия. Это заставит Word создать новый NORMAL.DOT, наверняка чистый от вирусов. Откройте Microsoft Word и включите Macro Virus Protection. После этого вы можете попытаться открыть файл, который, как вы подозреваете, имеет макро вирус. Если внутри будут какие-либо макросы, вы получите запрос от Macro Virus Protection. Вы можете также записать начальный размер NORMAL.DOT, чтобы в будущем сравнивать его с текущим. В этом случае вы, возможно, обнаружите заражение.

MS Excel

Найдите на своем жестком диске папку с именем XLStart. Она содержит разные настройки, включая макросы. Вы можете перенести содержимое этой папки во временную директорию. Откройте Excel и включите Macro Virus Protection. После этого, откройте подозрительный файл Excel, Macro Virus Protection покажет вам, если в нем что-то есть.

И что же теперь?

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

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

Лучший способ уберечь вашу систему от заражения – использовать руководства по безопасной работе на компьютере, которые вы можете найти на веб-сайтах производителей антивирусного ПО. Эти руководства содержат основные советы, придерживаясь которых вы сможете минимизировать риск быть зараженным. Также они помогут вам побольше узнать о вашей системе и стать полноценными жителями в киберпространстве.

или введите имя

CAPTCHA