Se você possui um telefone Samsung, pode ter notado a frase “Protegido por Knox” na tela de inicialização. O que isso significa? Sob o corte - uma descrição da plataforma de segurança móvel pré-carregada na maioria dos smartphones e tablets Samsung. Esta é a primeira revisão em língua russa de quais mecanismos geralmente existem na solução Knox.

1. Introdução
Em 2019, a Samsung Electronics comemorou 50 anos, e este ano também foi marcado por outra data redonda - 10 anos desde o lançamento do primeiro dispositivo Galaxy - o GT-I7500. É assim que este modelo era:

Pelos padrões de hoje, o telefone tinha características muito modestas: uma tela de 3,2 polegadas e um processador com uma frequência de clock de apenas 528 MHz, estava executando uma das primeiras versões do sistema operacional Android. Na verdade, em 2009 o modelo não era único: havia dispositivos no sistema operacional Android aberto com características de hardware semelhantes na plataforma ARM no mercado. Ficou claro que o sucesso requer um "destaque" que diferencia a empresa do resto.
Sem dúvida, a abertura do sistema operacional influenciou o sucesso do sistema operacional Android: de acordo
com estimativas da IDC
, em outubro de 2019, ele foi instalado em 87% dos smartphones vendidos, e esse número continua a crescer. Mas então, e agora, o problema de segurança do Android é um dos tópicos frequentemente discutidos.
A Samsung introduziu a plataforma Knox como uma resposta aos desafios no campo da segurança da informação de dispositivos móveis. A primeira edição do Knox (o nome antigo é "SAFE" ou "Samsung for Enterprise") foi lançada em 2012, juntamente com o Galaxy S3.

A versão mais recente da plataforma (3.0) foi lançada com o Galaxy S9 em 2018. A versão atual no momento da redação deste documento é 3.4. O nome Knox vem de Fort Knox, uma das explorações de ouro mais seguras do mundo.

O que é o Knox? Agora, com esse nome (ou mais corretamente, uma marca), entende-se tudo o que está conectado na Samsung com segurança móvel. Isso inclui o gerenciador de senhas
Samsung Pass ,
Secure Folder , serviço de pagamento
Samsung Pay e toda uma família de
soluções empresariais , mas isso é baseado na plataforma Knox.

Uma característica importante da plataforma Samsung Knox é que ela se baseia em mecanismos de hardware. A Samsung, como fabricante de componentes de hardware, pode controlar todo o processo de produção, montagem e configuração do dispositivo e, portanto, projetar mecanismos de segurança com base nos recursos de hardware.
Isso inclui os seguintes princípios:
- A segurança do sistema é construída na raiz de confiança do hardware (HW Root of Trust).
- O monitoramento de segurança do dispositivo deve começar no momento da inicialização.
- O monitoramento de segurança é obrigatório e regular durante a operação do dispositivo.
- O sistema deve ter um mecanismo que permita que sistemas de terceiros provem sua integridade.
- O principal valor do dispositivo são dados do usuário. Sua proteção é uma prioridade do sistema.
Especial atenção no desenvolvimento da plataforma Knox é dada a requisitos corporativos específicos para segurança do dispositivo. Os telefones celulares se tornaram uma ferramenta de trabalho: não é apenas o trabalho de escritório comum para todos (correio, mensageiros, suíte de escritório), mas também opções mais exóticas: um telefone como uma caixa registradora, um scanner no armazém ou mesmo um guia no museu. Para as empresas, a capacidade de gerenciar esses trabalhos móveis é importante.
A plataforma Knox também resolve esse problema:
- Os dados corporativos no dispositivo devem ser gerenciados de maneira conveniente.
- O dispositivo corporativo deve ter mecanismos centralizados de monitoramento e controle.
- Os itens acima não devem ser implementados em detrimento da privacidade do usuário final.
Mais detalhes sobre a plataforma do dispositivo Samsung Knox.
Construindo um ambiente confiável
Antes de aprofundar na discussão de mecanismos individuais, algumas palavras devem ser ditas sobre a base de todos os mecanismos de hardware para proteger a plataforma Knox - a Arquitetura de Medição de Integridade (TIMA) baseada no TrustZone. É baseado no ARM TrustZone Framework.
Existem 2 "mundos" (áreas) no paradigma TrustZone:
- Seguro
- Normal ou Não seguro (mundo "Normal" ou "Inseguro")
Sua separação é realizada no nível do hardware e é controlada por um componente separado chamado Monitor. É assim:
Fonte: www.arm.comA funcionalidade do telefone é dividida entre essas duas áreas da seguinte maneira:
Mundo seguro:
- Computação sensível (por exemplo, criptografia).
- Proteção de informações críticas.
- Monitorando o estado do kernel do sistema operacional em execução no mundo normal.
- Acesso à memória e dispositivos marcados como Seguro (só pode ser acessado no Secure World).
Mundo normal:
- Executando o sistema operacional principal e todos os aplicativos do usuário.
- Os aplicativos em execução no Secure World são os mais privilegiados e podem acessar os recursos dos dois ambientes (Secure World e Normal World). Sob condições normais, os aplicativos do Normal World não podem acessar diretamente os recursos do Secure World.
Do básico, vamos aos mecanismos de proteção em si na plataforma Knox.
Raiz de confiança do hardware
Já no momento da produção na fábrica, durante a instalação do software (software), chaves criptográficas são criadas no dispositivo móvel. Considere duas chaves principais:
- Chave de hardware exclusiva do dispositivo (DUHK) ou Chave de hardware exclusiva do dispositivo. Uma chave simétrica exclusiva para cada dispositivo, criada diretamente no dispositivo usando um gerador de números aleatórios de hardware. As informações criptografadas com essa chave podem ser descriptografadas apenas no mesmo dispositivo. O DUHK está disponível apenas para o módulo de criptografia de hardware e não está disponível para nenhum software no dispositivo. Usando DUHK, as demais chaves criptográficas no dispositivo são criptografadas. Quando dizemos que um componente está vinculado a um dispositivo, na maioria das vezes é o uso dessa chave.
- Chave de raiz do dispositivo (DRK) ou chave de raiz do dispositivo. Exclusivo para cada dispositivo, um par de chaves assimétricas (RSA), assinado pelo certificado raiz (X.509) Samsung. O DRK é protegido pelo DUHK e está disponível apenas no Secure World. Ele identifica exclusivamente o dispositivo e confirma que é fabricado pela Samsung.
Com a abordagem acima, as chaves são difíceis de comprometer ou forjar, os dados criptografados estão firmemente vinculados ao hardware, eles não podem ser transferidos e lidos em outro dispositivo.
Fabricação de dispositivos na Samsung Electronics, Gumi, Coréia do SulDownload do dispositivo
Inicialização segura
O processo de inicialização do dispositivo consiste em uma cadeia de gerenciadores de inicialização, cada um dos quais verifica a assinatura do próximo componente e o inicia. Se a verificação falhar, o processo de download é interrompido. Esse mecanismo é chamado de Inicialização Segura e, em seu trabalho, usa a SSBK (Samsung Secure Boot Key), um par de chaves assimétrico no armazenamento de hardware.
A Inicialização segura garante que o dispositivo inicialize apenas usando os carregadores de inicialização confiáveis da Samsung. Se um dos gerenciadores de inicialização estiver comprometido, o dispositivo começará a parar, impedindo o comprometimento potencial do dispositivo.
Inicialização confiável
A Inicialização segura, verificando a assinatura, resolve o problema dos gerenciadores de inicialização de terceiros, mas não resolve o problema de versões antigas e irrelevantes que potencialmente carregam várias vulnerabilidades conhecidas. Portanto, o mecanismo de inicialização confiável foi desenvolvido, trabalhando sobre a inicialização segura. Ele verifica a relevância da versão do carregador de inicialização. Os resultados do teste são gravados na memória protegida no TrustZone Secure World e podem ser usados para verificações futuras.
Inicialização verificada Knox (KVB)
Quando o sistema operacional começa a carregar, outro mecanismo chamado Knox Verified Boot é ativado. KVB é uma extensão do mecanismo
Android Verified Boot (AVB) . Além das métricas padrão controladas pelo AVB, o KVB também leva em consideração os resultados obtidos pelo Trusted Boot e Secure Boot (ou seja, integridade e relevância do carregador de inicialização). Devido à execução de todas as operações do KVB no carregador de inicialização, essa verificação é confiável e segura (o procedimento é realizado fora do objeto verificado).
O componente Knox Verified Boot é relativamente novo e é suportado por dispositivos que começam com o Samsung S10 executando o Android P ou posterior.
Graficamente, o processo de inicialização de um dispositivo protegido pelos mecanismos Knox pode ser representado da seguinte maneira:

Bandeira de Hardware de Bit de Garantia Knox
O Knox Warranty Bit é um recurso de segurança que permite registrar o fato de instalar uma versão não oficial do software do sistema em um dispositivo. Os dispositivos com um bit de garantia ativado não podem usar algumas funcionalidades, por exemplo, Knox Workspace. A bandeira não pode ser retornada ao seu estado original. Ele garante que o dispositivo Samsung tenha sido iniciado anteriormente apenas com um sistema operacional confiável.
Fig. Firmware personalizado à esquerda, KNOX WARRANTY VOID 0x1Bloqueio de hardware para versões antigas de software (prevenção de reversão)
Versões mais antigas de componentes inicializáveis podem conter vulnerabilidades. Prevenção de reversão - uma função que bloqueia o retorno a uma versão mais antiga do sistema operacional. A versão mínima do carregador de inicialização possível para o firmware é armazenada em uma área protegida. A menor versão possível do kernel do sistema operacional é armazenada no próprio carregador de inicialização. Com uma atualização regular do sistema, as versões mínimas permitidas do gerenciador de inicialização e do SO são aumentadas. Voltar para uma versão anterior ou anterior não é possível.
É impossível retornar do Android P para o Android O.Integridade do ambiente confiável
Após a inicialização, a integridade do sistema deve ser verificada regularmente. Existem vários mecanismos para isso em Knox.
Componente Periódico de Medição do Kernel (PKM)
O PKM monitora periodicamente o SO para modificações em seus componentes a partir do momento em que é inicializado. Como parte da verificação, as somas de verificação do kernel e o status do subsistema SE for Android são rastreados (falaremos sobre isso mais adiante). PKM trabalha para o Secure World. Assim, qualquer modificação anormal do kernel do sistema operacional será detectada.

Componente RKP (Proteção em tempo real do kernel)
A Inicialização confiável protege contra o carregamento do kernel modificado, mas o kernel pode ser atacado enquanto o dispositivo estiver em execução. É necessário monitoramento constante da integridade do código e dos dados críticos. O RKP é um monitoramento de segurança localizado em um ambiente isolado - no ARM TrustZone Secure World ou em um hipervisor "thin" protegido por extensões de hardware de virtualização.
O RKP usa métodos especiais para monitorar o gerenciamento de memória no Mundo Normal, interceptar solicitações críticas e avaliar seu impacto antes de serem executadas. O mecanismo de proteção do kernel em tempo real complementa as verificações periódicas de integridade do kernel (PKMs).

Portanto, a proteção em tempo real do kernel é uma garantia de proteção contra a execução de código malicioso no nível do kernel do sistema operacional.
Verificação de integridade do ambiente confiável
Os dispositivos móveis não funcionam isoladamente, geralmente fazem parte de algum sistema maior, por exemplo, são clientes de servidor, nós de computação etc. E para que o sistema funcione de maneira estável e segura, é necessário garantir que todos os seus componentes estejam "saudáveis" e eles são quem eles dizem que são. Essa é uma tarefa bastante difícil: dentro da estrutura da plataforma Knox, ela é resolvida usando o mecanismo de certificação remota.
Certificação de dispositivo remoto (Knox Attestation)
A certificação remota permite que um sistema de terceiros conclua o estado do dispositivo final. Os seguintes parâmetros são verificados, em particular:
- medições coletadas durante o processo de inicialização do Trusted Boot;
- logs de violação de segurança dos mecanismos PKM e RKP desde a última reinicialização;
- Status do Bit de Garantia Knox
- Vários identificadores de dispositivo, como IMEI.

A mensagem de certificação é gerada no ARM TrustZone Secure World. Está correto mesmo se o sistema operacional no mundo normal estiver comprometido.
Além de verificar parâmetros individuais, a certificação também avalia o estado do sistema como um todo. Somente quando as medições coletadas pelo Trusted Boot correspondem aos valores de referência e o valor do Knox Warranty Bit não é alterado, a certificação é considerada aprovada.
A mensagem de certificação não pode ser falsificada porque foi assinada usando a Samsung Attestation Key (SAK), derivada da chave raiz da Samsung. O servidor remoto pode verificar a integridade da mensagem usando a chave raiz da Samsung. A assinatura contém um "aditivo" criptográfico gerado no lado do servidor (um número aleatório usado apenas uma vez) para impedir que o invasor use a mensagem de validação antiga em um dispositivo já comprometido.
O sistema de terceiros pode decidir outras ações com base nos resultados da certificação, dependendo das políticas de segurança. Por exemplo, você pode desconectar-se do dispositivo, apagar o conteúdo em um espaço de trabalho seguro, solicitar o local do dispositivo e executar muitas outras ações.
Protecção de dados
Os dados são o valor principal de um dispositivo móvel e requerem mecanismos de proteção separados.
Criptografia de armazenamento interno
A criptografia completa da memória interna é um pré-requisito para todos os dispositivos baseados no sistema operacional Android a partir da versão 7. Knox desenvolve esse conceito armazenando a chave em um armazenamento seguro de chave de hardware.

Aprimoramentos de segurança (SE) para Android
O Samsung Knox usa o aprimoramento de segurança para Android (aprimoramento de segurança para Android, SE para Android), que adiciona o controle de acesso obrigatório (MAC) ao sistema operacional.
O SE para Android fornece dois níveis de proteção MAC:
- Proteção do Kernel
- Proteção de middleware Android
Os objetivos do SE para Android incluem isolar dados e aplicativos, restringir os direitos dos processos do sistema, incluindo aqueles executados em nome de um superusuário.

Containerização Knox
Um caso de uso específico para o mecanismo do SE for Android é o contêiner Knox.
Um contêiner divide aplicativos e dados em dois espaços independentes: uma área regular e uma área protegida. Os dados da área protegida são armazenados na forma criptografada na memória interna. As chaves de criptografia, por sua vez, são criptografadas usando uma chave DUHK, ou seja, eles estão vinculados a um dispositivo específico. Se o dispositivo estiver comprometido (Knox Warranty Bit, Trusted Boot, etc.), o acesso ao contêiner será bloqueado.
É importante observar que os aplicativos instalados no contêiner funcionam, de fato, em um ambiente normal. Como resultado, um aplicativo criado para Android é executado em um contêiner sem nenhuma adaptação ou alteração no código-fonte.
A tecnologia de contêiner é usada em vários produtos Samsung, como Secure Folder e Knox Workspace.

Oportunidades de negócios
Todos os mecanismos acima são de particular importância ao usar dispositivos móveis em um ambiente corporativo. Essa questão merece uma consideração separada; portanto, aqui nos restringimos à imagem:

Fontes adicionais sobre o tópico:

Publicado por: Vladimir Karacharov,
Gerente de Pré e Pós Vendas B2B
Equipe de desenvolvimento de negócios
Instituto de P&D da Samsung na Rússia