Идентификация и аутентификация. Так ли все просто? Ключевой термин: Идентификация и аутентификация. Структурная схема терминов

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

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

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

Аутентификация бывает односторонней и двусторонней (взаимной). Пример односторонней аутентификации – процедура входа пользователя в систему.

3 группы способов аутентификации:

1) основанные на том, что пользователь знает некоторую подтверждающую его подлинность информацию. Это парольная аутентификация и аутентификация на основе модели «рукопожатия».

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

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

Парольная аутентификация

Общая информация

При выборе пароля необходимо руководствоваться двумя взаимоисключающими правилами: пароль должен трудно подбираться и легко запоминаться . Сложность подбора пароля определяется мощностью множества символов (N) и минимально возможной длиной пароля (k). Число всех возможных вариантов паролей С=N^k.

Другие параметры политики учетных записей пользователей :

1) max срок действия пароля;

2) несовпадение пароля с логическим именем пользователя;

3) неповторяемость паролей одного пользователя.

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

1) ограничение числа попыток входа в систему;

2) скрытие логического имени последнего работавшего пользователя;

3) учет всех попыток входа в систему.

Реакция системы на неудачную попытку входа:

1) блокировка учетной записи за превышение max возможных попыток

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

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

1) символы не отображаются на экране;

2) ввод пароля повторяется дважды.

Хранение пароля в базе данных осуществляется, как правило, в зашифрованном виде. Минусы:

· поскольку при шифровании необходимо использовать ключ, необходимо обеспечить его защищенное хранение

· опасность расшифрования любого пароля и получения его в открытом виде.

Виды парольной аутентификации:

1) с использованием многоразовых паролей;

2) с использованием одноразовых паролей. Пользователь получает список паролей Р1, Р2, … РN. Каждый из паролей действует только на один сеанс входа. В этом случае знание уже использовавшегося пароля ничего не даст злоумышленнику.

Недостатки: организация защищенного хранения длинного списка паролей, неясность с номером следующего пароля, если при вводе предыдущего вход в систему был не осуществлен из-за сбоя в работе системы. Эти недостатки могут быть устранены, если список паролей генерировать на основе необратимой функции, например, хеширования. Пусть Р – начальный пароль пользователя, а F – необратимая функция. Функция F применяется последовательно i раз для получения Pi: F^i(P) = F(F(…F(P)…)). Тогда список одноразовых паролей создается следующим образом: P1 = F^n (P), P2 = F^(n-1)(P), … , Pn = F(P). При сбое в процессе входа пользователя в систему всегда осуществляется выбор последующего пароля из спсика, а система последовательно применяется функцию F к введенному паролю до совпадения с последним принятым от него паролем или до превышения длины списка.

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

Аутентификация на основе модели «рукопожатия»

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

1) С: генерация случайного значения х, вычисление у = f(х), вывод х.

2) П: вычисление у’ = f ‘ (x), ввод y’.

3) C: если y и y’ совпадают, то пользователь допускается к работе в системе, иначе попытка входа в систему отклоняется.

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

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

Недостатки : большая длительность этой процедуры по сравнению с парольной.


Похожая информация.


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

  • как организован (и защищен) обмен данными идентификации/аутентификации.
Субъект может подтвердить свою подлинность, предъявив, по крайней мере, одну из следующих сущностей:
  • нечто, что он знает (пароль, личный идентификационный номер, криптографический ключ и т.п.);
  • нечто, чем он владеет (личную карточку или иное устройство аналогичного назначения);
  • нечто, что есть часть его самого (голос, отпечатки пальцев и т.п., то есть свои биометрические характеристики).
В открытой сетевой среде между сторонами идентификации/аутентификации не существует доверенного маршрута; это значит, что в общем случае данные, переданные субъектом, могут не совпадать с данными, полученными и использованными для проверки подлинности. Необходимо обеспечить защиту от пассивного и активного прослушивания сети, то есть от перехвата, изменения и/или воспроизведения данных. Передача паролей в открытом виде, очевидно, неудовлетворительна; не спасает положение и шифрование паролей, так как оно не защищает от воспроизведения. Нужны более сложные протоколы аутентификации.
Надежная идентификация и затруднена не только из-за сетевых угроз, но и по целому ряду причин. Во-первых, почти все аутентификационные сущности можно узнать, украсть или подделать. Во-вторых, имеется противоречие между надежностью аутентификации, с одной стороны, и удобствами пользователя и системного администратора с другой. Так, из соображений бе
зопасности необходимо с определенной частотой просить пользователя повторно вводить аутентификационную информацию (ведь на его место мог сесть другой человек), а это не только хлопотно, но и повышает вероятность того, что кто-то может подсмотреть за вводом данных. В- третьих, чем надежнее средство защиты, тем оно дороже.
Современные средства идентификации/аутентификации должны поддерживать концепцию единого входа в сеть. Единый вход в сеть - это, в первую очередь, требование удобства для пользователей. Если в корпоративной сети много информационных сервисов, допускающих независимое обращение, то многократная идентификация/аутентификация становится слишком обременительной. К сожалению, пока нельзя сказать, что единый вход в сеть стал нормой, доминирующие решения пока не сформировались.
Таким образом, необходимо искать компромисс между надежностью, доступностью по цене и удобством использования и администрирования средств идентификации и аутентификации.
Любопытно отметить, что сервис идентификации/аутентификации может стать объектом атак на доступность. Если система сконфигурирована так, что после определенного числа неудачных попыток устройство ввода идентификационной информации (такое, например, как терминал) блокируется, то злоумышленник может остановить работу легального пользователя буквально несколькими нажатиями клавиш.
Если в сети не хранятся сверхсекретные данные, то для доступа к ресурсам обычно достаточно логина и пароля. Управление такими системами обычно не представляет сложностей. В Windows 2000/ХР и Server 2003 можно создавать обособленные защищенные зоны управления - домены. Сетевой администратор может предоставить пользователям домена права доступа к ресурсам любого компьютера, будь то сервер или рабочая станция. Кроме того, при сотрудничестве администраторов между доменами могут быть установлены доверительные отношения, в результате чего пользователи получат доступ к сетевым ресурсам другого домена по той же учетной записи и паролю. В Windows 2000 и более поздних версиях для разграничения доступа к важным ресурсам могут применяться групповые политики.
В Novell NetWare для этого применяется служба Novel Directory Services, которая предоставляет пользователю регистрационное сетевое имя. Каждый пользователь представляется в каталоге объектом User, в свойствах которого содержится информация о его паролях и соединениях.
В операционных системах Unix концепция домена отсутствует. Вместо этого каждый хост Unix содержит файл паролей, где хранится информация о каждом пользователе, включая шифрованный пароль. Для доступа к ресурсам других сетевых хостов пользователь Unix должен либо зарегистрироваться на этом компьютере, либо использовать прокси. Утилиты TCP/IP, такие как FTP и Telnet, часто пересылают пароли пользователей по сети открытым текстом и поэтому являются легкой добычей для хакера.
В Unix для выполнения обычных сетевых операций, таких как копирование или печать файлов, или регистрация на удаленной системе, используются утилиты удаленной работы, обычно называемые r-командами (их имена начинаются буквой г). Такие утилиты очень полезны в сетевой среде, где один пользователь работает на нескольких компьютерах, но часто вызывают проблемы с безопасностью: ведь для выполнения команды на удаленном хосте пользователю достаточно иметь действительную для этого хоста учетную запись.
Вместо пароля право доступа определяется записью в файле /etc/hosts.equiv wiH.rhosts. Удаленный компьютер доверяет компьютеру, на котором пользователь выполняет r-команду, если находит в одном из этих файлов соответствующую запись. Каждая запись файла /etc/hosts.equiv содержит имя хоста и имя пользователя и позволяет идентифицировать пользователей и хосты, которым разрешено выполнять соответствующие команды. Поэтому ввода пароля не требуется.

Считается, если пользователь зарегистрировался на удаленном хосте, то он уже прошел аутентификацию. Файл rhosts работает подобным образом, но находится в домашнем каталоге пользователя. Удаленные пользователи, указанные в этом файле, могут выполнять действия на основании своих учетных записей.
Несмотря на то, что в большинстве операционных систем Unix и Linux сохранились базовые r-команды, теперь у них появилась альтернатива - утилиты защитной оболочки (Secure Shell, SSH), обеспечивающие передачу данных подобно r-командам, но с аутентификацией и шифрованием. Все это очень напоминает механизм доверительных отношений Windows NT/2000/Server 2003/ХР - но все же это разные механизмы. Злоумышленник легко может выдать себя за удаленный узел и получить доступ к системе Unix/Linux посредством г-команд.

13 июня 2007 г. 10:51

А.Щеглов, К.Щеглов

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

Требования нормативных документов к механизму идентификации и аутентификации

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

Прежде всего, обратимся к формализованным требованиям в области защиты информации, попробуем в них найти ответ на вопрос, какими же функциями должен быть наделен механизм идентификации и аутентификации? Формализованные требования к механизму идентификации и аутентификации пользователей задаются действующим сегодня нормативным документом "Гостехкомиссия России. Руководящий документ. Средства вычислительной техники. Защита от несанкционированного доступа к информации. Показатели защищенности от НСД к информации".

Для СЗИ от НСД, используемых для защиты конфиденциальной информации (5 класс СВТ) требования к механизму идентификации и аутентификации состоят в следующем:

● Комплекс средств защиты информации (КСЗ) должен требовать от пользователей идентифицировать себя при запросах на доступ.

● КСЗ должен подвергать проверке подлинность идентификации - осуществлять аутентификацию.

● КСЗ должен располагать необходимыми данными для идентификации и аутентификации.

● КСЗ должен препятствовать доступу к защищаемым ресурсам неидентифицированных пользователей и пользователей, подлинность идентификации которых при аутентификации не подтвердилась.

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

Заметим, что в требованиях к СВТ 4-го класса защищенности вообще задачи идентификации и аутентификации пользователя при входе в систему и при запросе на доступ разделены на две самостоятельные задачи, кроме того, здесь появляется некое понятие "субъект" в общем виде.

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

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

Задача идентификации и аутентификации субъекта "пользователь" при запросах на доступ

Этапы идентификации и аутентификации пользователя, реализуемые ОС Windows

Этапы идентификации и аутентификации пользователя, реализуемые в системе (на примере ОС Windows), представлены на рис. 1.

Первый шаг идентификации, поддерживаемый режимом аутентификации, реализуется при входе пользователя в систему. Здесь следует выделить возможность входа в штатном и в безопасном режиме (Safe Mode). В порядке замечания отметим, что принципиальным отличием безопасного режима является то, что при запуске системы в безопасном режиме можно отключить загрузку сторонних по отношению к системе драйверов и приложений. Поэтому, если в системе используется добавочная СЗИ от НСД, можно попытаться загрузить систему в безопасном режиме без компонент СЗИ от НСД, т.е. без средства защиты. С учетом же того, что загрузить систему в безопасном режиме может любой пользователь (в Unix системах – только Root), то СЗИ от НСД должна обеспечивать возможность входа в систему в безопасном режиме (после идентификации и аутентификации) только под учетной записью администратора.

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

Рис.1. Этапы идентификации и аутентификации пользователя

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

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

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

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

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

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

Реализация механизма идентификации и аутентификации при запросах доступа к ресурсам

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

Рис.2. Укрупненный алгоритм идентификации и аутентификации при запросе доступа к ресурсу

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

Ограничения возможности корректного решения задачи

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

Заметим, что в нормативном документе "Гостехкомиссия России. Руководящий документ. Средства вычислительной техники. Защита от несанкционированного доступа к информации. Показатели защищенности от НСД к информации" вопросы контроля доступа пользователей к устройствам (начиная с СВТ 4-го класса защищенности) формируются в виде отдельного требования: КСЗ должен включать в себя механизм, посредством которого санкционированный пользователь надежно сопоставляется с выделенным ему конкретным устройством.

Чтобы понять суть существующих ограничений, проанализируем, как ОС Windows (в ОС семейства Unix рассматриваемые проблемы не столь критичны, т.к. устройства в них монтируются к файловой системе) работает с устройствами, и сразу натолкнемся на проблему (решения рассматриваемой задачи, реализуемые собственно ОС Windows, рассматривать не будем, т.к. они не удовлетворяют требованиям применения в корпоративных приложениях). Проблема здесь состоит в том, что многие устройства предполагают возможность взаимодействия с ними приложения не напрямую, а через драйвер. В этом случае запрос доступа к устройству осуществляется от лица пользователя System (варианты решения задачи на прикладном уровне рассматривать не будем, ввиду их априорной уязвимости). Возникает вопрос, а откуда взять идентификатор пользователя, который инициировал это обращение к устройству. Можно, конечно, "посмотреть", какой пользователь зарегистрирован в системе, и фильтровать запросы доступа применительно к его учетной записи (кстати говоря, подобный подход реализуется некоторыми специализированными средствами защиты). Но не будем забывать, что современные ОС Windows многопользовательские. Как отмечалось выше, начиная с Windows XP, возможность входа в многопользовательский режим уже вынесена в интерфейс (например, из проводника можно по правой кнопки мыши выбрать опцию запуска приложения с правами другого пользователя – получим многопользовательский режим). В многопользовательском режиме в системе одновременно зарегистрировано уже несколько пользователей, при этом выявление учетной записи, от которой осуществлен запрос доступа к устройству, становится неразрешимой (или, по крайней мере, весьма сложно корректно решаемой) задачей.

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

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

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

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

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

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

Задача идентификации и аутентификации субъекта "процесс" при запросах на доступ

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

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

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

● Критичные процессы. К ним мы отнесем две группы процессов: к процессам первой группы отнесем те, которые запускаются в системе с привилегированными правами, например, под учетной записью System, к процессам второй группы те, которые наиболее вероятно могут быть подвержены атакам, например, сетевые службы. Атаки на процессы первой группы наиболее критичны, что связано с возможностью расширения привилегий, в пределе – получения полного управления системой; атаки на процессы второй группы наиболее вероятны.

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

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

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

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

Заметим, что угроза, порождаемая процессом, далеко не всегда является внешней ИТ-угрозой. Инсайдер также может запустить стороннюю программу, модифицировать код санкционированного приложения, воспользоваться недекларируемой возможностью ПО.

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

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

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

● разграничение прав доступа к объектам процессов вне разграничений пользователей (эксклюзивный режим обработки запросов процессов - доступ к объекту разрешается, если он разрешен процессу);

● разграничение прав доступа к объектам пользователей вне разграничений процессов (эксклюзивный режим обработки запросов пользователей - доступ к объекту разрешается, если он разрешен пользователю);

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

Заметим, что техническое решение, реализующее данный подход, нами запатентовано (А.Ю.Щеглов. Система разграничения доступа к ресурсам, патент №2207619, приоритет от 12.07.2001).

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

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

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

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

В предлагаемой нами реализации для локализации программной среды необходимо регламентировать права доступа к папкам (каталогам, подкаталогам), из которых пользователям разрешено (запрещено) запускать исполняемые файлы. С учетом принятых правил размещения приложений и необходимости запуска системных процессов, целесообразно разрешать выполнение программ только из каталогов \Program Files, куда следует устанавливать приложения, и \Winnt (WINDOWS). А чтобы предотвратить возможность модификации санкционированных исполняемых файлов, запись пользователям в эти каталоги, напротив, следует запретить.

Заметим, что если в качестве субъекта доступа может выступать как сущность "пользователь", так и сущность "процесс", то данный механизм защиты позволит настраивать замкнутость программной среды не только для пользователей, но и для процессов. В этом случае можно разрешить любому процессу, либо контролируемому процессу (как субъекту) запуск исполняемых файлов только из каталогов \Program Files, и \Winnt (WINDOWS) и запретить прикладным процессам запись в них. Очевидное достоинство этого решения в "равноправности" разграничений для всех пользователей - вне зависимости от корректности их идентификации при доступе к ресурсам (в частности, атаки на расширение привилегий становятся невозможными).

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

Вопросы корректности идентификации объекта доступа

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

В NTFS файловый объект может быть идентифицирован различными способами:

● файловые объекты, задаваемые длинными именами, характеризуются той отличительной особенностью, что к ним можно обращаться как по длинному, так и по короткому имени, например к каталогу "\Program files\" можно обратиться по короткому имени "\Progra~1\";

● файловые объекты, задаваемые русскими (либо в иной кодировке) буквами, также имеют короткое имя, которое формируется с использованием кодировки Unicode (внешне они могут существенно различаться), например короткое имя для каталога "C:\Documents and Settings\USER1\Главное меню" выглядит как "C:\Docume~1\USER1\5D29~1\". К этим объектам также можно обратиться как по длинному, так и по короткому имени;

● файловый объект идентифицируется не только именем, но и своим идентификатором (ID) – индекс объекта в таблице MFT, причем некоторые программы обращаются к файловым объектам не по имени, а именно по ID.

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

Вывод. Из сказанного выше получаем следующее требование к идентификации объекта доступа – объект доступа должен однозначно идентифицироваться при любом допустимом способе обращения к нему (при любом способе его идентификации приложением) на доступ.

Мы в исследовании не затронули вопросы ссылок, возможность обращения к файловым объектам по их ID, что на практике реализуется рядом приложений, и т.д.

Таким образом, проведя данное исследование, видим, насколько сложна задача идентификации и аутентификации как в своей постановке в общем виде, так и в решении, если, конечно, говорить о построении эффективного средства защиты информации, сколько механизмов защиты должно быть реализовано в составе СЗИ от НСД для решения данной задачи в общем виде. А если хотя бы одного из рассмотренных механизмов в средстве защиты нет – уже уязвимость! Кстати говоря, о термине "эффективность" в данных приложениях. Заметим, что СЗИ от НСД не может обладать высокой или низкой эффективностью (это не параметр производительности). СЗИ от НСД либо защищает, либо нет. Если существует хотя бы один канал обхода средства защиты, рано или поздно им воспользуется злоумышленник, как следствие, в этом случае правомерно утверждать, что данная СЗИ от НСД не обладает потребительской стоимостью (или просто бессмысленна для практического использования). Здесь невольно возникает вопрос (это уже в части формализации требований к СЗИ от НСД – сегодня очень актуальный вопрос), а как подразделять СЗИ от НСД на какие-либо классы или группы? СЗИ от НСД высокого класса обеспечивает защиту, а низкого нет (иного не дано)? Напрашивается вывод о том, что подобное разделение СЗИ от НСД на какие-либо группы или классы по функциональным возможностям и по набору механизмов защиты недопустимо! Тогда на основании чего могут быть введены классификационные признаки СЗИ от НСД?

В заключение отметим, что в данной работе на примере исследования лишь одной, на первый взгляд, наиболее изученной сегодня задачи защиты информации, авторы сделали попытку убедить читателя, что защита информации – это очень сложная научно-техническая и инженерная задача. К сожалению, исторически нас приучили к тому, что средство защиты может быть простым в использовании и в администрировании. Большую (на наш взгляд, отрицательную) роль в этом сыграли антивирусные средства, основанные на сигнатурном анализе – "нажал две кнопки, запустил "черный ящик", все проверил, безопасность обеспечена". Однако сигнатурные анализаторы – это не средства защиты – это средства контроля (сравнение с эталоном). Поэтому, с одной стороны, они могут быть простыми в использовании (задача лишь в пополнении набора эталонов, которая для потребителя "прозрачна"), с другой стороны, их использование принципиально не может обеспечить эффективной защиты (принципиально невозможно обеспечить выполнение требования к полноте и достаточности набора эталонов). Если же мы говорим о корпоративных приложениях, где конфиденциальные данные являются потенциальным товаром, т.е. обладают потребительской стоимостью, к вопросам компьютерной безопасности необходимо относиться серьезно, необходима соответствующая квалификация лиц, отвечающих на предприятии за защиту информации (о разработчиках СЗИ от НСД уж и не говорим). В этом случае потребитель уже должен ожидать от разработчика средств защиты не простых, а эффективных и обоснованных решений!

Для предотвращения доступа в сеть незарегистрированных пользователей прежде всего следует установить учетную запись (user account). Пока пользователь не введет достоверное имя и пароль, указанные в учетной записи, он не сможет войти в сеть. Например, в сетях Windows NT каждому пользователю назначают персональную учетную запись с внутренним защитным кодом (SID — Security Identifier), по которому операционная система однозначно идентифицирует пользователя. Исключения из этого правила обычно делают только для учетной записи Guest (гость), которая может использоваться кем угодно, кто знает ее пароль.
Однако в ныне действующих сетях по этой учетной записи предоставляют весьма ограниченный доступ к системе.
Защитный код (SID) определяет, что может делать в сети данный пользователь. Например, когда кто-то пытается открыть файл, подсистема защиты (security subsystem) проверяет этот файл, сверяет личность пользователя со списком тех, кому разрешен доступ к файлу, а затем устанавливает тип доступа, который ему предоставлен.

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

Конец маскарада

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

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

Совет:
Измените имена учетных записей, которым предоставлены особенно большие права, например, администраторов Windows NT.

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

Примечание:
Заставляя пользователей следовать этим правилам, ни в коем случае не полагайтесь на хорошие личные отношения. Любая правильно спроектированная NOS обеспечивает парольную защиту, контроль повторного использования (reuse cycles) пароля и т.п. Некоторые дополнительные типы программ позволят указывать пароли, которые невозможно применять.

Во-первых, регулярно заменяйте пароли. Это означает, что пароль действителен, скажем, в течение 30 дней, после чего отправляется в "Дом Престарелых Паролей". Кроме того, это означает, что вы обязаны установить правила повторного использования паролей, согласно которым нужно выжидать некоторый период времени, прежде чем можно будет использовать старый пароль. В противном случае половина пользователей будут снова и снова назначать один и тот же пароль, чтобы упростить себе вход в систему. Использование же устаревших паролей рискованно.
Пароли должны быть трудны для отгадывания. Поэтому короткие и благозвучные пароли неприемлемы; кроме того, установите для паролей некую минимальную длину (Microsoft рекомендует не менее 11 символов) и не позволяйте людям использовать ни одно из следующих слов.

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

Совет:
Немедленно заменяйте все используемые стандартные пароли. Списки стандартных паролей для конкретного оборудования (в том числе пароли BIOS, которые вы можете назначить для компьютера) можно без труда получить в онлайновом режиме (online).

Чтобы затруднить угадывание паролей, вы можете записать их в необычной форме.
Например, записывайте пароль задом наперед, придумывайте бессмысленные слова либо вставляйте в них произвольные символы, например, mort$ician (mortician — гробовщик). Кроме того, если ваша NOS и система идентификации способны различать регистры символов паролей, используйте в пароле произвольные регистры букв, скажем, FrOggiE. Наиболее защищенные пароли создаются генератором случайных паролей (random password generator). К сожалению, такие пароли не нравятся пользователям — например, JO%de)(Iwi832 — их трудно запомнить и точно ввести.
Наконец, последнее правило защиты пароля гласит: никогда не записывайте пароль.
Все наши уловки затрудняют людям корректный ввод их собственных паролей (они имеют обыкновение записывать пароли и приклеивать липучкой к монитору или под клавиатурой).
Отбейте у них всякую охоту делать это.
Реализовать данные рекомендации нелегко, особенно потому, что иногда они противоречат друг другу. Нелегко придумывать через каждые 30 дней новое слово из 10 букв. Однако если следовать приведенным рекомендациям, угадать пароль для вашей сети будет весьма нелегко.

Итак, теперь я в безопасности, правда? Пароль, назначенный надлежащим образом, затрудняет случайный доступ по вашей учетной записи. Однако он не может предотвратить намеренную попытку прорыва в систему и вы по-прежнему не должны допускать посторонних в сеть.
Пароли, которые трудно угадать людям, уязвимы, тем не менее, со стороны словарной атаки (dictionary attack), когда специальная программа вводит случайные комбинации символов в экран входного диалога (login screen), пока одна из них не совпадет с подлинным паролем.
Кроме того, пароли, пересылаемые по сети, могут перехватывать программы-анализаторы (sniffers). Если пароли представляют собой простой текст, оператор программы-анализатора без малейшего труда их перехватит. (Простой текст незашифрован.
Подробнее о том, что это значит, вы узнаете в разделе "Шифрование данных".) Если пароли зашифрованы, они, разумеется, тоже потенциально опасны при перехвате, поскольку средства взлома паролей общедоступны (см. ниже).

Идеалы L0pht

Организация, называемая L0pth (да, именно нуль) создала множество инструментов, для испытания средств защиты продуктов в тяжелых режимах. В частности, один из них, называемый L0phtcrack, предназначен для оценки уязвимости шифрования паролей Windows NT.
Суть дела в следующем: Windows NT поддерживает два метода выполнения вызовов/откликов (challenge/response techniques): NTML2 и LM (систему вызова/отклика LAN Manager). Средства идентификации паролей LM весьма уязвимы с точки зрения дешифрования.
Проблема заключается в способе, которым намеренно зашумленные (т.е. зашифрованные) пароли разбиваются на части и идентифицируются. Система идентификации LM позволяет при взломе разделять пароли на блоки размером в семь байт. Напротив, система идентификации NTLM намного устойчивее к взлому. Никакой пароль не устоит перед грубыми силовыми методами, однако для взлома системы вызова/отклика NTLM требуется намного больше времени, чем для LM — несколько дней вместо нескольких секунд.
Единственный путь полностью обойти проблемы LM: использовать в сети только компьютеры Windows NT, а также установить пакет SP4. (Если используется хотя бы один клиент Windows 95, следует поддерживать систему идентификации LM.) Подробное описание проблемы и возможные решения можно найти по адресам:
http://www.l0pht.com/10phtcrack/rant.html http://support.microsoft.com/support/kb/articles/ql47/7/06.asp.
И эти инструменты работают. Введите в L0phtcrack пароль, зашифрованный с помощью технологии LM —программа расшифрует его за несколько секунд (в зависимости от мощности компьютера).

Биометрические устройства и интеллектуальные карты

Для идентификации доступа пользователей в систему иногда используют средства, не требующие ввода паролей. В некоторых сетях с повышенными мерами защиты для идентификации личности используют интеллектуальные карты (smart cards), биометрические устройства (biometric devices) или и то, и другое. Кроме того, такие устройства могут обеспечить защитную аутентификацию (secure authentication) пользователей, которые не приучены обращаться с паролями. Их можно также применять, если защита паролями слишком громоздка, но, тем не менее, необходима.

Медосмотр с помощью системы защиты. Биометрические устройства однозначно идентифицируют пользователя на основе некоторых физиологических характеристик, например, отпечатков пальцев или ладони, рисунка сетчатки глаза, "отпечатка" голоса (voice print).
Встречаются и другие методы идентификации подобного рода. Главное — предельно упростить ввод пароля в систему. Человеческий мозг может воспринимать пароли длиной не более И символов. Структура же кровеносных сосудов человеческого глаза абсолютно уникальна, а подделать ее весьма трудно. Эту, а также и другие структуры, свойственные только вам, можно отсканировать и оцифровать, т.е. преобразовать в единицы и нули — точно так же, как модем "переводит" аналоговые данные в цифровые, необходимые для работы компьютера. Затем оцифрованные изображения сохраняются точно так же, как файл со списком паролей. Когда вы предоставляете сканеру отпечатки вашего пальца (глаза, руки, голоса), оригинал сканируется и оцифровывается, а затем сравнивается с образцом, хранящимся в системе. Если соответствие достаточно близкое, система позволяет войти в сеть (или сегмент сети).
До недавних пор биометрические устройства использовались исключительно в правительственных сетях с высшей степенью защиты. Идентификация по отпечатку голоса "страдает" недостатком, обусловленным тем, что голос человека звучит по-разному в зависимости от времени дня и настроения человека. Сканирование сетчатки нередко ведет к ошибкам, если, скажем, глаз человека наливается кровью из-за сенной лихорадки. Поэтому на случай отказа механизма биометрической идентификации следует предусмотреть какой-либо иной код (ID) — иначе вам просто не войти в систему. Система идентификации, которая пылится на полке, никому не нужна.
Последние усовершенствования программных средств распознавания голоса и другие технологии значительно подняли доверие к инструментам биометрической аутентификации (biometric authentication tools). По мере роста надежности эти средства стали все шире применяться для идентификации личности. Тем не менее, пока что они не слишком популярны и главным образом потому, что создают неудобства людям. Возможно, вам повезет, и вы сумеете убедить их в обратном ("Мы установим систему, в которой не надо вводить пароли!!!"). В частности, удобства таких систем в большей мере ощущают люди, далекие от техники. Кроме того, "щадящие" биометрические устройства, вроде сканеров отпечатков пальцев, воспринимаются благожелательнее, чем, например, сканеры сетчатки глаза.

Использование интеллектуальных карт. Все большее число фирм в крупных городах США требуют от служащих обзавестись идентификационными карточками (badges). Федеральное правительство добивается этого целую вечность. С недавних пор этого же требуют частные фирмы и даже общественные школы. Как правило, на идентификационные карточки помещают фотографии владельцев, а также их имена либо иной идентификатор (в особо защищенных картах имена не указывают). Нередко в идентификационных карточках предусмотрена цветовая кодировка, позволяющая охраннику с одного взгляда установить, имеет ли владелец право находиться в данной части здания или местности.
В простейшем случае карточка содержит только фотографию и код, вроде того, что содержится на водительских удостоверениях. Интеллектуальные карты (smart cards) помимо этой информации включают своего рода электронную подпись (electronic signature), хранящуюся на магнитной полосе (magnetic strip) карты. Примером интеллектуальной карты может быть кредитная карточка, в которой на магнитной полосе хранится номер вашего счета. Еще один пример, когда ввод данных пользователем необязателен — это запирающая система (gate system). Здесь владелец карточки, чтобы отпереть дверь, должен протянуть ее через цифровой сканер (digital scanner). Независимо от того, должен ли пользователь вводить код либо просто протянуть карточку через щель, при несовпадении введенного кода с записанным в памяти доступ воспрещается.

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

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

Организация прав пользователей

Итак, наконец пользователь, так или иначе, идентифицирован и получил доступ в систему. Это отнюдь не означает, что он автоматически получает все права на доступ к файлам. В любой достаточно защищенной сетевой операционной системе доступ пользователя определяется группой, в которую он входит. Хитрость заключается в использовании преимуществ этой системы путем ограничения прав пользователя на доступ к функциональным средствам, которые ему необходимы. В гл. 10 рассматривались некоторые методы, используемые в серверах Windows NT и NetWare для организации прав пользователей и разрешений. Мы вернемся к этому вопросу.

Домены Windows NT и средство обслуживания Active Directory. Независимо от того, предусмотрена ли в серверах доменная структура или средство Active Directory (Активный каталог), в операционных системах Windows NT и Windows 2000 используются по существу одинаковые методы организации работы пользователей. Пользователем (user) называют члена одной или нескольких групп, причем каждой группе назначают код группы (Group ID — GID) и предоставляют определенные права. В зависимости от назначенных прав и разрешений, члены данной группы могут читать имеющиеся файлы, создавать новые, использовать сетевые устройства, запускать утилиты администрирования (administration utilities), а также пользоваться многими другими правами и разрешениями, предусмотренными операционной системой.
Кроме того, пользователям можно предоставлять индивидуальные права и разрешения, однако каждый пользователь должен входить, по крайней мере, в одну группу.

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

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

Средство обслуживания NetWare (NDS) фирмы Novell. Вместо предоставления прав пользователям и группам, в системе NDS (NetWare Directory Services — средство обслуживания каталогов NetWare) организует их в соответствии с организационными единицами (OU — Organizational Unit). Как правило, OU представляет собою группу коллег по работе или одно подразделение фирмы, однако она определена на пользовательской основе, а потому численность OU не ограничена и допускает любую структуру организации.
В отличие от доменной системы Windows NT, система NDS позволяет пользователю одновременно входить в единственную OU. Таким образом, чтобы изменить массив разрешений для конкретного пользователя, его следует перевести в другую OU. При последующем входе в систему пользователь получит для работы новый набор разрешений.

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

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

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

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

Что это такое?

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

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

Аутентификация

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

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

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

Чтобы подтвердить свою подлинность, субъектом должна быть предъявлена одна из следующих сущностей:

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

Особенности систем

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

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

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

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

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

Парольная аутентификация

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

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

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

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

Как это исправить?

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

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

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

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

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

На данный момент одним из наиболее популярных программных генераторов одноразовых паролей является система под названием S/KEY, выпущенная компанией Bellcore. Основная концепция этой системы заключается в том, что имеется определенная функция F, которая известна как пользователю, так и серверу аутентификации. Далее представлен секретный ключ К, который известен только определенному пользователю.

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

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

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

В России в качестве объединенного сервиса используется специальный государственный портал - "Единая система идентификации/аутентификации" ("ЕСИА").

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

Kerberos

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

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

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

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

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

Проверка подлинности с использованием биометрических данных

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

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

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

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

ЕСИА

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

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

Уровни

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

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

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



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: