Глава 16. АТАКИ НА ПОЛЬЗОВАТЕЛЕЙ INTERNET
|
Атаки на пользователей INTERNET До сих пор много говорилось об общепринятых методах взлома систем, принадлежащих различным компаниям и управляемых опытными администраторами. Ведь считается, что именно там находятся основные ценности, не так ли? Не может же зловредный хакер пытаться найти что-нибудь интересное на домашнем компьютере какой-нибудь старушки. |
Мобильный код со злым умыслом Появление мобильного кода стало важным событием в процессе развития Internet от статического набора документов до случайным образом генерируемой среды, которой она стала на сегодняшний день. Развитие современных технологий, основанных на динамических данных, может стать основной моделью обработки информации в будущем. Однако сейчас акцент делается не на повышении надежности клиентских вычислительных моделей, а на расширении использования динамических документов HTML (DHTML), таблиц стилей и повышении производительности сценариев серверных приложений. (Правда, на это можно возразить, что сама обработка данных происходит все же на клиентском компьютере, однако подобный спор требует углубления в архитектуру самого Web-броузера.) В любом случае мобильный код, передающийся по сети на узел назначения, на сегодняшний день остается важнейшей частью фундамента Internet. Механизмы поддержки двух доминирующих парадигм мобильного кода, язык Java компании Sun и элементы управления ActiveX компании Microsoft, встроены во все броузеры. Поэтому их изучение является крайне важным для обеспечения безопасности любого клиента Internet. |
Элементы ActiveX компании Microsoft Элементы управления ActiveX являются результатом повторной попытки фирмы Microsoft разработать модель мобильного кода. Их часто описывают как приспособленную для Web технологию создания документов со связыванием и внедрением объектов (Object Linking and Embedding — OLE). На самом деле это сильно упрощенная трактовка набора интерфейсов, спецификаций и претендующих на исключительность парадигм разработки, входящих в модель СОМ компании Microsoft (COM — Component Object Model), которая и составляет основу технологии ActiveX. В то же время подобные упрощения способствуют лучшему пониманию. Приложения ActiveX могут создаваться для выполнения определенных задач (таких как воспроизведение видео-или звукового файла). Их можно поместить на Web-страницу, и тогда эти программы будут выполнять свои функции при ее просмотре точно так же, как технология OLE поддерживает операцию вставки электронных таблиц Excel в документы Word. Флаг "Safe for scripting" технологии ActiveX Летом 1999 года Георгий Гунински (Georgi Guninski) и Ричард М. Смит (Richard М. Smith) (и не только они) независимо обнаружили два различных изъяна в методе обработки элементов ActiveX броузером Internet Explorer. Установив для элементов управления флаг "safe for scripting" ("помеченный как безопасный"), их разработчики могут полностью обойти обычную процедуру проверки сертификатов Authenticode. В качестве примеров таких элементов ActiveX можно привести Scriptlet. typelib и Eyedog.OCX, предназначенные для использования в IE4 и более ранних версиях. Если для этих элементов управления установлен флаг "safe for scripting", то при их запуске в броузере на экран не будет выводиться никаких сообщений. <object id="scr" Этот изъян интерфейсов программного обеспечения, позволяющий получить к ним доступ, Ричард М. Смит (Richard M. Smith) назвал "случайным троянским конем". Установленные на жесткий диск многих пользователей вместе с таким популярными приложениями, как IE, данные элементы управления ActiveX ожидают, пока кто-нибудь не установит с ними удаленное соединение (http: //www. tiac.net/users /smiths/acetroj/index.htm). Чтобы посмотреть, имеются ли среди этих объектов помеченные как "safe for scripting", воспользуйтесь утилитой oleview из набора NT Resource Kit (ее более новая версия входит в среду разработки приложений Visual Studio компании Microsoft). Утилита oleview позволяет просмотреть все зарегистрированные в системе объекты COM/ActiveX. Кроме того, она выводит их идентификатор класса (CLSID — Class ID), используемый при обращении к этим объектам в системном реестре, и многие важные параметры из поддерева Implemented Categories системного реестра. function setup() { ua.ShowDialog(ОхОЕ2В); Элементы управления, помеченные как "safe for scripting", могут вызываться также из электронных сообщений в формате HTML. В этом случае их гораздо легче разместить в нужном месте, поэтому они могут быть более опасны. Подобные "бомбы" обсуждаются в следующих разделах, посвященных хакингу через электронную почту.
Защита от использования флага "safe for scripting" Для защиты от этих серьезных изъянов пользователям Internet можно предложить три метода. Мы рекомендуем воспользоваться всеми тремя способами. После инстанцирования элементы управления ActiveX остаются в памяти до тех пор, пока не будут выгружены. Для этого в командной строке введите команду regsvr32 /u [Имя_элемента].
Активная загрузка файлов Независимый исследователь проблем безопасности Хуан Карлос Гарсия Квартанго (Juan Carlos Garci'a Cuartango), внимание которого особенно привлекает броузер Internet Explorer, поместил на своем Web-узле информационное сообщение об одном из его изъянов. Это оказалось настолько важным, что сообшение было переведено на английский язык (тогда как остальная информация узла была представлена на испанском). Суть изъяна заключается в возможности генерирования состояния отказа в обслуживании (DoS — Denial of Service), если для загрузки файлов с расширением .CAB, имеющих сертификат компании Microsoft, используется элемент управления ActiveX. При этом файлы загружаются в любое указанное место диска, даже если для этого необходимо записать их поверх других файлов. Контрмеры Компания Microsoft выпустила соответствующий модуль обновления, который можно найти по адресу http://www.microsoft.com/security (Bulletin MS00-42). В системе Windows 2000 защиту определенных системных файлов от перезаписи обеспечивает служба WFP (Windows File Protection). Разумное использование зон безопасности: общее решение проблемы элементов ActiveX Одной из лучших ссылок по этой теме является статья Q174360 из базы знаний компании Microsoft (http://support.microsoft.com). Там вы найдете много ценной информации о зонах безопасности. По существу, модель зон безопасности позволяет определять разные уровни доверия для кода, загружаемого с одной из четырех зон: Local Intranet (Местная зона (интрасеть)), Trusted Sites (Зона надежных узлов), Internet (Зона Internet) и Restricted Sites (Зона ограниченных узлов). Существует еще пятая зона, которая называется Local Machine (Локальная машина), однако в пользовательском интерфейсе она недоступна, настроить ее можно только с помощью средств администрирования IEAK (IE Administration Kit) Таблица 16.1. Рекомендуемые параметры безопасности зоны Internet( настройки уровня Custom Level нужно выполнять после того, как по умолчанию задан уровень безопасности High)
Параметры, позволяющие запретить использование элементов управления ActiveX, показаны на рис. 16.1.
Если вы все же хотите воспользоваться преимуществами звуковых и анимационных эффектов, обеспечиваемых элементами Shockwave, придется допустить использование элементов ActiveX (конечно, если не задействован броузер Netscape, в котором элементы Shockwave выступают в качестве подключаемых модулей). Другим ориентированным на элементы ActiveX узлом, который посещается многими пользователями, является узел Windows Update компании Microsoft (WU), на котором элементы ActiveX используются для сканирования компьютера пользователя, а также для загрузки и установки нужных модулей дополнения. Этот Web-узел оказался удачной идеей. Он позволяет сэкономить огромное количество времени, требуемого для поисков отдельных модулей обновления (что особенно важно для обеспечения безопасности!), и автоматически определить, была ли ранее установлена правильная версия. Однако мы не думаем, что из-за одного узла, предоставляющего такие удобства, стоит полностью разрешать использование элементов управления ActiveX. Еще хуже то, что после запрещения использования элементов ActiveX в броузере Internet Explorer нельзя воспользоваться механизмом автоматического поиска адреса по фрагменту URL, введенному в адресной строке (например, когда по подстроке mрЗ требуется найти узел http: //www.mp3. com). Соблюдайте осторожность и добавляйте в зону надежных узлов только те из них, которые пользуются высокой степенью доверия, поскольку к ним будет применяться меньше ограничений, связанных с загрузкой их активного содержимого и запуском. Следует иметь в виду, что даже респектабельный Web-узел может быть взломан хакерами-злоумышленниками, или в группе его разработчиков может оказаться негодяй, охотящийся за данными пользователей (а возможны и худшие варианты). Для безопасного чтения электронных сообщений приложения Outlook и Outlook Express можно настроить так, чтобы в них тоже учитывались зоны безопасности. Параметры Outlook и Outlook Express позволяют выбрать зону, уровень безопасности которой будет использоваться при обработке содержимого, отображаемого почтовой программой. Имеется две возможности: Internet и Restricted Sites. Конечно же, рекомендуется выбрать зону ограниченных узлов (новый модуль Outlook 2000 Security Update выполняет эту установку самостоятельно). Убедитесь в том, что в параметрах зоны Restricted Sites полностью отключены все категории активного содержимого! Для этого установите уровень безопасности High, а затем задайте режим Custom Level и отключите все режимы, которые остались включенными (если их отключить нельзя, установите переключатель в положение, соответствующее наивысшему уровню безопасности). Процесс настройки зоны Restricted Sites в Outlook показан на рис. 16.2Д
Изъяны в системе защиты Java В 1990 году компания Sun Microsystems решила создать парадигму программирования, которая помогла бы решить многие проблемы разработки программ, стоящие перед их создателями еще со времен зарождения вычислительной техники. В результате одним выстрелом удалось убить двух зайцев: создать новый язык Java и попутно решить многие традиционные проблемы обеспечения безопасности. Большинство людей полагают, что язык Java безопасен на все 100%, поскольку с самого начала был задуман как нечто исключительное. Это мнение в значительной мере подкрепляется маркетинговой политикой компании Sun. Конечно же, обеспечить абсолютную безопасность невозможно. Однако пути ее повышения, применяемые в Java, несомненно, представляют определенный интерес. (Ниже будет рассмотрена архитектура Java 2, или JDK 1.2, которая в момент написания книги являлась текущей.) Ошибки JVM броузера Netscape Communicator В апреле 1999 года сотрудник Марбургского университета (Германия) Карстен Зор (Karsten Sohr) обнаружил изъян важного компонента безопасности JVM броузера Netscape Communicator. При определенных обстоятельствах виртуальная машина Java не проверяет загружаемый в нее код. Использование этого изъяна позволяет взломщику запустить код, разрушающий механизмы проверки типов Java, и реализовать взлом со смешением типов (type confusion attack). Это классический пример отступления реализации от первоначального замысла. Отключение Java в броузере Netscape Обновите текущую версию Netscape, или отключите Java, выполнив следующие действия (рис. 16.3).
Изъян в механизме обеспечения безопасности Microsoft Java В броузере Internet Explorer вскоре была обнаружена аналогичная ошибка. Из-за недостатков реализации механизма обеспечения безопасности в JVM компании Microsoft появилась возможность полностью обойти механизмы защиты с помощью хитро запрограммированного аплета, размещенного на удаленном Web-сервере, или встроенного в сообщение электронной почты в формате HTML. Устранение ошибок в Internet Explorer Чтобы узнать, уязвима ли используемая вами версия программы, введите в командной строке команду jview. Найдите номер сборки (последние четыре цифры номера версии) и определите, к какой из следующих категорий он относится.
Не удивляйтесь, если после выполнения команды jview окажется, что изъян существует, даже если Internet Explorer не установлен. Некоторые другие продукты компании Microsoft, такие как Visual Studio, тоже устанавливают виртуальную машину Java. Во время написания этого раздела немало был удивлен и автор, когда выяснил, что у него на компьютере тоже установлена версия JVM с изъяном. Она была установлена вместе с IE 5.0 через год с момента выпуска модуля обновления! Brown Orifice и новые ошибки в Java Летом 2000 года Дан Брумлев (Dan Brumleve) сообщил о двух выявленных изъянах. относящихся к реализации Java в Netscape Communicator. В частности, он установил, что в некоторых файлах библиотек классов Java при выполнении определенных операций не выполняется надлежащая проверка безопасности или результаты этой проверки игнорируются. В число классов, о которых идет речь, входит класс java.net. ServerSocket, используемый для создания прослушиваемых сетевых сокетов для входящих сетевых соединений, а также классы netscape, net. URLConnection и netscape.net.URLlnputSteam, содержащие абстрактные стандартные методы чтения локальных файлов. Во всех этих трех классах содержатся методы, в которых некорректно вызывается метод SecurityManager .check, определяющий, действительно ли данный аплет обладает правами доступа, необходимыми для выполнения некоторых действий. Если проверка завершилась неудачей, то это исключение игнорируется. Контрмеры против Brown Orifice Как обычно, единственный надежный способ защиты от опасных аплетов заключается в запрете использования Java в Web-броузере. Сделать это можно в броузере Netscape, как описано выше в разделе "Отключение Java В Броузере Netscape" и показано на рис. 16.3. Мы рекомендуем использовать эти параметры пользователям Netscape. |
Остерегайтесь монстра Cookie Задумывались ли вы когда-нибудь о том, как на некоторых Web-узлах происходит персонификация посетителей? Это может выражаться, например, в запоминании содержимого "тележки" (если этот узел предназначен для продажи товаров) или в способе заполнения полей какой-нибудь формы. В протоколе HTTP, лежащем в основе функционирования World Wide Web, нет средств, позволяющих отслеживать события от одного посещения узла к другому, поэтому для возможности хранения таких "состояний" было разработано специальное дополнение. Этот механизм, описанный в документе RFC 2109, обеспечивает вставку в передаваемые запросы и ответы HTTP специальных фрагментов данных cookie, позволяющих Web-узлам отслеживать своих посетителей. Данные cookie могут запоминаться на время сеанса связи (per session), оставаясь в оперативной памяти в течение одного сеанса и удаляясь при закрытии броузера, или даже после истечения заданного промежутка времени. В других случаях они бывают постоянными (persistent), оставаясь на жестком диске пользователя в виде текстового файла. Обычно они хранятся в каталоге Cookies (%windir% \Cookies — в Win9x и %userprofile%\Cookies — в NT/2000). Нетрудно догадаться, что после захвата файлов cookie в Internet взломщик может выдавать себя за пользователя данного компьютера, или собирать содержащуюся в этих файлах важную информацию. Прочитав следующие разделы, вы поймете, насколько просто это сделать. Перехват файлов cookie Самый прямой способ заключается в перехвате файлов cookie при их передаче по сети. Затем перехваченные данные можно использовать при входе на соответствующий сервер. Такую задачу можно решить с помощью любой утилиты перехвата пакетов, однако одной из лучших является программа Лаврентия Никулы (Laurentiu Nicula) SpyNet/PeepNet . В состав SpyNet входят две утилиты, которые работают в комплексе. Программа CaptureNet выполняет захват самого пакета и сохраняет его на диске, а утилита PeepNet открывает этот файл и преобразует его в читабельный формат. Следующий пример является фрагментом восстановленного программой PeepNet сеанса связи, во время которого файл cookie служит для аутентификации и управления доступом к просматриваемым страницам (для сохранения анонимности имена изменены). GET http://www.victim.net/images/logo.gif HTTP/1.0 В приведенном примере виден фрагмент cookie, помещенный в поступающий на сервер запрос HTTP. Наиболее важным является поле cuid=, в котором задается уникальный идентификатор, используемый при аутентификации пользователя на узле www.victim.net. Допустим, что после этого взломщик посетил узел victim.net, получил собственный идентификатор и файл cookie (предполагается, что узел помещает данные cookie не в виртуальную память, а записывает их на жесткий диск). Тогда взломщик может открыть свой собственный файл cookie и заменить в нем идентификатор поля cuid=, взяв его из перехваченного пакета. В этом случае при входе на сервер victim.net он будет восприниматься как пользователь, чьи данные cookie были перехвачены. Контрмеры Следует остерегаться узлов, на которых файлы cookie применяются для аутентификации и хранения важных идентификационных данных. Одним из инструментов, помогающих в обеспечении защиты, является программа Cookie Pal компании Kookaburra Software, которую можно найти на Web-узле http://www.kburra.com/cpal.html. Этот программный продукт можно настроить так, чтобы для пользователя генерировались предупреждающие сообщения о попытках Web-узла воспользоваться механизмом cookie. При этом можно "заглянуть за кулисы" и решить, следует ли разрешать выполнение этих действий. В Internet Explorer имеется встроенный механизм поддержки файлов cookie. Чтобы активизировать его, запустите аплет Internet Options панели управления, перейдите во вкладку Security, выберите элемент Internet Zone, установите режим Custom Level и для постоянных и временных данных cookie установите переключатель в положение Prompt. Настройка использования файлов cookie в броузере Netscape выполняется с помощью команды Edit>Preferences>Advanced и установки режима Warn me before accepting a cookie или Disable cookies (рис. 16.3). Принимая файл cookie, нужно проверить, записался ли он на диск, и узнать, собирает ли Web-узел информацию о пользователях. Захват файлов cookie через URL Представим себе нечто ужасное: пользователи Internet Explorer щелкают на специально сконструированных гиперссылках и становятся потенциальными жертвами, рискуя, что их файлы cookie будут перехвачены. Беннет Хазельтон (Bennett Haselton) и Джеми Маккарти (Jamie McCarthy) из тинейджерской организации Peacefire, ратующей за свободу общения через Internet, опубликовали сценарий , воплощающий эту идею в жизнь. Этот сценарий извлекает файлы cookie с клиентского компьютера, если его пользователь щелкает на ссылке, содержащейся на этой странице. В результате содержимое файла cookie становится доступным для операторов Web-узла. <iframe src="http://www.peacefire.org%2fsecurity%2fiecookies%2f Можно составить коварное электронное сообщение, которое "захватывало" бы файлы cookie с жесткого диска пользователя и передавало их операторам узла peacefire.org. Для этого в него много раз нужно поместить ссылку на этот узел так, как показано в примерю. Несмотря на то что ребята из Peacefire выглядят довольно приятными людьми, вряд ли кому-нибудь понравится, если к ним в руки попадут конфиденциальные данные. Контрмеры Установите модуль обновления, который можно найти по адресу http://www. microsoft.com/technet/security/bulletin/ms00-033.asp. Можно воспользоваться также программой Cookie Pal или встроенными возможностями Internet Explorer, как описано выше. |
Изъяны фреймов HTML в Internet Explorer Малоизвестной особенностью броузера Internet Explorer является возможность использования доменной модели обеспечения безопасности ("cross-domain security model"). Исчерпывающее описание этой концепции можно найти по адресу http://www.microsoft.com/technet/security/bulletin/fq00-009.asp. Вкратце это означает следующее. Описываемая модель скрыто используется и предотвращает чтение, доступ и любые другие операции с данными, открытыми в окне одного узла (простейшая форма домена IE), со стороны окна другого узла. При таком подходе фреймы HTML, открытые в каком-либо окне, должны быть доступны только из родительского окна при условии, что оба они относятся к одному и тому же домену. Чтение других доменов с помощью дескриптора IFRAME и document.execCommand Эксперт в области безопасности броузеров Георгий Гунински (Georgi Guninski) обнаружил несколько случаев нарушения модели доменной безопасности, предотвращающей обмен данными между доменами. Контрмеры Установите модуль обновления, который можно найти по адресу http://www. microsoft.com/technet/security/bulletin/ms99-042.asp. Можно также отключить режим использования активных сценариев с помощью процедуры, описанной в разделе "Разумное Использование Зон Безопасности: Общее Решение Проблемы Элементов ActiveX". Проверка принадлежности к доменам Internet Explorer В июне 2000 года Эндрю Носенко (Andrew Nosenko) из компании Mead & Company сообщил о том, что в Internet Explorer две функции не выполняют надлежащую проверку принадлежности к домену. Это позволяет создать такую страницу HTML, которая открывала бы фрейм с локальным файлом и могла читать этот файл . В стремлении быть непревзойденным, Георгий Гунински тоже поместил на своем узле сообщение о подобной уязвимости. Код Георгия поражает обманчивой простотой. <IFRAME ID="I1"X/IFRAME> Как и в предыдущем случае, в качестве цели был избран файл test. Но с таким же успехом можно считать любой другой файл системы пользователя, который можно просмотреть в броузере. Для этого нужно внести соответствующие изменения в строку file://с:/test.txt. Контрмеры Примените модуль обновления, который можно найти по адресу http://www. microsoft.com/technet/security/bulletin/fq00-033.asp. Как и в предыдущих случаях, альтернативной мерой является отключение активных сценариев. Эта предосторожность значительно ограничит функциональные возможности Web-узлов, работа которых основана на применении сценариев (см. раздел, посвященный зонам безопасности). |
Уязвимость почтовых приложений Представление большинства людей об Internet связано с наиболее заметной его частью, т.е. с World Wide Web. Однако объем ежедневно отправляемых электронных сообщений, по-видимому, превышает трафик Web. Таким образом, электронная почта является автономным эффективным средством, входящим в набор пользователя Internet, которое помогает ему комфортно чувствовать себя в киберпространстве. Интересен тот факт, что два чрезвычайно популярных протокола Internet, HTTP и SMTP, имеют много точек соприкосновения, что чрезвычайно увеличивает потенциальную опасность. Сообщения электронной почты в формате HTML — эффективное средство направленного взлома многих броузеров. Для подобных атак можно применять многие из ранее описанных методов, а возможно, и какие-то другие. Добавьте в электронные сообщения небольшого количества мобильного кода — и процесс проникновения в системы доверчивых пользователей станет во многом похож на детскую игру. Хотя в этом разделе речь идет исключительно об электронной почте, ясно, что описываемые приемы можно применить и к сообщениям групп новостей Internet. Такая тактика может привести даже к еще более массовым разрушениям, чем "спэм", при котором используются данные методы. |
Запуск произвольного кода с помощью электронной почты При описании следующих атак будут продемонстрированы различные механизмы запуска команд на целевом компьютере. Многие из них приводятся в действие при открытии коварных сообщений или их предварительном просмотре в соответствующей части окна программ Outlook и Outlook Express. Атаки с использованием элементов ActiveX, помеченных как "safe for scripting" Взломщики не могли выдумать ничего более убийственного: все, что нужно сделать жертве, — это просто прочитать сообщение (или просмотреть его в окне предварительного просмотра программ Outlook и Outlook Express, если такая возможность имеется). При этом со стороны пользователя не требуется никакого вмешательства. Эта чудовищная "простота" снова появилась благодаря элементу управления Scriptlet. typelib, помеченному как "safe for scripting" (более подробно этот вопрос обсуждается в разделе, посвященном элементам ActiveX). С такой же легкостью можно использовать Eyegod.ocx, но метод, рассматриваемый в данном разделе, основан на применении проверочного кода Георгия Гунински, в котором используется элемент управления Scriptlet. typelib. Напомним, что Георгий поместил этот код на своем Web-узле. Ниже приведена слегка модифицированная версия этого кода, вставленного в капсулу для взлома почты. helo somedomain.com Этот код проводит атаку в два этапа. Во-первых, он создает в папке Startup на компьютере пользователя файл приложения HTML (с расширением .НТА) и записывает в него содержимое сценария. Этот файл создается почти незаметно для пользователя, пока он просматривает сообщение (если внимательно следить за световым индикатором жесткого диска, то можно заметить его мерцание). Вот как выглядит наше тестовое сообщение в папке inbox (ниже на рисунке показано окно программы Outlook Express). Для завершения взлома достаточно отобразить сообщение в окне предварительного просмотра. Следующий этап произойдет, когда пользователь перезагрузит компьютер. Рано или поздно это неизбежно случится. Конечно же, можно написать такой сценарий, который сам выполнял бы перезагрузку. При этом запустится файл .НТА (данные файлы автоматически интерпретируются командной оболочкой Windows). В нашем случае пользователь получит следующее "приветственное" сообщение. Эти безобидные действия — одна из многих реализаций в безбрежном море возможностей. В подобной ситуации жертва полностью находится в руках взломщика. Контрмеры Примените модули обновления для компонентов ActiveX Scriptlet и Eyedog, которые можно получить по адресу http://www.microsoft.com/technet/security/ bulletin/ms99-032.asp. "Запуск" документов MS Office с помощью элементов ActiveX Георгий Гунински не ограничил свои изыскания использованием дескрипторов HTML в электронном сообщении для загрузки потенциально опасных элементов управления ActiveX. В последующих информационных сообщениях, опубликованных на его узле, сообщается, что с помощью этого же метода могут быть "запущены" и потенци-ачьно опасные документы Microsoft Office ("поведение" этих документов очень похоже на поведение элементов управления ActiveX). С результатами исследований можно ознакомиться по адресу http://www.nat.bg/-joro/sheetex-desc.html (для документов Excel и PowerPoint) и http://www.nat.bg/~joro/access-desc.html (здесь описывается процедура запуска кода VBA, содержащегося в базах данных Access). OBJECT data="db3.mdb" id="dl"></OBJECT> Как только программа Internet Explorer встречает дескриптор объекта, загружается база данных Access, имя которой задано в параметре data=, а затем для ее открытия вызывается программа Access. Это происходит перед тем, как пользователь получит предупреждение о потенциальной опасности, которая при этом может возникнуть. Таким образом, база данных будет запущена независимо от того, настроен IE/Outlook/ОЕ для запуска элементов управления ActiveX или нет. Ну и дела! helo some domain, corn В этом примере явно задан URL файла db3.mdb (строка 12), чтобы можно было использовать его в сообщении электронной почты. Институтом SANS было выдвинуто требование, чтобы при доступе и совместном использовании файлов Access через Internet применялся протокол SMB. Просто поразительно, сколько FTP-серверов предоставляет свои ресурсы для бесконтрольного размещения данных и доступа к ним. В следующих разделах указаны другие места хранения данных, которые могут заинтересовать взломщиков. Контрмеры: задание пароля администратора Ассеss Запрещение использования элементов управления ActiveX не предотвратит возможности реализации описанных атак. Поэтому нужно применить модуль обновления в соответствии с инструкциями, приведенными по адресу http://www.microsoft.com/-technet/security/bulletin/MS00-049.asp. Особое внимание следует обратить на модуль обновления, предназначенный специально для устранения проблемы, связанной с Access (компания Microsoft назвала ее изъяном "сценария IE" ("IE Script")). Запуск файлов с помощью ненулевого параметра CLSID элементов ActiveX Причиной выявления данного изъяна послужило вскользь сделанное замечание в дискуссии, которая велась в бюллетене Bugtraq по поводу уязвимости, обусловленной "навязыванием" файла вложения (см. ниже), которую предложили реализовать на узле malware. com. Велд Понд (Weld Pond), высококлассный хакер из группы LOpht, прославившийся благодаря утилите netcat для NT (см. главу 5), завел со своим коллегой Oil Dog из группы "Cult of Dead Cow", знаменитым автором программы Back Orifice 2000 (см. главы 4 и 14), разговор о механизме запуска файлов, навязанных пользователям по методике malware.com. Оказывается, можно запустить любой файл, поместив в тело электронного сообщения дескриптор OBJECT и сконфигурировав его с помощью ненулевого параметра CLSID. При этом в мишень превращается каждый исполняемый файл, находящийся на диске пользователя. Ниже приведен пример соответствующей капсулы для взлома электронной почты. helo somedomain.com Обратите внимание на ненулевой параметр CLSID. Именно он приводит в действие весь механизм. Файл, который будет запущен, задается параметром CODEBASE. Контрмеры против использования ненулевого параметра CLSID Основываясь на результатах тестирования, авторы утверждают, что установка соответствующего уровня безопасности зоны позволит устранить эту проблему (см. в предыдущих разделах описание зон безопасности). Переполнение буфера поля даты в программах Outlook и Outlook Express Возможно, кому-то из читателей показалось, что стержнем большинства типов атак являются элементы управления ActiveX. 18 июля 2000 года в бюллетене Bugtraq появилось сообщение об изъяне программ Outlook и Outlook Express совсем другого типа, не имеющем ничего общего с элементами ActiveX. Date: Tue, 18 July 2000 14:16:06 +<около 1000 байтхкод для запуска> В этой книге уже неоднократно упоминалось, что возможность запуска в системе произвольного кода открывает неограниченные возможности. Коварное сообщение позволяет незаметно установить программу типа "троянский конь". Через него могут распространяться "черви", а, кроме того, оно может дискредитировать целевую систему, запускать вложения — одним словом, делать практически все, что заблагорассудится. helo somedomain.com Группа Underground Security Systems Research (USSR, http://www.ussrback.com) также сообщила о том, что обнаружила эту брешь (по крайней мере, об этом заявил хакер Метатрон (Metatron)). Однако, по их утверждению, они не стали сообщать о ней публично, ожидая, пока Microsoft выпустит соответствующий модуль обновления. На базе этого изъяна группа USSR опубликовала свою реализацию, что вызвало интерес к их Web-узлу. Код запускается почти таким же образом, как и в предыдущем примере. Контрмеры против переполнения поля даты Согласно информационному сообщению компании Microsoft, которое можно найти на ее Web-узле по адресу http://www.microsoft.com/technet/
Если выполняется установка, отличная от установки по умолчанию, и во время этого процесса устанавливаются обновленные компоненты Outlook Express, то эта уязвимость также устраняется (при этом у пользователя будет возможность соответствующего выбора). |
"Черви", распространяющиеся через адресную книгу Outlook В течение нескольких последних лет XX века мошенники, избравшие своим инструментом компьютерные коды, организовывали за счет пользователей программ Outlook и Outlook Express буйную новогоднюю "вечеринку". Ими было выпущено целое полчище вирусов-червей, размножающихся по изящной технологии: осуществляя самостоятельно рассылку по каждому адресу, найденному в адресной книге жертвы, эти вирусы маскировались под сообщения, присланные из надежного источника. Это оригинальное применение методов соииа1ьной инженерии (см. главу 14) было ударом, который злой гений-изобретатель наносил наверняка. Корпорации, в которых работали десятки тысяч служащих, активно использующих Outlook, были вынуждены отказаться от применения почтовых служб, чтобы остановить поток сообщений, снующих туда-сюда от одного пользователя к другому, засоряя почтовые ящики и забивая до отказа дисковое пространство почтовых серверов. Согласитесь, тяжело удержаться от того> чтобы не открыть вложение, пришедшее от знакомого, которому вы доверяете. "Червь" ILOVEYOU Ниже приведена подпрограмма "червя" ILOVEYOU. написанная на языке VBScript. которая обеспечивает его распространение через электронную почту (некоторые строки были разделены вручную, чтобы уместить их на странице). sub spreadtoemail() Эта простая программа длиной в 37 строк обращается к интерфейсу MAPI, чтобы отыскать местоположение адресной книги Windows (WAB — Windows Address Book) в системном реестре. Затем она создает новое почтовое послание с темой I LOVE YOU и телом kindly check the attached LOVELETTER coming from me ("будьте так любезны, прочтите вложенное любовное письмо, пришедшее вместе с данным сообщением"), которое рассылается каждому найденному адресату. Если кто-нибудь из далеких от программирования читателей думает, что речь здесь идет о какой-нибудь сложной науке, то будет уместно напомнить, что принцип работы вируса ILOVEYOU основан на дипломной работе, написанной 23-летним студентом. Кто знает, какой еще ущерб мог бы быть нанесен? Как остановить "червей", распространяющихся через адресную книгу После нескольких лет критики в средствах массовой информации компания Microsoft устала обвинять пользователей в том, что они сами запускают вложения электронной почты, в которых содержатся вирусы-"черви", и выпустила соответствующий модуль обновления. Он называется Outlook 2000 SR-1 E-mail Security Update и Outlook 98 E-mail Security Update (http://officeupdate.microsoft.com/2000/downloadDetails/Out2ksec.hem и Out98sec .htm соответственно). Одной из особенностей этого модуля является наличие в нем механизма защиты модели объектов (Object Model Guard), который был разработан .для предупреждения пользователей о том, что внешней программой предпринята попытка получения доступа к их адресной книге Outlook или отправки сообщений от их имени. Компания Reliable Software Technologies Corporation (RSTCorp) выпустила дополнительную утилиту, предотвращающую обращения к Outlook определенного типа, поступающие от компонента Virtual Basic Scripting Engine. Таким образом можно предотвратить распространение вирусов, подобных 1EOVEYOU. Эту дополняющую программу, которая называется JustBeFriends.dll (JBF), можно использовать совместно с модулем обновления программы Outlook, который предлагается компанией Microsoft. В отличие от механизма OMG компании Microsoft, который контролирует доступ к функциям Outlook внутри самой программы, JBF контролирует возможность доступа к Outlook или Outlook Express со стороны других приложений. Если попытка доступа осуществляется с помощью сценария, запушенного с рабочего стола или из вложения, то утилита JBF предотвращает эту попытку. В противном случае пользователь должен подтвердить, что данному приложению разрешен доступ к Outlook. |
Атаки с использованием вложений Одной из наиболее удобных особенностей электронной почты является возможность вставки в сообщения файлов. Однако это удобство, позволяющее сэкономить время, имеет и очевидные отрицательные стороны, а именно: у пользователей появляется непреодолимая тяга запустить чуть ли не каждый файл, полученный по электронной почте. Кажется, никому не нужно напоминать, что это равносильно приглашению к себе в гостиную плохих парней. Взлом с использованием в качестве вложений файлов-оболочек Малоизвестным секретом системы Windows является то, что у файлов с расширением . SHS их реальное расширение по умолчанию скрыто в соответствии с параметром системного реестра HKEY_CLASSES_ROOT\ShellScrap\NeverShowExt. Очевидно, что в этом не было бы ничего особенного, если бы эти файлы .SHS, также известные как объекты Shell Scrap Objects, не обладали возможностью запускать команды. Основанные на технологии Object Linking and Embedding (OLE), обсуждавшейся в разделе, посвященном элементам управления ActiveX, эти файлы являются, по существу, оболочками для других внедренных объектов. Такими объектами могут быть электронные таблицы Excel (большинство читателей знают, что их можно помещать в документы Word) или файлы другого типа. Самый простой способ создать такой файл — это поместить какой-либо файл в другое приложение, поддерживающее технологию OLE (например, Wordpad), а затем скопировать его пиктограмму в другую папку. Теперь файл, который мы вставляли, содержится в своем собственном файле-оболочке, имеет свою пиктограмму и уникальное расширение (SHS). При запуске файла SHS помещенный в него объект запускается вместе с ним. Более того, с помощью компонента Microsoft Object Packager с вложенным объектом можно связывать команды, что открывает новые возможности для тех, кто хоть немного знаком с DOS. Контрмеры против использования файлов. SHS На Web-узле PCHelp приведены некоторые замечательные советы по снижению риска от применения наиболее опасных свойств файлов . SHS. В число этих рекомендаций входят следующие.
Сокрытие расширения вложения с помощью пробелов 18 мая 2000 года Волкер Вес (Volker Werth) поместил в списке рассылки Incidents сообщение, в котором говорилось об одном методе отправки вложений в почтовых сообщениях. Особенность этого метода заключалась в остроумном способе маскировки имени присоединенного файла. Вставка в имя файла символов пробелов (%20) приводила к тому, что почтовые программы отображали только первые несколько символов имени файла. Например,
Контрмеры против сокрытия имени присоединенного файла Из приведенного рисунка видно, что файл вложения не является документом Word. На это указывает и троеточие (...)• Если этих признаков недостаточно, то вообще не стоит открывать файл вложения прямо из почтовой программы! В этом поможет модуль обновления Outlook SR-1 Security. После его установки пользователю придется принудительно сохранять на диске те файлы, которые могут нанести ущерб. Методы социальной инженерии, помогающие ввести пользователя в заблуждение и загрузить вложение Социальная инженерия — это действенный метод, помогающий убедить пользователя сохранить файл вложения на диске. Вам когда-нибудь встречалось сообщение со следующим текстом? Меры предосторожности против трюков с вложением Контролируйте свои действия и не совершайте необдуманных поступков. Перед тем как запустить сохраненные на диске вложения, проверяйте их на наличие вирусов с помощью специальных программ. Даже если в результате проверки не будет обнаружено ничего подозрительного, перед запуском нужно всерьез подумать о том, кто является автором сообщения. При этом помните, что такие вирусы-"черви", как ILOVEYOU, могут быть получены даже от самых близких друзей. |
Запись вложений на диск без участия пользователя До сих пор речь шла о различных механизмах запуска файлов, которые можно обманным путем поместить на удаленный диск пользователя. Описанные выше виды взлома были рассчитаны на определенные исполняемые файлы (расположенные либо на удаленном сервере, либо на диске пользователя), выполняющие свою грязную работу. А что, если взломщик имеет возможность записывать на диск выбранной жертвы свои файлы? Пользуясь этим, можно разработать завершенный способ доставки в систему пользователя и запуска в ней файлов, реализующих взлом. Перехват функции Save As программ Excel и PowerPoint Фокус, лежащий в основе этого взлома, был придуман Георгием Гунински, который остроумно воспользовался функцией SaveAs программ Excel и PowerPoint. Как только документ Office с помощью дескриптора OBJECT вызывается в программе Internet Explorer (об этом уже упоминалось выше), появляется возможность сохранить данные в произвольном месте диска. В своей реализации этой идеи Георгий сохраняет данные, извлеченные из файла Bookl.xi.r-. Он является обычным файлом в формате Excel с расширением .xla. Если такой файл поместить в папку Startup, то во время загрузки системы он будет запущен. helo somedomain.com Написанный Георгием код расположен между дескрипторами <object> и </SCRlPT>. Изменения внесены таким образом, чтобы указать полный адрес URL файла Bookl.xla (в первоначальной реализации этот файл был доступен непосредственно на Web-сервере). Содержимое Bookl.xla записывается в файл, указанный в строке fn=. Из исходного кода Георгия удалены также строки комментариев, в которых указано, как сохранить этот файл (предполагается, что об этом нетрудно догадаться). Просмотр этого сообщения в программе Outlook Express системы NT4 с зоной, для которой задан уровень безопасности Low, приведет к неожиданному появлению на короткое время окна передачи файла, вслед за которым появится следующее сообщение. Здесь авторы в качестве материала воспользовались уже готовым файлом Георгия Bookl.xla. Этот файл абсолютно безобиден. В нем содержится код длиной в пару строк, который при запуске выводит в окне DOS сообщение Hello World. Однако ввиду увеличения числа серверов, предоставляющих услуги по анонимному хранению файлов, хакеру-злоумышленнику будет совсем несложно создать свой собственный документ Office и обеспечить его загрузку. Готовой базой для размещения таких файлов также могут быть плохо настроенные или взломанные серверы FTP. Меры предосторожности против записи файлов с помощью программ Excel и PowerPoint Стоит ли повторять еще раз? Воспользуйтесь соответствующими модулями обновления, которые можно найти на Web-узле по адресу http://www.microsoft.com/ technet/security/bulletin/MS00-049. asp. Установка этих модулей обновления приведет к тому, что документы Excel и PowerPoint будут помечены как "unsafe for scripting" (пожалуйста, не торопитесь смеяться). Конечно, можно совсем запретить использование элементов управления ActiveX, как описано в разделе, посвященном зонам безопасности, тем самым раз и навсегда закупорив эту злосчастную брешь. Вложения с принудительной загрузкой Для описанного на Web-узле http://4-ww.malware.com способа загрузки файла на диск пользователя без его разрешения на этом же узле было предложено название принудительная загрузка (force feeding). Сущность данного подхода состоит в том, что, как утверждают специалисты, Outlook/OE игнорирует ответ пользователя на вопрос о том, что делать с файлом вложения электронного сообщения. Обычно, когда присоединенный файл запускается из почтовой программы, пользователю предоставляется три варианта действий: Open, Save To Disk или Cancel. Согласно утверждению, приведенному на узле malware.com, независимо от выбора пользователя вложение будет записано в каталог Windows %temp% (С: \Windows\temp — в Win 9x и С: \temp — в NT). Временные каталоги в Win 2000 настраиваются по усмотрению пользователя, поэтому, если эта система устанавливалась "с нуля", а не поверх предыдущих версий, определить их местоположение сложнее. Поместив требуемые файлы в систему пользователя, их можно запустить с помощью специального дескриптора HTTP. При этом броузеру скрытно и автоматически будет передана страница, указанная в дескрипторе. Например, <МЕТА HTTP-EQUIV="refresh" Этот код, помещенный на Web-страницу, перенаправит броузер на Web-узел www.othersite.com. Параметр context= задает интервал ожидания, по истечении которого броузером будет выполнен заданный переход. Для принудительной загрузки операторы узла malware.com выбрали один из их локальных файлов и поместили его адрес в дескриптор. Запись вложения в каталог TEMP с помощью дескриптора I FRAME Данный метод, который в 2000 году был опубликован Георгием в девятом номере его информационного бюллетеня , продемонстрировал дальновидность его автора, которому удалось умело воспользоваться, казалось бы, незначительными проблемами. Предложенный подход основан на том, что программы Outlook и Outlook Express создают в каталоге TEMP файлы с известным именем и произвольным содержимым, что очень похоже на механизм, созданный на узле malware.com. Однако, использовав другие свои разработки, в число которых входит использование изъяна, позволяющего запускать ярлыки файлов справочной системы Windows , и дескрипторы IFRAME, Георгий разработал, по-видимому, непревзойденный непротиворечивый механизм доставки кода и его последующего запуска. Поэтому авторы присвоили этому методу степень риска, равную восьми, т.е. наивысшую среди рассматриваемых. Он гораздо ближе других алгоритмов подошел к тому, чтобы стать целостным пакетом, предоставляя возможность записи файла на диск и запуска этого файла без необходимости какого-либо вмешательства пользователя. helo somedoir.ain.com В процессе тестирования, выполненного авторами на программах Outlook и Outlook Express, установленных в системах Windows 9x, NT и 2000, этот метод работал безотказно, чаще всего в режиме предварительного просмотра. Строки, которые начинаются с setTimeout, задают каталог каждой из трех операционных систем. Сможете ли вы установить между ними соответствие? Контрмеры против использования дескрипторах FRAME Единственной защитой против атак такого рода является осторожное обращение с элементами управления ActiveX, как упоминалось в разделе, посвященном зонам безопасности. О выпуске соответствующего модуля обновления компания Microsoft не позаботилась. |
Уязвимость службы IRC Internet Relay Chat (IRC) является одним из наиболее популярных приложений Internet. Эта программа привлекает пользователей не только тем, что они могут общаться в реальном времени, но и возможностью без задержки обмениваться файлами с помощью самых современных клиентских программ IRC (авторы отдают предпочтение mIRC). Вот здесь-то и начинаются проблемы. Взлом DCC Интересная дискуссия по поводу описываемой в данном разделе атаки завязалась в списке рассылки Incidents на Web-узле http://www.securityfocus.com (обзор за 10-11 июля 2000 года, №2000-131). Вот поучительная история: любопытному пользователю предложили получить файл по прямому каналу DCC (DCC — direct client to client) (в службе IRC используются методы под названием DCC Send и DCC Get, предназначенные для установки прямого соединения с другим клиентом IRC и передачи/приема файлов с использованием этого соединения, а не сети IRC). Файл назывался LIFE_STAGES.TXT. (Где же он нам встречался? Загляните-ка в один из предыдущих разделов, в котором описываются вложения файлов . SHS Windows.). Ясно, что это была либо очевидная попытка причинить вред, либо автоматизированная атака, выполняемая с использованием взломанного клиента IRC без ведома его хозяина. Контрмеры К счастью, большинство клиентов IRC по умолчанию загружают файлы, передаваемые по DCC, в заданный пользователем каталог. После получения файла пользователь должен зайти в этот каталог и запустить файл вручную. |
Взлом Napster с помощью программы Wrapster
Хотя авторы и не считают, что приложения Napster и Wrapster в настоящее время представляют большую угрозу для безопасности, они полагают, что оба программных продукта в значительной мере обладают отличительными особенностями программ, имеющих отношение к хакингу. Именно поэтому о них следует упомянуть в данной книге. Те читатели, кто знает, о чем пойдет речь в этом разделе, могут сразу перейти к следующему. А тем, кто ничего не слышал хотя бы об одной из этих программ, стоит с ними познакомиться. Всем, независимо от отношения к проблемам интеллектуальной собственности и авторского права, будет полезно узнать о необычайном удобстве, богатстве выбора и настоящем удовольствии, предоставляемом программой Napster. Еще один пример программного продукта, по вине которого могут возникнуть проблемы нарушения безопасности, вызванные сочетанием его мощи и популярности, — революционное изобретение для сетевого обмена файлами компании Napster (http://www. napster.com). Пакет Napster представляет собой разновидность типичного средства обмена файлами на платформе клиент/сервер. При этом сервер функционирует в качестве централизованного индексного указателя аудиофайлов в формате МРЗ, которые хранятся на жестких дисках всех пользователей, подсоединившихся к сети с помощью клиентской программы Napster. В индексном указателе пользователи могут выполнять поиск МРЗ-файлов. которые они хотят загрузить, а сервер соединяет их клиентскую программу непосредственно с тем пользователем, на диске которого хранятся требуемые файлы. Таким образом, все пользователи, желающие принять участие в обмене, должны выделить какой-то участок своего жесткого диска и предоставить остальным право чтения/записи. Появились сведения о том, что различные клоны пакета Napster, распространяющиеся через открытые источники, обладают изъяном. Он позволяет взломщикам просматривать файлы на том компьютере, на котором запущена уязвимая клиентская программа Napster (в официальных коммерческих версиях этот изъян отсутствует). |
Глобальные контрмеры против атак на пользователей Internet В этой главе приведено множество опасных атак на пользователей Internet. Многие из описанных приемов направлены на то. чтобы обманным путем принудить пользователя запустить вирус, "червь" или другой опасный код. Кроме того, были представлены многие частные решения подобных проблем. Теперь пришло время познакомиться с общими методами зашиты против подобных атак. |
Постоянно обновляйте антивирусные базы данных Конечно, такое средство защиты, как антивирусные программы, существует и повсеместно используется уже давно. Тот. кто не применяет их для обеспечения безопасности своей системы, подвергает себя большому риску. Подобное программное обеспечение можно приобрести у многих разработчиков. Известные антивирусные пакеты (такие как Norton Antivirus компании Symantec, McAfee, Data Fellows, Trend Micro. Inoculan/InoculateIT компании Computer Associates и другие) соревнуются между собой, стараясь обеспечить наиболее полную защиту от злонамеренного кода. |
Защита шлюзов Надежная стратегия защиты на уровне сети является наиболее эффективным способом защиты большого количества пользователей. В качестве средства для решения многих описанных в этой главе проблем, конечно же, следует выбрать брандмауэр. Особое внимание нужно уделять спискам управления доступом из глобальной сети, которые могут стать мощной преградой для коварного кода, пытающегося проникнуть на плохо настроенные внутренние серверы. |
Резюме После написания этой главы нам хотелось бы облегченно вздохнуть и снова на несколько лет окунуться в дальнейшие исследования методов хакинга пользователей Internet. На самом деле за рамками книги осталось еше много материала на эту тему. Описать все разнообразие проверенных и непроверенных атак, применяемых против обычного клиентского программного обеспечения, оказалось непростым делом. Наряду с десятками остроумных подходов, разработанных такими яркими личностями, как Георгий Гунински, в окончательный вариант книги не попали многие вопросы, касающиеся взлома Web-серверов, предоставляющих услуги электронной почты (Hotmail), хакинга пользователей службы AOL, взлома линий связи с модулированной передачей данных в Internet и получения личных данных клиентов. Конечно, перед сообществом Internet еще долгие годы будут стоять все эти проблемы, а в будущем появятся новые, которые пока что даже трудно представить. Ниже приведены некоторые рекомендации, следуя которым, пользователи смогут обеспечить наиболее высокий уровень безопасности, который возможен на сегодняшний день.
|