Anúncios na TV
Digam o que disserem, esta coisa de sabermos que as nossas televisões podem ser usadas para mais do que pensamos é algo que me deixa sempre curioso. A minha televisão é de marca de origem alemã, o que em principio me salvaguardava das macacadas do espião na televisão, mas já sabiamos que desejar algo com muita força não o tornava realidade. A televisão disponibiliza um acesso não autenticado a um conjunto de funcionalidades via HTTP.
Estando a televisão equipada com um conjunto de funcionalidades que lhe permite apresentar vídeos e outra informação proveniente da Internet, a coisa mais natural que pode acontecer é quando acedemos a essas funcionalidades ela comunicar para algum sitio da Internet. O que ela deve ou não dizer, isso é outra coisa completamente diferente.
A televisão de que aqui falámos há algum tempo dizia ao fabricante coisas como o canal que o dono da televisão estava a ver ou o ficheiro que ele tinha colocado a tocar a partir da porta USB. Aqui a pergunta seria, mas para que é que um fabricante quer saber que canal vemos ou o nome do ficheiro que estamos a ver em nossa casa depois de nos vender o aparelho? Perguntas… Perguntas…
Para intercetar a comunicação da televisão com os seus destinatários na Internet liguei-a através de HUB. Hoje em dia já é muito difícil arranjar destes equipamentos porque o seu comportamento permitia alguma promiscuidade das comunicações. Os equipamentos ligados ao mesmo HUB ouvem todos a comunicação, mesmo que não lhes seja destinada. E esta mesmo isto que pretendíamos.
Ligado o HUB ao router da Internet e a televisão ao HUB, bastou-me ligar o portátil ao HUB com o WireShark ligado para começar a ver a informação que circulava entre estes equipamentos. Como tenho outros equipamentos ligados na rede, como o Raspberry Pi, há muita informação que não interessa ler e que surgia no ecrã.
Para apanhar apenas a comunicação da televisão comecei por filtrar no WireShark pelo número IP da televisão:
ip.addr == 192.168.1.10
Com este filtro pude identificar alguns destinatários:
- Raspberry Pi com Raspbmc;
- Zonhub;
- 94.236.46.129;
- 81.92.239.34;
- 23.207.78.121;
- 209.10.42.166;
- 212.113.184.18;
- 94.236.46.135;
- 78.136.20.71.
Um destes destinos é muito interessante porque aceitava pedidos HTTP (http://94.236.46.129), os mesmos que usamos para obter informações dos sites da Internet. É daqui que estas televisões deste fabricante, sem qualquer tipo de autenticação, obtém as imagens que mostram no interface gráfico de utilizador. A imagem que está aqui no inicio desta página foi obtida a partir do mesmo site sem que para isso tivesse de fazer nada de especial a não ser usar o mesmo URL. Isto tem potencial para umas brincadeiras divertidas com o Raspberry Pi daqui a uns tempos.
No mesmo destino o url http://94.236.46.129/ads/ mostra um ecrã com um formulário, mas este parece-me menos interessante porque afinal de contas não quero mesmo receber na televisão publicidade destes senhores.
Outro faz dos destinos é para obter a previsão meteorológica. O pedido é primeiro feito ao 81.92.239.34, mas em resposta é redirecionado para o outro destino. O resultado é algo que pode ser utilizado sem qualquer autenticação, como podem ver se seguirem o link. Não houvessem já tantas origens para a mesma informação na Internet e teríamos aqui mais potencial para divertimento.
dojo_request_script_callbacks.dojo_request_script4({"description":"Portugal","utcOffset":60,"temperature":"23°C","pictoId":10,"daytime":true,"observed":"Saturday 9 August 2014 18:00"})
Mas isto são só 2 destinos para o qual a televisão liga para ir buscar informação. A informação vem de várias origens e parece-me que a forma como construiram este candidato a televisão inteligente é compondo os ecrãs a mostrar aos utilizadores com um conjunto de partes de várias proveniências. Agora há que analisar os dados com mais alguma atenção e ver se ela faz muito mais que isto.
Há um destino que me deixa curioso. Para esse destino a comunicação foi feita por HTTPS, uma forma segura. A informação que enviou e recebeu não é possível decifrar se a televisão estiver a verificar a integridade do certificado digital utilizado para assegurar a identidade do servidor.