Security Week 2350: подробности атаки LogoFAIL

Об этой работе компании Binarly мы уже упоминали на прошлой неделе: исследователи нашли нетривиальный и довольно опасный способ атаки на ПК путем подмены логотипа, сохраняемого в UEFI — прошивке, ответственной за первоначальную загрузку компьютера. Ранее была известна только общая идея атаки, а на прошлой неделе было опубликовано полноценное исследование (исходник, а также краткое описание в издании ArsTechnica).

d4od_bqqxsd6pxdgx4kfqhpgkrk.png


Если выражаться привычными в данной ситуации определениями, специалисты компании 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 уязвимости. Формально уязвимостей может быть и больше, так как подходов к эксплуатации каждой дыры может быть несколько.

fm5kl9t0xujl_dxmb_una1lv1ys.png


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

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

Даже если кастомизация логотипа запрещена в конкретной версии UEFI, разработчикам устройств и соответствующих прошивок все же желательно исправить уязвимость в парсерах. Ведь заменить логотип можно и в таком случае — путем перепрошивки микросхемы с кодом UEFI напрямую. Да, это делает данную атаку еще более экзотической: мы и ранее обсуждали вариант, в котором атакующий уже имеет максимальный доступ к ОС, а тут нужен доступ к железу. Но преимущества успешной атаки настолько велики, что ее проведение в реальности вполне вероятно. А подверженных устройств очень много — сотни наименований от таких производителей, как Dell, HP и Lenovo, выпущенных миллионами экземпляров.

Что еще произошло:

Одна из лучших историй этого года в сфере информационной безопасности посвящена «особенностям» работы поездов польского производителя при попадании на обслуживание к конкурентам. Исходный текст на польском языке является пересказом офлайн-презентации. Его отличный перевод опубликован на Хабре.

В начале декабря компания 23andme, предоставляющая услуги тестирования ДНК, сообщила о том, что неизвестные взломщики получили доступ к учетным записям примерно 14 тысяч пользователей. Речь не идет о новой атаке: этот инцидент произошел еще в октябре, сейчас просто уточнили количество пострадавших. И вины поставщика сервиса вроде бы нет: для кражи данных использовались логины и пароли из утекших баз данных, по методу credential stuffing. Есть одна проблема, существование которой позже подтвердила представительница 23andme: каждая учетка дает ограниченный доступ к данным «родственников» —, а под этим термином в сервисе понимается очень большое количество людей с небольшими совпадениями сегментов ДНК. Общий ущерб — почти семь миллионов контактов, причем для каждого пострадавшего можно установить связь между именем, почтой и национальностью, что представляет собой достаточно чувствительную информацию.

Важная статья опубликована в составе отчета «Лаборатории Касперского» об эволюции угроз в 2023 году. Текст посвящен влиянию искусственного интеллекта на кибербезопасность.

© Habrahabr.ru