В iOS конфиденциальность является большой проблемой, особенно когда речь идет о встроенных браузерах. InAppBrowser.com — это новый веб-сайт, который позволяет увидеть, какие команды JavaScript внедряются в браузер in-app. Это может помочь вам защитить вашу конфиденциальность и безопасность при использовании браузеров in-app, сообщает Bizmedia.kz.
Как Instagram, TikTok и Facebook за нами следят
Недавно был опубликован отчет об опасностях использования мобильных приложений, в которых есть встроенные браузеры. Некоторые приложения, такие как Instagram, TikTok и Facebook, внедряют код JavaScript на сторонние веб-сайты. Это может стать причиной потенциальных рисков для безопасности и конфиденциальности пользователей.
Статья об уязвимостях Meltdown и Spectre, появившаяся в крупнейших СМИ по всему миру, вызвала большой резонанс в социальных сетях. Люди задавали распространенный вопрос об этих уязвимостях: что можно сделать, чтобы защитить себя от них?
Как выявили, что Instagram, TikTok и Facebook проводят слежку?
Инструмент, который использовали для анализа самых популярных iOS-приложений с встроенными браузерами, исключает все сторонние браузеры, использующие JavaScript для предоставления таких функций, как менеджер паролей. Apple требует, чтобы все сторонние браузеры для iOS использовали движок рендеринга Safari — WebKit.
Сайт InAppBrowser.com создан для того, чтобы пользователи могли видеть, что делают приложения внутри своих встроенных браузеров. Код, используемый для этого анализа, является открытым, поэтому сообщество может обновлять и улучшать его со временем.
Приложение | Опция открытия в браузере по умолчанию | Изменить страницу | Получение метаданных | JS | Обновленный |
TikTok | ⛔️ | Да | Да | .js | 2022-08-18 |
✅ | Да | Да | .js | 2022-08-18 | |
FB Messenger | ✅ | Да | Да | .js | 2022-08-18 |
✅ | Да | Да | .js | 2022-08-18 | |
Amazon | ✅ | Нет | Да | .js | 2022-08-18 |
Snapchat | ✅ | Нет | Нет | 2022-08-18 | |
Robinhood | ✅ | Нет | Нет | 2022-08-18 |
Приложения для iOS, имеющие собственный встроенный браузер, обычно предоставляют кнопку для открытия отображаемой в данный момент ссылки в браузере по умолчанию.
Приложение внедряет код JavaScript на сторонние веб-сайты для изменения их содержимого. Это включает в себя добавление кода отслеживания, внедрение внешних файлов JavaScript и создание новых элементов HTML.
Как происходит слежка?
TikTok
Когда вы открываете любую ссылку в приложении TikTok для iOS, она открывается в браузере приложения. Это означает, что пока вы взаимодействуете с веб-сайтом, TikTok, Facebook и Instagram могут записывать все клавиатурные вводы — включая пароли, информацию о кредитной карте и т.д. — и каждое нажатие на экран, например, на какие кнопки и ссылки вы нажимаете.
Никто не знает, для чего TikTok, Facebook и Instagram используют эту информацию, но с технической точки зрения это эквивалентно установке кейлоггера на сторонних сайтах.
Напрмиер, TikTok iOS подписывается на каждое нажатие на любую кнопку, ссылку, изображение или другой компонент на веб-сайтах, отображаемых в приложении TikTok. Используя функцию JavaScript, они могут получить подробную информацию об элементе, на который нажал пользователь, например, изображении (document.elementFromPoint). В список команд входит все: от получения координат щелкнутого элемента до получения его размеров.
Imstagram
Instagram не просто вставляет скрипт pcm.js на сторонние сайты — они также утверждают, что делают это для того, чтобы уважать выбор ATT пользователя и обеспечить дополнительную безопасность и пользовательские функции.
Код, о котором идет речь, помогает уважать выбор людей якобы в пользу конфиденциальности, агрегируя события из пикселей на веб-сайтах до их использования в рекламных целях или в целях измерения. Это предотвращает сбор личной информации без согласия людей.
После улучшения обнаружения JavaScript люди обнаружили некоторые дополнительные команды, которые выполняет Instagram. В частности, Instagram iOS записывает каждое нажатие на любую кнопку, ссылку, изображение или другой компонент на внешних веб-сайтах, отображаемых внутри приложения Instagram. Кроме того, Instagram iOS подписывается на каждый раз, когда пользователь выбирает элемент пользовательского интерфейса (например, текстовое поле) на сторонних веб-сайтах, отображаемых в приложении Instagram.
После обнаружения Instagram, TikTok и Facebook скрыли функции
Приложение подписывается на события JavaScript всех типов, поэтому трудно проверить, что происходит с данными.
Приложения могут скрыть свою деятельность JavaScript от этого инструмента, выполняя свой код в отдельном фрейме. Это означает, что веб-сайт не может обнаружить выполняемый код, но все еще имеет доступ к стороннему веб-сайту.
Приложения могут скрыть свои действия JavaScript от этого инструмента, выполняя свой код в определенном фрейме и мире контента. Это означает, что команды по-прежнему будут иметь доступ к стороннему сайту, но это будет незаметно для самого сайта.
Класс WKContentWorld действует как пространство имен для отделения веб-окружения вашего приложения от окружения отдельных веб-страниц или скриптов. Это помогает предотвратить любые конфликты, которые могут возникнуть, когда два скрипта изменяют различные переменные окружения. Любые изменения, которые вы вносите в DOM, видны всему коду скрипта, независимо от того, в каком мире содержимого он выполняется.
Как пользователь, вы можете проверить исходный код любого плагина браузера, поскольку вы контролируете сам браузер. Однако в случае с браузерами приложений у нас нет надежного способа проверить весь выполняемый код.
Поэтому, когда Meta или TikTok захотят скрыть команды JavaScript, которые они выполняют на сторонних сайтах, все, что им нужно будет сделать, это обновить свой JavaScript runner:self.evaluateJavaScript(javascript).
Опасны приложения со встроеным браузером
Приложениям, которым необходим доступ к собственным веб-сайтам для выполнения определенных операций, может быть полезно использовать браузер внутри приложения. Это поможет пользователям оставаться зарегистрированными и избежать необходимости повторного входа в систему каждый раз, когда они хотят завершить транзакцию. Например, приложение авиакомпании может не иметь встроенной функции выбора места для всего парка самолетов. Вместо этого они могут использовать уже имеющийся веб-интерфейс. Если бы они не могли внедрить cookie-файлы или команды JavaScript в веб-интерфейс, пользователю пришлось бы заново входить в систему при использовании приложения, только чтобы выбрать место.
Встроенные браузеры можно использовать для посещения веб-сайтов, которые не являются сторонними, например Instagram и TikTok. Однако при этом возникают проблемы с конфиденциальностью и целостностью данных. В частности, в браузерах приложений часто нет возможности использовать стандартный браузер по умолчанию вместо браузера приложения. Кроме того, в некоторых случаях (например, в TikTok) нет кнопки для открытия текущей страницы в браузере по умолчанию.
Приложения, за которые не стоит беспокоиться
Все приложения, представленные ниже, используют Safari или SFSafariViewController для просмотра внешних веб-сайтов, что соответствует рекомендациям Apple. SFSafariViewController обеспечивает большую безопасность и защиту от внедрения кода, чем вариант «Браузер по умолчанию». Таким образом, использование SFSafariViewController или Safari является наиболее безопасным способом просмотра веб-сайтов на устройствах iOS.
Приложение | Технология | Обновлен |
---|---|---|
SFSafariViewController | 2022-08-15 | |
SFSafariViewController | 2022-08-15 | |
Default Browser | 2022-08-15 | |
Slack | Default Browser | 2022-08-16 |
Google Maps | SFSafariViewController | 2022-08-15 |
YouTube | Default Browser | 2022-08-15 |
Gmail | Default Browser | 2022-08-15 |
Telegram | SFSafariViewController | 2022-08-15 |
Signal | SFSafariViewController | 2022-08-15 |
Tweetbot | SFSafariViewController | 2022-08-15 |
Spotify | Default Browser | 2022-08-15 |
Venmo | SFSafariViewController | 2022-08-15 |
Microsoft Teams | Default Browser | 2022-08-16 |
Microsoft Outlook | Default Browser or Edge | 2022-08-16 |
Microsoft OneNote | Default Browser | 2022-08-16 |
Twitch | Default Browser | 2022-08-16 |
Как защищаться?
Как пользователь приложения, вы можете воспользоваться функцией «Открыть в браузере», чтобы переключиться на более безопасный браузер. Если эта кнопка недоступна, вам придется скопировать и вставить URL-адрес, чтобы открыть ссылку в выбранном вами браузере. Если приложение не позволяет сделать даже это, вы можете нажать и удерживать ссылку на сайте, а затем воспользоваться функцией копирования. Если и эта функция недоступна, постарайтесь в этом браузере не вбивать свои персональные данные.
Если вы работаете в компании, где есть браузер in-app, используйте его только для собственных страниц и открывайте все внешние ссылки в браузере пользователя по умолчанию. Кроме того, предусмотрите настройку, позволяющую пользователям выбирать браузер по умолчанию, а не браузер в приложении. К сожалению, подобные изменения редко становятся приоритетными по сравнению с функциями, которые двигают метрики внутри технических организаций. Тем не менее, очень важно, чтобы люди рассказывали другим членам своей команды и своим руководителям о положительном влиянии принятия лучших решений о безопасности и конфиденциальности для пользователя. Эти изменения можно прозрачно рекламировать пользователям как возможность для дальнейшего укрепления доверия.
Важно отметить, как много изменений произошло в сфере конфиденциальности данных, но неясно, насколько эти изменения действительно улучшили ситуацию в отрасли и для пользователей. Многие технологические компании критикуют за «злоупотребление конфиденциальностью данных пользователей», но на самом деле они пытаются сбалансировать бизнес профессионалов, создать отличный пользовательский опыт и убедиться, что они уважают конфиденциальность и данные пользователей. Понятно, почему компании в первую очередь были заинтересованы в том, чтобы предоставить опыт работы с внешними веб-сайтами в приложении.
Большие компании не крадут пароли
Короче говоря, если вы используете встроенный браузер, приложение может видеть все, что вы делаете в Интернете. Однако перечисленные выше приложения на самом деле не крадут пароли, адреса и номера кредитных карт. Это лишь демонстрация того, как злоумышленники могут получить доступ к этим данным. Компании будут отслеживать любые данные, которые доступны им легально и бесплатно, не спрашивая разрешения пользователя.
Автор предполагает, что компании могут намеренно не использовать браузер по умолчанию на iPhone, чтобы отслеживать действия пользователей. Они отмечают, что компаниям сложнее создавать свои собственные браузеры для приложений, и предполагают, что для такого отслеживания может быть своя мотивация.
Сайт проверяет только один из многих сотен векторов атаки: Внедрение JavaScript из самого приложения. И даже для них, начиная с декабря 2020 года, разработчики приложений могут полностью скрывать выполняемые ими команды JavaScript, поэтому у нас нет возможности проверить, что на самом деле происходит в приложении.