Опубликована техника скрытия вредоносного кода в анклавах Intel SGX

Группa исслeдoвaтeлeй изо Грaцскoгo тexничeскoгo унивeрситeтa (Aвстрия), рaнee извeстнaя рaзрaбoткoй тexники aтaки NetSpectre и мeтoдa эксплуaтaция уязвимoсти в DRAM-пaмяти чeрeз лoкaльную сeть, прoдeмoнстрирoвaлa (PDF) мeтoд скрытия врeдoнoснoгo кoдa близ пoмoщи изoлирoвaнныx aнклaвoв Intel SGX и организации контроля ради основной системой из выполняемого в анклаве заключение, в обход накладываемых анклавом ограничений. Напомним, по какой причине технология SGX (Software Guard Extensions) появилась в процессорах Intel Core шестого поколения (Skylake) и предлагает серию инструкций, позволяющих отводить. Ant. сливать приложениям пользовательского уровня закрытые области памяти - анклавы, начинка которых не может быть прочитано и изменено пусть даже ядром и кодом, выполняемым в режимах ring0, SMM и VMM. Изобличить управление коду в анклаве невозможно традиционными функциями перехода и манипуляциями с регистрами и стеком - во (избежание передачи управления в анклав применяется намеренно созданная новая инструкция, выполняющая проверку полномочий. Рядом этом помещённый в анклав код может приспособлять классические методы вызова для обращения к функциям в утробе анклава и специальную инструкцию для вызова внешних функций. Пользу кого защиты от аппаратных атак, таких ни дать ни взять подключение к модулю DRAM, применяется зашифровывание памяти анклава. Указанная возможность позволяет огибать ограничения, налагаемые контролирующей безопасность прослойкой, такие словно доступ к памяти процессов и системным вызовам, и пустить из анклава код под прикрытием хост-процесса с доступом ко во всем ресурсам компьютера. Предложенный метод может приспособляться для скрытия вредоносной логики в анклаве либо размещения в анклаве эксплоитов для атак возьми уязвимые приложения. Размещённый в анклаве вредоносный адрес становится недоступен для анализа изо операционной системы и антивирусных приложений, же при этом может контролировать работу всей системы. Присутствие этом состояние внешнего окружения маловыгодный вызывает подозрений - в основной ОС выполняются только лишь легитимные программы, которые не содержат несомненно определённых вредоносных функций. Для организации работы вредоносной логики в окружении операционной системы применяется манера возвратно-ориентированного программирования (ROP, Return-Oriented Programming). Альфа и омега метода в том, что для формирования вредоносной логики используется существующий законный код обычных приложений и библиотек. Атакующий оперирует сделано имеющимися в библиотеках кусками машинных инструкций, завершающихся инструкцией возврата управления (равно как правило, это окончания библиотечных функций). Разработка вредоносной вставки сводится к построению цепочки вызовов подобных блоков ("гаджетов") угоду кому) получения нужной функциональности. Используя готовые блоки машинных инструкций (гаджеты) не запрещается организовать достаточно сложные операции, в книжка числе организовать работу условных операторов и циклов. Интересах доступа к памяти процесса из анклава используется техническое оснащение TAP (TSX-based Address Probing), использующая процессорные инструкции TSX (Transactional Synchronization eXtensions) для того определения виртуальных адресов, доступных пользу кого текущего процесса. Обнаружение кода в памяти позволяет открыть в нём "гаджеты" и построить цепочку их вызова пользу кого обеспечения нужной логики. Для совершения атаки остаётся начать передачу управления на построенную цепочку, же для этого требуется определить вразумительный на запись блок внешней памяти, затем чтоб сохранить в нём фиктивный кадр стека и локализовать связанные с атакой данные (payload). Ради поиска доступных на запись областей применяется расставленный вариант техники TAP, получивший название CLAW (Checking Located Addresses for Writability). Схема основан на формировании транзакции TSX с подстановкой операций дневник и её отмены после попытки календарь. Доступность на запись определяется в основании возвращённого транзакцией кода возврата. Отмечается, будто описанная техника SGX-ROP эффективно обходит такие методы защиты в духе ASLR, "канареечные" метки в стеке и детекторы ошибок рядом работе с памятью (address sanitizer). Колыбель: http://www.opennet.ru/opennews/art.shtml?num=50135