Titulo Estágio
Malicious BOT Detection
Áreas de especialidade
Engenharia de Software
Comunicações, Serviços e Infraestruturas
Local do Estágio
Coimbra (Taveiro)
Enquadramento
Nos últimos anos, temos assistido a uma nova tendência no aumento da comunicação através de chat. As aplicações como WhatsApp, iMessage ou Facebook Messenger, conquistaram a preferências dos utilizadores.
Desde há um ano que alguns destes serviços de messaging começaram a
investir em agentes de conversação inteligentes baseados em chat-bots tendo-se verificado avanços consideráveis na utilização e adoção desta tecnologia. Estima-se que atualmente existam mais de 100.000 chatbots em utilização. Também de acordo com um estudo da consultora “Tractica”, em 2021 haverá mais de 1.8 mil milhões de chatbots únicos.
Este estágio consiste na prototipagem de um sistema capaz de identificar e bloquear a submissão de bots para fins maliciosos, como por exemplo correr malware nos dispositivos dos clientes, no servidor, ou envio de SPAM.
Dada a relevância do tema, este estágio será estratégico para que se reforcem as competências nesta área.
Sobre a Empresa:
A WIT desenvolve software para Operadores de Telecomunicações de vários continentes, tais como o Grupo Vodafone (Europa), Deutsche Telekom (Alemanha), Reliance Jio (Índia), KDDI, Softbank, NTT Docomo (Japão), Singtel (Singapura), Telstra (Australia), Unitel (Angola), Eir (Irlanda), Telecom Italia (Itália), Orange (França), Telefónica (Espanha), TeliaSonera (Suécia), Belgacom (Bélgica), Post Luxembourg (Luxemburgo), Bell (Canadá), Century Link (EUA) e Everything Everywhere (RU). O software desenvolvido pela WIT está presente em 42 países. A WIT tem escritórios em Portugal e Reino Unido e os seus centros de desenvolvimentos estão localizados em Coimbra, Porto, Leiria e Aveiro.
Objetivo
O objectivo do estágio consiste no desenvolvimento do protótipo de um serviço que seja capaz de identificar e prevenir que sejam submetidos BOTS que atentem contra o normal uso das plataformas de messaging. É pretendida a identificação comportamento malicioso, através da análise do código, das ligações e do tipo de mensagens que o BOT produz.
Este resultado deverá ser atingível através do desenvolvimento dos seguintes componentes aplicacionais:
1. Filtrar e detetar código malicioso
2. Consulta de API que identifica código malicioso em páginas WEB
3. Consulta de API para análise de código malicioso
4. Machine Learning – atualização de URLS e código malicioso para evitar futuros ataques.
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.
O aluno irá adquirir conhecimento detalhado sobre técnicas de desenvolvimento de soluções de BOTs, desenvolvimento de soluções machine learning, conhecimento enriquecido em questões de segurança informática.
Plano de Trabalhos - Semestre 1
Para o 1º semestre estão planeadas as seguintes tarefas:
• Levantamento do estado da arte;
• Estudo dos sistemas e bibliotecas de deteção de código malicioso;
• Estudo dos sistemas e bibliotecas para deteção de código malicioso em páginas WEB;
• Análise de requisitos;
• Elaboração do plano de desenvolvimento;
• Prototipagem do sistema de back-end, com interface web para edição da informação estruturada, nomeadamente:
o visualização de conteúdos bloqueados;
o edição e correção de falsos positivos;
o gestão de URLs e código malicioso;
• Prototipagem das APIs de acesso à deteção de código malicioso, e de páginas WEB maliciosas;
• Preparação dos protótipos para demonstrações internas;
• Documentação intermédia do estágio.
Plano de Trabalhos - Semestre 2
Para o 2º semestre estão planeadas as seguintes tarefas:
• Desenvolvimento do modelo cognitivo, baseado em algoritmos de machine learning, capazes de implementar o classificador e inibidor de BOTS maliciosos.
• Criação dos datasets de treino e testes para alimentar e testar o classificador.
• Desenvolvimento de APIs de obtenção de código malicioso.
• Desenvolvimento de APIs para parsing e deteção de código malicioso em páginas WEB.
• Desenvolvimento de uma interface web de gestão e visualização dos tópicos bloqueados.
• Preparação do protótipo para demonstrações;
• Testes funcionais;
• Testes de usabilidade;
• Avaliação de requisitos não funcionais;
• Documentação final de estágio.
Condições
Durante o estágio o aluno terá ao seu dispor todos os equipamentos necessários para desempenhar as suas tarefas.
O seu acompanhamento será levado a cabo não só pelo orientador como por um tutor técnico que lhe dará todo o apoio necessário.
O estágio é remunerado. Se o desempenho do aluno ao longo do mês for positivo, terá direito a receber uma bolsa mensal.
Terá ainda 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).
No final do estágio, será feita uma avaliação do desempenho e dos conhecimentos adquiridos. Se o resultado for positivo o estagiário será convidado para fazer parte da equipa de desenvolvimento.
O local de trabalho será no escritório da WIT Software em Taveiro.
Observações
O acompanhamento do estágio será feito não só pelo orientador mas também por um tutor técnico que dará ao aluno todo o apoio necessário. O Orientador define os requisitos do estágio, define as prioridades do Backlog e acompanha os resultados parciais do projecto. O Tutor dá todo o suporte técnico necessário, garante o cumprimento das tarefas e promove as meetings de acompanhamento do cumprimento dos objectivos.
Toda a documentação de projecto será em Inglês.
Será usado SCRUM, como metodologia de desenvolvimento.
Orientador
António Mendes
antonio.mendes@wit-software.com 📩