Статья 2004 года, не потерявшая актуальности и сегодня!

Предисловие. Что такое spyware и их краткая классификация

Что такое spyware?

Spyware – это собирательное название программных модулей, произошедшее от скрещивания двух английских слов spy и software, и означающее по смыслу любое программное обеспечение, наделенное шпионскими (или, более обще – ненужными вам, нежелательными, раздражающими) функциями. В задачи данной статьи не входит полная и исчерпывающая классификация всех видов spyware, однако стоит запомнить, что spyware – это очень обширный собирательный образ ПО. Под эту классификацию могут попасть и вполне безобидные на первый взгляд программные модули. О классификации – чуть ниже.
Краткая классификация spyware

Ни в коей мере не претендуя на полноту изложения, позволю себе выделить несколько основных типов spyware, наиболее часто селящихся на компьютерах пользователей:

  • Adware.
  • Browser Hijacker.
  • Browser Plugin.
  • Dialer.
  • Malware.
  • Trojan.

Давайте рассмотрим каждую категорию поподробнее:
Adware

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

К этой категории относятся программные модули, которые грубо внедряются в мирную жизнь вашего браузера и меняют его настройки, как бог на душу положит. Сюда входят такие действия, как подмена стартовой страницы браузера (перекликается с adware), подмена страницы поиска браузера, модификация контекстных меню и некоторые другие настройки.
Browser Plugin

Сюда попадают все модули, которые внедряются в браузер (речь, как вы уже могли догадаться к этому моменту, идет в основном о браузере Internet Explorer, как наиболее популярном в среде распространителей spyware) и делают всю черную работу уже «изнутри». В эту категорию попадают BHO (Browser Helper Object), расширения контекстного меню браузера, невесть откуда появившиеся панели инструментов (toolbars) и кнопки в браузере.
Dialer

Буду краток: это модули, которые, будучи установленными на ваш компьютер, без вашего ведома звонят в Зимбабве, Мозамбик и другие страны. Счета за телефон – космические.
Malware

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

Троянских коней знают еще со времен Одиссея. Основное назначение троянов в наши беспокойные дни – это сбор конфиденциальной и потенциально «денежной» информации (это могут быть не только логины/пароли к провайдеру, но и различная статистическая информация, например, список установленных программ).
Как видите, многие категории по описаниям являются взаимопересекающимися, и это неспроста. Как правило, любое самое завалящее spyware попадает сразу в пару-тройку категорий. Естественно, формат данной статьи не позволяет описать все категории spyware и уж тем более обеспечить 100%-ную глубину изложения материала, посему на классификации ставим крест, ибо это больше познавательная, чем полезная информация.
Как, зачем и почему?

Для более полного понимания проблемы борьбы со spyware стоит задаться тремя вопросами: «как они распространяются?», «зачем и кому это нужно?» и «почему именно я?». Попробую ответить на эти вопросы по возможности емко.
Как они распространяются?

На сегодняшнее время из известных путей распространения spyware хотелось бы выделить следующие:

  • Через уязвимости ОС.
  • Через уязвимости браузера.
  • Через почтовые клиенты.
  • Путем доставки на уже зараженную машину.
  • Штатными средствами (как ни странно это звучит).
  • Невнимательное чтение лицензионного соглашения некоторых программ.

Заражение через уязвимости ОС

Пожалуй, этот способ внедрения spyware на машину клиента – один из самых распространенных. Суть этого способа состоит в использовании брешей в программном обеспечении операционной системы. В качестве примера можно привести навязшую у всех на слуху уязвимость сервиса RPC (Remote Procedure Call).
Заражение через уязвимости браузера

Этот способ не так распространен, как предыдущий. Во первых, по причине бОльшей трудоемкости в части реализации, а во-вторых потому, что таким способом распространяются не все типы spyware (для троянов, как правило, типичней метод заражения через уязвимости ОС). При использовании данного способа формируется специальным образом оформленный код (это может быть HTML или скрипты на JavaScript), который отдается клиенту при запросе страницы браузером.
На своем личном примере могу подтвердить, что данный способ и по сей день представляется достаточно опасным и действенным. Есть достоверные данные, что таким способом можно заразить до 20% машин под управлением Windows XP со всеми установленными сервиспаками.
ПРИМЕЧАНИЕ
Это связано с тем, что даже самые последние пакеты исправлений (т.н. сервис-паки) не способны устранить всех уязвимостей, а также с пренебрежительным отношением пользователей к настройке ОС (это как сами настройки, так и игнорирование первейшего средства контрацепции: работа под учетной записью системного администратора). Взаимопересечение этих факторов и дает на выходе такую цифру – 20%. Впрочем, сама цифра может быть другой - это неважно. Важно лишь то, что вход для spyware всегда открыт!
Заражение через почтовые клиенты

Данный способ применяется повсюду и повсеместно уже немалое время. Суть данного пути заражения – клиенту посылается письмо с вложенным файлом, при открывании которого инициируется процедура заражения компьютера.
Заражение путем доставки на уже зараженные машины

Этот способ применяется на уже зараженных машинах. Как правило, первым внедряется небольшой модуль-диспетчер, обладающий всей необходимой функциональностью для дальнейшего заражения машины пользователя. Данная функциональность включает в себя как минимум умение закачивать файлы из Интернета или с других зараженных машин и запускать их на клиенте; умение выполнять некий базовый набор команд по запросу администратора этого spyware-модуля.
В примечание к этому способу отмечу, что он очень опасен, но вместе с тем представляет собой парадокс змеи, кусающей себя за хвост: количество устанавливаемых дополнительных spyware-модулей на однажды уже зараженную машину бывает порой таково, что средняя продолжительность жизни таких модулей на компьютере у пользователя составляет всего 2-3 дня. Проще говоря – легче переустановить Windows заново (что пользователи и делают).
Заражение штатными средствами

А это как, спросите вы? А очень просто! Психология, однако. При данном способе заражения применяются совершенно штатные средства, которые предоставляет нам славный браузер Internet Explorer. А именно – это установка ActiveX-модулей при помощи INF-сценариев и cab-файлов. Поверьте, таким способом можно не только ActiveX зарегистрировать в системе, но и много других бед натворить.
ПРИМЕЧАНИЕ
Тут я позволю себе небольшое лирическое отступление и вставлю таки еще пять копеек: уважайте труд spyware-писателей. На данный момент развитие этой «отрасли» достигло довольно высокого уровня. Это выражается в том, что каждый современный spyware-модуль по сути, является комплексным решением, неким программным конгломератом, реализующим множество возможностей. И это все несмотря на довольно маленький их размер (как следствие одного из требований – быстрой доставки на компьютер клиента)!
Когда я говорю «уважайте» – это значит, что вы не должны недооценивать потенциальную опасность того или иного spyware. Порой применяются довольно хитрые программные реализации, направленные на противодействие удалению конкретного spyware-модуля с компьютера клиента.
Мало того, иногда для таких ActiveX покупаются сертификаты (!). Уж не знаю как, но это факт. А что может быть лучше, чем усыпление бдительности пользователя? Пожалуй, только двойное усыпление )
Невнимательное чтение лицензионного соглашения некоторых программ

В ходе обсуждения статьи моими коллегами было замечено, что некоторые freeware-программы используют для показа рекламы (баннеров, например) модули, которые так или иначе могут быть классифицированы как spyware, хотя сама программа, их использующая, вполне белая и пушистая. Так вот – spyware – оно spyware и есть, под каким бы соусом это не преподносилось. Поэтому считаю совершенно справедливым, что многие spyware-сканеры удаляют такие модули. Обычно сторонники такого способа продвижения freeware упоминают лицензионное соглашение, в котором написано что-то вроде «The SOFTWARE PRODUCT is ad-sponsored software. You can use it for free», мотивируя этим, что показ рекламы в такого рода программах автоматически становится законен и, мол, раз автору хочется кушать, то почему бы и не таким способом? Ничего подобного! Наличие такого рода строчки в лицензионном соглашении вовсе не означает, что вы автоматически согласны с доставкой на ваш компьютер рекламы. Более того, при подробном рассмотрении может оказаться, что данная строчка вообще не имеет никакой юридической силы в законодательстве некоторых стран. Впрочем, поскольку я не юрист и не владею всеми тонкостями юриспруденции замечу лишь, что альтернатива подобного рода программам – программы из той же категории freeware, но не показывающие рекламу. И потом – рекламный канал имеет двоякую направленность – к вам на компьютер и с вашего компьютера. Что-то утечет от вас? Какая информация? Никто не знает, разве что кроме самих создателей рекламного spyware-модуля.
Кому и зачем это нужно?

Ответ в данном случае прост: нужно это тем людям, которые банально делают на вас деньги. Как на этом делаются деньги? Я далеко не бизнесмен (скорее, наоборот), но все же попробую рассказать то, что мне известно в данном аспекте. Людей, зарабатывающих на spyware деньги и читающих эту статью, прошу не ухмыляться – излагаю, как могу. Итак, вот краткий список приемов отъема денег у населения (не обязательно у вас, но обязательно с помощью вас) при помощи spyware:

  1. Информационная раскрутка ресурса. Здесь все понятно – товарищ, желающий поднять посещаемость своему ресурсу, покупает эту услугу у распространителей spyware. Те, в свою очередь, поставляют ему посетителей при помощи spyware-модулей, установленных на зараженных машинах. Случай вырожденный, так как практически не охватывает таргет-группы. О таргет-группах – следующий раздел.
  2. Рекламирование в таргет-группах. Данный способ ведения дел интуитивно прост и понятен: имея некоторую статистическую информацию о таргет-группах пользователей, можно более предметно поставлять рекламный контент на зараженные машины (а также собирать статистику с зараженных машин, расширяя таким образом статистическую базу).
  3. Редирект трафика. Имея некое (достаточно большое) количество посетителей ресурса (полученное, опять же, с зараженных машин) можно перепродавать этот входящий трафик в третьи руки. То есть суть этого метода – попросту редирект с одного ресурса на другой по неким правилам.
  4. Pay per click. Достаточно интересный способ сравнительного честного отъема денег у населения. Заключается в подмене ссылок популярных поисковых машин так, чтобы они указывали на другую поисковую машину, на которой уже и происходит та самая продажа кликов по ссылкам.
  5. Доставка ПО на машину клиента. Смысл прост – тем или иным способом доставить некое ПО на машину клиента и навязать необходимость им пользоваться. Затем на второй план выходит необходимость платить за сервисы, предоставляемые этим ПО. Не вдаваясь в подробные объяснения, приведу пример из жизни: при щелчке по любой ссылке, содержащей адрес ZIP-архива, появляется окно, предлагающее скачать и установить некий download-manager для более быстрой загрузки контента из Интернет. Окно назойливое и не убирающееся простыми способами. Рано или поздно пользователь все-таки устанавливает данное ПО на машину, но это не приносит ему облегчения – оказывается, назойливое окно не только не исчезло, но и расширило свою функциональность, а якобы download-manager через раз предлагает вам подключиться к сервисам xxx-сети.

После прочтения данного списка у вас может возникнуть недоумение – «я не вижу, почему это именно я теряю деньги?». Разъясняю: прочтите все пункты еще раз. Во-первых, пункт номер два – как раз самый понятный. Заинтересовав вас как представителя нужной таргет-группы, вас тем самым можно довести до стадии покупки товара/услуги. Во-вторых – вы платите за Интернет, ваше рабочее время имеет строго нормированные рамки оценок «денежных единиц/месяц», успокаивающие лекарства стоят денег и т.д. Дышите глубже и зрите в корень: если у вас не отбирают кошелек – это еще не значит, что с вас не сняли последние штаны.
Почему именно я?

Причин, почему оказался заражен именно ваш самый правильный компьютер, масса. Но основная причина, которую я хотел бы выделить особо, всего одна: наличие у вас связи с Интернет. Больше ничего не нужно. А вот о том, где именно в Сети можно подцепить заразу, я расскажу чуть ниже.
Spyware ждет и выигрывает

Ну, о наличии у вас доступа к Интернету как первого шаха (а то и мата – куда-ж мы без мата ) spyware вашему компьютеру мы вроде как условились. Давайте теперь попутешествуем по местам обитания spyware. Их, в моей классификации, далеко не полной, несколько. Основные места – это:

  • Порно-сайты.
  • Сайты – сборники серийных номеров и вареза.
  • Сайты – сборники eDonkey-ссылок на фильмы, музыку и пр.

Порно-сайты как источник заразы

Тяга человека к запретному плоду стара как сам мир, чем с успехом пользуются владельцы порно-ресурсов, устанавливающих на ваш компьютер диалеры, рекламные модули и прочую дрянь. Следует помнить только одно: раз уж вам захотелось клубнички – будьте готовы к последствиям, когда наряду с парой-тройкой «бесплатных» фотографий вы заработаете себе на компьютер пяток spyware-модулей. И таких сайтов (распространяющих заразу) в Сети превеликое множество, так что перечислять их поименно смысла нет (да и зачем я еще буду делать им рекламу?).
Сайты – коллекции вареза

О том, что бесплатный сыр бывает только в мышеловке – слышали, надеюсь, все. Это как раз тот случай. «Сэкономив» на покупке программы 10 у.е. и зайдя на один из таких сайтов в поисках серийного номера, вы рискуете если не потерять гораздо больше денег впоследствии, то уж точно изрядно потрепать себе нервы (а здоровье нынче тоже – только за деньги), вычищая компьютер от налезшей в него дряни.
Сайты – коллекции eDonkey-ссылок

Эту категорию сайтов я включил в статью лишь потому, что в последнее время наблюдается массовый ажиотаж по поводу технологии P2P и, как следствие, распространители spyware не замедлили этим воспользоваться. Не так давно на одном из подобных сайтов и я натолкнулся на spyware. Не чудо инженерной мысли, но сам факт, что этот модуль загрузился ко мне на машину (правда, более ничего плохого сделать не успел, т.к. был изничтожен) говорит о том, что надо помнить и об этой опасности. Еще раз повторю акцентированно:
ПРЕДУПРЕЖДЕНИЕ
Бесплатный сыр – только в мышеловке.
Признаки заражения компьютера

У человека, заболевшего насморком, можно обнаружить сотни симптомов, напрямую, казалось бы, с насморком-то и не связанных. И наоборот – очень серьезная болезнь долгое время может вообще никак не проявляться. Та же история и в случае со spyware – единых признаков нет. Есть некие типовые наборы признаков, по которым можно либо сразу сказать, что да, на компьютере есть spyware, либо серьезно задуматься и еще раз все проверить. Ниже я попробую перечислить основные признаки присутствия spyware в системе.
Нештатное поведение браузера

Если вы заметили, что сменилась стартовая страница браузера, причем вписывание нового значения не помогает и страница указывает куда-то на www.xxx.zzz – поздравляю вас, вы стали обладателем личного авто… тьфу ты, экземпляра spyware. То же касается таких настроек браузера, как адрес страницы поиска, дополнительные пункты в «Избранном», дополнительные непонятные пункты в контекстном меню браузера, новые панели инструментов, которые вы не устанавливали (или устанавливали, но теперь эта панель всегда мозолит глаза), открываемые по ночам popup-окна и пр.
ПРЕДУПРЕЖДЕНИЕ
Особое внимание в этом разделе советую обратить вот на что: все мы пользуемся поисковыми машинами. Как правило, у каждого из нас есть одна-две любимых. Так вот – если вы заметите, что при клике на одной из ссылок в результатах поиска открывается какая-то другая поисковая машина, или некоторые слова на странице результатов поиска странным образом расцвечены (при условии, что раньше такого не было), или появляются какие-то подозрительные выпадающие слои при наведении на ссылку курсором мыши – бейте в колокола, spyware у вас в гостях! Причем сразу оговорюсь – можете даже не смотреть исходный текст страницы – там ничего крамольного не будет. Здесь работа тоньше
Замедление работы компьютера

Некоторые spyware-модули могут существенно замедлять работу компьютера. Если вы уверены, что компьютер у вас хороший и всегда, что называется, не «тормозил», а вот именно сегодня начал очень медленно работать – это довод в пользу того, чтобы задуматься – а может, spyware поселилась?
Увеличение количества Интернет-трафика

Здесь все ясно, как правило, уже постфактум. Но если у вас есть такая возможность – за трафиком надо хотя бы изредка наблюдать, запомнив для себя средние цифры объема трафика в день. При существенном (100% и более) увеличении трафика без видимых на то причин – шерше ле фам.
Непонятные процессы в списке задач

Здесь тоже все ясно – если в списке задач есть какая-то непонятная задача с гордым именем internet.exe, то, скорее всего, это и есть spyware-модуль.
В данной главе я описал лишь основные признаки появления spyware на вашем компьютере. К сожалению, количество дополнительных косвенных признаков таково, что, боюсь, описать их все представляется маловозможным. Поэтому, примите как постулат следующее:
ПРЕДУПРЕЖДЕНИЕ
Если вам кажется, что что-то не так – скорее всего, вам это не кажется. Принимайте меры.
Где все это живет?

Помните такое стихотворение – «Дом, который построил Джек"? Вот-вот, именно в этом самом доме, называемом операционной системой, порой селятся непрошеные гости. И выкурить их оттуда бывает ох как сложно. Потому что надо знать места, где они могут прятаться, не так ли? Так что – веник в руки и за дело!
Реестр

Реестр – это настолько обширное сборище (именно сборище) информации, что мест для заселения в этот бедлам – несчетное количество. Попробую перечислить основные, для начала лишь условившись о сокращениях названий ключей реестра (лень – великая сила, не правда-ли? ). Далее под сокращениями будет подразумеваться следующее:

  • HKCR – ключ HKEY_CLASSES_ROOT
  • HKCU – ключ HKEY_CURRENT_USER
  • HKLM – ключ HKEY_LOCAL_MACHINE

ПРИМЕЧАНИЕ
Сразу оговорюсь, что перечисленные ниже ключи и значения реестра могут отсутствовать у вас на компьютере. Это не беда – просто я перечислял основные места реестра, взяв за основу реестр Windows XP.
Итак, основные места регистрации spyware в реестре:
Ключ HKCR

В этом ключе прописываются в основном spyware-модули, выполненные в виде COM-объектов. Подключ CLSID ключа HKCR – это просто кладезь информации . Вручную вычистить оттуда ссылки на spyware вы вряд-ли сможете, так как уж очень много информации в этом ключе. Для вычистки этой ветки лучше воспользоваться spyware-сканером (см. Малый Джентльменский Набор).
Также встречаются случаи, когда spyware переопределяет на себя регистрацию какого-либо известного типа файлов. В этом случае можно, например, дважды щелкнув по иконке документа Word, попросить spyware заново зарегистрировать себя в системе и начать творить свое черное дело. Так что будьте бдительны! Общий рецепт борьбы с этим:

  1. Открываете редактор реестра.
  2. Переходите на ключ HKCR\.ext (где .ext – расширение нужного типа файлов).
  3. Смотрите значение ключа по умолчанию (например, «Word.Document»).
  4. Идете на ключ HKCR\type (где type – значение ключа по умолчанию, полученное на предыдущем шаге).
  5. Анализируете значения подключей shell\open\command, shell\edit\command, shell\print\command.

Ключ HKCU

Из всех подключей ключа HKCU для нас важнейшим является, безусловно, подключ Software\Microsoft. Ниже – краткий перечень подвергающихся атаке мест в этом подключе:

  • HKCU\Software\Microsoft\Internet Explorer, значение «SearchURL».
  • HKCU\Software\Microsoft\Internet Explorer\Main, значения «Default_Page_URL», «Default_Search_URL», «Local Page», «Search Bar», «Search Page», «Start Page».
  • Все подключи ключа HKCU\Software\Microsoft\Internet Explorer\MenuExt.
  • Ключ HKCU\Software\Microsoft\Internet Explorer\Search, значение «SearchAssistant».
  • Ключ HKCU\Software\Microsoft\Internet Explorer\SearchUrl, значение «provider».
  • Все подключи и значения HKCU\Software\Microsoft\Internet Explorer\Toolbar (здесь селятся тулбары, как вы догадались).
  • Все значения ключа HKCU\Software\Microsoft\Internet Explorer\URLSearchHooks.
  • Ключ HKCU\Software\Microsoft\Windows\CurrentVersion\Run .
  • Ключ HKCU\Software\Microsoft\Windows\CurrentVersion\Run once.
  • Ключ HKCU\Software\Microsoft\Windows\CurrentVersion\Run OnceEx
  • Ключ HKCU\Software\Microsoft\Windows\CurrentVersion\Run Services
  • Ключ HKCU\Software\Microsoft\Windows\CurrentVersion\Run ServicesOnce
  • Ключ HKCU\Software\Microsoft\Windows\CurrentVersion\Pol icies\System\Shell
  • Ключ HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\Run
  • Ключ HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows, значение «Load»
  • Ключ HKCU\Software\Policies\Microsoft\Windows\System\Sc ripts
  • Ключ HKCU\Software\Microsoft\Windows\CurrentVersion\Pol icies\Explorer\Run

Ключ HKLM


  • И здесь мест обитания spyware множество. Попробую перечислить некоторые из них:
  • Все значения ключа HKLM\SOFTWARE\Microsoft\Internet Explorer\AboutURLs
  • Все подключи HKLM\SOFTWARE\Microsoft\Internet Explorer\Extensions
  • Ключ HKLM\SOFTWARE\Microsoft\Internet Explorer\Main, значения «Default_Page_URL», «Default_Search_URL», «Local Page», «Search Page», «Start Page»
  • Ключ HKLM\SOFTWARE\Microsoft\Internet Explorer\Search, значения «CustomizeSearch», «SearchAssistant»
  • Все значения ключа HKLM\SOFTWARE\Microsoft\Internet Explorer\Toolbar
  • Все подключи ключа HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Exp lorer\Browser Helper Objects
  • Ключ HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
  • Ключ HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run Once
  • Ключ HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run OnceEx
  • Ключ HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run Services
  • Ключ HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run ServicesOnce
  • Ключ HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\She llServiceObjectDelayLoad
  • Ключ HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows, значение «AppInit_DLLs»
  • Ключ HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon, значение «Userinit»
  • Ключ HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon, значение «Shell»
  • Ключ HKLM\Software\Policies\Microsoft\Windows\System\Sc ripts

Ключ HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Pol icies\Explorer\RunКак вы понимаете, я перечислил далеко не все места регистрации spyware в реестре. Всего не знает никто, к сожалению. Так что прошу относиться к данному разделу лишь как к отправной точке в своих исследованиях.
Файловая система

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

  • Папка %SystemRoot%.
  • Папка %SystemRoot%\system.
  • Папка %SystemRoot%\system32.
  • Папка %SystemRoot%\system32\drivers\etc, файл «hosts».
  • Папка %SystemRoot%, файлы «win.ini», «system.ini».
  • Папка %SystemRoot%\Downloaded Program Files.
  • Файл «autoexec.bat».
  • и любые другие папки файловой системы

Как видите, не существует единого рецепта по выявлению мест обитания spyware в файловой системе. На что я бы советовал обращать внимание? На дату файла, на страницу свойств файла (закладка «Версия»), на имя файла. Конечно, данные способы обнаружения spyware сами по себе чрезвычайно малоэффективны, т.к. обычно и с датой файла, и с закладкой «Версия», и с именем файла у spyware полный ажур – можно легко принять такой файл за «системный». Так что совет один – больше фантазии в исследовании!
СОВЕТ
Строго говоря, существует один достаточно грамотный способ выяснить, является ли DLL с именем «XXX.DLL» вражеским модулем. Для этого откройте сайт Google и введите в строке поиска имя этой DLL. Из тщательного анализа ссылок, предоставленных Google, все становится ясно почти мгновенно.
Хук слева, хук справа – нокдаун

Ну что ж, из вышеизложенного вы поняли (надеюсь), что spyware – это хитрые злобные зверьки, лишенные малейшего чувства сострадания к вашим человеческим и аппаратным ресурсам. Давайте попробуем противопоставить им хоть что-то. Посему, переходим к разделу
Средства контрацепции

Да, в наше бурное время предохраняться нужно везде и всегда. С вашего позволения я построю этот раздел в виде предупреждений/постулатов с краткими комментариями. Не пугайтесь – этот и последующие разделы в цветовой гамме будут немного более цветастыми, чем предыдущие . Итак:
ПРЕДУПРЕЖДЕНИЕ
Не пользуйтесь Интернетом из-под учетной записи администратора!
Пользуясь Интернет из под аккаунта администратора, вы только шире открываете ворота для spyware. Это связано с такой банальной вещью, как безопасность – под аккаунтом администратора у внедрившегося модуля гораздо больше возможностей напакостить. Если уж вам так необходимо сидеть в Интернет из под аккаунта администратора – всегда пользуйтесь Малым Джентльменским Набором (он будет описан ниже), или, что лучше, выходите в Интернет из под виртуальной машины.
ПРЕДУПРЕЖДЕНИЕ
Пользование интернет не из-под аккаунта администратора само по себе не спасет вас от заражения spyware!
Выше я описывал различные пути проникновения spyware на компьютер. Входя в Интернет под аккаунтом с ограниченными правами, вы лишь уменьшаете количество путей для внедрения spyware, но ни в коей мере не закрываете их все.
ПРЕДУПРЕЖДЕНИЕ
Не посещайте сомнительные сайты!
Про бесплатный сыр я уже упоминал не раз. Поверьте на слово.
ПРЕДУПРЕЖДЕНИЕ
ВСЕГДА ОТКАЗЫВАЙТЕСЬ от предложения установить ЛЮБОЙ ActiveX на ваш компьютер!
А лучше – отключить запуск и загрузку ActiveX в свойствах обозревателя. Ни к чему они вам, как правило. В 99% случаев лично я не вижу в них никакой насущной необходимости.
ПРИМЕЧАНИЕ
Пожалуй, единственный ActiveX, без которого так или иначе не обойтись – это модуль Macromedia Flash. Установите его, а остальному на вашем компьютере делать нечего! Либо, если вам так не терпится установить и попробовать в работе какой-нибудь сомнительный ActiveX – бегом в виртуальную машину!
ПРЕДУПРЕЖДЕНИЕ
Программы, скачанные «на пробу» из третьих источников, пробуйте осторожно!
Желательно снимать пробу с таких программ под виртуальной машиной – ведь вы заранее не знаете (а скорее предполагаете, основываясь на скудном описании), что делает та или иная программа. Так что лучше подстраховаться, не так ли?
ПРЕДУПРЕЖДЕНИЕ
Не верьте Диспетчеру Задач!
Стандартный Диспетчер задач Windows – довольно скудный инструмент. Не стоит возлагать на него роль всезнайки о процессах, исполняющихся в системе. Кроме того, он предоставляет очень ограниченный набор манипуляций с процессами. Так, некоторые spyware-модули применяют технологию перекрестного слежения двух процессов друг за другом. Убить эти два процесса с помощью Диспетчера Задач – достаточно сложная задача (простите за каламбур). Так что лучше выберите другой инструмент для целей мониторинга списка задач.
ПРЕДУПРЕЖДЕНИЕ
Пользуйтесь альтернативными браузерами!
Браузеров нынче – что семечек в стакане. Если к этому моменту я вас так запугал spyware, что вы уже готовы выбросить компьютер, порезать на мелкие кусочки сетевой шнур и разобрать мышку до последнего винтика – не торопитесь. Просто первым делом попробуйте любой другой браузер (говоря «любой другой», я имею в виду «не IE»). Дело не в том, что IE плох – его беда в том, что он используется большинством так называемых home users. И в первую очередь взгляд авторов spyware косит именно в сторону IE.
ПРЕДУПРЕЖДЕНИЕ
Своевременно ставьте обновления операционной системы!
Думаю, нет смысла объяснять, что чем новее операционная система, тем больше в ней потенциальных дыр. Но наша с вами задача при установке последних обновлений – прежде всего закрыть старые бреши, уже хорошо известные и используемые spyware-модулями. Лучше 1 spyware, чем 100, не так ли?
ПРЕДУПРЕЖДЕНИЕ
Грамотно настраивайте политики безопасности в системе!
Нечего кому ни попадя писать в системный каталог. И вообще – нечего никому никуда писать ! Об этом надо помнить. А также о том, что кроме вас, никто не сможет настроить систему так, как вам хочется. Поэтому не пожалейте нескольких часов и попытайтесь настроить систему так, чтобы по максимуму себя обезопасить. Или попросите знакомого сисадмина, если такой есть под боком.
ПРЕДУПРЕЖДЕНИЕ
Сразу после установки ОС и всех необходимых программ – сделайте образ диска!
Очевидно, что с образа диска гораздо быстрее восстановить привычное вам окружение, чем несколько часов сидеть и устанавливать все необходимое ПО. Копейка – она рубль бережет. В нашем случае – стоимость одного DVD для хранения на нем образа диска несоизмеримо меньше, чем стоимость вашего времени, потраченного на полную переустановку системы и сопутствующего ПО.
Малый Джентльменский Набор

В этом разделе я хотел бы перечислить необходимые программы, которые помогут вам противостоять spyware. Хотел бы перечислить – но не могу , поэтому просто пройдусь по категориям таких программ, в каждой категории перечислив одну-две из самых популярных. Какую программу выбрать в той или иной категории – решать уже вам.
ПРИМЕЧАНИЕ
Запомните, что любая комбинация программ для борьбы со spyware не сможет дать 100%-ный результат. Поэтому рекомендую использовать так называемые «цепочки» программ, т.е. несколько программ из одной категории. К файрволам, правда, это относится в меньшей степени – здесь, как правило, каждый выбирает только один и под себя.
Итак, Малый Джентльменский Набор состоит из:
Файрвол

Думаю, объяснять необходимость наличия файрвола на компьютере не нужно. Вкратце скажу лишь, файрвол – это основной гарант пресечения деятельности spyware на вашем компьютере. Во многих случаях файрвол позволяет своевременно обнаружить и пресечь внедрение spyware на ваш компьютер.
ПРЕДУПРЕЖДЕНИЕ
Не обольщайтесь кажущейся могущественностью файрвола. Само по себе его наличие – не панацея. Так, файрвол бессилен, если spyware-модуль уже проник на ваш компьютер. Многие spyware-модули выполнены в виде DLL, которые, как известно, запускаются в адресном пространстве какого-либо процесса. Стоит ли говорить, что если вы настроили файрвол таким образом, что Internet Explorer получает доступ в сеть, то достаточно всего одного spyware-модуля, запускаемого самим IE (как Browser Helper Object, например), чтобы свести на нет весь прок от файрвола.
Файрвол, как правило, также бессилен защитить вас при проникновении spyware через бреши браузера (вы ведь разрешили вашему ослику IE доступ в Интернет, не так ли?). В общем – файрвол не панацея, но очень хороший помощник. Не больше и не меньше.
Файрволов, как свободно распространяемых, так и условно-бесплатных, масса. Выделю лишь одно требование, которому должен соответствовать файрвол: мощная и гибкая система фильтров. Не просто режимы работы («для новичков», «продвинутый» и пр.), а именно мощная система фильтров. Именно эта система позволяет разложить по полочкам все приложения – кому можно обращаться в сеть, кому нельзя, кому можно только на определенные адреса и пр.
Из наиболее популярных/распространенных файрволов наиболее известны следующие:


Хотя Norton Internet Security не совсем корректно называть файрволом в чистом виде, я все же взял на себя смелость включить эту программу в список. Как, впрочем, и пропустить еще с десяток достойных программ. Я не силен в обзорах ПО, поэтому в конечном итоге, выбор за вами. Если бы меня спросили – я бы выбрал ZoneAlarm. Это мое личное предпочтение (не устраивающее, впрочем, на 100%).
Утилита для работы со списком процессов

Бывает очень полезна для выяснения – что творится в списке процессов на данный момент (на предмет выявления spyware-модуля). Должна позволять:

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

Порекомендовать что-то особенное, к сожалению, не могу, разве что Process Explorer
Редактор реестра

Хороший редактор реестра иногда очень помогает в задаче избавления от spyware. Пожалуй, основная особенность, необходимая такому редактору – продвинутые возможности поиска по реестру (которых так не хватает в стандартном Regedit).
Здесь, пожалуй, я упомяну лишь ссылку www.snapfiles.com/freeware/system/fwregtools.html и программу RegSeeker
Spyware-сканер

Обязательно установите себе на компьютер одну из утилит для поиска и удаления spyware. Как правило, с такой утилитой поставляются обширные базы, содержащие определения известных spyware-модулей. Кроме того, эти базы регулярно пополняются, что позволяет более эффективно бороться со spyware.
ПРИМЕЧАНИЕ
Здесь следует заметить, что я сознательно не упоминаю такой род программ, как антивирусы, как средство борьбы со spyware. Во-первых, антивирусами уже пользуется подавляющее большинство народа. Во-вторых – терминологически spyware не относятся к вирусам, поэтому я бы не стал перекладывать работу по обнаружению и удалению spyware в руки антивируса, коль скоро для этого существуют специальные утилиты. Хотя и антивирус в нашем деле – далеко не помеха, а нужный и полезный помощник.
Несколько программ из этой категории:


Горе от ума или "Service Pack 1 Setup Cancelled"
Следует отметить, что уничтожение всех spyware, выявленных сканером, может иметь побочные эффекты – например, Ad-aware и Xp-AntiSpy одно время разрегистрировали родные виндовые licdll.dll и Regwizc.dll, по каким-то признакам распознавая в них spyware, после чего на XP не устанавливался SP1, пока снова не зарегистрируешь эти dll (см. Q329261).
От автора: благодарю Odi$$ey за ценное дополнение к статье.
Spyware-монитор

Часто поставляется в одном комплекте со сканером. Должен обладать функциональностью своевременного пресечения проникновения spyware на компьютер. По минимуму – кричать и вопить при попытке spyware-модуля зарегистрироваться в известных ключах реестра.
Список программ в этой категории очень сильно пересекается со списком программ в категории «Spyware-сканер», поэтому размещать здесь вторую копию списка нахожу нецелесообразным. Например, Ad-Aware содержит встроенную утилиту Ad-Watch, предназначенную как раз для целей мониторинга. Будет нелишним заметить, что и у вашего покорного слуги в ближайшем будущем намечается релиз spyware-сканера и монитора в одном флаконе. Впрочем, хватит саморекламы
Виртуальная машина

Достоинства виртуальной машины в качестве предохранительного инструмента неоспоримы. Она дает в ваше распоряжение этакую «песочницу», из которой наружу ничего не вылезает. Так что, если у вас чешутся руки поисследовать spyware – виртуальная машина – ваш верный друг и помощник. Да и выше по тексту я не раз упоминал другие случаи, когда применение виртуальной машины более чем оправданно.
В заключение к этому подразделу осталось лишь коротко добавить – Vmware. Всем советую.
Третья часть Марлезонского балета. Ну что же, к данному моменту мы, пожалуй, уже разобрались, что к чему, и готовы не только пассивно бороться со spyware при помощи сторонних программ, но и лично принять самое активное участие в деле их полного изничтожения. Данный раздел я хочу посвятить алгоритмическим принципам организации работы двух таких важных программных модулей, как spyware-монитор и spyware-сканер.
Пишем монитор

Прежде, чем приступить к написанию своего spyware-монитора, стоит потратить немного времени на описание возможностей, которыми должен обладать такой программный модуль. Из основных возможностей, которыми должен обладать монитор, выделю следующие:
Мониторинг изменений в реальном времени

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

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

Пожалуй, это одна из ключевых особенностей хорошего монитора. Монитор должен реализовывать возможность перехвата часто повторяющихся изменений в подконтрольных областях с функцией последующего их полного блокирования. Поясню на примере: многие spyware-модули, будучи запущенными, регулярно (например, раз в секунду по таймеру) проверяют целостность своих данных (записей в реестре, файлов на диске и пр.). Допустим, ваш монитор перехватил такое изменение и удалил непрошенные данные. Через секунду эти данные появятся вновь, монитор их снова удаляет и далее по кругу. Вопрос в том, кто дольше выдержит такую перекрестную войну. Поэтому монитор должен своевременно отслеживать подобного рода поведение spyware и блокировать его.
Мониторинг критических участков файловой системы

Монитор должен обеспечивать целостность критических участков файловой системы (например, файла system.ini), выдавая при изменениях подробную информацию об их сути.
Мониторинг критических участков реестра

Монитор должен обеспечивать целостность подконтрольных мест в реестре, за которыми ему поручено наблюдение. Сюда входит: своевременная реакция на изменения, запрет изменений, откат изменений, принятие изменений как следствие разрешения их пользователем. Из особенностей мониторинга реестра можно выделить следующие: возможность следить только за одним значением в реестре; возможность следить за ключом в реестре; возможность следить за ключом, его подключами и всеми значениями.
Мониторинг процессов

Монитор должен регулярно проверять состояние оперативной памяти на предмет обнаружения загруженного в данный момент шпионского модуля. Данная возможность должна быть реализована как алгоритм глубокого анализа списка процессов и загруженных ими модулей.
Комплексная реакция на изменения

Комплексная реакция на изменения должна предоставлять такие возможности, как пассивный отчет об изменениях, активный отчет об изменениях (отчет с запросом на лечение), откат и принятие изменений.
Наличие базы знаний

Монитор должен включать в себя расширяемую базу знаний, содержащую в себе некие правила, по которым будут отслеживаться изменения. Это может быть как четкое указание места, за которым надо следить (например, ветка реестра HKLM\Software\Microsoft\Windows\CurrentVersion\Run ), так и некий набор сигнатур, которые используются для анализа изменений (например, при изменениях в файле system.ini искать в нем строчку по шаблону xxx**.exe, где * - цифра).
Система отчетов

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

Монитор, будучи запущенным, должен реагировать лишь на действия пользователя и критические системные события, такие, как завершение работы операционной системы. Данное требование обусловлено необходимостью первичной защиты от spyware-модулей, которые могут попытаться принудительно завершить процесс мониторинга. Наличие такой системы должно позволять не только своевременно реагировать на подобные попытки грубого вмешательства в жизнь монитора, но и жестко их пресекать.
Программная реализация

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

  • Мониторинг изменений реестра – в простейшем случае это использование функции RegNotifyChangeKeyValue. В более сложных – File System Driver.
  • Мониторинг файловой системы – в простейшем случае это использование функций ReadDirectoryChanges, FindFirstChangeNotification/FindNextChangeNotification, в более сложных – File System Driver.
  • Мониторинг процессов – CreateToolhelp32Snashoot, EnumProcesses, hooks, kernel-mode driver.

Пишем сканер

Как известно, основная задача сканера – сканировать. В части spyware-сканера к этому определению можно добавить – сканировать хорошо и быстро. Ниже изложены основные принципы построения программного модуля сканера.
Многопоточность

Быстрое многопоточное сканирование – залог успешной работы сканера в целом. При применении многопоточности сканирование не только происходит быстрее, но также автоматически решается проблема возможной приостановки работы потока на период проведения действий над найденным объектом.
Наличие пополняемой базы знаний

Сканер, как и монитор, должен содержать в себе пополняемую базу знаний. Данная база должна содержать как список четких правил, по которым будет производиться идентификация сканируемого объекта, так и набор нечетких правил (эвристик), применение которых к проверяемому объекту позволяет с определенной долей вероятности идентифицировать его принадлежность к spyware.
Сканирование реестра

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

В алгоритме сканирования файловой системы основополагающими являются следующие вещи: анализ дат объектов файловой системы; анализ информации о версии объектов файловой системы; идентификация объектов файловой системы как принадлежащих к какой-либо категории (например, COM-объекты); анализ пути размещения и имени объекта файловой системы; анализ содержимого объекта файловой системы. Анализ производится как на основании четких сигнатур, так и на основании эвристических правил. Например, нередок случай, когда spyware-модули формируют имя файла динамически (например, имя файла может иметь вид «XX**.DLL», где * - цифра). В этом случае вполне естественно предположить, что грамотно спроектированный сканер должен обеспечивать возможность идентификации объекта, если он имеет имя «XX10.DLL» или даже «XX99.DLL».
Сканирование списка процессов

В близком к идеальному случае сканер должен реализовывать возможность глубокого анализа списка процессов. Сюда относится: анализ запущенных процессов как по имени процесса и пути к файлу процесса на диске, так и по известной сигнатуре процесса; анализ загруженных процессом модулей с последующей проверкой каждого модуля по тем же критериям, что и в случае проверки процесса.
Комплексные действия над объектами

Сканер должен обеспечивать такие действия над идентифицированными объектами, как: удаление объекта; помещение объекта в карантин перед удалением; восстановление объекта из карантина; предоставление подробного отчета об объекте; делегирование монитору нового правила для работы с объектами подобного рода; многоуровневый откат изменений.
Программная реализация

В части программной реализации монитора WinAPI предоставляет массу возможностей. Для работы с реестром – семейство функций Reg* (RegOpenKeyEx и пр.), для работы с файловой системой – FindFirstFile/FindNextFile, для работы со списком процессов – уже упомянутые выше CreateToolhelp32Snashoot, EnumProcesses и другие. Поле для деятельности – широчайшее, инструментов и технологий, которые можно применить – множество. Так что продумывайте архитектуру проекта, выбирайте понравившийся инструмент и за работу!
На закуску

Вот надоедливый тулбар!

Однажды довелось мне исследовать один тулбар для Internet Explorer. Суть его работы заключалась в следующем: при навигации по сайтам он анализировал текст страницы и показывал несколько кнопочек, содержащих наиболее часто встречающиеся на странице слова. Стоит ли говорить, что при нажатии на одну из таких кнопок открывался совершенно ненужный мне поисковый сайт с результатами поиска по этому слову.
Попытавшись убрать тулбар с глаз долой (я человек добрый, поэтому сначала действую незлобно ) с помощью меню «Вид -> Панели обозревателя -> Новый тулбар» (текст меню «Новый тулбар» я привел условно) и убедившись, что он таки исчез с глаз долой, я успокоился и с чистой совестью закрыл окно IE. Но открыв новое, обнаружил, что тулбар все так же виден на экране. Ну что ж, буду разбираться, решил я…
Первым делом подозрение пало на BHO (Browser Helper Object). Открыв ветку реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Exp lorer\Browser Helper Objects, я удалил оттуда все подключи. Не тут-то было – один подключ появился снова (полезная клавиша F5, скажу я вам). Становилось интереснее. Вспомнив, что у меня открыт еще пяток окон IE, я закрыл их все и попытался повторить операцию удаления ключа из реестра. Не помогло. Значит, что-то сидит в памяти и следит за целостностью данных, решил я.
Вторым шагом стало вооружение утилитой просмотра списка процессов. Обнаружил я там презабавнейшую вещь – процесс iexplore.exe (который суть браузер Internet Explorer), хотя никакого видимого окна IE на экране не присутствовало. Попытавшись убить этот процесс, я увидел, что он тут же появляется в списке процессов, как ни в чем не бывало. Поразмыслив, я пришел к выводу, что существует другой процесс, который следит за скрытым окном iexplore.exe и если его нет – запускает процесс снова. Локализовав этот процесс (пусть его имя будет xxx.exe), я попытался убить его. Процесс появился в списке задач снова. Выходит, оба процесса следят друг за другом. Выяснив это, я, в конце концов, убил эти два процесса и убедился, что при запуске нового окна IE злосчастный тулбар наконец-то исчез. Ключ BHO из реестра также удалялся.
Но, наученный хитростью данного spyware, я не стал останавливаться на достигнутом. Следующие шаги избавления от spyware были уже достаточно просты: поиск по диску и удаление всех файлов xxx.exe; поиск по реестру и удаление всех упоминаний xxx.exe и BHO; и, наконец, удаление упоминания тулбара из мест его регистрации.
Перезагрузка и последующие несколько дней спокойной работы показали, что все в порядке.
ПРИМЕЧАНИЕ
А теперь представьте себе обычного пользователя компьютера, который не сможет внятно осуществить и половины описанных здесь операций. Представили? Мне тоже стало страшно Вот она, сила spyware!
О, майн Гугль!

Spyware, о котором я сейчас хочу рассказать, не столько интересен в плане сложности его удаления, сколько реализацией. Так вот: попался мне в руки один такой экземпляр. С виду – обычный Browser Helper Object, но внутри – грамотный психолог чистой воды.
Однажды, как обычно зайдя на мой любимый Google, я увидел нечто новое: возможностей стало больше! Теперь в результатах поиска вдобавок ко стандартным возможностям стали подчеркиваться и подсвечиваться наиболее близкие к теме запроса слова. Лепота! Мало того – при наведении на такое слово курсором мыши выпадал красиво оформленный слой (браво дизайнерам гугля!), содержащий список релевантных ссылок.
В общем, радовался я ровно до момента первого клика по такой ссылке. Оказалось все просто – все ссылки в таких слоях вели на стороннюю поисковую машину. Но купили-то меня красиво как! То есть налицо умение стоять лицом к потребителю.
Дальнейший анализ показал, что данный BHO динамически добавляет в текст странички JavaScript и скрытый слой, манипуляция которым происходит из скрипта. Естественно, данный добавленный код никак не фигурировал в исходном тексте страницы.
Удаление этого чуда произошло довольно безболезненно: чистка HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Exp lorer\Browser Helper Objects и разрегистрация объекта.
Доктор, что у меня там?

Помог файрвол, закричав, что процесс xxx.exe пытается соединиться с сайтом xxx.zzz.com. Естественно, что круг моих интересов на тот момент нисколько не подразумевал посещение такого популярного ресурса, как и то, что имя процесса xxx.exe не вызывало в моей памяти каких-либо стойких ассоциаций с системным процессом или программой из числа используемых каждодневно.
Стало интересно… Первым делом, сказав «прощай» запросу на это подключение и убив процесс, я нашел файл xxx.exe на диске и открыл его в текстовом редакторе. Там, помимо упоминания сайта xxx.zzz.com встретилось еще с десяток подобных адресов. Аккуратненько переписав их все, я продолжил свое черное дело.
Открыв файл hosts, я прописал в нем все упомянутые адреса так, чтобы они указывали на 127.0.0.1. Затем, предусмотрительно отключившись от Интернет и подняв локальный веб-сервер, взял в руки сниффер пакетов и запустил шпионский процесс. Сохранив результаты перехвата пакетов в файл, снова убил процесс, на всякий случай науськал файрвол не пускать этот процесс вообще никуда, почистил диск и реестр. Дальнейшие перезагрузки показали, что, видимо, все в порядке.
Тогда я взялся за изучение перехваченных пакетов. В общем виде запрос к серверу не представлял ничего особенного (стандартный метод POST и путь к скрипту), но вот тело запроса представляло из себя строку вида «item=jwxhud4eJKNyTLb7IwMaXZ/buQf33WV5TcV1BYKKUVaDM8». В тот раз мне повезло, и озарение нашло сразу: кодирование по BASE64. Раскодировав тело запроса, я увидел вещь, которая сразу вызвала у меня умиление – список вида:

  • C:\Program Files\ICQ
  • C:\Program Files\Inno Setup 3
  • C:\Program Files\Lavasoft
  • C:\Program Files\WinRAR
  • и пр.

Ничего не напоминает? Ко всему прочему, в списке присутствовали такие вещи, как системные пути, список адресов из адресной книги, список запущенных процессов. В общем, стало немного не по себе…
А вы говорите – бояться… Надо БОЯТЬСЯ!
И снова BHO…

Здесь все совсем скучно: попал в мои руки очередной BHO. По предварительным данным этот Browser Helper Object подменял стандартный диалог закачки файлов IE. Ну что же, оружие в руки и за дело. Из оружия на этот раз присутствовали: RegMon от Sysinternals и редактор реестра (стандартный RegEdit).
Анализы показали: при клике по ссылке, содержащей расширение zip, avi, mpg, mpeg (и еще около десятка бинарных форматов) появляется окно, предлагающее скачать некий download-manager для ускорения процесса закачки. Выяснилось также, что адрес, с которого закачивается этот download-manager, не что иное, как адрес одной из многочисленных сетей доставки xxx-контента. Надо ли говорить, что я не стал ничего скачивать и устанавливать, а со спокойной душой вычистил все из реестра и пошел отдыхать от дел праведных ?
Продолжение следует?..

Ну вот и подошло к концу наше краткое знакомство с миром spyware. Искренне сожалею, что нет возможности описать все интересные случаи, с которыми я сталкивался на ниве борьбы со spyware – у меня не хватит места на диске под такой объем статьи Хочу лишь добавить: если кто-то из вас проявляет неподдельный интерес к проблеме борьбы со spyware и готов присоединиться ко мне на этом нелегком пути – пишите, обсудим. Работы хватит на всех. А уж признание ваших заслуг пользователями – это я вам обещаю.
Эта статья опубликована в журнале RSDN Magazine #3-2004. Информацию о журнале можно найти здесь