Начнем, пожалуй, с того, что же такое svchost.exe (Generic Host Process for Win32 Services). Эта программа несколько похожа по своему назначению на утилиту rundll.exe из Windows 9x. C ее помощью запускаются различные системные службы (сервисы), представленные в виде DLL-библиотек. Чаще всего, проблема возникает когда какая-нибудь служба пытается получить доступ в Интернет при помощи svchost.exe. Поскольку эта программа включена в Windows XP, многие пользователи вносят ее в список Trusted Apllications файрвола, не ограничивая ее таким образом вовсе. При этом полностью проявляется тот факт, что установка файрвола - это лишь наполовину решенная проблема. Необходимо еще и грамотное администрирование. Что уж говорить про пользователей, не знающих про слово файрвол (брандмауэр).
Таким образом, неограниченный Generic Host Process for Win32 Services приносит нам как минимум две проблемы. Во-первых, не только системная служба Windows, но и вирус, использующий svchost, сможет получить доступ в сеть. А во-вторых, используя баг Microsoft можно, например, перегрузить компьютер (устроить reboot).
Начнем, пожалуй, со второй проблемы, а именно бага Майкрософта. Появился он очень давно. Бурные дискуссие по этому поводу велись уже в мае. Но пик использования вирусами этого бага пришелся на август 2003 года. Используя баг в Win XP с 445 портом, вирус или шутник (считающий видимо себя крутым хакером) вызывает аварийное завершение службы svchost. При этом появляется окошечко с предупреждением о том, что компьютер будет перегружен через 60 секунд. Слава богу, в большинстве случаев этого времени хватает на сохранение открытых документов.
Простейшим и достаточно примитивным рещением в этом случае является запрет на перезагрузку. Для этого нужно открыть командную строку: Пуск > Все программы > Стандартные > Командная строка (Start > Programs > Accessories > Command Prompt). После чего в командной строке нужно ввести "shutdown /a".
Ну а поскольку это не единственный баг Майкрософта, радоваться нам пока рано. Прежде всего, нам не обойтись без файрвола, либо какой-то иной программы, позволяющей закрывать доступ по определнным портам. Очень рекомендую файрвол Agnitum Outpost. Он позволяет разрешать и запрещать доступ определенным приложениям по определнным протоколам и портам. При этом Вы можете разрешить доступ, игнорировать поступающие пакеты или посылать отказ на поступающие пакеты. Интерфейс Аутпоста интуитивно понятен. А кроме того, он имеет достаточно много других фишек, как то: ставшая уже стандартом для файрволов, цифровая подпись приложений, противостояние DOS атакам, режим невидики (stealth). Очень замечательным режимом является Rules Wizard. Если какое-то приложение пытается получить доступ по определенному протоколу, по определенному порту, к определенному хосту и при этом для него не определено правило доступа, появляется окошко, позволяющее Вам разрешить доступ один раз, запретить доступ один раз или создать парвило для этого приложения. При этом правило может быть создано на основе уже присутствующих шаблонов (браузер, почтовая программа, менеджер закачки и т.д.)
После установки файрвола, нам придется определить повозиться с настройками для svchost. В Агнитум Аутпост данные действия можно проделать в режиме Rules Wizard именно тогда, когда приложение пытается получить доступ в сеть. Так, например, я запретил входящий TCP и UDP трафик c порта MICROSOFT_DS (445) для исключения проблемы перезагрузки, поскольку Service Pack качать было некогда. Да и в связи с атаками на сервер WindowsUpdate.com разбушевавшегося 16 августа вируса W32.Blaster.Worm сделать это удасться не всем. Кроме того, я закрыл входящий трафик по порту DCOM (135 - Microsoft RPC end point to end) - уж слишком много он доставлял проблем. Зато, например, разрешил доступ к серверу time.nist.gov для синхронизации времени.
Если проблемы с svchost повторяются, то, вероятнее всего, Ваш компьютер поразил вирус. Например, W32.Blaster.Worm приводит к появлению ошибок с svchost, кроме того характерными симптомами являются проблемы с копированием в буфер, вставкой из буфера, нехватка памяти, проблемы с Internet Explorer. Для решения этой проблемы, прежде всего необходимо воспользоваться хорошим антивирусом или специальной утилитой (например, FixBlast.exe от Symantec удаляет W32.Blaster.Worm. Если есть желание, узнайте подробности о FixBlast.exe на сайте Symantec). После этого необходимо установить патч Макрософта (Microsoft Security Bulletin MS03-026: Buffer Overrun In RPC Interface Could Allow Code Execution (823980)). Патч доступен для всех версий операционных систем Windows (NT/2000/XP) и может быть найден по следующим адресам:
Кроме того, не поленитесь поставить файрвол, а главное позаботьтесь о его правильной конфигурации. |