Guia do Aluno
Segurança no Desenvolvimento de Software

Apresentação

Ícone do curso

Este curso apresenta os conceitos básicos sobre segurança no desenvolvimento de software.

Para garantir a segurança de sistemas e serviços, é necessário integrar diversas ações durante o ciclo de desenvolvimento da solução, desde a fase de concepção, análise e projeto, passando pela fase de construção do software, testes, até sua implantação.

Ao final, é esperado que os alunos apresentem domínio das técnicas apresentadas durante o curso visualizando sua aplicabilidade nas etapas do processo de desenvolvimento de aplicativos.

Objetivos

Oferecer conceitos básicos sobre segurança no desenvolvimento de software.

Ao final do curso, o aluno deverá estar apto a construir aplicações web de maneira segura, independente da linguagem de programação utilizada.

Público-alvo

O público-alvo do curso são técnicos e analistas que trabalham com desenvolvimento de aplicações, bem como pessoas interessadas pelo tema.

Carga horária

Carga horária do curso: 20 horas.

Metodologia

- Curso disponível na Escola Conecta, no formato texto, com recursos visuais de apoio como figuras e infográficos.

- Exercícios de fixação.

- Entrevista de opinião.

Conteúdo programático

O curso é composto por 05 módulos:

MóduloConteúdo relacionadoObjetivos específicosAtividades
1. Introdução
  • Introdução
  • Princípios de segurança
  • Visão geral do ciclo de desenvolvimento seguro
  • Requisitos
  • Análise e Projeto
  • Implementação
  • Testes
  • Implantação
  • OWASP

Ao final deste módulo, o aluno deverá ser capaz de:

  • Ter uma visão geral do ciclo de desenvolvimento de desenvolvimento de software;
  • Conhecer os projetos desenvolvidos na comunidade OWASP.
Não se aplica.
2. Requisitos de segurança de software
  • Introdução
  • Engenharia de requisitos segura
  • Categorização de segurança
  • Categorização dos tipos de informação
  • Categorização do sistema
  • Classificação da informação
  • Especificação de requisitos de segurança
  • Casos de Abuso

Ao final deste módulo, o aluno deverá ser capaz de:

  • Abordar os princípios de engenharia de requisitos;
  • Classificar os tipos e categorias de informação;
  • Aplicar especificação de requisitos de segurança
  • Desenvolver o conceito de casos de abusos.
Avaliação de aprendizagem.
3. Arquitetura de segurança de software
  • Introdução
  • Frameworks de segurança
  • Princípios de arquitetura segura
  • Análise da superfície de ataque
  • Modelagem de ameaças
  • Arquitetura segura

Ao final deste módulo, o aluno deverá ser capaz de:

  • Compreender os aspectos que envolvem frameworks e arquitetura de segurança;
  • Desenvolver os conceitos de modelagem de ameaças e arquitetura segura.
Avaliação de aprendizagem.
4. Codificação segura
  • Introdução
  • Erros comuns no desenvolvimento de software
  • Vulnerabilidades das aplicações web
  • Injeção de código
  • Cross site scripting
  • Buffer overflow
  • Falha na autenticação e no gerenciamento de sessões
  • Referência insegura a objetos
  • Cross site request forgery
  • Segurança configurada incorretamente
  • Falha na restrição de acesso a URL
  • Encaminhamentos e redirecionamentos não validados
  • Criptografia insegura
  • Validação de entradas

Ao final deste módulo, o aluno deverá ser capaz de:

  • Identificar erros comuns no desenvolvimento de software e vulnerabilidades em aplicações web.
Avaliação de aprendizagem.
5. Testes de segurança
  • Introdução
  • Testes de software
  • Metodologias de Teste de Segurança
  • Caixa Branca
  • Caixa Preta
  • Diferenças entre caixa branca e caixa preta
  • Fuzzing
  • Escaneamentos de vulnerabilidades e testes de invasão
  • Testes de Segurança em Software
  • Mecanismo de validação de entradas
  • Teste de defesa para injeção de código
  • Teste de defesa para o não repúdio
  • Teste de defesa para o Spoofing
  • Teste de falha de software
  • Teste de validação do mecanismo de criptografia
  • Teste de defesa para Buffer Overflow
  • Teste de defesa para escalonamento de privilégios
  • Documentação de Vulnerabilidades e Rastreabilidade

Ao final deste módulo, o aluno deverá ser capaz de:

  • Conhecer testes de software e medologias de testes de segurança.
  • Aplicar os conceitos de documentação de vulnerabilidade e rastreabilidade.
Avaliação de aprendizagem.

Avaliação

1. Avaliação da aprendizagem

O participante será avaliado ao final dos Módulos 2 a 5 com questionários compostos de questões objetivas.

2. Avaliação do curso

Ao final do curso o participante deverá responder à avaliação do curso, que abrange os seguintes aspectos:

  • estrutura do curso
  • carga horária
  • conteúdo
  • nível dos exercícios apresentados

3. Classificação do participante

A classificação do participante será definida de acordo com os seguintes critérios:

  • Aprovado: é o participante que, ao final do curso, apresentar pontuação igual ou superior a 70% de acertos nas questões e tenha respondido ao questionário de avaliação do curso.
  • Reprovado: é o participante que, ao final do curso, apresentar aproveitamento insuficiente, ou seja, não alcançar 70% de acertos nas questões e/ou não tenha respondido ao questionário de avaliação do curso.

Certificado

Terá acesso ao certificado o participante classificado como Aprovado, ou seja, aquele que tenha cumprido todas as atividades do curso com aproveitamento igual ou superior a 70% e tenha preenchido a Entrevista de Opinião.

Canais de comunicação

Assunto Procedimento
Dúvidas sobre navegação na plataforma Contate o suporte técnico pelo 0800-7282323 ou via e-mail: css.serpro@serpro.gov.br
Dúvidas sobre acesso e senha no ambiente de aprendizagem Contate a gestão de cursos pelo endereço: ead.conecta@serpro.gov.br
Comentários ou sugestões Registre na Entrevista de Opinião apresentada ao final desta etapa.

Equipe responsável

Especialistas no conteúdo
Leandro Resende Gomes (Serpro/CETEC/CTCSE)
Tarcízio Vieira Neto (SERPRO/COGSI/SISEC/SIDES)

Design instrucional
Aldemir Cacique (UniSerpro/Serpro)
Flábia Alves Lopes (UniSerpro/Serpro)

Design gráfico
Willians Francisco Gimenes (UniSerpro/Serpro)

Revisão de texto
Carlos Ely Pimenta (UniSerpro/Serpro)