Frustrando a los atacantes más inteligentes

Frustrando ataques
Frustrando ataques

Hackers astutos pueden robar los secretos de una computadora midiendo el tiempo que tardan las transacciones de almacenamiento de datos o midiendo su consumo de energía. Nueva investigación muestra como detenerlos.

Larry Hardesty, MIT News Office. Original (en inglés).

En los últimos 10 años, investigadores de criptografía han demostrado que aún la computadora aparentemente más segura es espantosamente vulnerable a un ataque. El tiempo que le toma a una computadora guardar datos en memoria, fluctuaciones en su consumo de energía e incluso ruidos que emite pueden traicionar y dar la información para un asaltante astuto.

Ataques que usan dichas fuentes indirectas de información son llamados ataques de canal alterno, y el alza en popularidad de la computación en la nube los hace una amenaza aún mayor. Un atacante tendría que estar muy motivado para instalar un dispositivo en tu pared para medir el consumo de energía de tu computadora. Pero comparativamente es más fácil cargar un poco de código en un servidor en la nube para escuchar otras aplicaciones que está ejecutando.

Afortunadamente, mientras que ellos han estado investigando ataques de canal alterno, los criptógrafos también han estado investigando maneras de detenerlos. Shafi Goldwasser, la profesora de Ingeniería Eléctrica y Ciencia Computacional en el MIT (Massachusetts Institute of Technology – Instituto Tecnológico de Massachusetts), y su antiguo estudiande Guy Rothblum, quien es ahora un investigador en Microsoft Research, recientemente publicaron un largo reporte en el sitio web de Electronic Colloquium on Computational Complexity (Coloquio Electrónico sobre Complejidad Computacional), describiendo un acercamiento general para mitigar ataques de canal alterno. En el Simposio sobre la Teoría de la Computación (STOC – Symposium on Theory of Computing) de la Asociación para la Maquinaria Computacional en mayo, Goldwasser y sus colegas presentarán un artículo demostrando como la técnica que ella desarrolló con Rothblum puede ser adaptada para proteger información procesada en servidores web.

Adicionalmente a prevenir ataques en información privada, dice Goldwasser, la técnica también podría proteger dispositivos que usan algoritmos propietarios para que no se pueda usar la ingeniería inversa por piratas o competidores en el mercado – una aplicación que ella, Rothblum y otros describieron en la conferencia AsiaCrypt del año pasado.

Hoy en día, cuando una computadora personal está en uso, usualmente está ejecutando programas múltiples – dice, un procesador de palabras, un navegador, un visor de archivos PDF, quizá un programa de correos u hojas de cálculo. Todos los programas están almacenando datos en la memoria, pero el sistema operativo de la laptop no permite que ningún programa vea los datos almacenados por otro. Los sistemas operativos funcionando en servidores en la nube no son diferentes, pero un programa malicioso podría lanzar un ataque de canal alterno simplemente enviando sus propios datos a la memoria una y otra vez. Por el tiempo que toma el almacenamiento y la recuperación de datos, podría inferir lo que otros programas están haciendo con precisión sorprendente.

La técnica de Goldwasser y Rothblum oscurece los detalles computacionales de un programa, ya sea que esté ejecutándose en una laptop o un servidor. Su sistema convierte un cálculo dado en una secuencia de módulos computacionales más pequeños. Los datos alimentados al primer módulo son cifrados, y en ningún punto durante la ejecución del módulo son descifrados. La salida todavía cifrada del primer módulo es alimentada al segundo módulo, que la cifra en una manera diferente, y así sucesivamente.

Las formas de cifrado y los módulos están diseñados para que la salida del módulo final sea exactamente la salida de la computación original. Pero las operaciones realizadas por los módulos individuales son enteramente diferentes. Un atacante de canal alterno podría extraer información sobre como los datos en cualquier módulo dado son cifrados, pero eso no le permitirá deducir cual es la secuencia de módulos completa. “El adversario puede tomar mediciones de cada módulo”, dice Goldwasser, “pero no podrán aprender nada más de lo que podrían de una caja negra.”

El reporte por Goldwasser y Rothblum describe un tipo de compilador, un programa que toma código escrito en una forma inteligible a los humanos y lo convierte en un set de instrucciones de bajo nivel inteligibles a una computadora. Ahí, los módulos computacionales son una abstracción: La instrucción que inaugura un nuevo módulo no se ve diferente de la instrucción que concluyó el último. Pero en el artículo de STOC, los módulos son ejecutados en diferentes servidores en una red.

De acuerdo a Nigel Smart, un profesor de criptología en el departamento de ciencia computacional en la Universidad de Bristol en Inglaterra, el peligro de los ataques de canal alterno “ha sido conocido desde finales de los 90”.

“Se hizo mucha ingeniería para tratar de prevenir que esto fuera un problema”, dice Smart, “una enorme cantidad de trabajo de ingeniería. Eso es mucho dinero en la industria”. Mucho de ese trabajo, sin embargo, se ha basado en prueba y error, dice Smart. El estudio de Goldwasser y Rothblum, por otro lado, “es un estudio con muchas más bases, analizando preguntas básicas y profundas sobre que es posible”.

Además, dice Smart, trabajo previo en ataques de canal alterno tendían a enfocarse en la amenaza impuesta a dispositivos móviles, como celulares y tarjetas inteligentes. “Me parece que lo más probable que ocurra en el futuro es lo que se habla sobre servidores”, dice Smart. “No se de nadie fuera del MIT que esté estudiando eso”.

Smart advierte, sin embargo, que el trabajo de GoldWasser y sus colegas es improbable que se convierta en aplicaciones prácticas en el futuro cercano. “En seguridad, y especialmente en criptografía, toma un largo tiempo pasar de una idea académica a algo que realmente sea utilizado en el mundo real”, dice Smart. “Están estudiando lo que podría ser posible en un tiempo de 10 o 20 años”.

Reimpreso con permiso de MIT News.

Fuente
http://web.mit.edu/ (en inglés)

Leave a Reply