Ряд браузеров не блокирует загрузку вредоносов методом drive-by-download

Ряд браузеров не блокирует загрузку вредоносов методом drive-by-download

Ряд браузеров не блокирует загрузку вредоносов методом drive-by-download

Некоторые браузеры до сих пор допускают атаки вида «drive-by-download» даже из, казалось бы, защищённых мест вроде ифреймов (iframes), изолированных в песочнице. Напомним, что при drive-by-download загрузка вредоносного файла происходит автоматически при посещении сайта (без всякого взаимодействия с жертвой).

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

Новый отчёт исследователей из компании Confiant показывает, что даже защищённая среда вроде изолированных ифреймов не защитит пользователя от drive-by-download при веб-сёрфинге.

Именно с этим столкнулись посетители сайта Boing Boing в январе. За drive-by-download отвечал вредоносный JavaScript-код, внедрённый в страницу взломанного ресурса. В результате этот код размещал на сайте ссылку, которая инициировала загрузку злонамеренного содержимого безо всякого участия пользователя.

После этого исследователи заинтересовались реализацией этого метода в случае с изолированными ифреймами. К счастью, как выяснили специалисты, тот же Chrome 83 блокировал подобные загрузки.

Microsoft Edge, который в качестве базы отныне использует Chromium, тоже показал себя неплохо. У Mozilla Firefox дела идут чуть хуже — браузер не блокирует кросс-сайтовые ифреймы и выдает диалоговое окно для загрузки файла.

Brave тоже не смог заблокировать загрузку потенциально вредоносного содержимого. Safari также пытается загрузить предложенный файл, однако в ходе тестирования браузер от Apple так и не смог довести дело до конца.

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

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

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

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

 

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

 

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

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

 

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

 

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

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