Mesmo que você simplesmente introduza tais definições e padrões, é difícil se referir ao texto original. Como pude apresentar várias coisas neste blog, apresentarei definições de segurança, padrões, guias, etc. que os desenvolvedores de software devem conhecer.

Conteúdo

  • 1 Definição de medidas de segurança
  • 2 Avaliação das medidas de segurança
  • 3 Conceitos de codificação segura
  • 4 Medidas específicas para medidas de segurança
  • 5 Resumo
    • 5.1 Total
    • 5.2 Relacionado

Definição de medidas de segurança

Se a definição estiver errada em primeiro lugar, os botões errados não pararão. Primeiro, devemos entender a definição correta. A segurança do software é basicamente a mesma que a definição de outras medidas de segurança. A ISO 27000 define uma ampla gama de medidas de segurança de TI. Claro, também existem definições de termos.

Grosso modo, deve-se entender que a essência das medidas de segurança é a mitigação.

A ISO 27000 é uma norma internacional que forma a base do ISMS, um sistema de certificação de segurança adotado por muitas empresas. Os engenheiros de TI, que deveriam ser especialistas, não são confiáveis ​​se usarem uma definição de medidas de segurança diferente do SGSI. Segure-o com firmeza.

Avaliação das medidas de segurança

Entender como as medidas de segurança são avaliadas é o próximo passo importante. As medidas de segurança não tratam apenas de reduzir/mitigar/eliminar riscos. O que aumenta o risco também é uma medida de segurança. O uso de qualquer código/software certamente aumenta a ameaça a esse código/software e seus dados associados. A ISO 13335 tem muitas sobreposições com a ISO 27000 e está atualmente obsoleta, mas acho que a ISO 13335 ainda é uma referência útil para entender essa área.

Eu acho que é bom se referir ao documento ISO, mas este blog também o resume facilmente.

Avalie as medidas de segurança de várias perspectivas. As medidas de segurança não apenas reduzem o risco, mas muitas vezes o aumentam. Nenhuma medida de segurança é sempre suficiente para abordar totalmente os riscos. É essencial avaliar corretamente os riscos residuais, introduzir contramedidas apropriadas e gerenciá-los com um ciclo de gerenciamento adequado.

O conceito de codificação segura

Medidas de segurança contra riscos específicos são importantes, mas a ideia básica é ainda mais importante. Como você cria um software seguro? Sem entender o conceito básico, as contramedidas contra riscos individuais por si só não serão contramedidas abrangentes/fundamentais. Porque novos riscos estão sempre surgindo.

Para entender o mecanismo básico de codificação segura, acho que programação/design por contrato é bom.

A ideia básica de codificação segura/programação defensiva não é difícil. Um entendimento lógico/sistemático de codificação segura é necessário para todos os desenvolvedores.

referência:

Medidas de segurança específicas

Existem coisas para aplicações web, mas acho que existem poucos sistemas hoje em dia que não possuem uma interface web. Embora não seja uma medida específica específica para uma linguagem de programação específica, é uma diretriz para medidas individuais e específicas baseadas no conceito básico de codificação segura.

OWASP publica Cheat Sheets que resumem brevemente contramedidas específicas. Muitos documentos foram publicados que resumem de forma concisa várias medidas de segurança, como linguagens e estruturas, de processos críticos de segurança comuns.

O CERT publica padrões de codificação seguros que são organizados sistematicamente por linguagem de programação.

  • CERT: C/C++/Android/Java/PERL https://www.securecoding.cert.org/confluence/display/seccode/SEI+CERT+Coding+Standards

Além disso, as informações do MITRE são úteis para vulnerabilidades individuais/específicas e suas contramedidas.

  • Banco de dados de vulnerabilidades de produtos/software CVE (vulnerabilidades e exposições comuns)
    • https://cve.mitre.org/
    • http://nvd.nist.gov/
  • Catálogo de Vulnerabilidades CWE (Common Weakness Enumeration)
    • https://cwe.mitre.org/
  • CAPEC (Common Attack Pattern Enumeration and Classification) Catálogo de Padrões de Ataque
    • https://capec.mitre.org/

A MITRE também coleta outras informações, como SCAP. O documento NIST também é útil.

Resumo

A ordem de importância é de cima para baixo. A comunicação não é possível se as definições dos termos forem diferentes. A definição ISO é uma definição lógica/sistemática. Mesmo que você entenda a terminologia das medidas de segurança, saiba como avaliar as medidas de segurança padrão e entenda a essência da codificação segura/programação defensiva, você pode escrever um código muito mais seguro do que se não souber essas coisas. ”.

Se você tiver uma recomendação para adicionar isso também, deixe um comentário.

referência:


Autor: Yasuo Ogaki

Artigo Original