Группа специалистов по информационной безопасности получила привилегированный доступ (root) к телевизору Samsung и обнаружила, что в лицензионные игры, включая Pac-Man, встроен SDK компании Bright Data. Это программный компонент, который позволяет превратить телевизор в узел резидентной прокси-сети. Активация происходит не при установке, а позже - по удалённой команде с сервера. Результаты работы исследователи опубликовали в открытом отчёте.
Резидентные прокси - это сервисы, которые маршрутизируют чужой интернет-трафик через домашние IP-адреса реальных пользователей. Такая схема позволяет обходить системы блокировок и репутационные фильтры, потому что запросы приходят с "чистых" адресов, принадлежащих обычным провайдерам. С середины 2010-х годов рынок таких услуг активно растёт, а развитие искусственного интеллекта усилило спрос на массовый сбор данных через легитимные каналы. Сегодня среди операторов встречаются как компании с формальными политиками согласия, так и откровенно вредоносные проекты, использующие взломанные устройства.
Как показало исследование, в большинстве игр разработчика Play.Works, включая рекомендованный Samsung в разделе Editor's Choice Pac-Man, SDK Bright Data находился в спящем состоянии. Однако в одной из игр, 2048 Football Cup, серверная конфигурация содержала флаг, включающий этот компонент. После запуска игры пользователю показывали экран согласия, и при нажатии кнопки "принять" на телевизоре стартовал фоновый сервис, который продолжал работать даже после выхода из приложения. Таким образом, любой такой телевизор мог стать выходным узлом прокси-сети.
Особенность архитектуры игр Play.Works заключается в том, что сами приложения - это минимальная HTML-оболочка. Весь игровой код и настройки загружаются на лету с сервера play.works. Такая схема удобна разработчикам, так как позволяет исправлять ошибки без обновления приложения в магазине. Но она же делает бессмысленной традиционную проверку контента модераторами. Поведение программы может быть изменено в любой момент после публикации, и ни Samsung, ни Bright Data не могут гарантировать, что рецензировался именно тот код, который выполняется на устройстве.
Исследователи также проанализировали трафик, который проходил через их тестовый выходной узел. Для этого они перехватили данные, передаваемые по зашифрованному каналу, и изучили метаданные TLS-соединений. Большая часть запросов была направлена на LinkedIn, крупные интернет-магазины, видеосервисы и рекламные платформы. Это согласуется с заявленной деятельностью Bright Data - компания продаёт готовые наборы данных, собранные из открытых источников. Однако исследователи подчёркивают, что видели лишь небольшую часть трафика всей сети, поэтому полную картину оценить невозможно.
Для получения доступа к телевизору специалистам пришлось выпаять чип флеш-памяти и прочитать прошивку напрямую. Samsung активно защищает свои устройства от рутирования, в том числе ради защиты контента в стриминговых сервисах. Это же затрудняет любые независимые исследования безопасности. По оценке компании Spur, сеть Bright Data насчитывает около 9,5 миллиона выходных узлов, причём значительная их часть расположена в Норвегии. Bright Data, ранее известная как Luminati Networks, была основана как подразделение Hola VPN, которое уже привлекало внимание скандалами вокруг ботнет-трафика.
Play.Works позиционирует себя как одного из крупнейших издателей подключенного телевидения: компания заявляет о более чем 400 играх и установках в миллионах домов. В портфель входят такие бренды, как Space Invaders, Tetris, Doodle Jump и другие. Игры распространяются на платформах Samsung, LG, Apple TV и устройствах операторов платного ТВ. Тот факт, что один из ведущих издателей интегрирует SDK прокси-провайдера в свои продукты, показывает, что подобная практика не ограничивается сомнительными приложениями из низшего ценового сегмента.
Проблема усугубляется тем, что пользователь, нажимая кнопку согласия, вряд ли полностью понимает, на что соглашается. В случае с игрой 2048 Football Cup разрешение запрашивается внутри игрового процесса, и ребёнок, желающий продолжить игру, может нажать "принять", не вникая в детали. Юридически согласие получено, но его осознанность остаётся под вопросом. При этом сам факт наличия спящего кода не является нарушением правил магазина, если только магазин не запрещает такие компоненты явно.
LG уже объявила о запрете резидентных прокси в своём магазине приложений. Samsung, напротив, пока не вводила аналогичных ограничений. Исследователи отмечают, что даже если бы Samsung последовала примеру LG, динамическая загрузка кода позволяет разработчику честно заявлять о соответствии политике на момент проверки, а затем изменить поведение приложения. Для эффективного контроля магазинам пришлось бы непрерывно анализировать код, получаемый с серверов разработчиков, что технически крайне сложно.
Сложившаяся ситуация показывает, что проблема носит структурный характер. В экосистеме, где приложения представляют собой динамически загружаемые оболочки, модерация не может гарантировать безопасность. Крупные игроки - Samsung, Play.Works, Bright Data - имеют репутационные риски и формальные процедуры согласия. Но те же механизмы доступны и небольшим разработчикам с недобросовестными намерениями, для которых этические ограничения не играют роли. Практика встраивания спящих компонентов, вероятно, продолжится, а для пользователей это означает необходимость осторожно относиться к любым запросам на согласие и к приложениям, которые загружают код извне.