Crédito:Pixabay/CC0 Public Domain
Vários programas executados simultaneamente em um dispositivo dependem de dados armazenados no hardware de memória do dispositivo, mas as informações confidenciais podem não ser compartilhadas entre todos os programas, expondo o dispositivo a um "ataque de canal lateral de tempo de memória".
Ao tentar acessar o hardware de memória, os atrasos de resposta são observados e explorados para recuperar informações confidenciais, como senhas ou chaves criptográficas. A solução atual de restringir o hardware de memória a um único programa torna a computação mais lenta.
Pesquisadores bolsistas da US National Science Foundation baseados no Massachusetts Institute of Technology desenvolveram uma abordagem que permite que o hardware de memória seja compartilhado sem comprometer a segurança de ataques de canal lateral de tempo de memória e aumenta a velocidade de computação em 12% em comparação com soluções de última geração. A pesquisa está publicada em
Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems .
"Hoje em dia, é muito comum compartilhar um computador com outras pessoas, especialmente se você faz computação na nuvem ou mesmo em seu próprio dispositivo móvel", disse o autor sênior Mengjia Yan. "Através desses recursos compartilhados, um invasor pode buscar até mesmo informações muito refinadas."
Existem várias maneiras pelas quais um programa malicioso pode direcionar a memória compartilhada para acessar informações confidenciais. A equipe se concentrou em uma solução para frustrar os ataques de contenção – quando o programa malicioso tenta acessar o hardware de memória ao mesmo tempo que outro programa.
"O invasor está cutucando o controlador de memória, a porta da biblioteca, para dizer 'está ocupado agora?'", disse o coautor Joel Emer. "Se eles forem bloqueados porque a porta da biblioteca já está se abrindo - porque o programa vítima já está usando o controlador de memória - eles ficarão atrasados."
Os pesquisadores desenvolveram um esquema que usa uma estrutura gráfica, conhecida como gráfico acíclico direcionado, ou DAG, para processar solicitações e enviar as solicitações ao controlador de memória em um cronograma fixo. A estrutura permite que o hardware de memória seja compartilhado entre programas com segurança. A equipe nomeou o esquema de segurança DAGguise.
O DAGguise pode ser modificado para se defender contra diferentes ataques de canal lateral que visam recursos de computação compartilhados, como redes no chip.