Android-приложения передают геолокацию рекламщикам через SDK

Android-приложения передают геолокацию рекламщикам через SDK

Android-приложения передают геолокацию рекламщикам через SDK

Мобильные приложения могут незаметно передавать точную геолокацию пользователей рекламным платформам и брокерам данных. Причём разработчики порой сами не знают, что включили этот цифровой пылесос, выяснил Electronic Frontier Foundation (EFF).

Проблема прячется в сторонних комплектах разработки — SDK, которые встраивают в приложения для рекламы и монетизации.

Если пользователь разрешает программе определять местоположение, такой модуль наследует её права и тоже начинает собирать координаты. Отдельного разрешения для рекламного SDK ни Android, ни пользователь не видят.

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

 

Исследователи проверяли Android-приложения, анализируя их сетевой трафик и отслеживая, каким сервисам уходят координаты. Среди обнаруженных программ оказались два приложения, которые вместе скачали около 60 млн раз.

Изученные EFF рекламные SDK занимают лишь небольшую часть рынка, но их владельцы заявляют об охвате миллиардов пользователей через десятки тысяч приложений. Поэтому потенциальный масштаб сбора геоданных может быть куда больше результатов одной проверки.

Дальше координаты способны отправиться к брокерам данных, которые составляют истории перемещений и продают их рекламодателям, государственным структурам, военным и спецслужбам, включая ФБР. Дополнительный бонус, которого никто не просил, — риск утечки или кражи такой базы.

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

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

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

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

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

 

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

 

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

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

 

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

 

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

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