Segurança da Internet das coisas. Edição 2. Casa Inteligente



A casa inteligente é representada por uma ampla variedade de dispositivos. Na segunda parte da série de segurança da IoT, serão discutidos decodificadores de TVs inteligentes, cozinhas inteligentes, assistentes de voz e iluminação. Link para 1 parte .

Segurança Doméstica Inteligente


TV inteligente - Apple TV



O Apple TV é um reprodutor de mídia digital com uma ampla variedade de recursos em um sistema operacional separado, gerenciado por um telefone, Siri, remoto e expansível programaticamente devido a aplicativos de terceiros. A Apple TV tem várias gerações:

  1. I geração - Y'07, MacOS X, porta HDD e USB tradicional
  2. Geração II - Y'10, iOS + MicroUSB
  3. Geração III - Y'12, iOS + MicroUSB
  4. Geração IV - Y'15, tvOS (iOS) + USB-C e Bluetooth
  5. Geração V (4K) - Y'17, tvOS (iOS) + Bluetooth, sem USB
  6. Geração VI - modelo de 2018, sem USB

Métodos conhecidos de acesso à Apple TV


Esses métodos podem ser acessados ​​pelos modelos de 1ª geração apresentados na conferência de 2009 “Hacking the Apple TV and Where Your Forensic Data Lives”, Kevin Estis e Randy Robbins, Def Con 2009 ( apresentação , vídeo ). O modelo dessa geração foi criado com base no Mac OS X e o acesso aos dados foi reduzido à análise do disco rígido e aos recursos de conexão à TV como um todo.

O acesso aos dados da Apple TV das gerações II-V é muito semelhante em metodologia para acessar outros produtos da Apple e resume-se a

  • Análise de backups com várias ferramentas, inclusive forenses.
  • Pesquise um jailbreak para pesquisar dados fora dos backups ou pesquisar TV já hackeada.
  • Análise de conteúdo, clientes climáticos, conteúdo de stream: Netflix, iTunes, NHL, NBA, Vimeo, YouTube, etc.
  • Acesso aos dados do aplicativo com o objetivo de extrair contas e cartões de crédito, além de outras informações úteis.

Utilitários para o Jailbreak


Diferentemente dos relógios, o conjunto de utilitários Jailbreak para TV está amplamente representado, exceto nos modelos de terceira geração:

  • A lista atual é atualizada, por exemplo, no recurso pangu.
  • Apple TV 1 - scripts, ssh, ejeção de disco e outros métodos semelhantes ao Mac.
  • Apple TV 2 - prisão Seas0npass para versões do tvOS 4.3 - tvOS 5.3 (sem conexão) e tvOS 6.1.2 (com conexão).
  • Apple TV 4 - Prisão Pangu9 para versões do tvOS 9.0 - tvOS 9.0.1, LiberTV para versões do tvOS 9.1 - tvOS 10.1, GreenG0blin para versões do tvOS 10.2.2.
  • Apple TV 4/5 - Prisão LiberTV para tvOS versões 11.0 e 11.1, Prisão Electra para tvOS versões 11.2 - tvOS 11.3.

Gerenciamento de senha


A questão do gerenciamento de senhas para muitos dispositivos é fundamental e, considerando os relógios inteligentes, observou-se que senhas e códigos PIN não são obrigatórios. Para a Apple TV, as senhas e muitas outras TVs não são usadas, exceto para restringir o acesso ao conteúdo e afetar apenas as compras feitas na loja de aplicativos como parte de aplicativos, conteúdo, alteração de configurações e exclusão de dispositivos conectados ( ao mesmo tempo, o emparelhamento de dispositivos não é requer senha ).

Análise USB


Para modelos antigos, exceto nos últimos dois anos, a porta USB, embora formalmente reservada para fins oficiais, era usada para obter informações básicas sobre o dispositivo; desapareceu oficialmente, começando com a 5ª geração da Apple 5ª geração (4k). As informações básicas incluem informações sobre a hora do dispositivo, registros, acesso a uma pasta Mídia que não é uma pasta do sistema (/ private / var / mobile / Media), informações sobre Wi-Fi, Bluetooth, endereços MAC Ethernet, nome do dispositivo, ID de série, modelo . Como ferramentas para obter dados, Ideviceinfo, idevicesyslog pode ser usado.

Backups


Os backups fornecem acesso aos seguintes dados que se cruzam com os dados da análise USB:

  • Log de eventos
  • Dados de mídia no banco de dados MediaLibrary.sqlitedb.
  • dados do iCloud.
  • Rede Wi-fi.
  • Linha do tempo de uso do dispositivo.
  • Bancos de dados de compras incl. conteúdo.



Análise de TV com jailbreak


Essas TVs permitem acessar mais dados: fuso horário, histórico de Wi-Fi, dicionário do teclado, informações da conta, configurações, lista de cidades meteorológicas, informações da cabeceira da cama (informações sobre o conteúdo do usuário), bem como capturas de tela do conteúdo do usuário, vídeo em cache , uma lista de aplicativos instalados e os dados dos próprios aplicativos.

Criação de perfil


A criação de perfil é um dos mecanismos de defesa em algumas versões recentes do tvOS 11.3+ e iOS 11.3+. O mecanismo permite especificar uma lista ou dispositivos específicos que serão permitidos; após o qual a interação será limitada a determinados dispositivos e nenhum dispositivo de terceiros poderá se conectar ao seu decodificador. O mecanismo pode ser usado tanto na estrutura de gerenciamento corporativo de dispositivos Apple, quanto em dispositivos pessoais, por meio de configurações de perfil com os parâmetros necessários (desde que você use o Mac OS Server)

Amazon tv




O Amazon Fire TV é um decodificador com um conjunto semelhante de recursos. Ele vem em duas edições - na forma de um decodificador convencional (caixa Fire TV) e uma versão compacta do tipo de Chromecast (Fire TV Stick). Ao mesmo tempo, como muitas soluções Android, ele permite o download de aplicativos por meio do mecanismo de carregamento lateral do ADB, que permite que muitos usuários recebam conteúdo sem assinaturas pagas.

Devido ao último fato, as ferramentas raiz não são amplamente usadas para o FireOS, e as ferramentas de root disponíveis são divididas em ferramentas raiz clássicas e firmware raiz.

O representante mais famoso das ferramentas raiz é o KingRoot, que permite o acesso principalmente a versões mais antigas do tipo 5.0.5, embora não esteja limitado a elas. Um recurso também é que a maioria das ferramentas é ajustada para o uso de teclado e mouse, em vez de controle remoto da TV; portanto, é importante ter conexões Bluetooth para conectar teclados e mouses sem fio.

Entre os recursos do FireOS, é importante notar o carregamento lateral sem raiz, um carregador de inicialização bloqueado (51.1.xx não está bloqueado, 5.xxx está bloqueado, mas o 5.0.x pode ser desbloqueado, mas não há informações sobre versões mais antigas) e é permitido fazer o downgrade para executar o root versões antigas.

Versões disponíveis de ferramentas raiz e firmware:

  • Fire TV 1 - raiz para as versões 51.1.0.0 - 51.1.6.3, 5.0.3, 5.0.5, sem raiz para 5.0.5.1, 5.2.1.0 - 5.2.6.3
  • Fire TV 2 - raiz para as versões 5.0.0 - 5.2.1.1, sem raiz para 5.2.4.0 - 5.2.6.3
  • Fire TV 2 - 5.2.6.6 - ROM pré-enraizada
  • Fire TV 3, Fire TV Cube - sem ROMs raiz ou pré-raiz
  • Fire TV Stick 1 - raiz para as versões 5.0.0 - 5.2.1.1 e sem raiz para 54.1.2.3 e versões anteriores, 5.2.1.2 - 5.2.6.3
  • Fire TV Stick 2 - nenhuma raiz de software; no entanto, foi encontrado um método para acesso físico à unidade eMMC
  • Televisão Fire TV Edition - raiz para as versões 5.2.5.0 e sem raiz para 5.2.5.1 - 5.2.6.3

Atualmente, não existem ferramentas oficiais entre as soluções forenses, no entanto, os métodos forenses são típicos para as soluções Android (usando DD, sideload + ADB, etc.)

Ao examinar os dados do dispositivo em um conjunto básico de aplicativos, é possível distinguir os seguintes conjuntos de dados úteis:

  • Informações do navegador - armazenadas no banco de dados browser.db e incluem o histórico do navegador e outras informações armazenadas pelo Mozilla Firefox.
  • Imagens - armazenadas em [root] /data/com.amazon.bueller.photos/files/cmsimages, incluindo aqui imagens da Amazon Cloud. Há um recurso aqui: apesar da originalidade das imagens, as imagens na TV são convertidas para o formato da TV (como resultado, dois arquivos com a mesma extensão e nomes diferentes podem ser encontrados no dispositivo * -full.jpg e * -thumb.jpg).
  • Dispositivos Bluetooth - informações sobre dispositivos, nomes e endereços Mac são armazenadas em [root] /data/com.amazon.device.controllermanager/databases/devices.
  • Registros da Amazon - várias informações sobre as atividades de dispositivos com registro de data e hora, que podem ser correlacionadas à atividade do usuário e ao iniciar aplicativos [root] /data/com.amazon.device.logmanager/files + Log.amazon \ main.
  • Amazon appstore - dados armazenados em com.amazon.venezia.
  • / cache / = cache e visualização para aplicativos baixados e visualizados + recomendado.
  • / database / = arquivos sqlite são distribuídos em pastas.
  • / database / contentProvider = A tabela "Aplicativos" que contém os nomes dos aplicativos com cache e visualizações ("thumbnailUri"), ("previewUri") na pasta ../cache.
  • / database / locker = pedidos, lista de desejos, tarefas, aplicativos, cache etc.
  • / database / logging = logs de eventos.

Assistentes de voz (aplicativo Amazon Echo Dot & Alexa)


Os Amazon Voice Assistants fornecem o Echo como um dispositivo físico e a solução de software do aplicativo Alexa. Eles destinam-se ao mesmo objetivo de controlar a casa inteligente e outros dispositivos que oferecem suporte à integração com a API do Amazon Voice Assistant.



No momento, o assistente de hardware não possui métodos de comunicação por cabo familiares ao Android ou outros dispositivos Amazon, como FireTablet: a comunicação USB está limitada a receber informações básicas através de um conjunto de drivers MediaTek e da SP Flash Tool, e o carregador de inicialização do dispositivo está bloqueado. A Amazon permite que os desenvolvedores usem seus certificados para proteger os dados transmitidos ( número do link 1 , número do link 2 ), mas os usuários não têm a oportunidade de instalar certificados raiz adicionais no dispositivo, o que exclui a possibilidade de MITM. Além disso, os dispositivos são protegidos contra ataques de faixa SSL. No entanto, como muitas coisas inteligentes, o firmware é baixado via HTTP sem criptografia adicional.

GET /obfuscated-otav3-9/…/update-kindle-full_biscuit-XXXX_user_[XXXXXXXXX].bin HTTP/1.1 Host: amzdigitaldownloads.edgesuite.net Connection: close User-Agent: AndroidDownloadManager/5.1.1 (Linux; U; Android 5.1.1; AEOBC Build/LVY48F) ro.build.version.fireos=5.5.0.3 ro.build.version.fireos.sdk=4 

O Fire OS é feito com base no Android e tem a seguinte correspondência

  • ver 5.x - pirulito Android 5.1.1. Eco funciona versão 5.x
  • versão 6.x - no Android 7.1

Ao mesmo tempo, falando sobre o assistente de software, deve-se notar o amplo suporte não apenas ao Kindle OS, mas também Android e iOS, bem como a falta de mecanismos de proteção contra o MITM. Por exemplo, credenciais podem ser obtidas na solicitação 'https://www.amazon.com/ap/signin'

  •  {"Credentials":{"AccessKeyId":"ASIAXHE6EPSWNVIGFBVP","Expiration":1.538588872E9,"SecretKey":"+8gSx7/H.....U="},"IdentityId":"us-east-1:503e25f6-2302-4dcd-8cb2-64a0e888f76b"} 
  • Mail, Senha da solicitação POST 'https://www.amazon.com/ap/signin'.
  • Informações sobre o token e o dispositivo.
  • O código do país é "RU".

Além disso, informações sobre o perfil do usuário (ou perfis, porque o uso multiusuário é suportado) são transmitidas no tráfego:

  • Nome, endereço para pagamento, endereço para entrega.
  • O ID do dispositivo, conta, recursos do dispositivo e seus tipos.
  • As respostas no formato .mp3 são armazenadas por vários meses.



Os dados locais no backup contêm principalmente métricas e logs de dispositivos, uma lista de dispositivos e seus números de série, informações e configurações breves da conta.

Uma das maneiras interessantes de atacar assistentes é selecionar um código PIN que possa ser executado com um atraso mínimo entre tentativas e sem limitar o número de vezes. Este método foi publicado em 2017 pela Security Analysis do Amazon Echo com o script anexado. O procedimento é o seguinte:

  1. O computador espera que uma palavra seja ativada e o próximo comando é uma solicitação para fazer uma compra.
  2. Alexa oferece resultados e ofertas para fazer um pedido.
  3. O computador confirma o pedido e o Alexa solicita um PIN de quatro dígitos.
  4. A primeira tentativa é feita para corresponder ao PIN.
  5. Alexa aceita ou não PINs.
  6. O processo é repetido até que o PIN correto seja encontrado. Cada iteração de 2 tentativas para solicitar PINs leva 30 segundos e, com base na suposição de um conjunto comum de 10.000 códigos PIN, leva 42 horas para selecionar o código correto.

Cozinha Inteligente / Chaleiras (Redmond)


Redmond é um fornecedor de tecnologia inteligente na Rússia. Para trabalhar com um conjunto de "recursos inteligentes", é oferecida a oferta Ready For Sky, que é implementada em duas versões - um aplicativo para interação direta via Bluetooth e um hub, que, por um lado, interage diretamente com o dispositivo e, por outro, permite controlar o equipamento pela Internet.



A partir dos dados locais que se enquadram nos backups (R4S.sqlite), apenas uma lista de dispositivos e modelos, uma lista de receitas e parâmetros, dados do usuário sem senha (apenas nome de usuário, email), bem como dispositivos do usuário e endereços de mac do dispositivo foram encontrados.



Como parte dos dados da rede, não há proteção contra a interceptação de dados com um certificado, para que você possa acessar a versão do firmware e a imagem do dispositivo (além disso, esses dados são transmitidos via http), uma lista de receitas para o dispositivo, uma lista de ações

 https://content.readyforsky.com/api/program/catalog/id:IN:90,97?locale=en "id": 90, "protocol_id": 0, "value": "BOILING", / HEATING "value": "40", | "value": "55", | "value": "70", | "value": "85", | "value": "95". 

Também credenciais, tokens incl. ao solicitar uma alteração de senha

 https://content.readyforsky.com/headless/change-password {"current_password": "1", "plainPassword": "1"} { "error": "invalid_grant", "error_description": "The access token provided is invalid."} { "access_token": "YjNhYmEwOWM1ZDcwYTk0ODU1ODhmZDZiMDRjNjA5NzUyN2YzM2VhNGUyMjBhYzc0ZjBhYWRhY2IzZmNjMzdiOA", "expires_in": 86400, "token_type": "bearer", "scope": "r4s", "refresh_token": "YzE4ZGUwN2NkMzdiMDBlYmM5NGQwMGVjYmU4YThkYTVkMGE1ZTc4ODQ2MDRkNjhhZWY4NGIxZjlkODRhZGI3MQ“ } 

Informações do usuário (https://content.readyforsky.com/api/user/current) e informações sobre a estrutura interna da rede (endereço IP), informações do dispositivo (modelo, endereço mac, nome do hub)

Endereço do Cliente | 192.168.1.38:50654 (a porta está mudando)
Endereço remoto | content.readyforsky.com/178.62.194.132-00-0043 (porta fixa)

 https://content.readyforsky.com/api/device/user “name": "RK-G200S", "address": "E7:7F:BC:60:C2:2A", "name": "Gateway XIAOMI Redmi 4X", "address": "77d3efcf-f627-402e-bbed-4ee0c8290417", 

Iluminação


A iluminação inteligente foi projetada para otimizar custos com base na automação de tarefas. É apresentado no artigo por modelos populares:

  • Lightify
  • IKEA TRÅDFRI
  • Philips HUE



Lightify


LIGHTIFY Home é uma plataforma da Internet das Coisas com suporte e capacidade de expansão em nuvem. Para o trabalho, a conta Lightify é necessária. Os dados são transmitidos via protocolo QUIC com criptografia no topo do UDP; para descriptografar QUIC e gQUIC, recomenda-se usar a versão mais recente 2.9 do wireshark ( v2.9.1rc0-332-ga0b9e8b652, v2.9.1rc0-487-gd486593ce3 ) e, de preferência, 3.0 e superior , porque em várias versões da versão 2.9, houve problemas com o suporte à descriptografia de protocolo (e a versão padrão 2.8.6 foi proposta como uma versão estável para download). O Lightify Gateway é executado sobre o TCP sem criptografia (com interação local) e usando um protocolo binário que é analisado e para o qual há suporte para ferramentas de terceiros . As credenciais são armazenadas localmente como parte dos arquivos de backup.

IKEA TRÅDFRI


As lâmpadas da IKEA também oferecem controle on e off, mas como bônus, há uma mudança no esquema de cores. Os novos modelos já estão subdivididos na Ikea original e com a marca Xiaomi. Atualmente não suporta controle remoto. A atualização do firmware é tradicionalmente realizada pelo arquivo http JSON, que contém incluindo firmware disponível para todos os dispositivos TRÅDFRI

 http://fw.ota.homesmart.ikea.net/feed/version_info.json 

A comunicação é feita através de UDP usando DTLS (SSL para UDP) e criptografia. A chave pré-compartilhada usada para o handshake ao emparelhar dispositivos é a chave secreta. Para associar o aplicativo ao hub, o usuário precisa digitalizar um código QR que contenha o “Número de série” (que é realmente o endereço MAC) e o “Código de segurança” do dispositivo. O código de segurança é armazenado localmente no armazenamento de chaves e é usado para criptografia adicional usando o algoritmo AES. No entanto, se o aplicativo estiver sendo executado em um antigo dispositivo Android 4.3 ou inferior, ou se um ataque APK de downgrade tiver sido realizado, a chave poderá ser encontrada no próprio APK no arquivo “key_file.txt” e será codificada como “Bar12345Bar12345”. O ataque de downgrade é bastante popular tanto na estrutura de soluções forenses quanto nos comandos adb usuais para fazer o downgrade do aplicativo apk, a fim de explorar as vulnerabilidades das versões anteriores na proteção de dados. O suporte e a capacidade de executar ataques de downgrade dependem do dispositivo, versão do SO e fabricante do dispositivo, bem como da compatibilidade dos bancos de dados das versões nova e antiga do aplicativo.



Philips HUE


A Philips Hue oferece uma ampla gama de produtos de iluminação inteligente para uso interno e externo. Em 2016, a iluminação deste fabricante já foi atacada pelo ZigBee a uma distância de 200 metros devido a um erro no protocolo de comunicação. A interação online entre o hub e os servidores é realizada de forma protegida com proteção contra interceptação de dados. No primeiro contato, a chave para descriptografar dados no AES não foi encontrada (existe uma suposição de que ele possa fazer parte do firmware). A interação entre o aplicativo e o servidor funciona com SSL, com proteção contra ataques SSL Strip e MITM. Interação local - através de HTTP.

 PUT http://192.168.1.38/api/Ds7KfNjjYtC8uN mU8azGBiOSj-uacXI0q0JKaTs/groups/1/action 

bem como download de firmware

 http://iotworm.eyalro.net/ 

Dicas


As dicas de proteção de dispositivos inteligentes podem ser divididas nos seguintes grupos:

Grupo de segurança de rede


  • Mascarando nomes . Por padrão, os nomes dos dispositivos têm nomes básicos associados ao modelo, fabricante ou nome do usuário. Por esse motivo, não é recomendável fornecer nomes que identifiquem exclusivamente as informações do usuário.
  • Criptografia O uso de criptografia em redes domésticas e configurações para evitar criptografia fraca.
  • Redes de convidados . O compartilhamento Wi-Fi é proposto para o uso de informações críticas e visitantes / amigos ou para desativar este modo.
  • Segmentação de rede . Separação da rede em segmentos virtuais com base no grau de criticidade dos dados transmitidos, por exemplo, a alocação de dispositivos e hubs em uma sub-rede IOT, dispositivos que interagem com dados críticos e bancários em outra e teste ou dispositivos não confiáveis ​​na terceira. Se o roteador suportar vários SSIDs, isso também poderá ser usado para separar redes.
  • Firewall O firewall é uma ferramenta essencial em um ambiente em que mais e mais dispositivos estão disponíveis na Internet e você precisa limitar os cenários de disponibilidade.
  • Restrição de uso público . Proponho separar e limitar o armazenamento de dados críticos em dispositivos vestíveis que podem ser perdidos, especialmente considerando que na nuvem muitos dados são agregados e tornam-se acessíveis entre si. Além disso, para dispositivos públicos, não é recomendável ativar os modos de conexão com dispositivos não confiáveis, além de usar um grande número de aplicativos que não protegem os dados adequadamente.

Grupo de Gerenciamento de Senhas


  • As credenciais padrão . Todos os dispositivos por padrão não possuem senhas ou possuem uma lista conhecida de senhas padrão que devem ser alteradas imediatamente.
  • Senhas exclusivas . Normalmente, a recomendação é usar senhas exclusivas que foram verificadas por vários gerenciadores de senhas.

Grupo de Gerenciamento de Software


  • Configurações Altere as configurações padrão e as configurações com base nos cenários de uso.
  • Oportunidades. Desative ou restrinja os recursos que não são necessários nos scripts. Por exemplo, controle remoto, vinculando dispositivos da categoria casa ou carro inteligente ao Facebook ou a outras redes sociais.
  • Aplicações Diferenciação de dispositivos e aplicativos do ponto de vista de dados críticos, em vez de misturar no mesmo dispositivo, além de reduzir o número de aplicativos que não protegem dados armazenados ou transmitidos.
  • Uma atualização do sistema resolve problemas de segurança, mas nem sempre uma nova atualização oferece 100% de proteção, como a aparência da capacidade de fazer backup com qualquer nova senha para iOS 11+. Além disso, vários dispositivos de IoT e até roteadores comuns, quanto mais velhos, mais frequentemente não oferecem mecanismos de atualização convenientes do ponto de vista do usuário, portanto, é necessário monitorar independentemente as alterações e atualizar os dispositivos.
  • VPN para proteger a rede, segmentos de rede e aplicativos e dispositivos individuais, especialmente em pontos públicos.

Grupo de ferramentas de hackers


  • Aplicativos suspeitos - aplicativos fora de lojas oficiais, aplicativos indesejados.
  • Hacked - aplicativos hackeados "sem registro e SMS" + pirateados, bem como ferramentas para hackers.
  • Firmware - firmware do fornecedor (embora sejam conhecidos fatos de um código malicioso pré-instalado), bem como firmware limpo.

Grupo de serviços e utilitários em nuvem e de terceiros


  • IoT cloud - análise de relatórios sobre auditoria de soluções em nuvem.
  • Serviços de terceiros para a IoT - geralmente as soluções de automação são um ponto de coleta de dados em um único local (dentro de uma conta de usuário) e, no caso de problemas de segurança, representam uma grande variedade de dados críticos do usuário e mecanismos de gerenciamento de coisas inteligentes.

Source: https://habr.com/ru/post/pt447720/


All Articles