Baixe o app para aproveitar ainda mais
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.
Compartilhar