
No meu último artigo, falei sobre como
fui para o DefCamp . O artigo de hoje é a primeira parte de uma publicação sobre minha pesquisa sobre a segurança da Internet das coisas, que serviu de base para minha apresentação na conferência.
A IoT está se desenvolvendo rapidamente: agora existem mais de
260 empresas , incluindo cidades inteligentes, fábricas, minas, empresas de petróleo, varejistas, saúde, educação e muito mais. O ciclo de publicação cobrirá apenas áreas de tecnologia vestível, medicina inteligente e casa inteligente, incluindo aplicativos móveis.
Hoje, a tecnologia inteligente está começando a fazer mais sentido do que conectar um fone de ouvido Bluetooth a um telefone e está se tornando comum, o que indica uma compreensão de para que finalidade a tecnologia inteligente é usada e quais cenários ele pode automatizar.
A má notícia é que muitos desses novos dispositivos são alvos de ataques. Ao mesmo tempo, os problemas de segurança foram resolvidos retroativamente ou não foram resolvidos devido à falta de suporte para dispositivos antigos. Esses dispositivos representam um risco sério para a infraestrutura (residencial ou comercial), se não forem gerenciados adequadamente. Portanto, consideramos abaixo uma série de questões relacionadas à segurança de coisas inteligentes, métodos e ferramentas de hackers disponíveis, além de recursos de processamento e proteção de dados. O objetivo da pesquisa não é implementar ou descrever os métodos "turnkey hacking", mas revisar abordagens que, sob certas condições, podem levar ao acesso aos dados, bem como revisar situações em que os desenvolvedores, por algum motivo, decidem não proteger os dados do usuário. Os materiais são apresentados de forma geral (informações completas podem ser encontradas no
site oficial
) .
Tecnologia Vestível - Relógios Inteligentes
Relógio da Apple

MITM
O relógio interage via Bluetooth ou, se esse canal não estiver disponível, via Wi-Fi para se comunicar com o telefone e os servidores da Apple. A transferência de dados de rede entre a nuvem e os aplicativos de telefone / relógio é criptografada com TLS1.2 e proteção contra ataques MITM e pinagem SSL. Ao mesmo tempo, os relógios, diferentemente dos telefones, não possuem uma interface para instalar certificados SSL raiz personalizados. Fluxos de dados não criptografados não foram detectados.
Ignorar tela de bloqueio
O uso de uma senha em um relógio inteligente geralmente é um item opcional, mas pode estar incluído. A Apple permite
redefinir a senha de várias maneiras , mas
apenas uma pode evitar condicionalmente a exclusão de dados.
O último método baseia-se no mecanismo de vincular novamente o relógio ao dispositivo com
recuperação de dados com uma alteração da senha. Esse cenário é usado sempre que deve dar horas para reparo ou venda, porque é necessário desconectar o modo Bloqueio de Ativação. Seu significado é que a remoção da ligação do relógio ao telefone exclui os dados do relógio; no entanto, o telefone faz backup dos dados do relógio
para restaurar posteriormente os dados no relógio . E como o backup não salva apenas os cartões bancários, a senha e as configurações do relógio Bluetooth, você pode acessar os dados e também definir uma nova senha.
Para executar o método, você deve executar as seguintes etapas:
- O relógio e o telefone devem estar próximos; O aplicativo Apple Watch deve estar em execução no telefone.
- Na guia "Guia Meu relógio", as horas necessárias são selecionadas e a ação é confirmada por "Desemparelhar o Apple Watch".
- Em seguida, você precisa digitar a senha da sua conta Apple (caso a senha seja esquecida, é proposto redefini-la ).
- Confirmação final da ação.
Como esse método interage com as credenciais da Apple, é possível acessá-las redefinindo a senha usando
soluções forenses , o que permite remover a senha no relógio da Apple.
Jailbreak
O jailbreak para a plataforma iOS sempre serviu como uma maneira de aumentar os privilégios para vários sistemas operacionais (iOS, tvOS e watchOS). Apesar de sua popularidade, existem alguns relógios jailbreak conhecidos para relógios Apple (disponíveis abaixo estão listados):
Jailbreaks for usbCadeia e conexão Bluetooth via SSHBackups
Como os relógios da Apple funcionam principalmente como um dispositivo auxiliar, os aplicativos instalados no relógio são widgets e todas as informações são armazenadas nos aplicativos do telefone. No entanto, os aplicativos de monitoramento ainda armazenam uma parte específica, o que permite considerar opções para acessar dados por meio de backups (ao interagir com um relógio que já existe em um PC / Mac na nuvem). Deve-se ter em mente que, nos produtos da Apple, muitos dados são multiplataforma e são sincronizados entre todos os dispositivos.
Para o acesso aos dados, são adequadas soluções forenses e aplicativos comuns para trabalhar com arquivos de backup (no caso de cenários de backup em nuvem ou desvio de acesso, apenas soluções forenses ou próximas a eles); É importante notar que muitos aplicativos no momento podem não ter acesso para visualizar o conteúdo dos arquivos de backup, portanto, uma das ferramentas possíveis é
o extrator de backup do iphone (na versão básica da assinatura, permite acesso aos dados do relógio, e as versões completa e comercial ainda têm suporte a 2FA acesso aos dados).
As informações necessárias sobre o dispositivo estão localizadas no arquivo
/mobile/Library/DeviceRegistry.state/properties.bin e abrangem os seguintes parâmetros:
- Assista a dados, incluindo nome, fabricante, modelo, SO, GUID.
- Número de série, UDID, endereço MAC Wi-Fi, SEID (Secure Element ID), endereço MAC Bluetooth.
A lista de aplicativos instalados pode ser encontrada em dois locais:
- No arquivo "com.apple.Carousel" localizado no caminho /mobile/Library/DeviceRegistry/GUID/NanoPreferencesSync/NanoDomains/com.apple.Carousel
- Nas subpastas da pasta " / mobile / Library / DeviceRegistry / GUID "
Dependendo dos aplicativos instalados, o acesso, por exemplo, pode ser obtido no catálogo de endereços, que é sincronizado com o telefone e é um tipo de dados de plataforma cruzada (os dados são colocados no arquivo
/ mobile / Library / DeviceRegistry / GUID / AddressBook / ) ou no repositório de cadernetas que armazena serviços bancários. cartões ou cartões de programas de fidelidade, vários tickets de caderneta (os dados são colocados no arquivo
/mobile/Library/DeviceRegistry/GUID/NanoPasses/nanopasses.sqlite3 ). O banco de dados deste último na tabela “Pass table” contém dados em três partes (a imagem abaixo é tirada do telefone, não do relógio, para facilitar a visualização):
- Unique_ID
- Type_ID (ticket, cartão de fidelidade, etc.)
- Conteúdo codificado de um “passe” separado (em formato de valor / dados)

Além disso, o Apple Watch fornece acesso aos dados do aplicativo Apple Health e preenche os dados desse aplicativo a partir de várias fontes, incluindo entre aqueles que o usuário entra manualmente. Como regra, os dados desse aplicativo são criptografados; portanto, eles só são acessados se uma senha for definida para ele (por exemplo, os arquivos de backup são criptografados). No entanto, este aplicativo tem a opção de exportar dados de forma clara, sem criptografia (no arquivo zip). Ao exportar dados, é importante considerar que o arquivo morto pode ser exportado para qualquer aplicativo: arquivos apple, armazenamento em nuvem, IM, etc., onde não há criptografia adicional. O aplicativo é analisado separadamente abaixo na seção Apple Health.
Relógios Android
Samsung Gear
Relógio lg
Os relógios Android são produzidos por vários fabricantes (Asus, Samsung, LG, etc.). Ao contrário dos relógios da Apple, eles geralmente oferecem um conjunto completo com um módulo 3G-4G para instalar um cartão SIM, em vez do eSIM, caso contrário, a funcionalidade não difere.
Entre as abordagens para o acesso a dados, destacam-se:
- Pesquisa forense (física, lógica e de rede)
- Ignorar tela de bloqueio
- Usando ferramentas de análise de dados raiz
Somente a primeira opção será considerada no artigo como parte da cópia de imagens, seções e ferramentas raiz. A pesquisa lógica (inclusive como parte dos backups) não difere dos métodos conhecidos. A versão on-line do estudo está ganhando popularidade e não é amplamente representada, mesmo na estrutura de soluções forenses prontas. Consiste na reprodução de mecanismos de interação para troca de dados via Wi-Fi, Bluetooth, incluindo Métodos MITM, mas requer consideração em um artigo separado.
Copiar imagem do dispositivo
Ao analisar dispositivos Android, a abordagem não muda, apenas as ferramentas diferem (um exemplo da ferramenta será fornecido na seção Samsung / LG). Para copiar o conteúdo do dispositivo, a cópia bit a bit de todo o dispositivo ou partições individuais pode ser usada. Para esses fins, usa o modo de desenvolvedor. A opção mais simples é usar os comandos adb shell e adb pull para acessar os dados. Dependendo do fabricante, modelo do dispositivo e versão do sistema operacional, os kits de ferramentas ADB, SDB ou MTK podem ser usados. Na maioria das vezes, a seção do usuário “
/ dev / block / mmcblk0p12 / data ” é copiada para análise, mas outras seções podem ser copiadas, se necessário:
- DD se = / dev / block / mmcblk0p12 / data of = /storage/extSdCard/data.dd
- DD se = / dev / block / mmcblk0p8 / cache de = /storage/extSdCard/cache.dd
- DD se = / dev / block / mmcblk0p3 / efs de = /storage/extSdCard/efs.dd
- DD se = / dev / block / mmcblk0p09 / system of = /storage/extSdCard/system.dd
Ignorar tela de bloqueio
Para o Wear OS, o uso de códigos PIN é opcional, portanto, o relógio não é protegido por um código PIN. Existem mais maneiras de ignorar a trava nos relógios Android do que na Apple.
- Gerenciamento de senha com base em conta.
- Gesture.key e settings.db (interação com arquivos de bloqueio).
- Chaves ADB
Gerenciamento de senha com base em contaA maneira menos invasiva de ignorar um bloqueio é usar uma conta do Google e credenciais obtidas de alguma maneira. Os métodos podem ser diferentes, incluindo o acesso à conta por meio de soluções forenses. Depois de obter acesso, é possível desbloquear remotamente o dispositivo ou inserir um novo código PIN, o que, em ambos os casos, permite ignorar o bloqueio do código PIN.
Gesture.key e settings.dbO ADB ou seus análogos faz parte das ferramentas de desenvolvimento e funciona independentemente delas. Esses utilitários podem ser usados para modificar arquivos do sistema e excluí-los: o arquivo gesto.key responsável por bloquear o código PIN e o arquivo
settings.db responsável por desbloquear o dispositivo bloqueado. Nos dois casos, é necessário acesso físico ao dispositivo; para o primeiro arquivo, um conjunto de comandos para excluir “
shell adb.exe; cd / dados / sistema; rm Gestor.key ”e o modo de depuração ativado 'Modo de depuração' ou a execução de comandos por meio de recuperação personalizada, como ClockworkMod ou Team Win Recovery Project (TWRP).
Da mesma forma, para o
settings.key, você deve executar o comando “
atualizar o valor definido do sistema = 0 ”, o que levará à substituição dos valores dos
parâmetros lock_pattern_autolock e
lockscreen.lockedoutpermenently e ao desbloqueio do dispositivo sem conhecer o código PIN.
Também é importante notar que um carregador de inicialização bloqueado e a falta de ferramentas de desbloqueio não permitem o acesso aos dados; em outros casos, especialmente se uma recuperação personalizada já estiver instalada, não haverá dificuldades no acesso.
Chaves AdbCom bastante frequência, o uso de dispositivos para vários cenários leva a configurações e estados inseguros do dispositivo. Em particular, ao usar um dispositivo para desenvolvimento, ele forçará
o modo de
depuração USB a ser ativado e as chaves de desenvolvimento adbkey e adbkey.pub localizadas no diretório // do usuário // Android / serão colocadas em PCs sincronizados com os dispositivos. Assim, o próprio modo permite instalar software de terceiros, ignorar o bloqueio de tela e as teclas podem ser usadas para transferir o estado de "sincronização" para um novo local.
Usar SO e raiz
Para relógios Android, o sistema operacional Android é usado adaptado às necessidades físicas dos dispositivos. Na linha de relógios Asus Zenwatch, Huawei Watch, LG Watch e muitos outros, é usado o sistema operacional Android, no caso dos relógios Samsung - Tizen OS.
O Android Wear começa com 4.4W1, 4.4W2, 1.0 e termina com a versão 2.9, que corresponde ao Android usual, começando com 4.4. 4.4, 5.0.1 e finalizando com 7.1.1 / 8.0.0 (fevereiro de 2018). As novas versões após a mudança da marca no Wear OS começam com 1.0 (Android 7.1.1 / 8.0.0 - março de 2018 e versão 2.1 (7.1.1 / 9.0.0 - setembro de 2018) em diante. O kit de ferramentas raiz é amplamente apresentado para Android Use a versão 2.0.
Raiz:Recuperação - Para pesquisar as versões necessárias, você pode usar a pesquisa :- TWRP
- Para a versão 5.1.1, twrp-3.1.0-0.img é adequado
- Para a versão 6.0.1 e Wear 2.0, o twrp-3.0.0-0.img é adequado
- Para Samsung Gear e LG Watch, a versão 2.8.4 e superior é adequada
Por exemplo, Samsung Gear Watch e LG Watch
Omitindo os parâmetros técnicos do Samsung Gear, você pode considerar a opção de pesquisar dispositivos como parte de um estudo forense físico. O relógio não suporta conexão Wi-Fi, apenas conexão Bluetooth e USB estão disponíveis, além de proteção opcional com código PIN. No caso da Samsung, é necessária uma SDB (ponte de desenvolvimento inteligente), que faz parte do Tizen-SDK. No caso da LG, o tradicional kit de ferramentas Android, ADB, é necessário.
A extração de dados pode ser descrita em três etapas.
Estágio número 1. Obtendo root para SamsungPara obtê-lo, você precisa encontrar a imagem personalizada apropriada, o utilitário universal para dispositivos Samsung - Odin 3.0, colocar o dispositivo no modo de desenvolvimento (ativando o SDB), colocá-lo no modo "download" e executar o comando "
Sdb shell, sdb root "
Estágio número 1. Obtendo root para LGAntes de obter acesso root, você deve ativar o modo de depuração do ADB. Depois disso, use o LG Watch Restore Tools, reinicie o carregador de inicialização e atualize a imagem:
- adb reboot-bootloader
- desbloqueio OEM do fastboot
- push adb SuperSU.zip / sdcard / download
- adb reboot-bootloader
- inicialização rápida boot twrp.img
- Instale o SuperSu.zip e aguarde a reinicialização
Estágio número 2. Obtendo uma imagem do dispositivoEntre as várias ferramentas de desenvolvimento do Android, há o popular
Toybox , que permite
criar uma imagem do dispositivo para posterior extração e estudo de dados. O pacote Toybox está localizado em uma unidade externa ou na pasta de download da memória principal. Os direitos de acesso para a execução da caixa de brinquedos são alterados, a busca por seções adequadas para cópia é realizada (executando os comandos “
cd / dev / block / platform / msm_sdcc.1; ls -al por nome ). Como regra, a seção do usuário (dados do usuário) localizada em
/ dev / block / mmcblk0p21 é copiada . Depois disso, usando toybox, dd e netcat, a imagem da seção correspondente é copiada:
- adb push toybox / sdcard / download
- shell adb; su
- mv / sdcard / download / toybox / dev /
- raiz do chown: caixa de brinquedos raiz;
- chmod 755 toybox
- cd / dev / bloco / plataforma / msm_sdcc; ls -al por nome
- / * partição de imagem com dd e pipe para netcat, -L coloca o netcat no modo de escuta * /
- dd se = / dev / bloco / mmcblk0p21 | ./toybox nc -L
- / * Número da porta que está sendo ouvida no relógio exibido pelo usuário * /
- Porta 44477 / * exibida * /
- tcp adb forward: 44867 tcp: 44867
- / * Envie a solicitação para assistir na porta número 44867 e envie-a para o arquivo de imagem * /
- nc 127.0.0.1 44867> Samsung.IMG
Estágio número 3. Extração de dadosOs dados mais úteis, armazenados de forma independente no próprio relógio, no caso da Samsung, são colocados nos seguintes bancos de dados:
- Mensagens - apps.com.samsung.message.data.dbspace / msg-consumer-server.db
- Dados de saúde / fitness - apps.com.samsung.shealth / shealth.db
- Email - apps.com.samsung.wemail.data.dbspace / wemail.db
- Contatos / Catálogo de endereços - dbspace / Contacts-svc.db
No caso de relógios LG, no seguinte banco de dados:
- Eventos / Notificações - data.com.android.providers.calendar.databases / calendar.db
- Contatos / Catálogo de endereços - data.com.android.providers.contacts.databases / contacts2.db
- Dados de saúde / fitness - data.com.google.android.apps.fitness.databases / pedometer.db
Rastreador de Fitness - Xiaomi Band

O rastreador de fitness é um dispositivo auxiliar e todos os dados são coletados no aplicativo Mi-Fit, que sempre interage por uma conexão criptografada com o TLS1.2 com servidores Amazon AWS, localizados principalmente na UE. Um número de solicitações sem referência a ações vai para servidores dos EUA. No caso do Mi Fit, a criptografia não impede completamente os ataques MITM devido à falta de Fixação SSL e à capacidade de instalar um certificado raiz no dispositivo. Nesse caso, o acesso a todos os dados transmitidos pela rede ocorre. Localmente, a pasta do aplicativo contém um log de eventos detalhado e indicadores de adequação do usuário dos quais esses dados foram obtidos como parte dos cenários do usuário, por exemplo
Pedido do servidor api-mifit.huawei.comGET /users/-/sports?startDate=YYYY-MM-DD&endDate=YYYY-MM-DD&sportCategory=run&timezone=GMT-3%3A00 HTTP/1.1 Content-Type: application/json
A resposta HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8 Content-Length: 716 { "items" : [ { "trackId" : "1496744715", "startTime" : 1496744715, "endTime" : 1496748315, "sportTime" : 1800, "distance" : 3600, "calories" : 3.5, "averagePace" : 2.0, "averageStepFrequency" : 39, "averageStrideLength" : 68, "timestamp" : 1496744715, "averageHeartRate" : 90, "altitudeAscend" : 20, "altitudeDescend" : 10, "secondHalfStartTime" : 600, "strokeCount" : 30, "foreHandCount" : 15, "backHandCount" : 15, "serveCount" : 30, "type" : "OUTDOOR_RUN" } ] }
Rastreador de fitness - Huawei Honor Band

O Huawei Honor Band, como o Xiaomi Band, não é um dispositivo independente e todos os dados são coletados pelo aplicativo instalado no telefone. O aplicativo também conta com uma conexão TLS, no entanto, ao contrário da Xiaomi, ele possui um pequeno número de conexões. Todos eles são suficientemente protegidos, incluindo ataques MITM e ataques SSL Strip.
Ao mesmo tempo, muitos dados são recebidos localmente como parte dos backups, obtidos dos sensores do rastreador, que podem ser divididos em dados de serviço, usuário e condicionamento físico, que, por sua vez, são divididos em bruto e agregado. A lista de dados é para iOS, mas não difere da versão do Android.
- Os dados e logs do dispositivo estão localizados na pasta / hms / oclog / crash, / hms / oclog / log.
- Os valores atuais e mais recentes do rastreador cobrem informações sobre sono, dados de ativação, distâncias (distância, quilometragem etc.), freqüência cardíaca e calorias. Eles estão localizados nos arquivos /Documents/*.archiver.
- O firmware inclui todos os dados, o local, a URL de onde é baixado, o tamanho, o log de alterações, o sinalizador de atualização forçada e o próprio arquivo de firmware, que é baixado via HTTP como parte da atualização segura do DFU , exceto nas versões mais antigas.
- Os dados geográficos incluem informações de localização com referência ao tempo e à separação por dias e tipos de atividades, além de dados sobre velocidade e direção do movimento, se houver. Eles também estão localizados na pasta /*.archiver.
- Os dados do usuário incluem informações básicas - foto do perfil, nome, data de nascimento, altura, peso, sexo, idade e dados gerais de etapas e quilometragem. Também localizado na pasta /*.archiver.
- Os detalhes da conta incluem UDID, Token, UserID, SessionID, Endereço do dispositivo Mac e teclas Bluetooth.

Aplicativos de fitness - bicicleta de estrada, bicicleta de montanha

Como exemplo de aplicativos de condicionamento físico, foram consideradas as versões RoadBike e MountainBike PRO, que não são diferentes na implementação.
Esses aplicativos rastreiam as realizações do usuário, indicadores de velocidade, distâncias passantes e têm a capacidade de integrar-se a alguns rastreadores físicos, além de não implicarem em atividades na Internet. Armazene localmente todos os dados gravados:
- Dados GPS - geolocalização, distância, altitude e altitude, carimbos de data e hora locais e com referência aos valores de GPS.
- Dados da sessão - carimbos de hora, distância, duração da faixa, indicadores de média e minimax, indicadores cardíacos de diferença de altitude (se houver um rastreador especial).
- Dados de velocidade - carimbos de hora, tempo de condução, distância (se você tiver sensores adicionais, poderá corrigir o cálculo correto da velocidade).
- Dados do usuário - credenciais (incluindo senha em texto não criptografado), altura, peso, sexo, nome e data de nascimento.
Todos os dados são colocados no database.sqlite3 e, adicionalmente, o banco de dados MapOpenCycleMap.SQLite contém informações sobre a trilha, incluindo geolocalização e uma captura instantânea de geolocalização e rota.


Medicina inteligente
A medicina inteligente envolve a convergência da tecnologia digital com os problemas de saúde da sociedade para aumentar a eficácia dos cuidados médicos. Essas tecnologias incluem soluções e serviços de hardware e software, incluindo telemedicina, telefones celulares e aplicativos, dispositivos vestíveis e fixos, sensores clínicos ou monitoramento remoto.

A maioria dos aplicativos de saúde se enquadra em duas categorias: aplicativos de origem (medindo indicadores de saúde humana) e aplicativos de agregador de dados (coletam dados em um local de fontes diferentes).
Saúde da Apple
O aplicativo Apple coleta dados de saúde de uma variedade de fontes de software e hardware (iPhone, Apple Watch e aplicativos de terceiros) que suportam o protocolo HealthKit.
Os dados são divididos em 4 categorias: Atividade, Sono, Atenção plena e Nutrição (atividade resumida, indicadores de sono e vigília, uma categoria indefinida para iOS 11-12, um diário alimentar). Se a senha, o Touch ID ou o Face ID forem usados, todos os dados deste aplicativo serão criptografados no dispositivo e na nuvem, inclusive ao transmitir dados pela rede. Separadamente, sobre a comparação da proteção de dados, Apple Health e Google Fit, podem ser encontrados no artigo da
Elcomsoft .

Globalmente, todos os dados do Apple Health podem ser divididos em duas categorias do ponto de vista da segurança: salvos automaticamente pelo aplicativo de diferentes fontes e dados exportados.
No primeiro caso, a maioria dos dados é criptografada e uma parte clara, do ponto de vista da Apple, não é crítico para criptografá-lo.
No segundo caso, todos os dados estarão em texto não criptografado no formato CDA (Clinical Document Architecture) - típico para a troca de dados médicos; e de uma forma mais familiar, este é um arquivo com arquivos xml. Deve-se observar que a proteção de dados pela Apple não significa que os dados nos aplicativos de origem também estejam protegidos (pode ser visto nos exemplos acima com rastreadores e abaixo com pesos). Também não garante que os aplicativos não usem dados de outros aplicativos de origem por meio do Apple Healthkit e não salvem dados na nuvem.
Vale ressaltar que o modelo de permissão da Apple era originalmente um pouco diferente. Todas as solicitações de acesso aos dados do aplicativo foram solicitadas na inicialização ou conforme necessário (após a conclusão das ações que exigem permissões), ao contrário das versões anteriores do Android. Mas para o aplicativo Apple Health, uma lista detalhada de permissões para ler e gravar indicadores do coração, pressão, massa etc. não é exibida com uma descrição detalhada do que e por que é necessário (como de costume, tudo é solicitado imediatamente).
O último leva ao fato de que a idéia inicial de uma caixa de proteção de dados com o advento de aplicativos como o Apple Health não é óbvia para o usuário, o que levou a Apple a criar outra caixa de proteção para dados médicos. Por exemplo, o aplicativo solicitava algo para ler e gravar, e não há nada de criminoso nele, embora basicamente a maioria dos aplicativos que trabalham com o Apple Health escreva apenas dados que os leia, com exceção dos dados básicos. Se o aplicativo for projetado explicitamente para ler dados para o trabalho, isso requer uma notificação explícita ao usuário, permitindo que ele proíba solicitações de leitura individuais sem consequências para o aplicativo. Em outras palavras, a leitura e gravação dos dados médicos de cada aplicativo, como em um chaveiro ou sandbox, deve ser isolada de outros aplicativos, apesar da Apple Health poder agregar todos os dados em si. Caso contrário, do lado de desenvolvedores sem escrúpulos, é possível acessar os dados de outros aplicativos com o bombeamento subsequente do dispositivo. A propósito, o Apple Health separadamente nas fontes permite gerenciar permissões de forma transparente, mas a questão da operação correta do aplicativo quando o acesso é negado permanece em aberto (como costumava ser no Android para permissões de aplicativos).
A Apple também abordou a
questão da emissão de dados registrados por outros aplicativos para um aplicativo que solicita dados. O aplicativo (em caso de falta de acesso) receberá dados salvos apenas anteriormente pelo mesmo aplicativo. No entanto, isso requer: a) desativar direitos de acesso desnecessários e verificá-los; b) não há garantia do correto funcionamento do aplicativo, pois não se sabe se as permissões para ler dados foram realmente necessárias. Muitos aplicativos não respondem às verificações de permissão. Assim, por exemplo, o aplicativo PICOOC smart scale nem sequer possui uma seção com permissões de leitura - apenas grava dados.
Um fato interessante, na próxima versão do Android, é esperada permissão para ler na área de transferência .
Os dados do Apple Health são distribuídos entre os seguintes arquivos de banco de dados:
- HealthDomain \ MedicalID \ MedicalIDData.archive - armazena dados em informações inseridas manualmente pelo usuário (nome, altura, peso, implantes médicos).
- HealthDomain \ Health \ healthdb.sqlite - uma lista de aplicativos de origem que permite recuperar dados em sua forma original e sem proteção adicional; também contém informações sobre o dispositivo de origem (nome, modelo / fabricante, carimbos de hora, informações gerais sobre a parte / ambiente do software).
- HealthDomain \ Health \ healthdb_secure.sqlite - contém informações adicionais (UDID do dispositivo, nome do dispositivo, registros de data e hora, altura, sexo, tipo de sangue, data de nascimento, limitações físicas, peso corporal total, fuso horário e versão do SO do dispositivo de telefone).
- HealthDomain \ Health \ healthdb_secure.hfd é um banco de dados criptografado que inclui informações de aplicativos de origem.

Ao trabalhar com um arquivo de dados exportado (ou seja, sem criptografia), deve-se entender que a exportação do arquivo pode ser realizada em qualquer lugar do dispositivo, pode ser transferida para o armazenamento em nuvem ou arquivo para qualquer outro aplicativo, o que por si só pode ser um risco porque contém informações detalhadas, incluindo, entre outras:
- Nome de usuário, foto do perfil, altura, peso corporal.
- Rastreamento geográfico (país / cidade host, versão do SO).
- UDID do dispositivo, nome do dispositivo, data da atualização de dados mais recente no aplicativo Apple Health.
- Aniversário, sexo, tipo sanguíneo, cor da pele, altura, peso, querida. implantes.
- Indicadores e medições diárias, por exemplo, freqüência cardíaca, peso, pressão, vários indicadores adicionais de dispositivos e aplicativos, dados de diário de calorias e nutrição, dados de treinamento e distância, registro de atividades com registro de data e hora, etc.
- Analisador de XML grátis
Balanças inteligentes Picooc
O PICOOC integra soluções de hardware com aplicativos e serviços da Internet. Em particular, 13 medições são monitoradas em escalas inteligentes, como peso, percentual de gordura corporal e índice de gordura, massa corporal, osso, músculo, água no corpo, idade metabólica e alterações nos indicadores.


Os seguintes dados são publicados localmente:
- Os registros Bluetooth ocorrem como resultado da verificação de dispositivos próximos e, para todos os dispositivos, o nome do dispositivo e seu endereço mac são salvos.
- Os valores de medição do corpo são armazenados no banco de dados picooc.sqlite na tabela `body_indexs` e foram mencionados acima na descrição do aplicativo.
- As informações sobre o dispositivo incluem informações sobre o endereço mac do dispositivo, nome do modelo, ID do usuário, imagem do dispositivo e também são armazenadas no arquivo no arquivo picooc.sqlite.
- A lista de amigos inclui informações sobre o nome, telefone, id do usuário, campo - desde que os amigos usem o mesmo aplicativo - ou seja, O aplicativo forma uma rede social.
- As informações do usuário incluem apelido, ID do usuário, altura, idade, sexo, raça e consistem em duas partes no exemplo do iOS
- Os dados do sensor incluem informações sobre hora, idade, sistema operacional, altura, configurações de tela, modelo do dispositivo, configurações de idioma, ambiente etc. e são armazenados no arquivo "\ sensoresanalytics-message-v2.plist.db"
- As configurações incluem informações sobre a senha local, método de desbloqueio e atividade recente; armazenado no arquivo "picooc \ Library \ Preferences \ com.picooc.international.plist" no exemplo do iOS.

Do ponto de vista da transferência de dados, existe a possibilidade de interceptação com um certificado raiz. Os dados mais interessantes podem ser considerados os seguintes:
- O URL da foto do perfil, disponível publicamente constantemente através do link e, na verdade, possui 2 URLs:
- Informações sobre o dispositivo e o ambiente.
- Informações do usuário, incluindo nome de usuário, data de nascimento, altura, peso, carimbos de data e hora, SO e fuso horário.
- Credenciais, incluindo senha, inclusive ao alterar a senha de antiga para nova.

É aqui que o primeiro artigo termina. A segunda parte será sobre o Connected Home: TV inteligente, assistentes de voz, cozinha e iluminação inteligentes.