Прокравшись на ваш компьютер, программы-шпионы могут следить за его работой, воровать данные и передавать их посторонним лицам. Как они работают, и как с ними бороться?

Шпионским программным обеспечением (Spyware) называют программы, которые наблюдают за действиями пользователя и собирают о нем данные в интересах посторонних лиц. Судя по отчетам, которые пользователи направляют в компанию Microsoft [1], это относительно новое явление — причина более половины отказов операционной системы Windows. Уже в самом начале своего развития программы-шпионы оказывают непосредственное влияние на Internet-сообщество и всерьез угрожают его безопасности.

ИТ-специалисты употребляют термин Spyware для обозначения разных программ. Почти все его слышали, но немногие понимают различия между шпионским (Spyware), рекламным (Adware), переманивающим (Scumware) и другими разновидностями вредоносного программного обеспечения. Во врезке «Краткий терминологический словарь» приведены определения наиболее распространенных понятий.

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

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

Программы-шпионы

Степень ущерба от программ-шпионов может изменяться от умеренной до катастрофической. На самом низком уровне вмешательства (вроде применения cookie для того, чтобы входить на знакомые Web-сайты без повторного ввода своего имени и пароля) риск минимален. Тем не менее некоторые пользователи, особо заботящиеся о сохранении секретности, не приемлют и возможности риска, поэтому не допускают использования даже самых простых файлов cookie. Второй и третий уровни постороннего вмешательства — совсем другое дело: корпоративным и индивидуальным пользователям может быть нанесен серьезный урон.

Первый уровень: простые cookie

Базовый метод распознавания пользователей на Web-сайте основан на идентификации по файлу cookie, относящемуся к этому сайту. Такая идентификация позволяет опознавать пользователя, возвращающегося на сайт, и связывать с ним данные, которые он ввел ранее. Обычно это удобно для потребителя, который сознательно соглашается предоставить сайту сведения о себе, рассматривая связанный с такими действиями риск как незначительный. Эта полезная функция позволяет немедленно обеспечить индивидуальное обслуживание, подобно тому, как делают продавцы книг или авиакомпании.

Простая идентификация на основе cookie редко рассматривается как разновидность шпионажа. Однако некоторые считают ее таковой из-за возможности опознавания пользователя и хранения на сайте связанных с ним данных.

Второй уровень: ассоциированные cookie

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

Рекламные агентства заключают с сайтами-соучастниками соглашения о размещении ссылок на шпионские серверы, которые могут представлять собой обычные картинки или даже совершенно незаметные изображения размером в один пиксель. Эти ссылки заставляют браузер пользователя обращаться к шпионскому серверу, который, в свою очередь, пытается обнаружить на компьютере пользователя определенный cookie. Если такового найти не удается, создается новый файл, содержащий глобальный уникальный идентификатор GUID, который позволяет опознавать пользователя при посещении им любого сайта-соучастника. На рисунке показан процесс обмена данными между компьютером потребителя, шпионским сервером и сайтом-соучастником.

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

Проблема состоит в том, что пользователи не видят этих данных, не имеют к ним доступа, не могут ими управлять и обычно даже не представляют себе всего процесса. Рекламное же агентство полностью контролирует распространение пользовательских данных. Хотя ассоциированные cookie не могут обращаться к системе потребителя или вызывать другие приложения, они способны без ведома хозяина ПК регистрировать и использовать все данные о его действиях и нажатиях клавиш на сайтах-соучастниках. Согласитесь, нешуточная угроза.

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

Третий уровень: приложения-шпионы

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

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

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

Внедрение программы-шпиона

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

Верхом на полезном приложении

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

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

Популярность программ обмена файлами привела к тому, что их загрузка стала привычным делом. Она же сделала их великолепными транспортными средствами для программ-шпионов. Например, портал CNET более двух лет назад начал предлагать условно-бесплатные версии нескольких популярных программ обмена файлами, содержащие «шпионские» компоненты. В то время к ним относились Kazaa, Morpheus, BearShare, LimeWire и Grokster. Пользователи загрузили из CNET более четверти миллиона копий условно-бесплатных программ, и часть из которых несла на себе дополнительную вредоносную нагрузку [2]. Можно найти и много других источников подобного программного обеспечения. Это позволяет заключить, что сейчас значительная часть пользовательских компьютеров заражена программами-шпионами.

Установка утилиты

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

Выполнение Java или ActiveX

Использование Web-приложений на базе Java или ActiveX — третий способ транспортировки вредоносных программ. После активации апплет Java или код ActiveX может загрузить и вызвать программу-шпион. Предыдущие способы позволяют достичь того же результата, но в данном случае все действия совершаются полностью без ведома пользователя.

Эта агрессивная форма инсталляции сродни методам хакеров, и ее использование, как и деятельность последних, должно считаться незаконным.

Комбинированные способы

При установке программ-шпионов без разрешения пользователя могут комбинироваться сразу несколько методов эксплуатации уязвимостей в приложениях. Например, в прошлом году путем почтовой рассылки пользователи получили программу SurferBar (также известную под названиями surfrbar и Junksurf). Письмо в формате HTML содержало скрытую ссылку на сайт, который «забрасывал» исполняемую программу на диск C, а затем использовал уязвимость в браузере Internet Explorer для автоматического выполнения сценария Visual Basic. Эта мерзкая программа добавляла к системе несколько файлов и начинала каждые 10 секунд обновлять разделы реестра, стартовую страницу и ссылки в Internet Explorer. Удалить ее среднему пользователю было не под силу. Программа добавляла множество ссылок на сайты, посвященные порнографии и азартным играм, что приводило к эффекту типа «отказ в обслуживании». Браузер, перегруженный огромным количеством ссылок, просто переставал работать.

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

Признаки программ-шпионов

Очевидно, что жертвой программы-шпиона может стать любая система, подключенная к Internet и использующая браузер или электронную почту. Признаки заражения бывают видны невооруженным глазом или скрыты от наблюдения — в зависимости от того, с какой формой шпионского программного обеспечения вы столкнулись. Тем не менее есть несколько простых симптомов, которые не должны ускользать от вашего внимания. Существуют и различные инструменты, помогающие обнаружить шпионские программы.

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

Как правило, следует с подозрением относиться к чрезмерному количеству спама и всплывающих рекламных окон: их причиной может быть программа-шпион. Кроме того, если ваш браузер открывает Web-сайты, к которым вы определенно не обращались, добавляет новые ссылки и параметры настройки, то весьма возможно, что виновата в этом программа-шпион. Лучший способ ее обнаружить и удалить состоит в использовании специальных инструментов.

Борьба с программами-шпионами

Имеются несколько превосходных пакетов для борьбы с программами-шпионами. В первую очередь следует упомянуть Spybot — Search & Destroy (www.safer-networking.org), Ad-Aware (www.lavasoftusa.com/software/adaware) и Pest Patrol (www.pestpatrol.com). Эти пакеты способны обнаружить большую часть программ-шпионов. Доступны бесплатные, условно-бесплатные и пробные версии. На Web-сайте Microsoft есть специальный раздел, посвященный средствам борьбы со «шпионами» (www.microsoft.com/mscorp/twc/privacy/ spyware.mspx).

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

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

Процесс обмена данными

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

Средства борьбы с программами-шпионами совершенствуются с каждым днем. Сегодня многие антивирусные продукты имеют функции обнаружения и удаления программ-шпионов. В дальнейшем, несомненно, появятся еще больше антивирусов с подобными функциями. Компания McAfee дополнила свою антивирусную линейку контрмерами против программ-шпионов и намерена оснастить собственные продукты полным набором функций для борьбы с ним. Старший менеджер McAfee Брайсон Гордон говорит: «Мы получаем сообщения о многих случаях обнаружения шпионского программного обеспечения, которые свидетельствуют о его широком распространении. В августе 2003 года наш продукт выявил 1,5 млн таких случаев, а в марте 2004 — уже 14,3 млн». Эти цифры свидетельствуют, что по мере распространения программ-шпионов растут и возможности их выявления.

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

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

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

Законодательство

Неудивительно, что сегодня не существует законов, препятствующих использованию шпионского программного обеспечения, ведь и при появлении первых вирусов и компьютерных взломщиков тоже не было соответствующих законов. В марте 2004 штат Юта (США) принял акт, призванный контролировать распространение шпионского программного обеспечения [4]. Как и следовало ожидать, распространители программ-шпионов высказали свои возражения, но любопытно, что многие из лидеров компьютерной отрасли также протестовали против принятия этого акта. Пока непонятно, насколько велика будет его эффективность, но внимание к проблеме он, безусловно, привлек. В июне 2004 года противники акта добились решения суда о временной приостановке его действия.

Американский сенат рассматривает закон против распространения шпионского программного обеспечения [5]. Палата представителей Конгресса США также разрабатывает аналогичные законодательные акты [6]. Потенциальное воздействие такого законодательства огромно; насколько же точно отразятся требования жизни в окончательных текстах, и насколько легко будет контролировать соблюдение этих законов, пока неизвестно. Поскольку комитеты Конгресса также действуют в этом направлении, очень возможно, что некоторые из законопроектов превратятся в законы.

В Microsoft предложили совершенно иную стратегию. В соответствии с нею отрасль предоставляет улучшенные инструментальные средства и избегает принятия законов, которые могут неадекватно пресечь распространение «вводящего в заблуждение программного обеспечения (deceptive software)». Microsoft продолжает наращивать возможности браузера Internet Explorer для борьбы с программами-шпионами, а на Web-сайте корпорации появился специальный раздел, посвященный средствам и методам борьбы с подобными программами.

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

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

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

Литература
  1. Battling ?Spyware?: Debate Intensifies on Controlling Deceptive Programs, Microsoft, 20 April 2004.
  2. John Borland. File-sharing programs carry Trojan horse; news.com.com/2100-1023-801599.html?legacy=cnet.
  3. Keith Furman. Microsoft presents anti-spyware strategy; www.itnews.com.au/newsstory.aspx?CIaNID=14817.
  4. Utah state legislature. Spyware regulation; www.le.state.ut.us/~2004/bills/hbillenr/hb0323.htm.
  5. Burns introduces spyware bill; burns.senate.gov/index.cfm?FuseAction=PressReleases.View& PressRelease_id=1077.
  6. Center for Democracy and Technology. Spyware; www.cdt.org/privacy/spyware/.

Вес Эймс (wes.ames@boeing.com) — сотрудник компании Boeing, специалист по технологиям в области информационной безопасности.


Краткий терминологический словарь

Рекламные программы (Adware, Adbot). Программы такого рода демонстрируют рекламные объявления, обычно в виде всплывающих окон. Технология выполнения этой простой задачи может изменяться в самых широких пределах, а степень воздействия на систему пользователя — варьироваться от приемлемого уровня рекламы до отказа в обслуживании из-за множества открывающихся окон и переадресовок браузера.

Ассоциированный файл cookie. Он содержит идентификатор GUID, который опознается любым сайтом, входящим в некоторую группу.

Файл cookie. Небольшой файл, который сохраняется Web-сайтом на компьютере пользователя. Он идентифицирует пользователя при повторном посещении этого сайта.

Глобальный уникальный идентификатор (GUID). Находящаяся в некоторых файлах cookie уникальная строка символов, идентифицирующая конкретного пользователя.

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

Malware (сокращение от malicious software — вредоносное программное обеспечение). Этот термин может относиться к конкретной программе (вроде вируса или червя), наносящей реальный ущерб, или обозначать любое нежелательное программное обеспечение.

Переманивающие программы (Scumware). Программное обеспечение, которое тайком проникает на компьютер пользователя. При открытии определенных Web-сайтов демонстрирует всплывающие окна с рекламой в попытке переадресовать пользователя на другой (конкурирующий или связанный) сайт. Фактически, Scumware позволяет диверсионными методами воровать трафик с часто посещаемых сайтов.


Wes Ames, Understanding Spyware: Risk and Response, IT Pro, September/October 2004. IEEE Computer Society, 2004, All rights reserved. Reprinted with permission.