Безопасность клиентского программного обеспечения
Автор: неизвестен
Редактор: Кирилл Шагин
Пользователи внутренней сети могут иметь доступ к ресурсам демилитаризованной зоны, в частности к почтовым серверам, прокси серверам и различным шлюзам, и, таким образом, получает опосредованный доступ к ресурсам Internet. Какие риски обычно ассоциируются с использованием электронной почты и ресурсов Internet? Возможность утечки информации, вирусы, троянские программы... Для защиты обычно применяют средства электронной подписи, антивирусные программы и другие системы контент-фильтрации установленные на почтовых шлюзах, чтобы не пропустить во внутреннюю сеть потенциально опасные файлы. Но часто не учитывается возможность атаки через Internet на клиентское программное обеспечение.
Риски
В чем же особенность атак на клиентское программное обеспечение? Дело в том,
что в отличие от атак на Internet-сервисы в случае успеха атакующий
сразу получает доступ во внутреннюю сеть и ко всем ресурсам, к которым имеет
доступ пользователь - рис.2.
В случае если сеть построена по принципу яйца и имеет только периметрическую
защиту (а это не редкость даже в весьма приличных компаниях) атакующий автоматически
получает полный доступ ко всем ресурсам сети. Это делает атаки на клиентское
программное обеспечение более опасными, чем атаки на Internet-службы.
Атаки
Давайте не будем анализировать атаки связанные с возможностью перехвата
сообщений во время передачи, связанные с вирусами и социальной инженерией. Мы
будем рассматривать риски связанные с возможностью атаки внутрь вашей сети используя
клиентское программное обеспечение для работы в Internet.
Троянское содержимое
Следует рассматривать два вида троянского содержимого: троянские программы "общего пользования", которые в несчетном количестве гуляют по
сети и которые можно отнести к вирусам и троянские программы разработанные специально для того, чтобы атаковать именно вашу сеть. Последние могут быть весьма опасны и не будут отслеживать антивирусами. Программа может управляться извне получая команды с web-сервера или по электронной почте.Атаки сбора информации
Как правило, перед собственно атакой на корпоративную сеть проводится сбор информации о данной сети, с целью выяснить ее внутреннюю структуру, используемое программное обеспечение, методы и режимы администрирования, число и уровень подготовки администраторов и т.д. Зачастую электронная почта может позволить атакующему получить интересующие его сведения, методов достаточно много, начиная от простых писем к системных администраторам и анализом ответов и заканчивая методами с автоматической "обратной связью", например включения в письмо элемента находящегося на внешнем сервере. При обращении к внешнему серверу будет зарегистрирована информация о браузере, которая может содержать не только сведения о системе но и сведения об учетных данных пользователя.Атаки на адресную книгу
Задача атаки на адресную книгу заставить пользователя послать информацию не по тому адресу, по которому информация должна уйти. Методы могут быть разные: начиная от использования похожих имен и заканчивая использованием уязвимостей в организации адресных книг, например в Microsoft Outlook Express [1].Атаки на уязвимость программного обеспечения.
Последствия атак на уязвимость программного обеспечения могут быть те же, что и атак с помощью троянцев. Достаточно часто используются комбинированные атаки, т.е. уязвимость программного обеспечения используется для автоматического запуска троянской программы без участия пользователя. Но особенность атак на уязвимость программного обеспечения в том, что для атаки могут использоваться внешне безобидные данные, например письмо не содержащее вложенных файлов или какого-либо активного содержимого (например сценариев, макросов и т.д.). Это делает практически невозможным предотвращение подобных атак с помощью контент-фильтров. Например практически ни один из тестированных фильтров оказался не в состоянии обнаружить атаку Matrix [2] проведенную через электронную почту.
Эффективна ли защита?
Есть два способа обеспечения безопасности: безопасность за счет наблюдения и
безопасность за счет предотвращения. Антивирус способен распознать лишь то содержимое,
сигнатура которого имеется в его базе, а это означает, что всегда можно создать
содержимое которое пройдет сквозь антивирусную защиту. Аналогичная проблема
есть и в контент-фильтрах, хотя их иногда относят к программам второго рода.
Даже в том случае когда вы просто фильтруете вложения определенных типов, контент-фильтр
и клиентская программа могут по-разному обрабатывать содержимое письма, результатом
чего может быть то, что почтовая программа найдет вложение там, где контент-фильтр
его просто не нашел, приняв вложение за текст письма. Методы обхода контент-фильтров
рассматриваются в [3]. Однако, все это не означает, что следует
отказаться от использования программ фильтрации и антивирусов.
Наличие фильтров сильно усложняет возможную атаку на вашу внутреннюю сеть, зачастую
делая ее экономически невыгодной. Кроме того, это программное обеспечение отфильтрует
типовые атаки, и снизит число происшествий во внутренней сети, что освободит
системным администраторам время для анализа остальных происшествий, а так же
даст администраторам информацию откуда следует ожидать нетиповых атак.
Что еще следует предпринять для защиты?
Повысить стандарты администрирования внутренней сети, больше уделять внимания
разграничению доступа, аудиту нестандартных явлений и сопровождению клиентского
программного обеспечения. Это позволит предотвратить многие атаки или обнаружить
их в момент развития. Многие организации предпочитают экономить на пользовательской
поддержке, а уровень поддержки пользователей и пользовательского программного
обеспечения не должен быть ниже уровня поддержки серверов, требуются и соответствующие
кадры.
Предотвращение атак через клиентские приложения
Возможно ли все-таки предотвратить атаки, а не просто снизить ожидаемый ущерб?
В случае с Internet-сервисами мы изолировали их в экранированную демилитаризованную
зону, предотвратив возможность доступа к корпоративным данным с скомпрометированного
сервера. Почему бы не изолировать от данных и опасные клиентские приложения?
Возможно использование отдельной учетной записи для запуска клиентских приложений.
Приложение запущенное с другой учетной записью может иметь пониженный уровень
доступа и будет изолированно от данных пользователя, даже если оно будет работать
на том же компьютере одновременно с другими приложениями данного пользователя
(локальная изоляция).
К сожалению, разграничение прав доступа в рамках одной машины это нетривиальный процесс, и очень велика вероятность ошибки которая позволит изолированному клиентскому приложению получить повышенные права доступа. Поэтому наиболее надежным остается вынос потенциально опасных клиентских приложений в отдельную экранированную сеть.
Приложения могут быть вынесены на терминальный сервер. Существуют различные
технологии (например Application Publishing в Citrix Metaframe) которые делают
этот процесс быстрым и, главное, практически незаметным для пользователя, т.к.
пользователь продолжает взаимодействовать с приложением так, как если бы оно
было запущено локально. Таким образом мы получаем 3 корпоративных зоны:
- демилитаризованную серверную зону,
- зону изолированных клиентских приложений,
- внутреннюю корпоративную сеть.
Мы исключаем возможность попадания каких-либо данных из Internet во внутреннюю
сеть кроме случаев, когда эти данные явным образом скопированы пользователем
из зоны изолированных приложений. Запрет копирования потенциально опасных данных
(например исполняемых файлов, макро-документов) в данном случае реализуется
достаточно просто.
Заключение
Атаки на клиентские приложения не являются новыми, но наблюдается тенденция
повышения уровня подобных атак. Если раньше наиболее распространенной атакой
было внедрение троянца с использованием методов социальной инженерии и с целью
получения учетных записей Internet, то сейчас достаточно часто можно наблюдать
профессионально проведенные атаки направленные именно на взлом сети. И даже
более того - большая часть громких взломов в течении последних 1-1,5 лет были
проведены не через атаки на серверные системы. Исходя из тенденции можно предположить,
что в ближайшее время по числу и проценту успешных попыток именно атаки на клиентское
программное обеспечение смогут обойти атаки социальной инженерии. Нужно быть
к этому готовым.
Ссылки
[1] SECURITY.NNOV, Проблема с адресной книгой в Outlook Express
http://www.security.nnov.ru/search/news.asp?binid=1229
[2] SECURITY.NNOV, Переполнение буфера в mshtml.dll (buffer
overflow)
http://www.security.nnov.ru/search/news.asp?binid=1782
[3] SECURITY.NNOV whitepaper, Bypassing content filtering software
http://www.security.nnov.ru/advisories/content.asp
По материалам SECURITY.NNOV