4.1. Основные положения теории информационной безопасности информационных систем
Одной из наиболее важных проблем является надежная защита в информационном пространстве информационного обеспечения и предупреждение искажения, уничтожения, несанкционированной модификации, злоумышленного получения и использования информации.
Информационное обеспечение деятельности предприятия, учреждения, организации – это создание, организация и обеспечение функционирования системы сбора, хранения, обработки и выдачи информации, которая обеспечивала бы предоставление всем подразделениям и должностным лицам организации всей необходимой им информации в требуемое время, требуемого качества и при соблюдении всех устанавливаемых правил обращения с информацией.
Информация разделяется на два вида:
1. Сведения об источниках, где могут быть необходимые данные (факты).
2. Собственно данные (факты), пригодные для непосредственного использования.
Первый вид информации называют документальным, второй – фактографическим. Документальной информацией является корреспонденция, которая делится на входящую и исходящую, техническая документация различного назначения, информация общего назначения (газеты, журналы, книги и т. п.). Фактографическая информация классифицируется по срочности, с которой она должна обрабатываться в соответствии с функциональным назначением организации, т. е. быстроменяющаяся (оперативная), медленноменяющаяся и постоянная (нормативно-справочная). В то же время информация может быть достоверной и недостоверной (непроверенной), полной и неполной. В зависимости от этого фактографическую информацию разделяют на исходную (неполную, непроверенную, непроанализированную) и регламентную, прошедшую все виды предварительной обработки и принятую в качестве официальной.
Основными процессами (Рис. 1), обеспечивающими движение информационных потоков, являются:
1. Генерирование (возникновение, порождение) информации.
2. Передача информации.
3. Прием информации.
4. Накопление и хранение информации.
5. Поиск информации.
6. Выдача информации.
Рис. 1. Общая схема движения информационных потоков
Современные технические, технологические и организационные системы, а также люди, коллективы людей и общество в целом сильно подвержены внешним информационным воздействиям. Все средства управления вооруженными силами и техническими комплексами обеспечиваются с помощью ЭВТ. Однако они сильно подвержены внешним информационным воздействиям – программы закладки, целенаправленное изменение констант в программах, вирусы. Целенаправленная подтасовка фактов и методическое преподнесение их СМИ можно сформировать достаточно устойчивое общественное мнение требуемого содержания. Психика и мышление человека сильно подвержены внешним информационным воздействиям, что при организованном воздействии можно запрограммировать поведение человека вплоть до изменения мировоззрения и веры.
Актуальной является не только проблема защиты информации, но и защиты от информации, которая приобретает международный и стратегический характер.
Существуют методы и средства компьютерного проникновения в подсознание человека, для оказания психологического воздействия и контроля сознания человека (шлем виртуальной реальности, компьютерный биопотенцер – электромагнитные колебания и поля, вызванные какими-либо нарушениями в функциях организма, гасятся или трансформируются в безвредные, а нормальные колебания усиливаются). Кроме того, компьютерная техника распространяется в массовом порядке и бесконтрольно, поэтому информационная безопасность в области компьютерной техники является основополагающей.
В электронном пространстве передачи информации используются следующие приемы достижения террористических целей:
1. Нанесение ущерба отдельным физическим элементам пространства, разрушение сетей электропитания, наведение помех, использование специальных программ, стимулирующих разрушение аппаратных средств, биологические и химические средства разрушения элементной базы и т. д.
2. Кража или уничтожение информационного, программного и технического ресурсов пространства, имеющих общественную значимость, путем преодоления систем защиты, внедрения вирусов, программных закладок и т. п.
3. Воздействие на программное обеспечение и информацию с целью их искажения или модификации в информационных системах управления.
4. Раскрытие и угроза опубликования или опубликование информации государственного значения о функционировании информационной инфраструктуры государства, общественно значимых и военных кодов шифрования, принципов работы систем шифрования, успешного опыта ведения информационного терроризма и др.
5. Ложная угроза террористического акта в пространстве, влекущая за собой экономические последствия.
6. Захват каналов СМИ с целью распространения дезинформации, слухов, демонстрации мощи террористической организации и объявления своих требований.
7. Уничтожение или подавление каналов связи, искажение адресации, искусственная перегрузка узлов коммутации и др.
8. Воздействие на операторов, разработчиков, эксплуатационников информационных и телекоммуникационных систем путем насилия или угрозы насилия, шантажа, подкупа, введения наркотических средств, использования нейролингвистического программирования, гипноза, средств создания иллюзий, мультимедийных средств для ввода информации в подсознание или ухудшение здоровья человека активными противоправными действиями.
Меры противодействия информационному терроризму: 1. Защита материально-технических объектов, составляющих физическую основу информационной инфраструктуры.
2. Обеспечение нормального и бесперебойного функционирования информационной инфраструктуры.
3. Защита информации от НСД, искажения или уничтожения.
4. Сохранение качества информации (своевременности, точности, полноты и необходимой доступности).
5. Создание технологий обнаружения воздействий на информацию, в том числе открытых сетях.
4.2. Модели безопасности и их применение
Метод формальной разработки системы опирается на модель безопасности (модель управления доступом, модель политики безопасности). Целью этой модели является выражение сути требований по безопасности к данной системе. Она определяет потоки информации, разрешенные в системе, и правила управления доступом к информации.
Модель позволяет провести анализ свойств системы, но не накладывает ограничений на реализацию тех или иных механизмов защиты. Так как она является формальной, возможно осуществить доказательство различных свойств безопасности системы.
Хорошая модель безопасности обладает свойствами абстрактности, простоты и адекватности моделируемой системе.
Основные понятия, используемые в моделях разграничения доступа, следующие.
Доступ к информации — ознакомление с информацией, ее обработка, в частности, копирование, модификация или уничтожение информации.
Объект доступа — единица информационного ресурса автоматизированной системы, доступ к которой регламентируется правилами разграничения доступа.
Субъект доступа — лицо или процесс, действия которого регламентируются правилами разграничения доступа.
Правила разграничения доступа — совокупность правил, регламентирующих права доступа субъектов доступа к объектам доступа.
Модель дискреционного доступа (DAC)
В дискреционной модели контролируется доступ субъектов (пользователей или приложений) к объектам, представляющим собой различные информационные ресурсы: файлы, приложения, устройства вывода и т. д.
Для каждого объекта существует субъект-владелец, который сам определяет тех, кто имеет доступ к объекту, а также разрешенные операции доступа. Основными операциями доступа являются READ (чтение), WRITE (запись) и EXECUTE (выполнение, имеет смысл только для программ). В модели дискреционного доступа для каждой пары субъект-объект устанавливается набор разрешенных операций доступа.
При запросе субъектом доступа к объекту система ищет субъекта в списке прав доступа объекта. Система разрешит доступ субъекта к объекту, если субъект присутствует в списке и имеет разрешенный требуемый тип доступа. Иначе доступ не предоставляется.
Классическая система дискреционного контроля доступа является «закрытой». Изначально объект не доступен никому, и в списке прав доступа описывается набор разрешений. Также существуют «открытые» системы, в которых по умолчанию все имеют полный доступ к объектам, а в списке доступа описывается набор ограничений.
Такая модель реализована в операционных системах Windows и Linux.
В Linux для каждого файла (все ресурсы в операционной системе Linux представимы в виде файлов, в том числе устройства ввода-вывода) устанавливаются разрешения доступа для трех категорий субъектов: владелец файла, члены той же группы, что и владелец, и все остальные пользователи. Для каждой из этих категорий устанавливаются права на чтение (r), запись (w) и выполнение (x). Набор прав доступа объекта может быть представлен в виде символьной строки. Например, запись «rwxr-xr-» означает, что владелец файла может делать с ним все, что угодно; члены его группы могут читать и исполнять файл, но не могут записывать, а прочим пользователям доступно только чтение.
Недостаток модели DAC заключается в том, что субъект, имеющий право на чтение информации может передать ее другим субъектам, которые этого права не имеют, без уведомления владельца объекта. Таким образом, нет гарантии, что информация не станет доступна субъектам, не имеющим к ней доступа. Кроме того, не во всех автоматизированных ИС каждому объекту можно назначить владельца. Во многих случаях данные принадлежат не отдельным субъектам, а всей системе.
Модель безопасности белла-ЛаПадулы
Одна из наиболее известных моделей безопасности – модель Белла-ЛаПадулы (модель мандатного управления доступом). В ней определено множество понятий, связанных с контролем доступа. Даются определения субъекта, объекта и операции доступа, а также математический аппарат для их описания. Эта модель в основном известна двумя основными правилами безопасности: одно относится к чтению, а другое – к записи данных (Рис. 2).
Рис. 2. Модель безопасности Белла-ЛаПадулы
Пусть в системе имеются данные (файлы) двух видов: секретные и несекретные, а пользователи этой системы также относятся к двум категориям: с уровнем допуска к несекретным данным (несекретные) и с уровнем допуска к секретным данным (секретные).
1. Свойство простой безопасности: несекретный пользователь (или процесс, запущенный от его имени) не может читать данные из секретного файла.
2. Пользователь с уровнем доступа к секретным данным не может записывать данные в несекретный файл. Если пользователь с уровнем доступа к секретным данным скопирует эти данные в обычный файл (по ошибке или злому умыслу), они станут доступны любому «несекретному» пользователю. Кроме того, в системе могут быть установлены ограничения на операции с секретными файлами (например, запрет копировать эти файлы на другой компьютер, отправлять их по электронной почте и т. д.). Второе правило безопасности гарантирует, что эти файлы (или даже просто содержащиеся в них данные) никогда не станут несекретными и не «обойдут» эти ограничения. Таким образом, вирус, например, не сможет похитить конфиденциальные данные.
Рассмотренные правила легко распространить на случай, когда в системе необходимо иметь более двух уровней доступа – различаются несекретные, конфиденциальные, секретные и совершенно секретные данные. Пользователь с уровнем допуска к секретным данным может читать несекретные, конфиденциальные и секретные документы, а создавать только секретные и совершенно секретные.
Общее правило звучит так: пользователи могут читать только документы, уровень секретности которых не превышает их допуска, и не могут создавать документы ниже уровня своего допуска. То есть теоретически пользователи могут создавать документы, прочесть которые они не имеют права.
Модель Белла-ЛаПадулы стала первой значительной моделью политики безопасности, применимой для компьютеров, и до сих пор в измененном виде применяется в военной отрасли. Модель полностью формализована математически. Основой модели является конфиденциальность. В модели игнорируется проблема изменения классификации: предполагается, что все сведения относятся к соответствующему уровню секретности, который остается неизменным. Но бывают случаи, когда пользователи должны работать с данными, которые они не имеют права увидеть.
Ролевая модель контроля доступа (RBAC)
Ролевой метод управления доступом контролирует доступ пользователей к информации на основе типов их активностей в системе
(ролей). Под ролью понимается совокупность действий и обязанностей, связанных с определенным видом деятельности. Примеры ролей: администратор базы данных, менеджер, начальник отдела.
В ролевой модели с каждым объектом сопоставлен набор разрешенных операций доступа для каждой роли, а не для каждого пользователя. Каждому пользователю сопоставлены роли, которые он может выполнять. В некоторых системах пользователю разрешается выполнять несколько ролей одновременно, в других есть ограничение на одну или несколько не противоречащих друг другу ролей в каждый момент времени.
Для формального определения модели RBAC используются следующие соглашения:
S = субъект – человек или автоматизированный агент.
R = роль – рабочая функция или название, определяется на уровне авторизации.
P = разрешения – утверждения режима доступа к ресурсу.
SE = сессия – Соответствие между S, R и/или P.
SA = назначение субъекта (Subject Assignment). SA ⊆ S × R. При этом субъекты назначаются связям ролей и субъектов в отношении «многие ко многим» (один субъект может иметь несколько ролей, а одну роль могут иметь несколько субъектов).
PA = назначение разрешения (Permission Assignment). PA ⊆ P × R. При этом разрешения назначаются связям ролей в отношении «многие ко многим».
RH = частично упорядоченная иерархия ролей (Role Hierarchy). PH ⊆ R × R.
На возможность наследования разрешений от противоположных ролей накладывается ограничительная норма, которая позволяет достичь надлежащего разделения режимов. Например, одному и тому же лицу может быть не позволено создать учетную запись для кого-то, а затем авторизоваться под этой учетной записью.
Основные достоинства ролевой модели:
1. Простота администрирования. В отличие от модели DAC нет необходимости прописывать разрешения для каждой пары «объект-пользователь». Вместо этого прописываются разрешения для пар «объект-роль» и определяются роли каждого пользователя. При изменении области ответственности пользователя, у него просто изменяются роли. Иерархия ролей также упрощает процесс администрирования. Иерархия ролей – это когда роль наряду со своими собственными привилегиями может наследовать привилегии других ролей.
2. Принцип наименьшей привилегии. Ролевая модель позволяет пользователю регистрироваться в системе ролью, минимально необходимой для выполнения требуемых задач. Запрещение полномочий, не требуемых для выполнения текущей задачи, не позволяет обойти политику безопасности системы.
3. Разделение обязанностей.
RBAC широко используется для управления пользовательскими привилегиями в пределах единой системы или приложения. Список таких систем включает в себя Microsoft Active Directory, SELinux, FreeBSD, Solaris, СУБД Oracle, PostgreSQL 8.1, SAP R/3 и множество других, эффективно применяющих RBAC.
С помощью RBAC могут быть смоделированы дискреционные и мандатные системы управления доступом.
Системы разграничения доступа
Конкретное воплощение модели разграничения доступа находят в системе разграничения доступа (СРД). СРД – это совокупность реализуемых правил разграничения доступа в средствах вычислительной техники или автоматизированных системах.
Многие системы разграничения доступа базируются на концепции диспетчера доступа. В основе этой концепции лежит понятие диспетчера доступа — абстрактной машины, которая выступает посредником при всех обращениях субъектов к объектам. Диспетчер доступа использует базу данных защиты, в которой хранятся правила разграничения доступа и на основании этой информации разрешает, либо не разрешает субъекту доступ к объекту, а также фиксирует информацию о попытке доступа в системном журнале.
Основными требованиями к реализации диспетчера доступа являются:
1. Требование полноты контролируемых операций. Проверке должны подвергаться все операции всех субъектов над всеми объектами системы. Обход диспетчера предполагается невозможным.
2. Требование изолированности. Защищенность диспетчера от возможных изменений субъектами доступа с целью влияния на процесс его функционирования.
3. Требование формальной проверки правильности функционирования.
4. Минимизация используемых диспетчером ресурсов.
База данных защиты строится на основе матрицы доступа или одного из ее представлений.
Матрица доступа – это таблица, в которой строки соответствуют субъектам, столбцы – объектам доступа, а на пересечении строки и столбца содержатся правила (разрешения) доступа субъекта к объекту.
Основными недостатками такой матрицы являются ее чрезмерно большая размерность и сложность администрирования. Все взаимосвязи и ограничения предметной области приходится учитывать вручную. Примеры ограничений: права доступа субъекта к файлу не могут превышать его прав доступа к устройству, на котором этот файл размещен; группа пользователей наследует одинаковые полномочия и т. д.
Для преодоления этих сложностей матрица доступа в СРД часто заменяется некоторым ее неявными представлениями:
1. Списки управления доступом (access control lists, ACL). Для каждого объекта задан список субъектов, имеющих ненулевые полномочия доступа к ним (с указанием этих полномочий). В результате серьезно экономится память, поскольку из матрицы доступа исключаются все нулевые значения, составляющие большую ее часть. Списки управления доступом имеют недостатки:
• неудобство отслеживания ограничений и зависимостей по наследованию полномочий субъектов;
• неудобство получения сведений об объектах, к которым имеет какой-либо вид доступа субъект;
• так как списки управления доступом связаны с объектом, то при удалении субъекта возможно возникновение ситуации, при которой объект может быть доступен несуществующему субъекту.
2. Списки полномочий субъектов. Аналогично ACL с той лишь разницей, что для каждого субъекта задан список объектов, доступ к которым разрешен с указанием полномочий доступа. Такое представление называется профилем субъекта. Оба представления имеют практически идентичные достоинства и недостатки.
3. Атрибутные схемы. Основаны на присвоении субъектам и/или объектам определенных меток, содержащих значения атрибутов. Элементы матрицы доступа не хранятся в явном виде, а динамически вычисляются при каждой попытке доступа для конкретной пары субъект-объект на основе их атрибутов. Помимо экономии памяти достигается непротиворечивость базы данных защиты, а также удобство ее администрирования. Основным недостатком является сложность задания прав доступа конкретного субъекта к конкретному объекту.
4.3. Таксономия нарушений информационной безопасности вычислительной системы и причины, обусловливающие их существование
Таксономия – абстрактная структура категорированных экземпляров, включает комплексное исследование предметной области и создание теоретической модели полного множества изучаемых объектов, что позволяет определить признаки, которые могут быть положены в основу той или иной классификации.
Таксономия позволяет построить полное множество категорий исследуемых объектов для любой выбранной классификации.
Таксономия безопасности вычислительных систем должная ответить на вопросы:
1. Каким образом ошибки, приводящие к появлению нарушений информационной безопасности, вносятся в систему защиты? Классификация нарушений информационной безопасности по источнику появления.
2. Когда и на каком этапе они вносятся? Классификация нарушений информационной безопасности по этапу возникновения.
3. Где и в каких узлах системы защиты или вычислительной системе в целом они возникают и проявляются? Классификация нарушений информационной безопасности по размещению в системе.
Классификация нарушений информационной безопасности по источнику появления
Источником нарушений информационной безопасности и их появлений является ошибка или недоработка в системе безопасности. Эти ошибки носят неслучайный характер. Классификация нарушений информационной безопасности по источнику появления представлена в таблице 4.
Под источником появления понимается основа существования нарушений информационной безопасности, т. е. либо характеристики вычислительной сети, которые обусловливают ее существование, либо принцип функционирования средств, использующих нарушения информационной безопасности для осуществления атаки. Для решения практических задач наибольший интерес представляет таксономия нарушений информационной безопасности по причинам возникновения.
Таблица 4
Таксономия нарушений информационной безопасности по источнику появления
Ошибки, служащие источником появления нарушений информационной безопасности, могут быть внесены в систему защиты преднамеренно, либо возникнуть неумышленно, непреднамеренно. Для выявления таких непреднамеренных или случайных ошибок применяются различные стратегии и методики. Большинство случайных ошибок может быть выявлено и устранено при увеличении времени и глубины анализа и тестирования кода системы защиты. Но в отношении наиболее серьезных преднамеренно внесенных и замаскированных ошибок этот способ является малоэффективным. Для эффективного поиска таких ошибок необходимо проведение специальных испытаний, заключающихся в попытках проникновения в систему и проведения атак на систему защиты.
В некоторых случаях определенные функции, специально добавленные в программное обеспечение, предопределяли внесение в систему защиты непреднамеренных ошибок. Возможность использования удаленной отладки или настройки системы может привести к появлению нарушений информационной безопасности. Такая ошибка может быть классифицирована как преднамеренная, но не имеющая деструктивной функции.
Определенные злоумышленные, преднамеренные ошибки могут рассматриваться как случайные. Случайные ошибки вносятся в систему при разработке требований к безопасности и спецификаций системы защиты, а также в процессе сопровождения системы, т. е. обновлении версии, поставки новых утилит и т. п. Преднамеренные ошибки внедряются в систему на этапе ее применения, в противном случае возможно компрометация системы.
Преднамеренные и злоумышленные ошибки являются достаточно трудно обнаруживаемыми, так как они специально скрыты, замаскированы с целью их не обнаружения. Они являются самыми опасными. Специально внесенные ошибки с деструктивными функциями могут серьезно нарушить функционирование системы. Случайные ошибки, безобидные сами по себе, также могут быть использованы для этих же целей специально написанными программами.
Преднамеренное внедрение нарушений информационной безопасности с наличием деструктивных функций.
Преднамеренно внесенные в систему защиты нарушения и связанные с ними каналы утечки информации являются результатом функционирования предварительно внедренных вредоносных программ. Характеристикой вредоносных программ является активное их функционирование и противодействие системе обеспечения безопасности и обеспечение утечки информации.
«Черным ходом» называется скрытая или замаскированная возможность получения доступа к ресурсам в обход стандартных механизмов контроля. Например, разработчик программы проверки уникального идентификатора может при совпадении контролируемого параметра с известной только ему константой предусмотреть осуществление некоторые непредусмотренных действий, скажем, отменить контроль доступа для субъекта с этим идентификатором. В дальнейшем этот разработчик мог бы использовать этот «черный ход» для бесконтрольного доступа к информации.
Преднамеренно внедренные нарушения информационной безопасности без деструктивных функций.
Вредоносные программы могут осуществлять взаимодействие с атакующим систему злоумышленником через «скрытые каналы» утечки информации. Под скрытым каналом понимают любую возможность обмена информацией с процессами или другими компонентами системы, не предусмотренную ее разработчиками и, как следствие, неконтролируемую системой защиты. Отсутствие контроля над скрытыми каналами со стороны системы защиты широко используются злоумышленниками.
Для использования скрытых каналов требуется наличие двух процессов:
1) посредством вредоносных программ осуществляется сбор информации, интересующей злоумышленника, которая помещается в скрытый канал, неконтролируемый системой защиты;
2) прослушивание канала в ожидании поступления собранной информации, и при ее появлении выполняет необходимую обработку и сохранение.
Скрытые каналы утечки в зависимости от способа кодирования информации, передаваемой между этими процессами, подразделяются на два типа: с использованием памяти и с использованием времени.
В первом случае для кодирования передаваемой информации используется либо область памяти (установление характерных признаков в имени и атрибутах файла), либо вообще неиспользуемая область (зарезервированные поля в заголовке сетевого пакета).
Во втором случае информация кодируется определенной последовательностью и длительностью событий, происходящих в системе. Например, с помощью модуляции интервалов обращения к устройствам, введения задержек между приемом и посылкой сетевых пакетов и т. д.
Кроме скрытых каналов в системе могут присутствовать и другие преднамеренно внесенные ошибки, не влекущие за собой разрушительных последствий. К их появлению автоматически приводит любое расхождение между требованиями по безопасности и требованиями к функциональности системы.
Непреднамеренные (неумышленные) ошибки и нарушения информационной безопасности.
Непреднамеренные нарушения информационной безопасности могут возникнуть в системе из-за наличия ошибок на этапе разработки требований к безопасности, при разработке спецификаций и на этапе их реализации, т. е. в процессе написания программ. Большинство из ошибок обнаруживается и устраняется во время тестирования. Некоторые ошибки могут остаться незамеченными и вызвать проблемы эксплуатации вычислительных сетей. Наиболее трудно выявляются такие ошибки в сложных системах, состоящих из многочисленных компонентов, разработанных при участии большого коллектива специалистов. Одна из проблем таких систем – невозможность исчерпывающего описания их спецификаций, т. е. невозможность адекватного документирования. Недостатки проектной документации при сопровождении и эксплуатации приводят к тому, что при попытке устранения одних ошибок в нее вносятся другие. Наличие неумышленных ошибок не приводит к немедленному их использованию и нарушению безопасности системы.
Неумышленные нарушения информационной безопасности могут быть классифицированы в соответствии со следующими группами ошибок, предопределяющих их существование:
1. Ошибки контроля допустимых значений параметров.
2. Ошибки определения областей (доменов).
3. Ошибки последовательности действий и использования нескольких имен для одного объекта.
4. Ошибки идентификации/аутентификации.
5. Ошибки проверки границ объектов.
6. Ошибки в логике функционирования.
Ошибки контроля допустимых значений параметров заключаются в принятии соответствующим механизмом неправильного заключения о соответствии проверяемого параметра допустимым значениям. Это касается числа, состава, типа, размера, статуса (передаваемые или принимаемые) параметров, или ряда других их характеристик. Ошибки контроля можно рассматривать как неадекватную реакцию механизмов защиты на возникающие в системе события.
Ошибки определения областей (доменов) выражаются в наличии открытого или неконтролируемого способа доступа в защищенную область. Например, возможность получения доступа к объекту файловой системы, непосредственный доступ к которому запрещен, посредством доступа к его физическому представлению на аппаратных носителях. Другим примером является повторное использование объекта, например, доступ к остаточной информации в занимаемой объектом области памяти после ее освобождения.
Наличие ошибок последовательности действий предопределяется асинхронным функционированием компонентов системы, которое может быть использовано для нарушения безопасности. Выявить такие ошибки в системе достаточно трудно. Например, одной из операций может быть проверка идентификатора процесса, а второй – установка для него соответствующих полномочий, или проверка допустимости параметра, а затем – его использование. Асинхронность может быть использована злоумышленником для обмана механизмов контроля путем подмены параметра на другой, запрещенный после проверки его допустимости, но перед использованием. Данная ошибка носит название TOCTTOU (time-of-check to time-of-use) – возможность подмены параметра между моментом проверки и моментом использования.
Ошибки идентификации/аутентификации приводят к тому, что неуполномоченный на соответствующие действия пользователь получает доступ к защищенным объектам в объеме полномочий другого лица. Эти ошибки рассматриваться как ошибки контроля, т. е. происходит неправильная проверка параметров идентификации и подлинности пользователя и объекта.
Ошибки проверки границ объектов и связанные с ними каналы утечки возникают из-за игнорирования проверок того, что определенный объект пересек границы области памяти, отведенной для его хранения (контроль длины строки, размера массива, размера и положения файла и т. д.).
Существуют также другие ошибки, не попадающие непосредственно ни в одну из перечисленных категорий. Их называют ошибками логики функционирования системы и механизмов защиты, которые потенциально могут быть использованы злоумышленниками для проникновения в систему и нарушения безопасности.
Классификация нарушений информационной безопасности по этапам возникновения и внедрения
Таксономия нарушений ИБ по этапу внедрения, основанная на этих положениях, приведена в табл. 5.
Таблица 5
Таксономия нарушений информационной безопасности по этапу возникновения
Возникновение нарушений информационной безопасности на этапе разработки системы.
Процесс разработки программной системы включает этапы:
1) составление требований и спецификаций;
2) создание исходных текстов программ;
3) генерация исполняемого кода.
На каждом из этих этапов в создаваемую систему могут быть внесены ошибки, которые приводят к возникновению нарушений информационной безопасности.
Составление требований и спецификаций. Требования к программному обеспечению описывают, что должна делать каждая из программ в составе системы. Спецификации определяют, каким образом эти действия должны выполняться.
Требования или спецификации не могут содержать положения, явно обусловливающие преднамеренные ошибки и каналы утечки информации. Требования и спецификации должны быть открыты и понятны, а также позволять относительно легко выявить и устранить ошибки типа «черного хода» и им подобные.
В основном ошибки возникают из-за необходимости одновременного выполнения как требований по защите, так и общих функциональных требований к системе. Конкуренция этих требований и неизбежно возникающие противоречия между этими требованиями требуют от разработчиков принятия компромиссных решений, в которых предпочтение может быть отдано функциональности системы в ущерб ее безопасности.
Создание исходных текстов программ. Большинство ошибок в исходных текстах, как случайных, так и внесенных преднамеренно, может быть обнаружено при тщательном их изучении. Наиболее распространены случайные ошибки в исходных текстах программ. Они возникают в результате неадекватной реализации определенных в требованиях интерфейсов модулей, либо просто из-за ошибок программистов.
Преднамеренные ошибки могут быть внесены программистом. Программист может внедрить в систему код, не предусмотренный ее спецификациями, но нужный ему для отладки и тестирования разрабатываемой программы. Если по завершению разработки программы этот код не будет удален из нее, он превратится в канал утечки информации и может быть использован злоумышленником.
Генерация исполняемого кода. Исполняемый код генерируется компиляторами из исходных текстов программ и представляет собой инструкции, предназначенные для выполнения процессором. Поскольку компиляторы предназначены только для формального преобразования исходных текстов в исполняемый код, они автоматически переносят ошибки из первых во второй. Если ошибки содержатся в самом компиляторе, тогда они могут использоваться злоумышленниками для получения в компилируемых программах нужных им фрагментов кода.
Возникновение нарушений информационной безопасности на этапе сопровождения и развития системы.
Случайные ошибки, внесенные в систему во время ее сопровождения, чаще всего обусловлены неправильным представлением программистами всех аспектов функционирования системы в целом. Любые изменения, вносимые ими в систему, потенциально могут превратиться в каналы утечки информации. Для предотвращения такой ситуации каждое вносимое изменение должно сопровождаться тщательной проверкой всей системы.
Возникновение нарушений информационной безопасности на этапе эксплуатации системы.
Возникновение ошибок и сбоев, утечка информации и другие подобные явления в процессе функционирования системы в большинстве случаев происходят по причине воздействия на нее специально написанных вредоносных программ.
Классификация нарушений информационной безопасности по размещению в системе
Нарушения информационной безопасности классифицируют по их размещению в вычислительных сетях в зависимости от того, в каких компонентах системы они находятся (табл. 6).
Ошибки и каналы утечки в программном обеспечении
Компоненты программного обеспечения, вне зависимости от их конкретного предназначения, чрезвычайно сильно связаны и взаимозависимы.
Среди всего комплекса программного обеспечения в отдельную категорию выделяют операционную систему. В ней определена и реализована архитектура всей вычислительной системы. Наличие в ней ошибок, связанных с обеспечением безопасности, автоматически влечет серьезные последствия для всей вычислительной сети.
Таблица 6
Таксономия нарушений информационной безопасности по размещению в вычислительных сетях
Непосредственно с операционной системой связано сервисное программное обеспечение, обеспечивающее поддержку различных аспектов функционирования системы. Кроме того, существует прикладное программное обеспечение, с которым непосредственно работают пользователи.
Системное программное обеспечение
Операционная система включают в себя функции управления процессами, устройствами, распределением памяти, файловой системой и т. д. Она обеспечивает инициализацию вычислительной системы при опасности.
Ошибки на этапе инициализации могут возникнуть в результате неправильного взаимодействия с аппаратурой. Например, если произошли изменения в составе аппаратных средств, или при наличии неправильных конфигурационных параметров. Такие ошибки приводят к неправильному назначению полномочий доступа процессов и пользователей к ресурсам системы.
Управление процессами и управление распределением памяти – это основные задачи операционной системы, и такие ошибки приводят к получению злоумышленником контроля над всей системой и свободному доступу к любой информации.
Управление устройствами определяет наличие комплекса программ ввода/вывода, обеспечивающих функционирование этих устройств параллельно и независимо от центрального процессора. Ошибки в таких программах приводят либо к отказам и сбоям в работе устройств, либо позволяют получить информацию, доступ к которой запрещен.
Файловая система использует значительное число функций операционной системы – управление процессами, устройствами, распределением памяти и т. д. Такие ошибки автоматически распространяются и на файловую систему. Кроме того, файловой системе присущи и собственные ошибки, касающиеся хранения данных и ограничения доступа к ним. Из-за неправильного представления данных следует неправильное функционирование механизмов контроля. Наличие ошибок в механизмах управления файловой системой способно привести к нарушению функционирования и безопасности всей вычислительной системы.
Идентификация и аутентификация являются основой функционирования любой системы защиты. Операционная система содержит специальные файлы, в которых хранятся имена и пароли, на основании которых и выполняются указанные процедуры. Чрезвычайно важно обеспечить не только адекватную реализацию процедур идентификации и аутентификации, но и всестороннюю защиту этих файлов от несанкционированного доступа и изменения. Иначе злоумышленник сможет выдать себя за легального пользователя и получить соответствующие полномочия.
Сервисное программное обеспечение
Сервисное программное обеспечение включает компиляторы, отладчики, редакторы, библиотеки функций, системы управления базами данных и т. п. Операционная система при запуске таких программ предоставляет им специальные привилегии, превышающие привилегии работающего с ними пользователя.
Привилегированные утилиты, как правило, являются сложными программами и часто обеспечивают выполнение функций, не предусмотренных операционной системой. Они разрабатываются отдельно от операционной системы и могут не поддерживать принятые в ней требования и ограничения безопасности, даже при наличии собственной системы защиты. Это означает, что привилегированные утилиты являются потенциально опасными для защиты вычислительных систем.
Наличие ошибок в реализации систем защиты привилегированных утилит или каналов утечки информации в них может быть использовано злоумышленником.
Прикладное программное обеспечение
Нарушения в функционировании вычислительной систем вызванные неумышленными ошибками в прикладном программном обеспечении, обычно ограничиваются только содержащим эту ошибку процессом, который некорректно функционирует либо саморазрушается. Преднамеренно внесенные программные закладки, вирусы, «троянские кони» и «логические бомбы» находятся именно на уровне прикладного программного обеспечения. Объектами их атак могут стать любые компоненты ИС, вплоть до выведения операционной системы из строя. В этом случае успех атаки зависит от того, насколько защищена конкретная операционная система от разрушительных действий прикладных программ. Многопользовательские многозадачные операционные системы (такие как Unix) сравнительно легко справляются с подобной проблемой, а широко распространенные DOS и Windows в этой ситуации оказываются бессильными.
Таксономия причин возникновения нарушений информационной безопасности представлена на Рис. 3.
Рис. 3. Причины нарушения безопасности ИС.
Все случаи нарушений информационной безопасности происходят по одной из следующих причин:
1. Выбор модели безопасности, несоответствующей назначению или архитектуре вычислительной сети. Модель безопасности должна соответствовать как требованиям, предъявляемым к безопасности вычислительной сети, так и принятой в ней парадигме обработке информации. При выборе модели безопасности необходимо учитывать архитектуру и специфику вычислительной сети, в противном случае, несмотря на все достоинства модели, гарантированного ею уровня безопасности достичь не удастся.
2. Неправильное внедрение модели безопасности. В этом случае модель безопасности выбрана правильно, но ее применение к конкретной реализации операционной системы в силу свойств модели или самой операционной системы было проведено неудачно. Это означает, что при реализации были потеряны все теоретические достижения, полученные при формальном доказательстве безопасности модели. Неправильное внедрение модели безопасности в систему выражается в недостаточном ограничении доступа к наиболее важным для безопасности операционной системы и системным службам и объектам, а также введении различных исключений из предусмотренных моделью правил разграничения доступа типа привилегированных процессов, утилит и т. д.
3. Отсутствие идентификации и/или аутентификации субъектов и объектов. Во многих современных операционных системах (Unix, Novell Netware, Windows) идентификация и аутентификация субъектов и объектов взаимодействия находятся на весьма примитивном уровне – субъект взаимодействия может сравнительно легко выдать себя за другого субъекта и воспользоваться его полномочиями доступа к информации. Кроме того, можно внедрить в систему «ложный» объект, который будет при взаимодействии выдавать себя за другой объект. Часто идентификация и аутентификация носят непоследовательный характер и не распространяются на все уровни взаимодействия – в операционной системе Novell Netware предусмотрена аутентификация пользователя, но отсутствует аутентификация рабочей станции и сервера. В стандартной версии операционной системе Unix аутентификация пользователей находится на примитивном уровне – программы подбора пароля легко справляются со своей задачей при наличии у злоумышленника идентификатора пользователя и зашифрованного пароля. Ряд служб операционной системы Unix вообще не предусматривает аутентификации.
4. Отсутствие контроля целостности средств обеспечения безопасности. Во многих операционных системах недостаточное внимание уделено контролю целостности самих механизмов, реализующих функции защиты. Во многих системах возможна прозрачная для служб безопасности подмена компонентов. В операционной системе Unix система традиционно построена таким образом, что для обеспечения ее функционирования многие процессы должны выполняться с уровнем полномочий, превышающим обычный пользовательский уровень (с помощью механизма замены прав пользователя на права владельца программы). Такие программные приложения являются потенциальной брешью в системе защиты, так как нуждаются в проверке на безопасность при их установке в систему и постоянном контроле целостности. С точки зрения безопасности такая ситуация нежелательна – не соблюдается принцип минимальной достаточности при распределении полномочий пользователей и процессов. Перечень критичных приложений и пользователей, обладающих высоким уровнем привилегий, должен быть максимально ограничен. Это достигается последовательным применением принципа локализации функций обеспечения безопасности и целостности в ядре операционной системы.
5. Ошибки, допущенные при программной реализации систем обеспечения безопасности. Эта группа причин нарушения безопасности будет существовать до тех пор, пока не появятся технологии программирования, гарантирующие производство безошибочных программ. Тщательное тестирование и верификация программных продуктов позволит сократить вероятность появления подобных ошибок до минимума.
6. Наличие средств отладки и тестирования в конечных продуктах. Многие разработчики оставляют в коммерческих продуктах «люки», «дыры», «отладочные возможности» и т. п. Причины, по которым это происходит, – программные продукты становятся все более сложными, и отладить их в лабораторных условиях становится невозможно. Следовательно, для определения причин сбоев и ошибок уже в процессе эксплуатации программного продукта, разработчикам приходится оставлять в своих продуктах возможности для отладки и диагностики. Для тех ситуаций, где безопасность имеет решающее значение применение подобной практики недопустимо.
7. Ошибки администрирования. Наличие самых современных и совершенных средств защиты не гарантирует систему от возможных нарушений безопасности, так как остается человеческий фактор – администратор, управляющий средствами обеспечения безопасности, может совершить ошибку.
4.4. Анализ способов нарушений информационной безопасности удаленная атака
Основой любого анализа безопасности компьютерных систем является знание присущих им основных угроз.
Атаки, направленные на компьютерные сети, называются удаленными атаками.
Основной особенностью любой сетевой операционной системы является то, что ее компоненты распределены в пространстве, и связь между ними физически осуществляется при помощи сетевых соединений (коаксиальный кабель, витая пара, оптоволокно и т. д.) и программно при помощи механизма сообщений. При этом все управляющие сообщения и данные, пересылаемые одной компонентой сетевой операционной системы другой компоненте, передаются по сетевым соединениям в виде пакетов обмена. Эта особенность является основной причиной появления нового класса угроз – класса удаленных атак. Основная причина нарушения безопасности сетевой операционной системы – недостаточная идентификация и аутентификация ее удаленных компонент.
Удаленные атаки классифицируются по следующим признакам: 1. По характеру воздействия: активное, пассивное. Под активным воздействием на сетевую систему понимается воздействие, оказывающее непосредственное влияние на работу сети (изменение конфигурации сети, нарушение работы сети и т. д.) и нарушающее политику безопасности, принятую в системе. Практически все типы удаленных атак являются активными воздействиями. Основная особенность удаленного активного воздействия заключается в принципиальной возможности его обнаружения.
Пассивным воздействием на сетевую систему называется воздействие, которое не оказывает непосредственного влияния на работу сети, но может нарушать ее политику безопасности. Отсутствие непосредственного влияния на работу сети приводит к тому, что пассивное удаленное воздействие практически невозможно обнаружить. Единственным примером пассивного типового удаленного воздействия служит прослушивание канала в сети.
2. По цели воздействия: перехват информации, искажение информации.
Основная цель практически любой атаки – получить несанкционированный доступ к информации. Существуют две возможности доступа к информации – перехват и искажение. Возможность перехвата информации означает получение к ней доступа, но невозможность ее модификации. Примером перехвата информации это прослушивание канала в сети. В этом случае имеется несанкционированный доступ к информации без возможности ее искажения.
Возможность к искажению информации означает полный контроль над информационным потоком. Информацию можно не только прочитать, как в случае перехвата, но и иметь возможность ее модификации. Примером удаленной атаки, позволяющей модифицировать информацию, может служить ложный сервер.
3. По условию начала осуществления воздействия:
• атака по запросу от атакуемого объекта. Атакующая программа, запущенная на сетевом компьютере, ждет посылки от потенциальной цели атаки определенного типа запроса, который и будет условием начала осуществления атаки;
• атака по наступлению определенного события на атакуемом объекте. Атакующая программа ведет наблюдение за состоянием операционной системы удаленного компьютера и при возникновении определенного события в системе начинает осуществление воздействия. Инициатором осуществления начала атаки выступает сам атакуемый объект.
• безусловная атака. Начало осуществления атаки безусловно по отношению к цели атаки. Атака осуществляется немедленно после запуска атакующей программы. Она является инициатором начала осуществления атаки.
4. По расположению субъекта атаки относительно атакуемого объекта: внутрисегментное, межсегментное.
Рассмотрим ряд определений: Субъект атаки (или источник атаки) – это атакующая программа, осуществляющая воздействие.
Хост (host) – сетевой компьютер. Маршрутизатор (router) – устройство, обеспечивающее маршрутизацию пакетов обмена в глобальной сети.
Подсеть (subnetwork) (в терминологии Internet) – совокупность хостов, являющихся частью глобальной сети, для которых маршрутизатором выделен одинаковый номер подсети. Подсеть – логическое объединение хостов маршрутизатором. Хосты внутри одной подсети могут взаимодействовать между собой непосредственно, минуя маршрутизатор.
Сегмент сети – физическое объединение хостов. Например, сегмент сети образуют совокупность хостов, подключенных к серверу по схеме общая шина. При такой схеме подключения каждый хост имеет возможность подвергать анализу любой пакет в своем сегменте.
Важно как по отношению друг к другу располагаются субъект и объект атаки, т. е. в одном или в разных сегментах они находятся. В случае внутрисегментной атаки субъект и объект атаки находятся в одном сегменте. На практике межсегментную атаку осуществить труднее, чем внутрисегментную.
5. По уровню эталонной модели ISO OSI, на котором осуществляется воздействие: физический, канальный, сетевой, транспортный, сеансовый, представительный, прикладной.
Международная Организация по Стандартизации (ISO) приняла стандарт ISO 7498, описывающий взаимодействие открытых систем (OSI). Сетевые операционные системы являются открытыми системами. Любой сетевой протокол обмена, также как и любую сетевую программу можно спроецировать на эталонную семиуровневую модель OSI. Такая многоуровневая проекция позволит описать в терминах модели OSI функции, заложенные в сетевой протокол или сетевую программу. Удаленная атака также является сетевой программой.
Анализ сетевого трафика
Особенностью сетевой операционной системы является то, что ее компоненты распределены в пространстве, и связь между ними физически осуществляется при помощи сетевых соединений и программно – при помощи механизма сообщений. Все управляющие сообщения и данные, пересылаемые одной компонентой сетевой операционной системы другой компоненте, передаются по сетевым соединениям в виде пакетов обмена. Эта особенность привела к появлению специфичного только для сетей ЭВМ типового удаленного воздействия, заключающегося в прослушивание канала в сети или сетевой анализ. Анализ сетевого трафика позволяет:
1. Изучить логику работы сетевой операционной системы. Это достигается путем перехвата и анализа пакетов обмена на канальном уровне. Знание логики работы сетевой операционной системы позволяет на практике моделировать и осуществлять удаленные атаки.
2. Перехватить поток данных, которыми обмениваются компоненты сетевой операционной системы. Удаленная атака данного типа заключается в получение на удаленном компьютере несанкционированного доступа к информации, которой обмениваются две сетевые ЭВМ. При анализе сетевого трафика отсутствует возможность его модификации. Анализ возможен только внутри одного сегмента сети. Примером перехваченной при помощи данной типовой атаки информации могут служить имя и пароль пользователя, пересылаемые в незашифрованном открытом виде по сети.
По характеру воздействия анализ сетевого трафика является пассивным воздействием. Осуществление данной атаки ведет к перехвату информации внутри одного сегмента сети на канальном уровне OSI. При этом начало осуществления атаки безусловно по отношению к цели атаки.
Навязывание хосту ложного маршрута
Современные глобальные сети представляют собой совокупность сегментов сети, связанных между собой через сетевые узлы. При этом маршрутом называется последовательность узлов сети, по которой данные пересылаются от источника к приемнику, а маршрутизацией называется выбор маршрута. Узел, обеспечивающий маршрутизацию, называется маршрутизатором. Каждый маршрутизатор имеет специальную таблицу, называемую таблицей маршрутизации, в которой для каждого адресата указывается оптимальный маршрут. Таблицы маршрутизации существуют не только у маршрутизаторов, но и у любых хостов в глобальной сети. Для обеспечения эффективной и оптимальной маршрутизации в сетях ЭВМ существуют специальные управляющие протоколы, позволяющие маршрутизаторам обмениваться информацией друг с другом (RIP (Routing Internet Protocol), OSPF (Open Shortest Path First)), уведомлять хосты о новом маршруте (ICMP (Internet Control Message Protocol)), удаленно управлять маршрутизаторами (SNMP (Simple Network Management Protocol)). Все названные протоколы позволяют изменять маршрутизацию в сети, т. е. являются протоколами управления сетью.
Основная цель атаки, связанной с навязыванием хосту ложного маршрута, – изменить исходную доверенную маршрутизацию хоста, так, чтобы новый маршрут проходил через хост или сеть злоумышленника.
Реализация данной типовой атаки состоит в несанкционированном использовании протоколов управления сетью для изменения исходной маршрутизации. Для изменения маршрутизации атакующему требуется послать по сети определенные указанными протоколами управления сетью специальные служебные сообщения от имени сетевых управляющих устройств (например, маршрутизаторов).
В результате успешного изменения маршрута атакующий хост получит полный контроль над потоком информации, которой обмениваются два доверенных хоста и атака перейдет во вторую стадию, связанную с приемом, анализом и передачей пакетов, получаемых от обманутых хостов. Данная стадия атаки полностью совпадает со второй стадией типовой атаки ложный сервер.
Навязывание хосту ложного маршрута – активное воздействие, совершаемое с целью перехвата и искажения информации безусловно, по отношению к цели атаки. Данная удаленная атака осуществляется внутри одного сегмента и на сетевом уровне модели OSI.
Подмена доверенного хоста
Проблема заключается в однозначной идентификации получаемых станцией пакетов обмена. В сетевых операционных системах эта проблема решается следующим образом: в процессе создания виртуального канала хосты обмениваются определенной информацией, уникально идентифицирующей данный канал. Такой обмен обычно называется «рукопожатием» (handshake). Однако не всегда для связи двух удаленных компонент в сети создается виртуальный канал. Часто, например, от маршрутизаторов используется посылка одиночных пакетов, не требующих подтверждения.
Для адресации пакетов в компьютерных сетях используется сетевой адрес, который уникален для каждой станции (на канальном уровне модели OSI – это аппаратный адрес сетевого адаптера, на сетевом уровне – адрес определяется в зависимости от используемого протокола сетевого уровня (например, IP-адрес)). Сетевой адрес может использоваться для идентификации пакетов обмена. Сетевой адрес подделывается, и поэтому использовать его в качестве единственного средства идентификации является неправильным.
Если в сетевой операционной системе используются слабые средства идентификации ее удаленных компонент, тогда возможна типовая удаленная атака, которая заключается в передачи по сети сообщений от имени любого хоста. Существуют две разновидности данной типовой удаленной атаки:
• атака при установленном виртуальном канале;
• атака без установленного виртуального канала.
В случае установленного виртуального соединения атака будет заключаться в присвоении прав доверенного хоста, легально подключившегося к серверу, что позволит злоумышленнику вести сеанс работы с сервером от имени доверенного хоста. Реализация данного типа атак состоит в посылке пакетов обмена с атакующей станции на сервер от имени доверенной станции и при этом посланные пакеты будут восприняты сервером как корректные. Для осуществления атаки данного типа необходимо преодолеть систему идентификации пакетов, которая может использовать контрольную сумму, вычисляемую с помощью открытого ключа, динамически выработанного при установлении канала, случайные многобитные счетчики пакетов и сетевые адреса станций. Однако в операционной системе Novell NetWare 3.12 для идентификации пакетов обмена используются два 8-битных счетчика – номер канала и номер пакета; в протоколе TCP для идентификации используются два 32-битных счетчика. Для служебных сообщений используется посылка одиночных пакетов, не требующих подтверждения, т. е. не требуется обязательного создания виртуального соединения.
Атака без установленного виртуального соединения заключается в посылке служебных сообщений от имени сетевых управляющих устройств, например, от имени маршрутизаторов. Для идентификации пакетов возможно использование статических ключей, определенных заранее, что неудобно и требует сложной системы управления ключами. Однако в противном случае идентификация таких пакетов без установленного виртуального канала будет возможна по сетевому адресу отправителя, который легко подделать. Посылка ложных управляющих сообщений может привести к серьезным нарушениям работы сети, например, к изменению ее конфигурации.
Подмена доверенного хоста является активным воздействием, совершаемым с целью перехвата и искажения информации при наступлении на атакуемом объекте определенного события. Такая удаленная атака является внутрисегментной и межсегментной и осуществляется на сетевом, транспортном и сеансовом уровнях модели OSI.
Ложный сервер или использование недостатков алгоритма удаленного поиска
В компьютерной сети часто оказывается, что удаленные компоненты сетевой операционной системы изначально не имеют достаточно информации, необходимой для адресации пакетов обмена. Обычно такой информацией являются аппаратные (адрес сетевого адаптера) и логические адреса (IP-адрес) сетевых компьютеров. Для получения подобной информации в сетевых операционных системах используются различные алгоритмы удаленного поиска, заключа ющиеся в передаче по сети специального вида запросов, и в ожидании ответов на полученный запрос с искомой информацией. Руководствуясь полученными из ответа сведениями об искомом хосте, запросивший хост начинает адресацию к нему, т. е., после получения ответа на запрос он обладает всеми необходимыми данными для адресации. Примером подобных запросов, на которых базируются алгоритмы удаленного поиска, является SAP – запрос в операционной системе Novell NetWare, ARP и DNS – запрос в сети Internet.
При использовании сетевой операционной системы механизмов удаленного поиска существует возможность на атакующей станции перехватить посланный хостом запрос и послать на него ложный ответ. В ответе указывают данные, использование которых приведет к адресации на атакующий хост – ложный сервер. Весь поток обмена информацией между хостом и настоящим сервером будет проходить через ложный сервер.
Ложный сервер – активное воздействие, совершаемое с целью перехвата и искажения информации, являющееся атакой по запросу от атакуемого объекта. Такая удаленная атака является внутрисегментной и межсегментной и осуществляется на канальном, сетевом, транспортном, сеансовом и представительном уровнях модели OSI.
Одной из атак, которую может осуществлять ложный сервер, является перехват передаваемой между сервером и хостом информации. Факт перехвата информации возможен из-за того что при выполнении некоторых операций над файлами (чтение, копирование и т. д.) содержимое этих файлов передается по сети, а значит, поступает на ложный сервер. Простейший способ реализации перехвата – это сохранение в файле всех получаемых ложным сервером пакетов обмена. Данный способ перехвата информации оказывается недостаточно информативным. Это происходит вследствие того, что в пакетах обмена кроме полей данных существуют служебные поля, не представляющие интереса. Следовательно, для того, чтобы получить непосредственно передаваемый файл, необходимо проводить на ложном сервере динамический семантический анализ потока информации для его селекции.
Модификация информации
Одной из особенностей любой системы воздействия, построенной по принципу ложного сервера, является то, что она способна модифицировать перехваченную информацию.
Рассмотрим два вида модификации информации:
1) модификация передаваемых данных;
2) модификация передаваемого кода.
Модификация передаваемых данных . В результате селекции потока перехваченной информации и его анализа система может распознавать тип передаваемых файлов (исполняемый или текстовый). При обнаружении текстового файла или файла данных появляется возможность модифицировать данные, проходящие через ложный сервер. Особую угрозу эта функция представляет для сетей обработки конфиденциальной информации.
Модификация передаваемого кода . Ложный сервер, проводя семантический анализ проходящей через него информации, может выделять из потока данных исполняемый код. Чтобы определить, что передается код или данные по сети необходимо использовать определенные особенности, свойственные реализации сетевого обмена в конкретной сетевой операционной системе или некоторые особенности, присущие конкретным типам исполняемых файлов локальной операционной системе.
Выделяют два различных по цели вида модификации кода:
1) внедрение вредоносных программ;
2) изменение логики работы исполняемого файла. При внедрении вредоносных программ исполняемый файл модифицируется по вирусной технологии. К исполняемому файлу дописывается тело вредоносной программы и изменяется точка входа так, чтобы она указывала на внедренный код вредоносной программы. Файл поражен вирусом или вредоносной программой в момент передачи его по сети. Такое возможно лишь при использовании системы воздействия, построенной по принципу ложный сервер.
Модификация исполняемого кода с целью изменения логики его работы требует предварительного исследования работы исполняемого файла и в случае его проведения может принести негативные результаты. Например, при запуске на сервере программы идентификации пользователей распределенной базы данных ложный сервер может так модифицировать код этой программы, что появится возможность беспарольного входа с наивысшими привилегиями в базу данных.
Подмена информации
Ложный сервер позволяет не только модифицировать, но подменять перехваченную им информацию. Если модификация информации приводит к ее частичному изменению, то подмена – к ее полному изменению. При этом дезинформация в зависимости от контролируемого события может быть воспринята либо как исполняемый код, либо как данные.
Допустим, что ложный сервер контролирует событие, которое заключается в подключении пользователя к серверу. В этом случае он ожидает, например, запуска соответствующей программы входа в систему. В случае, если эта программа находится на сервере, то при ее запуске исполняемый файл передается на рабочую станцию. Вместо того чтобы выполнить данное действие, ложный сервер передает на рабочую станцию код заранее написанной специальной программы – захватчика паролей. Эта программа выполняет визуально те же действия, что и настоящая программа входа в систему, например, спрашивается имя и пароль пользователя, после чего полученные сведения посылаются на ложный сервер, а пользователю выводится сообщение о ошибке. При этом пользователь, посчитав, что он неправильно ввел пароль (пароль обычно не отображается на экране), снова запустит программу подключения к системе и со второго раза войдет в нее. Результат такой атаки – имя и пароль пользователя, сохраненные на ложном сервере.
Сетевой шпион или удаленный контроль над станцией в сети
Сетевой шпион – это программная закладка или компьютерный вирус, функционирующий в сети ЭВМ, основная цель которого получение удаленного контроля над рабочей станцией в сети. Данный вид вредоносных программ добавляет еще один тип атак на сетевые операционные системы – удаленный съем информации и получение удаленного контроля над рабочей станцией в сети.
Основные этапы работы сетевого шпиона:
1) инсталляция в памяти;
2) ожидание запроса с удаленного атакующего компьютера, на котором запущена головная сервер-программа, и обмен с ней сообщениями о готовности;
3) передача перехваченной информации на головную сервер-программу или предоставление ей контроля над зараженным компьютером.
Основные функции сетевых шпионов:
1) перехват и передача вводимой с клавиатуры формации на головную сервер-программу;
2) перехват и передача экранной информации на головную сервер-программу;
3) перехват и передача на головную сервер-программу системной информации об ЭВМ (тип операционной системы, параметры ЭВМ, загруженные программы и т. д.);
4) получение контроля сервер-программой над зараженным удаленным компьютером (удаленный запуск программ, копирование данных, удаление данных и т. д.).
Сетевой шпион – активная атака по запросу, совершаемая с целью перехвата и искажения информации. Сетевой шпион это внутрисегментная и межсегментная удаленная атака, осуществляемая на сетевом уровне модели OSI.
Сетевой червь (WORM)
В сетях ЭВМ существует вид вирусов, называемый сетевыми червями (worm), распространяющийся в ней. Основная цель и задача сетевого червя – получение управления в операционной системе удаленного компьютера.
Основные этапы работы сетевого червя: 1. Поиск в сети цели атаки – удаленных ЭВМ.
2. Передача по сети своего кода на цель атаки.
3. Получение управления в операционной системе цели атаки.
4. Переход к п. 1. Основной проблемой для сетевого червя является получение управления на удаленном компьютере. Решение этой задачи на практике чрезвычайно затруднено, так как для ее решения необходимо либо знать имя и пароль пользователя для входа в компьютер, либо обладать информацией о люках или дырах в программном обеспечении, через которое осуществляется удаленный доступ, либо использовать ошибки администрирования служб предоставления удаленного доступа. Сетевой червь – активное воздействие, совершаемое с целью перехвата и искажения информации, начало которого безусловно по отношению к цели атаки. Сетевой червь – это внутрисегментная и межсегментная удаленная атака, осуществляемая на сетевом уровне модели OSI.
4.5. Использование защищенных компьютерных систем
Межсетевой экран – инструмент реализации политики безопасности
Так как компьютерные системы разнородны (даже компьютеры одного типа и с одной операционной системой могут в соответствии с их назначением иметь различные конфигурации), то не имеет смысла осуществлять защиту каждого элемента системы в отдельности. Необходимо обеспечивать информационную безопасность для локальной сети в целом. Для этого используют межсетевые экраны (firewall или Брандма́уэр).
Межсетевой экран – это средство разграничения доступа клиентов из одного множества к серверам из другого множества. Межсетевой экран выполняет свои функции, контролируя все информационные потоки между двумя множествами систем (Рис. 4).
Рис. 4. Межсетевой экран как средство разграничения доступа
В простейшем случае межсетевой экран состоит из двух механизмов. Первый ограничивает перемещение данных. Второй, наоборот, ему способствует, т. е. осуществляет перемещение данных. В более общем случае межсетевой экран удобно представлять себе как последовательность фильтров. Каждый из них может задержать (не пропустить) данные, а может и сразу «перебросить» их «на другую сторону». Допускается передача данных на следующий фильтр для продолжения анализа, или обработка данных от имени адресата и возврат результата отправителю (Рис. 5).
Рис. 5. Межсетевой экран как последовательность фильтров
Помимо функций разграничения доступа, межсетевые экраны осуществляют протоколирование информационных обменов.
Межсетевой экран не является симметричным, для него определены понятия «внутри» и «снаружи». При этом задача экранирования формулируется как защита внутренней области от враждебной внешней системы. Межсетевые экраны устанавливают для защиты локальной сети организации, имеющей выход в открытую среду, подобную Internet. Другой пример межсетевого экрана – устройство защиты порта, контролирующее доступ к коммуникационному порту компьютера независимо от всех прочих системных защитных средств.
Экранирование позволяет поддерживать доступность сервисов внутренней области, уменьшая или вообще ликвидируя нагрузку, индуцированную внешней активностью. Уменьшается уязвимость внутренних сервисов безопасности, поскольку первоначально сторонний злоумышленник должен преодолеть межсетевой экран, где защитные механизмы сконфигурированы особенно тщательно. Экранирующая система в отличие от универсальной может быть устроена более простым и, следовательно, более безопасным образом.
Экранирование дает возможность контролировать также информационные потоки, направленные во внешнюю систему или сеть, что способствует поддержанию режима конфиденциальности.
Чаще всего экран реализуют как сетевой сервис на третьем (сетевом), четвертом (транспортном) или седьмом (прикладном) уровнях семиуровневой эталонной модели OSI. В первом случае мы имеем экранирующий маршрутизатор, во втором – экранирующий транспорт, в третьем – экранирующий шлюз. Каждый подход имеют свои достоинства и недостатки; известны также гибридные экраны, где делается попытка объединить лучшие качества упомянутых подходов. Экранирующий маршрутизатор работает с отдельными пакетами данных, поэтому иногда его называют пакетным фильтром. Решения о том, пропустить или задержать данные, принимаются для каждого пакета данных независимо, на основании анализа полей заголовков сетевого и транспортного уровней, путем применения заранее заданной системы правил. Еще один важный компонент анализируемой информации – порт, через который пакет данных поступил в маршрутизатор.
Современные маршрутизаторы (продукты компаний Bay Networks или Cisco) позволяют связывать с каждым портом несколько десятков правил и фильтровать пакеты как на входе (при поступлении в маршрутизатор), так и на выходе. В качестве пакетного фильтра может использоваться и универсальный компьютер, снабженный несколькими сетевыми картами.
Основные достоинства экранирующих маршрутизаторов – дешевизна (на границе сетей маршрутизатор нужен практически всегда, дело лишь в том, чтобы задействовать его экранирующие возможности) и прозрачность для более высоких уровней модели OSI. Основной недостаток – ограниченность анализируемой информации и относительная слабость обеспечиваемой защиты.
Экранирующий транспорт позволяет контролировать процесс установления виртуальных соединений и передачу информации по ним. С точки зрения реализации экранирующий транспорт представляет собой довольно простую, а значит, надежную программу. Пример экранирующего транспорта – продукт TCP wrapper.
По сравнению с пакетными фильтрами, экранирующий транспорт обладает большей информацией, поэтому он может осуществлять более тщательный контроль за виртуальными соединениями. Например, он способен отслеживать количество передаваемой информации и разрывать соединения после превышения определенного предела, препятствуя тем самым несанкционированному экспорту информации. Аналогично, возможно накопление более содержательной регистрационной информации. Главный недостаток – сужение области применимости, поскольку вне контроля остаются датаграммные протоколы. Обычно экранирующий транспорт применяют в сочетании с другими подходами, как важный дополнительный элемент. Экранирующий шлюз, функционирующий на прикладном уровне, способен обеспечить наиболее надежную защиту. В основном экранирующий шлюз представляет собой универсальный компьютер, на котором функционируют программные агенты – по одному для каждого обслуживаемого прикладного протокола. При подобном подходе, помимо фильтрации, реализуется еще один важнейший аспект экранирования. Субъекты из внешней сети видят только шлюзовой компьютер. Соответственно им доступна только та информация о внутренней сети, которую шлюз считает нужным экспортировать. Шлюз на самом деле экранирует (заслоняет) внутреннюю сеть от внешней системы или сети. В то же время субъектам внутренней сети кажется, что они напрямую общаются с объектами внешней системы или сети. Недостаток экранирующих шлюзов – отсутствие полной прозрачности, что требует специальных действий для поддержки каждого прикладного протокола.
Примером инструментария для построения экранирующих шлюзов является TIS Firewall Toolkit компании Trusted Information Sys– tems.
В гибридных системах, таких как Firewall-1 компании Sun Micro– systems, появляются новые возможности, такие как отслеживание передачи информации в рамках датаграммных протоколов.
Важным понятием экранирования является зона риска, которая определяется как множество доступных злоумышленнику систем после преодоления межсетевого экрана или какого-либо из его компонентов. Как правило, для повышения надежности защиты межсетевой экран реализуют как совокупность элементов, при этом «взлом» одного из них еще не открывает доступ ко всей внутренней сети. Пример конфигурации многокомпонентного межсетевого экрана представлен на Рис. 6.
В большинстве случаев экранирующая система должна:
1. Обеспечивать безопасность внутренней (защищаемой) сети и полный контроль над внешними подключениями и сеансами связи.
2. Обладать мощными и гибкими средствами управления для полного и простого воплощения в жизнь политики безопасности организации. Экранирующая система должна обеспечивать простую реконфигурацию системы при изменении структуры сети.
3. Работать незаметно для пользователей локальной сети и не затруднять выполнение ими легальных действий.
4. Работать эффективно и успевать обрабатывать весь входящий и исходящий трафик на максимальных режимах. Это необходимо для того, чтобы не было воздействий DOS-атак на firewall.
5. Обладать свойствами самозащиты от любых несанкционированных воздействий, так как межсетевой экран является ключом к конфиденциальной информации в организации.
6. Если у организации имеется несколько внешних подключений, в том числе и в удаленных филиалах, система управления экранами должна иметь возможность централизованно обеспечивать для них проведение единой политики безопасности.
7. Иметь средства авторизации доступа пользователей через внешние подключения. Типичной является ситуация, когда часть персонала организации должна выезжать, например, в командировки, и в процессе работы им требуется доступ, по крайней мере к некоторым ресурсам внутренней компьютерной сети организации. Система должна надежно распознавать таких пользователей и предоставлять им необходимый вид доступа.
Рис. 6. Многокомпонентный экран
Экранирование позволяет поддерживать доступность сервисов внутри информационной системы, уменьшая или вообще ликвидируя нагрузку, инициированную внешней активностью. Уменьшается уязвимость внутренних сервисов безопасности, поскольку первоначально злоумышленник должен преодолеть межсетевой экран, где защитные механизмы сконфигурированы особенно тщательно. Экранирование дает возможность контролировать информационные потоки, направленные во внешнюю систему или сеть, обеспечивая режим конфиденциальности.
Экранирование в сочетании с другими мерами безопасности использует идею многоуровневой защиты. За счет этого внутренняя сеть подвергается риску только в случае преодоления нескольких, по-разному организованных защитных рубежей.
Наличие инструмента межсетевого экранирования позволяет использовать его и для контроля доступа к информационным ресурсам организации по коммутируемым каналам связи. Для этого необходимо использовать устройство, называемое терминальным сервером. Терминальный сервер представляет собой программно-аппаратную конфигурацию.
Конфигурация межсетевого экрана с экранирующей подсетью является одной из наиболее надежных, так как имеет три уровня защиты:
1) внешний экранирующий маршрутизатор;
2) экранирующий шлюз;
3) внутренний экранирующий маршрутизатор.
Слабые места каждой из этих систем различны. Экранирующая подсеть позволяет простое включение коммутируемых каналов связи в общий контур обеспечения безопасности. Критичным будет эффективность работы экранирующего шлюза, его способность эффективно перерабатывать проходящую через межсетевой экран информацию. Это требует установки программного обеспечения с малыми потерями в производительности системы на экранирующий компьютерный шлюз, который достаточно надежно защищен встроенными средствами операционной системы.
Используемые межсетевые экраны должны иметь следующие основные требования:
• высокая надежность, обеспечивающаяся как работой на уровне фильтрации сетевых пакетов, так и на уровне приложений;
• централизованное управление работой нескольких фильтрующих модулей;
• возможность работы с любым сетевым сервисом, как стандартным, так и определенным пользователем;
• возможность фильтрации UDP пакетов;
• возможность управления фильтрами маршрутизаторов компаний Bay Networks и CISCO;
• высокая эффективность работы: использование Firewall-1 уменьшает пропускную способность информационного канала не более, чем на 10 %;
• полная прозрачность работы сервисов и приложений для пользователей;
• дополнительная аутентификация клиентов для большого набора сервисов;
• дружественный интерфейс, позволяющий легко перестраивать правила фильтрации, описывая их в терминах политики безопасности;
• для каждого правила (политики доступа) могут быть определены условия протоколирования, оповещения администратора либо иной реакции системы;
• средства проверки правил работы фильтра на внутреннюю непротиворечивость;
• средства мониторинга состояния компонент системы, позволяющие своевременно обнаружить попытку нападения на нее;
• средства детального протоколирования и генерации отчетов;
• трансляция адресов локальной сети, позволяющая реализовать как дополнительную защиту компьютеров локальной сети, так и более эффективное использование официального набора IP-адресов;
• простота установки и администрирования.
Аппаратное обеспечение и компоновка системы безопасности
В конфигурации firewall с экранирующей подсетью создается дополнительный сетевой сегмент, который размещается между Internet и локальной сетью организации. В типичном случае эта подсеть изолируется маршрутизаторами, выполняющими роль фильтров.
Экранирующая подсеть конфигурируется таким образом, чтобы обеспечить доступ к компьютерам подсети как из внешних сетей, так и изнутри. Прямой обмен информационными пакетами между внешними и защищенными сетями невозможен. Экранирующий шлюз является единственной точкой, к которой возможен доступ извне. Это предельно сужает зону риска, состоящую из шлюза и всех маршрутизаторов, осуществляющих связь между экранирующими подсетями, внешними сетями и закрытой локальной сетью. При атаке системы с экранирующей подсетью необходимо преодолеть минимум три независимых линии защиты, что является весьма сложной задачей. Средства мониторинга состояния компонент межсетевого экрана практически неизбежно обнаруживают подобную попытку. Администратор системы своевременно может предпринять необходимые действия по предотвращению несанкционированного доступа. В большинстве случаев работа экранирующей подсети очень сильно зависит от комплекта программного обеспечения, установленного на компьютере-шлюзе.
Компьютер-шлюз с программным обеспечением, несущим основную нагрузку, связанную с реализацией политики безопасности, является ключевым элементом межсетевого экрана. Он должен удовлетворять требованиям:
• быть физически защищенным;
• иметь средства защиты от загрузки операционной системы с несанкционированного носителя;
• иметь средства защиты на уровне операционной системы, разграничивающие доступ к ресурсам системы;
• операционная система компьютера должна запрещать привилегированный доступ к своим ресурсам из локальной сети;
• операционная система компьютера должна содержать средства мониторинга (аудита) любых административных действий.
Работа удаленных пользователей, подключаемых через коммутируемые линии связи, должна контролироваться в соответствии с политикой безопасности, проводимой в организации. Так как телефонные линии невозможно держать под контролем, необходимы дополнительные средства аутентификации пользователей. Каждый из легальных пользователей должен иметь возможность доступа к нужным ресурсам.
Типовое решение этой задачи – установка терминального сервера, который обладает необходимыми функциональными возможностями. Необходимо использовать сетевой терминальный сервер с несколькими асинхронными портами и одним интерфейсом локальной сети. Обмен информацией между асинхронными портами и локальной сетью, осуществляется только после соответствующей авторизации и аутентификации внешнего пользователя.
Программное обеспечение терминального сервера должно предоставлять возможности администрирования и контроля сеансов связи через коммутируемые каналы.
Программа Firewall устанавливается на компьютер-шлюз и выполняет основные функции экранирования межсетевого доступа. Структурно Firewall представляет собой административный модуль, управляющий набором модулей фильтров, установленных соответственно на маршрутизаторах, компьютере и при необходимости на выделенных серверах внутри локальной сети. Необходимо установка модулей фильтрации Firewall на компьютер-шлюз и маршрутизаторы экранирующей подсети.
Работа с программой Firewall состоит из следующих этапов:
• выработка правил фильтрации в соответствии с политикой безопасности предприятия;
• определение сетевых объектов, взаимоотношение которых регламентируется правилами фильтрации;
• определение набора используемых сервисов либо на основе встроенной базы данных, имеющей значительный набор TCP/IP сервисов, либо определяя собственные сервисы, используемые в организации;
• определение базы данных пользователей с указанием возможных рабочих мест, времени работы и порядок аутентификации;
• определение правил фильтрации в интерфейсе Firewall;
• проверка внутренней непротиворечивости набора правил фильтрации;
• компиляция фильтра и его установка на фильтрующих модулях;
• анализ протоколов работы для проверки адекватности политики безопасности предприятия.
Дополнительно включается трансляция адресов. Высокая производительность Firewall и прозрачность программы для пользователей позволяет эффективно использовать его как инструмент межсетевого экранирования в соответствии с политикой безопасности предприятия.
Для эффективной защиты компьютерных сетей также совместно с сетевыми экранами должны быть использованы средства аутентификации. В данном контексте информационной безопасности средство аутентификации предназначено для генерации одноразовых паролей, используемых для аутентификации удаленных пользователей. Преимуществом аутентификации является отсутствие передачи пароля через общедоступные коммуникации. Это делает невозможным получение несанкционированного доступа путем перехвата сетевых пакетов, что возможно, например, в случае стандартных сервисов типа telnet.
• В средствах аутентификации используются односторонние функции, для которых восстановление значения аргумента по значению функции (обращение) требует практически недоступных вычислительных ресурсов. Работа таких средств состоит из инициализации, когда пользовательский пароль используется как аргумент односторонней функции, применяемой последовательно N раз, и сеансовой аутентификации, которая сводится к следующему:
• удаленный пользователь сообщает серверу свое имя;
• сервер возвращает пользователю число, равное N – 1;
• пользователь на локальном компьютере вводит пароль, с которым клиентская часть производит N – 1 вычислений односторонней функции;
• результат вычислений посылается серверу;
• сервер проводит еще одно вычисление односторонней функции и сравнивает результат с полученным от клиента в предыдущий раз.
При использовании некриптографического средства обеспечивается проверка подлинности клиента, причем сеансовые пароли являются одноразовыми и не восстанавливаются с помощью предыдущих либо последующих паролей.
Модуль управления терминальным сервером имеет возможности обеспечения безопасности самого сервера и разграничения доступа клиентов, выполняя следующие функции:
• использование локального пароля на доступ к последовательному порту, для доступа по протоколу PPP, для доступа к административной консоли;
• использование запроса на аутентификацию с какой-либо машины локальной сети;
• использование внешних средств аутентификации;
• установку списка контроля доступа на порты терминального сервера;
• протоколирование сеансов связи через терминальный сервер. Установка терминального сервера должна быть такой, чтобы его работа осуществлялась исключительно через компьютер и с использованием аутентификации одноразовыми паролями. Это позволит достичь необходимой степени безопасности при работе удаленных пользователей с информационными ресурсами организации.
4.6. Методы криптографии
Проблемой защиты информации путем ее преобразования занимается криптология (kryрtos — тайный, logos – наука). Криптология разделяется на два направления – криптографию и криптоанализ. Цели этих направлений прямо противоположны.
Криптография занимается поиском и исследованием математических методов преобразования информации.
Криптоанализ занимается исследованием возможностей расшифровывания информации без знания ключей.
Современная криптография включает в себя четыре крупных раздела:
1. Симметричные криптосистемы.
2. Криптосистемы с открытым ключом.
3. Системы электронной подписи.
4. Управление ключами.
Основные направления использования криптографических методов – передача конфиденциальной информации по каналам связи, установление подлинности передаваемых сообщений, хранение информации (документов, баз данных) на носителях в зашифрованном виде.
Криптография дает возможность преобразовать информацию таким образом, что ее прочтение (восстановление) возможно только при знании ключа.
В качестве информации, подлежащей шифрованию и дешифрованию, будут рассматриваться тексты, построенные на некотором алфавите.
Под этими терминами понимается следующее. Алфавит – конечное множество используемых для кодирования информации знаков.
Текст – упорядоченный набор из элементов алфавита. Шифрование – преобразовательный процесс: исходный текст, который носит также название открытого текста, заменяется шифрованным текстом.
Дешифрование – обратный шифрованию процесс. На основе ключа шифрованный текст преобразуется в исходный текст.
Ключ — информация, необходимая для беспрепятственного шифрования и дешифрования текстов.
Криптографическая система представляет собой семейство T [T1, T2…, Tk ] преобразований открытого текста. Члены этого семейства индексируются, или обозначаются символом k; параметр k является ключом. Пространство ключей K – это набор возможных значений ключа. Обычно ключ представляет собой последовательный ряд букв алфавита.
Криптосистемы разделяются на симметричные криптосистемы и криптосистемы с открытым ключом.
В симметричных криптосистемах и для шифрования, и для дешифрования используется один и тот же ключ.
В системах с открытым ключом используются два ключа – открытый и закрытый, которые математически связаны друг с другом.
Информация шифруется с помощью открытого ключа, который доступен всем желающим, а расшифровывается с помощью закрытого ключа, известного только получателю сообщения.
Термины распределение ключей и управление ключами относятся к процессам системы обработки информации, содержанием которых является составление и распределение ключей между пользователями.
Электронной (цифровой) подписью называется присоединяемое к тексту его криптографическое преобразование, которое позволяет при получении текста другим пользователем проверить авторство и подлинность сообщения.
Криптостойкостью называется характеристика шифра, определяющая его стойкость к дешифрованию без знания ключа (т. е. криптоанализу). Имеется несколько показателей криптостойкости, среди которых:
1) количество всех возможных ключей;
2) среднее время, необходимое для криптоанализа. Преобразование Tk определяется соответствующим алгоритмом и значением параметра k. Эффективность шифрования с целью защиты информации зависит от сохранения тайны ключа и криптостойкости шифра.
Процесс криптографического закрытия данных может осуществляться как программно, так и аппаратно. Аппаратная реализация отличается существенно большей стоимостью, однако ей присущи и преимущества: высокая производительность, простота, защищенность и т. д. Программная реализация более практична, допускает гибкость в использовании.
Для современных криптографических систем защиты информации сформулированы следующие общепринятые требования:
1) зашифрованное сообщение должно поддаваться чтению только при наличии ключа;
2) число операций, необходимых для определения использованного ключа шифрования по фрагменту шифрованного сообщения и соответствующего ему открытого текста, должно быть не меньше общего числа возможных ключей;
3) число операций, необходимых для расшифровывания информации путем перебора всевозможных ключей, должно иметь строгую нижнюю оценку и выходить за пределы возможностей современных компьютеров (с учетом возможности использования сетевых вычислений);
4) знание алгоритма шифрования не должно влиять на надежность защиты;
5) незначительное изменение ключа должно приводить к существенному изменению вида зашифрованного сообщения даже при использовании одного и того же ключа;
6) структурные элементы алгоритма шифрования должны быть неизменными;
7) дополнительные биты, вводимые в сообщение в процессе шифрования, должен быть полностью и надежно скрыты в шифрованном тексте;
8) длина шифрованного текста должна быть равной длине исходного текста;
9) не должно быть простых и легко устанавливаемых зависимостей между ключами, последовательно используемыми в процессе шифрования;
10) любой ключ из множества возможных ключей должен обеспечивать надежную защиту информации;
11) алгоритм должен допускать как программную, так и аппаратную реализацию, при этом изменение длины ключа не должно вести к качественному ухудшению алгоритма шифрования.
Современные алгоритмы симметричного шифрования используют как подстановку, так и перестановку. Стандартом де-факто являются несколько раундов шифрования с разными ключами, которые генерируются на основе одного общего ключа. Большинство алгоритмов имеют структуру, аналогичную структуре шифра Файстеля, разработанного в 1973 г.
Надежный алгоритм шифрования должен удовлетворять двум свойствам: диффузии и конффузии.
Диффузия – каждый бит открытого текста должен влиять на каждый бит зашифрованного текста. Суть диффузии заключается в рассеянии статистических характеристик открытого текста внутри шифрованного текста.
Конфузия – отсутствие статистической взаимосвязи между ключом и зашифрованным текстом. Даже если противник определит какие-то статистические особенности зашифрованного текста, их будет недостаточно, чтобы получить информацию о ключе.
Структура шифра Файстеля
Данный шифр относится к категории блочных. Блочные шифры предназначены для шифрования небольших блоков определенной длины. Перед зашифровыванием произвольного текста его разбивают на блоки. Затем каждый блок зашифровывается отдельно. Шифр Файстеля работает с двоичным алфавитом, т. е. открытый и зашифрованный текст представлены последовательностью битов и предназначен для реализации на ЭВМ.
На вход алгоритма шифрования подается блок открытого текста, имеющий четную длину 2l и ключ K. Блок разделяется на две равные части – правую R0 и левую L0. Далее эти части проходят m раундов обработки, после чего снова объединяются в зашифрованный текст.
Каждый i-й раунд состоит в генерации подключа Ki (на основе общего ключа K) и применении к блоку Ri некоторого зависящего от ключа преобразования F. Результат складывается с блоком Li с помощью операции XOR (исключающее или) и получается блок Ri+1. Блок Ri без изменений берется в качестве блока Li+1.
Процесс дешифрования: на вход подается зашифрованный текст, а ключи Ki вычисляются в обратном порядке.
Различные алгоритмы, использующие структуру шифра Файстеля, могут отличаться следующими параметрами:
1. Длина ключа. Чем длиннее ключ, предусмотренный алгоритмом, тем сложнее осуществить перебор. Сейчас надежной считается длина ключа не менее 1024 бит.
2. Размер блока. Чем выше размер блока, тем больше надежность шифра, но скорость операций шифрования/дешифрования снижается.
3. Число раундов обработки. С каждым новым раундом обработки надежность шифра повышается.
4. Функция раунда F – чем она сложнее, тем труднее криптоанализ шифра.
5. Алгоритм вычисления промежуточных ключей Ki.
Алгоритм DES
Ранее самым популярным алгоритмом симметричного шифрования являлся DES (Data Encrypting Standart), принятый в 1977 г. Этот алгоритм базируется на структуре шифра Файстеля с размером блока 64 бита и 56-битным ключом. Функция раунда F использует набор из восьми так называемых S-матриц. Каждая матрица состоит из 4 строк, причем каждая строка представляет собой перестановку чисел от 0 до 15 (16 столбцов). Матрицы жестко заданы. Каждая матрица получает на вход шесть бит и выдает четырехбитовый результат. Первый и последний бит входного значения задают строку матрицы, а четыре остальных – столбец. Двоичное представление числа, находящегося на их пересечении, и будет результатом преобразования. Преобразование F заключается в следующем:
1. 32-битовый блок Ri расширяется до 48 битов с помощью специальной таблицы путем дублирования некоторых 16 битов.
2. Полученный результат складывается с 48-битным подключом Ki операцией XOR.
3. Результат сложения разбивается на восемь шестибитовых блоков и каждый из них преобразуется с помощью соответствующей S-матрицы.
4. Получившийся в итоге 32-битный блок подвергается жестко заданной в алгоритме перестановке.
Долгое время DES являлся федеральным стандартом шифрования США. Этот алгоритм показывает хороший лавинный эффект, т. е. изменение одного бита открытого текста или ключа приводит к изменению многих битов зашифрованного текста. DES успешно противостоял многолетним попыткам взлома. Однако длина ключа в 56 битов при возросшей производительности ЭВМ сделала шифр потенциально уязвимым к перебору ключей, поэтому в 1997 г. был объявлен конкурс на новый алгоритм.
Алгоритм AES
Победитель конкурса был определен в 2000 г. – им стал бельгийский шифр RIJNDAEL, который был переименован в AES (Advanced
Encryption Standard). Он является нетрадиционным блочным шифром, поскольку не использует сеть Фейштеля. Каждый блок входных данных представляется в виде двумерного массива байт: 4 × 4, 4 × 6 или 4 × 8 в зависимости от размера блока, который может варьироваться. В зависимости от размера блока и длины ключа алгоритм содержит от 10 до 14 раундов, в каждом из которых проводится ряд преобразований – либо над независимыми столбцами, либо над независимыми строками, либо над отдельными байтами в таблице.
Среди других современных алгоритмов симметричного шифрования шифры IDEA, Blowfish, RC5, CAST-128.
Российский стандарт цифровой подписи
Отечественный стандарт цифровой подписи (ГОСТ Р 34.10–94) вступил в силу в 1995 г. Алгоритм цифровой подписи, определяемый этим стандартом, концептуально близок американскому алгоритму DSA (Digital Signature Algorithm), который был предложен в 1991 г. Национальным институтом стандартов и технологий США для использования в стандарте цифровой подписи DSS (Digital Signature Standard). Алгоритм DSA является развитием алгоритмов цифровой подписи Эль Гамаля и К. Шнорра.
В российском стандарте цифровой подписи используются следующие параметры: p – большое простое число длиной от 509 до 512 бит либо от 1020 до 1024 бит; q – простой сомножитель числа (p − 1), имеющий длину 254…256 бит; α – любое целое число, меньшее (p − 1), причем такое, что αq mod p = 1; δ – некоторое целое число, меньшее q;
β =αδ mod p.
Кроме того, этот алгоритм использует однонаправленную хэш-функцию H(·). Соответствующий российский стандарт ГОСТ Р 34.11–94 определяет хэш-функцию, основанную на использовании стандартного симметричного алгоритма ГОСТ 28147-89.
Первые три параметра p, q, α являются открытыми и могут быть общими для всех пользователей компьютерной сети. Число δ является секретным ключом, а число β – открытым ключом.
Чтобы подписать некоторое сообщение М, а затем проверить подпись, выполняются следующие шаги.
1. Абонент А генерирует случайное число r, причем r < q.
2. Абонент А вычисляет значения:
k = (αr mod p) mod q;
s = (δk + r (H (M))) mod q.
Если (H (M)) mod q = 0, то значение (H (M)) mod q принимают равным единице. Если k = 0, то выбирают другое значение r, и алгоритм начинают снова.
Цифровая подпись представляет собой два числа:
r mod 2256 и s mod 2256.
3. Абонент А отправляет эти числа, а также открытый текст M абоненту Б.
4. Абонент Б проверяет полученную подпись, вычисляя:
v = (H (M)) q − 2 mod q;
z1 = (s × v) mod q;
z2 = ((q − k) v) mod q;
u =((αz1 × βz2) mod p) mod q.
Если u = r, то подпись считается подлинной. Различие между этим алгоритмом и алгоритмом DSA заключается в том, что в DSA
s = (r − 1(δ × k + (H (M)))) mod q,
что приводит к другому уравнению проверки подлинности цифровой подписи.
В американском стандарте цифровой подписи параметр q имеет длину 160 бит, в отечественном – 256 бит, что обеспечивает более безопасную подпись.
В 2001 г. в России принят еще один стандарт цифровой подписи – ГОСТ Р 34.10-2001, который базируется на математическом аппарате эллиптических кривых, использует хэш-функцию длиной 256 бит и обладает более высокой криптостойкостью, чем предыдущий стандартный алгоритм цифровой подписи ГОСТ Р 34.11–94.
В США с 2001 г. начал действовать новый стандарт на симметричные блочные криптосистемы – AES (Advanced Encryption Standard), заменивший DES. Алгоритм допускает размеры ключей в 128, 192 и 256 бит.
Управление криптографическими ключами
Любая криптографическая система основана на использовании криптографических ключей. Под ключевой информацией понимают совокупность всех действующих в автоматизированной системе обработки информации ключей. Если не обеспечено достаточно надежное управление ключевой информацией, то, завладев ею, злоумышленник получает неограниченный доступ ко всей информации.
Управление ключами – информационный процесс, сопровождающий жизненный цикл ключей в криптосистеме и включающий реализацию следующих основных функций:
• генерация ключей;
• хранение ключей;
• распределение ключей;
• уничтожение ключей.
Безопасность любого криптографического алгоритма определяется используемым криптографическим ключом. Надежные криптографические ключи должны иметь достаточную длину и случайные значения битов.
В таблице 7 приведены длины ключей симметричной и асимметричной криптосистем, которые обеспечивают одинаковую стойкость к атаке полного перебора.
Для получения ключей используются аппаратные и программные средства генерации случайных значений ключей. Как правило, применяют датчики псевдослучайных чисел. Идеальными генераторами являются устройства на основе «натуральных» (физических) случайных процессов, например на основе белого радиошума.
Таблица 7
Длины ключей для симметричных и асимметричных криптосистем при одинаковой их криптостойкости
В автоматизированных системах обработки информации со средними требованиями защищенности приемлемы программные генераторы ключей, которые вычисляют последовательность псевдослучайных чисел как сложную функцию от текущего времени и (или) числа, введенного пользователем.
В российском стандарте ГОСТ 28147-89 предусмотрена возможность генерации псевдослучайных чисел весьма высокого качества с периодом N = 232(232 − 1).
Контрольные вопросы к главе 4
1. Назовите виды информации и дайте им характеристику.
2. Зарисуйте общую схему движения информационных потоков и поясните ее.
3. Какие существуют в электронном пространстве передачи информации приемы достижения террористических целей?
4. Назовите меры противодействия информационному терроризму.
5. Опишите модель безопасности дискреционного доступа (DAC).
6. В чем сущность модели безопасности Белла-ЛаПадулы?
7. Дайте характеристику ролевой модели безопасности контроля доступа (RBAC).
8. Назовите основные положения системы безопасности разграничения доступа.
9. Дайте определение понятию «таксономия».
10. Каким образом ошибки, приводящие к появлению нарушений информационной безопасности, вносятся в систему защиты? Классификация нарушений информационной безопасности по источнику появления.
11. Когда и на каком этапе ошибки вносятся в систему защиты? Классификация нарушений информационной безопасности по этапу возникновения.
12. Где и в каких узлах системы защиты или вычислительной системе в целом ошибки возникают и проявляются? Классификация нарушений информационной безопасности по размещению в системе.
13. Дайте характеристику таксономии причин возникновения нарушений информационной безопасности.
14. В чем заключается сущность удаленной атаки как способа нарушения информационной безопасности?
15. Назовите основные положения анализа сетевого трафика как способа нарушения информационной безопасности.
16. Дайте характеристику способу нарушения информационной безопасности – навязывание хосту ложного маршрута.
17. Каковы основные положения подмены доверенного хоста как способа нарушения информационной безопасности?
18. Сформулируйте основные положения способа нарушения информационной безопасности – ложный сервер или использование недостатков алгоритма удаленного поиска.
19. Какие существуют виды модификации информации?
20. Опишите сущность метода подмены информации как способа нарушения информационной безопасности.
21. Опишите основные этапы работы сетевого шпиона.
22. В чем сущность способа нарушения информационной безопасности – сетевой червь (WORM).
23. Опишите межсетевой экран как средство разграничения доступа.
24. Назовите основные требования, предъявляемые к межсетевым экранам. 25. Дайте характеристику аппаратному обеспечению и компоновке системы безопасности.
26. Дайте определения основным понятиям в области криптографии.
27. В чем отличия симметричных и асимметричных криптосистем?
28. Назовите общепринятые требования современных криптографических систем защиты информации.
29. Опишите структуру шифра Файстеля.
30. Опишите алгоритм шифрования DES и AES.
31. Какие использует параметры Российский стандарт цифровой подписи электронной информации?
32. Как осуществляется управление криптографическими ключами?