Системы защиты первого рода
Системы защиты второго рода
Литература

К информационной сети традиционно относились как к потенциально ненадежной среде передачи данных. Однако сегодня речь уже идет о потенциальной ненадежности самой передаваемой информации.

Рассмотрим два варианта в развитии информационных систем и средств их защиты, однако, следует сформулировать несколько определений и граничное условие, на основании которого различаются оба варианта.

Объект - пассивная единица информационного обмена, используется как синоним понятия данные. Субъект - активная единица информационного обмена, здесь выступает как синоним понятия процесс или приложение операционной системы. Аутентификация - верификация соответствия некоторого субъекта имеющейся априорной информации о нем. Авторизация - предоставление субъекту некоторых прав доступа к информационному объекту. Распределенная информационная система - связанная совокупность активных и пассивных единиц информационного обмена, часть связей в которой не должна реализовываться.

Системы защиты первого рода имеют своей целью сделать распределенную операционную среду безопасной и надежной. Как только эта задача решается, субъекты информационной системы считаются авторизованными для доступа к тем или иным объектам, независимо от того, что конкретно происходит во время такого доступа. Напротив, системы второго рода исходят (точнее, должны исходить - ввиду того, что полноценных систем такого рода пока не существует) из предположения, что распределенная среда не может быть сделана безопасной в принципе, а следовательно субъект не может считаться авторизованным для доступа к объекту. В этих условиях можно говорить только об условной авторизации, пока субъект осуществляет доступ предсказуемым образом.

Системы защиты первого рода

Системы безопасности этого рода отражают традиционный подход к вычислительной сети как к потенциально ненадежной среде передачи данных. Построение концепции безопасности производится исходя из принципа необходимости защиты передаваемой информации на сетевом/транспортном или прикладном уровнях (упрощенная модель OSI). Подавляющее большинство существующих сегодня систем безопасности так или иначе реализуют эту модель.

Пример 1. Аутентификация/авторизация при помощи паролей.

1. Профили пользователей. На каждом из узлов создается база данных пользователей, их паролей и профилей доступа к локальным ресурсам вычислительной системы (например, файл /etc/passwd в Unix-подобных операционных системах). Недостаток - взлом системы возможен методом перебора паролей (для устранения чего в Unix используется метод "теневых" (shadow) паролей).

2. Профили процессов. Подобный метод реализован в технологии аутентификации Kerberos [10], где задачу аутентификации выполняет независимый (third-party) сервер, который содержит пароли как для пользователей, так и для конечных серверов (в случае группы серверов, базу данных паролей также содержит только один (master) сервер аутентификации; остальные - лишь периодически обновляемые копии). Таким образом, использование сетевых услуг требует двух паролей (хотя пользователь должен знать только один - второй предоставляется ему сервером "прозрачным" образом). Очевидно, что сервер Kerberos становится узким местом всей системы, а его взлом может нарушить безопасность всей вычислительной сети; хотя в целом Kerberos предоставляет более сильный механизм защиты, чем метод профилей пользователей.

3. Комбинированные методы. Наличие нескольких методов защиты всегда создает дополнительные сложности для разработчиков прикладного программного обеспечения. Для устранения этого недостатка разработан ряд стандартизованных программных интерфейсов к средствам аутентификации (PAM [12], частично GSS-API [13]), которые также можно считать "бутылочным горлышком" системы безопасности.

Пример 2. Инкапсуляция передаваемой информации в специальных протоколах обмена.

1. Инфраструктуры с открытыми ключами. Использование подобных методов в коммуникациях основано на алгоритмах шифрования с открытым ключом. На этапе инициализации происходит создание пары ключей - открытого, который становится общеизвестным, и закрытого, имеющегося только у того, кто публикует открытый ключ. Суть алгоритмов шифрования с открытым ключом заключается в том, что операции шифрования и дешифрования производятся разными ключами (открытым и закрытым соответственно). Это позволяет конфиденциально общаться известному реципиенту (кто эмитирует открытые ключи) и частному отправителю информации. Наиболее широко распространены следующие системы такого рода: ISO X.509 (в особенности его реализация для WWW,- Secure Socket Layer - SSL [8]) - шифрование трафика транспортного уровня; Pretty Good Privacy (PGP) - общецелевая система шифрования с открытым ключом, наиболее широко используемая в системах электронной почты.

2. Secure Shell protocol (ssh). Протокол ssh [9] используется в Unix-системах для шифрования многих видов коммуникаций между удаленными системами (таких как копирование файлов или протокол X11). Данный протокол также использует шифрование с открытым ключом, но только на этапе установления соединений. Непосредственно транспортный трафик шифруется обычными алгоритмами: DES, 3DES, RC4 и др.

3. Комбинированные методы. Как и в предыдущем примере, наличие ряда методов делает полезным создание стандартизованного коммуникационного интерфейса для прикладных программ. Упомянутый интерфейс GSS-API представляет собой именно такое средство. Вообще следует отметить, что всем построенным на шифровании системам присущ риск компрометации путем подбора ключей шифрования. И хотя сегодня эта задача требует огромных вычислительных ресурсов, решение Министерства торговли США о разрешении экспорта технологий, использующих шифрование с длиной ключа до 128 бит, свидетельствует о серьезности подобной угрозы.

Пример 3. Ограничение информационных потоков.

1. Firewalls. Метод подразумевает создание между локальной и глобальной сетями специальных промежуточных серверов, которые инспектируют и фильтруют весь проходящий через них трафик сетевого/транспортного уровней. Это позволяет резко снизить угрозу несанкционированного доступа извне в корпоративные сети, но, не устраняет эту опасность совсем. Более защищенная разновидность метода - это способ маскарада (masquerading), когда весь исходящий из локальной сети трафик посылается от имени firewall-сервера, делая локальную сеть практически невидимой.

2. Proxy-servers. При данном методе весь трафик сетевого/транспортного уровней между локальной и глобальной сетями запрещается полностью - попросту отсутствует маршрутизация как таковая, а обращения из локальной сети в глобальную происходят через специальные серверы-посредники. Очевидно, что при этом методе обращения из глобальной сети в локальную становятся невозможными в принципе. Очевидно также, что этот метод не дает достаточной защиты против атак на более высоких уровнях - например, на уровне приложения (вирусы, код Java и JavaScript).

Суммируя приведенные примеры, можно сказать, что разработка информационных систем требует параллельной разработки технологий передачи информации. Эти технологии должны инкапсулировать защиту передаваемой информации, делая сеть "надежной", хотя надежность на современном этапе понимается как надежность не на физическом уровне, а скорее на логическом (информационном).

Основной критерий, на основе которого можно выделить системы первой группы, это принцип верификации информационных пакетов. Пакет, несущий информацию о доступе некоторого субъекта к некоторому объекту, проверяется на целостность в рамках той или иной технологии, после чего предоставляется (или не предоставляется) право доступа к информационному ресурсу (объекту). В этом случае задача защиты объекта от информации субъекта доступа становится второстепенной, будучи, как предполагается, решена в результате применения защищающей технологии. К сожалению, данный подход по ряду перечисленных ниже причин не оправдывает огромных усилий, связанных с его реализацией.

Первое. Наиболее важной причиной представляется принципиальная недостаточность подобного подхода, поскольку происходит замена понятия безопасной распределенной системы на понятие надежной системы.

Второе. Появление большого количества систем защиты сопровождается сообщениями о новых случаях несанкционированного доступа и атак на различные информационные системы. Новые технологии появляются буквально в геометрической прогрессии, принося с собой новые способы доступа к информации.

Третье. Стремление к обработке наибольшего количества информации влечет за собой очевидное стремление к стандартизации, причем в процесс обработки оказывается "втянуто" наибольшее количество источников информации. Проблема заключается в том, что во многих случаях выигрыш от возникновения сбоя в технологии передачи данных оказывается гораздо выше наказания за нарушение соглашений. Сбой же, вследствие стандартизации, может возникнуть подобно "эффекту домино" просто в результате вывода каким-либо способом из строя одного из критических узлов данной технологии. Ставшая стандартной система защиты первого рода может оказаться бесполезной и в случае информационной войны. Уничтожение или просто дискредитация той или иной информационной системы, возможно, окажутся значительно эффективнее применения ракет и стратегических бомбардировщиков [4,7].

Четвертое. Создание систем защиты не может быть локализовано в области только информационных систем, а бывает связано со множеством факторов побочного характера (например человеческий фактор).

Пятое. Возможность спонтанного возникновения искусственного разума уже много лет обсуждается на страницах научно-фантастической литературы. С точки зрения синергетики [11] подобная возможность отнюдь не выглядит фантастичной, поскольку требует выполнения всего лишь двух условий для возникновения эффектов самоорганизации - создания достаточно сложной системы и наличия внешних воздействий на нее. Этим двум условиям явно удовлетворяет Internet, где мы имеем дело с целой иерархией сложностей которая подвергается воздействию со стороны миллионов пользователей.

Какова же альтернатива применению технологий защиты информации при передаче - альтернатива, которая смогла бы обеспечить более высокий уровень защиты информационных систем? Речь идет о принципиальном отказе от возможности надежной защиты передаваемой информации и, как результат, от создания таких систем, которые построены по принципу постоянного контроля за изменениями состояний системы. Чтобы пояснить это положение, рассмотрим системы первого рода несколько более формально.

Если речь идет о распределенной информационной системе, во многих случаях недостаточно четко связывается структура такой системы с методологией ее защиты. Чтобы проиллюстрировать это, необходимо ввести понятие атомарной единицы защиты информации. Данное понятие отнюдь не эквивалентно понятию объекта, поскольку призвано отразить граничное условие, когда информация, содержащаяся в некоторой системе, перестает быть защищенной, в то время как объект является атомарной единицей самой информации. Таким образом, можно определить атомарную единицу защиты информации (АЕЗИ) как целостную совокупность субъектов и объектов информационного обмена, взаимосвязи между которыми должны быть определены однозначным образом.

В качестве фундаментального принципа (и наиболее уязвимого с точки зрения безопасности фактора) рассмотренных средств защиты первого рода выступает стремление рассматривать распределенную систему в качестве АЕЗИ. Можно привести несколько примеров, позволяющих судить, насколько адекватен данный подход.

Пример 1. Компьютерная сеть.

В любой сети, как локальной, так и глобальной, мы вправе предполагать существование злоумышленника, следовательно требование целостности отвергается при самом создании распределенной системы. Тем не менее именно на подобную целостность рассчитывают средства защиты первого рода.

Пример 2. Электронная коммерция.

Сети электронной коммерции [2, 3] также не могут рассматриваться в качестве целостной системы. Более того, для них это проблема стоит более остро. С одной стороны, такие системы заинтересованы в привлечении как можно большего количества пользователей, что дает мошеннику возможность с легкостью стать абонентом системы. С другой стороны, системы электронной торговли вынуждены через единую технологию обработки транзакций полагаться именно на целостность системы. Ситуация осложняется еще и тем, что такие технологии реализуются в большинстве случаев посредством механизма анонимных электронных денег [5,6].

Пример 3. Корреспондентская сеть банков.

Стать абонентом такой сети чрезвычайно сложно, а технология обмена информацией жестко контролируется, например, государством. Тем не менее и эта система имеет ряд узких мест. Во-первых, нельзя считать, что банк не может быть заинтересован в мошенничестве. Во-вторых, мы можем вспомнить ситуацию информационной войны, когда интересы одного или нескольких банков ничто по сравнению с поражением враждебного государства. Для экономики, где 90-95% всей денежной массы является безналичной, компрометация клиринговой системы может стать решающей.

Системы защиты второго рода

Приведенные примеры иллюстрируют тот факт, что распределенные системы не могут считаться АЕЗИ, а это значит, что недостаточно средств безопасности, построенных по принципу защиты на уровне передачи информации/установления связей. Вспомнив определение распределенной системы как связанной совокупности единиц обмена информации, можно выделить в ней два типа связей - сильные (непосредственное взаимодействие субъектов и объектов) и слабые (например сетевой трафик). Поскольку нельзя распространить понятие АЕЗИ на все связи распределенной системы, то разумно использовать его только для субъектов и объектов, охваченных сильными связями.

В данной модели слабые связи возможны только между субъектами информационного обмена.

Таким образом, атомарный для защиты уровень должен быть понижен до уровня составляющих распределенной информационной системы - информационных узлов: для вычислительной сети - отдельный компьютер (хост); для системы электронной торговли - продавец, покупатель или брокер/банк; для корреспондентской сети банков - отдельный банк или банки одной финансовой группы.

Что происходит в хост-системе, представляющей собой узел некоторой распределенной системы? Узел с некоторой периодичностью устанавливает слабые связи с другими информационными узлами, вследствие ряда внешних по отношению к нему процессов. Для каждой из таких связей в данной хост-системе создается представление - образ внешнего процесса (ОВП).

Уже было убедительно показано, что информации, предоставляемой технологией передачи распределенной системы, недостаточно для получения адекватного ОВП. По-другому этот принцип может быть сформулирован так: ни один субъект не может считаться полностью авторизованным для доступа к информационному объекту.

Реализация данного подхода и характеризует то, что называется здесь средствами защиты второго рода которых сегодня в чистом виде просто не существует. Каковы же тогда основные принципы, которые должны быть реализованы в подобных системах защиты?

1. Мониторинг процессов [1]. Очевидно, что некоторая система становится хост-системой только в том случае, когда она предоставляет возможность доступа извне к своим информационным ресурсам. При создании средств такого доступа (серверных процессов), как правило, имеется достаточное количество априорной информации, относящейся к поведению клиентских процессов. К сожалению, в большинстве случаев эта информация попросту игнорируется. После аутентификации внешнего процесса в системе он в течение всего своего жизненного цикла считается авторизованным для доступа к некоторому количеству информационных ресурсов. Попыток проверить, насколько адекватен созданный ОВП этому внешнему процессу и имеющейся априорной информации, не делается.

Метод мониторинга процессов заключается в создании специального расширения системы, которое бы постоянно осуществляло подобные типы проверок. И хотя указать все правила поведения внешнего процесса в большинстве случаев не представляется возможным, вполне реально определить их через отрицание или, иначе говоря, указать, что внешний процесс не может делать ни при каких условиях.

2. Дублирование технологий передачи. Поскольку существует риск компрометации любой технологии передачи информации как в силу ее внутренних недостатков, так и вследствие воздействия извне, единственный способ застраховать себя от последствий подобной ситуации заключается в параллельном применении нескольких отличных друг от друга технологий передачи. Может показаться, что сегодня данный подход уже широко используется - например вполне возможно, взяв за основу перечисленные в начале статьи способы, войти в систему, защищенную брандмауэром, используя протокол ssh, и быть аутентифицированным в ней по паролю. Однако использование нескольких средств защиты является в таких случаях скорее последовательным, нежели параллельным. Очевидно, что дублирование приведет к резкому увеличению сетевого трафика. Тем не менее такой способ может быть эффективным, когда стоимость рисков от возможных потерь оказывается выше накладных расходов по дублированию.

3. Децентрализация. Во многих случаях использование стандартизованных технологий обмена информацией вызвано не стремлением к стандартизации, а недостаточной вычислительной мощностью большинства хост-систем.

В качестве примера можно привести широко используемый в Internet протокол Domain Name Service (DNS). Его применение для получения сетевого адреса зачастую требует прохождения запроса через цепочку серверов, что увеличивает риск подмены информации. Для уменьшения подобного риска вполне возможно создание локальных баз данных всех (или части) имен DNS с периодическим их обновлением.

Реализацией децентрализованного подхода может считаться и широко распространенная в сети Internet практика "зеркал". Создание нескольких идентичных копий ресурсов может быть полезным в системах реального времени, даже кратковременный сбой которых может иметь достаточно серьезные последствия. Случай с Web-сервером компании Microsoft, который на 10 минут был выведен из строя, хорошо иллюстрирует этот вывод.

Построенные с применением этих трех принципов системы защиты не могут заменить системы первого рода. Важно то, что применение этих принципов не исключает использования технологий защиты информации сетевого уровня. Поэтому при разработке политики безопасности для распределенной информационной системы целесообразно использование систем защиты как первого, так и второго рода.


Литература

  1. TSM Home Page. http://labtech.sscc.ru/~zha/TSM/
  2. M. Bellare et al. iKP Family of Secure Electronic Payment Protocols. http://www.zurich.ibm.com/Technology/Security/extern/ecommerce
  3. Marvin Sirbu and J.D. Tygar. "NetBill: An Internet Commerce System optimized for network delivered services". In IEEE Personal Communications, pages 6 - 11, August 1995.
  4. Шафрански, Ричард. Теория информационного оружия. http://www-koi.moshkow.kulichki.com/SECURITY/kvn/shafran.txt
  5. L Jean Camp et al. Anonymous Atomic Transactions. http://www.cs.cmu.edu/afs/cs.cmu.edu/user/jeanc/www/acd/acd.html
  6. Benjamin Cox. Maintaining Privacy in Electronic Transactions. Carnegie-Mellon University: Information Networking Institute Technical Report TR 1994-8. Fall 1994. ftp://netinfo.ini.andrew.cmu.edu/pub/billing_server/Maintaining_Privacy.TR 1994-8.ps
  7. US Department of Defense. Joint Technical Architecture. http://www-jta.itsi.disa.mil
  8. The Secure Sockets Layer Protocol. http://home.netscape.com/assist/security/ssl/protocol.html
  9. Ylonen T. The SSH (secure shell) Remote login protocol. Helsinki University of Technology. November 1995. http://www.cs.hut.fi/ssh.
  10. J. G. Steiner, C. Neuman and J. I. Schiller. Kerberos: An Authentication Service for Open Network Systems. M.I.T. Project Athena, Cambridge, Massachusetts (Winter, 1988).
  11. Г Хакен. Синергетика: иерархии неустойчивостей в самоорганизующихся системах и устройствах. - M.: Мир, 1985.
  12. Linux-PAM Home page. http://parc.power.net/morgan/Linux-PAM/index.html
  13. Linn, J., "Generic Security Service Application Program Interface", RFC 1508, Geer Zolot Associate, September 1993.