«Неслышимые частоты»: появился файрвол блокирующий ультразвуковые cookies

    Ученые из университета прикладных наук им. св. Пёльтена в Австрии разработали мобильное приложение, которое умеет детектировать акустические cookies и блокировать отслеживание устройства с их помощью. Система получила название SoniControl.

    Под катом — расскажем, как работает приложение.


    / Flickr / Pete Sheffield / CC

    Почему потребовалось приложение


    В 2015 году компания SilverPush представила технологию ultrasonic cross-device tracking. Она позволяла рекламным щитам или баннерам в общественных местах (в торговых центрах, на стадионах и др.) издавать высокочастотные звуки, которые улавливались микрофонами мобильных устройств. Получая сигнал от маяка, смартфон показывал владельцу рекламу соседнего магазина или кинотеатра.

    В свое время проблемами, связанными с новой технологий, обеспокоились даже в американском Центре демократии и технологий (CDT) и Федеральной торговой комиссию США (FTC). Суть заключается в том, что приложения могли расшифровать эти сигналы и определить, что в текущий момент видит пользователь и на какие сайты заходит. Ученые из Брауншвейгского технического университета обнаружили, что действия пользователей таким образом отслеживали порядка двухсот Android-приложений. В результате Google даже пришлось удалить часть из них из Play Store.

    Группа исследователей из Университетского колледжа Лондона (UCL) и Калифорнийского университета в Санта-Барбаре (UCSB) также показала, что с помощью ультразвуковых маячков пользователей можно деанонимизировать.

    Разработчики проекта SoniControl обеспокоились тем, что это ставит под угрозу конфиденциальность пользовательских данных. Поэтому и разработали свой ультразвуковой файрвол.

    Как работает SoniControl


    SoniControl реализован на C++ и Java. Во время работы приложение создает модель фонового ультразвукового шума, а затем отслеживает его изменения (то есть ищет посторонние сигналы). Для этого сигнал преобразуется из временного представления в частотное, что дает возможность оценить амплитуду сигнала для каждой частоты. Сама обработка включает в себя следующие этапы:

    1. Фильтруются слышимые частоты (для этого применяется фильтр верхних частот с пороговым значением 17 кГц);
    2. Нормализуется спектрограмма;
    3. Нормализованная спектрограмма добавляется в фоновый буфер, который приставляет собой список спектрограмм.

    Как только фоновый буфер заполняется (на это уходит примерно 10 секунд), начинается анализ по следующему алгоритму:

    1. Вычисляется «текущая фоновая модель» — это значения амплитуды для каждой частоты;
    2. Построенная модель сравнивается с нормализованной спектрограммой (для этого используется расстояние Кульбака — Лейблера);
    3. Если вычисленное расстояние большое, то эта частота помещается в «медианный буфер»;
    4. При заполнении этого буфера, вычисляется его медиана. Если полученное значение равно 1, значит была зафиксирована ультразвуковая коммуникация. В этом случае приложение предложит пользователю заблокировать ультразвуковой сигнал;
    5. Если был обнаружен ультразвуковой сигнал, то фоновая модель «очищается» от последних записей, чтобы система не посчитала модифицированный сигнал нормой.


    / Flickr / U.S. Department of Agriculture / PD

    Как еще можно защититься


    Специалисты ИТ-индустрии считают, что для полноценной защиты от отслеживания устройств с помощью ультразвука, необходимо начать разрабатывать отраслевые стандарты. «Как только всё будет стандартизировано, разработчики ОС для мобильных устройств смогут реализовать API, которые запретят приложениям получать доступ к микрофону без необходимости», — отмечает Василиос Мавродис (Vasilios Mavroudis) из UCL.

    Пока стандартов нет, можно воспользоваться другими способами защиты. Один из них — ограничить доступ к микрофону для приложений с помощью патча для Android. Он дает пользователям возможность блокировать работу отдельных приложений с ультразвуковым спектром. А для серфинга в интернете можно установить расширение для браузера Google Chrome, выполняющее похожие функции.

    Также можно воспользоваться приложением похожим на SoniControl — UltraSound Detector, однако оно помогает просто обнаружить ультразвуковое вмешательство, а не блокирует его.



    Дополнительное чтение в блоге на сайте VAS Experts:




    Специализация VAS Experts — внедрение сервисов для управления и анализа интернет-трафика:

    СКАТ DPI | ИС СОРМ | BRAS | DLP-систем | Наши кейсы | Мероприятия | Новости


    VAS Experts 172,81
    Российский разработчик DPI-системы СКАТ
    Поделиться публикацией
    Комментарии 61
      +7
      А всего-то стоило добавить в Андроид нормальную систему управления доступом к ресурсам, в частности, к микрофону.
        +7
        Но тогда ведь несанкционированный съём данных с пользователей усложнится встократ. Это огромные расходы для агрегаторов такой информации. Да и зачем? Что вообще холоп может скрывать от пана?
          +3
          Любому приложению в Android давно можно запретить доступ к камере и микрофону без всяких сторонних патчей. Патч запрещает доступ конкретно к ультразвуковой части спектра.

          А ходить постоянно с включённым «звуковым файерволлом» — прощай батарея, полагаю.
            +5
            проблема в том что приложению может легально потребоваться разрешать доступ к микрофону, примерно 0.1% времени его использования, но все остальное время это приложение может собирать данные нелегально.

            Отличный пример, после установки lineageos (то кажется фича самого android 7+) приложение стало запрашивать доступ к ресурсу в момент использования а не только во время установки и позволяет не сохранять выбор для будущих случаев (раньше это достигалось специальным приложением, требующим рут)

            Так вот, стал замечать что сторонние приложения, какая-нибудь яндекс-карта или яндекс-такси, вываливает просьбу доступа к уточненным координатам устройства… во время входящего звонка. ну просто мегадушки, я бы это не заметил, если бы сразу разрешил доступ к GPS приложению карты, ведь это логично… но кто же знал что таким образом яндекс будет тырить информацию о моем местонахождении во время звонков.

            На самом деле что бы вы не запретили, приложения могут общаться друг с другом и передавать данные, так достаточно одного приложения, имеющего доступ к критичному оборудованию, а остальные будут получать доступ через него (не удивлюсь если появятся фреймворк и плюшки для сторонних разработчиков).
              0
              Отличный пример, после установки lineageos (то кажется фича самого android 7+) приложение стало запрашивать доступ к ресурсу в момент использования

              Это фича LOS (PrivacyGuard или что-то такое), работающая параллельно со штатной андроидной системой прав.
                0
                В Android 6+ разрешения могут запрашиваться по мере необходимости, приложение должно быть собрано с поддержкой API 23 — developer.android.com/training/permissions/requesting

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

                Видимо, google понял всю опасность перехода пользователей к PrivacyGuard и решил, что пусть лучше пользователь имеет иллюзию контроля, чем обманывает приложения (и google) более мощными средствами. Из-за введения нативного запроса прав по требованию, PrivacyGuard перестал развиваться.
                  –1

                  это было в Симпсонах, тьфу ты, в MiUI еще какой-то древней 4й версии, позже выпилили, иначе сертификацию Гугла бы не прошли.

                    0
                    MIUI 9, андроид 5. Варианты разрешений для приложений — разрешить/запретить/спрашивать.
                  0
                  Так вот, стал замечать что сторонние приложения, какая-нибудь яндекс-карта или яндекс-такси, вываливает просьбу доступа к уточненным координатам устройства… во время входящего звонка. ну просто мегадушки, я бы это не заметил, если бы сразу разрешил доступ к GPS приложению карты, ведь это логично
                  Для этого у Яндекс-карт должно быть активное разрешение «Телефон», а зачем вы ему его дали? Я проверил на своих картах — потенциально запрос на «Телефон» может появиться, но я ещё ни разу его не активировал.
                    0
                    яндекс такси, функция звонков нужна, к сожалению
                    картам я право не давал
                    полагаю через него яндекс карты и узнают о них, другого объяснения у меня нет
                      +1
                      яндекс когда-то писали, что для экономии ресурсов телефона их приложения запускают общий фоновый компонент, который занимается мониторингом активностей и сбором метрик. если это по-прежнему так, то нужное разрешение может быть получено через любое их приложение.
                  +1

                  Аппаратный фильтр ВЧ вряд ли истощит батарею.

                    0
                    Аппаратному фильтру легко найти противодействие. Например, перейдя с ультразвука на инфразвук, или на неслышимые пакеты по 10 мс на частоте 800 Hz. А исправить уже ничего нельзя.

                    Все эти фильтры — костыль, проблему нужно решать на другом уровне.
                      –1
                      Если вообще её можно решить. Для большинства в этом нет никакой проблемы.
                  +2
                  Приложения порой отказываются запускаться, не получив доступ к желаемому ресурсу.
                  Надо, чтобы кроме стандартного ресурса в системе можно было создать несколько эмуляторов (эмулятор микрофона, берущий данные из аудиофайла, эмулятор камеры — из видеопотока, эмулятор g-сенсора, эмулятор gps, и даже отдельное дерево файловой системы, неотличимое от настоящего).
                  Ну и возможность на лету переключить доступ с фейкового сенсора на настоящий.
                    +3
                    Был такой проект XPrivacy. Но сейчас заброшен, Android 7 и выше не поддерживается.
                      0
                      xprivacylua же, от того же разработчика. Но размер пива вырос (про версия за 10 евро).
                      +1
                      *sigh* а потом приложения научатся детектить фальшивку и так же отказываться запускаться :(
                        0
                        Вечная борьба щита и меча. В любом случае, обойти детектор фальшивки явно проще, чем заставить работать какой-нибудь калькулятор, который отказался запускаться потому, что ему не дали доступ к адресной книге, SMS, GPS, файловой системе и интернету.
                    +1
                    Как только всё будет стандартизировано, разработчики ОС для мобильных устройств смогут реализовать API, которые запретят приложениям получать доступ к микрофону без необходимости», — отмечает Василиос Мавродис (Vasilios Mavroudis) из UCL.

                    Давно же реализовано.

                      0
                      Особенно круто, что всякие уроды облучают людей на улице ультразвуком, достаточно мощным, чтобы на улице докричаться десяток метров до твоего смартфона. У нас ручным УЗ-гомогенизатором по технике безопасности нужно пользоваться в наушниках и не распахивая пасть — для зубной эмали тоже вредно. А тут установки явно помощнее. Животные, наверное, вообще в ужасе от такого.
                        0
                        Уверены, что мощнее? У гомогенизаторов мощность от 50 Вт до 16 кВт.
                          0
                          Ну я же про ручной лабораторный, который с дремель размером) 16 кВт — это я не знаю что за гомогенизатор такой. Промышленная шаровая мельница, что ли?
                          В любом случае это вредно.
                        0

                        Шутите или просто знаний не хватает?
                        УЗ-гомогенизатор всяко серьёзней каких-то динамиков будет. Плюс мощность не забудьте поделить на квадрат расстояния.
                        В общем, опасности для здоровья не представляет, все вопросы именно по privacy.

                          +1
                          Вот тоже интересно — как эта технология уживется с летучими мышами например.
                          Странно вообще что защитники животных этой технологией не обеспокоились раньше защитников приватности.
                            0
                            Летучие мыши возле торговых центров?
                              0
                              Ну летучие мыши — практически городские животные. Не знаю как сейчас… давненько летними вечерами вверх не смотрю, но лет 25 назад, в детстве, помню что вечерами они все время воланчик от бадминтона атаковали.
                              Чердаки и насекомые… и то и другое в городах водится.
                                0
                                Я как раз смотрю регулярно.
                                Возможно, мы про разные города и разные торговые центры. Хотя пожалуй, вы правы. Несколько южнее Москвы такое вполне может происходить.
                                  0
                                  У меня в Самаре кот домой такую приносил, отпустил, так как они комарами питаются.
                                    0
                                    Когда-то мне повезло участвовать в их учете. Жаль, фотографий не сохранилось.
                          0
                          Ерунда какая-то. Может кто нибудь сквозную АЧХ тракта телефона дать?
                            0
                            20 кГц, думаю, легко.
                              0
                              а я думаю что нет. В телефонных сетях 3400 Гц достаточно. Хорошо, с целю записи просто разговоров и прочего могли оставить до 15 кГц. Зачем выше?
                                0
                                гм, 20 кГц однако слышит хорошо, проверил
                                  0
                                  не на всех базовых станция поддерживаются такие кодеки
                                  старые например точно нет
                                    0

                                    Вы о чем? Я просто на один телефон поставил генератор программу, включил 20 кГц. На второй — программу что в конце статьи указана. И слышит однако. Меня только это интересовало.

                                  0
                                  Зачем выше?
                                  Маркетинг. Та же гонка, что за мегапикселями в камере. И ставят много микрофонов, чтобы писать видео с «hi-res» «3d» звуком. Кто-то ради маркетинга пытается писать больше каналов, чем стерео, с 4 микрофонов.

                                  Сейчас это только флагманы, а через несколько лет будет стандартом, как стали им FullHD-экраны.
                                0
                                Можно измерить в домашних условиях при помощи программы RightMark Audio Analyzer (RMAA), 2-х AUX кабелей и более-менее нормальной звуковой карты(Creative, Asus).
                                  0

                                  Не очень понимаю как именно. Для начала микрофоны в смартах выдают сразу цифру в PDM. Проще пойти прямым путем — может кто либо показать запись с микрофона андроида, где есть следы УЗ? Очевидно что запись должна быть хотя бы с 96 кГц Fds

                                    0
                                    Все верно, дал маху, не выйдет. Понадобится еще пьезоизлучатель…
                                    RMAA сама генерирует тестовый сигнал, а потом его анализирует на входе. И как раз на звуковушках чуть посерьезней верхний порог 96-192КГц.
                                    Попробую на неделе поэкспериментировать с обычным генератором частот и пьезоизлучателем, если будет время.
                                      0
                                      так где для анализа то возьмете сигнал аналоговый?
                                      0
                                      В качестве генератора можно использовать Ардуину, а маленький пьезоизлучатель есть в каждом 2-м компьютерном корпусе — «пищалка». Принцип можно погуглить — ультразвуковой отпугиватель комаров на ардуино.
                                  0

                                  Хм. Не вижу сложностей в обходе такого файрвола. Вполне можно ставить метки в звуковом диапазоне — например, маскируясь под шумы, примешанные к музыке (алгоритмы, используемые для CDMA в помощь). Или просто воспроизводя определённую мелодию.


                                  Т.е. единственный разумный вариант — давать permission на микрофон только доверенным приложениям и только на то время, на которое действительно нужно.

                                    +1
                                    Нужно не только залеплять изолентой камеру, но и затыкать дырки микрофона. Правда не знаю чем.
                                      0
                                      и не забыть что сейчас во всех практически смартах их два. Впрочем все равно сомневаюсь что они слышат ульразвук
                                    +1

                                    Ну вообще-то сервисы гугла давно уже по умолчанию сканируют вайфай и блютуз в фоновом режиме даже если они выключены "в целях улучшения [таргетинга]". Причем при снятии, эта галочка сама снова поставится при включении доступа к геопозиции, уж очень хитро там запрос составлен.

                                      0
                                      Не знаю, как сейчас. У меня старый телефон (андроид 2..4) — там он просто не позволяет включить GPS (в системе) не позволив ей отправлять что-то по сети. При этом для его функционирования это не требуется (без неё прекрасно всё работает). Правда там везде логика странная. При включении авиа-режима вырубается и GPS, но хоть работает, если принудительно включить.
                                      0
                                      Я что-то не понял — в современных смартфонах микрофон всегда включен, и приложения, которым это разрешено, могут свободно сканировать «эфир»?
                                        +1
                                        да
                                        и так СО ВСЕМИ разрешениями!
                                        например доступ к видеокамере (абсолютно незаметный), смс и телефонным звонкам (если будет платить автор приложения то вы даже и не узнаете про это, кроме как через детализацию звонков) и прочее.

                                        концепция требует доработки но гуглу это не нужно :( ведь это надо на уровне api приложений улучшать
                                          +1
                                          Подразумевается, что это для «ок, гугл» ))
                                            0

                                            "ок Гугл" при заблокированном смартфоне работает только на девайсов со специальным аппаратным чипом, насколько я помню. Он заточен именно на распознавании одного паттерна.

                                              0
                                              Специальные чипы — это скорее про Apple.
                                              А гугл-помощник накатывается на любой Android 5+

                                              Контрольный вопрос: приведите пример такого чипа (производитель + артикул).
                                                0
                                                Погуглил и обнаружил, что в некоторых android-устройствах есть такой чип (обычно упоминают Moto X), а в остальных устройствах всё на усмотрение производителя, но обычно микрофон не слушают при выключенном экране. А где-то есть своё решение, отвязанное от google — сервис Emy на Huawei, или Samsung voice.
                                          +2
                                          Шел 2048 год.
                                          Иван Петрович осознав степень тотальности контроля над его жизнью окончательно впал в уныние и решил это дело прекратить самым радикальным образом, наевшись снотворного.
                                          Его ультрафон через нейроинтерфейс уловил подозрительные флюиды головного мозга своего хозяина и вызвал МЧС и на всякий случай команду мстителей.
                                          Наш герой очнулся в белой, залитой белым светом комнате.
                                          «Я в раю, пронеслась шальная мысль»
                                          «Вы в операционной, сказал хирург. Вы больше не в состоянии заботиться о себе, поэтому мы вживим вам модуль безопасности, он будет следить за вашими действиями и контролировать их».
                                          «Теперь я знаю как выглядит ад, подумал ГГ.»
                                          Это была его последняя самостоятельная мысль.
                                          0
                                          А ведь это всё (если пользователь явно не согласился со сбором инфы) подпадает под новое определение «приборы, системы, комплексы, устройства, специальный инструмент и программное обеспечение для электронных вычислительных машин и других электронных устройств, независимо от их внешнего вида, технических характеристик, а также принципов работы, которым намеренно приданы качества и свойства для обеспечения функции скрытного (тайного, неочевидного) получения информации либо доступа к ней (без ведома ее обладателя)»»
                                            0
                                            Зашунтировать микрофон конденсатором, или фнч добавить, с частотой среза килогерц 8-12
                                              0
                                              А нет ли аппа для андроида, запрещающего всем другим аппам доступ к микрофону, камере, файловой системе и т.п. Если какой-то апп полез за доступом, чтоб выходил за экран диалог — такой-то полез за таким-то файлом — разрешить? [один раз] [всегда] [никогда]. Есть такое?
                                                0
                                                Приложения такого точно не будет, т.к. надо встраиваться в систему, а приложения работают с песочницах. Но возможны модификации прошивок. Например, ставится XPosed Framework и к нему модуль XPrivacy (увы, билды есть только для некоторых версий Android, а сейчас автор его не поддерживает).

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

                                              Самое читаемое