25 млн Android-устройств оказались заражены агентом Смитом

25 млн Android-устройств оказались заражены агентом Смитом

25 млн Android-устройств оказались заражены агентом Смитом

Исследователи зафиксировали новую вредоносную кампанию, атакующую устройства под управлением Android. По оценкам экспертов, около 25 миллионов Android-устройств уже заражены вредоносной программой, получившей имя «Agent Smith».

В ходе этих атак легитимные приложения подменяются злонамеренными копиями, которые отображают пользователю рекламные объявления. Саму программу Agent Smith пострадавшие скачивали из стороннего магазина приложений.

Злоумышленники предлагали пользователям утилиту для редактирования фотографий, игру и даже приложение для взрослых — каждая из этих программ содержала вредоносную составляющую.

Попав на устройство, приложение-приманка расшифровывается и устанавливает в систему «агента Смита».

Вредоносная программа пытается скрыть свое присутствие в системе, для этого в ход идет маскировка под утилиту от Google — например, Google Updater или «com.google.vending». Также приложение скрывает свою иконку от пользователя.

Следующим шагом вредонос проверяет, установлены ли на устройстве приложения из списка. Часть этого списка жестко закодирована в приложении, а другую часть зловред получает от командного сервера C&C.

Если «агент Смит» находит приложение из списка, он извлекает основной APK и добавляет рекламный модуль. После этого легитимная версия приложения подменяется рекламной. Пользователю при этом никаких уведомлений не выводится, то есть он не в курсе происходящего.

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

Жестко закодированный список приложений выглядит следующим образом:

  • com.whatsapp
  • com.lenovo.anyshare.gps
  • com.mxtech.videoplayer.ad
  • com.jio.jioplay.tv
  • com.jio.media.jiobeats
  • com.jiochat.jiochatapp
  • com.jio.join
  • com.good.gamecollection
  • com.opera.mini.native
  • in.startv.hotstar
  • com.meitu.beautyplusme
  • com.domobile.applock
  • com.touchtype.swiftkey
  • com.flipkart.android
  • cn.xender
  • com.eterno
  • com.truecaller

Подробный отчет о деятельности «агента Смита» исследователи компании Check Point опубликовали в блоге.

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

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

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

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

 

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

 

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

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

 

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

 

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

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