✅ 🔎
Прицел на личные данные. Что мобильная реклама может узнать о пользователе Android
•
🕹⚙️ В Google Play приложений, которые будут тебе показывать рекламу, больше 40%. Так что если у тебя смартфон на Android и ты пользуешься мобильными приложениями, то, скорее всего, ты понимаешь, о чем речь.
Используя такие приложения, ты запускаешь встроенный в них AdSDK, который подгружает со своего сервера рекламные объявления. И чаще всего это объявления MRAID, которые через javascript обращаются к нативным функциям твоего смартфона: например, при помощи mraid.storePicture() кешируют картинки во внешнем хранилище. Звучит небезопасно, правда?
• 📌 Бизнес-логика AdSDK часто непрозрачна для разработчика, который встраивает его в свое мобильное приложение. Программный код AdSDK работает с теми же привилегиями, что и приложение-носитель. Если носителю какие-то специальные разрешения не нужны, но они нужны AdSDK — носителю придется запросить их. Любой уважающий себя AdSDK затребует от тебя доступ к ID смартфона и геолокации, чтобы показывать тебе релевантные объявления.
• 🏳️ AdSDK-провайдеры вынуждены мириться с небезопасностью по многим причинам.
Несколько самых очевидных:
📲 между рекламодателем и твоим смартфоном может быть непредсказуемое число промежуточных звеньев;
♻️ объявления для показа выбираются динамически;
• ⚠️
на сегодняшний день не существует инструментов для гарантированной дезинфекции JS-кода.
• 🔑 Поэтому AdSDK-провайдеры рассматривают каждое объявление как потенциально злонамеренное и используют механизм защиты, который запрещает программному коду объявлений читать чужие файлы из внешнего хранилища твоего смартфона.
Этот запрет реализуется в два шага:
1. AdSDK помещает программный код каждого объявления в изолированный экземпляр встроенного браузера WebView и ограничивает набор разрешений, которыми этот экземпляр может пользоваться.
2. Доступ программного кода объявления к внешнему миру, в частности к локальным файлам внешнего хранилища твоего смартфона, регламентируется в соответствии с концепцией SOP — чтобы программный код объявления не мог читать из внешнего хранилища чужие файлы.
• 📄В данной статье узнаем об остальных технических моментах и примерах угроз
@SingleSecurity 🛡