Tópicos Especiais em Sistemas de Computação 1 - Engenharia de Software Seguro

PGC308F
por Caroline Félix de Oliveira
Publicado: 22/06/2026 - 09:26
Última modificação: 22/06/2026 - 10:44
Carga horária: 90 horas
Créditos: 
5

Engenharia de Software Seguro

OBJETIVOS GERAIS DA DISCIPLINA: Compreender e aplicar os princípios e práticas de desenvolvimento de software seguro, desde a elicitação e especificação de requisitos de segurança até o monitoramento e resposta a incidentes. Identificar requisitos de software que assegurem as propriedades da segurança da informação e a conformidade com leis e regulamentações. Estudar princípios, arquiteturas, padrões e boas práticas de design seguro. Integrar segurança ao processo de desenvolvimento de software. Aplicar práticas de codificação segura, prevenção de vulnerabilidades, testes de segurança, análise de riscos e detecção de incidentes.

EMENTA DO PROGRAMA: Introdução ao desenvolvimento de software seguro; Elicitação e especificação de requisitos de segurança; Requisitos para conformidade com aspectos legais de privacidade de dados; Princípios, arquiteturas, padrões e boas práticas de design seguro; Implementação segura e integração de segurança no ciclo de vida do software; Autenticação, autorização e controle de acesso; Segurança na comunicação, processamento e armazenamento de dados; Testes de penetração; Análise e classificação de riscos; Mitigação de ameaças; Monitoramento e resposta a incidentes.

DESCRIÇÃO DO PROGRAMA:

1. Fundamentos de Engenharia de Software Seguro

a. Introdução ao desenvolvimento de software seguro;

b. Propriedades da segurança da informação aplicadas ao desenvolvimento de software;

c. Segurança no ciclo de vida de desenvolvimento de software;

d. Relação entre engenharia de software, qualidade de software e segurança da informação.

2. Requisitos de Segurança e Privacidade

a. Elicitação de requisitos de segurança;

b. Especificação de requisitos de segurança;

c. Requisitos relacionados à confidencialidade, integridade, disponibilidade, autenticidade e controle de acesso;

d. Requisitos para conformidade com aspectos legais de privacidade de dados;

e. Relação entre requisitos de segurança, ameaças, vulnerabilidades e riscos.

3. Design Seguro de Software

a. Princípios de design seguro;

b. Arquiteturas de software seguras;

c. Padrões e boas práticas de segurança no projeto de software;

d. Modelagem de ameaças;

e. Identificação de superfícies de ataque;

f. Planejamento de controles de segurança em sistemas de software.

4. Implementação Segura

a. Práticas de codificação segura;

b. Prevenção de vulnerabilidades em software;

c. Validação de entradas e tratamento seguro de dados;

d. Autenticação, autorização e controle de acesso;

e. Segurança na comunicação entre componentes e serviços;

f. Segurança no processamento e armazenamento de dados.

5. Testes, Riscos e Mitigação de Ameaças

a. Testes de segurança em software;

b. Testes de penetração;

c. Análise e classificação de riscos;

d. Identificação e priorização de vulnerabilidades;

e. Estratégias de mitigação de ameaças;

f. Avaliação da efetividade de controles de segurança.

6. Monitoramento e Resposta a Incidentes

a. Monitoramento de eventos de segurança;

b. Detecção de incidentes em sistemas de software;

c. Resposta a incidentes;

d. Tratamento de eventos de segurança;

e. Melhoria contínua da segurança no ciclo de vida do software.

7. Práticas em Engenharia de Software Seguro

a. Aplicação de boas práticas de desenvolvimento seguro;

b. Análise de vulnerabilidades em estudos de caso;

c. Proposição de medidas de mitigação;

d. Desenvolvimento de atividades práticas envolvendo requisitos, projeto, implementação e testes de segurança;

e. Produção técnica e documentação de soluções de software seguro.

BIBLIOGRAFIA:

1. KUROSE, James F.; ROSS, Keith W. Redes de Computadores e a Internet: Uma Abordagem Top-down. 5. ed. São Paulo: Pearson, 2010.

2. STALLINGS, William. Arquitetura e Organização de Computadores: Projeto para o Desempenho. 8. ed. São Paulo: Pearson Prentice Hall, 2010.

3. SOMMERVILLE, Ian. Engenharia de Software. 9. ed. São Paulo: Pearson Prentice Hall, 2011.

4. STEEN, Maarten van; TANENBAUM, Andrew S. Distributed Systems: Principles and Paradigms. Upper Saddle River: distributed-systems.net, 2017.

5. PRESSMAN, Roger S. Engenharia de Software: Uma Abordagem Profissional. 7. ed. São Paulo: McGraw-Hill, 2011.

6. ANDERSON, Ross. Security Engineering: A Guide to Building Dependable Distributed Systems. [S.l.]: John Wiley & Sons, 2008.

7. GOODRICH, Michael T.; TAMASSIA, Roberto. Introdução à Segurança de Computadores. Porto Alegre: Bookman, 2013.

8. IMONIANA, Joshua Onome. Auditoria de Sistemas de Informação. São Paulo: Atlas, 2008.

9. QUINCOZES, Vagner et al. Sistema de Informação para Agendamento 4.0: Caracterização, UX e LGPD. iSys - Brazilian Journal of Information Systems, v. 16, n. 1, p. 5:1-5:31, 2023.

10. STALLINGS, William. Criptografia e Segurança de Redes: Princípios e Práticas. 4. ed. São Paulo: Pearson Prentice Hall, 2008.