Добрый день друзья.
Сегодня напишу вам мааааленький материальчик на тему шпионажа за пользователями при помощи ... телика. Телика блин!!!
Думаете речь про взлом андроида или webos? Фигушки. Любой современный телик может за вами шпионить и возможно даже майнить (мля и это тут приплели)...
Ладно. Давайте разбираться, что за бред я несу.
Вступление и HOWTO. (техданные в ссылках)
Для начала давайте поймем как работает ваше цифровое кабельное телевидение (да-да, речь именно о нем. О кабеле в котором идет линейное цифровое телевидение).
Кабельный оператор принимает со спутника транспондеры с телеканалами. Из транспондера, при помощи приемников, выбирает нужные телеканалы. Далее при помощи карточек декодирует зашифрованные телеканалы. Передает их на модулятор.
Передача осуществляется внутри станции, чаще всего, в виде UDP Multicast потоков. Модулятор - это такая хитрая штука, которая принимает на вход udp потоки с каналами и делает высокочастотный (RF) выход. Внутри железки каналы собираются в транспондеры. Транспондеры имеются свои технические параметры, такие как модуляция, скорость потока и т.д. Все выходные транспондеры запихиваются в оптику или в медный кабель и улетают к вам в дома. Где магистральные либо домовые усилители разгоняют сигнал по подъездам и квартирам. Вуаля. Вы смотрите цифровое телевидение через медный кабель.
Точно такая же схема работы у цифрового эфирного телевидения. Только вместо кабеля там используется передатчик, антенна и радиочастота.
Поток - это набор данных содержащие в себе пиды, относящиеся к данному телеканалу.
Внешне это можно представить так:
[Телеканал1]
Пид видео
Пид русского аудио
Пид английского аудио
Пид телетекста
Пид ЕПГ
Пид субтитров
и т.д.
Транспондер - это по сути контейнер, который включает в себя несколько потоков и объединяющий их вместе.
Уф. Старался доступно о сложном. Ведь цифровое телевидение - это основная моя специализация и работа. Я могу говорить об этом вечно
Так. Немного разобрались с цифровым линейным телевидением. Но это не все, что нам необходимо знать. Простая "цифра" умирает. Все чаще слышно про IP телевидение (IPTV либо OTT). Оно имеет функции перемотки и множество иных плюшек. Но мало кто знает о гибридном телевидении. Которое разрабатывалось как переходной вариант от линейной цифры к iptv. И называется оно HBBTV. Что же это за зверь такой?
Тут на самом деле все очень просто. В обычное линейное цифровое телевидение подмешивается пид, сообщающий вашему телевизору данные доступа к web интерфейсу, аналогичному IPTV телевидению. Телик, видя такой пид, читает из него данные доступа, и лезет, при наличии доступа к сети, по указанному урлу (ВОТ ОНО!!! Суть собаки куцепалой.) Если по урлу имеется специальным образом сформированная страничка - ваш телик покажет (обычно красную) надпись HBBTV прямо поверх видео на канале. И если юзер нажмет кнопку на пульте - то телик переключится и вместо линейного телевидения предложит вам смотреть нелинейное (IPTV по сути). Либо просто отобразит имеющуюся сраницу.
Т.е. на той стороне может быть что угодно. Задумывалось как IPTV, а по факту можно реализовывать хоть голосовалки, хоть интернет-магазины.HbbTV основан на стандарте CE-HTML, который поддерживает JavaScript, CSS и DOM. По сути, это специальный адаптированный для телевизора сайт.
В 90% случаев кабельные операторы принимают потоки со спутника и отдают их "как есть" своим абонентам. Таким макаром достигается максимально возможное качество передаваемой картинки.
В случае IPTV, а чаще OTT происходит транскодирование. При этом поток транскодируется. У него уменьшается битрейт, размер кадра и т.д. За счет этого идет экономия трафика. Делаются профили потоков и абонент может, переключаясь между профилями, смотреть каналы даже на самых слабых каналах связи.
А теперь к сути вопроса. Один мой знакомый раскопал интересные данные. Многие телеканалы начали подмешивать в свои потоки пид AIT (Application Information Table). На скрине ниже - транспондер ВГТРК. Он вещается на всю Россию через спутниковое DVB-S вещание. Спутник 75 градусов. Частота 11665:V:44922
В котором при глубоком анализе мы находим урл для HBBTV.
Но при этом происходит странное. При просмотре такого телеканала не вылазит заветная иконка HBBTV. Почему??? Что за фигня?
Т.к. я слабо верю в майнинг-ферму на теликах - я предполагаю иной метод использования данной, несомненно, "фичи".Адрес https://hbbtv.crewmind.com/stream/8 ведёт на страницу с ява-скриптом, который создаёт веб-сокет соединение. И поддомен и домен находятся на сервере в Германии. Несмотря на то, что в вызове ws.onmessage() лишь только операция приравнения, — ничего не стоит при необходимости добавить сюда зловред. Делая из тысяч телеприёмников, например, майнинг-ферму)))
Например - можно собрать данные о телезрителях. Кто, когда и какие передачи смотрит. Ну и .для начала. сделать рейтинг популярности телепрограмм на каналах.
Пример2 - узнать на каком железе смотрятся телеканалы.
Пример3 - узнать а точно ли вы были дома в данный момент и смотрели телевизор?
И все это не учитывая возможности CE-HTML. На котором можно сварганить очень даже не простые вещи.
Параноики есть?
Если есть - отключите на телике интернет. От слова совсем. Хотя ... телик тоже отключите.
Если вы не законченный параноик - просто отключите HBBTV, если такой функционал имеется в вашем телевизоре.
Моим же абонентам повезло. Я еще лет 10 назад отфильтровал все пиды, кроме необходимых. Оставил только видео и аудиопид. Жопой чуял что-ли
За идею и исследование потоков благодарю Виталия Тумашевского.
Записки на полях by Ar3s.