No projeto a ser desenvolvido, será apropriado adotar a revi...

Próximas questões
Com base no mesmo assunto
Q65128 Segurança da Informação
Uma equipe de desenvolvimento de software recebeu a
incumbência de desenvolver um sistema com as características
apresentadas a seguir.

* O sistema deverá ser integrado, interoperável, portável e
seguro.
* O sistema deverá apoiar tanto o processamento online, quanto
o suporte a decisão e gestão de conteúdos.
* O sistema deverá ser embasado na plataforma JEE (Java
enterprise edition
) v.6, envolvendo servlets, JSP (Java server
pages
), Ajax, JSF (Java server faces) 2.0, Hibernate 3.5, SOA
e web services.

O líder da equipe iniciou, então, um extenso processo de
coleta de dados com o objetivo de identificar as condições
limitantes da solução a ser desenvolvida e tomar decisões
arquiteturais e tecnológicas que impactarão várias características
funcionais e não funcionais do sistema, ao longo de seu ciclo de
vida. A partir dessa coleta, o líder deverá apresentar à equipe um
conjunto de informações e de decisões.

A respeito de práticas e técnicas de programação para desenvolver
com segurança o sistema integrado referido no texto, julgue os
próximos itens.

No projeto a ser desenvolvido, será apropriado adotar a revisão estática de código, pois tal abordagem produz resultados precisos, objetivos e completos acerca do grau de vulnerabilidade do código analisado, especialmente quando se utilizam ferramentas de software de análise estática que simulem o comportamento da aplicação a partir de seu código-fonte.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é E - errado.

Vamos dissecar essa questão e entender o motivo.

A questão aborda uma prática importante no desenvolvimento seguro de software: a revisão estática de código. É crucial compreender como essa técnica funciona e suas limitações.

Revisão estática de código é uma técnica de análise realizada sem executar o código. Ferramentas especializadas examinam o código-fonte para identificar possíveis defeitos ou vulnerabilidades. Essa técnica é essencial para detectar uma ampla gama de problemas de segurança e qualidade.

No entanto, a assertiva da questão apresenta uma visão um pouco exagerada sobre a eficácia da revisão estática de código. Ela afirma que essa abordagem produz resultados precisos, objetivos e completos acerca do grau de vulnerabilidade do código analisado, especialmente ao usar ferramentas que simulam o comportamento da aplicação a partir do código-fonte.

A realidade é que, embora a revisão estática de código seja uma ferramenta valiosa, ela não é infalível nem completa. Aqui estão os pontos críticos:

  • Precisão: Ferramentas de análise estática podem gerar falsos positivos (indicando problemas que não existem) e falsos negativos (deixando de identificar problemas reais). Isso afeta a precisão dos resultados.
  • Objetividade: A objetividade pode ser impactada por interpretações incorretas de contextos específicos do código, especialmente em sistemas complexos.
  • Completude: Nenhuma ferramenta de análise estática consegue capturar todas as vulnerabilidades possíveis. Certos tipos de falhas, como aquelas que dependem do comportamento em tempo de execução ou interações complexas entre componentes, são difíceis de detectar apenas com análise estática.

Portanto, a revisão estática de código deve ser utilizada em conjunto com outras técnicas de segurança, como revisões dinâmicas de código, testes de penetração, e práticas de codificação seguras. Somente assim é possível obter uma visão mais completa e precisa da segurança do sistema.

Resumindo, a afirmação da questão é errada porque sobrestima a capacidade da revisão estática de código, sugerindo que ela é suficiente por si só para garantir a segurança do sistema, o que não é verdade.

Caso tenha mais dúvidas ou precise de mais exemplos, estarei aqui para ajudar!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Uma das boas práticas para o desenvolvimento de sistemas é a de testar o código o mais cedo possível. Nesta linha a revisão estática de código é uma técnica que se adotada continuamente contribui para a melhoria da qualidade de código produzido. Ela pode ser feita manualmente utilizando a programação em pares, ou de forma automatizada, com o uso de uma ferramenta de software que apresenta as seguintes vantagens:

1. Utilização de uma base padrão de regras para a revisão de código

2. Execução da revisão de código de forma automatizada durante a geração do "build" do software

3. Estabelece uma cultura voltada às boas práticas de codificação, evitando a geração de códigos ruins.

No projeto a ser desenvolvido, será apropriado adotar a revisão estática de código, pois tal abordagem produz resultados precisos, objetivos e completos acerca do grau de vulnerabilidade do código analisado, especialmente quando se utilizam ferramentas de software de análise estática que simulem o comportamento da aplicação a partir de seu código-fonte.

Errado

As ferramentas de análise estática de código permitem que mais códigos sejam processados por meio da automação, mas as descobertas são rigorosamente limitadas pelo conjunto de padrões predefinidos de tipos conhecidos de problemas. Com freqüência, os resultados também podem conter vários falso-positivos que dificultam a solução de problemas com recursos limitados.

http://msdn.microsoft.com/pt-br/magazine/cc163312.aspx

hum... ok! Errei, mas realmente, "resultados precisos" deu uma forçada na barra

Dizer que ...tal abordagem (revisão estática de código) produz resultados precisos, objetivos e completos acerca do grau de vulnerabilidade do código analisado... é forçar a barra demais, hein!

✅Gabarito(Errado)

No projeto a ser desenvolvido, será apropriado adotar a revisão estática de código, pois tal abordagem produz resultados precisos, objetivos e completos acerca do grau de vulnerabilidade do código analisado, especialmente quando se utilizam ferramentas de software de análise estática que simulem o comportamento da aplicação a partir de seu código-fonte.

Na análise estática de código não existe a simulação do comportamento, ou seja, a simulação do comportamento é algo dinâmico, relacionado a execução da aplicação, que já deixa de ser estático.

➥ Segue uma afirmação a respeito:

 A análise estática de código é uma das práticas que verifica a qualidade do código-fonte. Esta verificação é realizada antes mesmo que haja execução do software (um conceito oposto ao dos testes unitários, que validam o software com base no resultado de sua execução).

 Considera-se, portanto, que a análise estática de código está relacionada à verificação, pois analisa como o código-fonte foi construído internamente.

Fonte: https://www.devmedia.com.br/como-adotar-a-analise-estatica-de-codigo/32727

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo