* Segurança da Informação (aspectos teóricos e novas tecnologias)
Comparação entre os principais algoritmos de hash;
Comparação entre as principais soluções de VPN; Análise de desempenho de firewalls com filtragens nas camadas superiores; Análise de desempenho de soluções de anti-virus Open Source (falso- positivos e falso-negativos = verificação de eficácia na identificação de bases de vírus atualizadas); Análise de desempenho de IPS Open Source (Hogwash e derivados); Estudo de Caso: Integração de Firewall com IDS (Snort + Iptables ou módulos ativos do Snort); Hacktivismo (Anonymous, Wikileaks, …); CyberGuerra (StuxNet, Duqu, Flame, …);
* Forense Computacional
Análise de ferramentas Open Source para Forense em Memória;
Análise de ferramentas Open Source para Forense em Redes; Análise de ferramentas Open Source para Forense em Mídias (discos rígidos, pendrives…); Análise de ferramentas Open Source para Forense em Dispositivos Móveis; Análise de segurança de mecanismos de acesso a redes sem fio (filtros de mac, WEP, WPA, WPA2, 8021.X, …); Estudo de caso: Investigação forense em máquinas de acesso público (a partir da análise de máquinas com autorização e com cuidado na divulgação de eventuais informações que identifiquem pessoas); Estudo de caso: Investigação forense em tráfegos abertos em redes públicas (a partir de tráfegos capturados com autorização e com cuidado na divulgação de eventuais informações que identifiquem pessoas); Análise de Malware (a partir de códigos de vírus/worms); Análise de Malware (a partir de imagens de máquinas comprometidas);
* Ethical Hacking
Estudo de caso: Análise de “força” de senhas através do uso de técnicas
de força bruta (a partir de hashes de máquinas de laboratório, ou servidores de autenticação, ou qualquer base disponível de hashes de senhas adquiridas de forma legal e autorizada); Estudo de caso: Análise de eficácia do uso de técnicas de Engenharia Social (a partir da abordagem de pessoas responsáveis por informações relevantes com autorização e com cuidado na divulgação de eventuais informações que identifiquem pessoas); Estudo de caso: Testes de Intrusão (pentests) e/ou Análise vulnerabilidades em redes corporativas (a partir de sondagens feitas a instituições com autorização e com cuidado na divulgação de eventuais informações que identifiquem pessoas ou dados críticos das instituições analisadas). Ransomware das Coisas (RoT)
Áreas quentes (Relativamente novas e com muitos problemas):
Novas formas de inovar em saúde e bem estar.
Analisar o impacto do BitCoin no direito digital e economia mundial. Investigar os problemas que um software como o BitCoin pode levantar na legislação atual. Por exemplo, transferências internacionais, lavagem de dinheiro, extorção, criação de moeda ilegal, controle de mercado, etc. Qual a diferença entre jogo ilegal e o BitCoin Lottery? É passível de roubo por parte da entidade? Como protejer em P2P a integridade do sorteio? Estudar projetos, limitações, e modelos de negócio para o sistema opensource para criação de acessórios eletrônicos para Android, o Android ADK. Propriedade de bens virtuais. As pessoas estão construindo e vendendo todo o tipo de coisa on-line. Como se garante ou como um juiz valida a propriedade de um bem? Digamos, por exemplo, que uma pessoa que constrói móveis no Second Life é roubada. Como garantir seus direitos e, mais importante, a legislação e o poder executivo estão preparados para acatar a acusação? O que acontece quando os prisioneiros da China são forçados a fazer gold mining no World of Warcraft? Investigar legislação para software que utiliza o poder ocioso das pessoas para o próprio benefício. Por exemplo, veja o Google Image Labeler. Trata- se de uma ferramenta para nomear imagens e ajudar o Google a melhorar sua pesquisa. A melhora é feita através de milhões de usuários jogando o labeler. Isso é justo? Técnicas para processamento de Linguagem Natural (PLN) e mineração de dados com técnicas PLN aplicado à textos livres da internet. Hoje Visão Computacional é uma das maiores áreas de pesquisa do mundo. Espera-se que PLN se torne tão grande quanto Visão Comp. Algoritmos para tagging de imagens automaticamente usando a internet. Área antiga, mas com muito a ser feito ainda. O problema de nomear itens em images está longe de ser resolvido. Porte ou criação de algoritmos explorando alto paralelismo em GPUs (Cuda / OpenCL). Ambientes de computação paralela como GPUs e Cloud computing vieram para ficar. Apesar da área de pesquisa já estar meio batida, estas arquiteturas estão cada vez mais presentes em aplicações industriais. Por exemplo, como paralelizar automaticamente um código procedural em uma linguagem qualquer? Desenvolvimento de IDE ou plugins para Cuda / OpenCL e ferramentas para Debug de Shaders (GLSLDevil, GLSLAngel). Há ainda muito a ser feito em termos de IDEs para processamento paralelo. Praticamente não há nada comparável com IDEs de programação sequencial. Melhores compiladores para o hardware gráfico baseado no código compilado do Cuda. Os compiladores para ambientes paralelos ainda não são ótimos, podem ser melhorados significativamente. Volunteer Computing e / ou Computação Soberana (Sneer). Misturam processamento paralelo com redes sociais para resolver problemas. Os algoritmos atuais são apenas implementações básicas, ainda não extraem o real valor de uma rede social e muitas máquinas passam a maior parte do dia ociosas. Novas interfaces para dispositivos médicos e tecnologia da informação para a Medicina. Telemedicina, Medicina 2.0 e celulares. Como ampliar o acesso a informação médica? Como baixar o custo de equipamentos médicos? Assim como qualquer superfície é um display em potencial, qualquer superfície pode ser um novo dispositivo de entrada. Pesquise realidade aumentada, técnicas de projeção e tracking. Ferramentas para gerência de acões em bolsa de valores e algorítmos de análise e predicão econômicos. Bolhas, investimentos, etc. Como utilizar redes sociais para melhorar as predicões destes algoritmos? Há várias modelos economicos que não foram implementados. Busque artigos de economia e tente modelar / implementar algum modelo. Sistemas de gerência agrária, pecuária e pesca. O país é um dos maiores produtores de alimentos do mundo e carece de sistemas integrados na área. Uso de sesores de clima é essencial.Além de um bom TCC, o aluno ainda termina o curso com um possível produto. Sistemas de apoio, predição e re-organização de emergências e desastres naturais. Como re-distribuir o trânsito dado que parte da cidade está alagada? Como responder a uma ameaça de tsunami na costa brasileira? Como criar um sistema de alertas a prova de roubo nas favelas? Criação de robôs baseados em tecnologias verdes e baratas para efetuar tarefas domésticas. Criação de super humanos. Como melhorar a visão humana nas atividades do dia a dia? Como adicionar informações ao que a pessoa ve? Por exemplo, dado um evento com pessoas desconnhecias, como descobrir quem as pessoas são para obter informações para um contato inicial? Trabalhos / montagem de exo-esqueletos (mesmo que de madeira) são muito bem vindos. Deficientes: Como ajudar um cedo a obter a informação 3D do mundo sem a necessidade de tocar em objetos? Como traduzir áudio em língua de sinais? Como sistemas de informática poderiam melhorar as nossas cidades para estas pessoas? Um sistema de GPS, por exemplo, pode ajudar um cedo a se locomover em uma cidade desconhecida? Ferramentas para gerência de energia e energia verde. Games (Xbox / XNA, Wii, Move, Nitendo 3DS, iPad, iPod, Android). Games são sempre uma boa pedida, mas requerem multidisciplinaridade, dado que é necessário desenvolver a história, enredo, gráficos e motores de jogos para que o objetivo final seja alcançado. Foque-se em consoles novos com possibilidades diferentes de interação humano-computador. Nesta linha, estão em alta jogos educacionais e jogos pervasivos e ubíquos além de jogos para App Stores. Toon shading e ilustrações. Como gerar ilustrações técnicas a partir de outros tipos de formatos, como malha de triângulos, dados paramétricos ou formatos de CAD? Sketch-based interfaces. Como transformar um Sketch em entrada para um sistema? Rendering fotorealista da quebra das ondas do mar. Nunca vi algo nesse gênero. Ferramentas para linguagens baseadas em restrições (Jason / AgentSpeak). Interfaces eficientes para controle de grupos em ambientes 3D. Sistemas didáticos para dispositivos infantis (OLPC, Classmate, Cowboy). Como transformar um Laptop em uma ferramenta educacional? Pense em algo como o CodeAcademy, mas mais lúdico ou para crianças. Quem sabe um jogo para ensinar programação? Um Test Driven Development Game? Desenvolvimento de linguagens específicas para um domínio (DSL). Otimizar compiladores para ambientes específicos (ex. Cloud Computing) utilizando novas DSLs ou porte de um compilador de linguagem funcional para a VM Java ou DotNet. Criação de DSLs para ampliar características de linguagens, como unir Java e SQL em uma única linguagem ou criar uma DSL para o pipeline gráfico. Extensão de linguagens para especificação de grandezas quando trabalhando com números (m, km, lt,...), para especificação de casas decimais nas variáveis de ponto futuante (Antigo Cobol) ou para incluir instruções de pesquisa em banco de dados nativo (SQL / OQL). Aplicações e bibliotecas em TV Digital (Ginga) Desenvolvimento de motores de jogos para web como a Unity, mas usando HTML5. Ferramentas para mixagem e produção de áudio, usando recursos da internet e redes sociais. Grande chance de vender o software após. Como fazer pesquisas no áudio por acordes e harmonias das músicas? Como descobrir se parte da harmonia de uma música foi copiada em outra? Avaliação de performance Swing vs GTK vs QT vs SWT com vários look and feel e themas. Gerador automático de palavras cruzadas on-line usando informação na web. Como usar os textos e fóruns presentes na web para gerar um jogo de palavras cruzadas? Provavelmente utilizará técnicas de PLN. Hardware de proteção somente leitura para pen drive. Para evitar contaminação de vírus no pendrive, deve-se criar uma forma de evitar a gravação no dispositivo quando conectado a redes infectadas. Avaliação de usabilidade Gnome vs KDE vs Windows vs MacOS. Usabilidade é sempre um grande tópico de pesquisa e a comunidade de software livre, principalmente, sofre com a falta de informação nesta linha. Ferramentas para detecção de abuso (memória, rede ou processamento) em servidores. Aplicativos que rodam em servidores podem consumir toda a banda ou todo o processamento e deixar outras aplicações travadas. Dado que você não tem acesso aos códigos das aplicações, como garantir que isso nunca ocorra? Ferramentas para a BioAPI em linux (leitures de impressão digital). Leitores de impressão digital e reconhecimento de íris estão apenas entrando no mercado. Muitas aplicações ainda precisam ser criadas para a utilização em massa destes apaprelhos. Desenvolvimento de ferramentas para o CouchDB e outros. Otimizações e ferramentas para a linguagem Boo / Lua e porte automático entre linguagens e frameworks. Desenvolvimento de IDEs para programação e debug de linguagens funcionais. Muitos frameworks e novas linguagens carecem de ferramentas de apoio. Estas ferramentas são essenciais para uma ampla adoção da tecnologia. Desenvolvimento de Dynamic Aspect Oriented Programming para alguma linguagem. Algoritmos para banco de dados orientados a objeto distribuídos. Normalmente a construção deste tipo de banco de dados quebra o encapsulamento e a herança e são necessárias mudanças no modelo de dados para atingir o ótimo. Como resolver isso? Algoritmos para descobrir de quebra de direitos autorais e cópia de conteúdo para internet. O quanto dos textos da internet são pirateados? Áudio, Vídeo? Estimativa de complexidade e escalonamento em máquinas virtuais rodando em micros multi-core. Escalonamento e divisão de tarefas para engines de Jogos massivos on-line. Jogos Massivos em P2P Tecnologias e testes reais de e-learning Ferramentas para instalação / deploy massiva de sistemas operacionais. Imagine uma rede com 2000 máquinas linux, como você atualiza o sistema operacional de todas elas? Ferramentas integradas para manutenção de redes corporativas hierárquicas Ferramentas para auditoria em software Ferramentas para extrair textos a partir de vídeo / áudio Confecção de sistemas de cache para dados orientados a objeto. O hibernate ainda está longe de resolver esse problema. Visualização real-time de grandes (Gibabytes / Terabytes) datasets (regulares, irregulares, temporais) Criação automática de perfil pessoal capturando ações do usuário em seu computador. o Modelo de interesse pessoal e adaptação da estrutura computacional automaticamente conforme o interesse. o Identificação probabilista automática de novos usuários por análise de suas atitudes. Pesquisa de soluções alternativas para senhas (Velocidade de Digitação, por exemplo) Ferramentas para marcação de tempo no computador para análise de produtividade Ferramentas inteligentes para organização de arquivos de áudio e vídeo. Alertas regionais (mudança de tempo / clima) para celulares com GPS. Geração automática de certos tipos de áudio que ativam a concentração e aumentam a produtividade humana (http://naturesoundsfor.me/) Desenvolvimento de jogos, bibliotecas gráficas e motores de jogos em programação funcional Redes interplanetárias e roteadores espaciais Compressive Sensing Light Field Cameras, multi-focal picture e fotografia computacional. Criar um mapa 3D da cena usando light field cameras ou stereo cameras. Adicionar processamento em cameras digitais para que a imagem capturada seja melhorada. Dicas: A imagem que a camera captura não precisa ser uma foto, pode ser algo completamente codificado onde um algoritmo recriaria a foto. Arquiteturas de ensino a programação para crianças e a integração destas com sistemas Lego e Lego Mindstorms. Como usar as ferramentas atuais para instigar a criatividade dos jovens? Ferramentas para os professores do século XXI onde a principal habilidade não é a exposição do conhecimnto, mas sim a motivação dos alunos. Time Machine for linux: Controle de versão em todos os arquivos do sistema operacional e a possibilidade de retornar a configurações anteriores. Neurociência computacional (modelagem de redes neurais fisiologicamente realistas e / ou modelagem comportamental de processos cognitivos), neuro-imagem, e interfaces cérebro-máquina.