Как научиться обнаруживать эту напасть и избавляться от нее

Вполне возможно, что в настоящий момент компьютерные системы вашей организации устанавливают соединение с компаниями, о названиях которых никогда не слышали ни вы, ни пользователи этих систем. Обычно подобные компании располагаются в тех странах, в которых они не подпадают под действие американского законодательства и чаще всего их точное расположение преднамеренно скрыто. Во многих случаях эти компании получают административный доступ к компьютерным системам сети организации и, соответственно, могут регулярно устанавливать на эти системы какое-либо программное обеспечение или вносить изменения в их конфигурацию. Это приводит к значительному возрастанию объема корпоративного трафика и вызывает опасность того, что компания может стать жертвой подлога, когда кто-то будет выступать от ее имени. В этом случае злоумышленниками используется так называемое шпионское программное обеспечение (spyware). Шпионские программы пока остаются одной из наиболее трудных для распознавания угроз в области индустрии ИТ.

Изучите противника

Первоначально термин «шпионское программное обеспечение» применялся к программам наблюдения, используемым правоохранительными и некоторыми другими органами для контроля деятельности пользователей компьютерных систем. Позднее это понятие получило более широкое толкование, и теперь им обозначается любая программа, предназначенная для мониторинга или управления компьютером без согласия пользователя. Данное определение сегодня является наиболее типичным, и в этой статье я буду использовать именно его. Шпионское программное обеспечение делится на три категории: adware (программы электронной рекламы), snoopware (программы-«жучки») и malware (вредоносные программы).

Adware (программы электронной рекламы). Программы данного типа используются для доставки пользователям рекламных уведомлений или для сбора информации, интересующей рекламодателя. Вероятно, этот тип шпионских программ является наиболее распространенным; он преследует три основные цели: мониторинг действий пользователя, контроль сохранения установленных программ доставки рекламы и их обновления и собственно доставка рекламы пользователю. Типичными представителями вида являются BargainBuddy, Coolsavings, DashBar и n-CASE.

Однажды установленная, программа типа adware запускается либо в виде отдельного процесса при загрузке компьютера, либо в качестве библиотеки DLL, присоединяющейся к текущему процессу. Подобные программы могут собирать практически любую информацию о деятельности пользователя и о конфигурации системы. На рис. 1 приведен типичный пример работы программы типа adware. Для связи с Web-сервером рекламодателя данная программа использует один или несколько адресов URL. Для того чтобы обойти фильтры содержания, такие рекламодатели часто используют несколько резервных Web-серверов. Для того чтобы пройти через межсетевой экран, программы типа adware устанавливают соединение через протокол HTTP, зачастую применяя шифрование данных, чтобы скрыть подробности выполняемых ими действий. В результате трафик, порождаемый adware, практически неотличим от обычного Web-трафика компании. Подобные программы чаще всего используют собственный глобальный идентификатор, основанный на аппаратно-зависимых параметрах (например, MAC-адресе) пораженной системы, что дает рекламодателю возможность отслеживать историю интересующих его действий пользователя на этой системе.

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

Snoopware (программы-«жучки»). Эти программы применяются для скрытого наблюдения за действиями пользователя компьютера. Здесь преследуются две цели: наблюдать за действиями пользователя и сделать так, чтобы тот не подозревал, что за ним наблюдают. Программы типа snoopware, как правило, используются для осуществления разного рода подлогов или для корпоративного шпионажа. Наиболее типичными представителями этого вида программ являются Catch Cheat Spy, SpectorSoft EBlaster и Spector, а также WinWhatWhere Investigator.

Пути внедрения данных программ в систему могут быть различными, к ним относятся установка средств протоколирования нажатий на клавиши (keylogger), установка дополнений (plugin) к браузерам, запуск отдельных процессов мониторинга и даже замена компонентов операционной системы. Тип собираемой средствами snoopware информации различается от программы к программе, но, как правило, в круг интересов данных программ входят снимки экранов, регистрация нажатий на клавиши, функционирование приложений, навигация в Web, коммуникации Instant Messaging (IM) и сообщения, отправляемые по электронной почте.

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

В некоторых случаях субъект, выполняющий мониторинг системы, может получать локальный доступ к собранной информации через специальные «горячие клавиши», которые назначает программа snoopware в процессе установки на компьютер. Программа-шпион, передающая собранную информацию на удаленный компьютер, обычно делает это в реальном времени по протоколу HTTP Secure (HTTPS). На рис. 2 приведен типичный пример работы распределенной системы типа snoopware, позволяющей наблюдателю просматривать на удаленном компьютере через Web-браузер собранную программой-шпионом информацию.

Malware (вредоносные программы). Программы категории malware (сокращение от malicious software — вредоносные программы) создаются для того, чтобы нарушать нормальную работу компьютерных систем. Традиционно этот термин применялся к компьютерным вирусам, «червям» и «троянским коням», но в настоящее время появились новые типы подобных программ, такие как browser hijackers («обманщики браузеров»), parasites (паразиты) и dialers (программы дозвона). Программы типа browser hijacker могут подменять домашнюю страницу браузера или переадресовывать Web-запросы на удаленные сайты. Программы-паразиты обычно подменяют существующие последовательности ссылок таким образом, чтобы злоумышленник мог перехватывать нужную информацию при совершении пользователем покупок по Internet. Программы дозвона захватывают управление модемами, подключенными к пораженным системам, и выполняют телефонные звонки (например, на платные номера). Наиболее типичными представителями malware являются CoolWebSearch, MarketScore, New.Net, Mail Wiper Spy Wiper и Virtual Bouncer. Стандартный пример функционирования программы типа malware показан на рис. 3.

Осмотритесь

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

  • Через свободно распространяемые программы. Огромное количество свободно распространяемых утилит специально разрабатывается таким образом, чтобы служить механизмами доставки для шпионских программ. Эти программы являются одним из наиболее распространенных источников шпионского программного обеспечения. К ним относятся утилиты, предназначенные для блокировки всплывающих сообщений, управления календарем, синхронизации часов, поиска товаров в Internet, просмотра прогноза погоды в реальном времени и онлайновых поздравительных открыток.
  • Со стандартным программным обеспечением, поставляемым вместе с компьютером. Иногда бывает, что компании, производящие программное обеспечение, с целью получения дополнительных доходов от своих программ вступают в сотрудничество с фирмами, разрабатывающими шпионские программы.
  • С лицензионным программным обеспечением. Зачастую программы-шпионы устанавливаются на компьютер вместе со стандартным лицензионным программным обеспечением.
  • Принудительная загрузка. Шпионские программы, ослабляющие систему безопасности браузера или приложений, могут проникать в систему, когда пользователь посещает какой-либо сайт, просматривает всплывающую рекламу или читает почтовое сообщение с включенной поддержкой HTML.
  • «Тихая» загрузка. Некоторые разновидности программ-шпионов, однажды внедрившись в компьютерную систему, могут в дальнейшем устанавливать на нее новое программное обеспечение. Поскольку, как правило, подобные программы имеют на захваченной системе повышенные привилегии, установка новых программных средств шпионажа или обновление существующих их версий не составляет труда.

Распространение средств шпионажа совместно со свободным, стандартным или лицензионным программным обеспечением обычно сопровождается лицензионным соглашением для конечного пользователя (End User License Agreement , EULA), которое тот должен принять в процессе установки программ. В этом соглашении часто содержится информация о том, какие права пользователь предоставляет распространителю шпионского ПО и какие виды действий тот может отслеживать. Таким образом затрудняется проведение каких-либо акций против компаний, распространяющих шпионское программное обеспечение. Подробнее об этом рассказано во врезке «Законно ли шпионское программное обеспечение?». Стандартное соглашение EULA, приходящее, например, с DashBar, содержит 12 страниц и гарантирует поставщику, в числе прочих прав, возможность периодически устанавливать и/или обновлять компоненты программного обеспечения. Шпионское программное обеспечение, устанавливаемое методом принудительной или «тихой» загрузки, почти никогда не содержит EULA и представляет, таким образом, наибольшую опасность для организаций, поскольку распространители подобных средств не стесняют себя какими-либо ограничениями по использованию данных программ.

Осознайте опасность

Разрешаете ли вы своим пользователям произвольно устанавливать VPN-соединения с удаленными компаниями без вашего согласия? Даже если вы ответите «нет!», но при этом в инфраструктуре вашей организации не принимается никаких мер по борьбе со шпионским программным обеспечением, вы будете неприятно удивлены, узнав, каким угрозам может подвергнуться ваша сеть. Список возможных угроз и степень их вероятности (которая варьируется в зависимости от рода деятельности компании) приводятся в таблице. Наиболее неприятными из этих угроз являются суммарное ухудшение уровня безопасности в целом и снижение эффективности использования полосы пропускания канала связи. Если требуется обосновать необходимость проведения превентивных измерений, то приведенная ниже информация может пригодиться.

Суммарное ухудшение уровня безопасности. При каждом поражении шпионской программой какой-либо системы в сети понижается суммарная степень безопасности информационной инфраструктуры всей компании. Программы-шпионы зачастую запускаются на пораженных ими системах с административными привилегиями, обеспечивая таким образом возможность неконтролируемой загрузки и установки по сети каких-либо программ. Насколько далеко простираются эти привилегии, определяет только тот, кто распространяет данное шпионское программное обеспечение. Кроме того, многие программы-шпионы могут вносить прямые изменения в настройки параметров системы безопасности пораженной системы с целью обеспечения более комфортных условий для собственного функционирования и предотвращения удаления. Некоторые программы добавляют определенные сайты в зоны доверия браузера Microsoft Internet Explorer (IE), меняют настройки параметров безопасности Web-браузера, добавляют записи в файл HOSTS и даже могут отключить антивирус или программные средства борьбы со шпионским программным обеспечением. Причем даже после удаления программы-шпиона основные изменения, внесенные ею в конфигурацию системы, зачастую остаются, сохраняя таким образом угрозу заражения данного компьютера другими программами подобного рода.

Снижение эффективности использования полосы пропускания. Шпионское программное обеспечение любого типа использует для взаимодействия с удаленными системами полосу пропускания сети. Судя по результатам лабораторных тестов, каждая шпионская программа в среднем вдвое увеличивает стандартный сетевой трафик (если, например, на системе установлено 10 программ-шпионов, каждая из которых порождает около 30 Kбит суммарного трафика при выполнении поиска в системе Google, то общий трафик в этом случае составит около 600 Kбит). В одном из проведенных экспериментов система с установленной на ней единственной программой WeatherBug порождала 133 Kбит трафика при обычном открытии установленной по умолчанию домашней страницы Google. Из этого объема данных только 1,7 Kбит имело непосредственное отношение к взаимодействию с Web-сервером Google, остальной трафик был результатом взаимодействия системы с двумя Web-серверами, зарегистрированными на имя разных организаций (причем оба сервера на самом деле принадлежали одному и тому же распространителю шпионского программного обеспечения).

Помоги себе сам

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

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

  • Фильтры содержания. Эти программные средства, установленные по периметру корпоративной сети, могут, во-первых, предотвратить посещение пользователями сайтов, представляющих опасность для сети, а во-вторых, затруднят взаимодействие программ-шпионов с их распространителями.
  • Антивирусные программы. Сетевое или устанавливаемое на компьютеры пользователей антивирусное программное обеспечение может служить средством раннего оповещения о некоторых типах вредоносных программ (в частности, «троянских коней» или программ дозвона).
  • Программы борьбы со шпионским программным обеспечением. Эти программы предназначены для выявления шпионского программного обеспечения, его удаления и предотвращения возможности установки подобного ПО на компьютер. К сожалению, в связи с появлением новых программ-шпионов, а также относительной незрелостью средств борьбы с ними ни один из подобных продуктов не является универсальным решением. Поэтому во многих организациях ИТ-службы, чтобы охватить как можно более широкий круг решаемых задач, вынуждены применять совокупность двух или более продуктов этой категории.
  • Персональные межсетевые экраны. Программные реализации межсетевых экранов традиционно применялись пользователями мобильных компьютеров, но в настоящее время они приобретают все большую популярность и в мире настольных систем. Хотя во входящем в состав Windows XP Service Pack 2 (SP2) брандмауэре Windows Firewall возможность управления исходящими соединениями не реализована, тем не менее использование данной программы может снизить риск поражения системы шпионским программным обеспечением путем выдачи соответствующего предупреждения. Конечно, просто знать о шпионской программе еще не значит защитить систему от заражения, однако, владея информацией, можно помешать этой программе выполнить свою задачу.
  • Программы управления обновлениями. Очень часто программы-шпионы используют уязвимые места в системе безопасности браузера, чтобы пробраться на компьютерные системы, поэтому важно своевременно устанавливать на машины последние обновления для системы безопасности и браузера. Для этого можно использовать как службу Windows Update, так и системы централизованного управления обновлениями.
  • Средства администрирования системы безопасности браузера. Эти инструменты помогут централизованно определять и администрировать параметры системы безопасности браузеров. С помощью программных средств, например Internet Explorer Administration Kit (IEAK), можно блокировать систему безопасности Web-браузеров компании, предотвратив таким образом возможность принудительной загрузки.

Прямая и явная угроза

Шпионское программное обеспечение во всех его видах (adware, snoopware и malware) представляет собой «прямую и явную угрозу» для бизнеса из-за снижения уровня безопасности и повышения степени различных рисков. Поэтому при разработке стратегии защиты организации очень важно разобраться в том, что такое шпионское программное обеспечение, каким образом оно может попадать на компьютеры и какое отрицательное влияние способно оказать на бизнес.


Законно ли шпионское программное обеспечение?

Вообще говоря, с точки зрения действующего уголовного законодательства США шпионское программное обеспечение (spyware) в большинстве своих форм является законным. Раздел US Computer Fraud and Abuse Act (CFAA) , описывающий преступления в области ИТ и содержащийся в основном законе в разделе, определяющем судебное преследование за преступления в компьютерной сфере, в данном случае, как правило, неприменим, поскольку результаты работы программ-шпионов нечасто приводят к деструктивным последствиям. Другим крупным законодательным актом, который можно попытаться применить к данной сфере, является US Electronic Communications Privacy Act (ECPA), запрещающий третьей стороне перехватывать и разглашать данные частных электронных коммуникаций. Но этот документ здесь, строго говоря, также неприменим, поскольку шпионское программное обеспечение очень часто устанавливается с согласия пользователя (через лицензионное соглашение для конечных пользователей (EULA)).

В настоящее время конгресс США работает над новыми законодательными актами, пересматривая документы CFAA и ECPA. В результате этой деятельности в октябре 2004 года через палату представителей прошли два документа, Securely Protect Yourself Against Cyber Trespass Act (SPY ACT) и Internet Spyware (I-SPY) Prevention Act. Оба законопроекта сейчас проходят через сенат, а в 2005 году через конгресс пройдет несколько законодательных актов об «антишпионском» программном обеспечении. Отметим, что аналогичная работа ведется и на уровне штатов. Так, в штатах Калифорния и Юта приняты законы о шпионском программном обеспечении, хотя закон штата Юта в настоящее время активно оспаривается распространителями шпионского ПО.

Между тем Федеральная комиссия по торговле США (FTC) внесла разъяснения для конгресса, из которых следует, что принимать новые законодательные акты не требуется. FTC официально заявила, что раздел 5 Акта Федеральной комиссии по торговле, предоставляющий правительству право принимать меры против бесчестных методов торговли, дает правительству все необходимые механизмы контроля над шпионским программным обеспечением. В октябре 2004 года FTC предприняла первую попытку навести порядок в ситуации со шпионским программным обеспечением, выпустив первое предписание по данному вопросу и предъявив гражданский иск распространителю шпионских программ.


Директор по развитию в компании SilverBack Technologies, занимающейся проверкой безопасности информационных систем. Имеет сертификат CISSP в области экспертизы приложений и системных проектов (jkinsella@silverbacktech.com)