Уязвимости в Dell BIOS актуальны для миллионов XPS, Inspiron, Vostro

Уязвимости в Dell BIOS актуальны для миллионов XPS, Inspiron, Vostro

Уязвимости в Dell BIOS актуальны для миллионов XPS, Inspiron, Vostro

Компания Dell пропатчила прошивку UEFI BIOS, устранив уязвимости, позволяющие выполнить произвольный код с высокими привилегиями. Пользователей призывают как можно скорее произвести апгрейд.

По словам авторов трех из пяти опасных находок, уязвимости CVE-2022-24415, CVE-2022-24416, CVE-2022-24419, CVE-2022-24420 и CVE-2022-24421 появились из-за неадекватной проверки данных, вводимых пользователем. Виновником всех этих проблем является кодовый модуль UsbRt — сложный компонент прошивки BIOS, при реализации которого разработчики часто допускают ошибки (эксперты Binarly предупреждали об этом еще шесть лет назад).

Уязвимости проявляются при работе процессора в режиме управления системой (System Management Mode, SMM). Режим SMM обычно используется для управления конфигурированием и энергопитанием, а также для программной эмуляции устаревшего периферийного оборудования.

Переход в этот режим, инициализируемый BIOS, осуществляется при помощи специальных прерываний SMI. Получив этот сигнал, процессор сохраняет своё текущее состояние в специальной области памяти (SMRAM) и запускает код SMM. Последний выполняется с самыми высокими привилегиями и незаметно для ОС, что открывает хорошую возможность для злоупотреблений.

Как оказалось, отсутствие надлежащей валидации пользовательского ввода в этом случае позволяет проводить атаки на устройства Dell. Локальному пользователю с недобрыми намерениями для этого потребуется только клавиатура или мышь; при успешной отработке эксплойта злоумышленник сможет выполнить любой код с высокими привилегиями. Аналогичная уязвимость была недавно найдена в UEFI-прошивке InsydeH2O производства Insyde Software.

В Dell оценили опасность всех выявленных проблем в 8,2 балла CVSS — как высокую. Их наличие подтверждено для устройств 45 моделей, в том числе для ноутбуков XPS, Alienware, Inspiron и Vostro, а также для шлюзов Edge Gateway 3000. Обновления с патчами вышли 10 марта, пользователям настоятельно рекомендуется их установить в кратчайшие сроки.

Поскольку современные инструменты поиска уязвимостей не способны обнаружить дефекты в прошивке BIOS, эксперты Binarly советуют вендорам таких продуктов убрать модуль UsbRt из будущих обновлений, чтобы сократить площадь атаки. Этот код, по мнению исследователей, слишком сложен, его трудно обезопасить надлежащим образом, и при его использовании приходится все время учитывать риски.

Зачем Яндекс Go создал отдельный язык для расчёта стоимости поездок

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

Как объяснили разработчики в статье на Хабре, прайсинг работает не только при заказе машины.

Он пересчитывает стоимость при смене маршрута или способа оплаты, завершении поездки, обращении в поддержку и проверке данных аналитиками. Цена при этом может быть фиксированной, интервальной или считаться по таксометру.

 

Сначала сервисы параллельно собирают параметры поездки: тарифную категорию, геозоны, скидки, повышенный спрос и дополнительные услуги. Зависимости между источниками выстраиваются в граф, а запросы выполняются асинхронно на базе userver. Если некритичный источник не ответил, весь расчёт не падает.

 

Сам алгоритм раньше можно было бы держать в C++, но он меняется в среднем дважды в неделю. Выкатка сервиса на 50 подов занимает около 40 минут, а лес динамических конфигов быстро превратил бы код в музей условных операторов.

Поэтому Яндекс разработал собственный DSL. В нём есть условия, функции, неизменяемые значения и fold вместо циклов. Правила собираются в последовательную цепочку: каждое преобразование получает текущую цену и параметры, а возвращает новый результат с метаданными. Грамматику описали через ANTLR 4, а верификатор Z3 проверяет, что программа не выдаст некорректную цену.

 

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

 

В итоге прайсинг превратился в отдельную платформу, которой уже пользуются Такси, Доставка и сервис зарядки электромобилей.

RSS: Новости на портале Anti-Malware.ru