Investigação
Por despacho do Sr. Diretor do ISTEC foi criado no dia 20 de janeiro de 2020 a Unidade de Investigação em Computação Avançada.
Tem como principais objetivos o desenvolvimento de estudos e investigação orientada e de alto nível no contexto das tecnologias da computação e da informação, dando prioridade às vertentes tecnológicas e científicas mais vanguardistas e com um eminente interesse no mercado empresarial.
Associada a esta Unidade de Investigação está a Revista Kriativ-Tech que é por excelência o órgão de comunicação desta Unidade. Para além de divulgar os trabalhos de investigação orientada, desenvolvidos pelos investigadores, é também um Fórum de discussão e de opiniões sobre todas as questões relativas à relação das tecnologias de informação com a sociedade na sua generalidade.
O objetivo futuro desta Unidade de Investigação é vir a ser reconhecida e avaliada pela FCT.
Projeto de Investigação de Alto Nível
Inteligência Artificial Aplicada à Segurança Informática
Investigador Principal
- Carla Silva, (ISTEC Lisboa);
- Pedro Brandão, (ISTEC Lisboa);
1. Introdução
A segurança informática tornou-se uma das áreas mais críticas no mundo digital atual, dado o aumento das ameaças cibernéticas. Num cenário onde os ataques estão cada vez mais sofisticados e frequentes, são necessárias novas abordagens para a defesa e mitigação de riscos. A Inteligência Artificial (IA) surge como uma tecnologia promissora para transformar a forma como as ameaças são detectadas, analisadas e prevenidas. Este projeto de investigação visa explorar a aplicação da IA na segurança informática, com ênfase em técnicas de detecção de intrusões, resposta a incidentes, e predição de ataques cibernéticos.
2. Objetivos
O objetivo principal deste projeto é investigar e avaliar como as técnicas de inteligência artificial podem ser aplicadas para melhorar a segurança de sistemas informáticos. Especificamente, os objetivos são:
– Avaliar a eficácia da IA na detecção de intrusões e anomalias em redes e sistemas.
– Explorar o uso de IA para automação de respostas a incidentes de segurança.
– Analisar como a IA pode prever e prevenir ataques cibernéticos, incluindo phishing, ransomware e outros tipos de malware.
– Desenvolver um protótipo que utilize técnicas de IA para melhorar a segurança em tempo real de uma rede corporativa ou sistema.
3. Justificação
A complexidade e o volume de ataques cibernéticos têm aumentado exponencialmente nos últimos anos, o que tem sobrecarregado as abordagens tradicionais de segurança, como firewalls e antivírus. As soluções baseadas em IA oferecem a vantagem de poder aprender com dados históricos e melhorar continuamente sua capacidade de detectar e responder a novas ameaças. Além disso, a IA pode identificar padrões complexos que podem ser invisíveis para os humanos ou métodos tradicionais.
4. Metodologia
A metodologia do projeto será dividida em várias fases:
– Revisão da literatura: A primeira etapa será realizar uma análise de estudos existentes sobre o uso de IA na segurança informática, identificando as abordagens mais eficazes e as lacunas de investigação.
– Escolha de Técnicas de IA: O projeto considerará o uso de várias técnicas de IA, incluindo:
– Machine Learning (ML): Para a detecção de padrões e anomalias em grandes volumes de dados.
– Deep Learning: Especialmente redes neurais convolucionais (CNN) e redes neurais recorrentes (RNN) para a análise de tráfego de rede e comportamento de utilizadores.
– Processamento de Linguagem Natural (PLN): Para a análise de e-mails e comunicações, especialmente em relação a ataques de phishing.
– Redes Adversárias Generativas (GANs): Para a criação de dados sintéticos para treinar modelos de IA sem a necessidade de grandes volumes de dados reais.
– Desenvolvimento de Protótipo: Com base nas técnicas escolhidas, será desenvolvido um protótipo de sistema de segurança que aplique IA para a detecção e resposta a intrusões. O protótipo será testado em um ambiente controlado (por exemplo, uma rede corporativa simulada) para avaliar sua eficácia.
– Avaliação e Resultados: Os resultados serão avaliados com base em métricas como taxa de detecção, taxa de falso positivo, tempo de resposta e capacidade de adaptação a novas ameaças.
5. Tecnologias a Serem Utilizadas
– Python: Linguagem de programação principal para o desenvolvimento dos algoritmos de IA, utilizando bibliotecas como TensorFlow, Keras, Scikit-learn, e PyTorch.
– Snort ou Suricata: Sistemas de detecção de intrusões (IDS) para integrar com os modelos de IA.
– Wireshark: Para a captura e análise de pacotes de rede durante os testes.
– Docker: Para criar ambientes isolados e controlados para os testes.
6. Aplicações Práticas
Este projeto tem como objetivo criar uma solução prática para a segurança informática, com foco em aplicações reais como:
– Detecção de intrusões e anomalias: A IA pode ser usada para monitorizar o tráfego de rede e identificar padrões de comportamento que indicam uma possível intrusão ou atividade maliciosa.
– Prevenção de ataques de phishing: Através do uso de IA em sistemas de e-mail, é possível classificar e-mails e identificar tentativas de phishing com maior precisão.
– Resposta automatizada a incidentes de segurança: Em vez de depender de intervenção humana para lidar com um ataque, o sistema pode utilizar IA para tomar decisões rápidas e automáticas sobre a mitigação da ameaça.
– Análise preditiva: A IA pode ser utilizada para prever tendências de ataques, ajudando as empresas a prepararem-se para possíveis brechas de segurança.
7. Cronograma
O projeto será realizado num período de 12 meses (previsão), dividido nas seguintes fases:
1. Meses 1-2: Revisão da literatura e definição das ferramentas e técnicas de IA a serem usadas.
2. Meses 3-5: Desenvolvimento do protótipo inicial e treino de modelos de IA.
3. Meses 6-8: Implementação e testes do protótipo num ambiente simulado.
4. Meses 9-10: Análise de resultados e otimização dos modelos.
5. Meses 11-12: Redação do relatório final e preparação de um paper para publicação.
8. Resultados Esperados
Espera-se que este projeto contribua para:
– O avanço do uso de IA em sistemas de segurança informática, fornecendo um modelo de aplicação prático.
– O desenvolvimento de novos algoritmos para a detecção e resposta a ameaças cibernéticas.
– A melhoria da eficiência e da eficácia dos sistemas de defesa, reduzindo a sobrecarga de trabalho humano e aumentando a velocidade de resposta a incidentes de segurança.
– A contribuição para a literatura científica, por meio da publicação dos resultados da Investigação.
9. Referências
A lista de referências incluirá livros, artigos acadêmicos e papers sobre IA aplicada à segurança cibernética, como:
– S. R. Alazab, et al. (2017). “Artificial Intelligence in Cyber Security: Techniques and Applications.”
– A. A. Ganaie, et al. (2020). “Machine Learning for Cyber Security: Techniques and Applications.”
– B. R. B. Silva, et al. (2021). “AI-Based Detection of Cyber Attacks in Network Security.
Este projeto visa preencher lacunas de investigação e avançar no campo da segurança informática através do uso de inteligência artificial, com a perspectiva de oferecer soluções inovadoras e mais eficientes no combate às ameaças cibernéticas.
Detecção de Ameaças Persistentes Avançadas (APTs) utilizando Inteligência Artificial: Desenvolvimento de um Framework de Análise e Detecção
Investigador Principal
- Carla Silva, (ISTEC Lisboa);
- Pedro Brandão, (ISTEC Lisboa);
Data de Início
- 22 de janeiro de 2024
Investimento
- 3500€;
Objetivos do Projeto:
– Investigar técnicas de detecção de APTs existentes e identificar lacunas atuais na detecção dessas
ameaças;
– Explorar avanços recentes em inteligência artificial, machine learning e análise de dados aplicados à
CiberSegurança;
– Desenvolver uma framework de detecção de APTs baseado em IA e avaliar a eficácia da framework
proposta em identificar e mitigar as APTs em ambientes simulados e reais;
– Propor recomendações para a implementação e melhoria contínua de soluções de detecção de APTs
baseadas em IA;
Abstract (input)
Ameaças Persistentes Avançadas (APTs) representam um desafio significativo para a CiberSegurança, dada a sua capacidade de evasão e persistência em ambientes de rede. Esta investigação tem como objetivo desenvolver e avaliar uma framework de detecção de APTs baseado em Inteligência Artificial (IA). Através de uma larga revisão da literatura, identificamos lacunas nas abordagens tradicionais de detecção de APTs e exploramos as oportunidades oferecidas pela IA. A framework proposta associará técnicas de machine learning, modelação de comportamento e análise de big data para identificar padrões e anomalias indicativas de atividades maliciosas. O desenvolvimento da framework será seguido por testes extensivos em ambientes simulados e reais para avaliar sua eficácia e scalability. Espera-se que este projeto contribua para o avanço das capacidades de detecção de APTs e forneça insights valiosos para a segurança sobre a aplicação da IA na mitigação de ameaças avançadas.
Metodologia
(1) Revisão da Literatura
Será realizada uma revisão abrangente da literatura científica/técnica relacionada à detecção de APTs, inteligência artificial, machine learning e CiberSegurança. Promoção de uma análise de investigação com identificação de métodos de detecção existentes e lacunas identificadas aos processos numa metodologia de investigação em Design Research.
(2) Input – introdução
As Ameaças Persistentes Avançadas (APTs) representam uma das formas mais sofisticadas e perigosas de ataques de CiberSegurança levados pelas organizações hoje em dia. De forma distinta aos ataques comuns, as APTs são frequentemente conduzidas por atores altamente organizados, como governos ou grupos criminosos, com recursos e habilidades técnicas consideráveis. O termo “avançadas” refere-se à sua capacidade de evasão e persistência, muitas vezes permitindo que essas ameaças permaneçam não detectadas por longos períodos de tempo. A detecção eficaz de APTs é um desafio complexo devido à sua natureza furtiva e adaptativa. As abordagens tradicionais de segurança cibernética, como firewalls, sistemas de detecção de intrusão e antivírus, podem não ser suficientes para identificar e mitigar adequadamente essas ameaças. Para enfrentar esse desafio, a aplicação de Inteligência Artificial (IA) na detecção de APTs tem ganho crescente atenção e relevância. A IA oferece a capacidade de analisar grandes volumes de dados em tempo real, identificar padrões complexos e comportamentos anómalos e adaptar-se continuamente às novas ameaças. O trabalho desenvolvido pela IBM Security em “Advanced Persistent Threats (APTs): What They Are and How to Defend Against Them”, explora uma visão geral detalhada sobre o que são as APTs, suas características e as estratégias para defender contra ameaças. No whitepaper da Darktrace (empresa líder em CiberSegurnaça) “Detecting Advanced Persistent Threats with Artificial Intelligence” são discutidas as vantagens e desafios da detecção de APTs usando inteligência artificial e ainda o relatório do CSIS (Center for Strategic and International Studies) “Artificial Intelligence and Machine Learning for Cybersecurity”, explora o papel da IA e de machine learning em CiberSegurança, incluindo a aplicação na detecção de APTs.
(3) Análise de Lacunas/Questing report
Serão identificadas lacunas na detecção de APTs e áreas onde a aplicação de IA pode melhorar a eficácia da detecção e resposta a essas ameaças. Inclusão de uma avaliação de análise crítica nas abordagens atuais e a identificação de oportunidades para inovação.
(4) Desenvolvimento da Framework
Projetar e desenvolver uma framework de detecção de APTs baseado em IA, incluindo a seleção de algoritmos machine learning, modelação de padrões de comportamento, integração de dados e automação de resposta. O foco será a criação de um sistema robusto e eficaz.
(5) Implementação e Testes
A framework será implementada num ambiente de teste controlado e orientado testes para avaliar a capacidade de detectar APTs conhecidas e desconhecidas. Inclusão de validação da precisão e eficácia do framework.
(6) Avaliação da Eficiência
Será realizada uma avaliação da precisão, velocidade e eficácia do framework em comparação com abordagens tradicionais de detecção de APTs, permitindo uma comparação direta com os métodos existentes.
Documentação e Disseminação
Os resultados da pesquisa e desenvolvimento serão documentados num relatório final e serão preparados artigos
científicos para publicação | Objectivo final é a disseminação de resultados para a comunidade académica e profissional.
Recursos Necessários
- Acesso a conjuntos de dados de segurança em CiberSegurança para treino e teste da framework.
- Ambiente de desenvolvimento de software e ferramentas de análise de dados.
- Inserção de um DataSet em AZure para testes e mobilização
- Colaboração com profissionais de CiberSegurança e especialistas em IA.
Bibliografia inicial
- A. Dijk, “Detection of Advanced Persistent Threats using Artificial Intelligence for Deep Packet Inspection,” 2021 IEEE International Conference on Big Data (Big Data), Orlando, FL, USA, 2021, pp. 2092-2097, doi: 10.1109/ BigData52589.2021.9671464.
- Ghafir, I., Hammoudeh, M., Prenosil, V., Han, L., Hegarty, R., Rabie, K., & Aparicio-Navarro, F. J. (2018). Detection of advanced persistent threat using machine-learning correlation analysis. Future Generation Computer Systems, 89. https:// doi.org/10.1016/j.future.2018.06.055
- AL-Aamri, A. S., Abdulghafor, R., Turaev, S., Al-Shaikhli, I., Zeki, A., & Talib, S. (2023). Machine Learning for APT
Detection. Sustainability (Switzerland), 15(18). https://doi.org/10.3390/su151813820 - Hasan, M.M., Islam, M.U. & Uddin, J. Advanced Persistent Threat Identification with Boosting and Explainable AI. SN COMPUT. SCI. 4, 271 (2023). https://doi.org/10.1007/s42979-023-01744-x
Implementação de tecnologias de realidade aumentada e realidade virtual em instituições de formação profissional
Investigador Principal
- Gisela Canelhas, (ISTEC Lisboa);
Data de Início
- 1 de janeiro de 2024
Investimento
- 3500€;
Objectivo:
- Identificar os factores que tem motivado a resistência a inovação tecnológica em instituições de formação profissional em Portugal. Investigando e desenvolvendo estratégias para a integração bem-sucedida das tecnologias RA e RV.
Análise de Desempenho de um Clustet Raspberry Pi para Cloud Computing
Investigador Principal
- Pedro Brandão, (ISTEC Lisboa);
- Ricardo Ferreira, (ISTEC Lisboa);
Data de Início
- 1 de janeiro de 2024
Ponto de situação: o trabalho está na fase de organização do hardware necessário para o laboratório
Investimento
- 3500€;
A análise de desempenho de um cluster Raspberry Pi para cloud computing envolve a avaliação de diversos parâmetros que determinam a capacidade do sistema em lidar com as solicitações típicas de um ambiente de nuvem, como processamento paralelo, escalabilidade, latência e uso de recursos. Abordagem estruturada para essa análise:
1. Objetivo do Cluster Raspberry Pi
Primeiro, é importante definir o objetivo do cluster. O Raspberry Pi pode ser usado para várias funções em cloud computing, como:
- Hospedagem de serviços (e.g., servidores web, bases de dados).
- Execução de conteineres (e.g., usando Docker ou Kubernetes).
- Processamento paralelo (e.g., para tarefas de Big Data, aprendizagem de máquina ou renderização).
2. Características Técnicas do Raspberry Pi
Para entender as limitações e o desempenho do cluster, é importante ter uma boa visão das especificações do hardware de cada nó (Raspberry Pi). As versões mais comuns são o Raspberry Pi 4 e o Raspberry Pi 3, com características como:
- Raspberry Pi 4:
- CPU: Quad-core Cortex-A72 1.5 GHz.
- RAM: 2GB, 4GB ou 8GB LPDDR4.
- Armazenamento: MicroSD card ou SSD via USB 3.0.
- Rede: Gigabit Ethernet, Wi-Fi 802.11ac.
- Portas USB: 2x USB 3.0, 2x USB 2.0.
Essas especificações oferecem uma boa base para avaliação de desempenho, especialmente para tarefas que exigem processamento paralelo.
3. Métricas de Desempenho a Avaliar
A análise de desempenho de um cluster Raspberry Pi envolve avaliar várias métricas chave. Algumas das mais importantes são:
- a.CPU
- Desempenho de Processamento: Medir o tempo de execução de tarefas de processamento intensivo (e.g., cálculo de PI, operações de matriz, etc.).
- Escalabilidade: Testar como o desempenho escala com o número de nós no cluster. Isso pode ser feito com testes de carga distribuída, como benchmark de CPU (e.g., sysbench).
- b. Memória
- Uso de Memória: A quantidade de memória disponível é crucial em tarefas que consomem muitos recursos, como análise de grandes volumes de dados. Testar o uso de memória para diferentes cargas de trabalho pode revelar possíveis gargalos.
- Partilha de Memória: A comunicação entre nós pode ser otimizada através de memória partilhada, o que é importante para a eficiência do cluster.
- c. Rede
- Largura de Banda e Latência: Testar a largura de banda e a latência entre os nós pode ajudar a entender os limites de comunicação em rede, especialmente quando múltiplos nós precisam de trocar dados. Ferramentas como iperf ou ping podem ser usadas para medir a latência e o throughput.
- Desempenho de rede em situações de pico: Simular tráfego de rede intenso para ver como o cluster lida com congestionamento ou latência.
- d. Armazenamento
- Velocidade de I/O: O desempenho de leitura e escrita no cartão microSD ou no SSD (se utilizado) pode ser um fator limitante. Ferramentas como fio podem ser utilizadas para realizar benchmarks de I/O.
- Escalabilidade de Armazenamento: Numa configuração de cloud, o armazenamento pode precisar ser distribuído entre vários nós. Isso pode ser testado com soluções como Ceph ou GlusterFS para avaliar a eficiência do armazenamento distribuído.
- e. Consumo de Energia
- Embora não seja uma “métrica de desempenho” tradicional, o consumo de energia é uma vantagem significativa dos Raspberry Pi. Comparar a eficiência de energia com outras soluções de cloud computing pode ser interessante, especialmente para projetos que pretendem baixo consumo energético.
4. Benchmarking e Testes Práticos
Uma série de benchmarks pode ser aplicada para medir o desempenho real do cluster em diferentes cenários:
- a. Testes de Processamento (CPU e Memória)
- Prime95: Testa o desempenho do CPU em cálculos matemáticos intensivos.
- sysbench: Realiza testes de desempenho para CPU, memória e I/O.
- Stress-ng: Para stressar o CPU e a memória.
- b. Testes de Rede
- iperf: Ferramenta para medir o desempenho de rede, especialmente a largura de banda.
- Ping: Para medir a latência entre os nós.
- c. Testes de Armazenamento
- fio: Realiza testes de desempenho de I/O, tanto sequenciais quanto aleatórios.
- dd: Pode ser usado para testar a taxa de transferência de dados no sistema de arquivos.
- d. Testes de Escalabilidade
- Kubernetes: Implantar e administrar conteineres pode ajudar a testar a escalabilidade do cluster, criando e gerindo serviços com diferentes números de nós.
- Docker Swarm: Outra opção para orquestração de contrineres.
5. Desempenho de Cloud Computing
Num ambiente de cloud computing, o desempenho de um cluster Raspberry Pi é geralmente comparado com as soluções de nuvem convencionais (e.g., AWS, Google Cloud). Algumas métricas e cenários a considerar são:
- Tempo de Provisionamento e Destruição de Nós: A capacidade de escalar o cluster adicionando e removendo nós dinamicamente.
- Resiliência e Tolerância a Falhas: O desempenho do cluster quando um nó falha ou quando há quedas de rede.
- Custo de Infraestrutura: O custo de operação de um cluster Raspberry Pi pode ser muito mais barato do que soluções de cloud comerciais, dependendo do uso e da escala.
6. Considerações Finais
O desempenho de um cluster Raspberry Pi para cloud computing é limitada pelo poder de processamento, pela memória e pela conectividade de rede. No entanto, para projetos de pequeno e médio porte, aprendizagem de máquina, IoT ou protótipos de cloud privada, um cluster Raspberry Pi podem ser uma solução bastante eficiente e de baixo custo.
Para análises mais precisas, a implantação de benchmarks específicos de workload (como execução de microservices ou aplicações de análise de dados) será essencial. Além disso, a integração de soluções de administração e orquestração, como Kubernetes ou Docker Swarm, ajudará a maximizar a eficiência e a escalabilidade do cluster.
Computação para as Ciências Sociais e Políticas - Visualização de Dados
Projeto em Parceria com o ICS - Universidade de Lisboa
Investigador Principal
- Pedro Brandão, (ISTEC Lisboa);
- José Almeida, aluno de Mestrado (ISTEC Lisboa);
- Marcelo Camerlo, ICS;
- António Costa Pinto, ICS.
Data de Início
- 1 de janeiro de 2022
Inserido nos objectivos de desenvolvimento sustentável das Nações Unidas (Agenda 2030):
- Objetivo 4. Garantir uma educação de qualidade inclusiva e equitativa e promover oportunidades de aprendizagem ao longo da vida para todos;
- Objetivo 16. Promover sociedades pacíficas e inclusivas para o desenvolvimento sustentável, fornecer acesso à justiça para todos e construir instituições eficazes, responsáveis e inclusivas em todos os níveis;
- Meta 17. Fortalecer os meios de implementação e revitalizar a parceria global para o desenvolvimento sustentável.
O projeto de investigação tem como principal objetivo produzir visualização de dados de forma intuitiva em diversos suportes digitais.
Os dados a serem tratados para efeitos de visualização são da South European Government Project, coordenado por Marcelo Camerlo e António Costa Pinto, a nível da área do estudo de elites desenvolvido no ICS. Estes dados têm uma cobertura regional, Europa do Sul (Portugal, Espanha, Itália, Grécia e Turquia), a cobertura temporal é de 2000 a 2021. As dimensões cobertas são:
- Personal background (sexo, idade);
- Expertise (experiência em posições vinculadas à área da pasta ocupada, incluido o sector público e privado);
- Political competences (experiência em postos políticos nas arenas legislativas e executivo do nível nacional, internacional, local);
- Partisanship (afiliação, seniority);
- Pastas ministeriais (ocupação, duração).
A visualização de dados através de ferramentas apropriadas e destinadas ao efeito são extremamente importantes para se poder tirar conclusões rápidas e intuitivas e ainda conclusões que podem estar ocultadas nos dados por não estarem padronizados. Portanto a visualização digital dos dados pode criar padrões que permitem tirar conclusões avançadas. É isto que se pretende fazer no presente trabalho de investigação.
As visualizações de dados são surpreendentemente comuns no quotidiano, mas geralmente aparecem na forma de tabelas e gráficos conhecidos. Uma combinação de múltiplas visualizações e bits de informação é muitas vezes referida como infográficos.
As visualizações de dados podem ser usadas para descobrir fatos e tendências desconhecidos. Podemos ver visualizações na forma de gráficos de linhas para exibir as alterações ao longo do tempo. Gráficos de barras e colunas são úteis ao observar relacionamentos e fazer comparações. Gráficos de pizza são uma ótima maneira de mostrar partes-de-um-todo. Mas também mapas infográficos de dados, que são a melhor maneira de partilhar visualmente dados de qualquer tipo.
Boas visualizações de dados são criadas quando a comunicação, a ciência de dados e o design colidem. As visualizações de dados feitas corretamente oferecem informações importantes sobre conjuntos de dados complicados de maneiras significativas e intuitivas. O investigador americano e professor de Yale, Edward Tufte defende que excelentes visualizações de dados consistem em “ideias complexas comunicadas com clareza, precisão e eficiência”, Imagem 1.
Imagem 1: Representação da colisão de dados com o design – Fonte: Edward Tufte
Ser capaz de compreender e ler as visualizações de dados tornou-se um requisito necessário para o século XXI. Como as ferramentas e recursos de visualização de dados se tornaram prontamente disponíveis, espera-se que cada vez mais profissionais sejam capazes de recolher e tratar visualmente as informações a partir de dados.
Projeto de Investigação Orientada
Cuidador de Paciente com Alzheimer
Investigadores
- Pedro Brandão, (ISTEC Lisboa);
- António Santos (ISTEC Lisboa);
- Ricardo Baptista (Investigador Auxiliar)
- Carla Silva (Investigadora Auxiliar)
- Diogo Algarvio (Técnico Superior de Produção Web)
- Ana Guerra (Técnica Superior para Documentação Técnico-Científica)
Apoios:
Com o Apoio da Associação Alzheimer Portugal
Data de Inícios
- 1 de janeiro de 2022
Pretende-se desenvolver uma aplicação/dispositivo que acompanhe o doente com alzheimer ao longo do seu dia, ajudando na prevenção de alterações de estados de humor e comportamental.
Será desenvolvida uma aplicação – baseada em Machine Learning, Deep Learning, processamento de linguagem natural e computação cognitiva.
A qualidade de vida de um ser humano é fundamental para que este esteja integrado no seio familiar e comunitário. Como o Alzheimer se trata de uma doença neuro-degenerativa que afeta a qualidade de vida do ser humano, começando com um simples esquecimento de algo que fez minutos antes, evoluindo para problemas mais graves de memória, comportamento e outras funções mentais de forma gradual. Em estágios mais avançados, impede os pacientes de exercer as sua atividades diárias, dependendo e um cuidador para sobreviverem. Após o diagnóstico, estes pacientes sobrevivem em média cerca de sete anos.
Muitos investigadores referem que o Machine Learning pode ser usado no diagnóstico desta patologia, porém dada a sua natureza pode também ser usada para acompanhamento da evolução da doença ao longo do tempo, podendo assim predizer/antecipar fenómenos que possam ocorrer com o paciente. O Deep Learning é um ramo do Machine Learning que permite uma aprendizagem estruturada mais profunda usando redes técnicas das redes neuronais para levar a efeito essa aprendizagem.
Trabalhos realizados:
O desenvolvimento do projeto chegou ao momento em que o estado da arte começa a tomar forma e a influenciar o projeto.
Após a revisão da literatura, a primeira decisão foi a escolha da linguagem de programação back-end. Esta tinha que ser robusta porque com o passar do tempo é esperado que a quantidade de informação a ser processada seja elevada. A escolha recaiu sobre o Python porque além de ser uma linguagem muito versátil funciona muito bem como linguagem back-end e tem a vantagem de existirem muitas funções que vão ser uteis no futuro. Por outro lado, o Python mostrou ser a linguagem que possui as melhores frameworks de deep learning, o que vai ao encontro dos objetivos de treino dos dados, por forma se chegar à melhor resposta à reação do momento do paciente.
Como a base deste projeto usa o deep learning que é uma técnica de estudo em profundidade baseada em machine learning a partir de grandes quantidades de dados e após inúmeras camadas de processamento recorrendo a algoritmos que procuram desenvolver computadores/máquinas semelhantes aos humanos para resolver problemas do mundo real, ou seja, no caso em estudo procurar a melhor resposta para a pessoa com Alzheimer. Podendo ser útil para estudar a evolução da patologia nos indivíduos.
Já na prática recorreu-se ao deepface para o reconhecimento do humor do individuo com alzheimer, isto é útil para identificar crises, e como toda a informação resultante é guardada pode-se tentar procurar um padrão de humor para um determinado individuo com alzheimer em função da evolução da patologia, e com isto prever uma crise e como evitar esta. O deepface é uma tecnologia de reconhecimento facial e análise de atributos, também por meio da Inteligência Artificial, para identificar pessoas por meio de imagens digitalizadas. A estrutura Deepface usa Deep Learning para treinar em um grande conjunto de dados que consiste em diferentes formas de dados, incluindo imagens, vídeos e gráficos. A arquitetura de rede deepFace assume que, uma vez concluído o alinhamento, a localização de cada região facial é fixada no nível do pixel. Portanto, é possível usar os valores RGB de pixels brutos sem usar múltiplas.
O reconhecimento de voz também foi considerada por ser a capacidade do software de computador identificar palavras e frases da linguagem falada e convertê-las em texto natural. Aqui o Python também foi uma mais valia pois possui a biblioteca SpeechRecognition, que nos permite qua a partir de uma entrada de um discurso o transformar em texto para que este possa ser analisado por forma a identificar palavras de pedido de socorro, entre outros.
Outra pesquisa importante, foi sobre as frameworks de deeplearning existentes para usar neste projeto e como a escolha da linguagem base de programação foi o Python a framework escolhida teria que ser baseada nessa linguagem. Após alguns estudos na literatura existente optou-se por duas: PyTorch e TensorFlow, e destas duas, escolheu-se a TensorFlow porque se prevê com a disponibilização da ferramenta esta possa gerar muita informação. Também pesou a quantidade de bibliografiia encontrada com o uso de uma e de outra framework.
Descrevendo as duas frameworks:
O PyTorch é uma framework de deep learning de código aberto baseada em software, usada para construir redes neurais, combinando a biblioteca de aprendizagem de máquina da Torch com uma API de alto nível baseada em Python. Esta framework é ideal para projetos de pequena escala, dando prioridade à experimentação, flexibilidade e capacidades de edição rápida de modelos.
O TensorFlow é uma é uma framework de deep learning com fortes capacidades de visualização e diversas opções para o desenvolvimento de modelos de alto nível. Esta framework é ideal para projetos de grande escala que exijam modelos escaláveis e de alto desempenho.
Projeto de Investigação Orientada
Cliente de Emails Anti-Spam
Investigadores Principais
- Pedro Brandão
- João Monge
Colaboradores
- Alunos do Mestrado em Informática
Data de Início
- 1 de julho de 2021
Pretende-se desenvolver um cliente de correio eletrónico com um módulo Anti-Spam e anti-Phishing, que possa ser instalado e utilizado pelo staff do ISTEC. Será desenvolvido um algoritmo Inédito de Machine Learning.
No mundo de hoje, o e-mail desempenha um papel fundamental, independentemente da área de trabalho. Neste cenário, os emails de phishing são uma das principais ameaças no mundo de hoje. Esses e-mails “parecem” legítimos, mas levam os utilizadores a sites maliciosos. Como resultado, o utilizador, organização ou instituição acaba sendo objecto de hackers online. Para enfrentar esses problemas, vários métodos estatísticos têm sido aplicados e desenvolvidos. Neste trabalho, faremos utilização da representação distributiva, nomeadamente TF-IDF, para a representação numérica de emails de phishing. Também será utilizado um estudo comparativo de técnicas clássicas de machine Learning, como Random Forest, AdaBoost, Naive Bayes, Decision Tree, SVM.
Projeto de Investigação Orientada
Fatores Humanos em Computação
Investigadora Principal
- Sandra Gama
Colaboradores
- Alunos do Mestrado em Informática
Data de Inícios
- 1 de julho de 2021
Com este projeto pretende-se investigar o papel de diversos fatores humanos na forma como os utilizadores desempenham as suas tarefas mediadas por computador e, com essa informação, derivar guidelines para a criação de aplicações adaptadas às necessidades individuais dos utilizadores.
Para tal, serão criadas aplicações/protótipos para permitir analisar como o ser humano reage a diferentes estímulos sensoriais como forma de otimizar a experiência de interação entre o ser humano e o computador. Esta análise poderá ter em conta aspetos como o movimento do olhar, o batimento cardíaco, a condutividade da pele e a resposta fisiológica à luz/cor para perceber a resposta do utilizador ao estímulo que as diversas versões das aplicações geram nas pessoas.
Para complementar esta análise, serão considerados construtos psicológicos (personalidade, vieses cognitivos), obtidos através de questionários, o que permitirá estabelecer padrões de utilização entre indivíduos com características semelhantes. Com toda esta informação, será possível de facto criar, através de recurso a algoritmia computacional, um modelo para aplicações que permitam uma adaptação eficaz às necessidades individuais de cada utilizador.
Projeto de Investigação Orientada
Visão Neuromórfica para Robótica de Alta Velocidade
Investigador Principal
- João Carneiro
Investigadores
- Pedro Brandão
- Diogo Algarvio
Colaboradores
- Alunos do Mestrado em Informática
Data de Início
- 19 de julho de 2021
O cérebro humano, com cerca de 86 biliões de neurónios e 7000 ligações, é um sistema complexo e extraordinário com um elevado grau de complexidade. Uma das funções superiores que o cérebro permite é a visão. Este projecto, pretende considerar a forma de codificação do sinal visual da retina biológica para inspirar aplicações robóticas que apresentam requisitos de elevada velocidade.
A Engenharia Neuromórfica é o domínio que se inspira em modelos conhecidos da Neurociência para desenvolver problemas na Engenharia e Robótica. As retinas neuromórficas inspiradas na retina humana codificam a informação visual de forma diferente de câmaras convencionais.
O projeto pretende avaliar se a utilização de modelos bio-inspirados permite modelar reflexos de fuga através de detecção de objectos que se movem na direcção do robot a alta velocidade. Desafios existentes incluem o movimento do robot ou se a precisão das câmaras será suficiente. Estudos com insectos mostram que estes apresentam sistemas visuais que são bastante eficazes para modelar estes reflexos. No entanto, a questão se estes comportamentos conseguem ser adaptados para robots ainda permanece.
Projeto de Investigação Orientada
Desenvolvimento de Recursos Educacionais Abertos
Investigadora Principal
- Paulo Duarte
- Pedro Brandão
- Andreia Vieira
Colaboradores
- Alunos do Mestrado em Informática
Data de Inícios
- 22 de novembro de 2021
O projeto visa o desenvolvimento de Recursos Educacionais Abertos (REA) audiovisuais passíveis de integrar a oferta formativa do ISTEC ou de ser complementar aos seus cursos e unidades curriculares, particularmente no domínio da Informática, da Multimédia e da Empregabilidade, através de uma abordagem inovadora, pelo que a nossa prioridade mais relevante são as Práticas Inovadoras numa era digital, uma prioridade transversal. serão desenvolvidos e testados conteúdos educativos audiovisuais que poderão ser incluídos como material de apoio nas unidades curriculares e de formação do Instituto Superior de Tecnologias Avançadas de Lisboa (ISTEC). Desenvolvimento de artefactos:
Estes materiais educativos poderão ser integrados nas práticas educativas do ISTEC de diversas formas, a saber:
- Enquanto suporte aos docentes como material assíncrono de aprendizagem;
- Como elemento integrante em cursos conferentes de grau (ou não) em ensino a distância que o ISTEC ministre ou venha a ministrar;
- Como unidade de crédito (ECTS) suplementar de modo a que possa ser incluído no suplemento ao diploma dos cursos atuais do ISTEC;
- Enquanto elementos para estudos posteriores dos estudantes de licenciatura (projeto-global) ou de mestrado (dissertação/projeto).
Projeto de Investigação Orientada
Aplicação de gestão de riscos de segurança da informação e cibersegurança de uma organização
Investigadores
- Pedro Brandão
- Sérgio Pinto
Data de Início
- setembro de 2022
Pretende-se desenvolver uma aplicação para fazer analise/auditoria de potenciais riscos de segurança da informação e cibersegurança de uma determinada organização e, deste modo, auxiliar a organização na escolha das medidas e controlos de segurança a definir e implementar para garantir um nível de segurança adequado à mesma.
Para tal, a aplicação deverá suportar um questionário interativo sobre configurações usadas em componentes/ativos a analisar (contabilizando os respetivos controlos, ameaças e vulnerabilidades correntes), em função de recomendações de referência de segurança.
Para essas recomendações deverá ser seguido o documento de referência “Guia para Gestão de Riscos” do CNSC, que incorpora diretrizes do QNRCS e RJSC. Este documento refere a necessidade de estabelecimento do contexto da análise dos riscos, seguido das seguintes etapas:
1) Identificação dos riscos,
2) Analise dos riscos e
3) Avaliação dos riscos.
Esta última etapa deve conduzir a uma conclusão com as recomendações de ações necessárias (ou não) a tomar para garantir um nível de segurança adequado aos riscos em causa.
Quadro de Investigadores
Esta Unidade de Investigação têm seis investigadores permanentes, um Investigador Coordenador, um Investigador Principal e quatro Investigadores Auxiliares. Podendo ter investigadores Integrados e Convidados.
- Pedro Brandão (Investigador Coordenador);
- Isabel Alvarez (Investigadora Principal);
- Sandra Gama (Investigadora Auxiliar)
- Paulo Duarte (Investigador Auxiliar);
- José Vicente dos Reis (Investigador Auxiliar);
- Dulce Mourato (Investigadora Auxiliar);
- Andreia Vieira (Investigadora Auxiliar);
- João Gonçalves (Investigador Integrado);
- Rui Pascoal (Investigador Colaborador);
- Pedro Crispim (Investigador Colaborador);
- João Monge (Investigador Colaborador);
- Diogo Algarvio (Investigador Colaborador);
Órgãos
UICA - Unidade de Investigação em Computação Avançada
Diretor: Pedro Brandão
Comissão Diretiva: Paulo Duarte, Pedro Brandão
Comissão Científica: Isabel Alvarez, Sandra Gama, José Vicente dos Reis