Ataques en canales de derivación: ahora no solo las PC, sino también los teléfonos inteligentes están bajo ataque (revisión analítica)

Aunque los dispositivos móviles tienen una demanda cada vez mayor, y los ataques a los canales de derivación de la memoria caché (en lo sucesivo, los ataques de caché) son una forma poderosa de descifrar la electrónica moderna de microprocesadores, hasta 2016 solo hubo unas pocas publicaciones sobre la aplicabilidad de estos ataques a los teléfonos inteligentes . Además, estas primeras publicaciones se limitaron a considerar los ataques en la mesa AES y no tocaron métodos más modernos de ataques internucleares: Prime + Probe [6], Flush + Reload [6], Evict + Reload [7], Flush + Flush [8], Rowhammer [ 9] Además, hasta 2016, se creía que los ataques de caché internucleares solo podían llevarse a cabo en plataformas Intel y AMD, pero recientemente también se habían llevado a cabo para plataformas ARM (en teléfonos inteligentes y otros dispositivos móviles). [6]


En los últimos años, los expertos en ciberseguridad han despertado un gran interés en los ataques de caché a teléfonos inteligentes. Este artículo es una revisión analítica de los principales descubrimientos en esta área para el período de 2015 a 2017.


- Historia de canales de derivación
- ¿Por qué los ataques de caché en ARM son tan únicos?
- Variedades de ataques de caché
- - Expulsar + Tiempo
- - Prime + Sonda
- - Flush + Recargar
- - Expulsar + Recargar
- - Flush + Flush
- - AnC
- Efecto Rowhammer
- Deduplicación de la memoria del sistema
- Pseudo-aislamiento del núcleo del sistema operativo.
- Canales ocultos internucleares e interprocesadores



En cuanto a los ataques de caché en las tablas AES, aunque se sabe desde hace bastante tiempo que estos ataques son posibles , la implementación vulnerable de las tablas AES todavía se usa como el estándar de facto; incluso en modernos dispositivos criptográficos integrados, como las tarjetas SIM. Por ejemplo, las redes 3G / 4G usan el algoritmo de autenticación AES MILENAGE. Su compromiso le permite clonar tarjetas USIM y espiar conversaciones. T.O. Los ataques de caché en los canales de derivación son relevantes tanto para las tarjetas SIM (utilizadas para acceder a la red 2G) como para las tarjetas USIM (utilizadas para acceder a las redes 3G / 4G). En 2015, se describió el "ataque de potencia diferencial" (DPA), un ataque que recupera las claves de cifrado (utilizadas por el algoritmo MILENAGE) y otros secretos de la tarjeta USIM en solo unos minutos. [3]



Historia de canales de derivación


  • A medida que aumenta la complejidad del software y aumenta el número de protecciones de software avanzadas, la piratería del sistema a nivel de hardware, en particular el uso de ataques de caché en canales de derivación, se está convirtiendo en una alternativa cada vez más atractiva. Estos ataques se basan en vulnerabilidades encontradas en la arquitectura de memoria del procesador. [4]
  • En 1985, se introdujo la tecnología de lectura de información de pantallas de video, midiendo la interferencia electromagnética inducida por ellos [10]. Basado en esta tecnología, en 2014 se desarrolló un keylogger, construido sobre la base de un teléfono inteligente y una antena de radio. [12]
  • En 1996, se demostró que midiendo cuidadosamente la cantidad de tiempo dedicado a realizar operaciones con claves privadas, se pueden piratear varios sistemas criptográficos, como el cifrado DES. En 2016, se demostró por primera vez el ataque a canales de derivación en un dispositivo de cifrado utilizando criptografía elíptica avanzada; Durante el ataque, la clave secreta de descifrado se extrajo del dispositivo objetivo ubicado en otra habitación. [13]
  • En 1997, se introdujo el "método de distorsión diferencial" (DFA), un ataque que utiliza varios modelos de micro fallas, así como varios métodos de criptoanálisis; para restaurar configuraciones secretas de tarjetas inteligentes y otros dispositivos protegidos contra el acceso no autorizado. [11] Al tener acceso físico al dispositivo, puede cambiar el voltaje de suministro, la frecuencia de la señal del reloj; o condiciones ambientales (temperatura, etc.) - para hacer que la tarjeta inteligente no funcione correctamente. Además, los fallos de funcionamiento del equipo pueden activarse, incluso solo por intervención del software; y por lo tanto se puede hacer en modo de acceso remoto.
  • En 2014, se demostró un ataque a las omisiones de caché; Este ataque utiliza fugas de información causadas por la diferencia en el tiempo de acceso a los datos, dependiendo de si están en la caché o no; así Este ataque deja en claro qué datos operó recientemente el código investigado. Durante este ataque, se demostró una recuperación completa de las claves AES. [9] Un poco más tarde, en 2015, se demostró que los canales de derivación de caché se pueden usar no solo para atacar sistemas criptográficos, sino también para recopilar información sobre las pulsaciones de teclas. [14]
  • En 2014, se demostró que acceder a la misma celda de memoria a alta frecuencia puede provocar un cambio espontáneo de bits en chips DRAM (efecto Rowhammer). [9] Debido a que la DRAM se escala al tamaño más pequeño, evitar la interferencia eléctrica entre celdas individuales no es fácil. Es por eso que la activación de una determinada línea de la memoria conduce a la distorsión de los datos en las líneas adyacentes.
  • En 2015, se demostró que el efecto Rowhammer se puede usar para elevar los privilegios al superusuario. [15] En el mismo año, se demostró que el cambio espontáneo de bits puede ser activado incluso por código Java cargado en el sitio web. [7] Inicialmente, este escenario se implementó solo para sistemas Intel y AMD que utilizan módulos DDR3 y DDR4. [16, 17] Sin embargo, en 2016, este ataque también se demostró en plataformas ARM. [1] En el mismo año, se demostró que los ataques de caché también se pueden usar para monitorear la actividad de caché en TrustZone. [1]
  • En 2016, se realizó "ingeniería inversa" para las funciones de direccionamiento DRAM comúnmente utilizadas en los teléfonos inteligentes modernos. Como resultado, se descubrieron formas adicionales de cambiar bits que están disponibles para su implementación en millones de dispositivos Android, sin la necesidad de trabajar en modo privilegiado. [1]
  • En 2016, se demostró por primera vez el ataque al último nivel de la memoria caché del procesador ARM. Este ataque puede implementarse para ataques de caché internucleares e interprocesos en canales de derivación. [1]


¿Por qué los ataques de caché en ARM son tan únicos?


  • Métodos de ataque como Flush + Reload y Flush + Flush: use la instrucción de restablecimiento de clflush x86 sin privilegios para eliminar una línea de datos del caché. Sin embargo, con la excepción de los procesadores ARMv8-A, las plataformas ARM no tienen instrucciones de restablecimiento de caché sin privilegios; y por lo tanto, en 2016, se propuso un método indirecto de extrusión de caché utilizando el efecto Rowhammer. [1]
  • Para llevar a cabo un ataque de caché exitoso, se necesita información como el tiempo de ciclo exacto para acceder a una celda de memoria. Los primeros ataques de caché utilizaron contadores de rendimiento del sistema para estos fines, pero este método es ineficiente, ya que estos contadores en procesadores ARM están disponibles solo en modo privilegiado. Sin embargo, en 2016, se propusieron tres fuentes alternativas de sincronización, incluidas las disponibles en modo no privilegiado. [1] Uno de ellos es el lanzamiento de una secuencia de sincronización paralela, que incrementa continuamente una variable global. Al leer el valor de esta variable, un atacante puede medir el tiempo de ciclo para acceder a una celda de memoria.
  • Además, el llamado. política de sustitución pseudoaleatoria, como resultado de lo cual el desplazamiento del caché es menos predecible que en los procesadores Intel y AMD. Sin embargo, en 2016, se demostró un ataque efectivo de caché incluso en condiciones tan ruidosas, para tres teléfonos inteligentes: "OnePlus One" (utiliza "Snapdragon 801 SoC" con procesador "Krait 400" de arquitectura ARMv7-A), "Alcatel One Touch Pop 2 ”(usa“ Snapdragon 410 SoC ”con procesador“ CortexA53 ”de arquitectura ARMv8-A),“ Samsung Galaxy S6 ”(usa“ Samsung Exynos 7 Octa 7420 SoC ”con dos grupos de procesadores“ ARMv8-A ”). [1]


Variedades de ataques de caché


  • En general, un ataque de caché en canales de derivación se puede dividir en tres etapas: 1) identificación de la señal de microarquitectura "que se filtra" del sistema electrónico "con fugas"; Ejemplos típicos de tales señales de microarquitectura con fugas son el consumo de energía y la radiación electromagnética de los circuitos integrados. [2, 3]; 2) monitoreo y análisis de esta señal durante la operación del sistema; 3) la identificación de diferencias de patrones de señal microarquitectónica. [2]
  • Expulsar + Tiempo. La idea básica es determinar a qué conjuntos de caché está accediendo el programa víctima. Algoritmo: 1) medir el tiempo de ejecución del programa víctima; 2) desplazar una cierta parte del caché; 3) medir el tiempo de ejecución del programa de víctimas nuevamente. Usando la diferencia de tiempo entre las dos dimensiones, puede determinar cuánto tiempo la víctima utilizó una determinada parte del caché en tiempo de ejecución. En 2010, se demostró un poderoso tipo de ataque basado en Evict + Time - contra AES en OpenSSL; sin la necesidad de textos abiertos y encriptados. [18, 19]
  • Prime + Probe. Este método, como el anterior, permite a un atacante determinar a qué conjuntos de caché está accediendo el programa víctima. Algoritmo: 1) llenar una cierta parte del caché; 2) transferir el control al programa de víctimas; 3) determina qué parte del caché completo aún nos pertenece. Esto se puede hacer midiendo el tiempo de acceso a las direcciones que el atacante usó para llenar el caché en la primera etapa. T.O. si el programa de la víctima usa direcciones que están asignadas a las mismas áreas del caché que el atacante, entonces forzará a que los datos del atacante salgan del caché; y un atacante puede rastrear esto en la tercera etapa. En [19], se demostró un ataque con este mecanismo, en OpenSSL AES y Linux dm-crypt. En 2015 [20] se demostró cómo, utilizando Prime + Probe, puede montar el canal secreto internuclear y entre máquinas, y luego atacar a ElGamal en GnuPG. En el mismo año, se demostró un ataque exitoso a la implementación de OpenSSL AES en la nube. [21]
  • Flush + Recargar. En 2011 [22] se demostró cómo se puede utilizar clflush para atacar AES. Clflush se usa para sacar una celda de memoria rastreada del caché; seguido de verificar si esta celda se volvió a cargar en el caché después de que el programa víctima ejecutó una pequeña cantidad de instrucciones. Algoritmo: 1) Proyectar un binario (por ejemplo, un objeto compartido) en su espacio de direcciones (usando una llamada al sistema apropiada, como mmap); 2) extruir la línea de caché (código o datos) del caché; 3) transferir el control al programa de víctimas; 4) verifique si esta línea de caché (de la cláusula 2) fue cargada por el programa víctima (esta verificación se lleva a cabo midiendo el tiempo de acceso a la celda de memoria). En 2014, la restauración completa de la clave secreta AES en la máquina virtual VMWare se demostró a través de un ataque Flush + Reload cache. [23] En el mismo año, utilizando el mismo ataque, se demostró la restauración de la clave secreta del algoritmo OpenSSL ECDSA (algoritmo de firma digital basado en curvas elípticas). [24] En 2015, a través del ataque Flush + Reload, el mecanismo del sistema de "deduplicación de memoria" se vio comprometido; Como resultado, la posibilidad de comunicación no autorizada entre máquinas virtuales que se ejecutan en una máquina física común. [25] En el mismo año, se demostró cómo usar Flush + Reload para obtener información sobre qué bibliotecas criptográficas utilizan varias máquinas virtuales que se ejecutan en una máquina física común. [26] En 2015, también se demostró que, además de atacar los sistemas criptográficos, el método Flush + Reload también se puede utilizar para un keylogger. [14]
  • Expulsar + Recargar. Fue introducido en 2015 [14]. Utiliza Flush + Reload para extrusión, en lugar de instrucciones de extrusión. Aunque este ataque no tiene sentido para x86 (dado que clflush no necesita privilegios), es muy relevante para los procesadores ARM (ya que dicha instrucción solo está disponible en modo privilegiado). La esencia de Evict + Reload es que para extraer la celda deseada del caché, llenamos el caché con una gran cantidad de direcciones interconectadas, como resultado de lo cual el mecanismo responsable de desplazar decide extraer la celda de caché que necesitamos. Además, en 2016, se demostró que una estrategia preventiva eficiente y rápida puede iniciar la conmutación espontánea de bits en filas adyacentes de módulos DRAM (como resultado del acceso múltiple a la misma línea de memoria) utilizando applets escritos en JavaScript. [24] Así Los ataques de caché ya no dependen de instrucciones de descarga de caché privilegiadas como clflush.
  • Flush + Flush. Los ataques Flush + Reload y Prime + Probe provocan numerosos accesos a la memoria caché, cuya duración se puede medir (a través de contadores de rendimiento del sistema). El ataque Flush + Flush, introducido en 2015, se basa precisamente en estas observaciones. [8] El ataque es casi el mismo que Flush + Reload. Un objeto de archivo binario o dividido se asigna al espacio de direcciones del atacante. La celda de memoria se expulsa del caché y el control se transfiere al programa víctima. Sin embargo, en lugar de la etapa de reinicio, donde se accede a la celda que estamos observando, se suplanta nuevamente; sin causar fallas, en comparación con Flush + Reload o Prime + Probe. T.O. Es fácil saber si una ubicación de memoria está en caché o no.
  • AnC. Esta es una modificación más reciente del ataque de caché "Evict + Time", introducido en 2017. [4] Una característica distintiva de AnC es que este ataque de caché se basa en el análisis de tablas de páginas en caché, que se utilizan en la mayoría de los procesadores modernos (Intel, AMD, ARM). [4] Hoy, en el corazón de cualquier procesador hay una "unidad de administración de memoria" (MMU), que simplifica la administración de la memoria física disponible, a través de su virtualización; para su posterior uso por varios procesos. La MMU utiliza la estructura de datos de "tabla de páginas" para mapear las celdas de memoria física y virtual. Page Tables es un objetivo atractivo para ataques de hardware. Por ejemplo, el cambio espontáneo de solo un bit (causado por el efecto Rowhammer) en la "tabla de páginas": puede ser suficiente que el atacante obtenga el control sobre la dirección física de la memoria a la que no debe recibir acceso; y esto puede ser suficiente para obtener privilegios de superusuario. [4]


Efecto Rowhammer


  • Un chip DRAM separado tiene una capacidad pequeña y, por lo tanto, varios microcircuitos están conectados entre sí en una placa, para formar el llamado Serie DRAM. Un módulo de memoria DRAM puede contener una o más filas DRAM. Un chip DRAM consiste en una matriz bidimensional de celdas. Cada celda DRAM es un condensador; 0 y 1 son el estado cargado o descargado del condensador. Cada celda de la red está conectada a una celda vecina por cable. Si se activa alguna celda, entonces el voltaje se aplica tanto a su condensador como a todos los demás condensadores de la misma fila. Dado que las celdas de memoria se hacen cada vez más pequeñas y más cercanas entre sí a medida que avanza la tecnología, la interferencia causada por la activación de una línea de memoria con frecuencia afecta las cargas de condensadores de las líneas adyacentes. En 2014, se demostró [9] que el acceso frecuente a la misma celda de memoria DRAM conduce al efecto Rowhammer: cambio espontáneo de bits. Este efecto se puede utilizar para aumentar los privilegios (por ejemplo, para salir del entorno limitado de seguridad [15]); se puede implementar, entre otras cosas, como resultado de la ejecución de código JavaScript sin privilegios ubicado en el sitio web.
  • Para "obstruir" una celda de memoria específica, un atacante necesita encontrar dos direcciones en el mismo banco DRAM, pero en diferentes líneas. Ciertos bits de dirección se utilizan para seleccionar la línea, el canal y el banco de la ubicación de la memoria. Sin embargo, no se documenta cómo funciona la función de muestreo. Por lo tanto, en 2015 [27] se introdujo un mecanismo para la automatización completa de la ingeniería inversa de la función correspondiente; usando el hecho de que los "conflictos de cadenas" conducen a un aumento en el tiempo de acceso a la memoria. La esencia del enfoque utilizado es buscar direcciones que estén asignadas al mismo banco DRAM, pero en una línea diferente; midiendo repetidamente el tiempo de acceso a dos direcciones aleatorias. Para algunos pares de direcciones, el tiempo de acceso es más largo que para otros, esto significa que pertenecen a diferentes líneas, pero al mismo banco. Luego, estas direcciones se agrupan en conjuntos que tienen el mismo canal, línea y banco. Estas direcciones identificadas se utilizan para reconstruir la función de direccionamiento, generando todas las funciones lineales y aplicándolas a todas las direcciones desde un subconjunto seleccionado arbitrariamente. T.O. Como el espacio de búsqueda es pequeño, la fuerza bruta es muy efectiva aquí. [1]
  • Las primeras implementaciones de ataques que utilizan el efecto Rowhammer se basaron en métodos probabilísticos (debido a los cuales podría ocurrir un bloqueo no planificado del sistema durante el ataque); o funciones especializadas de administración de memoria: deduplicación de memoria, paravirtualización MMU, interfaz de mapa de página. Sin embargo, tales funciones en dispositivos modernos no están disponibles o están deshabilitadas por razones de seguridad. [30]
  • Por lo tanto, en 2016, se introdujo el ataque Drammer, libre de las desventajas y limitaciones enumeradas. Se basa únicamente en las capacidades actuales de los sistemas operativos modernos, que están disponibles sin derechos de superusuario. En particular, el comportamiento predecible del subsistema de la distribución de la memoria física. Esta previsibilidad se utiliza para lograr la distribución de la memoria física (en la que se procesarán datos confidenciales, como tablas de páginas de memoria) en una ubicación vulnerable de la memoria física elegida por el atacante. La técnica correspondiente de "masajear la memoria" se llamaba Phys Feng Shui. Para demostrar la operatividad del ataque Drammer, se proporciona una implementación de exploit que da acceso al directorio raíz de un dispositivo Android. Este exploit puede ser lanzado por cualquier aplicación sin un permiso especial; y sin explotar ninguna vulnerabilidad de software. [30]
  • T.O. Drammer , Rowhammer ( Intel AMD), ( ARM-); , . [30]
  • 2016 « » Flip Feng Shui (FFS) – Rowhammer, ; ; . FFS , Ubuntu/Debian. [31]
  • 2017 , MLC NAND -, SSD-, – , Rowhammer. . – . [5]



  • - ; . , ; . [1]
  • ( ) – , , . ( – , ). , – , . – . [1]
  • – ; Windows 8.1 10. – , « ». – . , , . , « », , . , , , . [35]
  • 2016 , – . . -, , , – ; (, 64- ). -, , , , . -, , , - – . [35]
  • , JavaScript- Microsoft Edge – . ; . , - ngnix , , : , . [35]
  • .. . , , . [35]



  • ASLR ( ) ( ) . «» , . , « » , . , ASLR – - . [33]
  • 2016 ASLR 32- 64- Linux, « ». , , – . . .. ASLR . [33]
  • ASLR – , , .. «- » (ROP). , , , , . . [37]
  • 2017 KAISER, , . , , – , . [37] , KAISER BTB ( ), 2016 . [36]
  • 2016 (BTB). BTB- 30 . -, BTB, – . , 30- , – . , , . BTB- . , Intel Skylake (Intel Skylake i7-6700K), . . [36]
  • 2017 , , - . [34]



  • . - – , . , . [29]
  • - - – ; Flush+Reload, Evict+Reload Flush+Flush. - . «» « ». Android , , – ; (. [28]). .. .
  • , - . – . , - , , , . [1] ; ; « » « », ; . - TCP .
  • 2017 , SSH, (45 /); . SSH-, , , telnet-. [29]
  • 2015 , . – ( , ), . . [32]
  • , . . -, ; , ; .. , . -, ( ). [32]
  • , , (16 ). , « » Intel Xeon ( 8 ) 12,5/. 5 4 . [32]
  • 2015 , . , , – . [32]
  • En 2016, se introdujo una nueva implementación del canal oculto en Android, que funciona 250 veces más rápido que cualquier otra implementación propuesta anteriormente. [1]

Bibliografia

1. Moritz Lipp, Daniel Gruss. ARMageddon: Ataques de caché en dispositivos móviles // Actas del 25º Simposio de seguridad USENIX. 2016. pp. 549-564.
2. Robert Callan. Una metodología práctica para medir la señal de canal lateral disponible para el atacante para eventos de nivel de instrucción // 47º Simposio internacional anual de IEEE / ACM sobre microarquitectura (MICRO), páginas 242-254, diciembre de 2014.
3. Junrong Liu. Pequeños ajustes no ayudan: análisis de potencia diferencial de implementaciones MILENAGE en tarjetas USIM 3G / 4G. BlackHat 2015.
4. Herbert Bos, Ben Gras. Cachés de tabla de página de hardware de ingeniería inversa que utilizan ataques de canal lateral en la MMU . 2017
5. Yu Cai, Saugata Ghose. Vulnerabilidades en la programación de memoria flash MLC NAND: análisis experimental, exploits y técnicas de mitigación // 23o Simposio IEEE sobre arquitectura informática de alto rendimiento, sesión industrial, febrero de 2017.
6. Falkner Katrina. Flush + Reload: A High Resolution, Low Noise, L3 Cache Side-Channel Attack // Actas del 23º Simposio de Seguridad USENIX. 2014. pp. 719-732.
7. Gruss Daniel, Maurice Clementine M angard, Stefan. Rowhammer.js: un ataque de falla inducido por software remoto en JavaScript . 2016
8. Gruss Daniel, Wagner Klaus. Flush + Flush: un ataque de caché de último nivel más sigiloso . 2015
9. Kim Yoongu, Daly Ross. Voltear bits en la memoria sin acceder a ellos: un estudio experimental de errores de perturbación de DRAM // Procedimiento del 41º Simposio internacional anual sobre arquitectura de computadoras. Piscataway, NJ, EE. UU .: IEEE Press, 2012 (ISCA '14).
10. Eck Wim. Radiación electromagnética de las unidades de visualización de video: ¿un riesgo de espionaje? // Computadoras y seguridad. No 4, 1985. pp. 269-286.
11. Biham Eli, Shamir Adi. Análisis de fallas diferenciales del criptosistema de clave secreta // Avances en criptología - CRYPTO '97 Bd. 1294.
12. Callan Robert, Zajic Alenka. Una metodología práctica para medir la señal de canal lateral disponible para el atacante para eventos de nivel de instrucción // Actas del 47º Simposio internacional anual de IEEE / ACM sobre microarquitectura. 2014. pp. 242-254.
13. Genkin Daniel. Extracción de clave ECDH a través de ataques electromagnéticos de bajo ancho de banda en PC // Cryptology ePrint Archive, Informe 2016/129.
14. Gruss Daniel. Ataques de plantilla de caché: ataques automáticos a cachés inclusivos de último nivel // Actas del 24º Simposio de seguridad USENIX. 2015. pp. 897–912.
15. Seaborn Mark. Explotar el error DRAM rowhammer para obtener privilegios de kernel . 2015
16. Gruss Daniel. Rowhammer bitflips en Skylake con DDR4 . 2016
17. Lanteigne Mark. Cómo se podría utilizar Rowhammer para explotar las debilidades en el hardware de la computadora . 2016
18. Osvik Dag, Shamir Adi. Ataques de caché y contramedidas: el caso de AES // Temas en criptología. 2005. pp. 1-20.
19. Tromer Eran, Osvik Dag. Eficaces ataques de caché en AES y contramedidas // Journal of Cryptology. 23 (1), 2010. pp. 37-71.
20. Liu Fangfei, Yarom, Yuval. Los ataques de canal lateral de caché de último nivel son prácticos // Actas del Simposio IEEE sobre Seguridad y Privacidad Bd. 2015. pp. 605-622.
21. Eisenbarth Thomas. Un ataque de caché compartido que funciona en todos los núcleos y desafía VM Sandboxing, y su aplicación al Simposio AES // IEEE sobre seguridad y privacidad. 2015
22. Gullasch David, Bangerter Endre. Juegos de caché: llevar ataques de caché basados ​​en acceso a AES para practicar // Procedimientos del Simposio IEEE sobre seguridad y privacidad. 2011. pp. 490-505.
23. Irazoqui Gorka, Inci Mehmet. ¡Espera un minuto! Un ataque rápido y cruzado de VM en AES // Lecture Notes in Computer Science Bd. 2014. pp. 299-319.
24. Yarom Yuval, Benger Naomi. Recuperación de OpenSSL ECDSA Nonces utilizando el ataque de canal lateral Flush + Reload Cache // Cryptology ePrint Archive, Report 2014/140 (2014).
25. Gulmezoglu Berk, Inci Mehmet. Un ataque de descarga + recarga más rápido y más realista en AES // Actas del sexto taller internacional sobre análisis constructivo de canales laterales y diseño seguro. 2015. pp. 111-126.
26. Irazoqui Gorka, Inc. Mehmet. Conozca a su vecino: detección de criptobibliotecas en la nube // Procedimientos de las tecnologías de mejora de la privacidad. 2015. pp. 25-40.
27. Pessl Peter, Gruss Daniel. Ingeniería inversa Intel DRAM Direccionamiento y explotación . 2015
28. Marforio Claudio, Ritzdorf Hubert. Análisis de la comunicación entre las aplicaciones en conflicto en los teléfonos inteligentes modernos // Actas de la 28ª Conferencia Anual de Aplicaciones de Seguridad Informática. 2012. pp. 51-60.
29. Clementine Maurice, Manuel Webe. Hola desde el otro lado: SSH sobre canales encubiertos de caché robusto en la nube . 2017
30. Victor van der Veen, Lindorfer. Drammer: ataques deterministas de Rowhammer en plataformas móviles // Actas de la Conferencia ACM SIGSAC 2016 sobre seguridad informática y de las comunicaciones. 2016. pp. 1675-1689.
31. Kaveh Razavi, Ben Gras. Flip Feng Shui: Martilleando una aguja en la pila de software // Actas del 25º Simposio de seguridad USENIX. 2016. pp. 1-18.
32. Ramya Jayaram Masti, Devendra Rai. Canales encubiertos térmicos en plataformas multinúcleo // Actas del 24º Simposio de seguridad USENIX. 2015. pp. 865-880.
33. Angelos Oikonomopoulos. Hacer agujeros en la ocultación de información // Actas del 25º Simposio de seguridad de USENIX. 2016. pp. 121-138.
34. Koen Koning. No es necesario esconderse: Protección de regiones seguras en hardware básico // Actas de la Duodécima Conferencia Europea sobre Sistemas de Computación. 2017. pp. 437-452.
35. Erik Bosman. Dedup Est Machina: Deduplicación de memoria como un vector de explotación avanzado // Actas del Simposio IEEE sobre seguridad y privacidad. 2016. pp. 987-1004.
36. Evtyushkin, D., Ponomarev, D. Saltar sobre ASLR: Atacar predictores de rama para evitar ASLR // Actas del 49º Simposio Internacional sobre Microarquitectura. 2016. pp. 1-13.
37. Daniel Gruss, Moritz Lipp. KASLR está muerto: larga vida a KASLR . 2017

Source: https://habr.com/ru/post/455310/


All Articles