Научная статья на тему 'ИССЛЕДОВАНИЕ УЯЗВИМОСТЕЙ ДОВЕРЕННОЙ СРЕДЫ ИСПОЛНЕНИЯ ПРИЛОЖЕНИИ НА ОСНОВЕ ТЕХНОЛОГИИ TRUSTZONE'

ИССЛЕДОВАНИЕ УЯЗВИМОСТЕЙ ДОВЕРЕННОЙ СРЕДЫ ИСПОЛНЕНИЯ ПРИЛОЖЕНИИ НА ОСНОВЕ ТЕХНОЛОГИИ TRUSTZONE Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
449
122
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДОВЕРЕННАЯ СРЕДА ИСПОЛНЕНИЯ / УЯЗВИМОСТИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ / TRUSTZONE / ARM / TRUSTED EXECUTION ENVIRONMENT / SOFTWARE VULNERABILIIES

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Маркин Дмитрий Олегович, Хо Тхай Чунг

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

THE VULNERABILY ANALYSIS OF A TRUSTED APPLICATION EXECUTION ENVIRONMENT BASED ON TRUSZONE TECHNOLOGY

The paper discusses the main vulnerabilities of the trusted application execution environment based on TrustZone technology, as well as restrictions that reduce the likelihood of information security threats being implemented in the application execution process.

Текст научной работы на тему «ИССЛЕДОВАНИЕ УЯЗВИМОСТЕЙ ДОВЕРЕННОЙ СРЕДЫ ИСПОЛНЕНИЯ ПРИЛОЖЕНИИ НА ОСНОВЕ ТЕХНОЛОГИИ TRUSTZONE»

The article presents the results of a retrospective analysis of the development of domestic radio relay communication technologies with the specification of the main stages of development of means and complexes of radio relay stations for special (dual) purposes. The role of scientific schools in the field of radio relay communication is shown and promising directions of its development are presented.

Key words: radio relay communication, radio relay communication line, radio relay station, antenna-feeder devices.

Dmitry Alexeevich Antropov, candidate of technical sciences, docent, senior researcher, vnkantropov@mail. ru, Russia, Moscow, Academy of military Sciences

УДК 004.056.53

ИССЛЕДОВАНИЕ УЯЗВИМОСТЕЙ ДОВЕРЕННОЙ СРЕДЫ ИСПОЛНЕНИЯ ПРИЛОЖЕНИИ НА ОСНОВЕ ТЕХНОЛОГИИ

TRUSTZONE

Д.О. Маркин, Х.Т. Чунг

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

Ключевые слова: доверенная среда исполнения, уязвимости программного обеспечения, TrustZone, ARM.

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

В сложившихся геополитических обстоятельствах доверие к программно-аппаратным техническим решениям иностранного производства исключено. Однако в связи с отсутствием аналогичных отечественных технологий и элементной базы применяются специальные процедуры проверки соответствия (сертификация, аттестация) [1], позволяющие повысить степень доверия к подобным техническим решениям. Попытка применения концепции изолированного выполнения приложений на аппаратном уровне привела к появлению технологии доверенных сред исполнения ДСИ (TEE - Trusted Execution Environment). Соответственно аппаратные компоненты системы, обеспечивающие создание такой среды, называются средствами доверенной загрузки (TSM - Trusted Security Module).

В настоящее время известны следующие технологии построения ДСИ [2], основанные на использовании встроенных модулей в аппаратные элементы ЭВМ (элементы центрального процессора и/или аппаратной архитектуры):

1. Intel: Trusted Execution Technology: Intel Management Engine (Intel ME) [3, 4]; «Silent Lake» (процессоры Atom);

System Management Mode (SMM) [5] и Dynamic Root for Measurements (DRTM) [6,7];

Intel Software Guard Extensions (SGX) [8].

2. AMD:

Platform Security Processor (PSP) [9]; AMD Secure Execution Environment.

3. ARM: TrustZone [10].

4. RISC-V:

MultiZone™ Security Trusted Execution Environment. В работе [11] проведен сравнительный анализ и классификация наиболее распространенных аппаратных технологий для построения ДСИ. В [12] также рассмотрен ряд атак и способов защиты некоторых из этих технологий. Согласно [13] все технологии реализации ДСИ можно разделить на уровни их функционирования:

кольцо 3 - пользовательский уровень (Intel SGX [8], Sanctum [14]) кольцо 0 - уровень ядра (AEGIS [15]) кольцо -1 - уровень гипервизора (Bastion [16]) кольцо -2 - уровень специальных функций обеспечения и безопасности системы (SMM [17], TrustZone [10])

кольцо -3 - уровень сопроцессора и аппаратных компонентов вне процессора (TPM [18], Intel ME [19])

ARM TrustZone, встроенная в мобильные устройства, на протяжении многих лет доступна пользователям. Но на этапе её внедрения производители скрывали программный код встроенных средств безопасности, в результате чего эти средства было сложно проверить как на правильность работы, так и на защищенность обработки данных ими [20]. За последние несколько лет внимание к TrustZone заметно увеличилось. Были разработаны проекты по применению её в различных сферах деятельности: в мобильной [21], промышленной [22], автомобильной [23] и аэрокосмической [24]. Внимание к технологии поддерживается публикациями крупных компаний производителей технических деталей и рекомендаций для разработки [25].

Открытый характер технологии TrustZone позволяет проводить исследования в области повышения безопасности обработки данных, в отличие от проприетарных решений, рассмотренных выше. Наличие сертификата модуля «Аладдин TSM» [26, 27], основанного на использовании

317

технологии TrustZone, по требованиям ФСТЭК «Требования к средствам доверенной загрузки» и профилю защиты «ИТ.СД3.УБ2.ПЗ», это подтверждает.

1. Сравнительный анализ «доверенных» операционных систем, разработанных на основе технологии TrustZone. Технология TrustZone [10] - это основанная на возможностях аппаратного обеспечения среда доверенной загрузки, позволяющая создавать ДСИ. Данная технология формирует две среды исполнения приложений или так называемых в терминах компании ARM «мира». ДСИ на основе TrustZone называется в терминологии ARM - Secure World или Secure OS, «недоверенный» - Rich Execution Environment или Rich OS (iOS, Android, Sailfish, Tizen, Linux, Windows и др.). Порядок загрузки ЭВМ с процессором ARM представлен на рис. 1, а взаимодействие режимов ДСИ (Secure OS) и гостевой операционной системы (ОС) (Rich OS) - на рис. 2.

Доверенная ОС (ядро доверенной среды нсполнення(ГЕЕ))

«Безопасный мир» (Secure OS)

Гостевая ОС (ядро Linux)

«Нормальный мир» (Rich OS)

Рис. 1. Порядок загрузки в платформах на основе ARM-процессоров

Рис. 2. Взаимодействие доверенной и гостевой операционных систем в платформах на основе ARM-процессоров

Основные принципиальные особенности функционирования ДСИ следующие:

специализированный режим работы системы на основе флага процессора (бит NS - Non-Secure) и программных компонентов, реализующих технологию;

процессор - в режиме Non-Secure, если NS=1 (гостевая ОС, или Rich OS, или Normal World OS), если NS=0, то в доверенном, то есть Secure-режиме (доверенная ОС или Trusted OS, или Trusted Execution Environment (TEE));

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

В настоящее время существует около десяти [28] так называемых «доверенных» ОС, использующих функционал TrustZone. Ряд реализаций технологии TrustZone закрыты от исследователей (Trustonic TSP, Qual-comm QSEE).

Сравнительный анализ известных реализаций «доверенных» ОС приведен в таблице.

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

2. Исследование уязвимостей доверенной среды исполнения приложении на основе технологии TrustZone. Доверенные среды исполнения (ДСИ) - TEE (Trusted Execution Environment) являются одним из современных механизмом безопасности для защиты целостности и конфиденциальности приложений. В процессорах с архитектурой ARM реализация ДСИ носит название TrustZone [10]. Данная технология де-факто является аппаратной технологией реализации TEE в мобильных средах, а также промышленных системах управления, серверах, бюджетных бытовых устройствах. Наиболее распространенные реализации ДСИ являются разработки компаний Qualcomm, Trustonic, Huawei, Nvidia и Linaro [30].

Особенности обнаруживаемых в ДСИ на основе TrustZone уязвимо-стях, как правило, связаны:

с классическими ошибками проверки входных данных, такие как «переполнение буфера»;

многочисленными архитектурными недостатками систем ДСИ, такими как отсутствия технологии ASLR и других системных средств защиты приложений;

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

Одной из основ реализации ДСИ на основе технологии TrustZone является аппаратная логика шины AMBA, передающая сигнал о режиме функционирования (безопасное/небезопасное) и соответственно, определяющая режим доступа к ресурсам и компонентам ЭВМ.

Сравнительный^ анализ «доверенных» ОС

HauMeHOB ;ii IiIC Разработчик Особенности

GlobalPlatform Некоммерческое объединение компаний G&D Mobile Security, ARM, FIME, Trustonic, Gemalto, Oracle Промышленный стандарт TEE

General Dynamics OKL4 Open Kernel Labs Основана на ОС L4 (L3) - микроядре для систем i386. Разработано для IoT-устройств, с 2012 г. исходные тексты закрыты

Google Trusty TEE Google (только для ОС Android) Совместима с процессорами ARM и Intel Состоит из трех основных элементов: 1) ядро ОС (основано на Little Kernel); 2) драйвер ядра для управления взаимодействием TEE (Trusty) и REE (Android); 3) библиотека пользовательского пространства для управления взаимодействием REE (Android) и TEE (Trusty)

Linaro OP-TEE Исследовательская группа Linaro, STMicroelectronics Основана на GlobalPlatform 1.1. Проект с открытым исходным текстом. Состоит из трех основных элементов: 1) ядро ОС (модули управления памятью, прерываниями и др.); 2) клиент недоверенного пользовательского пространства - монитор-посредник между пространствами пользователя и ядра, библиотеки реализации GlobalPlatform TEE Client API; 3) драйвер ядра для выполнения транзакций между доверенной и недоверенной ОС

Jailhouse Siemens В общем смысле является не ОС, а монитором обращений к ресурсам Может быть запущен в составе ОС FreeRTOS, Erika3, Linux, Zephyr Поддерживает процессоры с архитектурами: ARMv8, ARMv7, x86_64 Требует наличия 2-х процессоров и 50 Мб оперативной памяти

QSEE [29] Qualcomm Secure Execution Environment Основана на General Dynamics OKL4. Закрытый исходный текст

seL4 Open Kernels labs Основана на ОС L4. Прошла формальную верификацию корректности методом определения спецификации функциональности и доказательства его корректности средствами строгого логического вывода. Открытый исходный текст. ОС реального времени для прошивок процессоров беспроводных модемов Qualcomm. Объем кода - около 9600 строк. Прерывания при исполнении кода отключены. Поддерживает процессоры ARM до ARMv8

TrustTonic Kinibi TrustTonic Закрытый исходный текст. Для ОС Android. Для устройств (смартфонов и планшетных компьютеров) Samsung. Обеспечивает шифрование данных и аутентификацию устройств. Трастлеты имеют доступ к сети Имеется набор разработчика (SDK), совместимый со стандартами GlobalPlatform API

Xen Университет Кэмбриджа Гипервизор микроядра. Поддерживает процессоры ARM и Intel

Xvisor Сообщество разработчиков Xvisor Гипервизор 1 -го типа. Открытый исходный текст. Имеет модуль управления памятью, планировщик, балансировщик нагрузки и потоков

Aladdin TSM [26] ЗАО «Аладдин Р.Д.» Поддерживает процессоры i.MX6 Сертифицирован по требованиям ФСТЭК к средствам доверенной загрузки уровня базовой системы ввода-вывода второго класса защиты «ИТ.СДЗ.УБ2.ПЗ» (сертификат № 4155) [27]

В последние годы в системах TEE широко распространенных мобильных устройств были выявлены критические уязвимости безопасности. Некоторые уязвимости могут быть использованы для получения привилегированного доступа к целевым устройствам и хранящейся в них конфиденциальной информации. Один из эксплоитов, позволяющие повысить привилегии в ДСИ производства Qualcomm описан в работе Гала Бениа-мини - эксплоит E4. Данная атака использует доступ к медиа-серверу Android, имеющему привилегированный доступ к драйверу ДСИ, после чего права доступа повышаются за счет доступа к драйверу Linux TrustZone посредством интерфейса SMC.

Эксплоит E1 использует ошибку в ядре LCB и способен исполнять произвольный код с уровнем привилегий EL1, и, как следствие, способен развивать атаку далее, вплоть до извлечения секретных ключей и расшифрования диска и разблокирования загрузчика устройства [31].

Эксплоит E6 позволяет злоумышленнику захватить управление ядром Linux, отправив специальный набор данных из приложения уровня пользователя в доверенных приложениях Widevine [32].

Анализ выявленных уязвимостей в ДСИ на основе TrustZone позволяет определить их основные источники, а также выявить принципиальные архитектурные проблемы.

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

Интерфейсы между компонентами ДСИ позволяют обмениваться достаточно большими объемами данных с привилегированными правами доступа достаточно большому количеству доверенных приложений - трас-тлетов, Например, в некоторых реализациях «доверенной» ОС Trustonic TEE их количество достигает 32, а в Widevine - 70.

Еще одной архитектурной проблемой являются чрезмерно большие объемы данных, которые передаются между доверенными и недоверенными средами. Например, в ДСИ Qualcomm размер буфера для таких данных достигает 1,6 Мб, причем этот объем может косвенно увеличиваться.

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

Отдельные проблемы безопасности связанны с появлением побочных каналов через средства отладки приложений. Такие каналы обнаружены в реализациях ДСИ компании Huawei [4]. В частности, используя системный вызов ДСИ, трастлет (доверенное приложение) выгружает соб-

321

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

Необходимо отметить, что во всех известных реализациях TrustZone отсутствует технология ASLR (за исключением ее ограниченной реализации в ДСИ Qualcomm), т.е. все доверенные приложения загружаются всегда по фиксированному адресу виртуального адресного пространства (0x1000). Кроме того, предоставляется общая библиотека (mcLib), загружаемая также по постоянному адресу для каждого трастлета (0x7D01000). Таким образом, любая уязвимость, обнаруженная в трастле-те, может быть использована без особых усилий при определении адреса загрузки трастлета в память. Кроме того, общая библиотека, используемая трастлетами, содержит значительный объем кода, которые служит источником гаджетов (данных) для идентификации системных вызовов и вызовов доверенных приложений.

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

В ДСИ имеются механизмы защиты от выполнения кода в областях памяти средствами бита WXN в регистре SCTLR, а также атрибута страниц памяти XN. Однако известные ДСИ реализуют данные механизмы защиты частично. Например, в ДСИ Trustonic отсутствует стек для данных cookie. Данные cookie хранятся как глобальные переменные из сегмента данных трастлета без буферных защитных страниц. Кроме того, компоновка данных в памяти реализована таким образом, что стек располагается в конце сегмента данных, а глобальные переменные перед ним, что создает идеальные условия для эксплуатации уязвимости типа «переполнение буфера».

В отличие от Trustonic в ДСИ Qualcomm создается стек с случайным расположением в адресном пространстве, однако механизм контроля целостности защитных буферных страниц также отсутствует.

В ДСИ Huawei отсутсвует и защита от выполнения данных, и защитные буферные страницы.

Общим недостатком ДСИ также является отсутствие аппаратного контроля целостности кода ДСИ, что ослабляет в целом уровень доверия к «доверенному» программному обеспечению.

Помимо рассмотренных архитектурных уязвимостей, в реализациях ДСИ встречаются многочисленные типовые программные ошибки, связанные:

с неправильной обработкой входных или выходных данных;

ошибками проверки имени;

ошибками, приводящими к возможности эксплуатации уязвимости типа «переполнение буфера»;

неправильной обработкой параметров.

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

Отдельно необходимо отметить проблему наличия уязвимостей в реализации модуля монитора безопасности, реализующего функции переключения между режимами ЭВМ. Использование таких ошибок злоумышленником приводить к получению им полного контроля над устройством. Взаимодействие с монитором безопасности осуществляется посредством инструкции SMC (Secure Monitor Call). Наиболее безопасной реализацией монитора безопасности является реализация ARM Reference Monitor (ATF), однако и в нем уже обнаруживались критические ошибки.

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

3. Модель уязвимостей типа «переполнение буфера» программного обеспечения для ЭВМ на базе процессоров с архитектурой ARM. К особенностям программных реализаций современных ДСИ на основе технологии TrustZone относятся отсутствие технологий предотвращения переполнения буфера, таких как ASLR, DEP и Stack Canaries [28]. В данных условиях задача проверки корректности операций копирования из/в память на предмет выхода за пределы выделенных буфером памяти ложится на разработчика и, в связи с чем могут возникать ошибки, приводящие к уязвимостям типа «переполнение буфера» ПО.

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

Для формализации модели уязвимости типа «переполнение буфера» определим следующие объекты программного обеспечения для ЭВМ на базе процессоров с архитектурой ARM:

I = {i\,Î2,..în} - последовательность элементарных инструкций

(функциональных объектов) приложения, т.е. алгоритм, где N - объем программы;

D = {da1, da 2,..., dav} - последовательность значений данных в памяти компьютерной системы, где V - объем памяти, а A = {a1,a2,...,aV} -

множество виртуальных адресов данных в оперативном запоминающем устройстве ЭВМ;

X = {^1, Х2,..., хщ } - последовательность входных значений данных для программы, где Nj - объем входных данных;

Y = {У1, У2,..., Ущ0 } - последовательность выходных значений данных для программы, где No - объем входных данных.

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

Jo - множество информационных объектов приложения;

Fo - множество функциональных объектов приложения;

Mр = {|р |х|a } , Mj ={^|j |х|a|} - множество возможных матриц принадлежности данных и множеств информационных и функциональных объектов, где тр |х|a| - матрица принадлежности функциональных объектов программы и данных, а mj |х|a| - матрица принадлежности

информационных объектов программы и данных.

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

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

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

324

Учитывая данные аспекты, можно определить атаку «переполнение буфера», как такую элементарную инструкцию i, при выполнении которой по адресам aj,...,aj+nx области данных будут заноситься такие входные

данные xk,...,xk+nx , которые нарушат установленные правила принадлежности матрицей m^ , где Nx - объем входных данных. Нарушение

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

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

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

Список литературы

1. Закалкин П.В., Мельников П.В. Система анализа программного обеспечения на предмет отсутствия недекларированных возможностей // Программная инженерия. 2G18. Т. 9. № 2. С. 69-75.

2. Маркин Д.О., Умбетов Т.К., Архипов М.А., Миначев В.М. Современные технологии построения доверенных сред исполнения приложений на уровне базовой системы ввода-вывода // Безопасные информационные технологии: Десятая международная научно-техническая конференция: сб. трудов. М.: МГТУ им. Н.Э. Баумана, 2G19. С. 281-286.

3. Ruan X. Platform Embedded Security Technology Revealed: Safeguarding the Future of Computing with Intel Embedded Security and Management Engine. Apress, 2G14. 272 p.

4. Wojtczuk R., Tereshkin A. Introducing Ring - 3 Rootkits, 2GG9. [Электронный ресурс] URL: http://invisiblethingslab.com/itl/Resources.html (дата обращения: 27.G5.2G2G).

5. Intel. 64 and IA-32 Architectures Software Developer's Manual / Intel Inc. [Электронный ресурс]. URL: http: //www.intel. com/ content/www/us/en/ processors/architectures-software-developer-manuals.html (дата обращения: 27.05.2020).

6. Intel. Trusted Execution Technology / Intel Inc. [Электронный ресурс]. URL: http://www.intel.com/content/www/us/en/trusted-execution-technology/trusted-execution-technology-security-paper.html (дата обращения: 27.05.2020).

7. Advanced Micro Devices / AMD Inc // AMD64 Architecture Programmer's Manual. Volume 2: System Programming, June 2015. [Электронный ресурс]. URL: http://support.amd.com/TechDocs/24593.pdf (дата обращения: 27.05.2020).

8. Costan V., Devadas S. Intel SGX explained. IACR Cryptology // ePrint Archive, 2016. P. 86.

9. AMD TATS BIOS Development Group. AMD Security and Server Innovation / eufi.org, 2013. [Электронный ресурс]. URL: http: //www.uefi.org/ sites/default/files/resources/UEFI PlugFest AMD Security and Server innovation AMD March 2013.pdf (дата обращения: 27.05.2020).

10. ARM. ARM Security Technology - Building a Secure System using TrustZone Technology / ARM Inc, 2019. [Электронный ресурс]. URL: http://infocenter.arm.com/help/topic/com.arm.doc.prd29-genc-009492c/PRD29-GENC-009492C trustzone security whitepaper.pdf (дата обращения: 27.05.2020).

11. Pinto S., Santos N. Demystifying Arm TrustZone: A Comprehensive Survey // ACM Computing Surveys, 2019. P. 36.

12. Fengwei Zhang SoK: A Study of Using Hardware-assisted Isolated Execution Environments for Security // HASP, 2016. June 18. P. 8.

13. Ning Z., Zhang F., Shi W., Shi W. Position paper: Challenges towards securing hardware-assisted execution environments. In Hardware and Architectural Support for Security and Privacy // ACM, 2017. Article 6.

14. Costan V., Lebedev I., Devadas S. Sanctum: Minimal hardware extensions for strong software isolation // Proceedings of the USENIX Security Symposium. USENIX Association, 2016. P. 857-874.

15. Suh G., Clarke D., Gassend B., M. van Dijk, Devadas S. AEGIS: Architecture for tamper-evident and tamper-resistant processing // Proceedings of the Annual International Conference on Supercomputing. ACM, 2003. P. 160171.

16. Champagne D., Lee R.B. Scalable architectural support for trusted software // Proceedings of the International Symposium on High-Performance Computer Architecture, 2010. P. 1-12.

17. Intel. 64 and IA-32 Architectures Software Developer's Manual / Intel Inc. [Электронный ресурс]. URL: http://www.intel.com/content/ en/processors/architectures-software-developer-manuals.html (дата обращения: 10.12.2019).

18. Trusted Computing Group // TPM Main: Part 1 Design Principles. Version 1.2, 2011. 116 p.

19. Ruan X. Platform Embedded Security Technology Revealed: Safeguarding the Future of Computing with Intel Embedded Security and Management Engine, 2014. 10 p.

20. Winter J. Experimenting with ARM TrustZone - Or: How I met a friendly piece of trusted hardware // Proceedings of the IEEE International Conference on Trust, Security and Privacy in Computing and Communications, 2012. P. 1161-1166.

21. Kostiainen K., Ekberg J., Asokan N., Rantala A. On-board credentials with open provisioning // Proceedings of the Symposium on Information, Computer and Communications Security. ACM, 2009. P. 104-115.

22. Fitzek A., Achleitner F., Winter J., Hein D. The ANDIX research OS - ARM TrustZone meets industrial control systems security // Proceedings of the IEEE International Conference on Industrial Informatics, 2015. P. 88-93.

23. Kim S.W., Lee C., Jeon M., Kwon H.Y., Lee H. W., Yoo C. Secure device access for automotive software // Proceedings of the International Conference on Connected Vehicles and Expo, 2013. P. 177-181.

24. Pinto S., Tavares A., Montenegro S. Space and time partitioning with hardware support for space applications // Data Systems in Aerospace, European Space Agency. ESA SP 736, 2016. 250 p.

25. Xilinx. Programming ARM TrustZone Architecture on the Xilinx Zynq-7000 All Programmable SoC. User Guide, UG1019 (v1.0) / XiLinx Inc. [Электронный ресурс]. URL: https://www.xilinx.com/support/ documentation/ user guides/ug 1019-zynq-trustzone.pdf (дата обращения: 10.12.2019).

26. Доверенная платформа для процессоров ARM // ЗАО «Аладдин Р.Д.». [Электронный ресурс]. URL: https://www.aladdin-rd.ru/catalog/tsm (дата обращения: 10.12.2019).

27. Сертификат соответствия ФСТЭК России № 4155 // ЗАО «Аладдин Р.Д.». [Электронный ресурс]. URL: https://www.aladdin-rd.ru/public/ files/tsm/sertifikat fstek 4155 tsm.pdf (дата обращения: 10.12.2019).

28. Raz Ben Yehuda, Roee Leon, Nezel Jacob Zaidenberg ARM Security Alternatives // Proceedings of the ECCWS 2019 (At Coimbra, Portugal, July, 2019). At Coimbra, 2019. P. 604-612.

29. Rosenberg D. QSEE TrustZone kernel integer overflow vulnerability // Proceedings of the Black Hat Conference, 2014.

30. Cerdeira D., Santos N., Fonseca P., Pinto S. SoK: Understanding the Prevailing Security Vulnerabilities in TrustZone-assisted TEE Systems // Con-ferense IEEE Symposium on Security and Privacy, San Francisco, CA, January 2020. 17 p.

31. Extracting Qualcomm's KeyMaster Keys - Breaking Android Full Disk Encryption (Jun 2016), 2016, accessed: April 25th 2019. [Online]. [Электронный ресурс]. URL: https://bits-please.blogspot.com/2016/06/ extracting qualcomms- keymaster-keys.html (дата обращения: 15.04.2020).

327

32. Di Shen Attacking your «Trusted Core». Exploiting TrustZone on Android / BlackHat USA, 2015. [Электронный ресурс]. URL: https://www. blackhat.com/ docs/us-15/materials/us-15-Shen-Attacking-Your-Trusted-Core-Exploiting-TrustZone-On-Android.pdf (дата обращения: 15.04.2020).

Маркин Дмитрий Олегович, канд. техн. наук, сотрудник, [email protected], Россия, Орёл, Академия ФСО России,

Хо Тхай Чунг, сотрудник, trunght@,gmail. com, Россия, Орёл, Академия ФСО

России

THE VULNERABJLY ANALYSIS OF A TRUSTED APPLICATION EXECUTION ENVIRONMENT BASED ON TRUSZONE TECHNOLOGY

D.O. Markin, H.T. Trung

The paper discusses the main vulnerabilities of the trusted application execution environment based on TrustZone technology, as well as restrictions that reduce the likelihood of information security threats being implemented in the application execution process.

Key words: trusted execution environment, software vulnerabiliies, TrustZone, ARM.

Markin Dmitry Olegovich, candidate of technical sciences, employee, mdoaacadem. msk. rsnet. ru, Russia, Oryol, Academy of Federal Security Guard Service of the Russian Federation,

Ho Thai Trung, employee, trunght89@,gmail. com, Russia, Oryol, Academy of Federal Security Guard Service of the Russian Federation

УДК 629.7; 681.7

МЕТОДИКА РАСЧЕТА ПОРОГОВОЙ МОДУЛЯЦИОННОЙ ХАРАКТЕРИСТИКИ ЦИФРОВЫХ ОПТИКО-ЭЛЕКТРОННЫХ СИСТЕМ ДИСТАНЦИОННОГО ЗОНДИРОВАНИЯ ЗЕМЛИ

А. С. Молчанов

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

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

Одной из важных характеристик, применяемых при анализе пространственного разрешения цифровых оптико-электронных систем (ЦОЭС) дистанционного зондирования Земли (ДЗЗ), является пороговая

i Надоели баннеры? Вы всегда можете отключить рекламу.