You need to activate javascript for this site.
Menu Conteúdo Rodapé
  1. Home
  2. Courses
  3. Computer Science and Engineering
  4. Secure Software Systems

Secure Software Systems

Code 11488
Year 1
Semester S2
ECTS Credits 6
Workload PL(30H)/T(30H)
Scientific area Informatics
Entry requirements .
Mode of delivery Face-to-face instruction.
Work placements Not applicable.
Learning outcomes The objectives of this Course Unit are to consolidate the knowledge acquired in the course unit of computer security and to study advanced topics in implementation and engineering of secure software systems. It aims for the development of a critical conscience in the student regarding security problems in data communications and in the software during all of its development phases. At the end of the course unit, the student should be able to: properly implement and integrate modern cryptography mechanisms and protocols; correctly configure security mechanisms in operating systems; identify security issues in software and practices to minimize them, particularly in Web applications; enforce security by design and practice the development of applications with fewer vulnerabilities, based on a more rigorous process of software engineering and on the design of penetration testing.
Syllabus 1. Revision of modern cryptography related concepts and mechanisms.
4. Remote and software Authentication; Zero Knowledge Protocols.
3. Elliptic Curve Cryptography.
4. Protection mechanisms in Operative Systems.
5. Buffer overflow, integer handling vulnerabilities; and race condition vulnerabilities.
6. Security and vulnerabilities in web applications.
7. Input validation and dynamic protection.
8. Attack modeling, designing and auditing software.
9. Static code analysis.
10. Anti-piracy techniques
Main Bibliography 1. Main References
Miguel Pupo Correia and Paulo Jorge Costa, Segurança no Software, FCA - Editora de Informática, pp. 462, 2010.
Serge Vaudenay, A Classical Introduction to Cryptography Applications for Communications Security, Springer, pp. 370, 2005.

2. Secondary References
Thomas Baigneres, Pascal Junod, Yi Lu, Jean Monnerat, Serge Vaudenay, A Classical Introduction to Cryptography Exercise Book, Springer, pp. 254, 2005.
André Zúquete, Segurança em Redes Informáticas, FCA - Editora de Informática, 3ª Ed. (actualizada e aumentada), pp. 432, 2012.
Margaret Cozzens, Steven J. Miller, The Mathematics of Encryption : An Elementary Introduction, American Mathematical Society (AMS), 2013.
Alfred J. Menezes, Paul C. van Oorschot and Scott A. Vanstone, Handbook of Applied Cryptography, CRC Press.
Douglas R. Stinson, Cryptography: Theory and Practice, (3nd Ed.) CRC Press. 2005.
Planned learning activities and teaching methods The contents of this Course Unit are discussed in lecture classes and the practical part of those contents is explored in laboratory classes. Each type of class has two hours of weekly contact. The practical classes have lab guides that students perform in the computers of the network lab. The labs include testing software vulnerabilities and using information security related packages or toolkits, implying interacting with several programming languages. Moreover, the proposed practical works are designed so that the students develop the techniques described in the objectives of this Course Unit via the development of secure software applications.
Metodologias de Ensino e Critérios de Avaliação Durante o período ensino-aprendizagem, a avaliação a esta unidade curricular é feita recorrendo a quatro elementos principais: dois testes de aferição de conhecimentos escritos (T1 e T2), um teste prático (TP) e um trabalho prático de grupo (TG). T1 e T2 valem, cada um, 30% da classificação para o período ensino-aprendizagem (o equivalente a 6 valores cada), enquanto que TP vale 20% (o equivalente a 4 valores) e TG vale 20% (o equivalente a 4 valores). A classificação para o período ensino-aprendizagem (C) é obtida da média ponderada das notas obtidas nos referidos elementos:
C = 0.30 x T1 + 0.30 x T2 + 0.20 x TP + 0.20 x TG.

A assiduidade (Ass) para esta unidade curricular é de 80% (o equivalente a uma tolerância de 6 faltas no total das aulas teóricas e práticas).

A aprovação à unidade curricular e a concessão de frequência depende da assiduidade e da classificação para o período ensino-aprendizagem. O(a) aluno(a) é aprovado(a) caso obtenha uma classificação superior ou igual a 9.5 e assiduidade superior ou igual a 80% durante o período ensino-aprendizagem. Em caso de aprovação, a classificação final (CF) é o número inteiro mais próximo de C, i.e.,
Se C >= 9.5 e Ass >= 80%, Então Aprovado com CF = arredondar(C).

Em caso de aprovação no período ensino-aprendizagem, o(a) aluno(a) é dispensado de exame, embora possa ir melhorar a sua classificação em exame.

A admissão a exame depende da obtenção de uma classificação superior ou igual a 6 e assiduidade superior ou igual a 80% no período ensino-aprendizagem, i.e.,
Se C >= 6 e Ass >= 80%, Então Admitido a Exame;
Caso contrário, Reprovado.

As notas do teste prático e do trabalho de grupo continuam a contar para exame. O exame (E) versa sobre toda a matéria lecionada e praticada durante o período ensino-aprendizagem, substituindo os dois testes de aferição de conhecimentos escritos, valendo portanto 60% da classificação final. A classificação após exame (CE) é calculada usando a fórmula:
CE = 0.60 x E + 0.20 x TP + 0.20 x TG.

A classificação final à unidade curricular no final das atividades letivas depende da assiduidade e da maior das duas classificações C e CE. O(a) aluno(a) é aprovado(a) à unidade curricular se uma das classificações C ou CE for superior ou igual a 9.5 e a assiduidade seja superior a 80% (faz-se notar que a assiduidade conta também para admissão a exame). Em caso de aprovação, a classificação final (CF) é o número inteiro mais próximo da maior das duas classificações. A classificação final será Reprovado caso ambas as notas sejam inferiores a 9.5 ou a assiduidade inferior a 80%:
Se MAX(C,CE) >= 9.5 e Ass >= 80%, Então Aprovado com CF = arredondar(MAX(C,CE));
Caso contrário, Reprovado.

Estes critérios aplicam-se a alunos de erasmus e trabalhadores estudantes, à excepção da assiduidade às aulas e salvo situações pontuais devidamente discutidas e acordadas com o regente da unidade curricular. Para alunos com estes estatutos, os trabalhos práticos de grupo podem eventualmente vir a ser substituídos por um trabalho individual com dificuldade ajustada.

Momentos de Avaliação:
Teste escrito 1, a realizar dia 11/04/2019, vale 6 valores;
Teste escrito 2, a realizar dia 06/06/2019, vale 6 valores;
Teste prático a realizar dia 02/05/2019, vale 4 valores;
Trabalho de Grupo, entregue até 29/05/2019, vale 4 valores.
Language Portuguese. Tutorial support is available in English.
Last updated on: 2014-08-07

The cookies used in this website do not collect personal information that helps to identify you. By continuing you agree to the cookie policy.