Кемеровский институт (филиал) Государственного образовательного учреждения высшего профессионального образования «Российский государственный торгово-экономический университет» кафедра вычислительной техники и информационных технологий Т.Ф. Лебедева ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ Учебное пособие Кемерово 2011 г. Содержание Содержание ..................................................................................................................... 2 Раздел 1. Задачи информационной безопасности .................................................. 4 и уровни ее обеспечения ............................................................................................... 4 Тема 1. Основные понятия информационной безопасности ....................................................4 Тема 2. Обеспечение информационной безопасности на государственном уровне .............7 2.1 Доктрина в области информационной безопасности РФ ......................................................7 2.2 Правовая основа системы лицензирования и сертификации в РФ ......................................9 2.3 Категории информации ..........................................................................................................13 Тема 3. Направления защиты информации в информационных системах .................................16 3.1 Характеристика направлений защиты информации ............................................................16 3.2 Защита информационных объектов (БД)..............................................................................17 3.2.1 Идентификация и аутентификация ................................................................................18 3.2.2 Управление доступом ......................................................................................................18 3.2.3 Угрозы, специфичные для СУБД ................................................................................21 Раздел 2 Программно-технические средства защиты информационных систем ............................................................................................................................. 21 Тема 4. Ключевые механизмы защиты информационных систем от несанкционированного доступа ...................................................................................................21 4.1 Идентификация и аутентификация .......................................................................................22 4.1.1 Парольная аутентификация ............................................................................................22 4.1.2 Использование токенов для аутентификации ...............................................................26 4.1.3 Устройства контроля биометрических характеристик ................................................27 4.2.Управление доступом .............................................................................................................28 4.3 Протоколирование и аудит ....................................................................................................30 Тема 5. Криптографические методы и средства для защиты информации ........................32 5.1 Основные термины и понятия криптографии ......................................................................32 5.2 Криптоаналитические атаки. .................................................................................................33 5.3 Понятие стойкости алгоритма шифрования .........................................................................34 5.4 Симметричные криптографические системы......................................................................35 5.4.1 Блочные алгоритмы симметричного шифрования .......................................................35 5.4.2 Стандарт шифрования Российской Федерации ГОСТ 28147-89.................................41 5.5 Алгоритмы поточного шифрования ......................................................................................49 5.6 Ассиметричные или двухлючевые криптографические системы .....................................51 5.6.1 Системы с открытым ключом .........................................................................................52 5.6.2 Метод RSA ........................................................................................................................53 5.7 Электронно-цифровая подпись .............................................................................................55 5.7.1 Методы сжатия преобразуемых данных на основе однонаправленных ХЭШфункций..........................................................................................................................................56 5.7.2 Российские стандарты ЭЦП ГОСТ Р 34.10.94, ................................................................59 5.8 Составные криптографические системы ..............................................................................62 5.9 Управление ключами ..............................................................................................................66 5.9.1 Генерация ключей ............................................................................................................66 5.9.2 Накопление ключей .........................................................................................................66 5.9.3 Распределение ключей ....................................................................................................66 5.9.4 Распределение ключей в асимметричных криптосистемах .............................................69 5.10 Стеганография .......................................................................................................................74 Цифровые водяные знаки .........................................................................................................77 Приложения ...............................................................................................................................79 5.11 Надежность криптосистем ...................................................................................................79 2 Раздел 3 Обеспечение информационной безопасности на уровне предприятия ......................................................................................................................................... 81 Тема 6. Защита программного обеспечения ..............................................................................81 6.1 Характеристика вредоносных программ ..............................................................................81 6.2 Модели воздействия программных закладок на компьюторы ...........................................90 6.3 Защита от программных закладок .........................................................................................98 6.3.1 Защита от внедрения программных закладок ...............................................................98 6.3.2 Выявление внедренной программной закладки ............................................................98 6.4 Клавиатурные шпионы .........................................................................................................100 6.4.1 Имитаторы ......................................................................................................................100 6.4.2 Фильтры ..........................................................................................................................100 6.4.3 Заместители ....................................................................................................................101 6.5 Парольные взломщики .........................................................................................................101 Тема 7. Безопасность распределенных вычислительных систем в Интернет ..................102 7.1 Особенности безопасности компьютерных сетей .............................................................102 7.2 Удаленные атаки на распределенные вычислительные системы ..............................105 7.3 Характеристика и механизмы реализации типовых удаленных атак ..............................107 7.3.1 Анализ сетевого трафика...............................................................................................108 7.3.2 Подмена доверенного объекта или субъекта распределенной ВС............................108 7.3.3 Ложный объект распределенной ВС ............................................................................109 7.3.4 Отказ в обслуживании ...................................................................................................112 7.4. Причины успеха удаленных атак на распределенные вычислительные системы и сеть Internet ..........................................................................................................................................114 7.4.1. Отсутствие выделенного канала связи между объектами РВС ................................114 7.4.2 Недостаточная идентификация и аутентификация объектов и субъектов РВС ......114 7.4.3 Взаимодействие объектов без установления виртуального канала ..........................115 7.4.4 Использование нестойких алгоритмов идентификации объектов при создании виртуального канала ...............................................................................................................115 7.4.5 Отсутствие контроля за виртуальными каналами связи между объектами РВС ........115 7.4.6 Отсутствие в РВС возможности контроля за маршрутом сообщений .....................116 7.4.7 Отсутствие в РВС полной информации о ее объектах ...............................................116 7.4.8 Отсутствие в РВС криптозащиты сообщений.............................................................117 7.5 Принципы создания защищенных систем связи в распределенных вычислительных системах .......................................................................................................................................117 7.6 Методы защиты от удаленных атак в сети Internet......................................................124 7.6.1 Административные методы защиты от удаленных атак ............................................124 7.6.2. Программно-аппаратные методы защиты от удаленных атак в сети Internet .........126 7.7 Удаленные атаки на телекоммуникационные службы ......................................................134 7.7.1 Направления атак и типовые сценарии их осуществления в ОС UNIX ...................134 7.7.2. Причины существования уязвимостей в UNIX-системах .........................................136 Защита хоста ....................................................................................................................................137 7.7.3. Средства автоматизированного контроля безопасности...........................................139 Тема 8. Политика безопасности компьютерных систем и ее реализация ........................142 8.1 Государственные документы об информационной безопасности ...................................142 8.2 Наиболее распространенные угрозы .............................................................................149 8.3 Управленческие меры обеспечения информационной безопасности .............................150 8.3.1 Политика безопасности .................................................................................................150 8.3.2 Программа безопасности - управленческий аспект ....................................................154 8.3.3 Управление рисками ......................................................................................................156 8.3.4 Безопасность в жизненном цикле системы .................................................................159 8.4 Операционные регуляторы ..................................................................................................161 8.4.1 Управление персоналом ................................................................................................161 8.4.2 Физическая защита ........................................................................................................163 3 8.4.3 Поддержание работоспособности ................................................................................164 8.4.4 Реакция на нарушение режима безопасности .............................................................166 8.4.5 Планирование восстановительных работ ....................................................................166 8.5 Анализ современного рынка программно-технических средств защиты информации .168 Тема 9. Защита авторских прав на программное обеспечение ............................................172 9.1 Методы правовой защиты ....................................................................................................172 9.2 Методы и средства технологической защиты авторских прав на программное обеспечение .................................................................................................................................177 Литература ...................................................................................................................................180 Раздел 1. Задачи информационной безопасности и уровни ее обеспечения Тема 1. Основные понятия информационной безопасности Введение Актуальность вопросов защиты информации особенно возросла в настоящее время в связи со стремительным повышением роли и значения информации в развитии современного общества вообще и в экономике в частности. Аспекты информации: Информация - информация - сведения (сообщения, данные) независимо от формы их представления; 1. . (Закон РФ "Об информации, информационных технологиях и защите информации" (ФЗ РФ 27.07.2006 г.) 2. Информация – это фундаментальная философская категория. 3. Информация - это важнейший ресурс, на добывание которого тратятся огромные силы и средства. 4. Информация – это ценный товар, производством и сбытом которого занято огромное количество людей. 5. Информация – это сила, приводящая в движение производственные силы мощности, армии, общественные структуры, ранящая и поднимающая людей. Компьютерная информация – это информация, представленная в доступной для восприятия компьютерной форме, зафиксированная в памяти компьютера, на машинном носителе или передаваемая по телекоммуникационным каналам. Информация – продукт человеческой деятельности, который в готовом виде всегда и всем кажется дешевым. Ее принято считать ценной лишь тогда, когда ее можно использовать, причем ее полезность сильно зависит от полноты, точности, достоверности и актуальности. Информационный ресурс – это отдельные документы, массивы документов в библиотеках, архивах, фондах, банков данных и др. информационных системах. Информация в настоящее время стала стержнем развития экономики. В ведущих индустриальных странах мира большая часть служащих занята обработкой информации (в США и Японии, например, этот показатель составляет 75-80%). В связи с широким использованием новейших информационных технологий возникла проблема информационной безопасности в автоматизированных системах обработки, хранения и передачи конфиденциальной информации. Широкое распространение получила компьютерная преступность. Весьма актуальными в нашей стране в настоящее время являются вопросы защиты интеллектуальной собственности и информации, составляющей, например, личную, коммерческую или служебную тайну. 4 Общепризнанным является также факт возрастания роли информационной безопасности в общей системе национальной безопасности. При этом под термином «информационная безопасность» на уровне государства понимается «состояние защищенности информационной среды общества, обеспечивающее ее формирование и развитие в интересах граждан, организаций и государства». Под информационной безопасностью (ИБ) или безопасностью информационных технологий подразумевают защищенность информации, передаваемой, накапливаемой, обрабатываемой и хранимой в информационно- вычислительных системах от случайных или преднамеренных воздействий внутреннего или внешнего характера, чреватых нанесением ущерба владельцам информационно ресурса или пользователям информации. Пользователи информации в компьютерных системах – это субъекты, обращающиеся к информационно – вычислительным системам за необходимой информацией. Таким образом, существует проблема защиты информации на всех уровнях – от физических и юридических лиц до государства в целом. Информационная безопасность - это многомерная и многогранная область действия, в которой успех может принести только систематический комплексный подход. Проблему обеспечения информационную безопасность можно классифицировать по 3-м группам признаков: Задачи Уровни обеспечения Субъекты, заинтересованные в информационной безопасности. Аспекты информационной безопасности: ИБ Задачи - доступность - целостность - конфиденц-ть Уровни обеспечения и субъекты Государство - концептуально- политич. - законодательный - нормативно-технический. Предприятие Отдельные граждане - административный - программно-технич. Доступность – возможность за приемлемое время получить информационные услуги, а также предотвращение несанкционированного отказа в получении информации. Целостность – предотвращение несанкционированной модификации или нарушения информации. Конфиденциальность – предотвращение несанкционированного ознакомления с информацией. На концептуально – политическом уровне принимаются документы, которые определяют основные направления государственной политики информационной безопасности, задачи и средства достижения поставленных целей. Примером такого документа является Доктрина информационной безопасности РФ. 5 На законодательном уровне создается и поддерживается комплекс мер, направленных на правовое регулирование обеспечения информационной безопасности, которая отражается в законах, указах президента, постановлениях правительства. Правовое обеспечение защиты информации зависит от вида и характера носителей информации. Электронная форма записи резко повышает возможность дистанционного перехвата информации без видимого перемещения материальных объектов. Наличие различных источников угроз, ведение бумажного и электронного делопроизводства конфиденциального характера требуют разграничения прав, обязанностей и компетенции коммерческих и некоммерческих структур, юридических и физических лиц, а также установления мер административной и уголовной ответственности. На нормативно – техническом уровне разрабатываются стандарты, руководящие материалы, методические документы, регламентирующие процессы разработки, внедрения и эксплуатации средств обеспечения информационной безопасности (Руководящие документы Гостехкомиссии при президенте РФ 1992г.). Важной задачей этого уровня в настоящее время является, в частности, приведение в соответствие российских стандартов с международным уровнем информационных технологий вообще и ИБ в частности. Практический опыт показывает, что информационную безопасность предприятию может обеспечить только комплексная система защиты информации. Такая система должна включать правовые, организационные и технические методы защиты. Организационная структура, реализующая комплекс мер безопасности на предприятии служба безопасности базируется на правовых, методических и организационнораспорядительных документах, определяющих статус, права и обязанности этих органов защиты, порядок лицензирования их деятельности и сертификацию используемых ими технических средств защиты информации. На уровне предприятия осуществляются конкретные меры по обеспечению информационной безопасности деловой деятельности. Для предприятия можно выделить два характерных уровня обеспечения ИБ – административный и программно-технический. Основной мерой административного уровня является разработка политики и программы безопасности. Политика безопасности – совокупность документированных управленческих решений, направленных на защиту информации и связанных с ней ресурсов. Политика безопасности определяет стратегию организации в области ИБ, а также количество ресурсов, которое руководство считает целесообразным выделить. Она строится на анализе рисков, которые признаются реальными для информационной системы организации. В составе конкретных мер административного уровня можно выделить: Управленческие меры обеспечения информационной безопасности 1) Политика безопасности 2) Программа безопасности 3) Управление рисками 4) Безопасность в жизненном цикле системы Операционные регуляторы 1) управление персоналом; 2) физическая защита; 3) поддержание работоспособности; 4) реагирование на нарушение безопасности; 5) планирование восстановительных работ. На программно-техническом уровне доступны следующие механизмы безопасности: 1) идентификация и аутентификация; 2) управление доступом; 3) протоколирование и аудит; 4) криптографические средства защиты; 6 5) межсетевое экранирование (брандмауэр, firewall). На уровне отдельных граждан: граждане являются самым незащищенным в правовом отношении субъектом правовых отношений (нет законов о защите индивидуальной информации, номеров телефонов, почтовых рассылок (данные паспорта)). Актуальность обеспечения информационной безопасности. По мнению экспертов, при полном рассекречивании информации коммерческой фирмы она просуществует: 52% экспертов считают, что несколько часов, 48% - несколько дней. Если речь идет о банках, то 33% - несколько часов, 67% - несколько дней. Причины убытков компании, пренебрегающей защитой информации: - ошибки персонал 65% - вирусы 63% - неработоспособность 51% - злоумышленные действия работников 32% - злоумышленные действия внешних работников 18% - промышленный шпионаж 6% - неизвестные причины 15% Тема 2. Обеспечение информационной безопасности на государственном уровне 2.1 Доктрина в области информационной безопасности РФ Государственная политика Российской федерации в области защиты информации (ЗИ) сформировалась в начале 90-х годов и базируется на соблюдении баланса интересов личности, общества и государства в информационной сфере. Доктрина в области информационной безопасности РФ была утверждена 9 сентября 2000 г. президентом. Она развивает концепцию национальной безопасности применительно к информационной сфере. Доктрина информационной безопасности Российской Федерации представляет собой совокупность официальных взглядов на цели, задачи, принципы и основные направления обеспечения информационной безопасности Российской Федерации. Настоящая Доктрина служит основой для: формирования государственной политики в области обеспечения информационной безопасности Российской Федерации; подготовки предложений по совершенствованию правового, методического, научно технического и организационного обеспечения информационной безопасности Российской Федерации; разработки целевых программ обеспечения информационной безопасности Российской Федерации. Настоящая Доктрина развивает Концепцию национальной безопасности Российской Федерации применительно к информационной сфере. I. Информационная безопасность Российской Федерации 1. Национальные интересы Российской Федерации в информационной сфере и их обеспечение 2. Виды угроз информационной безопасности Российской Федерации 3. Источники угроз информационной безопасности Российской Федерации 4. Состояние информационной безопасности Российской Федерации и основные задачи по ее обеспечению II. Методы обеспечения информационной безопасности Российской Федерации 7 5. Общие методы обеспечения информационной безопасности Российской Федерации 6. Особенности обеспечения информационной безопасности Российской Федерации в различных сферах общественной жизни III. Основные положения государственной политики обеспечения информационной безопасности Российской Федерации и первоочередные мероприятия по ее реализации 8. Основные положения государственной политики обеспечения информационной безопасности Российской Федерации 9. Первоочередные мероприятия по реализации государственной политики обеспечения информационной безопасности Российской Федерации IV. Организационная основа системы обеспечения информационной безопасности Российской Федерации 10. Основные функции системы обеспечения информационной безопасности Российской Федерации 11. Основные элементы организационной основы системы обеспечения информационной безопасности Российской Федерации Доктрина определяет следующие основные принципы государственной политики: 1. Соблюдение конституции РФ, законодательства, общепризнанных принципов и норм международного права. Ст.29 Конституции РФ гласит, что каждый имеет право свободно искать, получать, передавать, производить и распространять информацию любым законным способом. 2. Открытость в реализации функций федеральных органов власти и общественных объединений, предусматривающая информированность общества об их деятельности с учетом ограничений, установленных законодательством РФ. 3. Правовое равенство всех участников процесса информационного взаимодействия вне зависимости от их политического, социального и экономического статуса. 4. Приоритетное развитие отечественных современных информационных и телекоммуникационных технологий. Доктриной определены следующие функции государства в области ИБ: - осуществлять контроль за разработкой, созданием, развитием, использованием, экспортом и импортом средств защиты информации посредством их сертификации и лицензирования деятельности в области безопасности. - проводить необходимую протекционистскую политику в отношении производителей средств информации и защиты информации на территории РФ и защищать внутренний рынок от проникновения на него некачественных информационных продуктов и средств информатизации. - способствовать предоставлению физическим и юридическим лицам доступа к мировым информационным ресурсам и глобальным информационным сетям. Мероприятия по реализации государственной политики обеспечения информационной безопасности РФ, определяемые Доктриной: Разработка и внедрение механизмов реализации правовых норм, регулирующих отношения в информационной сфере. Принятие и реализация федеральных программ в области повышения правовой культуры и компьютерной грамотности граждан, создание безопасных ИТ, обеспечение технологической независимости страны в области создания и эксплуатации информационно – технологических систем оборонного значения. 8 Гармонизация отечественных стандартов в области информатизации и обеспечения информационной безопасности автоматизирующих систем управления, информационных и телекоммуникационных систем общего и специального значения. К первоочередным задачам в области обеспечения информационной безопасности, согласно выводам отнесены: разработка и внедрение механизмов реализации действующего законодательства, регулирующего отношения в информационной сфере; пресечение компьютерной преступности (включая методическое и технологическое обеспечение следственной, оперативно-розыскной деятельности правоохранительных органов, специальных служб, судебных разбирательств, в том числе подготовку кадров в этой сфере); повышение правовой и информационной культуры, а также компьютерной грамотности граждан. - К объектам государственной защиты в области информационной безопасности РФ относятся: 1. Все виды информационных ресурсов (ИР) 2. Права граждан, юридических лиц, государства на получение, распространение, использование информации, защиту конфиденциальной информации и интеллектуальной собственности. 3. Система формирования, распространения, использования ИР, включающая ИС разного класса и назначения, библиотеки, архивы, БД и БнД, ИТ, регламенты и процедуры сбора, обработки и передачи, хранения информации, научно-технический персонал. 4. Информационная инфраструктура, включающая. центры обработки и анализа информации, каналы информационного обмена, системы и средства защиты информации. 5. Система формирования общественного сознания (мировоззрение, общественные ценности, социально допустимые стереотипы поведения) В соответствии с концепцией информационной безопасности основные положения государственной политики в области защиты информации заключается в следующем: 1. Ограничение доступа к информации есть исключение из общего принципа открытости информации и осуществляется только на основе законодательства. 2. Ответственность за сохранность информации, ее засекречивание и рассекречивание персонифицируется. 3. Доступ к какой-либо информации, а также вводимые ограничения доступа осуществляется с учетом определенного законом права собственности на эту информацию. 4. Государство формирует нормативно – правовую базу, регламентирующую права, обязанности и ответственность всех субъектов, действующих в информационной сфере. 5. Государство осуществляет контроль за созданием и использованием средств защиты информации посредством их обязательной сертификации и лицензирования деятельности в области защиты информации. 6. Государство проводит протекционистскую политику, поддерживающую деятельность отечественных производителей средств информации и защиты информации. 7. Государство способствует предоставлению гражданам доступа к МИР, глобальным информационным сетям. 8. Государство стремится к отказу от зарубежных информационных технологий для информатизации органов государственной власти и управления по мере создания конкурентоспособных отечественных информационных технологий и средств информатизации. 9. Государство формирует федеральную программу информационной безопасности, объединяющую усилия государственных организаций и коммерческих структур. 2.2 Правовая основа системы лицензирования и сертификации в РФ Для обеспечения защиты государственной тайны и конфиденциальной информации в РФ действует Государственная система защиты информации (ГСЗИ), которая включает: 9 совокупность органов (ФСБ, ФСТЭК, СБ), сил и средств, осуществляющих деятельность в области защиты информации (ЗИ); систему лицензирования деятельности в области ЗИ; систему сертификации средств ЗИ; систему подготовки и переподготовки специалистов в области ЗИ. Необходимость введения государством механизма лицензирования и сертификации в области защиты информации определяется следующими причинами: выполнение работ, в процессе реализации которых могут использоваться сведения, составляющие государственную тайну, может осуществляться, наряду с государственными учреждениями и организациями, - предприятиями и учреждениями негосударственного сектора, как это принято в большинстве цивилизованных стран; органы государственной власти, Вооруженные Силы и спецслужбы перестали быть исключительными потребителями средств ЗИ. Ныне эти средства в значительных объемах востребованы организациями финансово-кредитной сферы и предпринимательскими структурами, а в ближайшем будущем получат распространение среди граждан РФ. Наиболее приемлемым, а может быть и единственно приемлемым способом воздействия государства на данную сферу, установления разумного контроля в этой области является формирование системы лицензирования. Лицензирование - это процесс передачи или получения в отношении физических или юридических лиц прав на проведение определенных работ. Получить право или разрешение на определенную деятельность может не каждый субъект, а только отвечающий определенным критериям в соответствии с правилами лицензирования. Лицензия - документ, дающий право на осуществление указанного вида деятельности в течении определенного времени. Перечень видов деятельности в области ЗИ, на которые выдаются лицензии, определен Законом РФ - "О лицензировании отдельных видов деятельности", принятом в августе 2001 года. К ним, в частности, относится разработка, производство, реализация и сервисное обслуживание: В соответствии с настоящим Федеральным законом лицензированию подлежат следующие виды деятельности в области ЗИ: разработка, производство, распространение, техническое обслуживание и предоставление услуг в области шифрования информации; шифровальных (криптографических) средств, защищенных с использованием шифровальных (криптографических) средств информационных систем, телекоммуникационных систем; деятельность по выдаче сертификатов ключей электронных цифровых подписей, регистрации владельцев электронных цифровых подписей, оказанию услуг, связанных с использованием электронных цифровых подписей, и подтверждению подлинности электронных цифровых подписей; деятельность по выявлению электронных устройств, предназначенных для негласного получения информации, в помещениях и технических средствах (за исключением случая, если указанная деятельность осуществляется для обеспечения собственных нужд юридического лица или индивидуального предпринимателя); деятельность по разработке и (или) производству средств защиты конфиденциальной информации; деятельность по технической защите конфиденциальной информации; разработка, производство, реализация и приобретение в целях продажи специальных технических средств, предназначенных для негласного получения информации, индивидуальными предпринимателями и юридическими лицами, осуществляющими предпринимательскую деятельность. Срок действия лицензии не может быть менее чем пять лет и может быть продлен по заявлению лицензиата. Продление срока действия лицензии осуществляется в порядке переоформления документа, подтверждающего наличие лицензии. За рассмотрение лицензирующим органом заявления о предоставлении лицензии взимается лицензионный сбор в размере 300 рублей. За предоставление лицензии взимается лицензионный сбор в размере 1000 рублей. 10 Сертификация - это подтверждение соответствия продукции или услуг установленным требованиям или стандартам. Сертификат на средство ЗИ - документ, подтверждающий соответствие средства ЗИ требованиям по безопасности информации. Законодательной и нормативной базой лицензирования и сертификации в области ЗИ являются следующие документы. Законы РФ: "О государственной тайне" № 5485-1 от 21.07.93; "О сертификации продукции и услуг" №5151-1 от 10.06.93; "О защите прав потребителей" № 2300-1 от 07.02.92; "Об информации, информационных технологиях и защите информации" 2006; "О стандартизации" № 5154-1 от 10.06.93. “О лицензировании отдельных видов деятельности”, от 8.08 2001г. №128 (ред. от 11.03.2003г. №32); Постановления Правительства РФ: "О лицензировании отдельных видов деятельности" № 1418 от 24.12.94; "О лицензировании деятельности предприятий..." № 333 от 15.04.95; "О сертификации средств ЗИ" № 608 от 26.06.95. (ред. №509 от 23.04.96.) А также Указы Президента РФ, и ряд подзаконных актов. Система лицензирования построена на следующих основных принципах: 1. Лицензирование в области ЗИ является обязательным. 2. Деятельность в области ЗИ физических и юридических лиц, не прошедших лицензирование, запрещена (с применением соответствующих статей ГК и УК к нарушителям). 3. Лицензии на право деятельности в области ЗИ выдаются только юридическим лицам независимо от организационно - правовой формы (физические лица не в состоянии удовлетворить установленным требованиям). 4. Лицензии выдаются только предприятиям, зарегистрированным на территории РФ. 5. Лицензии выдаются только на основании специальной экспертизы заявителя на соответствие предъявляемым к предприятию требованиям и аттестации руководителя предприятия. 6. Для получения лицензии предприятие обязано предъявить определенный перечень документов. К заявлению на получение лицензии необходимо приложить следующие документы: копия свидетельства о государственной регистрации предприятия; копии учредительных документов, заверенных нотариусом; копии документов на право собственности или аренды имущества, необходимого для ведения заявленной деятельности; справка налогового органа о постановке на учет; представление органов государственной власти РФ с ходатайством о выдаче лицензии; документ, подтверждающий оплату рассмотрения заявления. Например, к коммерческому банку, претендующему на получение лицензии на эксплуатацию шифровальных средств для защиты конфиденциальной информации, предъявляются требования по: 11 наличию и составу необходимых аппаратно-программных средств и помещений; размещению, охране и специальному оборудованию помещений, в которых находятся средства криптографической ЗИ; обеспечению режима и порядка доступа к средствам криптографической ЗИ; обеспечению необходимой технической и эксплуатационной документацией; уровню квалификации и подготовленности специалистов в области защиты и эксплуатации автоматизированных систем (АС); режиму эксплуатации и хранения средств криптографической ЗИ. Система лицензирования обеспечивает в отношении АС выполнение 3 основных требований к защищаемой информации: доступность; целостность; конфиденциальность. Лицензирование в области производства средств ЗИ и на предмет предоставления услуг в области ЗИ производится по тем же принципам, за исключением того, что не во всех случаях здесь речь идет о работе со сведениями, составляющими государственную тайну. Поэтому при производстве средств ЗИ прежде всего проверяется научный и технологический потенциал, имеющийся у предприятия-производителя, другие производственные факторы, а также наличие и действенность системы безопасности. По организациям, оказывающим услуги в области ЗИ, может идти речь о мероприятиях по проверке компьютерной и оргтехники в отношении опасных в информационном плане излучений и наличия несанкционированных устройств, проверке помещений на предмет наличия в них устройств скрытого съема информации и т.д. Правовая база защиты информации в РФ 1.Закон РФ "О Государственной тайне" (в ред. - Федерального закона от 06.10.97 N 131-ФЗ) 2. Закон РФ "О коммерческой тайне" (от 29 июля 2004г.) 3.Закон РФ "О техническом регулировании" (от 27 декабря 2002 г. N 184-ФЗ) 4.Закон РФ "Об информации, информационных технологиях и защите информации" (ФЗ РФ №24-ФЗ от 2006г. 5.Закон РФ "Об электронной цифровой подписи" (ФЗ РФ №1-ФЗ от 10.01.02. Принят Гос. Думой 13.12.01) 6..Закон РФ "О правовой охране программ для электронных вычислительных машин и баз данных" (Закон РФ N 3523-1. Дата введения 23.09.92) 7..Закон РФ "Об участии в международном информационном обмене" (Федеральный Закон РФ N 85-ФЗ. Принят Гос. Думой 04.07.96) 8..Закон РФ "О сертификации продукции и услуг" (Закон РФ N 5151-1. Дата введения 10.06.93. В ред. Федерального Закона N 211-ФЗ от 27.12.95) 9..Закон РФ "О банках и банковской деятельности" (Закон РФ N 395-1. Дата введения 02.12.90.В ред.Федерального закона от 03.02.96 № 17-ФЗ 10. .Закон РФ «О персональных данных» 2006 г. Ответственность за компьютерные преступления предусматривает уголовный кодекс. Статья 272: неправомерный доступ к компьютерной информации. Статья 273: создание, использование и распространение вредоносных программ для ЭВМ. Статья 274: нарушение правил эксплуатации ЭВМ, средств связи ЭВМ или их сети. 12 2.3 Категории информации 1. Информация с ограниченным доступом. 2. Информация без права ограничения: доступ не может быть ограничен (законы, положения, конституция). 3. Иная общедоступная информация. 4. Вредная информация, то есть не подлежащая распространению как ложная. Информацию с ограниченным доступом можно разделить на два вида 1. Государственная, военная, экономическая, разведывательная тайны. Их распространение наносит ущерб безопасности страны. 2. Конфиденциальная информация. Правовое регулирование института тайн в РФ. В перечне сведений конфиденциального характера, утвержденного президентом РФ 6 марта 1996 №188, приведены следующие виды конфиденциальной информации: Служебная тайна Персональные данные Тайна следствия Коммерческая тайна Тайна сущности изобретения до момента опубликования Профессиональная тайна. Банковская тайна . Декларировано в других законах 30 видов тайн, а с учетом подзаконных актов – 40. Вид тайны Персональные данные Служебная тайна Тайна усыновления Геологическая информация о недрах Налоговая Служебная информация о рынке ценных бумаг Врачебная Краткое содержание О фактах, событиях жизни гражданина, позволяющая идентифицировать личность Если информация имеет действительную или коммерческую потенциальную ценность Ссылка на правовой документ Ст 2 Закона об информатизации Ст.139 Гражданского кодекса Ст.139 Семейного кодекса Ст.27 Закона о недрах Любые полученные налоговые сведения о налогоплательщике за исключением сведений, указ в ст 102 налогового кодекса Любая не являющ общедоступной информация об эмитентах выпущенных ценных бумаг. Диагноз, состояние здоровья при обследовании 13 Ст.31 Закона о рынке ценных бумаг Ст 62 Основ зак-ва РФ «Об охране здоровья граж- Связи Нотариальная Адвокатская Журналистская Коммерческая Банковская Тайна страхования Тайна переписки, телефонных разговоров по сетям электрической и почтовой связи Сведения в результате осуществления деятельности нотариусом Сведения, полученные адвокатом Сведения, предоставленные журналистам на условии тайны источниками информации Если информация имеет действительную или потенциальную ценность в коммерческой сфере. Банк гарантирует тайну счета, вклада, операции, сведений. дан» Ст.32 О связи , Конституция РФ Ст16 О нотариате Ст15,16 адвокатуре Положения об Ст 41, Закон «О СМИ» Ст 139 ГКРФ Сведения о страховании и имущественном положении. Приведенный перечень тайн может потребоваться для того, чтобы поставить перед администрацией предприятия вопрос об обеспечении соответствующей защиты информации. Конфиденциальной считается такая коммерческая информация, разглашение которой может нанести ущерб интересам фирмы. Делится на два подвида: 1. Информация с ограниченным доступом: сведения, разглашения которых причиняет ущерб тактическим интересам, таким как срыв конкретного контакта, снижение % прибыли от сделки. 2. Секретная информация: ее разглашение наносит серьезный ущерб стратегическим интересам фирмы и может поставить под угрозу ее существование. Ее составляют сведения, ознакомление с которыми позволяет конкурентам, неразборчивым в средствах, подорвать репутацию фирмы в глазах партнеров, причинить ей значительный финансовый ущерб, привести к конфликту с государственными органами, поставить в зависимость от криминальных структур. Определение степени конфиденциальности служебной и коммерческой информации осуществляется руководством фирмы, как правило. Однако в любом случае к такой относится: уставные документы фирмы; сводные отчеты о финансовой деятельности; кредитные договора с банками договоры купли-продажи, начиная с определенной суммы; сведения о перспективных рынках сбыта, источниках сырья, о выгодных партнерах; любая информация, предоставляемая партнерами, если за ее разглашение предусмотрены штрафные санкции. 14 Нормативно техническая база защиты информации в России. В состав документов, определяющих нормативно-техническую базу ЗИ в России входят стандарты, отраслевые материалы, в частности материалы Гостехкомиссия России: Документы Государственной технической комиссии (Гостехкомиссия) при президенте РФ Руководящий документ. Концепция защиты средств вычислительной техники и автоматизированных систем от несанкционированного доступа к информации. 1992. Руководящий документ. Защита от несанкционированного доступа к информации. Термины и определения. 1992 Руководящий документ. Средства вычислительной техники. Защита от несанкционированного доступа к информации. Показатели защищенности. 1992 рабочий документ “Средства вычислительной техники. Межсетевые экраны. Защита от несанкционированного доступа к информации. Показатели защищенности от несанкционированного доступа к информации”. Порядок сертификации средств защиты определяется документом «Система сертификации средств защиты информации по требованиям безопасности информации» РОСС RU.0001.01БИ00. Перечень нормативных документов постоянно расширяется с учетом новых требований к информационной безопасности и тенденций изменения информационных технологий. Федеральная служба по техническому и экспортному контролю разработала порядок проведения классификации информационных систем персональных данных Для установления единых требований по обеспечению ИБ организаций БС РФ и повышения эффективности мероприятий по поддержанию ИБ организаций банковской системы РФ был разработан и введен в действие Распоряжением Банка России от 18 ноября 2004 года № Р609 Стандарт Банка России «Обеспечение информационной безопасности организаций банковской системы Российской Федерации. Общие положения». Данный стандарт получил учетный номер СТО БР ИБ БС-1.0-2004 и опубликован в журнале «Вестник Банка России» № 68. В настоящее время готовятся к изданию новые руководящие документы, регламентирующие требования по безопасности информации для VPN и VLAN (глобальные и локальные сети) решений. Ведутся работы по адаптации отечественной нормативной базы в области информационной безопасности к требованиям международного стандарта. Ключевым аспектом решения проблемы безопасности информационных технологий (ИТ) является выработка системы требований, критериев и показателей для оценки уровня безопасности ИТ. Необходимо было разработать эту систему в виде международного стандарта. История создания данного стандарта. В начале 80-х годов в США были разработаны "Критерии оценки доверенных компьютерных систем" (TCSEC). В Европе в 1991г. были разработаны "Критерии оценки безопасности информационных технологий" (ITSEC) версии 1.2, совместно Францией, Германией, Нидерландами и Великобританией. В Канаде в начале 1993 г. были созданы "Канадские критерии оценки доверенных компьютерных продуктов" (CTCPEC) версии 3.0. В США в это же время был издан проект стандарта "Федеральные критерии безопасности информационных технологий" (FC) версии 1.0, использовавший другой подход к объединению североамериканской и европейской концепций критериев оценки. В 1990 г. Международной организацией по стандартизации (ISO) была начата разработка международного стандарта критериев оценки для общего использования. Версия 1.0 ОК была за15 вершена в январе 1996 г. и одобрена ISO в апреле 1996 г. Бета-версия 2.0 ОК появилась в октябре 1997 г. В результате этих работ появился Международный стандарт ISO/IEC 15408-99 "Критерии оценки безопасности информационных технологий" или так называемые "Общие критерии". В России аналогичный стандарт подготовлен в 2001 г. Это ГОСТ Р ИСО/МЭК 15408-1-2001 «Критерии оценки безопасности информационных технологий». Данный стандарт содержит общие критерии (ОК) оценки безопасности информационных технологий. Стандарт предназначен в качестве руководства при разработке и приобретении коммерческих продуктов или систем с функциями безопасности ИТ. ОК применимы к мерам безопасности ИТ, реализуемым аппаратными, программноаппаратными и программными средствами. Критерии для оценки специфических качеств криптографических алгоритмов не входят в ОК ОК безопасности продуктов и систем ИТ предназначены в основном для потребителей, разработчиков и оценщиков. ОК предоставляют потребителям, независимую от реализации структуру, называемую профилем защиты (ПЗ), для выражения их специфических требований к мерам безопасности ИТ в объекте оценки. Кроме указанного выше используется также ГОСТ Р50922-96 «Защита информации. Основные термины и определения». В настоящее время разработан и действует еще один международный стандарт ISO/IEC 17799 "Безопасность информационных систем". Гармонизация российских стандартов с международными стандартами: ГОСТ Р ИСО/МЭК 15408 – «Информационная технология. Методы и средства обеспечения безопасности. Критерии оценки безопасности ИТ». Состоит из 3 частей: 1) сокращения, определения и т.п.; 2) 11 групп базовых задач обеспечения безопасности» 3) цели, методы, уровни обеспечения, гарантии качества Тема 3. Направления защиты информации в информационных системах 3.1 Характеристика направлений защиты информации Существенное значение при выборе путей решения проблемы защиты информации (ЗИ) имеет направление или вид объекта информационной защиты. Направления ЗИ: 1. Защита объектов ИС 2. Защита процессов и процедур обработки информации 3. Защита каналов связи 4. Подавление ПЭМИН 5. Управление защитой. 1. Защита объектов информационной системы (ИС). Объекты информационной безопасности могут быть следующих видов: - Информационные объекты – любая информация (сообщения, сведения, файлы, БД) в любых форматах ее представления (аналоговая, цифровая, виртуальная, мысленная). - Ресурсные объекты - все компоненты ИС, ее аппаратное и программное обеспечение, процедуры, протоколы и т.д. (начиная с ОС и заканчивая выключателем сети).. - Физические объекты – территория, здания, помещения, средства связи, компьютерная техника. - Пользовательские объекты – это люди, которые используют ресурсы ИС, имея доступ через терминалы и рабочие станции. 16 - Логические объекты – логические операции или процедуры, результатом которых является определенный вывод или признак. 2. Защита процессов и процедур обработки информации Это направление включает защиту: процессов обработки данных; программ; исполняемых файлов; от загрузки программного обеспечения; от программных закладок и вирусов. Под процессом обработки данных будем понимать установленную последовательность процедур, операций преобразования информации, реализуемых при функционировании системы. Защита процессов и процедур обработки информации включает защиту от вирусов и программных закладок. 3. Защита каналов связи Информация должна быть конфиденциальной как в процессе ее перемещения в пределах внутренней локальной сети, так и при передаче в другие ИС по каналам связи. Защита каналов связи предусматривает криптографические методы и средства защиты. Криптографические средства защиты - специальные методы и средства защиты информации, в результате которого маскируется ее содержание. 4. Подавление ПЭМИН Наибольшую опасность с точки зрения утечки информации предоставляют побочные (паразитные) непреднамеренные излучения технических средств, участвующих в процессе передачи, обработки и хранения секретной информации. Под утечкой информации по каналам ПЭМИН понимается возможность доступа к информации в ИС путем перехвата и соответствующей обработки побочных излучений технических средств. Канал утечки включает технические средства передачи, обработки, или хранения секретной информации, среду распространения паразитных излучений и средства перехвата паразитных излучений. Среда распространения - например, грунт в районе контура заземлении. Носителями информации являются электрические и электромагнитные поля и сигналы, образующиеся в результате работы средств обработки информации или воздействия опасного сигнала на средства обработки информации на системы жизнеобеспечения. Источниками таких излучений могут быть мониторы, средства связи (телефон, телеграф, громко говорящая директорская связь); средства и системы звукоусиления, звуковоспроизведения; средства охранной сигнализации. 6. Управление защитой Управление защитой - это контроль за распределением информации в ИС, за функционированием ИС и событиями, связанных с нарушением защиты информации. Цель управления защитой – поддержание целостности системы защиты информации и повышение эффективности мероприятий по защите информации, выявление и устранение каналов утечки информации. 3.2 Защита информационных объектов (БД) Информация, хранимая в БД, должна быть надежно защищена. Так как к БД обращаются многие пользователи, то особенно важно, чтобы элементы данных и связи между ними не разрушались. Защита БД означает защиту собственно данных и их контролируемое использование на рабочих местах, а так же защиту любой сопутствующей информации, извлекаемой из этих данных. Для СУБД и БД важны 3 аспекта информационной безопасности: 1. Доступность 2. Целостность 17 3. Конфиденциальность. Основные направления борьбы с потенциальными угрозами конфиденциальности и целостности данных: 1. идентификация и проверка подлинности пользователей (аутентификация); 2. управление доступом к данным; 3. механизм подотчетности всех действий, влияющих на безопасность (протоколирование); 4. защита регистрационной информации от искажений и ее анализ; 5. очистка объектов перед их повторным использованием; 6. защита информации, передаваемая по каналам связи. 3.2.1 Идентификация и аутентификация Обычно для идентификации и проверки подлинности в СУБД применяются 2 механизма: идентификация и аутентификация выполняется ОС; идентификация и аутентификация выполняется СУБД. Например, в СУБД Oracle применяется оператор SQL CONNECT: CONNECT пользователь [/пароль] [@база_данных]; Если пароль опущен, то выводится окно для его ввода и на время отключается эхоотображение вводимых символов. Таким образом, в момент начала работы с сервером БД пользователь идентифицируется своим именем, а средством аутентификации служит пароль. Аутентификация на основе пароля затрудняет повторные проверки во время сеанса работы с сервером БД и практически исключает такие проверки перед каждой транзакцией. То есть, если терминал оставлен без присмотра, то на нем можно от имени пользователя выполнить любые доступные ему команды. Использование средств аутентификации на основе личных карточек дало бы большую свободу в реализации контроля за подлинностью пользователей. 3.2.2 Управление доступом В современных СУБД поддерживается один из двух широко распространенных подходов к управлению доступом: избирательный (дискреционный) и обязательный (мандатный). В случае обязательного управления каждому объекту данных присваивается некоторый классификационный уровень, а каждому пользователю некоторый уровень допуска. При таком подходе допуском к определенному объекту обладают только пользователи с соответствующим уровнем допуска. Такие схемы статичны и жестки. В случае избирательного управления некий пользователь обладает различными правами с различными объектами. Независимо от того, какие схемы используются, все решения относительно доступа пользователей принимаются на стратегическом уровне, а не на техническом уровне. Избирательная схема доступа базируется на трех принципах: 1. Пользователи СУБД рассматриваются как основные действующие лица, желающие получить доступ к данным. СУБД выполняет все действия над БД (DELETE – удаляет строки; INSERT – вставляет строки; UPDATE – обновляет данные в строках таблицы) от имени конкретного пользователя. СУБД выполняет эти действия, если конкретный пользователь обладает правами на выполнение конкретных операций над конкретными объектами БД. 2. Объект доступа – это элемент БД, доступом к которому можно управлять, то есть разрешать доступ или защищать от доступа. Объекты в БД – это таблицы, представления, формы, отчеты, прикладные программы, столбцы и строки таблицы. 18 3. Привилегии – операции, которые разрешено выполнять пользователю над определенными объектами. Это операции – SELECT, INSERT, UPDATE, DELETE. Привилегии устанавливаются или отменяются операторами SQL, например: GRANT SELECT, INSERT ON Деталь TO Битов; REVOKE INSERT ON Деталь FROM Битов; Привилегии легко установить и легко отменить. Конкретный пользователь СУБД опознается по уникальному идентификатору (user_id). Любое действие на БД, любой оператор SQL выполняется не анонимно, а от имени конкретного пользователя. Для организации работы пользователя с БД и установления связи конкретных операторов интерактивного SQL с конкретным пользователем используется сеанс или сессия в большинстве СУБД, для этого пользователю нужно сообщить СУБД свое имя и пароль. Некоторые СУБД (Oracle, Sybase) используют собственную систему паролей, в других (Ingres, Informix) идентификатор пользователя и его пароль берутся из операционной системы. Для современной БД актуальна проблема объединения пользователей в группы и задания им привилегий. Традиционно применяется 4 подхода для работы с пользователями и группами: 1. Один и тот же идентификатор используется для доступа к БД целой группой лиц (Например: отдел предприятия). Преимущества такого подхода - легче администрировать. Недостатки - если пароль известен группе лиц, возникает опасность несанкционированного доступа к БД посторонних лиц. 2. Каждый пользователь получает свой уникальный идентификатор и пароль. Недостатки такого подхода – сложнее настраивать и контролировать привилегии при большом количестве пользователей. Достоинством является то, что можно контролировать действия каждого пользователя. 3. Комбинированный подход используется в СУБД Ingres и Informix. Поддерживается идентификатор пользователя и идентификатор группы пользователей, каждый пользователь имеет свой идентификатор и идентификатор группы, к которой он принадлежит. Привилегии устанавливаются не только для отдельных пользователей, но и для их группы. 4. С БД кроме пользователей работают прикладные программы, которые тоже должны иметь привилегии. В ряде СУБД используется механизм ролей. Роль представляет собой именованный объект, хранящийся в БД. Роль связывается с конкретной прикладной программой для придания ей привилегий доступа к объектам БД. Роль создается и удаляется администратором БД, ей присваивается пароль. Пользователь, не обладающий специальными привилегиями доступа к некоторым объектам БД, может запустить прикладную программу, которая имеет такие привилегии. Пример: Пусть в организации работает служащий Битов. По характеру работы он часто обращается к таблице Заработная_плата и является членом группы «Учет». Для пользователей этой группы разрешено выполнение операции SELECT над таблицей Заработная_плата Для выборки данных из этой таблицы он должен в начале сеанса ввести свой пароль. Никто из группы «Учет» не имеет права на выполнение операции UPDATE. Для обновления таблицы Заработная_плата необходимо запустить прикладную программу «Контроль заработной платы», которая имеет привилегии обновления таблицы Заработная_плата и выполняет специальные проверки корректности этой операции. Чтобы программа могла обновлять, администратор БД создает и помещает в БД роль Обновить_заработную_плату. GREATE ROLE Обновить_заработную_плату WITH PASSWORD= «ДТЗ110»; Оператор 19 GRANT SELECT, UPDATE ON Заработная_плата TO ROLE Обновить_заработную_плату ; предоставляет этой роли привилегии на выполнение операций выбора и обновления таблицы Заработная_плата. Если пользователь Битов запускает программу «Контроль заработной платы», то программа имеет привилегии роли Обновить_заработную_плату. В дискреционной схеме управления доступом применяется модель «данные- владелец». Владелец данных по собственному усмотрению ограничивает круг пользователей, имеющих доступ к данным, которыми он владеет. Обязательный или принудительный (мандатный) метод доступа основан на отказе от понятия владельца данных и опирается на метки безопасности, которые присваиваются данным при их создании. Метки служат для классификации данных по уровням: Уровень А В:В1, В2, В3 С: С2, С2. Д Правительственные Совершенно секретно Коммерческие Максимальная безопасность – финансы. Секретно Ограниченное распространение (информация о кадрах). Конфиденциальность Конфиденциальность (исключительно внутри фирмы) Неклассифицированная ин- Общедоступная информация формация (например, прайс-листы). Данные расклассифицированы по уровням безопасности, метками. Конкретный пользователь может оперировать с данными, расположенными на том уровне секретности, который соответствует его статусу. Правила доступа: 1. Пользователь i имеет доступ к объекту j, если его уровень допуска больше либо равен уровню классификации объекта j. 2. Пользователь i может модифицировать объект j только, если его уровень равен уровню классификации объекта j. (любая информация, записанная пользователем i, автоматически приобретает его уровень классификации). Эта схема опирается на механизм, позволяющий связать метки безопасности с каждой строкой любой таблицы. Любой пользователь в запросе может потребовать отобразить любую таблицу, но увидит он только те строки, у которых метки безопасности не превышают его уровень. Строки таблицы, отмеченные как строки уровня максимальной безопасности, может увидеть только пользователь, у которого наивысший уровень. Методы обязательного управления доступом получили распространение в любой военной системе. Некоторые коммерческие СУБД обеспечивают обязательную защиту на уровне класса В1, а ниже используется избирательный метод для доступа к данным СУБД, в которых поддерживаются методы обязательной защиты, называются системами с многоуровневой защитой, а также – надежными системами. По оценкам экспертов концепция многоуровневой безопасности в ближайшие годы будет использована в большинстве коммерческих СУБД. 20 3.2.3 Угрозы, специфичные для СУБД Главный источник угроз, специфичных для СУБД, лежит в самой природе SQL. SQL это мощный непроцедурный инструмент определения и манипулирования данными. Механизм процедур и правил дает возможность выстраивать цепочки действий, позволяя неявным образом попутно передавать право на выполнение процедур, даже не имея полномочий на это. Рассмотрим несколько угроз, возникающих при использовании злоумышленниками средств языка SQL: 1. Получение информации путем логических выводов. Можно извлечь из БД информацию, на получение которой стандартными средствами у пользователя не хватит привилегий. Пример: БД состоит из 2-х таблиц. В первой хранится информация о пациентах (анкетные данные, диагноз, назначения и т.п.), а во второй - сведения о врачах (расписание мероприятий, перечень пациентов и т.п.). Если пользователь имеет право доступа только к таблице врачей, он может получить косвенную информацию о диагнозах пациентов, так как врачи специализируются на лечении определенных болезней. Основным средством борьбы с подобными угрозами помимо тщательного проектирования модели данных является механизм размножения строк - в состав первичного ключа явно или неявно включается метка безопасности. За счет чего появляется возможность хранить в таблице несколько экземпляров строк с одинаковыми значениями «содержательных» ключевых полей. Наиболее естественно размножение строк реализуется в СУБД, поддерживающих метки безопасности (например, в СУБД INGRES/Enhanced Security), однако и стандартными SQL-средствами можно получить удовлетворительное решение. 2. Агрегирование данных – это метод получения новой информации путем комбинирования данных, добытых легальных образом из разных таблиц. Агрегированная информация может оказаться более секретной, чем каждый из компонентов ее составивший. Повышение уровня секретности данных при агрегировании вполне известно. Это следствие закона перехода количества в качество. Бороться с агрегированием можно за счет тщательного проектирования модели данных и максимального ограничения доступа пользователей к информации. 3. Покушение на высокую доступность. Если пользователю доступны все возможности SQL, он может затруднить работу других пользователей, инициировав длительную транзакцию, захватывающую большое число таблиц. Современные многопотоковые серверы СУБД отражают лишь самые прямолинейные атаки, например, запуски в «часы пик» операции массовой загрузки данных. Рекомендуется не предоставлять пользователям непосредственного SQL-доступа к БД, используя в качестве фильтров серверы приложений. Клиент ->Сервер приложений->сервер БД. Раздел 2 Программно-технические средства защиты информационных систем Тема 4. Ключевые механизмы защиты информационных систем от несанкционированного доступа Для защиты ресурсных объектов применяются ключевые механизмы программнотехнических мер безопасности. 1. Идентификация и аутентификация. 2. Управление доступом. 3. Протоколирование и аудит. 21 4. Криптография. 5. Межсетевое экранирование. 4.1 Идентификация и аутентификация Идентификацию и аутентификацию можно считать основой программно-технических средств безопасности, поскольку остальные сервисы рассчитаны на обслуживание именованных субъектов. Идентификация и аутентификация - это первая линия обороны, "проходная" информационного пространства организации. Без порядка на проходной не будет порядка и внутри охраняемой территории. Идентификация позволяет субъекту (пользователю или процессу, действующему от имени определенного пользователя) назвать себя (сообщить свое имя). Посредством аутентификации вторая сторона убеждается, что субъект действительно тот, за кого он себя выдает. В качестве синонима слова "аутентификация" иногда используют сочетание "проверка подлинности". Субъект может подтвердить свою подлинность, если предъявит по крайней мере одну из следующих сущностей: нечто, что он знает (пароль, личный идентификационный номер, криптографический ключ и т.п.), нечто, чем он владеет (личную карточку или иное устройство аналогичного назначения), нечто, что есть часть его самого (голос, отпечатки пальцев и т.п., то есть свои биометрические характеристики). К сожалению, надежная идентификация и аутентификация затруднена по ряду принципиальных причин: 1) компьютерная система основывается на информации в том виде, как она была получена; строго говоря, источник информации остается неизвестным. 2) почти все аутентификационные сущности можно узнать, украсть или подделать. 3) имеется противоречие между надежностью аутентификации с одной стороны, и удобствами пользователя и системного администратора с другой. 4) чем надежнее средство защиты, тем оно дороже. Особенно дороги средства измерения биометрических характеристик. Таким образом, необходимо искать компромисс между надежностью, доступностью по цене и удобством использования и администрирования средств идентификации и аутентификаций. Обычно компромисс достигается за счет комбинирования первых двух из трех перечисленных выше базовых механизмов проверки подлинности; однако, в целях ясности изложения, мы рассмотрим их современную трактовку по очереди. 4.1.1 Парольная аутентификация Наиболее распространенным средством аутентификации являются пароли. Система сравнивает введенный и ранее заданный для данного пользователя пароль; в случае совпадения подлинность пользователя считается доказанной. Аналогично построено применение PIN-кода в пластиковых картах. Другое средство, - секретные криптографические ключи пользователей. Типичная схема идентификации и аутентификации представлена на рис.4.1 Процедура аутентификации может быть реализована на основе различных методов. 1. Метод простых паролей Пароль не должен быть слишком простым и очевидным, а также слишком коротким. Ожидаемое безопасное время (время отгадывания пароля V=1/2*A^S*R*E, где R-скорость передачи в канале связи(символ/сек); E - число символов в каждом сообщении, включая пароль и служебные символы; S - длина пароля; А - число символов в алфавите, из которого составлен пароль 22 Например, если R=10; E=20; S=6; A=26, то V=30891578 сек Пусть Р - задаваемая вероятность того, что соответствующий пароль будет раскрыт посторонним лицом; М- период времени в течение которого принимаются попытки раскрыть пароль (при условии работы 24 часа в сутки), то Р имеет нижнюю границу P ≥ P0=(R*4,32*10^4*(M/E))/A^S Формула Андерсена: A^S ≥ 4,32*10^4*(R*M)/(E*P) При Р=0,001 и М=3 мес., тогда длина пароля S ≈ 7 1. Выбор символов из пароля: при обращении пользователя к системе у него может быть запрошены отдельные символы из пароля, например 3 и 5. Номера символов подбираются по датчику псевдослучайных чисел или привязываются к значениям функции системного времени. Достоинство метода – невозможно подсмотреть или перехватить полное значение пароля. Рис. 4.1 Алгоритм типичной процедуры идентификации и аутентификации 2. Пароли однократного использования: пользователю выдается список из N -паролей. N паролей хранятся в ЭВМ в зашифрованном виде. Пользователь по очереди использует 23 пароли из списка, по два пароля из списка для каждого сеанса (вход в систему и выход). Недостатком метода является то, что пользователь должен помнить весь список паролей и следить за текущим значением пароля или иметь список при себе и после каждого использования пароля вычеркивать из списка. 3. Метод использования вопросов: предлагается набор из m стандартных вопросов и n вопросов, ориентированных на пользователя (надо знать пользователя, чтобы задать вопрос). Выбираются вопросы случайным образом из того и из другого списка и задаются пользователю. Пользователь должен дать все правильные ответы. Предпочтительней вариант, когда m=0. Обратим внимание на то, что процесс идентификации и аутентификации может идти не только между пользователем и системой - его целесообразно применять и к равноправным партнерам по общению, а также для проверки подлинности источника данных. Когда аутентификации подвергаются процесс или данные, а не человек, выбор допустимых средств сужается. Компьютерные сущности не могут чем-то обладать, у них нет биометрических характеристик. С другой стороны, память и терпение у компьютерных сущностей не в пример лучше человеческих, они в состоянии помнить или извлекать из соответствующих устройств и многократно применять длинные криптографические ключи, поэтому в распределенных средах методы криптографии выходят на первый план; по существу им нет альтернативы. Единственное, что есть у компьютерных сущностей это информация; значит, проверка подлинности может основываться только на том, что процесс или данные знают. В этом случае часто применяется следующая процедура. Процедура установления подлинности в режиме «рукопожатия» Подлинность проверяется с помощью корректной обработки (алгоритма) некоторого числа. Обобщенная последовательность шагов такой процедуры: 1. сторона А (система, процесс или пользователь) генерирует случайное число X; 2. число X передается стороне В; 3. А запрашивает ответ у В; 4. В выполняет преобразование числа Х по определенному алгоритму FA(X); 5. В посылает FA(X) стороне А; 6. А сравнивает полученное значение FA(X) с собственным вычислением и получает или не получает подтверждение подлинности В. Аналогичная процедура может быть проделана стороной В для подтверждения подлинности стороны А (отсюда и «рукопожатие»). Перехват посторонним лицом передаваемых чисел ничего не дает, так как нужно знать преобразование. Пример преобразующего алгоритма: число X FA(X) 1313 4 4762 86 5472 76 1111 0 2222 0 4444 64 FA(X)= 2*(d1*d4+d2*d3) mod (d1*d2*d3*d4), где d1, d2, d3, d4 – цифры четырехзначного числа. Процедура установления подлинности в режиме «рукопожатия» используется для установлении виртуальных каналов. Следует отметить, что иногда фаза аутентификации отсутствует совсем (партнеру верят на слово) или носит чисто символический характер. Так, при получении письма по электронной почте вторая сторона описывается строкой "From:"; подделать ее не составляет большого труда. По24 рой в качестве свидетельства подлинности выступает только сетевой адрес или имя компьютера - вещь явно недостаточная для подлинного доверия. Достоинства парольной аутентификации. 1. Простота и привычность. Пароли давно встроены в операционные системы и иные сервисы. При правильном использовании можно обеспечить надежный уровень безопасности. 2. Надежность паролей основывается на особенности помнить их и хранить в тайне. Недостатки 1. Иногда пароли с самого начала не являются тайной, так как имеют стандартные значения, указанные в документации, и далеко не всегда после установки системы производится их смена. Правда, это можно считать аспектом простоты использования программного продукта. 2. Ввод пароля можно подсмотреть - подглядывание из-за плеча (можно использовать оптические приборы). 3. Пароли нередко сообщают коллегам, чтобы те смогли выполнить какие-либо нестандартные действия (например, подменить на некоторое время владельца пароля). Тайна, которую знают двое, уже не тайна. 4. Пароль можно угадать методом грубой силы (использование специальных программ, словарей), Если файл паролей зашифрован, но доступен на чтение, его можно перекачать к себе на компьютер и попытаться подобрать пароль, запрограммировав полный перебор (алгоритм шифрования предполагается известным). 5. Пароли на ПК нередко используются для управления логическим доступом. Многочисленные пароли трудно использовать и администрировать. 6. Пароли уязвимы по отношению к электрическому перехвату. Это наиболее принципиальный недостаток, который нельзя компенсировать улучшением администрирования или обучением пользователей. Практически единственный выход — использование криптографии для шифрования паролей перед передачей по линиям связи. Меры предосторожности при работе с паролем. Тем не менее, следующие меры позволяют значительно повысить надежность парольной защиты: Пароли никогда не следует хранить в информационной системе в явном виде, они должны быть зашифрованы. Безопасность может обеспечиваться простыми и недорогими способами. В качестве примера простого шифрования рассмотрим метод необратимой и беспорядочной сборки (зашифровали и нельзя восстановить): f(x)=(x^n + a1*x^(n-1) + a2*x^(n-2) +…+ an-1*x + an) mod P, f(x ) – пароль в зашифрованном виде; Р=2^64-59; n = 2^24 + 17; где ai – произвольные целые 19-ти разрядные числа; х – пароль в явном виде в цифровой форме. Проектировщик системы может выбрать свои собственные коэффициенты ai, n и Р. Система шифрует каждый пароль во время регистрации и сравнивает его с зашифрованным паролем, хранящимся в БД. 2. Пароль никогда не отображается явно и не печатается. 3. Управление сроком действия паролей, их периодическая смена; 4. Система никогда не должна вырабатывать пароль в конце сеанса связи. 5. Правильный выбор пароля, наложение технических ограничений (пароль должен быть не слишком коротким, он должен содержать буквы, цифры, знаки пунктуации и т.п.); 6. Ограничение доступа к файлу паролей; 1. 25 7. 8. 9. Ограничение числа неудачных попыток входа в систему (это затруднит применение метода грубой силы); Обучение пользователей; Использование программных генераторов паролей Перечисленные меры целесообразно применять всегда, даже если наряду с паролями используются другие методы аутентификации, основанные, например, на применении токенов. 4.1.2 Использование токенов для аутентификации Токен - это предмет (устройство), владение которым подтверждает подлинность пользователя. Различают токены с памятью (пассивные, которые только хранят, но не обрабатывают информацию) и интеллектуальные токены (активные). Самой распространенной разновидностью токенов с памятью являются карточки с магнитной полосой. Для использования подобных токенов необходимо устройство чтения, снабженное также клавиатурой и процессором. Обычно пользователь набирает на этой клавиатуре свой личный идентификационный номер, после чего процессор проверяет его совпадение с тем, что записано на карточке, а также подлинность самой карточки. Таким образом, здесь фактически применяется комбинация двух способов защиты, что существенно затрудняет действия злоумышленника - мало украсть или подделать карточку, нужно узнать еще и личный номер "жертвы". Обратим внимание на необходимость обработки аутентификационной информации самим устройством чтения, без передачи в компьютер - это исключает возможность электронного перехвата. Иногда (обычно для физического контроля доступа) карточки применяют сами по себе, без запроса личного идентификационного номера. Наряду с несомненными достоинствами, токены с памятью обладают и определенными недостатками: - они существенно дороже паролей. - их необходимо делать, раздавать пользователям, обслуживать случаи потери. - они нуждаются в специальных устройствах чтения. - пользоваться ими не очень удобно, особенно если организация установила у себя интегрированную систему безопасности. Чтобы сходить, например, в туалет, нужно вынуть карточку из устройства чтения, положить ее себе в карман, совершить моцион, вернуться, вновь вставить карточку в устройство чтения и т.д. Пользователей придется убеждать, что повышенные меры безопасности действительно необходимы. Как известно, одним из самых мощных средств в руках злоумышленника является изменение программы аутентификации, при котором пароли не только проверяются, но и запоминаются для последующего несанкционированного использования. Интеллектуальные токены характеризуются наличием собственной вычислительной мощности. Они подразделяются на интеллектуальные карты (стандартизованные ISO) и прочие токены. Карты нуждаются в интерфейсном устройстве, прочие токены обычно обладают ручным интерфейсом (дисплеем и клавиатурой) и по внешнему виду напоминают калькуляторы. Чтобы токен начал работать, пользователь должен ввести свой личный идентификационный номер. По принципу действия интеллектуальные токены можно разделить на следующие категории. Статический обмен паролями: пользователь обычным образом доказывает токену свою подлинность, затем токен проверяется компьютерной системой. Динамическая генерация паролей: токен генерирует пароли, периодически (например, раз в минуту) изменяя их. Компьютерная система должна иметь синхронизированный генератор паролей. Информация от токена поступает по электронному интерфейсу или набирается пользователем на клавиатуре терминала. Запросно-ответные системы (процедура рукопожатия»): компьютер выдает случайное число, которые преобразуется криптографическим механизмом, встроенным в токен, после чего результат возвращается в компьютер для проверки. Здесь также возможно использование электронного или ручного интерфейса. В последнем случае пользователь 26 читает запрос с экрана терминала, набирает его на клавиатуре токена (возможно, в это время вводится и личный номер), на дисплее токена видит ответ и переносит его на клавиатуру терминала. Достоинства интеллектуальных токенов: 1. Возможность применения для аутентификации в открытой сети Генерируемые или выдаваемые в ответ пароли постоянно меняются, и злоумышленник не получит заметных дивидендов, даже если перехватит текущий пароль. С практической точки зрения интеллектуальные токены реализуют механизм одноразовых паролей. 2. Потенциальная многофункциональность (можно применять не только для безопасности, но и для финансовых операций). Недостатки: 1. Высокая стоимость (правда, это хотя бы отчасти можно трактовать и как достоинство, поскольку тем самым затрудняется подделка). 2. Если у токена нет электронного интерфейса, то пользователю приходятся выполнять очень много ручных операций. 3. Администрирование интеллектуальных токенов по сравнению с магнитными картами усложнено счет необходимости управления криптографическими ключами. За безопасность действительно приходится платить - деньгами и неудобствами. 4.1.3 Устройства контроля биометрических характеристик Биометрические характеристики – это физические особенности, уникальные для каждого человека. До появления компьютеров использовались такие характеристики, как рукописная подпись, отпечатки пальцев, портрет или письменное описание внешнего вида человека. Все биометрические методики можно разделить на две группы: 1. Измерение физических черт отпечатки пальцев (должен быть сканер); геометрия руки. Устройства для считывания геометрии руки используются для допуска в дом или квартиру; характеристика сетчатки глаза (требуется ретинальная камера, размещающая позади специального окуляра); характеристика : радужная оболочка глаза форма лица (камера, которая сканирует и сравнивает с образцом). 2. Поведенческие характеристики: голосовые характеристики. Методика основана на распознавании речи и сравнении с заданными голосовыми образцами; рукописная подпись; динамика работы на клавиатуре ПК. Достоинством является то, что для самого аутентифицируемого лица - это самый легкий подход. Ему не нужно ничего запоминать или хранить, все за него делает сама система. Недостатки: 1. В биометрических методиках используется дорогое оборудование, сложное в настройке, установке, эксплуатации. 2. При дистанционном использовании биометрические показания подвержены риску перехвата, а владелец не может что-либо изменить, как в случае с паролем. 3. Биометрическая аппаратура чувствительна к различным физиологическим изменениям Пока биометрические методики применяются только в специфических организациях с высокими требованиями к безопасности, чаще всего для физического контроля доступа. 27 Очень важной и трудной задачей является администрирование службы идентификации и аутентификации. Необходимо постоянно поддерживать конфиденциальность, целостность и доступность соответствующей информации, что особенно непросто в сетевой разнородной среде. Целесообразно, наряду с ранее декларировавшимся тезисом всемерной автоматизации, применить максимально возможную централизацию информации. Достичь этого можно применением выделенных серверов проверки подлинности или средств централизованного администрирования. Некоторые операционные системы, например, Solaris или NetWare, предлагают сетевые сервисы, которые могут служить основой централизации административных данных. Отметим, что централизация облегчает жизнь не только системным администраторам, но и пользователям, поскольку позволяет реализовать важную концепцию единого входа. Единожды пройдя проверку подлинности, пользователь получает доступ ко всем ресурсам сети (естественно, в пределах своих полномочий). 4.2.Управление доступом Средства управления доступом позволяют специфицировать и контролировать действия, которые субъекты (пользователи и процессы) могут выполнять над объектами (информацией и другими компьютерными ресурсами). В данном разделе речь идет о логическом (в отличие от физического) управлении доступом, который реализуется программными средствами. Логическое управление доступом - это основной механизм многопользовательских систем, призванный обеспечить конфиденциальность и целостность объектов и, до некоторой степени, их доступность (путем запрещения обслуживания неавторизованных пользователей). Рассмотрим формальную постановку задачи. Имеется совокупность субъектов и набор объектов. Задача логического управления доступом состоит в том, чтобы для каждой пары (субъект, объект) определить множество допустимых операций (зависящее, быть может, от некоторых дополнительных условий) и контролировать выполнение установленного порядка. Отношение (субъекты, объекты), можно представить в виде матрицы, в строках которой перечислены субъекты, в столбцах — объекты, а в клетках, расположенных на пересечении строк и столбцов, записаны дополнительные условия (например, время и место действия) и разрешенные виды доступа, например: субъект/объект Имя слуАдрес Данные об жащего окладе Отдел кадров 11 11 11 Касса 01 00 11 Отдел сбыта 00 00 00 …. … Аij …. где 01 – чтение, 10 – запись, 11 – чтение и запись, 00 – нет доступа к данному объекту данных.. Субъектами могут быть конкретные пользователи, группы пользователей, роли. Объектами, кроме элементов данных, могут быть терминалы, программы. Элементы матрицы Аij могут указывать некоторые дополнительные процедуры, которые исполняются при каждой попытке доступа. Приведем примеры таких процедур: 1. Решение о доступе основывается на текущем значении ресурса, например, нельзя читать поле «зарплата», если величина зарплаты больше некоторого значения. 2. Доступ к ресурсу разрешается только в рабочее время. Тема логического управления доступом - одна из сложнейших в области информационной безопасности. Причина в том, что само понятие объекта (а тем более видов доступа) меняется от сервиса к сервису. Для операционной системы в число объектов входят файлы, устройства и процессы. Применительно к файлам и устройствам обычно рассматриваются права на чтение, запись, выполнение (для программных файлов), иногда на удаление и добавление. Отдельным правом может быть возможность передачи полномочий доступа другим субъектам (так называемое право владения). Процессы можно создавать и уничтожать. Современные операционные системы могут поддерживать и другие объекты. 28 Для систем управления реляционными базами данных объект - это база данных, таблица, представление, хранимая процедура. К таблицам применимы операции поиска, добавления, модификации и удаления данных, у других объектов иные виды доступа. И список этот можно продолжать до бесконечности. Разнообразие объектов и применимых к ним операций приводит к принципиальной децентрализации логического управления доступом. Каждый сервис должен сам решать, позволить ли конкретному субъекту конкретную операцию. Теоретически это согласуется с современными объектно-ориентированными воззрениями, на практике же приводит к значительным трудностям. Главная проблема в том, что ко многим объектам можно получить доступ с помощью разных сервисов (возможно, при этом придется преодолеть некоторые технические трудности). Так, до реляционных таблиц можно добраться не только средствами СУБД, но и путем непосредственного чтения файлов или дисковых разделов, поддерживаемых операционной системой (разобравшись предварительно в структуре хранения объектов базы данных), В результате при задании матрицы доступа нужно принимать во внимание не только разумность распределения привилегий для каждого сервиса, но и существующие связи между сервисами (приходится заботиться о согласованности разных частей матрицы). Аналогичная трудность возникает при экспорте/импорте данных, когда информация о правах доступа, как правило, теряется (поскольку на новом сервисе она не имеет смысла). Следовательно, обмен данными между различными сервисами представляет особую опасность с точки зрения управления доступом, а при проектировании и реализации разнородной конфигурации необходимо позаботиться о согласованном распределении прав доступа субъектов к объектам и о минимизации числа способов экспорта/импорта данных. Контроль прав доступа производится разными компонентами программной среды - ядром операционной системы, дополнительными средствами безопасности, системой управления базами данных, посредническим программным обеспечением (таким как монитор транзакций) и т.д. Тем не менее, можно выделить общие критерии, на основании которых решается вопрос о предоставлении доступа, и общие методы хранения матрицы доступа. При принятии решения о предоставлении доступа обычно анализируется следующая информация. Идентификатор субъекта (идентификатор пользователя, сетевой адрес компьютера и т.п.). Подобные идентификаторы являются основой произвольного управления доступом. Атрибуты субъекта (метка безопасности, группа пользователя и т.п.). Метки безопасности — основа принудительного управления доступом. В последнее время все большее распространение в системах управления базами данных получает понятие роли. В самом общем виде роль можно трактовать как атрибут, который субъект может получить, пройдя процедуру дополнительной аутентификации. На практике роли ассоциируют с приложениями (например, ввод данных о зарплате или генерация годового отчета) и защищают разделяемыми (то есть общими для нескольких субъектов) паролями. Последнее обстоятельство снижает реальную ценность роли как механизма безопасности. Место действия (системная консоль, надежный узел сети и т.п.). Время действия (большинство действий целесообразно разрешать только в рабочее время). Внутренние ограничения сервиса (число пользователей, записанное в лицензии на программный продукт, сумма, которую разрешается выдавать наличными и т.п.). Матрицу доступа, ввиду ее разреженности (большинство клеток - пустые), неразумно хранить в виде двумерного массива. В принципе можно представлять ее по строкам, поддерживая для каждого субъекта перечень доступных ему объектов, однако, поскольку объекты гораздо динамичнее субъектов (они чаще создаются и уничтожаются), подобный подход чрезмерно усложняет администрирование. Практичнее хранить матрицу по столбцам, то есть для каждого объекта поддерживать список "допущенных" субъектов вместе с их правами. Элементами списков могут быть имена групп и шаблоны субъектов, что служит существенным подспорьем 29 администратору. Некоторые проблемы возникают только при удалении субъекта, когда приходится устранять его имя из всех списков доступа; впрочем, операция эта нечастая. Списки доступа - исключительно гибкое средство. С их помощью легко выполнить требования класса безопасности С2 о гранулярности прав с точностью до пользователя. Посредством списков несложно добавить права или явным образом запретить доступ (например, чтобы наказать нескольких членов группы пользователей). Безусловно, списки являются лучшим средством произвольного управления доступом. Подавляющее большинство операционных систем и систем управления базами данных реализуют именно произвольное управление доступом. Достоинством произвольного управления является гибкость. К сожалению, у «произвольного» подхода есть ряд принципиальных недостатков: Рассредоточенность управления доступом ведет к тому, что надежными должны быть многие пользователи, а не только системные операторы или администраторы. Рассеянность или некомпетентность владельца секретной информации может открыть ее (информацию) всем прочим пользователям. Следовательно, произвольность управления должна быть дополнена жестким контролем за проведением избранной политики безопасности. Права доступа существуют отдельно от данных. Ничто не мешает пользователю, имеющему доступ к секретной информации, записать ее в доступный всем файл. Имеется функциональный способ представления матрицы доступа, когда ее вообще не хранят в явном виде, а каждый раз вычисляют содержимое соответствующих клеток. Например, при принудительном управлении доступом применяется сравнение меток безопасности субъекта и объекта, в защитных надстройках над операционными системами класса Из соображений построения эшелонированной обороны целесообразно сочетать применение списков управления доступом (в полной или ограниченной форме) и функционального представления (обычно основанного на шифровании информации). Удобной надстройкой над средствами логического управления доступом является ограничивающий интерфейс, когда пользователя лишают самой возможности попытаться совершить несанкционированные действия, включив в число видимых ему объектов только те, к которым он имеет доступ. Подобный подход реализуют, например, в рамках системы меню (пользователю показывают лишь допустимые варианты выбора). 4.3 Протоколирование и аудит Под протоколированием понимается сбор и накопление информации о событиях, происходящих в информационной системе предприятия. У каждого сервиса свой набор возможных событий, но в любом случае их можно подразделить на внешние (вызванные действиями других сервисов), внутренние (вызванные действиями самого сервиса) и клиентские (вызванные действиями пользователей и администраторов). К числу регистрируемых событий относятся: - вход в систему; - выход из системы; - обращение к удаленным системам; - операции с файлами; - смена привилегий или иных атрибутов безопасности. Полный перечень событий, потенциально подлежащих регистрации, зависит от специфики системы и избранной политики безопасности. Перечислим информацию, которую нужно регистрировать: - дату и время; - ID пользователя; - тип события (вход, выход); - результат действия (успех или неудача); - источник запроса; 30 имена затронутых объектов; запись изменений в БД защиты; метки безопасности. Аудит - это анализ накопленной информации, проводимый оперативно, (почти) в реальном времени, или периодически (например, раз в день). Реализация протоколирования и аудита преследует следующие главные цели: 1.Обеспечение подотчетности пользователей и администраторов. Обеспечение подотчетности важно в первую очередь как средство сдерживания. Если пользователи и администраторы знают, что все их действия фиксируются, они, возможно, воздержатся от незаконных операций. Очевидно, если есть основания подозревать какого-либо пользователя в нечестности, можно регистрировать его действия особенно детально, вплоть до каждого нажатия клавиши. При этом обеспечивается не только возможность расследования случаев нарушения режима безопасности, но и откат некорректных изменений (если в протоколе присутствуют данные до и после модификации). Тем самым защищается целостность информации. 2.Обеспечение возможности реконструкции последовательности событий. Реконструкция последовательности событий позволяет выявить слабости в защите сервисов, найти виновника вторжения, оценить масштабы причиненного ущерба и вернуться к нормальной работе. 3.Обнаружение попыток нарушений информационной безопасности. Обнаружение попыток нарушений информационной безопасности - тема сложная, требующая, вообще говоря, привлечения методов искусственного интеллекта. Как выявлять подозрительные события? Иногда это легко (что может быть подозрительнее последовательности неудачных входов в систему?), иногда сложно (некто больше обычного пользуется модемом, чтобы передать за пределы организации конфиденциальную информацию). В любом случае, организуя оперативный или периодический аудит, следует сформулировать для себя или для программы критерии отбора записей, требующих детального анализа. При правильной постановке подобная деятельность может существенно усилить защиту. 4.Предоставление информации для выявления и анализа проблем. Выявление и анализ проблем могут помочь улучшить такой параметр безопасности, как доступность. Обнаружив узкие места, можно попытаться переконфигурировать или перенастроить систему, снова измерить производительность и т.д. Пожалуй, протоколирование, как никакое другое средство безопасности, требует для своей реализации здравого смысла. Какие события регистрировать? С какой степенью детализации? На подобные вопросы невозможно дать универсальные ответы. Необходимо следить за тем, чтобы, с одной стороны, достигались перечисленные выше цели, а, с другой стороны, расход ресурсов не выходил за разумные рамки. Слишком обширное или детальное протоколирование не только снижает производительность сервисов (что отрицательно сказывается на доступности), но и затрудняет аудит, то есть не увеличивает, а уменьшает информационную безопасность. Еще одна особенность протоколирования и аудита - зависимость от других средств безопасности. Идентификация и аутентификация служит отправной точкой подотчетности пользователей, логическое управление доступом защищает конфиденциальность и целостность регистрационной информации. Возможно, для защиты привлекаются и криптографические методы. Трудной проблемой является организация согласованного протоколирования и аудита в распределенной разнородной системе. Во-первых, некоторые компоненты, важные для безопасности (например, маршрутизаторы), могут не обладать своими ресурсами протоколирования; в таком случае их нужно экранировать другими сервисами, которые возьмут протоколирование на себя. Во-вторых, необходимо увязывать между собой события в разных сервисах. Без импорта регистрационной информации в базу данных и применения SQL-средств это не представляется возможным. Протоколирование и аудит можно превратить в бессмысленную формальность, а можно в эффективный инструмент поддержания режима информационной безопасности. - 31 Тема 5. Криптографические методы и средства для защиты информации Среди всего спектра методов защиты данных от нежелательного доступа особое место занимают криптографические методы. В отличие от других методов, они опираются лишь на свойства самой информации и не используют свойства ее материальных носителей, особенности узлов ее обработки, передачи и хранения. Образно говоря, криптографические методы строят барьер между защищаемой информацией и реальным или потенциальным злоумышленником из самой информации. Конечно, под криптографической защитой в первую очередь, – так уж сложилось исторически, – подразумевается шифрование данных. Раньше, когда эта операция выполнялось человеком вручную или с использованием различных приспособлений, и при посольствах содержались многолюдные отделы шифровальщиков, развитие криптографии сдерживалось проблемой реализации шифров, – ведь придумать можно было все что угодно, но как это реализовать…. Появление цифровых электронно-вычислительных машин, приведшее в конечном итоге к созданию мощной информационной индустрии, изменило все коренным образом и в этой сфере. С одной стороны, взломщики шифров получили в свои руки чрезвычайно мощное орудие, с другой стороны, барьер сложности реализации исчез, и для создателей шифров открылись практически безграничные перспективы. Все это определило стремительный прогресс криптографии в последние десятилетия. Криптография как наука существует давно, но она, в основном, всегда была прерогативой военных (шифрование). На современном этапе контроль за криптографическими средствами защиты информации взяли на себя государственные органы (лицензирование и т.д). 5.1 Основные термины и понятия криптографии Процесс преобразования открытого текста с целью сделать непонятным его смысл называется шифрованием. В результате шифрования получается шифротекст или шифр. Процесс обратного преобразования шифротекста в открытый текст называется расшифрованием или дешифрованием. Наука, которая изучает методы сохранения содержания сообщения в тайне, называется криптографией. Специалисты в этой области называются криптографами. Криптография совокупность методов преобразования данных, направленных на то, чтобы сделать эти данные бесполезными для противника. Эти преобразования позволяют решить две глобальных проблемы защиты информации: обеспечение конфиденциальности – путем лишения противника возможности извлечь информацию из каналов связи; обеспечение целостности – путем лишения противника возможности изменить сообщение так, чтобы изменился ее смысл или ввести ложную информацию в канал связи. Как видим, термин «криптография» далеко ушел от своего первоначального значения – «тайнопись», «тайное письмо». Сегодня эта дисциплина объединяет методы защиты информационных взаимодействий совершенно различного характера, опирающиеся на преобразование данных по секретным алгоритмам, включая алгоритмы, использующие секретные параметры. Наука о вскрытии шифров, которая отвечает на вопрос как прочесть открытый текст, скрывающийся под шифрованным, называется криптоанализом. Специалисты в этой области криптоаналитики. Раздел науки, объединяющий криптографию и криптоанализ, называется криптологией. Помогая сохранить сообщение в тайне, криптография может быть использована для решения следующих задач: - сохранение сообщения в тайне; - аутентификация. Получателю необходимо убедиться в том, что сообщение исходит от конкретного пользователя; 32 целостность. Получатель сообщения должен быть в состоянии проверить внесены ли какие-либо изменения в ходе передачи сообщения; - неоспоримость. Отправитель сообщения должен быть лишен возможности отрицать, что именно он является автором сообщения. Криптографический алгоритм, называемый шифром или алгоритмом шифрования, представляет собой математическую функцию, используемую для шифровании или расшифрования. Надежность криптографического алгоритма обеспечивается за счет сохранения в тайне ключей, если же в тайне необходимо сохранять суть самого алгоритма, то такой алгоритм называется ограниченным. - В современной криптографии проблемы секретности решаются с помощью ключей. Ключ К должен выбираться среди значений, принадлежащих множеству, называемому ключевым пространством. Пусть Р – открытый текст, С – шифротекст. После шифрования С передают по каналам связи. Е – функция шифрования, D – функция расшифрования, тогда Е(Р)=С, D(С)=Р, D(E(P))=P Функции шифрования и расшифрования зависят от ключей: Ек1(Р)=С, Dk2(C)= P. Надежность алгоритма шифрования с использованием ключей достигается за счет их надлежащего выбора и последующего хранения в строжайшем секрете. В современной криптологии принято считать, что надежность шифра определяется только секретностью ключей. Правило Киркхоффа (1903) гласит, что весь механизм шифрования за исключением ключей предположительно известен противнику. Под криптосистемой понимают алгоритм шифрования и множество всевозможных ключей. Классификация криптосистем представлена на рис. 5.1 Симметричные (одноключевые) Криптосистемы Ассиметричные (двухключевые) составные рис.5.1 Классификация криптосистем Симметричным – называют криптографический алгоритм, в котором ключ, используемый для расшифрования, может быть получен из ключа шифрования и наоборот. Такие системы также называют одноключевыми системами или системами с секретным ключом. Ассиметричные алгоритмы (алгоритмы шифрования с открытым ключом) устроены так, что ключ, используемый для шифрования сообщений, отличается от ключа, применяемого для их расшифровки. Причем один ключ не может быть получен из другого. Один из них, несекретный (он может публиковаться вместе с адресом пользователя) используется для шифровки, другой (секретный, известный только получателю) - для расшифровки. Асимметричные методы позволяют реализовать так называемую электронную цифровую подпись (ЭЦП). 5.2 Криптоаналитические атаки. Если противник узнал ключ не прибегая к криптоанализу, то говорят что ключ был скомпрометирован. Попытка криптоанализа называется атакой. Успешная криптоаналитическая атака называется взломом или вскрытием. Известно 7 видов криптоаналитических атак: 1. Атака со знанием только шифротекста. В распоряжении криптоаналитика имеется несколько зашифрованных сообщений. Задача атаки состоит в нахождении открытого текста наибольшего числа перехваченных сообщений или ключей. 33 Дано: С1=Ек1(Р1), С2=Ек2(Р2), ….. Сi=Екi(Рi) Найти Р1, Р2,….Pi или К1,К2,…..Ki. 2. Атака со знанием открытого текста. Криптоаналитик имеет доступ не только к шифрованным данным, но и к открытым текстам нескольких сообщений. От него требуется найти ключи, которые использовались при шифровании. Дано: Р1, С1=Ек1(Р1), Р2,С2=Ек2(Р2), ….. Pi,Сi=Екi(Рi) Найти: К1,К2,…..Ki. 3. Атака с выбранным открытым текстом. Криптоаналитик не только знает шифрованные и открытые тексты нескольких сообщений, но и может определить содержание этих сообщений. Эта разновидность мощнее предыдущей, так как здесь криптоаналитик может по своему усмотрению выбирать открытый текст, подлежащий шифрованию и тем самым получать больше информации об используемых ключах. Дано: Р1, С1=Ек1(Р1), Р2,С2=Ек2(Р2), ….. Pi,Сi=Екi(Рi), где P1,P2,…Pi – выбранные криптоаналитиком. Найти: К1, К2, Кi. 4. Адаптивная атака с выбранным открытым текстом. Это разновидность предыдущей атаки. Здесь криптоаналитик выбирает не только тексты посылаемых открытых сообщений, но и может менять свой выбор в зависимости от результатов шифрования. 5. Атака с выбранным шифротекстом. Криптоаналитику предоставляется возможность выбора шифротекстов, подлежащих расшифрованию получателем. Имеется также доступ к соответствующим открытым текстам. Дано: C1, P1=Dк1(C1), C2,P2=Dк2(C2), ….. Ci,Pi=Dкi(Ci) Найти: К1, К2,…..Ki. Атаки 3,4,5-го типов называется атаками с выбранным текстом. 6. Атака с выбранным ключом. Криптоаналитик обладает знаниями относительно правил, по которым выбираются ключи. 7. Атака с применением физической силы. Присутствуют подкуп, шантаж, пытки, чтобы получить сведения, необходимые для взлома криптосистемы. Атаки со знанием открытого текста не так уж редко встречаются на практике: например, известны начало или конец сообщения. 5.3 Понятие стойкости алгоритма шифрования Различные криптоалгоритмы обладают разной надежностью или стойкостью шифрования. Стойкость зависит от того, насколько легко криптоаналитик может взломать шифр. Если при этом стоимость затрат превышает ценность получаемой информации, то владельцу шифра, возможно, беспокоиться не о чем. Если время, потраченное на взлом шифра, больше периода, в течение которого данные должны храниться в секрете, то данные, вероятно, - в безопасности. Если противник не накопил достаточного количества ваших сообщений, зашифрованных с помощью одного ключа, чтобы суметь определить этот ключ, то время его менять может быть не пришло. Слова «возможно», «вероятно», «может быть» употреблены здесь не зря. Всегда существует вероятность, что в криптоанализе произойдут революционные изменения. Под вскрытием (взломом) шифра обычно понимается решение одной из перечисленных ниже задач: 1. Полное вскрытие. Криптоаналитик нашел ключ К такой, что Dк (С)=Р 2. Глобальная дедукция. Не зная ключа К, криптоаналитик отыскал альтернативный Dк алгоритм А такой, что А(С)=Р. 3. Частичная дедукция. Криптоаналитик получил неполную информацию о ключе или открытом тексте. Это может быть несколько битов ключа или дополнительные данные о структуре открытого текста. Криптографический алгоритм называется безусловно стойким, если вне зависимости от того, каким объемом перехваченного шифротекста располагает криптоаналитик, у него нет достаточной информации, чтобы восстановить исходный открытый текст. 34 Сложность криптоаналитической атаки на алгоритм шифрования можно охарактеризовать с помощью 3-х величин: 1) Сложность по данным - количество входных данных, необходимых для успешной криптоаналитической атаки на алгоритм шифрования. 2) Вычислительная сложность – время или количество операций, требуемое для успешной криптоаналитической атаки на алгоритм шифрования. 3) Сложность по памяти – объем памяти, который потребуется для успешной криптоаналитической атаки на алгоритм шифрования. Часто под сложностью криптоаналитической атаки понимается максимальное значение из трех заданных величин. К примеру, если атака имеет сложность 2 128, то это означает, что для взлома шифра требуется выполнить 2128 операций. 5.4 Симметричные криптографические системы K K Секретный ключ P Открытый текст Рисунок 5.2 P C шифрасОткрыровашифротый текст ние вание Ek(P) Dk(C) Структурная схема симметричной криптографической системы Шифрование в симметричных криптографических системах Блочное Методы поточное синхронное комбинированное Перестановки замены (подстановки) составные самосинхронизирующее Рисунок 5.3 Классификация методов шифрования в симметричных криптографических системах Если открытый текст разбивается на блоки, состоящие из нескольких бит (в современных алгоритмах 64 бита), то алгоритм называется блочным. Шифры, в которых открытый текст обрабатывается побитно, называются потоковыми (поточными) шифрами. 5.4.1 Блочные алгоритмы симметричного шифрования Шифры простой перестановки: Шифр простой перестановки переупорядочивает текст регулярным образом в соответствии с выбранным ключом или правилом перестановки. Пример 1. В шифре простой колонной перестановки исходный текст записывается построчно (число букв в строке фиксировано), а шифротекст получается считыванием букв по колонкам. 35 Зашифруем текст: «Юстас Алексу встречайте связного» в виде таблицы из 6 строк и 5 колонок. Ю С Т А С А Л Е К С У В С Т Р Е Ч А Й Т Е С В Я З Н О Г О Ъ В тексте не используются пробелы. Оставшиеся пустые клетки заполним символом «Ъ». Шифротекст получится считыванием букв по колонкам: ЮАУЕЕНСЛВЧСОТЕСАВГАКТЙЯОССРТЗЪ. Для расшифрования такого текста нужно знать ключ – правило 6х5. Иногда результат одной перестановки еще раз переставляется – сложная перестановка. Пример 2. Зашифруем тест « ЗАСЕДАНИЕ СОСТОИТСЯ ЗАВТРА ЮСТАС», используя блоки из 6 символов и ключ 245136, Делим текст без пробелов на блоки по 6 символов в каждом. З А С Е Д А Н И Е С О С Т О И Т С Я З А В Т Р А Ю С Т А С Ъ Переставляем символы в блоке согласно ключу: на 1-ое место в блоке ставим 2-ой символ; на 2-ое место – 4-й символ; на 3-е место в блоке ставим 5-ый символ и т.д. Получаем зашифрованный текст: А Е Д З С А И С О Н Е С О Т С Т И Я А Т Р З В А С А С Ю Т Для того, чтобы расшифровать шифротекст, нужно еще раз выполнить перестановку в блоке. Используется тот же самый ключ и для шифрования и для расшифрования. Шифры замены (подстановки) Шифром замены называется алгоритм шифрования, который производит замены каждой буквы открытого текста, на какой-либо символ шифрованного текста. Получатель сообщения расшифровывает его путем обратной замены. В классической криптографии различают четыре разновидности шифров замены: 1. Простая замена (одноалфавитный шифр). Каждая буква открытого текста заменяется на один и тот же символ шифротекста. 2. Омофонная замена. Замена, аналогичная простой замене с единственным отличием: каждой букве открытого текста ставится в соответствие несколько символов шифротекста А→ 5, 13, 25, 57. Б→ 7, 19, 31, 43. Ключом являются шифровальные таблицы. 3. Блочная замена – шифрование открытого текста производится блоками. Например, блоку «АБА» соответствует блок «PHP», а блоку «АББ» – «СЛЛ» и т. д. 4. Многоалфавитная замена состоит из нескольких шифров простой замены. Например, могут использоваться 5 шифров простой замены, а кокой из них применяется для шифрования конкретного символа в открытом тексте зависит от его положения в тексте. Одноалфавитные шифры К одноалфавитным шифрам относится и исторически известный шифр Цезаря, в котором каждая буква открытого текста заменялась третьей по счету буквой латинского алфавита (с учетом циклического сдвига). Вскрытие такого шифра осуществлялось путем перебора возможных ключей, в качестве которых используется величина сдвига букв в сообщении до появления осмысленного текста. Примером шифра простой замены может служить программа ROT13, которую обычно можно найти в ОС UNIX. С ее помощью буква «A» открытого текста на английском языке заменяется на букву «N», «B» – на «O» и т. д. ROT13 циклически сдвигает каждую букву английского алфавита на 13 позиций вправо. Чтобы получить исходный текст, надо применить функцию шифрования ROT13 еще раз: 36 Ъ Р= ROT13(ROT13(Р)). При простой одноалфавитной подстановке каждый знак Mi, принадлежащий алфавиту А, заменяется соответствующим знаком Hi, принадлежащий к алфавиту шифротекста В. Соответствие между знаками алфавитов А и В задается с помощью кодовой таблицы или выражения. Например, при использовании обобщенного «шифра Цезаря» выражение, устанавливающее связь между алфавитами А и В, имеет вид: F(Hi)=(F(Mi)+p) mod K, где K – число знаков в алфавите. р – постоянная величина сдвига F(Hi) и F(Mi) - это числа, соответствующие буквам алфавита алфавитов А и В, которые в рассматриваемом случае состоят из одних и тех же символов. Переход к шифротексту осуществляется в результате суммирования с некоторой постоянной величиной р. Шифрование этим способом эквивалентно сдвигу алфавита на фиксированное число позиций. Однако, несмотря на то, что число возможных перестановок букв алфавита равно 26!, шифры одноалфавитной замены не являются высокостойкими. Все шифры простой замены легко взламываются с использованием современных компьютеров, поскольку замена недостаточно хорошо маскирует стандартные частоты встречаемости букв в открытом тексте. Многоалфавитые шифры В этих шифрах применяется несколько перемешанных алфавитов, поочередно используемых при замене символов исходного шифруемого сообщения. К таким шифрам относятся шифр Вижинера, шифры, получаемые при использовании немецкой шифровальной машины «Энигма» (буквы заменяются при помощи роторов), цилиндр Джефферсона и др. При n-алфавитной подстановке знак m1 из исходного алфавита А заменяется знаком h1 алфавита В1, знак m1€ A h1€ B1 m2 заменяется знаком h2 из алфавита В2 и т.д., знак mn+1 снова заменяется символом из алфавита В1. Эффект использования многоалфавитной подстановки состоит в том, что обеспечивается маскировка естественной частотной статистики исходного языка А, так как конкретный символ языка А может быть преобразован в несколько различных символов шифрованного алгоритма В. Пример 3. Зашифруем сообщения, используя восьмиалфавитный шифр подстановки. Ключ SECURITY N E E D + WE M O R E S N O W F O R B E T T E R S K I N G S E C U R I T Y S E C U R I T Y S E C U R I T Y S E C U R I T Y S E Будем рассматривать алфавит как кольцо, состоящее из 27 символов (26 букв и пробел). Присваивая, соответственно значения 0 – →у, 1 – «A», 2 – «B»,…….26 – «Z», будем иметь восьмиалфавитный шифр подстановки. Мы можем рассматривать первый алфавит как сдвигающий каждый знак, помещенный в кольцо на 19 (=S). Второй алфавит как сдвигающий каждый знак на 5 (=Е). Если мы используем сложение по модулю 27 в качестве средства преобразования секретной информации, получим зашифрованный текст: W+S = (23+19) mod 27 =42 mod 27 =15 →O E+E = (5+5) mod 27 =10 mod 27 =10 → J пробел +C= (0+3) mod 27 =3 → C N+U = (14 + 21) mod 27 = 35 mod 27 = 8 → H E+R = (5+18) mod 27 = 23 mod 27 =23 → W ……………………………………………….. OJCHWNXYETUZRAGMOEIIIIVCLYHLRADGASJ – полученный шифротекст. Для расшифрования используется тот же ключ, только операция сложения заменена на вычитание: 15 – 19 = -4, если значение меньше 0, то -4+27 = 23 →W 37 10 - 5 = 5 → E 3 – 3 = 0 → пробел 8 – 21 = -13 +27= 14 → N ……………………………… Пример 4. В симметричных шифрах в качестве шифрующего преобразования очень часто применяется операция – сложение по модулю 2 (). 00=0 0 1 =1 1 0 = 1 11=0 С помощью сложения по модулю 2 можно выполнить многоалфавитную замену, прибавляя к битам ключа соответствующие биты открытого текста. Заменяя символы текста цифровым двоичным эквивалентом и складывая их с двоичными символами некоторой специальной последовательности (ключом), называемой гаммой, получаем шифротекст К 0 0 Р 0 1 0 0 О 1 0 0 0 Н 1 1 0 1 А 0 0 0 1 0 1 сложение по модулю 2 КЛЮЧ 1001 0001 0010 0011 0100 0101 исходный текст 1001 1001 1001 1001 1001 1000 1011 1010 1101 1100 зашифрованный текст Поскольку двойное прибавление одной и той величины по модулю 2 восстанавливает исходное значение, шифрование и расшифрование выполняется одной и той же программой. Выполним обратное преобразование: 1000 1011 1010 1101 1100 зашифрованный текст 1001 1001 1001 1001 1001 0001 0010 0011 0100 0101 исходный текст К сожалению, данный алгоритм обладает очень слабой стойкостью, те не менее АНБ (Агентство национальной безопасности США) одобрило этот код для использования в мобильных телефонах американских производителей для засекречивания речевых переговоров. Данный шифр часто встречается в различных коммерческих программных продуктах. Опытными криптоаналитиками взлом этого шифра производится следующим образом: 1. Определяется длина ключа: шифротекст последовательно складывается по модулю 2 со своей копией, сдвинутой на различное число бит и в полученном векторе подсчитывается число совпадающих компонент. Когда величина сдвига кратна длине ключа, то число совпадений превысит 6% от общей длины исследуемого шифротекста. Если величина сдвига не кратна длине ключа, то совпадений будет меньше (0,4%). Проанализировав полученные данные можно сделать выводы о длине ключа. 2. Затем складывается шифротекст по модулю 2 со своей копией, сдвинутой на величину длины ключа. Эта операция аннулирует ключ и оставит в наличии открытый текст. Составные шифры Каким же условиям должен удовлетворять стойкий блочный шифр? Эти условия сформулировал Шеннон в ряде своих основополагающих работ по теории шифрования: такой шифр должен обладать свойствами перемешивания и рассеивания: 38 - рассеивание: это свойство шифра, при котором один символ (бит) исходного текста влияет на несколько символов (битов) шифротекста, оптимально - на все символы в пределах одного блока. Если данное условие выполняется, то при шифровании двух блоков данных с минимальными отличиями между ними должны получаться совершенно непохожие друг на друга блоки шифротекста. Точно такая же картина должна иметь место и для зависимости шифротекста от ключа - один символ (бит) ключа должен влиять на несколько символов (битов) шифротекста. - перемешивание: это свойство шифра скрывать зависимости между символами исходного текста и шифротекста. Если шифр достаточно хорошо «перемешивает» биты исходного текста, то соответствующий шифротекст не содержит никаких статистических, и, тем более, функциональных закономерностей - опять же, для стороннего наблюдателя, обладающего лишь ограниченными вычислительными ресурсами. Если шифр обладает обоими указанными свойствами в достаточной степени, то любые изменения в блоке открытых данных приводят к тому, что с точки зрения наблюдателя все символы (биты) в зашифрованном блоке получат новые значения, равновероятные в области их определения и независимые друг от друга. Так, если шифр оперирует информацией, представленной в двоичной форме, то инвертирование даже одного бита в блоке исходных данных приведет к тому, что все биты в соответствующем блоке шифрованных данных с вероятностью 1/2 независимо друг от друга так же поменяют свое значение. Такой шифр невозможно вскрыть способом, менее затратным с точки зрения количества необходимых операций, чем полный перебор по множеству возможных значений ключа. Данное условие является обязательным для шифра рассматриваемого типа, претендующего на то, чтобы считаться хорошим. Распространенный способ шифрования, при котором достигается хорошее рассеивание и перемешивание, состоит в использовании составного шифра, который реализован в виде последовательности простых шифров. При перестановке перемешивают символы открытого текста, при подстановке символ открытого текста заменяют другим символом из того же алфавита. В современных блочных шифрах блоки открытого и шифротекста представляют собой двоичные последовательности длиной 64 бита. Каждый блок может принимать 2^64 значений. При многократном чередовании простых перестановок и подстановок можно получить стойкий шифр с хорошим рассеиванием и перемешиванием. Одним из наглядных примеров криптоалгоритма, разработанного в соответствии с принципами рассеивания и перемешивания, может служить принятый в 1977 году национальным бюро стандартов США (АНБ) стандарт шифрования данных DES. DES был предназначен для защиты от несанкционированного доступа к важной, но не секретной информации (коммерческие фирмы, электронные платежи). Наиболее широко DES используется для шифрования при передаче данных между различными системами, почтовой связи, в электронных системах платежей и при электронном обмене коммерческой информацией. Первоначально методы шифрования лежащие в основе DES разработала для своих целей фирма IBM, и реализовало в системе «Люцифер». Система основана на комбинировании методов подстановки и перестановки. В нем используется ключ длиной 128 бит, управляющий состояниями блоков перестановки и подстановки. Но эта система оказалась малоэффективной (медленной) и очень сложной. Стандарт DES осуществляет шифрование 64 битовых блоков с помощью 64 битового ключа, в котором значащими являются 56 бит, которые используются непосредственно для алгоритма шифрования и 8 бит – для обнаружения ошибок. Расчет алгоритма показал, что ключ может содержать квадриллиона вариантов шифрования. Расшифрование в DES выполняется путем повторения операции шифрования в обратной последовательности. Процесс шифрования в алгоритме DES представлен на рис. Исходный текст Начальная перестановка 16 раз Шифрование Конечная перестановка Ключ 39 Рисунок 5.4 Обобщенный алгоритм шифрования DES К настоящему времени DES является наиболее распространенном и признанным алгоритмом. Использование алгоритма DES является хорошим тоном. Алгоритм DES предусматривает наличие у абонентов секретных ключей и соответственно налаженную систему генерации ключей, выпуска и распределения ключевой документации. Криптоаналитик Цимерман считает основными достоинствами алгоритма DES: использование только одного ключа длиной 56 бит; зашифровав сообщение с помощью одного пакета программ для его расшифровки можно использовать любой другой пакет, реализующий алгоритм DES; относительная простота алгоритма обеспечивает высокую скорость обработки; достаточно высокая стойкость алгоритма; Основные режимы работы алгоритма DES: 1. Электронная кодовая книга (ECB). Файл разбивают на 64 битовые блоки. Каждый из этих блоков шифруют независимым образом и с использованием одного и того же ключа шифрования. Основное достоинство – простота. Недостаток – слабая устойчивость против квалифицированных криптоаналитиков. Из-за фиксированного характера шифрования, при ограниченной длине блока – 64 бита, возможно проведение криптоанализа со словарем. 2. Сцепление блоков шифра (CBC). Исходный файл М, разбивается на 64 битовые блоки M1, M2, …, Мn. Первый блок М1 складывается по модулю 2 с 64 битовым начальным вектором. Начальный вектор изменяется ежедневно и держится в секрете. Полеченная сумма затем шифруется с использованием ключа DES отправителя и получателя. Полученный 64 битовый шифр С1 складывается по модулю со вторым блоком текста. Результат шифруется и получается второй 64 битовый шифр С2. Процедура повторяется до тех пор пока не будут обработаны все блоки текста. Таким образом для всех i=1 до n результат шифрования определяется следующим образом: Сi получается применением алгоритма DES к М1 операции побитового сложения. С0 – начальное значение шифра. Ci=DES(Mi Pi-1). Последний 64 битовый блок шифртекста является функцией секретного ключа начального вектора и каждого бита открытого текста. Этот шифртекста называют кодом аутентификации сообщения (КАС). Этот код может быть легко проверен получателем, владеющим секретным ключом и начальным вектором. Посторонний не может осуществить генерацию КАС. Достоинство – не позволяет накапливаться ошибкам при передаче. 3. Обратная связь по шифртексту (CFB). Размер блока может отличаться от 64 бит. Файл, подлежащий шифрованию, считывается последовательными блоками длиной «к» битов (к=1 до 64). Входной блок в начале содержит вектор инициализации выровненный по правому краю. Для любого i (i=1 до n) Ci=Mi Pi-1 . Pi-1 обозначает «к» старших битов предыдущего зашифрованного блока. Обновление сдвигового регистра осуществляется путем удаления его старших «к» битов из записи Сi . восстановление зашифрованных данных осуществляется также просто Mi=Ci Pi-1 4.Внешняя обратная связь (OFB). Используется переменный размер блока и сдвиговый регистр, используемый также как и в режиме CFB (3), т.е. выходной блок вначале содержит вектор инициализации, выровненный по правому краю. При этом для каждого сеанса шифрования необходимо использовать новое начальное состояние регистра, которое должно пересылаться по каналам открытым текстом. Отличие от CFB(3) состоит в методе обновления сдвигового регистра. Это осуществляется путем 40 отбрасывания старших «к» битов и дописывания справа Pi , где Pi – старшие «к» битов операции DES (Сi-1). IDEA – международный алгоритм шифрования , запатентован швейцарской фирмой Ascom, применяется в общедоступном пакете конфиденциальной электронной почты PGP. Исходные блоки текста делятся на 4 группы по 16 бит. В IDEA применяется 52 субключа по 16 бит каждый. Субключи IDEA генерируются следующим образом: 128-битовый ключ IDEA определяет первые восемь ключей (128=16х8). Последующие 44 ключа определяются путем последовательности циклических сдвигов этого кода на 25 двоичных разрядов влево. 5.4.2 Стандарт шифрования Российской Федерации ГОСТ 28147-89 Описание стандарта шифрования Российской Федерации содержится в документе, озаглавленном «Алгоритм криптографического преобразования данных ГОСТ 28147-89». То, что в его названии вместо термина «шифрование» фигурирует более общее понятие «криптографическое преобразование», вовсе не случайно. Помимо нескольких тесно связанных между собой процедур шифрования, в документе описан один построенный на общих принципах с ними алгоритм выработки имитовставки. Последняя является не чем иным, как криптографической контрольной комбинацией, то есть кодом, вырабатываемым из исходных данных с использованием секретного ключа с целью имитозащиты, или защиты данных от внесения в них несанкционированных изменений. На различных шагах алгоритмов ГОСТа данные, которыми они оперируют, интерпретируются и используются различным образом. В некоторых случаях элементы данных обрабатываются как массивы независимых битов, в других случаях – как целое число без знака, в третьих – как имеющий структуру сложный элемент, состоящий из нескольких более простых элементов. Элементы данных обозначаются заглавными латинскими буквами с наклонным начертанием (например, X). Через |X| обозначается размер элемента данных X в битах. Таким образом, если интерпретировать элемент данных X как целое неотрицательное число, можно записать следующее неравенство: 0 ≤ X<2|X|. Если элемент данных состоит из нескольких элементов меньшего размера, то этот факт обозначается следующим образом: X = (X0,X1,…,Xn–1) =X0 ||X1 ||…||Xn–1. Процедура объединения нескольких элементов данных в один называется конкатенацией данных и обозначается символом «||». Естественно, для размеров элементов данных должно выполняться следующее соотношение: |X| = |X0| + |X1| +…+|Xn-1|. Документ, задающий ГОСТ 28147–89, содержит описание алгоритмов нескольких уровней. На самом верхнем находятся практические алгоритмы, предназначенные для шифрования массивов данных и выработки для них имитовставки. Все они опираются на три алгоритма низшего уровня, называемые в тексте ГОСТа циклами. Эти фундаментальные алгоритмы упоминаются в дальнейшем как базовые циклы, чтобы отличать их от всех прочих циклов. Они имеют следующие названия и обозначения, последние приведены в скобках и смысл их будет объяснен позже: - цикл зашифрования (32-З); - цикл расшифрования (32-Р); - цикл выработки имитовставки (16-З). В свою очередь, каждый из базовых циклов представляет собой многократное повторение одной единственной процедуры, называемой для определенности далее основным шагом криптопреобразования. Таким образом, чтобы разобраться в ГОСТе, надо понять три следующие вещи: а) что такое основной шаг криптопреобразования; б) как из основных шагов складываются базовые циклы; в) как из трех базовых циклов складываются все практические алгоритмы ГОСТа. Прежде чем перейти к изучению этих вопросов, следует поговорить о ключевой информации, используемой алгоритмами ГОСТа. В соответствии с принципом Кирхгофа, которому удо41 влетворяют все современные известные широкой общественности шифры, именно ее секретность обеспечивает секретность зашифрованного сообщения. В ГОСТе ключевая информация состоит из двух структур данных. Помимо собственно ключа, необходимого для всех шифров, она содержит еще и таблицу замен. Ниже приведены основные характеристики ключевых структур ГОСТа. 1. Ключ является массивом из восьми 32-битовых элементов кода, далее он обозначается символом K: K ={Ki}0 ≤ i ≤ 7. В ГОСТе элементы ключа используются как 32-разрядные целые числа без знака: 0 ≤ Ki ≤ 232. Таким образом, размер ключа составляет 32·8 = 256 бит или 32 байта. 2. Таблица замен может быть представлена в виде матрицы размера 8 x16, содержащей 4битовые элементы, которые можно представить в виде целых чисел от 0 до 15. Строки таблицы замен называются узлами замен, они должны содержать различные значения, то есть каждый узел замен должен содержать 16 различных чисел от 0 до 15 в произвольном порядке. Таблица замен обозначается символом H: H={Hi,j}0≤i≤7 ≤j≤15 0 0 ≤Hi,j ≤15. Таким образом, общий объем таблицы замен равен: 8 узлов x 16 элементов/узел x 4 бита/элемент = 512 бит или 64 байта. Основной шаг криптопреобразования. Основной шаг криптопреобразования по своей сути является оператором, определяющим преобразование 64-битового блока данных. Дополнительным параметром этого оператора является 32-битовый блок, в качестве которого используется какой-либо элемент ключа. Схема алгоритма основного шага приведена на рисунке 1. Ниже даны пояснения к алгоритму основного шага: Шаг 0. Определяет исходные данные для основного шага криптопреобразования: N – преобразуемый 64-битовый блок данных, в ходе выполнения шага его младшая (N1) и старшая (N2) части обрабатываются как отдельные 32-битовые целые числа без знака. 42 Таким образом, можно записать N=(N1,N2). 0 Начало (N,x)1 S=(N1+Х) mod 232 3 m=0..7 Sm=Hm.Sm 4 S=R11(S) 5 S=S N2 6 N2=N1, N1=S Конец (N) рисунок 5.5 Схема основного шага криптопреобразования алгоритма ГОСТ 28147-89. X – 32-битовый элемент ключа; Шаг 1. Сложение с ключом. Младшая половина преобразуемого блока складывается по модулю 232 с используемым на шаге элементом ключа, результат передается на следующий шаг; Шаг 2. Поблочная замена. 32-битовое значение, полученное на предыдущем шаге, интерпретируется как массив из восьми 4-битовых блоков кода: S = (S0,S1,S2,S3,S4,S5,S6,S7). Далее значение каждого из восьми блоков заменяется новым, которое выбирается по таблице замен следующим образом: значение блока Si меняется на Si-тый по порядку элемент (нумерация с нуля) i-того узла замен (т.е. i-той строки таблицы замен, нумерация также с нуля). Другими словами, в качестве замены для значения блока выбирается элемент из таблицы замен с номером строки, равным номеру заменяемого блока, и номером столбца, равным значению заменяемого блока как 4-битового целого неотрицательного числа. Теперь становится понятным размер таблицы замен: число строк в ней равно числу 4-битовых элементов в 32-битовом блоке данных, то есть восьми, а число столбцов равно числу различных значений 4-битового блока данных, равному как известно 24, шестнадцати. Шаг 3. Циклический сдвиг на 11 бит влево. Результат предыдущего шага сдвигается циклически на 11 43 бит в сторону старших разрядов и передается на следующий шаг. На схеме алгоритма символом 11 R_ обозначена функция циклического сдвига своего аргумента на 11 бит влево, т.е. в сторону старших разрядов. Шаг 4. Побитовое сложение: значение, полученное на шаге 3, побитно складывается по модулю 2 со старшей половиной преобразуемого блока. Шаг 5. Сдвиг по цепочке: младшая часть преобразуемого блока сдвигается на место старшей, а на ее место помещается результат выполнения предыдущего шага. Шаг 6. Полученное значение преобразуемого блока возвращается как результат выполнения алгоритма основного шага криптопреобразования. Базовые циклы криптографических преобразований. ГОСТ относится к классу блочных шифров, то есть единицей обработки информации в нем является блок данных. Следовательно, вполне логично ожидать, что в нем будут определены алгоритмы для криптографических преобразований, то есть для зашифрования, расшифрования и «учета» в контрольной комбинации одного блока данных. Именно эти алгоритмы и называются базовыми циклами ГОСТа, что подчеркивает их фундаментальное значение для построения этого шифра. Базовые циклы построены из основных шагов криптографического преобразования, рассмотренного в предыдущем разделе. В процессе выполнения основного шага используется только один элемент ключа, в то время как ключ ГОСТ содержит восемь таких элементов. Следовательно, чтобы ключ был использован полностью, каждый из базовых циклов должен многократно выполнять основной шаг с различными его элементами. Вместе с тем кажется вполне естественным, что в каждом базовом цикле все элементы ключа должны быть использованы одинаковое число раз, по соображениям стойкости шифра это число должно быть больше одного. Базовые циклы заключаются в многократном выполнении основного шага с использованием разных элементов ключа и отличаются друг от друга только числом повторения шага и порядком использования ключевых элементов. Ниже приведен этот порядок для различных циклов. 1. Цикл зашифрования 32-З: K0,K1,K2,K3,K4,K5,K6,K7,K0,K1,K2,K3,K4,K5,K6,K7,K0,K1,K2,K3,K4,K5,K6,K7,K7,K6,K5,K4,K3,K2,K1,K0. 2. Цикл расшифрования 32-Р: K0,K1,K2,K3,K4,K5,K6,K7,K7,K6,K5,K4,K3,K2,K1,K0,K7,K6,K5,K4,K3,K2,K1,K0,K7,K6,K5,K4,K3,K2,K1,K0. 3. Цикл выработки имитовставки 16-З: K0,K1,K2,K3,K4,K5,K6,K7,K0,K1,K2,K3,K4,K5,K6,K7. Каждый из циклов имеет собственное буквенно-цифровое обозначение, соответствующее шаблону «n-X», где первый элемент обозначения (n), задает число повторений основного шага в цикле, а второй элемент обозначения (X), буква, задает порядок зашифрования («З») или расшифрования («Р») в использовании ключевых элементов. Этот порядок нуждается в дополнительном пояснении: Цикл расшифрования должен быть обратным циклу зашифрования, то есть последовательное применение этих двух циклов к произвольному блоку должно дать в итоге исходный блок, что отражается следующим соотношением: Ц32-Р(Ц32-З(T))=T, где T – произвольный 64-битовый блок данных, ЦX(T) – результат выполнения цикла X над блоком данных T. Для выполнения этого условия для алгоритмов, подобных ГОСТу, необходимо и достаточно, чтобы порядок использования ключевых элементов соответствующими циклами был взаимно обратным. Схема цикла зашифрования 32-3. 44 R Начало (N) K=1,3 J=0,7 N=шаг (N, Kj) J=7,0 N= шаг (N, Kj) N1N2 Конец (N) Рис. 5.6. Схема цикла зашифрования 32-З. Алгоритм расшифрования 32-Р 45 начало (N) J=0,7 N= шаг (N, Kj) K=1, 3 J=7, 0 N=шаг (N, Kj) N1N2 Конец N Рис. 5.7 Схема цикла расшифрования 32-Р. Цикл выработки имитовставки вдвое короче циклов шифрования, порядок использования ключевых элементов в нем такой же, как в первых 16 шагах цикла зашифрования, в чем нетрудно убедиться, рассмотрев приведенные выше последовательности, поэтому этот порядок в обозначении цикла кодируется той же самой буквой «З». Схемы базовых циклов приведены на рисунках 5.6-5.8. Каждый из них принимает в качестве аргумента и возвращает в качестве результата 64-битовый блок данных, обозначенный на схемах N. Символ Шаг(N,X) обозначает выполнение основного шага криптопреобразования для блока N с использованием ключевого элемента X. Между циклами шифрования и вычисления имитовставки есть еще одно отличие, не упомянутое выше: в конце базовых циклов шифрования старшая и младшая часть блока результата меняются местами, это необходимо для их взаимной обратимости. Основные режимы шифрования. ГОСТ 28147-89 предусматривает три следующих режима шифрования данных: - простая замена, - гаммирование, - гаммирование с обратной связью, и один дополнительный режим выработки имитовставки. В любом из этих режимов данные обрабатываются блоками по 64 бита, на которые разбивается массив, подвергаемый криптографическому преобразованию, именно поэтому ГОСТ относится к блочным шифрам. Однако в двух режимах гаммирования есть возможность обработки неполного блока данных размером меньше 8 байт, что существенно при шифровании массивов данных с произвольным размером, который может быть не кратным 8 байтам. 46 Цикл выработки имитовставки 16-3 Начало (N) K=1, 2 J=0, 7 N= шаг (Ni, Kj) Конец (N) рис.5.8 Схема цикла выработки имитовставки Простая замена. Зашифрование в данном режиме заключается в применении цикла 32-З к блокам открытых данных, расшифрование – цикла 32-Р к блокам зашифрованных данных. Это наиболее простой из режимов, 64-битовые блоки данных обрабатываются в нем независимо друг от друга. Размер массива открытых или зашифрованных данных, подвергающийся соответственно зашифрованию или расшифрованию, должен быть кратен 64 битам: |Tо| = |Tш| = 64·n, после выполнения операции размер полученного массива данных не изменяется. Режим шифрования простой заменой имеет следующие особенности: 1. Так как блоки данных шифруются независимо друг от друга и от их позиции в массиве, при зашифровании двух одинаковых блоков открытого текста получаются одинаковые блоки шифртекста и наоборот. Отмеченное свойство позволит криптоаналитику сделать заключение о тождественности блоков исходных данных, если в массиве зашифрованных данных ему встретились идентичные блоки, что является недопустимым для серьезного шифра. 2. Если длина шифруемого массива данных не кратна 8 байтам или 64 битам, возникает проблема, чем и как дополнять последний неполный блок данных массива до полных 64 бит. Эта задача не так проста, как кажется на первый взгляд. Очевидные решения типа «дополнить неполный блок нулевыми битами» или, более обще, «дополнить неполный блок фиксированной комбинацией нулевых и единичных битов» могут при определенных условиях дать в руки риптоаналитика возможность методами перебора определить содержимое этого самого неполного блока, и этот факт означает снижение стойкости шифра. Кроме того, длина шифртекста при этом изменится, увеличившись до ближайшего целого, кратного 64 битам, что часто бывает нежелательным. На первый взгляд, перечисленные выше особенности делают практически невозможным использование режима простой замены, ведь он может применяться только для шифрования массивов данных с размером кратным 64 битам, не содержащим повторяющихся 64-битовых блоков. Кажется, что для любых реальных данных гарантировать выполнение ука47 занных условий невозможно. Это почти так, но есть одно очень важное исключение: вспомните, что размер ключа составляет 32 байта, а размер таблицы замен – 64 байта. Кроме того, наличие повторяющихся 8-байтовых блоков в ключе или таблице замен будет говорить об их весьма плохом качестве, поэтому в реальных ключевых элементах такого повторения быть не может. Таким образом, мы выяснили, что режим простой замены вполне подходит для шифрования ключевой информации, тем более, что прочие режимы для этой цели менее удобны, поскольку требуют наличия дополнительного синхронизирующего элемента данных – синхропосылки (см. следующий раздел). Наша догадка верна, ГОСТ предписывает использовать режим простой замены исключительно для шифрования ключевых данных. 2. Гаммирование. Как же можно избавиться от недостатков режима простой замены? Для этого необходимо сделать возможным шифрование блоков с размером менее 64 бит и обеспечитьзависимость блока шифртекста от его номера, иными словами, рандомизировать процесс шифрования. В ГОСТе это достигается двумя различными способами в двух режимах шифрования, предусматривающих гаммирование. Гаммирование – это наложение на открытые (зашифрованные) данные криптографической гаммы, то есть последовательности элементов данных, вырабатываемых с помощью некоторого криптографического алгоритма, для получения зашифрованных (открытых) данных. Для наложения гаммы при зашифровании и ее снятия при расшифровании должны использоваться взаимно обратные бинарные операции, например, сложение и вычитание по модулю 264 для 64-битовых блоков данных. В ГОСТе для этой цели используется операция побитного сложения по модулю 2, поскольку она является обратной самой себе и, к тому же, наиболее просто реализуется аппаратно. Гаммирование решает обе упомянутые проблемы; во первых, все элементы гаммы различны для реальных шифруемых массивов и, следовательно, результат зашифрования даже двух одинаковых блоков в одном массиве данных будет различным. Во вторых, хотя элементы гаммы и вырабатываются одинаковыми порциями в 64 бита, использоваться может и часть такого блока с размером, равным размеру шифруемого блока. Требования к качеству ключевой информации и источники ключей. Не все ключи и таблицы замен обеспечивают максимальную стойкость шифра. Для каждого алгоритма шифрования существуют свои критерии оценки ключевой информации. Так, для алгоритма DES известно существование так называемых «слабых ключей», при использовании которых связь между открытыми и зашифрованными данными не маскируется достаточным образом, и шифр сравнительно просто вскрывается. Исчерпывающий ответ на вопрос о критериях качества ключей и таблиц замен ГОСТа если и можно вообще где-либо получить, то только у разработчиков алгоритма. Соответствующие данные не были опубликованы в открытой печати. Однако согласно установленному порядку, для шифрования информации, имеющей гриф, должны быть использованы ключевые данные, полученные от уполномоченной организации. Сам факт существования слабых ключевых данных в Российском стандарте шифрования не вызывает сомнения. Очевидно, нулевой ключ и тривиальная таблица замен, по которой любое значение заменяется но него самого, являются слабыми, при использовании хотя бы одного из них шифр достаточно просто взламывается, каков бы ни был второй ключевой элемент. Как уже было отмечено выше, критерии оценки ключевой информации недоступны, однако на их счет все же можно высказать некоторые общие соображения: 1. Ключ должен являться массивом статистически независимых битов, принимающих с равной вероятностью значения 0 и 1. При этом некоторые конкретные значения ключа могут оказаться «слабыми», то есть шифр может не обеспечивать заданный уровень стойкости в случае их использования. Однако, предположительно, доля таких значений в общей массе всех возможных ключей ничтожно мала. Поэтому ключи, выработанные с помощью некоторого датчика истинно случайных чисел, будут качественными с вероятностью, отличающейся от единицы на ничтожно малую величину. Если же ключи вырабатываются с помощью генератора псевдослучайных чисел, то используемый генератор должен обеспечивать указанные выше статистические характеристики, и, кроме того, обладать высокой криптостойкостью, не меньшей, чем у 48 самого ГОСТа. Иными словами, задача определения отсутствующих членов вырабатываемой генератором последовательности элементов не должна быть проще, чем задача вскрытия шифра. Кроме того, для отбраковки ключей с плохими статистическими характеристиками могут быть использованы различные статистические критерии. На практике обычно хватает двух критериев, – для проверки равновероятного распределения битов ключа между значениями 0 и 1 обычно используется критерий Пирсона («хи квадрат»), а для проверки независимости битов ключа - критерий серий. Об упомянутых критериях можно прочитать в учебниках или справочниках по математической статистике. 2. Таблица замен является долговременным ключевым элементом, то есть действует в течение гораздо более длительного срока, чем отдельный ключ. Предполагается, что она является общей для всех узлов шифрования в рамках одной системы криптографической защиты. Даже при нарушении конфиденциальности таблицы замен стойкость шифра остается чрезвычайно высокой и не снижается ниже допустимого предела. К качеству отдельных узлов замен можно предъявить приведенное ниже требование. Каждый узел замен может быть описан четверкой логических функций, каждая из которых имеет четыре логических аргумента. Необходимо, чтобы эти функции были достаточно сложными. Это требование сложности невозможно выразить формально, однако в качестве необходимого условия можно потребовать, чтобы соответствующие логические функции, записанные в минимальной форме (т.е. с минимально возможной длиной выражения) с использованием основных логических операций, не были короче некоторого необходимого минимума. В первом и очень грубом приближении это условие может сойти и за достаточное. Кроме того, отдельные функции в пределах всей таблицы замен должны отличаться друг от друга в достаточной степени. На практике бывает достаточно получить узлы замен как независимые случайные перестановки чисел от 0 до 15, это может быть практически реализовано, например, с помощью перемешивания колоды из шестнадцати карт, за каждой из которых закреплено одно из значений указанного диапазона. Необходимо отметить еще один интересный факт относительно таблицы замен. Для обратимости циклов шифрования «32-З» и «32-Р» не требуется, чтобы узлы замен были перестановками чисел от 0 до 15. Все работает даже в том случае, если в узле замен есть повторяющиеся элементы, и замена, определяемая таким узлом, необратима, однако в этом случае снижается стойкость шифра. Если вы разрабатываете программы, использующие криптографические алгоритмы, вам необходимо позаботиться об утилитах, вырабатывающих ключевую информацию, а для таких утилит необходим источник случайных чисел (СЧ) высокого статистического качества и криптостойкости. Наилучшим подходом здесь было бы использование аппаратных датчиков СЧ, однако это не всегда приемлемо по экономическим соображениям. В качестве разумной альтернативы возможно (и очень широко распространено) использование различных программных датчиков СЧ. При генерации небольшого по объему массива ключевой информации широко применяется метод «электронной рулетки», когда очередная получаемая с такого датчика порция случайных битов зависит от момента времени нажатия оператором некоторой клавиши на клавиатуре компьютера. 5.5 Алгоритмы поточного шифрования Поточные шифры в отличие от блочных осуществляют поэлементное шифрование потока данных без задержки в криптосистеме. В общем случае каждый символ открытого текста шифруется, передается и расшифровывается независимо от других символов. Шифрующее преобразование элемента открытого текста меняется от одного элемента к другому, в то время как для блочных шифров оно остается неизменным. Достоинства: 1. Высокая скорость преобразования данных (практически в реальном масштабе). 2. Высокая криптостойкость, так как вскрытие такой системы предлагает точное определение структуры генератора ключевой последовательности (ГКП) и его начальной фазы. 49 Поточные шифры основываются на использовании ключевой последовательности с заданными свойствами случайности и двоичным представлением информационных сообщений. Шифрование и расшифрование осуществляется с использованием операции сложения по модулю 2 (открытого) исходного текста и псевдослучайной ключевой последовательности. Ключ состоит из сгенерированной определенным образом последовательности символов с заданными свойствами случайности (непредсказуемости) получения определенного символа. Шифр Вернама ключевая послед ГКП ключевая послед шифротекст откр тек откр тек Рисунок 5.9 схема шифра Вернама В шифре Вернама длина ключевой последовательности равна длине открытого текста. Недостаток – неудобно хранить сверхдлинные ключевые последовательности. Синхронные поточные шифры В синхронных поточных шифрах КП (гамма) формируется ГКП (генератором псевдослучайной последовательности) не зависимо от последовательности символов открытого текста и каждый символ шифруется независимо от других символов. Ключом является начальная установка генератора псевдослучайной последовательности (ПСП). В общем случае: Yi= E (Xi, Fi (k)) – шифрование, Xi=D(Yi , Fi (k)) – расшифрование, где E – функция шифрования; D – функция расшифрования; Xi – двоичный символ открытого текста; Yi – двоичный символ зашифрованного текста Fi(k) – i-ый символ ПСП , выработанные генератором с функцией обратной связи F и начальным состоянием k. Классификация синхронных поточных шифров: 1. по способам построения комбинирование ПСП; метод функциональных отображений; 2. по соотношению размера открытого текста и периода ПСП с конечной ПСП; с бесконечной ПСП – период ПСП больше размера текста; 3. по способам технической реализации генератора ПСП с нелинейной внешней логикой; с нелинейной внутренней логикой. Синхронный поточный шифр может быть реализован в виде блочного шифра, работающего в режиме обратной связи по выходу OFB (пример реализации алгоритм RC4). Самосинхронизирующиеся поточные шифры 50 Символы открытого текста шифруются с учетом ограниченного числа предшествующих n символов шифротекста. При этом секретным ключом k является функция обратной связи генератора ПСП. откр текст шифротекст секр кл k секр кл k Yi-1 Fk n . . 2 1 Fk n … 2 1 Рисунок 5.10 Схема поточного самосинхронизирующегося шифра Yi=E(Xi , Fk(Yi-1,Yi-2,…Yi-n)) – шифрование, Xi=D(Yi , Fk(Yi-1,Yi-2,…Yi-n)) - расшифрование Самосинхронизирующийся поточный шифр может быть реализован в виде блочного шифра, работающего в режиме обратной связи по шифротексту CFB. Хотя подавляющее большинство существующих шифров с секретным ключом с определенностью могут быть отнесены или к поточным или к блочным шифрам, теоретически граница между этими классами остается довольно размытой. Так, например, допускается использование алгоритмов блочного шифрования в режиме поточного шифрования (например, режимы CBF и OFB для алгоритма DES или режим гаммирования для алгоритма ГОСТ 28147-89). Поточные шифры почти всегда работают быстрее и обычно требуют для своей реализации гораздо меньше программного кода, чем блочные шифры. Наиболее известный поточный шифр был разработан Р. Ривестом; это шифр RC4, который характеризуется переменным размером ключа и байт-ориентированными операциями. На один байт требуется от 8 до 16 действий, программная реализация шифра выполняется очень быстро. Независимые аналитики исследовали шифр, и он считается защищенным. RC4 используется для шифрования файлов в таких изделиях, как RSA SecurPC. Он также применяется для защиты коммуникаций, например, для шифрования потока данных в Интернетсоединениях, использующих протокол SSL. Системы поточного шифрования близки по своим параметрам к криптосистемам с одноразовым блокнотом для шифрования, в которых размер ключа равен размеру открытого текста. Поточное шифрование является наиболее перспективным. Примеры поточных шифраторов: SEC – 15, SEC – 17, SDE – 100, скорость шифрования от 256 бит/сек до 2304 кбит/сек, ключ состоит из 72 шестнадцатиричных цифр. Комбинированные шифры В таких шифрах реализуются принципы как блочных, так и поточных шифров. Примерами комбинированных шифров являются шифры ГОСТ 28147-89 и DES. 5.6 Ассиметричные или двухключевые криптографические системы ко Р Открт текст кс С Шифр-е Р Расшиф-а откр текст Еко(Р) Dкс(С) Рисунок 5.11 Схема шифрования в асимметричных криптосистемах 51 В асимметричных криптосистемах используются два ключа: один открытый ключ, а другой – секретный. Если открытый ключ используется для шифрования, а секретный ключ – для расшифрования, то такие криптосистемы называются криптосистемами с открытым ключом. C = Eko( P ), P = Dkc( C ) = Dkc(Eko( P )) Если секретный ключ используется для шифрования, а открытый ключ – для расшифрования, то имеет место система электронной цифровой подписи (ЭЦП). Владелец секретного ключа может зашифровать (подписать) текст, а проверить правильность подписи (расшифровать) может любой пользователь, имеющий в своем распоряжении открытый ключ. C = Ekc( P ), P = Dko( C ) = Dko(Ekc( P )) 5.6.1 Системы с открытым ключом В этих системах используются некоторые аналитические преобразования и два различных, но взаимосвязанных друг с другом ключа: открытый, доступный каждому для шифрования, другой - секретный ключ доступен только одному лицу для расшифрования. Методы шифрования должны обладать двумя свойствами: 1. законный получатель сможет выполнить обратное преобразование и расшифровать сообщение 2. злоумышленник или криптоаналитик противника, перехвативший сообщение, не сможет восстановить по нему открытый текст без таких затрат времени и средств, которые сделают эту работу нецелесообразной. Методы аналитических преобразований Умножение Задача об Дискретное простых чисел укладке рюкзака возведение в степень (RSA) (метод Меркле- (метод Эль-Гамаля) Хеллмана) Кодовые конструкции В основе асимметрических систем лежит понятие специальных односторонних функций. Односторонняя функция не может быть непосредственно использована в качестве криптосистемы, т.к. законный получатель не сможет расшифровать. x f(x) - односторонняя функция Она должна иметь «потайную лазейку», т.е. должен существовать эффективный способ ее вычисления в обоих направлениях. При этом знание прямого преобразования не позволит легко найти обратное преобразование. Важное свойство: при заданных значениях х относительно просто найти f(x), если есть f(x) трудно найти х.. Вычисление ключей осуществляется получателем сообщения, который оставляет у себя ключ для расшифрования - секретный, открытый ключ он высылает отправителю сообщений любым доступным способом или публикует, не опасаясь огласки. Особенность этих методов заключается в том, что функции шифрования и расшифрования являются обратимыми только тогда, когда они обеспечиваются строго определенной парой ключей. При этом открытый ключ определяет конкретную реализацию функции «ловушки», а секретный ключ дает информацию о «ловушке». Любой знающий «ловушку» легко вычисляет одностороннюю функцию f(x) в обоих направлениях, если не знает, то вычисляет только в одном. На настоящий момент высокоэффективные асимметрические системы пока не найдены. Принято ограниченное использование этих криптосистем только для управления ключами и в системах ЭЦП. 52 Рассмотрим методы аналитических преобразований, используемые в реализациях асимметрических криптосистем. Метод возведения в степень (метод Эль-Гамаля) F(x) = x m mod n – прямое преобразование. Эффективного алгоритма для обратной операции – извлечения корня m-ой степени по модулю n для произвольных m и n не найдено. Это проблема дискретного логарифмирования для больших чисел. Один из методов использует алгоритм извлечения корня при известном разложении числа n на простые множители, это и позволяет отнести функцию F(x) к классу односторонних функций с «потайной лазейкой». Метод укладки рюкзака (метод Меркле-Холлмана) Реализацией задачи об укладке рюкзака является криптоалгоритм Меркле-Холлмана. Пусть задан набор целых положительных чисел А=(а1,а2…аn) и известна некоторая величина Z. Задачей является нахождение таких чисел аi , если это возможно, сумма которых равна числу Z. В простейшем случае это число Z указывает размер рюкзака , а каждое из чисел аi – размер предмета, который нужно уложить в рюкзак. Задачей является нахождение такого набора предметов, чтобы рюкзак был полностью заполнен. Пример: Z=3231 и набор из 10 чисел А=(43, 129, 215, 473, 903,302, 561, 1165,697, 1523) Заметим, что число Z получится при сложении только некоторых чисел аi. В принципе решение может быть найдено полным перебором подмножеств А и проверкой , какая из ∑ аi равна числу Z. В нашем примере этот перебор состоит из 210 комбинаций, включая пустое множество. Решение Z= 3231= 129 + 473 +909 + 561 + 1165. z-размер рюкзака, аi- вещи. 5.6.2 Метод RSA Самым популярным из асимметричных является метод RSA основанный на операциях с большими (скажем, 100-значными) простыми числами и их произведениями. В 1976 году преподаватели Стэнфордского университета, Витфильд Диффи (Whitfield DifFie) и Мартин Хелман (Martin Heliman), предложили систему под названием "шифрование с применением открытого ключа". Этот метод предполагает наличие двух ключей при каждом сеансе кодирования и хорошо отрекомендовал себя даже в незащищенных сетях. Каждый пользователь создает два ключа. Каждый ключ представляет собой произвольный набор цифр объемом в некоторых случаях более чем в 500 цифр. Оба ключа связаны между собой таким образом, что сообщение можно зашифровать с помощью одного ключа и расшифровать с помощью другого, однако расшифровать сообщение с помощью ключа, использовавшегося для его зашифровки, нельзя. В 1977 году три исследователя из Массачусетсского технологического института (MIT) разработали алгоритм для реализации метода криптографии на основе открытого ключа. Криптосистема получила название RSA, по первым буквам фамилий ее авторов — Рона Ривеста (Ron Rivest), Эйди Шамира (Adi Shamir) и Леонарда Эдлемана (Leonard Adleman) (http://www.rsa.org/). Исследователи в примере своей первой публикации зашифровали фразу из драмы «Юлий Цезарь» В. Шекспира «ITS ALL GREEK TO ME», она сначала была записана в виде целого числа Х стандартным способом (A=01, B=02,…..Z=26,пробел =00), затем зашифрована Xe mod m, где m – 129-разрядное целое число, e=9007. Шифротекст и числа e и m были опубликованы. Конечно, многие математики пытались найти способ раскрыть алгоритм криптосистемы с открытым ключом с помощью вычислений (часто весьма объемных), однако пока что никому не удалось найти решение этой математической проблемы. Декодирующие программы исполь53 зуют метод "грубой силы", проверяя все возможные комбинации. Теоретически такой подход позволяет добиться успеха, однако необходимый объем вычислений делает такой вариант нереальным при условии, конечно, что открытый ключ имеет достаточную длину. Лишь в 1994 году через 17 лет фраза была расшифрована, для этого потребовалось 220 дней, были задействованы 600 человек и 1600 компьютеров, соединенных через Интернет. Этапы реализации алгоритма RSA: 1. Получатель выбирает два очень больших простых числа P и Q и вычисляет два произведения N = PxQ M = (P – 1)x(Q – 1) 2. Затем выбирается случайное число E, взаимно простое с M и вычисляется D, удовлетворяющее условию (ExD = 1) mod M 3. Получатель публикует E и N, как свой открытый ключ, сохраняя D, как секретный ключ. 4. Отправитель сообщение X представляет в виде набора блоков xi X = (x1, x2, ……xl), 0 < xi < M, затем шифрует его с использованием E и N. 5. Каждое xi возвести в степень E по модулю N, получится шифрованное сообщение: (x1 E mod N), (x2 E mod N),……. (x1 E mod N) 6. Для расшифрования полученного сообщения Получатель, используя свой секретный ключ D, вычисляет для каждого блока (xi ED mod N), т.к. (ExD = 1) mod M, то утверждается xi ED mod N = xi Этап Описание ции опера- Генерация ключей выбрать два простых числа вычислить модуль Шифрование Результат операции P=3557, q=2579 n=p*q=3557*2579=9173503 вычислить функцию Эйлера F(n)=(p-1)(q-1)=9167368 выбрать открытый показатель e=3 вычислить секретный показатель d=6111579 опубликовать открытый ключ (e, n) = (3, 9173503) сохранить секретный ключ (d, n) = (6111579, 9173503) выбрать открытый текст M=111111 54 Расшифрование вычислить шифротекст P(M)=M^e mod n=1 11111^3 mod 9173503=4051753 вычислить исходное сообщение S(C)=C^d mod n=4051753^6111579 mod 9173503 = 111111 Алгоритм RSA может быть использован : 1. как самостоятельное средство шифрования данных в системе с открытым ключом; 2. как средство аутентификации пользователей в системах ЭЦП; 3. как средство для распределения ключей в составных системах. 5.7 Электронно-цифровая подпись В начале девяностых годов, компании VISA и MasterCard вместе с другими компаниями, занимающимися техническими вопросами (включая IBM), определили спецификацию и набор протоколов проведения электронных платежей, широко известные как протокол SET. Эта открытая спецификация очень быстро стала де-факто стандартом электронной коммерции. В ней реализованы следующие принципы информационной безопасности: шифрование информации обеспечивает ее защиту; ЭЦП и сертификаты обеспечивают идентификацию участников операции и юридическую силу документов; ЭЦП также используется для предотвращения модификации данных третьей стороной; открытый набор протоколов используется для обеспечения взаимодействия между разными реализациями. Система управления криптографическими ключами в SET соответствует требованиям международного стандарта Х509. ЭЦП позволяет решить следующие задачи: Сейчас передаются данные об акциях, облигациях, приказы, сигналы по сети. Участники передачи нуждаются в защите от множества злоумышленных действий, к которым относятся: Отказ от выполненных действий. Субъект утверждает, что он не посылал некоторый документ, хотя на самом деле он его послал. Модификация документа. Получатель модифицирует полученный документ и утверждает, что именно такую версию документа он и получил. Подделка. Субъект фабрикует сообщение и утверждает, что оно ему прислано. Перехват. Злоумышленник С перехватывает сообщение, посланное А к В с целью модификации. Маскировка. Посылка сообщения от чужого имени. Повтор. Злоумышленник С посылает повторно сообщение от А к Б, перехваченное им ранее. Для аутентификации (подтверждения) сообщения М, отправленного пользователем А пользователю В необходимо: 1. Отправитель А должен ввести в М подпись, в которой содержится дополнительная информация, зависящая от М, от получателя сообщения и от известного только пользователю А закрытого ключа Ка. 2. Необходимо, чтобы правильную подпись в сообщении для пользователя В нельзя было составить без Ка. 55 3. Для предупреждения повторного использования устаревших сообщений процедура составления подписи должна зависеть от времени. 4. Пользователь В должен иметь возможность удостовериться, что подпись M: SIG{Ka, M, Id B} есть правильная подпись документа М пользователем А. ЭЦП — «реквизит электронного документа, предназначенный для зашиты данного электронного документа от подделки, полученный в результате криптографического преобразования информации с использованием закрытого ключа ЭЦП и позволяющий идентифицировать владельца сертификата ключа подписи, а также установить отсутствие искажения информации в электронном документе» (Закон «Об электронной цифровой подписи» от 10.01.2002 г. N 01ФЗ). При создании ключей ЭЦП для использования в информационных системах (ИС) общего пользования, должны применяться только сертифицированные средства. Для решения указанных проблем отечественная банковская система около десятилетия использует криптографические средства зашиты информации (СКЗИ) и, в частности, процедуры выработки и проверки электронной подписи на базе асимметричного криптографического алгоритма (алгоритм ЭльГамаля). Эти алгоритмы оперируют парой математически взаимосвязанных ключей, один из которых не является секретным и может быть размешен в справочнике открытых ключей участников системы электронного документооборота. Общая схема работы с ЭЦП: 1) При выполнении операции вычисления ЭЦП в СКЗИ загружается подписанный автором текст документа. Затем вычисляется значение так называемой хэш-функиии. Эта функция отображает последовательность произвольной длины в последовательность фиксированной длины. Результат вычисления хэш-функции называется хэш-кодом, причем по хэш-коду документа восстановить его текст не представляется возможным. В нашей стране длина хэш-кода равна 256 битам. Это означает, что исходный текст произвольной длины превращается в последовательность из 256 нулей и единиц. Важным свойством хэш-функции является то, что различные документы не могут иметь одинакового хэш-кода. 2) Затем хэш-код зашифровывается с использованием асимметричного алгоритма шифрования на секретном ключе подписывающего абонента сети (автора). Так как длина хэш-кода невелика, операция шифрования занимает не слишком много времени. 3) Результат такого шифрования и называется ЭЦП документа, которая передается вместе с исходным документом проверяющему абоненту. 4) Проверяющий абонент выполняет три операции: а) вычисляет хэш-код полученного сообщения (документа); б) с использованием асимметричного алгоритма и открытого ключа расшифровывает ЭЦП; в) сравнивает результат с вычисленным им на первом этапе хэш-кодом. В случае совпадения делается вывод о том, что подпись верна, то есть автором документа действительно является подписавший и текст не изменен. Если в процессе передачи в текст документа было внесено некоторое изменение (преднамеренное или случайное, из-за помехи в канале связи), то вычисленный проверяющим абонентом хэш-код будет отличаться от того, который он получит после расшифрования ЭЦП. Если же для формирования ЭЦП был использован секретный ключ, отличный от секретного ключа абонента-автора, то результат сравнения тоже будет отрицательным. Таким образом, механизм формирования и проверки ЭЦП может быть применен для контроля целостности электронных документов и доказательства авторства. Секретный ключ хранится каждым пользователем в тайне и непосредственно используется при создании подписи под документом. Открытый ключ позволяет получателю сообщения удостовериться в авторстве и целостности сообщения путем проверки его ЭЦП. 5.7.1 Методы сжатия преобразуемых данных на основе однонаправленных ХЭШфункций 56 Хэш-функция Хэш-функция (hash, hash-function) – это преобразование, получающее из данных произвольной длины некое значение (свертку) фиксированной длины. Простейшими примерами являются контрольные суммы (например, crc32). Бывают: криптографические хэши; программистские хэши. Криптографический хэш отличается от программистского следующими двумя свойствами: необратимостью и свободностью от коллизий. Обозначим: m - исходные данные, h(m) – хэш-функция от них. Необратимость означает, что если известно число h0, то трудно подобрать m такое, что h(m) = h0. Свободность от коллизий означает, что трудно подобрать такие m1 и m2, что m1 не равно m2, но h(m1) = h(m2). Криптографические хэш-функции разделяются на два класса: - хэш-функции без ключа (MDC (Modification (Manipulation) Detect Code) - коды), - хэш-функции c ключом (MАC (Message Authentication Code) - коды). Хэш-функции без ключа разделяются на два подкласса: слабые хэш-функции, сильные хэш-функции. Слабой хэш-функцией называется односторонняя функция H(x), удовлетворяющая следующим условиям: 1. аргумент х может быть строкой бит произвольной длины; 2. значение H(x) должно быть строкой бит фиксированной длины; 3. значение H(x) легко вычислить; 4. для любого фиксированного x вычислительно невозможно найти другой x' ≠ x, такой что H(x')=H(x). Пара x' ≠ x, когда H(x')=H(x) называется коллизией хэш-функции. Сильной хэш-функцией называется односторонняя функция H(x), удовлетворяющая условиям 1-4 для слабой хэш-функции и свойству 5: 5. вычислительно невозможно найти любую пару x' ≠ x, такую, что H(x')=H(x). Поскольку из свойств 1-2 следует, что множество определения хэш-функции значительно шире множества значений, то коллизии должны существовать. Свойство 4 требует, чтобы найти их для заданного значения х было практически невозможно. Требование 5 говорит о том, что у сильной хэш-функции вычислительно невозможно вообще найти какую-либо коллизию. Существует несколько алгоритмов вычисления хэш-функций MD2 (Message Digest) – алгоритм криптографической сверки. Порождает блок длиной 128 бит от сообщения произвольной длины. Общая схема работы MD2: a. дополнение текста сообщений до длины, кратной 128 бит; b. вычисление 16-битной контрольной суммы, старшие разряды отбрасываются; c. добавление контрольной суммы к тексту; d. повторное вычисление контрольной суммы. Алгоритм MD2 очень медленный, поэтому чаще применяются MD4, MD5, SHA (Secure Hash Algorithm). Результирующий хэш имеет длину 160 бит. ГОСТ Р34.11-94. Российский алгоритм. Длина свертки - 256 бит (очень удобно для формирования по паролю ключа для ГОСТ 28147-89). Национальный институт стандартов и технологий (НИСТ) США на своем веб-сайте http://www.nist.gov/sha/ опубликовал спецификации новых алгоритмов хеширования SHA-256, SHA-384 и SHA-512, цель которых - обеспечить уровень криптостойкости хэша, соответствующий длинам ключей нового стандарта шифрования DES. Напомним, что n-битный хэш - это отображение сообщения произвольной длины в nбитную псевдослучайную последовательность (хэш-значение). Криптографический хэш, как особая разновидность такой функции, это n-битный хэш, обладающий свойствами «однонаправленности» и «стойкости к коллизиям». 57 До настоящего времени наиболее популярными хеш-функциями были созданные Райвистом MD4 и MD5, генерирующие хэш-коды длиной n=128, и алгоритм SHA-1, разработанный в АНБ США и порождающий хэш-код длиной n=160. ГОСТ Р34.10-94 «Процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма». 01.06. 2002 года вступил в силу новый стандарт ЭЦП - ГОСТ Р 34.10-2001, разработанный специалистами ФАПСИ. 5.7.2 Известные алгоритмы ЭЦП RSA Первой и наиболее известной во всем мире конкретной системой ЭЦП стала система RSА, математическая схема которой была разработана в 1977 г. в Массачуссетском технологическом институте США. Недостатки алгоритма цифровой подписи RSА. При вычислении модуля N, ключей Е и D для системы цифровой подписи RSА необходимо проверять большое количество дополнительных условий, что сделать практически трудно. Невыполнение любого из этих условий делает возможным фальсификацию цифровой подписи со стороны того, кто обнаружит такое невыполнение. Для обеспечения криптостойкости цифровой подписи RSА по отношению к попыткам фальсификации на уровне, например, национального стандарта США на шифрование информации (алгоритм DES), т.е. 1018, необходимо использовать при вычислениях N, D и Е целые числа не менее 2512 (или около 10154) каждое, что требует больших вычислительных затрат, превышающих на 20...30% вычислительные затраты других алгоритмов цифровой подписи при сохранении того же уровня криптостойкости. Цифровая подпись RSА уязвима к так называемой мультипликативной атаке. Иначе говоря, алгоритм цифровой подписи RSА позволяет злоумышленнику без знания секретного кпюча D сформировать подписи под теми документами, у которых результат хэширования можно вычислить как произведение результатов хэширования уже подписанных документов. Алгоритм цифровой подписи Эль Гамаля (ЕGSА) Название ЕGSА происходит от слов Е_ Gаmаl_ Signaturе Аlgorithm (алгоритм цифровой подписи Эль Гамаля). Идея ЕGSА основана на том, что для обоснования практической невозможности фальсификации цифровой подписи может быть использована более сложная вычислительная задача, чем разложение на множители большого целого числа, - задача дискретного логарифмирования. Кроме того, Эль Гамалю удалось избежать явной слабости алгоритма цифровой подписи RSА, связанной с возможностью подделки цифровой подписи под некоторыми сообщениями без определения секретного ключа. Рассмотрим подробнее алгоритм цифровой подписи Эль-Гамаля. Для того чтобы генерировать пару ключей (открытый ключ - секретный ключ), сначала выбирают некоторое большое простое целое число Р и большое целое число G, причем G < Р. Отправитель и получатель подписанного документа используют при вычислениях одинаковые большие целые числа Р (~10308 или ~21024) и G (~10154 или ~2512), которые не являются секретными. Отправитель выбирает случайное целое число X, 1 < Х < (Р-1), и вычисляет Y =GX mod Р . Число Y является открытым ключом, используемым для проверки подписи отправителя. Число Y открыто передается всем потенциальным получателям документов. Число Х является секретным ключом отправителя для подписывания документов и должно храниться в секрете. 1) Для того чтобы подписать сообщение М, сначала отправитель хэширует его с помощью хэш-функции h(M) в целое число m: 58 2) m = h(М), 1 < m < (Р-1) , и генерирует случайное целое число К, 3) 1 < К < (Р-1), такое, что К и (Р-1) являются взаимно простыми. 4) Затем отправитель вычисляет целое число а: а = GK mod Р 5) Применяя расширенный алгоритм Евклида, вычисляет с помощью секретного ключа Х целое число b из уравнения m = Х * а + К * b (mod (Р-1)) 6) Пара чисел (а, b) образует цифровую подпись S: S=(а,b) ,проставляемую под документом М. 7) Тройка чисел (М, а, b) передается получателю, в то время как пара чисел (Х, К) держится в секрете. 8) После приема подписанного сообщения (М, а, b) получатель должен проверить, соответствует ли подпись S=(а, b) сообщению М. Для этого получатель сначала вычисляет по принятому сообщению М число m = h(М) ,т.е. хэширует принятое сообщение М. 9) Затем получатель вычисляет значение А = Ya ab (mod Р) и признает сообщение М подлинным, только если А = Gm (mod Р) . 10) Иначе говоря, получатель проверяет справедливость соотношения Ya ab (mod Р) = Gm (mod Р) . Схема цифровой подписи Эль Гамаля имеет ряд преимуществ по сравнению со схемой цифровой подписи RSА: При заданном уровне стойкости алгоритма цифровой подписи целые числа, участвующие в вычислениях, имеют запись на 25% короче, что уменьшает сложность вычислений почти в два раза. При выборе модуля Р достаточно проверить, что это число является простым и что у числа (Р-1) имеется большой простой множитель (т.е. всего два достаточно просто проверяемых условия). Процедура формирования подписи по схеме Эль Гамаля не позволяет вычислять цифровые подписи под новыми сообщениями без знания секретного ключа (как в RSА). Однако алгоритм цифровой подписи Эль Гамаля имеет и некоторые недостатки по сравнению со схемой подписи RSА. В частности, длина цифровой подписи получается в 1,5 раза больше, что, в свою очередь, увеличивает время ее вычисления DSA Алгоритм DSA (Digital Signature Algorithm) был разработан в 1981 г. и с тех пор используется как стандарт США для электронной цифровой подписи — Digital Signature Standard (DSS). Согласно определению стандарта DSS, алгоритм DSA предусматривает применение в качестве хэш-функции алгоритма SHA. Заметим, что параметры алгоритма не засекречены. В основу DSA легли алгоритмы Эль-Гамаля и RSA. DSA базируется на применении больших простых чисел одинаковой размерности (от 512 бит) — G и P. Среди его параметров присутствует и простое число q размерностью 160 бит — делитель числа (P — 1). Что же касается секретного ключа Ks, то он представляет собой целое число, случайно выбираемое из диапазона [1, Kp = GKs mod P]. 5.7.3 Российские стандарты ЭЦП ГОСТ Р 34.10.94, ГОСТ Р 34.10.2001 ЭЦП — «реквизит электронного документа, предназначенный для зашиты данного электронного документа от подделки, полученный в результате криптографического преобразования информации с использованием закрытого ключа ЭЦП и позволяющий идентифицировать владельца сертификата ключа подписи, а также установить отсутствие искажения информации в электронном документе» (Закон «Об электронной цифровой подписи» от 10.01.2002 г. N 01-ФЗ). ГОСТ Р34.10-94 "Процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма". 59 01.06. 2002 года вступил в силу новый стандарт ЭЦП - ГОСТ Р 34.10-2001, разработанный специалистами ФАПСИ (задача дискретного логарифмирования в группе точек эллиптической кривой). Алгоритмы создания и проверки ЭЦП, базирующиеся на математическом аппарате эллиптических кривых, являются более стойкими по сравнению со схемами, базирующимися на сложности решения задач дискретного логарифмирования в простом поле. ГОСТ Р 34.10.94 I этап выбираются числа p, q и a. Число р – простое, должно находиться в диапазоне 2^509 < p < 2^512. Число q – простое, является делителем числа (p-1) Число a – не обязательно простое, 1 < a < (p-1), причем a^q mod p = 1. Числа p,q и a выбираются не часто, используются какое-то время. II этап генерируются ключи. x- генерируется как случайное число 0 < x < q – секретный ключ, y - вычисляется по формуле y = a^x mod p - открытый ключ III этап: вычисление ЭЦП по ГОСТ Р 34.10-2001– процедура выработки ЭЦП: 1. На основе алгоритма по ГОСТ Р34.11-94 вычислить h(m) - хэш-функцию от сообщения m. Если h(m) mod q=0, то h(m)=1 2. Выработать случайное число k , 0 < k < q. 3. Вычислить r=a^k mod p, r1 = r mod q. Если r1=0, то переход к пункту 2. 4. С использованием секретного ключа вычисляется значение подписи s = ( x*r1 + k*h(m)) mod q. Если s = 0, то перейти к пункту 2. 5. Подписью сообщения m будет являться вектор {r1, s} , каждая из составляющих размером 256 бит. IV этап: происходит процедура проверки подписи на стороне получателя. Получатель получает сообщение m1 и подпись {r1,s}. У получателя есть ключ y - открытый ключ. 1. Проверяется, что элементы подписи удовлетворяют условиям 0 < s < q, 0 < r1 < q. Если не удовлетворяет, то подпись не действительна. 2. На основе алгоритма по ГОСТ Р34.11-94 вычисление хэш-функции h(m1) полученного сообщения. Если h (m1) mod q = 0 то h(m1) = 1. 3. Вычисление значения v = h(m1)^(q-2) mod q 4. Вычисление значений z1= (s*v) mod q , z2 = (q-r1)* v mod q. 5. Вычисление значения u = ((a^z1 *y^z2) mod p) mod q. 6. Проверить условие r1 = u. Если оно выполняется, то получатель принимает решение о том, что подпись действительна, целостность сообщения не нарушена. Иначе подпись не действительна. ГОСТ Р 34.10-2001 Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи История Данный алгоритм разработан главным управлением безопасности связи Федерального агентства правительственной связи и информации при Президенте Российской Федерации при участии Всероссийского научно-исследовательского института стандартизации. Разрабатывался взамен ГОСТа Р 34.1094 для обеспечения большей стойкости алгоритма. Описание ГОСТ Р 34.10-2001 основан на эллиптических кривых. Его стойкость основывается на сложности взятия дискретного логарифма в группе точек эллиптической кривой, а также на стойкости хэшфункции по ГОСТу Р 34.11. После подписывания сообщения М к нему дописывается цифровая подпись размером 512 бит и текстовое поле. В текстовом поле могут содержаться, например, дата и время отправки или различные данные об отправителе: 60 Основным достоинством криптосистем на основе эллиптических кривых является то, что они обеспечивают надежность, адекватную классическим криптосистемам (RSA) на существенно меньших по длине ключах, что положительно отражается на времени кодирования и декодирования. Криптосистемы цифровой подписи на основе эллиптических кривых с длиной ключа 160 бит имеют одинаковую стойкость с криптосистемами DSA и Эль-Гамаля с длиной ключа 1024 бита. Ожидается, что в ближайшем будущем данные системы займут доминирующее положение в криптографии с открытым ключом. Однако, это повлечет более серьезные исследования свойств этих криптоалгоритмов, что может привести к появлению новых, более эффективных алгоритмов решения проблемы дискретного логарифма в группе точек эллиптических кривых. Параметры схемы цифровой подписи простое число p — модуль эллиптической кривой такой, что p > 2255 эллиптическая кривая E задается своим инвариантом J(E) или коэффициентами где Fp —конечное простое поле. J(E) связан с коэффициентами a и b следующим образом при этом целое число m — порядок группы точек эллиптической кривой (то есть число элементов группы). m не должно совпадать с p простое число q, порядок одной из циклических подгрупп группы точек эллиптической кривой, то есть выполняется m = nq, для некоторого n є N . Так же q лежит в пределах 2254 < q < 2256. точка P (xp, yp)≠0 эллиптической кривой E, являющаяся генератором подгруппы порядка q, или другими словами qP = 0. Здесь qP = P + P + ...(q раз). А 0 - нулевой элемент группы точек эллиптической кривой. h(M) — хэш-функция (ГОСТ Р 34.11-94), которая конечные сообщения M отображает в двоичные вектора длины 256 бит. Каждый пользователь цифровой подписи имеет личные ключи: • ключ шифрования d — целое число, лежащее в пределах • 0 < d < q. • ключ расшифрования Q (xq, yq)— точка эллиптической кривой, dP = Q. При этом должны выполняться где 1. 2. 3. 4. 5. 6. • 1. 2. И Формирование цифровой подписи Вычисление хэш-функции от сообщения М: h(M) Вычисление e = z (mod q), и если e = 0, положить e = 1. Где z — целое число Генерация случайного числа k, такого что 0 < k < q Вычисление точки эллиптической кривой C = kP, и по ней нахождение r = xc(mod q) (xc — координата x точки C). Если r = 0, возвращаемся к предыдущему шагу. Нахождение s = rd + ke(mod q). Если s = 0, возвращаемся к шагу 3. Формирование цифровой подписи , где r и s — векторы, соответствующие r и s. Проверка цифровой подписи Вычисление по цифровой подписи чисел r и s, учитывая, что ξ =(r | s), где r и s — числа, соответствующие векторам r и s. Если хотя бы одно из неравенств r < q и s < q неверно, то подпись неправильная. Вычисление хэш-функции от сообщения М: h(M) 61 3. Вычисление e = z(mod q), и если e = 0, положить e = 1. Где z — целое число соотвествующее h(M) 4. Вычисление v = e - 1(mod q). 5. Вычисление z1 = sv(mod q) и z2 = - rv(mod q) 6. Вычисление точки эллиптической кривой C = z1P + z2Q. И определение R = xc(mod q), где xc — координата x кривой C. В случае равенства R = r подпись правильная, иначе — неправильная. Государственная дума на заседании 25 марта 2011 приняла в третьем, окончательном чтении закон «Об электронной подписи», который заменит действующий сейчас федеральный закон №1 от 10 января 2002 года «Об электронной цифровой подписи». Принятие нового закона вызвано необходимостью устранить некоторые недостатки существующего законодательства, а также привести российские принципы регулирования электронных подписей в соответствие с европейскими нормами. Согласно новому закону, электронная подпись определяется как информация в электронноцифровой форме, которая используется для идентификации физического или юридического лица. Определены три вида электронной подписи: простая, усиленная и квалифицированная электронная подпись. Средства, с помощью которых осуществляется создание подписи и её проверка, должны соответствовать установленным требованиям и содержать элементы криптографии. Законопроект регулирует выдачу и использование сертификатов ключа подписи, а также аккредитацию и оказание услуг удостоверяющих центров. Предусмотрены механизмы признания иностранных электронных подписей. Закон вступит в силу после подписания его Президентом РФ и официального опубликования. При этом федеральный закон «Об электронной цифровой подписи» признается утратившим силу с 1 июля 2012 года. Сертификаты ключей подписи, выданные в соответствии с действующим законом, будут действовать до истечения установленного в них срока. 5.8 Составные криптографические системы В стандартных криптографических системах, таких, как US Federal Data Encryption Standart (DES), один и тот же ключ используется и для шифрования, и для расшифровки. Это значит, что ключ должен первоначально быть передан через секретные каналы так, чтобы обе стороны могли иметь его до того, как шифрованные сообщения будут посылаться по обычным каналам. Это может быть неудобно. Если вы имеете секретный канал для обмена ключами, тогда вообще зачем вам нужна криптография? В криптографической системе с открытым ключом каждый имеет два связанных взаимно однозначно ключа: публикуемый общий ключ и секретный ключ. Каждый из них дешифрует код, сделанный с помощью другого. Знание общего ключа не позволяет вам вычислить соответствующий секретный ключ. Общий ключ может публиковаться и широко распространяться через коммуникационные сети. Такой протокол обеспечивает секретность без необходимости использовать специальные каналы связи, необходимые для стандартных криптографических систем. Кто угодно может использовать общий ключ получателя, чтобы зашифровать сообщение ему, а получатель использует его собственный соответствующий секретный ключ для расшифровки сообщения. Никто, кроме получателя, не может расшифровать его, потому что никто больше не имеет доступа к секретному ключу. Даже тот, кто шифровал сообщение, не будет иметь возможности расшифровать его. Кроме того, обеспечивается также установление подлинности сообщения. Собственный секретный ключ отправителя может быть использован для шифровки сообщения, таким образом "подписывая" его. Так создается электронная подпись сообщения, которую получатель (или кто-либо еще) может проверять, используя общий ключ отправителя для расшифровки. Это доказывает, что отправителем был действительно создатель сообщения, и что сообщение впоследствии не изменялось кем-либо, так как отправитель - единственный, кто обладает секретным ключом, с помощью которого была создана подпись. Подделка подписанного сообщения невозможна, и отправитель не может впоследствии изменить свою подпись. Эти два процесса могут быть объединены для обеспечения и секретности, и установления подлинности: сначала подписывается сообщение вашим собственным секретным ключом, а по62 том шифруется уже подписанное сообщение общим ключом получателя. Получатель делает наоборот: расшифровывает сообщение с помощью собственного секретного ключа, а затем проверяет подпись с помощью вашего общего ключа. Эти шаги выполняются автоматически с помощью программного обеспечения получателя. В связи с тем, что алгоритм шифрования с открытым ключом значительно медленнее, чем стандартное шифрование с секретным ключом, шифрование сообщения лучше выполнять с использованием высококачественного быстрого стандартного алгоритма симметричного шифрования. Принципы работы составной криптографической системы 1. В процессе, невидимом для пользователя, генерируется временный произвольный ключ, созданный только для этого одного «сеанса», 2. Сеансовый ключ используется для традиционного симметричного шифрования файла открытого текста. 3. Открытый ключ получателя используется только для шифровки этого временного сеансового ключа. 4. Этот зашифрованный сеансовый ключ посылается наряду с зашифрованным текстом получателю. 5. Получатель использует свой собственный секретный ключ, чтобы расшифровать этот временный сеансовый ключ 6. Затем получатель применяет его для выполнения быстрого стандартного алгоритма симметричного расшифрования, чтобы декодировать все зашифрованное сообщение. Общие ключи хранятся в виде «сертификатов ключей», которые включают в себя идентификатор пользователя владельца ключа (обычно это имя пользователя), временную метку, которая указывает время генерации пары ключей, и собственно ключи. Сертификаты общих ключей содержат общие ключи, а сертификаты секретных ключей - секретные. Каждый секретный ключ также шифруется с отдельным паролем. Файл ключей, или каталог ключей («кольцо с ключами» - keyring) содержит один или несколько таких сертификатов. В каталогах общих ключей хранятся сертификаты общих ключей, а в каталогах секретных - сертификаты секретных ключей. На ключи также внутренне ссылаются "идентификаторы ключей", которые являются "сокращением" общего ключа (самые младшие 64 бита большого общего ключа). Когда этот идентификатор ключа отображается, то показываются лишь младшие 24 бита для краткости. Если несколько ключей могут одновременно использовать один и тот же идентификатор пользователя, то никакие два ключа не могут использовать один и тот же идентификатор ключа. PGP использует "дайджесты сообщений" для формирования подписи. Дайджест сообщения это криптографически мощная 128-битная односторонняя хэш-функция от сообщения. Она несколько напоминает контрольную сумму, или CRC-код, она однозначно представляет сообщение и может использоваться для обнаружения изменений в сообщении. В отличие от CRC-кода (контроля циклическим избыточным кодом), дайджест не позволяет создать два сообщения с одинаковым дайджестом. Дайджест сообщения шифруется секретным ключом для создания электронной подписи сообщения. Документы подписываются посредством добавления перед ними удостоверяющей подписи, которая содержит идентификатор ключа, использованного для подписи, подписанный секретным ключом дайджест сообщения и метку даты и времени, когда подпись была сгенерирована. Идентификатор ключа используется получателем сообщения, чтобы найти общий ключ для проверки подписи. Программное обеспечение получателя автоматически ищет общий ключ отправителя и идентификатор пользователя в каталоге общих ключей получателя. Шифрованным файлам предшествует идентификатор общего ключа, который был использован для их шифрования. Получатель использует этот идентификатор для поиска секретного ключа, необходимого для расшифровки сообщения. Программное обеспечение получателя автомати- 63 чески ищет требуемый для расшифровки секретный ключ в каталоге секретных ключей получателя. Эти два типа каталогов ключей и есть главный метод сохранения и управления общими и секретными ключами. Вместо того, чтобы хранить индивидуальные ключи в отдельных файлах ключей, они собираются в каталогах ключей для облегчения автоматического поиска ключей либо по идентификатору ключа, либо по идентификатору пользователя. Каждый пользователь хранит свою собственную пару каталогов ключей. Возможно вы думаете что ваша электронная почта защищена настолько, что шифрование совершенно не оправдано. Необходимо ли законопослушному гражданину шифровать его электронную почту? К счастью, мы не живем в таком мире, так как каждый защищает большинство своей корреспонденции конвертами, и поэтому никто никого не подозревает, если тот использует конверт. Аналогично, было бы хорошо, если бы все использовали шифрование для своей электронной почты, будь они виновны перед законом, или нет, так, чтобы никто не подозревал ни в чем тех, кто использует шифрование. Подумайте об этом, как о форме солидарности. Сегодня, если правительство хочет нарушить право на секретность обычного гражданина, оно должно понести определенные затраты, чтобы найти, вскрыть и прочитать письменное сообщение, прослушать и, возможно, записать телефонный разговор. Такой вид контроля с большими трудозатратами неприменим в крупных масштабах, это выполнимо только в особых, важных случаях, когда такие трудозатраты оправданы. Все больший и больший процент нашей частной связи распространяется через электронные каналы. Электронное сообщение будет постепенно заменять обычное бумажное сообщение. И все бы хорошо, но сообщения в электронной почте слишком хорошо доступны для просмотра всем на предмет поиска интересующих ключевых слов. Это может быть выполнено легко, автоматически, выполняться постоянно и быть трудно обнаруживаемым. Международные телеграммы NSA уже просматривают таким образом в крупных масштабах. Мы движемся к тому времени, когда страны будут пересечены волоконно-оптическими сетями передачи данных, связывающими вместе все наши все более и более вездесущие персональные компьютеры. Электронная почта будет обычным делом для каждого, а не новшеством, которым она является сегодня. Возможно, правительство будет осуществлять защиту нашей электронной почты своими специально разработанными алгоритмами шифрования. Вероятно, большинство людей будут доверять этому. Но, возможно, кто-то будет предпочитать свои собственные защитные меры. Билль Сената США N 266, заключал в себе некоторые интересные мероприятия. Если бы эта резолюция стала законом, это вынудило бы изготовителей оборудования для секретной связи вставлять специальные «люки» в их изделия, так что правительство могло бы читать шифрованные сообщения кого угодно. Читаем: "Конгресс считает, что поставщики электронных услуг связи и изготовители сервисного оборудования для электронной связи будут обеспечивать, чтобы системы связи разрешали правительству получать простое текстовое содержимое разговора, данных, и других видов связи, соответственно санкционированных законом». Эта мера была отвергнута после решительного гражданского протеста и протеста групп представителей промышленности. Но правительство тогда представило другое законодательство, чтобы достичь подобных целей. Если секретность вне закона, то только люди вне закона будут ею обладать. Секретные агентства имеют доступ к хорошим криптографическим технологиям. Такими же технологиями пользуются перевозчики оружия и наркотиков. Так поступают нефтяные компании и другие корпорации-гиганты. Но обычные люди и массовые организации в своем большинстве не имели доступа к криптографическим технологиям «военного уровня» с использованием открытого ключа. PGP позволяет людям взять секретность в собственные руки. Сейчас налицо возрастающая социальная потребность этого. Поэтому и написана PGP. Pretty Good(tm) Privacy (PGP) выпущено фирмой Phil's Pretty Good Software и является криптографической системой с высокой степенью секретности для операционных систем MS-DOS, 64 Unix, VAX/VMS и других. PGP позволяет пользователям обмениваться файлами или сообщениями с использованием функций секретности, установлением подлинности, и высокой степенью удобства. Секретность означает, что прочесть сообщение сможет только тот, кому оно адресовано. Установление подлинности позволяет установить, что сообщение, полученное от какоголибо человека, было послано именно им. Нет необходимости использовать специальные секретные каналы связи, что делает PGP простым в использовании программным обеспечением. Это связано с тем, что PGP базируется на мощной новой технологии, которая называется шифрованием с "общим ключом". PGP объединяет в себе удобство использования криптографической системы с общим ключом Rivest-Shamir-Adleman (RSA) и скорость обычной криптографической системы, алгоритм "дайджеста сообщений" для реализации электронной подписи, упаковку данных перед шифрованием, хороший эргономический дизайн программы и развитую систему управления ключами. PGP выполняет функции общего ключа быстрее, чем большинство других аналогичных реализаций этого алгоритма. Программный продукт, придуманный в 1991 году Филиппом Циммерманом. Главное назначение – защита файлов и сообщений от несанкционированного доступа на ПК В то время в США действовал запрет на экспорт криптографических алгоритмов. В 1993 году АНБ пыталось провести проект «Clipper», по которому организации должны будут сдавать на депонирование государству ключи шифрования. В итоге программа PGP явилась протестом В 1996г. создана компания Pretty Good(tm) Privacy Inc. Ко Кс Сеансовый ключ кл Сеанс Асимметтричное шифрование К Р Открытый текст метричное. Сим к шифрование К Z Ассим расш С=Ек(Р) Сеансовый ключ К Р Сим расш Открытый текст Рисунок 5.12 Схема составной криптосистемы PGP К основным достоинствам данного пакета можно отнести: 1. Открытость. Исходный код всех версий программ PGP доступен в открытом виде. Так как сам способ реализации известных алгоритмов был доступен специалистам, то открытость повлекла за собой и другое преимущество – эффективность программного кода. 2. Стойкость. Для реализации основных функций использовались лучшие из известных алгоритмов, при этом допуская использование достаточно большой длины ключа для надежной защиты данных. 3. Бесплатность. Готовые базовые продукты PGP доступны в Интернете (www.pgpi.org). 4. Поддержка как централизованной (через серверы ключей) так и децентрализованной (через «сеть доверия») модели распределения открытых ключей 5. Удобство программного интерфейса. Система PGP выполняет следующие функции: 1. генерацию пары ключей; 2. управление ключами; 3. шифрование файла с помощью открытого ключа любого пользователя PGP(в том числе и своего); 65 4. наложение цифровой подписи с помощью своего закрытого ключа на файл (аутентификация файла) или на открытый ключ другого пользователя (сертификация ключа); 5. проверку (верификацию) своей подписи или подписи другого пользователя с помощью его открытого ключа; 6. расшифровку файла с помощью своего закрытого ключа. Сеансовый ключ – сгенерированное псевдослучайное число, сгенерированное от случайных движений мыши и нажатия клавиши на клавиатуре. Для затруднения криптоанализа и выравнивания статистических характеристик шифруемой информации перед шифрованием текст сжимается с помощью ZIP а потом шифруется. 5.9 Управление ключами Под ключевой информацией понимается совокупность всех действующих в ИС ключей. Управление ключами – это информационный процесс, включающий 3 элемента: генерацию ключей; накопление ключей; распределение ключей. 5.9.1 Генерация ключей Известно, что не стоит использовать неслучайные ключи. В серьезных ИС используют специальные программные и аппаратные методы генерации случайных ключей. Как правило, используется датчики случайных и псевдослучайных чисел. Степень случайности должна быть высокой. Идеальными генераторами являются устройства на основе натуральных случайных процессов. Физический датчик случайных чисел встроен в ядро процессора Pentium 3. Математически случайные числа можно получить, используя десятичные знаки трансцендентных чисел, например, π или е, которые вычисляются с помощью стандартных математических методов. ИС со средними требованиями защищенности использует программное получение случайных чисел. 5.9.2 Накопление ключей Накопление ключей – организация их учета, хранения и удаления. Так как ключей много, то они хранятся в БД ключевой информации. Сами ключи должны храниться в БД в зашифрованном виде. Ключ, зашифровывающий ключевую информацию, называется мастер- ключом. Желательно, чтобы пользователь знал его наизусть. Можно мастер-ключи разбивать на части и хранить одну часть на магнитной карточке, а другую – в памяти компьютера. Важным условием хранения ключевой информации является периодическое обновление ключей и мастер-ключей. В особо ответственных случаях обновлять можно ежедневно. 5.9.3 Распределение ключей Распределение ключей – самый ответственный процесс в управлении ключами. К нему предъявляются два требования: Оперативность и точность распределения. Скрытность распределения ключей. Пользователи в симметричных криптосистемах должны обменяться общим секретным ключом, который будет использоваться и для шифрования и для расшифрования. Распределение ключей в симметричных криптосистемах может проходить следующими способами: 1) можно через курьера доставить ключ, но так как ключи должны обновляться, то доставлять дорого и неэффективно 2) получение двумя пользователя общего ключа от центрального органа (Центр Распределении Ключей – ЦРК). Передаваемый ключ шифруется ключом ЦРК. Недостаток: в ЦРК 66 может появиться злоумышленник. Можно, чтобы в виде дерева организовать хранение ключей в ЦРК. 3) Третий способ предложили ученые Диффи и Хеллман – протокол обмена ключами по открытому каналу. Протокол – это последовательность шагов, которые принимают 2 или большее число сторон для совместного решения задачи. Все шаги следуют в порядке очередности. Криптографический протокол – протокол, в основе которого лежит криптографический алгоритм и все участники протокола должны быть заранее оповещены обо всех шагах, которые им предстоит пройти. Протокол обмена ключами по открытому каналу Диффи-Хеллмана. Цель: двум пользователям А и В получить общий секретный ключ. 1. Пользователь А генерирует случайное число Х. 2. Пользователь В генерирует случайное число У. 3. А вычисляет: La=a^x mod m 4. B вычисляет: Lb=b^y mod m 5. A посылает пользователю В La. 6. В посылает пользователю А Lb. 7. A вычисляет Kab =(Lb)^x mod m=(a^y mod m)^x mod m=a^xy mod m. 8. B вычисляет Kab =(La)^y mod m=(a^x mod m)^y mod m=a^xy mod m. Таким образом, оба пользователя теперь имеют одинаковый секретный ключ Kab. Управление открытыми ключами может быть организовано с помощью оперативной или автономной службы каталогов. Основными проблемами являются аутентичность, целостность и достоверность. Аутентичность – убедиться, что это ключ именно этого пользователя. Во всех случаях обмена ключами должна быть обеспечена подлинность сеанса связи, которая обеспечивается с помощью: 1. механизма «запрос-ответ» (процедура «рукопожатие» = установка виртуального канала); 2. механизма отметки времени. Задача распределения ключей сводится к построению протокола распределения, обеспечивающего: 1. Взаимное подтверждение подлинности участников сеанса. 2. Подтверждение достоверности сеанса механизмом «запрос-ответ» или отметки времени. 3. Использование минимального числа сообщений при обмене ключами. 4. Возможность исключения злоупотребления со стороны ЦРК (вплоть до отказа от его услуг). Целесообразно отделить процедуру подтверждения подлинности партнеров от собственно процедуры распределения ключей. Метод достижения одновременно аутентичности и целостности при распределении открытых ключей заключается в использовании сертификатов. Система, основанная на сертификатах, предполагает, что имеется центральный орган, и что каждый пользователь может осуществить безопасное взаимодействие с центральным органом, для этого у каждого пользователя должен быть открытый ключ центрального органа. Сертификатом открытого ключа СА называют сообщение центрального органа, удостоверяющего целостность некоторого открытого ключа объекта А (может быть бумажный, электронный документ). Например: сертификат открытого ключа для пользователя А , обозначаемый СА, содержит отметку времени Т , идентификатор IdA , открытый ключ KA, зашифрованный секретным ключом ЦРК Кцрк : СА = Е Кцрк (Т, IdA, KA ) 67 Отметка времени Т используется для подтверждения актуальности сертификата и тем самым предотвращает повторы прежних сертификатов. Секретный ключ Кцрк известен только менеджеру ЦРК, а открытый ключ ЦРК известен всем абонентам Система, обеспечивающая шифрование с открытым ключом и ЭЦП, называется инфраструктурой открытого ключа. Центр сертификации создает сертификаты пользователей путем ЭЦП с использованием своего секретного ключа и подписывает набор следующих данных: 1. Полное имя пользователя (номер, пароль). 2. Открытый ключ пользователя. 3. Время действия сертификата. 4. Конкретные операции, для которых этот ключ может быть использован (идентификация, шифрование или и то и другое). Аутентификация Kerberos Для решения проблемы аутентификации, которая базировалась бы на шифровании, в Массачусетском технологическом институте в 1985 году была разработана система защиты информационных систем от вторжений, с специальным сервисом выдачи билетов. Она была названа Kerberos по имени трехглавого пса Цербера, охранявшего ворота в ад в греческой мифологии. Такое название было выбрано, потому что в аутентификации участвовали три стороны: пользователь, сервер, к которому желает получить доступ пользователь, и сервер аутентификации, или центр распределения ключей (ЦРК). Специальный сервер аутентификации предлагался в качестве доверенной третьей стороны, услугами которой могут пользоваться другие серверы и клиенты информационной системы. Система Kerberos владеет секретными ключами обслуживаемых субъектов и помогает им выполнять взаимную аутентификацию. 1. получение пользователем билета TGT на билеты; 68 2. получение пользователем билета на доступ к серверу; 3. аутентификация пользователя сервером; 4. аутентификация сервера пользователем. Рассмотрим более подробно аутентификацию в системе Kerberos (рис.), которая выполняется за четыре шага: 1) Сеанс начинается с получения пользователем А билета для получения билета - TicketGranting Ticket (TGT) от ЦРК. 2) Когда пользователь желает получить доступ к некоторому серверу В, то сначала отправляет запрос на билет для доступа к этому серверу вместе со своим билетом TGT в ЦРК. TGT содержит информацию о сеансе регистрации пользователя А и позволяет ЦРК оперировать, не поддерживая постоянно информацию о сеансе регистрации каждого пользователя. 3) В ответ на свой запрос пользователь А получает зашифрованный сеансовый ключ S A и билет на доступ к серверу В. Сеансовый ключ зашифрован секретным ключом, известным только пользователю А и ЦРК. Билет на доступ к серверу В содержит тот же самый сеансовый ключ, однако он шифруется секретным ключом, известным только серверу В и ЦРК. 4) Аутентификация происходит тогда, когда пользователь А и сервер доказывают знание своего секретного ключа. Пользователь шифрует метку времени и отправляет ее на сервер В. Сервер расшифровывает метку, увеличивает ее значение на единицу, вновь зашифровывает и отправляет шифротекст пользователю А. Пользователь А расшифровывает ответ, и если в нем содержится значение метки времени с приращением, то аутентификация завершается успешно, в противном случае - неудачно. После взаимной аутентификации сеансовый ключ может использоваться для шифрования сообщений, которыми обмениваются пользователь А и сервер В. Очевидно, что стороны должны доверять ЦРК, поскольку он хранит копии всех секретных ключей. 5.9.4 Распределение ключей в асимметричных криптосистемах Важной проблемой всей криптографии с открытым ключом, в том числе и систем ЭЦП, является управление открытыми ключами. Необходимо обеспечить доступ любого пользователя к подлинному открытому ключу любого другого пользователя, защитить эти ключи от подмены злоумышленником, а также организовать отзыв ключа в случае его компрометации. Задача защиты ключей от подмены решается с помощью сертификатов. Сертификат позволяет удостоверить заключённые в нём данные о владельце и его открытый ключ подписью какого-либо доверенного лица. В централизованных системах сертификатов (например PKI) используются центры сертификации, поддерживаемые доверенными организациями. В децентрализованных системах (например PGP) путём перекрёстного подписывания сертификатов знакомых и доверенных людей каждым пользователем строится сеть доверия. Инфраструктура безопасности для распространения открытых ключей, управления электронными сертификатами и ключами пользователей получила название инфраструктуры открытых ключей - Public Key Infrastructure (PKI). Термин "PKI" является производным от названия базовой технологии - криптографии с открытыми ключами, обладающей уникальными свойствами и являющейся основой для реализации функций безопасности в распределенных системах. Инфраструктура открытых ключей реализуется не ради нее самой, а для поддержки безопасности других приложений. Существуют, безусловно, и другие механизмы безопасности, которые не используют криптографию открытых ключей, и они менее сложные, чем PKI. Однако PKI не только предлагает наиболее комплексное решение, но и снимает остроту многих проблем, свойственных более традиционным механизмам безопасности. 69 Управлением ключами занимаются центры распространения сертификатов. Обратившись к такому центру пользователь может получить сертификат какого-либо пользователя, а также проверить, не отозван ли ещё тот или иной открытый ключ. Управление открытыми ключами может быть организовано с помощью оперативной или автономной службы каталогов. Основными проблемами являются аутентичность, целостность и достоверность. Аутентичность позволяет убедиться, что это ключ именно этого пользователя. Во всех случаях обмена ключами должна быть обеспечена подлинность сеанса связи, которая обеспечивается с помощью: механизма «запрос-ответ» (процедура «рукопожатие» = установка виртуального канала); механизма отметки времени. Задача распределения ключей сводится к построению протокола распределения, обеспечивающего: 1. Взаимное подтверждение подлинности участников сеанса. 2. Подтверждение достоверности сеанса механизмом «запрос-ответ» или отметки времени. 3. Использование минимального числа сообщений при обмене ключами. 4. Возможность исключения злоупотребления со стороны ЦРК (вплоть до отказа от его услуг). 5. Целесообразно отделить процедуру подтверждения подлинности партнеров от собственно процедуры распределения ключей. Метод достижения одновременно аутентичности и целостности при распределении открытых ключей заключается в использовании сертификатов. Система, основанная на сертификатах, предполагает, что имеется центральный орган, и каждый пользователь может осуществить безопасное взаимодействие с центральным органом, для этого у каждого пользователя должен быть открытый ключ центрального органа. Сертификатом открытого ключа СА называют сообщение центрального органа, удостоверяющего целостность некоторого открытого ключа объекта А (может быть бумажный, электронный документ). Например: сертификат открытого ключа для пользователя А , обозначаемый С А, содержит отметку времени Т , идентификатор IdA , открытый ключ KA, зашифрованный секретным ключом ЦРК Кцрк : СА = Е Кцрк (Т, IdA, KA ) Отметка времени Т используется для подтверждения актуальности сертификата и тем самым предотвращает повторы прежних сертификатов. Секретный ключ Кцрк известен только менеджеру ЦРК, а открытый ключ ЦРК известен всем абонентам Центр сертификации или Удостоверяющий центр (УЦ, англ. Certification authority, CA) — это организация или подразделение организации, которая выпускает сертификаты ключей электронной цифровой подписи, это компонент глобальной службы каталогов, отвечающий за управление криптографическими ключами пользователей. Открытые ключи и другая информация о пользователях хранится удостоверяющими центрами в виде цифровых сертификатов, имеющих следующую структуру: • серийный номер сертификата; • объектный идентификатор алгоритма электронной подписи; • имя удостоверяющего центра; • срок годности (время действия сертификата); • имя владельца сертификата (имя пользователя, которому принадлежит сертификат); • открытые ключи владельца сертификата (ключей может быть несколько); • объектные идентификаторы алгоритмов, ассоциированных с открытыми ключами владельца сертификата; • электронная подпись, сгенерированная с использованием секретного ключа удостоверяющего центра (подписывается результат хэширования всей информации, хранящейся в сертификате). Программное обеспечение удостоверяющего центра обеспечивает следующую функциональность: 70 — Генерация секретных и открытых ключей Главных абонентов УЦ, сертификатами которых заверяются сертификаты пользователей. Сертификаты главных абонентов могут быть самоподписанными или заверенными вышестоящим УЦ. — Первое издание сертификата подписи абонентов происходит в УЦ вместе с генерацией секретного ключа для него. — Издание и регистрация сертификатов ЭЦП по запросу абонентов сети. Запрос на сертификат представляет собой шаблон сертификата, содержащий информацию об абоненте, его новый открытый ключ подписи, предполагаемый срок действия сертификата, а также другие параметры, соответствующие стандарту X.509. Запрос может быть зарегистрирован или автоматически или в результате действий администратора УЦ. Запрос может быть отклонен. После заполнения полей сертификата сертификат через Центр управления отправляется к пользователю на компьютер. — Отзыв сертификатов, приостановление действия сертификатов, возобновление действия сертификатов ЭЦП абонентов сети. Эти действия выполняются администратором УЦ. Справочник отозванных сертификатов рассылается абонентам сети. Регистрация справочников сертификатов ЭЦП главных абонентов других УЦ . — Регистрация справочников отозванных сертификатов ЭЦП из других УЦ. — Издание и регистрация сертификатов ЭЦП для внешних пользователей выполняется только по запросу из Центра регистрации. Запрос может быть зарегистрирован или отклонен. — Отзыв сертификатов, приостановление действия сертификатов, возобновление действия сертификатов ЭЦП внешних пользователей может происходить по запросу из ЦР, или самим Администратором УЦ без запроса из ЦР. Справочники отозванных сертификатов рассылаются по узлам сети. — Просмотр запросов и сертификатов ЭЦП. В программе УЦ возможен просмотр любых запросов, сертификатов, действующих списков отзыва, сохранение их в файл или вывод на печать. — Сервисные функции УЦ. УЦ информирует администратора об истечении сроков действия различных сертификатов за заданное число дней до этого срока путем формирования соответствующих списков. Автоматически формирует архивы информации через заданные интервалы времени при наличии изменений, что обеспечивает возможность восстановления актуальной информации. Обеспечивает различные режимы функционирования УЦ. Российские удостоверяющие центры Удостоверяющий Центр ЗАО "ПФ "СКБ Контур" Удостоверяющий Центр ФГУП НИИ "Восход" Удостоверяющий Центр DIP ООО Межрегиональный Удостоверяющий Центр НП "Национальный Удостоверяющий центр" ЗАО «АНК» ООО ПНК ЗАО Удостоверяющий Центр (Нижний Новгород) ЗАО Удостоверяющий Центр (Санкт-Петербург) ООО "Компания «Тензор» ОАО «Электронная Москва» Центр сертификации «Стандарт Тест» Всероссийский центр сертификации Удостоверяющий центр ЗАО "Сервер-Центр" (Владивосток) Удостоверяющий центр "ДСЦБИ "МАСКОМ" (Хабаровск) Аутентификация при помощи сертификатов 71 В том случае, когда пользователи имеют сертификаты открытых ключей, необходимость в ЦРК отпадает. Это не означает, что отпадает необходимость в доверии и третьих сторонах; просто доверенной третьей стороной становится УЦ. Однако УЦ не участвует в обмене протоколами, и в отличие от ситуации с ЦРК, если УЦ недоступен, аутентификация попрежнему может быть выполнена. Аутентификацию при помощи сертификатов обеспечивают несколько распространенных протоколов, в частности, наиболее известный и широко распространенный протокол Secure Socket Layer (SSL), который применяется практически в каждом web-браузере. Помимо него применяются протоколы Transport Layer Security (TLS), Internet Key Exchange (IKE), S/MIME, PGP и Open PGP. Каждый из них немного по-своему использует сертификаты, но основные принципы - одни и те же. Рисунок иллюстрирует типичный обмен сообщениями при аутентификации на базе сертификатов, использующий ЭЦП. Обмен соответствует стандарту аутентификации субъектов на основе криптографии с открытыми ключами. Во многих протоколах предусматривается, что клиент направляет запрос серверу для того, чтобы инициировать аутентификацию. Такой подход, характерный, например, для дополнений аутентификации и шифрования к протоколу Internet File Transfer Protocol, гарантирует, что и пользователь, и сервер поддерживают один и тот же механизм аутентификации. Некоторые протоколы не требуют этого подготовительного шага. Если сервер В поддерживает метод аутентификации, запрашиваемый пользователем А, то начинается обмен сообщениями. Сообщение Token ID уведомляет о том, что будет выполняться взаимная аутентификация, а также содержит номер версии протокола и идентификатор протокола. Хотя этот идентификатор не обязателен, он намного упрощает процедуру и поэтому обычно используется. Пользователь А ожидает сообщение Token ВА1 от сервера В. Идентификатор протокола в Token ID позволяет пользователю А удостовериться, что сервер В отправляет ожидаемое сообщение. Token ВА1 состоит только из случайного числа ran B, 72 это - своего рода запрос, корректным ответом должна быть цифровая подпись числа ran B. Пользователь А подписывает ответ и отправляет свой сертификат ключа подписи, для того чтобы сервер В при помощи открытого ключа мог выполнить валидацию подписи. Пользователь А подписывает последовательность из трех элементов: свой запрос ran A, запрос сервера ran B и имя сервера name B. Получив ответ Token АВ от пользователя А, сервер В проверяет, совпадает ли значение ran B с соответствующим значением в сообщении Token ВА1, а по значению name В устанавливает, действительно ли пользователь А желает пройти аутентификацию сервера В. Если какая-либо из проверок дает отрицательный результат, то и аутентификация завершается неудачно. В противном случае сервер В проверяет подлинность сертификата пользователя А и его цифровую подпись, если сертификат и подпись валидны, то аутентификация пользователя А сервером В прошла успешно. Ответ сервера В пользователю А завершает взаимную аутентификацию. Ответ сервера Token ВА2 состоит из заверенной цифровой подписью последовательности трех элементов: ran A, ran B и name A, где ran A - запрос, сгенерированный А, ran B - исходный запрос сервера В, а name A - имя пользователя А. Получив ответ сервера, пользователь А убеждается, что ran A имеет то же самое значение, что и в сообщении Token АВ, а проверяя значение name A - что сервер В намерен аутентифицировать именно его (пользователя А). Если какая-либо из проверок дает отрицательный результат, то и аутентификация завершается неудачно. В противном случае пользователь А проверяет подлинность сертификата сервера В и его цифровой подписи. Если они валидны, то пользователь А аутентифицировал сервер В, и взаимная аутентификация выполнена. Итак, механизмы аутентификации при помощи сертификатов поддерживают аутентификацию в открытой сети, на многих удаленных серверах, и обеспечивают взаимную аутентификацию. В отличие от системы Kerberos. протоколы аутентификации на базе сертификатов не требуют активного участия третьих сторон. Для успешной аутентификации должны быть доступны только пользователь и сервер. Ответ сервера Token ВА2 состоит из заверенной цифровой подписью последовательности трех элементов: ran A, ran B и name A, где ran A - запрос, сгенерированный А, ran B - исходный запрос сервера В, а name A - имя пользователя А. Получив ответ сервера, пользователь А убеждается, что ran A имеет то же самое значение, что и в сообщении Token АВ, а проверяя значение name A - что сервер В намерен аутентифицировать именно его (пользователя А). Если какая-либо из проверок дает отрицательный результат, то и аутентификация завершается неудачно. В противном случае пользователь А проверяет подлинность сертификата сервера В и его цифровой подписи. Если они валидны, то пользователь А аутентифицировал сервер В, и взаимная аутентификация выполнена. Итак, механизмы аутентификации при помощи сертификатов поддерживают аутентификацию в открытой сети, на многих удаленных серверах, и обеспечивают взаимную аутентификацию. В отличие от системы Kerberos. протоколы аутентификации на базе сертификатов не требуют активного участия третьих сторон. Для успешной аутентификации должны быть доступны только пользователь и сервер. Ответ сервера Token ВА2 состоит из заверенной цифровой подписью последовательности трех элементов: ran A, ran B и name A, где ran A - запрос, сгенерированный А, ran B - исходный запрос сервера В, а name A - имя пользователя А. Получив ответ сервера, пользователь А убеждается, что ran A имеет то же самое значение, что и в сообщении Token АВ, а проверяя значение name A - что сервер В намерен аутентифицировать именно его (пользователя А). Если какая-либо из проверок дает отрицательный результат, то и аутентификация завершается неудачно. В противном случае пользователь А проверяет подлинность сертификата сервера В и его цифровой подписи. Если они валидны, то пользователь А аутентифицировал сервер В, и взаимная аутентификация выполнена. Итак, механизмы аутентификации при помощи сертификатов поддерживают аутентификацию в открытой сети, на многих удаленных серверах, и обеспечивают взаимную аутентификацию. В отличие от системы Kerberos. протоколы аутентификации на базе сертифика73 тов не требуют активного участия третьих сторон. Для успешной аутентификации должны быть доступны только пользователь и сервер. Схема обмена А 1. вот мой открытый ключ KA ЦРК 2. проверка 3. Ты действительно А Получай мой сертификат СА 4. Я А, вот мой открытый ключ и сертификат СА В 5. Этот сертификат СА действительно принадлежит А? 6. Да , это так Отлично я его буду использовать KA 7. Рисунок 5.13 Схема сертификации. Сертификат защищен от подделок, так как подпись центра сертификации может быть проверена. Функции центра сертификации: 1. Поддержка принятия: доступ к ключу имеет только сертифицированный пользователь и в случае утраты генерируется новый ключ. 2. Сохранение и восстановление ключей (при потере). ЦС поддерживает 2 вида пар ключей: для шифрования и расшифрования; для ЭЦП и ее удостоверения. 3. Функция обновления ключей и управление архивом. 4. Хранение и распределение сертификатов. 5. Взаимная сертификация для электронной коммерции. 6. Сертификация центров на более низких уровнях иерархии. 5.10 Стеганография Классифицировать способы засекречивания передаваемых сообщений можно по-разному, например: прячется ли секретное сообщение или оно просто делается недоступным для всех, кроме получателя. В зависимости от ответа на приведенный выше вопрос получаются различные классы способов засекречивания данных - стеганография и шифрование. Слово "стеганография" в переводе с греческого буквально означает "тайнопись" (steganos - секрет, тайна; graphy - запись). 74 Стеганографическая система или стегосистема - совокупность средств и методов, которые используются для формирования скрытого канала передачи информации. При построении стегосистемы должны учитываться следующие положения: противник имеет полное представление о стеганографической системе и деталях ее реализации. Единственной информацией, которая остается неизвестной потенциальному противнику, является ключ, с помощью которого только его держатель может установить факт присутствия и содержание скрытого сообщения; если противник каким-то образом узнает о факте существования скрытого сообщения, это не должно позволить ему извлечь подобные сообщения в других данных до тех пор, пока ключ хранится в тайне; потенциальный противник должен быть лишен каких-либо технических и иных преимуществ в распознавании или раскрытии содержания тайных сообщений. Обобщенная модель стегосистемы представлена на рис. 1. Контейнер - любая информация, предназначенная для сокрытия тайных сообщений. Пустой контейнер - контейнер без встроенного сообщения; заполненный контейнер или стего контейнер, содержащий встроенную информацию. Встроенное (скрытое) сообщение - сообщение, встраиваемое в контейнер. Стегоключ или просто ключ - секретный ключ, необходимый для сокрытия информации. В зависимости от количества уровней защиты (например, встраивание предварительно зашифрованного сообщения) в стегосистеме может быть один или несколько стегоключей. По аналогии с криптографией, по типу стегоключа стегосистемы можно подразделить на два типа: с секретным ключом; с открытым ключом. В стегосистеме с секретным ключом используется один ключ, который должен быть определен либо до начала обмена секретными сообщениями, либо передан по защищенному каналу. В стегосистеме с открытым ключом для встраивания и извлечения сообщения используются разные ключи, которые различаются таким образом, что с помощью вычислений невозможно вывести один ключ из другого. Поэтому один ключ (открытый) может передаваться свободно по незащищенному каналу связи. Кроме того, данная схема хорошо работает и при взаимном недоверии отправителя и получателя. 75 Процесс стеганографии условно можно разделить на несколько этапов: 1) выбор файла, который необходимо скрыть (информационный файл); 2) выбор файла, используемого для сокрытия информации (файл-контейнер); 3) выбор стеганографической программы. Один из лучших программных продуктов для платформы Windows95/NT - S-Tools. Программа позволяет прятать любые файлы как графические изображения формата gif и bmp, так и в аудиофайлах формата way. Другая распространенная стеганографическая программа - Steganos for Win95, является мощной программой для шифрования файлов и скрытия их внутри bmp-, way-, dib-, voc-, ascii- и html- файлов; 4) кодирование файла. На новый файл устанавливается защита паролем; 5) отправление скрытого сообщения по электронной почте и его декодирование. Требования, предъявляемые к современной компьютерной стеганографии: 1) методы сокрытия должны обеспечивать аутентичность и целостность файла; 2) изначально предполагается, что преступнику знакомы все возможные стеганографические методы; 3) безопасность методов основывается на сохранении стеганографическим преобразованием основных свойств открыто передаваемого файла при внесении в него секретного сообщения и некоторой неизвестной преступнику информации - ключа; 4) если факт сокрытия сообщения стал известен противнику, то извлечение секретных данных представляет сложную вычислительную задачу Программные продукты Существует довольно много программных продуктов, которые применяются для целей стеганографии и реализующих, как правило средства внедрения секретных данных в графические, звуковые и видео файлы. Многие из них бесплатны или условно – бесплатны (shareware). Наиболее популярные из них приведены в таблице. Пользование большинством из них сводится к нажатию нескольких кнопок в окнах диалога– Вам достаточно выбрать файл сообщения, который нужно скрыть, затем файл – приемник данных, в котором предполагается скрыть данные(его емкость должна быть достаточна для хранения внедренных данных) и нажать на кнопку OK. Название программы Описание Gif-It-Up 1.0 for Windows 95 Прячет данные в GIF файлах, выполняя подстановку скрытых цветов в изображение EZStego Java–приложение. Модифицирует наименее значимые биты (LSB) яркости точек GIF и PICT, изменяя их цветовую палитру DiSi-Steganograph DOS–приложение. Прячет данные в графических файлах PCX Hide and Seek Прячет данные в GIF файлах, скрываемые данные кодирует алгоритмом шифрования Blowfish. Осуществляет случайный выбор точек для хранения внедряемых данных. MP3Stego Внедряет данные в звуковые файлы формата 76 MP3, который широко рапространен. Steganos Программа с ассистентом (Wizard) кодирует и прячет файлы в форматах DIB, BMP, VOC, WAV, ASCII и HTML Steganography Tools 4 Предварительно кодирует данные с помощью алгоритмов шифрования IDEA, MPJ2, DES TripleDES и NSEA, а затем прячет их в графических файлах, звуковых (WAV) файлах или свободных секторах флоппи-дисков Эти программы, информацию об их получении, а также другую информацию о методах стеганографии можно скачать с веб сайтов – http://www.cl.cam.ac.uk/~fapp2/steganography/, http://www.demcom.com/english/steganos/, http://www.signumtech.com, http://www/digimark/com. Пример Предположим, что в качестве носителя используется 24 битовое изображение размером 800х600 (графика среднего разрешения). Оно занимает около полутора мегабайта памяти (800х600х24/3 = 1440000 байт). Каждая цветовая комбинация тона (пиксела - точки) – это комбинация трех основных цветов –красного, зеленого и синего, которые занимают каждый по 1 байту (итого по 3 на точку). Если для хранения секретной информации использовать наименьший значащий бит (Least Significant Bits – LSB) каждого байта, то получим по 3 бита на каждый пиксел. Емкость изображения носителя составит – 800х600х3/8=180000 байт. При этом биты в каких то точках будут совпадать с битами реального изображения, в других – нет, но, главное, что на глаз определить такие искажения практически невозможно. Другим популярным методом встраивания сообщений является использование особенностей форматов данных, использующих сжатие с потерей данных (например JPEG). Этот метод (в отличии от LSB) более стоек к геометрическим преобразованиям и обнаружению канала передачи, так как имеется возможность в широком диапазоне варьировать качество сжатого изображения, что делает невозможным определение происхождения искажения. Более подробно этот метод описан в статье С. Ф. Быкова "Алгоритм сжатия JPEG с позиции компьютерной стеганографии" ("Защита информации. Конфидент", №3, 2000, стр. 26). Для встраивания цифровых водяных знаков используются более сложные методы. Цифровые водяные знаки В современных системах формирования цифровых водяных знаков используется принцип встраивания метки, являющейся узкополосным сигналом, в широком диапазоне частот маркируемого изображения. Указанный метод реализуется при помощи двух различных алгоритмов и их возможных модификаций. В первом случае информация скрывается путем фазовой модуляции информационного сигнала (несущей) с псевдослучайной последовательностью чисел. Во втором - имеющийся диапазон частот делится на несколько каналов и передача производится между этими каналами. Относительно исходного изображения метка является некоторым дополнительным шумом, но так как шум в сигнале присутствует всегда, его незначительное возрастание за счет внедрения метки не дает заметных на глаз искажений. Кроме того, метка рассеивается по всему исходному изображению, в результате чего становится более устойчивой к вырезанию. 77 В настоящее время компьютерная стеганография продолжает развиваться: формируется теоретическая база, ведется разработка новых, более стойких методов встраивания сообщений. Среди основных причин наблюдающегося всплеска интереса к стеганографии можно выделить принятые в ряде стран ограничения на использование сильной криптографии, а также проблему защиты авторских прав на художественные произведения в цифровых глобальных сетях. Поэтому в ближайшее время можно ожидать новых публикаций и разработок в этой области. n Если рассматривать информацию отдельно от ее материального представления, то где же ее тогда можно спрятать? Ответ однозначен: только в еще большем массиве информации - как иголку в стоге сена. В этом и заключается принцип действия стеганографии. Например, мы отправляем нашему корреспонденту по электронной почте файл с растровой черно-белой картинкой, в котором наименее значащий бит в коде яркости каждой точки изображения будет элементом нашего тайного сообщения. Получатель письма извлечет все такие биты и составит из них «истинное» сообщение. Картинка, присутствующая здесь только для отвода глаз, так и останется для непосвященных простой картинкой. Сообщения, закодированные методом стеганографии, выглядят совершенно невинно, разве что сопровождаются изображениями или звуками. При перехвате такого сообщения злоумышленник вряд ли заподозрит, что оно содержит скрытую информацию. Такой файл, отправленный по электронной почте, можно прослушать или просмотреть и ничего особенного не заметить. В большинстве случаев скрытая информация также кодируется, в результате чего обнаружить ее еще труднее. Стеганографическое программное обеспечение камуфлирует информацию под обычные помехи или брак при работе цифровых систем, генерирующих звуки и изображения. Для того чтобы скрытое сообщение было невозможно обнаружить, оно должно иметь такие же статистические показатели, что и естественные помехи компьютерных изображений и оцифрованных звуков. Проблема в том, что закодированные сообщения не отличаются той регулярностью, что присуща «помехам», которые они пытаются имитировать. Вообще говоря, созданные компьютером изображения — не самое подходящее место для сокрытия информации, поскольку в них соблюдаются вполне определенные закономерности; более многообещающими в этом плане выглядят сканированные изображения. Намного лучше справляются с этой задачей пакеты коммерческих программ. С применением предлагаемых ими методов переданные вами зашифрованные сообщения вряд ли кто-нибудь раскроет. В странах, где шифрование запрещено, стеганография может быть единственным средством избежать преследования. Передача изображений по Интернет — дело вполне обычное, а проверка их на предмет зашифрованной и скрытой информации представляется довольно проблематичной, если вообще возможной. Стеганография бывает полезна, когда необходимо не просто передать секретное сообщение, а секретно передать секретное сообщение, то есть скрыть сам факт передачи секретного сообщения. Такой способ ведения тайной коммуникации, однако, имеет ряд недостатков: 1. во-первых, трудно обосновать его стойкость - вдруг злоумышленникам известен способ «подмешивания» секретных данных к «болванке» - массиву открытых данных; 2. во-вторых, при его использовании объем передаваемых или хранимых данных резко увеличивается, что отрицательно сказывается на производительности систем их обработки. Кроме скрытой передачи сообщений, стеганография является одной из самых перспективных направлений, применяемых для аутентификации и маркировки авторской продукции. При этом, часто в качестве внедряемой информации используются дата и место создания продукта, данные об авторе, номер лицензии, серийный номер, дата истечения срока работы (удобно для распространения shareware-программ) и др.. Эта информация обычно внедряется как в графические и аудио произведения так и в защищаемые программные продукты. Все внесенные сведения могут рассматриваться как веские доказательства при рассмотрении вопросов и судебных 78 разбирательств об авторстве или для доказательства факта нелегального копирования, и часто имеют решающее значение. Одним из наиболее перспективных применений стеганографии является digital watermarking, т.е. создание невидимых глазу водяных знаков для защиты авторских прав на графические и аудио файлы. Приложения В настоящее время можно выделить три тесно связанных между собой и имеющих одни корни направления приложения стеганографии: сокрытие данных (сообщений), цифровые водяные знаки и заголовки. Сокрытие внедряемых данных, которые в большинстве случаев имеют большой объем, предъявляет серьезные требования к контейнеру: размер контейнера в несколько раз должен превышать размер встраиваемых данных. Цифровые водяные знаки используются для защиты авторских или имущественных прав на цифровые изображения, фотографии или другие оцифрованные произведения искусства. Основными требованиями, которые предъявляются к таким встроенным данным, являются надежность и устойчивость к искажениям. Цифровые водяные знаки имеют небольшой объем, однако, с учетом указанных выше требований, для их встраивания используются более сложные методы, чем для встраивания просто сообщений или заголовков. Третье приложение, заголовки, используется в основном для маркирования изображений в больших электронных хранилищах (библиотеках) цифровых изображений, аудио- и видеофайлов. В данном случае стеганографические методы используются не только для внедрения идентифицирующего заголовка, но и иных индивидуальных признаков файла. Внедряемые заголовки имеют небольшой объем, а предъявляемые к ним требования минимальны: заголовки должны вносить незначительные искажения и быть устойчивы к основным геометрическим преобразованиям. 5.11 Надежность криптосистем Стойкость криптосистемы зависит от: 79 длины ключа объема ключевого пространства Надежность криптосистем можно сравнить с цепью. Прочность цепи зависит от самого слабого звена. звенья криптосистемы: 1) алгоритм; 2) протокол; 3) ключи. кто атакует бюджет сложность атаки 40 бит 56 бит хакер $1000 1 нед. никогда малый бизнес $10000 12 мин. 556 дней крупная компания $10 млн. 0,005 сек. 6 мин. федеральное агентство $300 млн. 0,0002 сек. 12 сек. стойкий ключ 45 бит 64 бит 70 бит 75 бит Выбор ключей Если пользователь сам себе выбирает ключ, то скорее всего он выберет Ivanov, чем &7)d/* В атаке полного перебора используется словарь, включающий: 1. ФИО и данные отправителя в различных комбинациях; 2. Имена людей, героев книг, животных, мифов; 3. Слова, полученные после внесения изменений в слова 1,2 пунктов; 4. Слова полученные заменой строчных букв на заглавные; 5. Слова на различных иностранных языках и т.д. Хороший ключ – случайный, но его трудно запомнить. Более привлекателен подход, когда вместо отдельного слова используется достаточно длинное предложение русском, английском или другом языке, которое преобразуется в ключ. Такое предложение в криптографии называется паролем. Для преобразования пароля в псевдослучайный битовый ключ можно воспользоваться любой хэш-функцией. Пароль следует выбирать достаточно длинным, чтобы полученный в результате преобразования ключ, был случайным. Из теории информации известно, что каждая буква содержит 1,3 бита информации. Чтобы получить 64 битовый ключ, пароль должен состоять из 49 букв, что соответствует фразе из 10 слов. Лучше воспользоваться творчеством мало известных поэтов. Для хранения ключа (запомнить его сложно, если он случаен) можно использовать пластиковую карточку с ПЗУ. С целью уменьшения вероятности компрометации ключа можно разделить его на две части: одну часть реализовать в виде ПЗУ-ключа; другую часть разместить в памяти компьютера. Задача: Как выбрать надежный криптоалгоритм? Способы: 1. Воспользоваться надежным известным алгоритмом, если нет информации о его раскрытии. 2. Довериться специализированной сертифицированной фирме. 3. Обратиться к независимому эксперту. 4. Обратиться за поддержкой в соответствующее правительственное ведомство. 5. Создать собственный криптографический алгоритм. Большинство средств криптографической защиты данных реализовано в виде специализированных физических устройств. Эти устройства встраиваются в линию связи и осуществляют шифрование всей передаваемой информации. Преобладание аппаратного шифрования обусловлено: 1. более высокой скоростью; 80 2. аппаратуру легче защитить физически от проникновения извне. Аппаратура помещается в специальные контейнеры, которые могут покрываться химическим составом. И в результате любая попытка преодолеть защитный слой приводит к уничтожению внутренней логической схемы чипа. 3. аппаратура шифрования более проста в установке (телефон, модем). Преимущества программного шифрования: - любой алгоритм легко копируется (на другой ПК); - алгоритм прост в использовании; - его не трудно модифицировать. Симметрические алгоритмы имеют меньшую длину ключа и работают быстрее, чем асимметричные системы. У этих систем разное назначение: симметричные криптосистемы используются для шифрования данных, а асимметричные системы - для ЭЦП, шифрования ключей. Информацию перед шифрованием желательно сжимать. После шифрования сжать не удастся. Если удается сжать файлы после шифрования, то алгоритм шифрования недостаточно хорош. Шифрование файлов Особенности: 1. нередко после шифрования незашифрованная копия хранится там же или на другом диске. 2. Размер блока в блочных алгоритмах шифрования может значительно превышать размер отдельных порций в структурированном файле. 3. Скорость шифрования выбранного алгоритма должна быть больше скорости дисковых устройств. 4. Работа с ключами – лучше шифровать каждый файл на отдельном ключе, а затем зашифровать все ключи мастер-ключом. 5. Перед шифрованием лучше провести сжатие файла. Если после шифрования файл удастся сжать, то алгоритм шифрования не очень хорош. Раздел 3 Обеспечение информационной безопасности на уровне предприятия Тема 6. Защита программного обеспечения 6.1 Характеристика вредоносных программ Любая ПК-система предполагает использование программных средств разного назначения в едином комплексе. Например, система автоматизированного документооборота: ОС, СУБД, телекоммуникационные программы, текстовые редакторы, антивирусы, криптографические средства, средства аутентификации и идентификации пользователей. Главным условием правильно функционирования такой ИС является обеспечение защиты от вмешательства в процесс обработки информации тех программ, присутствие которых в ИС нежелательно. Среди подобных программ – вирусы и программные закладки. Вирусы 1. Сетевые черви: по сети через почту, ICQ, ссылок на зараженные файлы 2.Классические компьютерные вирусы: загрузка при запуске определенной компьютерной программы: По среде обитания: Файловые Загрузочные 81 Макровирусы (скрипты). По способу заражения: Перезаписываемые – запись кода в файл вместо его содержимого. Паразитические – изменяют содержимое, но полностью или частично заражают (перенос части текста файла в конец, в начало, а свой код переносится в освободившееся место). По степени воздействия: Уменьшают объем оперативной памяти, в архивах, дублируют информацию. Опасные. Очень опасные: стирание информации, порча железа. Методы защиты Резервное копирование. Разграничение доступа. Программы: Детекторы (обнаруживают зараженные файлы по комбинации байтов в файле). Доктора (лечат, возвращают в исходное состояние области диска). Ревизоры: вычисление контрольной суммы, длины файла. Доктора – ревизоры: используют заранее сохраненную информацию о состоянии файла. Введение Компьютерный вирус - это специально написанная небольшая по размерам программа, которая может "приписывать" себя к другим программам (т.е. "заражать" их),а также выполнять различные нежелательные действия на компьютере. Программа, внутри которой находится вирус, называется "зараженной". Когда такая программа начинает работу, то сначала управление получает вирус. Вирус находит и "заражает" другие программы, а также выполняет какие-нибудь вредные действия (например, портит файлы или таблицу размещения файлов на диске, "засоряет" оперативную память и т.д.). Для маскировки вируса действия по заражению других программ и нанесению вреда могут выполняться не всегда, а, скажем, при выполнении определенных условий. После того как вирус выполнит нужные ему действия, он передает управление той программе, в которой он находится, и она работает также, как обычно. Тем самым внешне работа зараженной программы выглядит так же, как и незараженной. Многие разновидности вирусов устроены так, что при запуске зараженной программы вирус остается резидентно, т.е. до перезагрузки ОС, в памяти компьютера и время от времени заражает программы и выполняет вредные действия на компьютере. Компьютерный вирус может испортить, т.е. изменить ненадлежащим образом, любой файл на имеющих в компьютере дисках. Но некоторые виды файлов вирус может "заразить". Это означает, что вирус может "внедриться" в эти файлы, т.е. изменить их так, что они будут содержать вирус, который при некоторых обстоятельствах может начать свою работу. Следует заметить, что тексты программ и документов, информационные файлы без данных, таблицы табличных процессоров и другие аналогичные файлы не могут быть заражены вирусом, он может их только испортить. История возникновения и развития компьютерных вирусов Считают, что идея создания компьютерных вирусов была придумана писателем-фантастом Т. Дж. Райн, который в одной из своих книг, опубликованной в США в 1977 г., описал эпидемию, за короткое время поразившую более 7000 компьютеров. Причиной эпидемии стал компьютерный вирус, который, передаваясь от одного компьютера к другому, внедрялся в их операционные системы и выводил их из-под контроля человека. Ущерб, наносимый компьютерными вирусами, быстро возрастает, а их опасность для таких жизненно важных систем, как оборона, транспорт, связь, поставила проблему компьютерных вирусов в ряд тех, которые обычно находятся под пристальным вниманием органов государственной безопасности. 82 Считается признанным, что в последние годы больше всего вирусов создавалось в СССР, а затем в России и других странах СНГ. Но и в других странах, в том числе в США, значителен урон, наносимый вирусами. В США борьба с вирусами ведется на самом высоком уровне. В Уголовном Кодексе России обозначена статья 273 за "Создание, использование и распространение вредоносных программ для ЭВМ", которая гласит: 1. Создание программ для ЭВМ или внесение изменений в существующие программы, заведомо приводящих к несанкционированному уничтожению, блокированию, модификации либо копированию информации, нарушению работы ЭВМ, системы ЭВМ или их сети а равно использование либо распространение таких программ или машинных носителей с такими программами – наказываются лишением свободы на срок до 3 лет со штрафом в размере от двухсот до пятисот минимальных размеров оплаты труда или в размере заработной платы или иного дохода осужденного за период от двух до пяти месяцев. 2. Те же деяния, повлекшие по неосторожности тяжкие последствия, - наказываются лишением свободы на срок от трех до семи лет. В США, вскоре после объявления в 1993 году Белым домом о подключении президента Билла Клинтона и вице-президента Альберта Гора к сети Internet, администрация поддержала идею проведения Национального дня борьбы с компьютерными вирусами. Такой день отмечается теперь ежегодно. Национальной ассоциацией по компьютерной защите США (NCSA) и компанией Dataquest опубликованы следующие данные по результатам исследований вирусной проблемы: - 63% опрошенных пострадали от компьютерных вирусов; - предполагаемые потери американского бизнеса от компьютерных вирусов в 1999 году составят около 3 млрд. долларов; - идентифицировано более 23000 компьютерных вирусов; - каждый месяц появляется более 50 новых вирусов; - в среднем от каждой вирусной атаки страдает 142 персональных компьютера: на ее отражение в среднем уходит 2,4 дня; - для компенсации ущерба в 114 случаев требовалось более 5 дней. Начиная с конца 1990 г., появилась новая тенденция, получившая название "экспоненциальный вирусный взрыв". Количество новых вирусов, обнаруживаемых в месяц, стало исчисляться десятками, а в дальнейшем и сотнями. Поначалу эпицентром этого взрыва была Болгария, затем он переместился в Россию. После 1994 г. темп роста вирусов пошел на убыль, хотя их общее количество продолжает увеличиваться. Это связано с тем, что ОС MS D0S, которая и дает 99% существующих компьютерных вирусов, постепенно сдает свои лидирующие позиции как операционная система для персональных компьютеров, уступая их Windows, 0S\2, UNIX и т.п. Кроме того, вирусы постоянно расширяют свою "среду обитания" и реализуют принципиально новые алгоритмы внедрения и поведения. Так, в 1995 году появились представители, опровергающие ключевые принципы антивирусной защиты – то, что компьютер, загруженный с заведомо чистой системной дискеты, не может содержать вирус; и то, что вирусы не заражают файлы с данными. Первым появился вирус, который таким образом корректирует конфигурацию компьютера, что при попытке загрузки с дискеты он все равно загружается с зараженного жесткого диска, и вирус активизируется в системе. Другой вирус, появившийся в середине августа 1995 г. в США и ряде стран Западной Европы, использует возможность представления информации в виде конгломерата данных и программ. Он заражает документы, подготовленные в системе MS Word for Windows – файлы типа .DOC. Так как такие файлы ежедневно десятками тысяч циркулируют в локальных и глобальных сетях, эта способность вируса обеспечила его мгновенное распространение по всему свету в течение нескольких дней и 25 августа он был обнаружен в Москве. Вирус написан на макроязыке пакета Word. Он переносит себя в область глобальных макросов, переопределяет макрос FileSaveAs и копирует себя в каждый файл, сохраняемый с помощью команды Save As. При этом он переводит файл из категории "документ" в категорию "шаблон", что делает, невозмож- 83 ным его дальнейшее редактирование. Обнаружить наличие этого вируса можно по появлению в файле winword6.ini строки ww6i=1. Новым словом в вирусологии стал вирус под названием “Чернобыль” или WIN95.CIH. Данный вирус в отличие от своих собратьев в зависимости от модификации мог уничтожать MBR жесткого диска, таблицу размещения данных и не защищенную от перезаписи Flash-память. Волна эпидемии этого вируса прокатилась по всему миру. Громадный материальный ущерб был нанесен в Швеции. 26 апреля 1999 года пострадало большое количество пользователей и в России. Наиболее известен вызвавший всемирную сенсацию и привлекший внимание к вирусной проблеме инцидент с вирусом-червем в глобальной сети Internet. Второго ноября 1988 года студент Корнелловского университета Роберт Моррис запустил на компьютере Массачусетского технологического института программу-червь, которая передавала свой код с машины на машину, используя ошибки в системе UNIX на компьютерах VAX и Sun. В течение 6 часов были поражены 6000 компьютеров, в том числе Станфордского университета, Массачусетского технологического института, университета Беркли и многих других. Кроме того, были поражены компьютеры Исследовательского института НАСА и Национальной лаборатории Лоуренса в Ливерморе – объекты, на которых проводятся самые секретные стратегические исследования и разработки. Червь представлял собой программу из 4000 строк на языке "С" и входном языке командного интерпретатора системы UNIX. Следует отметить, что вирус только распространялся по сети и не совершал каких-либо разрушающих действий. Однако это стало ясно только на этапе анализа его кода, а пока вирус распространялся, в вычислительных центрах царила настоящая паника. Тысячи компьютеров были остановлены, ущерб составил многие миллионы долларов. Классификация вирусов Известные программные вирусы можно классифицировать по следующим признакам: среде обитания; способу заражения среды обитания; воздействию; особенностям алгоритма. В зависимости от среды обитания вирусы можно разделить на: сетевые; файловые; загрузочные; файлово-загрузочные. Сетевые вирусы Сетевые вирусы распространяются по различным компьютерным сетям. К сетевым относятся вирусы, которые для своего распространения активно используют протоколы и возможности локальных и глобальных сетей. Основным принципом работы сетевого вируса является возможность самостоятельно передать свой код на удаленный сервер или рабочую станцию. “Полноценные” сетевые вирусы при этом обладают еще и возможностью запустить на выполнение свой код на удаленном компьютере или, по крайней мере, “подтолкнуть” пользователя к запуску зараженного файла. Бытует ошибочное мнение, что сетевым является любой вирус, распространяющийся в компьютерной сети. Но в таком случае практически все вирусы были бы сетевыми, даже наиболее примитивные из них: ведь самый обычный нерезидентный вирус при заражении файлов не разбирается - сетевой (удаленный) это диск или локальный. В результате такой вирус способен заражать файлы в пределах сети, но отнести его к сетевым вирусам никак нельзя. Наибольшую известность приобрели сетевые вирусы конца 1980-х, их также называют сетевыми червями (worms). К ним относятся вирус Морриса, вирусы “Cristmas Tree” и “Wank Worm&”. Для своего распространения они использовали ошибки и недокументированные функции глобальных сетей того времени - вирусы передавали свои копии с сервера на сервер и запускали их на выполнение. В случае с вирусов Морриса эпидемия захватила аж несколько глобальных сетей в США. 84 Сетевые вирусы прошлого распространялись в компьютерной сети и, как правило, так же как и компаньон-вирусы, не изменяли файлы или сектора на дисках. Они проникали в память компьютера из компьютерной сети, вычисляли сетевые адреса других компьютеров и рассылали по этим адресам свои копии. Этивирусы иногда также создавали рабочие файлы на дисках системы, но могли вообще не обращаться к ресурсам компьютера (за исключением оперативной памяти). После нескольких эпидемий сетевых вирусов ошибки в сетевых протоколах и программном обеспечении были исправлены, а “задние двери” закрыты. В результате за песледние десять лет не было зафиксировано ни одного случая заражения сетевым вирусом, как, впрочем, не появилось и ни одного нового сетевого вируса. Вновь проблема сетевых вирусов возникла лишь в начале 1997-го года с появлением вирусов “Macro.Word.ShareFun” и “Win.Homer”. Первый из них использует возможности электронной почты Microsoft Mail - он создает новое письмо, содержащее зараженный файл-документ (“ShareFun” является макро-вирусом), затем выбирает из списка адресов MS-Mail три случайных адреса и рассылает по ним зараженное письмо. Поскольку многие пользователи устанавливают параметры MS-Mail таким образом, что при получении письма автоматически запускается MS Word, то вирус “автоматически” внедряется в компьютер адресата зараженного письма. Этот вирус иллюстрирует первый тип современного сетевого вируса, которые объединяют возможности встроенного в Word/Excel языка Basic, протоколы и особенности электронной почты и функции авто-запуска, необходимые для распространения вируса. Второй вирус (“Homer”) использует для своего распространения протокол FTP (File Trabsfer Protocol) и передает свою копию на удаленный ftp-сервер в каталог Incoming. Поскольку сетевой протокол FTP исключает возможность запуска файла на удаленнов сервере, этот вирус можно охарактеризовать как “полу-сетевой”, однако это реальный пример возможностей вирусов по использованию современных сетевых протоколов и поражению глобальных сетей. Файловые вирусы Файловые вирусы внедряются главным образом в исполняемые модули, т. е. в файлы, имеющие расширения COM и EXE. Они могут внедряться и в другие типы файлов, но, как правило, записанные в таких файлах, они никогда не получают управление и, следовательно, теряют способность к размножению. В отличие от загрузочных вирусов, которые практически всегда резидентны, файловые вирусы не обязательно резидентны. Областью обитания файловых вирусов являются файлы. Если файловый вирус не резидентный, то при запуске инфицированного исполняемого файла вирус записывает свой код в тело программного файла таким образом, что при запуске программы вирус первым получает управление. Произведя некоторые действия, вирус передает управление зараженной программе. При запуске вирус сканирует локальные диски компьютера и сетевые каталоги в поисках нового объекта для заражения. После того как подходящий программный файл будет найден, вирус записывает в него свой код, чтобы получить управление при запуске этого файла. Если файловый вирус резидентный, то он установится в память и получит возможность заражать файлы и проявлять прочие способности не только во время работы зараженного файла. Относительно новой разновидностью файлового вируса является макрокомандный вирус, распространяющийся с документами офисных приложений, таких как Microsoft Word for Windows или Microsoft Excel for Windows. Документы офисных приложений содержат в себе не только текст и графические изображения, но и макрокоманды, которые представляют собой ничто иное, как программы. Эти программы составляются на языке, напоминающем Бейсик. Вирус может изменять существующие макрокоманды и добавлять новые, внедряя свое тело в файл документа. Механизм распространения макрокомандных вирусов основан на том, что существуют макрокоманды, которые запускаются при открывании документа для редактирования или при выполнении других операций. Разработчик макрокомандного вируса берет файл с именем, например, readme.doc, и записывает в него одну или несколько вирусных макрокоманд, например, вирусную макрокоманду с именем AutoExec. Когда пользователь открывает такой файл при помощи текстового процессора Microsoft Word for Windows, эта макрокоманда будет автоматически за85 пущена на выполнение. При этом вирус получит управление и может заразить другие документы, хранящиеся на дисках. Если вирусная макрокоманда имеет имя FileSaveAs, то распространение вируса будет происходить при сохранении документа. Для предотвращения заражения макрокомандными вирусами необходимо перед просмотром или редактированием проверять новые файлы документов с помощью антивирусных программ, способных искать такие вирусы. Загрузочные вирусы Вторая большая группа вирусов - это так называемые загрузочные вирусы. Распространение и активизация этих вирусов происходит в момент загрузки операционной системы, еще до того, как пользователь успел запустить какую-либо антивирусную программу. Сразу после включения электропитания компьютера начинает работать программа инициализации, записанная в ПЗУ базовой системы ввода/вывода BIOS. Эта программа проверяет оперативную память и другие устройства компьютера, а затем передает управление программе начальной загрузки, которая также находится в BIOS. Программа начальной загрузки пытается прочитать в оперативную память содержимое самого первого сектора нулевой дорожки жесткого диска, в котором находится главная загрузочная запись Master Boot Record (MBR), либо содержимое самого первого сектора нулевой дорожки дискеты, вставленной в устройство A:. Этот сектор содержит загрузочную запись Boot Record (BR). Существует две возможности загрузить операционную систему - с жесткого диска или с дискеты. При загрузке с жесткого диска в память по фиксированному адресу читается содержимое главной загрузочной записи. Эта запись представляет собой программу, задачей которой является загрузка операционной системы с логического диска. Загрузчик, расположенный в главной загрузочной записи MBR просматривает таблицу разделов диска Partition Table, которая находится в том же секторе диска, что и сама запись MBR. После того как в этой таблице будет найден раздел, отмеченный как активный, выполняется чтение самого первого сектора этого раздела в оперативную память, - сектора загрузочной записи BR. В этом секторе находится еще один загрузчик. Задачей загрузчика BR является считывание в оперативную память стартовых модулей операционной системы и передача им управления. Способ загрузки зависит от операционной системы, поэтому каждая операционная система имеет свой собственный загрузчик BR. Загрузка с дискеты происходит проще, так как формат дискеты в точности соответствует формату логического диска. Самый первый сектор нулевой дорожки дискеты содержит загрузочную запись BR, которая читается в память. После чтения ей передается управление. Файлово–загрузочные вирусы Файлово–загрузочные вирусы. Существует большое количество сочетаний - например, файлово-загрузочные вирусы, заражающие как файлы, так и загрузочные сектора дисков. Такие вирусы, как правило, имеют довольно сложный алгоритм работы, часто применяют оригинальные методы проникновения в систему, используют стелс и полиморфик-технологии. По способу заражения среды обитания – резидентные Под термином "резидентность" (DOS'овский термин TSR - Terminate and Stay Resident) понимается способность вирусов оставлять свои копии в системной памяти, перехватывать некоторые события (например, обращения к файлам или дискам) и вызывать при этом процедуры заражения обнаруженных объектов (файлов и секторов). Таким образом, резидентные вирусы активны не только в момент работы зараженной программы, но и после того, как программа закончила свою работу. Резидентные копии таких вирусов остаются жизнеспособными вплоть до очередной перезагрузки, даже если на диске уничтожены все зараженные файлы. Часто от таких вирусов невозможно избавиться восстановлением всек копий файлов с дистрибутивных дисков или backupкопий. Резидентная копия вируса остается активной и заражает вновь создаваемые файлы. То же верно и для загрузочных вирусов — форматирование диска при наличии в памяти резидент86 ного вируса не всегда вылечивает диск, поскольку многие резидентные вирусы заражает диск повторно после того, как он отформатирован. По способу заражения среды обитания – нерезидентные Нерезидентные вирусы, напротив, активны довольно непродолжительное время — только в момент запуска зараженной программы. Для своего распространения они ищут на диске незараженные файлы и записываются в них. После того, как код вируса передает управление программе-носителю, влияние вируса на работу операционной системы сводится к нулю вплоть до очередного запуска какой-либо зараженной программы. Поэтому файлы, зараженные нерезидентными вирусами значительно проще удалить с диска и при этом не позволить вирусу заразить их повторно. По степени воздействия По степени воздействия вирусы можно разделить на следующие виды: неопасные, не мешающие работе компьютера, но уменьшающие объем свободной оперативной памяти и памяти на дисках, действия таких вирусов проявляются в каких-либо графических или звуковых эффектах, опасные вирусы, которые могут привести к различным нарушениям в работе компьютера, очень опасные, воздействие которых может привести к потере программ, уничтожению данных, стиранию информации в системных областях диска. По особенностям алгоритма По особенностям алгоритма вирусы трудно классифицировать из-за большого разнообразия. Простейшие вирусы - паразитические, они изменяют содержимое файлов и секторов диска и могут быть достаточно легко обнаружены и уничтожены. Вирусы-репликаторы, называемые червями, которые распространяются по компьютерным сетям, вычисляют адреса сетевых компьютеров и записывают по этим адресам свои копии. Вирусы-невидимки, называемые стелс-вирусами, которые очень трудно обнаружить и обезвредить, так как они перехватывают обращения операционной системы к пораженным файлам и секторам дисков и подставляют вместо своего тела незараженные участки диска. Наиболее трудно обнаружить вирусы-мутанты (полиморфные вирусы), содержащие алгоритмы шифровки-расшифровки, благодаря которым копии одного и того же вируса не имеют ни одной повторяющейся цепочки байтов. Имеются и так называемые квазивирусные или “троянские” программы, которые хотя и не способны к самораспространению, но очень опасны, так как, маскируясь под полезную программу, разрушают загрузочный сектор и файловую систему дисков. Макровирусы Весьма оригинальный класс вирусов (хотя вирусами в полном смысле этого слова их даже нельзя назвать), заражающий документы, в которых предусмотрено выполнение макрокоманд. При открытии таких документов вначале исполняются макрокоманды (специальные программы высокого уровня), содержащиеся в этом документе, - макровирус как раз и представляет собой такую макрокоманду. Таким образом, как только будет открыт зараженный документ, вирус получит управление и совершит все вредные действия (в частности, найдет и заразит еще не зараженные документы). Полиморфные вирусы Этот вид компьютерных вирусов представляется на сегодняшний день наиболее опасным. Полиморфные вирусы - вирусы, модифицирующие свой код в зараженных программах таким образом, что два экземпляра одного и того же вируса могут не совпадать ни в одном бите. Такие вирусы не только шифруют свой код, используя различные пути шифрования, но и содержат код генерации шифровщика и расшифровщика, что отличает их от обычных шифровальных вирусов, которые также могут шифровать участки своего кода, но имеют при этом постоянный код шифровальщика и расшифровщика. Полиморфные вирусы - это вирусы с самомодифицирующимися расшифровщиками. Цель такого шифрования: сделать невозможным проанализировать код вируса с помощью обычного дизассемблирования, даже имея зараженный и оригинальный файлы. Этот код зашифрован и 87 представляет собой бессмысленный набор команд. Расшифровка производится самим вирусом уже непосредственно во время выполнения. При этом возможны варианты: он может расшифровать себя всего сразу, а может выполнить такую расшифровку в ходе работы, может вновь шифровать уже отработавшие участки. Все это делается ради затруднения анализа кода вируса. Стелс-вирусы В ходе проверки компьютера антивирусные программы считывают данные - файлы и системные области с жестких дисков и дискет, пользуясь средствами операционной системы и базовой системы ввода/вывода BIOS. Ряд вирусов, после запуска оставляют в оперативной памяти компьютера специальные модули, перехватывающие обращение программ к дисковой подсистеме компьютера. Если такой модуль обнаруживает, что программа пытается прочитать зараженный файл или системную область диска, он на ходу подменяет читаемые данные, как будто вируса на диске нет. Стелс-вирусы обманывают антивирусные программы и в результате остаются незамеченными. Тем не менее, существует простой способ отключить механизм маскировки стелс-вирусов. Достаточно загрузить компьютер с не зараженной системной дискеты и сразу, не запуская других программ с диска компьютера (которые также могут оказаться зараженными), проверить компьютер антивирусной программой. При загрузке с системной дискеты вирус не может получить управление и установить в оперативной памяти резидентный модуль, реализующий стелс-механизм. Антивирусная программа сможет прочитать информацию, действительно записанную на диске, и легко обнаружит вирус. Системная дискета для антивирусного контроля должна быть подготовлена заранее. Кроме системных файлов, на нее следует записать антивирусные программы. Вирусы-призраки Вирусы-призраки маскируются с помощью другого механизма. Эти вирусы постоянно модифицируют себя таким образом, что не содержат одинаковых фрагментов. Такие вирусы хранят свое тело в закодированном виде и постоянно меняют параметры этой кодировки. Стартовая же часть, занимающаяся декодированием непосредственно самого тела, может генерироваться весьма сложным способом. При переносе вируса данного типа с компьютера на компьютер код вируса изменяется таким образом, что уже не имеет ничего общего со своим предыдущим вариантом. А часть вирусов может самомодифицироваться и в пределах одного компьютера. Обнаружение таких вирусов весьма затруднено, хотя часть антивирусных программ пытается находить их по участкам кода, характерным для стартовой части. Компаньон – вирусы Компаньон - вирусы (companion) - это вирусы, не изменяющие файлы. Алгоритм работы этих вирусов состоит в том, что они создают для EXE-файлов файлыспутники, имеющие то же самое имя, но с расширением .COM, например, для файла XCOPY.EXE создается файл XCOPY.COM. Вирус записывается в COM-файл и никак не изменяет EXE-файл. При запуске такого файла ОС первым обнаружит и выполнит COM-файл, т.е. вирус, который затем запустит и EXE-файл. Вирусы - “черви” Вирусы – “черви” (worm) - вирусы, которые распространяются в компьютерной сети и, так же как и компаньон - вирусы, не изменяют файлы или сектора на дисках. Они проникают в память компьютера из компьютерной сети, вычисляют сетевые адреса других компьютеров и рассылают по этим адресам свои копии. Такие вирусы иногда создают рабочие файлы на дисках системы, но могут вообще не обращаться к ресурсам компьютера (за исключением оперативной памяти). Студенческие вирусы Студенческие вирусы являются самыми примитивными и элементарными, потому что эти вирусы пишутся ради забавы или от нечего делать студентами, которые только что научились их писать и решили попробовать свои силы. Но также есть исключения, например такой вирус как “Чернобыль” написан самым обычным студентом. Но такие исключения очень редки. 88 Троянские кони, программные закладки и сетевые черви Троянский конь – это программа, содержащая в себе некоторую разрушающую функцию, которая активизируется при наступлении некоторого условия срабатывания. Обычно такие программы маскируются под какие-нибудь полезные утилиты. Вирусы могут нести в себе троянских коней или "троянизировать" другие программы – вносить в них разрушающие функции. “Троянские кони” представляют собой программы, реализующие помимо функций, описанных в документации, и некоторые другие функции, связанные с нарушением безопасности и деструктивными действиями. Отмечены случаи создания таких программ с целью облегчения распространения вирусов. Списки таких программ широко публикуются в зарубежной печати. Обычно они маскируются под игровые или развлекательные программы и наносят вред под красивые картинки или музыку. Программные закладки также содержат некоторую функцию, наносящую ущерб ВС, но эта функция, наоборот, старается быть как можно незаметнее, т.к. чем дольше программа не будет вызывать подозрений, тем дольше закладка сможет работать. В качестве примера приведем возможные деструктивные функции, реализуемые “троянскими конями” и программными закладками: 1. Уничтожение информации. Конкретный выбор объектов и способов уничтожения зависит только от фантазии автора такой программы и возможностей ОС. Эта функция является общей для троянских коней и закладок. 2. Перехват и передача информации. В качестве примера можно привести реализацию закладки для выделения паролей, набираемых на клавиатуре. 3. Целенаправленная модификация кода программы, интересующей нарушителя. Как правило, это программы, реализующие функции безопасности и защиты. Если вирусы и “троянские кони” наносят ущерб посредством лавинообразного саморазмножения или явного разрушения, то основная функция вирусов типа “червь”, действующих в компьютерных сетях, – взлом атакуемой системы, т.е. преодоление защиты с целью нарушения безопасности и целостности. В более 80% компьютерных преступлений, расследуемых ФБР, "взломщики" проникают в атакуемую систему через глобальную сеть Internet. Когда такая попытка удается, будущее компании, на создание которой ушли годы, может быть поставлено под угрозу за какие-то секунды. Этот процесс может быть автоматизирован с помощью вируса, называемого сетевой червь. Червями называют вирусы, которые распространяются по глобальным сетям, поражая целые системы, а не отдельные программы. Это самый опасный вид вирусов, так как объектами нападения в этом случае становятся информационные системы государственного масштаба. С появлением глобальной сети Internet этот вид нарушения безопасности представляет наибольшую угрозу, т. к. ему в любой момент может подвергнуться любой из 40 миллионов компьютеров, подключенных к этой сети. Программные закладки Программная закладка – это внесенные в программное обеспечение функциональные объекты, которые при определенных условиях (входных данных) инициируют выполнение не описанных в документации функций, позволяющих осуществлять несанкционированные воздействия на информацию (ГОСТ Р 51275-99). Закладка не размножается, имеет цель. Программная закладка (ПЗ) – вредоносная программа может выполнять хотя бы одно из перечисленных действий: 1. Вносить произвольное искажение в коды программы (закладка первого типа). 2. Переносить фрагменты информации из одних областей памяти в другие, ОЗУ (закладка второго типа). 3. Искажать выводимую на внешние устройства или в каналы связи информацию, полученную в результате работы других программ (закладка третьего типа). Программные закладки можно классифицировать по методу внедрения в ИС: 89 1. Программно – аппаратные закладки, ассоциированные со средствами компьютера (среда обитания BIOS). 2. Загрузочные закладки, связанные с программой начальной загрузки, которая располагается в загрузочных секторах. 3. Драйверные закладки. 4. Прикладные закладки, связанные с прикладным программным обеспечением общего назначения (текстовые редакторы, утилиты, антивирусные мониторы). 5. Исполняемые закладки, связанные с исполняемыми программами, пакетными файлами, файлами ОС. 6. Закладки-имитаторы интерфейс которых совпадает с интерфейсом известных служебных программ, требующих ввода конфиденциальной информации (ключи, пароли, кодов кредитных карточек). 7. Замаскированные закладки, которые маскируются под программные средства оптимизации ПК (архиваторы, дисковые дефрагментаторы), под игровые и другие развлекательные программы. Чтобы программная закладка нанесла вред, процессор должен приступать к исполнению команд, входящих в состав кода ПЗ. Это возможно при соблюдении следующих условий: 1. Закладка должна попасть в оперативную память компьютера до той программы, которая является целью воздействия закладки. 2. Работа программной закладки, находящейся в оперативной памяти, начинается при выполнении некоторых условий, которые называются активизирующими Существуют 3 основных группы деструктивных действий, которые могут осуществляться ПЗ: 1. Копирование информации пользователя ИС (паролей, кодов, доступа ключей, конфиденциальных электронных документов), находящихся в оперативной или внешней памяти системы. 2. Изменение алгоритмов функционирования системы, прикладных и служебных программ. Например, внесение изменений в программу разграничения доступа может привести к тому, что она разрешит вход в систему всем без исключения пользователям вне зависимости от правильности введенного пароля. 3. Навязывание определенных видов работ. Например, блокирование записи на диск при удалении информации, при этом информация, которую требуется удалить, не уничтожается и может быть впоследствии скопирована злоумышленником. У всех программных закладок есть важная общая черта, они обязательно выполняют операцию записи в оперативную или внешнюю память системы. При отсутствии данной операции никакого негативного воздействия ПЗ оказать не может. 6.2 Модели воздействия программных закладок на компьюторы 1. Модель «перехват»: Внедряется в ПЗУ, системное или прикладное программное обеспечение и сохраняет всю или выбранную информацию, вводимую с внешних устройств в систему или выводимую на эти устройства в скрытую области памяти локальной или удаленной информационной системы. Данная модель может быть двухступенчатой: на первом этапе сохраняются только имена и начала файла; на втором этапе накопленные данные анализируются злоумышленником, и выбирается нужная информация для принятия решения о конкретных объектах дальнейшей атаки. Данная модель может быть эффективно использована, например, при атаке на защищенную WinNT . После старта WinNT, на экране появляется приглашение – нажать Ctrl+Alt+Delete. После их нажатия загружается динамическая библиотека MSGINA.DLL, осуществляющая прием паролей и выполнение процедуры аутентификации. Если злоумышленник заменяет библиотеку MSGINA.DLL на нужную ему библиотеку (для этого необходимо просто добавить специаль- 90 ную строку в реестр ОС WinNT и указать местоположение свой библиотеки), то модифицируется ввод и проверка пароля, т.е. подсистема контроля за доступом. 2. Модель «искажение». Программные закладки изменяют информацию, которая записывается в память системы, либо подавляет (инициирует) возникновение ошибочных ситуаций в ИС. Можно выделить статическое и динамическое искажение Статическое искажение происходит один раз, при этом параметры программной среды модифицируются, чтобы впоследствии в ней выполнялись нужные злоумышленнику действия. Например, вносятся изменения в файл AUTOEXEC.BAT, которые приводят к запуску заданной программы прежде, чем будут запущены другие программы. Специалисты ФАПСИ выявили ПЗ: злоумышленник изменил в исполняемом .exe модуле проверки ЭЦП. строку «Подпись не корректна» на строку «Подпись корректна». В результате перестали фиксироваться документы с неверной ЭЦП, а, следовательно, стало возможно вносить любые изменения в электронные документы уже после того, как их подписания ЭЦП. Динамическое искажение заключается в изменении каких-либо параметров системы или прикладных процессов при помощи заранее активированных закладок. Динамическое искажение можно условно разделить на: искажение на входе, когда на обработку попадает уже искаженная информация; искажение на выходе, когда искажается информация, отображаемая для восприятия человеком, или предназначенная для работы других программ. Практика показала, что именно программы реализации ЭЦП особенно подвержены влиянию ПЗ типа «динамическое искажение». Существует 4 способа воздействия ПЗ на ЭЦП: 1. Искажение входной информации – ПЗ изменяет поступивший на подпись документ. 2. Искажение результата проверки истинности ЭЦП (вне зависимости от результатов проверки цифровую подпись объявляют истинной). 3. Навязывание длины электронного документа – программе ЭЦП предъявляется документ меньшей длины, чем на самом деле, и в результате подпись ставится только под частью исходного документа. 4. Искажение самого алгоритма цифровой подписи. В рамках модели «искажение» реализуются такие ПЗ, действия которых основано на инициировании или подавлении сигнала о возникновении ошибочных ситуаций в ИС, тех которые приводят к отличному от нормального завершению исполняемой программы. Например, для инициирования статической ошибки на устройствах хранения информации создается область, при обращении к которой (запись, чтение, форматирование) возникает ошибка, что может затруднить или блокировать некоторые нежелательные для злоумышленника действия системы или прикладных программ (например, не позволяет осуществить корректно уничтожение конфиденциальной информации на жестком диске. При инициировании динамической ошибки для некоторой операции генерируется сообщение о ложной ошибке, например «Модем занят». Или при прочтении одного блока длиной 512 байт может установиться соответствующий флажок для того, чтобы не допустить прочтения второго и последующего блоков и в итоге подделать подпись под документом. Разновидностью программной закладки модели «искажение» являются программы, которые получили название «троянский конь» (ТК) или «троянец». Троянец является частью другой программы с известными пользователю функциями, которая способна в тайне от него выполнять некоторые дополнительные действия с целью причинения ему определенного ущерба. Например, программа форматирования не является троянской, но если пользователь, выполняя некоторую программу, совершенно не ждет, что она отформатирует его жесткий диск. Троянской можно считать любую программу, которая в тайне от пользователя выполняет некоторые нежелательные для него действия: определение регистрационных номеров программного обеспечения, установленного на компьютере; досоставления списка каталогов на жестком диске и т.д. А сама троянская программа может маскироваться под текстовый редактор, сете- 91 вую утилиту или любую другую, которую пользователь пожелает установить на своем компьютере. Троянские программы пишут программисты с целью получения доступа к конфиденциальным данным (пароли, счета и т.д) и приведения в нерабочее состояние компьютерной системы. Примеры троянцев: Программа PC Cyborg предлагала предоставить информацию о борьбе со СПИДом, а проникнув на компьютер, отсчитывала 90 перезагрузок, а затем прятала все каталоги и шифровала файлы. Программа AOLGOLD рассылалась по e-mail в заархивированном виде с сопроводительным письмом, в котором говорилось, что ее предоставляет компания America On line (AOL – крупнейший Итернет-провайдер) для повышения качества предоставляемых услуг. В архиве был файл Install.bat, пользователь, запустивший этот файл стирал все файлы из с:\ , с:\ windows. Такие программы пишут, как правило, подростки, одержимые страстью к разрушительству. Есть троянские программы, написанные профессионалами, они не разрушают, а собирают информацию. Обнаруживаются они, как правило, случайно. Такие программы продаются, распространяются через Интернет. Именно через Интернет, попала троянская программа, которая обосновалась в утилите fping. При первом же запуске модифицированной утилиты в файл /etc/passwd добавлялась запись для пользователя с именем suser, который мог войти в систему и получить там права администратора. Троянские программы можно отыскать где угодно, однако самыми подозрительными на предмет присутствия троянцев являются бесплатные или условно бесплатные программы, скачанные через Интернет или купленные на пиратских дисках. 3. Модель «уборка мусора». Работа с конфиденциальными электронными документами обычно сводится к последовательности следующих манипуляций с файлами: создание, хранение, коррекция, уничтожение. Для защиты конфиденциальной информации обычно применяется шифрование. Основная угроза исходит не от использования нестойких алгоритмов шифрования и плохих криптографических ключей, а от обыкновенных текстовых редакторов и БД, применяемых для коррекции конфиденциальных документов. Важно помнить, что при записи отредактированной информации меньшего размера в тот же файл, где хранилась исходная информация, образуются так называемые «хвостовые» кластеры, которые не подвергаются воздействию программ шифрования, но и остаются незатронутыми даже средствами гарантированного стирания и удаления. Распространенные средства гарантированного стирания файла предварительно записывают на его место константы или случайные числа и только после этого удаляют файл стандартными методами. Однако даже такие средства оказываются бессильными против программных закладок, которые нацелены на то, чтобы увеличить количество остающихся в виде «мусора» фрагментов конфиденциальной информации. Из хвостовых кластеров можно извлечь до 80% информации, а через 10 суток – 25-40% ПЗ может инициировать системную ошибку, пометив один или несколько кластеров из цепочки, входящей в файл, меткой «сбойный». В результате при удалении файла средствами ОС или средствами гарантированного уничтожения , та его часть, что размещена в «сбойных» кластерах останется нетронутой и впоследствии может быть восстановлена с помощью стандартных утилит. 4. Модель «наблюдение». ПЗ встраивается в сетевое или телекоммуникационное программное обеспечение. Такое программное обеспечение всегда находится в постоянной активности, внедренная в него ПЗ можно следить за всеми процессами обработки информации и осуществлять установку или удаление других программных закладок. . 5. Модель «компрометация». Модель типа «компрометация» позволяет получать доступ к информации, перехваченной другими ПЗ. Например, инициируется постоянное обращение к такой информации, приводящее к росту соотношения сигнал/шум . А это облегчает перехват 92 побочных излучений данной компьютерной системы и позволяет эффективно выделять сигналы, сгенерированные закладкой из общего фона излучений, исходящих от оборудования. Программные закладки в бизнес-приложениях В большинстве компаний используются модифицированные или разработанные самостоятельно бизнес-приложения. При этом чистота исходного кода никак не контролируется. В таких условиях ничто не мешает программисту-инсайдеру незаметно установить скрытую программную закладку, которая будет активирована в нужный момент. Отсюда возникает существенные риски, о которых говорить пока как-то не принято. Если за качество стандартных программ и бизнес-приложений своим именем отвечает производитель и при массовом использовании есть некий общественный контроль. Кроме того, многие популярные программы проходят сертификацию ФСТЭК и ФСБ РФ на отсутствие незадекларированных возможностей, что, хочется верить, также является дополнительным контролем их чистоты. В этом смысле заказные или доработанные своими силами программы никак не контролируются. Для тех, кто их использует, они становятся чем-то вроде черного ящика, а что в нем происходит, знает только автор. Таким образом, большинство компаний используют модифицированные или разработанные самостоятельно приложения, никак не контролируя чистоту исходного кода. Можно выделить следующие модели действий программных закладок: 1. перехват данных: a. перехват вывода информации на экран; b. перехват ввода с клавиатуры; c. перехват и обработка файловых операций; d. копирование и пересылка конфиденциальной пользовательской информации. 2. искажение данных: a. неадекватная реакция на команды пользователя; b. искажение передаваемой по сети информации; c. блокирование принимаемой или передаваемой по сети информации; d. изменение функционала самой программы. 3. уничтожение данных: a. уничтожение конфиденциальной пользовательской информации; b. инициирование программных и аппаратных сбоев. 4. получение несанкционированного доступа к данным: a. получение управления некоторой функцией в обход системы авторизации; b. получение доступа к данным и функциям извне разрешенного периметра. Расширения базового функционала Во многих случаях функционал стандартных бизнес-приложений может быть расширен с помощью встроенных языков программирования или макросов. Такие доработки функционала обычно ведутся сотрудниками компании, индивидуальными разработчиками или компаниями, специализирующимися на дополнительных разработках. Хорошим примером здесь является российская программная платформа «1С Предприятие», которая в подавляющем большинстве случаев дорабатывается под конкретное предприятие и его бизнес-процессы. Существует множество типизированных отраслевых версий этого ПО, разрабатываемых партнерами 1С, а также тысячи частных программистов, имеющих свои наработки в области конкретной отраслевой экспертизы. Наряду с гибкостью и удобством такой подход к улучшению функциональности привносит в информационную систему дополнительный риск. Принимая доработку, заказчик концентрируется на функционале, а не на безопасности, считая разработчиков заведомо честными и профессиональными. Как правило, код таких разработок никем не проверяется на наличие программных ошибок и незадекларированных возможностей (НДВ). Однако сами бизнес-приложения, работаю93 щие с персональными данными, в большинстве случаев проходят обязательную сертификацию во ФСТЭК и ФСБ. Зачастую это связано с тем, что заказной аудит кода проходит долго и стоит дорого, а расширения бизнес-приложений запускаются в работу сразу после отладки. Поскольку большинство расширений бизнес-приложений реализуются на базе интерпретируемых языков, то становится возможным запускать на исполнение не только готовые программы с собственной логикой, но даже небольшие куски кода, вплоть до одной строчки. Это приводит к тому, что программисты расширений для бизнес-приложений получают практически неконтролируемый кредит доверия в своих компаниях. Их работу никто ровным счетом не контролирует. Заказная разработка ПО Стоит отдельно рассмотреть случай, когда бизнес-приложения разрабатывают специально для конкретной компании, т.е. речь идет о заказной разработке. В этом случае клиент прибегает к услугам компаний, занимающихся заказными разработками, или же самостоятельно нанимает проектную команду разработчиков. В любом случае заказчик, которым является лицо от бизнеса, не сможет толком даже проконтролировать качество разработанного ПО, не говоря уже про чистоту исходного кода. Дополнительный же наём экспертов на эту работу существенно увеличит бюджет проекта. В итоге получается то же самое. Клиент получает в свое распоряжение некий черный ящик с отсутствие всяческих гарантий чистоты исходного кода от недокументированных возможностей. Если разработанное на заказ ПО будет использоваться в качестве информационных систем для обработки персональных данных (ИСПДн), то в соответствие с ФЗ №152 потребуется ее сертификация с обязательным предоставлением на экспертизу исходных кодов. Но даже в этом случае отсутствие НДВ вам будет гарантироваться лишь номинально. Не говоря уже про установленные в будущем всевозможные заплатки и обновления, частота которых никем точно не будет контролироваться. Ну и последнее, на чем стоит остановиться в качестве примеров, иллюстрирующих масштаб и проникновении угрозы программных закладок – это просто огромное количество самых различных бизнес-приложений, написанных полностью или имеющих компоненты на языках Java и С# (основной язык разработки приложений для платформы Microsoft .NET). Особенность этих языков состоит в том, что исходный код программы транслируется в байт-код на стороне пользователя при помощи JVM или .NET Framework. Таким образом, в код программы может быть достаточно просто добавлена программная закладка. Примеры использования программных закладок Следует заметить, что большинство закладок изначально устанавливается программистами не для противоправных действий, а для возможности быстро и без долгих бюрократических процедур внести изменения в уже работающую программу. Однако, если имеется возможность безнаказанно и неконтролируемо поставить закладку, некоторые программисты не в состоянии избежать искушения и использовать эту возможность для собственной выгоды и во вред компании. В России наиболее известным случаем использования программных закладок является афера программиста ОАО "Акционерный капитал", реестродержателя акций ОАО «Татнефть», похитившего в 2005 году с помощью специально разработанного программного модуля 110 тысяч акций ОАО «Татнефть» на 5,7 млн руб и осужденного за это на пять с половиной лет . Служба безопасности одной из фирм, занимающихся посреднической деятельностью, обнаружила, что конфиденциальная информация, передаваемая партнерам по электронной почте, становится известной третьей стороне, несмотря на то, что в системе использовались платы “Криптон” (продукция фирмы Анкад), реализующие обеспечивающий гарантированную защиту информации алгоритм шифрования в соответствии с ГОСТ 28147-89. 94 Спустя некоторое время во всех компьютерах фирмы, на которых стояла указанная плата, была выявлена одна и та же программная закладка. Она попросту отключала плату “Криптон-3” и брала ее функции на себя, причем для шифрования данных вместо алгоритма по указанному ГОСТ использовался другой, совершенно нестойкий алгоритм. Проведенное расследование показало, что за несколько недель до описываемых событий во все отделения фирмы от лица якобы производителя платы “Криптон-3” пришли письма, к которым была приложена программа, о которой в письме говорилось, что это бесплатно распространяемый драйвер “Турбо Криптон”, повышающий быстродействие платы в несколько десятков раз. Не заметив подвоха, сетевые администраторы немедленно установили присланный драйвер на все соответствующие компьютеры, в результате чего скорость шифрования действительно возросла, но защита электронной почты фактически отключилась. Самым ярким примером действия программной закладки является военный конфликт в Персидском заливе. Тогда при проведении операции «Буря в пустыне» система ПВО Ирака оказалась заблокированной по неизвестной причине. Несмотря на отсутствие исчерпывающей информации, высказывалось предположение, что ЭВМ, входящие в состав комплекса технических средств системы ПВО, закупленные Ираком у Франции, содержали специальные управляемые «электронные закладки», блокировавшие работу вычислительной системы. Периодически эксперты обнаруживают недокументированных возможности в ПО для аппаратных комплексов. Например, в информационном бюллетене CERT CA-2002-32объявлено о существовании программной закладки (backdoor) в операционной системе AOS (Alcatel Operating System) версии 5.1.1, применяемой для управления коммутаторами Alcatel OmniSwitch 7700/7800. Эта закладка запускает telnet-сервис на порту 6778/TCP, что может позволить удаленному злоумышленнику неавторизованно управлять коммутатором. Троянские программы В данную категорию входят программы, осуществляющие различные несанкционированные пользователем действия: сбор информации и ее передачу злоумышленнику, ее разрушение или злонамеренную модификацию, нарушение работоспособности компьютера, использование ресурсов компьютера в неблаговидных целях. Отдельные категории троянских программ наносят ущерб удаленным компьютерам и сетям, не нарушая работоспособность зараженного компьютера (например, троянские программы, разработанные для массированных DoS-атак на удалённые ресурсы сети). Классификация: Троянские программы различаются между собой по тем действиям, которые они производят на зараженном компьютере. Backdoor — троянские утилиты удаленного администрирования Троянские программы этого класса являются утилитами удаленного администрирования компьютеров в сети. По своей функциональности они во многом напоминают различные системы администрирования, разрабатываемые и распространяемые фирмамипроизводителями программных продуктов. Единственная особенность этих программ заставляет классифицировать их как вредные троянские программы: отсутствие предупреждения об инсталляции и запуске. При запуске «троянец» устанавливает себя в системе и затем следит за ней, при этом пользователю не выдается никаких сообщений о действиях троянца в системе. Более того, ссылка на «троянца» может отсутствовать в списке активных приложений. В результате «пользователь» этой троянской программы может и не знать о ее присутствии в системе, в то время как его компьютер открыт для удаленного управления. Утилиты скрытого управления позволяют делать с компьютером все, что в них заложил автор: принимать или отсылать файлы, запускать и уничтожать их, выводить сообщения, стирать информацию, перезагружать компьютер и т. д. В результате эти троянцы могут быть ис95 пользованы для обнаружения и передачи конфиденциальной информации, для запуска вирусов, уничтожения данных и т. п. — пораженные компьютеры оказываются открытыми для злоумышленных действий хакеров. Таким образом, троянские программы данного типа являются одним из самых опасных видов вредоносного программного обеспечения, поскольку в них заложена возможность самых разнообразных злоумышленных действий, присущих другим видам троянских программ. Отдельно следует отметить группу бэкдоров, способных распространяться по сети и внедряться в другие компьютеры, как это делают компьютерные черви. Отличает такие «троянцы» от червей тот факт, что они распространяются по сети не самопроизвольно (как черви), а только по специальной команде «хозяина», управляющего данной копией троянской программы. Trojan-PSW — воровство паролей Данное семейство объединяет троянские программы, «ворующие» различную информацию с зараженного компьютера, обычно — системные пароли (PSW — Password-Stealing-Ware). При запуске PSW-троянцы ищут сиcтемные файлы, хранящие различную конфиденциальную информацию (обычно номера телефонов и пароли доступа к интернету), и отсылают ее по указанному в коде «троянца» электронному адресу или адресам. Существуют PSW-троянцы, которые сообщают и другую информацию о зараженном компьютере, например, информацию о системе (размер памяти и дискового пространства, версия операционной системы), тип используемого почтового клиента, IP-адрес и т. п. Некоторые троянцы данного типа «воруют» регистрационную информацию к различному программному обеспечению, коды доступа к сетевым играм и прочее. Trojan-AOL —- семейство троянских программ, «ворующих» коды доступа к сети AOL (America Online). Выделены в особую группу по причине своей многочисленности. Trojan-Clicker — интернет-кликеры Семейство троянских программ, основная функция которых — организация несанкционированных обращений к интернет-ресурсам (обычно к веб-страницам). Достигается это либо посылкой соответствующих команд браузеру, либо заменой системных файлов, в которых указаны «стандартные» адреса интернет-ресурсов (например, файл hosts в MS Windows). У злоумышленника могут быть следующие цели для подобных действий: увеличение посещаемости каких-либо сайтов с целью увеличения показов рекламы; организация DoS-атаки (Denial of Service) на какой-либо сервер; привлечение потенциальных жертв для заражения вирусами или троянскими программами. Trojan-Downloader — доставка прочих вредоносных программ Троянские программы этого класса предназначены для загрузки и установки на компьютержертву новых версий вредоносных программ, установки «троянцев» или рекламных систем. Загруженные из интернета программы затем либо запускаются на выполнение, либо регистрируются «троянцем» на автозагрузку в соответствии с возможностями операционной системы. Данные действия при этом происходят без ведома пользователя. Информация об именах и расположении загружаемых программ содержится в коде и данных троянца или скачивается троянцем с «управляющего» интернет-ресурса (обычно с вебстраницы). Trojan-Dropper — инсталляторы прочих вредоносных программ Троянские программы этого класса написаны в целях скрытной инсталляции других программ и практически всегда используются для «подсовывания» на компьютер-жертву вирусов или других троянских программ. Данные троянцы обычно без каких-либо сообщений (либо с ложными сообщениями об ошибке в архиве или неверной версии операционной системы) сбрасывают на диск в какойлибо каталог (в корень диска C:, во временный каталог, в каталоги Windows) другие файлы и запускают их на выполнение. Обычно структура таких программ следующая: Основной код Файл 1 Файл 2 ... 96 «Основной код» выделяет из своего файла остальные компоненты (файл 1, файл 2, ...), записывает их на диск и открывает их (запускает на выполнение) Обычно один (или более) компонентов являются троянскими программами, и как минимум один компонент является «обманкой»: программой-шуткой, игрой, картинкой или чем-то подобным. «Обманка» должна отвлечь внимание пользователя и/или продемонстрировать то, что запускаемый файл действительно делает что-то «полезное», в то время как троянская компонента инсталлируется в систему. В результате использования программ данного класса хакеры достигают двух целей: скрытная инсталляция троянских программ и/или вирусов; защита от антивирусных программ, поскольку не все из них в состоянии проверить все компоненты внутри файлов этого типа. Trojan-Proxy — троянские прокси-сервера Семейство троянских программ, скрытно осуществляющих анонимный доступ к различным интернет-ресурсам. Обычно используются для рассылки спама. Trojan-Spy — шпионские программы Данные троянцы осуществляют электронный шпионаж за пользователем зараженного компьютера: вводимая с клавиатуры информация, снимки экрана, список активных приложений и действия пользователя с ними сохраняются в какой-либо файл на диске и периодически отправляются злоумышленнику. Троянские программы этого типа часто используются для кражи информации пользователей различных систем онлайновых платежей и банковских систем. Rootkit — сокрытие присутствия в операционной системе Понятие rootkit пришло к нам из UNIX. Первоначально это понятие использовалось для обозначения набора инструментов, применяемых для получения прав root. Таким образом, rootkit — программный код или техника, направленная на сокрытие присутствия в системе заданных объектов (процессов, файлов, ключей реестра и т.д.). Для поведения Rootkit в классификации «Лаборатории Касперского» действуют правила поглощения: Rootkit — самое младшее поведение среди вредоносных программ. То есть, если Rootkitпрограмма имеет троянскую составляющую, то она детектируется как Trojan. Хакерские утилиты и прочие вредоносные программы К данной категории относятся: утилиты автоматизации создания вирусов, червей и троянских программ (конструкторы); программные библиотеки, разработанные для создания вредоносного ПО; хакерские утилиты скрытия кода зараженных файлов от антивирусной проверки (шифровальщики файлов); «злые шутки», затрудняющие работу с компьютером; программы, сообщающие пользователю заведомо ложную информацию о своих действиях в системе; прочие программы, тем или иным способом намеренно наносящие прямой или косвенный ущерб данному или удалённым компьютерам Trojan-Notifier — оповещение об успешной атаке предназначены для сообщения своему «хозяину» о зараженном компьютере. При этом на адрес «хозяина» отправляется информация о компьютере, например, IP-адрес компьютера, номер открытого порта, адрес электронной почты и т. п. Отсылка осуществляется различными способами: электронным письмом, специально оформленным обращением к веб-странице «хозяина», ICQ-сообщением. Данные троянские программы используются в многокомпонентных троянских наборах для извещения своего «хозяина» об успешной инсталляции троянских компонент в атакуемую систему. ArcBomb — «бомбы» в архивах представляют собой архивы, специально оформленные таким образом, чтобы вызывать нештатное поведение архиваторов при попытке разархивировать данные — зависание или существенное замедление работы компьютера или заполнение диска большим количеством «пустых» данных. Особенно опасны «архивные бомбы» для файловых и почтовых серверов, если на сервере используется какая-либо система автоматической 97 обработки входящей информации — «архивная бомба» может просто остановить работу сервера. Встречаются три типа подобных «бомб»: некорректный заголовок архива, повторяющиеся данные одинаковые файлы в архиве. 6.3 Защита от программных закладок Задача защиты от ПЗ включает три подзадачи 1. не допустить внедрение ПЗ в компьютерную систему; 2. выявить внедренную программную закладку; 3. удаление внедренной программной закладки. Как видно, эти задачи сходны с задачами защиты от компьютерных вирусов. Задача решается с помощью средств контроля за целостностью запускаемых системных и прикладных программ, а также за целостностью хранимой в ИС информации и за критическими для функционирования системы событиями. Однако эти средства действенны, если сами не подвержены ПЗ, которые могут выполнять следующие действия: - навязывать конечные результаты контрольных проверок; - влиять на процесс считывания информации и запуск программ, за которыми осуществляется контроль. 6.3.1 Защита от внедрения программных закладок Универсальными средствами защиты от внедрения ПЗ является создание изолированного компьютера. Компьютер называется изолированным, если выполняется следующие условия: 1. на нем установлена система BIOS, не имеющая закладок; 2. ОС проверена на наличие ПЗ; 3. достоверно установлена неизменность BOIS и ОС для данного сеанса; 4. на компьютере не запускались другие программы, кроме уже прошедших проверку на наличие ПЗ; 5. исключен запуск проверенных программ в каких-либо иных условиях кроме изолированного ПК. Для определения степени изолированности компьютера используется модель ступенчатого контроля. Сначала проверяется: - нет ли изменений в BIOS; - затем считываются загрузочный сектор диска и драйверы ОС, которые также анализируются на предмет внесений в них несанкционированных изменений; - запускается с помощью ОС монитор контроля вызовов программы, который следит, за тем, чтобы в компьютере запускались только проверенные программы. Интересный метод борьбы с внедрением ПЗ может быть использован в информационной банковской системе, в которой циркулируют только документы. Чтобы не допустить проникновение ПЗ через каналы связи, в этой системе не допускается прием никакого исполняемого кода. Для распознавания события типа «Получен исполняемый код» или «Получен текстовый документ» применяется контроль за наличием в файле запрещенных символов. 6.3.2 Выявление внедренной программной закладки Необходимо выявить признаки присутствия кода ПЗ в компьютерной системе. Признаки могут быть качественными и визуальными; обнаруживаемые средствами тестирования и диагностики. Качественные и визуальные признаки: отклонение в работе программы; изменяется состав и длины файлов. Программа работает слишком медленно или слишком быстро заканчивает свою работу или совсем перестает запускаться 98 Например, пользователи пакета шифрования и ЭЦП «Криптоцентр» заметили, что подпись ставится слишком быстро. Исследования экспертов ФАПСИ показали, что внедрена ПЗ, которая основывалась на навязывании длины файла. Пользователи пакета «Криптон» забили тревогу, что скорость шифрования по криптографическому алгоритму ГОСТ 28147-89 возросла в 30 раз. Признаки, выявляемые с помощью средств тестирования и диагностики, характерны как для ПЗ, так и для компьютерных вирусов. С инициированием статической ошибки на дисках хорошо справляется Disk Doctor из Norton Utilities. А средства проверки целостности данных типа ADINF позволяют успешно выявлять изменения, вносимые в файлы ПЗ. Как выявить троянца: Программные средства, предназначенные для защиты от троянцев, используют согласование объектов. В качестве объектов – файлы, каталоги. Согласование позволяет ответить на вопрос, изменились ли файлы и каталоги с момента последней проверки. Берется резервная копия файла и его атрибуты сравниваются с атрибутами файла на диске: - время; - размер; - контрольная сумма; - получение хэш-функции файла. Для вычисления контрольной суммы есть специальные утилиты sum, но и контрольную сумму можно подделать. Более надежным является одностороннее хэширование файлов. Алгоритмы: МД4, МД5, SНA. Вычисление ХЭШ – значения файлов хранятся в специальной БД, которая является самым уязвимым местом {в ОС Unix - TRIPWIRE} Пользователю предлагается хранить эту БД на съемном носителе и запирать в сейф. Программное средство eSafe фирмы Aladdin Knowledge Systems для Windows cостоит из 3 частей: 1) Антивирус VisuSafe 2) Брандмауэр 3) Модуль защиты компьютерных ресурсов. Брандмауэр контролирует весь трафик. Для защиты компьютерных ресурсов используется модель «песочницы» - специальной изолированной области памяти. Все автоматически загружаемые из Internet Java Applet, ActiveX попадают в «песочницу». Карантинный период наблюдения может быть от 1 о 30 дней. Все данные о поведении программ заносятся в журнал регистрации. Далее принимается решение: разрешить загрузку данной программы или нет. Способ удаления ПЗ зависит от метода внедрения. Если это программно-аппаратная закладка, то – перепрограммировать ПЗУ. В других случаях – удалить вместе весь программный код и найти новую версию программы. Защита бизнес-приложений от программных закладок Организационный способ защиты Организационный подход к защите чаще всего применяется в крупных компаниях, ведущих собственные дополнительные разработки к крупным приложениям, чаще всего это ERP или АБС. Ключевым моментом этого подхода является разделение жизненного цикла продукта на три этапа: разработка, тестирование и непосредственное использование. На первом этапе пишется код, на втором тестируется корректность реализации функционала и наличие ошибок, в том числе и с точки зрения безопасности (всевозможные тесты на проникновение). На обоих этапах хорошей практикой является привлечение в проектную команду консультантов по безопасности. После положительного заключения тестировщиков программное обеспечение передается во внедрение. 99 Таким образом, достигается разделение разработки, контроля качества и пользователей программного обеспечения. В результате вероятность успешной незаметной установки и последующего использования программной закладки серьезно падает. Кроме того, для проведения успешной аферы нужно будет вовлечь в преступный сговор сотрудников на нескольких этапах, что может быть очень рискованно. Технический способ защиты При техническом подходе разработанное самостоятельно или на заказ программное обеспечение отдается на аудит кода внешним экспертам, которые специализируется на подобных услугах. В качестве технических средств для поиска программных закладок могут использоваться сканеры кода, которые способны по определенным алгоритмам обнаруживать подозрительные куски кода. С приходом в аудит кода технологий, прежде принятых в DLP-продуктах (лингвистический анализ и «цифровые отпечатки») стал возможен статический анализ кода на совпадение с шаблонами известных уязвимостей и закладок «на лету». Плюс этого метода в оперативности (код анализируется практически мгновенно и вне зависимости от логики программы) и отсутствия необходимости запуска программы на исполнение. Анализировать можно как готовые программы, так и произвольные куски кода, вплоть до одной строчки. Минусом является необходимость постоянного пополнения базы известных уязвимостей (с каждой уязвимости снимается уникальный отпечаток, который затем сравнивается с отпечатками нормализованного текста программы). Пока что большинство продуктов по аудиту кода ориентированы на профессиональных пользователей. Однако с приходом на этот рынок производителей, обладающих DLP-технологиями, такие продукты могут стать доступны клиентам, которые разрабатывают продукты для автоматизации собственных бизнес-процессов. 6.4 Клавиатурные шпионы Виды 1.Имитаторы. 2.Фильтры. 3.Заместители. 6.4.1 Имитаторы Злоумышленник внедряет в ОС модуль, который предлагает пользователю зарегистрироваться для входа в систему. Имитатор сохраняет введенные данные в определенной области памяти. Инициируется выход из системы и появляется уже настоящее приглашение. Для надежной защиты от имитаторов необходимо: 1. Чтобы системный процесс, который получает от пользователя идентификатор и пароль, имел свой рабочий стол. 2. Переключение на регистрационное окно рабочего стола аутентификации должно происходить абсолютно незаметно для прикладных программ. 6.4.2 Фильтры Фильтры – охотятся за всеми данными, которые вводятся с клавиатуры. Самые элементарные фильтры сбрасывают перехваченный ввод на жесткий диск или в другое нужное место. Фильтры являются резидентными программами, перехватывающими одно или несколько прерываний, связанных с обработкой клавиатурных сигналов. Эти прерывания возвращают информацию о нажатой клавише, которая анализируется фильтрами на предмет выявления данных, имеющих отношение к паролю пользователя. Любой клавиатурный русификатор – это самый простой фильтр. Его не трудно доработать, чтобы он еще выполнял действия по перехвату пароля. Для защиты от фильтров необходимо выполнение 3 условий: 100 1. Во время ввода пароля не разрешать переключения раскладки клавиатуры (срабатывает фильтр). 2. Конфигурировать цепочку программных модулей, участвующих в работе с паролем пользователя может только системный администратор. 3. Доступ к файлам этих модулей имеет только системный администратор. 6.4.3 Заместители Заместители полностью подменяют собой программные модули, отвечающие за аутентификацию пользователей. Такие закладки могут быть созданы для работы в многопользовательских системах. Заместители полностью берут на себя функции подсистемы аутентификации, поэтому они должны выполнять следующие действия: 1) подобно вирусу внедриться в один / несколько файлов системы; 2) использовать интерфейсные связи между программными модулями подсистемы аутентификации для встраивания себя в цепочку обработки введенного пользователем пароля. 6.5 Парольные взломщики Это специальные программы, которые служат для взлома ОС. Атаке подвергается системный файл ОС, содержащий информацию о ее легальных пользователях и их паролях: Взломщику желательно перекачать этот файл себе. Берутся далее слова из словаря и шифруются с помощью того же известного алгоритма и сравниваются с зашифрованным паролем в системном файле. Парольные взломщики используют символьные последовательности автоматически генерируемые из определенного набора символов. Словарь: чередование строчных и прописных букв. Содержит неск тыс. символьных слов: T = 1/S * ∑Ni (i=1, L) N – число символов в наборе L – предельная длина пароля S – количество проверок в секунду (зависит от быстродействия ПК). T – максимальное время для взлома пароля. Взлом парольной защиты системы UNIX etc/passwd bill:5-d35 d35 – зашифрованный пароль (шифруется процедурой Cript, ключ к которой – пароль пользователя). Если злоумышленник имеет доступ к парольному файлу, он может скопировать его на свой ПК и воспользоваться взломщиком. Защита: Пользователям предлагается применять сильные пароли, а в качестве критерия стойкости – проверить, есть ли этот пароль в парольном словаре, а также рекомендуется использовать затенение (***) при записи в файл passwd, а парольный файл прятать в другом месте. Взлом парольной защиты Windows Все учетные записи хранятся в БД SAM (Security Account Manager). Эта база представляет один из кустов системного реестра. Доступ к SAM запрещен для всех пользователей. Информация в SAM хранится в зашифрованном виде в виде двух 16-тибайтных строк. Используются различные методы для шифрования. Из символьного пароля получается 16-тибайтная 101 последовательность. Данная последовательность шифруется по алгоритму DES. Результат шифрования хранится в SAM. Ключ – относительный идентификатор пользователя (RID). Система безопасности в Windows Vista Она содержит множество новых средств обеспечения безопасности, которые призваны повысить защищенность ПК: 1. Предупреждение о появлении новых обновлений систем безопасности и установка их на компьютер. 2. Собственный брандмауэр Vista обеспечивает защиту от хакеров, вирусов и компьютерных червей. 3. Windows Defender защищает систему от шпионских программ. 4. Средство удаления вредоносных программ MSRT периодически выполняет поиск распространенных вирусов на ПК. Тема 7. Безопасность распределенных вычислительных систем в Интернет 7.1 Особенности безопасности компьютерных сетей Для того, чтобы рассматривать в дальнейшем вопросы безопасности в Internet, необходимо напомнить основные понятия, которыми оперирует теория компьютерной безопасности: это угрозы, уязвимости и атаки. Угроза безопасности компьютерной системы - это потенциально возможное происшествие, неважно, преднамеренное или нет, которое может оказать нежелательное воздействие на саму систему, а также на информацию, хранящуюся в ней. Иначе говоря, угроза - это нечто плохое, что когда-нибудь может произойти. Уязвимость компьютерной системы - это некая ее неудачная характеристика, которая делает возможным возникновение угрозы. Другими словами, именно из-за наличия уязвимостей в системе происходят нежелательные события. Атака на компьютерную систему - это действие, предпринимаемое злоумышленником, которое заключается в поиске и использовании той или иной уязвимости. Таким образом, атака - это реализация угрозы. Заметим, что такое толкование атаки (с участием человека, имеющего злой умысел), исключает присутствующий в определении угрозы элемент случайности, но, как показывает опыт, часто бывает невозможно различить преднамеренные и случайные действия, и хорошая система защиты должна адекватно реагировать на любое из них. Далее, исследователи обычно выделяют три основных вида угроз безопасности - это угрозы раскрытия, целостности и отказа в обслуживании. Угроза раскрытия заключается том, что информация становится известной тому, кому не следовало бы ее знать. В терминах компьютерной безопасности угроза раскрытия имеет место всякий раз, когда получен доступ к некоторой конфиденциальной информации, хранящейся в вычислительной системе или передаваемой от одной системы к другой. Иногда вместо слова "раскрытие" используются термины "кража" или "утечка. Угроза целостности включает в себя любое умышленное изменение (модификацию или даже удаление) данных, хранящихся в вычислительной системе или передаваемых из одной системы в другую. Обычно считается, что угрозе раскрытия подвержены в большей степени государственные структуры, а угрозе целостности - деловые или коммерческие. Угроза отказа в обслуживании возникает всякий раз, когда в результате некоторых действий блокируется доступ к некоторому ресурсу вычислительной системы. Реально блокирование может быть постоянным, так чтобы запрашиваемый ресурс никогда не был получен, или оно может вызвать только задержку запрашиваемого ресурса, достаточно долгую для того, чтобы он стал бесполезным. В таких случаях говорят, что ресурс исчерпан. 102 Основной особенностью любой сетевой системы является то, что ее компоненты распределены в пространстве и связь между ними физически осуществляется при помощи сетевых соединений (коаксиальный кабель, витая пара, оптоволокно и т. п.) и программно при помощи механизма сообщений. При этом все управляющие сообщения и данные, пересылаемые между объектами распределенной вычислительной системы (ВС), передаются по сетевым соединениям в виде пакетов обмена. К сетевым системам наряду с обычными (локальными) атаками, осуществляемыми в пределах одной компьютерной системы, применим специфический вид атак, обусловленный распределенностью ресурсов и информации в пространстве. Это так называемые сетевые (или удаленные) атаки. Они характерны, во-первых, тем, что злоумышленник может находиться за тысячи километров от атакуемого объекта, и, во-вторых, тем, что нападению может подвергаться не конкретный компьютер, а информация, передающаяся по сетевым соединениям. С развитием локальных и глобальных сетей именно удаленные атаки становятся лидирующими как по количеству попыток, так и по успешности их применения и, соответственно, обеспечение безопасности ВС с точки зрения противостояния удаленным атакам приобретает первостепенное значение. Специфика распределенных ВС состоит в том, что если в локальных ВС наиболее частыми были угрозы раскрытия и целостности, то в сетевых системах, как будет показано далее, на первое место выходит угроза отказа в обслуживании. Под удаленной атакой будем понимать информационное разрушающее воздействие на распределенную ВС, программно осуществляемое по каналам связи. Это определение охватывает обе особенности сетевых систем - распределенность компьютеров и распределенность информации. Поэтому далее будут рассмотрены два подвида таких атак - это удаленные атаки на инфраструктуру и протоколы сети и удаленные атаки на телекоммуникационные службы. Первые используют уязвимости в сетевых протоколах и инфраструктуре сети, а вторые - уязвимости в телекоммуникационных службах. При этом под инфраструктурой сети мы понимаем сложившуюся систему организации отношений между объектами сети и используемые в сети сервисные службы. Классификация компьютерных злоумышленников Всех профессионалов, связанных с информационной безопасностью, разделяют на хакеров (hackers) и кракеров (crackers). И те и другие во многом занимаются решением одних и тех же задач - поиском уязвимостей в вычислительных системах и осуществлением атак на данные системы ("взломом" ). Самое главное и принципиальное различие между хакерами и кракерами состоит в целях, которые они преследуют. Основная задача хакера в том, чтобы, исследуя вычислительную систему, обнаружить слабые места (уязвимости) в ее системе безопасности и информировать пользователей и разработчиков системы с целью последующего устранения найденных уязвимостей. Другая задача хакера - проанализировав существующую безопасность вычислительной системы, сформулировать необходимые требования и условия повышения уровня ее защищенности. С другой стороны, основная задача кракера состоит в непосредственном осуществлении взлома системы с целью получения несанкционированного доступа к чужой информации - иначе говоря, для ее кражи, подмены или для объявления факта взлома. Кракер, по своей сути, ничем не отличается от обычного вора, взламывающего чужие квартиры и крадущего чужие вещи. Он взламывает чужие вычислительные системы и крадет чужую информацию. Вот в чем состоит кардинальное различие между теми, кого можно назвать хакерами и кракерами: первые - исследователи компьютерной безопасности, вторые - просто взломщики, воры или вандалы. Хакер в данной терминологии - это специалист. В качестве доказательства приведем определение из словаря Guy L. Steele: HACKER сущ. 1. Индивидуум, который получает удовольствие от изучения деталей функционирования компьютерных систем и от расширения их возможностей, в отличие от большинства пользователей компьютеров, которые предпочитают знать только необходимый минимум. 2. Энтузиаст программирования; индивидуум, получающий удовольствие от самого процесса программирования, а не от теоретизирования по этому поводу. 103 Низменность мотивов кракеров приводит к тому, что 90% из них являются "чайниками", которые взламывают плохо администрируемые системы, в основном благодаря использованию чужих программ (обычно эти программы называются exploit). (Причем это мнение тех самых 10% профессиональных кракеров.) Такие профессионалы - бывшие хакеры, ставшие на путь нарушения закона. Их, в отличие от кракеров-"чайников" , остановить действительно очень сложно, но, как показывает практика, отнюдь не невозможно. Очевидно, что для предотвращения возможного взлома или устранения его последствий требуется пригласить квалифицированного специалиста по информационной безопасности - профессионального хакера. Однако, было бы несправедливо смешать в одну кучу всех кракеров, однозначно назвав их ворами и вандалами. По нашему мнению, кракеров можно разделить на три следующих класса в зависимости от цели, с которой осуществляется взлом: вандалы, "шутники" и профессионалы. Вандалы - самая известная (во многом благодаря повседневности вирусов, а также творениям некоторых журналистов) и, надо сказать, самая малочисленная часть кракеров. Их основная цель - взломать систему для ее разрушения. К ним можно отнести, во-первых, любителей команд типа: rm -f -d *, del *.*, format c:/U и т.д., и, во-вторых, специалистов в написании вирусов или "троянских коней". Совершенно естественно, что весь компьютерный мир ненавидит кракеров-вандалов лютой ненавистью. Эта стадия кракерства обычно характерна для новичков и быстро проходит, если кракеру удается совершенствоваться (ведь довольно скучно осознавать свое превосходство над беззащитными пользователями). Кракеров, которые даже с течением времени не миновали эту стадию, а только все более совершенствовали свои навыки разрушения, иначе, чем социальными психопатами, не назовешь. "Шутники" - наиболее безобидная часть кракеров (конечно, в зависимости от того, насколько злые они предпочитают шутки), основная цель которых - известность, достигаемая путем взлома компьютерных систем и внесением туда различных эффектов, выражающих их неудовлетворенное чувство юмора. "Шутники" обычно не наносят существенный ущерб (разве что моральный). На сегодняшний день в Internet это наиболее распространенный класс кракеров, обычно осуществляющих взлом Web-серверов, оставляя там упоминание о себе. К "шутникам" также можно отнести создателей вирусов с различными визуально-звуковыми эффектами (музыка, дрожание или переворачивание экрана, рисование всевозможных картинок и т.п.). Все это, в принципе, либо невинные шалости начинающих, либо - рекламные акции профессионалов. Взломщики - профессиональные кракеры, пользующиеся наибольшим почетом и уважением в кракерской среде, основная задача которых - взлом компьютерной системы с серьезными целями, как то кража или подмена хранящейся там информации. В общем случае, для того, чтобы осуществить взлом системы, необходимо пройти три основные стадии: исследование вычислительной системы с выявлением изъянов в ней, разработка программной реализации атаки и непосредственное ее осуществление. Естественно, настоящим профессионалом можно считать того кракера, который для достижения своей цели проходит все три стадии. С некоторой натяжкой также можно считать профессионалом того кракера, который, используя добытую третьим лицом информацию об уязвимости в системе, пишет программную реализацию данной уязвимости. Осуществить третью стадию, очевидно, может в принципе каждый, используя чужие разработки.. Законы УК РФ, связанные с "преступлениями в сфере компьютерной информации" Для тех, кто хочет посмотреть на проблему безопасности с другой стороны, со стороны кракера, хочется напомнить, что с 1997 года действуют статьи УК РФ, где, к сожалению, довольно расплывчато и нечетко описывается та возможная уголовная ответственность, которую могут нести граждане РФ за "преступления в сфере компьютерной информации" (Глава 28 УК РФ): Статья 272. Неправомерный доступ к компьютерной информации. 104 1. Неправомерный доступ к охраняемой законом компьютерной информации, то есть информации на машинном носителе, в электронно-вычислительной машине (ЭВМ), системе ЭВМ или их сети, если это деяние повлекло уничтожение, блокирование, модификацию либо копирование информации, нарушение работы ЭВМ, системы ЭВМ или их сети, - наказывается штрафом в размере от двухсот до пятисот минимальных размеров оплаты труда или в размере заработной платы или иного дохода осужденного за период от двух до пяти месяцев, либо исправительными работами на срок от шести месяцев до одного года, либо лишением свободы на срок до двух лет. 2. То же деяние, совершенное группой лиц по предварительному сговору или организованной группой, либо лицом с использованием своего служебного положения, а равно имеющим доступ к ЭВМ, системе ЭВМ или их сети, - наказывается штрафом в размере от пятисот до восьмисот минимальных размеров оплаты труда или в размере заработной платы, или иного дохода осужденного за период от пяти до восьми месяцев, либо исправительными работами на срок от одного года до двух лет, либо арестом на срок от трех до шести месяцев, либо лишением свободы на срок до пяти лет. Статья 273. Создание, использование и распространение вредоносных программ для ЭВМ. 1. Создание программ для ЭВМ или внесение изменений в существующие программы, заведомо приводящих к несанкционированному уничтожению, блокированию, модификации либо копированию информации, нарушению работы ЭВМ, системы ЭВМ или их сети, а равно использование либо распространение таких программ или машинных носителей с такими программами, - наказываются лишением свободы на срок до трех лет со штрафом в размере от двухсот до пятисот минимальных размеров оплаты труда или в размере заработной платы или иного дохода осужденного за период от двух до пяти месяцев. 2. Те же деяния, повлекшие по неосторожности тяжкие последствия, - наказываются лишением свободы на срок от трех до семи лет. Статья 274. Нарушение правил эксплуатации ЭВМ, системы ЭВМ или их сети. 1. Нарушение правил эксплуатации ЭВМ, системы ЭВМ или их сети лицом, имеющим доступ к ЭВМ, системе ЭВМ или их сети, повлекшее уничтожение, блокирование или модификацию охраняемой законом информации ЭВМ, если это деяние причинило существенный вред, - наказывается лишением права занимать определенные должности или заниматься определенной деятельностью на срок до пяти лет, либо обязательными работами на срок от ста восьмидесяти до двухсот сорока часов, либо ограничением свободы на срок до двух лет. 2. То же деяние, повлекшее по неосторожности тяжкие последствия, - наказывается лишением свободы на срок до четырех лет. 7.2 Удаленные атаки на распределенные вычислительные системы Как уже отмечалось ранее, основной особенностью любой распределенной системы является то, что ее компоненты распределены в пространстве и связь между ними физически осуществляется при помощи сетевых соединений и программно при помощи механизма сообщений. При этом все управляющие сообщения и данные, пересылаемые между объектами распределенной ВС, передаются по сетевым соединениям в виде пакетов обмена. Итак, удаленные атаки можно классифицировать по следующим признакам: 1). По характеру воздействия пассивное (класс 1.1) активное (класс 1.2) Пассивным воздействием на распределенную вычислительную систему назовем воздействие, которое не оказывает непосредственного влияния на работу системы, но может нарушать ее политику безопасности. Именно отсутствие непосредственного влияния на работу распределенной ВС приводит к тому, что пассивное удаленное воздействие практически невозможно обнаружить. Примером пассивного типового удаленного воздействия в РВС служит прослушивание канала связи в сети. 105 Под активным воздействием на распределенную ВС будем понимать воздействие, оказывающее непосредственное влияние на работу системы (изменение конфигурации РВС, нарушение работоспособности и т. д.) и нарушающее принятую в ней политику безопасности. Практически все типы удаленных атак являются активными воздействиями. Это связано с тем, что в самой природе разрушающего воздействия содержится активное начало. Очевидной особенностью активного воздействия по сравнению с пассивным является принципиальная возможность его обнаружения (естественно, с большей или меньшей степенью сложности), так как в результате его осуществления в системе происходят определенные изменения. В отличие от активного, при пассивном воздействии не остается никаких следов (от того, что атакующий просмотрит чужое сообщение в системе, в тот же момент ничего не изменится). 2). По цели воздействия нарушение конфиденциальности информации либо ресурсов системы (класс 2.1) нарушение целостности информации (класс 2.2) нарушение работоспособности (доступности) системы (класс 2.3) Этот классификационный признак является прямой проекцией трех основных типов угроз раскрытия, целостности и отказа в обслуживании. Основная цель практически любой атаки - получить несанкционированный доступ к информации. Существуют две принципиальные возможности доступа к информации: перехват и искажение. Возможность перехвата информации означает получение к ней доступа, но невозможность ее модификации. Следовательно, перехват информации ведет к нарушению ее конфиденциальности. Примером перехвата информации может служить прослушивание канала в сети .В этом случае имеется несанкционированный доступ к информации без возможности ее искажения. Очевидно также, что нарушение конфиденциальности информации является пассивным воздействием. Возможность искажения информации означает либо полный контроль над информационным потоком между объектами системы, либо возможность передачи сообщений от имени другого объекта. Таким образом, очевидно, что искажение информации ведет к нарушению ее целостности. Данное информационное разрушающее воздействие представляет собой яркий пример активного воздействия. Примером удаленной атаки, цель которой нарушение целостности информации, может служить типовая удаленная атака (УА) "Ложный объект РВС" . Принципиально другой целью атаки является нарушение работоспособности системы. В этом случае не предполагается получение атакующим несанкционированного доступа к информации. Его основная цель - добиться, чтобы операционная система на атакуемом объекте вышла из строя и для всех остальных объектов системы доступ к ресурсам атакованного объекта был бы невозможен. Примером удаленной атаки, целью которой является нарушение работоспособности системы, может служить типовая УА "Отказ в обслуживании" . 3). По условию начала осуществления воздействия Удаленное воздействие, также как и любое другое, может начать осуществляться только при определенных условиях. В распределенных ВС существуют три вида условий начала осуществления удаленной атаки: Атака по запросу от атакуемого объекта (класс 3.1) В этом случае атакующий ожидает передачи от потенциальной цели атаки запроса определенного типа, который и будет условием начала осуществления воздействия. Атака по наступлению ожидаемого события на атакуемом объекте (класс 3.2) В этом случае атакующий осуществляет постоянное наблюдение за состоянием операционной системы удаленной цели атаки и при возникновении определенного события в этой системе начинает воздействие. Как и в предыдущем случае, инициатором осуществления начала атаки выступает сам атакуемый объект. Примером такого события может быть прерывание сеанса работы пользователя с сервером в ОС Novell NetWare без выдачи команды LOGOUT. Безусловная атака (класс 3.3) В этом случае начало осуществления атаки безусловно по отношению к цели атаки, то есть атака осуществляется немедленно и безотносительно к состоянию системы и атакуемого объекта. Следовательно, в этом случае атакующий является инициатором начала осуществления атаки. 106 4). По наличию обратной связи с атакуемым объектом с обратной связью (класс 4.1) без обратной связи (однонаправленная атака) (класс 4.2) 5). По расположению субъекта атаки относительно атакуемого объекта внутрисегментное (класс 5.1) межсегментное (класс 5.2) Рассмотрим ряд определений: Субъект атаки (или источник атаки) - это атакующая программа или оператор, непосредственно осуществляющие воздействие. Хост (host) - сетевой компьютер. Маршрутизатор (router) - устройство, обеспечивающее маршрутизацию пакетов обмена в глобальной сети. Подсеть (subnetwork) (в терминологии Internet) - совокупность хостов, являющихся частью глобальной сети, для которых маршрутизатором выделен одинаковый номер подсети. Подсеть логическое объединение хостов маршрутизатором. Хосты внутри одной подсети могут взаимодействовать между собой непосредственно, минуя маршрутизатор. Сегмент сети - физическое объединение хостов. Например, сегмент сети образуют совокупность хостов, подключенных к серверу по схеме "общая шина" . При такой схеме подключения каждый хост имеет возможность подвергать анализу любой пакет в своем сегменте. С точки зрения удаленной атаки чрезвычайно важно, как по отношению друг к другу располагаются субъект и объект атаки, то есть в одном или в разных сегментах они находятся. В случае внутрисегментной атаки, как следует из названия, субъект и объект атаки находятся в одном сегменте. При межсегментной атаке субъект и объект атаки находятся в разных сегментах. Данный классификационный признак позволяет судить о так называемой "степени удаленности" атаки. В дальнейшем будет показано, что на практике межсегментную атаку осуществить значительно труднее, чем внутрисегментную. Важно отметить, что межсегментная удаленная атака представляет гораздо большую опасность, чем внутрисегментная. Это связано с тем, что в случае межсегментной атаки объект её и непосредственно атакующий могут находиться на расстоянии многих тысяч километров друг от друга, что может существенно воспрепятствовать мерам по отражению атаки. 6). По уровню эталонной модели ISO/OSI, на котором осуществляется воздействие физический (класс 6.1) канальный (класс 6.2) сетевой (класс 6.3) транспортный (класс 6.4) сеансовый (класс 6.5) представительный (класс 6.6) прикладной (класс 6.7) Международная Организация по Стандартизации (ISO) приняла стандарт ISO 7498, описывающий взаимодействие открытых систем (OSI). Распределенные ВС также являются открытыми системами. Любой сетевой протокол обмена, как и любую сетевую программу, можно с той или иной степенью точности спроецировать на эталонную семиуровневую модель OSI. Такая многоуровневая проекция позволит описать в терминах модели OSI функции, заложенные в сетевой протокол или программу. Удаленная атака также является сетевой программой. В связи с этим представляется логичным рассматривать удаленные атаки на распределенные ВС, проецируя их на эталонную модель ISO/OSI. 7.3 Характеристика и механизмы реализации типовых удаленных атак Понятие типовой удаленной атаки Исследования и анализ информационной безопасности различных распределенных ВС продемонстрировали тот факт, что, независимо от используемых сетевых протоколов, топологии, инфраструктуры исследуемых распределенных ВС, механизмы реализации удаленных воздей107 ствий на РВС инвариантны по отношению к особенностям конкретной системы. Это объясняется тем, что распределенные ВС проектируются на основе одних и тех же принципов, а, следовательно, имеют практически одинаковые проблемы безопасности; Поэтому оказывается, что причины успеха удаленных атак на различные РВС одинаковы. Таким образом, появляется возможность ввести понятие типовой удаленной атаки. Типовая удаленная атака - это удаленное информационное разрушающее воздействие, программно осуществляемое по каналам связи и характерное для любой распределенной ВС. Введение этого понятия в совокупности с описанием механизмов реализации типовых УА позволяет предложить методику исследования безопасности, инвариантную по отношению к виду распределенной ВС. Методика заключается в последовательном осуществлении всех типовых удаленных воздействий в соответствии с предложенным далее их описанием и характеристиками. При этом основным элементом исследования безопасности РВС является анализ сетевого трафика. Как пояснение последнего утверждения рассмотрим следующую аналогию: отладчик - основное средство для хакера, соответственно анализатор сетевого трафика - основное средство для сетевого хакера. Анализатор сетевого трафика по своей сути является сетевым отладчиком. Итак, в качестве методики исследования информационной безопасности распределенной ВС предлагается выполнение ряда тестовых задач, оценивающих защищенность системы по отношению к типовым удаленным воздействиям. Рассмотрим в следующих пунктах типовые удаленные атаки и механизмы их реализации. 7.3.1 Анализ сетевого трафика Специфичное для распределенных ВС типовое удаленное воздействие, заключающееся в прослушивании канала связи. Назовем данное типовое удаленное воздействие анализом сетевого трафика (или, сокращенно, сетевым анализом). Анализ сетевого трафика позволяет: 1) изучить логику работы распределенной ВС, то есть получить взаимно однозначное соответствие событий, происходящих в системе, и команд, пересылаемых друг другу ее объектами, в момент появления этих событий (если проводить дальнейшую аналогию с инструментарием хакера, то анализ трафика в этом случае заменяет и трассировщик). Это достигается путем перехвата и анализа пакетов обмена на канальном уровне. Знание логики работы распределенной ВС позволяет на практике моделировать и осуществлять типовые удаленные атаки. 2) провести анализ сетевого трафика. Таким образом, удаленная атака данного типа заключается в получении на удаленном объекте несанкционированного доступа к информации, которой обмениваются два сетевых абонента. Отметим, что при этом отсутствует возможность модификации трафика и сам анализ возможен только внутри одного сегмента сети. Примером перехваченной при помощи данной типовой удаленной атаки информации могут служить имя и пароль пользователя, пересылаемые в незашифрованном виде по сети. По характеру воздействия анализ сетевого трафика является пассивным воздействием (класс 1.1). Осуществление данной атаки без обратной связи (класс 4.2) ведет к нарушению конфиденциальности информации (класс 2.1) внутри одного сегмента сети (класс 5.1) на канальном уровне OSI (класс 6.2). При этом начало осуществления атаки безусловно по отношению к цели атаки (класс 3.3). 7.3.2 Подмена доверенного объекта или субъекта распределенной ВС Одной из проблем безопасности распределенной ВС является недостаточная идентификация и аутентификация ее удаленных друг от друга объектов. Основная трудность заключается в осуществлении однозначной идентификации сообщений, передаваемых между субъектами и объектами взаимодействия. Обычно в РВС эта проблема решается следующим образом: в процессе создания виртуального канала объекты РВС обмениваются определенной информацией, уникально идентифицирующей данный канал. Такой обмен обычно называется "рукопожатием" (handshake). Однако не всегда для связи двух удаленных объектов в РВС создается виртуальный 108 канал. Практика показывает, что зачастую, особенно для служебных сообщений (например, от маршрутизаторов) используется передача одиночных сообщений, не требующих подтверждения. Как известно, для адресации сообщений в распределенных ВС используется сетевой адрес, который уникален для каждого объекта системы (на канальном уровне модели OSI - это аппаратный адрес сетевого адаптера, на сетевом уровне - адрес определяется в зависимости от используемого протокола сетевого уровня (например, IP-адрес). Сетевой адрес также может использоваться для идентификации объектов распределенной ВС. Однако сетевой адрес достаточно просто подделывается и поэтому использовать его в качестве единственного средства идентификации объектов недопустимо. Когда РВС использует нестойкие алгоритмы идентификации удаленных объектов, то оказывается возможной типовая удаленная атака, заключающаяся в передаче по каналам связи сообщений от имени произвольного объекта или субъекта РВС. При этом существуют две разновидности данной типовой удаленной атаки: атака при установленном виртуальном канале, атака без установленного виртуального канала. В случае установленного виртуального соединения атака будет заключаться в присвоении прав доверенного субъекта взаимодействия, легально подключившегося к объекту системы, что позволит атакующему вести сеанс работы с объектом распределенной системы от имени доверенного субъекта. Реализация удаленных атак данного типа обычно состоит в передаче пакетов обмена с атакующего объекта на цель атаки от имени доверенного субъекта взаимодействия (при этом переданные сообщения будут восприняты системой как корректные). Для осуществления атаки данного типа необходимо преодолеть систему идентификации и аутентификации сообщений, которая, в принципе, может использовать контрольную сумму, вычисляемую с помощью открытого ключа, динамически выработанного при установлении канала, случайные многобитные счетчики пакетов и сетевые адреса станций. Как было замечено выше, для служебных сообщений в распределенных ВС часто используется передача одиночных сообщений, не требующих подтверждения, то есть не требуется создание виртуального соединения. Атака без установленного виртуального соединения заключается в передаче служебных сообщений от имени сетевых управляющих устройств, например, от имени маршрутизаторов. Посылка ложных управляющих сообщений может привести к серьезным нарушениям работы распределенной ВС (например, к изменению ее конфигурации. Подмена доверенного объекта РВС является активным воздействием (класс 1.2), совершаемым с целью нарушения конфиденциальности (класс 2.1) и целостности (класс 2.2) информации, по наступлению на атакуемом объекте определенного события (класс 3.2). Данная удаленная атака может являться как внутрисегментной (класс 5.1), так и межсегментной (класс 5.2), как с обратной связью (класс 4.1), так и без обратной связи (класс 4.2) с атакуемым объектом и осуществляется на сетевом (класс 6.3) и транспортном (класс 6.4) уровнях модели OSI. 7.3.3 Ложный объект распределенной ВС В том случае, если в распределенной ВС недостаточно надежно решены проблемы идентификации сетевых управляющих устройств (например, маршрутизаторов), возникающие при взаимодействии последних с объектами системы, то подобная распределенная система может подвергнуться типовой удаленной атаке, связанной с изменением маршрутизации и внедрением в систему ложного объекта. В том случае, если инфраструктура сети такова, что для взаимодействия объектов необходимо использование алгоритмов удаленного поиска, то это также позволяет внедрить в систему ложный объект. Итак, существуют две принципиально разные причины, обуславливающие появление типовой удаленной атаки "Ложный объект РВС" . 1 стадия атаки 1.Внедрение в распределенную ВС ложного объекта путем навязывания ложного маршрута 109 Современные глобальные сети представляют собой совокупность сегментов сети, связанных между собой через сетевые узлы. При этом маршрутом называется последовательность узлов сети, по которой данные передаются от источника к приемнику. Каждый маршрутизатор имеет специальную таблицу, называемую таблицей маршрутизации, в которой для каждого адресата указывается оптимальный маршрут. Отметим, что таблицы маршрутизации существуют не только у маршрутизаторов, но и у любых хостов в глобальной сети. Для обеспечения эффективной и оптимальной маршрутизации в распределенных ВС применяются специальные управляющие протоколы, позволяющие маршрутизаторам обмениваться информацией друг с другом (RIP (Routing Internet Protocol), OSPF (Open Shortest Path First)), уведомлять хосты о новом маршруте - ICMP (Internet Control Message Protocol), удаленно управлять маршрутизаторами (SNMP (Simple Network Management Protocol)). Важно отметить, что все описанные выше протоколы позволяют удаленно изменять маршрутизацию в сети Internet, то есть являются протоколами управления сетью. Поэтому абсолютно очевидно, что маршрутизация в глобальных сетях играет важнейшую роль и, как следствие этого, может подвергаться атаке. Основная цель атаки, связанной с навязыванием ложного маршрута, состоит в том, чтобы изменить исходную маршрутизацию на объекте распределенной ВС так, чтобы новый маршрут проходил через ложный объект - хост атакующего. Реализация данной типовой удаленной атаки состоит в несанкционированном использовании протоколов управления сетью для изменения исходных таблиц маршрутизации. Для изменения маршрутизации атакующему необходимо послать по сети определенные данными протоколами управления сетью специальные служебные сообщения от имени сетевых управляющих устройств (например, маршрутизаторов). В результате успешного изменения маршрута атакующий получит полный контроль над потоком информации, которой обмениваются два объекта распределенной ВС, и атака перейдет во вторую стадию, связанную с приемом, анализом и передачей сообщений, получаемых от дезинформированных объектов РВС. Навязывание объекту РВС ложного маршрута - активное воздействие (класс 1.2), совершаемое с любой из целей из класса 2, безусловно по отношению к цели атаки (класс 3.3). Данная типовая удаленная атака может осуществляться как внутри одного сегмента (класс 5.1), так и межсегментно (класс 5.2), как с обратной связью (класс 4.1), так и без обратной связи с атакуемым объектом (класс 4.2) на транспортном (класс 6.3) и прикладном (класс 6.7) уровне модели OSI. 2. Внедрение в распределенную ВС ложного объекта путем использования недостатков алгоритмов удаленного поиска В распределенной ВС часто оказывается, что ее удаленные объекты изначально не имеют достаточно информации, необходимой для адресации сообщений. Обычно такой информацией являются аппаратные (адрес сетевого адаптера) и логические (IP-адрес, например) адреса объектов РВС. Для получения подобной информации в распределенных ВС используются различные алгоритмы удаленного поиска, заключающиеся в передаче по сети специального вида поисковых запросов, и в ожидании ответов на запрос с искомой информацией. После получения ответа на запрос, запросивший субъект РВС обладает всеми необходимыми данными для адресации. Руководствуясь полученными из ответа сведениями об искомом объекте, запросивший субъект РВС начинает адресоваться к нему. Примером подобных запросов, на которых базируются алгоритмы удаленного поиска, могут служить SAP-запрос в ОС Novell NetWare [9], ARPи DNS-запрос в сети Internet. В случае использования распределенной ВС механизмов удаленного поиска существует возможность на атакующем объекте перехватить посланный запрос и послать на него ложный ответ, где указать данные, использование которых приведет к адресации на атакующий ложный объект. В дальнейшем весь поток информации между субъектом и объектом взаимодействия будет проходить через ложный объект РВС. Другой вариант внедрения в РВС ложного объекта использует недостатки алгоритма удаленного поиска и состоит в периодической передаче на атакуемый объект заранее подготовленного ложного ответа без приема поискового запроса. В самом деле, атакующему для того, чтобы послать ложный ответ, не всегда обязательно дожидаться приема запроса (он может, в принци110 пе, не иметь подобной возможности перехвата запроса). При этом атакующий может спровоцировать атакуемый объект на передачу поискового запроса, и тогда его ложный ответ будет немедленно иметь успех. Данная типовая удаленная атака чрезвычайно характерна для глобальных сетей, когда у атакующего из-за нахождения его в другом сегменте относительно цели атаки просто нет возможности перехватить поисковый запрос. Ложный объект РВС - активное воздействие (класс 1.2), совершаемое с целью нарушения конфиденциальности (класс 2.1) и целостности информации (класс 2.2), которое может являться атакой по запросу от атакуемого объекта (класс 3.1), а также безусловной атакой (класс 3.3). Данная удаленная атака является как внутрисегментной (класс 5.1), так и межсегментной (класс 5.2), имеет обратную связь с атакуемым объектом (класс 4.1) и осуществляется на канальном (класс 6.2) и прикладном (класс 6.7) уровнях модели OSI. 2 стадия атаки 3. Использование ложного объекта для организации удаленной атаки на распределенную ВС Получив контроль над проходящим потоком информации между объектами, ложный объект РВС может применять различные методы воздействия на перехваченную информацию. В связи с тем, что внедрение в распределенную ВС ложного объекта является целью многих удаленных атак и представляет серьезную угрозу безопасности РВС в целом, то в следующих пунктах будут подробно рассмотрены методы воздействия на информацию, перехваченную ложным объектом. 3.1. Селекция потока информации и сохранение ее на ложном объекте РВС Одной из атак, которую может осуществлять ложный объект РВС, является перехват передаваемой между субъектом и объектом взаимодействия информации. Важно отметить, что факт перехвата информации (файлов, например) возможен из-за того, что при выполнении некоторых операций над файлами (чтение, копирование и т. д.) содержимое этих файлов передается по сети, а, значит, поступает на ложный объект. Простейший способ реализации перехвата - это сохранение в файле всех получаемых ложным объектом пакетов обмена. 3.2 Модификация информации Одной из особенностей любой системы воздействия, построенной по принципу ложного объекта, является то, что она способна модифицировать перехваченную информацию. Следует особо отметить, что это один из способов, позволяющих программно модифицировать поток информации между объектами РВС с другого объекта. Ведь для реализации перехвата информации в сети необязательно атаковать распределенную ВС по схеме "ложный объект" . Эффективней будет атака, осуществляющая анализ сетевого трафика, позволяющая получать все пакеты, проходящие по каналу связи, но, в отличие от удаленной атаки по схеме "ложный объект" , она не способна к модификации информации. Далее рассмотрим два вида модификации информации: модификация передаваемых данных; модификация передаваемого кода. Одной из функций, которой может обладать система воздействия, построенная по принципу "ложный объект" , является модификация передаваемых данных. В результате селекции потока перехваченной информации и его анализа система может распознавать тип передаваемых файлов (исполняемый или текстовый). Соответственно, в случае обнаружения текстового файла или файла данных появляется возможность модифицировать проходящие через ложный объект данные. Особую угрозу эта функция представляет для сетей обработки конфиденциальной информации. Другим видом модификации может быть модификация передаваемого кода. Ложный объект, проводя семантический анализ проходящей через него информации, может выделять из потока данных исполняемый код. Известный принцип неймановской архитектуры гласит, что не существует различий между данными и командами. Следовательно, для того, чтобы определить, что передается по сети - код или данные, необходимо использовать определенные особенности, 111 свойственные реализации сетевого обмена в конкретной распределенной ВС или некоторые особенности, присущие конкретным типам исполняемых файлов в данной локальной ОС. Представляется возможным выделить два различных по цели вида модификации кода: внедрение РПС (разрушающих программных средств); изменение логики работы исполняемого файла. В первом случае при внедрении РПС исполняемый файл модифицируется по вирусной технологии: к исполняемому файлу одним из известных способов дописывается тело РПС ,а также одним из известных способов изменяется точка входа так, чтобы она указывала на начало внедренного кода РПС. Описанный способ, в прин-ципе, ничем не отличается от стандартного заражения исполняемого файла вирусом, за исключением того, что файл оказался поражен вирусом или РПС в момент передачи его по сети! Такое возможно лишь при использовании системы воздействия, построенной по принципу "ложный объект" . Конкретный вид РПС, его цели и задачи в данном случае не имеют значения, но можно рассмотреть, например, вариант использования ложного объекта для создания сетевого червя - наиболее сложного на практике удаленного воздействия в сетях, или в качестве РПС использовать сетевые шпионы. Во втором случае происходит модификация исполняемого кода с целью изменения логики его работы. Данное воздействие требует предварительного исследования работы исполняемого файла и, в случае его проведения, может принести самые неожиданные результаты. Например, при запуске на сервере (например, в ОС Novell NetWare) программы идентификации пользователей распределенной базы данных ложный объект может так модифицировать код этой программы, что появится возможность беспарольного входа с наивысшими привилегиями в базу данных. 3.3 Подмена информации Ложный объект позволяет не только модифицировать, но и подменять перехваченную им информацию. Если модификация информации приводит к ее частичному искажению, то подмена к ее полному изменению. При возникновении в сети определенного контролируемого ложным объектом события одному из участников обмена посылается заранее подготовленная дезинформация. При этом такая дезинформация в зависимости от контролируемого события может быть воспри-нята либо как исполняемый код, либо как данные. Рассмотрим пример подобного рода дезинформации. Предположим, что ложный объект контролирует событие, которое состоит в подключении пользователя к серверу. В этом случае он ожидает, например, запуска соответствующей программы входа в систему. В случае, если эта программа находится на сервере, то при ее запуске исполняемый файл передается на рабочую станцию. Вместо того, чтобы выполнить данное действие, ложный объект передает на рабочую станцию код заранее написанной специальной программы - захватчика паролей. Эта программа выполняет визуально те же действия, что и настоящая программа входа в систему, например, запрашивая имя и пароль пользователя, после чего полученные сведения посылаются на ложный объект, а пользователю выводится сообщение об ошибке. При этом пользователь, посчитав, что он неправильно ввел пароль (пароль обычно не отображается на экране) снова запустит программу подключения к системе (на этот раз настоящую) и со второго раза получит доступ. Результат такой атаки - имя и пароль пользователя, сохраненные на ложном объекте. 7.3.4 Отказ в обслуживании Одной из основных задач, возлагаемых на сетевую ОС, функционирующую на каждом из объектов распределенной ВС, является обеспечение надежного удаленного доступа с любого объекта сети к данному объекту. В общем случае в распределенной ВС каждый субъект системы должен иметь возможность подключиться к любому объекту РВС и получить в соответствии со своими правами удаленный доступ к его ресурсам. Обычно в вычислительных сетях возможность предоставления удаленного доступа реализуется следующим образом: на объекте РВС в сетевой ОС запускаются на выполнение ряд программ-серверов (например, FTP-сервер, WWWсервер и т.п.), предоставляющих удаленный доступ к ресурсам данного объекта. Данные программы-серверы входят в состав телекоммуникационных служб предоставления удаленного 112 доступа. Задача сервера состоит в том, чтобы, находясь в памяти операционной системы объекта РВС, постоянно ожидать получения запроса на подключение от удаленного объекта. В случае получения подобного запроса сервер должен по возможности передать на запросивший объект ответ, в котором либо разрешить подключение, либо нет (подключение к серверу специально описано очень схематично, так как подробности в данный момент не имеют значения). По аналогичной схеме происходит создание виртуального канала связи, по которому обычно взаимодействуют объекты РВС. В этом случае непосредственно ядро сетевой ОС обрабатывает приходящие извне запросы на создание виртуального канала (ВК) и передает их в соответствии с идентификатором запроса (порт или сокет) прикладному процессу, которым является соответствующий сервер. Очевидно, что сетевая операционная система способна иметь только ограниченное число открытых виртуальных соединений и отвечать лишь на ограниченное число запросов. Эти ограничения зависят от различных параметров системы в целом, основными из которых являются быстродействие ЭВМ, объем оперативной памяти и пропускная способность канала связи (чем она выше, тем больше число возможных запросов в единицу времени). Основная проблема состоит в том, что при отсутствии статической ключевой информации в РВС идентификация запроса возможна только по адресу его отправителя. Если в распределенной ВС не предусмотрено средств аутентификации адреса отправителя, то есть инфраструктура РВС позволяет с одного объекта системы передавать на другой атакуемый объект бесконечное число анонимных запросов на подключение от имени других объектов, то в этом случае будет иметь успех типовая удаленная атака "Отказ в обслуживании". Результат применения этой удаленной атаки - нарушение на атакованном объекте работоспособности соответствующей службы предоставления удаленного доступа, то есть невозможность получения удаленного доступа с других объектов РВС - отказ в обслуживании! Вторая разновидность этой типовой удаленной атаки состоит в передаче с одного адреса такого количества запросов на атакуемый объект, какое позволит трафик (направленный "шторм" запросов). В этом случае, если в системе не предусмотрены правила, ограничивающие число принимаемых запросов с одного объекта (адреса) в единицу времени, то результатом этой атаки может являться как переполнение очереди запросов и отказа одной из телекоммуникационных служб, так и полная остановка компьютера из-за невозможности системы заниматься ничем другим, кроме обработки запросов. И последней, третьей разновидностью атаки "Отказ в обслуживании" является передача на атакуемый объект некорректного, специально подобранного запроса. В этом случае при наличии ошибок в удаленной системе возможно зацикливание процедуры обработки запроса, переполнение буфера с последующим зависанием системы и т. п. Типовая удаленная атака "Отказ в обслуживании" является активным воздействием (класс 1.2), осуществляемым с целью нарушения работоспособности системы (класс 2.3), безусловно относительно цели атаки (класс 3.3). Данная УА является однонаправленным воздействием (класс 4.2), как межсегментным (класс 5.1), так и внутрисегментным (класс 5.2), осуществляемым на транспортном (класс 6.4) и прикладном (класс 6.7) уровнях модели OSI. Таблица 3.2 Классификация типовых удаленных атак на распределенные ВС Расположение Наличие субъекта Типовая уда- Характер Условие начала обратной атаки Цель воздейленная воздейосуществления связи с относи- Уровень модели OSI ствия атака ствия воздействия атакуемым тельно объектом атакуемого объекта Класс воздей1.1 1.2 2.1 2.2 2.3 3.1 3.2 3.3 4.1 4.2 5.1 5.2 6.1 6.2 6.3 6.4 6.5 6.6 6.7 ствия 113 Анализ сетевого + трафика Подмена доверенного объекта РВС Внедрение в РВС ложного объекта путем навязывания ложного маршрута - + - - - - + - + + - - + - - - - - + + + - - + - + + + + - - + + - - - + + + + - - + + + + + - - + - - - - Внедрение в РВС ложного объекта путем использования недостатков алгоритмов удаленного поиска + + + - + - + + - + + - + + + - - - Отказ в обслуживании + - - + - - + - + + + - + + + + + + 7.4. Причины успеха удаленных атак на распределенные вычислительные системы и сеть Internet 7.4.1. Отсутствие выделенного канала связи между объектами РВС Выше была рассмотрена типовая УА "Анализ сетевого трафика" . Данная атака заключается в прослушивании канала передачи сообщений в сети. Результат этой атаки: во-первых, выяснение логики работы распределенной ВС и, во-вторых, перехват потока информации, которой обмениваются объекты системы. Такая атака программно возможна только в случае, если атакующий находится в сети с физически широковещательной средой передачи данных как, например, всем известная и получившая широкое распространение среда Ethernet (в отличие от Token Ring, которая не является широковещательной, но и не имеет достаточного распространения). Очевидно, что данная УА была бы программно невозможна, если бы у каждого объекта системы существовал для связи с любым другим объектом выделенный канал (вариант физического прослушивания выделенного канала не рассматривается, так как без специфических аппаратных средств подключение к выделенному каналу невозможно). Следовательно, причина успеха данной типовой УА - наличие широковещательной среды передачи данных или отсутствие выделенного канала связи между объектами РВС. 7.4.2 Недостаточная идентификация и аутентификация объектов и субъектов РВС Как уже подчеркивалось выше, проблема идентификации и аутентификации субъектов и объектов РВС имеет чрезвычайно важное значение. От успеха ее решения зависит безопасность распределенной ВС в целом. Отсутствие у разработчиков определенной заранее выработанной концепции и принципов идентификации объектов РВС в целом оставляют атакующему потен114 циальные возможности для компрометации объектов системы. Стандартными способами компрометации субъектов и объектов РВС являются: выдача себя за определенный объект или субъект с присвоением его прав и полномочий для доступа в систему (например, типовая УА "Подмена доверенного субъекта или объекта РВС" ); внедрение в систему ложного объекта, выдающего себя за доверенный объект системы (например, типовая УА "Ложный объект РВС" ). 7.4.3 Взаимодействие объектов без установления виртуального канала Одним из важнейших вопросов, на который необходимо ответить, говоря об идентификации/аутентификации объектов/субъектов РВС, является вопрос о видах взаимодействия между субъектами и объектами в распределенной ВС. Как отмечалось в п. 3.2.2, взаимодействие между субъектами и объектами РВС бывает двух видов: с использованием виртуального канала, без использования виртуального канала. Практика показывает, что 99% взаимодействия между объектами в сети Internet проходит с установлением ВК (при любом FTP-, TELNET-, HTTP- и т. п. подключении используется протокол TCP, а, следовательно, создается ВК). Это происходит из-за того, что взаимодействие по виртуальному каналу является единственным динамическим способом защиты сетевого соединения объектов РВС. Дело в том, что в процессе создания ВК объекты РВС обмениваются динамически вырабатываемой ключевой информацией, позволяющей уникально идентифицировать канал. Но ошибочно считать распределенную вычислительную систему безопасной, даже если все взаимодействие объектов происходит с созданием ВК. 7.4.4 Использование нестойких алгоритмов идентификации объектов при создании виртуального канала Ошибочно считать взаимодействие объектов по виртуальному каналу в распределенной ВС панацеей от всех проблем, связанных с идентификацией объектов РВС. ВК является необходимым, но не достаточным условием безопасного взаимодействия. Чрезвычайно важным в данном случае становится выбор алгоритма идентификации при создании ВК. Основное требование, которое следует предъявлять к данным алгоритмам, состоит в следующем: перехват ключевой информации, которой обмениваются объекты РВС при создании ВК не должен позволить атакующему получить итоговые идентификаторы канала и объектов . Создание виртуального канала с использованием нестойкого алгоритма идентификации не позволяет надежно обезопасить РВС от подмены объектов взаимодействия и выступает одной из причин успеха удаленных атак на распределенные вычислительные системы. 7.4.5 Отсутствие контроля за виртуальными каналами связи между объектами РВС Объекты распределенной ВС, взаимодействующие по виртуальным каналам, могут подвергаться типовой УА "Отказ в обслуживании" . Особенность этой атаки состоит в том, что, действуя абсолютно легальными средствами системы, можно удаленно добиться нарушения ее работоспособности. Напомним, что, данная УА реализуется передачей множественных запросов на создание соединения (виртуального канала), в результате чего либо переполняется число возможных соединений, либо система, занятая обработкой ответов на запросы, вообще перестает функционировать. В чем причина успеха данной УА? В предыдущем пункте было показано, что взаимодействие объектов РВС по виртуальным каналам позволяет единственным способом обеспечить защиту соединения в глобальной сети. Однако в использовании ВК есть как несомненные плюсы, так и очевидные минусы. К минусам относится необходимость контроля над соединением. При этом задача контроля распадается на две подзадачи: 115 контроль за созданием соединения; контроль за использованием соединения. Если вторая задача решается довольно просто (обычно соединение разрывается по тайм-ауту, определенному системой - так сделано во всех известных сетевых ОС), то решение задачи контроля за созданием соединения представляется нетривиальным . Именно отсутствие приемлемого решения этой задачи является основной причиной успеха типовой УА "Отказ в обслуживании" . Сложность контроля над созданием ВК состоит в том, что в системе, в которой отсутствует статическая ключевая информация о всех ее объектах, невозможно отделить ложные запросы на создание соединения от настоящих. Очевидно также, что если один субъект сетевого взаимодействия будет иметь возможность анонимно занимать неограниченное число каналов связи с удаленным объектом, то подобная система может быть полностью парализована данным субъектом. Поэтому, если любой объект в распределенной системе может анонимно послать сообщение от имени любого другого объекта (например, в Internet маршрутизаторы не проверяют IP-адрес источника отправления), то в подобной распределенной ВС в принципе невозможен контроль за созданием виртуальных соединений. Поэтому основная причина, по которой возможна типовая УА "Отказ в обслуживании" и ей подобные - это отсутствие в РВС возможности контроля за маршрутом сообщений. 7.4.6 Отсутствие в РВС возможности контроля за маршрутом сообщений В распределенных ВС в качестве начальной идентифицирующей объект информации обычно выступает его адрес. Под адресом в РВС понимается определенная системой уникальная информация, которой он наделяется при внесении в систему. Теперь все сообщения от других объектов РВС, адресованные на этот адрес, поступят на данный объект. Путь, или, как принято говорить, маршрут сообщения определяется топологией РВС и проходит через совокупность узлов-маршрутизаторов. Следовательно, в каждом приходящем на объект РВС пакете может быть полностью отмечен его маршрут - список адресов маршрутизаторов, пройденных на пути к адресату. Этот отмеченный в пакете маршрут станет информацией, аутентифицирующей (подтверждающей) с точностью до подсети, подлинность адреса субъекта, отославшего сообщение. Другой вариант аутентификации адреса отправителя - фильтрация маршрутизатором пакетов с неверным адресом отправителя . Если в РВС не предусмотреть подобных возможностей контроля за маршрутом сообщения, то адрес отправителя сообщения оказывается ничем не подтвержден. Таким образом, в системе будет существовать возможность отправки сообщения от имени любого объекта системы, а именно путем указания в заголовке сообщения чужого адреса отправителя . Также в подобной РВС будет невозможно определить, откуда на самом деле пришло сообщение, а, следовательно, вычислить координаты атакующего (в сети Internet невозможно доступным способом вычислить инициатора однонаправленной удаленной атаки). Таким образом, мы убеждаемся, что отсутствие в распределенной ВС возможности контроля за маршрутом сообщений порождает, во-первых, невозможность контроля за созданием соединений, и, во-вторых, возможность анонимной отправки сообщения, следовательно является причиной успеха удаленных атак на РВС. 7.4.7 Отсутствие в РВС полной информации о ее объектах В распределенной системе с разветвленной структурой, состоящей из большого числа объектов, может возникнуть ситуация, когда для доступа к определенному объекту системы у субъекта взаимодействия может не оказаться необходимой информации об интересующем объекте Обычно такой недостающей информацией об объекте является его адрес. Такая ситуация характерна и вполне объяснима для сетей с разветвленной структурой. На наш взгляд, очевиден тот факт, что в системе с заложенной в нее неопределенностью существуют потенциальные возможности внесения в систему ложного объекта и выдачи одного объекта системы за другой. Этот факт объясняется тем, что, являясь следствием неопределенности системы, алгоритмы удаленного поиска несут в себе потенциальную угрозу, состоящую в 116 том, что на посланный запрос может прийти ложный ответ, в котором вместо информации о запрашиваемом объекте будет информация о ложном объекте. Вследствие этого распределенная ВС с заложенной неопределенностью является потенциально опасной системой и может подвергаться удаленным атакам. 7.4.8 Отсутствие в РВС криптозащиты сообщений В распределенных ВС связь между объектами системы осуществляется по каналам связи. Поэтому всегда существует принципиальная возможность для атакующего прослушать канал и получить несанкционированный доступ к информации, которой обмениваются по сети ее абоненты. В том случае, если проходящая по каналу информация не зашифрована и атакующий каким-либо образом получает доступ к каналу, то УА "Анализ сетевого трафика" является наиболее эффективным способом получения информации. Очевидна и причина, делающая эту атаку столь эффективной. Эта причина - передача по сети незашифрованной информации. Использование криптостойких алгоритмов шифрования пакетов обмена между объектами РВС на канальном, прикладном уровнях делает анализ сетевого трафика практически бессмысленным. В случае канального шифрования, которое обычно выполняется аппаратно, по сети передаются полностью зашифрованные пакеты. В том случае, если в сети используются алгоритмы шифрования пакетов на сетевом - прикладном уровнях, то шифрация применяется только к полям данных пакетов соответствующих уровней, то есть заголовки пакетов, содержащие служебную информацию, не являются зашифрованными, поэтому атакующий имеет возможность, перехватив пакет, подвергнуть анализу данную служебную информацию. 7.5 Принципы создания защищенных систем связи в распределенных вычислительных системах Очевидно, что при построении защищенных систем следует бороться не с угрозами, являющимися следствием недостатков системы, а с причинами возможного успеха атак. Ясно, что для того, чтобы победить следствие, надо устранить причину. Поэтому, чтобы ликвидировать угрозы (удаленные атаки), осуществляемые по каналам связи, необходимо ликвидировать причины, их порождающие. Это основной принцип, руководствуясь которым, далее мы и сформулируем требования к защищенным системам связи в распределенных ВС. 1. Выделенный канал связи между объектами распределенной ВС Все объекты распределенной ВС взаимодействуют между собой по каналам связи. В п. 5.1.1 рассматривалась причина успеха УА, состоящая в использовании в РВС для связи между объектами широковещательной среды передачи которое означает, что все объекты распределенной ВС подключаются к одной общей шине (топология сети - "общая шина" ). Это приводит к тому, что сообщение, предназначенное (адресованное) только одному объекту системы, будет получено всеми ее объектами. Однако только объект, адрес которого указан в заголовке сообщения как адрес назначения, будет считаться тем объектом, кому это сообщение непосредственно направлялось. Очевидно, что в РВС с топологией "общая шина" необходимо использовать специальные методы идентификации объектов (п. 7.1), так как идентификация на канальном уровне возможна только в случае использования сетевых криптокарт. Также очевидно, что идеальной с точки зрения безопасности будет взаимодействие объектов распределенной ВС по выделенным каналам. Существуют два возможных способа организации топологии распределенной ВС с выделенными каналами. В первом случае каждый объект связывается физическими линиями связи со всеми объектами системы (рис. 7.2). Во втором случае в системе может использоваться сетевой концентратор, через который осуществляется связь между объектами (топология "звезда" - рис. 7.3). 117 Рис. Рис. Сетевая 7.1. 7.2 . Сетевая топология топология "общая "N-объектов - шина". N-каналов". Рис. 7.3. Сетевая топология "звезда". Плюсы распределенной ВС с выделенными каналами связи между объектами состоят в следующем: передача сообщений осуществляется напрямую между источником и приемником, минуя остальные объекты системы. В такой системе в случае отсутствия доступа к объектам, через которые осуществляется передача сообщения, не существует программной возможности для анализа сетевого трафика; имеется возможность идентифицировать объекты распределенной системы на канальном уровне по их адресам без использования специальных криптоалгоритмов шифрования трафика. Это оказывается, поскольку система построена так, что по данному выделенному каналу осуществима связь только с одним определенным объектом. Появление в такой распределенной системе ложного объекта невозможно без аппаратного вмешательства (подключение дополнительного устройства к каналу связи); система с выделенными каналами связи - это система, в которой отсутствует неопределенность с информацией о ее объектах. Каждый объект в такой системе изначально однозначно идентифицируется и обладает полной информацией о других объектах системы. К минусам РВС с выделенными каналами относятся: сложность реализации и высокие затраты на создание системы; ограниченное число объектов системы (зависит от числа входов у концентратора); сложность внесения в систему нового объекта. Очевидно также, что создание глобальной РВС с выделенными каналами потребует колоссальных затрат и невозможно на сегодняшний день. 118 Анализируя все плюсы и минусы использования выделенных каналов для построения защищенных систем связи между объектами РВС, можно сделать вывод, что создание распределенных систем только с использованием широковещательной среды передачи или только с выделенными каналами неэффективно. Поэтому представляется правильным при построении распределенных вычислительных систем с разветвленной топологией и большим числом объектов использовать комбинированные варианты соединений объектов. Для обеспечения связи между объектами большой степени значимости можно использовать выделенный канал. Связь менее значимых объектов системы может осуществляться с использованием комбинации общая шинавыделенный канал. В данном пункте были рассмотрены варианты сетевых топологий с выделенными каналами связи. При этом рассматривались только физические каналы связи и предлагались более или менее безопасные способы взаимодействия объектов системы по этим каналам. Однако выбор безопасной топологии РВС является необходимым, но отнюдь не достаточным условием для создания защищенных систем связи между объектами распределенных ВС. Итак, в завершение данного пункта сформулируем первый принцип создания защищенных средств связи объектов в РВС: Утверждение 1. Наилучшее с точки зрения безопасности взаимодействие объектов в распределенной ВС возможно только по физически выделенному каналу. 2. Виртуальный канал как средство обеспечения дополнительной идентификации/аутентификации объектов в распределенной ВС В предыдущем пункте рассматривались возможные наиболее безопасные варианты физического построения сети: как в РВС необходимо соединять объекты для обеспечения наиболее безопасного взаимодействия. Однако, для создания защищенного взаимодействия удаленных объектов подобных мер явно недостаточно, так как, во-первых, на практике обеспечить взаимодействие всех объектов по выделенному каналу достаточно сложно и, во-вторых, нельзя не предусмотреть вариант физического подключения к каналу. Следовательно, разработчик защищенной системы связи в распределенной ВС должен исходить из следующего принципа: Утверждение 2. При построении защищенной системы связи в распределенной ВС необходимо исходить из того, что все сообщения, передаваемые по каналу связи, могут быть перехвачены, но это не должно повлечь за собой нарушения безопасности системы в целом. Таким образом, данное утверждение накладывает на разработчика следующие требования: необходимость введения дополнительных средств идентификации объектов в распределенной ВС и криптозащита передаваемых по каналу связи сообщений. В п. 5.1.2 доказывалось, что идентификация объектов РВС, в отсутствие статической ключевой информации, возможна только при взаимодействии объектов с использованием виртуального канала (заметим, что в дальнейшем рассматривается только распределенная ВС, у объектов которой отсутствует ключевая информация для связи друг с другом - в подобной системе решить задачу безопасного взаимодействия несколько сложнее). Следовательно, для того, чтобы ликвидировать причину успеха удаленных атак, описанную в п. 5.1.2.1, а также, исходя из Утверждения 2, необходимо руководствоваться следующим правилом: Утверждение 3. Любое взаимодействие двух объектов в распределенной ВС должно проходить по виртуальному каналу связи. 119 Рассмотрим, как в распределенной ВС виртуальный канал (ВК) связи может использоваться для надежной, независимой от топологии и физической организации системы, идентификации ее удаленных объектов. Для этого при создании ВК могут использоваться криптоалгоритмы с открытым ключом (например, в Internet принят подобный стандарт защиты ВК, называемый Secret Socket Layer SSL). Данные криптоалгоритмы основаны на результатах исследований, полученных в 70-х годах У. Диффи. Он ввел понятие односторонней функции с потайным входом. Это не просто вычисляемая в одну сторону функция, обращение которой невозможно, она содержит потайной вход (trapdoor), который позволяет вычислять обратную функцию лицу, знающему секретный ключ. Сущность криптографии с открытым ключом (или двухключевой криптографии) в том, что ключи, имеющиеся в криптосистеме, входят в нее парами и каждая пара удовлетворяет следующим двум свойствам: текст, зашифрованный на одном ключе, может быть дешифрован на другом; знание одного ключа не позволяет вычислить другой. Поэтому один из ключей может быть опубликован. При опубликованном (открытом) ключе шифрования и секретном ключе дешифрования получается система шифрования с открытым ключом. Каждый пользователь сети связи может зашифровать сообщение при помощи открытого ключа, а расшифровать его сможет только владелец секретного ключа. При опубликовании ключа дешифрования получается система цифровой подписи. Здесь только владелец секретного ключа создания подписи может правильно зашифровать текст (т.е. подписать его), а проверить подпись (дешифровать текст) может любой на основании опубликованного ключа проверки подписи. В 1976 г. У. Диффи и М. Хеллман предложили следующий метод открытого распределения ключей. Пусть два объекта A и B условились о выборе в качестве общей начальной информации большого простого числа p и примитивного корня степени p - 1 из 1 в поле вычетов по модулю p. Тогда эти пользователи действуют в соответствии с протоколом (рис. 6.4): A вырабатывает случайное число x, вычисляет число ax (mod p) и посылает его B; B вырабатывает случайное число y, вычисляет число ay (mod p) и посылает его A; затем A и B возводят полученное число в степень со своим показателем и получают число axy (mod p). Рис. 7.4. Алгоритм У. Диффи и М. Хеллмана открытого распределения ключей Это число и является сеансовым ключом для одноключевого алгоритма, например, DES. Для раскрытия этого ключа криптоаналитику необходимо по известным ax (mod p), ay (mod p) найти axy (mod p) , т.е. найти x или y. Нахождение числа x по его экспоненте a x (mod p) называется задачей дискретного логарифмирования в простом поле. Эта задача является труднорешаемой, и поэтому полученный ключ, в принципе, может быть стойким . Особенность данного криптоалгоритма состоит в том, что перехват по каналу связи пересылаемых в процессе создания виртуального канала сообщений ax (mod p) и ay (mod p) не позволит атакующему получить конечный ключ шифрования axy (mod p). Этот ключ далее должен ис120 пользоваться, во-первых, для цифровой подписи сообщений и, во-вторых, для их криптозащиты. Цифровая подпись сообщений позволяет надежно идентифицировать объект распределенной ВС и виртуальный канал. Шифрование сообщений необходимо для соблюдения Утверждения 2. В заключении к данному пункту сформулируем следующее требование к созданию защищенных систем связи в распределенных ВС и два следствия из него: Утверждение 4. Для обеспечения надежной идентификации объектов распределенной ВС при создании виртуального канала необходимо использовать криптоалгоритмы с открытым ключом. Следствие Необходимо обеспечить цифровую подпись сообщений. 4.1. Следствие Необходимо обеспечить возможность шифрования сообщений. 4.2. 3. Контроль за маршрутом сообщения в распределенной ВС Как известно, каждый объект распределенной ВС должен обладать адресом, уникально его идентифицирующим. Для того, чтобы сообщение от одного объекта было передано на другой объект системы, оно должно пройти через цепь маршрутизаторов, задача которых- проанализировав адрес назначения, указанный в сообщении, выбрать оптимальный маршрут и, исходя из него, переправить пакет или на следующий маршрутизатор или непосредственно абоненту, если он напрямую подключен к данному узлу. Таким образом, маршрут до объекта определяется цепочкой узлов, пройденных сообщением. Как было показано в п. 5.1.4, маршрут сообщения может являться информацией, аутентифицирующей с точностью до подсети подлинность адреса субъекта, отославшего сообщение. Очевидно, что перед любой системой связи объектов в РВС встает стандартная проблема проверки подлинности адреса сообщения, пришедшего на объект. Эту задачу, с одной стороны, можно решить, введя дополнительную идентификацию сообщений на другом, более высоком уровне OSI. Так, адресация осуществляется на сетевом уровне, а дополнительная идентификация, например, на транспортном. Однако подобное решение не позволит избежать проблемы контроля за созданием соединений (п. 5.1.3), так как дополнительная идентификация абонентов будет возможна только после создания соединения. Поэтому разработчикам распределенной ВС можно предложить следующие пути решения проблемы. В первом случае функцию проверки подлинности адреса отправителя можно возложить на маршрутизатор. Это несложно сделать, так как маршрутизатор может отследить, откуда к нему пришел пакет (от другого маршрутизатора или от подключенного к нему хоста из подсетей, напрямую подключенных к данному маршрутизатору). Маршрутизатор может проверять соответствие адреса отправителя с адресом соответствующей подсети, откуда пришло сообщение. В случае совпадения сообщение пересылается далее, а в противном случае - отфильтровывается. Этот способ позволит на начальной стадии отбросить пакеты с неверными адресами отправителя. Другой вариант решения может состоять в создании в заголовке пакета специальных полей, куда каждый маршрутизатор, через который проходит пакет, заносит маршрутную информацию (часть своего адреса, например). При этом первый маршрутизатор, на который поступил пакет, заносит также информацию о классе сети (A, B, C), откуда пришел пакет. Тем не менее, внесение в пакет адресов всех пройденных по пути маршрутизаторов будет неоптимальным решением, так как в этом случае сложно заранее определить максимальный размер заголовка пакета. Когда сообщение дойдет до конечного адресата, в его заголовке будет полностью отмечен пройденный маршрут. По этому маршруту, вне зависимости от указанного в пакете сетевого адреса отправителя, можно, во-первых, с точностью до подсети идентифицировать подлинность адреса и, во-вторых, определить с точностью до подсети истинный адрес отправителя. Итак, получив подобное сообщение с указанным маршрутом, сетевая операционная система анализи121 рует маршрут и проверяет подлинность адреса отправителя. В случае его недостоверности пакет отбрасывается. Из всего вышесказанного следует следующее требование к созданию защищенных систем связи в распределенных ВС: Утверждение 5. В распределенной ВС необходимо обеспечить на сетевом уровне контроль за маршрутом сообщений для аутентификации адреса отправителя. 4. Контроль за виртуальными соединениями в распределенной ВС В предыдущей главе было показано, что взаимодействие объектов РВС по виртуальному каналу позволяет надежно защитить соединение от возможных информационно-разрушающих воздействий по каналам связи. Однако, как это отмечалось в п. 5.1.3, взаимодействие по ВК имеет свои минусы. К минусам относится необходимость контроля за соединением. Если в системе связи удаленных объектов РВС не предусмотреть использование надежных алгоритмов контроля за соединением, то, избавившись от одного типа удаленных атак на соединение ("Подмена доверенного объекта" - см. п. 3.2.2), можно подставить систему под другую типовую УА "Отказ в обслуживании" (п. 3.2.4). Поэтому для обеспечения надежного функционирования и работоспособности (доступности) каждого объекта распределенной ВС необходимо прежде всего контролировать процесс создания соединения. Как уже говорилось в п. 5.1.3, задача контроля за ВК распадается на две подзадачи: контроль за созданием соединения; контроль за использованием соединения. Решение второй задачи лежит на поверхности: так как сетевая операционная система не может одновременно иметь бесконечное число открытых ВК, то в том случае, если ВК простаивает в течение определенного системой тайм-аута, происходит его закрытие. Далее рассмотрим возможный алгоритм, позволяющий обеспечить контроль за созданием соединения в РВС. Напомним, что при создании ВК полученный системой запрос на создание соединения ставится в очередь запросов, и, когда до него дойдет время, система выработает ответ на запрос и отошлет его обратно отправителю запроса. Задача контроля за созданием соединения заключается как раз в том, чтобы определить те правила, исходя из которых система могла бы либо поставить запрос в очередь, либо нет. Если все пришедшие запросы автоматически ставятся системой в очередь (так построены все сетевые ОС, поддерживающие протокол TCP/IP), то это в случае атаки ведет к переполнению очереди и к отказу в обслуживании всех остальных легальных запросов. Такое происходит из-за того, что атакующий посылает в секунду столько запросов, сколько позволит трафик (тысячи запросов в секунду), а обычный пользователь с легальным запросом на подключение может послать лишь несколько запросов в минуту! Следовательно, вероятность подключения в такой ситуации, при условии переполнения очереди, один к миллиону в лучшем случае. Поэтому необходимо ввести ограничения на постановку в очередь запросов от одного объекта. Однако, если в РВС любой объект системы может послать запрос от имени (с адреса) любого другого объекта системы, то, как отмечалось ранее, решить задачу контроля не представляется возможным. Поэтому для обеспечения этой возможности было введено Утверждение 5, исходя из которого в каждом пришедшем на объект пакете должен быть указан пройденный им маршрут, позволяющий с точностью до подсети подтвердить подлинность адреса отправителя. Учитывая данный факт, позволяющий отсеять все пакеты с неверным адресом отправителя, можно предложить следующее условие постановки запроса в очередь: в системе вводится ограничение на число обрабатываемых в секунду запросов из одной подсети. Это максимальное число ставящихся в очередь запросов в секунду определяется непосредственно операционной системой и зависит от следующих параметров сетевой ОС: быстродей122 ствия, объема виртуальной памяти, числа одновременно обслуживаемых виртуальных каналов, длины очереди и т.д. Вводимое ограничение не позволит атакующему переполнить очередь, так как только первые несколько его запросов будут поставлены в очередь на обслуживание, а остальные будут игнорироваться. Первый же запрос легального пользователя из другой подсети будет также сразу поставлен в очередь. К минусам этого способа решения проблемы контроля за созданием соединения можно отнести тот факт, что, так как адрес отправителя можно аутентифицировать с точностью только до подсети, то атакующий может посылать запросы от имени любого объекта данной подсети. Следовательно, в случае атаки все остальные объекты из подсети атакующего будут лишены возможности подключения к атакуемому объекту. Однако, так как, во-первых, атакующего по указанному в пакете маршруту можно будет вычислить с точностью до его подсети и, во-вторых, не произойдет нарушения работоспособности цели атаки, то такая атака вряд ли будет иметь смысл. Итак, в завершение очередное требование к защищенным системам связи в распределенных ВС. Утверждение 6. Для обеспечения доступности ресурсов распределенной ВС необходим контроль за виртуальными соединениями между ее объектами. Следствие 6.1. Необходимо обеспечить контроль за созданием соединения, введя ограничение на число обрабатываемых в секунду запросов из одной подсети. Следствие 6.2. Необходимо обеспечить контроль за использованием соединения, разрывая его по тайм-ауту в случае отсутствия сообщений. 5. Проектирование распределенной ВС с полностью определенной информацией о ее объектах с целью исключения алгоритмов удаленного поиска Одной из особенностей распределенной ВС является возможное отсутствие информации, необходимой для доступа к ее удаленным объектам. Поэтому в РВС возникает необходимость использования потенциально опасных с точки зрения безопасности алгоритмов удаленного поиска . Следовательно, для того, чтобы в РВС не возникало необходимости в использовании данных алгоритмов, требуется на начальном этапе спроектировать систему так, чтобы информация о ее объектах была изначально полностью определена. Это позволит, в свою очередь, ликвидировать одну из причин успеха удаленных атак, связанных с использованием в распределенной ВС алгоритмов удаленного поиска. Однако в РВС с неопределенным и достаточно большим числом объектов (например, Internet) спроектировать систему с отсутствием неопределенности практически невозможно. В этом случае отказаться от алгоритмов удаленного поиска не представляется возможным. Существуют два типа данных алгоритмов. Первый типовой алгоритм удаленного поиска - с использованием информационно-поискового сервера, второй - с использованием широковещательных запросов. Применение в РВС алгоритма удаленного поиска с использованием широковещательных запросов в принципе не позволяет защитить систему от внедрения в нее ложного объекта, а, следовательно, использование данного алгоритма в защищенной системе недопустимо. Применение в распределенной ВС алгоритма удаленного поиска с использованием информационно-поискового сервера позволяет обезопасить систему от внедрения в нее ложного объекта только в том случае, если, во-первых, взаимодействие объектов системы с сервером происходит только с созданием виртуального канала и, во-вторых, у объектов, подключенных к данному серверу, и у сервера существует заранее определенная статическая ключевая информация, используемая при создании виртуального канала. Выполнение этих условий сделает не- 123 возможным в распределенной ВС передачу в ответ на запрос с объекта ложного ответа и, следовательно, внедрения в систему ложного объекта. Поясним последнее утверждение. В том случае, если виртуальный канал с информационнопоисковым сервером создается с использованием только динамически вырабатываемой ключевой информации, например, по схеме открытого распределения ключей, то ничто не мешает атакующему - в том случае, если он может перехватить первоначальный запрос на создание ВК с объекта системы - послать ложный ответ и создать виртуальный канал от имени настоящего сервера. Именно поэтому на всех объектах системы необходима начальная ключевая информация для создания ВК с информационно-поисковым сервером. В заключение предлагаются следующие требования, которыми необходимо руководствоваться при создании защищенных систем связи в распределенных ВС. Утверждение 7. Наиболее безопасной распределенной ВС является та система, в которой информация о ее объектах изначально полностью определена и в которой не используются алгоритмы удаленного поиска. Утверждение 8. В том случае, если выполненить требование 7 невозможно, необходимо в распределенной ВС использовать только алгоритм удаленного поиска с выделенным информационно-поисковым сервером, и при этом взаимодействие объектов системы с данным сервером должно осуществляться только по виртуальному каналу с применением надежных алгоритмов защиты соединения с обязательным использованием статической ключевой информации. Следствие 8.1. В распределенной ВС для обеспечения безопасности необходимо отказаться от алгоритмов удаленного поиска с использованием широковещательных запросов. Аксиома безопасности. Принципы доступности, удобства, быстродействия и функциональности вычислительной системы антагонистичны принципам ее безопасности. Данная аксиома, в принципе, очевидна: чем более доступна, удобна, быстра и многофункциональна ВС, тем она менее безопасна. Примеров можно привести массу. Например, служба DNS: удобно, но опасно . 7.6 Методы защиты от удаленных атак в сети Internet 7.6.1 Административные методы защиты от удаленных атак Для защиты системы от разного рода удаленных воздействий самым правильным шагом в этом направлении будет приглашение специалиста по информационной безопасности, который вместе с системным администратором системы постарается решить весь комплекс задач по обеспечению требуемого необходимого уровня безопасности для распределенной ВС. Это довольно сложная комплексная задача, для решения которой необходимо определить, что (список контролируемых объектов и ресурсов РВС), от чего (анализ возможных угроз данной РВС) и как (выработка требований, определение политики безопасности и выработка административных и программно-аппаратных мер по обеспечению на практике разработанной политики безопасности) защищать. Наиболее простыми и дешевыми являются административные методы защиты от информационно-разрушающих воздействий. В следующих пунктах рассматриваются возможные админи124 стративные методы защиты от описанных выше удаленных атак на хосты Internet (в общем случае на IP-сети). Защита от анализа сетевого трафика Данный вид атаки, позволяющий кракеру при помощи программного прослушивания канала передачи сообщений в сети перехватывать любую информацию, которой обмениваются удаленные пользователи, если по каналу передаются только нешифрованные сообщения. Также было показано, что базовые прикладные протоколы удаленного доступа TELNET и FTP не предусматривают элементарную криптозащиту передаваемых по сети даже идентификаторов (имен) и аутентификаторов (паролей) пользователей. Поэтому администраторам сетей, очевидно, можно порекомендовать не допускать использование этих базовых протоколов для предоставления удаленного авторизованного доступа к ресурсам своих систем и считать анализ сетевого трафика той постоянно присутствующей угрозой, которую невозможно устранить, но можно сделать ее осуществление по сути бессмысленным, применяя стойкие криптоалгоритмы защиты IP-потока. Защита от ложного объекта Использование в сети Internet службы DNS в ее нынешнем виде может позволить кракеру получить глобальный контроль над соединениями путем навязывания ложного маршрута через хост кракера - ложный DNS-сервер. Осуществление этой удаленной атаки, основанной на потенциальных уязвимостях службы DNS, может привести к катастрофическим последствиям для огромного числа пользователей Internet и стать причиной массового нарушения информационной безопасности данной глобальной сети. Ни административно, ни программно нельзя защититься от атаки на существующую версию службы DNS. Оптимальным с точки зрения безопасности решением будет вообще отказаться от использования службы DNS в вашем защищенном сегменте! Конечно, совсем отказаться от использования имен при обращении к хостам для пользователей будет очень не удобно. Поэтому можно предложить следующее компромиссное решение: использовать имена, но отказаться от механизма удаленного DNS-поиска. Это возвращение к схеме, использовавшейся до появления службы DNS с выделенными DNS-серверами. Тогда на каждой машине в сети существовал hosts файл, в котором находилась информация о соответствующих именах и IP-адресах всех хостов в сети. Очевидно, что на сегодняшний день администратору можно внести в подобный файл информацию о лишь наиболее часто посещаемых пользователями данного сегмента серверах сети. Поэтому использование на практике данного решения чрезвычайно затруднено и, видимо, нереально (что, например, делать с броузерами, которые используют URL с именами?). Для затруднения осуществления данной удаленной атаки можно предложить администраторам использовать для службы DNS вместо протокола UDP, который устанавливается по умолчанию, протокол TCP (хотя из документации далеко не очевидно, как его сменить). Это существенно затруднит для атакующего передачу на хост ложного DNS-ответа без приема DNSзапроса. Защита от отказа в обслуживании Как не раз уже отмечалось, нет и не может быть приемлемых способов защиты от отказа в обслуживании в существующем стандарте IPv4 сети Internet. Это связано с тем, что в данном стандарте невозможен контроль за маршрутом сообщений. Поэтому невозможно обеспечить надежный контроль за сетевыми соединениями, так как у одного субъекта сетевого взаимодействия существует возможность занять неограниченное число каналов связи с удаленным объектом и при этом остаться анонимным. Из-за этого любой сервер в сети Internet может быть полностью парализован при помощи удаленной атаки «отказ в обслуживании». Единственное, что можно предложить для повышения надежности работы системы, подвергаемой данной атаке, - это использовать как можно более мощные компьютеры. Чем больше число и частота работы процессоров, чем больше объем оперативной памяти, тем более надежной будет работа сетевой ОС, когда на нее обрушится направленный "шторм" ложных запросов на создание соединения. Кроме того, необходимо использование соответствующих вашим вычислительным мощностям операционных систем с внутренней очередью, способной вместить большое число запросов на подключение. Ведь от того, что вы, например, поставите на суперЭВМ 125 операционную систему Linux или Windows NT, у которых длина очереди для одновременно обрабатываемых запросов около 10, а тайм-аут очистки очереди несколько минут, то, несмотря на все вычислительные мощности компьютера, ОС будет полностью парализована атакующим. Общий вывод по противодействию данной атаки в существующем стандарте IPv4 следующий: просто расслабьтесь и надейтесь на то, что вы ни для кого не представляете интереса, или покупайте суперЭВМ с соответствующей ей сетевой ОС. 7.6.2. Программно-аппаратные методы защиты от удаленных атак в сети Internet К программно-аппаратным средствам обеспечения информационной безопасности средств связи в вычислительных сетях относятся: аппаратные шифраторы сетевого трафика; методика Firewall, реализуемая на базе программно-аппаратных средств; защищенные сетевые криптопротоколы; программно-аппаратные анализаторы сетевого трафика; защищенные сетевые ОС. Существует огромное количество литературы, посвященной этим средствам защиты, предназначенным для использования в сети Internet (за последние два года практически в каждом номере любого компьютерного журнала можно найти статьи на эту тему). 7.6.2.1 Методика Firewall как основное программно-аппаратное средство осуществления сетевой политики безопасности в выделенном сегменте IP-сети Межсетевое экранирование следует рассматривать как самостоятельный (причем принципиально важный) сервис безопасности. Сетевые реализации данного сервиса, называемые межсетевые экранами (предлагаемый перевод английского термина firewall), распространены весьма широко; сложилась терминология, оформилась классификация механизмов. Формальная постановка задачи экранирования состоит в следующем. Пусть имеется два множества информационных систем. Экран - это средство разграничения доступа клиентов из одного множества к серверам из другого множества. Экран выполняет свои функции, контролируя все информационные потоки между двумя множествами систем. В простейшем случае экран состоит из двух механизмов, один из которых ограничивает перемещение данных, а второй, наоборот, ему способствует (то есть осуществляет перемещение данных). В более общем случае экран (полупроницаемую оболочку) удобно представлять себе как последовательность фильтров. Каждый из них может задержать (не пропустить) данные, а может и сразу "перебросить" их "на другую сторону". Кроме того, допускается передача порции данных на следующий фильтр для продолжения анализа, или обработка данных от имени адресата и возврат результата отправителю. Помимо функций разграничения доступа, экраны осуществляют также протоколирование информационных обменов. Обычно экран не является симметричным, для него определены понятия "внутри" и "снаружи". При этом задача экранирования формулируется как защита внутренней области от потенциально враждебной внешней. Так, межсетевые экраны устанавливают для защиты локальной сети организации, имеющей выход в открытую среду, подобную Internet. Другой пример экрана - устройство защиты порта, контролирующее доступ к коммуникационному порту компьютера до и независимо от всех прочих системных защитных средств. Экранирование позволяет поддерживать доступность сервисов внутренней области, уменьшая или вообще ликвидируя нагрузку, индуцированную внешней активностью. Уменьшается уязвимость внутренних сервисов безопасности, поскольку первоначально сторонний злоумышленник должен преодолеть экран, где защитные механизмы сконфигурированы особенно тщательно и жестко. Кроме того, экранирующая система, в отличие от универсальной, может быть устроена более простым и, следовательно, более безопасным образом. Экранирование дает возможность контролировать также информационные потоки, направленные во внешнюю область, что способствует поддержанию режима конфиденциальности. 126 Важным понятием экранирования является зона риска, которая определяется как множество систем, которые становятся доступными злоумышленнику после преодоления экрана или какого-либо из его компонентов. Как правило, для повышения надежности защиты экран реализуют как совокупность элементов, так что "взлом" одного из них еще не открывает доступ ко всей внутренней сети. Таким образом, межсетевое экранирование и с точки зрения сочетания с другими сервисами безопасности, и с точки зрения внутренней организации использует идею многоуровневой защиты, за счет чего внутренняя сеть оказывается в пределах зоны риска только в случае преодоления злоумышленником нескольких, no-разноиу организованных защитных рубежей. В общем случае методика Firewall реализует следующие основные три функции: 1. Многоуровневая фильтрация сетевого трафика Фильтрация обычно осуществляется на трех уровнях OSI: сетевом транспортном (TCP, прикладном (FTP, TELNET, HTTP, SMTP и т. д.). (IP); UDP); Фильтрация сетевого трафика является основной функцией систем Firewall и позволяет администратору безопасности сети централизованно осуществлять необходимую сетевую политику безопасности в выделенном сегменте IP-сети, то есть, настроив соответствующим образом Firewall, можно разрешить или запретить пользователям как доступ из внешней сети к соответствующим службам хостов или к хостам, находящихся в защищаемом сегменте, так и доступ пользователей из внутренней сети к соответствующим ресурсам внешней сети. Можно провести аналогию с администратором локальной ОС, который для осуществления политики безопасности в системе назначает необходимым образом соответствующие отношения между субъектами (пользователями) и объектами системы (файлами, например), что позволяет разграничить доступ субъектов системы к ее объектам в соответствии с заданными администратором правами доступа. Те же рассуждения применимы к Firewall-фильтрации: в качестве субъектов взаимодействия будут выступать IP-адреса хостов пользователей, а в качестве объектов, доступ к которым необходимо разграничить, - IP-адреса хостов, используемые транспортные протоколы и службы предоставления удаленного доступа. 2. Proxy-схема с дополнительной идентификацией и аутентификацией пользователей на Firewall-хосте Proxy-схема позволяет, во-первых, при доступе к защищенному Firewall сегменту сети осуществить на нем дополнительную идентификацию и аутентификацию удаленного пользователя и, во-вторых, является основой для создания приватных сетей с виртуальными IP-адресами. Смысл proxy-схемы состоит в создании соединения с конечным адресатом через промежуточный proxy-сервер (proxy от англ. полномочный) на хосте Firewall. На этом proxy-сервере и может осуществляться дополнительная идентификация абонента. 3. Создание приватных сетей (Private Virtual Network - PVN) с "виртуальными" IP-адресами (NAT - Network Address Translation) В том случае, если администратор безопасности сети считает целесообразным скрыть истинную топологию своей внутренней IP-сети, то ему можно порекомендовать использовать системы Firewall для создания приватной сети (PVN-сеть). Хостам в PVN-сети назначаются любые "виртуальные" IP-адреса. Для адресации во внешнюю сеть (через Firewall) необходимо либо использование на хосте Firewall описанных выше proxy-серверов, либо применение специальных систем роутинга (маршрутизации), только через которые и возможна внешняя адресация. Это происходит из-за того, что используемый во внутренней PVN-сети виртуальный IP-адрес, очевидно, не пригоден для внешней адресации (внешняя адресация - это адресация к абонентам, находящимся за пределами PVN-сети). Поэтому proxy-сервер или средство роутинга должно осуществлять связь с абонентами из внешней сети со своего настоящего IP-адреса. Кстати, эта схема удобна в том случае, если вам для создания IP-сети выделили недостаточное количество IP-адресов (в стандарте IPv4 это случается сплошь и рядом, поэтому для создания полноценной 127 IP-сети с использованием proxy-схемы достаточно только одного выделенного IP-адреса для proxy-сервера). Итак, любое устройство, реализующее хотя бы одну из этих функций Firewall-методики, и является Firewall-устройством. Например, ничто не мешает вам использовать в качестве Firewallхоста компьютер с обычной ОС FreeBSD или Linux, у которой соответствующим образом необходимо скомпилировать ядро ОС. Firewall такого типа будет обеспечивать только многоуровневую фильтрацию IP-трафика. Другое дело, предлагаемые на рынке мощные Firewall-комплексы, сделанные на базе ЭВМ или мини-ЭВМ, обычно реализуют все функции Firewall-мето-дики и являются полнофункциональными системами Firewall. На следующем рисунке изображен сегмент сети, отделенный от внешней сети полнофункциональным Firewall-хостом. Рис. 7.5. Обобщенная схема полнофункционального хоста Firewall. Однако администраторам IP-сетей, поддавшись на рекламу систем Firewall, не стоит заблуждаться на тот счет, что Firewall это гарантия абсолютной защиты от удаленных атак в сети Internet. Firewall - не столько средство обеспечения безопасности, сколько возможность централизованно осуществлять сетевую политику разграничения удаленного доступа к доступным ресурсам вашей сети. Современные требования к межсетевым экранам 1. Основное требование — это обеспечение безопасности внутренней (защищаемой) сети и полный контроль над внешними подключениями и сеансами связи. 2. Экранирующая система должна обладать мощными и гибкими средствами управления для простого и полного проведения в жизнь политики безопасности организации. 3. Межсетевой экран должен работать незаметно для пользователей локальной сети и не затруднять выполнение ими легальных действий. 4. Процессор межсетевого экрана должен быть быстродействующим, работать достаточно эффективно и успевать обрабатывать весь входящий и исходящий поток в пиковых режимах, чтобы его нельзя было блокировать большим количеством вызовов и нарушить его работу. 5. Система обеспечения безопасности должна быть сама надежно защищена от любых несанкционированных воздействий, поскольку она является ключом к конфиденциальной информации в организации. 6. Система управления экранами должна иметь возможность централизованно обеспечивать проведение единой политики безопасности для удаленных филиалов. 7. Межсетевой экран должен иметь средства авторизации доступа пользователей через внешние подключения, что является необходимым в случаях работы сотрудников организации в командировках. Классификация анализируемых межсетевых экранов Как известно, для проведения сравнительного анализа необходимо, в первую очередь, провести классификацию анализируемых средств. Поскольку межсетевые экраны ориентированы на защиту информации в открытых сетях типа Интернет/Интранет, основой подхода служит семиуровневая модель ISO/OSI (Международной организации по стандартизации). В соответствии с 128 этой моделью МЭ классифицируются по тому, на каком уровне производится фильтрация: канальном, сетевом, транспортном, сеансовом или прикладном. Поэтому можно говорить об экранирующих концентраторах (канальный уровень), маршрутизаторах (сетевой уровень), транспортном экранировании (транспортный уровень), шлюзах сеансового уровня (сеансовый уровень) и прикладных экранах (прикладной уровень). Необходимо отметить, что в настоящее время наряду с одноуровневыми межсетевыми экранами все большую популярность приобретают комплексные экраны, охватывающие уровни от сетевого до прикладного, поскольку подобные продукты соединяют в себе лучшие свойства одноуровневых экранов разных видов. На схеме 1 представлена структура информационного экранирования между двумя системами при использовании эталонной модели ISO/OSI. Особенности современных межсетевых экранов Результаты более тонкого сравнительного анализа различных типов межсетевых экранов приведены в табл. 1. Таблица 1 Особенности межсетевых экранов Тип межсетевого экрана Экранирующие маршрутизаторы (брандмауэры с фильтрацией пакетов) Экранирующий шлюз (ЭШ) Принцип работы Достоинства Недостатки Фильтрация пакетов осуществляется в соответствии с IP- заголовком пакета по критерию: то, что явно не запрещено, является разрешенным. Анализируемой информацией является: · Низкая стоимость · Минимальное влияние на производительность сети · Простота конфигурации и установки · Прозрачность для программного обеспечения · Уязвимость механизма защиты для различных видов сетевых атак, таких как подделка исходных адресов пакетов, несанкционированное изменение содержимого пакетов · Отсутствие в ряде продуктов поддержки журнала регистрации событий и средств аудита · Отсутствие сквозного прохождения пакетов в случае сбоев · Усиленные, по сравнению с ЭМ, механизмы защиты, позволяющие использовать дополнительные средства аутентификации, как программные, так и аппаратные · Использование процедуры транс- · Использование только мощных хостовбастионов из-за большого объема вычислений · Отсутствие “прозрачности” из-за того, что ЭШ вносят задержки в процесс передачи и требуют от пользователя процедур аутентификации - адрес отправителя; - адрес получателя; - информация о приложении или протоколе; - номер порта источника; - номер порта получателя. Информационный обмен происходит через хостбастион, установленный между внутренней и внешней сетями, который принимает решения о возможности маршрутизации трафика. ЭШ бывают двух типов: сеансового и прикладного уровня 129 Экранирующие подсети (ЭП) Создается изолированная подсеть, расположенная между внутренней и открытой сетями. Сообщения из открытой сети обрабатываются прикладным шлюзом и попадают в ЭП. После успешного прохождения контроля в ЭП они попадают в закрытую сеть. Запросы из закрытой сети обрабатываются через ЭП аналогично. Фильтрование осуществляется из принципа: то, что не разрешено, является запрещенным ляции адресов, позволяющей скрытие адресов хостов закрытой сети · Возможность скрытия адреса внутренней сети · Увеличение надежности защиты · Возможность создания большого трафика между внутренней и открытой сетями при использовании нескольких хостовбастионов в ЭП · “прозрачность” работы для любых сетевых служб и любой структуры внутренней сети · Использование только мощных хостовбастионов из-за большого объема вычислений · Техническое обслуживание (установка, конфигурирование) может осуществляться только специалистами Как видно из табл.1 межсетевой экран является наиболее распространенным средством усиления традиционных средств защиты от несанкционированного доступа и используется для обеспечения защиты данных при организации межсетевого взаимодействия. Конкретные реализации МЭ в значительной степени зависят от используемых вычислительных платформ, но, тем не менее, все системы этого класса используют два механизма, один из которых обеспечивает блокировку сетевого трафика, а второй, наоборот, разрешает обмен данными. При этом некоторые версии МЭ делают упор на блокировании нежелательного трафика, а другие — на регламентировании разрешенного межмашинного обмена. Межсетевой экран FireWall/Plus предназначен для решения трех основных задач: защита ресурсов корпоративных сетей от атак со стороны Internet; реализация мер безопасности (для выделенного сервера/группы серверов); разделение сегментов внутренней сети для предотвращения попыток НСД со стороны внутреннего пользователя. Существенной особенностью данного МЭ является возможность работы с более 390 протоколами различных уровней. Благодаря мощному встроенному языку написания фильтров имеется возможность описать любые условия фильтрации. Такая особенность позволяет более эффективно решать задачи разделения сегментов корпоративной сети, в которой используются продукты, работающие со стеками TCP/IP, IPX, DECNet протоколов. Механизм описания протоколов прикладного уровня позволяет создать специфические схемы разграничения доступа пользователей. FireWall/Plus обеспечивает защиту при работе с Web, FTR, URL, приложениями ActiveX и Java, а также с электронной почтой. Межсетевой экран FireWall/Plus обеспечивает обнаружение и борьбу со следующими атаками: Атаки на аутентификацию сервера; атаки на протокол finger (с внешней и внутренней стороны); определение номера начального пакета соединения TCP; незаконная переадресация; 130 атаки на DNS-доступ; атаки на FTR-аутентификацию; атаки на несанкционированную пересылку файлов; атаки на удаленную перезагрузку; подмена IP-адресов; спуфинг МАС-адреса; атаки на доступность (шторм запросов); атаки на резервный порт сервера; атаки с помощью серверов удаленного доступа; атаки на анонимный FTR-доступ. Такое количество блокируемых атак определяется прежде всего тем, что FireWall/Plus поддерживает три метода преобразования сетевых адресов: один к одному; один ко многим; многие ко многим. Ему не нужен собственный IP-адрес. Эта особенность делает его полностью прозрачным в сети и практически неуязвимым при различных атаках. Рассмотренные возможности межсетевого экрана FireWall/Plus, являющегося представителем современного поколения МЭ, показывают, насколько динамично развивается данное направление средств защиты. Сертификация межсетевых экранов В настоящее время Гостехкомиссией России принят рабочий документ “Средства вычислительной техники. Межсетевые экраны. Защита от несанкционированного доступа к информации. Показатели защищенности от несанкционированного доступа к информации”. Этот документ позволяет не только упорядочить требования по защите информации, предъявляемые к межсетевым экранам, но и сопоставлять защитные свойства изделий этого вида. С учетом перспектив в области сертификации средств защиты информации под руководством Гостехкомиссии России Центром безопасности информации (г. Юбилейный Московской области) организована разработка типовой методики по проведению сертификационных испытаний межсетевых экранов. Эта методика прошла испытания в ряде лабораторий, аккредитованных в системе сертификации Гостехкомиссии России. В настоящее время на российском рынке уже появились сертифицированные межсетевые экраны высокого класса защищенности, в том числе “Застава-Джет” (2 класс), “Застава” и “AltaVista Firewall 97” (3 класс защищенности). Эти изделия обеспечивают надежную защиту информационных ресурсов от несанкционированного доступа. 7.6.2.2 Программные методы защиты, применяемые в сети Internet К программным методам защиты в сети Internet можно отнести прежде всего защищенные криптопротоколы, с использованием которых появляется возможность надежной защиты соединения. В следующем пункте пойдет речь о существующих на сегодняшний день в Internet подходах и основных, уже разработанных, криптопротоколах. К иному классу программных методов защиты от удаленных атак относятся существующие на сегодняшний день программы, основная цель которых - анализ сетевого трафика на предмет наличия одного из известных активных удаленных воздействий. 1. SKIP-технология и криптопротоколы SSL, S-HTTP как основное средство защиты соединения и передаваемых данных в сети Internet Очевидно, что одна из основных причин успеха удаленных атак на распределенные ВС кроется в использовании сетевых протоколов обмена, которые не могут надежно идентифицировать удаленные объекты, защитить соединение и передаваемые по нему данные. Поэтому совершенно естественно, что в процессе функционирования Internet были созданы различные защищенные сетевые протоколы, использующие криптографию как с закрытым, так и с открытым ключом. Классическая криптография с симметричными криптоалгоритмами предполагает наличие у передающей и принимающей стороны симметричных (одинаковых) ключей для шифрования и дешифрирования сообщений. Эти ключи предполагается распределить заранее между конечным числом абонентов, что в криптографии называется стандартной проблемой статического 131 распределения ключей. Очевидно, что применение классической криптографии с симметричными ключами возможно лишь на ограниченном множестве объектов. В сети Internet для всех ее пользователей решить проблему статического распределения ключей, очевидно, не представляется возможным. Однако одним из первых защищенных протоколов обмена в Internet был протокол Kerberos, основанный именно на статическом распределении ключей для конечного числа абонентов. Таким же путем, используя классическую симметричную криптографию, вынуждены идти наши спецслужбы, разрабатывающие свои защищенные криптопротоколы для сети Internet. Это объясняется тем, что почему-то до сих пор нет гостированного криптоалгоритма с открытым ключом. Везде в мире подобные стандарты шифрования давно приняты и сертифицированы, а мы, видимо, опять идем другим путем! Итак, понятно, что для того, чтобы дать возможность защититься всему множеству пользователей сети Internet, а не ограниченному его подмножеству, необходимо использовать динамически вырабатываемые в процессе создания виртуального соединения ключи при использовании криптографии с открытым ключом. Далее мы рассмотрим основные на сегодняшний день подходы и протоколы, обеспечивающие защиту соединения. SKIP (Secure Key Internet Protocol)-технологией называется стандарт инкапсуляции IP-пакетов, позволяющий в существующем стандарте IPv4 на сетевом уровне обеспечить защиту соединения и передаваемых по нему данных. Это достигается следующим образом: SKIP-пакет представляет собой обычный IP-пакет, поле данных которого представляет из себя SKIP-заголовок определенного спецификацией формата и криптограмму (зашифрованные данные). Такая структура SKIP-пакета позволяет беспрепятственно направлять его любому хосту в сети Internet (межсетевая адресация происходит по обычному IP-заголовку в SKIP-пакете). Конечный получатель SKIP-пакета по заранее определенному разработчиками алгоритму расшифровывает криптограмму и формирует обычный TCP- или UDP-пакет, который и передает соответствующему обычному модулю (TCP или UDP) ядра операционной системы. В принципе, ничто не мешает разработчику формировать по данной схеме свой оригинальный заголовок, отличный от SKIP-заголовка. S-HTTP (Secure HTTP) - это разработанный компанией Enterprise Integration Technologies (EIT) специально для Web защищенный HTTP-протокол. Протокол S-HTTP позволяет обеспечить надежную криптозащиту только HTTP-документов Web-севера и функционирует на прикладном уровне модели OSI. Эта особенность протокола S-HTTP делает его абсолютно специализированным средством защиты соединения, и, как следствие, невозможное его применение для защиты всех остальных прикладных протоколов (FTP, TELNET, SMTP и др.). Кроме того, ни один из существующих на сегодняшний день основных Web-броузеров (ни Netscape Navigator 3.0, ни Microsoft Explorer 3.0) не поддерживают данный протокол. SSL (Secure Socket Layer) - разработка компании Netscape - универсальный протокол защиты соединения, функционирующий на сеансовом уровне OSI. Этот протокол, использующий криптографию с открытым ключом, на сегодняшний день, по нашему мнению, является единственным универсальным средством, позволяющим динамически защитить любое соединение с использованием любого прикладного протокола (DNS, FTP, TELNET, SMTP и т. д.). Это связано с тем, что SSL, в отличие от S-HTTP, функционирует на промежуточном сеансовом уровне OSI (между транспортным - TCP, UDP, - и прикладным - FTP, TELNET и т. д.). При этом процесс создания виртуального SSL-соединения происходит по схеме Диффи и Хеллмана (п. 6.2), которая позволяет выработать криптостойкий сеансовый ключ, используемый в дальнейшем абонентами SSL-соединения для шифрования передаваемых сообщений. Протокол SSL сегодня уже практически оформился в качестве официального стандарта защиты для HTTP-соединений, то есть для защиты Web-серверов. Его поддерживают, естественно, Netscape Navigator 3.0 и, как ни странно, Microsoft Explorer 3.0 (вспомним ту ожесточенную войну броузеров между компаниями Netscape и Microsoft). Конечно, для установления SSL-соединения с Web-сервером еще необходимо и наличие Web-сервера, поддерживающего SSL. Такие версии Web-серверов уже существуют (SSL-Apachе, например). В заключении разговора о протоколе SSL нельзя не отметить следующий факт: законами США до недавнего времени был запрещен экспорт криптосистем с длиной ключа более 40 бит (недавно он был увеличен до 56 бит). Поэтому в существую132 щих версиях броузеров используются именно 40-битные ключи. Криптоаналитиками путем экспериментов было выяснено, что в имеющейся версии протокола SSL шифрование с использованием 40-битного ключа не является надежной защитой для передаваемых по сети сообщений, так как путем простого перебора (240 комбинаций) этот ключ подбирается за время от 1,5 (на суперЭВМ Silicon Graphics) до 7 суток (в процессе вычислений использовалось 120 рабочих станций и несколько мини ЭВМ). Итак, очевидно, что повсеместное применение этих защищенных протоколов обмена, особенно SSL (конечно, с длиной ключа более 40 бит), поставит надежный барьер на пути всевозможных удаленных атак и серьезно усложнит жизнь кракеров всего мира. Однако весь трагизм сегодняшней ситуации с обеспечением безопасности в Internet состоит в том, что пока ни один из существующих криптопротоколов (а их уже немало) не оформился в качестве единого стандарта защиты соединения, который поддерживался бы всеми производителями сетевых ОС! Протокол SSL, из имеющихся на сегодня, подходит на эту роль наилучшим образом. Если бы его поддерживали все сетевые ОС, то не потребовалось бы создание специальных прикладных SSL-совместимых серверов (DNS, FTP, TELNET, WWW и др.). Если не договориться о принятии единого стандарта на защищенный протокол сеансового уровня, то тогда потребуется принятие многих стандартов на защиту каждой отдельной прикладной службы. Например, уже разработан экспериментальный, никем не поддерживаемый протокол Secure DNS. Также существуют экспериментальные SSL-совместимые Secure FTP- и TELNET-серверы. Но все это без принятия единого поддерживаемого всеми производителями стандарта на защищенный протокол не имеет абсолютно никакого смысла. А на сегодняшний день производители сетевых ОС не могут договориться о единой позиции на эту тему и, тем самым, перекладывают решение этих проблем непосредственно на пользователей Internet и предлагают им решать свои проблемы с информационной безопасностью так, как тем заблагорассудится! 2. Сетевой монитор безопасности IP Alert-1 Необходимо программное средство защиты, осуществляющее комплексный контроль (мониторинг) на канальном уровне за всем потоком передаваемой по сети информации с целью обнаружения всех типов удаленных воздействий. Исследование рынка программного обеспечения сетевых средств защиты для Internet выявило тот факт, что подобных комплексных средств обнаружения удаленных воздействий по нашим сведениям не существует, а те, что имеются, предназначены для обнаружения воздействий одного конкретного типа. Поэтому и была начата разработка средства контроля сегмента IP-сети, предназначенного для использования в сети Internet и получившее следующее название: сетевой монитор безопасности IP Alert-1. Основная задача этого средства, программно анализирующего сетевой трафик в канале передачи, состоит не в отражении осуществляемых по каналу связи удаленных атак, а в их обнаружении, протоколировании (ведении файла аудита с протоколированием в удобной для последующего визуального анализа форме всех событий, связанных с удаленными атаками на данный сегмент сети) и незамедлительным сигнализировании администратору безопасности в случае обнаружения удаленной атаки. Основной задачей сетевого монитора безопасности IP Alert-1 является осуществление контроля за безопасностью соответствующего сегмента сети Internet. Сетевой монитор безопасности IP Alert-1 обладает следующими функциональными возможностями и позволяет, путем сетевого анализа, обнаружить следующие удаленные атаки на контролируемый им сегмент сети Internet. Функциональные возможности сетевого монитора безопасности IP Alert-1 1. Контроль за соответствием IP- и Ethernet-адресов в пакетах, передаваемых хостами, находящимися внутри контролируемого сегмента сети. 2. Контроль за корректным использованием механизма удаленного ARP-поиска. 3. Контроль за корректным использованием механизма удаленного DNS-поиска. 4. Контроль на наличие ICMP Redirect сообщения. 5. Контроль за корректностью попыток удаленного подключения путем анализа передаваемых запросов. Эта функция позволяет обнаружить, во-первых, попытку исследования закона изменения начального значения идентификатора TCP-соединения - ISN , во-вторых, удаленную атаку "от133 каз в обслуживании" , осуществляемую путем переполнения очереди запросов на подключение, и, в-третьих, направленный "шторм" ложных запросов на подключение (как TCP, так и UDP), приводящий также к отказу в обслуживании. 7.7 Удаленные атаки на телекоммуникационные службы Интернет - это сеть UNIX-машин. Поэтому большинством всех проблем, которые возникают сегодня в Сети, - и особенно проблемами безопасности - мы должны быть "благодарны" UNIX. 7.7.1 Направления атак и типовые сценарии их осуществления в ОС UNIX Рассмотрим второй подвид атак, осуществляемых в сети - атаки на телекоммуникационные службы удаленных компьютеров. Эти компьютеры могут находиться на другом континенте или быть в соседней с вами комнате - это никак не может быть вами замечено, кроме, может быть, скорости ответа на ваши запросы. Итак, какие же цели преследует кракер, атакующий извне ваш компьютер? Видимо, их может быть несколько: 1. получить доступ к важной информации, хранящейся на удаленном компьютере. 2. получить доступ к ресурсам удаленной системы. Это может быть как процессорное время, так и дисковое пространство (например, для организации пиратского ftp-сайта (site). 3. иметь плацдарм для осуществления цели 1), но для атаки на другой компьютер - тогда в журналах атакованного компьютера будет значиться, что атака осуществлялась с вашего адреса; 4. как пробный шар, отладка механизмов атак на другие хосты. Теперь рассмотрим основные пути получения взломщиком несанкционированного доступа на компьютер. Как известно, в UNIX различают два вида пользователей - обычный пользователь, имеющий права на доступ в рамках своего идентификатора (UID, user id) и членства в группе (GID, group ID) (в UNIX каждый пользователь в текущий момент может быть членом только одной группы, соответственно, он имеет один UID и один GID); а также так называемый суперпользователь (root), имеющий неограниченные права (UID и GID у него равны специальному значению 0). По мере развития среди обычных пользователей выделились так называемые специальные пользователи. Они обычно имеют зарезервированные имена (например, guest, bin, uucp и т.п.) и номера UID и GID (например, они всегда меньшие 100). Хотя нет никакого особого механизма в защите UNIX, отличающего специального пользователя от обычного можно сказать, что первый имеет еще меньшие права, чем второй. В частности, специальным пользователям обычно нельзя зайти в систему нормальным образом. Самым интересным для нас примером специального пользователя является анонимный пользователь ftp, который так и называется - anonymous или ftp. Наконец, условно к категории пользователей можно отнести человека, удаленно подключившегося (обычно по протоколу TELNET) к вашей машине и взаимодействующего с одной из программ-демонов (в современной терминологии такие программы называются серверами). Эти программы обычно стартуют при загрузке машины, чаще всего от имени суперпользователя и всегда активны как процессы. Это позволяет пользователю в любой момент времени удаленно подключаться к ним, но при этом он не имеет никаких прав на чтение/запись информации на вашем компьютере, он вообще не идентифицируется системой UNIX (командой who). Однако он может исполнять некоторые команды - не программы UNIX, а команды-запросы к тому демону, к которому он подключен. Так, подключившись по протоколу TELNET на 25 порт, можно вводить команды SMTP-сервера, например, mail или expn. Последний тип пользователя (назовем его псевдопользователь) оказывается чуть ли не самым важным для нашего рассмотрения, т.к., не обладая никакими правами (и обязанностями тоже, кстати - от него не требуется 134 аутентификация, учет по нему тоже не ведется), он взаимодействует с демонами, которые практически всегда имеют полномочия суперпользователя. Итак, условно иерархию пользователей на UNIX-машине можно представить как: 1. Суперпользователь - неограниченные права. 2. Обычный пользователь - права, ограниченные ему суперпользователем. 3. Специальный пользователь - права, ограниченные ему суперпользователем для работы с конкретным приложением. 4. Псевдопользователь - нет никаких прав, он вообще не идентифицируется системой. Очевидно, что любой пользователь Интернет всегда имеет привилегии уровня 3 на вашем хосте, а также, если поддерживается соответствующий сервис, привилегии уровня 2. Таким образом, задачей хакера будет являться несанкционированное получение привилегий более высокого уровня. (Заметим, кстати, что вовсе необязательно конечной целой хакера является получение именно привилегий суперпользователя - вирус Морриса, например, даже и не пытался сделать этого.) Эту задачу он, очевидно, может попытаться решить различными путями: либо получить сразу требуемые привилегии, либо постепенно наращивать их. Рассмотрим далее типовые сценарии их получения и средства UNIX, делающие их возможными. 1. "Сразу в дамки" - имея привилегии уровня 3, хакер получает права суперпользователя. Как уже отмечалось, такой фантастический прыжок возможен "благодаря" механизму демонов UNIX, отвечающих за обработку удаленных запросов. Т. к. эти демоны выполняются от имени суперпользователя, то все, что надо сделать псевдопользователю - это знать (существующие или найти самому) "дыры" или ошибки в этих демонах, которые позволят эксплуатировать их нестандартным или запрещенным образом. Обычно это сводится к возможности удаленно выполнить от их имени любую команду на атакуемом хосте - какую конкретно, зависит от намерений и характера хакера. Иногда это может быть создание ошибочной ситуации, приводящей к аварийному завершению демона с выдачей дампа памяти на диск, содержащий весьма полезную для хакера информацию (например, кэшированные пароли). Типичными примерами уязвимых демонов были и остаются sendmail, ftpd, fingerd. Новые демоны (типа httpd или talkd) имеют гораздо меньшую историю эксплуатации, соответственно, известно меньшее число их дыр и, соответственно, тем перспективнее они для поиска новых. 2. "Из специального - в обычного или выше" . Этот сценарий очень похож на описанный выше, с тем исключением, что для хакера требуются начальные привилегии уровня 2 (иначе говоря, запущен некоторый дополнительный сервис). Чтобы четко отличать эти атаки от предыдущего типа, будем требовать, что в этом случае злоумышленник всегда проходит некую (пусть примитивную) идентификацию и, возможно, аутентификацию. Это не очень серьезное допущение, большинство хостов поддерживают некоторый удобный (например, анонимный ftp) или необходимый сервис (типа tftp для удаленной загрузки бездисковых станций). Привилегии уровня 2 могут дать возможность хакеру читать некоторые файлы (например, из ~ftp/pub), и, что самое главное, записывать свои файлы на ваш компьютер (в каталог типа ~ftp/incoming). С другой стороны, т. к. Пользователь регистрируется на вашем компьютере, в его файлах-протоколах остается некоторая информация о подключении. Типичным примером атаки по данному сценарию является атака, которая по протоколу tftp получает файл паролей /etc/passwd, и затем с его помощью подбираются пароли пользователей. Этот пример показывает, что необязательно желаемые привилегии будут получены немедленно, подобные атаки могут лишь создать предпосылки для их возможного получения в дальнейшем. Хосты, допускающие подобные атаки, также должны считаться катастрофически незащищенными в случае, если используемый в них сервис нельзя отключить без ущерба функционированию системы. 3. "Маловато будет: из обычного - в суперпользователи" . Этот сценарий, пожалуй, наиболее прост, широко распространен и подавляющее большинство сообщений о так назваемых "дырах" в UNIX относится именно к нему. Для его осуществления злоумышленник должен уже 135 быть обычным пользователем (иногда говорят, что он имеет бюджет (account)) на том компьютере, который он собирается взламывать. Это, с одной стороны, серьезное ограничение на масштабность проникновения, с другой стороны, большинство утечек информации происходит через "своих" , через подкупленного сотрудника, который пусть и не имеет больших полномочий, но уж входное имя на секретный компьютер у него будет. Своей осуществимостью атаки данного рода обязаны очередному недостатку безопасности UNIX, который называется механизм SUID/SGID-процессов. 4. "Он слишком многим доверял". Взлом производит обычно псевдопользователь, повышая свои полномочия до обычного, с использованием механизма доверия. Термин "доверие", также оказывающийся одной из важнейших брешей в безопасности UNIX, пришел из тех далеких времен, когда компьютерные системы хотели доверять друг другу. "Доверие" употребляется всякий раз, когда возникает ситуация, в которой хост может позволить пользователю (как правило удаленному) использовать локальные ресурсы без аутентификации (ввода пароля). 7.7.2. Причины существования уязвимостей в UNIX-системах 1. Наличие демонов. 2. Механизм SUID/SGID-процессов. Эти механизмы, являющиеся неотъемлемой частью идеологии UNIX, были и будут лакомым кусочком для хакеров, т. к. в этом случае пользователь всегда взаимодействует с процессом, имеющим большие привилегии, чем у него самого, и поэтому любая ошибка или недоработка в нем автоматически ведет к возможности использования этих привилегий. 3. Излишнее доверие. Об этом уже достаточно говорилось выше. Повторим, что в UNIX достаточно много служб, использующих доверие, и они могут тем или иным способом быть обмануты. К этим трем причинам нельзя не добавить следующую: 4. Человеческий фактор с весьма разнообразными способами его проявления - от легко вскрываемых паролей у обычных пользователей до ошибок у квалифицированных системных администраторов, многие из которых как раз и открывают путь для использования механизмов доверия. 136 Рис. 7.6. Причины уязвимости UNIX при атаках на телекоммуникационные службы. Защита хоста Проанализировав причины, по которым происходят успешные нападения на хосты UNIX, будет сформулируем те принципы, на которых будет строиться защита. При этом будем придерживаться следующих концепций: актуальность - защищаться надо от реальных атак, а не от фантастических или, наоборот, времен вируса Морриса; разумность затрат - поскольку 100% защиты мы все равно не обеспечим, надо найти тот рубеж, за которым затраты на дальнейшее повышение безопасности оказываются выше стоимости той информации, которую может украсть кракер. Итак, ниже приводится список очень простых правил и действий за которым следует процент отсеченных на этом этапе кракеров. Поставив перед собой цель защитить свой хост на N процентов, вы можете сами решить, на каком из них вам остановиться: 1. Прочитайте, наконец, руководство по администрированию вашей системы, и наверняка вы найдете там некоторые полезные советы, которые захотите применить. 2. Поставьте последние версии sendmail, ftpd и httpd. Этим вы сразу отсеете до 30% (самых невежественных или ленивых) кракеров. 3. Запустите программу автоматизированного контроля вашего хоста, типа SATAN или ISS. Почему типа? Дело в том, что на сегодняшний день эти программы явно устарели, а новых мы пока не можем вам предложить. Из этого не следует, что, когда вы будете чи- 137 тать эти строки, таковых не появится. Вероятно, они сделают то же, что и предлагается ниже, только вам это будет стоить гораздо меньше. 4. Проверьте настройки вашего NFS-сервиса, а также содержимое файлов /etc/hosts.equiv и .rhosts (или подобных) для каждого пользователя. У NFS не должно быть экспорта любых каталогов для everyone, а необходимость включения каждого доверенного хоста должна быть еще раз проверена. Уже до 50% кракеров не смогут забраться к вам. 5. Сходите в CERT или CIAC (см. адреса в приложении) и внимательно прочитайте их бюллетени за последнее время. Установите все рекомендуемые патчи (patch). Этим вы отсеете еще 20% взломщиков, так что уже 70% вы сможете остановить. 6. Правильно настройте (или установите) ваш файрвол. Из этого не следует, что вы должны запретить все и всем, запретите лишь все неиспользуемые вами порты и протоколы. Поставьте сетевой монитор безопасности IP-Alert 1 (см. п. 7.2.2.2). Уже более 80% злоумышленников будет скрежетать зубами от злости. 7. Станьте на несколько часов хакером и напустите на файл /etc/passwd (или затененный (shadow) аналог / etc/ shadon) последний взломщик паролей. Здесь у вас большое преимущество перед хакерами - этот файл слишком просто получить, и грех не воспользоваться такой удачей. С теми пользователями, пароли которых были вскрыты автоматически, надо усилить разъяснительную работу. Не забудьте затенить ваш файл паролей. Еще 10% кракеров будет убито наповал, и вы победили уже 90% из них. 8. Проверьте настройки всех остальных служб, особенно использующих доверие (типа NIS или X-Window). Откажитесь от них по возможности - и празднуйте победу над около 95% взломщиков. 9. Сходите еще раз в CERT или CIAC и прочитайте ВСЕ их бюллетени. Установите все рекомендуемые ими и производителями вашего UNIX патчи. Да, это потребует много времени, но вы будете вознаграждены тем, что 97% кракеров для вас перестанут быть опасными. 10. Попросите разрешения у администраторов всех доверенных хостов, найденных вами на шаге 4, просканировать их хосты на предмет безопасности. Для этого можно воспользоваться тем же SATAN'ом, но вам нужно смотреть в первую очередь не на найденные им уязвимости (они вряд ли уже актуальны), а на список использованных сервисов и программ-демонов, их поддерживающих. Это можно сделать, вручную проанализировав файл с результатами работы SATAN. Если вы найдете уязвимую программу там, попросите соседнего администратора обновить ее. Если он не зря занимает свое место, то он с благодарностью это сделает. Итак, 99% кракеров никогда не попадут на ваш, уже почти полностью безопасный хост. Остальные меры, направленные на отлов последнего процента самых достойных кракеров, являются превентивными в том смысле, что не направлены конкретно на ту или иную службу. Возможно, они будут сопряжены с более или менее значительной переделкой вашего хоста. 11. Придумайте какую-нибудь собственную изюминку, очень простую, но которая сможет привести слишком умных кракеров в тупик, типа переименования какой-нибудь важной команды или сообщения на входе "FSB host. Vvedite vashe imya i zvanie:" . 12. Поставьте монитор всех входящих соединений (типа tcp_wrapper). Этим вы сможете если не остановить, то хоть увидеть следы кракера и понять его логику для дальнейшего закрытия этой лазейки. 13. Избавьтесь от sendmail, поставьте другой SMTP-демон. 14. Выкиньте некоторые малоиспользуемые службы (типа finger, talk, rpc) и ужесточите настройки вашего файрвола. 15. Поставьте proxy-сервер для дополнительной аутентификации извне, а также для скрытия адресов и топологии внутренней подсети. 16. Перенесите весь сервис, требующий входящих соединений (http, SMTP), на отдельную машину и оставьте ее в открытой сети. Удалите с этой машины все программы и инфор138 мацию, не относящуюся к ее назначению. Все остальные машины спрячьте за файрволом с полным отключением входящего трафика. 17. Поставьте защищенную версию UNIX или другой операционной системы 7.7.3. Средства автоматизированного контроля безопасности Мы уже говорили о полезности средства автоматизированного контроля безопасности отдельного компьютера, а также всей подсети, за которую он отвечает, для системного администратора. Естественно, что такие средства уже появлялись, и чаще других встречаются названия ISS (Internet Security Scaner), COPS (Computer Oracle and Password System) и, конечно, SATAN (Security Administrator Tool for Analizyng Networks). К сожалению, им обычно присущи следующие недостатки: 1. системозависимость - обычно они рассчитаны на вполне конкретную ОС или даже ее версию; 2. ненадежность и неадекватность - если эти программы сообщают, что все "О'key" , это совсем не значит, что так на самом деле и есть; и наоборот - некая "уязвимость" , с их точки зрения, может оказаться специальным вариантом конфигурации системы; 3. малое время жизни - т. к. с момента обнаружения уязвимости до ее искоренения проходит не очень большое время (порядка года), программа быстро устаревает; 4. неактуальность - более того, с момента выхода программы в свет все новые (поэтому самые опасные) уязвимости оказываются неизвестными для нее, и ее ценность быстро сводится к нулю. Этот недостаток является самым серьезным; 5. наконец, это возможность их использования с прямо противоположными целями - для поиска изъянов в вашей системе. Можно заметить явную аналогию этих программ с антивирусными сканерами первого поколения - те знали лишь строго определенный набор вирусов, новые вирусы добавлялись только в следующем выпуске программы. Если посмотреть на возможности современных антивирусных программ - это и оперативное лечение вирусов, и автоматизированное пополнение базы вирусов самим пользователем, и поиск неизвестных вирусов, - то можно пожелать, чтобы хороший сканер интернета смог позаимствовать некоторые из них. В первую очередь - это возможность пополнения базы новыми уязвимостями. Причем в наши дни это несложно сделать - стоит лишь скачивать информацию с источников, занимающихся как раз сбором таких сведений, типа CERT или CIAC. Программа SATAN После общего введения мы посчитали невозможным не ознакомить читателя в общих чертах с таким нашумевшим средством, как SATAN, которое иногда считается чуть ли ни самой опасной программой из когда бы то ни было написанных, начиная от своего зловещего названия до возможности влезть чуть ли не в самый защищенный компьютер. Насчет названия сразу подчеркнем, что в момент инсталляции с помощью специальной процедуры вы можете поменять его на SANTA (Security Analysis Network Tool for Administrator), а заодно и зловещего сатану на симпатичного Деда Мороза. А что касается влезания в компьютер (не любой, конечно) - если подобная программа и имеется у хакеров или спецслужб, то она никогда не стала бы свободно распространяться по интернету, как это происходит с SATAN. На самом деле SATAN - это добротно сделанная, с современным интерфейсом, программа для поиска брешей в вашей подсети (Intranet, как модно говорить в последнее время), написанная на машинно-независимых языках Perl и С, поэтому она в некоторой мере преодолевает первый из вышеописанных недостатков. Она даже допускает возможность для расширения и вставки новых модулей. К сожалению, во всем остальном ей присущи указанные недостатки, в т.ч. и самый главный - она уже устарела, и не может сейчас серьезно использоваться ни администраторами, ни хакерами. Поэтому непонятен мистический страх перед всемогуществом SATAN'а. 139 Авторы, готовя материал для данной книги, сами столкнулись с таким отношением и были немало этим удивлены. Однако на момент выхода это была достаточно актуальная программа. Она содержала в себе поиск большинства уязвимостей, описанных нами в п. 8.5.2 и была построена на статье [16] (или эта статья вылилась из работы над SATAN'ом). В частности, программа ищет уязвимости в: FTP и TFTP; NFS и NIS; rexd; sendmail; r-службах; X-Window. Существуют также более поздние версии SATAN'а, в которые включен поиск и других уязвимостей. Для этого она сначала всевозможным образом собирает информацию о вашей системе, причем уровень этого конфигурируется пользователем и может быть: легкий, нормальный и жесткий. Легкий уровень, по утверждению авторов программы, не может быть никак обнаружен атакуемой стороной (по крайней мере, такая активность программы никак не может быть принята за враждебную) и включает в себя DNS-запросы для выяснения версии операционной системы и другой подобной информации, которая может быть легально получена с использованием DNS. Далее она посылает запрос на службу RPC (remote procedure call) для выяснения, какие rpcсервисы работают. Нормальный уровень разведки включает в себя все эти запросы, а также дополняет их посылкой запросов (сканированием) некоторых строго определенных портов, таких как FTP, telnet, SMTP, NNTP, UUCP и др. для определения установленных служб. Наконец, жесткий уровень включает в себя все предыдущие уровни, а также дополняется полным сканированием всех (возможных) UDP- и TCP-портов для обнаружения нестандартных служб или служб на нестандартных портах. Авторы предостерегают, что такое сканирование может быть легко зафиксировано даже без специальных программ - например, на консоли могут появляться сообщения от вашего файрвола. Другой важной опцией, задаваемой при настройке SATAN'a, является глубина просмотра подсетей (proximity). Значение 0 означает только один хост, 1 - подсеть, в которую он входит, 2 все подсети, в которые входит подсеть данного хоста, и т. д. Авторы подчеркивают, что ни при каких обстоятельствах это число не должно быть более 2, иначе SATAN выйдет из-под контроля и просканирует слишком много внешних подсетей. Собственно, ничем более страшным, кроме как сканированием портов и обнаружением работающих служб и их конфигурации, SATAN не занимается. При этом, если находятся потенциальные уязвимости, он сообщает об этом. Как пишут сами авторы, фаза проникновения в удаленную систему не была реализована. Авторы SATAN'а используют очень современный интерфейс - все сообщения программы оформляются в виде HTML-страниц. Поэтому работа с SATAN'ом мало чем отличается от плавания (surf) по интернету в своем любимом броузере (SATAN поддерживает любой из них, будь то lynx, Mosaic или Netscape). Пользователь может отсортировать найденные уязвимости (по типу, серьезности и т. п.) и тут же получить развернутую информацию по каждой из них. Для поддержки броузеров в SATAN входит собственный http-сервер, выполняющий ограниченное число запросов, а связь с этим сервером осуществляется c использованием случайного 32битного числа (magic cookie), которое служит для дополнительной аутентификации httpклиента. Иначе говоря, оно служит для предотвращения перехвата конфиденциальной информации броузером, отличным от запущенного SATAN'ом, а также вообще против любого взаимодействия с http-сервером SATAN'а. Любопытно, что в версиях до 1.1.1 в этой схеме аутентификации тоже была ошибка, которая даже попала в один из бюллетеней CERT. Итак, типичный сценарий работы с SATAN заключается в следующем: 140 1. 2. 3. 4. настроить желаемые параметры, в том числе глубину сканирования; задать адрес цели и уровень сканирования; просмотреть полученные результаты и получить по ним более подробную информацию; устранить найденные уязвимости. Администратору безопасности рекомендуется просканировать на жестком уровне все свои хосты, а также все доверенные хосты, обязательно спросив на это разрешение у их администраторов. Это рекомендуется сделать даже сегодня, несмотря на то, что SATAN устарел - вы сможете быстро получить список используемых сетевых служб и их версий и проверить, нет ли среди них уязвимых, воспользовавшись материалами CERT или CIAC. Internet Scaner (ISS) Уже после того, как была написана эта глава, мы столкнулись с программой, которая болееменее удовлетворяет перечисленным требованиям к современному средству автоматизированной проверки безопасности хоста. По крайней мере, она регулярно обновляется. Она оригинально называется Internet Scaner SAFESuite и распространяется компанией Internet Security Systems (ISS - не путать с Internet Security Scaner) по адресу http://www.iss.net. Как вы уже догадались, эта программа не бесплатна, в отличие от SATAN, что в данном случае и неплохо - это несколько ограничит число потенциальных кракеров. Для запуска она требует ключ, пересылаемый вам при покупке пакета, а в оценочную (evaluation) версию включен ключ, который разрешит вам сканирование только своего собственного хоста. Эта программа реализована под 6 платформ: Windows NT, HP/UX 9.x и 10.x,, AIX 3.2.5 и 4.1, Linux (ELF), SunOS 4.1.3, Solaris (SPARC) 2.x, при этом любая из реализаций знает уязвимости и других платформ. Функционально она состоит из трех частей: сканер файрвола, Web-сканер и сканер Intranet. При этом, как и в SATAN, пользователь настраивает уровень сканирования. При этом он имеет возможность редактировать следующие любопытные классы уязвимостей: в NFS, в RPC, в Sendmail/FTP, в X Windows, IP Spoofing (включая возможность предсказания TCP-последовательности и атаки на rслужбы), отказ в обслуживании (различные способы), наличие пользователей по умолчанию, тестирование стандартных демонов и правильности их настроек, правильность настроек файрвола, наличие ошибок и правильность администрирования Web-сервера. К сожалению, мы не успели проверить качество работы и адекватность тестирования этой программой, но, видимо, на сегодняшний день она является одной из лучших. Оценка безопасности Internet Исходно сеть создавалась как незащищенная открытая система, предназначенная для информационного общения все возрастающего числа пользователей. 141 При этом подключение новых пользователей должно было быть максимально простым, а доступ к информации — наиболее удобным. Все это явно противоречит принципам создания защищенной системы, безопасность которой должна быть описана на всех стадиях ее создания и эксплуатации, а пользователи — наделены четкими полномочиями. Создатели сети не стремились к этому, да и требования защиты настолько бы усложнили проект, что сделали бы его создание едва ли возможным. Вывод: Internet создавался как незащищенная система, не предназначенная для хранения и обработки конфиденциальной информации. Более того, защищенный Internet не смог бы стать той системой, которой он сейчас является и не превратился бы в информационный образ мировой культуры, ее прошлого и настоящего. В этом самостоятельная ценность Сети и, возможно, ее небезопасность есть плата за такое высокое назначение. Следствие: Имеется множество пользователей, заинтересованных в том, чтобы Internet стал системой с категорированной информацией и полномочиями пользователями, подчиненными установленной политике безопасности. Однако наиболее яркие творения человеческого разума через некоторое время начинают жить самостоятельной жизнью, развиваясь и выходя за первоначальные замыслы создателей. Поэтому слабая защищенность сети с течением времени стала все больше беспокоить ее пользователей. На наш взгляд, в Сети не должна находиться информация, раскрытия которой приведет к серьезным последствиям. Наоборот, в Сети необходимо размещать информацию, распространение которой желательно ее владельцу. При этом всегда необходимо учитывать тот факт, что в любой момент эта информация может быть перехвачена, искажена или может стать недоступной. Следовательно, речь должна идти не о защищенности Internet, а об обеспечении разумной достаточности информационной безопасности Сети. Конечно, это не отменяет необходимости ознакомления пользователя с богатым и все время возрастающим арсеналом программных и аппаратных средств обеспечения информационной безопасности сети. Тем не менее отметим, что они не в состоянии превратить Internet в защищенную среду, что означило бы изменение ее природы. Тема 8. Политика безопасности компьютерных систем и ее реализация 8.1 Государственные документы об информационной безопасности Информационной безопасностью занимаются давно. Первоначально это было прерогативой государственных организаций, имеющих дело с секретной информацией или отвечающих за обеспечение режима секретности. В 1983 году Министерство обороны США выпустило книгу в оранжевой обложке с названием "Критерии оценки надежных компьютерных систем" (Trusted Computer System Evaluation Criteria, TCSEEC), положив тем самым начало систематическому распространению знаний об информационной безопасности за пределами правительственных ведомств, Во второй половине 1980-х годов аналогичные по назначению документы были изданы в ряде Европейских стран. В 1992 году в России Гостехкомиссия при Президенте РФ издала серию брошюр, посвященных проблеме защиты от несанкционированного доступа. Эта серия не получила широкого распространения. "Оранжевая книга" и издания, следующие в ее фарватере, не дают ответов на вопросы: Как строить безопасные, надежные системы? Как поддерживать режим безопасности? Какие технические средства имеются на рынке для обеспечения информационной безопасности в офисе? поскольку ориентированы в первую очередь на разработчиков информационных систем, а не менеджеров. Да и оценки важности различных аспектов безопасности в государственных и коммерческих структурах различны. 142 Современный подход к обеспечению информационной безопасности предполагает, что защитные мероприятия призваны обеспечить конфиденциальность, целостность и доступность информации. Для режимных государственных организаций на первом месте стоит конфиденциальность, а целостность понимается исключительно как неизменность информации. Для коммерческих структур, вероятно, важнее всего целостность (актуальность) и доступность данных и услуг по их обработке. По сравнению с государственными, коммерческие организации более открыты и динамичны, поэтому вероятные угрозы для них отличаются и количественно, и качественно. В "Оранжевой книге" надежная система определяется как "система, использующая достаточные аппаратные и программные средства, чтобы обеспечить одновременную обработку информации разной степени секретности группой пользователей без нарушения прав доступа". Идейной основой набора Руководящих документов по защите информации от НСД является "Концепция защиты СВТ и" АС от НСД к информации". Концепция "излагает систему взглядов, основных принципов, которые закладываются в основу проблемы защиты информации от несанкционированного доступа (НСД), являющейся частью общей проблемы безопасности информации". В Концепции различаются понятия средств вычислительной техники (СВТ) и автоматизированной системы (АС). Более точно: "Концепция предусматривает существование двух относительно самостоятельных и, следовательно, имеющих отличие направлений в проблеме защиты информации от НСД. Это — направление, связанное с СВТ, и направление, связанное с АС. Отличие двух направлений порождено тем, что СВТ разрабатываются и поставляются на рынок лишь как элементы, из которых в дальнейшем строятся функционально ориентированные АС, и поэтому, не решая прикладных задач, СВТ не содержат пользовательской информации. Помимо пользовательской информации при создании АС появляются такие отсутствующие при разработке СВТ характеристики АС, как полномочия пользователей, модель нарушителя, технология обработки информации. ... При этом защищенность СВТ есть потенциальная защищенность, т.е. свойства предотвращать или существенно затруднять НСД к информации в дальнейшем при использовании СВТ в АС." Существуют различные способы покушения на информационную безопасность — радиотехнические, акустические, программные и т.п. Среди них несанкционированный доступ к информации выделяется как "доступ к информации, нарушающий установленные правила разграничения доступа, с использованием штатных средств, предоставляемых СВТ или АС. Под штатными средствами понимается совокупность программного, микропрограммного и технического обеспечения СВТ или АС." В Концепции формулируются следующие основные принципы защиты от НСД к информации: "... 3.2, Защита СВТ обеспечивается комплексом программно-технических средств. 3.3. Защита АС обеспечивается комплексом программно-технических средств и поддерживающих их организационных мер. 3.4. Защита АС должна обеспечиваться на всех технологических этапах обработки информации и во всех режимах функционирования, в том числе при проведении ремонтных и регламентных работ. 143 3.5. Программно-технические средства защиты не должны существенно ухудшать основные функциональные характеристики АС (надежность, быстродействие, возможность изменения конфигурации АС). 3.6. Неотъемлемой частью работ по защите является оценка эффективности средств защиты, осуществляемая по методике, учитывающей всю совокупность технических характеристик оцениваемого объекта, включая технические решения и практическую реализацию средств защиты. 3.7. Защита АС должна предусматривать контроль эффективности средств защиты от НСД. Этот контроль может быть либо периодическим, либо инициироваться по мере необходимости пользователем АС или контролирующими органами." Концепция ориентируется на физически защищенную среду, проникновение в которую посторонних лиц считается невозможным, поэтому нарушитель правил разграничения доступа определяется как "субъект доступа, осуществляющий несанкционированный доступ к информации". В свою очередь субъект доступа определен как "лицо или процесс, действие которого регламентируются правилами разграничения доступа". В качестве модели нарушителя в АС рассматривается субъект, имеющий доступ к работе со штатными средствами АС и СВТ как части АС. "Нарушители классифицируются по уровню возможностей, предоставляемых им этими средствами. Выделяется четыре уровня этих возможностей. Классификация является иерархической, т.е. каждый следующий уровень включает в себя функциональные возможности предыдущего. 4.2. Первый уровень определяет самый низкий уровень возможностей ведения диалога в AC — запуск задач (программ) из фиксированного набора, реализующих заранее предусмотренные функции по обработке информации. Второй уровень определяется возможностью создания и запуска собственных программ с новыми функциями по обработке информации. Третий уровень определяется возможностью управления функционированием АС, т.е. воздействием на базовое программное обеспечение системы и на состав и конфигурацию ее оборудования. Четвертый уровень определяется всем объемом возможностей лиц, осуществляющих проектирование, реализацию и ремонт технических средств АС, вплоть до включения в состав СВТ собственных технических средств с новыми функциями по обработке информации. 4.3. В своем уровне нарушитель является специалистом высшей квалификации, знает все о АС и, в частности, о системе и средствах ее защиты." В качестве главного средства защиты от НСД к информации в Концепции рассматривается система разграничения доступа (СРД) субъектов к объектам доступа. Основными функциями СРД являются: "реализация правил разграничения доступа (ПРД) субъектов и их процессов к данным; реализация ПРД субъектов и их процессов к устройствам создания твердых копий; изоляция программ процесса, выполняемого в интересах субъекта, от других субъектов; управление потоками данных с целью предотвращения записи данных на носители несоответствующего грифа; реализация правил обмена данными между субъектами для АС и СВТ, построенных по сетевым принципам." Кроме того, Концепция предусматривает наличие обеспечивающих средств для СРД, которые выполняют следующие функции: "идентификацию и опознание (аутентификацию) субъектов и поддержание привязки субъекта к процессу, выполняемому для субъекта; 144 регистрацию действий субъекта и его процесса предоставление возможностей исключения и включения новых субъектов и объектов доступа, а также изменение полномочий субъектов; реакцию на попытки НСД, например, сигнализацию, блокировку, восстановление после НСД; тестирование; очистку оперативной памяти и рабочих областей на магнитных носителях после завершения работы пользователя с защищаемыми данными; учет выходных печатных и графических форм и твердых копий в АС; контроль целостности программной и информационной части как СРД, так и обеспечивающих ее средств." Технические средства защиты от НСД, согласно Концепции, должны оцениваться по следующим основным параметрам: "степень полноты охвата ПРД реализованной СРД и ее качество; состав и качество обеспечивающих средств для СРД; гарантии правильности функционирования СРД и обеспечивающих ее средств". Классификация СВТ по уровню защищенности от НСД Переходя к рассмотрению предлагаемой Гостехкомиссией при Президенте РФ классификации средств вычислительной техники по уровню защищенности от несанкционированного доступа к информации, отметим ее близость к классификации "Оранжевой книги". "Устанавливается семь классов защищенности СВТ от НСД к информации. Самый низкий класс — седьмой, самый высокий — первый. Классы подразделяются на четыре группы, отличающиеся качественным уровнем защиты: первая группа содержит только один седьмой класс; вторая группа характеризуется дискреционной защитой и содержит шестой и пятый классы; третья группа характеризуется мандатной защитой и содержит четвертый, третий и второй классы; четвертая группа характеризуется верифицированной защитой и содержит только первый класс". Здесь понимают "Дискреционное управление доступом - разграничение доступа между поименованными субъектами и поименованными объектами. Субъект с определенным правом доступа может передать это право любому другому субъекту. Мандатное управление доступом - разграничение доступа субъектов к объектам, основанное на характеризуемой меткой конфиденциальности информации, содержащейся в объектах, и официальном разрешении (допуске) субъектов обращаться к информации такого уровня конфиденциальности." Седьмой класс присваивают СВТ, к которым предъявлялись требования по защите от НСД к информации, но при оценке защищенность СВТ оказалась ниже уровня требований шестого класса. Приведем сводную таблицу распределения показателей защищенности по шести классам СВТ (табл. 1). Класс защищенности Наименование показателя 6 5 4 3 2 1 Дискреционный принцип контроля доступа + + + = + = Мандатный принцип контроля доступа - - 145 + = = = Очистка памяти - Изоляция модулей - - + = + = Маркировка документов - - + = = = Защита ввода и вывода информации на отчуждаемый физический носитель информации - - + = = = Сопоставление пользователя с устройством - - + = = = Идентификация и аутентификация + = + = = = Гарантии проектирования - + + + + + Регистрация - + + + = = Взаимодействие пользователя с КСЗ - - - + = = Надежное восстановление - - - + = = Целостность КСЗ - + + + = = Контроль модификации - - - - + = Контроль дистрибуции - - - - + = Гарантии архитектуры - - - - - Тестирование + + + + + = Руководство для пользователя + = = = = = Руководство для КСЗ + + = + + = Тестовая документация + + + + + = Конструкторская (проектная) документация + + + + + + + = = + Обозначения "-" - нет требований к данному классу; "+" - новые или дополнительные требования; "=" - требования совпадают с требованиями к СВТ предыдущего класса КСЗ - комплекс средств защиты Вторая группа Третья группа Четвертая группа Классификация АС по уровню защищенности от НСД Классификация автоматизированных систем устроена иначе. Обратимся к соответствующему Руководящему документу: "Устанавливается девять классов защищенности АС от НСД к информации. Каждый класс характеризуется определенной минимальной совокупностью требований по защите. Классы подразделяются на три группы, отличающиеся особенностями обработки информации в АС. 146 В пределах каждой группы соблюдается иерархия требований по защите в зависимости от ценности (конфиденциальности) информации и, следовательно, иерархия классов защищенности АС. Третья группа классифицирует АС, в которых работает один пользователь, допущенный ко всей информации АС, размещенной на носителях одного уровня конфиденциальности. Группа содержит два класса — 3Б и 3А. Вторая группа классифицирует АС, в которых пользователи имеют одинаковые права доступа (полномочия) ко всей информации АС, обрабатываемой и (или) хранимой на носителях различного уровня конфиденциальности. Группа содержит два класса — 2Б и 2А. Первая группа классифицирует многопользовательские АС, в которых одновременно обрабатывается и (или) хранится информация разных уровней конфиденциальности и не все пользователи имеют право доступа ко всей информации АС. Группа содержит пять классов — 1Д, 1Г, 1В, 1Б и 1А." Наглядно взаимосвязь классов и групп защищенности от НСД представлено на рисунке. Рис. 8.1 Классификация АС по степени защищенности от НСД Требования к классу защищенности 1В: Подсистема управления доступом: должна осуществляться идентификация и проверка подлинности субъектов доступа при входе в систему по идентификатору (коду) и паролю условно-постоянного действия длиной не менее шести буквенно-цифровых символов; должна осуществляться идентификация терминалов, ЭВМ, узлов сети ЭВМ, каналов связи, внешних устройств ЭВМ по логическим именам и/или адресам; должна осуществляться идентификация программ, томов, каталогов, файлов, записей, полей записей по именам; должен осуществляться контроль доступа субъектов к защищаемым ресурсам в соответствии с матрицей доступа; должно осуществляться управление потоками информации с помощью меток конфиденциальности. При этом уровень конфиденциальности накопителей должен быть не ниже уровня конфиденциальности записываемой на него информации. Подсистема регистрации и учета: 147 должна осуществляться регистрация входа/выхода субъектов доступа в систему/из системы, либо регистрация загрузки и инициализации операционной системы и ее программного останова; должна осуществляться регистрация выдачи печатных (графических) документов на "твердую" копию; должна осуществляться регистрация запуска/завершения программ и процессов (заданий, задач), предназначенных для обработки защищаемых файлов; должна осуществляться регистрация попыток доступа программных средств к следующим дополнительным защищаемым объектам доступа: терминалам, ЭВМ, узлам сети ЭВМ, линиям (каналам) связи, внешним устройствам ЭВМ, программам, томам, каталогам, файлам, записям, полям записей; должна осуществляться регистрация изменений полномочий субъектов доступа и статуса объектов доступа; должен осуществляться автоматический учет создаваемых защищаемых файлов с помощью их дополнительной маркировки, используемой в подсистеме управления доступом. Маркировка должна отражать уровень конфиденциальности объекта; должен проводиться учет всех защищаемых носителей информации с помощью их маркировки и занесением учетных данных в журнал; учет защищаемых носителей должен проводиться в журнале (картотеке) с регистрацией их выдачи (приема); должна осуществляться очистка (обнуление, обезличивание) освобождаемых областей оперативной памяти ЭВМ и внешних накопителей. Очистка осуществляется двухкратной произвольной записью в любую освобождаемую область памяти, использованную для хранения защищаемой информации; должна осуществляться сигнализация попыток нарушения защиты. Подсистема обеспечения целостности: должна быть обеспечена целостность программных средств ситемы защиты информации (СЗИ) НСД, а также неизменность программной среды, при этом: целостность СЗИ НСД проверяется при загрузке системы по контрольным суммам компонент СЗИ, целостность программной среды обеспечивается использованием трансляторов с языков высокого уровня и отсутствием средств модификации объектного кода программ при обработке и (или) хранении защищаемой информации; должна осуществляться физическая охрана СВТ (устройств и носителей информации), предусматривающая постоянное наличие охраны территории и здания, где размещается АС, с помощью технических средств охраны и специального персонала, использование строгого пропускного режима, специальное оборудование помещений АС; должен быть предусмотрен администратор (служба) защиты информации, ответственный за ведение,нормальное функционирование и контроль работы СЗИ НСД. Администратор должен иметь свой терминал и необходимые средства оперативного контроля и воздействия на безопасность АС; должно проводиться периодическое тестирование всех функций СЗИ НСД с помощью специальных программных средств не реже одного раза в год; должны быть в наличии средства восстановления СЗИ НСД, предусматривающие ведение двух копий программных средств СЗИ НСД и их периодическое обновление и контроль работоспособности; должны использоваться сертифицированные средства защиты." 148 По существу перед нами минимум требований, которым необходимо следовать, чтобы обеспечить конфиденциальность защищаемой информации 8.2 Наиболее распространенные угрозы Рассмотрим наиболее распространенные угрозы с позиции "типичной" организации, которым подвержены современные компьютерные системы. Знание возможных угроз, а также уязвимых мест защиты, которые эти угрозы обычно эксплуатируют, необходимо для того, чтобы выбирать наиболее экономичные средства обеспечения безопасности. Отметим, что само понятие "угроза" в разных ситуациях зачастую трактуется по-разному. Например, для подчеркнуто открытой организации может просто не существовать угроз конфиденциальности — вся информация считается общедоступной; однако в большинстве случаев нелегальный доступ считается серьезной опасностью. 1) Самыми частыми и самыми опасными (с точки зрения размера ущерба) являются непреднамеренные ошибки пользователей, операторов, системных администраторов и других лиц, обслуживающих информационные системы. Иногда такие ошибки являются угрозами (неправильно введенные данные, ошибка в программе, вызвавшая крах системы), иногда они создают слабости, которыми могут воспользоваться злоумышленники (таковы обычно ошибки администрирования). Анализ показывает, что 65% потерь следствие непреднамеренных ошибок 2) На втором месте по размерам ущерба располагаются кражи и подлоги. В большинстве расследованных случаев виновниками оказывались штатные сотрудники организаций, отлично знакомые с режимом работы и защитными мерами. Еще раз мы убеждаемся в том, что внутренняя угроза гораздо опаснее внешней. 3) Весьма опасны так называемые обиженные сотрудники — нынешние и бывшие. Как правило, их действиями руководит желание нанести вред организации-обидчику, например: повредить оборудование; встроить логическую бомбу, которая со временем разрушит программы и/или данные; ввести неверные данные; удалить данные; изменить данные и т.д. Обиженные сотрудники, даже бывшие, знакомы с порядками в организации и способны вредить весьма эффективно. Необходимо следить за тем, чтобы при увольнении сотрудника его права доступа к информационным ресурсам аннулировались. 4) Угрозы (технического и социального плана), исходящие от окружающей среды, к сожалению, отличаются большим разнообразием. а) нарушения инфраструктуры: аварии электропитания, грозовые разряды, электростатические разряды, временное отсутствие связи, перебои с водоснабжением, гражданские беспорядки и т.п. б) стихийные бедствия и события, воспринимаемые как стихийные бедствия — пожары, наводнения, землетрясения, ураганы. По данным печати на долю огня, воды и аналогичных "врагов" (среди которых самый опасный — низкое качество электропитания и его перебои) приходится 13% потерь, нанесенных информационным системам. 5) Хакеры, но исходящая от них угроза зачастую преувеличивается. В целом ущерб от деятельности хакеров (в сравнении с другими угрозами) представляется не столь уж значительным. 6) Программные вирусы. Несмотря на экспоненциальный рост числа известных вирусов, аналогичного роста количества инцидентов, вызванных вирусами, не зарегистрировано. Соблюде149 ние несложных правил компьютерной гигиены сводит риск заражения практически к нулю. Там где работают, а не играют, число зараженных компьютеров составляет лишь доли процента. Далее рассмотрим иерархию защитных мероприятий, способных противостоять угрозам: Управленческие меры обеспечения информационной безопасности o Политика безопасности o Программа безопасности o Управление рисками o Безопасность в жизненном цикле системы Операционные регуляторы o Управление персоналом o Физическая защита o Поддержание работоспособности o Реакция на нарушение режима безопасности o Планирование восстановительных работ Основные программно-технические меры o Идентификация и аутентификация o Управление доступом o Протоколирование и аудит o Криптография o Межсетевое экранирование Напомним, что основные программно-технические меры были рассмотрены выше. 8.3 Управленческие меры обеспечения информационной безопасности 8.3.1 Политика безопасности Главная цель мер, предпринимаемых на управленческом уровне, — сформировать программу работ в области информационной безопасности и обеспечить ее выполнение, выделяя необходимые ресурсы и контролируя состояние дел. Основой программы является политика безопасности, отражающая подход организации к защите своих информационных активов. Под политикой безопасности понимают совокупность документированных управленческих решений, направленных на защиту информации и ассоциированных с ней ресурсов. С практической точки зрения политику безопасности целесообразно подразделить на три уровня. К верхнему уровню можно отнести решения, затрагивающие организацию в целом. Они носят весьма общий характер и, как правило, исходят от руководства организации. Примерный список подобных решений может включать в себя следующие элементы: решение сформировать или пересмотреть комплексную программу обеспечения информационной безопасности, определение ответственных за продвижение программы, формулировка целей, которые преследует организация в области информационной безопасности, определение общих направлений в достижении этих целей, обеспечение базы для соблюдения законов и правил, формулировка управленческих решений по тем вопросам реализации программы безопасности, которые должны рассматриваться на уровне организации в целом. На верхний уровень выносится управление защитными ресурсами и координация использования этих ресурсов, выделение специального персонала для защиты критически важных систем, поддержание контактов с другими организациями, обеспечивающими или контролирующими режим безопасности. 150 Политика верхнего уровня должна четко очерчивать сферу своего влияния. Возможно, это будут все компьютерные системы организации (или даже больше, если политика регламентирует некоторые аспекты использования сотрудниками своих домашних компьютеров). Возможна, однако, и такая ситуация, когда в сферу влияния включаются лишь наиболее важные системы. В политике должны быть определены обязанности должностных лиц по выработке программы безопасности и по проведению ее в жизнь. В этом смысле политика безопасности является основой подотчетности персонала. Политика верхнего уровня имеет дело с тремя аспектами законопослушности и исполнительской дисциплины: 1. организация должна соблюдать существующие законы; 2. следует контролировать действия лиц, ответственных за выработку программы безопасности; 3. необходимо обеспечить определенную степень послушности персонала, а для этого нужно выработать систему поощрений и наказаний. К среднему уровню можно отнести вопросы, касающиеся отдельных аспектов информационной безопасности, но важные для различных систем, эксплуатируемых организацией. Примеры таких вопросов: отношение к передовым (но, возможно, недостаточно проверенным) технологиям, доступ к Internet (как сочетать свободу получения информации с защитой от внешних угроз?), использование домашних компьютеров, применение пользователями неофициального программного обеспечения и т.д. Политика среднего уровня должна для каждого аспекта освещать следующие темы: Описание аспекта. Например, если рассмотреть применение пользователями неофициального программного обеспечения, последнее можно определить как обеспечение, которое не было одобрено и/или закуплено на уровне организации. Область применения. Следует специфицировать, где, когда, как, по отношению к кому и чему применяется данная политика безопасности. Например, касается ли политика по поводу неофициального программного обеспечения организаций-субподрядчиков? Затрагивает ли она работников, пользующихся портативными и домашними компьютерами и вынужденных переносить информацию на производственные машины? Позиция организации по данному аспекту. Продолжая пример с неофициальным программным обеспечением, можно представить себе позиции полного запрета, выработки процедуры приемки подобного обеспечения и т.п. Позиция может быть сформулирована и в гораздо более общем виде, как набор целей, которые преследует организация в данном аспекте. Вообще стиль документов по политике безопасности (как и перечень этих документов) может быть существенно разным для разных организаций. Роли и обязанности. В "политический" документ необходимо включить информацию о должностных лицах, отвечающих за проведение политики безопасности в жизнь. Например, если для использования работником неофициального программного обеспечения нужно официальное разрешение, должно быть известно, у кого и как его следует получать. Если должны проверяться дискеты, принесенные с других компьютеров, необходимо описать процедуру проверки. Если неофициальное программное обеспечение использовать нельзя, следует знать, кто следит за выполнением данного правила. Законопослушность. Политика должна содержать общее описание запрещенных действий и наказаний за них. Точки контакта. Должно быть известно, куда следует обращаться за разъяснениями, помощью и дополнительной информацией. Обычно "точкой контакта" служит должностное лицо, а не конкретный человек, занимающий в данный момент данный пост. Политика безопасности нижнего уровня относится к конкретным сервисам. Она включает в себя два аспекта — цели и правила их достижения, поэтому ее порой трудно отделить от вопросов реализации. В отличие от двух верхних уровней, рассматриваемая политика должна 151 быть гораздо детальнее. Есть много вещей, специфичных для отдельных сервисов, которые нельзя единым образом регламентировать в рамках всей организации. В то же время эти вещи настолько важны для обеспечения режима безопасности, что решения, относящиеся к ним, должны приниматься на управленческом, а не техническом уровне. Приведем несколько примеров вопросов, на которые следует дать ответ в политике безопасности нижнего уровня: Кто имеет право доступа к объектам, поддерживаемым сервисом? При каких условиях можно читать и модифицировать данные? Как организован удаленный доступ к сервису? При формулировке целей, политика нижнего уровня может отправляться от соображений целостности, доступности и конфиденциальности, но она не должна на них останавливаться. Ее цели должны быть конкретнее. Например, если речь идет о системе расчета заработной платы, можно поставить цель, чтобы только работникам отдела кадров и бухгалтерии позволялось вводить и модифицировать информацию. В более общем случае цели должны связывать между собой объекты сервиса и осмысленные действия с ними. Из целей выводятся правила безопасности, описывающие, кто, что и при каких условиях может делать. Чем детальнее правила, чем более формально они изложены, тем проще поддержать их выполнение программнотехническими мерами. С другой стороны, слишком жесткие правила могут мешать работе пользователей, вероятно, их придется часто пересматривать. Руководству придется найти разумный компромисс, когда за приемлемую цену будет обеспечен приемлемый уровень безопасности, а работники не окажутся чрезмерно скованы. Обычно наиболее формально задаются права доступа к объектам ввиду особой важности данного вопроса. Пример политики безопасности для организации, владеющей локальной вычислительной сетью (ЛВС). Политика безопасности организации, владеющей ЛВС Описание аспекта Информация, циркулирующая в рамках локальной сети, является критически важной. Локальная сеть позволяет пользователям разделять программы и данные; это увеличивает риск. Следовательно, каждый из компьютеров, входящих в сеть, нуждается в более сильной защите, чем отдельная машина. Эти повышенные меры безопасности и являются предметом данного документа. Документ преследует две главные цели — продемонстрировать сотрудникам организации важность защиты сетевой среды и описать их роль в обеспечении безопасности, а также распределить конкретные обязанности по защите информации, циркулирующей в сети, равно как и самой сети. Область применения В сферу действия данной политики попадают все аппаратные, программные и информационные ресурсы, входящие в локальную сеть предприятия. Политика ориентирована также на людей, работающих с сетью; в том числе на пользователей, субподрядчиков и поставщиков. Позиция организации Целью организации является обеспечение целостности, доступности и конфиденциальности данных, а также их полноты и актуальности. Более частными целями являются: Обеспечение уровня безопасности, соответствующего нормативным документам. Следование экономической целесообразности в выборе защитных мер (расходы на защиту не должны превосходить предполагаемый ущерб от нарушения информационной безопасности). Обеспечение безопасности в каждой функциональной области локальной сети. Обеспечение подотчетности всех действий пользователей с информацией и ресурсами. Обеспечение анализа регистрационной информации. Предоставление пользователям достаточной информации для сознательного поддержания режима безопасности. Выработка планов восстановления после аварий и иных критических ситуаций для всех функциональных областей с целью обеспечения непрерывности работы сети. 152 Обеспечение соответствия с имеющимися законами и общеорганизационной политикой безопасности. Роли и обязанности (общие положения) Следующие группы людей отвечают за реализацию сформулированных выше целей. Детально их обязанности будут описаны ниже. Руководители подразделений. Они отвечают за доведение положений политики безопасности до пользователей и за контакты с пользователями. Администраторы локальной сети. Они обеспечивают непрерывное функционирование сети и отвечают за реализацию технических мер, необходимых для проведения в жизнь политики безопасности. Администраторы сервисов. Они отвечают за конкретные сервисы и, в частности, за то, что их защита построена в соответствии с общей политикой безопасности. Пользователи. Они обязаны использовать локальную сеть в соответствии с политикой безопасности, подчиняться распоряжениям лиц, отвечающих за отдельные аспекты безопасности, ставить в известность руководство обо всех подозрительных ситуациях. Законопослушность Нарушение политики безопасности может подвергнуть локальную сеть и циркулирующую в ней информацию недопустимому риску. Случаи нарушения со стороны персонала будут рассматриваться руководством для принятия мер вплоть до увольнения. Роли и обязанности (детальное изложение) Руководители подразделений обязаны: Постоянно держать в поле зрения вопросы безопасности. Следить за тем, чтобы то же делали их подчиненные. Проводить анализ рисков, выявляя активы, требующие защиты, и уязвимые места систем, оценивая размер возможного ущерба от нарушения режима безопасности и выбирая эффективные средства защиты. Организовать обучение персонала мерам безопасности. Обратить особое внимание на вопросы, связанные с антивирусным контролем. Информировать администраторов локальной сети и администраторов сервисов об изменении статуса каждого из подчиненных (переход на другую работу, увольнение и т.п.). Обеспечить, чтобы каждый компьютер в их подразделениях имел хозяина или системного администратора, отвечающего за его безопасность и имеющего достаточную квалификацию для выполнения этой роли. Администраторы локальной сети обязаны: Информировать руководство об эффективности существующей политики безопасности и о технических мерах, которые могут улучшить защиту. Обеспечить защиту оборудования локальной сети, в том числе интерфейсов с другими сетями. Оперативно и эффективно реагировать на события, таящие угрозу. Информировать администраторов сервисов о попытках нарушения защиты. Оказывать помощь в отражении угрозы, выявлении нарушителей и предоставлении информации для их наказания. Использовать проверенные средства аудита и обнаружения подозрительных ситуаций. Ежедневно анализировать регистрационную информацию, относящуюся к сети в целом и к файловым серверам в особенности. Следить за новинками в области информационной безопасности, информировать о них пользователей и руководство. Не злоупотреблять данными им большими полномочиями. Пользователи имеют право на тайну. Разработать процедуры и подготовить инструкции для защиты локальной сети от зловредного программного обеспечения. Оказывать помощь в обнаружении и ликвидации зловредного кода. Регулярно выполнять резервное копирование информации, хранящейся на файловых серверах. 153 Выполнять все изменения сетевой аппаратно-программной конфигурации. Гарантировать обязательность процедуры идентификации и аутентификации для доступа к сетевым ресурсам. Выделять пользователям входные имена и начальные пароли только после заполнения регистрационных форм. Периодически производить проверку надежности защиты локальной сети. Не допускать получения привилегий неавторизованными пользователями. Администраторы сервисов обязаны Управлять правами доступа пользователей к обслуживаемым объектам. Оперативно и эффективно реагировать на события, таящие угрозу. Информировать администраторов локальной сети о попытках нарушения защиты. Оказывать помощь в отражении угрозы, выявлении нарушителей и предоставлении информации для их наказания. Регулярно выполнять резервное копирование информации, обрабатываемой сервисом. Выделять пользователям входные имена и начальные пароли только после заполнения регистрационных форм. Ежедневно анализировать регистрационную информацию, относящуюся к сервису. Регулярно контролировать сервис на предмет зловредного программного обеспечения. Периодически производить проверку надежности защиты сервиса. Не допускать получения привилегий неавторизованными пользователями. Пользователи обязаны Знать и соблюдать законы, правила, принятые в организации, политику безопасности, процедуры безопасности. Использовать доступные защитные механизмы для обеспечения конфиденциальности и целостности своей информации. Использовать механизм защиты файлов и должным образом задавать права доступа. Выбирать хорошие пароли, регулярно менять их. Не записывать пароли на бумаге, не сообщать их другим лицам. Помогать другим пользователям соблюдать меры безопасности. Указывать им на замеченные упущения с их стороны. Информировать администраторов или руководство о нарушениях безопасности и иных подозрительных ситуациях. Не использовать слабости в защите сервисов и локальной сети в целом. Не совершать неавторизованной работы с данными, не создавать помех другим пользователям. Всегда сообщать корректную идентификационную и аутентификационную информацию, не пытаться работать от имени других пользователей. Обеспечивать резервное копирование информации с жесткого диска своего компьютера. Знать принципы работы зловредного программного обеспечения, пути его проникновения и распространения, слабости, которые при этом могут использоваться. Знать и соблюдать процедуры для предупреждения проникновения зловредного кода, для его обнаружения и уничтожения. Знать слабости, которые используются для неавторизованного доступа. Знать способы выявления ненормального поведения конкретных систем, последовательность дальнейших действий, точки контакта с ответственными лицами. Знать и соблюдать правила поведения в экстренных ситуациях, последовательность действий при ликвидации последствий аварий. Таковы основные положения, касающиеся политики безопасности. 8.3.2 Программа безопасности - управленческий аспект После того, как сформулирована политика безопасности, можно приступать к составлению программы ее реализации и собственно к реализации. 154 Проведение политики безопасности в жизнь требует использования трех видов регуляторов: управленческих, операционных и программно-технических. В данном разделе рассматривается управленческий аспект программы безопасности. Чтобы понять и реализовать любую программу, ее целесообразно структурировать по уровням, обычно в соответствии со структурой организации. В простейшем и самом распространенном случае достаточно двух уровней — верхнего, или центрального, который охватывает всю организацию, и нижнего, или сервисного, который относится к отдельным сервисам или группам однородных сервисов. Программу верхнего уровня возглавляет лицо, отвечающее за информационную безопасность организации. У этой программы следующие главные цели: Управление рисками (оценка рисков, выбор эффективных средств защиты). Координация деятельности в области информационной безопасности, пополнение и распределение ресурсов. Стратегическое планирование. Контроль деятельности в области информационной безопасности. Девиз второго пункта можно сформулировать как "эффективность и экономия". Управление должно быть организовано так, чтобы исключить дублирование в деятельности сотрудников организации, в максимальной степени использовать знания каждого из них. Например, если одно из подразделений специализируется на UNIX-системах, а в других подразделениях такие системы установлены в небольшом числе экземпляров, нет смысла всем становиться специалистами по UNIX-защите — лучше вменить в обязанность сотрудникам первого подразделения следить за всеми UNIX-системами. Правда, отсутствие дублирования, вообще говоря, противоречит надежности. Если в организации есть специалист, знания которого уникальны, его болезнь или увольнение могут стать тяжелой потерей. Вероятно, лучшее "лекарство от незаменимости" — документирование накопленных знаний и освоенных процедур. В рамках программы верхнего уровня принимаются стратегические решения по безопасности, оцениваются технологические новинки. Информационные технологии развиваются очень быстро, и необходимо иметь четкую политику отслеживания и внедрения новых средств. Контроль деятельности в области безопасности имеет двоякую направленность. Во-первых, необходимо гарантировать, что действия организации не противоречат законам. Обязательны при этом контакты с внешними контролирующими организациями. Во-вторых, нужно постоянно отслеживать состояние безопасности внутри организации, реагировать на случаи нарушений, дорабатывать защитные меры с учетом изменения обстановки. Следует подчеркнуть, что программа верхнего уровня должна занимать четко определенное место в деятельности организации, она должна официально приниматься и поддерживаться руководством, у нее должны быть определенные штаты и бюджет. Без подобной поддержки распоряжения "офицеров безопасности" останутся пустым звуком. Цель программы нижнего уровня — обеспечить надежную и экономичную защиту конкретного сервиса или группы однородных сервисов. На этом уровне: решается, какие механизмы защиты использовать, закупаются и устанавливаются технические средства, выполняется повседневное администрирование, отслеживается состояние слабых мест и т.п. Обычно за программу нижнего уровня отвечают администраторы сервисов. Необходимо, однако, сделать одну оговорку. Программа безопасности не должна превращаться в набор технических средств, встроенных в систему — иначе она потеряет независимость и, как следствие, авторитет, высшее руководство забудет про нее и перестанет выделять ресурсы. У защиты есть много управленческих и операционных аспектов, и об этом следует постоянно помнить. 155 8.3.3 Управление рисками Деятельность любой организации подвержена множеству рисков. Нас будут интересовать те из них, которые являются следствием использования информационных технологий. Суть работы по управлению рисками состоит в том, чтобы оценить их размер, выработать меры по уменьшению этого размера и затем убедиться, что риски заключены в приемлемые рамки. Таким образом, управление рисками включает в себя два вида деятельности: оценку (измерение) рисков; выбор эффективных и экономичных защитных регуляторов. Процесс управления рисками можно подразделить на следующие этапы: 1. Выбор анализируемых объектов и степени детальности их рассмотрения; 2. Выбор методологии оценки рисков; 3. Идентификация активов; 4. Анализ угроз и их последствий, определение слабостей в защите; 5. Оценка рисков; 6. Выбор защитных мер; 7. Реализация и проверка выбранных мер; 8. Оценка остаточного риска. Этапы 6 и 7 относятся к выбору защитных регуляторов, остальные - к оценке рисков. Уже перечисление этапов показывает, что управление рисками — процесс циклический. По существу, последний этап — это оператор конца цикла, предписывающий вернуться к началу. Риски нужно контролировать постоянно, периодически проводя их переоценку. Отметим, что добросовестно выполненная и тщательно документированная первая оценка может существенно упростить последующую деятельность. Выбор анализируемых объектов и степени детальности их рассмотрения — первый шаг в оценке рисков. Для небольшой организации допустимо рассматривать всю информационную инфраструктуру; однако, если организации крупная, всеобъемлющая оценка может потребовать неприемлемых затрат времени и сил. В таком случае следует сосредоточиться на наиболее важных сервисах, заранее соглашаясь с приближенностью итоговой оценки. Если важных сервисов все еще много, выбираются те из них, риски для которых заведомо велики или неизвестны. Вообще говоря, уязвимым является каждый компонент информационной системы — от куска сетевого кабеля, который могут прогрызть мыши, до базы данных, которая может быть разрушена из-за неумелых действий администратора. Как правило, в сферу анализа невозможно включить каждый винтик и каждый байт. Приходится останавливаться на некотором уровне детализации, опять-таки отдавая себе отчет в приближенности оценки. Для новых систем предпочтителен детальный анализ; старая система, подвергшаяся небольшим модификациям, может быть проанализирована более поверхностно. Очень важно выбрать разумную методологию оценки рисков. Целью оценки является получение ответа на два вопроса: приемлемы ли существующие риски, и, если нет, то какие защитные средства экономически выгодно использовать. Значит, оценка должна быть количественной, допускающей сопоставление с заранее выбранными границами допустимости и расходами на реализацию новых регуляторов безопасности. Управление рисками — типичная оптимизационная задача, и существует довольно много программных средств, способных помочь в ее решении. Принципиальная трудность, однако, состоит в неточности исходных данных. Можно, конечно, попытаться получить для всех анализируемых величин денежное выражение, высчитать все с точностью до копейки, но большого смысла в этом нет. Практичнее пользоваться условными единицами. В простейшем и вполне допустимом случае можно пользоваться трехбалльной шкалой. При идентификации активов, то есть тех ценностей, которые организация пытается защитить, следует, конечно, учитывать не только компоненты информационной системы, но и поддерживающую инфраструктуру, персонал, а также нематериальные ценности, такие как репутация компании. Тем не менее, одним из главных результатов процесса идентификации активов явля- 156 ется получение детальной информационной структуры организации и способов ее (структуры) использования. Если информационной основой организации является локальная сеть, то в число аппаратных активов следует включить компьютеры (серверы, рабочие станции, ПК), периферийные устройства, внешние интерфейсы, кабельное хозяйство, активное сетевое оборудование (мосты, маршрутизаторы и т.п.). К программным активам, вероятно, будут отнесены операционные системы (сетевая, серверные и клиентские), прикладное программное обеспечение, инструментальные средства, средства управления сетью и отдельными системами, Важно зафиксировать, где (в каких узлах сети) хранится программное обеспечение и из каких узлов используется. Третьим видом информационных активов являются данные, которые хранятся, обрабатываются и передаются по сети. Следует классифицировать данные по типам и степени конфиденциальности, выявить места их хранения и обработки, способы доступа к ним. Все это важно для оценки последствий нарушений информационной безопасности. Управление рисками — процесс далеко не линейный. Практически все его этапы связаны между собой, и по завершении почти любого из них может выявиться необходимость возврата к предыдущему. Так, при идентификации активов может появиться понимание, что выбранные границы анализа следует расширить, а степень детализации — увеличить. Особенно труден первичный анализ, когда многократные возвраты к началу неизбежны. Этапы, предшествующие анализу угроз, можно считать подготовительными, поскольку, строго говоря, они впрямую не связаны с рисками. Риск появляется там, где есть угрозы. Краткий перечень наиболее распространенных угроз приведен ранее. К сожалению, на практике угроз гораздо больше, причем далеко не все из них носят компьютерный характер. Так, вполне реальной угрозой является наличие мышей и тараканов в помещениях, занимаемых организацией. Первые могут повредить кабели, вторые — вызвать короткое замыкание. Как правило, наличие той или иной угрозы является следствием слабостей в защите информационной системы, которые, в свою очередь, объясняются отсутствием некоторых сервисов безопасности или недостатками в реализующих их защитных механизмах. Опасность прогрызания кабелей проистекает не только из наличия мышей, но и из отсутствия или недостаточной прочности защитной оболочки. Первый шаг в анализе угроз - их идентификация. Анализируемые виды угроз следует выбрать из соображений здравого смысла (оставив вне поля зрения, например, землетрясения или захват организации террористами), но в пределах выбранных видов провести максимально полное рассмотрение. Информация из раздела 8.2 (Наиболее распространенные угрозы) может служить при этом отправной точкой. Целесообразно выявлять не только сами угрозы, но и источники их возникновения — это поможет в выборе дополнительных средств защиты. Например, нелегальный вход в систему может стать следствием воспроизведения начального диалога, подбора пароля или подключения к сети неавторизованного оборудования. Очевидно, для противодействия каждому из перечисленных способов нелегального входа нужны свои механизмы безопасности. После идентификаций угрозы необходимо оценить вероятность ее осуществления. Допустимо использовать при этом трехбалльную шкалу (низкая (1), средняя (2) и высокая (3) вероятность). Кроме вероятности осуществления, важен размер потенциального ущерба. Например, пожары бывают нечасто, но ущерб от каждого из них, как правило, велик. Тяжесть ущерба также можно оценить по трехбалльной шкале. Оценивая тяжесть ущерба, необходимо иметь в виду не только непосредственные расходы на замену оборудования или восстановление информации, но и более отдаленные, такие как подрыв репутации, ослабление позиций на рынке и т.п. Пусть, например, в результате дефектов в управлении доступом к бухгалтерской информации сотрудники получили возможности корректировать данные о собственной заработной плате. Следствием такого состояния дел может 157 стать не только перерасход бюджетных или корпоративных средств, но и полное разложение коллектива, грозящее развалом организации. Слабости обладают свойством притягивать к себе не только злоумышленников, но и сравнительно честных людей. Не всякий устоит перед искушением немного увеличить свою зарплату, если есть уверенность, что это сойдет в рук. Поэтому, оценивая вероятность осуществления угроз, целесообразно исходить не только из среднестатистических данных, но учитывать также специфику конкретных информационных систем. Если в подвале дома, занимаемого организацией, располагается сауна, а сам дом имеет деревянные перекрытия, то вероятность пожара, к сожалению, оказывается существенно выше средней. После того, как накоплены исходные данные и оценена степень неопределенности, можно переходить к обработке информации, то есть собственно к оценке рисков. Вполне допустимо применить такой простои метод, как умножение вероятности осуществления угрозы на предполагаемый ущерб. Если для вероятности и ущерба использовать трехбалльную шкалу, то возможных произведений будет шесть: 1, 2, 3, 4, 6 и 9. Первые два результата можно отнести к низкому риску, третий и четвертый — к среднему, два последних — к высокому, после чего появляется возможность снова привести их к трехбалльной шкале. По этой шкале и следует оценивать приемлемость рисков. Правда, граничные случаи, когда вычисленная величина совпала с приемлемой, целесообразно рассматривать более тщательно из-за приближенного характера результата. Если какие-либо риски оказались недопустимо высокими, необходимо реализовать дополнительные меры защиты. Как правило, для ликвидации или сглаживания слабости, сделавшей реальной опасную угрозу, существует несколько механизмов безопасности, отличающихся эффективностью и стоимостью. Например, если велика вероятность нелегального входа в систему, можно приказать пользователям выбирать длинные пароли (скажем, не менее восьми символов), задействовать программу генерации паролей или закупить интегрированную систему аутентификации на основе интеллектуальных карт. Если имеется вероятность умышленного повреждения сервера баз данных, что грозит серьезными последствиями, можно врезать замок в дверь серверной комнаты или поставить около каждого сервера по охраннику. Оценивая стоимость защитных мер, приходится, разумеется, учитывать не только прямые расходы на закупку оборудования и/или программ, но и расходы на внедрение новинки и, в. частности, на обучение и переподготовку персонала. Эту стоимость также можно выразить по трехбалльной шкале и затем сопоставить ее с разностью между вычисленным и приемлемым риском. Если по этому показателю новое средство оказывается экономически выгодным, его можно принять к дальнейшему рассмотрению (подходящих средств, вероятно, будет несколько). Однако, если средство окажется дорогим, его не следует сразу отбрасывать, памятуя о приближенности расчетов. Важным обстоятельством является совместимость нового средства со сложившейся операционной и аппаратно-программной структурой, с традициями организации. Меры безопасности, как правило, носят недружественный характер, что может отрицательно сказаться на энтузиазме сотрудников. Порой сохранение духа открытости важнее минимизации материальных потерь. Впрочем, такого рода ориентиры должны быть расставлены в политике безопасности верхнего уровня. Можно представить себе ситуацию, когда для уменьшения риска не существует эффективных и приемлемых по цене мер. Например, компания, базирующаяся в сейсмически опасной зоне, не всегда может позволить себе строительство защищенной штаб-квартиры. В таком случае приходится поднимать планку приемлемого риска и переносить центр тяжести на смягчение последствий и выработку планов восстановления после аварий, стихийных бедствий и иных происшествий. Продолжая пример с сейсмоопасностью, можно рекомендовать регулярное тиражирование данных в другой город и овладение средствами восстановления первичной базы данных. В ряде случаев управление рисками можно переложить на плечи страховых компаний. Как и всякую иную деятельность, реализацию и проверку новых регуляторов безопасности следует предварительно распланировать. В плане необходимо учесть наличие финансовых 158 средств, сроки обучения персонала. Нужно составить план тестирования (автономного и комплексного), если речь идет о программно-техническом механизме. Когда намеченные меры приняты, необходимо проверить их действенность, то есть убедиться, что остаточные риски стали приемлемыми. Если это на самом деле так, значит, все в порядке и можно спокойно намечать дату ближайшей переоценки. В противном случае придется проанализировать допущенные ошибки и провести повторный сеанс управления рисками немедленно. Результаты работы по анализу рисков целесообразно свести в таблицу/ Таблица 8 – Типичная форма для анализа рисков Описание риска Возможный эффект 1 2 Возможная стоимость риска 3 Вероятность Приоритет Меры защиты Стоимость мер защиты 4 5 6 7 Пояснения к таблице: В графе 1 содержится описание возможного риска, например: непреднамеренные ошибки пользователей – ввод неверных данных о клиентах. В графе 2 описывается возможный результат, к которому может привести реализация риска, например: потеря клиента или штрафные санкции с его стороны. В графе 3 описывается возможный результат в стоимостном выражении, т.е. что потеряет фирма в результате реализации возможного риска, например: 10000 руб. В графе 4 задается вероятность осуществления данного риска. Для вероятности приняты следующие значения: высокая – 0,75; средняя – 0,5; низкая – 0,25; малая – 0,05. В графе 5 задается приоритет данного риска, который определяется как произведение вероятности на возможную стоимость риска и на 10-3, например: 10000*0,25*10-3 = 2,5. В графе 6 описываются предлагаемые меры защиты, которые представляют собой реализацию защитных мероприятий трех направлений пункта 6 применительно к вашей фирме, например: строгий контроль вводимый данных, обеспечиваемый программным способом; обучение персонала; ввод штрафных санкций за допущенные ошибки. В графе 7 задается стоимость мер защиты, предлагаемых в графе 6, например, разработка дополнительного модуля контроля вводимых данных – 5000 руб.; обучение персонала на курсах – 30000 руб. 8.3.4 Безопасность в жизненном цикле системы Если синхронизировать программу безопасности нижнего уровня с жизненным циклом защищаемого сервиса, можно добиться большего эффекта с меньшими затратами. Известно, что добавить новую возможность к уже готовой системе на порядок труднее и дороже, чем изначально запроектировать и реализовать ее. То же справедливо и для информационной безопасности. Выделим в жизненном цикле следующие этапы: Инициация. На этом этапе выявляется необходимость в приобретении нового сервиса, документируется его предполагаемое назначение. Закупка. На этом этапе составляются спецификации, прорабатываются варианты закупки, выполняется собственно закупка. Установка. Сервис устанавливается, конфигурируется, тестируется и вводится в эксплуатацию. 159 Эксплуатация. На этом этапе сервис не только работает и администрируется, но и подвергается модификациям. Выведение из эксплуатации. Происходит переход на новый сервис. Рассмотрим действия, выполняемые на каждом из этапов, более детально. На этапе инициации оформляется понимание того, что необходимо приобрести новый или значительно модернизировать существующий сервис; выполняются прикидки, какими характеристиками и какой функциональностью он должен обладать; оцениваются финансовые и иные ограничения. В плане безопасности важнейшим действием на этом этапе является оценка критичности как самого сервиса, так и информации, которая с его помощью будет обрабатываться. Необходимо сформулировать ответы на следующие вопросы: Какого рода информация предназначается для обслуживания новым сервисом? Каковы возможные последствия нарушения конфиденциальности, целостности и доступности этой информации? Каковы угрозы, по отношению к которым сервис и информация будут наиболее уязвимы? Есть ли какие-либо особенности нового сервиса, требующие принятия специальных операционных мер (например, территориальная разнесенность компонентов)? Каковы характеристики персонала, имеющие отношение к безопасности (квалификация, благонадежность)? Каковы законодательные положения и внутренние правила, которым должен удовлетворять новый сервис? Результаты оценки критичности являются отправной точкой в составлении спецификаций. Кроме того, они определяют ту меру внимания, которую служба безопасности организации должна уделять новому сервису на последующих этапах его жизненного цикла. Этап закупки — один из самых сложных. Нужно окончательно сформулировать требования к защитным средствам нового сервиса, к компании, которая может претендовать на роль поставщика, и к квалификации, которой должен обладать персонал, использующий или обслуживающий закупаемый продукт. Все эти сведения оформляются в виде спецификации, куда входят не только аппаратура и программы, но и документация, послепродажное обслуживание, обучение персонала. Разумеется, особое внимание должно быть уделено вопросам совместимости нового сервиса с существующей конфигурацией. Подчеркнем также, что нередко средства безопасности являются необязательными компонентами коммерческих продуктов, и нужно проследить, чтобы соответствующие пункты не выпали из спецификации. Все технические средства должны иметь соответствующие сертификаты. Когда продукт закуплен, его необходимо установить. Несмотря на кажущуюся простоту (вставили CD-ROM и через несколько минут все готово), установка является очень ответственным делом. Можно провести аналогию с появлением ребенка в доме, когда требуется пересмотр многих сложившихся стереотипов. Во-первых, новый продукт следует сконфигурировать. Как правило, коммерческие продукты поставляются с отключенными средствами безопасности; их необходимо включить и должным образом настроить. Для большой организации, где много пользователей и данных, начальная настройка может стать весьма трудоемким и ответственным делом. Во-вторых, новый сервис нуждается в операционных регуляторах. Следует позаботиться о чистоте и охране помещения, о документах, регламентирующих использование сервиса, о подготовке планов на случай экстренных ситуаций, об организации обучения пользователей и т.п. После принятия перечисленных мер необходимо провести тестирование. Его полнота и комплексность могут служить гарантией безопасности эксплуатации в штатном режиме. Период эксплуатации — самый длительный и сложный. С психологической точки зрения наибольшую опасность в это время составляют небольшие изменения в конфигурации сервиса, в поведении пользователей и администраторов. Если безопасность не поддерживать, она имеет свойство ослабевать. Пользователи не столь ревностно выполняют должностные инструкции, администраторы с меньшей тщательностью анализируют регистрационную информацию. То 160 один, то другой пользователь получает дополнительные привилегии. Кажется, что в сущности ничего не изменилось; на самом же деле от былой безопасности остались одни воспоминания. Для борьбы с эффектом медленных изменений приходится прибегать к периодическим проверкам безопасности сервиса. Разумеется, после значительных модификаций подобные проверки являются обязательными. При выведении из эксплуатации затрагиваются аппаратно-программные компоненты сервиса и обрабатываемые им данные. Аппаратура продается, утилизируется или выбрасывается, Только в специфических случаях необходимо заботиться о физическом разрушении аппаратных компонентов, хранящих конфиденциальную информацию. Программы, вероятно, просто стираются, если иное не предусмотрено лицензионным соглашением. Наиболее тонким вопросом является выведение данных из эксплуатации. Обычно их переносят на другую систему, архивируют, выбрасывают или уничтожают. Если архивирование производится с намерением впоследствии прочитать данные в другом месте, следует позаботиться об аппаратно-программной совместимости средств чтения и записи. Информационные технологии развиваются очень быстро, и через несколько лет может просто не оказаться устройств, способных прочитать старый носитель. Если данные архивируются в зашифрованном виде, необходимо сохранить ключ и средства расшифровки. При архивировании и хранении архивной информации нельзя забывать о поддержании конфиденциальности данных. Уничтожение информации называется санацией. Имеется три метода уничтожения: перезапись, размагничивание и разрушение носителя. Если речь идет о данных на магнитных носителях, то для санации вполне достаточно тройной перезаписи случайными последовательностями бит. После этого далее с помощью специальной аппаратуры прочитать первоначальную информацию невозможно. Таковы основные управленческие меры обеспечения информационной безопасности 8.4 Операционные регуляторы Данный раздел посвящен мерам безопасности, которые ориентированы на людей, а не на технические средства. Именно люди формируют режим информационной безопасности и они же оказываются главной угрозой, поэтому "человеческий фактор" заслуживает первостепенного внимания. Будут рассмотрены следующие темы: управление персоналом, физическая защита, поддержание работоспособности, реакция на нарушения режима безопасности, планирование восстановительных работ. 8.4.1 Управление персоналом Управление персоналом начинается с приема нового сотрудника на работу и даже раньше — с составления описания должности. Уже на этом этапе желательно привлечение специалиста по информационной безопасности для определения компьютерных привилегий, ассоциируемых с должностью. Существует два общих принципа, которые следует иметь в виду: разделение обязанностей, минимизация привилегий. Принцип разделения обязанностей предписывает так распределять роли и ответственность, чтобы один человек не мог нарушить критически важный для организации процесс. Например, нежелательна ситуация, когда платежи от имени организации выполняет один человек. Надежнее поручить одному сотруднику оформлять заявки на платежи, а другому — заверять эти заявки. Принцип минимизации привилегий предписывает выделять пользователям только те права доступа, которые необходимы им для выполнения служебных обязанностей. Назначение этого принципа очевидно — уменьшить ущерб от случайных или умышленных некорректных действий пользователей. 161 Предварительное составление описания должности позволяет оценить ее критичность и спланировать процедуру проверки и отбора кандидатов. Чем критичнее должность, тем тщательнее нужно проверять кандидатов: навести о них справки, быть может, побеседовать с бывшими сослуживцами и т.д. Подобная процедура может быть длительной и дорогой, поэтому нет смысла усложнять ее сверх необходимого. В то же время неразумно и совсем отказываться от предварительной проверки, рискуя принять на работу человека с уголовным прошлым или с душевными болезнями. Когда кандидат отобран, он, вероятно, должен пройти обучение; по крайней мере, его следует подробно ознакомить со служебными обязанностями, а также с нормами и процедурами информационной безопасности. Желательно, чтобы меры безопасности были им усвоены до вступления в должность и до заведения его системного счета с входным именем, паролем и привилегиями. С момента заведения системного счета начинается его администрирование, а также протоколирование и анализ действий пользователя. Постепенно изменяется окружение, в котором работает пользователь, его служебные обязанности и т.п. Все это требует соответствующего изменения привилегий. Техническую сложность составляют временные перемещения сотрудника, выполнение им обязанностей взамен лица, ушедшего в отпуск, и иные обстоятельства, когда полномочия нужно сначала дать, а через некоторое время взять обратно. В такие периоды профиль активности пользователя резко меняется, что создает трудности при выявлении подозрительных ситуаций. Определенную аккуратность следует соблюдать и при выдаче новых постоянных полномочий, не забывая изымать старые права доступа. Ликвидация системного счета пользователя, особенно в случае конфликта между сотрудником и организацией, должна производиться максимально оперативно (в идеале — одновременно с извещением о наказании или увольнении). Возможно и физическое ограничение доступа к рабочему месту. Разумеется, если сотрудник увольняется, у него нужно принять все его компьютерное хозяйство и, в частности, криптографические ключи, если использовались средства шифрования. К управлению сотрудниками примыкает администрирование лиц, работающих по контракту (например, специалистов фирмы-поставщика, помогающих запустить новую систему). В соответствии с принципом минимизации привилегий, им нужно выделить ровно столько прав, сколько необходимо, и изъять эти права сразу по окончании контракта. Проблема, однако, в том, что на начальном этапе внедрения "внешние" сотрудники будут администрировать "местных", а не наоборот. Здесь на первый план выходит квалификация персонала организации, его способность быстро обучаться, а также оперативное проведение учебных курсов. Важны и принципы выбора деловых партнеров. Иногда внешние организации принимают на обслуживание и администрирование ответственные компоненты компьютерной системы, например, сетевое оборудование. Нередко администрирование выполняется в удаленном режиме. Вообще говоря, это создает в системе дополнительные слабости, которые необходимо компенсировать усиленным контролем средств удаленного доступа или, опять-таки, обучением собственных сотрудников. Мы видим, что проблема обучения — одна из центральных с точки зрения информационной безопасности. Если сотрудник не знаком с политикой безопасности своей организации, он не может стремиться к достижению сформулированных в ней целей. Если он не знает мер безопасности, он не сможет их соблюдать. Напротив, если сотрудник знает, что его действия протоколируются, он, возможно, воздержится от нарушений. Из педагогической психологии известно: чтобы обучение было эффективным, ему должен предшествовать этап мотивации. Сотрудникам необходимо объяснить, зачем нужна учеба, зачем нужны меры безопасности. Обычно и то, и другое вызывает раздражение, поскольку мешает основной деятельности. Важно, чтобы сотрудники смотрели на вещи шире, имея в виду долговременные интересы организации и свои собственные. Обучение должно проводиться регулярно и в то же время каждый раз по-новому, иначе оно превратится в формальность и потеряет эффективность. К сожалению, здесь не существует общих рецептов, все зависит от изобретательности организаторов. 162 8.4.2 Физическая защита Безопасность компьютерной системы зависит от окружения, в котором она работает. Следовательно, необходимо принять меры для защиты зданий и прилегающей территории, поддерживающей инфраструктуры и самих компьютеров. Мы кратко рассмотрим следующие направления физической защиты: физическое управление доступом, противопожарные меры, защита поддерживающей инфраструктуры, защита от перехвата данных, в частности, путем контроля за побочными электромагнитными излучениями (ПЭМИН), защита мобильных систем. Меры физического управления доступом позволяют контролировать и при необходимости ограничивать вход и выход сотрудников и посетителей. Контролироваться может все здание организации и, кроме того, отдельные помещения, например, те, где расположены серверы, коммуникационная аппаратура и т.п. Средства физического управления доступом известны давно — это охрана, двери с замками, перегородки, телекамеры, датчики движения и многое другое. Важно в максимальной степени разграничить компьютеры и поток посетителей или, в крайнем случае, позаботиться о том, чтобы от окон и дверей не просматривались экраны мониторов и принтеры. Необходимо, чтобы посетители отличались от штатных сотрудников. Если отличие состоит в том, что посетителям выдаются идентификационные карточки, а сотрудники ходят "без опознавательных знаков", злоумышленнику достаточно снять карточку, чтобы его считали "своим". Очевидно, карточки разных видов нужны всем. Пожары по-прежнему случаются и наносят большой ущерб. Наглядным примером может служить пожар на Останкинской телебашне в сентябре 2000 г. Для борьбы с огнем есть профессионалы и следует следовать всем необходимым инструкциям и наставлениям. Отметим лишь крайнюю желательность установки противопожарной сигнализации и автоматических средств пожаротушения. Обратим также внимание на то, как защитные меры могут создавать новые слабости. Если на работу взят новый охранник, это, вероятно, улучшает физическое управление доступом. Если же он по ночам курит и пьет, то повышенная пожарная опасность делает его скорее врагом, чем другом организации. К поддерживающей инфраструктуре можно отнести системы электро-, водо- и теплоснабжения, кондиционеры, средства коммуникаций. В принципе к ним применимы те же требования целостности и доступности, что и к информационным системам. Отдельную проблему составляют аварии водопровода. Они происходят нечасто, но чреваты серьезными материальными потерями. При размещении компьютеров разумно принять во внимание расположение водопроводных и канализационных труб и постараться держаться от них подальше. Сотрудники должны знать, куда следует обращаться при обнаружении протечек. Для обеспечения целостности нужно защищать оборудование от краж и повреждений. Для поддержания доступности целесообразно выбирать оборудование с максимальным временем наработки на отказ, дублировать ответственные узлы, всегда иметь под рукой запчасти. Перехват данных может осуществляться самыми разными способами: подсматриванием за экраном монитора, чтением пакетов, передаваемых по локальной сети, улавливанием стука иголок матричного принтера или кнопок на клавиатуре, анализом побочных электромагнитных излучений и наводок (ПЭМИН). К сожалению, некоторые способы перехвата данных, относительно доступны и дешевы, а бороться с ними трудно и дорого. Можно предположить, что для коммерческих систем обеспечение конфиденциальности не является главной задачей. Поэтому нет необходимости пытаться держать под контролем линии связи (например, заключать их в надувную оболочку с обнаружением прокалывания), создавать экранированные помещения или размещаться в удаленном районе в уединенном месте. Мобильные и портативные компьютеры — заманчивый объект кражи. Их довольно часто оставляют без присмотра, в автомобиле или на работе, и унести и спрятать такой компьютер весьма несложно. Известны случаи краж компьютеров с целью получения конфиденциальной 163 информации. Следует настоятельно рекомендовать шифрование данных на жестких дисках ноутбуков. При выборе средств физической защиты следует производить анализ рисков. Так, принимая решение о закупке источника бесперебойного питания, необходимо учесть качество электропитания в доме, занимаемом организацией (впрочем, почти наверняка оно окажется плохим), характер и длительность нарушений питания, стоимость доступных источников и возможные потери от аварий (выход из строя техники, приостановка работы организации и т.п.). В то же время, во многих случаях решения очевидны. Меры противопожарной безопасности обязательны для всех организаций. Стоимость реализации многих мер (например, установка обычного замка на дверь серверной комнаты) пренебрежимо мала, другие имеют хоть и заметную стоимость, но все же явно меньшую, чем возможный ущерб. К числу последних можно отнести регулярное копирование больших баз данных. Физическая защита, как и другие области информационной безопасности, должна базироваться на здравом смысле, который подскажет большинство решений. 8.4.3 Поддержание работоспособности В этом разделе будут рассмотрены рутинные действия, направленные на поддержание работоспособности компьютерных систем и имеющие отношение к информационной безопасности. Как ни странно, именно здесь таится наибольшая опасность. Нечаянные ошибки системных администраторов и пользователей грозят повреждением аппаратуры, разрушением программ и данных; "в лучшем случае" создаются слабости, облегчающие реализацию угроз. Недооценка факторов безопасности в повседневной работе — ахиллесова пята многих организаций. Дорогие средства безопасности теряют смысл, если они плохо документированы, конфликтуют с другим программным обеспечением, а пароль системного администратора не менялся с момента установки. Можно выделить следующие направления повседневной деятельности: поддержка пользователей, поддержка программного обеспечения, конфигурационное управление, резервное копирование, управление носителями, документирование, регламентные работы. Поддержка пользователей состоит прежде всего в консультировании и в оказании помощи при решении разного рода проблем. Иногда в организациях создают для этой цели специальный "стол справок"; чаще от пользователей отбивается системный администратор. Очень важно в потоке вопросов, умных и не очень, уметь выявлять проблемы, связанные с информационной безопасностью. Так, многие трудности пользователей, работающих на персональных компьютерах, могут быть следствием заражения вирусами; в больших системах, имеющих выходы в глобальные сети, проблемы нередко проистекают из действий хакеров. Целесообразно записывать вопросы пользователей, чтобы выявлять их типичные ошибки и выпускать памятки с рекомендациями для распространенных ситуаций. Поддержка программного обеспечения — одно из важнейших средств обеспечения целостности информации. Прежде всего, необходимо контролировать, какое программное обеспечение выполняется на компьютерах. Если пользователи могут устанавливать программы по своему усмотрению, это чревато заражением вирусами, а также появлением утилит, действующих в обход защитных средств. Вполне вероятно также, что самодеятельность пользователей постепенно приведет к хаосу на их компьютерах, а исправлять ситуацию придется системному администратору. Второй аспект поддержки программного обеспечения — контроль за отсутствием неавторизованного изменения программ и прав доступа к ним. Сюда же можно отнести поддержание эталонных копий программных систем. Обычно контроль достигается комбинированием 164 средств физического и логического управления доступом, а также использованием утилит проверки и поддержания целостности. Конфигурационное управление позволяет контролировать и фиксировать изменения, вносимые в программную конфигурацию. Прежде всего, необходимо застраховаться от случайных или непродуманных модификаций, уметь как минимум возвращаться к прошлой, работающей версии. Далее, фиксация изменений позволит легко восстановить текущую версию после аварии. Лучший способ уменьшить количество ошибок в рутинной работе — в максимальной степени автоматизировать ее. Хорошим примером являются развитые средства конфигурационного управления, когда одним нажатием можно вызвать внесение или откат сотен согласованных изменений. Автоматизация и безопасность — родные сестры; тот, кто заботится в первую очередь об облегчении собственного труда, на самом деле оптимальным образом формирует режим информационной безопасности. Технологию конфигурационного управления необходимо применять и к изменениям в аппаратуре. Что нового появилось в локальной сети за последний месяц? Куда мы подключили внешние коммуникации? На эти и аналогичные вопросы нужно уметь давать немедленные и точные ответы. Резервное копирование необходимо для восстановления программ и данных после аварий. И здесь целесообразно автоматизировать работу, как минимум сформировав компьютерное расписание выполнения копий. Нужно также наладить размещение копий в безопасном месте, защищенном от пожаров и иных угроз. К резервному копированию следует относиться как к осознанной необходимости. Стоит хоть на день отступить от расписания, и неприятности не заставят себя ждать. Время от времени в тестовых целях следует проверять возможность восстановления информации с копий. Управление носителями служит для обеспечения физической защиты и учета дискет, лент, печатных выдач и т.п. Управление носителями должно обеспечить конфиденциальность, целостность и доступность информации, хранящейся вне компьютерных систем. Под физической защитой здесь понимается не только отражение попыток несанкционированного доступа, но и предохранение от вредных влияний окружающей среды (жары, холода, влаги, магнетизма). Управление носителями должно охватывать весь жизненный цикл дискет и лент — от закупки до выведения из эксплуатации. К управлению носителями можно отнести и контроль потоков данных, выдаваемых на печать. Здесь поучительно отметить необходимость сочетания различных механизмов информационной безопасности. Программные средства позволяют направить конфиденциальные данные на определенный принтер, но только меры физической защиты способны гарантировать отсутствие посторонних у этого принтера. Документирование — неотъемлемая часть информационной безопасности. В виде документов оформляется почти все — от политики безопасности до журнала учета дискет. Важно, чтобы документация была актуальной, отражала текущее, а не прошлое, состояние дел, причем отражала в непротиворечивом виде. Здесь необходим правильный технологический подход, когда документы печатаются и сшиваются способом, облегчающим внесение изменений. К хранению некоторых документов (содержащих, например, анализ системных слабостей и угроз) применимы требования обеспечения конфиденциальности, к другим, таким как план восстановления после аварий — требования целостности и доступности (план необходимо найти и прочитать). Регламентные работы - очень серьезная угроза безопасности. Лицо, осуществляющее регламентные работы, получает исключительный доступ к системе, и на практике очень трудно проконтролировать, какие именно действия совершаются. Здесь на первый план выходит степень доверия к тем, кто выполняет работы. 165 8.4.4 Реакция на нарушение режима безопасности Программа безопасности, принятая организацией, должна предусматривать набор оперативных мероприятий, направленных на обнаружение и нейтрализацию вторжений хакеров и зловредного кода. Важно, чтобы в подобных случаях последовательность действий была спланирована заранее, поскольку меры нужно принимать срочные и скоординированные. Реакция на нарушения режима безопасности преследует две главные цели: блокирование нарушителя и уменьшение наносимого вреда, недопущение повторных нарушений. В организации должен быть человек, доступный 24 часа в сутки (лично, по телефону, пейджеру или электронной почте), отвечающий за реакцию на нарушения. Все должны знать координаты этого человека и обращаться к нему при первых признаках опасности. В общем, нужно действовать, как при пожаре: знать, куда звонить, и что делать до приезда пожарной команды. Правда, пользователя может удержать от вызова помощи сознание собственной вины и боязнь наказания, если он сам принес на работу зараженную дискету. Для таких случаев целесообразно предусмотреть процедуру анонимного вызова, поскольку лучше не наказать одного виновного, чем допустить распространение последствий нарушения. Важность быстрой и скоординированной реакции можно продемонстрировать на следующем примере. Пусть локальная сеть предприятия состоит из двух сегментов, администрируем разными людьми. Пусть, далее, в один из сегментов был внесен вирус. Почти наверняка через несколько минут (или, в крайнем случае, несколько десятков минут) вирус распространится и другой сегмент. Значит, меры нужны немедленные. Далее, вычищать вирус нужно одновременно в обоих сегментах; в противном случае сегмент, вычищенный первым, заразится от другого, а затем вирус вернется и во второй сегмент. Для недопущения повторных нарушений необходимо анализировать каждый инцидент, выявлять причины, накапливать статистику. Каковы источники зловредного кода? Какие пользователи имеют обыкновение выбирать слабые пароли? На подобные вопросы и должны дать ответы результаты анализа. Заранее все предусмотреть невозможно, необходимы активные коррективы, необходимость которых выявлена опытом. Появляются новые вирусы, совершенствуются приемы нападение, новые системы приносят с собой новые угрозы. Кто-то в организации должен отслеживать этот процесс, принимать краткосрочные меры и корректировать программу безопасности для принятия долгосрочных мер. 8.4.5 Планирование восстановительных работ Ни одна организация не застрахована о серьезных аварий, вызванных естественными причинами, чьим-то злым умыслом, халатностью или некомпетентностью. В то же время у каждой организации есть функции, которые она считает критически важными, выполнение которых она хотела бы продолжать, несмотря ни на что. Планирование восстановительных работ пoзвoляeт подготовиться к авариям, уменьшить ущерб oт них и сохранить способность к функционированию хотя бы в минимальном объеме. Отметим, что меры информационной безопасности можно разделить на три группы, в соответствии с тем, направлены ли они на предупреждение, обнаружение или ликвидацию последствий нападений. Большинство мер носят предупредительный характер. Оперативный анализ регистрационной информации и некоторые аспекты реакции на нарушения служат для обнаружения угроз. Планирование восстановительных работ, очевидно, можно отнести к последней из трех названных групп. Процесс планирования восстановительных работ можно подразделить на следующие этапы: выявление критически важных функций, установление приоритетов; идентификация ресурсов, необходимых для выполнения критически важных функций; определение перечня возможных аварий; разработка стратегии восстановительных работ; подготовка к реализации выбранной стратегии; проверка стратегии. 166 Планируя восстановительные работы, следует отдавать себе отчет в том, что полностью сохранить функционирование организации не всегда возможно. Значит, необходимо выявить критически важные функции, без которых организация теряет свое лицо, и даже среди критичных функций расставить приоритеты, чтобы как можно быстрее и с минимальными затратами возобновить деятельность после аварии. Идентифицируя ресурсы, необходимые для выполнения критически важных функций, следует помнить, что многие из них имеют некомпьютерный характер. На этом этапе желательно привлечение специалистов разного профиля, способных в совокупности охватить все аспекты проблемы. Критичные ресурсы обычно относятся к одной из следующих категорий: персонал, информационная инфраструктура, физическая инфраструктура. Составляя списки критически важных специалистов, следует учитывать, что некоторые из них могут впрямую пострадать от аварии (например, от пожара), кто-то может находиться в состоянии стресса, часть сотрудников, возможно, будет лишена возможности попасть на работу (например, если на улице стреляют). Желательно иметь некоторый резерв специалистов или заранее определить каналы, по которым можно будет на время привлечь дополнительный персонал. Информационная инфраструктура включает в себя следующие элементы: компьютеры, программы и данные, информационные сервисы внешних организаций, документацию. Вообще говоря, нужно подготовиться к тому, что на "запасном аэродроме", куда организация будет эвакуирована после аварии, аппаратная платформа может отличаться от исходной. Соответственно, следует продумать меры поддержания совместимости по программам и данным. Среди внешних информационных сервисов для коммерческих организаций, вероятно, важнее всего получение оперативной рыночной информации и связь с государственными службами, курирующими данный сектор экономики. Документация важна хотя бы потому, что не вся информация, с которой оперирует организация, представлена в электронной форме. Скорее всего, план восстановительных работ напечатан на бумаге. К физической инфраструктуре относятся здания, инженерные коммуникации, средства связи, оргтехника и многое другое. Компьютерная техника не может работать в плохих условиях, без нормального электропитания, охлаждения и т.п. Анализируя критичные ресурсы, целесообразно учесть временной профиль их использования. Большинство ресурсов нужны постоянно, но в некоторых нужда может возникать только в определенные периоды (например, в конце месяца или года при составлении отчета). При определении перечня возможных аварий нужно попытаться разработать их сценарии: Как будут развиваться события? Каковы могут оказаться масштабы бедствия? Что произойдет с критичными ресурсами? Например, смогут ли люди попасть на работу? Будут ли выведены из строя компьютеры? Возможны ли случаи саботажа? Будет ли работать связь? Пострадает ли здание организации? Можно ли будет найти и прочитать необходимые бумаги? Стратегия восстановительных работ должна, разумеется, базироваться на наличных ресурсах и быть не слишком накладной для организации. При разработке стратегии целесообразно провести анализ рисков, которым подвержены критичные функции, и попытаться выбрать наиболее экономичное решение. 167 Стратегия должна предусматривать не только работу по временной схеме, но и возвращение к нормальному функционированию. Как ни странно, об этом зачастую забывают, хотя данный процесс не прост и, несомненно, нуждается в планировании. Подготовка к реализации выбранной стратегии состоит в проработке детального плана действий в экстренных ситуациях и по их окончании, а также в обеспечении некоторой избыточности критичных ресурсов. Последнюю цель можно достичь без большого расхода средств, если заключить с одной или несколькими организациями соглашения о взаимной поддержке в случае аварий - тот, кто не пострадал, предоставляют часть своих ресурсов во временное пользование менее удачливым партнерам. Избыточность обеспечивается также мерами резервного копирования, хранением копий в нескольких местах, представлением информации в разных видах (на бумаге и в файлах) и т.д. Разумно заключить соглашение с поставщиками информационных услуг о первоочередном обслуживании в критических ситуациях или иметь соглашения с несколькими поставщиками. Правда, эти меры могут потребовать определенных расходов. Важной частью подготовки к реализации стратегии восстановления является обучение персонала. Проверка стратегии производится, конечно, не путем воспроизведения угроз, а путем анализа подготовленного плана, принятых и намеченных мер. Чем большее число специалистов разного профиля уделят этому свое время, тем лучше. Впрочем, для некоторых видов незначительных аварий возможны и натурные эксперименты. "Гром не грянет - мужик не перекрестится"! Программно-технические меры образуют последний и самый важный рубеж информационной защиты. Напомним, что основную часть ущерба наносят действия легальных пользователей, по отношению к которым операционные регуляторы не могут дать решающего эффекта. Главные враги некомпетентность и неаккуратность при выполнении служебных обязанностей, и только программно-технические меры способны им противостоять. Компьютеры помогли автоматизировать многие области человеческой деятельности. Вполне естественным представляется желание возложить на них и обеспечение собственной безопасности. Даже физическую защиту все чаще поручают не охранникам, а интегрированным компьютерным системам, что позволяет одновременно отслеживать перемещения сотрудников и по пространству предприятия, и по информационному пространству. Это вторая причина, объясняющая важность программно-технических мер. 8.5 Анализ современного рынка программно-технических средств защиты информации Система защиты информации, обрабатываемой с использованием технических средств, должна строиться по определенным принципам противодействия угрозам безопасности: I. Превентивность принимаемых мер защиты, так как устранение последствий проявления угроз требует значительных финансовых, временных и материальных затрат. II. Дифференциация мер защиты информации в зависимости от ее важности и частоты и вероятности возникновения угроз безопасности. III. Достаточность мер защиты информации, позволяющая реализовать эффективную защиту без чрезмерного усложнения системы защиты информации. IV. Максимальная дружественность системы обеспечения информационной безопасности. При этом следует учесть совместимость создаваемой системы противодействия угрозам безопасности информации с используемой операционной и программно-аппаратной структурой автоматизированной системы и сложившимися традициями учреждения. V.Системный подход к построению системы противодействия угрозам безопасност, позволяющий заложить комплекс мероприятий по защите информации уже на стадии проектирования, обеспечив оптимальное сочетание организационных и технических мер защиты информации. VI. Самозащита и конфиденциальность системы защиты информации, которая заключается в 168 применимости принципов противодействия угрозам к самой системе защиты и соблюдении конфиденциальности реализованных механизмов защиты информации в автоматизированной системе. Средства защиты информации, присутствующие в настоящее время на рынке условно можно разделить на несколько групп: 1. активные и пассивные технические средства, обеспечивающие защиту от утечки информации по различным физическим полям, возникающим при применении средств ее обработки; В качестве примера технических средств, обеспечивающие защиту от утечки информации по различным физическим полям, возникающим при применении средств ее обработки можно привести генераторы шума ГШ-1000, ГШ-1000к, устройство защиты “Салют”, обеспечивающие скрытие информационных побочных электромагнитных излучений средств обработки информации, сетевые помехоподавляющие фильтры ФСПК-100 и ФСПК-200, устройство защиты от перехвата речевой информации через телефонные аппараты “Корунд”и целый ряд других. Для абонентских пунктов и обрабатывающего центра автоматизированной системы с целью предотвращения утечки информации за счет побочных электромагнитных излучений целесообразно использовать: - сертифицированные по требованиям безопасности информации вычислительные средства (например, персональные ЭВМ типа PC AT/486DX, сборки АО "ДОС" г. Долгопрудный, РС Pentium поставки АО "Ланит" Москва, АО "СВЕМЕЛ" Москва, АО "РНТ" Москва), либо имеющиеся в наличии персональные ЭВМ и файл-серверы совместно с активными средствами защиты типа ГШ-1000 (СКБ ИРЭ РАН), “Салют” (НТФ “Криптон”); 2. программные и программно-технические средства, обеспечивающие разграничение доступа к информации на различных уровнях, идентификацию и аутентификацию пользователей; В рамках этих работ, в частности, разработаны и прошли Государственную сертификацию программные средства защиты информации от несанкционированного доступа "Снег-1.0", "Снег2.0", "Снег-ЛВС", "Secret Net 1.0","Secret Net 2.1", "Dallas Lock 3.0", "Dallas Lock 3.1", "Сизам", "Страж-1", прграммно-аппаратные комплексы “Аккорд”, “Диз 1.0”, “SVET&Q” и другие. В это же ряду стоят межсетевые экраны, - обеспечивающие защиту корпоративных сетей от вторжения из глобальных информационных сетей типа Internet. Это программно-аппаратные комплексы “SKIP” и “Пандора”, программные комплексы Firewall-1, Застава-Джет. Основой многих современных систем охраны помещений и защиты от несанкционированного доступа к информации и программамслужат электронные идентификационные устройства. Примером такого устройства является автоматический идентификатор, производимый американской фирмой DALLAS SEMICONDUCTOR. Идентификатор может быть встроен в брелок, визитную карточку, пропуск. В зависимости от варианта применения автоматический идентификатор может использоваться с различными дополнительными устройствами: электронными замками, компьютерами. Системы обеспечения безопасности на его основе выпускаются Ассоциацией "Конфидент", АО "РНТ", АО "Аладдин", АО "Информзащита", АО "АРТИ". Наличие в идентификаторе изменяемой памяти позволяет использовать его для широкого класса приложений, например, для хранения личных, периодически изменяемых ключей шифрования пользователя; для хранения информации о состоянии личного счета пользователя для расчетных систем; для хранения информации о разрешенном времени прохода в пропускных системах. Использование идентификатора вместе с электронными замками дает широкие возможности по управлению доступом пользователей в режимные помещения: централизованное оперативное слежение за проходом в помещения, дистанционное управление допуском, гибкое установление правил допуска в помещения (например, по определенным дням и часам). Для помещений с целью защиты от несанкционированного доступа в них целесообразно использовать:- электромеханические системы, поставляемых Ассоциацией "Конфидент", АО "РНТ", АО 169 "Аладдин", АО "АРТИ", а с целью защиты от перехвата речевой информации через телефонные аппараты - устройства “Корунд” (ТОО “Реном”); 3. программные и программно-технические средства, обеспечивающие защиту информации и подтверждение ее подлинности при передаче по каналам связи; В настоящее время средства и системы, предназначенные для защиты информации и подтверждения ее подлинности при передаче по каналам связи и, в первую очередь, криптографические устройства, производятся более чем 700 зарубежными фирмами. Эти устройства время от времени появляются и на российском рынке. Однако, необходимо отметить, что ни одно зарубежное средство шифрования не прошло сертификацию в соответствии с законами, установленными в РФ, и поэтому гарантий обеспечения безопасности обработанной с их помощью информации при использовании в автоматизированных системах, предназначенных для обработки конфиденциальной информации нет. Сертификаты же, выданные иностранными учреждениями и компаниями, юридической силы в России не имеют. Можно привести следующие примеры. Фирмой IBM (США) выпускаются встраиваемая в ПЭВМ плата криптографической защиты, а фирмой Intel выпускается микросхема I8272, реализующие алгоритм DES. Фирма Cylink (США) производит блок, реализующий алгоритм DES с дополнительными сервисными сетевыми возможностями. Блок работает с потоками информации до 2,048 Мбит/сек, и поддерживает интерфейсы по Рекомендациям V.35, X.21 МСЭ-Т и RS449/442 и управляется по интерфейсу RS-232. Фирма Western Data Com (США) выпускает модем по рекомендации V.32 МККТТ, работающий на скорости до 19,2 Кбит/с и автоматически шифрующий информацию по стандарту DES. Для защиты конфиденциальной информации, передаваемой по каналам связи могут использоваться скремблеры и шифраторы. Фирма ThomsonCSF (Франция) выпускает речевые скремблеры типа TRC 769 защищающие телефонные каналы путем частотно-временных перестановок со скользящим окном. Для защиты конфиденциальной информации в каналах радиосистем связи предназначены устройства фирмы Simens (Германия), Grundy & Pirtners (Великобритания). Ряд фирм выпускает криптографические устройства ориентированные на работу в сетях, например, шифратор ScaNet фирмы Dowty Network Systems (Великобритания), шифратор Datacryptor-64 фирмы Racal Datacom (США) для пользователей сети с пакетной коммутацией по протоколу X.25 МККТТ. Фирма NFT (Норвегия) разработала серию криптомодулей со скоростями до 10 Мбит/с, предназначенных для засекречивания потоков и применения в локальных сетях. Фирма Xerox (США) создала блок высококачественного шифрования данных Xerox Encription Unit, обеспечивающий защиту особо секретной информации, в локальной сети. Фирма PE Systems (США) поставляет систему GILLAROO для передачи цифровой подписи и защиты секретной информации, передаваемой в сетях и каналах связи. Фирма Calmes Semiconductor Inc. (США) производит криптопроцессор СЛ34С168 для блочного шифрования на скорости до 300 Кбит/с. За последнее время предложены новые алгоритмы шифрования, например NEWDES и FEAL, рассчитанные на шифрование потоков со скоростями до 1 Гбит/с. Средства криптографической защиты, выполненные российскими производителями, в наибольшей степени соответствуют принятым в России требованиям, однако, не все из этих устройств имеют соответствующий сертификат ФАПСИ, что делает их применение противозаконным. Вместе с тем, по желанию заказчика, эти устройства могут быть выставлены на сертификационные испытания в Системе ертификации средств криптографической защиты информации. Реализация алгоритма по ГОСТ 28147-89 эффективно может быть осуществлена на универсальных либо на сигнальных процессорах. Шифратор "Спринт" (АО "Инфотекс") выполнен на программируемой логической матрице фирмы Xilinx и обеспечивает работу на скоростях до 10 Мбит/сек. Протокол обмена программируется по требованиям заказчика. Плата DB-25RS (АО "Сигнал РОКС"), выполненная на сигнальном процессоре TMS320C25, обеспечивает криптографическую защиту вокодерной связи или данных на скорости 2400 бит/сек. Фирма "Анкад" выпускает устройство шифрования данных "КРИПТОН-3" для коммерческой связи, встраиваемое в ПЭВМ. НПО "Автоматика" предлагает встраиваемую в ПЭВМ плату "Корунд", предна170 значенную для защиты информации в каналах связи и на носителях внутри ПЭВМ. Ряд отечественных фирм выпускает скремблеры для засекречивания телефонных сообщений - УЗТП (АО "Инфотекс"), БАЗАЛЬТ (НПО "Автоматика"), АКТП (НПО "Элас"). Известны некоторые программные варианты решения вопроса криптографической защиты по ГОСТ 28147-89. Примером таких программных продуктов являются пакеты программ "Град" (ЦНИИатоминформ), "Удача" (АО "Инфотекс"), "Нотариус" и "Афина" (АО "ЛАН Крипто"). Для подтверждения подлинности сообщений используются системы электронной цифровой подписи и криптографической защиты "Верба", "Верба-О" и "Маскарад". Подразделениями НТЦ ФАПСИ ведутся работы по созданию нового стандарта "электронной подписи", обеспечивающей защиту документированной информации при высоких скоростях ее передачи по каналам связи. 4. программно-аппаратные средства, обеспечивающие целостность программного продукта и защиту от несанкционированного его копирования; В последнее время все более широкое распространение на рынке программно-аппаратных средств защиты информации получают системы предотвращения несанкционированного копирования программных продуктов типа "HASP - ключей". HASP HL (Hardware Against Software Piracy - High Level) – USB-ключи для защиты программ и данных от копирования, нелегального использования и несанкционированного распространения. Ключи защиты HASP HL предназначены для разработчиков и издателей программного обеспечения и предоставляют им широкий набор средств и методов защиты программ и данных. HASP HL не только защищают программы от пиратства, но и позволяют реализовать новые гибкие схемы управления продажами и распространением защищенного программного обеспечения. Тем самым USB-ключи HASP HL обеспечивают защиту интеллектуальной собственности, а также способствует росту прямых продаж и, соответственно, доходов от реализации программного обеспечения. Ключи защиты HASP HL поддерживают большинство современных платформ и операционных систем (Windows, Linux, Mac). Помимо линейки USB-ключей защиты в состав HASP HL входит набор программного обеспечения (утилит, API), с помощью которого реализуется защита программ и данных, а также простая и удобная дистрибуция защищенного программного обеспечения. Сочетание простоты и удобства в использовании, универсальности при работе с разными платформами, а также наличие Международного сертификата качества ISO 9001-2000 обеспечили HASP HL репутацию самой популярной и продаваемой марки USB-ключей для защиты программ и данных в России и в мире. 5. программные средства, обеспечивающие защиту от воздействия программ-вирусов и других вредоносных программ; Войсковой частью 01168 и АО "Диалог-Наука" созданы программные средства, обеспечивающие защиту от воздействия программ-вирусов и других вредоносных программ, а также программы-ревизоры магнитных носителей. Надо отметить, что Гостехкомиссией России сейчас принимаются определенные усилия по разработке специального руководящего документа, который позволит предъявит к программам такого класса специальные требования и, как следствие, провести их сравнение на уровне сертификационных испытаний. Пока таких требований нет. Однако можно с уверенностью сказать, что такие антивирусные программы как "DoctorWeb", “Aidstest”, “Adinf”, “Sherif” Антивирус Касперского могут успешно использоваться потребителями, правда если это лицензионные копии, за которые несет ответственность фирма-производитель. 6. физико-химические средства защиты, обеспечивающие подтверждение подлинности документов, безопасность их транспортировки и защиту от копирования. Еще несколько слов о новейших технологиях основанных на использовании физикохимических свойств материалов и обеспечивающих подтверждение подлинности документов, безопасность их транспортировки и защиту от копирования. Это специальные тонкопленочные 171 материалы с изменяющейся цветовой гаммой на основе технологии Advateg, наносимые на документы и предметы или галографические метки. Они позволяют однозначно идентифицировать подлинность объекта и контролировать несанкционированный доступ к ним. Кроме того, на основе технологии Advateg разработаны специальные конверты, пакеты и другой упаковочный материал, который позволяет гарантировать конфиденциальность документов и материальных средств при их транспортировке даже по обычным почтовым каналам. Сейчас такие средства проходят сертификацию в системе сертификации Гостехкомиссии России. . Тема 9. Защита авторских прав на программное обеспечение Существует важное различие между методами защиты авторских прав на программное обеспечение и защитой информации и компьютеров. Защита информации совпадает с интересами законопослушного пользователя, в то же время, если программа успешно эксплуатируется и ее целостность не нарушена, пользователь не проявляет большой заинтересованности в защите прав автора программы. Методы защиты авторских прав можно разделить на две группы: 1. методы правовой защиты. 2. методы и средства технологической защиты. 9.1 Методы правовой защиты Приведем цитаты из правовых документов. Права на результаты интеллектуальной деятельности и средства индивидуализации устанавливаются Разделом IV Гражданского Кодекса РФ. «..Результатами интеллектуальной деятельности и приравненными к ним средствами индивидуализации юридических лиц, товаров, работ, услуг и предприятий, которым предоставляется правовая охрана (интеллектуальной собственностью), являются: 1) произведения науки, литературы и искусства; 2) программы для электронных вычислительных машин (программы для ЭВМ); 3) базы данных; 4)………. Закон о правовой охране программ для электронных вычислительных машин и баз данных Глава 4. Защита прав Статья 17. Нарушение авторских прав. Контрафактные экземпляры программы для ЭВМ или базы данных (в ред. Федерального закона от 24.12.2002 N 177-ФЗ) 1. Физическое или юридическое лицо, которое не выполняет требований настоящего Закона в отношении исключительных прав правообладателей, в том числе ввозит в Российскую Федерацию экземпляры программы для ЭВМ или базы данных, изготовленные без разрешения их правообладателей, является нарушителем авторских прав. 172 (в ред. Федерального закона от 24.12.2002 N 177-ФЗ) 2. Контрафактными признаются экземпляры программы для ЭВМ или базы данных, изготовление или использование которых влечет за собой нарушение авторских прав. (в ред. Федерального закона от 24.12.2002 N 177-ФЗ) 3. Контрафактными являются также экземпляры охраняемой в Российской Федерации в соответствии с настоящим Законом программы для ЭВМ или базы данных, ввозимые в Российскую Федерацию из государства, в котором эта программа для ЭВМ или база данных никогда не охранялись или перестали охраняться законом. Статья 18. Защита прав на программу для ЭВМ и базу данных 1. Автор программы для ЭВМ или базы данных и иные правообладатели вправе требовать: признания прав; восстановления положения, существовавшего до нарушения права, и прекращения действий, нарушающих право или создающих угрозу его нарушения; возмещения лицом, нарушившим исключительное право, причиненных убытков в соответствии с гражданским законодательством; (в ред. Федерального закона от 24.12.2002 N 177-ФЗ) абзацы пятый - шестой исключены. - Федеральный закон от 24.12.2002 N 177-ФЗ; принятия иных предусмотренных законодательными актами мер, связанных с защитой их прав. 2. За защитой своего права правообладатели могут обратиться в суд, арбитражный или третейский суд. 3. Исключен. - Федеральный закон от 24.12.2002 N 177-ФЗ. Статья 19. Арест контрафактных экземпляров программы для ЭВМ или базы данных На экземпляры программы для ЭВМ или базы данных, изготовленные, воспроизведенные, распространенные, проданные, ввезенные или иным образом использованные либо предназначенные для использования в нарушение прав авторов программы для ЭВМ или базы данных и иных правообладателей, может быть наложен арест в порядке, установленном законом. ЗАКОН ОБ АВТОРСКОМ ПРАВЕ И СМЕЖНЫХ ПРАВАХ (в ред. Федеральных законов от 19.07.1995 N 110-ФЗ, от 20.07.2004 N 72-ФЗ) Раздел I. ОБЩИЕ ПОЛОЖЕНИЯ Статья 1. Предмет регулирования Настоящий Закон регулирует отношения, возникающие в связи с созданием и использованием произведений науки, литературы и искусства (авторское право), фонограмм, исполнений, постановок, передач организаций эфирного или кабельного вещания (смежные права). Статья 2. Законодательство Российской Федерации об авторском праве и смежных правах (в ред. Федерального закона от 20.07.2004 N 72-ФЗ) Законодательство Российской Федерации об авторском праве и смежных правах основывается на Конституции Российской Федерации и состоит из Гражданского кодекса Российской Федерации, настоящего Закона, Закона Российской Федерации от 23 сентября 1992 года N 173 3523-1 "О правовой охране программ для электронных вычислительных машин и баз данных", федеральных законов. Статья 3. Международные договоры Если международным договором, в котором участвует Российская Федерация, установлены иные правила, чем те, которые содержатся в настоящем Законе, то применяются правила международного договора. Статья 4. Основные понятия Для целей настоящего Закона указанные ниже термины имеют следующее значение: автор - физическое лицо, творческим трудом которого создано произведение; ………. база данных - объективная форма представления и организации совокупности данных (статей, расчетов и так далее), систематизированных таким образом, чтобы эти данные могли быть найдены и обработаны с помощью электронной вычислительной машины (ЭВМ); воспроизведение произведения - изготовление одного или более экземпляров произведения или его части в любой материальной форме, в том числе в форме звуко- и видеозаписи, изготовление в трех измерениях одного или более экземпляров двухмерного произведения и в двух измерениях - одного или более экземпляров трехмерного произведения; запись произведения в память ЭВМ также является воспроизведением; …… запись - фиксация звуков и (или) изображений с помощью технических средств в какойлибо материальной форме, позволяющей осуществлять их неоднократное восприятие, воспроизведение или сообщение; ………. программа для ЭВМ - объективная форма представления совокупности данных и команд, предназначенных для функционирования ЭВМ и других компьютерных устройств с целью получения определенного результата, включая подготовительные материалы, полученные в ходе разработки программы для ЭВМ, и порождаемые ею аудиовизуальные отображения; …………. экземпляр произведения - копия произведения, изготовленная в любой материальной форме; ……. Раздел II. АВТОРСКОЕ ПРАВО Статья 5. Сфера действия авторского права 1. Авторское право: 1) распространяется на произведения, обнародованные на территории Российской Федерации или необнародованные, но находящиеся в какой-либо объективной форме на территории Российской Федерации, и признается за авторами (их правопреемниками) независимо от их гражданства; 2) распространяется на произведения, обнародованные за пределами территории Российской Федерации или необнародованные, но находящиеся в какой-либо объективной форме за пределами территории Российской Федерации, и признается за авторами, являющимися гражданами Российской Федерации (их правопреемниками); 3) распространяется на произведения, обнародованные за пределами территории Российской Федерации или необнародованные, но находящиеся в какой-либо объективной форме за пределами территории Российской Федерации, и признается на территории Российской Федерации за авторами (их правопреемниками) - гражданами других государств в соответствии с международными договорами Российской Федерации. 174 (п. 1 в ред. Федерального закона от 20.07.2004 N 72-ФЗ) 2. Произведение также считается впервые опубликованным в Российской Федерации, если в течение 30 дней после даты первого опубликования за пределами Российской Федерации оно было опубликовано на территории Российской Федерации. (в ред. Федерального закона от 20.07.2004 N 72-ФЗ) 3. При предоставлении на территории Российской Федерации охраны произведению в соответствии с международными договорами Российской Федерации автор произведения определяется по закону государства, на территории которого имел место юридический факт, послуживший основанием для обладания авторским правом. …………. Статья 6. Объект авторского права. Общие положения 1. Авторское право распространяется на произведения науки, литературы и искусства, являющиеся результатом творческой деятельности, независимо от назначения и достоинства произведения, а также от способа его выражения. 2. Авторское право распространяется как на обнародованные произведения, так и на необнародованные произведения, существующие в какой-либо объективной форме: письменной (рукопись, машинопись, нотная запись и так далее); устной (публичное произнесение, публичное исполнение и так далее); звуко- или видеозаписи (механической, магнитной, цифровой, оптической и так далее); изображения (рисунок, эскиз, картина, план, чертеж, кино-, теле-, видео- или фотокадр и так далее); объемно-пространственной (скульптура, модель, макет, сооружение и так далее); в других формах. 3. Часть произведения (включая его название), которая удовлетворяет требованиям пункта 1 настоящей статьи и может использоваться самостоятельно, является объектом авторского права. 4. Авторское право не распространяется на идеи, методы, процессы, системы, способы, концепции, принципы, открытия, факты. 5. Авторское право на произведение не связано с правом собственности на материальный объект, в котором произведение выражено. Передача права собственности на материальный объект или права владения материальным объектом сама по себе не влечет передачи каких-либо авторских прав на произведение, выраженное в этом объекте, за исключением случаев, предусмотренных статьей 17 настоящего Закона. Об отказе в принятии к рассмотрению жалобы на нарушение конституционных прав положениями статьи 7 см. Определение Конституционного Суда РФ от 20.12.2005 N 537-О. Статья 7. Произведения, являющиеся объектами авторского права 1. Объектами авторского права являются: литературные произведения (включая программы для ЭВМ); ……… другие произведения. 2. Охрана программ для ЭВМ распространяется на все виды программ для ЭВМ (в том числе на операционные системы), которые могут быть выражены на любом языке и в любой форме, включая исходный текст и объектный код. 3. К объектам авторского права также относятся: производные произведения (переводы, обработки, аннотации, рефераты, резюме, обзоры, инсценировки, аранжировки и другие переработки произведений науки, литературы и искусства); 175 сборники (энциклопедии, антологии, базы данных) и другие составные произведения, представляющие собой по подбору или расположению материалов результат творческого труда. Производные произведения и составные произведения охраняются авторским правом независимо от того, являются ли объектами авторского права произведения, на которых они основаны или которые они включают. Статья 9. Возникновение авторского права. Презумпция авторства 1. Авторское право на произведение науки, литературы и искусства возникает в силу факта его создания. Для возникновения и осуществления авторского права не требуется регистрации произведения, иного специального оформления произведения или соблюдения каких-либо формальностей. Обладатель исключительных авторских прав для оповещения о своих правах вправе использовать знак охраны авторского права, который помещается на каждом экземпляре произведения и состоит из трех элементов: латинской буквы "С" в окружности: C; имени (наименования) обладателя исключительных авторских прав; года первого опубликования произведения. 2. При отсутствии доказательств иного автором произведения считается лицо, указанное в качестве автора на оригинале или экземпляре произведения. ………. Статья 10. Соавторство 1. Авторское право на произведение, созданное совместным творческим трудом двух или более лиц (соавторство), принадлежит соавторам совместно независимо от того, образует ли такое произведение одно неразрывное целое или состоит из частей, каждая из которых имеет самостоятельное значение. Часть произведения признается имеющей самостоятельное значение, если она может быть использована независимо от других частей этого произведения. Каждый из соавторов вправе использовать созданную им часть произведения, имеющую самостоятельное значение, по своему усмотрению, если иное не предусмотрено соглашением между ними. 2. Право на использование произведения в целом принадлежит соавторам совместно. Взаимоотношения соавторов могут определяться соглашением между ними. Если произведение соавторов образует одно неразрывное целое, то ни один из соавторов не вправе без достаточных к тому оснований запретить использование произведения. …………… Статья 14. Авторское право на служебные произведения 1. Авторское право на произведение, созданное в порядке выполнения служебных обязанностей или служебного задания работодателя (служебное произведение), принадлежит автору служебного произведения. 2. Исключительные права на использование служебного произведения принадлежат лицу, с которым автор состоит в трудовых отношениях (работодателю), если в договоре между ним и автором не предусмотрено иное. Размер авторского вознаграждения за каждый вид использования служебного произведения и порядок его выплаты устанавливаются договором между автором и работодателем. 3. Работодатель вправе при любом использовании служебного произведения указывать свое наименование либо требовать такого указания. 176 Статья 25. Свободное воспроизведение программ для ЭВМ и баз данных. Декомпилирование программ для ЭВМ 1. Лицо, правомерно владеющее экземпляром программы для ЭВМ или базы данных, вправе без получения разрешения автора или иного обладателя исключительных прав на использование произведения и без выплаты дополнительного вознаграждения: 1) внести в программу для ЭВМ или базу данных изменения, осуществляемые исключительно в целях ее функционирования на технических средствах пользователя, осуществлять любые действия, связанные с функционированием программы для ЭВМ или базы данных в соответствии с ее назначением, в том числе запись и хранение в памяти ЭВМ (одной ЭВМ или одного пользователя сети), а также исправление явных ошибок, если иное не предусмотрено договором с автором; 2) изготовить копию программы для ЭВМ или базы данных при условии, что эта копия предназначена только для архивных целей и для замены правомерно приобретенного экземпляра в случаях, когда оригинал программы для ЭВМ или базы данных утерян, уничтожен или стал непригоден для использования. При этом копия программы для ЭВМ или базы данных не может быть использована для иных целей, чем указано в подпункте 1 настоящего пункта, и должна быть уничтожена в случае, если владение экземпляром этой программы для ЭВМ или базы данных перестает быть правомерным. 2. Лицо, правомерно владеющее экземпляром программы для ЭВМ, вправе без согласия автора или иного обладателя исключительных прав и без выплаты дополнительного вознаграждения воспроизвести и преобразовать объектный код в исходный текст (декомпилировать программу для ЭВМ) или поручить иным лицам осуществить эти действия, если они необходимы для достижения способности к взаимодействию независимо разработанной этим лицом программы для ЭВМ с другими программами, которые могут взаимодействовать с декомпилируемой программой, при соблюдении следующих условий: 1) информация, необходимая для достижения способности к взаимодействию, ранее не была доступна этому лицу из других источников; 2) указанные действия осуществляются в отношении только тех частей декомпилируемой программы для ЭВМ, которые необходимы для достижения способности к взаимодействию; 3) информация, полученная в результате декомпилирования, может использоваться лишь для достижения способности к взаимодействию независимо разработанной программы для ЭВМ с другими программами, не может передаваться иным лицам, за исключением случаев, если это необходимо для достижения способности к взаимодействию независимо разработанной программы для ЭВМ с другими программами, а также не может использоваться для разработки программы для ЭВМ, по своему виду существенно схожей с декомпилируемой программой для ЭВМ, или для осуществления любого другого действия, нарушающего авторское право. 3. Применение положений настоящей статьи не должно наносить неоправданного ущерба нормальному использованию программы для ЭВМ или базы данных и не должно ущемлять необоснованным образом законные интересы автора или иного обладателя исключительных прав на программу для ЭВМ или базу данных. 9.2 Методы и средства технологической защиты авторских прав на программное обеспечение 1. Средства собственной защиты: Документация к программе – субъект авторского права и выполняет функции защиты. 177 Машинный код. Если программа в машинном коде, а ее описание приведено в документации. Сопровождение является обязательным, особенно, если программа не полностью отлажена. Ограниченное применение Заказное проектирование предполагает разработку для специальных целей. 2. Средства защиты в составе вычислительных систем. Защита магнитных дисков (один раз чтение) Специальная аппаратура, например заказные ключи Guardant – это новый уровень защиты. Их целесообразно использовать для защиты дорогих и крупносерийных программных продуктов. Индивидуальная схема защиты и использование нестандартных подходов позволяют во много раз увеличить стойкость защиты. Замки защиты (на основе уникального серийного номера ПК или зависящие от времени Изменение функций программы – запрет копирования, перезапись памяти, переустановка прерываний. При защите программ от несанкционированного копирования применяются методы,