domingo, 14 de maio de 2017

Aspectos de segurança dos dispositivos Chrome



O que esperar de um sistema de computação pessoal

Quando o usuário abre um terminal de computador espera que o sistema funcione adequadamente e proporcione segurança para o seu trabalho. Porém, a realidade que estamos acostumados a encontrar é exatamente oposta. Somos constantemente abordados por códigos maliciosos, rasomwares e phishings que tentam induzir-nos a revelar informações sensíveis ou a instalar programas potencialmente perigosos. Os sistemas atuais tem bastante dificuldade em nos proteger, então o que há de errado na abordagem adotada pelos atuais fabricantes de sistemas operacionais?

Podemos debater por horas sobre os principais motivos que levam ao fracasso das implementações de segurança, mas acredito que a principal causa esteja associada ao fato de que estes sistemas foram projetados em uma época em que a segurança não era tão crítica como é hoje em dia.

Na época que estes sistemas foram originalmente construídos não havia o nível de conectividade que existe atualmente. No passado, para acessar os dados do seu computador era necessário possuir acesso físico ao seu dispositivo ou pelo menos estar na mesma rede local que ele se encontrasse, hoje é possível fazê-lo do outro lado do mundo com alguns poucos cliques. É fácil perceber que não havia muito motivo para se preocupar com a segurança naquela época.

Chrome OS, pensado para ser seguro desde a primeira linha de código

A Google é obcecada por segurança. Isto pode ser constatado lendo inúmeros artigos relacionados ao assunto na Internet, então quando seus engenheiros projetaram o sistema operacional para o seu novo computador eles tiveram o cuidado de criar uma solução que refletisse esta filosofia.

Diferente das outras plataformas que tentam resolver o problema adicionando novas camadas de código que muitas vezes não se acoplam perfeitamente na arquitetura de seus sistemas, os projetistas do Chrome OS optaram pela simplicidade e eficiência. O resultado final foi um sistema fácil de usar, performático e confiável.

Recursos de segurança dos dispositivos chrome

Então vejamos os principais mecanismos da arquitetura do Chrome OS desenvolvido para atingir o objetivo de torná-lo seguro para o mundo de hoje. Neste artigo iremos abordar os seguintes pontos: 
  • Inicialização confirmada
  • Partição raiz redundante
  • Sistema de arquivo criptografado
  • Atualização automática
  • Sandboxing
  • Modo de recuperação

Inicialização confirmada

O processo de inicialização do Chome OS divide-se em 3 etapas. Cada uma possuindo seu próprio mecanismo de verificação de integridade para validar a etapa seguinte e posteriormente carregar o SO na RAM do computador. 

Na primeira fase o firmware armazenado na EEPROM faz uma checagem da assinatura digital das imagens componentes da segunda etapa (firmware de leitura e gravação). Caso a verificação seja bem sucedida o controle é transferido para este componente.

O processo continua iniciando um dos dois firmwares que passa agir como boot loader principal enquanto o segundo tem a função de backup. Assim que o firmware assume o controle, verifica, novamente por assinatura digital, a integridade do master boot record, initrd e do kernel do sistema, todos armazenados na memória não volátil do computador.

O Chrome OS garante que a imagem do sistema operacional seja verificada e confirmada contra violação de integridade. Após o firmware responsável pela análise da área não volátil constatar que os componentes de inicialização estão íntegros, o controle é passado para o kernel do SO. O resto do sistema é testado por demanda, verificando bloco a blocos a medida que estes forem sendo requisitados.




Caso a checagem de uma das duas imagens do firmware de leitura e gravação ou ambas falhem, uma das seguintes ações é invocada:
  • Se a imagem principal estiver integra mas a backup não,  é feita uma cópia da primeira imagem para a segunda.
  • Se a imagem principal estiver danificada e a backup integra é feito uma verificação de existência de uma nova versão do firmware, se existir, o novo firmware será instalado, caso contrário, o firmware backup será copiado para a imagem principal.
  • Se ambas tiverem corrompidas, o sistema falha e entra em modo de recuperação e precisará de intervenção manual para corrigir a falha.
Algo semelhante ocorre para a partição de sistema (rootfs) e mecanismos de recuperação são acionados a medida que for necessário. 

Partição raiz redundante

O Chrome OS possui duas partições onde todo o SO é armazenado de forma redundante, Isto permite fornecer um sistema tolerante a falhas. Caso uma partição seja corrompida, o sistema será iniciado a partir da outra partição e corrigirá a danificada em segundo plano.

Este esquema de partição dupla permite também que o Chrome OS execute a atualização do sistema operacional em segundo plano de forma segura e transparente para o usuário, pois caso ocorra uma falha na atualização do sistema que danifique a imagem atualizada, o sistema poderá se recuperar à partir da versão integra.  


Sistema de arquivo criptografado

O Chorme OS é projetado para trabalhar na nuvem, mas permite também que o usuário armazene arquivos localmente. Ele separa os dados do usuário em um sistema de arquivo totalmente criptografado, próprio para esta finalidade. Esta partição é criptografada com chaves individualizadas por usuário. Isso teoricamente evita que seus dados sejam lidos por outras pessoas que tenham acesso físico ao seu dispositivo. A única forma de pessoas não autorizadas acessarem seus dados é por meio de sua sessão ativa (no caso por exemplo que você tenha deixado o seu computador desbloqueado).

Isto é uma grande vantagem para empresas que precisam ter mobilidade, mas que se preocupam por terem seus dados acessados indevidamente por terceiros. Em caso de perda ou roubo, os dados não serão acessíveis de forma legível por estranhos e o dispositivo poderá ser bloqueado remotamente pelo administrador através da ferramenta de gerenciamento de dispositivos do chrome.


Atualização automática

A Google tem um ciclo de liberação de release bem curto, cerca de 6 ou 8 semanas para cada versão, e como poucos usuários se preocupam em atualizar seus sistemas, isso acabaria deixando o sistema vulnerável a ataque de hackers.

Para resolver este problema, a Google optou por forçar a atualização dos seus dispositivos e para garantir que este processo fosse seguro e menos intrusivo possível foi desenvolvido um método de atualização em segundo plano utilizando a partição secundária. Desta forma o usuário recebe atualizações sem impactar a sua produtividade e a atualização é ativada assim que o computador é reiniciado.

Uma vantagem extra dessa solução é que caso a atualização não seja bem sucedida, o sistema reverterá o computador ao último estado válido, evitando que o usuário perca acesso ao sistema.


Sandboxing

No Chrome OS cada aplicações web é isolada em um processo próprio com seu nível de privilégio associado, este recurso chama-se sandbox. Isto cria um isolamento de processos utilizando mecanismos de segurança nativos do próprio Linux.

Este método reforça a segurança, impedindo que um ataque bem sucedido se estenda para todo o ambiente e fique confinado no perímetro do domínio do processo.  O sandbox apesar de ser seguro não é totalmente isento a falhas como já foi demostrado no passado.

É importante observar que este recurso está sendo constantemente aprimorado e novas funcionalidades estão sendo incorporadas regularmente e sempre que uma vulnerabilidade é descoberta, os desenvolvedores tentam corrigi-la o mais rápido possível.


Modo de recuperação

Como visto anteriormente, o Chrome OS tem um método de verificação de integridade de sistema eficiente que garante que uma imagem danificada ou modificada de forma não planejada seja detectada e corrigida. Isso assegura que o usuário execute o sistema de forma confiável.

Porém caso ocorra algum corrompimento da imagem do sistema, o Chrome OS dispõe de um mecanismo para reverter ao seu estado normal de operação. Durante a fase de inicialização, se o sistema determinar que ambas imagens estão danificadas entrará em modo de recuperação e, através de um firmware destinado para esta finalidade, o usuário poderá colocar novamente a casa em ordem.

100% seguro

O Chrome OS é bem projetado e bastante eficiente, sendo considerado um dos sistemas operacionais mais seguros do mercado. Porém em se tratando de tecnologia da informação sabemos que nada é 100% seguro e o Chrome OS não é exceção à regra. Um ataque bem produzido, explorando alguma vulnerabilidade desconhecida, pode contornar os mecanismos de defesa do sistema. Se isso ocorrer o SO ficará vulnerável até que uma nova reinicialização ocorra e a checagem de integridade do sistema corrija o problema.

Um sistema que não é regularmente reiniciado pode ficar comprometido por muito tempo e causar danos irreparáveis ao seu usuário. Por isso é recomendável efetuar reboots regulares em seu dispositivo Chrome.

Todos nós esperamos que a Google continue realizando o ótimo trabalho que vem apresentando até agora e otimize o Chrome OS cada vez mais para que possamos usar nossos computadores de forma mais segura possível.

Este artigo fez uma abordagem superficial dos principais aspectos de segurança do Chrome OS. Espero que vocês tenham apreciado e tido uma boa visão deste assunto. Caso tenham alguma sugestão de tema que gostariam de ver aqui no Chrome OS Revolution deixem seus pedidos nos comentários. Obrigado e até breve.


Fonte de pesquisa:

http://www.chromium.org/chromium-os/chromiumos-design-docs/security-overview
https://pdfs.semanticscholar.org/ad84/299dbbe3008cc47c2b5a0269656059ebc6ef.pdf



Nenhum comentário:

Postar um comentário