A cibersegurança é um dos maiores desafios da sociedade contemporânea. Com o avanço das tecnologias digitais e a sempre crescente dependência de sistemas de informação para execução das mais diversas atividades, a proteção dos dados e dos recursos computacionais se torna cada vez mais crítica. Não são poucos os casos de ataques cibernéticos que causam prejuízos financeiros, danos à reputação, violação da privacidade e até mesmo riscos à segurança nacional.
Diante desse cenário, é fundamental que os profissionais envolvidos no desenvolvimento, na implementação e na gestão de sistemas de informação adotem práticas de design seguro, ou seja, que considerem a segurança como um requisito essencial desde a concepção até a operação e manutenção dos sistemas e infraestrutura. O design seguro é uma questão de responsabilidade, pois visa garantir que todo o ecossistema seja confiável, íntegro e resiliente diante das ameaças cibernéticas.
Mas o que significa design seguro? Quais são os princípios que orientam essa abordagem? Os princípios de design seguro são diretrizes que cada empresa deve possuir visando orientar seus profissionais a projetar ambientes e sistemas que sejam capazes de prevenir, detectar e responder aos ataques cibernéticos, minimizando os seus impactos e maximizando a sua recuperação. Esses princípios podem variar de acordo com o contexto e o objetivo de cada organização, mas alguns deles são considerados universais e aplicáveis a qualquer situação.
- Defense in Depth: esse princípio consiste em usar múltiplos controles de segurança em camadas, de forma coordenada e complementar. O objetivo é reduzir a probabilidade de um incidente, pois o atacante teria que burlar diferentes tipos de proteção. A regra prática é que quanto mais sensível é o ativo, mais camadas de proteção ele deve possuir. Este princípio olha para a segurança de fora para dentro. Por exemplo, um banco de dados que contém informações pessoais dos clientes deve ter mais controles de segurança do que um site institucional que contém informações públicas.¹
- Zero Trust: consiste em considerar toda entidade como hostil até que se prove o contrário. Isso significa que não se deve confiar em nenhum usuário, dispositivo ou rede sem antes verificar a sua identidade, autorização, bem como outros padrões pré-estabelecidos. O zero trust considera a "confiança" como uma vulnerabilidade e busca eliminar os pontos cegos da segurança. Uma arquitetura zero trust é construída de dentro para fora, ou seja, parte do pressuposto de que o atacante já está dentro do sistema e busca limitar o seu acesso e movimentação.
- Trust but Verify: por meio de mecanismos de auditoria e monitoramento, consiste em sempre verificar as entidades conhecidas e comportamentos confiáveis. O objetivo é garantir que não haja desvios ou fraudes. O trust but verify reconhece que os procedimentos são tão importantes quanto a tecnologia e busca criar uma cultura de responsabilização e transparência.³
- Shared Responsibility: reconhecer que a segurança é uma responsabilidade compartilhada entre todos os envolvidos é a base desse princípio. Isso significa que cada parte deve cumprir o seu papel na proteção dos ativos e na mitigação dos riscos. O shared responsibility é especialmente relevante em situações onde há um provedor de serviço que é responsável por certos controles de segurança, como é o caso da computação em nuvem. Nesse caso, é preciso definir claramente as responsabilidades de cada parte e estabelecer acordos de nível de serviço. Além disso, o princípio de responsabilidade compartilhada, quando corretamente compreendido pelas demais áreas de negócio da empresa, atua como grande impulsionador para o aumento de maturidade da cibersegurança nas empresas.
- Separation of Duties: É importante considerar o elemento humano no design da arquitetura de segurança. Esse princípio consiste em separar as funções e os acessos dos usuários, de acordo com o seu nível de autoridade e responsabilidade. O objetivo é evitar que uma única pessoa tenha a possibilidade de, intencionalmente ou não, causar perdas para a organização. O separation of duties visa garantir que haja um controle cruzado e uma segregação de interesses entre os usuários. Os critérios de acesso podem ser definidos por funções, grupos, localizações, tempo ou tipos de transação.
- Least Privilege: esse princípio consiste em conceder aos usuários apenas os acessos e permissões necessários para a execução de suas atividades, e nada mais. Um dos objetivos é reduzir a exposição e o impacto de um ataque, pois o atacante teria menos recursos para explorar caso uma conta seja comprometida. O least privilege visa garantir que os usuários não tenham mais privilégios do que precisam e que os privilégios sejam revogados quando não forem mais necessários. Os princípios de "need-to-know" e "least privilege" são similares e devem ser aplicados de forma contínua.
- Keep it Simple: Também conhecido como KISS (Keep it Simple, Silly), visa manter os ambientes e sistemas o mais simples possível, evitando complexidades
desnecessárias que possam comprometer a segurança. O objetivo é facilitar a compreensão, a manutenção ao longo do tempo e a auditoria dos sistemas, pois quanto mais complexo é um ambiente, maior é a chance de erros ou vulnerabilidades surgirem, inclusive vulnerabilidades não conhecidas pelo próprio time. O keep it simple visa garantir que os sistemas sejam projetados com clareza,
consistência e modularidade, seguindo padrões e boas práticas de mercado. A muito tempo conhecido pela comunidade de desenvolvimento como "Defects per KLOC (kilo-lines of code)". A ideia é que, quanto mais código você escreve, maior a chance de cometer um erro que não perceba. Similarmente, quanto mais granulares/únicos forem seus ativos, políticas e configurações, maior será a possibilidade de uma vulnerabilidade não percebida.
- Secure Defaults: esse princípio consiste em configurar os sistemas de forma que a segurança prevaleça sobre a usabilidade e a funcionalidade. O objetivo é evitar que os usuários façam escolhas inseguras ou que deixem os sistemas desprotegidos por falta de conhecimento ou atenção, ou seja, iniciar tudo em uma posição de extrema segurança e, intencionalmente, ajustar as configurações à medida que forem necessárias. O secure defaults visa garantir que os sistemas sejam iniciados em um estado seguro e que as configurações sejam ajustadas apenas quando necessário.
- Fail Secure: esse princípio consiste em projetar os sistemas de forma que eles se comportem de maneira previsível e não comprometedora em caso de erro ou falha. O objetivo é evitar que os sistemas e ambientes fiquem vulneráveis diante de uma situação anormal ou adversa. O fail secure visa garantir que os sistemas sejam resilientes e capazes de se recuperar rapidamente. Princípio amplamente utilizado em controles de segurança física, como portas eletrônicas, que abrem
automaticamente em caso de detecção de incêndio. Outro exemplo prático, são alguns navegadores de internet que, em caso de acesso a página com falha no certificado digital, bloqueio o acesso e alertam o usuário em tela.
- Privacy by Design: esse princípio consiste em incorporar a privacidade como um requisito fundamental no design dos sistemas, considerando todos os aspectos legais, éticos e sociais envolvidos no tratamento dos dados pessoais. O objetivo é proteger os direitos e as expectativas dos titulares dos dados, evitando violações ou abusos. O privacy by design visa garantir que os sistemas sigam os sete princípios fundamentais propostos por Ann Cavoukian, líder e especialista mundialmente renomada em segurança e privacidade de dados:
- Proativo, e não reativo. Preventivo, e não corretivo.
- Privacidade como configuração padrão.
- Privacidade embutida/incorporada ao design.
- Totalmente funcional – soma positiva, não soma zero.
- Segurança fim-a-fim – proteção de todo ciclo de vida.
- Visibilidade e transparência – keep it open.
- Respeito pela privacidade dos usuários – keep it user centric.
Esses são alguns dos princípios de design seguro que devem ser considerados para práticas de cibersegurança no mundo corporativo. Eles podem servir como um guia para as empresas e profissionais que buscam desenvolver sistemas e infraestruturas mais seguras e confiáveis. No entanto, eles não são suficientes por si só. Também é preciso ter uma visão holística e estratégica da segurança, considerando o contexto, objetivo e risco de cada empresa. Além disso, é preciso estar sempre atento às mudanças tecnológicas, novas ameaças cibernéticas e a evolução das leis e regulamentações de privacidade de dados, buscando atualizar constantemente os conhecimentos e as práticas de segurança.
Por fim, é preciso deixar explícito que, o design seguro é uma questão de responsabilidade de todos os profissionais envolvidos no desenvolvimento, na implementação, na operação e gestão e no uso de sistemas de informação. Ou seja, o design seguro é uma responsabilidade de todos na empresa! A cibersegurança não é um problema técnico que pode ser completamente resolvido com soluções tecnológicas. É um desafio complexo e dinâmico que exige uma abordagem integrada e multidisciplinar. Por isso, é preciso que os profissionais sejam capacitados e colaboradores conscientizados sobre a importância da segurança e dos princípios de design seguro. Somente assim será possível construir ecossistemas, que hospedam e suportam as entregas de produtos e serviços cada vez mais críticos para a sociedade, mais seguros e confiáveis.
Carlos Araujo Jr., Senior Director e Antonio Gesteira, Senior Managing Director.