Title: Desenvolvimento de Software / DevOps
Tags: Desenvolvimento_de_Software Resumo
On every note of this deck, unless a note says otherwise:
tldr: DevOps é a integração entre equipes de Desenvolvimento (Dev) e Operações (Ops), criada para resolver conflitos históricos entre esses grupos. Seu objetivo é aumentar eficiência, velocidade e segurança no desenvolvimento de software através de colaboração, entregas contínuas, automação e feedback constante.
Conceitos-chave:
- 6 Princípios: Colaboração, decisões baseadas em dados, foco no cliente, melhoria contínua, responsabilidade compartilhada e automação
- Pipeline CI/CD: Fluxo automatizado com 8 etapas (Planejamento → Código → Build → Teste → Release → Deploy → Operação → Monitoramento)
- IaC (Infraestrutura como Código): Gerenciamento de infraestrutura via scripts versionáveis (YAML, linguagens declarativas/imperativas)
- CALMS: Modelo de maturidade DevOps (Culture, Automation, Lean, Measurement, Sharing)
Práticas fundamentais:
- Controle de versionamento (Git)
- Metodologias ágeis (Scrum, Kanban)
- Testes à esquerda (shift-left testing)
- Integração Contínua (CI) e Entrega/Implementação Contínua (CD)
DevSecOps:
Evolução do DevOps que integra segurança em TODAS as etapas do ciclo de desenvolvimento, não apenas no final. Envolve colaboração tripla: desenvolvedores + operações + segurança.
link: https://documentacao.online/estudos/v94y.html
title: DevOps

front: (CESPE/ANALISTA FAZENDÁRIO PREF. FORTALEZA/2023) A equipe de redes de um órgão público está trabalhando para auxiliar no cumprimento das metas da equipe de desenvolvimento de sistemas do mesmo órgão e vislumbrou a possibilidade de utilização de DevOps. Para tal, a equipe de redes indicou a contratação de uma API em uma nuvem. A API indicada permite que os desenvolvedores e os administradores dos sistemas interajam com a infraestrutura de modo programático e em escala, evitando a instalação e a configuração dos recursos manualmente todas as vezes que precisam recriar um ambiente de desenvolvimento. Para essa atividade, a equipe de desenvolvimento utilizou a prática DevOps de:
a) comunicação e colaboração;
b) integração contínua;
c) entrega contínua;
d) microsserviços;
e) infraestrutura como código.
response: Alternativa E
comment: A chave da questão está aqui: “permite que os desenvolvedores e os administradores dos sistemas interajam com a infraestrutura de modo programático e em escala, evitando a instalação e a configuração dos recursos manualmente” A prática que permite implementar essa necessidade, fazendo com que não haja a necessidade de configuração manual em cada ambiente de trabalho que o aplicativo for implementado, é a infraestrutura como código. (Gabarito: Letra E)
Other fields (not shown on cards):
back: Alternativa E - A chave da questão está aqui: “permite que os desenvolvedores e os administradores dos sistemas interajam com a infraestrutura de modo programático e em escala, evitando a instalação e a configuração dos recursos manualmente” A prática que permite implementar essa necessidade, fazendo com que não haja a necessidade de configuração manual em cada ambiente de trabalho que o aplicativo for implementado, é a infraestrutura como código. (Gabarito: Letra E)

front: (CESPE/SEPLAN RR/2023) No que diz respeito aos conceitos de criptografia, à assinatura digital, aos conceitos utilizados em sistemas operacionais e às noções de DevOps, julgue o item seguinte. Colaboração multidisciplinar, teste manual no final do desenvolvimento e implantação contínua são algumas das características marcantes da cultura DevOps.
response: Errado
comment: Está quase tudo certo – mas temos um erro gritante. Tudo que envolve DevOps busca ocorrer de forma automatizada, então a afirmativa incorre em erro ao dizer que temos testes manuais, temos sim testes, mas esses ocorrem de forma automatizada. (Gabarito: Errado)
Other fields (not shown on cards):
back: Errado - Está quase tudo certo – mas temos um erro gritante. Tudo que envolve DevOps busca ocorrer de forma automatizada, então a afirmativa incorre em erro ao dizer que temos testes manuais, temos sim testes, mas esses ocorrem de forma automatizada. (Gabarito: Errado)

front: (CEBRASPE/STJ/2018) Acerca de TomCat, desenvolvimento seguro de software, refactoring e integração contínua, julgue o item. Em um serviço de integração contínua, testes de unidade são executados automaticamente com a finalidade de detectar erros funcionais.
response: Certo
comment: Isso está correto! Queremos um processo automatizado, o que inclui os testes unitários, aplicados nas menores partes do código, permitindo que sejam detectados erros antes de alguma integração ao repositório central. (Gabarito: Certo)
Other fields (not shown on cards):
back: Certo - Isso está correto! Queremos um processo automatizado, o que inclui os testes unitários, aplicados nas menores partes do código, permitindo que sejam detectados erros antes de alguma integração ao repositório central. (Gabarito: Certo)

front: (FGV/TJ RJ/2024) O Desenvolvimento de Software tem sido impactado pela condução de projetos empregando métodos ágeis. São alguns dos principais métodos: Scrum; Kanban; Lean; Feature Driven Development (FDD); eXtreme Programming (XP); e, Microsoft Solutions Framework (MSF). Entre as técnicas aplicadas, destaca-se a prática que torna a integração de código mais eficiente por meio de builds e testes automatizados denominada
a) Iterative Development / Continuous Delivery (ID/CD)
b) Continuous Delivery / Continuous Feedback (CD/CF)
c) Continuous Integration / Continuous Delivery (CI/CD)
d) Flow Production / Continuous Integration (FP/CI)
e) Continuous Integration / Continuous Feedback (CI/CF)
response: Alternativa C
comment: A prática de integração e testes automatizados de código é denominada Continuous Integration / Continuous Delivery (CI/CD). (Gabarito: Letra C)
Other fields (not shown on cards):
back: Alternativa C - A prática de integração e testes automatizados de código é denominada Continuous Integration / Continuous Delivery (CI/CD). (Gabarito: Letra C)

front: (CEBRASPE/APEX/2024) Em DevOps, a compilação de todos os arquivos de um sistema para a geração de uma versão executável sem nenhum passo manual é denominada
a) servidores de integração contínua.
b) deploy contínuo.
c) build automatizado.
d) testes automatizados.
response: Alternativa C
comment: Vamos analisar cada alternativa. a) Errado. Os servidores de integração contínua São ferramentas que gerenciam pipelines, mas não descrevem o processo específico de compilação. b) Errado. O deploy contínuo refere-se à implantação automatizada de alterações no ambiente de produção, o que ocorre após o build e validação. c) Certo. O build automatizado é o processo em que todos os arquivos de código-fonte de um sistema são compilados automaticamente para gerar uma versão executável (artefato), sem intervenção manual. d) Errado. Os testes são etapas de validação, não o processo de compilação ou geração de artefatos. Portanto, correta a letra C. (Gabarito: Letra C)
Other fields (not shown on cards):
back: Alternativa C - Vamos analisar cada alternativa. a) Errado. Os servidores de integração contínua São ferramentas que gerenciam pipelines, mas não descrevem o processo específico de compilação. b) Errado. O deploy contínuo refere-se à implantação automatizada de alterações no ambiente de produção, o que ocorre após o build e validação. c) Certo. O build automatizado é o processo em que todos os arquivos de código-fonte de um sistema são compilados automaticamente para gerar uma versão executável (artefato), sem intervenção manual. d) Errado. Os testes são etapas de validação, não o processo de compilação ou geração de artefatos. Portanto, correta a letra C. (Gabarito: Letra C)

front: (CESPE/TRT 8/2022) A respeito de testes automatizados, no contexto de DevOps e DevSecOps, assinale a opção correta.
a) Em um teste unitário, os métodos da classe sendo testada e suas dependências podem ter relação com recursos externos.
b) Os bugs são detectados no final do ciclo de desenvolvimento, o que pode aumentar o tempo na criação de novos produtos.
c) Os testes unitários são testes de caixa preta com cada função que compõe o software.
d) O TDD (Test Driven Development) eleva o nível dos testes unitários e tem como característica criar a classe de testes antes da classe de produção, de forma que os testes guiem o código a ser implementado.
e) Os testes de integração são caracterizados pela verificação de partes internas do sistema, que se inter-relacionam entre si, conforme definido pelos clientes.
response: Alternativa D
comment: Como vamos ver nessa questão, as questões que abordam DevSecOps nada mais são que questões de segurança da informação e engenharia de software aplicadas. Vamos analisar cada afirmativa. a) Errado. Galera, testes unitários testam partes autônomas do programa e exaurem os testes em si – ou seja, não temos relações com recursos externos. b) Errado. No DevSecOps temos testes constantes, permitindo a detecção de bugs em diversas fases do desenvolvimento. c) Errado. Testes unitários são testes de caixa branca, já que estamos testando a funcionalidade e funcionamento do código em si. d) Certo. No TDD temos um aumento na quantidade de testes, já que desenvolvemos de acordo com os testes, que foram planejados em etapa anterior ao desenvolvimento. e) Errado. A integração é caracterizada por verificar o funcionamento em conjunto de componentes, se relacionando. Portanto, correta a letra D. (Gabarito: Letra D)
Other fields (not shown on cards):
back: Alternativa D - Como vamos ver nessa questão, as questões que abordam DevSecOps nada mais são que questões de segurança da informação e engenharia de software aplicadas. Vamos analisar cada afirmativa. a) Errado. Galera, testes unitários testam partes autônomas do programa e exaurem os testes em si – ou seja, não temos relações com recursos externos. b) Errado. No DevSecOps temos testes constantes, permitindo a detecção de bugs em diversas fases do desenvolvimento. c) Errado. Testes unitários são testes de caixa branca, já que estamos testando a funcionalidade e funcionamento do código em si. d) Certo. No TDD temos um aumento na quantidade de testes, já que desenvolvemos de acordo com os testes, que foram planejados em etapa anterior ao desenvolvimento. e) Errado. A integração é caracterizada por verificar o funcionamento em conjunto de componentes, se relacionando. Portanto, correta a letra D. (Gabarito: Letra D)

front: (CEBRASPE/BACEN/2024) Acerca dos princípios e das práticas de DevOps e DevSecOps, integração e entrega contínuas, julgue os seguinte o item. Integração, entrega e implementação contínuas e com segurança em todo o ciclo de vida do desenvolvimento de software são os princípios básicos do DevOps.
response: Errado
comment: A questão parece “certinha” – mas quem foca em ter “segurança em todo o ciclo de vida do desenvolvimento” é o DevSecOps. Embora o DevOps implemente testes em todo o ciclo de desenvolvimento, eles são voltados para a integridade das implementações e na continuidade de funcionamento da aplicação. (Gabarito: Errado)
Other fields (not shown on cards):
back: Errado - A questão parece “certinha” – mas quem foca em ter “segurança em todo o ciclo de vida do desenvolvimento” é o DevSecOps. Embora o DevOps implemente testes em todo o ciclo de desenvolvimento, eles são voltados para a integridade das implementações e na continuidade de funcionamento da aplicação. (Gabarito: Errado)

front: (CEBRASPE/SERPRO/2023) A respeito de clean code, julgue o item que se segue. Uma das premissas para que um código seja considerado “limpo” é que suas funções sejam pequenas e cada uma execute apenas uma funcionalidade.
response: Correto
comment: Galera, para resolver a questão preciso que você pense de forma um pouco utópica. Idealmente, para o código ser considerado o mais limpo possível, cada função deve ter o menor tamanho possível (ou seja, ser pequena) e executar uma e exclusivamente uma única funcionalidade. Nesse sentido, correto o apontamento da questão.
Other fields (not shown on cards):
back: Correto - Galera, para resolver a questão preciso que você pense de forma um pouco utópica. Idealmente, para o código ser considerado o mais limpo possível, cada função deve ter o menor tamanho possível (ou seja, ser pequena) e executar uma e exclusivamente uma única funcionalidade. Nesse sentido, correto o apontamento da questão.

front: (FUNDATEC/PROCERGS/2023) Tipos de teste são grupos de atividades de teste destinados a testar características específicas de um sistema de software, ou parte de um sistema, com base em objetivos de teste específicos. Eles geralmente se dividem em Testes Funcionais e Não Funcionais, Teste de Caixa Branca e Teste de Caixa Preta e se estendem por muitas técnicas. Assinale a alternativa que NÃO se trata de uma técnica de teste.
a) Regressão.
b) Desempenho.
c) Clean Code.
d) Exploratório.
e) Smoke test.
response: Letra C
comment: Questão tranquila, né? Das alternativas apontadas, a única que representa uma prática que não é relacionada a testes é a letra C - clean code.
Other fields (not shown on cards):
back: Letra C - Questão tranquila, né? Das alternativas apontadas, a única que representa uma prática que não é relacionada a testes é a letra C - clean code.

front: (CEBRASPE/DATAPREV/2023) Julgue o item abaixo, relacionados com JavaScript, Web Services e análise estatística de código-fonte. De acordo com o Clean Code, o programador deve ter o cuidado de declarar todas as variáveis locais em um único ponto, no início do código, como forma de facilitar a compreensão do código escrito.
response: Errado
comment: Dois erros principais. Primeiro que são as variáveis globais que devem ser declaradas no mais alto nível possível. Em segundo lugar, nem sempre vai ser possível declarar a variável no início do código, as vezes acaba sendo mais interessante declará-la em algum lugar específico.
Other fields (not shown on cards):
back: Errado - Dois erros principais. Primeiro que são as variáveis globais que devem ser declaradas no mais alto nível possível. Em segundo lugar, nem sempre vai ser possível declarar a variável no início do código, as vezes acaba sendo mais interessante declará-la em algum lugar específico.

front: (CEBRASPE/BANRISUL/2022) Conforme os preceitos da NBR ISO/IEC 27002:2013 acerca da classificação e do controle de ativos de informação, julgue o item a seguir. Recomenda-se que o inventário de ativos contenha a indicação de um responsável para cada ativo identificado.
response: Correto
comment: Questão que aborda conhecimentos da norma ISO/IEC 27002. O estudo dela não foi alvo da aula, mas muitos dos seus conhecimentos são deduzíveis com os conhecimentos que vimos hoje. De fato, quando fazemos o levantamento de ativos de segurança de uma entidade (ou seja, um inventário), devemos apontar um responsável por cada um deles, para fazer seu gerenciamento, monitoramento e acompanhamento.
Other fields (not shown on cards):
back: Correto - Questão que aborda conhecimentos da norma ISO/IEC 27002. O estudo dela não foi alvo da aula, mas muitos dos seus conhecimentos são deduzíveis com os conhecimentos que vimos hoje. De fato, quando fazemos o levantamento de ativos de segurança de uma entidade (ou seja, um inventário), devemos apontar um responsável por cada um deles, para fazer seu gerenciamento, monitoramento e acompanhamento.

front: (CEBRASPE/CNMP/2023) Julgue o próximo item, relativo a segurança da informação no gerenciamento de projetos, segurança em recursos humanos, gestão de incidentes de segurança da informação e a aspectos pertinentes à segurança da informação na gestão da continuidade do negócio. Especialmente por questões de confidencialidade, e como forma de minimizar a exposição de potenciais fragilidades do ambiente organizacional, convém evitar o uso de casos de incidentes atuais de segurança da informação em treinamentos ou palestras, optando-se, nesses eventos, pelo uso exemplificativo de lições técnicas aprendidas com a solução de casos de incidentes passados.
response: Errado
comment: Alunos, sempre iremos priorizar o uso de casos de incidente atuais acima de treinamentos ou palestras. Os casos de uso envolvem casos reais, onde já foram vistos os impactos e eventuais formas de contornar o problema, oferecendo uma base muito mais consistente para a entidade definir suas abordagens aos eventuais eventos de segurança que possam ocorrer. Portanto, incorreta a afirmativa.
Other fields (not shown on cards):
back: Errado - Alunos, sempre iremos priorizar o uso de casos de incidente atuais acima de treinamentos ou palestras. Os casos de uso envolvem casos reais, onde já foram vistos os impactos e eventuais formas de contornar o problema, oferecendo uma base muito mais consistente para a entidade definir suas abordagens aos eventuais eventos de segurança que possam ocorrer. Portanto, incorreta a afirmativa.

front: (AOCP/CGE MS/2022) Você é um analista da área de TI da Controladoria Geral do Estado de Mato Grosso do Sul e, ao realizar uma análise de risco no site da organização, identificou uma possível ameaça. Essa é uma medida de segurança com qual característica?
a) Preventiva.
b) Detectável.
c) Corretiva.
d) De impacto.
e) Acidental.
response: Alternativa B
comment: Perceba que a ação envolve uma simples detecção de possíveis vulnerabilidades ou ameaças. Esse é um processo de rotina de detecção, ou uma medida detectável. Se realizássemos alguma ação corretiva, de forma a proteger os ativos antes da ocorrência do evento (o que é indicado, by the way), teríamos uma ação preventiva - que não é o caso da questão.
Other fields (not shown on cards):
back: Alternativa B - Perceba que a ação envolve uma simples detecção de possíveis vulnerabilidades ou ameaças. Esse é um processo de rotina de detecção, ou uma medida detectável. Se realizássemos alguma ação corretiva, de forma a proteger os ativos antes da ocorrência do evento (o que é indicado, by the way), teríamos uma ação preventiva - que não é o caso da questão.

front: (CEBRASPE/APEX/2022) Quanto ao monitoramento, à detecção e à resposta a incidentes de segurança, assinale a opção correta.
a) Na etapa detecção, percebe-se um comportamento fora do padrão do sistema, razão por que se busca identificar o problema e coletar o máximo de informações possíveis para auxiliar na solução.
b) A etapa preparação ocorre durante um ataque e nela se inserem ferramentas de verificação e criam-se políticas de segurança para evitar novos ataques e vazamentos de informações.
c) A etapa restauração ocorre após um ataque bem-sucedido e geralmente com perda de dados e(ou) indisponibilidade de serviços, atuando na restauração sem o uso de backups.
d) Na etapa contenção, atua-se para minimizar danos, buscando-se a prevenção a novos ataques a curto prazo e soluções para o problema a longo prazo.
response: Letra A
comment: Vamos analisar cada afirmativa. a) Correto. Realmente, quando estamos detectando algum comportamento fora do padrão, é ideal identificar as características do problema, coletando informações para formular um planos de resposta ou de solução b) Errado. A preparação é anterior ao ataque. c) Errado. A alternativa vai bem, mas comete um deslize no final - há sim o uso de backups. d) Errado. Há uma impropriedade, a prevenção de novos ataques não se reduz ao curto prazo, nem a solução de problemas apenas ao longo prazo.
Other fields (not shown on cards):
back: Letra A - Vamos analisar cada afirmativa. a) Correto. Realmente, quando estamos detectando algum comportamento fora do padrão, é ideal identificar as características do problema, coletando informações para formular um planos de resposta ou de solução b) Errado. A preparação é anterior ao ataque. c) Errado. A alternativa vai bem, mas comete um deslize no final - há sim o uso de backups. d) Errado. Há uma impropriedade, a prevenção de novos ataques não se reduz ao curto prazo, nem a solução de problemas apenas ao longo prazo.

front: (FCC/COPERGÁS/2023) O OWASP Top 10 2021 elenca os problemas de segurança mais comuns e mais importantes no contexto das aplicações web. O problema de segurança que ocupa a primeira posição é:
a) Falha criptográfica.
b) Injeção.
c) Quebra de controle de acesso.
d) Design inseguro.
e) Server-Side Request Forgery.
response: Letra C
comment: Conforme vimos na aula, o top 1 da OWASP TOP 10 é a quebra de controle de acesso, que envolve burlar credenciais e garantir níveis de acesso superiores ao que o usuário teria em condições normais de uso. Como forma de prevenção, podemos aplicar algumas abordagens, como negar acesso a recursos por padrão, implementar mecanismos de controle de acesso, entre outros.
Other fields (not shown on cards):
back: Letra C - Conforme vimos na aula, o top 1 da OWASP TOP 10 é a quebra de controle de acesso, que envolve burlar credenciais e garantir níveis de acesso superiores ao que o usuário teria em condições normais de uso. Como forma de prevenção, podemos aplicar algumas abordagens, como negar acesso a recursos por padrão, implementar mecanismos de controle de acesso, entre outros.

front: (FEPESE/PREF. B. CAMBORIÚ/2023) O acesso ao código-fonte de programas e de itens associados (como desenhos, especificações, planos de verificação e de validação) devem ser estritamente controlados, com a finalidade de prevenir a introdução de funcionalidade não autorizada e para evitar mudanças não intencionais. Além disso, objetiva:
a) evitar a disseminação de vírus pelos computadores da organização.
b) garantir que os programas contratados pela organização sejam testados antes de serem implantados em produção.
c) verificar a existência de funcionalidades que permitam o acesso não autorizado a dados sensíveis, conforme estabelece a Lei Geral de Proteção de Dados (LGPD).
d) garantir o backup dos aplicativos e do sistema operacional das estações de trabalho.
e) manter a confidencialidade de propriedade intelectual do produto desenvolvido.
response: Letra E
comment: Vamos achar a alternativa correta. a) Errado. Virus se disseminam de várias formas, de sorte que controlar o acesso ao código fonte não é suficiente para evitar sua propagação b) Errado. Os testes não possuem relação alguma com o controle de acesso ao código fonte. c) Errado. Novamente, não há relação direta com o controle de acesso ao código, já que os dados não estão presentes nele, e sim em bases de dados. d) Errado. Outra vez, backups não possuem relação com o controle de acesso ao código- fonte. e) Correto. Uma das funcionalidades fornecidas pelo controle de acesso ao código é, de fato, proteção da propriedade intelectual.
Other fields (not shown on cards):
back: Letra E - Vamos achar a alternativa correta. a) Errado. Virus se disseminam de várias formas, de sorte que controlar o acesso ao código fonte não é suficiente para evitar sua propagação b) Errado. Os testes não possuem relação alguma com o controle de acesso ao código fonte. c) Errado. Novamente, não há relação direta com o controle de acesso ao código, já que os dados não estão presentes nele, e sim em bases de dados. d) Errado. Outra vez, backups não possuem relação com o controle de acesso ao código- fonte. e) Correto. Uma das funcionalidades fornecidas pelo controle de acesso ao código é, de fato, proteção da propriedade intelectual.

front: (FEPESE/PREF. B. CAMBORIÚ/2023) São exemplos válidos do risco de Design Inseguro do OWASP:
1. Não limitar o número de tentativas de login a um painel administrador, o que possibilita ataques de força bruta.
2. Não conter proteções nativas com relação à transações automatizadas via bots, o que possibilita tentativas de uso de cartões de crédito roubados, por exemplo, em aplicações web de e-commerce.
3. Não possuir uma URL padrão para administrar instâncias de aplicações web conhecidas, como CMS, o que dificulta o trabalho do administrador.
Assinale a alternativa que indica todas as afirmativas corretas.
a) São corretas apenas as afirmativas 1 e 2.
b) É correta apenas a afirmativa 1.
c) São corretas apenas as afirmativas 1 e 3.
d) São corretas apenas as afirmativas 2 e 3.
e) São corretas as afirmativas 1, 2 e 3.
response: Letra A
comment: Agora você deve estar pensando "professor, eu não li a OWASP, você não falou dela nessa aula, como vou responder?". Caro aluno, sempre vou pregar pelo entendimento da disciplina acima de decorebas - e esse foi meu intuito nessa aula. Trouxe todo o processo de desenvolver aplicações seguras para que, chegando em questões como essa, você tenha um raciocínio que lhe permita acertar sem mesmo ter lido a literalidade da OWASP. Tendo dito isso, vamos aos itens: 1. Correto. De fato, se não limitarmos o número de tentativas de acesso, invasores podem simular inúmeras senhas e conseguir acesso ao sistema por ataques de força bruta. 2. Correto. Ferramentas de proteção anti-bot são essenciais em qualquer plataforma, seja para evitar o uso malicioso, seja para evitar a sobrecarga de servidores. 3. . É imperioso que tenhamos uma URL específica - e que exija autenticação - para fazermos o gerenciamento das aplicações. Portanto, 1 e 2 estão corretas.
Other fields (not shown on cards):
back: Letra A - Agora você deve estar pensando "professor, eu não li a OWASP, você não falou dela nessa aula, como vou responder?". Caro aluno, sempre vou pregar pelo entendimento da disciplina acima de decorebas - e esse foi meu intuito nessa aula. Trouxe todo o processo de desenvolver aplicações seguras para que, chegando em questões como essa, você tenha um raciocínio que lhe permita acertar sem mesmo ter lido a literalidade da OWASP. Tendo dito isso, vamos aos itens: 1. Correto. De fato, se não limitarmos o número de tentativas de acesso, invasores podem simular inúmeras senhas e conseguir acesso ao sistema por ataques de força bruta. 2. Correto. Ferramentas de proteção anti-bot são essenciais em qualquer plataforma, seja para evitar o uso malicioso, seja para evitar a sobrecarga de servidores. 3. . É imperioso que tenhamos uma URL específica - e que exija autenticação - para fazermos o gerenciamento das aplicações. Portanto, 1 e 2 estão corretas.

front: (AOCP/MPE MS/2023) Uma nova atividade de verificação de segurança será iniciada. Uma das premissas é de que os testes de Invasão busquem fragilidades de segurança que possam ser exploradas por insiders. Qual seria o tipo de teste mais apropriado?
a) Red box.
b) Black box.
c) White box.
d) Purple box.
e) Orange box.
response: Letra C
comment: A chave da questão está nos insiders. Pessoas internas à organização possuem, usualmente, conhecimentos sobre o código da aplicação, permitindo abrir brechas por explorar pontos frágeis intrínsicos ao código da aplicação. Dentre os testes apontados, o único que testa a aplicação com foco no código, ou seja, faz um teste com uma abordagem estática, é o teste de caixa branca, o white box.
Other fields (not shown on cards):
back: Letra C - A chave da questão está nos insiders. Pessoas internas à organização possuem, usualmente, conhecimentos sobre o código da aplicação, permitindo abrir brechas por explorar pontos frágeis intrínsicos ao código da aplicação. Dentre os testes apontados, o único que testa a aplicação com foco no código, ou seja, faz um teste com uma abordagem estática, é o teste de caixa branca, o white box.

front: (CEBRASPE/SERPRO/2023) Quanto ao OWASP Top 10, julgue o item seguinte. Quando os desenvolvedores de software não testam a compatibilidade de bibliotecas atualizadas ou corrigidas, isso caracteriza um problema de segurança que o OWASP nomeia como componentes vulneráveis e desatualizados.
response: Correto
comment: Novamente, não precisamos ter lido o TOP 10 para responder à questão. Quando empregamos componentes e bibliotecas externas, principalmente as públicas, devemos manter um monitoramento desses ativos para mantê-los sempre atualizados. Se não fizermos isso, estamos abertos para eventuais ataques e invasões. A OWASP chama esse tipo de vulnerabilidade de "componentes vulneráveis e desatualizados", estando na sexta posição das maiores vulnerabilidades.
Other fields (not shown on cards):
back: Correto - Novamente, não precisamos ter lido o TOP 10 para responder à questão. Quando empregamos componentes e bibliotecas externas, principalmente as públicas, devemos manter um monitoramento desses ativos para mantê-los sempre atualizados. Se não fizermos isso, estamos abertos para eventuais ataques e invasões. A OWASP chama esse tipo de vulnerabilidade de "componentes vulneráveis e desatualizados", estando na sexta posição das maiores vulnerabilidades.

front: (VUNESP/CM SBO/2023) Uma prática de programação web segura relacionada ao tratamento de erros e log é:
a) utilizar uma rotina centralizada para realizar todas as operações de log.
b) exibir mensagens de erro detalhadas, que incluam informações de depuração, facilitando o máximo possível a resolução do problema.
c) por padrão, erros relacionados à checagem de controle de acesso devem assumir que o usuário possui acesso ao recurso pretendido, evitando interrupções no uso da aplicação.
d) registrar em log apenas alguns tipos de exceções lançadas pelo sistema, evitando que o espaço de armazenamento do log cresça demais.
e) usar páginas de erro padrões do servidor web, e não personalizadas.
response: Letra A
comment: Vamos às alternativas. a) Correto. Uma centralização de operações de log permite que tenhamos um controle maior dos erros, facilitando resoluções necesárias. b) Errado. Mensagens de erros excessivamente detalhadas podem revelar vulnerabilidades indesejadas a terceiros. c) Errado. Pelo contrário, devem assumir que o usuário não possui acesso ao recurso, já que é o que acontece na maioria das vezes. d) Errado. É recomendado o registro em logs dos mais diversos erros, não só exceções lançadas pelo sistema. e) Errado. Páginas erro padrão não conseguem fornecer todas as funcionalidades que uma aplicação pode precisar, sendo necessária uma adaptação.
Other fields (not shown on cards):
back: Letra A - Vamos às alternativas. a) Correto. Uma centralização de operações de log permite que tenhamos um controle maior dos erros, facilitando resoluções necesárias. b) Errado. Mensagens de erros excessivamente detalhadas podem revelar vulnerabilidades indesejadas a terceiros. c) Errado. Pelo contrário, devem assumir que o usuário não possui acesso ao recurso, já que é o que acontece na maioria das vezes. d) Errado. É recomendado o registro em logs dos mais diversos erros, não só exceções lançadas pelo sistema. e) Errado. Páginas erro padrão não conseguem fornecer todas as funcionalidades que uma aplicação pode precisar, sendo necessária uma adaptação.

front: (FGV/ALEMA/2023) Considerando as práticas de programação segura e revisão de código, avalie se os itens a seguir são falsos (F) ou verdadeiros (V).
( ) A revisão do código é um método que visa a garantir que as ferramentas de inteligência artificial adotem técnicas de desenvolvimento seguro. Uma regra geral é que um teste de funcionalidade não deve descobrir nenhuma vulnerabilidade em aplicativos relacionadas ao código desenvolvido após o aplicativo ter passado por uma revisão duplo cego adequada do código de segurança.
( ) Todas as revisões de código de segurança são uma combinação de esforço humano e suporte tecnológico. Em uma extremidade é uma pessoa com um editor de texto. No outro extremo da escala está um especialista em segurança com uma ferramenta avançada de análise estática.
( ) As ferramentas de verificação automática de código são boas para avaliar grandes quantidades de código pois podem apontar possíveis problemas, mas um desenvolvedor precisa verificar cada resultado para que se determine se é um problema real e se é realmente explorável e avalie os riscos.
As afirmativas são, respectivamente,
a) V – V – F.
b) V – V – V.
c) V – F – F.
d) F – F – F.
e) F – V – V.
response: Letra E
comment: Vamos ver cada item. ( ) A revisão do código é um método que visa a garantir que as ferramentas de inteligência artificial adotem técnicas de desenvolvimento seguro. Uma regra geral é que um teste de funcionalidade não deve descobrir nenhuma vulnerabilidade em aplicativos relacionadas ao código desenvolvido após o aplicativo ter passado por uma revisão duplo cego adequada do código de segurança. Falso. A revisão de código pode, de fato, garantir que ferramentas de IA adotem práticas de desenvolvimento seguro, mas testes de funcionalidade são feitos para, dentre outros, descobrir vulnerabilidades na aplicação. ( ) Todas as revisões de código de segurança são uma combinação de esforço humano e suporte tecnológico. Em uma extremidade é uma pessoa com um editor de texto. No outro extremo da escala está um especialista em segurança com uma ferramenta avançada de análise estática. Verdadeiro. As revisões congregam esforço humano e tecnologia, principalmente ao usarmos ferramentas de automação. ( ) As ferramentas de verificação automática de código são boas para avaliar grandes quantidades de código pois podem apontar possíveis problemas, mas um desenvolvedor precisa verificar cada resultado para que se determine se é um problema real e se é realmente explorável e avalie os riscos. Verdadeiro. Ferramentas de automação ainda não são 100% confiáveis (e provavelmente nunca serão), de forma que é impossível confiar em todos os apontamentos delas. Dessa forma, as indicações devem ser analisadas uma a uma, para verificar sua procedência. Portanto, temos F - V - V.
Other fields (not shown on cards):
back: Letra E - Vamos ver cada item. ( ) A revisão do código é um método que visa a garantir que as ferramentas de inteligência artificial adotem técnicas de desenvolvimento seguro. Uma regra geral é que um teste de funcionalidade não deve descobrir nenhuma vulnerabilidade em aplicativos relacionadas ao código desenvolvido após o aplicativo ter passado por uma revisão duplo cego adequada do código de segurança. Falso. A revisão de código pode, de fato, garantir que ferramentas de IA adotem práticas de desenvolvimento seguro, mas testes de funcionalidade são feitos para, dentre outros, descobrir vulnerabilidades na aplicação. ( ) Todas as revisões de código de segurança são uma combinação de esforço humano e suporte tecnológico. Em uma extremidade é uma pessoa com um editor de texto. No outro extremo da escala está um especialista em segurança com uma ferramenta avançada de análise estática. Verdadeiro. As revisões congregam esforço humano e tecnologia, principalmente ao usarmos ferramentas de automação. ( ) As ferramentas de verificação automática de código são boas para avaliar grandes quantidades de código pois podem apontar possíveis problemas, mas um desenvolvedor precisa verificar cada resultado para que se determine se é um problema real e se é realmente explorável e avalie os riscos. Verdadeiro. Ferramentas de automação ainda não são 100% confiáveis (e provavelmente nunca serão), de forma que é impossível confiar em todos os apontamentos delas. Dessa forma, as indicações devem ser analisadas uma a uma, para verificar sua procedência. Portanto, temos F - V - V.

front: (CEBRASPE/DATAPREV/2023) A respeito de ciclo de vida de desenvolvimento seguro, julgue os item a seguir. A modelagem de ameaças pode ser aplicada no componente de um software, para apoiar a seleção de recursos de segurança.
response: Correto
comment: Perfeito, galera. Podemos ter tanto modelagens de segurança feita de uma forma geral, para toda a aplicação, quanto modelagens específicas para cada componente ou serviço do nosso sistema. Usualmente, ambas são feitas em conjunto para determinar uma proteção de ponta a ponta do sistema desenvolvido.
Other fields (not shown on cards):
back: Correto - Perfeito, galera. Podemos ter tanto modelagens de segurança feita de uma forma geral, para toda a aplicação, quanto modelagens específicas para cada componente ou serviço do nosso sistema. Usualmente, ambas são feitas em conjunto para determinar uma proteção de ponta a ponta do sistema desenvolvido.

front: (CEBRASPE/DATAPREV/2023) A respeito de ciclo de vida de desenvolvimento seguro, julgue os item a seguir. Durante a fase de implementação, são aplicados padrões de codificação e testes.
response: Correto
comment: Galera, essa questão aponta um problema sensível no assunto dessa aula - a variação de bibliografia. Muitos autores consideram as fases do desenvolvimento sendo: requisitos, design, desenvolvimento (codificação), implementação e monitoramento (pós-implementação). Porém, existem autores que congregam a fase de codificação na fase de implementação do sistema - e é a linha que essa questão segue. Então você precisa ter um pouco de tato ao resolver uma questão. Tendo isso em mente, considerando a codificação uma parte da implementação, de fato, temos aplicações de padrões de codificação e diversos testes aplicados nessa fase. Correta, portanto, a afirmativa.
Other fields (not shown on cards):
back: Correto - Galera, essa questão aponta um problema sensível no assunto dessa aula - a variação de bibliografia. Muitos autores consideram as fases do desenvolvimento sendo: requisitos, design, desenvolvimento (codificação), implementação e monitoramento (pós-implementação). Porém, existem autores que congregam a fase de codificação na fase de implementação do sistema - e é a linha que essa questão segue. Então você precisa ter um pouco de tato ao resolver uma questão. Tendo isso em mente, considerando a codificação uma parte da implementação, de fato, temos aplicações de padrões de codificação e diversos testes aplicados nessa fase. Correta, portanto, a afirmativa.

front: (CEBRASPE/DATAPREV/2023) A respeito de ciclo de vida de desenvolvimento seguro, julgue os item a seguir. A fase de implementação contempla a aplicação de testes de segurança sem o uso de soluções para análise de código.
response: Errado
comment: De fato, temos a aplicação de testes na fase de implementação. Porém, como usamos ferramentas de análise de código, como DAST, SAST e IAST, é incorreto afirmar que não temos o uso de soluções voltadas para a análise de códigos.
Other fields (not shown on cards):
back: Errado - De fato, temos a aplicação de testes na fase de implementação. Porém, como usamos ferramentas de análise de código, como DAST, SAST e IAST, é incorreto afirmar que não temos o uso de soluções voltadas para a análise de códigos.

front: (CEBRASPE/DATAPREV/2023) 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.
response: Errado
comment: Nessa questão já não temos problema com a separação de fases, já que o erro é bem evidente - para fazermos revisões de código, precisamos ter o código feito. Na fase de design, só temos uma estruturação geral do que vamos fazer, um projeto. É como um projeto de uma casa, temos um traçado do que queremos fazer, onde queremos chegar, mas ainda não temos o destino feito.
Other fields (not shown on cards):
back: Errado - Nessa questão já não temos problema com a separação de fases, já que o erro é bem evidente - para fazermos revisões de código, precisamos ter o código feito. Na fase de design, só temos uma estruturação geral do que vamos fazer, um projeto. É como um projeto de uma casa, temos um traçado do que queremos fazer, onde queremos chegar, mas ainda não temos o destino feito.

front: (CERSGRANRIO/TRANSPETRO/2023) As práticas de SDL (Security Development Lifecycle) recomendam ações importantes que devem ser adotadas por projetistas, arquitetos e programadores durante o processo de desenvolvimento de um software. Um teste muito utilizado é a análise em tempo de execução do software totalmente compilado, permitindo a verificação das funcionalidades que podem apenas ser testadas quando todos os componentes estão integrados e em execução. Esse tipo de teste é conhecido como
a) SAST
b) DAST
c) VAST
d) DREAD
e) STRIDE
response: Letra B
comment: A chave da questão está em "análise em tempo de execução do software totalmente compilado, permitindo a verificação das funcionalidades que podem apenas ser testadas quando todos os componentes estão integrados e em execução". Os testes aplicados a ferramentas em funcionamento são os testes dinâmicos, também chamados de DAST.
Other fields (not shown on cards):
back: Letra B - A chave da questão está em "análise em tempo de execução do software totalmente compilado, permitindo a verificação das funcionalidades que podem apenas ser testadas quando todos os componentes estão integrados e em execução". Os testes aplicados a ferramentas em funcionamento são os testes dinâmicos, também chamados de DAST.

front: (FGV/CGU/2022) Considere o desenvolvimento de uma aplicação de tratamento de dados sensíveis. O time tem experiência com desenvolvimento seguro e elabora uma lista de verificação com foco em segurança para ser utilizada na revisão de código manual que ocorre antes de um commit. Essa lista de verificação trata exclusivamente da aplicação de boas práticas de validação dos dados de entrada das unidades do sistema. Deveria fazer parte dessa lista verificar se:
a) todo acesso ao banco utiliza credenciais seguras;
b) todos os dados são validados após redirecionamentos;
c) todos os dados provenientes de usuários são validados após o processamento;
d) toda operação de registro (logging) é realizada por aplicações de terceiros (Third Party Applications);
e) apenas falhas de validação de autenticação e autorização causam rejeição completa dos dados de entrada.
response: Letra B
comment: Queremos encontrar uma afirmativa que aponte uma verificação válida no contexto de dados sensíveis, sob o enfoque de boas práticas de validação de dados de entrada. Vamos achar a alternativa correta. a) Errado. A utilização de credenciais é de suma importância, sim, mas ela não está relacionada com a validação de dados de entrada. b) Correto. Uma prática extremamente recomendada é a sanitização de dados de entrada, onde os dados são validados e passam por análises de segurança, antes de serem integrados ao servidor da aplicação. c) Errado. A validação deve ocorrer antes do processamento. d) Errado. Ferramentas de logging devem ser centralizadas, e não descentralizadas. e) Errado. Não são só falhas na autenticação que causam rejeição, podemos ter erros estruturais, detecção de códigos maliciosos, entre outros.
Other fields (not shown on cards):
back: Letra B - Queremos encontrar uma afirmativa que aponte uma verificação válida no contexto de dados sensíveis, sob o enfoque de boas práticas de validação de dados de entrada. Vamos achar a alternativa correta. a) Errado. A utilização de credenciais é de suma importância, sim, mas ela não está relacionada com a validação de dados de entrada. b) Correto. Uma prática extremamente recomendada é a sanitização de dados de entrada, onde os dados são validados e passam por análises de segurança, antes de serem integrados ao servidor da aplicação. c) Errado. A validação deve ocorrer antes do processamento. d) Errado. Ferramentas de logging devem ser centralizadas, e não descentralizadas. e) Errado. Não são só falhas na autenticação que causam rejeição, podemos ter erros estruturais, detecção de códigos maliciosos, entre outros.

front: (CEBRASPE/DATAPREV/2023) No que se refere a OWASP Top 10, julgue o item a seguir. Security misconfiguration indica que a aplicação pode estar vulnerável devido à utilização de contas e senhas default que estão habilitadas e ainda não foram alteradas.
response: Correto
comment: Quando temos o uso de senhas default, ou padrões, como 0000, 12345, entre outras, abrimos portas muito escancaradas para invasores. A remoção do acesso dessas senhas padrões faz parte da configuração de segurança das aplicações. A OWASP aborda esses problemas na vulnerabilidade A05 - Security Misconfiguration. Portanto, correta a afirmativa.
Other fields (not shown on cards):
back: Correto - Quando temos o uso de senhas default, ou padrões, como 0000, 12345, entre outras, abrimos portas muito escancaradas para invasores. A remoção do acesso dessas senhas padrões faz parte da configuração de segurança das aplicações. A OWASP aborda esses problemas na vulnerabilidade A05 - Security Misconfiguration. Portanto, correta a afirmativa.

front: (FGV/SEFAZ MT/2023) A quebra de controle de acesso é um dos principais riscos de segurança nas aplicações web. Para prevenir-se desta vulnerabilidade, segundo o OWASP, é recomendado
a) permitir, por padrão, o acesso a todos os recursos da aplicação, ocultando apenas os recursos de configuração.
b) certificar-se de que a aplicação mantenha válidos os tokens JWT no servidor após o logout do usuário.
c) habilitar o recurso de listagem de diretórios e arquivos do servidor web para que terceiros possam auditar o site.
d) implementar mecanismos de controle de acesso uma vez e reutilizá-los em toda aplicação.
e) manter presente no diretório raiz da aplicação web os metadados dos arquivos e os dados de backups.
response: Letra D
comment: Vou me aprofundar mais nessa resposta, tendo em vista a quantidade de questões cobrando esse conhecimento. Segundo a OWASP, a vulnerabilidade top 1 é a "quebra de controle de acesso". Nas próprias palavras da organização: "O controle de acesso impõe a política de modo que os usuários não possam agir fora de suas permissões pretendidas. As falhas normalmente levam à divulgação, modificação ou destruição de informações não autorizadas de todos os dados ou ao desempenho de uma função comercial fora dos limites do usuário." A OWASP lista maneiras de prevenir a vulnerabilidade: • Exceto para recursos públicos, negar por padrão. (letra A) • Implemente mecanismos de controle de acesso uma vez e reutilize-os em todo o aplicativo, incluindo a minimização do uso de Cross-Origin Resource Sharing (CORS). (letra D) • Os controles de acesso ao modelo devem impor a propriedade do registro em vez de aceitar que o usuário possa criar, ler, atualizar ou excluir qualquer registro. • Os requisitos de limite de negócios de aplicativos exclusivos devem ser impostos por modelos de domínio. • Desative a lista de diretórios do servidor da web e certifique-se de que os metadados do arquivo (por exemplo, o .git) e os arquivos de backup não estejam presentes nas raízes da web (web roots). (letras C e E) • Registrar falhas de controle de acesso e alertar os administradores quando apropriado (por exemplo, falhas repetidas). • Limite de taxa o acesso da API e do controlador para minimizar os danos do conjunto de ferramentas de ataque automatizado. • Os identificadores de sessão com estado devem ser invalidados no servidor após o logout.(letra B) • Os tokens JWT sem estado devem ter vida curta, para que a janela de oportunidade para um invasor seja minimizada. Para JWTs de longa duração, é altamente recomendável seguir os padrões OAuth para revogar o acesso. Tendo isso em mente, vamos analisar cada afirmativa. a) Errado. Como vimos, devemos negar, por padrão, o acesso. b) Errado. Os tokens JWT devem ser desabilitados após o logout. c) Errado. Os diretórios e arquivos do servidor da web devem ser desabilitados (já que contêm informações críticas) d) Correto. Apesar de parecer contraintuitivo repetir o mesmo mecanismo de controle de acesso, ele permite um controle centralizado e mais eficiente - por isso é recomendado o uso de SSO - single sign-on. e) Errado. Os arquivos do diretório raiz e metadados devem ser mantidos em diretórios exclusivos, separados.
Other fields (not shown on cards):
back: Letra D - Vou me aprofundar mais nessa resposta, tendo em vista a quantidade de questões cobrando esse conhecimento. Segundo a OWASP, a vulnerabilidade top 1 é a "quebra de controle de acesso". Nas próprias palavras da organização: "O controle de acesso impõe a política de modo que os usuários não possam agir fora de suas permissões pretendidas. As falhas normalmente levam à divulgação, modificação ou destruição de informações não autorizadas de todos os dados ou ao desempenho de uma função comercial fora dos limites do usuário." A OWASP lista maneiras de prevenir a vulnerabilidade: • Exceto para recursos públicos, negar por padrão. (letra A) • Implemente mecanismos de controle de acesso uma vez e reutilize-os em todo o aplicativo, incluindo a minimização do uso de Cross-Origin Resource Sharing (CORS). (letra D) • Os controles de acesso ao modelo devem impor a propriedade do registro em vez de aceitar que o usuário possa criar, ler, atualizar ou excluir qualquer registro. • Os requisitos de limite de negócios de aplicativos exclusivos devem ser impostos por modelos de domínio. • Desative a lista de diretórios do servidor da web e certifique-se de que os metadados do arquivo (por exemplo, o .git) e os arquivos de backup não estejam presentes nas raízes da web (web roots). (letras C e E) • Registrar falhas de controle de acesso e alertar os administradores quando apropriado (por exemplo, falhas repetidas). • Limite de taxa o acesso da API e do controlador para minimizar os danos do conjunto de ferramentas de ataque automatizado. • Os identificadores de sessão com estado devem ser invalidados no servidor após o logout.(letra B) • Os tokens JWT sem estado devem ter vida curta, para que a janela de oportunidade para um invasor seja minimizada. Para JWTs de longa duração, é altamente recomendável seguir os padrões OAuth para revogar o acesso. Tendo isso em mente, vamos analisar cada afirmativa. a) Errado. Como vimos, devemos negar, por padrão, o acesso. b) Errado. Os tokens JWT devem ser desabilitados após o logout. c) Errado. Os diretórios e arquivos do servidor da web devem ser desabilitados (já que contêm informações críticas) d) Correto. Apesar de parecer contraintuitivo repetir o mesmo mecanismo de controle de acesso, ele permite um controle centralizado e mais eficiente - por isso é recomendado o uso de SSO - single sign-on. e) Errado. Os arquivos do diretório raiz e metadados devem ser mantidos em diretórios exclusivos, separados.

front: (FGV/TCE TO/2025) A aplicação Web SiCONTA viabiliza a recuperação de credenciais de acesso por meio da conferência de respostas previamente cadastradas pelo usuário a questionamentos realizados a ele no processo de criação da credencial. Considerando a metodologia Open Web Application Security Project (OWASP), a aplicação Web SiCONTA possui uma vulnerabilidade classificada na categoria:
a) Broken Access Control;
b) Insecure Identification;
c) Security Misconfiguration;
d) Insecure Design and Implementation;
e) Identification and Authentication Failures.
response: Letra E
comment: Bom, você já deve ter percebido a importância da OWASP para as bancas, né? Bom, vamos lá. O aplicativo SiCONTA apresenta um erro grave - a possibilidade de recuperarmos senha com perguntas e respostas padrões, facilmente encontradas através de tentativa e erro. Isso é uma forma muito fraca de fornecer segurança ao acesso, configurando, segundo a OWASP, a categoria de vulnerabilidades Identification and Authenticatino Failures. No seu TOP 10, a OWASP traz a seguinte prática que aponta a vulnerabilidade: Usa sistemas fracos ou ineficientes de recuperação de senha, como sistemas de "respostas baseadas no conhecimento do usuário", que são sempre inseguros; Portanto, podemos concluir que a alternativa correta é a letra E.
Other fields (not shown on cards):
back: Letra E - Bom, você já deve ter percebido a importância da OWASP para as bancas, né? Bom, vamos lá. O aplicativo SiCONTA apresenta um erro grave - a possibilidade de recuperarmos senha com perguntas e respostas padrões, facilmente encontradas através de tentativa e erro. Isso é uma forma muito fraca de fornecer segurança ao acesso, configurando, segundo a OWASP, a categoria de vulnerabilidades Identification and Authenticatino Failures. No seu TOP 10, a OWASP traz a seguinte prática que aponta a vulnerabilidade: Usa sistemas fracos ou ineficientes de recuperação de senha, como sistemas de "respostas baseadas no conhecimento do usuário", que são sempre inseguros; Portanto, podemos concluir que a alternativa correta é a letra E.

front: (CEBRASPE/TRT 8/2022) A ferramenta que fornece informações a respeito da vulnerabilidade dos sistemas e verifica se esses sistemas podem ser explorados, encontrando o maior número possível de pontos fracos em um determinado período de tempo e, em seguida, fazendo recomendações sobre o tratamento, é denominada
a) Penetration Testing.
b) Wireshark.
c) Honeypots.
d) SELinux.
e) Security Orchestration, Automation and Response (SOAR).
response: Letra A
comment: Queremos uma ferramenta que explora vulnerabilidades e pontos criticos da aplicação, demonstrando pontos onde eventuais invasores podem acessar o sistema. A ferramenta responsável por realizar isso são os testes de invasão, ou penetration testing (também chamados de pentest). Quanto às demais alternativas: b) Wireshark é um analisador de protocolos de rede c) Honeypots são armadilhas de segurança, que atraem invasores d) SELinux é um sistema de controle de acesso para Linux e) SOAR é uma resposta automatizada e coordenada para eventos de segurança
Other fields (not shown on cards):
back: Letra A - Queremos uma ferramenta que explora vulnerabilidades e pontos criticos da aplicação, demonstrando pontos onde eventuais invasores podem acessar o sistema. A ferramenta responsável por realizar isso são os testes de invasão, ou penetration testing (também chamados de pentest). Quanto às demais alternativas: b) Wireshark é um analisador de protocolos de rede c) Honeypots são armadilhas de segurança, que atraem invasores d) SELinux é um sistema de controle de acesso para Linux e) SOAR é uma resposta automatizada e coordenada para eventos de segurança

front: (CEBRASPE/TRT 8/2022) No OWASP 2021 são citados 10 principais riscos de segurança de aplicativos da Web. Assinale a opção que indica o risco que trata sobre violação do princípio de privilégio mínimo ou negação por padrão, em que deve ser concedida permissão apenas para recursos, funções ou usuários específico.
a) broken access control
b) security logging and monitoring failures
c) vulnerable and outdated components
d) server-side request forgery
e) injection
response: Letra A
comment: Alunos, quando estamos lidando com privilégio de usuários, com negação de acesso a recursos por padrão, estamos abordando seguranças de controle de acesso. A categoria da OWASP que aborda essas práticas é a A01 - Broken Access Control.
Other fields (not shown on cards):
back: Letra A - Alunos, quando estamos lidando com privilégio de usuários, com negação de acesso a recursos por padrão, estamos abordando seguranças de controle de acesso. A categoria da OWASP que aborda essas práticas é a A01 - Broken Access Control.

front: (CEBRASPE/SEFAZ AL/2021) A respeito de MPS/BR, OWASP e criptografia, julgue o próximo item. De acordo com a OWASP TOP 10 2021, para o risco design inseguro, são medidas de prevenção para o desenvolvimento seguro o uso da modelagem de ameaças para autenticações críticas, controle de acesso e lógica de negócios.
response: Correto
comment: Correto, meus caros. O design inseguro é um problema estrutural da aplicação. Aqui, por natureza, a aplicação é insegura - requisitos errados, código sem a aplicação de boas práticas, entre outros. Como forma de prevenir erros de design, ou de projeto, conforme vimos no ciclo S- SDLC, usamos modelagem de ameaças e aplicamos boas práticas de segurança, como controle de acesso ao negócio. Veja que, novamente, não precisamos saber da literalidade da OWASP para resolver a questão.
Other fields (not shown on cards):
back: Correto - Correto, meus caros. O design inseguro é um problema estrutural da aplicação. Aqui, por natureza, a aplicação é insegura - requisitos errados, código sem a aplicação de boas práticas, entre outros. Como forma de prevenir erros de design, ou de projeto, conforme vimos no ciclo S- SDLC, usamos modelagem de ameaças e aplicamos boas práticas de segurança, como controle de acesso ao negócio. Veja que, novamente, não precisamos saber da literalidade da OWASP para resolver a questão.

front: (CEBRASPE/TJ RJ/2021) Uma aplicação web pode ser atacada por meio da exploração de vulnerabilidades, como, por exemplo, quando os dados fornecidos pelos usuários não são validados, filtrados ou mesmo limpos pela aplicação; pela não renovação dos identificadores de sessão após o processo de autenticação ter sido bem-sucedido; pela elevação de privilégios, atuando como usuário sem autenticação, ou como administrador, mas tendo perfil de usuário regular. Aplicações com essas características são vulneráveis à falha de
I injeção;
II quebra de autenticação;
III quebra de controle de acesso.
Assinale a opção correta.
a) Apenas o item I está Correto.
b) Apenas o item III está Correto.
c) Apenas os itens I e II estão Corretos.
d) Apenas os itens II e III estão Corretos.
e) Todos os itens estão Corretos.
response: Letra E
comment: Os problemas da aplicação, conforme a questão, são: • Falta de validação/sanitização de dados • Não renovação de tokens de sessão • Problemas de controle de acesso Os itens abrem brecha, respectivamente, para ataques de injeção, problemas de quebra de autenticação e quebra de controle de acesso. Portanto, todos os itens trazidos pela questão estão corretos.
Other fields (not shown on cards):
back: Letra E - Os problemas da aplicação, conforme a questão, são: • Falta de validação/sanitização de dados • Não renovação de tokens de sessão • Problemas de controle de acesso Os itens abrem brecha, respectivamente, para ataques de injeção, problemas de quebra de autenticação e quebra de controle de acesso. Portanto, todos os itens trazidos pela questão estão corretos.

front: (CEBRASPE/ME/2020) Julgue o seguinte item, a respeito de testes de invasão (pentest) em aplicações web, banco de dados, sistemas operacionais e dispositivos de redes. Para evitar a comunicação insegura com uma aplicação web, alguns pontos devem ser observados, como a não utilização de protocolos de segurança criados por usuários particulares e a configuração do servidor para aceitar apenas suítes criptográficas fortes.
response: Correto
comment: A comunicação insegura pode ser causada por vários fatores, como o uso de práticas de segurança ineficazes, uso de canais inseguros, uso de algoritmos de criptografia fracos ou superados, entre outros. Nesse contexto, de fato, devemos evitar o uso de protocolos de segurança criado por usuários particulares, procurando usar padrões difundidos e com funcionabilidade garantidas. Além disso, o ideal é que, por padrão, o servidor aceite apenas criptografias fortes, negando as criptografias consideradas fracas e sujeitas a ataques.
Other fields (not shown on cards):
back: Correto - A comunicação insegura pode ser causada por vários fatores, como o uso de práticas de segurança ineficazes, uso de canais inseguros, uso de algoritmos de criptografia fracos ou superados, entre outros. Nesse contexto, de fato, devemos evitar o uso de protocolos de segurança criado por usuários particulares, procurando usar padrões difundidos e com funcionabilidade garantidas. Além disso, o ideal é que, por padrão, o servidor aceite apenas criptografias fortes, negando as criptografias consideradas fracas e sujeitas a ataques.