Pautas - workshop Thursday

Grupo

Alunos

Tema

Final

23

David Manuel Almeida Henriques

Medical Records Database

16

Germano Gonçalves Capela

16

 

NA

14

Alexandre José Batista Aguiar

Secure Instant messenger

14

Daniel Jorge Rodrigues Ferreira

16

Filipe Alexandre Barroso

16

1

Tamas Balogh

SeCrawler - Secure Web Search

16

Pradeeban Kathiravelu

16

2

Pushparaj Motamari

Medical Records Database

16

Anh Phuong Tran

16

Dipesh Dugar Mitthalal

16

4

Joao Carlos Cabrita Resende

Decifra automática de directorias por presença de telemóvel

15

Joao Pedro de Matos Neves

15

Osmar Almeida Luz Neto

15

37

Luís Filipe Mataloto Taniça

Secure Sales Website

18

Ricardo Sousa Marques

16

Anna Maria Pompili

18

36

Rui Diogo de Sousa Morais

Módulo de Assinatura de Pautas

16

Marcos Daniel Martins Antunes

16

Mauro Rafael Pereira Teixeira

16

3

Qi Qi

Battery Attacks for Wireless Networks

14

Orçun Yildiz

14

Xiao Chen

15

25

Jo√£o Carlos Biscaia Antunes

Zero-day Exploit

19

Diogo Jacinto Santos

19

Rafael Henrique Rodrigues dos Santos

19

15

Diogo Henrique Ferreira da Silva

PAM - variant of the topic “SmartCard Authentication for Legacy Applications"

NA

Manuel Borges Dias dos Reis

17

Miguel Domingos Ferreira

17

29

Joao Diogo Pinto

HERMES: Mensagens Seguras por SMS

18

Tiago Andre Reis de Sousa

18

Fernando Fraz√£o Leiras Ribeiro

18

35

André Alves Gomes Rei

MBKids - Safe website for online payments

18

12

André Correia Magalhães Sousa

Port Knocking

18

Paulo Sergio Alves Martins

18

Pedro Ribeiro da Silva

18

21

José Miguel Gonçalves Simões

Detecção de possível software malicioso baseado em comportamento

10

Ricardo Nuno de Sousa Geraldes

10

Amaro Narendre Bica

10

27

Samuel de Sousa Nascimento Bernardo

Certificate Pinning

19

Luís António Torrão Carvalho da Silva

19

Ricardo André Vicente Costa Laranjeiro

10

20

André Carlos Rita do Vale

Secure Chat

16

Nelson Filipe Nunes

16

Sim√£o Miguel Anjo Martins

16

11

Gonçalo Jo√£o Curado Avelar

Bateria de Ataques em Scapy
suportado por um estudo da distribuição Bactrack

12

Claudia Filipa Rosa Henriques

10

Sancha Cipriano Pereira

12

17

Alexandre Filipe Pedroso Quitério

Secure Sales Site  - BookShelf

16

Guilherme de Sousa Aranha

16

Joaquim António Véstia Guerra

15

18

Afonso Vilela Pinto da Silva

myPGP

16

Miguel Filipe Abrantes da Silva Roxo

18

Miguel Moreira de Figueiredo Osório de Aragão

16

Pauta - Workshop Monday

Grupo

Alunos

Tema

Nota final

24

Jaime Alves Pereira

SQL INJECTIONS – A DANGEROUS TOOL

15

Joana Rodrigo da Costa Rocha Falcao

15

Hans Degroote

15

26

VASCO MANUEL SIMOES DE OLIVEIRA

Secure Web search

11

Marta Ercília Mota Pereira Quintão

11

José Nuno Laia Mendonça

11

32

José Miguel da Fonseca Leitão

Secure Access Control with SmartCard Authentication

18

Pedro Valerio Catarino Miguel

18

Sergio Micael Ferreira Paiagua

18

30

Carlos Domingos Vaz Lampreia Horta Martins

Exploração de Várias Falhas de Código

17

Jo√£o Ricardo Marques Santos

16

Pedro Miguel Vieira Lorga Ramos

16

39

Adélcio de Jesus Mendes Soares da Rosa

Não entregou

NA

Jessica Joyce Soares Inocencio

NA

28

Gonçalo Nuno da Costa Teixeira de Sousa

Remote file access - Secure Dox

16

Miguel Filipe Elias Palmeiro de Brito Beatriz

15

Pedro Miguel Grosso Moreira

16

9

Jaime Rodrigues Ferreira

MyPGP

16

Alexandre Santos Henriques

16

Ricardo Jorge Dur√£es de S√° Machado de Carvalho

16

19

Duarte Sérgio Ramalho Barbosa

Acesso Remoto a Ficheiros

16

Jo√£o Pedro Passos Figueiras

17

Ricardo Miguel Brenhas Sancho

16

10

F√°bio Oliveira Garrido Carballo

SMS seguro

18

Joao Pedro Freire Serra

18

Paulo Ricardo Ribeiro Monteiro

18

34

Jo√£o Nuno Pires Amaral

Secure Instant Messenger

17

Miguel Ângelo da Terra Neves

17

Rodrigo Fraga Barcelos Paulus Bruno

17

22

Filipe Alexandre Valdeira Jo√£o

Notário Electrónico

13

Ricardo de Sousa Augusto

13

Rui Manuel Pereira

13

33

Guilherme Miguel Burnay-Bastos Andrade

Autenticação com smartcard em aplicações legadas

16

Tiago Jose Perdig√£o Fernandes

16

Francisco Nunes de Sousa Ferreira

16

31

Nuno Miguel Grilo Fonseca Pinheiro

Bluetooth Secure FS

18

Fernando César Silva Teixeira dos Santos

18

Miguel Guerreiro An√£o Borges

17

16

André Amaral Chambel Leitão

Algoritmos genéticos e a sua aplicabilidade a ataques a redes

17

Gonçalo Maria Paes de Vasconcellos Silva e Santos

17

Sofia Madalena Figueiredo Rodrigues

17

13

DIOGO MINEIRO CAMEIRINHA

SECURE SCHEDULER

13

Nuno Filipe Simões Santos Moraes Neves

13

JOAO TIAGO RIBEIRO DO VALE

13

38

Pedro Miguel da Rosa Gomes de Abreu

Não entregou

NA

Filipe Jorge da Cunha Dias Carvalho

NA

Rui Pedro Monteiro Boazinha

NA

40

Bruno Miguel Vieira Roque

Site de Vendas Seguro

10

Mbuku Tunga Ditutala

10

Final report format (UPDATED!!)

The final report should describe the main options, focusing clearly on the main security aspects implemented, presenting as well a clear discussion. Only pdf format. The main body must not exceed 4 pages. The appendix section must not have more that 4 pages. The main information must be in the main body. The letter format should be Times New Roman and no smaller than 11pt, atandard spacing.

The report must be submitted along with the project (including source code, etc) in the same package, no later than Friday, 14th of December at 23:59. Clearly identify the group, individual members and campus (Alameda or Tagus).

The evaluation of the project will be carried at a presentation workshop to choose from two different dates:

- Monday, December 17th 2012, 13:30 - 20:00

- Thursday, December 20th 2012, 13:30 - 20:00

Workshop registration should be done on a Doodle table created for the effect (follow the link), until the project delivery deadline:

http://www.doodle.com/2erp8devg8r885ma

Registration is done by introducing the group number on a slot. Only one choice in a free slot is allowable.

Each group has 10 minutes sharp for presentation (which includes demo, videos, etc), followed by 7 minutes of discussion. Presentations should be sent by email to Professors at least two hours before the start of the workshop.

The grade will be decided based on the project delivery, final report, workshop presentation, and workshop discussion.

Go forward and amaze us with fantastic work!

Topic selection - Escolha de tema

Groups of 3 students (same group as that of laboratories) must choose one of the proposed topics, or propose a new theme. 

In the case of choosing a theme proposed: 

  - Must send email to practices faculty with the theme of your 1st preference (ideally, it is useful to send another theme as a 2nd option in case the 1st option is no longer available).

  - Group should brainstorm and research for info concerning the topic, and describe what they plan to do on the email.

  - Only two groups will be allowed to work on the same theme. Themes are assigned to groups in order of arrival of their mail group registration 

  - Group will be contacted by faculty if the theme is no longer available 

In the case of choosing to suggest a topic: 

  - Group should send email to practices faculty containing a description of the proposed project 

  - The teacher will inform the group of the topic acceptance, or it will discuss with group changes or other information. 

In both cases for the choice of the theme, groups should communicate their chopices to the practice faculty until 23:59 on 31 October 2012. Groups with themes accepted may begin work immediately on the project. 

In mid-November, a checkpoint monitoring the project evolution will be conduct in lab classes.

 

(Português)

 

Grupos de 3 alunos (mesmo grupo dos laboratórios) devem escolher um dos temas propostos, ou propôr novo tema.

No caso de optarem por tema proposto:

  - Devem enviar email ao docente das práticas com a tema da sua 1ª preferência (idealmente, será útil enviarem um outro tema de 2ª opção, para o caso do de 1ª opção já não estar disponivel).

  - O grupo deverá discutir internamente o tema, procurar por mais informação, e enviar uma proposta clara para esse tema no email a enviar ao docente.

  - Só serão permitidos dois grupos a trabalharem no mesmo tema. Temas são atribuidos aos grupos por ordem de chegada dos emails de registo dos grupos

  - grupo será contactado pelo docente se o tema escolhido já não estiver disponivel

No caso de optarem por sugerir tema:

  - Grupo deverá enviar email a docente das práticas contendo uma descrição do trabalho a que se propõe realizar.

  - O docente irá informar o grupo da atribuição do tema, ou então discutirá com grupo alterações ou outra informação. 

Em ambos os casos, a escolha de tema pelos grupos deverá ser comunicada ao docente das práticas até às 23:59 do dia 31 de Outubro de 2012. Grupos com temas aceites poderão começar a trabalhar imediatamente no projecto.

Em meados de Novembro, docente das práticas irá realizar um checkpoint de acompanhamento ao projecto nas aulas de laboratório.

Project ideas

1.    Medical Records Database 

Medical records typically involve a rich set of authorization requirements. These requirements have a natural description in terms of sets of (related) credentials. A credential defines a principal to be a doctor; a credential defines a doctor to be qualified in a certain specialty (hence gives access to certain records); a credential defines a doctor to be associated with a hospital; a credential associates a doctor with a given patient; and so on. Define a database system in which such authorization requirements can be stated and enforced. Your system should not implement a fixed policy, but rather should enable the policy to be specified, supporting a reasonably broad set of policies. You should also provide an example policy that is realistic. For example, an allergist probably doesn't need access to psychological records; an emergency room doctor does need access to the record for somebody who has not previously declared this physician an his/her doctor. 

2.    Remote file access 
Design an application (server&client) that allows files and directories to be shared over networks in a secure fashion. This application allows authenticated users to access local and remote files in a transparent way. Data confidentiality must be assured even in the case where an attacker gains physical access to the data storage devices. 

3. Battery Attacks for Wireless Networks

Develop a battery of attacks to wireless networks using the scapy library. The scapy is a library for Python to manipulate in a very simple manner network packets. One possibility is to study the Backtrack distribution, run attacks and then perform these attacks using scapy. 

4. Module Signatures Guidelines

The work aims to implement the secure submission and correction of students' grades in the Fenix system. It is suggested the development of a system to digitally sign documents with the student evaluations. The documents to be signed must be converted to a standard XML format. It should be studied the infrastructure that allows the update notes for teachers.

5. Credential system for IST

Access to records on IST computer system databases involve a rich set of authorization requirements. These requirements have a natural description in terms of sets of credentials. For example, a credential sets each agent (eg. students, faculty, staff) as principals who inherently see their access restricted to a set of records and that depends on its function. It is intended to implement a system where such authorization requirements can be described and secured. The system should not implement a fixed policy, but should allow policies that can be specified, and it should support a wide and extended range of policies. Creation of realistic examples.

6. Secure Web search

Design a crawler and indexer for a corporate web site that respects access control restrictions. Access rights should be associated with pages and users, and searches should only return web pages that users can see.

7. Secure Wiki

Modify the wiki DokuWiki making it as safe as possible. For example, incorporate policies for authorization, auditing, encryption of content, etc…

8. Threat Detection "On the Dark"

Development of a NIDS that detects threats (new or known) by analysis of the properties of network traffic (e.g. extent of traffic fractality, entropy, etc…).



10. Detection of Malicious Software based on behaviors

Consists on the detection of malicious software on a host according to the behavior of his applications. Behavior patterns can be learned through supervised learning (e.g. using malicious SW to train the system to learn behaviors derived from its execution). For example, analyzing input peripherals (mouse, keyboard), and other applications, it may be possible to determine if the CPU at a given time is abnormal. A possible embodiment of this project involves, for example, the detection of software that only begins to operate once the user leaves his machine for a certain period of time. Imagine a situation where you close all your applications and leave your personal computer to go to have a "snack." When you return, and although no one is using the machine (the mouse is quiet and no one is using the keyboard), there is activity on the processor and on the network card. 

11. Artificial Life and Security

Artificial Life techniques, especially genetic programming, have been used to develop computer viruses as well as other programs following the principles of reproduction / selection / crossovers / mutations existing in nature. This project challenges students to evolve SW to attack the networks according to these principles.

12. Centralized Security Management

It is proposed with this project that the students implement a centralized security solution to monitor the security level of all machines in the lab, and dynamically configure these according to their vulnerabilities and threats.

13. Mechanism Based on Reputation

Much of the content of peer-to-peer file sharing is corrupted or wrongly classified. Pollution of networks with such content make it difficult for peers to find the desired content, reducing the overall utility of the network. It is intended to develop a distributed reputation system. It is suggested the study of the Credence system.

14. RBAC module for Linux

Role-based access control (RBAC) is an approximation used to restrict access control to a system for authorized users. The aim of this work is to develop a RBAC module for Linux.

15. Secure page search

Design a crawler and indexer for a corporate website that seeks and analyzes Web pages  to identify code considered dangerous or even harmful.

16. Advanced techniques for exploiting coding flaws

Over the years, it were implemented in current operating systems various protection techniques to avoid exploitation of fault code (more specifically for stack overflows and derivatives). For example, in current Intel / AMD architectures, the stack is no longer executable with the introduction of the NX bit (http://en.wikipedia.org/wiki/NX_bit). Another is the ASLR protections (http://en.wikipedia.org/wiki/Address_space_layout_randomization) that randomizes multiple memory segments (stack, heap and others) to hinder the location of shellcode which makes it difficult to determine the point of function return, even managing to change some return point on the stack or derivatives. Another great protection is in gcc with its policies (protection with canaries, stack arrangements in order to make it difficult to reach the return address of the function). The proposed project is to analyze and investigate existing techniques and to put them in practice.

17. Exploration of various faults code (stack overflow, heap overflow, format string and derivatives)

Explore various types of known techniques for exploiting code (stack overflows, format strings, bss overflow, heap overflow, integer overflow etc) in code given by teachers. About 10 files each with a different failure and a new technique. AS techniques derive all of the techniques studied in laboratory classes (stack overflow, format string, heap overflow).

18. Secure sales site

Create a sales website with areas of different access levels to allow sales or other online services. The site must be secure against the threats exposed during lectures and labs (e.g. mysql injection, XSS, etc.), as well as to any attack that you may find a description on the Internet.

 

19. Face recognition authentication challenge with position

Authentication with a facial challenge. The computer generates a chalenge corresponding to face positions (right, front, right, left), and the person has to be put in those positions in sequence as it is being recognized. This complicates the use of photographs for authentication. Existing libraries should be used for face recognition (eg OpenCV).

20. Smartcard authentication for legacy applications

Service to perform authentication with the citizen card and then generate a password that is firstly presented to the user and also placed directly in the database of passwords of a legacy application. The user could then log in with the new password and access the service. It can be seen as a password recovery service with citizen card but where the password expires quickly (after a few minutes of password generation the service goes again to the legacy application database and clears the password). Thus the password is generated each time it will be used.

21. Developing code for a zero-day vulnerability

The idea is to search for an announcement of a vulnerability that was recently discovered and make the code to exploit it.

22. Automatic decryption directory on phone presence

The idea is to keep a secret key on the phone and then provide the key to the computer via bluetooth. The computer only maintains a directory deciphered while It senses the phone; when the phone moves away, the directory is encrypted again.

23. Long-term storage of signed documents

Open topic: it is proposed to create a project for students to use Xades or Pades, in conjunction with a periodic timestamping service.

24. Electronic notary

Service that does the work of a digital notary. The project includes investigating information about what is and what it does a digital notary, and to implement one.

25. MyPGP
Design a PGP like application and integrate it in Thunderbird. The aim is to develop a plugin that intercepts and authenticates the message and / or ensure confidentiality and / or integrity of the mails. Adhoc certificates can be used, or it can be assumed that the certificate already exists in storage.

26. Secure messaging using SMS 

Develop an app for smartphone (eg Android) that enables SMS exchanges with security (integrity, confidentiality and authentication if possible) considering SMS constraints.

27. Secure Scheduler

Tool to schedule meetings with confidentially.

28. Spok (Secure Port Knocking)

Implementing a secure Port Knocking system, following a client / server model. There are already several implementations of Port Knocking: http://www.portknocking.org/view/implementations. Students will implement the solution and code according to the security solution proposed (not just using an existing implementation), and focusing on security aspects.

  Useful  Links

   Virginia

   Rice

   Berkeley

   Notre Dame

 

 

Português

 

1. Medical Records Database

Registos médicos normalmente envolvem um rico conjunto de requisitos de autorização. Esses requisitos têm uma descrição natural em termos de conjuntos de credenciais. Uma credencial define um principal como sendo um médico, uma credencial define um médico para ser qualificado em uma certa especialidade (daí dá acesso a determinados registos); uma credencial define um médico para ser associado a um hospital; uma credencial associa um médico com um dado paciente, e assim por diante. Definir um sistema de base de dados em que tais requisitos de autorização pode ser indicado e aplicado. O sistema não deve implementar uma política fixa, mas deve permitir a política ser especificada, apoiado num conjunto razoavelmente amplo de políticas. Também deverá ser fornecida uma política de exemplo que seja realista. Por exemplo, um alergista provavelmente não precisa de acesso aos registos psicológicos, um médico de emergência não precisa de acesso ao registo de alguém que ainda não tenha declarado esse médico ucomo seu médico.

2.    Remote file access 

Projetar uma aplicação (servidor e cliente) que permita que os ficheiros e diretorias a serem partilhados em rede de uma forma segura. Este aplicativo permite autenticar utilizadores para acederem a ficheiros locais e remotos de forma transparente. A confidencialidade dos dados deve ser assegurada mesmo no caso em que um atacante obtém acesso físico para os dispositivos de armazenamento de dados.

3.    Bateria de Ataques para Redes Sem Fios 
Desenvolver uma bateria de ataques para redes sem fios utilizando a biblioteca Scapy. A Scapy é uma biblioteca para Python que permite manipular de forma muito simples os pacotes de rede. Uma possibilidade é estudar a distribuição Backtrack, executar ataques e depois realizar esses ataques utilizando o Scapy. 

4.    Módulo de Assinaturas de Pautas 
O trabalho tem por objectivo agilizar a submissão e correcção das notas dos alunos no sistema Fénix de forma segura. Sugere-se o desenvolvimento de um sistema que permita assinar digitalmente documentos com as pautas das avaliações dos alunos. Os documentos a assinar devem ser convertidos para um formato standard em XML. Deve ser estudada a infrastrutura que permite a actualização das notas pelos docentes. 

5.    Sistema de credenciais para IST 
O acesso aos registos das bases de dados do sistema informático do IST envolvem um conjunto rico de requisitos de autorização. Estes requisitos têm uma descrição natural em ternos de conjuntos de credenciais. Por exemplo, uma credencial define cada um dos agentes (eg. alunos, docentes, funcionários) como principals que inerentemente vêem o seu acesso restrito a um conjunto de registos e que depende da sua função. Pretende-se implementar um sistema em que tais requisitos de autorização possam ser descritos e assegurados. O sistema não deve implementar uma política fixa, mas deve permitir que as políticas possam ser especificadas e suportar um conjunto variado e alargado de políticas. Criar exemplos realistas. 

6.    Secure Web search 
Desenhar um crawler e indexer para um web site corporativo que respeite restrições de controlo de acesso. Os direitos de acesso devem ser associados a páginas e a utilizadores e as pesquisas devem apenas retornar páginas web que os utilizadores podem ver. 

7.    Wiki Seguro 
Modificar o wiki DokuWiki tornando-o tão seguro quanto possível. Por exemplo, incorporar políticas de autorização, auditoria, cifra de conteúdo, etc. 

8.    Detecção de Ameaças "On the Dark" 
Desenvolvimento de um NIDS que detecta ameaças (conhecidas ou novas), através da análise de propriedades do tráfego de rede (por exemplo, grau de fractalidade do tráfego, entropia, etc). 

10.    Detecção de Software Malicioso baseado em comportamentos 
Detecção de software malicioso num host de acordo com o comportamento das aplicações deste. Comportamentos padrões poderão ser aprendidos através de aprendizagem supervisionada (por exemplo, utilizando SW malicioso para treinar o sistema de forma a aprender comportamentos derivados da sua execução). Por exemplo, analisando inputs dos periféricos (rato, teclado), e de outras aplicações, poderá ser possível determinar se o consumo de CPU num dado instante é anormal. 
Uma possível concretização deste projecto envolve, por exemplo, a detecção de software que só começa a actuar assim que o utilizador deixa a sua máquina por determinado período de tempo. Imagine-se a situação em que o utilizador fecha todas as suas aplicações e deixa o seu computador pessoal para ir "lanchar". Quando volta, e apesar de ninguém estar a utilizar a máquina (o rato está quieto e ninguém está a usar o teclado), existe actividade no processador e na placa de rede. 

11.    Vida Artificial e Segurança 
Técnicas de vida artificial, nomeadamente programação genética, têm sido usadas para desenvolver vírus informáticos assim como outros programas seguindo os princípios de reprodução / selecção / cruzamentos / mutações existentes na natureza. Com este projecto desafia-se os alunos a evoluírem SW de ataque a redes de acordo com estes princípios. 

12.    Gestão centralizada da Segurança 
Propõe-se com este projecto que os alunos implementem uma solução centralizada de segurança que monitorize o nível de segurança de todas as máquinas do laboratório, e configurem estas dinamicamente de acordo com as suas vulnerabilidades e ameaças existentes. 

13.    Mecanismo Baseado em Reputação 
Muito do conteúdo das redes peer-to-peer de partilha de ficheiros está corrompido ou classificado erradamente. A poluição das redes com tal conteúdo dificulta aos peers localizar o conteúdo desejado, diminuindo a utilidade global da rede. Pretende-se desenvolver um sistema de reputação distribuído. Sugere-se o estudo do sistema Credence. 

14.    Módulo RBAC para Linux 
O sistema de controlo de acesso role-based access control (RBAC) é uma aproximação para restringir o controlo de acesso a um sistema para utilizadores autorizados. O objectivo deste trabalho é desenvolver um módulo RBAC para Linux. 

15.    Secure page search 
Desenhar um crawler e indexer para um web site corporativo que procura e analise páginas Web identifique código considerado perigoso ou mesmo nefasto. 

16.    Técnicas avançadas de exploração de falhas de código 
Com o passar dos anos nos sistemas operativos actuais foram implementadas várias técnicas de protecção à exploração de falhas de código (mais propriamente para stack overflows e derivados). Por exemplo, nas arquitecturas actuais da Intel/AMD a stack deixou de ser executável com a introdução do NX bit (http://en.wikipedia.org/wiki/NX_bit). Outra das protecções é o ASLR (http://en.wikipedia.org/wiki/Address_space_layout_randomization) que randomiza vários segmentos de memória (stack, heap e outros) para dificultar saber a localização do shellcode o que torna dificíl determinar o ponto de retorno mesmo conseguindo alterar algum ponto de retorno na stack ou derivados. Outra das grandes protecções está no gcc  com as suas políticas (proteção com canários, arranjos na stack de forma a dificultar chegar ao endereço de retorno da função). O proposto é analisar e investigar técnicas existentes e po-las em prática. 

17.    Exploração de várias falhas de código (stack overflow, heap overflow, format string e derivados) 
Explorar diversos tipos de técnicas de exploração de código conhecidas (stack overflows, format strings, bss overflow, heap overflow, integer overflow etc) em código dado pelos professores. Cerca de 10 ficheiros cada um com uma falha diferente e técnica  nova. AS técnicas derivam todas das técnicas estudadas nas aulas de laboratório (stack overflow, format strings, heap overflow).

 

18.    Site de vendas seguro 
Criar um site de vendas com áreas de diferentes níveis de acesso  que permita vendas ou outra prestação de serviços a nível online. O site terá de ser seguro face às ameaças expostas durante as aulas teóricas e laboratórios (exemplo mysql injection, XSS, etc), bem como para qualquer ataque que encontrem descrição na Internet.

19. Face recognition authentication with position challenge  

Autenticação facial com um desafio (challenge). O computador gera um chalenge que diz Direita, frente, Direita, Esquerda, e a pessoa tem que se colocar nessas posições em sequência à medida que vai sendo reconhecido. Isso dificulta a utilização de fotografias para autenticação. Deverão ser utilizadas bibliotecas já existentes para o reconhecimento de caras (ex. OpenCV).

20. Smartcard authentication for legacy applications  

Serviço que efectue a autenticação com o cartão do cidadão e depois gere uma password que seja por um lado mostrada ao utilizador e por outro colocada directamente na base de dados de passwords de uma aplicação legacy. O utilizador poderia então autenticar-se com a nova password e aceder ao serviço. Pode ser visto como um serviço de recuperação de passwords com cartão do cidadão mas em que a password expira rapidamente (após alguns minutos da geração da password o serviço vai à BD da aplicação legada de novo e limpa a password). Assim a password é gerada de cada vez que vai ser utilizada.

21. Code developing for a zero-day vulnerability  

A ideia é pegar num anúncio de uma vulnerabilidade que tenha sido recentemente descoberta e fazer o código para a explorar.

22. Automatic directory decryption on phone presence  

A ideia é guardar uma chave no telefone e depois fornecer a chave ao computador por bluetooth. O computador só mantinha o directório decifrado enquanto senti-se o telefone, quando o telefone se distancia-se o directório é cifrado outra vez.

23. Long-term storage of signed documents  

Tema bastante aberto, em que se propõe aos alunos criar um projecto usando Xades ou Pades, em conjunto com um serviço de timestamping periódico.  

24. Electronic notary    

Serviço que faz o trabalho de um notário digital. O trabalho inclui investigar informação sobre o que é e para que serve um notário digital, e implementar um.

25. MyPGP

Desenhar uma aplicação PGP e integrá-la no Thunderbird. O objectivo é desenvolver um plugin que intercete a mensagem e autentique e/ou garanta confidencialidade e/ou integridade dos mails trocados. Poderá ser usado certificados adhoc, ou ser assumido que o certificado já existe em armazenamento. 

26. Secure messaging using SMS 

Desenvolver uma app para o telemovél (e.g. Android) que permita trocas SMS com segurança (integridade, confidencialidade e se possível autenticação), mediante as restrições do SMS.

27. Secure Scheduler  

Ferramenta para agendar reuniões de forma confidencial.

28. SPoK (Secure Port Knocking)  

Implementação de um sistema de Port Knocking seguro, seguindo um modelo cliente/servidor. Existem já várias implementações de Port Knocking: http://www.portknocking.org/view/implementations.  Alunos deverão implementar a solução e o código de acordo com solução segura proposta (e não apenas usar uma implementação já existente), e focando nos aspectos de segurança.

  Useful  Links