Proteger dados confidenciais de aplicativo contra exposição
Objetivos de aprendizagem
Após concluir esta unidade, você estará apto a:
- Listar as vantagens da proteção e da criptografia dos dados.
- Descrever métodos de ataque que podem levar à exposição de dados confidenciais.
Proteção e criptografia dos dados
Quando se trata de proteger dados confidenciais contra exposição, os engenheiros de segurança de aplicativos implementam uma ferramenta poderosa chamada criptografia. A criptografia é um método pelo qual texto sem formatação (por exemplo, as palavras que você está lendo) ou outros tipos de dados, como imagens, são convertidos de formato legível para uma versão codificada que pode ser descodificada somente se a outra pessoa tem acesso à chave de descriptografia. Nesta unidade, veremos algumas das funções avançadas da criptografia e da proteção de dados que os engenheiros de segurança de aplicativos usam.
Os engenheiros de segurança de aplicativos têm um papel importante na proteção do compartilhamento de dados (por exemplo, o envio de um email), na proteção de segredos (como senhas) e na proteção de armazenamento criptográfico (por exemplo, dados em um servidor). Eles protegem dados confidenciais, que podem ser informações financeiras, registros de saúde ou informações de identificação pessoal (PII), por exemplo, o número do INSS de alguém. Os engenheiros trabalham para proteger todas as transmissões de dados, criptografar dados inativos e em trânsito e usar algoritmos fortes e o devido gerenciamento de chaves na hora de implementar a criptografia.
Os engenheiros de segurança de aplicativos usam criptografia para proteger dados inativos e em trânsito contra roubo ou modificação, especialmente na troca entre usuários, aplicativos e navegadores. Os engenheiros implementam a criptografia no nível do armazenamento em um servidor; no nível do banco de dados em tabelas, colunas e linhas; em protocolos de transporte, por exemplo, Secure Hypertext Transport Protocol (HTTPS) ou Transport Layer Security (TLS) e no cliente (lado do navegador).
A implementação de criptografia com esses protocolos garante a privacidade, a autenticação e a integridade dos dados nas comunicações pela Internet. O uso de criptografia nessas várias camadas impede que agentes hostis interceptem comunicações, adulterem dados ou falsifiquem mensagens.
Proteção contra exposição de dados confidenciais
A exposição de dados confidenciais ocorre quando invasores conseguem acessar dados inativos ou em trânsito não criptografados. Dependendo do domínio de um aplicativo, dados confidenciais poderiam ser expostos, por exemplo, PII, registros de saúde, credenciais ou números de cartão de crédito, e prejudicar a organização e seus clientes.
Um invasor pode tentar expor dados confidenciais de maneiras diferentes. Ele pode tentar roubar chaves de criptografia, dados de texto sem formatação de um servidor durante o trânsito do cliente do usuário (navegador) ou dados inativos em outro lugar, por exemplo, um disco rígido. Ele pode também tentar fazer um ataque man-in-the-middle (MITM). Esse tipo de ataque pode ocorrer quando um usuário está se comunicando com outra pessoa por meio de um ponto de acesso sem fio não criptografado. O invasor consegue se infiltrar entre as duas partes e interceptar sua conversa e suas mensagens. Ele pode até injetar novas mensagens enquanto as vítimas acham que estão falando diretamente uma com a outra em uma conexão privada.
Os engenheiros de segurança de aplicativos precisam definitivamente se preocupar com a exposição de dados confidenciais. Esse é um risco comum e grave do qual os invasores procuram se aproveitar. No entanto, existem muitas coisas que os engenheiros de segurança de aplicativos podem fazer para avaliar as vulnerabilidades de exposição de dados confidenciais nos aplicativos e melhorar a proteção.
Os engenheiros começam confirmando os tipos de dados armazenados e transmitidos pelo aplicativo, o nível de confidencialidade desses dados e como eles precisam ser protegidos sob uma perspectiva regulatória e de risco.
Depois, os engenheiros avaliam se os dados são transmitidos em texto sem formatação e implementam TLS para proteger os dados em trânsito. Eles também verificam se os aplicativos da web foram criados para trabalhar somente com HTTPS, que é uma versão de um site que criptografa dados em trânsito, em vez de HTTP, que não faz isso. Depois que eles confirmam a criptografia dos dados em trânsito, avaliam também como a pilha tecnológica armazena os dados confidenciais, incluindo backups, e confirmam a criptografia de todos os dados confidenciais inativos.
O uso e a compreensão de criptografia são tópicos muito complexos, ou seja, os engenheiros de segurança de aplicativos consultam especialistas em criptografia na organização para ajudá-los a avaliar melhor seu uso na proteção dos dados confidenciais da organização. Eles fazem perguntas sobre a força dos algoritmos usados para criptografar os dados e como as chaves dos dados são usadas, gerenciadas e giradas. Para saber mais sobre como ter uma criptografia forte, consulte o recurso do OWASP sobre como testar se a criptografia é fraca.
Resumo
Você viu como os engenheiros de segurança de aplicativos usam criptografia para proteger dados confidenciais contra exposição. Agora é hora de ver como os engenheiros de segurança de aplicativos implementam registro em log e monitoramento para detectar invasões no aplicativo.