Программно-технический уровень ИБ.
Программно-технические меры направлены на контроль оборудования, программ, данных и образуют последний рубеж ИБ. Центральным для программно-технического уровня является понятие сервиса безопасности. Существуют следующие сервисы:
1) Идентификация и аутентификация
2) Управление доступом
3) Протоколирование и аудит
4) Шифрование
5) Контроль целостности
6) Экранирование
7) Анализ защищенности
8) Обеспечение отказоустойчивости
9) Обеспечение безопасного восстановления
10) Туннелирование
11) Управление
Совокупность перечисленных выше сервисов можно назвать полным набором и считается что его достаточно для обеспечения надежной защиты на программном уровне. Сервисы безопасности классифицируют по определенным видам.
Идентификация и аутентификация. Идентификация позволяет субъекту назвать себя. Аутентификация убеждается в том, что субъект тот, за кого себя выдает (проверка подлинности). Аутентификация может быть односторонней – когда клиент доказывает свою подлинность, и двухсторонней. У рассматриваемого сервиса есть 2 аспекта: 1) что служит аутентификатором 2) и как защищен обмен данными аутентификации и идентификации.
Аутентификатором пользователя может служить одна из следующей сущностей: 1) нечто, что он знает (пароль, ключ); 2) нечто, чем он владеет (карточка доступа); 3) нечто, что является частью его самого (отпечатки пальцев).
Парольная аутентификация.
Самая удобная для пользователя форма защиты. Существует ряд стандартных приемов, применяемых злоумышленником с целью обойти парольную защиту. Для каждого из этих приемов выработан прием противодействия. На основе этих механизмов можно сформулировать правила выбора безопасного пароля и работы с ним.
Способы атак на пароль:
1) Перебор. Самая простая атака на пароль, перебор всех допустимых комбинаций и символов. Современные средства могут перебрать пароль из 5 6 символов за несколько секунд. Некоторые системы не позволяют реализовать такую атаку, поскольку реагируют на несколько неправильных попыток ввода пароля.
Механизм защиты: длина пароля. Современный пароль должен иметь длину не менее 12 символов.
2) Перебор в ограниченном диапазоне. Известно, что многие пользователи, выбирая пароль, используют символы, находящиеся в одном диапазоне. Такой пароль значительно легче запомнить, однако задача противника значительно упрощается. Пусть n=70 количество символов, которое можно использовать в пароле. Из них 10 – цифры. 30 – буквы русского алфавита 30 – буквы другого алфавита. Пусть длина пароля m=4. Тогда количество комбинаций 70^4 = 24010000.
10^4+30^4+30^4= 1630000.
Таким образом, если злоумышленник оказался прав, то количество комбинаций уменьшилась в 140 раз. Программы подбора паролей включают опцию, которая позволяет использовать цифры при подборе пароля.
Механизм защиты: Использовать символы из различных диапазонов.
3) Атака по словарю. Бессмысленный абсолютно случайный пароль запомнить трудно, и для многих пользователей забыть пароль выглядит более вероятно, чем подвергнуться атаке. Поэтому выбирают часто какое-либо слово. В этом случае задача перебора для злоумышленника значительно упрощается, так как программа автоматического подбора может подбирать слова, содержащиеся в файле со словарем. Существуют огромное количество словарей разного рода, разных языков. Словарь и 200 тысяч слов проверяется за несколько секунд. Многие пользователи считают, что если применить к слову некоторые простые преобразование (написать задом наперед, русскими буквами в английской раскладке), то это повысит безопасность, но по сравнению с простым перебором, подбор слов с преобразование делает задачу выполнимой.
Надежный пароль - не должен строиться на словах естественного языка
4) Атака по персональному словарю. Злоумышленник может воспользоваться тем фактом, что для облегчения запоминания, некоторые пользователи выбирают личные данные. В том случае, если злоумышленнику нужно обойти пароль, он может составить словарь личных данных.
Надежный пароль должен быть полностью бессмысленный.
5) Сбор паролей, хранящийся в общедоступных местах. Во многих организациях пароли создаются и распространяются администратором. Однако, поскольку пароль сложно запомнить, пользователи часто хранят его под рукой в записанном виде. Проблема в том, что пользователи зачастую не серьезно относятся к вопросу обеспечения безопасности своего служебного пароля. Они считают, что, так как в организации все свои, то небрежное хранение вреда не нанесет.
Пароль не должен храниться в общедоступном месте. Идеальный вариант запомнить и нигде не хранить.
6) Социальный инжиниринг. Манипулирование людьми с целью проникновения в защищенные системы. Если подобрать или украсть пароль не удается, злоумышленник может попытаться заставить пользователя самого раскрыть пароль. Классическая тактика социального инжиниринга: звонок жертве, от имени того, кто имеет право знать запрашиваемую информацию. Методом соц. инжиниринга является: заманивание на подставной сайт, открытие ссылки. Приемы, которые используют злоумышленники, могут быть самые разные.
Правила защиты: сообщать пароль посторонним лицам нельзя, даже если это лицо имеет право его знать.
7) Фишинг. Процедура выуживания пароля случайных пользователей интернета. Обычно заключается в создании подставных сайтов, которые обманом вынуждают пользователя внести свой пароль. Например, чтобы получить пароль к банковскому счету, может быть создан сайт с дизайном такого же сайта. Так же могут рассылаться электронные письма с содержанием, типа проверьте счет, где содержится ссылка на подставной сайт. Когда клиент попадает на сайт злоумышленника, ему так же предлагается ввести логин и пароль. Эта информация сохраняется в базе злоумышленника. После чего клиент отправляется на главную страницу настоящего сайта.
Многие пользователи используют один и тот же пароль для разных ресурсов. В результате проведя атаку на менее защищенный ресурс можно получить доступ в более защищенному. Например, создается сайт интересный некоторому кругу пользователей. Информация об этом сайте доносится до потенциальных жертв. Пользователь регистрируется и придумывает себе пароль. Дальше злоумышленнику остается посмотреть, не подходит ли этот пароль для других ресурсов.
Чтобы противостоять угрозам фишинга: надо проверять адреса сайтов прежде, чем вводить пароль. Лучше поместить адрес в закладки и не переходить по ссылкам из электронных писем. Рекомендуется использовать разные пароли для доступа к разным сервисам.
Таким образом, укажем меры, позволяющие повысить надежность защиты:
1) Наложение технических ограничений. На длину и содержание пароля
2) Управление сроком действия пароля и периодическая смена.
3) Ограничение доступа в плане пароля.
4) Увеличение числа неудачных попыток входы
5) Обучение пользователей
6) Использование программных генераторов паролей.
Рассмотренные выше пароли можно назвать многоразовыми. Их раскрытие позволяет злоумышленнику действовать от имени легального пользователя. Более сильным средством с точки зрения безопасности являются одноразовые пароли.
Одноразовые пароли. Одноразовые пароли – пароли действительные для одного сеанса аутентификации. Действие одноразового пароля может ограничиваться определенным промежутком времени. Преимущество такого пароля – его нельзя использовать повторно. Человек не в состоянии запомнить одноразовые пароли, поэтому требуются дополнительные технологии для реализации этого механизма.
Способы создания и распространения одноразовых паролей:
Алгоритмы создания одноразовых паролей используются случайные числа. Это необходимо для того, чтобы невозможно было предугадать следующего пароля. Конкретные алгоритмы создания таких паролей могут значительно различаться в деталях.
Для создания одноразовых паролей можно выделить следующие основные подходы:
1) Алгоритмы, использующие математические алгоритмы для создания нового пароля.
2) Подходы, основанные на временной синхронизации между сервером и клиентом.
3) Пароли, использующие мат алгоритмы, где новый пароль основан на запросе или счетчике.
Существуют различные способы сообщить пользователю следующий пароль. Некоторые системы используют специальные электронные токены, которые пользователи носят с собою. Так же системы могут использовать программы, которые пользователь запускает с мобильного телефона. Некоторые системы генерируют одноразовые пароли на сервере, затем отправляют их пользователю, используя посторонние каналы, так как смс.
Создание одноразовых паролей на основе математических алгоритмов.
Рассмотрим подход, использующие одностороннюю функцию f. Система начинает работать с начального числа s. Генерируется пароль f(s), f(f(s)), f(f(f(s))). Каждый пароль распределяется в обратном порядке, начиная с последнего и заканчивая f(s). Если злоумышленнику удается получить одноразовый пароль, то для вычисления следующего пароля цепочки, его необходимо найти способ вычисления обратной функции. А т.к. f была односторонняя, то сделать этого невозможно. Если f криптографическая кеш-функция, которая обычно используется, то это будет технически невыполнимая задача.
Синхронизация по времени.
Связаны с физическими аппаратными токенами. Внутри токена встроены точные часы, которые синхронизированы с часами на сервере. И в таких системах, время является важной частью алгоритма создания одноразового пароля, так как генерация пароля основывается на текущем времени. Так же для синхронизированных одноразовых паролей могут использоваться и мобильные телефоны. Использование одноразовых паролей с запросом требует от пользователя обеспечение синхронизируемого по времени запроса.
Сервис аутентификации Kerberos.
Сервер предназначен для решения следующей задачи: Имеется открытая не защищенная сеть, в узлах которой находятся субъекты. Каждый субъект обладает секретным ключом. Чтобы субъект А мог доказать свою подлинность субъекту В, он должен не только назвать себя, но и продемонстрировать знание секретного ключа. А не может просто сообщить В свой секретный ключ, потому что сеть открыта и А его не знает. Требуется некоторый способ демонстрации знания секретного ключа. И система Kerberos является 3-й стороной, владеющая секретными ключами всех субъектов и помогающая им в попарной аутентификации.
Чтобы получить доступ к В, А посылает запрос, содержащий сведения о нем и о запрашиваемой услуге. В ответ Kerberos посылает так называемый билет, зашифрованный секретным ключом сервера, и копию части билета, зашифрованную секретным ключом А. А должен расшифровать 2 порцию данных и переслать ее серверу. Сервер, расшифровав билет, может сравнить ее содержимое с дополнительной информацией, присланной клиентом А. Совпадение свидетельствует о том, что А смог расшифровать предназначенные ему данные, то есть продемонстрировал знание секретного ключа. Значит, А именно тот, за кого себя выдает. Секретные ключи здесь не передавались по сети, а лишь использовались для проверки.
Аутентификация и идентификация с помощью биометрических данных.
Биометрия представляет собою совокупность аутентификации и идентификации на основе их физиологических и поведенческих характеристик. К числу физиологических характеристик относят: отпечатки пальцев, сетчатка глаза. К поведенческим характеристикам относится: ручная подпись, стиль работы с клавиатурой. На стыке физиологии и поведения находятся особенности голоса и распознавания речи.
В общем виде работа с биометрическими данными образованна следующим образом: Сначала создается и поддерживается база данных характеристик потенциальных пользователей. Для этого биометрические характеристики снимаются, обрабатываются, и результаты заносятся в базу данных. В дальнейшем для аутентификации процесс снятия и обработки данных повторяется, после чего происходит поиск в базе данных шаблонов. В случае успешного поиска личность установлена. Биометрические методы не надежны, чем базы данных шаблонов. Биометрические данные человека меняются и база шаблонов нуждается в сопровождении.
Модели управления доступом
Основную роль в методе формальной разработке системы играет модель безопасности. Она определяет поток информации, разрешенный в системе и правила доступа к этой информации.
Рассмотрим 3 модели:
1) Модель дискреционного доступа. В рамках этой модели контролируется доступ субъектов (пользователей, приложений) к объектам (файлам, приложениям). Для каждого объекта существует субъект владелец, который определяет тех, кто имеет доступ к объекту, а так же разрешенные права. Основными операциями доступа являются чтение, запись и выполнение. Таким образом, модели дискреционного доступа для каждой пары субъект объект устанавливается набор разрешенных операций. При запросе доступа к объекту система ищет субъекта в списке прав доступа объекта и разрешает доступ, если субъект присутствует в списке и разрешенный тип доступа включает требуемый тип. Классическая система дискреционного доступа является закрытой, т.е. объект изначально не доступен никому, а в списке доступа описывается набор разрешений. Такую модель доступа можно встретить в операционных системах Windows, Linux. Одним из недостатков модели является то, что не каждому объекту можно назначить владельца. Так же при большой количестве объектов субъектов в системе происходит администрирование большого количества таких пар, что затрудняет работу.
2) Модель Белла-ЛаПадулы (мандатного управления доступом). В этой модели даются определения объекта, субъекта и прав доступа, а так же математический аппарат для их описания. Это модель известна в основном 2 правилами безопасности, одно относится к чтению, а другое к записи данных. Пусть в системе имеются 2 типа файлов: секретные и не секретные. А пользователь относится к 2 категориям: с уровнем доступа к не секретным файлам (не секретные), к секретным (секретные). Правило 1: Не секретный пользователь или процесс, запущенный от его имени не может читать данные из секретного файла.
Правило 2: Пользователь, с уровнем доступа к секретным файлам, не может записывать данные в не секретные файлы.
Рассмотренные правила легко распределяются в системе, в которой есть более 2 уровней доступа.
Общее правило: Пользователи могут читать только документы, уровень секретности которых не превышает их доступа, и не могут создавать документы ниже уровня своего доступа.
Данная модель математическая. Основной упор делается на конфиденциальность.
3) Ролевая модель контроля доступом. Ролевой метод контролирует доступ пользователей к информации на основе типа их активности в системе (ролей). Под ролью понимается совокупность действий и обязанностей, связанных с определенным родом деятельности. Пример ролей: бухгалтер, администратор и т.п. Каждому пользователю настраиваются свои роли. Объект-роль. В некоторых случаях пользователю разрешено выполнять несколько ролей одновременно. При этом роли имеют иерархическую структуру. Основные достоинства ролевой модели: А) простота администрирования, нет необходимости прописывать правила для каждого объекта субъекта, вместо этого прописываются объект-роль. При изменении обязанностей пользователя изменяется и его роль. Иерархия ролей упрощает администрирование. Б) Принцип наименьший привилегий. Регистрироваться в системе ролью минимально необходимой для выполнения задач.
Протоколирование и аудит.
Под протоколированием понимают сбор и накопление информации, произошедшей в системе. При этом события каждого сервиса можно разделить на: внешние, внутренние и клиентские.
Аудит – это анализ накопленной информации, проводимой оперативно в реальном времени или периодически. Оперативный документ с автоматическим реагированием на выявленные вне штатные ситуации называется активным.
Протоколирование и аудит решают следующие задачи: Обеспечение подотчётности пользователей и администратора. Обеспечение возможности, реконструкции последовательности событий. Обнаружение попыток нарушения ИБ. Предоставление информации для выявления и анализа проблем.
Протоколирование требует здравого смысла, чтобы ответить какие события в системе регистрировать и с какой степенью детализации, при этом должны выполняться цели безопасности и не перерасходоваться ресурсы. Универсального ответа нет, но можно выделить некоторые рекомендации. Применительно к операционной системе рекомендуется записывать события: вход в системы, выход из системы, обращение к удаленной системе, операции с файлами, смена привилегий и иных атрибутов безопасности. При протоколирование рекомендуется записывать: тату и время, идентификатор пользователя и действия, тип события, результат действия, источник запроса, имена затронутых объектов и описание изменений. Обеспечение подотчетности важно как сдерживающее средство. Обнаружение попыток нарушения ИБ функция активного аудита. Обычный аудит позволяет выявлять атаки с опозданием.
*Активный аудит. Подозрительная активность – поведение пользователя или компонента системы, являющееся подозрительным с точки зрения определенных правил или не типичным. Задача активного аудита оперативно выявлять подозрительную активность и предоставлять средства автоматического реагирования. При этом активность целесообразно разделить на атаки, направленные на не законное получение полномочий. Для описания и выявления атак применяют метод сигнатуры. Сигнатура атаки – это совокупность условий, при которых атака является имеющей место, что вызывает реакцию. Действия, которые выполняются в рамках полномочий, но нарушают политику безопасности, называются злоупотребление полномочиями. Не типичное поведение обычно выявляется статистическими методами. Применяют системы порогов, превышение которых является подозрительными. Применительно к средствам активного аудита различают ошибки 1 и 2 рода: пропуск атак и ложные тревоги. Достоинство сигнатурного метода-малое число ошибок 2 рода (малое число ложных тревог). Недостаток неумение обнаруживать новые атаки. Достоинство статистического метода – это универсальность, возможность обнаруживать не известные атаки. Минус – высокая доля ошибок 2 рода.
Шифрование.
Шифрование – обратимое преобразование открытого (исходного) текста на основе секретного алгоритма или ключа в шифрованный (закрытый) текст. Шифрование является средством обеспечения конфиденциальности информации.
Алгоритмы шифрования делятся на 2 группы:
1) Симметричные алгоритмы. Один и тот же ключ К используется для шифровки и расшифровки. M’=EnGrypt(M,K) функция шифрования M=DeCrypt(M’,K) расшифровывание.
Все алгоритмы симметричного шифрования можно разделить на 3 группы:
А) Подстановочные Б) Перестановочные В) Блочные шифры.
*Подстановочные алгоритмы. Работают по следующему принципу: каждый символ исходного текста заменяются другим символом или последовательностью символов. При этом могут использоваться символы разных алфавитов. Если для замены используются символы 1 алфавита, подстановка называется моно алфавитной. Несколько символов – поли алфавитной подстановкой.
- Простейшей подстановкой является шифры Цезаря. Каждая буква исходного сообщения заменяется буквой, находящейся в алфавите на 3 позиции после нее. Особенностью шифров Цезаря является отсутствие ключа, число 3 не является ключом, является частью алгоритма. В настоящее время первым правилом криптографии является: стойкость любого шифра заключается в том, что противнику полностью известен механизм шифрования и единственной информацией, которой он не располагает, является ключ. Шифр цезаря становиться полноценный шифром с ключом, если число 3 не задавать, а выбирать произвольно, согласно договоренности. В качестве ключа могут быть выбраны лишь числа от 1 до32. Таким образом, модифицированный шифр Цезаря является не устойчивым к взлому методом перебора ключей.
- Шифр простой замены. Каждому символу алфавита открытого текста ставиться в соответствии некоторый символ того же или другого алфавита. Ключом данному шифру будет являться таблица соответствий. Общее количество ключей равно перестановки мощности алфавита 33! Данный шифр достаточно просто поддается крипто анализу, по определению частоты встречаемости символов. Таким образом, моно алфавитные шифры имеют серьезную слабость на основе статистических особенностей исходного текста, который наследует шифрованный текст.
- Пример многоалфавитной подстановки шифр Гронсфельда. Представляет собою модификацию шифра Цезаря. В качестве ключа используется последовательность цифр произвольной фиксированной длины. М=ИНФОРМАТИКА К=123. Каждый символ ключа записывается под исходным текстом, если длина ключа меньше исходного текста он циклически повторяется. К=12312312. M’=ЙПЧТПЛБОЛЛВ. Данный шифр относится к семейству много алфавитных. Таким образом, статистические особенности данного текста будут проявляться с цикличностью n-длина ключа (=3). При этом таблица частот дает погрешность, и восстановление текста становится не возможной.
*Перестановочные алгоритмы. Символы открытого текста изменяют порядок следования в соответствии с правилом и ключом.
- Классическим примером является перестановка букв по определенному правилу в таблице, заданного размера. Текст вписывается по столбцам, а читается по строкам.
*Блочные шифры. Симметричное шифрование использует как подстановку, так и перестановку. Практическим стандартом является несколько раундов шифрования с разными ключами, которые генерируются на основе 1 общего ключа. Большинство современных алгоритмов имеют структуру аналогичную структуре сети Фейстела (на основе Шенона). Надежный алгоритм шифрования должен удовлетворять 2 свойствам: диффузии и коффузии. Диффузия – каждый бит открытого текста должен влиять на каждый бит зашифрованного текста. Суть диффузии заключается в рассеивание статистических характеристик открытого текста внутри шифрованного. Коффузия – отсутствие статистической взаимосвязи между ключом и шифрованным текстом. Даже если противник определит статистические особенности текста их должно быть не достаточно для расшифровки.
Рассмотрим структуру сети Фейстела.
2) Алгоритмы с открытым ключом.
Воспользуйтесь поиском по сайту: