Crédito:Pixabay/CC0 Dominio público
Múltiples programas que se ejecutan simultáneamente en un dispositivo dependen de los datos almacenados en el hardware de memoria del dispositivo, pero es posible que la información confidencial no se comparta entre todos los programas, lo que expone al dispositivo a un "ataque de canal lateral de sincronización de memoria".
Al intentar acceder al hardware de la memoria, se observan retrasos en la respuesta y se aprovechan para recuperar información confidencial, como contraseñas o claves criptográficas. La solución actual de restringir el hardware de memoria a un solo programa ralentiza el cálculo.
Los investigadores beneficiarios de la Fundación Nacional de Ciencias de EE. UU. con sede en el Instituto Tecnológico de Massachusetts desarrollaron un enfoque que permite compartir hardware de memoria sin comprometer la seguridad de los ataques de canal lateral de sincronización de memoria y aumenta la velocidad de cómputo en un 12 % en comparación con las soluciones más modernas. La investigación se publica en Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems .
"Hoy en día, es muy común compartir una computadora con otros, especialmente si realiza cálculos en la nube o incluso en su propio dispositivo móvil", dijo la autora principal Mengjia Yan. "A través de estos recursos compartidos, un atacante puede buscar incluso información muy detallada".
Hay varias formas en que un programa malicioso puede apuntar a la memoria compartida para acceder a información confidencial. El equipo se centró en una solución para frustrar los ataques de contención, cuando el programa malicioso intenta acceder al hardware de la memoria al mismo tiempo que otro programa.
"El atacante está hurgando en el controlador de memoria, la puerta de la biblioteca, para decir, '¿está ocupado ahora?'", dijo el coautor Joel Emer. "Si se bloquean porque la puerta de la biblioteca ya se está abriendo, porque el programa de la víctima ya está usando el controlador de memoria, se retrasarán".
Los investigadores desarrollaron un esquema que utiliza una estructura gráfica, conocida como gráfico acíclico dirigido, o DAG, para procesar solicitudes y enviarlas al controlador de memoria en un horario fijo. La estructura permite compartir hardware de memoria entre programas de forma segura. El equipo llamó al esquema de seguridad DAGguise.
DAGguise podría modificarse para defenderse contra diferentes ataques de canal lateral que se dirigen a recursos informáticos compartidos como redes en chip.