Práticas de Segurança em Produtos – Recomendações da CISA

Foto de Júlia Valim

Júlia Valim

Práticas de Segurança em Produtos - Recomendações da CISA

A segurança cibernética é um aspecto fundamental no desenvolvimento de produtos tecnológicos e por isso, a aplicação de práticas rigorosas e reconhecidas por organizações relevantes da área se torna essencial. A CISA (Cybersecurity and Infrastructure Security Agency), junto a Secure by Design trazem as principais recomendações a fim de construir uma segurança em produtos rebuscada.

 

Princípios Fundamentais da Segurança Cibernética

Antes de aprofundarmos nas práticas de segurança, é importante compreender os princípios centrais da segurança cibernética que guiam o desenvolvimento seguro de produtos:

Confidencialidade: proteger dados para que apenas usuários autorizados tenham acesso a informações sensíveis.

Integridade: garantir que as informações não sejam alteradas de forma não autorizada.

Disponibilidade: assegurar que os dados e sistemas estejam acessíveis aos usuários quando necessário.

Autenticidade: verificar que as informações ou sistemas sejam genuínos e não tenham sido falsificados.

Estes princípios fornecem a base para o desenvolvimento de produtos que protejam informações e sistemas críticos contra ataques cibernéticos.

 

Práticas de Segurança em Produtos segundo a CISA

Em parceria com o FBI, a CISA lançou um conjunto de práticas de segurança em produtos de software, destacando áreas essenciais que os fabricantes devem focar para mitigar riscos cibernéticos. As práticas estão relacionadas principalmente aos desafios do cenário atual de ameaças. Veja um comparativo entre problema e ações recomendadas:

Boas Práticas e Ações para Segurança em Produtos

 

01. Vulnerabilidades de Memória em Linguagens de Programação

Problema: linguagens de programação como C e C++ são frequentemente escolhidas para sistemas que exigem alta performance, mas podem apresentar falhas de segurança quando não são usadas corretamente. Essas linguagens permitem o acesso direto à memória, o que pode resultar em erros de programação, como estouros de buffer, que podem ser explorados por atacantes para sobrescrever áreas de memória críticas. Isso pode permitir a execução de código malicioso, resultando em comprometimento total do sistema.

Ação recomendada: adotar linguagens de programação que possuem um modelo de segurança de memória mais robusto, como Rust ou Go, que gerenciam a alocação e liberação de memória de forma mais segura. Para sistemas legados, a CISA recomenda que os desenvolvedores implementem uma estratégia de longo prazo para a transição para essas linguagens mais seguras.

 

02. Riscos de Injeção de SQL e Execução de Comandos

Problema: a injeção de SQL ocorre quando um hacker consegue manipular uma consulta SQL executada por um sistema, geralmente devido à inserção de dados maliciosos em campos de entrada do usuário, como formulários web. Isso pode permitir que o ataque acesse, altere ou exclua dados sensíveis do banco de dados. Da mesma forma, a execução de comandos do sistema operacional pode ocorrer quando um sistema permite que dados fornecidos pelo usuário sejam executados como comandos no servidor, o que pode ser explorado para comprometer o sistema.

Ação recomendada: a melhor prática para evitar essas falhas é utilizar consultas parametrizadas, que garantem que os dados do usuário não sejam tratados como parte do código SQL. Além disso, é importante verificar todos os dados de entrada do usuário para evitar que dados danosos sejam executados.

 

03. Uso de Senhas Padrão

Problema: produtos de software que vêm com senhas padrão, muitas vezes fáceis de adivinhar, deixam os sistemas vulneráveis a ataques. Isso acontece principalmente quando o usuário final não altera a senha após a instalação ou configuração do sistema, tornando os produtos um alvo fácil para atacantes.

Ação recomendada: remover senhas padrão e garantir que os produtos exijam que o usuário configure senhas fortes e únicas no momento da instalação. Também é altamente recomendada a implementação de autenticação multifatorial (MFA) para adicionar uma camada extra de segurança.

 

04. Falta de Correção Rápida de Vulnerabilidades Conhecidas

Problema: vulnerabilidades que já foram descobertas e divulgadas são frequentemente exploradas por atacantes antes que as correções sejam implementadas. A falha em corrigir rapidamente essas vulnerabilidades, especialmente as conhecidas por sua exploração ativa (KEVs), pode resultar em ataques devastadores, já que os invasores têm conhecimento da falha e podem criar ferramentas automatizadas para explorá-la.

Ação recomendada: adotar uma abordagem rápida e eficaz para corrigir as vulnerabilidades conhecidas, fornecendo atualizações de segurança regulares e aplicando patches de maneira eficiente. Isso inclui garantir que as atualizações sejam feitas de forma contínua e sem custo para os usuários.

 

05. Uso Inadequado de Software de Código Aberto

Problema: o software de código aberto oferece vantagens, como flexibilidade e baixo custo, mas também pode apresentar riscos de segurança. Dependências de código aberto não gerenciadas adequadamente podem conter vulnerabilidades não corrigidas ou código malicioso. Se as versões de código aberto utilizadas não forem mantidas ou atualizadas, o sistema pode estar exposto a falhas de segurança conhecidas.

Ação recomendada: implementar uma gestão rigorosa das dependências de código aberto, mantendo um inventário detalhado (SBOM) e realizando auditorias frequentes para verificar a presença de vulnerabilidades. Também é importante garantir que as versões de código aberto estejam sempre atualizadas com os patches de segurança mais recentes.

 

06. Exposição de Dados Sensíveis

Problema: algoritmos criptografados de modo fraco ou obsoleto podem ser facilmente quebrados por invasores, colocando em risco a confidencialidade e integridade dos dados sensíveis armazenados ou transmitidos. O uso de métodos de criptografia desatualizados, como o MD5 ou DES, pode permitir que atacantes interceptem ou manipulem informações confidenciais.

Ação recomendada: utilizar criptografia moderna e segura, como TLS 1.2 ou superior, para proteger os dados em trânsito. Para dados armazenados, deve-se adotar criptografia forte e evitar o uso de algoritmos vulneráveis.

 

07. Falta de Autenticação Multifatorial (MFA)

Problema: a ausência de MFA torna os sistemas vulneráveis a ataques, como o roubo de credenciais. Mesmo que um invasor consiga obter as credenciais de um usuário, sem a MFA, ainda pode acessar sistemas críticos. Isso aumenta o risco de comprometimento de dados sensíveis, especialmente em sistemas que possuem privilégios elevados ou dados financeiros.

Ação recomendada: adotar MFA como padrão, especialmente para acessos administrativos ou de alta privacidade. Isso adiciona uma camada extra de segurança, tornando mais difícil para os atacantes acessarem sistemas críticos, mesmo que consigam roubar as credenciais de login.

 

08. Armazenamento Inseguro de Credenciais

Problema: armazenar credenciais e outros segredos diretamente no código-fonte ou em locais não seguros pode levar à exposição inadvertida desses dados sensíveis. Isso é um risco significativo, pois qualquer vazamento ou acesso não autorizado ao repositório de código pode comprometer todas as credenciais armazenadas.

Ação recomendada: utilizar ferramentas especializadas de gerenciamento de credenciais para armazenar de maneira segura esses dados sensíveis. Isso garante que as credenciais não sejam expostas diretamente no código e que sejam mantidas em locais protegidos.

 

09. Falta de Transparência na Divulgação de Vulnerabilidades

Problema: a falta de uma política clara e transparente para a divulgação de vulnerabilidades pode atrasar o processo de correção e aumentar o risco de exploração de falhas conhecidas. Quando os fabricantes não comunicam adequadamente as vulnerabilidades, isso pode levar à desinformação e à incapacidade dos usuários de proteger os sistemas.

Ação recomendada: estabelecer uma Política de Divulgação de Vulnerabilidades (VDP) clara e pública. Isso ajuda a criar uma comunicação eficiente entre desenvolvedores, pesquisadores de segurança e usuários finais, garantindo que as falhas sejam corrigidas de forma rápida e eficaz, minimizando o impacto de ataques.

 

As práticas recomendadas pela CISA e outras entidades fornecem um roteiro para mitigar os riscos associados a segurança em produtos. É importante que empresas adotem uma abordagem proativa, acompanhando cada etapa do desenvolvimento e aplicação do produto.

Clique aqui e descubra ferramentas que ajudam sua empresa a cumprir as boas práticas de segurança.

Siga-nos nas redes sociais para saber das principais novidades e notícias voltadas para segurança cibernética.

veja também

Outros conteúdos sobre Segurança Cibernética