Titulo Estágio
Autenticação Multi-Factor Melhorada para Aplicações Móveis
Local do Estágio
O escritório da WIT em Taveiro ou outro a definir com o aluno. Neste momento estamos remote.
Enquadramento
As aplicações de mobile banking fazem parte do nosso dia-a-dia, nelas colocamos os nossos dados privados e com elas fazemos operações críticas.
Por forma a proteger os nossos dados foram sendo introduzidos vários fatores de autenticação combinando algo que o utilizador sabe, o que utilizador é, o que o utilizador tem, e o que o utilizador faz. Verifica-se que as aplicações utilizam como segundo factor de autenticação o envio de um token por SMS – OTP (one time password). No entanto são conhecidas várias vulnerabilidades a este tipo de autenticação, relacionadas com o protocolo SS7 (https://www.gsma.com/membership/wp-content/uploads/2018/07/SS7_Vulnerability_2017_A4.ENG_.0003.03.pdf) o que fragiliza os dois dos três vetores da segurança (confidencialidade, e integridade).
De forma a proteger o utilizador final, pretende-se com o presente estágio implementar um protótipo de um sistema de autenticação multi-factor que seja livre de vulnerabilidades conhecidas e que diminua consideravelmente o sucesso de um ataque e engenharia social.
Sobre a Empresa:
A WIT tem 20 anos de experiência na área das telecomunicações e é uma empresa francamente exportadora. Prova disso é o facto do software que desenvolve já ter sido exportado para 46 países. Todos estes projectos foram desenvolvidos com uma metodologia muito forte de software, sempre com requisitos de alta-disponibilidade, segurança, performance, escalabilidade e especial cuidado com a user-experience. A empresa conta com os seguintes clientes: Grupo Vodafone, Deutsche Telekom, NTT DoCoMo, KDDI, Softbank, AT&T, Verizon, Safaricom, Vodacom, Unitel, entre outros. Na WIT somos Groundbreakers e procuramos, todos os dias, desafiar o status quo fazendo mais e diferente, sempre com o objectivo de sermos cada vez melhores. Descobre aqui se também tu podes ser um groundbreaker: [url=https://www.youtube.com/watch?v=Mt9sCqvJx9U]https://www.youtube.com/watch?v=Mt9sCqvJx9U[/url]
Objetivo
Espera-se que o estagiário estude e entenda os conceitos de segurança, os principais standards de segurança (OWASP, NIST, SANS). Deve estudar os diferentes tipos de autenticação disponibilizados pelos dispositivos móveis:
- que podem ser obtidos através dos sensores dos dispositivos móveis;
- sons ambiente;
- através de biométricas de voz.
- através de uma foto/vídeo capturado em tempo-real.
Com base nas principais e mais robustas formas de autenticação, deverá propor e desenvolver um protótipo de um serviço de autenticação multi-factor que garanta a autenticação de forma segura e compatível com a autenticação nos dispositivos móveis (Android e iOS) o mais transparente para o utilizador.
Este trabalho deverá ser possível de atingir através do desenvolvimento dos seguintes componentes:
1- Protótipo para a Aplicação cliente (Android/iOS) que implemente a autenticação multi-factor;
2- Protótipo de um módulo de acesso a third-party APIs;
3- Protótipo de uma API, responsável por validar e confirmar o sucesso da autenticação;
Espera-se que o aluno tenha a autonomia e capacidade crítica necessárias para recolher, analisar e estruturar toda a informação acerca de soluções existentes no mercado. Esta informação deverá ser depois aplicada no desenvolvimento do protótipo.
Segue-se a análise de requisitos do projeto, a criação de um plano de desenvolvimento e a definição de um “project backlog” com as funcionalidades desejadas. O desenvolvimento do software deverá ser feito de forma iterativa usando um processo ágil, baseado em SCRUM.
No final do estágio, deverá existir um protótipo funcional, que seja facilmente demonstrável e que mostre bem os conceitos explorados durante o estágio.
Plano de Trabalhos - Semestre 1
Para o 1º semestre estão planeadas as seguintes tarefas:
• Levantamento do estado da arte;
• Estudo das melhores práticas de segurança para dispositivos móveis (OWASP, SANS, NIST, etc.);
• Estudo dos sistemas e bibliotecas de implementação de autenticação em multi-factor para aplicações móveis;
• Estudo das vulnerabilidades do protocolo SS7 e outras vulnerabilidades associadas à quebra de autenticação em dispositivos móveis;
• Análise de requisitos;
• Elaboração do modelo de autenticação, e correspondente arquitetura;
• Elaboração do plano de desenvolvimento;
• Prototipagem da API responsável por validação da autenticação;
• Prototipagem do módulo da aplicação cliente para dispositivos móveis;
• Documentação intermédia do estágio.
Plano de Trabalhos - Semestre 2
Para o 2º semestre estão planeadas as seguintes tarefas:
• Prototipagem do módulo de acesso a third-party APIs (para reconhecimento facial, de voz, etc.);
• Integração do módulo cliente numa aplicação Android e iOS;
• Criação de testes para verificar o sucesso da autenticação em multi factor;
• Preparação dos protótipos para demonstrações internas;
• Elaboração de uma auditoria de segurança (penetration test) ao protótipo implementado;
• Preparação do protótipo para demonstrações;
• Testes funcionais;
• Testes de usabilidade;
• Documentação final de estágio.
Condições
O local de trabalho será no escritório da WIT Software em Taveiro ou noutro local definido entre o aluno e a empresa uma vez que a WIT tem centros de desenvolvimento no Porto, Aveiro, Coimbra, Leiria e Lisboa. Neste momento encontramo-nos a trabalhar remotamente.
O aluno terá ao seu dispor os equipamentos necessários para desempenhar as suas tarefas.
O estágio é remunerado. Se o desempenho do aluno ao longo do mês for positivo, terá direito a receber uma bolsa mensal.
Além da bolsa, o aluno terá acesso às formações da WIT Academy (que inclui tópicos como: iOS Programming, Android Programming, Arquitecturas de Software, Software Quality, Metodologias de Desenvolvimento de Software, Software Security).
O aluno será acompanhado não só pelo orientador como por um tutor técnico que lhe dará todo o apoio necessário.
No final do estágio, o aluno terá conhecimento detalhado sobre segurança em dispositivos móveis, conhecendo as melhores práticas do mercado. Terá também conhecimento dos ataques comuns contra mecanismos de autenticação em dispositivos móveis. Ficará ainda com conhecimento sobre os mais comuns sensores nos dispositivos móveis e como eles podem ser utilizados para traçar um perfil do utilizador.
No final do estágio, será feita uma avaliação do estagiário e dos conhecimentos adquiridos. Se o resultado for positivo o estagiário será convidado para fazer parte da equipa de desenvolvimento.
Observações
- Toda a documentação de projecto será em Inglês.
- Será usado SCRUM, como metodologia de desenvolvimento.
- Existe um Tutor e um Orientador. O Orientador define os requisitos do estágio, define as prioridades do Backlog e acompanha os resultados parciais do projecto. O Tutor garante o cumprimento das tarefas, promove as meetings e acompanha o aluno com mais regularidade
Orientador
Antonio Mendes
antonio.mendes@wit-software.com 📩