В компоненте Поиск Windows нашли уязвимость нулевого дня

В компоненте Поиск Windows нашли уязвимость нулевого дня

В компоненте Поиск Windows нашли уязвимость нулевого дня

Новая уязвимость нулевого дня (0-day) в компоненте Поиск Windows (Windows Search) позволяет злоумышленники открыть окно, содержащее хранящиеся удалённо исполняемые файлы вредоносных программ. Для эксплуатации достаточно запустить документ Word.

Проблема кроется в обработке URI-протокола “search-ms“, который позволяет приложениям и HTML-ссылкам запускать настраиваемый поиск на устройстве. Чаще всего поисковые запросы «обращаются» внутрь устройства, однако Поиск Windows можно заставить запросить общие файловые ресурсы, расположенные на удалённых хостах. Для этого применяются кастомные заголовки.

Например, популярный набор утилит Sysinternals позволяет пользователю удалённо подключить live.sysinternals.com как сетевую шару, после чего запускать инструменты оттуда. В подобной схеме может использоваться следующий URI “search-ms“:

search-ms:query=proc&crumb=location:%5C%5Clive.sysinternals.com&displayname=Searching%20Sysinternals

Как видно из запроса, переменная “crumb“ определяет местоположение, а другая переменная — “displayname“ — устанавливает поисковой заголовок. В системах Windows 7, Windows 10 и Windows 11 можно вызвать окно поиска с помощью команды в Run или запуска в строке веб-браузера.

Есть и проблема такого метода эксплуатации: потенциальную жертву будет достаточно сложно заставить перейти по соответствующей ссылке, учитывая, что браузер выводит предупреждение.

 

Тем не менее основатель Hacker House и исследователь в области кибербезопасности Мэтью Хики нашёл способ задействовать брешь OLEObject в Microsoft Office вместе с “search-ms“, что в итоге позволило ему открыть окно удалённого поиска с помощью Word-документа.

Напомним, что другую 0-day в Microsoft Office начали использовать китайские киберпреступники из APT-группы TA413.

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

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

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

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

 

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

 

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

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

 

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

 

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

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