Simple Science

Ciencia de vanguardia explicada de forma sencilla

# Ingeniería Eléctrica y Ciencia de Sistemas# Criptografía y seguridad# Sistemas y Control# Sistemas y Control

Evaluando las vulnerabilidades del bloqueo por pestillo en la seguridad del hardware

Un nuevo ataque sin oráculo revela riesgos en los métodos de bloqueo por latch para la seguridad de chips.

― 7 minilectura


Cerrojo al descubiertoCerrojo al descubiertopestillo.en la seguridad de las cerraduras deUn nuevo método de ataque revela fallas
Tabla de contenidos

En el mundo actual del diseño de chips, mantener la seguridad del hardware es super importante. Como muchos chips se fabrican usando múltiples proveedores, hay un riesgo de que alguien pueda acceder de manera no autorizada a los diseños o datos. Para proteger este hardware, ha surgido un método llamado "logic locking". Este método oculta el funcionamiento real de un circuito de hardware usando llaves secretas. Si alguien intenta usar el circuito con la llave incorrecta, no funcionará correctamente.

Un tipo específico de logic locking se llama "latch locking". Se centra en asegurar las partes de un circuito que almacenan datos, conocidas como latches. El latch locking implica duplicar ciertas partes del diseño y cambiar cómo funcionan. Esto hace que el diseño sea más complejo para cualquiera que intente revertir el diseño o entenderlo.

¿Qué es el Latch Locking?

El latch locking es una técnica destinada a asegurar circuitos digitales. El logic locking tradicional a menudo se centra en lógica combinacional, que trata de cómo las entradas se convierten en salidas sin almacenar ningún estado. El latch locking, por otro lado, trata con componentes secuenciales que sostienen y gestionan datos a lo largo del tiempo.

En esta técnica, ciertos flip-flops en un diseño se duplican y se reemplazan con latches. También se insertan latches de distracción para hacer que el circuito sea más difícil de entender. El circuito solo funcionará si se utilizan las llaves correctas, asegurando que los usuarios no autorizados no puedan acceder fácilmente a su funcionalidad.

Cómo Funciona el Latch Locking

El proceso de latch locking se puede desglosar en varios pasos:

  1. Seleccionar Flip-Flops: Se selecciona algunos flip-flops que serán duplicados.
  2. Duplicar y Cambiar: Los flip-flops seleccionados se duplican y cambian para convertirse en latches.
  3. Insertar Distracciones: Se añaden varios latches de distracción para confundir a cualquiera que intente entender el diseño.
  4. Agregar Circuitos de Control: Se incluyen circuitos de control, requiriendo una llave correcta para que los latches operen.

Con esta configuración, si se usa la llave equivocada, el circuito fallará en proporcionar la salida correcta, ocultando así su función original.

Amenazas al Latch Locking

Aunque el latch locking puede mejorar la seguridad, no es infalible. Los atacantes aún pueden idear formas de descubrir la funcionalidad oculta. Algunos ataques tradicionales dependen de tener acceso a la versión desbloqueada del circuito, pero otros no necesitan eso. Estos ataques sin oráculo solo requieren acceso al diseño bloqueado, haciéndolos potencialmente más peligrosos.

Ataques Tradicionales

La mayoría de los ataques conocidos contra el logic locking dependen de tener acceso tanto al circuito bloqueado como al desbloqueado. Los atacantes pueden analizar las dos versiones y trabajar para identificar la llave secreta. Este método suele ser lento y complejo.

Ataques Sin Oráculo

Los nuevos ataques sin oráculo representan una amenaza significativa. No requieren un circuito desbloqueado funcional para determinar la llave o funcionalidad. En cambio, los atacantes pueden contar únicamente con los detalles del circuito bloqueado, haciendo que estos tipos de ataques sean más efectivos y atractivos.

El Ataque Propuesto

Este documento presenta un nuevo ataque sin oráculo dirigido al latch locking. Utiliza una combinación de aprendizaje automático, análisis booleano y programación lineal entera. Este método no requiere que el circuito original funcione, dependiendo únicamente del comportamiento observado del circuito bloqueado.

El Enfoque de Dos Fases

El ataque se divide en dos fases principales:

  1. Identificar Distracciones Lógicas: La primera fase utiliza aprendizaje automático para identificar los latches de distracción en el circuito. Después de detectarlos, se eliminan para simplificar el circuito.
  2. Identificar Latches Restantes: En la segunda fase, el circuito simplificado se analiza más a fondo para clasificar los latches restantes. Aquí, el aprendizaje automático y la programación lineal entera trabajan juntos para encontrar posibles llaves que puedan desbloquear el circuito.

Cómo Funciona el Ataque

El ataque propuesto aprovecha la estructura del diseño bloqueado por latches. Al estudiar los gráficos secuenciales asociados con el diseño, el ataque identifica dónde se ha alterado la estructura debido a la inserción de distracciones.

Fase 1: Identificando Distracciones Lógicas

En esta fase, se utiliza un modelo de aprendizaje automático para determinar qué partes del circuito son distracciones. Al analizar las características y el comportamiento del circuito, el modelo obtiene información sobre cuáles latches son reales y cuáles se añadieron para confundir.

Una vez localizadas las distracciones, se eliminan de la consideración. Esto permite simplificar el circuito, haciéndolo más fácil de analizar en la siguiente fase.

Fase 2: Identificando Latches Restantes

Después de que las distracciones se eliminan, el siguiente paso es clasificar los latches restantes. Esto se hace utilizando otro modelo de aprendizaje automático. Las salidas de este modelo sirven como entradas para el componente de programación lineal entera.

Este modelo de optimización tiene la tarea de encontrar latches que se ajusten a configuraciones específicas. El objetivo es derivar posibles llaves que un usuario malicioso podría probar contra el circuito bloqueado.

Experimentación y Resultados

Para validar la efectividad de este ataque, los investigadores realizaron una serie de pruebas en varios circuitos de referencia. Estas pruebas tenían como objetivo evaluar cuán exactamente el ataque identificaba las llaves y el rendimiento general del método.

Precisión y Eficiencia

Los resultados de la fase de pruebas mostraron que el ataque podía revelar la llave correcta con una precisión de aproximadamente 96.9% en la mayoría de los circuitos probados. Esto indica que el ataque es muy efectivo para revelar la funcionalidad de los circuitos bloqueados por latches.

En términos de eficiencia de tiempo de ejecución, el ataque funcionó bien, completándose en menos de 15 minutos para cada circuito probado, lo que lo hace factible para su uso práctico.

Corruptibilidad Funcional

Un aspecto interesante medido durante las pruebas fue la corruptibilidad funcional. Este término se refiere a cuántos errores aparecen en la salida cuando se usa una llave incorrecta. Incluso cuando la llave identificada no es del todo precisa, la funcionalidad del circuito a menudo se preservaba, demostrando que el mecanismo de bloqueo aún podría filtrar información valiosa.

Análisis de Importancia de Características

Los investigadores también examinaron qué características eran más críticas para identificar los latches de manera efectiva. Este análisis de importancia de características ayuda a entender qué características del circuito son más importantes para los atacantes al intentar romper el latch locking.

Direcciones Futuras

Los hallazgos de este ataque ilustran que el latch locking puede no ser tan seguro como se pensaba inicialmente. Para mejorar la efectividad del latch locking, los desarrolladores podrían considerar adoptar estrategias como:

  1. Evitar Fugas de Información: Se podrían implementar estrategias para asegurarse de que las llaves y la estructura del circuito no filtren información valiosa.
  2. Introducir Nuevos Tipos de Distracciones: Crear distracciones que operen de manera diferente, como producir diferentes valores constantes, podría complicar futuros ataques.

Conclusión

El estudio presenta un fuerte argumento de que el latch locking, aunque inicialmente una defensa prometedora para la seguridad del hardware, puede ser vulnerable a ataques modernos. El ataque sin oráculo explorado en este trabajo expone efectivamente debilidades significativas en los diseños de latch locking.

A medida que la tecnología continúa evolucionando, mejorar la seguridad de los diseños de hardware se vuelve crucial. Esto incluye no solo fortalecer los métodos existentes, sino también explorar estructuras y estrategias alternativas para salvaguardar los diseños de posibles brechas.

A través de la combinación de aprendizaje automático y análisis estructural, este enfoque abre el camino a nuevos métodos que pueden proteger el hardware del acceso no autorizado mientras destaca las vulnerabilidades que necesitan ser abordadas en futuros diseños.

Fuente original

Título: Unraveling Latch Locking Using Machine Learning, Boolean Analysis, and ILP

Resumen: Logic locking has become a promising approach to provide hardware security in the face of a possibly insecure fabrication supply chain. While many techniques have focused on locking combinational logic (CL), an alternative latch-locking approach in which the sequential elements are locked has also gained significant attention. Latch (LAT) locking duplicates a subset of the flip-flops (FF) of a design, retimes these FFs and replaces them with latches, and adds two types of decoy latches to obfuscate the netlist. It then adds control circuitry (CC) such that all latches must be correctly keyed for the circuit to function correctly. This paper presents a two-phase attack on latch-locked circuits that uses a novel combination of deep learning, Boolean analysis, and integer linear programming (ILP). The attack requires access to the reverse-engineered netlist but, unlike SAT attacks, is oracle-less, not needing access to the unlocked circuit or correct input/output pairs. We trained and evaluated the attack using the ISCAS'89 and ITC'99 benchmark circuits. The attack successfully identifies a key that is, on average, 96.9% accurate and fully discloses the correct functionality in 8 of the tested 19 circuits and leads to low function corruptibility (less than 4%) in 3 additional circuits. The attack run-times are manageable.

Autores: Dake Chen, Xuan Zhou, Yinghua Hu, Yuke Zhang, Kaixin Yang, Andrew Rittenbach, Pierluigi Nuzzo, Peter A. Beerel

Última actualización: 2023-04-28 00:00:00

Idioma: English

Fuente URL: https://arxiv.org/abs/2305.00107

Fuente PDF: https://arxiv.org/pdf/2305.00107

Licencia: https://creativecommons.org/licenses/by/4.0/

Cambios: Este resumen se ha elaborado con la ayuda de AI y puede contener imprecisiones. Para obtener información precisa, consulte los documentos originales enlazados aquí.

Gracias a arxiv por el uso de su interoperabilidad de acceso abierto.

Más de autores

Artículos similares