- PVSM.RU - https://www.pvsm.ru -
Биометрические технологии позволяют компьютерам узнавать людей по уникальным для каждого признакам. Прогресс в данной области впечатляет. То, о чём раньше знали лишь в узких научных кругах, сегодня доступно каждому. Сканером отпечатков пальцев в смартфоне или на рабочем месте, например, уже никого не удивить. На первый взгляд, биометрическая аутентификация – это надёжная преграда перед посторонними. Действительно, нет в мире двух человек, похожих абсолютно во всём. Но биометрические приложения, способные надёжно защищать системы от вторжений, тоже нуждаются в защите.
Сегодня мы поговорим об аппаратных технологиях Intel, которые способны вывести защиту биометрических приложений на новый уровень.
Имя пользователя и пароль используются для идентификации пользователей уже много лет. В рамках этой модели безопасности человеку, которому нужно подтвердить, что он имеет право пользоваться неким сервисом, достаточно ввести имя и пароль. Это и вход в систему на компьютере, и получение доступа к функциональности различных онлайновых служб – таких, как социальные сети и интернет-банки. Недостатки такой модели безопасности очевидны по множеству причин. Вот некоторые из них.
Вход в систему с использованием пароля
Для того, чтобы повысить стойкость паролей ко взлому и облегчить жизнь пользователям, всё больше провайдеров услуг начинают применять технологии биометрической идентификации для организации доступа к своим системам. Благодаря этим технологиям пользователям не нужно запоминать пароли. Для идентификации применяется распознавание голоса, лица, отпечатков пальцев или радужной оболочки глаза. У биометрической идентификации, в сравнении с традиционными системами безопасности, есть определённые особенности.
Работу биометрической системы распознавания личности можно разделить на пять шагов.
Схема работы системы биометрического распознавания пользователей
В биометрических системах аутентификации самые ценные для атакующего данные – это биометрические шаблоны пользователей. Эти шаблоны могут быть представлены в виде необработанных данных, полученных с датчиков, в виде набора уже извлечённых из исходных данных характерных признаков, хранящихся в памяти, в виде хранящихся в базе данных зарегистрированных биометрических эталонов.
В целом, если биометрическое приложение спроектировано без учёта необходимости правильной защиты данных, злоумышленник может получить доступ к необработанным данным или к наборам характерных признаков. Это может быть сделано в ходе атаки при выполнении приложения, с использованием руткита или другой вредоносной программы. Кроме того, атакующий может задействовать атаку при неработающем приложении, в ходе которой он способен получить зарегистрированные в системе биометрические шаблоны, если они сохранены, например, на локальном диске.
Более того, атакующий может перехватить поток данных на шине данных на пути от датчика к процессору. Так же, используя камеру или микрофон в непосредственной близости от пользователя, злоумышленник может собрать его биометрические данные – такие, как фотографии лица или записи голоса для того, чтобы в дальнейшем использовать для выполнения атаки повторного воспроизведения.
Виды атак на приложение биометрического распознавания пользователей
С точки зрения разработки сервиса биометрического распознавания личности, принципы проектирования приложения должны предусматривать сквозную защиту данных для того, чтобы обеспечивать безопасную обработку конфиденциальной информации. Эти принципы включают в себя следующее.
Платформа Intel предлагает различные аппаратные технологии для удовлетворения требований к безопасности приложений, выполняющих биометрическую верификацию пользователей. Рассмотрим три набора технологий Intel, направленных на решения этой задачи: Intel Software Guard Extensions, Intel Virtual Machine Extensions и Intel Identity Protection.
Биометрические технологии идентификации пользователей используются всё более и более широко. Всё дело в том, что они обеспечивают повышенный уровень безопасности. Так как биометрия основана на уникальных характеристиках человека: лице, голосе, отпечатках пальцев, радужной оболочке глаза, идентификационные данные очень сложно украсть. Биометрические технологии занимают место традиционных способов аутентификации, использующих пароль, они упрощают и ускоряют работу.
Однако, с широким внедрением биометрических технологий в различные устройства, разнородность и открытость платформы привели к появлению некоторых потенциальных угроз. Одна из таких угроз заключается в том, что разработчикам необходимо учитывать то, насколько безопасным будет работа биометрической идентификации на различных терминальных устройствах. В частности, нужно учесть следующее.
Для того, чтобы спроектировать надёжно защищённые решения, разработчики могут воспользоваться технологией создания доверенной среды исполнения (Trusted Execution Environment, TEE).
TEE – это изолированная, доверенная среда исполнения приложения, отделённая от обычной, так называемой «функционально богатой среды исполнения» (Rich Execution Environment, REE). В соответствии со спецификацией [1] Global Platform TEE System Architecture, на самом высоком уровне, TEE – это среда, отвечающая следующим требованиям.
Intel Software Guard Extensions (Intel SGX) позволяет разработчикам создавать и разворачивать защищённые приложения на открытых платформах. Это – новые возможности архитектуры микропроцессоров Intel, включающие в себя набор новых инструкций и изменения в механизме доступа к памяти.
Intel SGX работает, выделяя участки памяти, хранящие код и данные, защищённые на аппаратном уровне. Защищённые области памяти называются анклавами (enclave). Данные, хранящиеся в анклаве, доступны только коду, который расположен в нём же. Код из анклава можно вызывать с помощью специальных инструкций. Анклав может быть создан и загружен как Windows DLL.
Защищённая среда исполнения, встроенная в процесс
В соответствии с моделью проектирования [2] Intel SGX, приложения, использующие эту технологию, состоят из двух частей: недоверенной и доверенной. Когда приложение исполняется, оно вызывает специальные инструкции Intel SGX для того, чтобы создать анклав, который размещается в доверенной области памяти. Когда вызывается доверенная функция, код выполняется внутри анклава, незашифрованные данные доступны только внутри анклава. Доступ к ним извне полностью закрыт. После того, как доверенная функция завершит работу, данные анклава останутся в доверенной памяти.
Схема работы приложения, использующего Intel SGX
Цель технологии Intel SGX заключается в том, чтобы позволить организовать высокоуровневую защиту тех частей приложения, доступ к которым посторонних должен быть полностью исключён. В частности, защищёнными оказываются важные данные, которыми оперирует приложение.
Поверхность атаки, или доверенная вычислительная база (Trusted Computing Base, TCB), при таком подходе уменьшается до самого приложения и процессора, на котором исполняется его код. Даже вредоносное ПО, которое способно обойти операционную систему, VMM, BIOS, драйверы, не может украсть то, что авторы приложения хотят сохранить в секрете.
Уменьшение поверхности атаки при использовании Intel SGX
Прежде чем мы обсудим предложение по повышению безопасности биометрических систем, мы должны обратить внимание на то, что именно надо защищать.
К конфиденциальным данным о биометрических характеристиках пользователя следует относиться бережно: обрабатываются ли они в приложении, хранятся ли на диске, пересылаются ли удалённому сервису.
Модули обработки биометрических данных, в том числе – получение образцов, выявление характерных признаков, поиск совпадений, должны быть защищены от компьютерных вирусов и другого вредоносного ПО. Кроме того, нужно, чтобы выходные данные системы нельзя было подделать.
Мы предлагаем архитектурное решение, схема которого показана ниже.
Реализация стойкой ко взлому биометрической системы с использованием Intel SGX
Подсистема, выполняющая получение, обработку и сравнение биометрических данных, расположена внутри анклава Intel SGX, доверенной части клиента, и ответственна за действия над данными биометрических характеристик. Гарантируется предотвращение утечек данных и целостность программы во время её выполнения. Обычно подобные подсистемы реализуются в виде программных модулей. А программные реализации чего бы то ни могут быть взломаны, например – с помощью вредоносного ПО.
В предлагаемом архитектурном решении защищённая часть приложения, содержащая код и данные, загружается в анклав. И для кода, и для данных производится процедура вычисления контрольных показателей, так называемое «измерение» (measuring). Как только код приложения и данные будут загружены в анклав, они оказываются защищёнными от любого внешнего программного доступа. Таким образом, реализация алгоритмов обработки биометрической информации может считаться доверенной. При этом предлагаемое решение отличается высокими быстродействием и масштабируемостью, связанными с исполнением на центральном процессоре. Это особенно актуально для реализации тех частей биометрических систем, которым важна высокая производительность. Например – для функций распознавания биометрических данных.
Технология Intel SGX предлагает функцию для шифрования и защиты целостности конфиденциального содержимого анклава для хранения его за пределами анклава. Например – на диске, для того, чтобы приложение могло повторно использовать всё это позднее. Данные могут безопасно передаваться между анклавами с использованием так называемого Seal Key –аппаратного ключа, с помощью которого эти данные можно «запечатать». Seal Key уникален для CPU и для существующего окружения анклава. В комбинации с другими службами, такими, как Monotonic Counter или Trusted Time, которые предоставляет программное обеспечение платформы Intel SGX, это решение можно использовать для защиты от различных видов атак.
Monotonic Counter может использоваться для реализации политики безопасности, направленной на защиту от атаки повтором. Trusted Time можно использовать для применения политик безопасности, основанных на учёте времени. И то и другое – в виде «запечатанных» данных (Sealed Data).
Анклав ответственен за выполнение шифрования по выбранному для него алгоритму. Другими словами, разработчик может выбрать любую платформу шифрования, в соответствии с требованиями к безопасности системы. Таким образом, мы можем обеспечить хранение биометрических данных пользователя в анклаве и быть уверенными в том, что необработанные биометрические данные не будут доступны за пределами анклава, в недоверенной части приложения.
Иногда клиентская реализация биометрического распознавания нуждается в соединении с удалённым сервером для выполнения процедуры аутентификации с использованием облачной базы данных, а не локального хранилища. Сервер может убедиться в том, что он взаимодействует с клиентским ПО, которое было корректно загружено и инициализировано на платформе, поддерживающей Intel SGX, используя механизм аттестации (Attestation). То же самое касается и проверки подлинности биометрических данных. В рамках Intel SGX это – механизм, с помощью которого некая часть системы может удостовериться в том, что в пределах анклава, на поддерживающей подобную функциональность платформе, безопасно выполняется именно тот код, который там должен выполняться.
Для начала, этот модуль создаёт отчёт о подлинности клиентской части системы, который можно проверить, привязанный к конкретной платформе благодаря данным, записанным в CPU [3] на этапе производства. Кроме того, отчёт включает в себя сведения о пользователе, который исполняет сеанс биометрического распознавания. Сервер проверяет отчёт для того, чтобы убедиться в том, что он взаимодействует с устройством, которое поддерживает Intel SGX, и что пользователь имеет право доступа к системе. Клиент и сервер, при первом соединении, проводят сеанс инициализации, в ходе которого клиентской части системы безопасно передаются «запечатанные», секретные данные, с использованием соответствующих возможностей Intel SGX.
Эти данные, которые могут быть распечатаны только приложением, которое их запечатало, используются для установления безопасных соединений с сервером в будущем, без необходимости постоянно подтверждать подлинность клиентской платформы. Среди таких данных – «соль», ключ шифрования, политика безопасности, сертификат, и так далее. После этого данные биометрических характеристик и результаты аутентификации можно передавать по безопасному каналу связи между клиентом и сервером.
Атака на динамические данные – это одна из наиболее распространённых методологий нападения на системы. Эту технику могут использовать руткиты и другое вредоносное ПО для перехвата заданных функций и создания копии данных или их модификации в памяти во время выполнения программы. В случае с биометрическим распознаванием пользователей, вредоносный код может получить биометрические данные, взятые с датчиков, и шаблон биометрических данных зарегистрированного пользователя из памяти.
Традиционный механизм программной защиты от несанкционированного доступа к памяти недостаточно надёжен. И защищаемый, и вредоносный код выполняются с одним и тем же уровнем привилегий (ring-0 или ring-3). Таким образом, вредоносный код может легко повлиять на защищаемый код для того, чтобы отключить защиту.
Атакующий может повлиять на модуль защиты и получить доступ к буферу с конфиденциальными сведениями
Virtual Machine Extensions (VMX) – это набор инструкция, который поддерживает виртуализацию аппаратного обеспечения [4] процессора. Основной принцип его работы заключается в следующем.
Вот, как выглядят взаимоотношения между аппаратным обеспечением, операционной системой и приложением с включенным и выключенным режимом VMX.
Различные реакции на системные вызовы при включенном и выключенном режиме VMX
Используя функцию ловушки VMX, реализованную на аппаратном уровне, механизм защиты памяти, основанный на аппаратной виртуализации, может обеспечить более быстродействующую и безопасную защиту памяти, чем без его использования. Основная идея здесь заключается в том, чтобы поместить модуль мониторинга памяти, основанный на VMM, между операционной системой и аппаратным обеспечением. При загрузке приложения осуществляется построение таблицы распределения памяти для областей, содержащих доверенный код и данные. После построения таблицы, во время любых операций доступа к памяти, VMM может перехватить эти операции, затем сравнить адрес инструкции доступа к памяти (memory access instruction address, EIP) и адрес памяти в предварительно построенной таблице. Затем модуль защиты памяти может выяснить, допустима ли эта операция и обратиться к соответствующей процедуре.
Хищение персональных данных – это растущая мировая проблема, которая касается и отдельных людей, и компаний. Здесь требуется простое в использовании, но безопасное решение, так как взломщики постоянно изобретают способы добывания имён пользователей и паролей. И они никогда не останавливались и не остановятся в поиске новых методов кражи этих данных. Если вы – клиент некоей организации и взаимодействуете с ней через Интернет, или обычный пользователь компьютера, технология Intel Identity Protection (Intel IPT) способна дать вам сильные средства, которые помогут избежать угрозы хищения персональных данных. В частности, речь идёт о возможности привязки физического устройства пользователя к учётным записям служб в Интернете, которые задействуют возможности Intel IPT.
По традиции, в рамках двухфакторной аутентификации используются одноразовые пароли (one-time password, OTP). В такой схеме комбинируется то, что пользователь знает (имя пользователя и пароль), и то, что у него есть (как правило – токен, аппаратный ключ безопасности, или брелок, который генерирует шестизначные числа, действительные лишь на коротком промежутке времени и доступные по запросу).
В случае использования Intel IPT в рамках технологии OTP, уникальные шестизначные числа, используемые лишь один раз, генерируются каждые тридцать секунд с помощью встроенного процессора, который защищён от несанкционированного доступа и изолирован от операционной системы. Так как идентификационные данные обрабатываются внутри защищённого физического устройства, их нельзя взломать с помощью вредоносного ПО или удалить.
Применение технологии Intel IPT при взаимодействии клиента и сервера, аутентификация на основе одноразового пароля
Если в вашей компании уже применяется двухфакторная аутентификация, вы знакомы с различными неудобствами и организационными проблемами, возникающими при использовании аппаратных токенов.
Intel IPT с поддержкой OTP – это встроенный в набор микросхем системы аппаратный токен. При этом поставщика решения в области информационной безопасности можно выбрать самостоятельно. Встроенный токен позволяет отказаться от использования отдельного физического устройства, что упрощает, например, двухфакторную процедуру подключения к VPN. При этом Intel IPT работает практически без задержек, упрощая и облегчая повседневную работу пользователей.
Благодаря применению технологии Intel ITP с поддержкой OTP, Intel предоставляет аппаратный корень доверия, доказательство подлинности конкретного устройства, основанного на процессоре Intel, различным веб-сайтам, финансовым организациям, сетевым службам. Все эти службы получают дополнительную гарантию того, что в учётную запись входит тот, кто имеет на это право, а не вредоносная программа или злоумышленник. Системы, использующие Intel IPT с OTP, предоставляют дополнительную защиту персональных данных и методы верификации транзакций, которые могут быть использованы в решениях, реализующих различные схемы многофакторной аутентификации.
Мы рассказали о том, как технологии Intel SGX, VMX и IPT способны повысить уровень защищённости биометрических систем. Но на этом наш рассказ не окончен. В следующий раз читайте об Intel AES-NI, Secure Key и Intel RealSense.
Автор: Intel
Источник [5]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/bezopasnost/118580
Ссылки в тексте:
[1] спецификацией: http://www.globalplatform.org/specificationsdevice.asp
[2] моделью проектирования: https://software.intel.com/sites/default/files/332680-002.pdf
[3] CPU: https://software.intel.com/en-us/articles/using-innovative-instructions-to-create-trustworthy-software-solutions
[4] аппаратного обеспечения: http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html
[5] Источник: https://habrahabr.ru/post/281989/
Нажмите здесь для печати.