Estou um pouco farto do esclarecimento da programação segura, mas desta vez também é um tópico de programação segura. Anunciei no Facebook que a versão web do curso de programação segura da IPA estava programada para ser excluída, mas ainda não estava no blog, então vou apresentá-la junto.

Aqui está o que a ISO 27000 diz sobre programação segura. A série ISO 27000 é um padrão de segurança internacional que forma a base da certificação ISMS (Information Security Management System). Problemas de segurança podem ser tratados automaticamente com a introdução do ISMS! Embora não seja uma coisa assim, é um padrão muito útil para introdução sistemática de segurança e , em 29 de junho de 2015, 4.646 organizações foram certificadas e registradas.

Conteúdo [ oculto ]

O que é programação segura?

Outros nomes para programação segura são “programação defensiva” e “codificação segura”. Eu já escrevi sobre o básico da programação segura, mas vou listar os 10 melhores aqui. Para obter um histórico de programação segura , consulte “ Uma rápida olhada no histórico de programação segura (programação defensiva) “.

CERT Top 10 práticas de codificação segura

  1. Validar entrada
  2. Cuidado com os avisos do compilador
  3. Configurar/projetar para política de segurança
  4. simplificar
  5. Negar por padrão
  6. Defender o princípio do privilégio mínimo
  7. higienizar dados enviados para outros sistemas
  8. praticar defesa em profundidade
  9. Use técnicas eficazes de garantia de qualidade
  10. Adote padrões de codificação seguros

O lar da programação segura é a CERT/Carnegie Mellon University. Existem várias técnicas de programação segura, mas o básico são esses 10 itens.

A versão web do curso de programação segura da IPA será excluída

Eu escrevi que a versão web do curso de programação segura da IPA está programada para ser excluída. Recebi isso como resposta a uma pergunta que eu pessoalmente indiquei à IPA que o conteúdo da edição da web do curso de programação segura era “problemático porque está longe de ser uma programação segura”.

Se você olhar para a edição web do curso de programação segura da IPA , você entenderá imediatamente que não há menção à validação de entrada em primeiro lugar e, por algum motivo, a parte correspondente às medidas de saída é “medidas de entrada”. programação.

Olhando para o e-mail, indiquei no dia 4 de junho e, no dia 9 de junho, recebi uma resposta de que este curso será excluído. De uma organização como a IPA, acho que é uma resposta rápida. Ainda é navegável por enquanto, mas é provável que seja removido em breve.

Descrevendo a programação segura na ISO 27002

Recentemente, aprendi que a parte padrão do padrão JIS pode ser referenciada online! Excelente! Acho que isso é uma grande conquista. Às vezes não consigo vê-lo devido a uma falha do sistema (sobrecarga?), mas acho ótimo que qualquer pessoa possa consultá-lo facilmente.

Se você pesquisar “segurança da informação” como palavra-chave, JIS Q 27002:2014 (ISO/IEC 27002:2013) etc. será exibido. Confirmamos que a visualização online (ou seja, download/impressão, etc. não é possível) no ambiente do Windows 7 + IE 11 + Adobe Reader 11.

27002 menciona programação segura nos dois lugares a seguir.

14.2.1 Políticas para Desenvolvimento Seguro

Para novo desenvolvimento e reutilização de código, seguro É desejável . Padrões de codificação amigáveis ​​à segurança devem ser considerados e seu uso deve ser obrigatório quando aplicável. Os desenvolvedores devem ser treinados no uso e teste desses padrões e devem verificar seu uso dos padrões por meio de revisões de código.


14.2.5 Princípios para sistemas de construção com segurança em mente

No procedimento de desenvolvimento de aplicativos, é desejável aplicar tecnologia de construção consciente da segurança (programação segura, etc.) ao desenvolvimento de aplicativos com interfaces de entrada/saída .

Como o CERT ocupa o primeiro lugar em programação segura, a validação de entrada e o processamento de saída em sétimo lugar são cuidadosamente escritos.

Para aqueles que não estão familiarizados com a série ISO 27000, vou explicar. A ISO 27002 é uma diretriz para a construção de um SGSI. Por ser uma diretriz, não é necessário que todos os itens tenham sido implementados . O sistema de gestão ISO exige “implementação de melhoria contínua”. Coisas que não são críticas ou coisas que não podem ser realizadas imediatamente devido a restrições de recursos podem ser realizadas no futuro, e quase todas estão na forma de “é desejável fazer XX” nas diretrizes. Não significa que não importa.

Diferenças das versões anteriores

Os padrões ISO/JIS serão atualizados e o conteúdo será atualizado. Na versão anterior , introduzimos a validação de entrada, que é uma das técnicas de programação seguras, com exemplos.

A versão atual diz apenas “Por favor, faça programação segura”. Este processo está descrito no Manual JIS, que pode ser obtido em formato impresso. Explica que, uma vez que a programação segura é mantida sistematicamente, apenas é fornecida uma declaração no sentido de que “a programação segura é realizada”. Em suma, tornou-se comum, então fiz uma descrição concisa de “executar programação segura”.

Resumo

A programação segura tornou-se a norma em organizações de segurança ativa, como certificações ISMS. Infelizmente, muitas pessoas não. A programação segura garante que você possa escrever programas mais seguros do que antes. Seria uma boa ideia aprender programação de contrato também.


Artigo Original