Использование динамически изменяющегося пароля. Технологии взлома защит

Авто 15.06.2019
Авто

Одной из распространенных схем аутентификации является простая аутентификация, которая основана на применении тра­диционных многоразовых паролей с одновременным согласова­нием средств его использования и обработки. Аутентификация на основе многоразовых паролей - простой и наглядный при­мер использования разделяемой информации. Пока в большин­стве защищенных виртуальных сетей VPN доступ клиента к серверу разрешается по паролю. Однако все чаще применяются более эффективные средства аутентификации, например программные и аппаратные системы аутенти­фикации на основе одноразовых паролей, смарт-карт, PIN-ко­дов и цифровых сертификатов.

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

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

В схеме простой аутентификации (рис.1) передача пароля и идентификатора пользователя может производиться следую­щими способами:

· в незашифрованном виде; например, согласно протоколу парольной аутентификации PAP пароли передаются по линии связи в открытой незащищенной форме;



· в защищенном виде; все передаваемые данные (идентифи­катор и пароль пользователя, случайное число и метки вре­мени) защищены посредством шифрования или однона­правленной функции.

Рисунок 1. Простая аутентификация с использованием пароля

Чтобы защитить пароль, его нужно зашифровать перед пересылкой по незащи­щенному каналу. Для этого в схему включены средства шифро­вания Е К и расшифровывания D K , управляемые разделяемым секретным ключом К. Проверка подлинности пользователя ос­нована на сравнении присланного пользователем пароля Р А и исходного значения Р" А, хранящегося на сервере аутентифика­ции. Если значения Р А и Р" А совпадают, то пароль Р А считается подлинным, а пользователь А - законным.

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

Пароли пользователей должны храниться в ОС в открытом виде.

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

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

Например, односторонняя функция h (∙) может быть опреде­лена следующим образом:

h(P∙) = E p (ID),

где Р - пароль пользователя; ID - идентификатор пользовате­ля; Е Р - процедура шифрования, выполняемая с использовани­ем пароля Р в качестве ключа.

Рисунок 2. использование односторонней функции для проверки пароля.

Такие функции удобны, если длина пароля и ключа одина­ковы. В этом случае проверка подлинности пользователя А с по­мощью пароля Р A состоит из пересылки серверу аутентификации отображения h(P A) и сравнения его с предварительно вычислен­ным и хранимым в БД сервера аутентификации эквивален­том h"(P A) (рис. 2). Если отображения h(P A) и h"(P A) равны, то считается, что пользователь успешно прошел аутентификацию.

Для того чтобы предотвратить такую атаку, функцию h(P) можно определить иначе, например в виде:

h(P) = Е P K (ID),

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

· внешний аутентифицирующий объект, не принадлежащий системе;

· внутренний объект, принадлежащий системе, в который переносится информация из внешнего объекта.

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

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

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

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

Схема аутентификации с использованием временной син­хронизации базируется на алгоритме генерации случайных чисел через определенный интервал времени. Этот интервал устанавливается и может быть изменен администратором сети. Схема аутентификации использует два параметра:

· секретный ключ, представляющий собой уникальное 64-битное число, назначаемое каждому пользователю и храня­щееся в БД аутентификационного сервера и в аппаратном ключе пользователя;

· значение текущего времени.

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

Одним из наиболее распространенных протоколов аутентифи­кации на основе одноразовых паролей является стандартизован­ный в Интернете протокол S/Key (RFC 1760). Этот протокол реа­лизован во многих системах, требующих проверки подлинности удаленных пользователей.

Наиболее распространенным методом аутентификации является ввод секрет­ного числа, которое обычно называют PIN-кодом. Обычно PIN-код представляет собой четырехразрядное число, каждая цифра ко­торого может принимать значение от 0 до 9.

PIN-код вводится с помощью клавиатуры терминала или компьютера и затем отправляется на смарт-карту. Смарт-карта сравнивает полученное значение PIN-кода с эталонным значением, хранимым в карте, и отправляет результат сравнения на терминал.

При идентификации клиента по значению PIN-кода и предъявленной карте используются два основных способа проверки PIN-кода:

1. Неалгоритмический не требует применения специальных алгоритмов. Проверка PIN-кода осуществляется путем непосредственного сравнения введенного клиентом PIN-кода со значениями, хранимыми в БД. Обычно БД со значениями PIN-кодов клиентов шифруется методом прозрач­ного шифрования, чтобы повысить ее защищенность, не усложняя процесса сравнения.

2. Алгоритмический заключается в том, что введенный клиентом PIN-код преобразуют по определенному алгоритму с использованием секретного ключа и затем сравнивают со значением PIN-кода, хранящимся в определен­ной форме на карте. Достоинства:

· отсутствие копии PIN-кода на главном компьютере исклю­чает его раскрытие обслуживающим персоналом;

· отсутствие передачи PIN-кода между банкоматом или кас­сиром-автоматом и главным компьютером банка исключа­ет его перехват злоумышленником или навязывание ре­зультатов сравнения;

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

Строгая аутентификация

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

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

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

· односторонняя аутентификация , предусматривает обмен ин­формацией только в одном направлении;

· двусторонняя аутентификация содержит дополнительный ответ проверяющей стороны доказывающей стороне, который должен убедить ее, что связь устанавливается именно с той стороной, которой были предназна­чены аутентификационные данные;

· трехсторонняя аутентификация содержит дополнительную передачу данных от доказывающей стороны проверяющей. Этот подход позволяет отказаться от использования меток времени при проведении аутентификации.

Одноразо­вые параметры иногда называют также nonces - это величина, используемая для одной и той же цели не более одного раза. Среди используемых на сегодняшний день одноразовых пара­метров следует выделить: случайные числа, метки времени и но­мера последовательностей.

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

· на симметричных алгоритмах шифрования;

· однонаправленных ключевых хэш-функциях;

· асимметричных алгоритмах шифрования;

· алгоритмах электронной цифровой подписи.

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

Рассмотрим следующие варианты аутентификации:

· односторонняя аутентификация с использованием меток времени;

· односторонняя аутентификация с использованием случайных чисел;

· двусторонняя аутентификация.

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

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

Введем следующие обозначения:

r А А;

r В - случайное число, сгенерированное участником В;

t A - метка времени, сгенерированная участником А;

Е К - симметричное шифрование на ключе К (ключ К должен быть предварительно распределен между A и В).

1. Односторонняя аутентификация, основанная на метках времени:

- (1)

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

2. Односторонняя аутентификация, основанная на использо­вании случайных чисел:

- (2)

Участник В отправляет участнику А случайное число r B . Уча­стник А шифрует сообщение, состоящее из полученного числа А и идентификатора В, и отправляет зашифрованное сообщение участнику В. Участник В расшифровывает полученное сообще­ние и сравнивает случайное число, содержащееся в сообщении, в тем, которое Он послал участнику А. Дополнительно он прове­рнет имя, указанное в сообщении.

3. Двусторонняя аутентификация, использующая случайные рачения:

- (3)

При получении сообщения (2) участник В выполняет те же проверки, что и в предыдущем протоколе, и дополнительно рас­шифровывает случайное число r А для включения его в сообще­ние (3) для участника А. Сообщение (3), полученное участни­ком А, позволяет ему убедиться на основе проверки значений r А и r В, что он имеет дело именно с участником В.

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

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

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

Односторонняя хэш-функция h K (∙)с параметром-ключом К, примененная к шифруемым данным М, дает в результате хэш-значение т (дайджест), состоящее из фиксированного не­большого числа байт (рис. 3).

Рисунок 3. Применение для аутентификации односторонней хэш-функции с параметром-ключом

Дайджест т = h K (M) передается получателю вместе с исходным сообщением М. Получатель сооб­щения, зная, какая односторонняя хэш-функция была применена для получения дайджеста, заново вычисляет ее, используя рас­шифрованное сообщение М. Если значения полученного дайдже­ста т и вычисленного дайджеста т" совпадают, значит содержи­мое сообщения Мне было подвергнуто никаким изменениям.

Знание дайджеста не дает возможности восстановить исход­ное сообщение, но позволяет проверить целостность данных. Дайджест можно рассматривать как своего рода контрольную сумму для исходного сообщения. Контрольную сумму используют как средство проверки целост­ности передаваемых сообщений по ненадежным линиям связи.

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

Рисунок 4.

На рис. 4 показан другой вариант использования односто­ронней хэш-функции для проверки целостности данных. В этом случае односторонняя хэш-функция h (∙) не имеет парамет­ра-ключа, но применяется не просто к сообщению М, а к сооб­щению, дополненному секретным ключом К, т. е. отправитель вычисляет дайджест т = h(M, К). Получатель, извлекая исходное сообщение М, также дополняет его тем же известным ему секрет­ным ключом К, после чего применяет к полученным данным од­ностороннюю хэш-функцию h (∙). Результат вычислений - дай­джест т" - сравнивается с полученным по сети дайджестом т.

При использовании односторонних функций шифрования в рассмотренные выше протоколы необходимо внести следующие изменения:

· функция симметричного шифрования Е к заменяется функ­цией h K ;

· проверяющий вместо установления факта совпадения по­лей в расшифрованных сообщениях с предполагаемыми значениями вычисляет значение однонаправленной функ­ции и сравнивает его с полученным от другого участника обмена информацией;

· для обеспечения независимого вычисления значения однона­правленной функции получателем сообщения в протоколе 1 метка времени t A должна передаваться дополнительно в от­крытом виде, а в сообщении (2) протокола 3 случайное число r A должно передаваться дополнительно в открытом виде.

Модифицированный вариант протокола 3 с учетом сформу­лированных изменений имеет следующую структуру:

Заметим, что в сообщение (3) протокола включено поле A . Результирующий протокол обеспечивает взаимную аутентификацию и известен как протокол SKID 3.

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

· расшифровать запрос, зашифрованный на открытом ключ

· поставить свою цифровую подпись на запросе.

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

В качестве примера протокола, построенного на использова­нии асимметричного алгоритма шифрования, можно привести следующий протокол аутентификации:

Участник В выбирает случайным образом r и вычисляет зна­чение х = h(r) (значение х демонстрирует знание r без раскрытия самого значения r ), далее он вычисляет значение е = Р А (r,В). Под Р А подразумевается алгоритм асимметричного шифрования (например, RSA), а под h (∙) - хэш-функция. Участник В от­правляет сообщение (1) участнику А. Участник А расшифровывает е = Р А (r, В) и получает значения r 1 и B 1 , а также вычисляет x 1 = h (r 1 ). После этого производится ряд сравнений, доказываю­щих, что х = х 1 , и что полученный идентификатор B t действительно указывает на участника В. В случае успешного проведе­нии сравнения участник А посылает г. Получив его, участник В проверяет, то ли это значение, которое он отправил в сообще­нии (1).

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

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

- (1)

- (2)

Для описания этой схемы аутентификации введем следую­щие обозначения:

t A , r A и r В - временная метка и случайные числа соответст­венно;

S A - подпись, сгенерированная участником А;

S B - подпись, сгенерированная участником В;

cert A А;

cert B - сертификат открытого ключа участника В.

Если участники имеют аутентичные открытые ключи, полу­ченные друг от друга, то можно не пользоваться сертификатами, в противном случае они служат для подтверждения подлинности открытых ключей.

В качестве примеров приведем следующие протоколы аутентификации.

1. Односторонняя аутентификация с применением меток вре­мени:

После принятия данного сообщения участник В проверяет правильность метки времени t A , полученный идентификатор В и, используя открытый ключ из сертификата cert А , корректность цифровой подписи S A (t A , В).

2. Односторонняя аутентификация с использованием случай­ных чисел:

Участник В, получив сообщение от участника А, убеждается, что именно он является адресатом сообщения; используя открытый ключ участника А, взятый из сертификата cert А , проверяет корректность подписи S A (r A , r B , В) под числом r А, полученным в открытом виде, числом r В, которое было отослано в сообще­нии (1), и его идентификатором В. Подписанное случайное чис­ло r А используется для предотвращения атак с выборкой откры­того текста.

3. Двусторонняя аутентификация с использованием случайных чисел:

В данном протоколе обработка сообщений (1) и (2) выпол­няется так же, как и в предыдущем протоколе, а сообщение (3) обрабатывается аналогично сообщению (2).

Парольная защита

Роль парольной защиты в обеспечении безопасности АИС . Криптографические методы, в частности, шифрование, хорошо обеспечивают защиту информации (конфиденциальности, целостности, аутентичности и т.д.) от внешнего нарушителя. Такой нарушитель, возможно, может перехватывать сообщения, передающиеся по каналу связи а, в некоторых случаях, модифицировать их и даже вставлять в сеанс связи собственные сообщения (зачастую стараясь выдать их за сообщения другого источника). Однако информация в канале связи предварительно подвергается криптографическим преобразованиям и передается в соответствии с криптографическими протоколами, специально разработанными для того, чтобы помешать нарушителю реализовать угрозы безопасности. Для того, чтобы нарушить безопасность информации, циркулирующей в системе, ему необходимо найти уязвимость в системе защиты, либо в использованных в ней криптографических алгоритмах. Аналогичные трудности встают перед нарушителем, получившим доступ к защищенной АИС в качестве пользователя, не обладающего привилегиями, необходимыми для доступа к интересующим его данным.

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

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

Приемы обхода парольной защиты и методы противодействия им.

1. Полный перебор (метод грубой силы, bruteforce).

Самая простая (с технической точки зрения) атака на пароль – перебор всех комбинаций допустимых символов (начиная от односимвольных паролей). Современные вычислительные мощности позволяют перебрать все пароли длиной до пяти-шести символов за несколько секунд.

Некоторые системы не позволяют реализовать атаки, основанные на переборе, поскольку реагируют на несколько попыток неправильно набранного пароля подряд.

Однако существует множество систем, позволяющих бесконечный перебор. Например, к защищенному паролем файлу (архив rar или zip, документ Microsoft Office и т.д.) можно пробовать разные пароли бесконечно. Существует множество программ, которые позволяют автоматизировать эту процедуру: Advanced RAR Password Recovery, Advanced PDF Password Recovery, Advanced Office XP Password Recovery. Кроме того, многие программы хранят хэш пароля в доступном файле. Например, таким образом клиент для работы с электронной почтой (работающий на общедоступном компьютере) может хранить пароли пользователей. Существуют способы похитить файл, содержащий хэши паролей доступа к операционной системе. После этого можно заниматься подбором паролей уже в обход системы, с помощью специальных программ.

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

Два лишних символа в пароле увеличивают время перебора в 40000 раз, а четыре символа - уже в 1.600.000.000 раз. Однако вычислительные мощности компьютеров постоянно растут (еще несколько лет назад безопасным считался пароль длиной 8 символов).

2. Перебор в ограниченном диапазоне.

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

Пусть n = 70 - количество символов, из которых можно составить пароль, причем 10 из них - цифры, 30 - буквы одного языка и 30 - буквы другого языка. Пусть мы составляем пароль длиной m = 4 символа.

Если пароль составляется абсолютно случайно, то количество возможных комбинаций (которые необходимо перебрать) составляет 704 = 24010000. Однако противник может сделать предположение, что пароль состоит из символов одного диапазона (пусть даже, неизвестно, какого). Всего таких паролей 104 + 304 + 304 = 10000 + 810000 + 810000 = 163000. Если он оказался прав, то количество комбинаций (а следовательно, время, которое необходимо затратить на перебор) уменьшилось в 147 раз. Это число резко возрастает, когда увеличивается длина пароля и число диапазонов символов, из которых он может быть составлен.

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

3. Атака по словарю

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

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

Надежный пароль не должен строиться на основе слов естественного языка.

4. Атака по персональному словарю

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

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

Надежный пароль должен быть полностью бессмысленным.

5. Сбор паролей, хранящихся в общедоступных местах

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

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

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

6. Социальный инжиниринг

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

Необходимо помнить правило: сообщать пароль посторонним лицам ни в коем случае нельзя. Даже если эти лица имеют право его знать. Единственным исключением может являться требование суда или правоохранительных органов выдать пароль под угрозой ответственности за отказ от дачи показаний. Но и в этом случае необходимо убедиться, что сотрудники правоохранительных органов – именно те, за кого они себя выдают.

7. Фишинг

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

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

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

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

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

Чтобы противостоять угрозе фишинга необходимо внимательно проверять адрес сайта, прежде чем вводить важный пароль. Лучше всего поместить этот адрес в закладки браузера и пользоваться исключительно этими закладками, ни в коем случае не переходя по ссылкам из электронных писем. Следует пользоваться разными паролями для доступа к разным сервисам.

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

В программе KeePass Portable все пароли хранятся в зашифрованном файле, для доступа к которому необходимо ввести пароль (единственный, который придется по-настоящему запомнить). При этом программа не отображает эти пароли на экране в явном виде. Чтобы ввести пароль для доступа к ресурсу (например, определенному сайту или электронной почте), необходимо выбрать ресурс из списка и выбрать в контекстном меню команду Copy Password To Clipboard . Пароль будет помещен в буфер обмена. Даже внимательно отслеживая действия пользователя, противник не увидит пароля, который не набирается на клавиатуре и не появляется в явном виде на экране. Далее необходимо просто перейти в окно программы, требующей пароль, и поместить его из буфера обмена в поле для ввода (нажатием Ctrl + V или командой Вставить контекстного меню). Пароль сразу будет отображаться в виде звездочек. Спустя несколько секунд он будет автоматически удален из буфера. Программа позволяет также генерировать случайные пароли заданной длины, причем пользователь может даже не знать, какой пароль создала ему программа – важно, чтобы она предоставляла этот пароль каждый раз, когда необходимо авторизоваться. Наконец, KeePass Portable не требует установки в системе: программа может переноситься на флеш-носителе и запускаться непосредственно с него.

Назад

ГЛАВА IV

ТЕХНОЛОГИИВЗЛОМАПРОГРАММНЫХ ЗАЩИТ

Препятствование распространению информации об атаках приводит к опасной иллюзии безопасности…

Крис Касперски. Техника и философия хакерских атак.

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

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

Широко известны эксперименты со взломом знаменитого криптографического стандарта США - DES -алгоритма (Data Encryption Standart ). 56-битный ключ DES -алгоритма был невскрываем около двадцати лет. «... он пал 17 июня 1997 г., через 140 дней после начала конкурса (при этом было протестировано около 25% всех возможных ключей и затрачено 450 MIPS -лет » . В 1998 году появилось сообщение о взломе DES -алгоритма за 56 часов .

С резким скачком производительности вычислительной техники сначала столкнулся алгоритм RSA, для вскрытия которого необходимо решать задачу факторизации. В марте 1994 была закончена длившаяся в течение 8 месяцев факторизация числа из 129 цифр (428 бит6). Для этого было задействовано 600 добровольцев и 1600 машин, связанных посредством электронной почты. Затраченное машинное время было эквивалентно примерно 5000 MIPS-лет .

29 января 1997 фирмой RSA Labs был объявлен конкурс на вскрытие симметричного алгоритма RC5. 40-битный ключ был вскрыт через 3.5 часа после начала конкурса! (Для этого даже не потребовалась связывать компьютеры через Интернет - хватило локальной сети из 250 машин в Берклевском университете). Через 313 часов был вскрыт и 48-битный ключ [ 24].

Написать программу, строящую все возможные последовательности символов из заданного последовательного перечислимого множества, может даже начинающий программист. Очевидно, что расчет автора защиты должен быть основан на том, чтобы полный перебор занял промежуток времени, выходящий за рамки разумного. И первое, что используют для этого разработчики, - увеличение длины ключа (пароля). По-своему они правы. Но

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

С связи с резким ростом вычислительных мощностей атаки полным перебором имеют гораздо больше шансов на успех, чем раньше. Если для системы UNIX функция crypt(), которая отвечает за хеширование паролей, была реализована так, что выполнялась почти 1 секунду на машину класса PDP, то за двадцать лет скорость ее вычисления увеличилась в 10000 раз (!). Поэтому если раньше хакеры (и разработчики, которые ограничили длину пароля 8 символами) и представить себе не могли полный перебор, то сегодня такая атака в среднем приведет к успеху за 125 дней .

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

Более того, уже создана специальная аппаратура, выполняющая функции перебора.

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

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

Остановимся еще на разновидности техники полного перебора паролей - так называемой атаке по словарю . Это метод, с помощью которого можно вскрыть осмысленный пароль. Метод основан на том, что пользователь для более легкого запоминания выбирает существующее в некотором языке (словарное) слово. Если учесть, что в любом языке не более 100.000 слов, очевидно, что полный перебор словарных слов произойдет в течение небольшого промежутка времени.

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

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

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

_____________________________

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

* Для усиления парольной защиты следует применять любые оригинальные приемы, уменьшающие скорость перебора паролей.

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

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

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

___________________________________________________________

Подробнее

1. Примеры атак на механизмы защиты - Крис Касперски «Техника и философия хакерских атак» .

2. Генерирование псевдослучайных последовательностей чисел - Ю.С. Харин, В.И. Берник, Г.В. Матвеев «Математические основы криптологии» , стр. 153-188; В. Жельников «Криптография от папируса до компьютера» , стр. 181-207.

Модель системы защиты

При построении систем защиты от угроз нарушения конфиденциальности информации в автоматизированных системах используется комплексный подход. Схема традиционно выстраиваемой эшелонированной защиты приведена на рис. 1.3.1.

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

Остановимся более подробно на каждой из участвующих в реализации защиты подсистем.

1.3.2 Организационные меры и меры обеспечения физической безопасности

Данные механизмы в общем случае предусматривают :

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

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

1.3.3. Идентификация и аутентификация

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

Тем самым, задача идентификации – ответить на вопрос «кто это?», а аутентификации - «а он ди это на самом деле?».

Базовая схема идентификации и аутентификации приведена на рис. 1.3.2.

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

Всё множество использующих в настоящее время методов аутентификации можно разделить на 4 большие группы :

  1. Методы, основанные на знании некоторой секретной информации . Классическим примером таких методов является парольная защита , когда в качестве средства аутентификации пользователю предлагается ввести пароль – некоторую последовательность символов. Данные методы аутентификации являются наиболее распространёнными.
  2. Методы, основанные на использовании уникального предмета . В качестве такого предмета могут быть использованы смарт-карта, токен, электронный ключ и т.д.
  3. Методы, основанные на использовании биометрических характеристик человека . На практике чаще всего используются одна или несколько из следующих биометрических характеристик:
    • отпечатки пальцев;
    • рисунок сетчатки или радужной оболочки глаза;
    • тепловой рисунок кисти руки;
    • фотография или тепловой рисунок лица;
    • почерк (роспись);
    • голос.
      Наибольшее распространение получили сканеры отпечатков пальцев и рисунков сетчатки и радужной оболочки глаза.
  4. Методы, основанные на информации, ассоциированной с пользователем . Примером такой информации могут служить координаты пользователя, определяемые при помощи GPS. Данный подход вряд ли может быть использован в качестве единственного механизма аутентификации, однако вполне допустим в качестве одного из нескольких совместно используемых механизмов.

Широко распространена практика совместного использования нескольких из перечисленных выше механизмов – в таких случаях говорят о многофакторной аутентификации .

Особенности парольных систем аутентификации

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

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

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

Остановимся более подробно на основных угрозах безопасности парольных систем . В общем случае пароль может быть получен злоумышленником одним из трёх основных способов:

  1. За счёт использования слабостей человеческого фактора . Методы получения паролей здесь могут быть самыми разными: подглядывание, подслушивание, шантаж, угрозы, наконец, использование чужих учётных записей с разрешения их законных владельцев.
  2. Путём подбора . При этом используются следующие методы:
    • Полный перебор . Данный метод позволяет подобрать любой пароль вне зависимости от его сложности, однако для стойкого пароля время, необходимое для данной атаки, должно значительно превышать допустимые временные ресурсы злоумышленника.
    • Подбор по словарю . Значительная часть используемых на практике паролей представляет собой осмысленные слова или выражения. Существуют словари наиболее распространённых паролей, которые во многих случаях позволяют обойтись без полного перебора.
    • Подбор с использованием сведений о пользователе. Данный интеллектуальный метод подбора паролей основывается на том факте, что если политика безопасности системы предусматривает самостоятельное назначение паролей пользователями, то в подавляющем большинстве случаев в качестве пароля будет выбрана некая персональная информация, связанная с пользователем АС. И хотя в качестве такой информации может быть выбрано что угодно, от дня рождения тёщи и до прозвища любимой собачки, наличие информации о пользователе позволяет проверить наиболее распространённые варианты (дни рождения, имена детей и т.д.).
  3. За счёт использования недостатков реализации парольных систем. К таким недостаткам реализации относятся эксплуатируемые уязвимости сетевых сервисов, реализующих те или иные компоненты парольной системы защиты, или же недекларированные возможности соответствующего программного или аппаратного обеспечения.

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

  • Установление минимальной длины пароля . Очевидно, что регламентация минимально допустимой длины пароля затрудняет для злоумышленника реализацию подбора пароля путём полного перебора.
  • Увеличение мощности алфавита паролей . За счёт увеличения мощности (которое достигается, например, путём обязательного использования спецсимволов) также можно усложнить полный перебор.
  • Проверка и отбраковка паролей по словарю . Данный механизм позволяет затруднить подбор паролей по словарю за счёт отбраковки заведомо легко подбираемых паролей.
  • Установка максимального срока действия пароля . Срок действия пароля ограничивает промежуток времени, который злоумышленник может затратить на подбор пароля. Тем самым, сокращение срока действия пароля уменьшает вероятность его успешного подбора.
  • Установка минимального срока действия пароля . Данный механизм предотвращает попытки пользователя незамедлительно сменить новый пароль на предыдущий.
  • Отбраковка по журналу истории паролей . Механизм предотвращает повторное использование паролей – возможно, ранее скомпрометированных.
  • Ограничение числа попыток ввода пароля . Соответствующий механизм затрудняет интерактивный подбор паролей.
  • Принудительная смена пароля при первом входе пользователя в систему . В случае, если первичную генерацию паролей для всех пользователь осуществляет администратор, пользователю может быть предложено сменить первоначальный пароль при первом же входе в систему – в этом случае новый пароль не будет известен администратору.
  • Задержка при вводе неправильного пароля . Механизм препятствует интерактивному подбору паролей.
  • Запрет на выбор пароля пользователем и автоматическая генерация пароля . Данный механизм позволяет гарантировать стойкость сгенерированных паролей – однако не стоит забывать, что в этом случае у пользователей неминуемо возникнут проблемы с запоминанием паролей.

Оценка стойкости парольных систем

Оценим элементарные взаимосвязи между основными параметрами парольных систем . Введём следующие обозначения:

  • A – мощность алфавита паролей;
  • L – длина пароля;
  • S=A L – мощность пространства паролей;
  • V – скорость подбора паролей;
  • T – срок действия пароля;
  • P – вероятность подбора пароля в течение его срока действия.

Очевидно, что справедливо следующее соотношение:

Обычно скорость подбора паролей V и срок действия пароля T можно считать известными. В этом случае, задав допустимое значение вероятности P подбора пароля в течение его срока действия, можно определить требуемую мощность пространства паролей S.

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

Методы хранения паролей

В общем случае возможны три механизма хранения паролей в АС :

  1. В открытом виде . Безусловно, данный вариант не является оптимальным, поскольку автоматически создаёт множество каналов утечки парольной информации. Реальная необходимость хранения паролей в открытом виде встречается крайне редко, и обычно подобное решение является следствием некомпетентности разработчика.
  2. В виде хэш-значения . Данный механизм удобен для проверки паролей, поскольку хэш-значения однозначно связаны с паролем, но при этом сами не представляют интереса для злоумышленника.
  3. В зашифрованном виде . Пароли могут быть зашифрованы с использованием некоторого криптографического алгоритма, при этом ключ шифрования может храниться:
    • на одном из постоянных элементов системы;
    • на некотором носителе (электронный ключ, смарт-карта и т.п.), предъявляемом при инициализации системы;
    • ключ может генерироваться из некоторых других параметров безопасности АС – например, из пароля администратора при инициализации системы.

Передача паролей по сети

Наиболее распространены следующие варианты реализации:

  1. Передача паролей в открытом виде . Подход крайне уязвим, поскольку пароли могут быть перехвачены в каналах связи. Несмотря на это, множество используемых на практике сетевых протоколов (например, FTP) предполагают передачу паролей в открытом виде.
  2. Передача паролей в виде хэш-значений иногда встречается на практике, однако обычно не имеет смысла – хэши паролей могут быть перехвачены и повторно переданы злоумышленником по каналу связи.
  3. Передача паролей в зашифрованном виде в большинстве является наиболее разумным и оправданным вариантом.

1.3.4. Разграничение доступа

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

Дискреционным называется разграничение доступа между поименованными субъектами и поименованными объектами. На практике дискреционное разграничение доступа может быть реализовано, например, с использованием матрицы доступа (рис. 1.3.4).

Как видно из рисунка, матрица доступа определяет права доступа для каждого пользователя по отношению к каждому ресурсу.

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

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

Принципиальное различие между дискреционным и мандатным разграничением доступа состоит в следующем: если в случае дискреционного разграничения доступа права на доступ к ресурсу для пользователей определяет его владелец, то в случае мандатного разграничения доступа уровни секретности задаются извне, и владелец ресурса не может оказать на них влияния. Сам термин «мандатное» является неудачным переводом слова mandatory – «обязательный». Тем самым, мандатное разграничение доступа следует понимать как принудительное.

1.3.5. Криптографические методы обеспечения конфиденциальности информации

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


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

1.3.6. Методы защиты внешнего периметра

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

Межсетевое экранирование

Межсетевой экран (МЭ) выполняет функции разграничения информационных потоков на границе защищаемой автоматизированной системы. Это позволяет:

  • повысить безопасность объектов внутренней среды за счёт игнорирования неавторизованных запросов из внешней среды;
  • контролировать информационные потоки во внешнюю среду;
  • обеспечить регистрацию процессов информационного обмена.

Контроль информационных потоков производится посредством фильтрации информации , т.е. анализа её по совокупности критериев и принятия решения о распространении в АС или из АС.

В зависимости от принципов функционирования, выделяют несколько классов межсетевых экранов . Основным классификационным признаком является уровень модели ISO/OSI, на котором функционирует МЭ.


Большинство используемых в настоящее время межсетевых экранов относятся к категории экспертных. Наиболее известные и распространённые МЭ – CISCO PIX и CheckPoint FireWall-1.

Системы обнаружения вторжений

Обнаружение вторжений представляет собой процесс выявления несанкционированного доступа (или попыток несанкционированного доступа) к ресурсам автоматизированной системы. Система обнаружения вторжений (Intrusion Detection System, IDS) в общем случае представляет собой программно-аппаратный комплекс, решающий данную задачу.

Общая структура IDS приведена на рис. 1.3.6.2:

Алгоритм функционирования системы IDS приведён на рис. 1.3.6.3:

Как видно из рисунков, функционирование систем IDS во многом аналогично межсетевым экранам: сенсоры получают сетевой трафик, а ядро путём сравнения полученного трафика с записями имеющейся базы сигнатур атак пытается выявить следы попыток несанкционированного доступа. Модуль ответного реагирования представляет собой опциональный компонент, который может быть использован для оперативного блокирования угрозы: например, может быть сформировано правило для межсетевого экрана, блокирующее источник нападения.

Существуют две основных категории систем IDS :

  1. IDS уровня сети .
    В таких системах сенсор функционирует на выделенном для этих целей хосте в защищаемом сегменте сети. Обычно сетевой адаптер данного хоста функционирует в режиме прослушивания (promiscuous mode), что позволяет анализировать весь проходящий в сегменте сетевой трафик.
  2. IDS уровня хоста .
    В случае, если сенсор функционирует на уровне хоста, для анализа может быть использована следующая информация:
    • записи стандартных средств протоколирования операционной системы;
    • информация об используемых ресурсах;
    • профили ожидаемого поведения пользователей.

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

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

1.3.7. Протоколирование и аудит

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

Системы обнаружения вторжений уровня хоста можно рассматривать как системы активного аудита.

Назначение механизма регистрации и аудита:

  • обеспечение подотчётности пользователей и администраторов;
  • обеспечение возможности реконструкции последовательности событий (что бывает необходимо, например, при расследовании инцидентов, связанных с информационной безопасностью);
  • обнаружение попыток нарушения информационной безопасности;
  • предоставление информации для выявления и анализа технических проблем, не связанных с безопасностью.

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

Типовая запись регистрационного журнала выглядит следующим образом (рис. 1.3.7.1).

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

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

  • система может быть заблокирована вплоть до решения проблемы с доступным дисковым пространством;
  • могут быть автоматически удалены самые старые записи системных журналов;
  • система может продолжить функционирование, временно приостановив протоколирование информации.

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

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

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

Ввод пароля можно подсмотреть. Иногда для подглядывания используются даже оптические приборы. Пароль можно угадать "методом грубой силы", используя, например, словарь. Если файл паролей зашифрован, но доступен для чтения, его можно скачать к себе на компьютер и попытаться подобрать пароль, запрограммировав полный перебор (предполагается, что алгоритм шифрования известен).

Следующие меры позволяют значительно повысить надежность парольной защиты:

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

управление сроком действия паролей, их периодическая смена;

Ограничение доступа к файлу паролей;

Ограничение числа неудачных попыток входа в систему (это затруднит применение метода "грубой силы");

Обучение пользователей;

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

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

Существующие парольные методы проверки подлинности пользователей при входе в информационную систему можно разделить на две группы:

· методы проверки подлинности на основе простого пароля;

· методы проверки подлинности на основе динамически изменяющегося пароля.

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

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

Использование простого пароля

Процедура опознавания с использованием простого пароля может быть представлена в виде следующей последовательности действий:

Пользователь посылает запрос на доступ к компьютерной системе и вводит свой идентификатор;

Система запрашивает пароль;

Пользователь вводит пароль;

Система сравнивает полученный пароль с паролем пользователя, хранящимся в базе эталонных данных системы защиты, и разрешает доступ, если пароли совпадают; в противном случае пользователь к ресурсам компьютерной системы не допускается.

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

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

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

Можно выделить следующие основные способы повышения стойкости системы защиты на этапе аутентификации:

Повышение степени не тривиальности пароля;

Увеличение длины последовательности символов пароля;

Увеличение времени задержки между разрешенными попытками повторного ввода неправильно введенного пароля;

Повышение ограничений на минимальное и максимальное время действительности пароля.

Использование динамически изменяющегося пароля

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

Существуют следующие методы парольной защиты, основанные на использовании динамически меняющегося пароля:

Методы модификации схемы простых паролей;

Методы идентификации и установления подлинности субъектов и различных объектов;

Метод "запрос-ответ";

Функциональные методы.

Наиболее эффективными из данных методов являются функциональные.

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

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

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

Функциональные методы. Среди функциональных методов наиболее распространенными является метод функционального преобразования пароля. Метод функционального преобразования основан на использовании некоторой функции F, которая должна удовлетворяет установленным требованиям.

Одноразовые пароли

Одноразовый пароль — это пароль, действительный только для одного сеанса аутентификации . Действие одноразового пароля также может быть ограничено определённым промежутком времени. Преимущество одноразового пароля по сравнению со статическим состоит в том, что пароль невозможно использовать повторно. Таким образом, злоумышленник, перехвативший данные из успешной сессии аутентификации, не может использовать скопированный пароль для получения доступа к защищаемой информационной системе. Использование одноразовых паролей само по себе не защищает от атак, основанных на активном вмешательстве в канал связи, используемый для аутентификации (например, от атак типа «человек посередине» ).

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

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

· Основанные на временной синхронизации между сервером и клиентом, обеспечивающей пароль (пароли действительны в течение короткого периода времени)

· Использующие математический алгоритм, где новый пароль основан на запросе (например, случайное число, выбираемое сервером или части входящего сообщения) и/или счётчике.

Также существуют различные способы, чтобы сообщить пользователю следующий пароль. Некоторые системы используют специальные электронные токены , которые пользователь носит с собой, создающие одноразовые пароли и выводящие затем их на маленьком экране. Другие системы состоят из программ, которые пользователь запускает с мобильного телефона. Ещё другие системы генерируют одноразовые пароли на сервере и затем отправляют их пользователю, используя посторонние каналы, такие, как SMS -сообщения. Наконец, в некоторых системах одноразовые пароли напечатаны на листе бумаги или на скретч-карте , которые пользователю необходимо иметь с собой.

Реализация одноразовых паролей:

Математические алгоритмы

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

Запрос -использование одноразовых паролей с запросом требует от пользователя обеспечивать синхронизированные по времени запросы, чтобы была выполнена проверка подлинности. Это может быть сделано путём ввода значения в сам токен. Чтобы избежать появления дубликатов, обычно включается дополнительный счётчик, так что если случится получение двух одинаковых запросов, то это всё равно приведёт к появлению разных одноразовых паролей. Однако вычисления обычно не включают предыдущий одноразовый пароль, так как это приведёт к синхронизации задач.

Одноразовый пароль через SMS - Распространённая технология, используемая для доставки одноразовых паролей — это SMS . Так как SMS — это повсеместный канал связи, которая имеется во всех телефонах и используется большим количеством клиентов, SMS-сообщения имеют наибольший потенциал для всех потребителей, обладающие низкой себестоимостью. Токены, смарт-карты и другие традиционные методы аутентификации гораздо более дороги для реализации и для использования и часто встречают сопротивление со стороны потребителей. Они также гораздо более уязвимы для атак типа «человек посередине» , в которых фишеры крадут одноразовые пароли обманом или даже потому что одноразовые пароли отображаются на экране токена. Также токены могут быть потеряны и интеграция одноразовых паролей в мобильные телефоны может быть более безопасной и простой, потому что пользователям не придётся носить с собой дополнительные портативные устройства. В то же время одноразовые пароли через SMS могут быть менее безопасны, так как сотовые операторы становятся частью цепи доверия. В случае роуминга надо доверять более чем одному мобильному оператору.

Одноразовый пароль на мобильном телефоне - По сравнению с аппаратной реализацией токена, которая требует, чтобы пользователь имел с собой устройство-токен, токен на мобильном телефоне существенно снижает затраты и предлагает беспрецедентный уровень удобства. Это решение также уменьшает материально-технические требования, так как нет необходимости выдавать отдельное устройство каждому пользователю. Мобильные токены, такие, как FiveBarGate, FireID или PROTECTIMUS SMART дополнительно поддерживают некоторое число токенов в течение одной установки приложения, позволяя пользователю аутентифицироваться на нескольких ресурсах с одного устройства. Этот вариант также предусматривает специфические приложения для разных моделей телефонов пользователя. Токены в мобильных телефонах также существенно более безопасны, чем одноразовые пароли по SMS, так как SMS отправляются по сети GSM в текстовом формате с возможностью перехвата.

Организация парольной защиты

Инструкция по парольной защите включает в себя:

1. Правила формирования личного пароля

2. Ввод пароля

3. Порядок смены паролей

4. Хранение пароля

5. Ответственность при организации парольной защиты



Рекомендуем почитать

Наверх