April 15, 2020

Телеметрия

Телеметрия или кибершпионаж?

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

Первый путь − проведение опросов, когда вы задаете пользователю вопросы, и он дает свои ответы. В этом случае пользователь предоставляет данные, только если он этого хочет, и только ту информацию, которой готов поделиться. Так делаем мы, собирая информацию о Panic Button.

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

Второй путь − автоматизированный сбор телеметрических данных. Он имеет неоспоримые преимущества перед анкетированием: о пользователе поступает вся необходимая информация, включая версию его системы, параметры и версию программы, месторасположение, использование ресурсов, например загрузку процессора, и многое другое. Можно получить точный список всех используемых опций, время использования, технические данные обо всех ошибках и падениях приложения. Дальше эта информация передается на сервер и там автоматически обрабатывается. Здесь возникает ключевой вопрос: где тонкая грань между сбором телеметрии и кибершпионажем, привязывать ли информацию к конкретному пользователю или просто обезличивать данные? Например, если приложение собирает информацию обо всех запущенных вами сеансах и отправляет ее без привязки конкретно к вам − это телеметрия.

Если данные каким-либо образом привязаны к вам − это кибершпионаж. Приложение может знать ваш email, но он абсолютно не нужен для сбора данных с целью улучшения приложения, зато он необходим для адресного сбора информации о вас. По нашему мнению, телеметрия должна собираться без какой-либо идентификации пользователей, будь то email или IP-адрес.

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

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

Да, проследив запросы, мы можем установить, куда они уходят и как часто, но этой информации явно недостаточно. Итак, мы не можем проверить, что точно отправляет программа и как хранит. Как правило, это описывается в политике конфиденциальности, но, как вы догадываетесь, там может быть указана неверная информация.

Примеры сбора телеметрических данных

Давайте разделим телеметрию в зависимости от источника: сбор данных со стороны программ, операционных систем и девайсов. Разумеется, сами девайсы ничего не собирают, этим занимаются предустановленные разработчиком программы. Начнем с программ и возьмем для примера браузер Mozilla Firefox.

Боюсь, вы мне не поверите, потому я просто скопирую данные, которые браузер передает о вас по умолчанию, с официального сайта. Данные о взаимодействии: Firefox отправляет нам данные о вашем взаимодействии с этим браузером (количество открытых вкладок и окон, количество посещенных страниц, число и тип установленных дополнений, продолжительность сеансов и т. д.) и об использовании функций Firefox, предлагаемых компанией Mozilla или нашими партнерами (таких, как поиск Firefox и поиск по партнерским ссылкам).

Технические данные: Firefox отправляет нам данные о версии и языке браузера, операционной системе устройства и конфигурации оборудования, объеме памяти, сбоях и ошибках, результатах автоматизированных процессов, таких как обновление, безопасный браузинг или активация. Когда Firefox отправляет нам данные, временно передается и ваш IP-адрес (как элемент журналов нашего сервера).

И это Mozilla – компания, которая поставила в основу открытость, уважение к персональным данным и личной жизни. О том, как следят за вами другие браузеры, мы расскажем в главе, посвященной браузерам, и поверьте, вас эта информация вряд ли порадует. Рассмотрим сбор телеметрических данных со стороны операционных систем. Вы, вероятно, ждете информацию о Windows, но о ней мы будем достаточно говорить в рамках курса, а в данном случае я приведу в пример macOS Yosemite.

Вышедшая летом 2014 года macOS Yosemite передавала на сервера Apple все запросы в поиске Spotlight с местоположением пользователя. Например, если пользователь искал на своем компьютере Mac какой-то файл, Apple знала, когда его искали, где и как он назывался. Передача происходила в процессе ввода данных, поэтому пользователю достаточно было просто начать вводить информацию, и она отправлялась в Apple вместе с координатами.

Говоря о ноутбуках, хотелось бы отметить Lenovo, но то, что делает китайский производитель, относится, скорее, к главе о вредоносном программном обеспечении, здесь же речь пойдет о ноутбуках HP. В 2017 году пользователи ноутбуков HP начали жаловаться на программу под названием HP Touchpoint Analytics Service.

Она была установлена в принудительном порядке пользователям и начала сбор телеметрических данных. Так, между делом пользователи ноутбуков HP стали участниками масштабной программы сбора телеметрических данных. Каких? А вот это загадка, но есть сведения, что записываются даже нажатия клавиш. К счастью, данная проблема решалась удалением программы.

Как защищаться от сбора телеметрических данных

Есть несколько путей защиты: радикальный, условно радикальный и путь доверия. Радикальный путь предполагает отказ от программного обеспечения, собирающего о вас информацию. Не всегда он применим и подходит пользователю. Условно радикальный путь предполагает блокировку отправки данных приложением на сервера.

В данном случае определяются и блокируются IP-адреса, на которые приложение шлет запросы, либо приложению целиком блокируется возможность отправлять какие-либо уведомления. Подобным способом мы будем ограничивать Windows 10 в непомерном желании знать о вас все. В данном курсе мы научим вас проводить анализ запросов приложений и их блокировку при помощи firewall.

Это эффективный метод, но он имеет один минус: не все приложения можно заблокировать, например, вам вряд ли понравится работа браузера без доступа к сети или отсутствие важных обновлений… Путь доверия предполагает отключение сбора и отправки данных в настройках программы. Часто это дает прекрасный результат, этим способом мы будем ограничивать сбор данных браузером Mozilla Firefox. Но не стоит его переоценивать.

Например, в 2017 году стало известно, что Google собирает данные о местоположении смартфонов Android даже при активированных настройках приватности. Координаты определялись на основе координат ближайших сотовых вышек и отправлялись на сервера Google.