Труд рядового «санитара леса» - хакера, если оставить в стороне явный криминал, весьма автоматизирован и, судя по числу энтузиастов, не слишком обременителен. Разработав алгоритм взлома и соответствующую программу, можно запустить ее на ночь, а утром посмотреть, сколько рыбки попалось в сети. Неоценимую помощь хакерам оказывают защитники компьютерных систем: информация о слабых местах ОС и программных продуктов публикуется максимально открыто - разумеется, в интересах пользователей, - вместе с инструкциями о том, как ею воспользоваться. Конечно, это необходимо, и тут никуда не денешься, но качественное информационное обслуживание позволяет даже не очень квалифицированным взломщикам проявлять себя в полной мере.
Отчаиваться, тем не менее, нет оснований, просто с выходом в сеть у организации и рядового пользователя появляется еще одна забота - обеспечение безопасности электронной инфраструктуры. К этой деятельности следует относиться серьезно, однако, столь же важно сохранять чувство меры, соразмеряя степень рисков с затратами на защиту. Одно дело - уровень мер безопасности для склада вторсырья, и совсем другое - для учреждений, располагающих приватной и конфиденциальной информацией. Степень рисков зависит и от того, каким образом и насколько широко используется сеть. Хорошо было жить в мире ПК начала
80-х - один компьютер на одного владельца и почти полная безопасность как на необитаемом острове. Современные тенденции - переход на формы обслуживания в режиме on-line в сфере финансовых расчетов, торговли, документооборота - делают электронные системы открытыми широкой публике, поэтому использование прогрессивных технологий должно сопровождаться созданием мер защиты, компенсирующих открытость.
Налаживание систем безопасности - это серьезная профессиональная деятельность, которая совсем не сводится только к администрированию операционных систем, сетевого оборудования и ПО, баз данных и других приложений массового обслуживания. На практике организации, осознающие критичность защиты, идут двумя путями. Самые богатые - правительственные органы, военные, банки - содержат собственные службы компьютерной безопасности. Тем не менее, периодически появляющиеся сообщения об электронных кражах крупных сумм, утечках важнейших документов свидетельствуют о том, что и спецподразделения в электронном варианте терпят неудачи. Проблемы безопасности в крупных корпорациях имеют свою специфику: по большей части там работают с замкнутыми отраслевыми приложениями, обладающими частными механизмами защиты, повышенное значение придается вопросам конфиденциальности, секретности, шифрованию, - поэтому широким массам этот опыт не очень и годится.
В США и Европе идут вторым, более демократичным путем: за последнее десятилетие появились независимые компании, занимающиеся разработкой систем защиты, консультациями, оценкой надежности, производится обучение и сертификация специалистов в этой области - CISSP (Certified Information System Security Professional). У этого движения есть, по-видимому, привлекательный социальный аспект: возможно таким образом удастся конвертировать разрушительный потенциал хакеров в мирную энергию. В России сейчас множество компаний предлагает услуги по развертыванию корпоративных сетей. Интересный вопрос, входят ли в портфель заказов разработка мер защиты? Во-всяком случае, ясно, что это обширная и перспективная сфера деятельности.
Можно ли справиться с задачами обеспечения безопасности своими силами и малой кровью? Трудность состоит в том, что требуется превратить в производственные технологии большой объем релевантной информации, содержащейся в разнообразных источниках и производящей на слабонервных впечатление «поваренной книги». Неудивительно, что на практике, воли администраторов хватает только на решение простейших вопросов.
Оставляя в стороне государственные законы по компьютерной безопасности и стандарты, можно рекомендовать три типа наиболее полезных и необходимых в практической деятельности источника информации:
- соответствующие разделы документации по эксплуатирующимся операционным системам и приложениям;
- Web-страницы производителей программных продуктов и ОС, на которых публикуются сообщения о новых версиях с исправленными ошибками и заплатах;
- существуют по крайней мере две организации: CERT (Computer Emergency Response Team) [1] и CIAC (Computer Incident Advisory Capability) [2], которые собирают и распространяют сведения о взломах, дают советы по устранению их последствий, сообщают о выявленных ошибках программных средств, используя которые злоумышленники проникают в компьютерные системы.
Самый хороший совет, который я услышал после взлома собственного компьютера - скачать и установить все имеющиеся заплаты ОС. Вроде бы помогло, но по здравому размышлению, оказалось, что главная дыра защиты состояла совсем в другом. Быть в курсе последних новостей из мира взломщиков обязательно, однако, реагируя только на них, следует отдавать себе отчет, что это - разрозненные усилия и подготовка к уже прошедшей войне. Столь же необходимым условием надежности защиты является системность, а всякая система имеет свой жизненный цикл. Для системы безопасности это: проектирование - реализация - оценка - обновление.
Проектирование системы безопасности
Цель системы компьютерной безопасности - защита электронной инфраструктуры от различных воздействий, угрожающих сохранности оборудования, а также конфиденциальности и целостности хранимых данных. Создание проекта системы безопасности - политики защиты - управляется двумя мотивами: с одной стороны, рядом аспектов организации работы предприятия (административной структурой, областью компетенции сотрудников) и, с другой стороны, стандартами защиты, которые реализованы в использующемся программном обеспечении. Последние диктуют возможные формы воплощения политики защиты, преобразуя ее в реальные программные механизмы, выполняющие автоматический контроль корректности действий пользователей. Политика защиты образует базу для всего последующего развития системы безопасности и очень важно, чтобы она была зафиксирована в технических документах, содержащих требования по безопасности для каждой используемой ОС и базы данных. На следующих стадиях разработки эти спецификации служат прямым руководством для администраторов, реализующих весь технический аппарат защиты - скрипты, конфигурационные установки и т.д.
В любом случае корпоративная сеть представляет собой сложный конгломерат разнородного, часто плохо согласующегося между собой программного обеспечения: операционных систем, сетевых средств, СУБД, разнообразных приложений. Все эти компоненты обладают обычно собственными средствами защиты. Имея это в виду, трудно переоценить роль политики защиты, как согласованной платформы по обеспечению безопасности. По мере роста компьютерной системы и интеграции ее в глобальную сеть, важно иметь уверенность, что в системе нет слабых мест - единственная оплошность может обесценить все остальные усилия.
Составляющие политики защиты
По мнению экспертов [4] в политике защиты должны быть рассмотрены, по крайней мере, следующие аспекты:
- санкционирование доступа к компьютерным системам, идентификация и аутентификация пользователя;
- контроль прав доступа;
- мониторинг защиты и анализ статистики;
- конфигурирование и тестирование систем;
- обучение мерам безопасности;
- физическая безопасность;
- сетевая безопасность.
Первый из перечисленных пунктов - это форпост, на котором формулируются критерии, разрешающие подключаться к системе только тем пользователям, которые имеют на это право, а все остальные не получат даже возможности сделать попытку зарегистрироваться. Стандартное средство для реализации этой функции - специальные файлы или списки хостов, с которых разрешен удаленный вход. Правда, разработчики этого аппарата всегда заботятся и о соблазнах для администраторов (почему-то всегда есть «кнопочка», открывающая вход всем). Вероятно в каких-то случаях снятие контроля имеет свои объяснения - обычно ссылаются на надежность других средств, отсутствие прямых входов, но предусмотреть все ситуации, возможные при работе с сетями, трудно. Поэтому следует все-таки конфигурировать санкционирование доступа не прибегая к установкам по умолчанию.
Как показывает практика, этот тип защиты не в состоянии существенно уменьшить вероятность проникновения. Реальная ценность его иная - в регистрации и учете пытающихся войти в систему сетевых пользователей.
Центральная роль в современных системах безопасности возлагается на процедуры идентификации и аутентификации. Известны три базовых способа их реализации:
- с помощью известного пользователю пароля или условной фразы;
- с помощью персонального устройства/документа, которым владеет только пользователь: смарт-карты, карманного аутентификатора или просто специально изготовленного удостоверения личности (предполагается, что аутентитификатор никогда никому не будет передаваться);
- через аутентификацию самого пользователя - по отпечаткам пальцев, голосу, рисунку сетчатки глаза и т.п. Эти методы опознавания развиваются в рамках биометрии [5], [6].
Самые надежные схемы аутентификации строятся как комбинация этих способов, а самым массовым остается первый - символьный. Неудивительно, что взломщики хорошо вооружены средствами для добывания регистрационных имен и паролей. Если им удается скопировать файл паролей на свою машину, запускается программа подбора, обычно использующая поиск по словарю большого объема. Такие программы работают быстро даже на слабых компьютерах, и если в системе безопасности нет контроля за способами формирования паролей, велика вероятность отгадывания хотя бы одного. Дальше следует попытка получить из раскрытого учетного имени привилегированные права - и дело сделано.
Особенно опасны, причем не только сами для себя, машины с отключенными механизмами защиты или вообще не обладающие ими. У администраторов есть средства для установления доверительных отношений между хостами с помощью файлов hosts.equiv, xhost. При неудачном конфигурировании взломщик может войти в незащищенную машину и без какой-либо идентификации транзитивно получить доступ ко всем хостам корпоративной сети.
Следующий пункт политики защиты - контроль прав доступа призван гарантировать, что после успешного выполнения процедуры аутентификации, пользователю становится доступно только определенное на персональной основе подмножество файлов и сервисов системы. Благодаря этому механизму пользователи могут читать, например, исключительно свои электронные письма, получаемые по e-mail, но никак не письма соседа. Обычно права доступа устанавливаются самими пользователями: владелец данных может разрешить кому-либо еще работать с ними, точно также как системный администратор управляет правами доступа к системным и конфигурационным файлам. Важно только, чтобы владелец всегда нес персональную ответственность за свою собственность.
Разграничение прав не сводится исключительно к данным - параллельно пользователям выделяются подмножества допустимых операций. Взять хотя бы систему автоматизированной продажи авиабилетов. Кассир безусловно должен иметь возможность соединяться с центральной базой данных, запрашивая сведения о наличии свободных мест и оформляя продажи. Но его права должны быть ограничены настолько, чтобы он не мог изменить расчетные счета организации или увеличить себе зарплату.
Обычно в многопользовательских приложениях разграничение осуществляется посредством дискреционного контроля доступа (Discretionary Access Controls), а в операционных системах - атрибутами файлов и идентификаторами процессов EUID, GUID. Стройную картину нарушают биты SUID и SGID, позволяющие программно модифицировать права доступа процессов. Потенциальную угрозу безопасности представляют скрипты с функцией setuid, в особенности setuid root. Их либо не стоит создавать вообще, либо они сами должны быть надежно защищены.
Современные программные технологии защиты способны снизить вероятность взлома компьютерной системы, но далеко не гарантируют 100-процентной безопасности. В такой ситуации весьма важной становится регистрация входов в систему - это, пожалуй, последний рубеж обороны. По собранной информации можно попытаться вычислить враждебную активность и принять упреждающие меры, предотвращающие неавторизованный вход. Следует заметить, что по умолчанию большинство коммерческих систем журналирования активности пользователей собирает очень ограниченный набор информации. Имеет смысл потратить время на изучение документации и, внеся изменения в исходную конфигурацию, существенно увеличить ценность системы аудита.
Зарегистрированный сырой материал должен регулярно анализироваться - журналирование порождает большие массивы данных, и без автоматической процедуры обработки эти данные будут бесполезными. Задача таких процедур - преобразовать информацию в более компактный и содержательный формат. Для этого имеются готовые средства, хотя довольно просто написать и собственные.
Невозможно добиться безопасности, если не поддерживать порядок на всей электронной инфраструктуре предприятия. Управление конфигурацией - это комплекс технологий, отслеживающих состояние программного обеспечения, оборудования, пользователей и сетей. Обычно, конфигурация компьютерной системы и ее компонентов четко определяется в момент ввода в действие, но со временем контроль все более и более утрачивается. Средства управления конфигурацией призваны формализовать и детализировать все изменения, происходящие в системе.
При качественном управлении, во-первых, должна быть продумана и определена строгая процедура внесения изменений, включающая их документирование. Во-вторых, все изменения должны оцениваться с точки зрения общей политики защиты. Хотя и не исключено, что эта политика будет корректироваться, важно, чтобы на каждом витке жизненного цикла сохранялась согласованность решений для всех, даже устаревших, но остающихся в сети систем - иначе они превратятся в то самое «слабое звено».
Все перечисленные аспекты защиты так или иначе опираются на программные технологии, однако есть исключительно важные вопросы, выходящие из этого круга. Корпоративная сеть включает реальный мир: пользователи, физические устройства, носители информации и т.д., которые также могут стать причиной неприятностей. Наши пользователи, по-видимому в силу исторических традиций, относятся к вопросам секретности иронически. В условиях сетевой работы такое отношение настоятельно необходимо изменить, добиваясь осознания основных принципов защиты. Это первый этап, после которого можно переходить к следующему - техническому обучению, причем пройти его должны не только пользователи, но и профессионалы. По мере разработки спецификаций политики безопасности, администраторы систем и баз данных должны быть с ними ознакомлены в такой мере, чтобы суметь воплотить их в конкретные программные решения.
Затраты на обучение персонала и пользователей окупятся: хорошая программа подготовки может предотвратить неумышленное раскрытие приватных сведений и даже помочь пользователям внести собственный вклад в безопасность системы в целом. Обученный производственной этике пользователь отвернется, когда коллега вводит пароль и обратит внимание на «социально опасных» лиц, заглядывающих из-за плеча на клавиатуру. Типичная лазейка для взломщиков - «слабые», то есть легко раскрываемые пароли. Исправить положение можно, обучив пользователей сознательно относиться к контролю доступа: периодически менять пароли, корректно их формировать. Как ни удивительно, даже в квалифицированной среде распространенный прокол - это пароль, сформированный из регистрационного имени и единички в конце.
Хотя по мере прогресса технологий значение физической безопасности снижается, пока она составляет важную часть общей политики. Если нарушитель может получить доступ к физическим компонентам сети, он, как правило, может и войти в систему без авторизации. Более того, возможность физического доступа пользователей к критическим компонентам системы увеличивает вероятность непредумышленных сбоев в обслуживании. Следовательно, непосредственный контакт с жизненно важной компьютерной и сетевой аппаратурой должен быть ограничен минимально возможным кругом персонала - системными администраторами и инженерами. Это не означает какого-то исключительного доверия к ним, просто таким образом уменьшается вероятность происшествий и, если все-же что-то происходит, диагностика становится более определенной. Ссылаясь на собственный опыт, могу подтвердить полезность простых организационных мер - не ставьте ценное оборудование в проходном дворе.
Надеясь на лучшее, неплохо предусмотреть и плохие варианты. Не помешает иметь аварийный план на случай выхода из строя питания или других катаклизмов, в том числе злонамеренного проникновения. Если взлом все же произошел, нужно быть готовым к тому, чтобы отреагировать очень быстро, пока злоумышленники не успели нанести тяжелых повреждений системе или заменить административные пароли.
Вопросы сетевой безопасности в общем контексте политики защиты должны покрывать различные виды доступа: использование Internet и предоставление Internet- услуг вовне, подключение по телефонным линиям, работу в локальной сети. Соответственно используются механизмы двух типов: внутренние и лежащие на периметре сети предприятия - там, где происходят внешние соединения.
Для внутренней сетевой безопасности важно обеспечить правильную конфигурацию оборудования и ПО, наладив управление конфигурацией. Внешняя сетевая безопасность подразумевает определение четких границ сети и установку в критических местах межсетевых экранов.
Оценка рисков безопасности
Политика защиты реализована - можно и отдохнуть, но лучше не ждать прибытия хакеров, а самостоятельно убедиться, насколько ваша система способна противостоять внешним атакам. Цель в том, чтобы оценить достигнутую степень безопасности, выявить сильные и слабые пункты защиты. Процедуру оценки можно выполнить и своими силами, хотя, возможно, проще обратиться к услугам компании, специализирующейся на такой деятельности. Собственные специалисты будут иметь дополнительные трудности: им придется задавать трудные вопросы своим коллегам и делать заключения, которые кому-то могут быть не слишком приятны.
Оценка и тестирование политики безопасности
Первый шаг заключается в сравнении запланированных в политике безопасности положений с тем, что имеет место в реальности. Для этого нужно найти ответы примерно на такие вопросы.
- Кто определяет, что является конфиденциальным?
- Есть ли процедуры для работы с конфиденциальной информацией?
- Кто устанавливает состав конфиденциальной информации, сообщаемой персоналу для выполнения рабочих функций?
- Кто администрирует систему безопасности и на какой основе?
Получить подобные сведения не всегда просто. В лучшем варианте нужно собрать и прочитать опубликованные формальные документы, содержащие положения политики безопасности, процедуры ведения дел, архитектурные диаграммы и прочее. Однако, в массе организаций таких документов нет вообще, а если они и есть, то их практически игнорируют. Тогда, чтобы выявить реальное положение дел, придется проводить натурные наблюдения за рабочими местами, определяя заодно, можно ли вообще заметить проявления какой-либо единой политики.
Разница между писаными правилами и типовыми приемами работы персонала может быть очень большая. Например, опубликованная политика может содержать положение, что пароли ни в какой ситуации не могут использоваться несколькими сотрудниками. И, по-видимому, есть много организаций, в которых это свято соблюдается, но еще большее их число страдает как раз от разделения паролей.
О некоторых слабостях корпоративной культуры можно узнать только посредством тайных разведывательных операций. К примеру, корпоративная политика может утверждать, что пароли секретны и не должны никуда записываться, а беглая прогулка по помещениям покажет, что их рисуют прямо на клавиатуре или мониторе. Другой эффективный прием - опрос пользователей о правилах работы с информацией. Из таких интервью можно узнать, какая информация наиболее ценна для сотрудника и каким образом она представлена внутри корпоративной сети и вовне.
Изучение открытых источников
Знание - сила. Следуя этому девизу, злоумышленник может извлечь изрядную долю фактически приватной внутренней информации компании, покопавшись в ее открытых, публично доступных материалах. На втором этапе оценки безопасности и нужно выяснить, как много посторонний может узнать о компании. «Полезной» информацией, дающей проникающую силу, может быть: типы используемых операционных систем, установленные заплаты, канонические стандарты регистрационных имен пользователей, внутренние IP-адреса или имена закрытых хостов и серверов.
Можно (и нужно) принять меры для уменьшения количества информации, которое могут собрать хакеры и взломщики, но для этого требуется иметь представление о том, что уже просочилось и понимать, каким образом эта утечка произошла. Самого пристального внимания заслуживает изучение материалов, опубликованных сотрудниками в Internet. Известен случай, когда одна компания представила на своей странице фрагмент исходного текста критически важного для безопасности приложения. Аналогичные коллизии могут быть и в материалах, помещаемых в газетах, журналах, других источниках.
Результаты изучения открытых материалов должны стать основой для внесения корректив в правила подготовки открытых изданий.
Оценка безопасности хост-систем
Центральные обрабатывающие системы (хост-системы), как правило, с точки зрения безопасности выглядят получше всех остальных. По простой причине: хост-системы более зрелые, их операционные системы и ПО защиты лучше отработаны и освоены. Некоторые из наиболее популярных продуктов защиты для мэйнфреймов и компьютеров средней мощности имеют стаж в несколько десятилетий.
Это, конечно, не означает, что именно ваша хост-система безопасна априори. Старый хост может оказаться слабейшим звеном, например, если он создавался в «доисторические» времена, когда никто не думал ни о локальных, ни о глобальных. Необходимо оценить схему безопасности и ее реализацию на хост-системе с новых позиций, определить, насколько согласованно работают вместе прикладное ПО, механизмы защиты операционной системы и сеть. Поскольку в организации вычислений участвуют по крайней мере две группы специалистов - по операционной системе и по приложениям - не исключено, что каждая из них возлагает заботы по защите на коллег, а суммарный результат может быть нулевым.
Анализ безопасности серверов
В отличие от хост-систем серверы файлов, приложений, баз данных более молоды и сравнительно менее оттестированы - для многих из них возраст аппарата защиты насчитывает всего несколько лет. Большая часть таких средств претерпевает постоянные обновления и «латания». Часто и администрирование серверов ведется специалистами с небольшим опытом, так что безопасность этого класса систем обычно оставляет желать много лучшего. Ситуация усугубляется тем, что, по определению, к серверам имеют доступ совершенно разнообразная публика по телефонным или дистанционным линиям связи. Следовательно оценка безопасности серверов требует повышенного внимания. Для этого существует некоторое количество средств, включая Kane Security Analyst (Novell и NT). Продукты такого рода обследуют серверы (используя привилегированный доступ) и составляют отчет о конфигурации, практике администрирования системы защиты и популяции пользователей. Использовать автоматические средства имеет смысл - однократное сканирование может выявить проблемы, которые вряд ли можно обнаружить даже многими часами ручного анализа. Например, сканирование может быстро выявить процент пользователей, которые имеют излишне высокий уровень прав доступа или являются членами слишком многих групп.
В следующем разделе рассмотрены еще два этапа - анализа безопасности сетевых соединений.
Имитация контролируемого проникновения
По-видимому, один из лучших способов проверки надежности защиты - нанять квалифицированного хакера и попросить его продемонстрировать свои достижения на вашей сети. Такой вид оценки называется тестированием путем контролируемого проникновения.
При подготовке такого теста невредно договориться об ограничениях на область действия атаки и о ее типе - ведь речь идет всего лишь о проверке, которая ни в коем случае не должна привести к нарушениям нормального рабочего состояния. На основе определенных правил «боя» далее производится выбор типов тестов.
Здесь существуют два подхода. В первом тестирование производится так, как если бы его производил настоящий взломщик. Этот подход называется слепым проникновением. Его отличительная черта в том, что лицу, производящему тестирование сообщается, например, URL, но внутренняя информация - дополнительные точки доступа в Internet, прямые соединения с сетью - не раскрывается.
Во втором подходе - «информированном проникновении» - команда взлома располагает перед атакой какими-то сведениями о структуре сети. Такой подход применяется, если проверку должны обязательно пройти определенные компоненты. Например, когда в системе установлен сетевой экран, отдельно должен быть протестирован используемый в нем набор правил.
Множество тестов можно разбить на две группы: проникновение из Internet и проникновение по телефонным линиям.
Сканирование соединений с Internet
Обычно основные надежды по защите возлагаются на сетевые экраны между внутренней корпоративной сетью и Internet. Следует, однако, отдавать себе отчет, что сетевой экран хорош только в той степени, в какой хороша его инсталляция - он должен быть установлен в надлежащей точке и на надежной операционной системе. В противном случае он будет просто источником ложного чувства безопасности.
Для проверки сетевых экранов и аналогичных систем выполняются тесты сканирования и проникновения, имитирующие направленную на проверяемую систему атаку из Internet. Для тестирования существует множество программных средств, к примеру, два популярных - ISS Scaner (коммерческий продукт) и SATAN (свободно распространяемый). Можно выбирать те или иные сканеры, но тесты будут иметь смысл только при выполнении трех условий: нужно освоить правильное управление сканером, результаты сканирования должны быть тщательно проанализированы, просканирована должна быть максимально возможная часть инфраструктуры.
Основные «цели» этой группы тестов - открытые серверы Internet-служб (WWW, SMTP, FTP и т.д.). Добраться до самих этих серверов легко - их имена известны, вход свободный. А дальше взломщик попытается добраться до представляющих интерес данных. Известно несколько приемов взлома, которые можно попробовать применить непосредственно против сервера. Кроме того, исходя из IP-адреса сервера, может быть инициировано сканирование в попытке идентифицировать еще какие-то хосты в том же диапазоне адресов. Если что-то выловлено, то по каждому задействованному IP-адресу запускается опрос портов с целью определения служб, выполняющихся на хосте. Во многих случаях при попытках соединения или использования сервиса удается получить такую информацию, как платформа сервера, версия операционной системы и даже версию сервиса (например, sendmail 8.6).
Вооружившись этими сведениями взломщик может предпринять серию атак по известным уязвимым точкам хостов. Как показывает опыт, в большинстве ситуаций, можно, собрав достаточный объем сведений, получить некоторый уровень неавторизованного доступа.
Атака по телефонным номерам
За последнее десятилетие модемы совершили революцию в средствах компьютерной связи. Однако, эти же модемы, если они установлены на включенных в сеть компьютерах и оставлены в режиме автоответа, представляют собой наиболее уязвимые точки. Атака по телефонным номерам (war dialing) - это перебор всех комбинаций с тем, чтобы найти звуковой сигнал модема. Запущенная программа в автоматическом режиме способна за ночь пробежать огромный диапазон телефонных номеров, регистрируя обнаруженные модемы. Хакер за утренней чашкой кофе получит текстовый файл с адресами модемов и может их атаковать. Особую опасность такого рода атакам придает то, что многие компании позволяют себе держать либо неконтролируемые, либо неавторизованные линии связи, которые обходят сетевые экраны с Internet и открывают прямой доступ к внутренней сети.
Такую же атаку можно осуществить в режиме тестирования - результаты покажут, по какому количеству модемов вы можете подвергнуться настоящему взлому. Этот вид тестирования выполняется достаточно просто. В слепом варианте команда проникновения находит телефонные коммутаторы компании (из различных открытых источников, включая Web-страницу), а если тест не слепой, эти сведения ей сообщаются. Автоматически прозванивается диапазон телефонных номеров в коммутаторах, с тем чтобы определить номера, по которым подключены модемы. Методы атаки модемов могут опираться на терминальные программы, такие как Hyper Terminal и программы управления удаленным доступом, например PC Anyware. Опять цель состоит в том, чтобы получить какой-либо уровень доступа к внутреннему сетевому устройству. Если соединение и успешный вход произошел - начинается новая игра.
Опыт тестирования
Как уже говорилось, в последние годы для оценки систем безопасности, включая тесты контролируемого проникновения, привлекаются профессиональные команды, услугами которых пользуются многие крупные компании США и Европы, представляющие различные отрасли индустрии: финансы, авиалинии, телекоммуникации, прессу, издательства, профессиональное обучение и т.д. Результаты можно трактовать как обескураживающие. Один из опытнейших специалистов по безопасности Брюс Хартли утверждает [7], что в его практике тестирования проникнуть (и получить доступ к критическим ресурсам) удавалось во все, кроме единственного исключения, проверяемые корпоративные сети. В большинстве случаев возможноcть получения неавторизованный доступа коренились либо в неправильном конфигурировании системы, либо в наличии у эксплуатирующегося ПО «дырок», о которых открыто сообщается в отчетах CERT и CIAC.
Ситуация 1: Netware и телефонные соединения
При проверке некой авиакомпании был найден неавторизованный вход по телефонным линиям связи - соединение было установлено с помощью PC Anyware без какой-либо аутентификации. В результате был получен полный контроль над клиентской рабочей станцией, включая возможность копирования, удаления и модификации всех данных на жестком диске. Кроме того, на ней была обнаружена активная сессия внутренней локальной сети Novell с обычными пользовательскими привилегиями. Была сделана попытка обновить привилегии доступа, используя стандартные для Novell регистрационные имена. После нескольких попыток был получен доступ с именем TAPE, который имеет супервизорные привилегии, так что сервер Novell оказался полностью захвачен. Обладая супервизорными правами на одном сервере, оказалось нетрудно проникнуть и на несколько других. В конце концов, была захвачена вся сеть Novell, при том, что она обеспечивала большую часть сервисов авиалинии, включая расписание летных бригад, расписание полетов, заказ билетов и т.д.
В этом случае сработало несколько нарушений политики безопасности, Во-первых, контроль удаленного входа не использовал надлежащие механизмы аутентификации, что и стало критическим моментом, так как прямое соединение по телефону шло в обход механизмов защиты сетевого экрана. Во-вторых, оставленная без присмотра сетевая сессия должна была быть закрыта через определенный интервал времени. И последнее, необходимо было перекрыть возможность пользования стандартными именами Novell.
Ситуация 2: Unix и телефонные соединения
Эта ситуация возникла при обследовании большой компании, работающей в области мультимедиа. Здесь был получен неавторизованный доступ в Unix-хост, поддерживающий прямые соединения по телефонным линиям. Собственно вход в хост был осуществлен по стандартному имени lp и без пароля. Это имя имеет привилегии, позволяющие изменять файлы в каталоге lp, и из него можно получить административные права. Далее при изучении файла rhosts было обнаружено еще несколько хостов, в каждый из которых можно было войти посредством rlogin с правами root. Повторное применение этого приема дало в конце концов привилегированный доступ ко всем хостам внутренней сети.
Защита от этого проникновения состоит в правильном конфигурировании ОС Unix. Проблемы, связанные с lp, хорошо известны и описаны в материалах CERT за номерами 92:08 и 95:15 и CIAC - E-25. Остается еще раз обратить внимание на то, что допущение прямого подключения к Unix-хосту по телефонным линиям позволило полностью обойти сетевой экран Internet.
Ситуация 3: Слабые места intranet
В этом примере тестировалась уже финансовая фирма, но снова первоначальный вход в корпоративную сеть был получен посредством модемного регистрационного имени, а для преобразования пользовательских привилегий в административные была использована программа sendmail (этот способ описан в CERT Advisory 95:08). Исследование соглашения о доверительных связях дало доступ к нескольким серверам внутренней сети, в частности к системе VAX/VMS с распределенной файловой системой NFS. Теперь уже используя дырки NFS (CERT Advisory 94:15), были получены административные права доступа к этому хосту и всем файлам данных.
Этот взлом мог быть предотвращен надлежащим обновлением версий операционных систем и ограничением уровня доверительных отношений между Intranet и хост-компьютерами внутренней сети.
Не теряйте бдительности
Из всего сказанного можно, по-видимому, сделать следующий вывод: безопасность сети можно поддерживать и своими силами, но это должна быть высокопрофессиональная деятельность, а не одноразовая компания. Сеть масштаба предприятия - почти всегда большая система и одним махом всех проблем безопасности не решить.
Виктор Коваленко (kvn@keldysh.ru) — сотрудник ИПМ им.М.В.Келдыша РАН, (Москва).
Литература
1. http://www.cert.org
2. http://ciac.llnl.gov
3. В. Галатенко, Информационная безопасность. «Открытые Системы» N 1-4, 1996.
4. B.V. Hartley, Ensure the security of your corporate systems. Security Advisor, Summer 1998, p. 30
5. Х. Миллман, Не бойтесь технологий, вышедших из недр секретных служб. «ComputerWold», N 27, 1998, с. 21
6. С. Дворянкин, В.Минаев. Технология речевой подписи. «Открытые Системы» N 5, 1997, сс. 68-72.
7. B.V. Hartley, Get your network ready for e-business. Security Advisor, Premiere 1998, p. 17