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 |
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
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