Prévia do material em texto
Desenvolvimento de Software Seguro Sistemas de Informação Universidade Estácio de Sá (Estácio) 7 pag. Document shared on https://www.docsity.com/pt/docs/desenvolvimento-de-software-seguro-1/12023875/ Downloaded by: kevelyn-macedo (macedokevelyn@gmail.com) https://www.docsity.com/pt/docs/desenvolvimento-de-software-seguro-1/12023875/?utm_source=docsity&utm_medium=document&utm_campaign=watermark https://www.docsity.com/pt/ai/?utm_source=cta&utm_medium=document&utm_campaign=AIQR Prova 2 (7 Questões) 1. Há situações em que devemos usar recursos de defesa ainda no projeto do software. Dessa forma, podemos investigar com melhor precisão em que parte do sistema existe uma vulnerabilidade ou esteja ocorrendo um ataque. Nesse sentido, selecione a opção correta com o princípio que trata da situação descrita no enunciado da questão. A. Defesa em camadas. B. Defesa multifator. C. Defesa em profundidade. D. Defesa proativa. E. Defesa reativa. 3. Muito raramente, uma empresa desenvolve todos os componentes de um software. O normal é que utilizem componentes de outras empresas. Em termos de produtividade, faz bastante sentido, mas há o risco de inserir vulnerabilidades no sistema da empresa. Neste sentido, selecione a opção correta com uma forma de reduzir os riscos de inserir vulnerabilidades: A. Utilizar apenas componentes de software com licença comercial. B. Trabalhar apenas com componentes de código aberto. C. Realizar estudos sobre o código-fonte do componente. GPT D. Utilizar qualquer biblioteca com criptografia E. Utilizar componentes de empresas com boa reputação e com documentação ALUNO 4. Um dos controles de segurança é o monitoramento do uso das funcionalidades e do acesso aos dados. Neste sentido, selecione a opção correta que apresenta um aspecto fundamental para que possamos realizar o monitoramento de segurança de um sistema. A. Instalar câmeras para vigiar os usuários do sistema. B. Manter o software sempre atualizado. C. Definir os procedimentos necessários para um monitoramento eficiente. ALUNO D. Usar ferramentas que gerem arquivos logs do uso do sistema. GPT E. Garantir que todos os dados que transitam entre os módulos estejam criptografados. 6. O controle de permissões, normalmente, é referenciado como uma boa prática que auxilia nas reduções de vulnerabilidades. Na prática, porém, ela pode oferecer alguns desafios. Nesse sentido, selecione a opção correta que contém uma possível vulnerabilidade associada ao controle de permissões. A. Aplicar a política do privilégio mínimo. B. Associar as permissões aos perfis dos usuários. C. Fazer configurações inadequadas. Document shared on https://www.docsity.com/pt/docs/desenvolvimento-de-software-seguro-1/12023875/ Downloaded by: kevelyn-macedo (macedokevelyn@gmail.com) https://www.docsity.com/pt/docs/desenvolvimento-de-software-seguro-1/12023875/?utm_source=docsity&utm_medium=document&utm_campaign=watermark D. Restringir acesso aos dados. E. Usar certificados digitais. 8. O NIST é um Instituto de padronização americano, que publica muitas práticas e padrões para diversas áreas do conhecimento. Sobre seus esforços na área de segurança, leia as afirmativas a seguir e assinale a alternativa correta. I - O Cybersecurity Framework (CSF) propõe um padrão para programação de software seguro. II - A publicação NIST SP 800-39 serve como referência para as organizações desenvolverem seus próprios programas de gestão de risco de segurança da informação. III - A NIST SP 800-160 se concentra na questão da resiliência cibernética de forma a promover o desenvolvimento de sistemas seguros confiáveis, com capacidade de reavivamento em caso de falhas. IV - A NIST SP 800-53 fornece um catálogo de controles de segurança e privacidade para sistemas de informação, sendo uma publicação com caráter bastante prático. A. I- Verdadeiro; II - Falso; III- Verdadeiro; IV - Falso N I S T B. I- Falso; II - Verdadeiro; III - Verdadeiro; IV - Verdadeiro FVVV C. I-Verdadeiro; II - Verdadeiro; III - Falso; IV - Verdadeiro 9. Comparando o tempo de desenvolvimento de projetos de software que seguem um modelo de desenvolvimento tradicional comparando-os com projetos que empregam o modelo de desenvolvimento considerando DevSecOps, é possível observar que estes últimos tem um tempo de entrega mais rápido. Por que a prática de DevSecOps pode acelerar a entrega de software? A. Por evitar a adoção de práticas ágeis. B. Por priorizar a segurança em detrimento da velocidade. C. Por antecipar e resolver problemas de segurança rapidamente. D. Por negligenciar a transparência do projeto. E. Por atrasar a implementação de novas funcionalidades. 10. Em uma recente reunião de equipe de TI, o CTO mencionou a adoção da prática de DevSecOps para melhorar o processo de desenvolvimento de software. Isso levantou questões sobre as possíveis vantagens desta abordagem. Document shared on https://www.docsity.com/pt/docs/desenvolvimento-de-software-seguro-1/12023875/ Downloaded by: kevelyn-macedo (macedokevelyn@gmail.com) https://www.docsity.com/pt/docs/desenvolvimento-de-software-seguro-1/12023875/?utm_source=docsity&utm_medium=document&utm_campaign=watermark Qual o benefício, entre as opções a seguir, do DevSecOps no desenvolvimento de software? A. Aumento dos custos de reparação e correção de danos. B. Redução da transparência do projeto. C. Melhoria da qualidade do software. D. Aumento da conformidade regulatória. E. Diminuição da resiliência do sistema. Document shared on https://www.docsity.com/pt/docs/desenvolvimento-de-software-seguro-1/12023875/ Downloaded by: kevelyn-macedo (macedokevelyn@gmail.com) https://www.docsity.com/pt/docs/desenvolvimento-de-software-seguro-1/12023875/?utm_source=docsity&utm_medium=document&utm_campaign=watermark Prova 3 (7 Questões) 1. Apesar de todos os cuidados que possamos ter com um sistema, ainda assim, estamos sujeitos a ataques. É claro que o interesse dos invasores aumenta com a importância dos dados que estamos trabalhando. Nesse sentido, selecione a opção correta que trata sobre uma forma eficiente de evitarmos que um sistema fique indisponível devido a um ataque. A. Utilizar apenas sistemas de empresas conhecidas. B. Aplicar algoritmos de criptografia nos dados ALUNO C. Utilizar versões redundantes do sistema GPT D. Ter um plano conceitual de recuperação de desastres E. Utilizar versões do sistema de outros fornecedores 2. As normas ISO/IEC são desenvolvidas por especialistas de várias partes do mundo e são reconhecidas internacionalmente. Elas são projetadas para garantir que as empresas estejam seguindo as melhores práticas e cumprindo as regulamentações e requisitos necessários. A respeito das normas relacionadas à segurança da informação e outras que podem ser empregadas para apoio ao desenvolvimento de software seguro, leia as afirmativas e selecione a alternativa mais adequada. I- A família ISO 27000 é um conjunto de padrões internacionais que fornecem diretrizes especificamente para sistemas de software. II - A norma ISO/IEC 15288 é amplamente utilizada na indústria de tecnologia da informação e comunicação (TIC) e fornece uma estrutura para o desenvolvimento, aquisição, operação e manutenção de sistemas, ou seja, para o ciclo de vida de sistemas de software. III-A norma ISO/IEC 20004, da família 20000, que formaliza a inclusão das práticas ITIL, se apoia em duas outras normas ISO para orientar a identificação, seleção e avaliação de potenciais vulnerabilidades em software. Marque a alternativa correta. A. Apenas I está correta ISO/IEC B. Apenas II está correta II 3. Continuous Integration(Integração Contínua) e Continuous Delivery (Entrega Continua) são práticas de engenharia de software oriundos dos conceitos de Automação e Orquestração que são pilares fundamentais para as abordagens DevOps e DevSecOps. São práticas e técnicas tão importantes que é quase possível se afirmar que sem elas DevOps e DevSecOps não seriam possíveis, tamanho o benefício que as práticas Document shared on https://www.docsity.com/pt/docs/desenvolvimento-de-software-seguro-1/12023875/ Downloaded by: kevelyn-macedo (macedokevelyn@gmail.com) https://www.docsity.com/pt/docs/desenvolvimento-de-software-seguro-1/12023875/?utm_source=docsity&utm_medium=document&utm_campaign=watermark trazem como suporte a DevOps e DevSecOps. Qual é a diferença entre Continuous Integration (Integração Continua) e Continuous Delivery (Entrega Continua)? A. A Integração Continua foca na entrega confiável e automatizada de software, enquanto a Entrega Continua concentra-se na automação do processo de compilação e teste. B. A Integração Contínua é um componente fundamental da Entrega Continua, mas se concentra na entrega frequente de alterações de código. C. A Integração Continua é uma prática de engenharia de software, enquanto a Entrega Continua é uma técnica de automação. D. A Integração Continua visa a colaboração entre os membros da equipe de desenvolvimento, enquanto a Entrega Continua foca na colaboração entre desenvolvimento e operações. E. A Integração Continua é um componente fundamental da Entrega Continua, mas se concentra na... 5. Existem diversas fontes de informação que descrevem as vulnerabilidades de segurança de um software. Um exemplo de fonte de informação é a OWASP. Neste sentido, selecione a opção correta a respeito da afirmação: "Um invasor pode utilizar uma fonte oficial de informação para aprender a explorar vulnerabilidades de um software". A. Está errada, pois essas fontes não fornecem muitos detalhes sobre as vulnerabilidades. B. Está correta, pois um invasor pode usar um conhecimento para explorar sistemas vulneráveis. GPT C. Está errada, pois essas fontes são explícitas sobre as consequências de usar um conhecimento que elas fornecem de forma indevida. D. Está correta, pois o objetivo dessas fontes é que os sistemas vulneráveis sofram as consequências do mau-gerenciamento. E. Está correta, pois é natural que após aprender sobre as vulnerabilidades de um software, um indivíduo passe a explorá-las. ALUNO 8. Conformidade e Governança são dois conceitos fundamentais de Segurança da Informação onde a conformidade refere-se ao cumprimento das leis, regulamentos e padrões estabelecidos com o objetivo de garantir a segurança dos dados e informações, e a governança trata do conjunto de processos, políticas, normas e diretrizes que devem ser utilizados para gerenciar e controlar a segurança da informação de uma organização. Qual é o objetivo da governança no contexto de Segurança da Informação? A. Estabelecer processos claros e bem definidos na organização. B. Garantir a conformidade com as leis, regulamentos e políticas internas. C. Gerenciar e controlar a segurança da informação em uma organização. D. Promover uma cultura de responsabilidade corporativa. E. Estabelecimento de processos claros e comunicação efetiva dentro da organização. Document shared on https://www.docsity.com/pt/docs/desenvolvimento-de-software-seguro-1/12023875/ Downloaded by: kevelyn-macedo (macedokevelyn@gmail.com) https://www.docsity.com/pt/docs/desenvolvimento-de-software-seguro-1/12023875/?utm_source=docsity&utm_medium=document&utm_campaign=watermark 9. É um fato que os riscos de ataques a sistemas sempre existiram e sempre vão existir. Isso exige ainda mais esforço da nossa parte para reduzir as chances de que eles se tornem em problemas reais. Neste sentido, selecione a opção correta que apresenta uma forma genérica de reduzirmos as chances de um risco se tornar um problema. A. Só permitir acesso ao sistema através de controles biométricos B. Aumentarmos a quantidade de camadas de um software até que ele faça a tarefa que lhe for designada C. Concentrar-se apenas nos riscos de menor ocorrência D. Através do estabelecimento de uma política de avaliação e gerenciamento de riscos E. Através da identificação de todos os possíveis riscos de um sistema 10. Uma das sugestões para reduzir as vulnerabilidades de segurança de um software é fazer revisões do código. Mas sempre que realizamos alguma programação em um sistema que já está funcionando, corremos o risco de inserir novas vulnerabilidades. Neste sentido, selecione a opção correta que apresenta uma forma de reduzir os riscos de inserirmos vulnerabilidades em um código após a revisão de um código. A. Através da otimização da mão-de-obra de programadores disponíveis, especialmente, que ainda não tenham experiência, para realizar atualizações e acompanhar o retorno fornecido pelos clientes. B. Dedicar todo tempo para a documentação do trabalho que foi feito e do que será feito através de diversas reuniões e, depois, tentar encontrar profissionais disponíveis para realizar a revisão do código. C. Sempre que possível, mudar o sistema para linguagens de programação mais modernas. D. Fazer consultas em sites de pesquisa que produzem códigos baseados em aprendizado de máquina. E. Através de diversos testes em um ambiente controlado até que possamos atualizar o sistema no ambiente de produção. Document shared on https://www.docsity.com/pt/docs/desenvolvimento-de-software-seguro-1/12023875/ Downloaded by: kevelyn-macedo (macedokevelyn@gmail.com) https://www.docsity.com/pt/docs/desenvolvimento-de-software-seguro-1/12023875/?utm_source=docsity&utm_medium=document&utm_campaign=watermark Avulsas (2 Questões) 7. Muitas são as organizações que sugerem estruturas metodológicas para construção de software seguro. A OWASP, uma dessas organizações, promove um framework voltado para este fim. Sobre esse framework, leia as afirmativas a seguir e assinale a alternativa mais adequada a indicar cada uma das fases apresentadas pelas afirmativas. I- O objetivo desta fase é identificar e documentar as falhas de segurança que possam se configurar em ameaças. II - Nesta fase o aplicativo é desenvolvido tomando por base o emprego de práticas de codificação seguras. III - Nesta fase o aplicativo é acompanhado passando por monitoramento constante a fim de que sejam detectadas ameaças de segurança. Marque a alternativa correta. A. I - modelagem de ameaças; II - implementação; III - lançamento B. I - modelagem de ameaças; II - implementação; III - pós-lançamento MIP C. I - elicitação de requisitos; II - implementação; III - pós-lançamento D. I - implementação; II - modelagem de ameaças; III - verificação de segurança E. I-verificação de segurança; II - implementação; III - pós-lançamento 10. Existem muitos parâmetros importantes de segurança que devem ser considerados em diferentes contextos e situações. Normalmente, para ter acesso a um sistema, um usuário precisa fornecer um login e uma senha. Nesse sentido, selecione a opção correta sobre o nome desse processo: A. Validação de entrada. B. Teste de perfil. C. Autenticação do usuário. D. Disponibilidade do sistema. E. Privacidade de dados. Document shared on https://www.docsity.com/pt/docs/desenvolvimento-de-software-seguro-1/12023875/ Downloaded by: kevelyn-macedo (macedokevelyn@gmail.com) https://www.docsity.com/pt/docs/desenvolvimento-de-software-seguro-1/12023875/?utm_source=docsity&utm_medium=document&utm_campaign=watermark