Об этой работе компании Binarly, специалисты «Лаборатории Касперского» упоминали на прошлой неделе: исследователи нашли нетривиальный и довольно опасный способ атаки на ПК путём подмены логотипа, сохраняемого в UEFI — прошивке, ответственной за первоначальную загрузку компьютера.

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

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

В наиболее печальном сценарии можно использовать стандартные инструменты, предоставляемые сборщикам ПК и ноутбуков компаниями Phoenix, AMI и Insyde для загрузки в прошивку UEFI вредоносного изображения.

Демонстрация этого подменного логотипа при следующем включении ПК приведёт к выполнению произвольного кода, причём отследить такой «буткит» на уровне операционной системы будет максимально проблематично.

Демонстрация атаки

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

Процесс смены логотипа специально упрощён для того, чтобы вендорам было удобно кастомизировать «пользовательский экспириенс».

В данной атаке подменное изображение записывается в раздел EFI System Partition на жестком диске или SSD (например, он может сохраняться по пути /EFI/OEM/Logo.jpg). Оттуда логотип прошивается уже непосредственно в UEFI. При парсинге изображения с максимальными привилегиями в процессе загрузки и происходит выполнение произвольного кода.

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

При наличии такого уровня доступа к данным жертвы использовать ещё и LogoFAIL вроде бы не обязательно. Но такая расширенная атака на UEFI даёт одно важное преимущество: от устанавливаемого в ОС из UEFI вредоносного кода сложнее избавиться. Он сможет пережить даже переустановку системы и замену системного накопителя данных.

Как вообще были обнаружены уязвимости в обработчиках картинок? Начнём с того, что эта функциональность отличается в зависимости от вендора. Например, в прошивках UEFI компании Insyde присутствуют отдельные парсеры для форматов картинок BMP, PNG, JPEG, GIF и даже более экзотических TGA и PCX. В прошивках AMI и Phoenix присутствует один обработчик сразу нескольких форматов — либо только BMP, либо BMP, PNG и Jpeg.

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

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

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

В заключение обязательно нужно поднять тему разнообразных механизмов проверки целостности кода, защиты от запуска неразрешенного ПО и прочих средств безопасности, ради которых, собственно, и внедряли технологию UEFI. Здесь всё просто: для «удобства» логотип был выведен за пределы данных методов защиты. Там, где этого «удобства» нет, нет и проблемы.

Например, во многих компьютерах и ноутбуках Dell изображения, как и другие элементы UEFI, защищены технологией Intel Boot Guard. В некоторых устройствах защиты нет, но и функция программной замены логотипа заблокирована. В ноутбуках Apple на архитектуре Intel, использующих UEFI, логотип намертво зашит в код и не меняется.

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

Да, это делает данную атаку ещё более экзотической: специалисты «Лаборатории Касперского» ранее обсуждали вариант, в котором атакующий уже имеет максимальный доступ к ОС, а тут нужен доступ к “железу”.

Но преимущества успешной атаки настолько велики, что её проведение в реальности вполне вероятно. А подверженных устройств очень много — сотни наименований от таких производителей, как Dell, HP и Lenovo, выпущенных миллионами экземпляров.

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставь комментарий! Поделись своим мнениемx