Pular para o conteúdo principal

Questão de Segurança da Informação — Ciclo de Vida de Desenvolvimento Seguro — CESPE / CEBRASPE 2023

Segurança da InformaçãoCiclo de Vida de Desenvolvimento Seguro
Código
ce397913
Banca
CESPE / CEBRASPE
Órgão
DATAPREV
Ano
2023
Cargo
Ana TI ( )

A respeito de ciclo de vida de desenvolvimento seguro, julgue os item a seguir.

 

A fase de design prevê a definição da estrutura geral do software relacionado à segurança e a realização de revisões de código.

  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Ciclo de Vida de Desenvolvimento Seguro: fases e atividades

❌ ERRADO. A afirmação está incorreta porque a revisão de código não é uma atividade da fase de design, mas sim da fase de desenvolvimento/testes. A fase de design prevê a definição da estrutura geral do software relacionada à segurança, mas a revisão de código ocorre em etapa posterior, quando o código já foi escrito.

O ciclo de vida de desenvolvimento seguro (Secure Development Lifecycle - SDL) é um processo que incorpora a segurança em todas as fases do desenvolvimento de software, desde a concepção até a manutenção. O objetivo é minimizar vulnerabilidades e garantir maior proteção contra ataques. As fases típicas desse ciclo incluem: requisitos, design, desenvolvimento, testes, implantação e manutenção. Cada fase possui atividades específicas relacionadas à segurança.

Na fase de design, o foco está na arquitetura e na modelagem de ameaças. É aqui que se define a estrutura geral do software, considerando os requisitos de segurança levantados na fase anterior. A modelagem de ameaças é uma prática fundamental dessa fase, pois identifica e aborda falhas de design de segurança antes que o código seja criado. Como o material de apoio destaca: "A modelagem de ameaças é o processo de identificar e abordar as falhas de design de segurança da aplicação antes que o código seja criado." Também se avalia o impacto da segurança nas escolhas da fase de projeto, como plataforma e interface do usuário.

Já a revisão de código é uma atividade que ocorre na fase de desenvolvimento ou testes, quando o código já foi escrito. O material de apoio, ao descrever a fase de testes, menciona: "Implementar processos de revisão do código" e "Realizar testes de segurança, como análise estática e testes de segurança de aplicações interativas." A revisão de código pode ser feita por meio de análise estática (SAST), que examina o código-fonte sem executá-lo, ou por revisão manual por pares.

A confusão entre as atividades de cada fase é uma pegadinha clássica em questões sobre ciclo de vida de desenvolvimento seguro. O candidato pode associar a revisão de código à fase de design por pensar que "revisar" é uma atividade de planejamento, mas na verdade ela é uma atividade de verificação do código já implementado.

Para fixar, veja a distribuição das atividades nas fases:

Fase

Atividades principais

Design

Modelagem de ameaças, definição da arquitetura, avaliação de impacto da segurança nas escolhas de projeto

Desenvolvimento

Instrução da equipe sobre codificação segura, incorporação de ferramentas de teste de segurança, avaliação de dependências

Testes

Revisão de código, testes de segurança (SAST, DAST)

Implantação

Avaliação da segurança do ambiente, revisão de configurações

Manutenção

Monitoramento, correção de vulnerabilidades

A pegadinha da questão está em atribuir a revisão de código à fase de design, quando ela pertence à fase de testes. A banca explora a confusão entre as atividades de cada fase do ciclo de vida.

  1. 1Requisitos
  2. 2Design
  3. 3Desenvolvimento
  4. 4Testes
  5. 5Implantação
  6. 6Manutenção
LEVEL · soulevel.com.br

Item — ❌ Errado

A afirmação diz que a fase de design prevê "a definição da estrutura geral do software relacionado à segurança e a realização de revisões de código". A primeira parte está correta: a definição da estrutura geral do software é, de fato, uma atividade da fase de design. No entanto, a segunda parte está incorreta: a revisão de código não é uma atividade da fase de design, mas sim da fase de testes. O erro específico é a atribuição de uma atividade de uma fase a outra fase do ciclo de vida.

Gabarito: ERRADO (E)

Link permanente: /questoes/ce397913