A política de segurança da UC Berkeley determina o cumprimento do Padrão Mínimo de Segurança para Informações Eletrônicas para o manuseio de dispositivos com dados cobertos. As recomendações abaixo são fornecidas como orientação opcional para os requisitos de segurança do software de aplicativos.

Requisito

Os proprietários de recursos e os guardiões de recursos devem garantir que práticas seguras de codificação, incluindo treinamento de segurança e revisões, sejam incorporadas em cada fase do ciclo de vida do desenvolvimento de software.

Descrição do Risco

Práticas de codificação inseguras resultam em vulnerabilidades caras no software de aplicativos que leva ao roubo de dados confidenciais.

Recomendações

Para que os aplicativos sejam projetados e implementados com requisitos adequados de segurança, práticas seguras de codificação e foco em riscos de segurança devem ser integrados às operações diárias e aos processos de desenvolvimento. Os desenvolvedores de aplicativos devem completar requisitos de codificação seguros, independentemente do dispositivo usado para programação.

Treinamento de segurança de aplicações

Um primeiro passo crítico para desenvolver um aplicativo seguro é um plano de treinamento eficaz que permite aos desenvolvedores aprender importantes princípios de codificação segura e como eles podem ser aplicados. O cumprimento desse controle é avaliado por meio do Programa de Teste de Segurança de Aplicações (exigido pelo MSSEI 6.2), que inclui testes para princípios de codificação seguros descritos em Diretrizes de codificação segura do OWASP(link é externo):

  1. Validação de entrada
  2. Codificação de saída
  3. Autenticação e Gerenciamento de Senhas (inclui manuseio seguro de credenciais por serviços/scripts externos)
  4. Gerenciamento de Sessões
  5. Controle de acesso
  6. Práticas criptográficas
  7. Manipulação de erros e registro
  8. Proteção de dados
  9. Segurança de Comunicação
  10. Configuração do sistema
  11. Segurança do banco de dados
  12. Gerenciamento de arquivos
  13. Gerenciamento de Memória
  14. Práticas gerais de codificação

Embora o OWASP (Open Web Application Security Project) refira especificamente aplicativos web, os princípios de codificação segura descritos acima também devem ser aplicados a aplicações não web. Por favor, consulte Diretrizes de codificação segura do OWASP(link é externo) para ver uma descrição mais detalhada de cada princípio de codificação segura. OWASP também executa um Site de demonstração do Faux Bank(link é externo) que mostra as 10 principais vulnerabilidades, juntamente com posts no blog explicando os meandros de cada vulnerabilidade.

Listas abaixo são exemplos de cursos de treinamento que podem ser usados para obter proficiência em princípios de codificação seguras:

Alternativamente, livros relevantes e material de leitura também podem ser usados para desenvolver proficiência em princípios de codificação seguros, desde que o tempo suficiente seja destinado aos funcionários para auto-estudo.

Práticas de codificação seguras

As práticas de codificação seguras devem ser incorporadas em todas as etapas do ciclo de vida de um processo de desenvolvimento de aplicativos. O seguinte conjunto mínimo de práticas de codificação seguras deve ser implementado ao desenvolver e implantar aplicativos cobertos:

  1. Formalizar e documentar os processos do ciclo de vida do desenvolvimento de software (SDLC) para incorporar um componente importante de um processo de desenvolvimento:

Embora não exista um padrão de campus ou modelo prescritivo para metodologias SDLC, o proprietário de recursos e o custodiante de recursos devem garantir que os principais componentes acima de um processo de desenvolvimento sejam definidos em relação à metodologia de desenvolvimento adotada, que poderia ser o modelo tradicional de cachoeira, ágil ou outros modelos.

  1. Integre princípios de codificação segura em componentes SDLC, fornecendo uma descrição geral de como os princípios de codificação seguros são abordados em documentos de arquitetura e design. Se um princípio de codificação segura não for aplicável ao projeto, isso deve ser explicitamente documentado, juntamente com uma breve explicação.
     
  2. Realize testes automatizados de segurança de aplicações como parte do processo geral de teste de aplicações. Consulte os Serviços relevantes do campus para obter detalhes do serviço automatizado de teste de segurança de aplicativos oferecido pela ISO.
     
  3. Os ambientes de desenvolvimento e teste devem redigir todos os dados confidenciais ou usar dados não identificados.

Serviços relevantes do Campus

Avaliação de vulnerabilidade de aplicativos ISO

O ISO (Information Security Office, escritório de segurança da informação) ajudará você a avaliar a postura de segurança do seu aplicativo baseado na Web, digitalizando-o com um scanner automatizado de vulnerabilidade de aplicativos e revisando as conclusões do scanner com um representante designado de sua unidade. Para obter detalhes sobre o serviço, visite a página de visão geral do serviço.

Revisão de código

(Os links a seguir são fornecidos para fins de informação e planejamento. A exigência de realização de revisões de código entrará em vigor em 1º de julho de 2014 e não será incluída nas avaliações do MSSEI antes desse período.)

Guia de revisão de código OWASP(link é externo)

Recursos adicionais


Artigo Original