MASWE-0020: Criptografia Imprópria
Content in BETA
This content is in beta and still under active development, so it is subject to change any time (e.g. structure, IDs, content, URLs, etc.).
Visão Geral¶
Criptografia inadequada refere-se a sistemas ou implementações criptográficas que são vulneráveis a ataques, permitindo que indivíduos não autorizados decifrem dados protegidos.
Impacto¶
- Perda de Confidencialidade: Criptografia inadequada pode permitir que atacantes decifrem e obtenham informações sensíveis, resultando em exposição não autorizada e possíveis violações de dados.
- Perda de Integridade: Criptografia inadequada pode comprometer a integridade dos dados, permitindo que adversários alterem ou manipulem as informações sem detecção.
Modo de Introdução¶
- Algoritmos Inseguros: Depender de algoritmos de criptografia inseguros (ou seja, que foram descontinuados ou proibidos pelo NIST ou outros padrões), como RC4.
- Configurações de Algoritmos Arriscadas: Usar IVs (Vetores de Inicialização) com entropia insuficiente ou reutilizá-los em modos como AES-CBC ou AES-CTR quebra a segurança semântica, permitindo que atacantes detectem padrões ou recuperem diferenças de texto plano. Em modos AEAD como AES-GCM, reutilizar nonces ou usar tags de autenticação com comprimento insuficiente compromete tanto a confidencialidade quanto a integridade.
- Modos de Operação Inseguros: Usar modos considerados inseguros. Por exemplo, AES-ECB é inseguro devido a ataques práticos de texto plano conhecido e é proibido pelo NIST.
- Comprimento de Chave Insuficiente: O uso de tamanhos de chave insuficientes (por exemplo, chaves de 128 bits no AES) pode comprometer a força da criptografia, tornando-a suscetível a ataques de força bruta.
- Operações Não Criptográficas: Depender de técnicas como XOR, codificação Base64 ou métodos simples de ofuscação para fins de segurança. Esses métodos não fornecem criptografia real e podem ser facilmente revertidos ou decodificados, expondo dados sensíveis.
Mitigações¶
- Usar Modos de Criptografia Seguros: Escolher modos seguros (por exemplo, aprovados pelo NIST), como
AES/GCM/NoPadding. - Garantir Gerenciamento Adequado do Vetor de Inicialização: Gerar IVs usando geradores de números aleatórios criptograficamente seguros (com entropia suficiente) e garantir que sejam únicos para cada operação.
- Usar Chaves Suficientemente Longas: Impor chaves suficientemente longas, como as aprovadas pelo NIST, por exemplo, um mínimo de 256 bits para o AES.
- Confiabilidade em Primitivas Criptográficas Adequadas: Depender de primitivas criptográficas bem validadas que passaram por revisão rigorosa por pares e validação formal.
Tests¶
MASTG-TEST-0232: Modos de Criptografia Simétrica Comprometidos MASTG-TEST-0221: Algoritmos de Criptografia Simétrica Quebrados MASTG-TEST-0210: Algoritmos de Criptografia Simétrica Comprometidos