Доклады, выступления, видео и электронные публикации

Электронные замки: проблема выбора

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

Логика замка

Основополагающая разница между устройствами класса "электронный замок" заключается в том, откуда осуществляется управление СЗИ -- снаружи или изнутри устройства.

Что вообще такое замок? Это устройство, регламентирующее доступ в охраняемую зону.

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

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

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

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

Как сделать засаду бессмысленной

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

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

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

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

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

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

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

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

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

В России концепция РКБ разработана уже 10 лет назад (в 1997 г.). Несколько позже разработкой концепции и архитектуры резидентного аппаратного компонента занялась возникшая в 2000 г. международная организация Trusted Computing Group. Резидентный аппаратный компонент компьютерной системы, спецификацию на который разработала эта организация, получил название Trusted Platform Module (TPM). И, наконец, в 2003 г. фирма Microsoft объявила о полной системной поддержке возможностей, предоставляемых модулем TPM в следующей версии

операционной системы Windows.

Гордо называться "замком"

Есть условия необходимые, а есть условия достаточные. Чтобы устройство могло именоваться "замком", необходимо, по крайней мере, чтобы оно могло осуществлять идентификацию и аутентификацию пользователя. Это, однако, не означает, что такой замок в реальной ситуации можно рассматривать как средство защиты. Условия достаточности (набор функций, которых достаточно, чтобы быть средством защиты) -- сложнее. Как минимум, дополнительно необходимо производить следующие действия:

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

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

-- контроль целостности выполнять на основе надежных встроенных криптографических механизмов;

-- контролировать целостность не только программных, но и аппаратных средств компьютера;

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

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


[1] Говоря об управлении "снаружи" и "изнутри", надо различать снаружи/изнутри замка и снаружи/изнутри охраняемого объекта. В нашем случае актуально первое.

Автор: Конявская С. В.

Дата публикации: 01.01.2007

Библиографическая ссылка: Конявская С. В. Электронные замки: проблема выбора // Information Security/Информационная безопасность. 2007. № 4 (август–сентябрь). С. 58–60.


Scientia potestas est
Кнопка связи