Защита от хакеров корпоративных сетей
Шрифт:
Примечание
Один примечательный проект, связанный с утечкой информации, – исследование протокола ICMP (протокол управляющих сообщений в сети Internet), проводимое Офиром Аркином (Ofir Arkin). На его сайте www.sys-security.com размещено несколько html-страниц, на которых обсуждаются методы использования ICMP для сбора важной информации. Две страницы, озаглавленные «Identifying ICMP Hackery Tools Used In The Wild Today» («Современный инструментарий дикого хакера для идентификации ICMP») и «ICMP Usage In Scanning» («Использование ICMP для сканирования»), доступны на www.sys-security.com/html/papers.html. Они не предназначены для щепетильных людей, но содержат много информации.
Утечка информации об архитектуре сети
Это общая проблема. Некоторые программы любезно и охотно предоставляют важную информацию об архитектуре сети. Протоколы типа SNMP (Simple Network Management Protocol) предусматривают открытое описание соединений для взаимодействия с другими системами. Ухудшает
Печально, но SNMP все еще широко используется. Например, маршрутизаторы Cisco поддерживают SNMP. Некоторые операционные системы типа Solaris устанавливают и запускают SNMP-средства по умолчанию. Помимо других уязвимостей, найденных в этих средствах, их использование с конфигурацией по умолчанию – явно плохая практика.
Утечка с Web-серверов
Предварительно уже говорилось о чрезмерно болтливых Web-серверах, сообщающих назойливым пользователям лишние сведения о себе при некоторых режимах их работы. Эта проблема еще более усложняется, когда используются такие вещи, как PHP, CGI (Common Gateway Interface) и мощные машины поиска. Подобно любому другому инструментарию, они могут использоваться как на пользу, так и во вред.
Так, PHP, CGI и машины поиска могут использоваться для создания интерактивных Web-средств, настраиваемой среды пользователя для работы в Интернете и автоматизации предпринимательской деятельности. А могут использоваться и для злонамеренных действий, особенно если в их реализации есть ошибки. Беглое знакомство с документом ARIS (Attack Registry and Intelligence Service) показывает, что под номером 3 в нем значится тип атак, использующих обход директории («Generic Directory Traversal Attack»). (Этим типам атак в документе предшествуют атаки с использованием ISAPI и нападения типа cmd.exe, которые на момент написания книги были очень многочисленными и разнообразными.) В группу атак на основе обхода директории входят атаки типа dot-dot (..) или атаки относительного пути (…), в ходе которых в URL добавляются точки для выяснения, приведет ли это к переходу в другую директорию и выдаче листинга или выполнению программы на Web-сервере.
Сценарии, которые предоставляют возможность обхода директорий, позволяют не только кому-либо сменить директорию и просмотреть список файлов системы. Они позволяют злоумышленнику прочитать любой файл, читаемый HTTP-сервером с учетом монопольного использования и группового членства. А это, в свою очередь, может позволить пользователю получить доступ к файлу паролей passwd в директории /etc и к другим непривилегированным файлам Unix-систем или иных систем, например Microsoft Windows, привести к чтению (а потенциально и к записи) привилегированных файлов. Любые данные, полученные в результате этого типа атак, могут быть использованы для подготовки более опасных нападений. Web-сценарии и приложения должны стать темой тщательного рассмотрения еще до их установки. Подробнее познакомиться с ARIS можно по адресу http://ARIS.securityfocus.com.Гипотетический сценарий
Некоторые программы, например Sendmail, в большинстве своих реализаций по умолчанию предоставляют сведения о пользователях системы. Усугубляет ситуацию еще и то, что эти программы используют пользовательскую базу данных как справочник для адресов электронной почты. Кое-кто, возможно, лишь усмехнется, услышав рассуждения о возможности утечки информации. В этом случае задумайтесь над следующим примером.
В маленьком городке два Интернет-провайдера. Интернет-провайдер A появился позднее Интернет-провайдера B и быстро развивается, существенно увеличивая число своих клиентов. Интернет-провайдер B обосновался в городке раньше A и владеет большим процентом клиентов. Интернет-провайдер B ведет конкурентную войну с Интернет-провайдером A, недовольный тем, что A ограничивает сферу деятельности B и выбивает почву из-под его ног. У Интернет-провайдера A работают более квалифицированные системные администраторы, которые смогли воспользоваться преимуществами различных программных средств, ограничив доступ пользователей к важной информации. Они достигли этого с помощью таких ухищрений, как организация почты (hosting mail) на отдельном сервере, использование различных регистрационных имен оболочки сервера для исключения возможности получения доступа к базе данных почтовых адресов различным пользователям. Однако Интернет-провайдер B не предпринял таких мер предосторожности. Однажды сотрудников Интернет-провайдера A осенила блестящая идея, как получить учетные записи Интернет-провайдера B. Эти учетные записи позволят им сначала получить доступ к почтовому серверу Интернет-провайдера B, а затем легко завладеть файлом паролей passwd. Зная пароли, можно будет по почте отправить всем пользователям Интернет-провайдера B предложение о сотрудничестве с Интернет-провайдером A, предлагая им существенные скидки по сравнению с текущими расходами у Интернет-провайдера B.
Как вы можете видеть, утечка подобной информации может привести не только к взлому системы безопасности, но и, возможно, к банкротству. Предположим, что компания смогла получить доступ к информационным системам своего конкурента. Что остановит ее от кражи, дезинформации, мошенничества и осуществления всего того, что можно сделать для подрыва честной конкуренции? Дни наивности в Интернете закончены.
Почему опасна утечка информации?В силу различных причин всегда найдутся люди, которые не обеспокоены утечкой информации. Такое отношение к утечке информации объясняется, например, тем, что, по их мнению, утечку информации остановить невозможно
Любая грамотно разработанная операционная система предоставляет возможности или для уклонения от «снятия отпечатков пальцев», или для затруднения проведения идентификации системы на их основе, требуя проведения дополнительных мероприятий. Некоторые системы даже предоставляют возможность посылки поддельных «отпечатков пальцев» чрезмерно навязчивым хостам. Причины этого очевидны. Возвращаясь к примеру из военной области, отметим, что зачастую подготовка к предстоящему нападению тщательно скрывается для достижения эффекта неожиданности. Это может достигаться маскировкой своих сил, скрытию их передислокации, передаче только зашифрованных сведений и т. д. Подобное ограничение утечки информации заставляет неприятеля принимать решения без знания истинного положения дел, увеличивая тем самым возможность совершения ошибки.
Поэтому, по аналогии с армией, для которой существует риск нападения на нее грозного врага, следует приложить максимум усилий для скрытия ресурсов собственной сети от сбора сведений и предотвратить утечку информации. Любая имеющая значение информация о сети, которая окажется в распоряжении злоумышленника, предоставит ему возможность сделать обоснованные выводы в нужном направлении. Устранение утечки информации вынуждает злоумышленника предпринимать дополнительные меры для сбора необходимой ему информации. Возросшая активность злоумышленника увеличивает шансы его обнаружения.Нарушения прав доступа к файлу
Нарушения прав доступа к файлу создают благоприятные условия для начала атаки. Используя нарушения прав доступа к файлу и методы, описанные в секции «Утечка информации», злоумышленник может добраться до секретной информации типа имен пользователей или их паролей в системе, получить доступ к другим файлам при помощи, например, смены владельца файла или атаки символических ссылок (symboliclink attack).
Права
Один из самых простых способов обеспечить безопасность файла состоит в обеспечении прав работы с ним. Часто это один из наиболее освещаемых аспектов безопасности системы. Некоторые однопользовательские системы типа Microsoft Windows 3.1/95/98/ME не поддерживают права доступа к файлам. В то же время многопользовательские системы имеют, по крайней мере, одно, а обычно несколько возможностей управления доступом к файлам.
Например, Unix-подобные системы и некоторые Windows-системы поддерживают пользователей и группы пользователей, позволяют задавать атрибуты файлов для указания прав пользователя и группы пользователей на выполнение тех или иных действий с файлом. Пользователь или владелец файла может быть наделен правами полного управления файлом, включая операции чтения, записи и выполнения других разрешенных действий с файлом. В то же время пользователь группы, назначенной этому файлу, может иметь права на чтение и выполнение файла, а пользователи, не являющиеся владельцами файла или членами группы, могут обладать другим набором прав или вообще не иметь никаких разрешений на работу с файлом.
В дополнение к стандартному набору прав владельца файла группы пользователей и многие Unix-подобные системы поддерживают более изощренные методы разрешения доступа к файлу. Их реализация разнообразна: от простого – типа предоставления возможности определить, какие пользователи имеют доступ к файлу, – до более сложного – назначения ролевого имени для открытия пользователям доступа к набору утилит. В составе операционной системы Solaris имеется два таких примера: ролевое управление доступом (Role-Based Access Control – RBAC) и списки управления доступом (ACL – Access Control Lists).
Списки управления доступом ACL позволяют пользователю определить доступ к файлу для отдельных пользователей системы. Список доступа связан с владельцем и членством в группе.
Ролевое управление доступом RBAC – сложный инструментарий, предусматривающий различные слои прав. Инструментарий можно настраивать, предоставляя пользователям обширные общие роли для выполнения таких функций, как добавление пользователей, изменение некоторых настроек системы и т. п. Также можно ограничить права пользователей, разрешив им выполнять только отдельные функции.
Примечание
Дополнительные сведения о RBAC и ACL можно найти в книге издательства Syngress Hack Proofing Sun Solaris 8 (ISBN 1-928994-44-X).
Атаки символических связей
Атаки символических связей – это проблема, которая обычно используется злоумышленником для реализации своих замыслов. Цель подобных атак состоит в изменении полномочий работы с файлом, разрушении файла в результате добавления в конец новых данных или перезаписи файла с уничтожением ранее содержащейся в нем информации.
Атаки символических связей часто начинаются из директорий для хранения временных данных. Обычно проблема возникает из-за ошибки программирования. Когда запускается уязвимая программа, она создает файл с параметрами, делающими его уязвимым для нападения. Таких параметров два.
Первый – права работы с файлами. Второй – создание небезопасных временных файлов, то есть уязвимых для нападения злоумышленника. Если файл был создан с опасными с точки зрения безопасности системы правами работы, то он может быть изменен злоумышленником. В зависимости от алгоритма работы программы возможна ситуация, когда измененные злоумышленником данные временного файла могут быть переданы сессии пользователя.