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

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

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

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

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

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

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

Исторически сложилось так, что современные компьютеры являются реализацией идеи «машины Тьюринга» [2], то есть универсального исполнителя. Это означает, что принципиально – архитектурно – они созданы так, чтобы выполнить любую задачу. Любую, а не только те, что мы бы хотели.

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

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

Защита информации – это ограничение универсальности средств вычислительной техники.

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

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

И здесь мы подходим к первому, самому радикальному разделению направлений. Мы можем:

  1. усовершенствовать архитектуру уже существующих технических средств,
  2. использовать новые технические средства на базе новой, более совершенной архитектуры.

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

Средства защиты, изменяющие архитектуру устройств (наложенные средства защиты информации)

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

Именно поэтому контролировать неизменность среды нельзя программными средствами – так как программа может быть изменена. Для того чтобы убедиться, что она не была изменена – ее нужно сначала проверить. Если ее мы проверяем другой программой, то сначала нужно проверить ту программу, которой мы проверяем первую… и так далее. Мы попадаем в зону действия известного парадокса «кто будет сторожить сторожей?». В защите информации попытки контролировать целостность среды программными средствами носят название «синдром Мюнгхаузена», поскольку они аналогичны попыткам вытащить себя самого из болота за волосы [1,3,4].

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

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

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

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

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

Такое аппаратное, простое, независимое от компьютера контролирующее устройство, стартующее первым, до загрузки ОС компьютера – называется резидентный компонент безопасности (РКБ) [1].

Резидентный компонент безопасности – это встроенный в вычислительную систему объект, способный контролировать целостность среды путем сравнения ее параметров с эталонными.

Задача РКБ – сделать так, чтобы на этапе прохождения контрольных процедур защищаемый компьютер не был универсальным, или «машиной Тьюринга», а потом, после их успешного завершения, пользователю снова становились доступны все плюсы универсальности.

Ключевые характеристики РКБ:

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

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

Первым, с чего началась практическая реализация парадигмы аппаратной защиты в нашей стране и в мире, стало СЗИ НСД «Аккорд-АМДЗ», положивший начало линейке «Аккорд» [3].

«Аккорд-АМДЗ» – это аппаратный модуль доверенной загрузки, РКБ, обеспечивающий тот самый «правильный старт» компьютерной системы, доверенную загрузку операционной системы.

«Доверенная загрузка» – это загрузка заранее определенной операционной системы с заранее определенных постоянных носителей после успешного завершения специальных процедур проверки заранее определенных условий (целостности технических и программных средств ПК (с использованием механизма пошагового контроля целостности) и идентификации / аутентификации пользователя).

Аккорд-АМДЗ может быть реализован на различных контроллерах, различающихся принципиально только шинными интерфейсами: PCI или PCI-X; PCI-express; Mini PCI-express; Mini PCI-express half card; m.2 (в настоящее время других аппаратных электронных замков для этой шины расширения нет, хотя очевидно, что именно она в ближайшее время станет основной).

Существует также вариант исполнения «Аккорд-АМДЗ» на базе USB-устройства, которое называется «Инаф» (от английского enough – достаточно). Этот вариант имеет определенные ограничения, которые должны восполняться орг. мерами или применением дополнительных механизмов, однако в ряде случаев этого вполне достаточно, отсюда и название.

«Аккорд-АМДЗ» контролирует только старт компьютера и не работает в операционной системе. Поэтому в тех случаях, когда необходимо не только загрузить доверенную среду, но и разграничить доступ к ресурсам компьютера уже в ходе работы пользователей, особенно при многопользовательском режиме работы или в распределенных инфраструктурах, необходимо применять программно-аппаратные комплексы на базе «Аккорд-АМДЗ» – ПАК «Аккорд-Win32», «Аккорд-Win64» или «Аккорд-Х». Они предназначены, соответственно, для разграничения доступа в 32-х и 64-х разрядных ОС Windows и в ОС Linux.

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

Для терминальных систем как на базе Microsoft, так и на базе Citrix, предназначены версии TSE (Terminal Server Edition) поддерживающие управление терминальными сессиями. Cерверные и клиентские компоненты комплексов взаимодействуют в рамках протоколов ICA или RDP, формируя собственный виртуальный канал.

За счет совокупности своих функций, включающих, в частности, и контроль запуска задач в программной части комплекса, ПАК СЗИ НСД Аккорд позволяет блокировать атаку на «перехват управления», на которой в свою очередь базируется большая часть хакерских атак[1].

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

Для виртуальных инфраструктур, на которых сейчас все чаще строятся центры обработки данных (ЦОДы), в линейке «Аккордов» предназначены программно-аппаратные комплексы «Аккорд-В.» и «ГиперАккорд». Первый предназначен для виртуализации на базе VMware, второй – для виртуализации на базе Microsoft [5].

Работа конечных пользователей с ЦОДом может строиться несколькими различными способами: работа с виртуальными рабочими станциями, работа на основе терминального доступа, web-доступа или смешанно. Во всех этих случаях пользователь физически работает на каком-то средстве вычислительной техники (СВТ), и оно также является объектом защиты, поскольку именно с него осуществляется доступ к защищаемому ЦОДу [6–8].

Устройства с правильной архитектурой

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

Компьютеры

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

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

Если базовая уязвимость универсальных компьютеров – в их архитектуре, значит, компьютер, удовлетворяющий требованию one-touch-security[2], должен быть создан на основе принципиально иной архитектуры, не имеющей этой уязвимости.

Теоретические и исторические предпосылки и основы этой – Новой Гарвардской – архитектуры приведены в уже упомянутой статье В. А. Конявского в прошлом номере журнала [9].

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

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

На базе построенных компьютеров такой архитектуры (их на сегодняшний день серийно выпускается 7 видов [10]) можно создавать автоматизированные рабочие места (АРМ) для самых разных видов информационного взаимодействия. С учетом того, что цена самого экономичного из этих компьютеров – MKT – в 10-15 раз ниже традиционного компьютера на базе x86, то понятно, что это и есть современное решение для потенциальных клиентов дистанционного банковского обслуживания (ДБО) [11], для который исключено (если здраво смотреть на вещи) применение «тяжелых» средств защиты.

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

Клиент ДБО размещается на ЦОД, отвечающего всем требованиям по защите информации, соответственно, доступ к АБС выполняется из одной, достоверно известной точки — ЦОД, по защищенному каналу.

Технология доверенного сеанса связи гарантирует безопасность доступа клиента банка к своему клиенту ДБО (и, соответственно, к банку) из любой точки мира.

То есть клиент банка (человек) с помощью защищенного микрокомпьютера MKT из любого гостиничного номера, где есть телевизор, защищенно соединяется с клиентом ДБО (программным обеспечением), размещенным на защищенном ЦОДе и по защищенному каналу взаимодействующим с защищенной АБС банка. Данные клиента обрабатываются в защищенной вычислительной среде, а хранятся на устройстве.

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

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

Самому же банку целесообразно рассмотреть возможность использования в качестве рабочих мест защищенных компьютеров MKT-card long. Пример такого использования приведен в [12].

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

Устройства этих типов тоже можно создавать с правильной архитектурой, и уже есть примеры таких серийных продуктов.

Служебные носители (флешки, ключевые носители, средства хранения журналов)

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

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

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

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

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

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

Ограничивать универсальность этих параметров можно и нужно.

Эта задача уже решена и решения запатентованы [13, 14].

Рассмотрим основные типы носителей, наиболее применяемые в реальных системах.

Флешки

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

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

Являясь частью защищенной информационной системы, носители информации тоже должны быть защищенными.

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

Что это означает применительно к вопросу защищенности мобильных носителей информации?

Носители информации являются частью информационной системы, и, значит, существенно бóльшая их защищенность по отношению к остальным ресурсам системы не имеет смысла («общий уровень защищенности определяется уровнем защищенности самого слабого звена», или «дыра в заборе»[3]), она никак не усилит общую защищенность данных, и переплачивать за нее нецелесообразно. Нет практического смысла использовать сверхзащищенную флешку в незащищенной системе.

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

а) находиться в квартире и нигде кроме,

б) быть каким-то мистическим образом защищена от возможного воздействия вирусов.

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

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

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

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

Назовем такой носитель служебным.

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

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

Критерии оценки, которые адекватны понятию «защищенный служебный носитель», следующие:

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

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

В программно-аппаратных комплексах (ПАК) линейки «СЕКРЕТ» именно эта функция является основной.

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

  1. Кража или находка
  2. Отъем
  3. Завладение оставленным без присмотра устройством
  4. Завладение путем мошенничества и социальной инженерии
  5. Покупка у мотивированного инсайдера

Как правило, пп. 1, 2 и 5 имеют своей целью завладение данными с флешки, а п. 3 или 4 может также иметь целью внедрение подложных данных или вредоносного кода (реже, но тоже возможно – уничтожение данных на флешке).

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

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

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

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

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

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

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

Очевидно, что все эти вопросы важны, но только в том случае, если флешка в принципе различает компьютеры.

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

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

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

Вывод очевиден: чтобы различать компьютеры, флешка должна сама быть компьютером. Именно в этом и состоит отличие служебных носителей (СН) «Секрет». Архитектура флешек изменена в устройствах «Секрет» следующим образом.

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

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

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

Ключевые носители

Ключи, так же, как и любые данные, существуют в трех процессах: хранятся, обрабатываются (в том числе – создаются и уничтожаются) и передаются.

Никаких других состояний у данных, и ключей (как явлений этой сущности) не бывает.

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

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

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

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

Таким образом, с точки зрения безопасного существования криптографических ключей в Автоматизированной системе (АС) принципиальное значение имеют 2 фактора:

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

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

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

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

Сложившаяся практика

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

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

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

Однако, и специализированные средства – токены[4] – не идеальны.

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

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

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

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

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

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

  • доступ к ключу через любые интерфейсы, в том числе и путем применения разрушающего программного воздействия (РПВ),
  • среду, в которой производится попытка доступа к ключу.

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

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

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

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

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

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

Начнем с добросовестного бухгалтера (таких, все-таки, мы уверены, большинство). Из лучших побуждений – выполнять часть работы сверхурочно – он может организовать себе дополнительное рабочее место дома. При этом он может разделить работы по критичности и для «домашнего» выполнения выделить не платежи, а только подготовку и отправку в налоговую инспекцию отчетов в электронном виде. Это делается с помощью одной из специальных программ, например, «Фельдъегерь» («Доклайнер», «Контур-Экстерн»), и бухгалтеру на его домашнем компьютере даже не потребуется «Клиент-банк».

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

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

Итак, если бухгалтер задумал провести нелегальный платеж, что его может остановить? Теоретически, его должна сдержать неотказуемость от ЭП на его ключе.

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

Нарисуем такой «детектив»: злоумышленник организует рабочее место с необходимым для проведения платежа программным обеспечением. На собственном рабочем месте он подготавливает накануне несколько платежных поручений, подписанных его ЭП, но не отправляет их.

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

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

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

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

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

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

Ключи СКЗИ, защищающего канал, хранятся в токене.

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

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

Именно таких случаев касается п. 31 Требований к средствам электронной подписи: «В состав средств ЭП классов КС3 должны входить компоненты, обеспечивающие: ... управление доступом субъектов к различным компонентам и (или) целевым функциям средства ЭП и СФ на основе параметров, заданных администратором или производителем средства ЭП ...».

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

Все эти леденящие кровь сценарии невозможны, если токен просто различает СВТ, к которым его подключают.

Итак, защищенный ключевой носитель должен:

  1. быть персональным отчуждаемым устройством,
  2. быть специализированным именно для хранения ключей устройством (то есть обеспечивать возможность защищенного хранения криптографических ключей с применением интерфейсов работы со смарт-картой (CCID или PKCS#11)),
  3. предоставлять доступ к ключам только легальному пользователю после успешной аутентификации в устройстве,
  4. предоставлять легальному пользователю доступ к ключам только на тех СВТ, на которых данному пользователю разрешено работать с данным ключевым носителем.

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

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

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

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

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

Использование «Идеального токена» возможно только после успешного завершения взаимной аутентификации токена и компьютера, к которому его подключили, а затем – успешной аутентификации пользователя в токене и СКЗИ.

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

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

Технология «Идеального токена» запатентована [16].

Обзор ключевых хранилищ

Смарт-карты

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

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

Разумеется, хранение ключей — это не единственная функция смарт-карты, но одна из основных.

Токены

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

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

Хранение ключей — это не единственная, и не основная функция токенов, их основное назначение — двухфакторная аутентификация.

Флешки

Обычные флэш-накопители не обладают никакой защитой. Могут быть украдены или утеряны, в этом случае любой человек сможет получить доступ к данным. Зато флэш-накопители обладают значительным объемом памяти, совместимы практически со всеми устройствами, имеющими USB порты. Флэш-накопитель может быть использован на любом АРМ в любых условиях.

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

ТМ-идентификаторы

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

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

Основное предназначение ТМ-идентификаторов, как и токенов – двухфакторная аутентификация. Если аутентифицирующей информацией являются не непосредственно хранящиеся в ТМ-идентификаторе данные, а результат преобразования, которое производится резидентным компонентом безопасности с данными, полученными по разным каналам, то копируемость памяти ТМ-идентификатора не является критичным фактором. В отличие от считывания хранящихся в «таблетке» в открытом виде ключей.

Требование

Смарт-карта

Токен

Флешка

ТМ-идентификатор

Персональное отчуждаемое устройство

+

+

+

+

Поддержка интерфейсов CCID и\или PKCS#11

+

+

-

-

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

+

+

-

-

Контроль легальности СВТ

-

-

-

-

*«+» или «–» в строке «Контроль легальности пользователя» оценивает наличие в ключевом носителе собственных механизмов, независимых от механизмов СКЗИ. То же справедливо и для остальных параметров, однако именно в отношении указанного возможна неоднозначная интерпретация.

Другие служебные носители

По принципу, впервые реализованному в служебных носителях «Секрет», кроме «Идеального токена» построены и другие служебные носители для различных более узких целей. Например, это программно-аппаратный неперезаписываемый журнал ПАЖ – где свойства «Секрета» дополнены тем, что память, в которой сохраняются журналы событий различных устройств и приложений – Add only, то есть в нее можно только добавлять, а что-либо удалять или изменять в ней – нельзя. Также ПАЖ характеризуют некоторые особенности реализации ролей пользователей, связанные с особенностями работы именно с журналами, но они не касаются архитектуры, и являются, в общем-то, частными деталями.

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

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

В заключение кажется необходимым попытаться сформулировать ответ на вопрос – как же, собственно, лучше – менять архитектуру универсального устройства с помощью РКБ или применять устройства с «правильной» с точки зрения безопасности архитектурой. Это традиционное «кто кого победит – кит или слон». Если все хорошо, то никто никого не победит, потому что они не встретятся. Если же встретятся, то либо кит оказался в саванне, либо слон в океане, что одинаково плохо. Нельзя такого допустить. Так и с защитой информации: для решения разных задач объективно нужны разные СВТ, и заменять уместное на идеологически правильное – нецелесообразно и даже вредно. А вот определить на этапе проектирования ли, модернизации ли – какие рабочие места рационально применять в той или иной системе – универсальные или специализированные – довольно несложно и точно полезно.

Литература:

  1. Конявский В. А., Гадасин В. А. Основы понимания феномена электронного обмена информацией. Мн.: Серия «Библиотека журнала "УЗИ"», 2004. – 327 c.
  2. Машина_Тьюринга
  3. Конявский В. А. Управление защитой информации на базе СЗИ НСД «Аккорд». М.: «Радио и связь», 1999. – 325 c.
  4. Конявский В. А., Лопаткин С. В. Компьютерная преступность. Т. I, II. М., 2006, 2008. – 560 с., 840 с.
  5. Конявский В. А. Безопасное «облако» // Федеральный справочник. Связь и массовые коммуникации в России: [информационно-аналитическое издание]; Т. 12. М.: НП «Центр стратегического партнерства», 2012. С. 325–330.
  6. Счастный Д. Ю., Конявская С. В. Облако ЦОДов, или Сон разума: о том, почему необходимо мыть руки перед едой, даже если они «чистые» // Защита информации, Inside. 2014. № 5. С. 57–61.
  7. Конявская С. В. Защита терминальных клиентов в идеологии «клиент всегда прав» // Information Security/Информационная безопасность. М., 2016. № 5 (ноябрь). С. 35.
  8. Конявская С. В. К вопросу о классификации объектов защиты информации // Безопасность информационных технологий. М., 2013. № 3. С. 14–18.
  9. Конявский В. А. Иммунитет как результат эволюции ЭВМ // Защита информации. Инсайд. Спб., 2017. № 4. С. 46–52.
  10. Trusted Cloud Computers [Электронный ресурс]: Новая гарвардская архитектура
  11. Конявский В. А. Защищенный микрокомпьютер МК-TRUST — новое решение для ДБО. Национальный банковский журнал. М., 2014. № 3 (март)
  12. Конявская С. В. Применение защищенных микрокомпьютеров МКТ-card long в системах удаленного доступа смешанного типа // Вопросы защиты информации: Научно-практический журнал/ФГУП «ВИМИ», М.,2016г., Вып.3, №114, с. 23–30.
  13. Специальный съемный носитель информации. Патент на полезную модель № 94751. 27.05.2010, бюл. №15.
  14. Конявский В. А. Научно-методические проблемы создания защищенных информационных технологий // ВКСС Connect! М., 2006. № 1 (34). С. 41–43.
  15. Требования к средствам электронной подписи (Приложение №1 к приказу ФСБ России от 27 декабря 2011 г. № 796).
  16. Съемный носитель ключевой и конфиденциальной информации. Патент на полезную модель № 147529. Опубликовано 10.11.2014. Бюл. 31.

[1] Обобщенная схема атаки на «перехват управления» и механизма ее отражения была опубликована в прошлом номере журнала в статье В. А. Конявского [9].

[2] То есть такие, защищенный режим работы которых не настраивается, а включается.

[3] «Ситуация напоминает строительство забора на даче: его делают все выше, а клубнику как воровали, так и воруют. Видимо, где-то есть дыра. В этом случае важнее не наращивать высоту забора, а дыру забить» [15].

[4] Это слово используется в разных значениях, но в рамках этого текста условимся понимать токен только одном из них: как защищенное тем или иным способом хранилище ключей в виде объектов PKCS.

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

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

Библиографическая ссылка: Конявская С. В. О происхождении видов, или как лечить болезнь, а не симптомы // Защита информации. Inside. Спб., 2017. № 5. С. 64–74.


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