В общем случае за обнаружение присутствия вирусов на компьютере должны отвечать антивирусы - специальные программы, способные быстро и эффективно не только обнаруживать, но и обезвреживать вредоносные программы. Однако известно, и тому есть объективные причины, что ни один антивирус не обеспечивает полную защиту от всех вредоносных программ. Следовательно, хоть и маловероятно, но возможно заражение компьютера, даже если на нем установлен антивирус. При отсутствии антивируса, вероятность проникновения на компьютер вредоносных программ многократно возрастает.
Если компьютер заражен неизвестным вирусом, обычной практикой является самостоятельное обнаружение подозрительных файлов и отправка их на исследование в одну или несколько антивирусных компаний, как правило в ту, антивирус которой установлен на компьютере. Там эти файлы анализируют и при выявлении действительно неизвестного вируса или модификации вируса, выпускается обновление антивирусных баз, позволяющее обнаруживать и удалять этот вирус.
Но чтобы отправить подозрительные файлы на анализ, нужно сначала эти файлы найти. А чтобы всерьез заняться поиском, нужно иметь основания для подозрений в том, что компьютер заражен. Для этого нужно знать, какие особенности функционирования компьютера могут быть проявлениями вредоносных программ.
Не все вредоносные программы стремятся скрыть свое присутствие на компьютере. Некоторые ведут себя весьма активно: выводят на экран сообщения, открывают страницы веб-сайтов и т. п. Такие проявления логично назвать явными.
Другие вредоносные программы специальных сообщений не выводят, но могут провоцировать разного рода сбои в работе компьютера или прикладных программ. Например, одним из признаков попытки проникновения червя Sasser является появление на экране сообщения о сбое в процессе lsass.exe, в результате чего система будет перезагружена (см. рисунок 3.1).
(рис 3.1) Признак заражения червем SasserМногие вредоносные программы пытаются отключить или полностью удалить антивирус, другие блокируют доступ к веб-серверам антивирусных компаний, чтобы сделать невозможным обновление антивирусных баз. Соответственно, если антивирус вдруг ни с того, ни с сего перестал запускаться, либо перестали открываться сайты антивирусных компаний при том, что в целом доступ в Интернет работает нормально, это могут быть проявления вирусов. Такого рода проявления будут называться косвенными.
Наконец, есть вирусы, которые никак не выдают своего присутствия на компьютере, не выводят сообщений и не конфликтуют с другими приложениями. Их проявления незаметны на первый взгляд и могут состоять в наличии дополнительных процессов в памяти, в сетевой активности, в характерных изменениях системного реестра Windows. Такие проявления будут называться скрытыми.
Таким образом проявления вредоносных программ можно условно разбить на три группы по тому, насколько легко их обнаружить:
Имеет смысл обсудить все три группы проявлений подробнее и на конкретных примерах.
Характерны для троянских и в особенности для рекламных программ. Это и понятно, т. к. основным признаком вирусов и червей является способность к заражению, для реализации которой необходимо время. Если
Напротив, троянские программы пишутся для выполнения какой-то конкретной вредоносной функции и
В настоящее время явные проявления, как правило, так или иначе связаны с сетью Интернет.
Изменение стартовой страницы браузера, изменение стандартной страницы поиска, несанкционированное открытие новых окон, ведущих на определенные сайты - все это может быть следствием присутствия в системе вредоносной программы.
Иногда к аналогичным эффектам может приводить выполнение вредоносного скрипта на одном из посещенных сайтов. В таком случае новые программы на компьютер не проникают, а настройки браузера с большими или меньшими усилиями можно восстановить и полностью решить проблему. Во всяком случае до следующего посещения сайта с вредоносным скриптом.
Если же после восстановления настроек они снова меняются при следующем запуске браузера или после перезагрузки компьютера, значит причина изменений - наличие на компьютере вредоносной программы.
Подобное поведение характерно для рекламных модулей, принудительно завлекающих пользователей на сайт, рекламирующий какую-либо продукцию. А также для троянских программ, которые направляют пользователя на сайты, содержащие другие вредоносные программы.
После установки в системе троянская или рекламная программа выводит на экран сообщения о том, что на компьютере обнаружены вредоносные или рекламные программы. Такие сообщения обычно сделаны похожими на стандартные служебные сообщения Windows и снабжены гиперссылками или кнопками для перехода на веб-сайт, с которого якобы можно загружать программу для обнаружения и удаления нежелательных модулей.
Несмотря на то, что проявления достаточно явные - сообщения на экране, в силу их маскировки под служебные сообщения, пользователь не всегда догадывается, что это результат работы вредоносных программ и в результате попадает на те же рекламные или вредоносные сайты, но уже сам.
Не так давно получили распространения особые вредоносные программы -
Следовательно, признаком заражения может быть несанкционированные попытки компьютера соединиться с Интернетом по модему.
В отличие от явных проявлений, косвенные проявления отнюдь не всегда являются преднамеренными и нередко вызваны ошибками, допущенными автором вредоносной программы.
Обычно вредоносная программа проникает на защищенный антивирусом компьютер либо если антивирус был отключен, либо если это сравнительно новая вредоносная программа, для которой не было записи в антивирусной базе. Понятно, что в скором времени антивирус будет включен, либо вирус будет внесен в антивирусную базу, и антивирус сможет его обнаружить и обезвредить. Чтобы воспрепятствовать этому, многие вредоносные программы небезуспешно пытаются выгрузить антивирус из памяти или даже удалить файлы антивируса с дисков компьютера.
Поэтому внезапное завершение работы антивируса вполне может являться поводом для беспокойства.
Поскольку выгрузка или удаление антивируса все же достаточно заметны, некоторые вредоносные программы идут другим путем и нейтрализуют только возможность обновления антивирусных средств. Если антивирусная база не будет обновляться, антивирус не сможет обнаруживать новые вирусы и станет неэффективным.
При этом вредоносные программы не блокируют доступ в Интернет целиком - это было бы слишком заметно, а только доступ к сайтам и серверам обновлений наиболее известных компаний - производителей антивирусов. В среднем, пользователи не часто заходят на сайты антивирусных компаний, а сообщения антивируса о невозможности обновиться могут списывать на проблемы у провайдера или на самих серверах обновления. Таким образом вирус может длительное время оставаться незамеченным.
Очень часто причиной сбоев в работе программ пользователи считают присутствие на компьютере вирусов. И хотя большинство подобных случаев на поверку оказывается
Кроме уже рассмотренного примера с червем Sasser, можно еще упомянуть червь MyDoom, вызывавший похожее сообщение об ошибке, но не в службе LSASS, а в службе DCOM/RPC. Другой пример, троянская программа Backdoor.NTHack, результатом присутствия которой на компьютере может быть сообщение об ошибке, возникающее при загрузке компьютера:
STOP 0x0000001e KMODE_EXCEPTION_NOT_HANDLED in win32k.sys
или
STOP 0xC000021A {Fatal System Error}
The Windows Logon Process terminated unexpectedly.
Если компьютер заражен и рассылает инфицированные почтовые сообщения, они могут быть обнаружены на одном из серверов в Интернете и антивирус на сервере может отправить уведомление отправителю зараженного сообщения. Следовательно, косвенным признаком присутствия вируса может быть получение почтового сообщения о том, что с почтового адреса пользователя компьютера был отправлен вирус.
Впрочем, в последнее время многие вирусы подменяют адрес отправителя и получение описанного уведомления не обязательно означает, что компьютер заражен. Из-за того, что формальный адрес отправителя, указанный в почтовом сообщении, может не иметь никакого отношения к зараженному компьютеру, антивирусные программы часто вообще не отсылают уведомлений отправителям зараженных сообщений.
В отсутствие явных или косвенных проявлений о присутствии вируса можно судить, например, по необычной сетевой активности, когда ни одно сетевое приложение не запущено, а значок сетевого соединения сигнализирует об обмене данными. Другими признаками могут служить незнакомые процессы в памяти или файлы на диске.
Однако в настоящее время на компьютерах обычно установлено так много различных программ, что большинство файлов и процессов неизвестны обычному пользователю. В то же время поиск скрытых проявлений это уже фактически поиск тех самых подозрительных файлов, которые нужно отправить на анализ в антивирусную компанию.
Как видно, ни косвенные, ни даже явные проявления не могут служить основанием для уверенности в том, что компьютер заражен. Всегда существует вероятность, что наблюдаемый эффект не является результатом действий вируса, а вызван обычными ошибками в используемых программах или же вредоносными скриптами, которые не оставили никаких файлов на компьютере.
Для того чтобы подозрения переросли в уверенность нужно произвести дополнительный поиск скрытых проявлений вредоносных программ, имея конечной целью обнаружение файлов вредоносной программы.
Скрытые проявления включают:
Ключевым признаком во всех случаях является атрибут "подозрительный". Что это означает? Это означает, что пользователю неизвестно назначение данного процесса, файла или ключа, и более того, информации о подозрительном объекте нет ни в документации к операционной системе, ни в открытых источниках сети Интернет.
Но прежде чем судить о подозрительности файлов и процессов, нужно сначала их выделить из общего числа и на этом имеет смысл остановиться подробней.
Процесс - это фактически запущенный исполняемый файл. Часть процессов относится к операционной системе, часть к запущенным программам.
Чтобы получить список процессов, нужно вызвать диспетчер задач - стандартное средство Windows для управления процессами. В операционных системах Windows NT/2000/XP/2003 для вызова диспетчера задач нужно нажать комбинацию клавиш Ctrl + Shift + Esc или вызвать контекстное меню в системной панели (внизу экрана) и выбрать пункт Диспетчер задач. Характерный вид окна Диспетчера задач представлен на рисунке 3.2.
(рис 3.2) Диспетчер задач в Windows 2000 ProfessionalНа закладке Процессы в колонке Имя образа содержатся имена файлов, которым соответствуют запущенные процессы. Процессы, которые видны на рисунке являются стандартными для свежеустановленной Windows 2000 Professional. Например, процесс svchost.exe отвечает за запуск служб в Windows 2000.
Найти информацию о неизвестном процессе можно в сети Интернет.
В Windows 98 Диспетчер задач вызывается нажатием клавиш Ctrl + Alt + Del и выглядит иначе, как на рисунке 3.3.
(рис 3.3) Диспетчер задач в Windows 98 SEНедостатком диспетчера задач в Windows 98 является то, что он не предоставляет информации обо всех запущенных процессах в системе. Поэтому для получения более полной информации приходится использовать дополнительные программы, например, утилиту Process Explorer
(рис 3.4) Утилита Process Explorer
Отличительным признаком большинства червей и многих троянских программ является изменение параметров системы таким образом, чтобы файл вредоносной программы выполнялся автоматически при каждом запуске компьютера. Поэтому наличие незнакомых файлов в списке файлов автозапуска также является поводом для пристального изучения этих файлов.
Где находится информация об автоматически запускаемых файлах? В множестве разных мест, и поэтому имеет смысл рассмотреть их по отдельности.
Наиболее известный источник файлов автозапуска - это папка Автозагрузка в меню Программы, доступном при нажатии кнопки Пуск. Ярлыки, находящиеся в этой папке соответствуют запускаемым программам. Собственно, имя запускаемого файла можно определить через свойства ярлыка.
Однако в связи с тем, что папка Автозагрузка известна большинству пользователей, вредоносные программы редко используют ее для автозапуска, предпочитая менее заметные способы.
В последнее время стандартным способом настройки автозапуска для большинства программ является использование специальных ключей реестра Windows.
Системный реестр Windows - это основное хранилище большинства настроек операционной системы и многих приложений. Для доступа к системному реестру используется
Окно утилиты представлено на рисунке 3.5. В левой его части находится дерево ключей реестра, ключи изображены в виде папок. В правой части окна отображаются записи, относящиеся к выбранному ключу. В ключе могут находиться и записи - параметры настройки, и другие ключи - группы параметров настройки.
На верхнем уровне реестр делится на несколько веток (пять или шесть, в зависимости от версии Windows). C точки зрения автозапуска наиболее важны две ветки:
Для настройки автозапуска в реестре Windows предназначено несколько ключей:
(рис 3.5) Системный реестр WindowsКаждая запись в ключе автозапуска соответствует одной запускаемой программе. Запись состоит из имени записи, типа записи (для параметров автозапуска тип записи - строковый, обозначается как REG_SZ) и значения, которое и является строкой запуска, т. е. включает имя исполняемого файла и параметры командной строки.
Например, представленная на рисунке 3.5 запись "internat.exe" служит для автозапуска одноименной программы internat.exe. Эта программа является
Кроме программы internat.exe, стандартными для Windows являются следующие строки запуска:
| Имя | Значение |
|---|---|
| KernelFaultCheck | %systemroot%\system32\dumprep 0 -k |
| Synchronization Manager | mobsync.exe /logon |
| LoadPowerProfile | Rundll32.exe powrprof.dll,LoadCurrentPwrScheme |
| ScanRegistry | C:\WINDOWS\scanregw.exe / |
| SystemTray | |
| TaskMonitor | C:\WINDOWS\taskmon.exe |
| CTFMON.EXE | C:\WINDOWS\system32\ctfmon.exe |
В зависимости от настроек Windows и установленных программ ключи автозапуска могут содержать множество различных строк для запуска различных программ. Поэтому все на первый взгляд подозрительные файлы нужно перепроверять - они могут оказаться вполне обычными программами.
Ни в коем случае не следует изменять настройки системного реестра наугад - это может привести к полной неработоспособности компьютера и необходимости переустанавливать операционную систему. Вносить изменения в реестр можно только будучи абсолютно уверенным в своих действиях и полностью осознавая характер и последствия производимых модификаций.
Настроить автозапуск программ можно и в системных файлах Windows - system.ini и win.ini. Эти файлы используются (преимущественно, использовались) в Windows 3.x, 9x, Me для хранения системных настроек. В Windows NT, 2000, XP аналогичные настройки перенесены в системный реестр, но старые конфигурационные файлы сохранены в целях обеспечения совместимости со старыми же программами.
Конфигурационные файлы win.ini и system.ini разбиты на секции. Название каждой секции заключено в квадратные скобки, например, [boot] или [windows].
В файле win.ini строки запуска программ выглядят так:
Анализируя такие строки можно понять, какие файлы запускаются при старте компьютера.
В файле system.ini есть ровно одна строка, через которую чаще всего запускаются вирусы, расположена в секции [boot]:
Во всех версиях Windows стандартной программной оболочкой является explorer.exe. Если в строке shell= указано что-то отличное от explorer.exe, это с большой вероятностью вредоносная программа. Справедливости ради, нужно отметить, что существуют легальные программы, являющиеся альтернативными программными оболочками Windows. Такие программы могут изменять значение параметра shell в файле system.ini.
В Windows NT, 2000, XP и 2003 параметры стандартной оболочки задаются в реестре, в ключе HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon в параметре Shell. Значение этого параметра также в подавляющем большинстве случаев должно быть Explorer.exe.
Вместо того, чтобы собирать информацию об автоматически запускаемых приложениях из разных источников, можно воспользоваться
Вид окна утилиты отличается в зависимости от операционной системы. В Windows XP она выглядит так, как изображено на рисунке 3.6.
(рис 3.6) Утилита msconfig.exeНа закладке Автозагрузка собраны данные о запускаемых программах из реестра и меню Пуск. В колонке Элемент автозагрузки приводится имя записи в реестре или имя ярлыка в меню Пуск. В колонке Команда - строка запуска программы, в колонке Расположение - ключ реестра, в котором расположена соответствующая запись, или Common Startup - для ярлыков меню Пуск.
Данные о настройках файлов system.ini и win.ini расположены на одноименных закладках. Кроме этого имеется закладка Службы, содержащая информацию о запускаемых службах в Windows XP.
Службы - это служебные компоненты Windows или прикладных программ, которые запускаются при старте компьютера, еще до того, как пользователь вошел в систему. Службы отвечают, например, за вывод на печать, за обнаружение новых устройств, за обеспечение сетевого взаимодействия компьютеров и т. п. Но в качестве служб могут регистрироваться и некоторые вредоносные программы.
В то же время, обращаться со службами нужно не менее осторожно, чем с настройками реестра. Отключение важных служб может привести к тому, что компьютер вообще не загрузится.
Вредоносные программы могут проявляться не только в виде подозрительных процессов или файлов автозапуска, но и в виде сетевой активности. Черви используют сеть для распространения, троянские программы - для загрузки дополнительных компонентов и отсылки информации злоумышленнику.
Некоторые типы троянских программ специально предназначены для обеспечения удаленного управления зараженным компьютером. Для обеспечения доступа к компьютеру по сети со стороны злоумышленника они открывают определенный порт.
Что такое порт? Как известно, каждый компьютер обладает IP-адресом, на который этому компьютеру можно передавать данные. Но если на компьютере имеется несколько программ, работающих с сетью, например, почтовый сервер и веб-сервер, как определить, какие данные какой программе предназначены? Для этого и используются порты. За каждой программой, ожидающей данные из сети закрепляется определенное число - номер порта, а данные, пересылаемые на компьютер, кроме адреса компьютера содержат также и номер порта, чтобы было понятно, какая программа должна получить эти данные.
Как правило, похожие по назначению программы используют одни и те же порты для приема соединений. Почтовый сервер использует порт 25 для приема исходящих писем от почтовых клиентов. Веб-сервер использует порт 80 для приема соединений от браузеров. Впрочем, никаких принципиальных ограничений на использование портов нет, кроме того, что две программы не могут использовать один и тот же порт.
Аналогично почтовому серверу, вредоносные программы для приема команд или данных от злоумышленника используют определенный порт, постоянно ожидая сигналов на этот порт. В таких случаях принято говорить, что программа слушает порт.
Определить, какие порты слушаются на компьютере можно при помощи команды netstat -n. Для ее выполнения сперва нужно запустить командную оболочку. В случае Windows NT, 2000, XP и 2003 она запускается командой cmd.exe, а в Windows 98 и Me - command.com. Для запуска используются команды Выполнить в меню Пуск.
После выполнения в командной оболочке команды netstat -a в том же окне отображаются данные об установленных соединениях и открытых портах (тех, которые слушаются). Выглядит это как на рисунке 3.7.
(рис 3.7) Команда netstat -aРезультатом выполнения команды является список активных подключений, в который входят установленные соединения и открытые порты. Открытые TCP-порты
UDP-порты обозначаются строкой UDP в колонке Имя. Они не могут находиться в разных состояниях, поэтому специальная пометка LISTENING в их отношении не используется. Как и TCP-порты они могут отображаться по именам или по номерам.
Порты, используемые вредоносными программами, чаще всего являются нестандартными и поэтому отображаются согласно их номерам. Впрочем, могут встречаться троянские программы, использующие для маскировки стандартные для других приложений порты, например 80, 21, 443 - порты, используемые на файловых и веб-серверах.
Просто обнаружить неизвестные системе (и пользователю) порты мало. Нужно еще узнать, какие программы используют эти порты. Команда
(рис 3.8) Утилита tcpview.exeКак несложно заметить, утилита TCPView отображает те же данные, что и команда netstat -a, но дополняет их информацией о процессах.
Итак, по результатам анализа процессов, параметров автозагрузки и соединений получен список подозрительных с точки зрения пользователя процессов (имен файлов). Для неопытного пользователя неизвестных, а значит подозрительных имен файлов может оказаться слишком много, поэтому имеет смысл выделить наиболее подозрительные из них - те, которые были обнаружены в двух и более источниках. Например, файлы, которые присутствуют в списке процессов и в списке автозагрузки. Еще более подозрительными являются процессы, обнаруженные в автозагрузке и слушающие порты.
Для выяснения природы подозрительных процессов проще всего использовать Интернет. В глобальной сети имеются сайты, собирающие информацию о различных процессах. Данных по всем процессам вредоносных программ на таких сайтах может и не быть, но во всяком случае на них есть информация о большом количестве неопасных процессов и таким образом можно будет исключить из списка те процессы, которые относятся к операционной системе или известным невредоносным программам. Одним из таких сайтов является http://www.processlibrary.com
После того, как список подозрительных процессов максимально сужен и в нем остались только те, о которых нет исчерпывающей и достоверной информации, остается последний шаг, найти эти файлы на диске и отправить на исследование в одну из антивирусных компаний для анализа.
В общем случае за обнаружение присутствия вирусов на компьютере должны отвечать антивирусы - специальные программы, способные быстро и эффективно не только обнаруживать, но и обезвреживать вредоносные программы. Однако известно, и тому есть объективные причины, что ни один антивирус не обеспечивает полную защиту от всех вредоносных программ. Следовательно, хоть и маловероятно, но возможно заражение компьютера, даже если на нем установлен антивирус. При отсутствии антивируса, вероятность проникновения на компьютер вредоносных программ многократно возрастает.
Если компьютер заражен неизвестным вирусом, обычной практикой является самостоятельное обнаружение подозрительных файлов и отправка их на исследование в одну или несколько антивирусных компаний, как правило в ту, антивирус которой установлен на компьютере. Там эти файлы анализируют и при выявлении действительно неизвестного вируса или модификации вируса, выпускается обновление антивирусных баз, позволяющее обнаруживать и удалять этот вирус.
Но чтобы отправить подозрительные файлы на анализ, нужно сначала эти файлы найти. А чтобы всерьез заняться поиском, нужно иметь основания для подозрений в том, что компьютер заражен. Для этого нужно знать, какие особенности функционирования компьютера могут быть проявлениями вредоносных программ.
Не все вредоносные программы стремятся скрыть свое присутствие на компьютере. Некоторые ведут себя весьма активно: выводят на экран сообщения, открывают страницы веб-сайтов и т. п. Такие проявления логично назвать явными.
Другие вредоносные программы специальных сообщений не выводят, но могут провоцировать разного рода сбои в работе компьютера или прикладных программ. Например, одним из признаков попытки проникновения червя Sasser является появление на экране сообщения о сбое в процессе lsass.exe, в результате чего система будет перезагружена (см. рисунок 3.1).
(рис 3.1) Признак заражения червем SasserМногие вредоносные программы пытаются отключить или полностью удалить антивирус, другие блокируют доступ к веб-серверам антивирусных компаний, чтобы сделать невозможным обновление антивирусных баз. Соответственно, если антивирус вдруг ни с того, ни с сего перестал запускаться, либо перестали открываться сайты антивирусных компаний при том, что в целом доступ в Интернет работает нормально, это могут быть проявления вирусов. Такого рода проявления будут называться косвенными.
Наконец, есть вирусы, которые никак не выдают своего присутствия на компьютере, не выводят сообщений и не конфликтуют с другими приложениями. Их проявления незаметны на первый взгляд и могут состоять в наличии дополнительных процессов в памяти, в сетевой активности, в характерных изменениях системного реестра Windows. Такие проявления будут называться скрытыми.
Таким образом проявления вредоносных программ можно условно разбить на три группы по тому, насколько легко их обнаружить:
Имеет смысл обсудить все три группы проявлений подробнее и на конкретных примерах.
Характерны для троянских и в особенности для рекламных программ. Это и понятно, т. к. основным признаком вирусов и червей является способность к заражению, для реализации которой необходимо время. Если
Напротив, троянские программы пишутся для выполнения какой-то конкретной вредоносной функции и
В настоящее время явные проявления, как правило, так или иначе связаны с сетью Интернет.
Изменение стартовой страницы браузера, изменение стандартной страницы поиска, несанкционированное открытие новых окон, ведущих на определенные сайты - все это может быть следствием присутствия в системе вредоносной программы.
Иногда к аналогичным эффектам может приводить выполнение вредоносного скрипта на одном из посещенных сайтов. В таком случае новые программы на компьютер не проникают, а настройки браузера с большими или меньшими усилиями можно восстановить и полностью решить проблему. Во всяком случае до следующего посещения сайта с вредоносным скриптом.
Если же после восстановления настроек они снова меняются при следующем запуске браузера или после перезагрузки компьютера, значит причина изменений - наличие на компьютере вредоносной программы.
Подобное поведение характерно для рекламных модулей, принудительно завлекающих пользователей на сайт, рекламирующий какую-либо продукцию. А также для троянских программ, которые направляют пользователя на сайты, содержащие другие вредоносные программы.
После установки в системе троянская или рекламная программа выводит на экран сообщения о том, что на компьютере обнаружены вредоносные или рекламные программы. Такие сообщения обычно сделаны похожими на стандартные служебные сообщения Windows и снабжены гиперссылками или кнопками для перехода на веб-сайт, с которого якобы можно загружать программу для обнаружения и удаления нежелательных модулей.
Несмотря на то, что проявления достаточно явные - сообщения на экране, в силу их маскировки под служебные сообщения, пользователь не всегда догадывается, что это результат работы вредоносных программ и в результате попадает на те же рекламные или вредоносные сайты, но уже сам.
Не так давно получили распространения особые вредоносные программы -
Следовательно, признаком заражения может быть несанкционированные попытки компьютера соединиться с Интернетом по модему.
В отличие от явных проявлений, косвенные проявления отнюдь не всегда являются преднамеренными и нередко вызваны ошибками, допущенными автором вредоносной программы.
Обычно вредоносная программа проникает на защищенный антивирусом компьютер либо если антивирус был отключен, либо если это сравнительно новая вредоносная программа, для которой не было записи в антивирусной базе. Понятно, что в скором времени антивирус будет включен, либо вирус будет внесен в антивирусную базу, и антивирус сможет его обнаружить и обезвредить. Чтобы воспрепятствовать этому, многие вредоносные программы небезуспешно пытаются выгрузить антивирус из памяти или даже удалить файлы антивируса с дисков компьютера.
Поэтому внезапное завершение работы антивируса вполне может являться поводом для беспокойства.
Поскольку выгрузка или удаление антивируса все же достаточно заметны, некоторые вредоносные программы идут другим путем и нейтрализуют только возможность обновления антивирусных средств. Если антивирусная база не будет обновляться, антивирус не сможет обнаруживать новые вирусы и станет неэффективным.
При этом вредоносные программы не блокируют доступ в Интернет целиком - это было бы слишком заметно, а только доступ к сайтам и серверам обновлений наиболее известных компаний - производителей антивирусов. В среднем, пользователи не часто заходят на сайты антивирусных компаний, а сообщения антивируса о невозможности обновиться могут списывать на проблемы у провайдера или на самих серверах обновления. Таким образом вирус может длительное время оставаться незамеченным.
Очень часто причиной сбоев в работе программ пользователи считают присутствие на компьютере вирусов. И хотя большинство подобных случаев на поверку оказывается
Кроме уже рассмотренного примера с червем Sasser, можно еще упомянуть червь MyDoom, вызывавший похожее сообщение об ошибке, но не в службе LSASS, а в службе DCOM/RPC. Другой пример, троянская программа Backdoor.NTHack, результатом присутствия которой на компьютере может быть сообщение об ошибке, возникающее при загрузке компьютера:
STOP 0x0000001e KMODE_EXCEPTION_NOT_HANDLED in win32k.sys
или
STOP 0xC000021A {Fatal System Error}
The Windows Logon Process terminated unexpectedly.
Если компьютер заражен и рассылает инфицированные почтовые сообщения, они могут быть обнаружены на одном из серверов в Интернете и антивирус на сервере может отправить уведомление отправителю зараженного сообщения. Следовательно, косвенным признаком присутствия вируса может быть получение почтового сообщения о том, что с почтового адреса пользователя компьютера был отправлен вирус.
Впрочем, в последнее время многие вирусы подменяют адрес отправителя и получение описанного уведомления не обязательно означает, что компьютер заражен. Из-за того, что формальный адрес отправителя, указанный в почтовом сообщении, может не иметь никакого отношения к зараженному компьютеру, антивирусные программы часто вообще не отсылают уведомлений отправителям зараженных сообщений.
В отсутствие явных или косвенных проявлений о присутствии вируса можно судить, например, по необычной сетевой активности, когда ни одно сетевое приложение не запущено, а значок сетевого соединения сигнализирует об обмене данными. Другими признаками могут служить незнакомые процессы в памяти или файлы на диске.
Однако в настоящее время на компьютерах обычно установлено так много различных программ, что большинство файлов и процессов неизвестны обычному пользователю. В то же время поиск скрытых проявлений это уже фактически поиск тех самых подозрительных файлов, которые нужно отправить на анализ в антивирусную компанию.
Как видно, ни косвенные, ни даже явные проявления не могут служить основанием для уверенности в том, что компьютер заражен. Всегда существует вероятность, что наблюдаемый эффект не является результатом действий вируса, а вызван обычными ошибками в используемых программах или же вредоносными скриптами, которые не оставили никаких файлов на компьютере.
Для того чтобы подозрения переросли в уверенность нужно произвести дополнительный поиск скрытых проявлений вредоносных программ, имея конечной целью обнаружение файлов вредоносной программы.
Скрытые проявления включают:
Ключевым признаком во всех случаях является атрибут "подозрительный". Что это означает? Это означает, что пользователю неизвестно назначение данного процесса, файла или ключа, и более того, информации о подозрительном объекте нет ни в документации к операционной системе, ни в открытых источниках сети Интернет.
Но прежде чем судить о подозрительности файлов и процессов, нужно сначала их выделить из общего числа и на этом имеет смысл остановиться подробней.
Процесс - это фактически запущенный исполняемый файл. Часть процессов относится к операционной системе, часть к запущенным программам.
Чтобы получить список процессов, нужно вызвать диспетчер задач - стандартное средство Windows для управления процессами. В операционных системах Windows NT/2000/XP/2003 для вызова диспетчера задач нужно нажать комбинацию клавиш Ctrl + Shift + Esc или вызвать контекстное меню в системной панели (внизу экрана) и выбрать пункт Диспетчер задач. Характерный вид окна Диспетчера задач представлен на рисунке 3.2.
(рис 3.2) Диспетчер задач в Windows 2000 ProfessionalНа закладке Процессы в колонке Имя образа содержатся имена файлов, которым соответствуют запущенные процессы. Процессы, которые видны на рисунке являются стандартными для свежеустановленной Windows 2000 Professional. Например, процесс svchost.exe отвечает за запуск служб в Windows 2000.
Найти информацию о неизвестном процессе можно в сети Интернет.
В Windows 98 Диспетчер задач вызывается нажатием клавиш Ctrl + Alt + Del и выглядит иначе, как на рисунке 3.3.
(рис 3.3) Диспетчер задач в Windows 98 SEНедостатком диспетчера задач в Windows 98 является то, что он не предоставляет информации обо всех запущенных процессах в системе. Поэтому для получения более полной информации приходится использовать дополнительные программы, например, утилиту Process Explorer
(рис 3.4) Утилита Process Explorer
Отличительным признаком большинства червей и многих троянских программ является изменение параметров системы таким образом, чтобы файл вредоносной программы выполнялся автоматически при каждом запуске компьютера. Поэтому наличие незнакомых файлов в списке файлов автозапуска также является поводом для пристального изучения этих файлов.
Где находится информация об автоматически запускаемых файлах? В множестве разных мест, и поэтому имеет смысл рассмотреть их по отдельности.
Наиболее известный источник файлов автозапуска - это папка Автозагрузка в меню Программы, доступном при нажатии кнопки Пуск. Ярлыки, находящиеся в этой папке соответствуют запускаемым программам. Собственно, имя запускаемого файла можно определить через свойства ярлыка.
Однако в связи с тем, что папка Автозагрузка известна большинству пользователей, вредоносные программы редко используют ее для автозапуска, предпочитая менее заметные способы.
В последнее время стандартным способом настройки автозапуска для большинства программ является использование специальных ключей реестра Windows.
Системный реестр Windows - это основное хранилище большинства настроек операционной системы и многих приложений. Для доступа к системному реестру используется
Окно утилиты представлено на рисунке 3.5. В левой его части находится дерево ключей реестра, ключи изображены в виде папок. В правой части окна отображаются записи, относящиеся к выбранному ключу. В ключе могут находиться и записи - параметры настройки, и другие ключи - группы параметров настройки.
На верхнем уровне реестр делится на несколько веток (пять или шесть, в зависимости от версии Windows). C точки зрения автозапуска наиболее важны две ветки:
Для настройки автозапуска в реестре Windows предназначено несколько ключей:
(рис 3.5) Системный реестр WindowsКаждая запись в ключе автозапуска соответствует одной запускаемой программе. Запись состоит из имени записи, типа записи (для параметров автозапуска тип записи - строковый, обозначается как REG_SZ) и значения, которое и является строкой запуска, т. е. включает имя исполняемого файла и параметры командной строки.
Например, представленная на рисунке 3.5 запись "internat.exe" служит для автозапуска одноименной программы internat.exe. Эта программа является
Кроме программы internat.exe, стандартными для Windows являются следующие строки запуска:
| Имя | Значение |
|---|---|
| KernelFaultCheck | %systemroot%\system32\dumprep 0 -k |
| Synchronization Manager | mobsync.exe /logon |
| LoadPowerProfile | Rundll32.exe powrprof.dll,LoadCurrentPwrScheme |
| ScanRegistry | C:\WINDOWS\scanregw.exe / |
| SystemTray | |
| TaskMonitor | C:\WINDOWS\taskmon.exe |
| CTFMON.EXE | C:\WINDOWS\system32\ctfmon.exe |
В зависимости от настроек Windows и установленных программ ключи автозапуска могут содержать множество различных строк для запуска различных программ. Поэтому все на первый взгляд подозрительные файлы нужно перепроверять - они могут оказаться вполне обычными программами.
Ни в коем случае не следует изменять настройки системного реестра наугад - это может привести к полной неработоспособности компьютера и необходимости переустанавливать операционную систему. Вносить изменения в реестр можно только будучи абсолютно уверенным в своих действиях и полностью осознавая характер и последствия производимых модификаций.
Настроить автозапуск программ можно и в системных файлах Windows - system.ini и win.ini. Эти файлы используются (преимущественно, использовались) в Windows 3.x, 9x, Me для хранения системных настроек. В Windows NT, 2000, XP аналогичные настройки перенесены в системный реестр, но старые конфигурационные файлы сохранены в целях обеспечения совместимости со старыми же программами.
Конфигурационные файлы win.ini и system.ini разбиты на секции. Название каждой секции заключено в квадратные скобки, например, [boot] или [windows].
В файле win.ini строки запуска программ выглядят так:
Анализируя такие строки можно понять, какие файлы запускаются при старте компьютера.
В файле system.ini есть ровно одна строка, через которую чаще всего запускаются вирусы, расположена в секции [boot]:
Во всех версиях Windows стандартной программной оболочкой является explorer.exe. Если в строке shell= указано что-то отличное от explorer.exe, это с большой вероятностью вредоносная программа. Справедливости ради, нужно отметить, что существуют легальные программы, являющиеся альтернативными программными оболочками Windows. Такие программы могут изменять значение параметра shell в файле system.ini.
В Windows NT, 2000, XP и 2003 параметры стандартной оболочки задаются в реестре, в ключе HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon в параметре Shell. Значение этого параметра также в подавляющем большинстве случаев должно быть Explorer.exe.
Вместо того, чтобы собирать информацию об автоматически запускаемых приложениях из разных источников, можно воспользоваться
Вид окна утилиты отличается в зависимости от операционной системы. В Windows XP она выглядит так, как изображено на рисунке 3.6.
(рис 3.6) Утилита msconfig.exeНа закладке Автозагрузка собраны данные о запускаемых программах из реестра и меню Пуск. В колонке Элемент автозагрузки приводится имя записи в реестре или имя ярлыка в меню Пуск. В колонке Команда - строка запуска программы, в колонке Расположение - ключ реестра, в котором расположена соответствующая запись, или Common Startup - для ярлыков меню Пуск.
Данные о настройках файлов system.ini и win.ini расположены на одноименных закладках. Кроме этого имеется закладка Службы, содержащая информацию о запускаемых службах в Windows XP.
Службы - это служебные компоненты Windows или прикладных программ, которые запускаются при старте компьютера, еще до того, как пользователь вошел в систему. Службы отвечают, например, за вывод на печать, за обнаружение новых устройств, за обеспечение сетевого взаимодействия компьютеров и т. п. Но в качестве служб могут регистрироваться и некоторые вредоносные программы.
В то же время, обращаться со службами нужно не менее осторожно, чем с настройками реестра. Отключение важных служб может привести к тому, что компьютер вообще не загрузится.
Вредоносные программы могут проявляться не только в виде подозрительных процессов или файлов автозапуска, но и в виде сетевой активности. Черви используют сеть для распространения, троянские программы - для загрузки дополнительных компонентов и отсылки информации злоумышленнику.
Некоторые типы троянских программ специально предназначены для обеспечения удаленного управления зараженным компьютером. Для обеспечения доступа к компьютеру по сети со стороны злоумышленника они открывают определенный порт.
Что такое порт? Как известно, каждый компьютер обладает IP-адресом, на который этому компьютеру можно передавать данные. Но если на компьютере имеется несколько программ, работающих с сетью, например, почтовый сервер и веб-сервер, как определить, какие данные какой программе предназначены? Для этого и используются порты. За каждой программой, ожидающей данные из сети закрепляется определенное число - номер порта, а данные, пересылаемые на компьютер, кроме адреса компьютера содержат также и номер порта, чтобы было понятно, какая программа должна получить эти данные.
Как правило, похожие по назначению программы используют одни и те же порты для приема соединений. Почтовый сервер использует порт 25 для приема исходящих писем от почтовых клиентов. Веб-сервер использует порт 80 для приема соединений от браузеров. Впрочем, никаких принципиальных ограничений на использование портов нет, кроме того, что две программы не могут использовать один и тот же порт.
Аналогично почтовому серверу, вредоносные программы для приема команд или данных от злоумышленника используют определенный порт, постоянно ожидая сигналов на этот порт. В таких случаях принято говорить, что программа слушает порт.
Определить, какие порты слушаются на компьютере можно при помощи команды netstat -n. Для ее выполнения сперва нужно запустить командную оболочку. В случае Windows NT, 2000, XP и 2003 она запускается командой cmd.exe, а в Windows 98 и Me - command.com. Для запуска используются команды Выполнить в меню Пуск.
После выполнения в командной оболочке команды netstat -a в том же окне отображаются данные об установленных соединениях и открытых портах (тех, которые слушаются). Выглядит это как на рисунке 3.7.
(рис 3.7) Команда netstat -aРезультатом выполнения команды является список активных подключений, в который входят установленные соединения и открытые порты. Открытые TCP-порты
UDP-порты обозначаются строкой UDP в колонке Имя. Они не могут находиться в разных состояниях, поэтому специальная пометка LISTENING в их отношении не используется. Как и TCP-порты они могут отображаться по именам или по номерам.
Порты, используемые вредоносными программами, чаще всего являются нестандартными и поэтому отображаются согласно их номерам. Впрочем, могут встречаться троянские программы, использующие для маскировки стандартные для других приложений порты, например 80, 21, 443 - порты, используемые на файловых и веб-серверах.
Просто обнаружить неизвестные системе (и пользователю) порты мало. Нужно еще узнать, какие программы используют эти порты. Команда
(рис 3.8) Утилита tcpview.exeКак несложно заметить, утилита TCPView отображает те же данные, что и команда netstat -a, но дополняет их информацией о процессах.
Итак, по результатам анализа процессов, параметров автозагрузки и соединений получен список подозрительных с точки зрения пользователя процессов (имен файлов). Для неопытного пользователя неизвестных, а значит подозрительных имен файлов может оказаться слишком много, поэтому имеет смысл выделить наиболее подозрительные из них - те, которые были обнаружены в двух и более источниках. Например, файлы, которые присутствуют в списке процессов и в списке автозагрузки. Еще более подозрительными являются процессы, обнаруженные в автозагрузке и слушающие порты.
Для выяснения природы подозрительных процессов проще всего использовать Интернет. В глобальной сети имеются сайты, собирающие информацию о различных процессах. Данных по всем процессам вредоносных программ на таких сайтах может и не быть, но во всяком случае на них есть информация о большом количестве неопасных процессов и таким образом можно будет исключить из списка те процессы, которые относятся к операционной системе или известным невредоносным программам. Одним из таких сайтов является http://www.processlibrary.com
После того, как список подозрительных процессов максимально сужен и в нем остались только те, о которых нет исчерпывающей и достоверной информации, остается последний шаг, найти эти файлы на диске и отправить на исследование в одну из антивирусных компаний для анализа.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.