Titulo Estágio
Perito de segurança em código-fonte
Área Tecnológica
Engenharia de Software
Local do Estágio
DEI
Enquadramento
No ano passado (2009/10) foi desenvolvida uma ferramenta de análise estática de código fonte para detectar vulnerabilidades de segurança (XSS, SQL-injection, etc).
Basicamente trata-se de uma ferramenta para automatizar a verificação de que foi tomado um conjunto de precauções que um programador experiente em segurança teria, mas que alguém inexperiente deixaria passar.
Objetivo
A ferramenta desenvolvida até ao momento está focada em código PHP, mas foi desenhada de raíz para ser extensível a novas linguagens (e.g. ASP), integrar dinamicamente novas verificações e adaptar-se a diferentes ambientes:
- Integrada no ciclo de desenvolvimento da organização (verificações durante a night-build)
- Como serviço na web (SaaS) onde é submetido o código PHP e recebido o relatório de vulnerabilidades.
- Interactivamente durante o desenvolvimento como um plugin do Eclipse.
- Geração de relatórios para a equipa de desenvolvimento e para o gestor de projecto e/ou qualidade.
Plano de Trabalhos - Semestre 1
- Leitura da documentação do projecto.
- Levantamento do estado da arte.
- Definição dos problema.
- Planeamento do projecto, incluindo infra-estrutura de desenvolvimento e plano de testes.
- Decomposição funcional e interfaces.
- Escrita do relatório intermédio.
Plano de Trabalhos - Semestre 2
Nesta segunda fase o plano definido no primeiro semestre é executado com ênfase em:
- Desenvolvimento iterativo (sprints de 3 semanas) com produção de artefactos utilizáveis no fim de cada sprint.
- Reflexão do sprint anterior, escrita e actualização da documentação e do plano. Definição da iteração seguinte.
- Deployment (3 releases)
- Escrita do relatório final.
Condições
Este estágio não é remunerado.
Observações
Este estágio é destinado a pessoas que gostem de programar, com amor pelo detalhe, pela qualidade e com uma grande auto-disciplina.
A tecnologia usada na ferramenta actual é Java, mas poderá ser adoptada outra linguagem neste componente caso a análise do problema e definição dos interfaces permitam essa opção.
Orientador
Prof. Doutor Mário Zenha Rela
mzrela@dei.uc.pt 📩