4.1 Идентификация и аутентификация
Идентификацию и аутентификацию можно считать основой программно-технических средств безопасности, поскольку остальные сервисы рассчитаны на обслуживание именованных субъектов. Идентификация и аутентификация - это первая линия обороны, "проходная" информационного пространства организации.
Идентификация позволяет субъекту - пользователю или процессу, действующему от имени определенного пользователя, назвать себя, сообщив свое имя. Посредством аутентификации вторая сторона убеждается, что субъект действительно тот, за кого себя выдает. В качестве синонима слова "аутентификация" иногда используют сочетание "проверка подлинности". Субъект может подтвердить свою подлинность, если предъявит по крайней мере одну из следующих сущностей:
•нечто, что он знает: пароль, личный идентификационный номер, криптографический ключ и т.п.,
•нечто, чем он владеет: личную карточку или иное устройство аналогичного назначения,
•нечто, что является частью его самого: голос, отпечатки пальцев и т.п., то есть свои биометрические характеристики,
•нечто, ассоциированное с ним, например координаты.
Надежная идентификация и аутентификация затруднена по ряду принципиальных причин. Во-первых, компьютерная система основывается на информации в том виде, в каком она была получена; строго говоря, источник информации остается неизвестным. Например, злоумышленник мог воспроизвести ранее перехваченные данные. Следовательно, необходимо принять меры для безопасного ввода и передачи идентификационной и аутентификационной информации; в сетевой среде это сопряжено с особыми трудностями. Во-вторых, почти все аутентификационные сущности можно узнать, украсть или подделать. В-третьих, имеется противоречие между надежностью аутентификации с одной стороны, и удобствами пользователя и системного администратора с другой. Так, из соображений безопасности необходимо с определенной частотой просить пользователя повторно вводить аутентификационную информацию (ведь на его место мог сесть другой человек), а это повышает вероятность подглядывания за вводом. В-четвертых, чем надежнее средство защиты, тем оно дороже.
|
Необходимо искать компромисс между надежностью, доступностью по цене и удобством использования и администрирования средств идентификации и аутентификации. Обычно компромисс достигается за счет комбинирования двух первых из перечисленных базовых механизмов проверки подлинности.
Наиболее распространенным средством аутентификации являются пароли. Система сравнивает введенный и ранее заданный для данного пользователя пароль; в случае совпадения подлинность пользователя считается доказанной. Другое средство, постепенно набирающее популярность и обеспечивающее наибольшую эффективность, - секретные криптографические ключи пользователей.
Главное достоинство парольной аутентификации - простота и привычность. Пароли давно встроены в операционные системы и иные сервисы. При правильном использовании пароли могут обеспечить приемлемый для многих организаций уровень безопасности. Тем не менее по совокупности характеристик их следует признать самым слабым средством проверки подлинности. Надежность паролей основывается на способности помнить их и хранить в тайне. Ввод пароля можно подсмотреть. Пароль можно угадать методом грубой силы(Brutforce), используя, быть может, словарь. Если файл паролей зашифрован, но доступен на чтение, его можно перекачать к себе на компьютер и попытаться подобрать пароль, запрограммировав полный перебор.
|
Пароли уязвимы по отношению к электронному перехвату - это наиболее принципиальный недостаток, который нельзя компенсировать улучшением администрирования или обучением пользователей. Практически единственный выход - использование криптографии для шифрования паролей перед передачей по линиям связи или вообще их не передавать, как это делается в сервере аутентификации Kerberos.
Тем не менее, следующие меры позволяют значительно повысить надежность парольной защиты:
•наложение технических ограничений (пароль должен быть не слишком коротким, он должен содержать буквы, цифры, знаки пунктуации и т.п.);
•управление сроком действия паролей, их периодическая смена;
•ограничение доступа к файлу паролей;
•ограничение числа неудачных попыток входа в систему, что затруднит применение метода грубой силы;
•обучение и воспитание пользователей.
Перечисленные меры целесообразно применять всегда, даже если наряду с паролями используются другие методы аутентификации, основанные, например, на применении токенов.
Токен - это предмет или устройство, владение которым подтверждает подлинность пользователя. Различают токены с памятью (пассивные, которые только хранят, но не обрабатывают информацию) и интеллектуальные токены (активные).
|
Самой распространенной разновидностью токенов с памятью являются карточки с магнитной полосой. Для использования подобных токенов необходимо устройство чтения, снабженное также клавиатурой и процессором. Обычно пользователь набирает на этой клавиатуре свой личный идентификационный номер, после чего процессор проверяет его совпадение с тем, что записано на карточке, а также подлинность самой карточки. Таким образом, здесь фактически применяется комбинация двух способов защиты, что существенно затрудняет действия злоумышленника.
Необходима обработка аутентификационной информации самим устройством чтения, без передачи в компьютер - это исключает возможность электронного перехвата.
Иногда (обычно для физического контроля доступа) карточки применяют сами по себе, без запроса личного идентификационного номера.
Как известно, одним из самых мощных средств в руках злоумышленника является изменение программы аутентификации, при котором пароли не только проверяются, но и запоминаются для последующего несанкционированного использования.
Интеллектуальные токены характеризуются наличием собственной вычислительной мощности. Они подразделяются на интеллектуальные карты, стандартизованные ISO и прочие токены. Карты нуждаются в интерфейсном устройстве, прочие токены обычно обладают ручным интерфейсом (дисплеем и клавиатурой) и по внешнему виду напоминают калькуляторы. Чтобы токен начал работать, пользователь должен ввести свой личный идентификационный номер.
По принципу действия интеллектуальные токены можно разделить на следующие категории.
•Статический обмен паролями: пользователь обычным образом доказывает токену свою подлинность, затем токен проверяется компьютерной системой.
•Динамическая генерация паролей: токен генерирует пароли, периодически изменяя их. Компьютерная система должна иметь синхронизированный генератор паролей. Информация от токена поступает по электронному интерфейсу или набирается пользователем на клавиатуре терминала.
•Запросно-ответные системы: компьютер выдает случайное число, которое преобразуется криптографическим механизмом, встроенным в токен, после чего результат возвращается в компьютер для проверки. Здесь также возможно использование электронного или ручного интерфейса. В последнем случае пользователь читает запрос с экрана терминала, набирает его на клавиатуре токена (возможно, в это время вводится и личный номер), а на дисплее токена видит ответ и переносит его на клавиатуру терминала.
Главным достоинством интеллектуальных токенов является возможность их применения при аутентификации по открытой сети. Генерируемые или выдаваемые в ответ пароли постоянно меняются, и злоумышленник не получит заметных дивидендов, даже если перехватит текущий пароль. С практической точки зрения, интеллектуальные токены реализуют механизм одноразовых паролей.
Еще одним достоинством является потенциальная многофункциональность интеллектуальных токенов. Их можно применять не только для целей безопасности, но и, например, для финансовых операций.
Устройства контроля биометрических характеристик сложны и недешевы, поэтому пока они применяются только в специфических организациях с высокими требованиями к безопасности.
В последнее время набирает популярность аутентификация путем выяснения координат пользователя. Идея состоит в том, чтобы пользователь посылал координаты спутников системы GPS (Global Positioning System), находящихся в зоне прямой видимости. Сервер аутентификации знает орбиты всех спутников, поэтому может с точностью до метра определить положение пользователя.
Поскольку орбиты спутников подвержены колебаниям, предсказать которые крайне сложно, подделка координат оказывается практически невозможной. Ничего не даст и перехват координат - они постоянно меняются. Непрерывная передача координат не требует от пользователя каких-либо дополнительных усилий, поэтому он может без труда многократно подтверждать свою подлинность. Аппаратура GPS сравнительно недорога и апробирована, поэтому в тех случаях, когда легальный пользователь должен находиться в определенном месте, данный метод проверки подлинности представляется весьма привлекательным.
Очень важной и трудной задачей является администрирование службы идентификации и аутентификации. Необходимо постоянно поддерживать конфиденциальность, целостность и доступность соответствующей информации, что особенно непросто в сетевой разнородной среде. Целесообразно, наряду с автоматизацией, применить максимально возможную централизацию информации. Достичь этого можно применяя выделенные серверы проверки подлинности (такие как Kerberos) или средства централизованного администрирования (например CA-Unicenter). Некоторые операционные системы предлагают сетевые сервисы, которые могут служить основой централизации административных данных.
Централизация облегчает работу не только системным администраторам, но и пользователям, поскольку позволяет реализовать важную концепцию единого входа. Единожды пройдя проверку подлинности, пользователь получает доступ ко всем ресурсам сети в пределах своих полномочий.
Однако этот способ имеет и отрицательную сторону. Например, злоумышленник, завладев подобным центром практически сразу получит доступ ко всей сети, что будет совсем не просто, если хакер имеет доступ только к одному компьютеру сети.
Управление доступом
Средства управления доступом позволяют специфицировать и контролировать действия, которые субъекты - пользователи и процессы могут выполнять над объектами - информацией и другими компьютерными ресурсами. Речь идет о логическом управлении доступом, который реализуется программными средствами. Логическое управление доступом - это основной механизм многопользовательских систем, призванный обеспечить конфиденциальность и целостность объектов и, до некоторой степени, их доступность путем запрещения обслуживания неавторизованных пользователей. Задача логического управления доступом состоит в том, чтобы для каждой пары (субъект, объект) определить множество допустимых операций, зависящее от некоторых дополнительных условий, и контролировать выполнение установленного порядка.
Контроль прав доступа производится разными компонентами программной среды - ядром операционной системы, дополнительными средствами безопасности, системой управления базами данных, посредническим программным обеспечением (таким как монитор транзакций) и т.д.
При принятии решения о предоставлении доступа обычно анализируется следующая информация.
•Идентификатор субъекта (идентификатор пользователя, сетевой адрес компьютера и т.п.). Подобные идентификаторы являются основой добровольного управления доступом.
•Атрибуты субъекта (метка безопасности, группа пользователя и т.п.). Метки безопасности - основа принудительного управления доступом.
•Место действия (системная консоль, надежный узел сети и т.п.).
•Время действия (большинство действий целесообразно разрешать только в рабочее время).
•Внутренние ограничения сервиса (число пользователей согласно лицензии на программный продукт и т.п.).
Удобной надстройкой над средствами логического управления доступом является ограничивающий интерфейс, когда пользователя лишают самой возможности попытаться совершить несанкционированные действия, включив в число видимых ему объектов только те, к которым он имеет доступ.
4.3 Протоколирование и аудит
Под протоколированием понимается сбор и накопление информации о событиях, происходящих в информационной системе предприятия. У каждого сервиса свой набор возможных событий, но в любом случае их можно подразделить на внешние - вызванные действиями других сервисов, внутренние - вызванные действиями самого сервиса, и клиентские - вызванные действиями пользователей и администраторов.
Аудит - это анализ накопленной информации, проводимый оперативно, почти в реальном времени, или периодически.
Реализация протоколирования и аудита преследует следующие главные цели:
•обеспечение подотчетности пользователей и администраторов;
•обеспечение возможности реконструкции последовательности событий; •обнаружение попыток нарушений информационной безопасности; •предоставление информации для выявления и анализа проблем.
Обеспечение подотчетности важно в первую очередь как средство сдерживания. Если пользователи и администраторы знают, что все их действия фиксируются, они, возможно, воздержатся от незаконных операций. Если есть основания подозревать какого-либо пользователя в нечестности, можно регистрировать его действия особенно детально, вплоть до каждого нажатия клавиши. При этом обеспечивается не только возможность расследования случаев нарушения режима безопасности, но и откат некорректных изменений. Тем самым обеспечивается целостность информации.
Реконструкция последовательности событий позволяет выявить слабости в защите сервисов, найти виновника вторжения, оценить масштабы причиненного ущерба и вернуться к нормальной работе.
Выявление и анализ проблем позволяют помочь улучшить такой параметр безопасности, как доступность. Обнаружив узкие места, можно попытаться переконфигурировать или перенастроить систему, снова измерить производительность и т.д.
Криптография
Одним из наиболее мощных средств обеспечения конфиденциальности и контроля целостности информации является криптография. Во многих отношениях она занимает центральное место среди программно-технических регуляторов безопасности, являясь основой реализации многих из них и, в то же время, последним защитным рубежом.
Различают два основных метода шифрования, называемые симметричными и асимметричными. В первом из них один и тот же ключ используется и для шифровки, и для расшифровки сообщений. Существуют весьма эффективные методы симметричного шифрования. Имеется и стандарт на подобные методы - ГОСТ 28147-89 "Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования".
Основным недостатком симметричного шифрования является то, что секретный ключ должен быть известен и отправителю, и получателю. С одной стороны, это ставит новую проблему рассылки ключей. С другой стороны, получатель, имеющий шифрованное и расшифрованное сообщение, не может доказать, что он получил его от конкретного отправителя, поскольку такое же сообщение он мог сгенерировать и сам.
В асимметричных методах применяются два ключа. Один из них, несекретный, используется для шифровки и может публиковаться вместе с адресом пользователя, другой - секретный, применяется для расшифровки и известен только получателю. Самым популярным из асимметричных является метод RSA (Райвест, Шамир, Адлеман), основанный на операциях с большими (100-значными) простыми числами и их произведениями.
Асимметричные методы шифрования позволяют реализовать так называемую электронную подпись, или электронное заверение сообщения. Идея состоит в том, что отправитель посылает два экземпляра сообщения - открытое и дешифрованное его секретным ключом (естественно, дешифровка незашифрованного сообщения на самом деле есть форма шифрования). Получатель может зашифровать с помощью открытого ключа отправителя дешифрованный экземпляр и сравнить с открытым. Если они совпадут, личность и подпись отправителя можно считать установленными.
Существенным недостатком асимметричных методов является их низкое быстродействие, поэтому их приходится сочетать с симметричными, при этом следует учитывать, что асимметричные методы на 3 - 4 порядка медленнее симметричных. Так, для решения задачи рассылки ключей сообщение сначала симметрично шифруют случайным ключом, затем этот ключ шифруют открытым асимметричным ключом получателя, после чего сообщение и ключ отправляются по сети.
При использовании асимметричных методов необходимо иметь гарантию подлинности пары (имя, открытый ключ) адресата. Для решения этой задачи вводится понятие сертификационного центра, который заверяет справочник имен/ключей своей подписью.
Услуги, характерные для асимметричного шифрования, можно реализовать и с помощью симметричных методов, если имеется надежная третья сторона, знающая секретные ключи своих клиентов. Эта идея положена, например, в основу сервера аутентификации Kerberos.
Криптографические методы позволяют надежно контролировать целостность информации. В отличие от традиционных методов контрольного суммирования, способных противостоять только случайным ошибкам, криптографическая контрольная сумма (имитовставка), вычисленная с применением секретного ключа, практически исключает все возможности незаметного изменения данных.
В последнее время получила распространение разновидность симметричного шифрования, основанная на использовании составных ключей. Идея состоит в том, что секретный ключ делится на две части, хранящиеся отдельно. Каждая часть сама по себе не позволяет выполнить расшифровку. Если у правоохранительных органов появляются подозрения относительно лица, использующего некоторый ключ, они могут получить половинки ключа и дальше действовать обычным для симметричной расшифровки образом.
Шифрование данных может осуществляться в режимах On-line (в темпе поступления информации) и Off-line (автономном). Остановимся подробнее на первом типе, представляющем большой интерес. Наиболее распространены два алгоритма.
Стандарт шифрования данных DES (Data Encryption Standart) был разработан фирмой IBM в начале 70-х годов и в настоящее время является правительственным стандартом для шифрования цифровой информации. Он рекомендован Ассоциацией Американских Банкиров. Сложный алгоритм DES использует ключ длиной 56 бит и 8 битов проверки на четность и требует от злоумышленника перебора 72 квадрилионов возможных ключевых комбинаций, обеспечивая высокую степень защиты при небольших расходах. При частой смене ключей алгоритм удовлетворительно решает проблему превращения конфиденциальной информации в недоступную.
Алгоритм RSA был изобретен Ривестом, Шамиром и Альдеманом в 1976 году и представляет собой значительный шаг в криптографии. Этот алгоритм также был принят в качестве стандарта Национальным Бюро Стандартов. DES, технически является СИММЕТРИЧНЫМ алгоритмом, а RSA - АСИММЕТРИЧНЫМ, то есть он использует разные ключи при шифровании и дешифровании. Пользователи имеют два ключа и могут широко распространять свой открытый ключ. Открытый ключ используется для шифрованием сообщения пользователем, но только определенный получатель может дешифровать его своим секретным ключом; открытый ключ бесполезен для дешифрования. Это делает ненужными секретные соглашения о передаче ключей между корреспондентами. DES определяет длину данных и ключа в битах, а RSA может быть реализован при любой длине ключа. Чем длиннее ключ, тем выше уровень безопасности (но становится длительнее и процесс шифрования и дешифрования). Если ключи DES можно сгенерировать за микросекунды, то примерное время генерации ключа RSA - десятки секунд. Поэтому открытые ключи RSA предпочитают разработчики программных средств, а секретные ключи DES - разработчики аппаратуры.
Экранирование
Экран (фаерволл, брэндмауер) - это средство разграничения доступа клиентов из одного множества к серверам из другого множества. Экран выполняет свои функции, контролируя все информационные потоки между двумя множествами систем.
В простейшем случае экран состоит из двух механизмов, один из которых ограничивает перемещение данных, а второй, наоборот, ему способствует. В более общем случае экран или полупроницаемую оболочку удобно представлять себе как последовательность фильтров. Каждый из них может задержать данные, а может и сразу "перебросить" их "на другую сторону". Кроме того, допускаются передача порции данных на следующий фильтр для продолжения анализа или обработка данных от имени адресата и возврат результата отправителю.
Помимо функций разграничения доступа экраны осуществляют также протоколирование информационных обменов.
Обычно экран не является симметричным, для него определены понятия "внутри" и "снаружи". При этом задача экранирования формулируется как защита внутренней области от потенциально враждебной внешней. Так, межсетевые экраны устанавливают для защиты локальной сети организации, имеющей выход в открытую среду, подобную Internet. Другой пример экрана - устройство защиты порта, контролирующее доступ к коммуникационному порту компьютера до и после независимо от всех прочих системных защитных средств.
Экранирование позволяет поддерживать доступность сервисов внутренней области, уменьшая или вообще ликвидируя нагрузку, индуцированную внешней активностью. Уменьшается уязвимость внутренних сервисов безопасности, поскольку первоначально сторонний злоумышленник должен преодолеть экран, где защитные механизмы сконфигурированы особенно тщательно и жестко. Кроме того, экранирующая система, в отличие от универсальной, может быть устроена более простым и, следовательно, более безопасным образом.
Экранирование дает возможность контролировать также информационные потоки, направленные во внешнюю область, что способствует поддержанию режима конфиденциальности.
Важным понятием экранирования является зона риска, определяемая как множество систем, которые становятся доступными злоумышленнику после преодоления экрана или какого-либо из его компонентов. Для повышения надежности защиты, экран реализуют как совокупность элементов, так что "взлом" одного из них еще не открывает доступ ко всей внутренней сети. Экранирование и с точки зрения сочетания с другими сервисами безопасности, и с точки зрения внутренней организации использует идею многоуровневой защиты, за счет чего внутренняя сеть оказывается в пределах зоны риска только в случае преодоления злоумышленником нескольких, по-разному организованных защитных рубежей. Экранирование может использоваться как сервис безопасности не только в сетевой, но и в любой другой среде, где происходит обмен сообщениями.
Экранирование - один из наиболее действенных способов защиты информации, но в бочке мёда обязательно найдётся ложка дёгтя, хотя я бы даже сказал 50 ложек дёгтя. Дело в том, что большинство межсетевых экранов требуют для своей полноценной и корректной работы административных прав. А ведь очень много экранов имеют уязвимости. Воспользовавшись одной из таких уязвимостей хакер без труда получит права, под которыми работает экран и соответственно станет суперпользователем в данной системе.
В более-менее развитых сетях под экран выделяют отдельный компьютер, который в свою очередь может выполнять роль не только межсетевого фильтра, но и маршруторизатора.
Часто экран представлен в виде программного пакета, но также экраны бывают представлены и в аппаратном виде. Такие фаерволлы справляются со своими функциям куда лучше своих программных собратьев. Они могут обрабатывать намного больше информации (следственно на них тяжело вызвать ошибку отказа в обслуживании), а также имеют меньше уязвимостей и больше возможностей. Соответственно, они стоят гораздо дороже брэндмауэров, реализуемых на программном уровне.
ЗАКЛЮЧЕНИЕ
В заключении хотелось бы подчеркнуть, что никакие аппаратные, программные и любые другие решения не смогут гарантировать абсолютную надежность и безопасность данных в компьютерных сетях.
В то же время свести риск потерь к минимуму возможно лишь при комплексном подходе к вопросам безопасности. Полноценное использование сервера требует его подключения через местный маршрутизатор, который станет одним из рубежей защиты. Маршрутизатор можно запрограммировать таким образом, что он будет блокировать опасные функции и разрешать передачу поступающих извне запросов только в специально назначенные серверы.
Частичную защиту обеспечивает блокировка портов, реализуемая в большинстве современных маршрутизаторов путем формирования списков контроля доступа на основе языка команд маршрутизатора. Еще один способ защиты - сконфигурировать маршрутизатор так, чтобы он разрешал соединения из Internet только с теми компьютерами сети, информация на которых открыта для всеобщего пользования. Остальные части сети изолируются от этих компьютеров брандмауэрами или иными средствами. Такой способ защиты используется многими крупными корпорациями.
По своим функциям к маршрутизаторам примыкают автономные пакеты фильтрации трафика, устанавливаемые на ПК или рабочих станциях. Типичным продуктом этого класса является ПО FireWall-1 компании CheckPoint Software Technologies, инсталлируемое на рабочие станции фирмы Sun и выполняющее фильтрацию входного и выходного потоков. FireWall-1 в отличие от маршрутизаторов способен динамически открывать пути передачи данных в соответствии с протоколами Internet, например с FTP. Кроме того, данный пакет снабжен удобным в работе графическим интерфейсом, средствами оповещения об угрозе взлома системы защиты и средствами регистрации доступа к сети, генерирующими сообщения о необычных действиях. Подобные продукты, как правило, обеспечивают лучшую защиту по сравнению с маршрутизаторами, но отличаются высокой стоимостью. Брандмауэры Маршрутизаторы и продукты типа только что рассмотренного ПО FireWall-1 не имеют некоторых функций, повышающих степень защищенности от опасных вторжений в сеть. Например, при передаче потока данных они не анализируют его содержимое и не в состоянии осуществлять проверку полномочий на доступ к ресурсам сети. Такими возможностями обладают брандмауэры - выделенные компьютеры с активными функциями фильтрации информационных потоков в точке связи локальной сети с внешним миром. Основная задача систем этой категории - изолировать сеть от посягательств извне путем просмотра пакетов данных, блокировки "подозрительных" видов трафика и использования специальных средств подтверждения полномочий на доступ. Таким образом, брандмауэр выступает в роли сторожа, не пропускающего любые входные или выходные данные, которые не соответствуют явно сформулированным критериям. Сегодня на рынке имеется широкий выбор средств защиты данных на основе брандмауэров.
Помни, что настоящий хакер знает: «Брешь в защите есть всегда, надо только найти её!».