В аддоны Nano Adblocker и Nano Defender для Chrome добавили вредоносный код

В аддоны Nano Adblocker и Nano Defender для Chrome добавили вредоносный код

В аддоны Nano Adblocker и Nano Defender для Chrome добавили вредоносный код

Расширения для блокировки рекламы, которыми пользуются более 300 тысяч людей, незаметно сливали данные и пытались проникнуть в аккаунты пользователей в соцсетях. Оказалось, что проблема кроется во вредоносной составляющей, внедрённой несколько недель назад новым владельцем.

Разработчик аддонов Nano Adblocker и Nano Defender Хуго Сюй не так давно заявил, что больше не может поддерживать свой проект. По этой причине девелопер принял решение продать права на Chrome-версии расширений, доступные в соответствующем магазине — Chrome Web Store.

По данным самого Сюй, в общей сложности его аддоны загрузили более 300 тысяч пользователей. Однако новый «хозяин» расширений оказался куда менее порядочным, поэтому решил оснастить софт вредоносным кодом. О неприятной начинке рассказал Реймонд Хилл, создатель uBlock Origin.

Первым, на что Хилл обратил внимание, стала проверка запуска инструментов разработчика в браузере. Если пользователь открыл консоль, расширения отправляли файл «report» на сервер https://def.dev-nano[.]com/.

«Проще говоря, аддоны поверяют, используются ли инструменты разработчика, а если используются, тот как именно», — объясняет Хилл.

Помимо этого, сами пользователи отметили множество лайков на постах в Instagram, которые лично они не проставляли. Например, один из исследователей Калифорнийского университета в Сан-Диего заметил, что его браузер «лайкнул» более чем 200 фотографий непонятного Instagram-аккаунта.

В специальной ветке на площадке GitHub пользователи также пожаловались на несанкционированный доступ к своим учётным записям в социальных сетях. Скорее всего, вредоносные аддоны пытались добраться до cookie-файлов аутентификации.

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

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

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

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

 

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

 

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

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

 

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

 

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

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