Уязвимости ДСИ. УЯЗВИМОСТИ ДСИ СтёпигА_А. Уязвимости доверенной среды исполнения приложении на основе технологии trustzone
Скачать 12.58 Kb.
|
УЯЗВИМОСТИ ДОВЕРЕННОЙ СРЕДЫ ИСПОЛНЕНИЯ ПРИЛОЖЕНИИ НА ОСНОВЕ ТЕХНОЛОГИИ TRUSTZONE Доверенные среды исполнения (ДСИ) – TEE (Trusted Execution Environment) являются одним из современных механизмом безопасности для защиты целостности и конфиденциальности приложений. Однако это не означает отсутствие уязвимостей. Особенности обнаруживаемых в ДСИ на основе TrustZone уязвимостях, как правило, связаны: с классическими ошибками проверки входных данных, такие как «переполнение буфера»; многочисленными архитектурными недостатками систем ДСИ, такими как отсутствия технологии ASLR и других системных средств защиты приложений; отсутствием учета свойств аппаратного обеспечения на архитектурном и микроархитектурном уровне при реализации системной ДСИ, например, связанных с появлением побочных каналов передачи информации в кэш-памяти или взаимодействием с памятью реконфигурируемого оборудования, способного получать доступ к конфиденциальным данным. Одной из основ реализации ДСИ на основе технологии TrustZone является аппаратная логика шины AMBA, передающая сигнал о режиме функционирования (безопасное/небезопасное) и соответственно, определяющая режим доступа к ресурсам и компонентам ЭВМ. Сравнительный анализ «доверенных» ОС
В последние годы в системах TEE широко распространенных мобильных устройств были выявлены критические уязвимости безопасности. Некоторые уязвимости могут быть использованы для получения привилегированного доступа к целевым устройствам и хранящейся в них конфиденциальной информации. Один из эксплоитов, позволяющие повысить привилегии в ДСИ производства Qualcomm описан в работе Гала Бениамини – эксплоит E4. Данная атака использует доступ к медиа-серверу Android, имеющему привилегированный доступ к драйверу ДСИ, после чего права доступа повышаются за счет доступа к драйверу Linux TrustZone посредством интерфейса SMC. Эксплоит E1 использует ошибку в ядре LCB и способен исполнять произвольный код с уровнем привилегий EL1, и, как следствие, способен развивать атаку далее, вплоть до извлечения секретных ключей и расшифрования диска и разблокирования загрузчика устройства. Эксплоит E6 позволяет злоумышленнику захватить управление ядром Linux, отправив специальный набор данных из приложения уровня пользователя в доверенных приложениях Widevine. Еще одной архитектурной проблемой являются чрезмерно большие объемы данных, которые передаются между доверенными и недоверенными средами. Например, в ДСИ Qualcomm размер буфера для таких данных достигает 1,6 Мб, причем этот объем может косвенно увеличиваться. В некоторых реализациях ДСИ трастлеты могут отображаться в физической памяти не защищенного режима. Это относится в первую очередь к ДСИ Qualcomm. Просканировав физическое адресное пространство ядра Linux и исправив его, есть возможность ввести бэкдор в систему (эксплоит E6). В отличие от ДСИ Qualcomm в реализации ДСИ Trustonic отображение трастлета в физической памяти не защищенного режима исключено. Отдельные проблемы безопасности связаны с появлением побочных каналов через средства отладки приложений. Такие каналы обнаружены в реализациях ДСИ компании Huawei. В частности, используя системный вызов ДСИ, трастлет (доверенное приложение) выгружает собственную трассировку стека в общедоступную память, что дает возможность злоумышленнику изучать адресное пространство трастлета и в дальнейшем использовать для создания эксплоита. Такая же уязвимость обнаружена в ДСИ Trustonic. Необходимо отметить, что во всех известных реализациях TrustZone отсутствует технология ASLR (за исключением ее ограниченной реализации в ДСИ Qualcomm), т.е. все доверенные приложения загружаются всегда по фиксированному адресу виртуального адресного пространства (0x1000). Кроме того, предоставляется общая библиотека (mcLib), загружаемая также по постоянному адресу для каждого трастлета (0x7D01000). Таким образом, любая уязвимость, обнаруженная в трастлете, может быть использована без особых усилий при определении адреса загрузки трастлета в память. |