Под катом — расскажем, как работает приложение.
/ Flickr / Pete Sheffield / CC
Почему потребовалось приложение
В 2015 году компания SilverPush представила технологию ultrasonic cross-device tracking. Она позволяла рекламным щитам или баннерам в общественных местах (в торговых центрах, на стадионах и др.) издавать высокочастотные звуки, которые улавливались микрофонами мобильных устройств. Получая сигнал от маяка, смартфон показывал владельцу рекламу соседнего магазина или кинотеатра.
В свое время проблемами, связанными с новой технологий, обеспокоились даже в американском Центре демократии и технологий (CDT) и Федеральной торговой комиссию США (FTC). Суть заключается в том, что приложения могли расшифровать эти сигналы и определить, что в текущий момент видит пользователь и на какие сайты заходит. Ученые из Брауншвейгского технического университета обнаружили, что действия пользователей таким образом отслеживали порядка двухсот Android-приложений. В результате Google даже пришлось удалить часть из них из Play Store.
Группа исследователей из Университетского колледжа Лондона (UCL) и Калифорнийского университета в Санта-Барбаре (UCSB) также показала, что с помощью ультразвуковых маячков пользователей можно деанонимизировать.
Разработчики проекта SoniControl обеспокоились тем, что это ставит под угрозу конфиденциальность пользовательских данных. Поэтому и разработали свой ультразвуковой файрвол.
Как работает SoniControl
SoniControl реализован на C++ и Java. Во время работы приложение создает модель фонового ультразвукового шума, а затем отслеживает его изменения (то есть ищет посторонние сигналы). Для этого сигнал преобразуется из временного представления в частотное, что дает возможность оценить амплитуду сигнала для каждой частоты. Сама обработка включает в себя следующие этапы:
- Фильтруются слышимые частоты (для этого применяется фильтр верхних частот с пороговым значением 17 кГц);
- Нормализуется спектрограмма;
- Нормализованная спектрограмма добавляется в фоновый буфер, который приставляет собой список спектрограмм.
Как только фоновый буфер заполняется (на это уходит примерно 10 секунд), начинается анализ по следующему алгоритму:
- Вычисляется «текущая фоновая модель» — это значения амплитуды для каждой частоты;
- Построенная модель сравнивается с нормализованной спектрограммой (для этого используется расстояние Кульбака — Лейблера);
- Если вычисленное расстояние большое, то эта частота помещается в «медианный буфер»;
- При заполнении этого буфера, вычисляется его медиана. Если полученное значение равно 1, значит была зафиксирована ультразвуковая коммуникация. В этом случае приложение предложит пользователю заблокировать ультразвуковой сигнал;
- Если был обнаружен ультразвуковой сигнал, то фоновая модель «очищается» от последних записей, чтобы система не посчитала модифицированный сигнал нормой.
/ Flickr / U.S. Department of Agriculture / PD
Как еще можно защититься
Специалисты ИТ-индустрии считают, что для полноценной защиты от отслеживания устройств с помощью ультразвука, необходимо начать разрабатывать отраслевые стандарты. «Как только всё будет стандартизировано, разработчики ОС для мобильных устройств смогут реализовать API, которые запретят приложениям получать доступ к микрофону без необходимости», — отмечает Василиос Мавродис (Vasilios Mavroudis) из UCL.
Пока стандартов нет, можно воспользоваться другими способами защиты. Один из них — ограничить доступ к микрофону для приложений с помощью патча для Android. Он дает пользователям возможность блокировать работу отдельных приложений с ультразвуковым спектром. А для серфинга в интернете можно установить расширение для браузера Google Chrome, выполняющее похожие функции.
Также можно воспользоваться приложением похожим на SoniControl — UltraSound Detector, однако оно помогает просто обнаружить ультразвуковое вмешательство, а не блокирует его.
Дополнительное чтение в блоге на сайте VAS Experts:
Комментариев нет:
Отправить комментарий