DevSecOps

11 mar, 2013

Princípios do design de segurança

Publicidade

Garantir a segurança de um sistema não é fácil. Sabemos disso. Mais difícil ainda é assegurar que ele está preparado para operar em um nível de segurança necessário para evitar danos que resultem na perda, inexatidão, alteração, indisponibilidade ou uso indevido de seus dados e recursos.

Conhecer técnicas, ou melhor, princípios de segurança, pode nos ajudar a modelar nossos sistemas de uma maneira mais adequada e com um nível que agrade aos nossos clientes. Aqui vão alguns dos princípios que podem nos ajudar nesse trabalho:

  • Menor privilégio: limite o acesso ao nível mínimo, dando a cada elemento somente os privilégios que ele solicita e quando solicita.
  • Falha de segurança por padrões: negue o acesso se a permissão está ausente. A permissão de acesso padrão deve ser nenhuma.
  • Economia de mecanismo: construa um mecanismo de segurança o mais simples possível. Isole, consolide e minimize os controles de segurança.
  • Medição completa: cheque todos os acessos e garanta que eles são permitidos. Garanta que tentativas de acesso não violem quaisquer propriedades de segurança.
  • Design aberto: construa um mecanismo de segurança que não dependa do sigilo de sua concepção e/ou implementação, nem da ignorância do usuário.
  • Separação de privilégio: introduza múltiplas camadas de verificação para evitar exploração de privilégios. Não dê permissão baseado numa única condição.
  • Mecanismo menos comum: limite o compartilhamento de recursos críticos somente a poucos usuários.
  • Aceitabilidade psicológica: construa mecanismos de segurança usáveis, de forma que o acesso seja mais fácil com eles do que sem eles.
  • Defesa em profundidade: tenha múltiplas camadas de defesa para desencorajar possíveis ataques, onde cada camada tenha suas próprias medidas de segurança.

Citados os princípios, vem a questão: existe uma receita para a garantia da segurança? Sinceramente, não posso afirmar isso. Mas o fato é que normalmente só damos a devida importância para esses aspectos quando levamos aquele baita tombo. Aí, muitas das vezes, já era. Pensar em uma arquitetura que contemple pelo menos alguns dos (senão todos) princípios aqui citados pode ajudar, e muito, nessa tarefa, que depende de muita força de vontade e disciplina das equipes.

Pelo que entendo, a base da segurança é simplicidade e restrição. Simplicidade, onde o menos é mais, e restrição, minimizando o acesso, concedendo somente o que é necessário.

Keep calm and safe. Até a próxima.