Buscar

Exercícios - GESTÃO DA SEGURANÇA NO SDLC (NPG1545)

Prévia do material em texto

Lista de Exercício – Gestão da Segurança no 
SDLC 
 
 
 
1) Nos dias atuais o software já não é mais o mesmo, pois é uma tecnologia 
revolucionária que vem se transformando rapidamente, e pode ser conceituado como: 
 
a) São instruções de máquina que controlam a parte lógica do computador. 
b) Controlam o processamento dos dados e informações do software. 
c) Uma sequência de instruções que controlam o funcionamento do computador, 
processando os dados e informações. 
d) São caracterizados por não controlar o processamento de dados e informações 
computacionais. 
e) Conjunto de componentes físicos, ou seja, tudo o que podemos tocar. 
 
R: c) O software é classificado como a parte lógica cuja função é fornecer 
instruções para 
o hardware. 
 
 
2) A Engenharia de Software tem grande importância na criação e suporte dos programas 
de computador e sua relação com a tecnologia, se designa como: 
 
a) Aquela que somente cuida dos softwares menos complexos. 
b) A área que não influencia diretamente na criação do software. 
c) Uma área que prescinde de importância. 
d) A área que se encontra presente desde os sistemas mais simples até os de alta 
complexidade. 
e) Uma área da computação voltada à construção de equipamentos e hardware de uma 
maneira geral. 
 
R: d) Engenharia de Software é uma área da computação voltada à especificação, 
desenvolvimento, manutenção e criação de sistemas de software, com aplicação de 
tecnologias e práticas de gerência de projetos e outras disciplinas, visando 
organização, produtividade e qualidade. 
 
 
3) Em relação ao software e suas funcionalidades que garantem a manutenção de um 
nível de risco e operação aceitável: 
 
a) A mensuração de riscos é desnecessária no processo de desenvolvimento seguro. 
b) É necessária a implantação de um processo eficiente de gestão de segurança da 
informação. 
c) As empresas não devem se preocupar com a manutenção e as vulnerabilidades. 
d) A gestão de segurança da informação é dispensável nos dias atuais com a evolução 
tecnológica. 
e) A gestão da segurança da informação é necessária apenas para as empresas que 
lidam com dados financeiros. 
 
R: b) A Gestão da Segurança da Informação abrange a criação de processos 
voltados ao monitoramento contínuo da integridade das informações, à prevenção 
de ataques e ao furto dos dados, assegurando em casos emergenciais o pronto 
restabelecimento dos sistemas e o acesso seguro às informações. 
 
 
4) A reutilização dos componentes de software permite, por meio de uma biblioteca de 
componentes: 
 
a) Focar nas inovações do projeto, implantando funções comuns através de partes 
repetidas de código. 
b) É uma prática desatualizada, pois hoje as bibliotecas ajudam na construção de um 
código sem nenhum erro. 
c) Não é considerada como uma boa prática, por isso deve ser descartada. 
d) Deve refletir determinados padrões tidos como absolutamente livres de erros. 
e) Focar os componentes de hardware que não se desgastaram com o tempo. 
 
R: a) Engenharia de Software é uma área da computação voltada à especificação, 
desenvolvimento, manutenção e criação de sistemas de software, com aplicação de 
tecnologias e práticas de gerência de projetos e outras disciplinas, visando 
organização, produtividade e qualidade. 
 
 
5) A fase do levantamento dos requisitos se caracteriza por apresentar: 
 
a) Metodologias próprias, qualidade pré-estabelecida e software livre. 
b) Recursos necessários, diretrizes de qualidade, documentação da arquitetura e 
agendamento de entrevistas. 
c) Licenças em volume, rearquitetura e padrões se software. 
d) Reutilização de código, testes e correção de erros. 
e) Entrega dos serviços no prazo. 
 
R: b) O início para toda a atividade de desenvolvimento de software é o 
levantamento de requisitos. Esta atividade é repetida em todas as etapas da 
engenharia de requisitos. Nesta fase são definidas as necessidades de recursos, 
agendamento de entrevistas e a documentação necessária para atender o cliente. 
 
 
6) Quanto à arquitetura de software, pode-se dizer que: 
 
a) É uma tecnologia desnecessária, pois encontra-se ultrapassada. 
b) Não é aplicada na fase de desenvolvimento de software. 
c) É importante manter o software que está funcionando sem erros, dispensando as novas 
tecnologias. 
d) Permite estabelecer um padrão de código amplo e aberto. 
e) Consiste na definição dos componentes de software, suas propriedades 
externas, e seus relacionamentos com outros softwares. 
 
R: e) A arquitetura de software define o que é o sistema em termos de componentes 
computacionais e, os relacionamentos entre estes componentes, os padrões que 
guiam a sua composição e restrições. A arquitetura de software de um sistema 
consiste na definição dos componentes de software, suas propriedades externas, e 
seus relacionamentos com outros softwares. O termo também se refere à 
documentação da arquitetura de software do sistema. 
 
 
7) Em relação à responsabilidade do revisor de software, pode-se dizer que: 
 
a) Não tem qualquer vínculo com a qualidade do software. 
b) É aquele que examina o código, sugerindo correções ou adições. 
c) Prescinde de análise e avaliação nos testes. 
d) Audita o código realizando análises para conferir os objetivos do software. 
e) É aquele que delega poderes ao programador de sistemas de software. 
 
R: b) O trabalho do revisor de software tem como objetivo melhorar a qualidade de 
software. Devendo ser aplicadas em várias fases do ciclo de vida do 
desenvolvimento do software. Pode ser vista como uma maneira de usar a 
diversidade de um grupo de pessoas para apontar melhorias necessárias ao 
produto, confirmar as partes de um produto em que uma melhoria não é desejada 
ou não é necessária em ainda, realizar um trabalho técnico com uma qualidade 
mais uniforme de forma a tornar este trabalho técnico mais administrável. 
 
 
8) O profissional que é o líder do projeto, garantindo a aplicação das metodologias de 
segurança no desenvolvimento de software é o: 
 
a) Revisor c) Auditor e) Usuário 
b) Facilitador d) Especialista 
 
R: b) O líder é o profissional que dirige o projeto de forma a manter a motivação e a 
sinergia do grupo, facilitando a comunicação com as partes interessadas e 
envolvidas no projeto. 
 
 
9) É um processo que se originou de um conceito militar adaptado ao software que 
propõe a análise e identificação de riscos: 
 
a) Modelagem de dados d) Desenvolvimento de software 
b) Desenvolvimento seguro e) Gerenciamento de projeto 
c) Modelagem de ameaças 
 
R: c) A modelagem de ameaças tem suas origens estabelecidas a partir de um 
conceito militar surgido nos Estados Unidos, sendo que atualmente sua 
estruturação é voltada ao software, por meio de documentações desenvolvidas pela 
Microsoft, onde através de uma ferramenta proprietária são mapeados os riscos 
associados à aplicação aprendendo a tratá-los. 
 
 
10) São inerentes ao processo de Modelagem de Ameaças: 
 
a) Rearquitetura e Estruturação de metodologia. 
b) Documentação e Análise de riscos. 
c) Identificação dos bens da aplicação e classificação das ameaças. 
d) Classificação de ataques e Padronização. 
e) Levantamento do inventário da TI. 
 
R: c) Na modelagem de ameaças, todos os bens da aplicação como arquivos, 
dados, funcionalidades etc. devem ser identificadas e as ameaças classificadas 
como, por exemplo, os tipos diferentes de malware e a diversidade de programas 
de software maliciosos. 
 
 
11) O Top 10 do OWASP apresenta como vulnerabilidades mais críticas: 
 
a) Injeção, XSS e Exposição de Dados Sensíveis. 
b) Exposição, MS-DOS e Invasão Direta. 
c) Autenticação segura, JSS e HTML. 
d) CSRF, Redirecionamentos e Java Script. 
e) Código e requisitos. 
 
R: a) As falhas de injeção ocorrem quando dados não confiáveis são enviados para 
um interpretador como parte de um comando ou consulta. Nesse cenário os dados 
são manipulados pelo atacante de maneira que podem burlar o interpretador para 
que sejam executados comandos indesejados ou mesmo para que se permitao 
acesso não autorizado. 
Para evitar vulnerabilidade, os desenvolvedores devem utilizar um conjunto de 
controles fortes para autenticação e gerenciamento de sessão, que se enquadre em 
um padrão de verificação de segurança da aplicação, além de impedir falhas de XSS 
que podem roubar os identificadores de sessão. 
 
 
12) No ciclo de vida de desenvolvimento de software, a utilização de componentes 
vulneráveis: 
 
a) Não influencia na proteção dos dados do usuário. 
b) Se mostra como facultativa, pois há softwares que protegem completamente o usuário. 
c) Podem acarretar em riscos, pois quando desatualizados podem expor falhas 
críticas. 
d) Não utilizam falhas de segurança para acessar os dados dos usuários. 
e) Oferece maior segurança para o software. 
 
R: c) Componentes vulneráveis, conforme o próprio nome diz, deixa o código 
vulnerável e exposto a ataques. 
 
 
13) São as técnicas criadas para tratar vulnerabilidades, que também servem para 
proteção no desenvolvimento seguro. Esta afirmativa se refere a segurança: 
 
a) De Componente. c) Por Código. e) Física. 
b) No Desenvolvimento. d) Implementada. 
 
R: c) Segurança por código é o conjunto de técnicas criadas para o tratamento de 
vulnerabilidades, além dos cuidados necessários que devem ser tomados no 
desenvolvimento seguro de software, já que em toda a etapa do ciclo de vida 
existem erros de programação. Dentro desse contexto visualizamos as práticas 
listadas pela OWASP Top 10 que ajudam os profissionais a se proteger contra as 
vulnerabilidades de segurança mais comuns nas aplicações Web, fornecendo 
técnicas para aprimorar a salvaguarda do software desenvolvido. 
 
 
14) As boas práticas devem ser utilizadas na fase de desenvolvimento do software, 
elaborando requisitos de processo para que se garanta um melhor nível de segurança, 
podem ser observadas: 
 
a) Padronizações aleatórias e componentes estruturais. 
b) Trilhas de auditoria e tratamento de erros. 
c) Validação de entradas e codificação de saída. 
d) Armazenamento e exposição de dados sensíveis. 
e) Proporciona um desenvolvimento tradicional. 
 
R: c) Na fase de desenvolvimento devem ser elaborados requisitos de processo 
para garantir que as técnicas de segurança utilizadas por código sejam 
implementadas através de boas práticas, Validação de Entradas e Codificação de 
Saída, Autenticação e Gerenciamento de Senhas, Autorização e Gerenciamento de 
Acesso, Gerenciamento de Sessão, Transmissão e Armazenamento de Informações 
Sensíveis, Interação com o Banco de Dados, Tratamento adequado de erros e 
Logging. 
 
 
15) As métricas são fundamentais na fase de revisão de software para: 
 
a) Escrever um código fonte flexível. 
b) Determinar a colaboração de todos os membros do projeto. 
c) Alcançar os objetivos no desenvolvimento do software. 
d) Ajudar a localizar e eliminar erros na fase de manutenção. 
e) Definir qual linguagem deverá ser usada. 
 
R: d) Na fase de Revisão do Software, a manutenção se mostra como necessária 
para reconhecer a quantidade de esforço que é indispensável para localizar e 
eliminar erros na aplicação. A flexibilidade da aplicação exprime a quantidade de 
esforço necessária para modificar um software, e a execução de testes demonstra o 
quanto é necessário para garantir que o software execute suas funções 
pretendidas. 
 
 
16) As métricas do processo de desenvolvimento de software são aquelas que: 
 
a) São aplicadas indiscriminadamente no desenvolvimento de software para formar uma 
padronização. 
b) Quantificam atributos do ambiente e do processo de desenvolvimento do 
aplicativo com segurança. 
c) Não representa uma influência substancial para o desenvolvimento, pois é facultativa. 
d) Dispensam codificações internacionais, pois levam em consideração os padrões 
criados pela empresa. 
e) Definem que funcionalidades devem ser entregues no prazo. 
 
R: b) As Métricas do Processo quantificam atributos do ambiente e do processo de 
desenvolvimento do aplicativo com segurança, por isso, são aquelas que possuem 
os recursos, como a experiência do programador e o custo de manutenção e 
criação do software, além daquelas de nível de experiência de pessoal, onde é 
calculado o tempo de experiência de uma equipe em uma determinada linguagem 
de programação, de maneira individual ou coletiva.

Continue navegando