Tópicos Especiais em Sistemas de Computação 1 - Engenharia de Software Seguro
Publicado: 22/06/2026 - 09:26
Última modificação: 22/06/2026 - 10:44
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.