Design para proteger a integridade
Evite que o design, a implementação, as operações e os dados sejam corrompidos para evitar interrupções que possam impedir o sistema de funcionar como esperado ou fazê-lo operar fora dos limites estabelecidos. O sistema deve fornecer a garantia das informações ao longo do ciclo de vida da carga de trabalho. |
---|
A chave é implementar controles que evitem a adulteração da lógica de negócios, dos fluxos, dos processos de implantação, dos dados e até mesmo dos componentes mais básicos, como o sistema operacional e a sequência de inicialização. A falta de integridade pode introduzir vulnerabilidades que podem levar a violações de confidencialidade e disponibilidade.
Cenário de exemplo
A Contoso Paint Systems cria sistemas de detecção de vapor e controle de ventilação para máquinas industriais de pintura por pulverização. O sistema também é usado para capturar automaticamente dados sobre a qualidade do ar para fins de relatório de impacto ambiental. Eles têm um aplicativo baseado em nuvem que dão suporte a seus dispositivos IoT distribuídos pelas cabines de pintura. Os componentes locais do aplicativo são executados no Azure Stack HCI e em dispositivos IoT personalizados. O sistema está em fase de protótipo inicial e a equipe de carga de trabalho planeja lançar a versão de produção dentro de um ano.
Defenda sua cadeia de fornecedores
Proteja-se continuamente contra vulnerabilidades e detecte-as em sua cadeia de fornecedores para impedir que os invasores injetem falhas de software em sua infraestrutura, sistema de build, ferramentas, bibliotecas e outras dependências. As vulnerabilidades devem ser verificadas durante o tempo de build e de execução
Conhecer a origem do software e verificar sua autenticidade durante todo o ciclo de vida proporcionará previsibilidade. Você ficará ciente das vulnerabilidades com antecedência, permitindo que você as solucione proativamente e mantenha o sistema seguro em produção.
O desafio da Contoso
- A equipe de engenharia está implementando seus pipelines de build e lançamento, mas ainda não abordou a integridade do sistema de build.
- Eles optaram por usar algumas soluções de código aberto tanto no firmware quanto nos componentes de nuvem.
- Eles ouviram falar de como um comprometimento na cadeia de fornecedores ou de pessoas internas mal-intencionadas podem corromper o código, que pode então ser usado para interromper sistemas ou até mesmo extrair dados. Se os relatórios ambientais de seus clientes fossem afetados de tal forma que resultasse em falha na geração de relatórios ou em representações incorretas detectadas em uma auditoria, o impacto sobre a Contoso e seus clientes poderia ser catastrófico.
Aplicando a abordagem e os resultados
- A equipe modifica seus processos de build tanto para o firmware quanto para os sistemas em nuvem de back-end, e agora inclui etapas de verificação de segurança para alertar sobre vulnerabilidades e exposições comuns conhecidas (CVEs) nas dependências. Além disso, agora eles também incluem a verificação de malware do código e dos pacotes.
- Eles também analisam as opções de antimalware para execução no Azure Stack HCI, como o Controle de Aplicativos do Windows Defender.
- Essas medidas ajudam a aumentar a confiança de que o firmware e o software implantados como parte desta solução não executarão ações inesperadas, afetando a integridade do sistema ou os requisitos de relatórios ambientais do cliente.
Empregar mecanismos criptográficos fortes
Estabeleça confiança e verifique usando técnicas de criptografia, como assinatura de código, certificados e criptografia. Proteja esses mecanismos permitindo a descriptografia por fontes confiáveis.
Ao adotar essa abordagem, você saberá que as alterações nos dados ou o acesso ao sistema são verificados por uma fonte confiável.
Mesmo se os dados criptografados forem interceptados em trânsito por um ator mal-intencionado, esse ator não será capaz de desbloquear ou decifrar o conteúdo. Você pode usar assinaturas digitais para garantir que os dados não foram adulterados durante a transmissão.
O desafio da Contoso
- Os dispositivos selecionados para detecção e transferência de dados atualmente não possuem poder de processamento suficiente para dar suporte a HTTPS ou até mesmo criptografia personalizada.
- A equipe de carga de trabalho planeja usar limites de rede como técnica de isolamento primária.
- Uma análise de risco destacou que a comunicação não criptografada entre os dispositivos IoT e os sistemas de controle pode levar a adulterações, e a segmentação de rede não deve ser considerada suficiente.
Aplicando a abordagem e os resultados
- Trabalhando com o fabricante de seu dispositivo IoT personalizado, a equipe decide usar um dispositivo mais avançado que dá suporte não apenas à comunicação baseada em certificado, mas também dá suporte à validação de assinatura de código no chip, de modo que somente o firmware assinado será executado.
Otimizar a segurança de seus backups
Verifique se os dados de backup são imutáveis e criptografados quando replicados ou transferidos.
Ao adotar essa abordagem, você poderá recuperar dados com a confiança de que os dados de backup não foram alterados em repouso, de forma inadvertida ou maliciosa.
O desafio da Contoso
- Todos os meses, o relatório de emissões da Agência de Proteção Ambiental é gerado, mas esses relatórios só precisam ser enviados três vezes por ano.
- O relatório é gerado e depois armazenado em uma conta de Armazenamento do Azure até que seja necessário enviá-lo. Isso é feito como um backup no caso de o sistema de relatório sofrer um desastre.
- O próprio relatório de backup não está criptografado, mas é transferido por HTTPs para a conta de armazenamento.
Aplicando a abordagem e os resultados
- Após realizar uma análise de lacunas de segurança, a equipe percebe que deixar o backup sem criptografia é um risco que deve ser resolvido. A equipe resolve o risco criptografando o relatório e armazenando-o na opção de armazenamento imutável Write One, Read Many (WORM) do Armazenamento de Blobs do Azure.
- A nova abordagem garante que a integridade do backup seja mantida.
- Como uma medida adicional de integridade, o relatório gerado a partir do sistema principal agora compara um hash SHA com o backup autorizado para detectar qualquer adulteração na fonte de dados principal.