Smart TV: uma porta de acesso para hackers?

0
280

Analisámos a segurança das Smart TV, que têm vindo a constituir-se como um alvo muito atrativo para ataques e de que forma podem comprometer estes dispositivos

As televisões inteligentes fazem parte da vida quotidian de milhões de utilizadores em todo o mundo. À medida que ganham mais funcionalidades, a quantidade e a sensibilidade dos dados que manipulam são cada vez mais interessantes para o mundo do cibercrime. Quantos mais utilizadores adquirem esta tecnologia, maior é o incentivo para que hackers desenvolvam novas formas de aproveitar a diversidade que o ecossistema da Internet das Coisas (IoT) atualmente propõe. Como tal, decidimos abordar o tema da segurança nas Smart TV.

O auge das Smart TV e dos dispositivos de streaming

Com os seus ecrãs de alta resolução, câmaras, microfones e novos interfaces orientados para a experiência do utilizador, estas televisões têm vindo a crescer numa grande percentagem de lares. Segundo a Statista, em 2018 venderam-se mais de 114 milhões de televisões inteligentes em todo o mundo. De acordo com uma publicação da IHS Markit, este volume representou cerca de 70% do total de televisões vendidasdurante esse ano.

Quando analisamos o relatório de market share realizado pela IHS Markit, não nos deveria surpreender o facto do Android TV ser o sistema operativo para televisões inteligentes mais popular, incluindo as implementações puras de Android e as modificadas pelos fabricantes. Na prática, os utilizadores podem comprar televisões com ligação HDMI e convertê-las em inteligentes ligando as mesmas a um dispositivo externo de streaming.

Talvez os três dispositivos de streaming mais conhecidos sejam o Chromecast da Google, o Fire TV da Amazon e o Apple TV. Contudo, existem dezenas de modelos que oferecem funcionalidades similares, conhecidos como “TV boxes” ou “streaming boxes”. Recentemente surgiu um novo player neste mercado: a NVDIA Shield. Enquanto isso, a Roku continua a fazer crescer a sua participação no mercado ocidental.

Como pode ficar comprometida a segurança de uma Smart TV?

Os hackers têm um objetivo muito claro com as suas campanhas maliciosas: a geração de dinheiro. Ou seja, procuram informações interessantes para vender, dados para extorquir, equipamentos para sequestrar, ou capacidade de processamento para utilizar. As televisões inteligentes contam com todas estas características, o que as torna num alvo apetecível.

Os atacantes possuem um arsenal de ferramentas que podem utilizar de forma combinada para executar código malicioso no ambiente da vítima. Engenharia social, vulnerabilidades, más configurações, ataques físicos e malware são técnicas usadas para ganhar o controlo do equipamento.

Muitos utilizadores já sofreram o sequestro das suas televisões por variantes similares ao Simplocker ou o vírus da polícia; ameaças que exigem um pagamento à vítima para que esta possa recuperar os seus arquivos. Outros tantos foram vítimas de ameaças como ADB.Miner –-detetado pela ESET como Android/Coinminer.X –- que procuram sequestrar a capacidade de processamento de um equipamento, sendo esta ameaça em particular um exemplo de como o malware orientado para a mineração de criptomoedas se tornou mais complexo adquirindo capacidades de auto propagação, capaz de se instalar em televisões através da exploração de portas de depuração abertas derivadas de configurações inseguras.

Ataques físicos através de portas USB

Mesmo que as vulnerabilidades sejam corrigidas e os utilizadores sejam treinados para a deteção de golpes, muitas televisões encontram-se ainda em espaços vulneráveis, onde podem ser alcançadas fisiscamente por terceiros – por exemplo, na sala de espera de um escritório ou numa sala onde se realizam eventos repletos de estranhos.

Em particular, as portas USB podem ser utilizadas para a execução de scripts maliciosos ou exploração de vulnerabilidades. Alguns gadgets permitem realizar esta tarefa de forma simples e rápida, como o famoso – ou infame – Bash Bunny da HaK5 e o se predecessor, o Rubber Ducky, ou qualquer hardware com caraterísticas similares – spoiler alert: não são muito complicados, nem difíceis de criar do zero. Desta forma, o atacante pode automatizar um cocktail variado de ações maliciosas baseadas na interação com o interface do utilizador e executar o ataque em poucos segundos bastando para tal ligar um dispositivo semelhante a uma memória USB.

Alguns scripts para realizar tais façanhas sobre a Fire TV estão já carregados nos repositórios da Hak5, no GitHub. Contudo, muitos necessita ser atualizados para a última versão do interface gráfico do Android ou o interface do sistema utilizado pela vítima.

Caso prático de um ataque

Exemplifiquemos o referido anteriormente com um hipotético cenário de ataque. Para tal, necessitaremos de um protagonista, a vítima, a quem chamaremos Truman. Truman tem um vizinho chamado Christopher Lee, mas como Truman não viu o Senhor dos Anéis, nem o Star Wars, nem Charlie e a Fábrica de Chocolate, não sabe que Christopher é um colecionador que, secretamente, controla centenas de bots e vende informação roubada na dark net.

Depois de conseguir aceder à rede Wi-Fi de Truman, o que pode acontecer das mais variadas e infindáveis formas muito bem documentadas, Christopher poderia listar os equipamentos na sua rede e identificar rapidamente um dispositivo com Android TV: uma NVIDIA Shield.

Imagem 1. Scanner da red de Truman onde se verifica um dispositivo NVIDIA.

Para começar, o facto do Android TV incluir funcionalidades de assistentes de voz e se vincule a uma grande variedade de sensores IoT possibilita outro vetor de ataque. Por exemplo, ao listar as portas abertas da NVIDIA Shield, Christopher observa o serviço do Chromecast ativo (porta 8008). Este serviço suporta uma API para a qual qualquer tipo de equipamento na rede pode solicitar informação ou realizar modificações na configuração, levantando preocupações em torno das consequências que isto tem para a privacidade dos utilizadores.

Imagem 2. Scanner das portas do NVIDIA Shield onde se verifica o serviço da Chromecast a correr na porta 8008.

A API do Chromecast na NVIDIA pode ser consultada para averiguar a versão do sistema operativo que corre no equipamento, enviando simplesmente um pacote GET para o endereço http://<IP-NVIDIA-Shield>:8008/setup/eureka_info. Na parte inferior da imagem seguinte podemos verificar diz “versión”: 8, indicando que se trata do Android Oreo.

Imagem 3. Dados da NVIDIA Shield que podem ser obtidos através da API da Chromecast.

Com estes dados, o nosso vilão sabe exatamente quais os movimentos que lhe vão permitir navegar através do interface do utilizador de forma a permitir a depuração. Isto é permitido a partir das opções de programação do Android, que deveriam ficar ocultas quando os equipamentos saem de fábrica e podem ativar-se a partir do menu de informação sobre o equipamento. Uma televisão pode ser depurada através da porta USB ou utilizando o TCP-IP. Em ambos os casos, o sistema vai requerer autorização para a conexão antes de permitir o acesso ao equipamento remotamente. No Android, a ferramenta adb (Android Debug Bridge) é executada por defeito na porta 5555.

Criar um script para emular um teclado com Bash Bunny não requer muito engenho. Se indicar o ATTACKMODEcomo HIDe iniciar cada comendo com a letra Q cada vez que quiser simular uma tecla, pois utiliza o mesmo interface do Rubber Ducky. A partir de agora, a seta para cima é Q UP, e para baixo é Q DOWN, direita é Q RIGHTe esquerda Q LEFT. Q ENTERé o Enter, Q ESCvolta atrás e Q DELAY <milissegundos>atrasa/adiciona o tempo de espera indicado. Mais detalhes sobre a programação de scripts podem ser encontrados no wiki de Bash Bunny.

Para habilitar a depuração através da rede, pode correr outro script na máquina a partir da qual se pretende aceder remotamente para que constantemente tente conectar-se à vítima através de adb, o que vai ativar o diálogo de autorização de depuração enquanto o Bash Bunny está ligado, permitindo aceitá-lo no momento. Assim, Christopher pode executar o script, preparar um café e visitar o vizinho Truman para lhe pedir um pouco de açúcar que convenientemente lhe falta. Depois de ligar o Bash Bunny ao NVIDIA Shield enquanto Truman se dirige à cozinha, no ecrã poderia ver-se algo similar ao vídeo que se segue.

27 segundos é quanto demora o payload a executar. Agora Christopher tem uma sessão de depuração através do adb. O que pode fazer com isto? Porque não instalar ransomware, já que existem tomadas inteligentes na casa que possuem algumas vulnerabilidades? Pode tirar vantagem de Truman mostrando-lhe como controla as luzes da sua casa a partir da sua televisão inteligente, como pode ver de seguida.

Mitigação

Para os equipamentos, deve ser tida em consideração a proteção das entradas físicas do dispositivo, tanto da rede como de USB. Para tal, podemos ativar a proteção lógica através de soluções de segurança ou, no caso das TV boxes, podemos utilizar caixas de acrílico com parafusos, as mesmas que se usam em outros sensores IoT. Para proteger as portas USB também podemos utilizar escudos USB: uns gadgets que se colocam entre a televisão e qualquer unidade externa que se tente ligar à mesma, e impedem qualquer execução de código indesejada.

Se a Smart TV não for usada como dispositivo de teste de aplicações num ambiente de programação, então o melhor é manter as portas de depuração inativas. Caso contrário, se necessita depurar algum aplicativo, talvez seja boa ideia revogar periodicamente as autorizações de depuração existentes e verificar se existes ligações estabelecidas na porta 5555.

DEIXE UMA RESPOSTA

Please enter your comment!
Please enter your name here

*