Informática Múltipla Escolha

Um dos aspectos fundamentais de um software seguro são as definições tomadas no design. Nesse sentido, selecione o princípio de design de software seguro que utiliza a técnica de programação em camadas com a atribuição de responsabilidades específicas.

Um dos aspectos fundamentais de um software seguro são as definições tomadas no design. Nesse sentido, selecione o princípio de design de software seguro que utiliza a técnica de programação em camadas com a atribuição de responsabilidades específicas.

  1. Privilégio Mínimo
  2. Defesa em profundidade
  3. Práticas de software seguro
  4. Separação de funções
  5. Definição de testes

Resolução completa

Explicação passo a passo

D
Alternativa D

Alternativa D - Separação de funções

Introdução

A questão aborda os princípios de design de software seguro, pedindo para identificar aquele que utiliza a técnica de programação em camadas aliada à atribuição de responsabilidades específicas.

Para responder corretamente, é necessário diferenciar os principais conceitos de segurança aplicados à arquitetura de sistemas.

Desenvolvimento

O princípio correto é a Separação de Funções (ou Separação de Competências). Vamos entender por que esta é a resposta certa e por que as outras alternativas não se encaixam perfeitamente na descrição dada.

Por que Alternativa D?

A Separação de Funções é um princípio de segurança que visa dividir um sistema em componentes distintos, onde cada componente possui uma responsabilidade específica e limitada.

  • Objetivo: Garantir que nenhuma única parte do sistema (ou usuário) tenha controle total sobre todas as operações críticas.
  • Implementação: No design de software, isso é frequentemente realizado através de uma arquitetura em camadas (ex: apresentação, lógica de negócio, dados), onde cada camada tem uma função clara e isolada.
  • Benefício: Se uma camada for comprometida, a separação de responsabilidades limita o dano e impede que o atacante assuma o controle total do sistema imediatamente.

Por que as outras alternativas estão incorretas?

  • A) Privilégio Mínimo: Este princípio foca estritamente em permissões de acesso. Ele determina que um usuário ou processo deve ter apenas as mínimas permissões necessárias para realizar sua tarefa, e nada além disso. Não trata diretamente da estrutura de camadas do design.
  • B) Defesa em Profundidade: Embora utilize o conceito de "camadas", a Defesa em Profundidade foca na redundância de barreiras de segurança (físicas, lógicas, administrativas). A ideia é que, se uma camada falhar, outra esteja disponível para proteger. O foco é a "proteção adicional", não necessariamente a "atribuição de responsabilidades operacionais específicas" entre as camadas.
  • C) Práticas de software seguro: É um termo genérico que abrange diversas atividades (codificação, revisão, teste), não sendo um princípio de design específico como o descrito.
  • E) Definição de testes: Refere-se à fase de validação do software, não ao princípio de design arquitetural.

Conclusão

A descrição "programação em camadas com a atribuição de responsabilidades específicas" define classicamente o princípio de Separação de Funções aplicado à engenharia de software seguro, visando o isolamento de riscos através da divisão de tarefas.

Alternativa D.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Informática

Ver mais Informática resolvidas

Tem outra questão de Informática?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.