2004 г.
Иллюзии и реалии безопасности
Сергей Кузнецов
Открытые системы, #07/2004
Атаки, подрывающие безопасность в Internet, распространяются по тем же широкополосным сетям, которые обеспечили повсеместное использование Сети в различных прикладных областях. Скорость Internet растет настолько быстро, что за этим не поспевает развитие средств обеспечения безопасности — по данным координационного центра CERT, число известных инцидентов, связанных с нарушением защиты в Internet, выросло с 82094 в 2002 году до 137529 в 2003-м. Убытки, нанесенные вирусными атаками, увеличились с 20 млрд долл. в 2002 году до 55 млрд долл. в 2003-м. Тема июньского, 2004 г. номера журнала Computer (IEEE Computer Society, V. 37, No. 6, June 2004) звучит коротко и ясно: «Безопасность Internet» (Internet Security).
На этот раз Тематической подборке предшествует вводная заметка приглашенных редакторов — Саймона Шима (Simon Shim, San Jose State University), Ли Гонга (Li Gong, Sun Microsystems), Эвайла Рубина (Aviel Rubin, John Hopkins University) и Линли Гвеннепа (Linley Gwennap, The Linley Group). Заметка называется «Обеспечение безопасности в высокоскоростной сети Internet» (Securing the High-Speed Internet).
Сегодняшние средства защиты безопасности имеют слоистую природу, защищая как Internet в целом, так и индивидуальные компьютеры. Важнейшими являются сканеры вирусов, устанавливаемые на персональных компьютерах, серверах, прокси-серверах и шлюзах и обеспечивающие защиту от многих известных вирусов. Для обеспечения эффективной защиты требуется постоянное обновление баз данных определений вирусов, причем некоторые исследователи утверждают, что для проведения единообразной политики безопасности следует переместить ближе к Internet-провайдерам решения обеспечения безопасности, а для этого требуются технологии, обеспечивающие защиту «на лету», со скоростью работы Internet.
В состав применяемых средств защиты входят сетевые экраны, инспектирующие сетевые пакеты на основе списков контроля доступа (access control list, ACL). Такие списки позволяют осуществлять простую фильтрацию пакетов на основе номеров портов или IP-адресов. Сетевые экраны, сохраняющие информацию о соединениях и сессиях, обеспечивают более строгую проверку, в особенности, на стадии установления соединений. Системы выявления вторжений (intrusion detection system, IDS) опознают предпринимаемые атаки на основе базы данных сигнатур распространенных атак. Активные системы такого рода часто называют системами предотвращения вторжений (intrusion prevention system, IPS); они понимают протоколы и обеспечивают повторную сборку, очистку и нормализацию пакетов без прерывания соединений. Сетевые экраны и IPS производят глубокое зондирование сетевых пакетов, устраняя известные угрозы; их часто используют в связке с технологиями виртуальных частных сетей (virtual private network, VPN). Для каждого соединения между сайтами или пользователями в VPN обеспечивается аутентификация и шифрование. С учетом предсказываемого увеличения скорости передачи данных в Internet с 10 Гбит/с до терабит в секунду и взрывного роста электронной коммерции, эксперты в области безопасности должны произвести переоценку текущих решений — от шифрования до доверительных связей.
Первая из основных статей тематической подборки, написанная Батлером Лэмпсоном (Butler Lampson, Microsoft), называется «Компьютерная безопасность в реальном мире» (Computer Security in the Real World). По мнению автора, разумной целью является достижение уровня компьютерной безопасности, соответствующего безопасности систем реального мира: в этом случае люди могут относиться к безопасности с доверием. Но является ли безопасность систем реального мира совершенной? Конечно, нет, отвечает автор. Совершенная безопасность стоит больших денег, и люди не желают их платить, поэтому они рискуют безопасностью систем реального мира в надежде на то, что злоумышленники побоятся нарушить имеющуюся несовершенную защиту в виду неизбежного наказания. В области компьютерной безопасности пользователи также не готовы платить деньги за дорогие решения, пока не произойдет какое-либо чрезвычайное событие. Важное отличие состоит в том, что в случае нарушения компьютерной безопасности очень трудно найти злоумышленника и, тем более, наказать его.
Следующий вопрос, который обсуждает автор, состоит в том, достижимы ли вообще совершенные системы поддержки компьютерной безопасности. Глядя на успехи криптографии, может сложиться впечатление, что и до совершенных систем компьютерной безопасности в целом рукой подать. Тот, кто так полагает, игнорирует два важных момента. Во-первых, системы компьютерной безопасности являются сложными программными системами, совершенство которых практически недостижимо. Более того, системы компьютерной безопасности должны устанавливаться в мире унаследованных аппаратных и программных средств и постоянно изменяющихся связей между организациями, что очень усложняет процедуру установки. Во-вторых, безопасность часто просто мешает. Поддержка средств обеспечения безопасности приводит к замедлению разработки и выпуска продукта на рынок. Наличие таких средств делает менее удобной, а иногда затруднительной работу администраторов и пользователей. Как улучшить положение дел? Как считает автор, лучшее, что мы можем сделать, это радикально упростить части систем, имеющие отношение к безопасности.
Изучение систем безопасности включает три аспекта: спецификация/политика; реализация/механизм и корректность/гарантия. Описать свои требования к информационной безопасности можно в рамках следующих четырех категорий: секретность — регулирование доступа к данным по чтению; целостность — регулирование изменений используемых ресурсов; готовность — обеспечение быстрого доступа к ресурсам; идентифицируемость — обеспечение данных о том, кто имел доступ к ресурсам. Наиболее важные опасности таковы: повреждение информации (целостность); разрушение сервиса (готовность); кража денег (целостность); кража информации (секретность); утрата конфиденциальности (секретность).
Каждый пользователь должен решить, что для него означает слово «безопасность». Описание потребностей пользователя в безопасности называется политикой безопасности. До того как компьютерная система сможет соблюдать некоторую политику безопасности, неформальная политика доступа должна быть расширена точным описанием конфиденциальной информации и перечнем должным образом авторизованных пользователей. Эти описания можно считать детализированной политикой или реализацией неформальной политики. Реализация политики безопасности должна защищать от уязвимостей, которые проявляются в трех основных формах: плохие программы (программы, содержащие ошибки или вражеские закладки); плохие агенты (неаккуратные или вражеские программы или люди, дающие плохие советы правильным, но доверчивым программам); плохие агенты, которые перехватывают или искажают коммуникации.
Выделяется пять стратегий защиты.
- Изолировать — никого не допускать. Обеспечивает наилучшую защиту, но не дает возможности совместного использования информации и услуг. Годится лишь для небольшой части приложений.
- Исключaть — не допускать потенциальных злоумышленников. Все права имеются у программ, которые входят в сферу доверия системы защиты. На этом подходе основаны системы цифровой подписи и межсетевые экраны.
- Ограничивать — допустить доступ потенциальных злоумышленников, но не дать им возможности наносить вред. Эту стратегию обычно называют «стратегией песочницы» (sandboxing): при доступе программы из песочницы к ресурсам осуществляется специальный контроль, гарантирующий отсутствие «дыр в ограде».
- Восстанавливать — ликвидировать последствия злоумышленного поведения. Примерами являются системы резервного копирования и точки восстановления. Стратегия не помогает по части секретности, но приносит пользу при поддержке целостности и готовности.
- Наказывать — ловить злоумышленников и преследовать их в судебном порядке. Для этого служат аудит и полиция.
Имеются две модели, на которых можно основывать эти стратегии — модель контроля доступа (access control model), в разработке которой активно участвовал автор в середине 70-х годов, и модель контроля потока информации (information-flow control model), предложенная в те же годы Дороти Деннинг и развитая в конце 90-х Барбарой Лисков. В обеих моделях реализация безопасности основывается на трех механизмах, которые принято называть «золотым стандартом», поскольку все они начинаются с Au. Аутентификация принципала (authenticating principal) определяет личность того, кто делает запрос. Обычно принципалами являются люди, но они могут быть и группами, каналами или программами. Авторизация доступа (authorizing access) определяет, кому и какие операции над объектом доверено выполнять. Аудит защитных решений (auditing guard’s decisions) позволяет впоследствии определить, что и почему произошло.
Для введения в действие средств обеспечения безопасности требуется сформировать доверительную компьютерную базу (trusted computing base, TBC), которая представляет собой информацию об аппаратуре, программном обеспечении и конфигурации, от которой зависит безопасность системы. Идея TBC тесно связана с принципом сквозной передачи данных: равно как надежность передачи зависит только от конечных точек, так и безопасность зависит только от TBC. К сожалению, трудно понять, что представляет собой TBC для данной политики безопасности; трудно даже специфицировать компоненты. Избыточный механизм глубинной защиты (defence in depth) позволяет избежать пагубного влияния дефектов TBC. Скажем, можно иметь защиту сетевого уровня с использованием сетевого экрана, защиту на уровне операционной системы или виртуальной машины с использованием «песочниц» для изоляции программ и защиту на уровне приложений с непосредственной проверкой авторизации. В этом случае атакующий злоумышленник должен отыскать бреши в защите на всех уровнях. Глубинная защита не гарантирует безопасности, но выглядит практически полезной. Важный компонент TBC — конфигурационная информация, содержащая следующие сведения: системные и пользовательские привилегии, которыми обладает установленное программное обеспечение (не только для бинарных программ, но и скриптов и макросов); база данных пользователей, паролей, привилегий, принадлежности к группам; сетевая информация (например, списки доверенных машин); данные для контроля доступа ко всем системным ресурсам (файлы, устройства, сервисы).
Многие дефекты в системах безопасности связаны со сложностью процедуры установки соответствующего программного обеспечения. Всякий раз установку приходится делать несколько другим образом, причем процедура эта обычно плохо документируется. Нужна простая модель безопасности с небольшим числом параметров. Для пользователей требуется простая версия с тремя уровнями безопасности — самого пользователя, его группы и всех остальных (так классифицируют сеть современные браузеры). Соответствующие данные должны располагаться в трех раздельных частях файловой системы: «мои документы», совместно используемые документы, публично доступные документы. Администраторам тоже нужна довольно простая версия, но еще больше им нужна возможность единообразного управления многими пользователями и системами. Этого можно добиться посредством правил задания параметров, применяемых автоматически к группам или машинам. Правила могут быть подобными следующим: каждый пользователь имеет доступ к чтению и записи файлов из своей домашней папки на сервере и никакой другой пользователь такого доступа не имеет; пользователь обычно является членом одной рабочей группы, которая имеет доступ к домашним папкам группы на всех машинах членов группы и на сервере; системные папки должны содержать наборы файлов из утвержденной поставщиком версии; доверенный специалист должен подписать все выполняемые программы. Помощь по части безопасности нужна и разработчикам. Применение виртуальных машин позволяет автоматически устранить многие ошибки, однако возможны ошибки, связанные с безопасностью в системном программном обеспечении, взаимодействующем с сетью, и пройдет время, прежде чем подобный код будет переписан. Кроме того, разработчикам необходим процесс создания программ, в котором безопасности уделяется серьезное внимание. Ценятся проекты, облегчающие гарантирование безопасности. Эти проекты рецензируются специалистами в области безопасности.
Последняя часть статьи посвящена обсуждению проблемы сквозного контроля доступа в распределенных системах, мало связана с предыдущим материалом и носит более технический характер.
Томас Чен (Thomas Chen, Southern Methodist University) и Жан-Марк Роберт (Jean-Marc Robert, Alcatel) представили статью под названием «Эпидемии червей в высокоскоростных сетях» (Worm Epidemics in High-Speed Networks). С тех пор, как в конце 1999 года макровирус Melissa атаковал пользователей Windows, вирусы и черви стали общей постоянной проблемой. В восьмом ежегодном обзоре компьютерной преступности, который опубликован американским Институтом компьютерной безопасности, отмечается, что злонамеренные программы воздействовали на 82% опрошенных организаций, нанеся средний убыток в 200 тыс. долл. Общий ежегодный убыток от вирусов и червей измеряется миллиардами. Развивающиеся высокоскоростные сети, по всей видимости, сделают более быстрым распространение червей, в особенности, таких, как Code Red и SQL Slammer, которых, в основном, сдерживает невысокая пропускная способность. Нерегламентируемые меры защиты могут оказаться слишком медленными. Только автоматическая система защиты будет в состоянии достаточно быстро обнаружить и изолировать нового червя. К сожалению, хотя эта идея популярна уже несколько лет, для многих давнишних технических проблем требуются лучшие решения.
Можно ожидать, что компьютерный червь, случайно сканирующий новые хосты с целью их инфицирования, следует простой эпидемической модели, известной из биологической эпидемиологии. В этой модели предполагается, что популяция из N хостов изначально уязвима, но не инфицирована, за исключением небольшого числа хостов, которые инфицированы и заразны. Эти восприимчивые к заразе и уже зараженные хосты случайным образом перемешиваются с параметром инфицирования β, характеризующим скорость передачи инфекции в паре восприимчивого и заразного хостов. Однажды зараженный хост остается постоянно зараженным. В модели не допускается выздоровление или смерть хоста во время эпидемии. При наличии этих предположений вся уязвимая популяция в конце концов становится инфицированной со скоростью, зависящей от β.
В простой эпидемии выделяются две фазы. В первой фазе число заразных сайтов составляет небольшую часть популяции, и это число со временем увеличивается экспоненциально. На второй фазе скорость распространения эпидемии уменьшается, поскольку случайно выбираемые сайты с большой вероятностью уже являются инфицированными. Объем трафика сканирования возрастает с ростом числа инфицированных хостов, что приводит к перегрузке сети, подобной той, которая возникает при DoS-атаках (Denial-of-Service — «отказ в обслуживании»). Проблема отягощается наличием большого числа сообщений протокола ICMP по поводу неуспешного сканирования. Перегрузка сети проявляется в задержках длинных пакетов и высокой частоте потери пакетов, что ограничивает вторжение червя, поскольку инфицированные хосты не могут легко достичь других хостов. Активные защитные мероприятия (например, фильтрация пакетов маршрутизаторами), также могут уменьшить последствия эпидемии. В высокоскоростных сетях эпидемии, вызываемые червями, подобными Code Red и SQL Slammer, распространяются гораздо быстрее, поскольку инфицированные хосты имеют больше возможностей достичь потенциальных целей.
Еще хуже обстоят дела с червями, которые не производят случайного сканирования и не перегружают сеть. Традиционные средства защиты от вирусов и червей представляют собой нерегламентированную комбинацию антивирусов, специализированных компонентов операционных систем и сетевого защитного оборудования. Сетевые экраны, маршрутизаторы, системы выявления вторжений и тому подобные средства полезны для обеспечения ограниченного уровня защиты в корпоративных сетях, но сегодня не приспособлены для работы в распределенной автоматизированной защитной системе. Что касается систем выявления вторжений, то современная технология не обеспечивает их достаточную точность, без выдачи ложных тревог и пропуска попыток вторжений. Дополнительной проблемой выявления вторжений в высокоскоростных сетях является затруднительность распознавания эпидемий в реальном времени. Во-первых, для этого требуются огромные процессорные ресурсы. Во-вторых, нужна тесная связь между выявления вторжений в реальном времени и активными системами ответных действий (например, системы автоматической реконфигурации маршрутизаторов и экранов с целью блокировки трафика червя). Сегодня такие системы работают слишком медленно. Общий вывод автора статьи состоит в том, что, несмотря на многочисленные исследования в области повышения точности распознавания червей и анализа трафика в реальном времени, практические решения остаются иллюзорными.
Следующая статья — «Создание безопасной гигабитной архитектуры IPsec VPN» (Making the Gigabit IPsec VPN Architecture Secure). Ее автор — Роберт Френд (Robert Friend, Hifn). При организации виртуальных частных сетей используется «каркас безопасности» IPsec для обеспечения конфиденциальности, целостности данных и аутентификации. Это позволяет защитить корпоративные данные от просмотра или повреждения при передаче их через Internet. Сегодня в реализациях IPsec VPN либо используется программное обеспечение для выполнения всех функций VPN, либо добавляется отдельный процессор безопасности, для которого интерфейс с основными обрабатывающими сетевыми компонентами обеспечивается через дополнительную управляющую шину, удаляющую этот процессор с основного пути потока данных. Автор рассматривает альтернативную, потоковую архитектуру IPsec VPN, в которой дополнительная аппаратура, отвечающая за выполнение функций IPsec и IKE (Internet Key Interchange), подсоединяется на пути потока данных между сетевым процессором (network processing unit, NPU) и аппаратурой физического уровня сети. Приведено сравнение, показывающее преимущества потоковой архитектуры при использовании гигабитных сетей передачи данных.
Последняя статья тематической подборки написана Авишаем Вулом (Avishai Wool, Tel Aviv University) и называется «Количественное изучение ошибок конфигурирования сетевых экранов» (A Quantitative Study of Firewall Configuration Errors). Многие эксперты в области сетевой безопасности отмечают плохое конфигурирование корпоративных сетевых экранов. Это суждение косвенно подтверждается успешным распространением таких червей и вирусов, как Blaster и Sapphire, которые вполне можно было бы блокировать при условии правильной конфигурации экранов. Однако степень этой проблемы не подтверждена какими-либо количественными исследованиями, поскольку конфигурационные файлы корпоративного сетевого экрана или наборы правил конфиденциальны и тщательно охраняются. Автор статьи в течение четырех лет руководил разработкой программного обеспечения Firewall Analyzer и имел возможность анализировать наборы правил, полученные от различных организаций. В данной статье автор опирается на продукт FireWall-1 компании Check Point, сосредотачиваясь на двенадцати возможных микроконфигурациях, которые могут допустить доступ, не соответствующий типичной корпоративной политике безопасности. На основе анализа частоты проявления неправильных конфигураций в реальных сетевых экранах автору удалось проверить, насколько качество конфигурации коррелирует с другими факторами — базовой операционной системой, версией программного обеспечения и т.д.
Единственная большая статья номера, не вошедшая в тематическую подборку, написана Дианой Стронг и Ольгой Волкофф (Diane Strong, Olga Volkoff, Worcester Polytechnic Institute). Статья называется «Путевая карта реализации корпоративных систем» (A Roadmap for Enterprise System Implementation). Корпоративная система (Enterprise System, ES) со своей единственной базой данных заменяет множество специализированных унаследованных систем, действующих поодиночке. Перед ES или системой планирования ресурсов предприятия (Enterprise Resource Planning, ERP) стоит задача единообразной поддержки и интеграции полного спектра бизнес-процессов с объединением островков функциональности и обеспечением видимости их данных во всей организации в реальном времени. Хотя потенциальные преимущества от внедрения ES несомненны, реализация такой системы остается настолько рискованным делом, что это отпугивает многие организации. Покупка и внедрение ES обходится в десятки и сотни миллионов долларов, а процесс внедрения может занять несколько лет. При этом затраты на покупку программного обеспечения составляют лишь небольшую часть общих расходов. Гораздо большие деньги тратятся на консультантов и обучение персонала. Все это говорит о том, что процесс внедрения ES требует тщательного изучения. На основе пятилетних наблюдений за внедрением ES авторы выработали неформальное руководство по развертыванию ES, которое предназначено для того, чтобы помочь менеджерам достичь желаемых технических и организационных целей и получить значительные преимущества от внедрения ES. Некоторое представление о предложениях авторов дают заголовки разделов статьи: «Планируйте проект», «Следуйте проверенной стратегии», «Минимизируйте персонализацию», «Планируйте время для деталей проекта», «Цените своих квалифицированных пользователей», «Определите новые роли и процессы» и т.д.
Всего вам доброго, до новой встречи, Сергей Кузнецов, kuzloc@ispras.ru.