ES2628820T3 - uso de toma de huellas digitales de potencia (pfp) para monitorizar la integridad y potenciar la seguridad de sistemas informáticos - Google Patents

uso de toma de huellas digitales de potencia (pfp) para monitorizar la integridad y potenciar la seguridad de sistemas informáticos Download PDF

Info

Publication number
ES2628820T3
ES2628820T3 ES11838845.3T ES11838845T ES2628820T3 ES 2628820 T3 ES2628820 T3 ES 2628820T3 ES 11838845 T ES11838845 T ES 11838845T ES 2628820 T3 ES2628820 T3 ES 2628820T3
Authority
ES
Spain
Prior art keywords
execution
routine
profiles
pfp
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES11838845.3T
Other languages
English (en)
Inventor
Jeffrey H. Reed
Carlos R. Aguayo Gonzalez
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Virginia Tech Intellectual Properties Inc
Original Assignee
Virginia Tech Intellectual Properties Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Virginia Tech Intellectual Properties Inc filed Critical Virginia Tech Intellectual Properties Inc
Application granted granted Critical
Publication of ES2628820T3 publication Critical patent/ES2628820T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)
  • Power Sources (AREA)
  • Storage Device Security (AREA)

Abstract

Método para realizar una estimación de integridad en tiempo real de ejecución de una rutina en una plataforma de procesamiento informático, que comprende: (a) para un código de confianza de la rutina: (i) monitorizar la ejecución de la rutina rastreando el consumo de potencia de un procesador (205, 206, 2620) tomando muestras durante la ejecución de la rutina; (ii) usar una técnica de caracterización de plataforma que comprende además detectar secciones de los perfiles que muestran la mayor dependencia de transiciones de estado en el procesador (205, 206, 2620); y usar dichas secciones para seleccionar características que portan la mayor parte de la información; (iii) obtener a partir de una caracterización de características seleccionadas de la rutina contenida en dichas secciones un conjunto de huellas digitales de potencia de confianza de la rutina; (iv) establecer un umbral para una tasa de falsas alarmas específica basándose en la distribución de probabilidad de distancia a partir de una firma compuesta por dichas huellas digitales de confianza; y (b) para un código que no es de confianza de la rutina: (i) comparar una biblioteca de dichas huellas digitales de confianza con características extraídas de perfiles a partir de la ejecución de código que no es de confianza; (ii) determinar una distancia entre dichas huellas digitales y las características extraídas; y (iii) notificar una excepción si la distancia supera el umbral.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
USO DE TOMA DE HUELLAS DIGITALES DE POTENCIA (PFP) PARA MONITORIZAR LA INTEGRIDAD Y POTENCIAR LA SEGURIDAD DE SISTEMAS INFORMATICOS
DESCRIPCION
La presente invencion se refiere a un metodo para realizar una estimacion de integridad en tiempo real de ejecucion de una rutina. Segun un segundo aspecto, la invencion se refiere a un sistema correspondiente.
En circuitos digitales CMOS, con cada transicion de bits existe un drenaje de corriente transitoria que resulta de un breve cortocircuito en las compuertas y la carga y descarga de capacitancia parasita en las salidas del circuito. En un procesador, la intensidad de estas corrientes transitorias, por tanto, la potencia total consumida en un ciclo de reloj espedfico, se determina mediante el numero total de transiciones de bits que tienen lugar en ese ciclo. El numero de transiciones de bits se determina mediante la secuencia de instrucciones espedfica ejecutada, asf como sus direcciones y parametros. La toma de huellas digitales de potencia es una solucion de estimacion de integridad y deteccion de intrusos para sistemas ciberneticos cnticos basada en tomar medidas refinadas del consumo de potencia de un procesador y compararlas con firmas de confianza (patrones que resultan de la secuencia espedfica de transiciones de bits durante la ejecucion) para la deteccion de anomalfas. El enfoque basico tras la toma de huellas digitales de potencia se conoce a partir de Carlos R Aguayo Gonzales et al Proceedings of “Power fingerprinting in SDR & CR integrity”, Military Communications Conference, 2009, Milcom 2009. IEEE Piscataway, NJ, EE.UU., paginas 1 a 7, ISBN 978-1-4244-5238-5. El enfoque consiste en caracterizar la ejecucion de software de confianza y extraer sus firmas de potencia y usarlas como referencia para comparar perfiles de prueba para determinar si esta ejecutandose el mismo codigo. Un monitor de toma de huellas digitales de potencia (PFP) consiste en tres elementos principales comunes a todos los sistemas de reconocimiento de patron, tal como se muestra en la figura 1: deteccion 1l0, extraccion 120 de caractensticas, y deteccion/clasificacion 130. La deteccion implica medir el drenaje de corriente instantanea de hardware digital, lo que puede lograrse usando una sonda de corriente comercial y a osciloscopio de alto rendimiento. La extraccion de caractensticas es un aspecto cntico para la PFP e implica la identificacion de propiedades estadfsticas y temporales del consumo de potencia que identifica de manera unica la ejecucion de una rutina de software dada. Esta es una tarea diffcil que requiere un conocimiento profundo de la arquitectura del procesador y la estructura del software, pero que puede facilitarse construyendo el propio software con determinadas caractensticas que potencian las firmas y mejoran el determinismo. De manera ideal, se extrae una firma de cada trayectoria de ejecucion en el codigo. En los casos en los que esto no es viable, solo se caracterizan y monitorizan unas pocas secciones cnticas, tal como modulos de kernel del OS y aplicaciones de nucleo.
En el enfoque de toma de huellas digitales de potencia general, se situa un sensor 110 en la placa del procesador tan cerca de las clavijas de alimentacion como sea posible. El sensor capta el drenaje de corriente instantanea del procesador. El sensor puede ser una sonda de corriente comercial, una resistencia en derivacion o un espejo de corriente. La serial del sensor debe digitalizarse a una velocidad mayor que la velocidad de reloj principal del procesador. Si el procesador tiene un bucle de bloqueo de fase interno para aumentar la frecuencia de funcionamiento, entonces pasa a ser la frecuencia de reloj eficaz. Se han obtenido resultados satisfactorios usando 3,5X la frecuencia de reloj eficaz, pero esto no representa un lfmite inferior. Pueden usarse varios mecanismos para reducir los requisitos de muestreo.
Despues de que el drenaje de corriente instantanea se haya digitalizado para dar un perfil de potencia, se aplican diferentes tecnicas de procesamiento de serial para extraer caractensticas discriminatorias de los perfiles. Despues de haberse extrafdo las caractensticas, se hacen pasar a traves de un clasificador o detector 130 supervisado que se ha entrenado previamente usando perfiles 140 de software de confianza. En ultima instancia, este detector toma la decision de si la ejecucion de software corresponde o no al software autorizado. En la figura 1 se presenta una descripcion pictografica del enfoque de toma de huellas digitales de potencia general en la tecnica anterior.
La decision de si las caractensticas de un perfil de potencia espedfico corresponden a la ejecucion autorizada se realiza mediante un detector disenado cuidadosamente, que compara perfiles de potencia de entrada con todas las firmas 140 almacenadas del codigo autorizado. Cuando los perfiles observados no pueden hacerse coincidir con ninguna de las firmas almacenadas, dentro de una tolerancia razonable, se determina que se ha producido una intrusion. Aunque la diferencia para cada caractenstica puede ser pequena, la confianza de evaluar una intrusion puede ser muy alta y establecerse arbitrariamente debido al gran numero de caractensticas.
Sin embargo, las tecnicas y procedimientos actuales deben potenciarse y mejorarse para ir al compas de la tecnologfa y las practicas que estan desarrollandose y usandose por aquellos que buscan superar o derrotar las salvaguardias que se basan en la toma de huellas digitales de potencia para determinar la integridad de ejecucion de sistemas informaticos.
Sumario de la invencion
Por tanto, un objeto de la presente invencion es proporcionar procedimientos para potenciar la estimacion de integridad de ejecucion de sistema objetivo determinada mediante toma de huellas digitales de potencia (PFP). La
5
10
15
20
25
30
35
40
45
50
55
60
65
invencion resuelve este problema por medio de un metodo segun la reivindicacion 1 y un sistema segun la reivindicacion 7.
La invencion puede llevarse a cabo: integrando PFP en la fase de deteccion de seguridad de defensa en profundidad exhaustiva; desplegando una red de nodos habilitados para PFP; ejecutando dispositivos que no son de confianza con entradas predefinidas que fuerzan una secuencia de estado espedfica y ejecucion de software espedfica; incorporando informacion de identificacion de modulo en senalizacion de sincronizacion; combinando senales de diferentes elementos de placa; usando firmas de malware para potenciar la realizacion de PFP; mediante caracterizacion automatica y extraccion de firmas; proporcionando actualizaciones de firmas seguras; protegiendo contra ataques de canal lateral; realizando estimacion de integridad en tiempo real en una plataforma incorporada monitorizando su consumo de potencia dinamico y comparandolo con firmas de codigo de confianza; precaracterizando el consumo de potencia de la plataforma y concentrandose en secciones de perfil que portan la mayor parte de la informacion sobre el estado de ejecucion interno; mejorando la capacidad de PFP para detectar desviaciones de la ejecucion autorizada en plataformas incorporadas comerciales.
Un aspecto de la invencion es un metodo para realizar una estimacion de integridad en tiempo real de ejecucion de una rutina en una plataforma de procesamiento informatico. Esto se logra monitorizando la ejecucion de la rutina rastreando el consumo de potencia de un procesador, mediante la toma de muestras del procesador durante la ejecucion de la rutina. Se emplea una tecnica de caracterizacion de plataforma que detecta secciones de los perfiles, es decir, aquellas secciones que presentan la mayor dependencia de transiciones de estado en el procesador. Estas secciones se usan para seleccionar caractensticas que portan la mayor parte de la informacion. Esta caracterizacion de plataforma se aplica a la plataforma y puede usarse para todas las rutinas ejecutadas en la plataforma. La siguiente etapa es obtener, a partir de una caracterizacion de caractensticas seleccionadas de la rutina, tal como se contiene en las secciones identificadas en la caracterizacion de plataforma, un conjunto de huellas digitales de potencia de confianza de la rutina. Despues, se establece un umbral para una tasa de falsas alarmas espedfica basandose en la distribucion de probabilidad de distancia a partir de una firma compuesta por las huellas digitales de confianza. Despues, se compara una biblioteca de las huellas digitales de confianza con caractensticas extrafdas de perfiles a partir de la ejecucion de codigo que no es de confianza, y despues se determina una distancia entre las huellas digitales en la biblioteca y las caractensticas extrafdas a partir de la ejecucion del codigo que no es de confianza. Se notifica una excepcion si la distancia supera el umbral.
Se describen diversos procedimientos para mejorar el funcionamiento, eficiencia, utilidad y rendimiento de sistemas de estimacion de integridad y deteccion de intrusion basados en la toma de huellas digitales de potencia (PFP). Los diferentes procedimientos incluyen:
• Incorporar informacion de identificacion de modulo en senalizacion de sincronizacion
• Monitorizacion de PFP mejorada combinando senales de diferentes elementos de placa
• Usar firmas de malware para potenciar el rendimiento de PFP, generalizando basandose en la tecnologfa de monitorizacion de batenas existentes.
• Caracterizacion automatica y extraccion de firmas
• Actualizaciones de firmas de seguras
• Respuesta a violaciones de integridad y seguridad en capas
• Proteccion contra ataques de canal lateral Tambien se describen metodos y aparatos para:
• Red de monitores de PFP distribuida para monitorizar la dinamica y comportamiento de malware
• Aplicacion de PFP para analisis de confianza de cadena de suministro
• Gestion de derechos digitales y alquileres de ejecucion limitada
• Prediccion de falla basandose en PFP Breve descripcion de los dibujos
Los objetos, aspectos y ventajas anteriores y otros se entenderan mejor a partir la siguiente descripcion detallada de realizaciones preferidas de la invencion haciendo referencia a los dibujos, en los que:
La figura 1 es un diagrama de bloques general de toma de huellas digitales de potencia.
5
10
15
20
25
30
35
40
45
50
55
60
65
La figura 2 es un diagrama que muestra ubicaciones de sensor ideales para un monitor de PFP.
La figura 3 es un diagrama que muestra ubicaciones de sensor ideales para placas de multiples procesadores.
La figura 4 es un diagrama que muestra un ejemplo de desencadenamiento con una senal ffsica.
La figura 5 es un diagrama esquematico que muestra la insercion de instruccion estrategica de PFP para la sincronizacion y desencadenamiento.
La figura 6 es un diagrama esquematico que muestra el acceso indirecto a recursos ffsicos en el paradigma de controlador de dispositivo Linux.
La figura 7 es un diagrama de flujo que muestra el procedimiento de caracterizacion de codigo de confianza.
La figura 8 es un grafico que muestra un ejemplo de procesamiento previo de perfiles calculando su densidad espectral de potencia.
La figura 9 es un grafico que muestra un procesamiento previo de muestra de perfiles en el dominio de tiempo.
La figura 10 es un grafico que muestra la diferencia de PSD a partir de la ejecucion de perfiles de prueba frente a una firma almacenada.
La figura 11 es un diagrama de flujo que muestra el procedimiento de diseno de detector.
La figura 12 es un grafico que muestra una distribucion de probabilidad de muestra de ejecucion codigo de confianza usada para el diseno de detector y seleccion de umbral.
La figura 13 es un diagrama de flujo que muestra el procedimiento de operacion de estimacion de integridad de PFP.
La figura 14 es un diagrama esquematico que muestra una configuracion de realizacion de muestra para la plataforma Android.
La figura 15 es una representacion grafica de distribuciones de muestra que resultan de la ejecucion de la rutina sin manipulacion indebida original.
La figura 16 es una representacion grafica de distribuciones de muestra que resultan de la ejecucion de la rutina manipulada indebidamente.
La figura 17 es un grafico de detalle de perfil de muestra que muestra diferentes secciones de los perfiles que contienen diferentes niveles de informacion discriminatoria.
La figura 18 es una representacion esquematica de una caracterizacion de plataforma que usa una proyeccion lineal desde el punto de vista mas informativo.
La figura 19 es un diagrama esquematico que muestra una configuracion de medicion de referencia para caracterizacion y monitorizacion de consumo de potencia de plataforma usando PFP.
La figura 20 es un grafico que muestra un perfil de muestra de ejecucion de codigo de nivel inicial para evaluar la capacidad para detectar un cambio de consumo de potencia mmimo.
La figura 21 es una representacion grafica de una firma promedio de la ejecucion de codigo de nivel inicial, en la que cada punto representa una proyeccion en un espacio euclidiano de n dimensiones.
La figura 22 es un grafico que muestra una distribucion de muestra de distancias euclidianas a partir de la firma promedio extrafda de la ejecucion del codigo de nivel inicial.
La figura 23 es un grafico que muestra una distribucion de muestra de distancias euclidianas de la firma de nivel inicial en el espacio transformado obtenido usando PCA.
La figura 24 es un grafico que muestra los baricentros de perfiles a partir de instrucciones de perfil para LDA.
La figura 25 es un grafico que muestra distribucion de muestra de distancias euclidianas a partir de la firma de nivel inicial en el espacio transformado obtenido usando LDA.
La figura 26 es un diagrama de bloques esquematico de una plataforma objetivo a modo de ejemplo para detectar
5
10
15
20
25
30
35
40
45
50
55
60
65
desviaciones de la ejecucion de software autorizada.
La figura 27 es un diagrama esquematico que muestra diferentes capas en un enfoque de defensa en profundidad de la seguridad cibernetica.
La figura 28 es un diagrama esquematico que muestra el alcance de monitorizacion de PFP dentro de una solucion de seguridad de defensa en profundidad en capas.
La figura 29 es un diagrama esquematico que muestra nodo de senuelo de PFA para monitorizar y recopilar informacion.
La figura 30 es un diagrama esquematico que muestra una red de senuelos de PFP.
La figura 31 es un diagrama de flujo de un analisis de confianza de cadena de suministro usando PFP.
La figura 32 es un diagrama esquematico que muestra posibles fuentes de firmas de referencia para el analisis de confianza de cadena de suministro usando PFA.
La figura 33 es un diagrama que muestra el uso de un registro de IO para proporcionar senalizacion de sincronizacion e identificacion a un monitor de PFP.
La figura 34 es un diagrama que muestra la incorporacion de senalizacion de sincronizacion e identificacion de PFP en perfiles de potencia.
La figura 35 es un diagrama que muestra una configuracion de muestra para combinar multiples senales para la estimacion de integridad de PFP.
La figura 36 es un diagrama de flujo de un procedimiento para extraer caractensticas que excluyen falla de dispositivo para PFP.
La figura 37 es un diagrama esquematico que muestra relaciones entre los diferentes elementos de sistema que interactuan para la caracterizacion automatica y extraccion de caractensticas.
La figura 38 es un diagrama de una estructura para impedir que ataques de canal lateral aprovechen un monitor de PFP incorporado.
La figura 39 es un diagrama de una estructura para impedir que ataques de canal lateral aprovechen un monitor de PFP externo.
Descripcion detallada de una realizacion preferida de la invencion
La toma de huellas digitales de potencia (PFP) es una tecnica que permite que un monitor externo estime la integridad de ejecucion de un sistema cibernetico. La PFP se basa en la informacion de estado de ejecucion portada por el consumo de potencia dinamico de un procesador. Mediante el uso de esta informacion, junto con firmas precaracterizadas a partir de referencias de confianza, la PFP puede determinar la integridad de ejecucion en sistemas objetivo. Para la aplicacion practica de PFP, se necesita implementar un aparato espedfico y seguir procedimientos espedficos para proporcionar una solucion de monitorizacion eficaz. En el presente documento, se describen diversos procedimientos para mejorar el funcionamiento, eficiencia, utilidad y rendimiento de una solucion de monitorizacion de PFP.
Aplicacion de PFP para detectar modificaciones de software en telefonos inteligentes y otros dispositivos incorporados.
La seguridad cibernetica se ha vuelto un elemento cntico para la seguridad nacional. Los microprocesadores estan muy extendidos en casi todos los aspectos de la vida moderna. Los avances tecnologicos en las areas de tecnologfa de la informacion avanzan a un ritmo mas rapido que las soluciones de seguridad necesarias para protegerlos. La amenaza de ataques ciberneticos permanece constante con consecuencias posiblemente devastadoras para la infraestructura cntica y seguridad nacional. La infraestructura cibernetica se ha vuelto tan importante que, ahora, el ciberespacio se considera un nuevo campo de guerra y un elemento cntico para la seguridad nacional que necesita protegerse todo tipo de amenazas, incluyendo los adversarios subvencionados por el estado.
Se describe una tecnica para realizar una estimacion de integridad en tiempo real en telefonos inteligentes y otras plataformas incorporadas monitorizando su consumo de potencia dinamico y comparandolo con firmas a partir de un codigo de confianza. El metodo y tecnologfa descritos se construyen a partir del concepto general de toma de huellas digitales de potencia y proporcionan mejoras para la aplicacion general en dispositivos comerciales complejos. Se presentan ejemplos de realizaciones preferidas de las tecnicas generales que van a usarse como
5
10
15
20
25
30
35
40
45
50
55
60
65
referencias y ejemplos. Sin embargo, las tecnicas son generales y pueden adaptarse a cualquier plataforma cibernetica.
Como parte del enfoque, tambien se describe una metodologfa para precaracterizar la manera en la que una plataforma y procesador espedficos consumen potencia para mejorar el rendimiento del enfoque concentrando esfuerzos de clasificacion en las secciones de los perfiles que portan la mayor parte de la informacion sobre el estado de ejecucion interno del procesador e ignoran caractensticas extremadamente ruidosas o redundantes que pueden perjudicar rendimiento.
El objetivo es potenciar el enfoque de toma de huellas digitales de potencia (PFP) general para definir una tecnica fiable para detectar modificaciones de software no autorizadas en telefonos inteligentes, sistemas incorporados y sistemas de informacion generales. En la figura 1 se representa el enfoque de la tecnica anterior general.
El metodo de PFP general comienza recopilando medidas refinadas del consumo de potencia durante la ejecucion de codigo de confianza. Se necesita que el sensor 110 recopile una representacion de medida directa o indirecta del consumo de potencia dinamico o drenaje de corriente instantanea del procesador. El sensor 110 puede implementarse por medio de una sonda de corriente comercial, un sensor de efecto Hall, sensor de campo magnetico compuesto, piezoelectrico/magnetostrictivo, bobina de Rogowski, un espejo de corriente de alto ancho de banda, o una resistencia en derivacion de precision de baja resistencia simple. Observese que los sensores deben cumplir los requisitos establecidos por las tecnicas de extraccion de caractensticas espedficas seleccionadas.
La ubicacion ffsica del sensor es un elemento cntico para el exito de este enfoque. La ubicacion 210 ideal se muestra en la figura 2 en la senal Vdd del procesador 205. Si esta ubicacion no es viable, o introduce ruido de fuente de alimentacion excesivo, entonces tambien se muestra la segunda mejor ubicacion 220. Si el sensor 220 se situa en la segunda ubicacion los perfiles de cobre con su capacitancia e inductancia parasitas junto con los condensadores 215 de desacoplamiento crean un filtro pasobajo (LP) RLC que afecta a los perfiles de corriente. Para la PFP resulta beneficioso precaracterizar este efecto de hardware identificando la funcion de transferencia, H, del filtro LP usando un analizador de redes comercial u otra tecnica de identificacion de sistema. El efecto del filtro LP inherente puede minimizarse haciendo pasar los perfiles a traves de otro filtro con la funcion de transferencia inversa, Hinv. Se recomienda implementar el filtro inverso digitalmente. Puesto que la inversion directa de H puede conducir a un filtro inestable, es necesario seleccionar la aproximacion estable mas cercana de Hinv.
En la figura 2, puede proporcionarse VDD_nucleo 225 mediante diferentes fuentes. Para procesadores simples, viene directamente de los reguladores de tension. Para plataformas mas sofisticadas, puede venir de un sistema de gestion de potencia y perifericos, que es un circuito complejo que proporciona una gran red de servicios que incluye la entrega de diferentes niveles de tension requeridos, restablecer e interrumpir la gestion, y otras gestiones de perifericos. Los gestores de potencia son sistemas complejos que combinan diferentes senales y anaden interferencia desde la perspectiva de PFP y tienden a ocultar las firmas de potencia. Para un sistema con un circuito de gestion de potencia, se recomienda disenar la placa de sistema con las provisiones necesarias para colocar el sensor de corriente despues del sistema de gestion de potencia para evitar la interferencia adicional y facilitar la extraccion de firmas. En la situacion de mejor caso, el sensor de potencia se incluira en el sistema de gestion de potencia como otro servicio proporcionado, facilitando la integracion de PFP.
En el caso de multiples procesadores en la placa, puede repetirse el mismo principio para cada uno de los procesadores, tal como se muestra en la figura 3, en la que el n-esimo procesador 206 se monitoriza preferiblemente en 211 o en una segunda mejor ubicacion 221 despues del condensador 216 de desacoplamiento. En este caso, el detector debe disenarse para combinar y considerar perfiles de ambos sensores. Para procesadores de multiples nucleos en el mismo paquete, se aplican los mismos principios que en el ejemplo de multiples procesadores, pero la ubicacion y viabilidad dependeran de la arquitectura del procesador, el numero de nucleos alimentados por cada carril, y requisitos de desacoplamiento.
Con el sensor en su sitio, la siguiente etapa es caracterizar codigo de confianza. Este procedimiento se logra ejecutando repetidamente el codigo de confianza objetivo en un entorno controlado (incluyendo aislamiento del software objetivo, establecimiento de entradas usadas durante la ejecucion, e insercion de marcadores espedficos que ayudan a sincronizar perfiles). Los marcadores pueden ser de diferente naturaleza y ayudar con el desencadenamiento y la sincronizacion. Los posibles marcadores incluyen senales ffsicas (como cambiar el nivel de tension de una clavija) o una secuencia espedfica de instrucciones que produce una secuencia de consumo de potencia conocida. Un ejemplo de una senal 410 desencadenante ffsica se muestra en la figura 4. El concepto de insercion de instrucciones para el desencadenamiento se representa en la figura 5. En este caso las instrucciones 515 de montaje adicionales se eligen para producir un patron 510 conocido en los perfiles, habitualmente una fuerte variacion en el drenaje de corriente durante un periodo de tiempo corto para ayudar a indicar cuando se ejecuta un codigo 510 espedfico.
Cuando la aplicacion 610 objetivo esta ejecutandose en el espacio de usuario en una plataforma que implementa el paradigma de controlador de dispositivo Linux, o en cualquier otro sistema operativo con acceso indirecto a senales ffsicas, tal como se describe en la figura 6, es necesario compensar las incertidumbres inherentes en la ejecucion y
5
10
15
20
25
30
35
40
45
50
55
60
65
el sincronismo provocadas por el acceso indirecto. En este caso, la instruccion 515 de desencadenante se ejecutara en el espacio 610 de usuario que no tiene acceso directo a la memoria 640 ffsica, y solo puede acceder a los registros 632 necesarios para crear la senal 650 ffsica por medio de un controlador 631 de dispositivo ubicado en el espacio 620 de kernel. Las incertidumbres en la ejecucion y el sincronismo existen debido a que el acceso a archivos requiere que los procedimientos esperen (ejecucion en bloques) a la senalizacion de sincronizacion apropiada durante la cual el kernel 620 programa otro procedimiento para que se ejecute.
Aunque no se requiere que los marcadores 630 permanezcan en el codigo final, el procedimiento de estimacion de tiempo de ejecucion se ve facilitado si permanecen en su sitio. En el caso en el que los marcadores se dejan en la version desplegada, es necesario garantizar que las instalaciones o servicios usados para los marcadores permaneceran aun en la plataforma desplegada (por ejemplo si se supone que el marcador enciende un LED 650, ese LED 650 debe existir en la plataforma desplegada).
Es importante observar que durante la caracterizacion es necesario usar el codigo exacto que va a desplegarse. Esto incluye usar exactamente las mismas herramientas para construir el software, con el mismo nivel de optimizacion, etc.
Para un mejor rendimiento, la caracterizacion debe ser un procedimiento independiente e iterativo, durante el que la estructura de codigo de fuentes junto con los marcadores respectivos se desarrollan conjuntamente para producir las firmas mas fuertes con la menor varianza entre las diferentes instancias de ejecucion.
Puede necesitarse recopilar varios perfiles de la ejecucion del codigo de confianza para calcular su promedio y reducir el impacto de ruido aleatorio inherente a cualquier sistema ffsico. El procedimiento de caracterizacion se representa en la figura 7. Despues de insertar 710 marcadores en el codigo, se ejecuta el software de confianza y se captan 720 los perfiles de potencia resultantes. Esto se hace para todas las trayectorias 730 de ejecucion significativas, usando una entrada 735 predefinida si es necesario. Las variaciones debidas a parametros aleatorios se eliminan usando PCA (analisis de componentes principales) 740. Se extraen caracteffsticas 750 discriminatorias y se realizan el analisis estadfstico, el calculo del promedio y la agrupacion 760 para generar un conjunto de firmas 770 autorizadas.
Las firmas pueden extraerse de dominios de senal diferentes y ser multidimensionales. Ademas, pueden usarse multiples firmas para identificar un unico fragmento de codigo.
Procesamiento de perfil y extraccion de caracteffsticas
El procedimiento de preparacion de perfiles de prueba que van a compararse con la firma almacenada se conoce como procesamiento previo y extraccion de caracteffsticas. El procesamiento previo de perfil implica tareas generales para condicionar los perfiles para extraer las caracteffsticas discriminatorias seleccionadas, por ejemplo convirtiendo los perfiles en el dominio apropiado o alineando los perfiles con referencia a un marcador espedfico. Un ejemplo de procesamiento previo de perfil se muestra en la figura 8, en la que perfiles de dominio de tiempo de la ejecucion de software de prueba en una placa BeagleBoard con un procesador OMAP3 se convierten en primer lugar al dominio de frecuencia calculando su densidad espectral de potencia.
Otro ejemplo de procesamiento previo basico es alinear los perfiles de dominio de tiempo, tal como se muestra mediante la alineacion de la ejecucion de base y perfiles alternos (-1 transicion de bits) en la figura 9, antes de que se pase a un detector de correlacion. En este ejemplo, cada perfil de N muestras se considera como un punto en un espacio euclidiano multidimensional.
La extraccion de caracteffsticas es el procedimiento de calcular el dato estadfstico de prueba final (a partir de nuevos perfiles) que se pasa a los detectores y se usa para determinar la integridad. Este procedimiento es unico para cada caracteffstica seleccionada. Por ejemplo, en analisis de correlacion de dominio de tiempo basico, el procesamiento previo puede incluir una sincronizacion gruesa y compensacion para patrones de consumo de potencia de plataformas espedficas, mientras que la extraccion de caracteffsticas implica la comparacion con la firma almacenada calculando el factor de correlacion o la distancia euclidiana. Un ejemplo de extraccion de caracteffsticas se muestra en la figura 10, que muestra el error de PSD en dB de perfiles de prueba que corresponden a la ejecucion del codigo de confianza y el codigo manipulado indebidamente en el procesador OMAP3 de la placa BeagleBoard siguiendo el ejemplo de PSD en la figura 8. El uso de este vector diferencia, el dato estadfstico de prueba final o caracteffstica discriminatoria que se pasa al detector puede representarse mediante el error cuadratico medio o cualquier otra medida de error o distancia.
Diseno de detector
Despues de que se hayan extrafdo las firmas y se hayan seleccionado las caracteffsticas discriminatorias, la siguiente etapa en el procedimiento de PFP es disenar detectores optimos para realizar la estimacion de integridad final. Estos detectores tomaran la decision final de si un perfil de prueba debe considerarse una intrusion durante la operacion de monitorizacion. El procedimiento de diseno de detector y la operacion de monitorizacion normal son
5
10
15
20
25
30
35
40
45
50
55
60
65
muy similares. En el diseno de detector, se captan perfiles de prueba de la ejecucion de software de confianza y se procesan para extraer las caractensticas discriminatorias seleccionadas y se comparan con las firmas almacenadas. Se recopilan y se procesan varios perfiles y se usan sus distribuciones de muestra estadfsticas para identificar un umbral que produce los objetivos de rendimiento esperados. El procedimiento de diseno de detector se muestra en la figura 11. La entrada 1110 aleatoria o predefinida se proporciona al software 1120 de confianza y se captan perfiles de prueba nuevos a partir de su ejecucion. Los resultados se alinean y sincronizan 1130, y los perfiles se someten a procesamiento previo y se condicionan 1140. Usando firmas 770 autorizadas para la comparacion, se extraen las caractensticas discriminatorias seleccionadas y se genera 1150 una medida de distancia. Despues, se realiza 1160 analisis estadfstico y ajuste de distribucion con las medidas resultantes. Finalmente, se aplica 1170 el criterio de Neyman-Pearson para determinar un umbral que cumpla los objetivos de rendimiento esperados.
Un enfoque comun para crear detectores optimos implica la aplicacion del criterio de Neyman-Pearson para maximizar la probabilidad de deteccion para una probabilidad de falsa alarma dada. Como breve recordatorio de este criterio, que surge a partir de la teona de prueba de hipotesis basica, se establece una probabilidad de falsa alarma objetivo basandose en la tolerancia y el coste estimado de cometer un error en la decision final. Usando una estimacion de la distribucion de probabilidad de las caractensticas discriminatorias del codigo de confianza, se calcula un umbral de distancia que produce la probabilidad de falsa alarma esperada al tiempo que maximiza la probabilidad de deteccion correcta. Un ejemplo de este procedimiento se muestra en la figura 12, en la que se calcula un umbral 1220 de distancia para una distribucion 1210 de probabilidad que produce una probabilidad 1230 de falsa alarma esperada.
Sin embargo, es importante observar que existen diferentes tecnicas que pueden producir resultados mejorados dependiendo de la naturaleza de las caractensticas discriminatorias seleccionadas. Otras tecnicas para el diseno de detector y entrenamiento de maquinas incluyen: redes neuronales, maquinas de vector de soporte y modelos de Markov ocultos.
Operacion de monitorizacion
Despues de que se hayan extrafdo las firmas de la ejecucion de codigo de confianza, se hayan seleccionando caractensticas discriminatorias, y se hayan disenado detectores optimos, el monitor de PFP esta listo para estimar la integridad de software de prueba. Tal como se menciono anteriormente, el procedimiento de estimacion de integridad normal es muy similar al procedimiento de diseno de detector. Durante el funcionamiento normal, el monitor tambien extrae las caractensticas discriminatorias seleccionadas a partir de perfiles de potencia tras el procesamiento previo necesario, pero en vez de recopilar los datos estadfsticos de varios perfiles tal como se realizo para el diseno de detector, se hacen pasar a traves del detector apropiado para compararlos con los umbrales respectivos y determinar el estado de integridad de la ejecucion de codigo de prueba. El detector compara los perfiles de prueba con todas las firmas conocidas y, si ningun dato estadfstico de prueba individual es suficiente para determinar que se ha ejecutado el codigo autorizado, entonces se notifica una intrusion. Este procedimiento se representa en el diagrama mostrado en la figura 13. El software objetivo se ejecuta 13310 durante el funcionamiento normal o usando una entrada predefinida para captar perfiles 1320 de prueba, que despues se alinean y sincronizan 1330, y despues se someten a procesamiento previo y se condicionan 1340. Despues, el detector compara 1350 las caractensticas extrafdas con las firmas 1370 conocidas para determinar una distancia, usando el umbral 1220 predefinido para tomar una decision 1360 de estimacion de integridad.
Resultados de muestra
Con el fin de mostrar a modo de ejemplo el procedimiento de PFP en telefonos inteligentes y otras plataformas incorporadas, se describe una implementacion de referencia de esta tecnica usando una placa BeagleBoard revision C4 con el procesador ARM (OMAN3 a 720 MHz) que se ejecuta en la plataforma Android. La placa 1410 BeagleBoard se modifica ligeramente cortando las pistas 1420 principales que proporcionan potencia al carril de potencia de nucleo para conectar una sonda 1430 de corriente. Se implementa el sistema de captacion usando un osciloscopio 1440 en tiempo real comercial y una sonda 1430 de corriente. El osciloscopio se configura a una velocidad de muestreo de 2,5 GSps y se recopilan un total de 30 mil muestras en cada pista iniciado mediante el desencadenante 1450. La configuracion se describe en la figura 14.
Se desarrollo una aplicacion de prueba basica para demostrar el procedimiento y mostrar viabilidad. Esta aplicacion basica consiste en un contador simple que visualiza un numero entero creciente en la pantalla del dispositivo. El funcionamiento de la aplicacion se describe en la lista 1 y consiste en una estructura de aplicacion de Java para Android tfpica con una rutina de inicializacion que prepara la pantalla para mostrar un cuadro de texto y establece una variable de numero entero usada como contador. Tambien existe una rutina denominada “DisplayCounter” que se encarga de aumentar el valor del contador y visualizarlo en la pantalla. Esta rutina se configura como tarea recurrente que se solicita cada segundo.
LISTA 1. Pseudocodigo de aplicacion de prueba de Android
Inicializar
5
10
15
20
25
30
35
40
45
50
55
60
65
Display-Counter ()
{
contador = IncrementValue(contador);
Visualizar datos
}
Suspender durante un segundo DisplayCounter al reactivarse
La rutina IncrementValue cntica se implemento en codigo C nativo y se incluyo como biblioteca externa mediante el conjunto de herramientas NDK de Android, en vez de la implementacion Java tradicional. Antes de la seccion cntica, se establece un desencadenante 1450 ffsico para indicar 1460 a los sistemas de captacion que empiecen a recopilar perfiles de potencia.
Solo se caracteriza y monitoriza la rutina IncrementValue cntica mostrada en la lista 2.
LISTA2. Pseudocodigo de rutina nativa monitorizada en C /*Rutina nativa cntica*/ int incrementValue(int Val)
/*LED desencadenante usrl*/
Abrir archivo de control de controlador de dispositivos Escribir 1 en el archivo /*Incrementar Val*/
Val++;
/*Procesamiento adicional general*/ i = 1000;
mientras (i) i - -;
/*Restablecer desencadenante LED usr1 */
Escribir 0 en el archivo
Cerrar archivo de control de controlador
devolver Val;
La extraccion de firmas se realiza en el dominio de frecuencia simplemente calculando el promedio del PSD de varios perfiles a partir de la ejecucion de codigo de confianza. Se ignora la informacion de fase del perfil. Se calcula el promedio del PSD de doscientos perfiles junto con la produccion de la firma.
Las caractensticas discriminatorias tambien se extraen en el dominio de frecuencia mediante un error cuadratico medio entre la firma y el PSD de perfiles de prueba (en dB). Se calcula el promedio del PSD de los ultimos tres perfiles de prueba juntos antes de calcular el MSE. Solo se usan los primeros 200 MHz del PSD en el calculo de MSE.
Este procedimiento para la extraccion de firmas produce una caractenstica discriminatoria monodimensional.
El diseno de detector se realizo usando el criterio de Neyman-Pearson descrito anteriormente usando una probabilidad de falsa alarma objetivo, Pf4, del 1%. Los datos estadfsticos de muestra del perfil se extraen de una muestra de 200 perfiles de la ejecucion del codigo de confianza.
5
10
15
20
25
30
35
40
45
50
55
60
65
La distribucion de muestra se ajusto a una distribucion de Rayleigh con una media y una varianza iguales a la media y varianza de la distribucion de muestra de entrenamiento. Usando esta distribucion, se calcula la distribucion de probabilidad inversa para encontrar el umbral que produce la Pfa objetivo del 1% objetivo.
Para someter a prueba la capacidad de detectar desviaciones de ejecucion del codigo de confianza, se somete a prueba el monitor disenado previamente usando una version ligeramente manipulada de manera indebida de la aplicacion. La aplicacion manipulada indebidamente, mostrada en la lista 3, esta disenada para emular un ataque encubierto en el que la intrusion permanece inactiva hasta que se cumple una condicion espedfica. La intrusion consiste en una modificacion muy simple en la que se escribe un archivo solo cuando el valor de un contador alcanza un valor espedfico (la condicion).
LISTA 3. Pseudocodigo de rutina nativa cntica manipulada indebidamente /*Rutina nativa cntica*/
Int. incrementValue(int Val)
{
/*LED desencadenante usrl*/
Abrir archivo de control de controlador de dispositivo Escribir 1 en el archivo /* Manipulacion indebida */ si (Val == 1) {
//abrir archivo temporal //escribir Val en el archivo //cerrar archivo }
/*Incrementar Val*/
Val++;
/*Procesamiento adicional general*/ i = 1000; mientras (i) i—;
/*Restablecer desencadenante LED usr1*/
Escribir 0 en el archivo
Cerrar archivo de control de controlador
devolver Val;
}
Es importante observar que la escritura de archivo que tiene lugar en la manipulacion indebida solo se produce una vez durante la ejecucion (es decir cuando el contador es 1). El resto del tiempo, cuando se solicita la rutina, la condicion no se cumple y no se escribe el archivo adicional. Por tanto, durante la mayor parte del tiempo que se solicita la rutina, la unica modificacion desde un punto de vista logico es una evaluacion adicional de una condicion dada.
Resultados del funcionamiento
5
10
15
20
25
30
35
40
45
50
55
60
65
Los resultados de ejecutar el monitor cuando se ejecuta la version sin manipulacion indebida original de la rutina se muestran en la figura 15.
Se puede observar que para la duracion de la prueba, solo unas pocas instancias pasaron el umbral 1510, lo cual concuerda con la probabilidad de falsa alarma disenada.
Los resultados de ejecutar el monitor con la version manipulada indebidamente de la aplicacion se muestran en la figura 16. Observese que ninguna instancia se clasifica erroneamente como ejecucion autorizada y cada ejecucion unica de la aplicacion manipulada indebidamente se marcara como intrusion por encima del umbral 1610. Ademas, es importante observar que debido a la ejecucion condicionada de la manipulacion indebida, solo una vez durante las instancias de ejecucion usadas en estos resultados se escribio realmente el archivo. El resto del tiempo, solo se comprobo una condicion, y cuando no se cumplio, se reanudo la ejecucion normal.
Caracterizacion de plataforma y evaluacion de sensibilidad minima
Las medidas refinadas del consumo de potencia pueden conducir a informacion redundante que anade muy poca informacion discriminatoria, pero que pueden anadir un ruido significativo e incertidumbre a las firmas. En el dominio de tiempo esto tiene el aspecto de la figura 17. En este caso, se desea centrar la atencion en las secciones de los perfiles (dimensiones) que tienen la mayor varianza 1710 entre las dos ejecuciones, al contrario que las otras secciones, por ejemplo 1720, que muestran poca varianza entre las dos ejecuciones. Por otra parte, cuando se caracteriza una rutina de software espedfica que toma parametros aleatorios, el efecto de estos parametros aleatorios es introducir ruido en las firmas, lo que acaba reduciendo el rendimiento y aumentando la probabilidad de falsa alarma. En este caso, se desea centrar la atencion en las dimensiones (por ejemplo 1720) que permanecen constantes durante la ejecucion del software objetivo, al tiempo que se ignoran aquellas que anaden ruido. En este caso, se desean ignorar las dimensiones que presentan gran varianza (por ejemplo 1710).
Para mejorar el rendimiento de PFP, es necesario reducir el numero de caractensticas analizadas concentrandose solo en aquellas que portan la mayor parte de la informacion. Esto se logra precaracterizando las caractensticas que portan la mayor parte de la informacion para una plataforma como parte del entrenamiento y despues se elimina informacion redundante durante el procesamiento previo antes de que los perfiles pasen a los detectores.
Antecedentes tecnicos
En sistemas de reconocimiento de patron tradicionales, el procedimiento de seleccion de un subconjunto de caractensticas que maximiza un criterio espedfico (en el caso de PFP se desea maximizar la informacion discriminatoria PFP), se conoce como seleccion de caractensticas optimas. En sistemas de agrupacion, esto se logra normalmente protegiendo los perfiles, x, hasta un espacio transformado con menos dimensiones que los mas utiles (o perspectiva de informacion) por medio de una transformacion lineal.
Esta transformacion se describe como
imagen1
en la que W es una matriz de transformacion lineal disenada cuidadosamente que cuando se aplica a perfiles de prueba, produce un perfil transformado con una dimensionalidad menor que maximiza unos criterios particulares. Existen diferentes criterios para identificar la transformacion optima. Dado que se intenta optimizar la seleccion de caractensticas en cuanto a la informacion discriminatoria, resulta natural seguir un enfoque teorico de informacion. Esta optimizacion se ha realizado anteriormente y puede encontrarse en varias fuentes en la bibliograffa de reconocimiento de patron, por ejemplo vease J. T. Tou y R. C. Gonzalez. “Pattern Recognition Principles”. Addison- Wesley Publishing Company, 1974.
Analisis de componentes principales
Un enfoque bien conocido para determinar la W apropiada que optimiza la entropfa (o informacion) en los perfiles se conoce como analisis de componentes principales (PCA). Se supone que las matrices de covarianza de las diferentes clases, Ci, se distribuyen normalmente y son identicas Ci = C. Por tanto, los vectores propios pueden considerarse como portadores de informacion para los perfiles en consideracion. Algunos de estos vectores portan mas informacion discriminatoria en el sentido de clasificacion que otros, que pueden eliminarse con seguridad sin mucha penalizacion de rendimiento. No debe sorprender que los vectores de caractenstica optima esten vinculados a esos vectores propios y se usen para crear la matriz de transformacion W agregando vectores propios en orden descendente segun el valor propio correspondiente. Dado que en PFP solo se necesita un unico punto por ciclo de reloj, la matriz de transformacion W viene dada por el vector propio de la matriz de covarianza asociada al mayor valor propio.
La transformacion lineal puede interpretarse como una proyeccion del perfil de prueba en un espacio transformado de dimensionalidad menor desde la perspectiva mas informativa. El PCA puede aplicarse de diferentes maneras,
5
10
15
20
25
30
35
40
45
50
55
60
65
dependiendo del objetivo espedfico. Desde una perspectiva de agrupamiento, se prefiere construir W usando los vectores propios asociados a los valores propios mas pequenos, ya que esto producira un agrupamiento mas ajustado en el espacio transformado. Por otra parte, tambien es posible usar los vectores propios asociados a los mayores valores propios cuando se usan perfiles de ejecuciones diferentes. Cuando se aplica de esta manera, el PCA seleccionara las caractensticas que presentan la mayor varianza entre clases. Suponiendo que las matrices de covarianza son identicas, estos vectores propios representaran las caractensticas que contienen la maxima informacion discriminatoria entre los perfiles espedficos usados para PCA.
Analisis discriminante lineal (LDA)
El PCA selecciona un subconjunto de caractensticas en orden ascendente o descendente en cuanto a la varianza para optimizar la entropfa de perfil. Sin embargo, no considera que las diferencias espedficas entre clases para seleccionar un conjunto optimo de caractensticas que maximiza la distancia entre distribuciones de analisis discriminante lineal (LDA) y maximiza la divergencia entre distribuciones, que es una medida de distancia entre distribuciones de probabilidad. La divergencia esta estrechamente relacionada con el concepto de entropfa relativa en teona de la informacion.
Usando informacion espedfica de diferentes clases y divergencia como criterio de optimizacion, el LDA identifica la matriz de transformacion optima para proyectar los perfiles a partir de la perspectiva unica que produce la separacion maxima entre ellos. Esto se debe a que el vector de transformacion W es normal al hiperplano discriminante optimo entre ambas distribuciones.
Siguiendo la suposicion de que los perfiles se distribuyen de manera normal, puede mostrarse [TOU] que la matriz de transformacion que produce un extremo de divergencia viene dada por el unico vector propio de C-188T asociado con un valor propio distinto de cero. Este vector viene dado por
imagen2
donde Wo proporciona la proyeccion optima para separar ambas clases mientras que |io y in son los baricentros respectivos para las dos clases de entrenamiento. El LDA puede extenderse a M clases discriminantes. En este caso, habra M-1 vectores propios asociados a valores propios distintos de cero.
Caracterizacion de consumo de potencia de plataforma
Tal como se menciono anteriormente, no todas las muestras en un perfil de prueba son igual de importantes para determinar si ha tenido lugar o no una desviacion de ejecucion. Debido a la gran razon de sobremuestreo y a la naturaleza de los perfiles de potencia, existen algunas secciones de los perfiles que portan mas informacion discriminatoria que otras. Para la PFP, el objetivo es identificar una transformacion lineal que reduzca la dimensionalidad de los perfiles eliminando la redundancia al tiempo que se enfatizan las dimensiones que portan la mayor parte de la informacion.
La idea es transformar caractensticas discriminatorias para reducir dimensiones usando una proyeccion lineal de los perfiles usando una matriz de transformacion optima. En el dominio de tiempo, las secciones de perfil que se corresponden con un ciclo 1810 de reloj completo se reducen a un solo punto 1820 en el espacio transformado, tal como se representa en la figura 18. Tambien tienen que disenarse clasificadores para funcionar en el espacio transformado, reduciendo el numero de dimensiones que necesita para considerarse durante la operacion de monitorizacion normal.
Se realiza caracterizacion en condiciones controladas en el laboratorio y solo se requiere una vez por plataforma. Tal como se describio en las secciones anteriores, existen dos enfoques generales para identificar la matriz de transformacion optima: PCA y LDA.
Caracterizacion de plataforma usando PCA
Para crear una matriz de transformacion usando PCA, es necesario observar el consumo de potencia del procesador durante ciclos de reloj aleatorios. Los perfiles se alinean para cada ciclo de reloj para mostrar claramente las secciones de los perfiles que se ven mas afectadas por el comportamiento dinamico de la ejecucion de procesador. Una vez que se alinean los perfiles, se usa el PCA para identificar el vector de transformacion que representa la mayor parte de la varianza en los perfiles.
La realizacion de la caracterizacion de plataforma usando PCA es relativamente facil implementar y muy adecuada para plataformas complejas en las que el control de contenido en la canalizacion resulta demasiado diffcil.
Caracterizacion de plataforma usando LDA
5
10
15
20
25
30
35
40
45
50
55
60
65
Realizar la caracterizacion de consumo de potencia de plataforma usando LDA requiere el desarrollo de dos rutinas cuidadosamente adaptadas. Estas rutinas deben ejecutar las instrucciones espedficas con direcciones y parametros espedficos en la secuencia correcta para crear dos conjuntos de perfiles que muestran diferencia predeterminadas durante un ciclo de reloj espedfico. Perfiles de entrenamiento a partir de la ejecucion de ambas rutinas proporcionan las dos clases para las que LDA encontrara el hiperplano discriminatory optimo, que a su vez pasara a ser el vector de transformacion optimo.
El objetivo de la rutina de caracterizacion especial es ejecutar una secuencia de instrucciones cuidadosamente elaborada para cargar de manera apropiada la canalizacion de tal manera que en un ciclo de reloj espedfico hay un cambio conocido durante cada etapa de ejecucion (captacion, fijacion, ejecucion, etc.). Los cambios deben ser relativamente pequenos, preferiblemente debidos a cambiar unos pocos bits en los registros respectivos. La rutina de caracterizacion no es unica, sino que es espedfica de plataforma ya que depende de la arquitectura, conjunto de instrucciones, etc. de la plataforma que esta caracterizandose. Diferentes procesadores requeriran probablemente una secuencia diferente.
Una vez captados y sincronizados los perfiles a partir de la ejecucion de ambas secuencias, se usa LDA para encontrar el vector de transformacion optimo W. Se espera que la caracterizacion de plataforma usando LDA proporcione el mejor rendimiento, dada la disponibilidad de dos clases conocidas, pero sus implementaciones son mas complejas que PCA.
Resultados de implementacion de referencia de caracterizacion de consumo de potencia de plataforma
Para esta implementacion de referencia, se usa una placa base con un microcontrolador PIC18LF4620 de 8 bits de Microchip Technology Inc., similar a los usados en el kit de demostracion PICDEM Z, previsto como plataforma de evaluacion y desarrollo para IEEE 802.15.4. Este es un microcontrolador incorporado popular sin unidad de gestion de memoria.
La placa base de procesador esta ligeramente modificada con el fin de potenciar las caractensticas de consumo de potencia. De la placa se retiran un total de seis condensadores de desacoplo que representan en total 6 microF acumulados. La funcion de estos condensadores es mitigar el estres impuesto sobre las fuentes de alimentacion por los fuertes picos de corriente provocados por procesadores digitales. Es importante observar que no se necesitara eliminar condensadores de desacoplo si el sensor de corriente se coloca mas cerca de las clavijas de alimentacion de procesador, o si se cancela el efecto del filtro resultante LP usando procesamiento de senales.
La recopilacion de perfiles se realiza usando un osciloscopio 1910 en tiempo real Tektronix TDS 649C y una sonda 1920 de corriente Tektronix TC-6. La sonda esta conectada justo mas alla de los reguladores de tension en la placa base. El osciloscopio esta configurado para 500 MS/s y 10 mV. El desencadenante se acciona mediante un LED1 1930, y esta configurado para nivel de 40 mV de flanco de bajada, y no se mantienen muestras previas al desencadenante. Se recopilan un total de L = 30.000 muestras despues de cada acontecimiento desencadenante. La configuracion de medicion se representa en la figura 19. Se captan perfiles y se transfieren a un ordenador central usando GPIB para su analisis posterior.
Se desarrolla una rutina de muestra para este experimento con un proposito doble 1) proporcionar rutinas de entrenamiento para realizar la caracterizacion de plataforma y 2) proporcionar un cambio de referencia para medir el rendimiento del enfoque. Se comienza por describir el uso de evaluacion de la rutina y proporcionar un rendimiento de nivel inicial para comparacion. La rutina de prueba se muestra en la lista 4 y se ejecuta en un bucle infinito. En esta rutina, el contenido del registro W se alterna de 00 a 0f usando diferentes instrucciones. Observese que la logica real en la rutina no tiene ningun impacto sobre el rendimiento de toma de huellas digitales de potencia. Esta rutina se eligio porque resulta facil controlar el numero de transiciones de bits que se producen. Sin embargo, los resultados no dependen del software espedfico que esta ejecutandose. Por tanto, esta rutina proporciona un ejemplo representativo.
LISTA 4.
BYTE i; //addr 00 BYTE j; //adder 01 BYTE k; //add 10 BYTE 1; //addr 11 // Inicializar el sistema BoardInit();
5
10
15
20
25
30
35
40
45
50
55
60
65
// Inicializar variables de datos _asm
movlw 0x07 movwf i, 0 //addr 0x00 movlw 0x0f movwf j, 0 //addr 0x01
movlw 0x0f //establecer para cambio mmimo
movwf k, 0 //add 0x10
movlw 0x1f
movwf 1, 0 //add 0x11
movlw 0x00
_endasm
//bucle infinito de codigo objetivo mientras (1) {
TMR0H - 0x00; //Reiniciar T1M0 TMR0L - 0x00;
LED_2 = 1; //Desencadenante LED_2 = 0;
_asm
nop
iorwf j, 0, 0 //w = 0f andlw 0x00 //w = 00 movf j, 0, 0 //w = 0f andlw 0x00 //w = 00
movf k, 0, 0 //w = 0f posibilidad en k (un bit)
movlw 0x00 //w = 00
xorwf j, 0, 0 //w = 0f
movlw 0x00 //w = 00
iorwf j, 0, 0 //w = 0f
xorlw 0x00 //w = 00
nop
... x 10
nop
5
10
15
20
25
30
35
40
45
50
55
60
65
endasm
}
La rutina, tal como se muestra la lista 4, representa la ejecucion de base. Previamente al codigo objetivo, se crea un desencadenante usando un LED en la placa. El desencadenante se usa para sincronizar la captacion de perfiles con el osciloscopio. La instruccion “NOP” entre el desencadenante y el codigo objetivo se incluye como tampon para aislar los perfiles objetivo de cualquier efecto residual del desencadenante. Una vez dentro del bucle principal, el registro W se alterna de 00 a 0f creando cuatro transiciones de bits en ese registro en cada instruccion. El codigo alternativo, o modificado, tiene una transicion menos de bits. En la lmea 15, se cambia el contenido de la variable j de 0f a 07. De esta manera, cuando esta ejecutandose el codigo objetivo, en la lmea 35, se carga el parametro k en el registro W que pasa de 00 a 07, realizandose una transicion de solo tres bits en el registro para esa instruccion. Observese que solo hay una diferencia de un bit entre este codigo modificado y la ejecucion de base que carga el registro W con 0f y que todo lo demas en la ejecucion se mantiene igual, incluyendo instrucciones, parametros y direcciones. Observese que este cambio de un bit afecta realmente a dos ciclos de reloj, ya que hay una transicion menos que entra en esa instruccion y una menos que sale de la misma. Siguiendo al codigo objetivo hay una cadena de instrucciones “NOP” antes de repetirse el bucle.
En la figura 20 se muestra un detalle de un perfil tfpico. En esta figura se capta un ciclo de ejecucion completo del codigo objetivo. Los efectos del desencadenante sobre los perfiles de potencia son claramente visibles como dos escalones 2010 y 2020 cuadrados. Tambien pueden apreciarse ciclos de instrucciones individuales. Pueden identificarse como conjuntos de cuatro picos que se repiten cada 125 muestras. Usando informacion de sincronismo a partir de la documentacion del procesador, puede determinarse la seccion del perfil que corresponde a la ejecucion del codigo objetivo. En la figura 20, esta seccion esta destacada como una lmea 2030 continua que abarca diez ciclos de instrucciones. Esto concuerda con el codigo real, que consiste en diez instrucciones de conjunto, tardando cada una un ciclo de bus en ejecutarse.
Se captan varios perfiles de cada una de las ejecuciones de base y alternativa y se calcula el promedio de los perfiles de cada ejecucion juntos para proporcionar una imagen limpia de ambas ejecuciones que muestra el efecto total de una transicion menos de bits. Los perfiles promedio se muestran en la figura 21. En esta imagen, se muestran los diez ciclos de reloj correspondientes a la ejecucion del codigo de base y parece que los perfiles de cada ejecucion estan alineados. Sin embargo, alrededor del mdice 650 de muestra puede observarse una pequena diferencia entre los dos perfiles. La diferencia (en 2110) es mas apreciable en la parte superior de la figura 21, que proporciona un aumento. Junto con la proximidad de los baricentros de ambas situaciones, tambien resulta evidente que los perfiles estan ampliamente correlacionados debido a sobremuestreo y tambien que solo determinadas secciones de los perfiles portan informacion discriminatoria util.
Con fines de comparacion, se proporcionan los resultados de un enfoque de clasificacion simplista en el dominio de tiempo sin precaracterizacion de plataforma. Se usa un clasificador de distancia minima basico. En este enfoque, cada perfil captado de longitud L = 1250 (la longitud del codigo objetivo) representa un punto en un espacio euclidiano de L dimensiones. La distancia euclidiana se toma a partir del baricentro de la ejecucion de base para cada perfil de prueba entrante. Con fines de clasificacion, el baricentro de base y los perfiles de prueba representan un unico punto, o vector, en un espacio euclidiano multidimensional con 1250 dimensiones. Los perfiles de prueba son diferentes de los de entrenamiento usados para obtener el baricentro de base. Esto se hace para evitar un sesgo en las evaluaciones de un clasificador de distancia minima para discriminar con exactitud entre diferentes situaciones.
Los perfiles de prueba de la ejecucion de ambas rutinas tienen las distribuciones de distancia euclidiana mostradas en la figura 22. En este ejemplo simplista, el rendimiento de toma de huellas digitales de potencia no es alentador, ya que casi no hay diferencia entre las distribuciones, que se solapan sustancialmente. Este escaso rendimiento se esperaba, teniendo en cuenta las pequenas diferencias en el consumo de potencia entre las situaciones de base y alternativa.
Los primeros resultados para la caracterizacion de plataforma se obtienen a partir de la aplicacion de PCA. Para este procedimiento se usan todos los ciclos de reloj correspondientes a la ejecucion del presente codigo objetivo en la rutina mostrada en la lista 4. El perfil correspondiente a la ejecucion completa del perfil se divide en secciones diferentes correspondientes a una unica ejecucion de ciclo de reloj. Entones se alinean las subsecciones y se usa PCA para encontrar el vector de transformacion W correspondiente al vector propio que representa la mayor varianza. En este caso, tal como se explico anteriormente, se toma el perfil con sobremuestreo para un ciclo de reloj y se reduce a un unico punto.
Tras realizar la caracterizacion de plataforma usando PCA, se procesan de nuevo los perfiles de prueba de la rutina de evaluacion para demostrar las mejoras del rendimiento de precaracterizacion de plataforma. Las distribuciones de distancia minima desde los perfiles de prueba transformados hasta la firma en el nuevo espacio transformado de PCA se muestran en la figura 23.
5
10
15
20
25
30
35
40
45
50
55
60
65
Se observa una clara separacion entre la mayor parte de las distribuciones, lo que representa una clara mejora con respecto al rendimiento de la clasificacion simplista mostrado en la figura 22.
Resultados con caracterizacion de plataforma usando LDA
Con el fin de obtener los perfiles de entrenamiento necesarios para aplicar LDA, se ejecuta la rutina de base y una version ligeramente modificada. Se obtienen los perfiles de caracterizacion de plataforma especiales comparando dos conjuntos de perfiles: a partir de la ejecucion de base, que es una vez mas el codigo en la lista 4 y una version ligeramente modificada del mismo mostrada en la lista 5. Los cambios en la ejecucion se seleccionan cuidadosamente para provocar una transicion menos de bits en cada etapa de ejecucion en comparacion con la ejecucion de base. En esta version modificada, la instruccion en la lmea 36 se cambia de xorwf con opcode 0001 10da a iorwf con opcode 0001 00da (los argumentos opcionales d y a, controlan el bit de destino y de acceso de RAM, respectivamente, y se mantienen con el mismo valor en ambos casos). Durante la ejecucion, la diferencia en opcodes provocara una transicion menos de bits cuando se fija la palabra de instruccion. El parametro en la instruccion cambia de j, ubicado en la direccion 0x01, a i, ubicado en la direccion 0x00 en RAM de acceso. Una vez mas, el cambio creara una transicion menos de bits cuando se ejecute. Ademas, observese que el contenido de j e i tambien difiere en un bit. Esto tambien se traducira en una transicion menos de bits cuando se analice sintacticamente el parametro, cuando se ejecute la instruccion y cuando se escriban los resultados.
LISTA 5. Rutina modificada para la caracterizacion de plataforma
35 movlw 0x00 //w = 00
36 iorwf i, 0, 0 //w = 07
37 movlw 0x00 //w = 00
Para la caracterizacion de plataforma solo se usan perfiles correspondientes a la ejecucion de la lmea 36 en la lista 5. El promedio de estos perfiles (para cada ejecucion, la ejecucion de base y aquella con una transicion menos de bits) se muestra en la figura 24.
Usando estos perfiles, se realiza LDA para identificar el hiperplano discriminatorio optimo y la transformacion lineal que proyectan los perfiles desde la perspectiva mas informativa. Los perfiles de prueba procedentes de la rutina de evaluacion se procesan de nuevo para demostrar las mejoras de rendimiento de la precaracterizacion de plataforma. Las distribuciones de distancia minima desde los perfiles de prueba transformados hasta la firma en el nuevo espacio transformado de LDA se muestran en la figura 25.
Deteccion de desviaciones de la ejecucion de software autorizada en plataformas de radio controladas por software y otros sistemas incorporados
Puede monitorizarse el consumo de potencia dinamico de un procesador para determinar si corresponde a la ejecucion esperada o se ha producido una desviacion.
Descripcion de plataforma
La plataforma objetivo a modo de ejemplo para ilustrar este uso de toma de huellas digitales de potencia (PFP) es una radio controlada por software, en la que la configuracion espedfica del comportamiento de radio se controla mediante software. En la figura 26 se muestra un diagrama de bloques generico de la plataforma prevista.
En esta plataforma, el comportamiento y la configuracion del transceptor 2610 de RF se controlan mediante el procesador 2620. La aplicacion 2626 representa la capa mas alta e implementa la funcionalidad prevista para el procesador. Con el fin de interaccionar eficazmente con el transceptor 2610 de RF, hay un conjunto de interfaces 2624 de programa de aplicacion (API) que retira la complejidad de las interacciones con el hardware a la aplicacion principal. Estas API, junto con los controladores requeridos y la implementacion 2622 de pila de protocolo, proporcionan un paquete de soporte de placa para el transceptor espedfico. La pila 2622 de protocolo dispone los datos que van a transmitirse en el formato previamente dispuesto, anadiendo cabeceras requeridas y preparando la carga de modo que el receptor previsto puede extraer la informacion. Tambien se encarga de extraer la informacion recibida de dispositivos remotos y presentarla a la capa 2626 de aplicacion. El modulo 2612 criptografico puede implementarse en el transceptor de RF o en software como parte de la pila de protocolo. La figura 26 lo muestra como parte del transceptor. La ubicacion del modulo 2612 criptografico no presenta ninguna diferencia practica en el enfoque. Las capas de MAC 2614 y de PHY 2616 del transceptor 2610 de RF se encargan del acceso a medios y la transmision y recepcion ffsicas de la informacion.
5
10
15
20
25
30
35
40
45
50
El enfoque descrito caracteriza la ejecucion del software 2626 de aplicacion, en particular la ejecucion de las solicitudes 2624 de API que tienen un impacto sobre el comportamiento del modulo 2612 criptografico. En este enfoque, el codigo espedfico ejecutado como resultado de una solicitud de API se usa para determinar si se uso cifrado y el tipo de cifrado usado. Por ejemplo, si la aplicacion exige una clase espedfica de transmision cifrada, este enfoque evalua la ejecucion del codigo que invoca el cifrado. En caso de manipulacion indebida maliciosa o accidental, este enfoque proporciona un indicador fiable de la modificacion.
Extraccion de firmas
Los perfiles de longitud L captados durante la i-esima ejecucion de codigo autorizado a se representan mediante
imagen3
Con el fin de evitar la posible interferencia a baja frecuencia de otros componentes de placa, se introduce un filtro de paso alto, no multiplicado, basico, calculando la diferencia entre muestras de perfil
imagen4
Se usan varios perfiles captados de la ejecucion del codigo autorizado para crear una firma, la huella digital objetivo. Se calcula el promedio de N perfiles para formar la firma objetivo y reducir los efectos de ruido aleatorio en los perfiles individuales
imagen5
Extraccion de caractensticas
El procedimiento de extraer caractensticas discriminatorias consiste en una simple correlacion de dominio de tiempo frente a la firma objetivo. Sin embargo, la correlacion se realiza con j > 0 secciones parciales de la firma y el perfil, cada seccion tiene una longitud w = suelo {L}. Esta correlacion parcial se realiza para evitar propagar posibles diferencias en los perfiles de potencia a traves de una correlacion de perfil completo.
La correlacion cruzada para diferentes retardos de muestras, 0 < k < w, de seccion j de los perfiles viene dada por:
imagen6
donde s y Os son la media y la desviacion estandar de la muestra de la seccion correspondiente en sa y d y Od son la media y la desviacion estandar de la muestra del seccionamiento correspondiente db(i).
Con el fin de compensar cualquier desviacion de reloj, se mantienen los valores de correlacion maxima para diferentes retardos. Esta accion reduce la dimensionalidad de los perfiles a solo una secuencia de j valores de correlacion de picos para cada perfil:
imagen7
En condiciones ideales y con b=a, ps d qG) = 1 para cada seccion j. Cualquier desviacion de las caractensticas de consumo de potencia se reflejara mediante un factor de correlacion reducido.
La caractenstica discriminatoria real o dato estadfstico de prueba usada en este trabajo para evaluar perfiles es el valor de correlacion de picos mmimo para ese perfil espedfico
xbU) - min \p /);
5
10
15
20
25
30
35
40
45
50
55
60
65
imagen8
La variable aleatoria Xb(i) indica la desviacion maxima con respecto a la firma de la instancia i del codigo b. Usando Xb pueden disenarse detectores apropiados usando diferentes criterios dependiendo de la informacion estadfstica que puede recopilarse a partir del sistema a priori.
Respuesta a violaciones de integridad y seguridad en capas
PFP es un enfoque muy eficaz para detectar desviaciones de la ejecucion en sistemas ciberneticos. Sin embargo, con el fin de tener una solucion completa, es necesario tener una polftica estructurada para gestionar violaciones de integridad cuando el monitor de PFP detecta una desviacion de la ejecucion prevista.
Hay tres fases claramente definidas en la seguridad informatica:
• Prevencion. Incluye mecanismos activos para disuadir, desalentar y prevenir que atacantes lleven a cabo ataques para alterar el sistema, divulgar informacion, etc.
• Deteccion. Dado que una prevencion absoluta perfecta no es viable, es necesario realizar una monitorizacion constante de la integridad del sistema
• Respuesta. El conjunto de polfticas implementadas para reaccionar frente a ataques satisfactorios.
Ahora se describira La arquitectura para integrar PFP en un enfoque de seguridad de defensa en profundidad exhaustivo. En este enfoque la PFP proporciona una solucion robusta para la fase de “deteccion” para complementar a varias tecnicas diferentes para prevenir y disuadir posibles ataques. La reaccion apropiada a diferentes ataques satisfactorios se define en la fase de “respuesta” y se describe segun la polftica de seguridad descrita a continuacion.
Aunque lograr una seguridad de sistema requiere un procedimiento y no solo mecanismos o tecnologfas aislados, la descripcion se centrara en las zonas en las que la PFP puede complementar a los mecanismos de seguridad tradicionales para proporcionar una monitorizacion continua o intermitente para la estimacion de la integridad y la deteccion de intrusiones. Antes de describir el papel de la PFP, es importante mencionar que el procedimiento de seguridad implica varias etapas, incluyendo:
• Diseno. Seguir enfoques de diseno razonables y disenar los sistemas para facilitar la implementacion de la seguridad, reducir vulnerabilidades, implementar control de acceso, etc. Un ejemplo tfpico es disenar el sistema de tal manera que las funciones de seguridad se afslan del resto de la funcionalidad y en el que se implementan de manera inherente caractensticas de control de acceso.
• Desarrollo. Seguir las mejores practicas de desarrollo para producir productos sostenibles con vulnerabilidades reducidas.
• Despliegue. Asegurarse de que solo se despliegan modulos autorizados. Esto requiere fuertes enfoques de autenticacion y sin rechazo.
• Funcionamiento. Mantener un entorno seguro implementando un fuerte control de acceso y otras polfticas de seguridad.
• Monitorizacion. Estimar constantemente la integridad del sistema. PFP, antivirus y sistemas de deteccion de intrusion en red.
• Respuesta. Definir las polfticas y los procedimientos que deben seguirse cuando un ataque es satisfactorio. Deben desarrollarse polfticas teniendo en cuenta la criticidad de los sistemas y deben implementarse de manera estricta.
Esta seccion describe una arquitectura para integrar un monitor de PFP en una solucion de seguridad exhaustiva que incluye mecanismos de seguridad complementarios en los que las vulnerabilidades de una capa quedan cubiertas por la siguiente. Los enfoques y las tecnologfas incluidos en las diferentes capas incluyen: cifrado de datos en reposo, fuerte autenticacion, control de acceso, resistencia a manipulaciones indebidas, cortafuegos, entornos de pruebas, virtualizacion y proteccion ffsica. La arquitectura tambien proporciona un mecanismo para definir e implementar polfticas de seguridad para reaccionar frente a violaciones de integridad detectadas mediante PFP.
La arquitectura define una solucion de seguridad en capas en la que un monitor de PFP proporciona una ultima lmea de defensa detectando cuando un intruso consigue penetrar a traves de todos los demas mecanismos de defensa. La figura 27 muestra las diferentes capas 2700 en un enfoque de defensa en profundidad. Se pretende que las diferentes capas ralenticen a un adversario y hagan que sea progresivamente mas diffcil penetrar en una capa de
5
10
15
20
25
30
35
40
45
50
55
60
65
defensa sin que se detecte. En las capas exteriores estan los mecanismos de defensa externos, tales como cortafuegos de Internet, proteccion ffsica de los equipos y contrasenas y polfticas de seguridad (es decir, para prevenir ataques de ingeniena social). Las capas interiores corresponden a diferentes defensas que residen dentro del ordenador 2750 central. Comienzan con el control 2740 de acceso y cifrado de datos en reposo. Continuan con diferentes mecanismos de seguridad previstos para proteger las aplicaciones 2760 y el sistema 2770 operativo. En el nucleo 2780 hay controles para las operaciones de seguridad y kernel mas basicas.
La PFP puede monitorizar eficazmente la integridad de diferentes capas. A nivel 2780 de nucleo, la PFP puede estimar la integridad de operaciones de seguridad y kernel de las que dependen todos los demas mecanismos. Tambien puede expandirse para monitorizar la integridad de aplicaciones de nucleo en el sistema 2770 operativo, asf como la integridad de aplicaciones 2760 a nivel de usuario crfticas. Observese que la PFP puede monitorizar la integridad de todos los modulos que residen dentro del alcance del procesador, incluyendo modulos de antivirus y modulos de cifrado, tal como se muestra en la figura 28.
Integrar PFP en un enfoque de defensa en profundidad para la seguridad cibernetica permite una gestion mas rapida de posibles incidentes antes de que puedan alcanzar sus objetivos y provocar danos.
Las firmas de potencia de la ejecucion de otros modulos de seguridad, tales como cifrado y antivirus, se extraen y evaluan at en el tiempo de ejecucion. Desde el punto de vista de la PFP, las firmas de un modulo de kernel y un programa de antivirus se extraen de la misma manera y usando las mismas tecnicas.
Es importante observar que la PFP puede extenderse a cualquier otro dispositivo para monitorizar su integridad de ejecucion. Esto incluye dispositivos que pueden usarse para implementar diferentes capas de seguridad tales como cortafuegos, cierres de seguridad digital, etc.
La ultima etapa de ciberdefensa con PFP es definir las polfticas apropiadas para gestionar diferentes anomaftas detectadas mediante las operaciones de monitorizacion y estimacion. Dado que la reaccion apropiada frente a intrusiones satisfactorias depende de varios factores unicos para cada plataforma y aplicacion, no puede generalizarse la respuesta frente a diferentes intrusiones detectadas por el monitor de PFP. Por tanto, es necesario seguir una arquitectura que acepte e implemente diferentes definiciones de polfticas de seguridad que puedan ajustarse a diferentes sistemas al tiempo que se mantienen y se reutilizan las estructuras y los principios de funcionamiento basicos.
Red de monitor de PFP distribuida para monitorizar la dinamica y comportamiento del malware
Esta seccion describe el funcionamiento de una amplia red de nodos con capacidades de PFP que se despliegan a lo largo de diferentes regiones geograficas o logicas para monitorizar la propagacion de malware, detectar ataques dirigidos y descubrir las posibles intenciones de adversarios maliciosos. Este enfoque puede aplicarse para descubrir ataques remotos furtivos en zonas geograficas o logicas espedficas.
Una de las principales ventajas de usar PFP para esta aplicacion es su sigilo, que impide que adversarios detecten las propias actividades de monitorizacion, dandoles un falso sentido de subrepcion (creer que no se les ha detectado) y enganarles para que continuen con sus actividades, revelando intenciones y capacidades. Esta aplicacion de PFP es una potente herramienta para recopilar informacion.
Funcionamiento
La monitorizacion con sigilo se logra gracias a la pequena huella de PFP y a un impacto despreciable sobre la memoria y latencia en el sistema objetivo. La red distribuida de nodos de PFP se implementa usando las siguientes etapas: 1 2 3 4 5
1. Habilitar nodos representativos con PFP (equiparlos con un monitor de PFP y extraer firmas de confianza de sus componentes objetivo). El monitor puede estar montado en rack y con recursos, ya que los nodos objetivo solo actuan como senuelo.
2. Desplegar una red de los nodos habilitados con PFP en las zonas geograficas o logicas objetivo de interes.
3. Monitorizar cada nodo individualmente para detectar violaciones de integridad e intrusiones tal como se representa en la figura 29.
4. Enviar periodicamente los resultados de integridad a una ubicacion central para su registro y analisis.
5. En caso de una violacion de integridad, el informe debe incluir:
(a) una copia de los perfiles de potencia que experimentaron la violacion
5
10
15
20
25
30
35
40
45
50
55
60
65
(b) la secuencia ordenada de ejecucion de modulos no manipulados de manera indebida que se ejecuto antes de la violacion
(c) la secuencia ordenada de modulos que se ejecutan tras la violacion.
Esta aplicacion de PFP se representa en la figura 30. La figura muestra senuelos de PFP en diferentes redes geograficas. Sin embargo, es importante observar que la separacion de redes puede ser logica, como en diferentes secciones de la misma red, o sociopoltticas, como en redes para diferentes agencias gubernamentales o divisiones empresariales.
Los enlaces entre los senuelos y la ubicacion de analisis centralizada, representados en la figura 30 como lmeas discontinuas, pueden implementarse como una red separada (por ejemplo enlaces inalambricos dedicados) o realizarse usando redes de area ancha disponibles, tales como le red telefonica conmutada publica (PSTN) o Internet. En cualquier caso, deben colocarse fuertes mecanismos sin rechazo, encargados de proporcionar pruebas (autenticacion de alta garantfa) del origen y la integridad de los perfiles, para mantener la confiabilidad en el sistema en su conjunto.
Aplicacion de PFP al analisis de confianza de cadena de suministro
Subcontratar la produccion y fabricacion de dispositivos a fabricantes 3220 y plantas de fabricacion de semiconductores externos y de confianza abre la puerta a posibles manipulaciones indebidas e infracciones de seguridad. Incluso con proveedores de confianza, existe la posibilidad de que personal externo o disgustado intente alterar el funcionamiento y la funcionalidad de sistemas cnticos.
La PFP proporciona un mecanismo 3210 para detectar modificaciones no autorizadas y otras manipulaciones indebidas en software, firmware y hardware introducido por enlaces que no son de confianza en la cadena de suministro a lo largo de todo el ciclo de vida del sistema. La estimacion de integridad de nuevos envfos y dispositivos que no son de confianza usando PFP requiere las etapas mostradas en la figura 31. Se usa un generador 3110 de vector de entrada para proporcionar las entradas necesarias para la ejecucion del dispositivo objetivo en un entorno 3120 controlado durante el cual se recopilan 3130 perfiles de potencia. Los parametros de las caractensticas individuales del consumo de potencia se compensan 3140 antes de realizar la extraccion 3150 de caractensticas. Las caractensticas resultantes se comparan 3160 con firmas 3170 de referencia almacenadas y a partir de esta comparacion se obtiene el resultado de estimacion final.
Detectar la integridad de dispositivos digitales usando PFP no es un procedimiento destructivo y solo requiere una colaboracion minima por parte del dispositivo que esta evaluandose. Ademas, las medidas refinadas del consumo de potencia proporcionan visibilidad significativa de la situacion de ejecucion interna del dispositivo, haciendo que sea extremadamente diffcil que una modificacion pase desapercibida. Por ejemplo, la PFP puede detectar una manipulacion indebida que solo se activa en determinadas condiciones (tambien conocidas como bombas logicas y de tiempo) debido a la activacion parcial de la funcionalidad adicional o al flujo de ejecucion durante comprobaciones de estado. La capacidad de la PFP de detectar funcionalidad adicional o que falta no depende del proposito o las intenciones de las propias inserciones.
Otra ventaja de la PFP es que puede confiarse en una trayectoria de ejecucion espedfica verificada con PFP aunque no se desencadene actividad maliciosa. En otras palabras, si la PFP no detecta una desviacion significativa de las firmas, significa que no se ha producido ninguna manipulacion indebida o funcionalidad adicional en esa trayectoria de ejecucion particular.
Un elemento clave en la realizacion de analisis de confianza de cadena de suministro con PFP es ejecutar el dispositivo que no es de confianza en un entorno 3120 controlado. Este entorno controlado incluye entradas 3110 predefinidas que fuerzan una secuencia de estado espedfica y, para dispositivos programables, el software espedfico que va a ejecutarse. Para algunos sistemas puede ser necesario desarrollar andamiaje de soporte para controlar y aislar la ejecucion de componentes espedficos. Los vectores de entrada espedficos dependen de la funcionalidad del dispositivo o modulo de software y se espera que realicen las trayectorias de ejecucion cnticas para el funcionamiento del dispositivo. Se necesita usar los mismos vectores de entrada usados para extraer las firmas, para estimar la integridad de los dispositivos que no son de confianza.
Debido a ligeras variaciones de procedimiento durante la fabricacion, diferentes dispositivos mostraran diferentes caractensticas de consumo de potencia. Se necesita compensar 3140 estas variaciones en consumo de potencia antes de la extraccion 3150 de caractensticas para evitar estimaciones erroneas. Esta compensacion se realiza por medio de un filtro adaptativo tomas se modifican de manera dinamica para coincidir con la caractenstica espedfica de los perfiles de consumo de potencia. Este filtro adaptativo permite que el monitor de PFP se concentre en el consumo de potencia resultante de transiciones de bits en el registro de dispositivo durante la ejecucion y elimine diferencias en los perfiles debidas a variaciones de fabricacion.
El aspecto mas cntico para un analisis de confianza de cadena de suministro eficaz usando PFP es la disponibilidad
5
10
15
20
25
30
35
40
45
50
55
60
65
de firmas 3170 de referencia. Hay diferentes fuentes posibles para tales firmas tal como se representa en la figura 32. La mejor referencia se proporcionara por una implementacion 3230 de confianza identica (un patron de referencia). Sin embargo, en muchas ocasiones tal implementacion de confianza no esta disponible. En estos casos puede extraerse una firma de referencia usando metodos alternativos con diversos grados de error y confiabilidad. Por ejemplo, dos fuentes de referencia alternativas relativamente sencillas incluyen un implementacion 3250 anterior del dispositivo (una que se ha sometido a prueba en el tiempo) o una implementacion alternativa a partir de un proveedor 3260 diferente. En estos casos, las firmas se extraen a partir de la ejecucion de las implementaciones alternativas, reduciendo las posibilidades de dos modificaciones identicas por proveedores diferentes. Las firmas del primer enfoque pueden no detectar modificaciones no identificadas presentes en la version anterior. En el ultimo enfoque, un atacante puede crear una modificacion identica en ambas versiones a partir de los diferentes proveedores para evitar deteccion.
Usar un modelo 3240 de CAD para obtener las firmas requiere mas esfuerzo, pero puede realizarse de manera interna sin basarse en plantas de fabricacion de semiconductores externas. Con el fin de extraer las firmas usando un modelo de CAD es necesario simular la ejecucion del dispositivo usando vectores de entrada deterministas. Se necesita que el simulador sea preciso en cuanto al consumo de potencia para registrar el nivel de transferencia.
Gestion de derechos digitales y alquileres limitados de ejecucion
Otra aplicacion novedosa para PFF es la implementacion de derechos digitales y la creacion de alquiler limitado en cuanto al numero de ejecuciones para permitir alquileres basados en el numero de ejecuciones.
Este enfoque se implementa extrayendo firmas de la ejecucion de software protegido y monitorizando en el tiempo de ejecucion las huellas digitales de potencia para implementar la ejecucion exclusiva de modulos autorizados. Por ejemplo, puede licenciarse un sistema de software para incluir solo un conjunto de modulos funcionales con un subconjunto de los modulos reservados para un nivel de licencia superior. Las huellas digitales de todos los modulos se extraen antes de la liberacion. En el momento de la ejecucion un monitor de PFP hace coincidir la ejecucion de diferentes modulos con las licencias autorizadas. Cuando se ejecuta un modulo no licenciado, como resultado de una contrasena robada o una infraccion en la proteccion, el monitor de PFP puede informar a la agencia emisora sobre la violacion. Ademas, es posible habilitar un enfoque de alquiler limitado en cuanto al numero de ejecuciones de confianza para software protegido. En este caso, el monitor de PFP lleva la cuenta del numero de veces que se ha ejecutado el software licenciado e informa a la agencia emisora cuando el alquiler ha caducado.
Puede tomarse un enfoque similar para contenido multimedia licenciado. Usando un monitor de PFP, es posible detectar la reproduccion de archivos espedficos en reproductores multimedia conocidos usando PFP. En este caso, los datos multimedia protegidos ocupan el lugar de la entrada predeterminada durante la caracterizacion de PFP. Si se reproducen los mismos datos multimedia en el reproductor espedfico, las firmas de potencia coincidiran. Por tanto, puede usarse la PFP para detectar la reproduccion de datos multimedia licenciados no autorizados.
Prediccion de falla basada en PFP
Los componentes de hardware experimentan un proceso de envejecimiento inevitable, que se ve acelerado por el funcionamiento en entornos hostiles o cuando los sistemas funcionan con estres ambiental continuo. Este envejecimiento se ve reflejado en las caractensticas de consumo de potencia de la plataforma. Puede usarse la PFP para monitorizar no solo la correcta ejecucion de software sino tambien la integridad de las plataformas de hardware. Un monitor de PFP puede rastrear de manera continua las caractensticas de consumo de potencia del hardware y predecir fallas antes de que se produzcan realmente, dictando cuando debe sustituirse un sistema o elemento espedfico.
El rastreo de las caractensticas de consumo de potencia en PFP se implementa usando un filtro adaptativo. Es necesario compensar diferencias en el consumo de potencia con respecto a cuando se extraen las firmas o debidas a condiciones del entorno. El mismo mecanismo de rastreo puede usarse para monitorizar la situacion del hardware y comparar las caractensticas de consumo de potencia con patrones predeterminados captados en pruebas en laboratorio de los dispositivos. El procedimiento para identificar las caractensticas de falla se representa en la figura 36. En este procedimiento, puede lograrse un envejecimiento 3610 acelerado exponiendo el dispositivo objetivo a cambios de temperatura abruptos. El procedimiento de caracterizacion tiene lugar a intervalos, con una ronda de envejecimiento acelerado seguida por captacion 3620 de perfil durante la ejecucion de una rutina de prueba. Se recopilan los perfiles para su analisis posterior y se repite el procedimiento hasta que el dispositivo falla. Una vez que el dispositivo falla se examina el conjunto de perfiles para determinar las caractensticas espedficas que se muestran antes de la falla 3630. Se extraen las caractensticas de otros dispositivos similares para proporcionar diversidad estadfstica y aislar las caractensticas 3640 genericas.
Incorporacion de informacion de identificacion de modulo en la senalizacion de sincronizacion
La PFP requiere una sincronizacion apropiada con el software que esta ejecutandose con el fin de proporcionar una correcta estimacion. Hay dos niveles de sincronizacion en PFP: nivel de ciclo de reloj y nivel de rutina. El primero
5
10
15
20
25
30
35
40
45
50
55
60
65
puede lograrse facilmente rastreando los distintos ciclos en el consumo de potencia que se producen a la velocidad de ciclo de reloj o, para plataformas sencillas, analizando con sonda la propia senal de reloj. La segunda sincronizacion es mas diffcil de lograr y el procedimiento se facilita incorporando en la propia rutina un desencadenante, o identificador, que informa al monitor 3210 de PFP sobre la ejecucion de una rutina espedfica.
En esta seccion se presenta un mecanismo para incorporar una identificacion del nodo que esta ejecutandose en el mecanismo de desencadenamiento y senalizacion. Este mecanismo no solo ayuda a informar al monitor de PFP de que rutina espedfica esta a punto de ejecutarse, sino que tambien proporciona una senalizacion de sincronizacion robusta para una deteccion de anomaffas mas precisa y extraccion de firmas de comportamiento.
El objetivo final es proporcionar un codigo de identificacion para los diferentes modulos que estan caracterizandose que se inserta en los artefactos de sincronizacion y desencadenamiento para PFP. Hay dos enfoques principales para proporcionar senalizacion de sincronizacion e identificacion para PFP: 1) crear una senal ffsica adyacente, tal como se muestra en la figura 33, y 2) incorporar una senal en el propio consumo de potencia tal como se muestra en la figura 34. Para el primero, se escribe un codigo de identificacion binario en un registro 3324 de IO ffsico de un procesador 3320 antes de la ejecucion de la rutina 3322. Entonces se transmite 3335 el registro al monitor 3340 de PFP, que capta los perfiles 3315 de potencia del sensor 3310, de manera o bien en paralelo o bien en serie. La longitud del codigo y registro depende del numero de rutinas que se necesita monitorizar. En el sentido mas sencillo, puede usarse un registro de un unico bit, tal como un LED, para senalizar la ejecucion de la rutina objetivo. En el caso de una senalizacion ffsica separada el desencadenante se codifica como un numero binario en el registro de senalizacion, tal como se muestra en la figura 33.
El segundo enfoque requiere incorporar la senalizacion de sincronizacion en el propio consumo de potencia insertando una secuencia de instrucciones 3422 cuidadosamente elaborada que proporciona un patron de consumo de potencia distintivo. Este enfoque se representa en la figura 34. Las instrucciones en las rutinas de sincronizacion se eligen de tal manera que las transiciones de bits en sus palabras de codigo, direcciones y parametros proporcionan un numero espedfico de transiciones de bits que impulsan en ultima instancia el consumo de potencia y senalizan al monitor 3340 de PFP que una secuencia espedfica esta a punto de ejecutarse para captar el conjunto correcto de perfiles 3415 procedentes del sensor 3410. Mas transiciones de bits dan como resultado un drenaje de corriente mayor. Cuando se desarrolla la secuencia se necesita tener en cuenta la longitud y las caractensticas de la canalizacion. De manera similar al enfoque anterior, la longitud de la secuencia de instrucciones (codigo) depende del numero de rutinas cnticas que se necesita identificar. Creando diferentes patrones de consumo de potencia distintos, se elige la propia secuencia para proporcionar diferentes codigos de firmas usados para identificar diferentes modulos.
Es importante observar que la senalizacion de sincronizacion es un elemento requerido para una PFP eficaz, ya que permite concentrar los esfuerzos de estimacion en las secciones del codigo que son mas importantes. Incorporar un codigo de identificacion en las instalaciones de senalizacion facilita el procedimiento de estimacion, pero no es un requisito necesario. Esto se debe a que usar un unico desencadenante permitira al monitor de PFP captar el conjunto correcto de perfiles y pueden usarse tecnicas de clasificacion de senales para determinar que rutina espedfica se ejecuto o si no puede establecerse ninguna coincidencia fiable (una anomaffa).
Monitorizacion de PFP perfeccionada combinando senales de diferentes elementos de placa
Un monitor de PFP puede usar senales de diferentes elementos del sistema y combinarlas para proporcionar rendimiento y fiabilidad mejorados. Las fuentes de multiples senales incluyen multiples procesadores, coprocesadores, perifericos u otros elementos de uso especial introducidos con el unico proposito de potenciar la PFP (por ejemplo los registros de IO usados para el desencadenamiento).
Hay diferentes maneras de combinar senales a partir de diferentes fuentes en PFP. Uno de los enfoques principales incluye captar perfiles de potencia a partir de diferentes procesadores u otros circuitos digitales para realizar la estimacion de integridad en placas de multiples procesadores y multiples nucleos. Otro enfoque es monitorizar otros elementos de los sistemas (consumo de potencia u otros canales laterales y directos) para recopilar informacion de contexto adicional que va a usarse durante la estimacion de integridad. La informacion de contexto adicional puede usarse para mejorar la sincronizacion y facilitar la caracterizacion de comportamiento. La informacion de contexto puede generarse como producto de funcionamiento de sistema normal o introducirse de manera deliberada en el momento del diseno (por ejemplo los registros de IO usados para el desencadenamiento). En la figura 35 se representa una configuracion de muestra de un monitor de PFP que combina multiples senales.
Pueden captarse senales adicionales a partir de registros de IO de soporte directos, a partir del consumo de potencia de diferentes elementos o a partir de otros canales laterales tales como radiacion electromagnetica. Combinar senales de diferentes fuentes requiere un detector especialmente disenado que pueda soportar las diferentes caractensticas. Los mecanismos de combinacion espedficos dependen de la funcionalidad de sistema y la plataforma de soporte. Por ejemplo, en un procesador de multiples nucleos, pueden explorarse perfiles de potencia de cada nucleo con el fin de encontrar los perfiles correspondientes a una rutina objetivo. Otro ejemplo, en una radio definida por software, la activacion del amplificador de potencia (PA) puede detectarse monitorizando el
5
10
15
20
25
30
35
40
45
50
55
60
65
consumo de potencia y se produce cuando esta teniendo lugar una transmision de radio. La activacion del PA puede usarse como mecanismo desencadenante para las rutinas implicadas en la preparacion de los datos que van a transmitirse (observese que, en este caso, las rutinas se ejecutan antes de que se produzca el desencadenante).
Uso de firmas de malware para potenciar el rendimiento de PFP
Aunque la aplicacion principal de la PFP es la deteccion de anomalfas, hay importantes beneficios en el uso de informacion disponible a partir de malware conocido para mejorar el rendimiento de la estimacion. Cuando se identifica una nueva tendencia de malware, es posible extraer su firma de PFP y anadirla a la biblioteca de firmas conocidas. Estas firmas de malware pueden usarse para perfeccionar el rendimiento de la estimacion de integridad de PFP proporcionando deteccion basada en firma tradicional de malware instalado, de manera similar al software antivirus tradicional. Se necesitara hacer que el monitor conozca la naturaleza individual de cada firma (lista blanca y lista negra) con el fin de evitar evaluaciones incorrectas. Tambien pueden extraerse firmas de malware a partir de patrones de comportamiento en la ejecucion. Por ejemplo, determinados tipos de malware, tales como ataques por agotamiento, tienen patrones de ejecucion muy distintivos que pueden identificarse facilmente usando PFP.
El procedimiento de extraer firmas a partir de malware es similar al procedimiento de extraer firmas a partir de software de confianza, en el que los modulos objetivo se ejecutan repetidamente en un entorno controlado y se aplican tecnicas de procesamiento de senales diferentes a los perfiles de potencia resultantes para seleccionar las caractensticas con las mejores propiedades discriminatorias. Es importante observar que la caracterizacion de malware se facilita una vez que se ha identificado, aislado y ejecutado el malware en un entorno controlado.
Caracterizacion automatica y extraccion de firma
Con el fin de caracterizar eficazmente un nuevo sistema de software, o una nueva version de un sistema existente, es necesario tener herramientas para caracterizar automaticamente una referencia de confianza y extraer las firmas de PFP que identifican de manera unica la ejecucion de ese software espedfico. En un sentido, este procedimiento es similar a las pruebas automaticas porque requiere la ejecucion de modulos espedficos en condiciones controladas. Sin embargo, a diferencia de las pruebas automaticas, la caracterizacion de PFP solo se preocupa de “observar” varias instancias de ejecucion de diferentes modulos y no intenta evaluar ningun requisito o propiedad.
El proposito de esta seccion es describir un enfoque para facilitar la caracterizacion de sistemas complejos y arquitecturas de software y hacer que sea viable extraer la firma a partir de implementaciones realistas de sistemas ciberneticos de complejidad practica. Sin este enfoque automatico, se tardana demasiado en caracterizar y extraer las firmas unicas a partir de sistemas complejos (es decir, sistemas comerciales) para usarlas en la toma de huellas digitales de potencia.
El objetivo principal es automatizar el procedimiento de caracterizacion para los diferentes modulos usando un andamiaje similar a lo que se usa normalmente en las pruebas de software, asf como usando una variedad de analisis estadfsticos y procesamiento de senales para identificar las mejores caractensticas discriminatorias que forman las huellas digitales. El procedimiento comienza cuando se necesita caracterizar una nueva pila de software. Las herramientas necesarias para este procedimiento incluyen: descriptores de modulos cnticos, herramientas de procesamiento de senales para la extraccion de caractensticas, herramientas de diseno de detector, andamiaje para ejecucion de modulos (similar al andamiaje de pruebas), generadores de vectores de entrada, generacion de informe, y empaquetamiento de firmas. Con el fin de facilitar la comprension del enfoque, se proporciona una vista de alto nivel del procedimiento que describe los detalles y las interrelaciones entre los diferentes subsistemas. Las relaciones se representan en la figura 37.
• Los descriptores incluyen informacion requerida sobre los modulos cnticos, incluyendo identificadores unicos, dependencias, analisis de entradas (desglose de diferentes clases de entradas), modo de ejecucion (relacionado dinamicamente, prioridad, modulo de kernel, etc.).
• La informacion de los descriptores se usa para implementar los andamiajes para controlar la ejecucion aislada de los modulos objetivo. Los andamiajes permiten que el sistema introduzca valores deterministas como entradas para controlar la ejecucion de los modulos.
• La informacion en los descriptores sobre la funcionalidad y los diferentes tipos de entradas se usa para determinar un conjunto adecuado de vectores de entrada.
• Se realiza un analisis de cobertura para identificar las trayectorias de ejecucion que se han puesto en practica, produciendo una medida del nivel de proteccion para el sistema.
• Una vez cargado el sistema, el operario (que puede ser un sistema automatico) ejecuta los diferentes modulos con soporte de los andamiajes y proporcionando los vectores de entrada apropiados. Mientras estan ejecutandose los modulos, el monitor de PFP capta medidas del consumo de potencia.
5
10
15
20
25
30
35
40
45
50
55
60
65
• Entonces se procesan los perfiles de potencia captados por el monitor usando diferentes tecnicas de procesamiento de senales para extraer caractensticas discriminatorias. Hay un conjunto predefinido de caractensticas que van a extraerse para cada componente en diferentes campos y usando diferentes tecnicas.
• Tras captarse varios perfiles y analizarse las caractensticas respectivas, se realiza un analisis estadfstico para disenar detectores optimos para distinguir la actividad normal de anomalfas basandose en los requisitos espedficos para la aplicacion.
• Entonces se empaquetan juntos firmas y detectores para desplegarse junto con los monitores que estimaran la integridad de los sistemas objetivo.
Las siguientes secciones incluyen descripciones mas detalladas necesarias para implementar satisfactoriamente el enfoque descrito anteriormente.
Descriptores
Los descriptores contienen metainformacion sobre los modulos espedficos que van a caracterizarse. Se usan para desarrollar artefactos de andamiaje para aislar la ejecucion de modulos individuales y proporcionar un entorno controlado para poner en practica las diferentes trayectorias de ejecucion.
Se espera que los descriptores proporcionen en un lenguaje de marcado que leen facilmente personas y maquinas, tal como el lenguaje de marcado extensible (XML), pero el contenido, lenguaje y estructura dependeran de las herramientas espedficas usadas para automatizar el procedimiento de caracterizacion y pueden ser privados.
La informacion minima requerida que se necesita que este contenida en un descriptor de modulo para la caracterizacion de PFP incluye:
• Identificadores unicos para describir cada modulo. Los identificadores unicos deben poder leerse por personas y proporcionar la informacion necesaria para ubicar de manera unica el modulo en cuestion. Los elementos en la parte legible por personas incluye empresa, producto, clase, modulo y version.
• Dependencias. Las dependencias de software y hardware requeridas del modulo.
• Dependencias de estado. Los elementos del estado interno que afectan al comportamiento del modulo y que se necesita controlar para proporcionar una ejecucion consistente y determinista.
• Analisis de interfaz. Proporciona un desglose de las diferentes clases de entradas y las clases de entradas requeridas para poner en practica las diferentes trayectorias de ejecucion.
• Modo de ejecucion. Describe en que modo se ejecutara el modulo cuando se despliegue, es decir, estatico, para modulos conectados de manera estatica; dinamico, para modulos conectados de manera dinamica; kernel o modo protegido, para el modo de funcionamiento que adoptara el procesador cuando ejecute el modulo; y nivel de prioridad.
Generadores de vectores de entrada
La funcion de los generadores de vectores de entrada es similar a sus equivalentes en las pruebas de software, proporcionar las entradas apropiadas para forzar que el componente entre en una secuencia de estado espedfica que incluye las diferentes trayectorias de ejecucion. Sin embargo, a diferencia de las pruebas, el objetivo para los vectores de entrada de PFP no es encontrar errores de implementacion, sino simplemente poner en practica las diferentes trayectorias de ejecucion.
Dependiendo de la naturaleza del sistema objetivo, algunas veces sera necesario almacenar los vectores de entrada y distribuirlos junto con firmas para su utilizacion durante la estimacion (es decir, auditona de integridad). La decision de si mantener los vectores de entrada depende de la naturaleza de las caractensticas seleccionadas y de si pueden eliminarse perfiles debidos a entradas aleatorias.
Los vectores de entrada pueden generarse usando diferentes tecnicas, incluyendo enfoques basados en busquedas (busqueda aleatoria, ascenso de colinas, algoritmo genetico, etc.), exploracion parcial, programacion lineal y enfoques aleatorios y pseudoaleatorios.
Sin embargo, la identificacion real de vectores de prueba eficaces sigue siendo un enfoque ampliamente heunstico que depende de la funcionalidad espedfica del modulo objetivo y su campo de entrada, asf como la informacion disponible sobre la estructura del modulo. Habra algunos casos en los que se necesite conocimiento espedfico de la estructura de ejecucion del modulo (que trayectorias de ejecucion existen y las secuencias de estado necesarias para ejecutarlas) para encontrar vectores de entrada significativos dentro de un plazo de tiempo razonable. Ademas,
5
10
15
20
25
30
35
40
45
50
55
60
65
algunas veces puede requerirse la entrada directa de un analisis por parte de un experto para proporcionar directrices a las herramientas automaticas con el fin de identificar y generar vectores de prueba eficaces, significativos.
Un elemento clave de la generacion de vectores de prueba para PFP es que el objetivo es ejecutar las diferentes trayectorias que se espera que se produzcan una vez desplegado el dispositivo, no encontrar errores. Es un enfoque relativamente peligroso, porque puede alcanzarse un estado de ejecucion valido que no se ha caracterizado y, por tanto, se indica como una anomalfa. La ventaja es que reduce el espacio de busqueda a solo unos pocos estados. Para los sistemas mas cnticos, el espacio de ejecucion es relativamente pequeno y los estados de ejecucion previstos son un subconjunto.
Informe de cobertura
Usando la informacion procedente del generador de vectores de entrada es posible generar un informe de cobertura basado en las trayectorias de ejecucion atravesadas por los vectores de entrada espedficos. Usando informacion estructural de los modulos objetivo, es posible calcular una medida de cobertura de PFP como porcentaje de las trayectorias existentes en el modulo y las atravesadas usando los vectores de entrada generados. Este informe solo es una indicacion de la cobertura esperada para PFP. Todavfa se necesita completar el informe identificando el numero de trayectorias de ejecucion que proporcionaron realmente firmas de PFP aceptables.
El informe se proporciona al final para proporcionar a los usuarios la informacion sobre los modulos espedficos que pueden monitorizarse usando PFP.
Andamiaje
Con los descriptores y la pila de software, se realiza el procedimiento de andamiaje para aislar la ejecucion de los modulos cnticos y sus diferentes partes. Esto es similar al procedimiento de andamiaje para pruebas automaticas. El proposito del andamiaje es ejecutar los modulos objetivo en un entorno controlado similar al que se encontrara una vez desplegado el sistema completo con el fin de recopilar los perfiles de potencia durante su ejecucion. Dado que se espera que los modulos tengan diferentes trayectorias de ejecucion que dependen de las entradas, se necesita que los andamiajes faciliten el uso de diferentes entradas.
Para el caso en el que se necesitan entradas ffsicas, se necesita que los andamiajes proporcionen las interfaces ffsicas apropiadas para proporcionar las entradas necesarias.
Esto es un procedimiento parcialmente manual y depende de las caractensticas de los modulos objetivo. Afortunadamente, la mayor parte de los elementos necesarios para los andamiajes se solapan en cuanto a la funcionalidad con los andamiajes tradicionales para pruebas automaticas (por ejemplo, pruebas de unidad, integracion y sistema), anadiendo solo un poco de trabajo adicional.
Es importante observar que para implementaciones que no son de software, el andamiaje tendra requisitos similares, aunque la implementacion final sera diferente. En estos casos, los modulos estaran limitados por las secciones que pueden ponerse en practica de manera independiente. Para sistemas altamente integrados, esto puede representar un desaffo.
Procesamiento de senales y extraccion de caractensticas
Con los perfiles de potencia correspondientes a la ejecucion de los diferentes modulos y sus trayectorias de ejecucion individuales captados usando el sensor de potencia/corriente instantanea, se necesita extraer las caractensticas discriminatorias que identifican de manera unica la ejecucion del modulo objetivo. El conjunto exacto de tecnicas y analisis de senales necesario para identificar firmas practicas depende de las caractensticas espedficas de los modulos objetivo.
Simplemente se describe un marco para la ejecucion en paralelo de varias tecnicas de extraccion de caractensticas y procesamiento de senales diferentes para reducir el tiempo global requerido para caracterizar un modulo objetivo.
No hay ningun procedimiento eficaz conocido para determinar las caractensticas discriminatorias optimas para un problema dado. Sin embargo, hay varias tecnicas que pueden evaluarse y a partir de las cuales se seleccionan las mejores caractensticas discriminatorias. El conjunto de caractensticas discriminatorias que se extraen se determina usando una combinacion de enfoques heunsticos y experiencia. Entre estas caractensticas se incluyen: correlacion de dominio de tiempo, distancia euclidiana, analisis cicloestacionario, analisis de frecuencia, etc. El procedimiento para seleccionar las mejores caractensticas discriminatorias incluye calcular todas las caractensticas diferentes en el conjunto en paralelo y clasificarlas basandose en varianza dentro de la clase. La distancia de Mahalanobis es una medida de muestra para una evaluacion de caractensticas de este tipo.
Los procedimientos de seleccion de caractensticas y diseno de detector, explicados a continuacion, estan
5
10
15
20
25
30
35
40
45
50
55
60
65
estrechamente relacionados, ya que las propiedades estad^sticas de los resultados de extraccion de caractensticas determinan el analisis necesario para determinar un umbral de deteccion optimo.
Analisis estad^stico y diseno de detector
Se realiza un analisis estadfstico con las diferentes caractensticas obtenidas a partir de los perfiles de potencia captados durante instancias de ejecucion independientes del modulo objetivo. El objetivo del analisis estad^stico es seleccionar las caractensticas con las mejores calidades discriminatorias y determinar los niveles de umbral, o areas dentro de las cuales se considerara que un conjunto observado de caractensticas se ha generado por el modulo objetivo (un detector).
En PFP, que es un enfoque de deteccion de anomaffas, la probabilidad de falsa alarma (PFA) es una medida de funcionamiento importante que determina el rendimiento del sistema. La PFA se define como la probabilidad de que una instancia de ejecucion normal del modulo objetivo presente un fallo fuera del area de aceptacion y se clasifique como una anomaffa. Se necesita disenar un detector de PFP para minimizar la PFA al tiempo que se maximiza la probabilidad de identificar correctamente el modulo objetivo. Este es un problema de pruebas de hipotesis clasico y puede aplicarse el criterio de Neyman-Pearson para detectar un umbral. Sin embargo, hay varios otros enfoques que pueden aplicarse.
Dadas suficientes muestras, puede lograrse una PFA arbitraria en PFP. Sin embargo, en sistemas practicos esto no es factible y debe determinarse un nivel de PFA practico, finito. La PFA que puede tolerarse depende del modulo espedfico y la naturaleza de la aplicacion en la que se espera que funcione.
De manera ideal, se necesita que firmas de diferentes instancias de la misma ejecucion se encuentren dentro de la distancia para sensibilidad minima calculada durante la caracterizacion de plataforma. En el caso de que no pueda lograrse esta caractenstica deseada, hay varias maneras de hacer que la PFP proporcione estimaciones precisas. Un enfoque sencillo es calcular el promedio de varios perfiles para desprenderse de algo de ruido.
Empaquetamiento y cifrado de firmas
Una vez que se han caracterizado los modulos objetivo, se empaquetan las firmas resultantes, tecnicas de extraccion de caractensticas, y umbrales para su despliegue junto con los dispositivos. El mecanismo de empaquetamiento y entrega depende de las caractensticas del dispositivo y la aplicacion. Se necesita almacenar las firmas completas extrafdas usando las caractensticas seleccionadas y pasarlas a los monitores. Por ejemplo, en el caso de correlacion de dominio de tiempo simple, se necesita almacenar el vector completo.
Con el fin de proteger las firmas en reposo o durante el transporte, es necesario cifrarlas para evitar dar a posibles atacantes una referencia exacta de las firmas que esta buscando el monitor. Este cifrado puede realizarse usando una variedad de mecanismos para cifrado con clave privada o publica. Sin embargo, es importante observar que aunque un posible atacante adquiera las firmas, todavfa sera muy diffcil hacer coincidir las firmas perfectamente al tiempo que se lleva a cabo un comportamiento malicioso.
Actualizacion de firmas segura
Cundo se actualiza un sistema desplegado que esta monitorizandose usando PFP, tambien es necesario actualizar las firmas de PFP de una manera fiable y segura con el fin de mantener una estimacion de integridad eficaz. Esta es una etapa cntica, ya que la confiabilidad de la estimacion depende de la gestion apropiada de firmas. Para que este procedimiento de actualizacion sea seguro, es necesario verificar la integridad y autenticidad de la firma. En esta seccion se describe el mecanismo necesario para proporcionar una actualizacion de firmas de PFP segura.
Para monitores de PFP ampliamente desplegados, las firmas deben distribuirse junto con otras actualizaciones de software. Para monitores de PFP centralizados, pueden entregarse actualizaciones por separado de las actualizaciones de software. El principal desaffo en la actualizacion de firmas de PFP es la autenticacion (es decir, asegurarse de que el remitente es una entidad autorizada y de que la propia firma es correcta y no se ha manipulado de manera indebida o alterado de ninguna manera). El desaffo no es tan diffcil en el caso de monitores de PFP centralizados, en los que pueden distribuirse firmas usando medios ffsicos o redes de confianza y en los que pueden realizarse preparaciones previamente a la transferencia de firmas confidenciales.
En el caso de monitores de PFP ampliamente distribuidos, en los que el intercambio de firmas no puede realizarse usando medios ffsicos o redes de confianza alternativas, se necesita realizar la actualizacion de firmas junto con la actualizacion de software real. En este caso, hay varios puntos vulnerables que puede aprovechar un atacante con suficiente conocimiento del sistema de PFP. Por ejemplo, si no se autentica de manera apropiada, el procedimiento de actualizacion puede alterarse mediante un ataque de intermediario.
Procedimiento y operacion de actualizacion de firmas segura.
5
10
15
20
25
30
35
40
45
50
55
60
Enfoques conocidos para una distribucion de contenido segura usados comunmente en la programacion por el aire y distribucion de actualizaciones de software pueden adaptarse para actualizaciones de firmas de PFP. La actualizacion de firmas segura puede considerarse desde dos puntos de vista diferentes: el originador de firma autentica y el monitor de PFP. Desde el lado de la generacion de firma, es necesario proporcionar informacion de autenticacion eficaz junto con la firma y cifrar los fragmentos de firma con un esquema de clave rotatorio.
Otras tecnicas que pueden aplicarse para permitir una actualizacion de firma segura incluyen:
• Aleatorizar tanto el tampon de muestra como los elementos de firma
• Cifrado con clave publica o simetrica
• Cambiar la clave de cifrado que va a usarse para desaleatorizar la firma y perfiles segun una secuencia conocida (secuencia de PN) que actualiza su mdice tras cada actualizacion de firma.
Proteccion contra ataques de canal lateral
La PFP usa los mismos principios para la estimacion de integridad que aprovechan los ataques de canal lateral maliciosos. Por tanto, con el fin de impedir que posibles adversarios aprovechen la infraestructura de PFP para realizar ataques de canal lateral, es necesario proteger los perfiles proporcionados por el sensor limitando el acceso a los mismos. Esto es especialmente importante cuando los perfiles de potencia se transmiten usando una conexion inalambrica. Esta seccion describe un mecanismo para proteger el acceso no autorizado a perfiles de potencia, de los que puede hacerse un mal uso en ataques de canal lateral.
Funcionamiento
La proteccion para el acceso a perfiles se logra cifrando o aleatorizando los perfiles usando una clave compartida entre el sensor de PFP y el monitor de PFP. Desde este punto de vista, hay dos modos basicos de funcionamiento para PFP: monitor incorporado (sensor y digitalizador) y monitor externo.
En funcionamiento incorporado, se cifran o aleatorizan perfiles con una clave privada fuerte (cifrado con clave simetrica). Realizar esta etapa de cifrado es especialmente importante cuando los perfiles de potencia se transmiten de manera inalambrica para su procesamiento externo. El procedimiento de cifrado se describe en la figura 38. La salida analogica del procesador 3810 se monitoriza por el sensor 3820 y se convierte en un convertidor 3830 de analogico a digital y se alimenta al elemento 3850 de cifrado. La salida analogica del procesador 3810 que se monitoriza por el sensor 3820 y se convierte por el convertidor 3830 de analogico a digital puede ponerse en una memoria 3840 intermedia y despues alimentarse al elemento 3850 de cifrado. El elemento 3850 de cifrado puede ocultar la informacion apropiada de atacantes de canal lateral de varias maneras, incluyendo cifrado en bloques de las muestras de bits o aleatorizandolas (en efecto un elemento de cifrado de transposicion en el que la clave es una permutacion).
Para monitores externos, la conexion ffsica que da acceso a los perfiles se proporciona mediante un conmutador digital que requiere una contrasena. En este caso, los puntos de contacto para el monitor externo se proporcionan por un chip de gestion de potencia en la plataforma. El chip de gestion de potencia puede ser tan sencillo como un regulador de tension, pero para la mayona de los procesadores comerciales usados en telefonos inteligentes modernos, los chips de gestion de potencia son mucho mas complejos. Cuando se conecta el monitor apropiado, el gestor de potencia habilitado para PFP lee la contrasena del monitor externo una vez conectado y despues redirige la corriente de fuente de alimentacion para que pase a traves del sensor externo, lo que permite que el monitor externo capte el drenaje de corriente instantanea o consumo de potencia. La figura 39 muestra una representacion grafica de este procedimiento.
Es importante observar que las soluciones descritas en este caso no pretenden impedir que atacantes lleven a cabo ataques de canal lateral contra los sistemas objetivo. En vez de eso, pretenden impedir que se aprovechen instalaciones de monitor de PFP para ataques de canal lateral. Al implementarse estas medidas, un posible atacante tendra que realizar las mismas modificaciones de hardware a una placa con monitorizacion de PFP que a una sin ella.
Aunque se ha descrito la invencion en terminos de realizaciones preferidas, el alcance de la invencion se define por las reivindicaciones adjuntas.

Claims (9)

  1. 5
    10
    15
    20
    25
    30
  2. 2.
  3. 3. 35
  4. 4.
    40 5.
  5. 6.
    45
  6. 7.
    50
    55
    60
    REIVINDICACIONES
    Metodo para realizar una estimacion de integridad en tiempo real de ejecucion de una rutina en una plataforma de procesamiento informatico, que comprende:
    (a) para un codigo de confianza de la rutina:
    (i) monitorizar la ejecucion de la rutina rastreando el consumo de potencia de un procesador (205, 206, 2620) tomando muestras durante la ejecucion de la rutina;
    (ii) usar una tecnica de caracterizacion de plataforma que comprende ademas detectar secciones de los perfiles que muestran la mayor dependencia de transiciones de estado en el procesador (205, 206, 2620); y usar dichas secciones para seleccionar caractensticas que portan la mayor parte de la informacion;
    (iii) obtener a partir de una caracterizacion de caractensticas seleccionadas de la rutina contenida en dichas secciones un conjunto de huellas digitales de potencia de confianza de la rutina;
    (iv) establecer un umbral para una tasa de falsas alarmas espedfica basandose en la distribucion de probabilidad de distancia a partir de una firma compuesta por dichas huellas digitales de confianza; y
    (b) para un codigo que no es de confianza de la rutina:
    (i) comparar una biblioteca de dichas huellas digitales de confianza con caractensticas extrafdas de perfiles a partir de la ejecucion de codigo que no es de confianza;
    (ii) determinar una distancia entre dichas huellas digitales y las caractensticas extrafdas; y
    (iii) notificar una excepcion si la distancia supera el umbral.
    Metodo segun la reivindicacion 1, que comprende ademas sincronizar dicho perfil con la ejecucion de la rutina incorporando informacion de identificacion de modulo en la rutina.
    Metodo segun la reivindicacion 2, en el que la informacion de identificacion de modulo es un codigo de identificacion binario escrito en un registro (3324) de IO antes de la ejecucion de la rutina.
    Metodo segun la reivindicacion 2, en el que la informacion de identificacion de modulo es una secuencia de instrucciones que produce un patron de consumo de potencia distintivo.
    Metodo segun la reivindicacion 1, en el que el perfil del consumo de potencia combina senales de una pluralidad de circuitos de procesador.
    Metodo segun la reivindicacion 1, que comprende ademas potenciar la calidad de dicha notificacion de excepcion anadiendo a dicha biblioteca firmas de huella digital de malware conocidos.
    Sistema para realizar una estimacion de integridad en tiempo real de ejecucion de una rutina en una plataforma (205, 206, 2620) de procesamiento informatico, que comprende:
    medios para monitorizar la ejecucion de la rutina rastreando el consumo de potencia de un procesador (205, 206, 2620) tomando muestras durante la ejecucion de la rutina;
    medios para usar una tecnica de caracterizacion de plataforma que comprenden ademas
    medios para detectar secciones de los perfiles que muestran la mayor dependencia de transiciones de estado en el procesador (205, 206, 2620);
    medios para usar dichas secciones para seleccionar caractensticas que portan la mayor parte de la informacion;
    medios para obtener a partir de una caracterizacion de las caractensticas seleccionadas contenidas en dichas secciones un conjunto de huellas digitales de potencia de confianza de la rutina;
    medios para establecer un umbral para una tasa de falsas alarmas espedfica basandose en la distribucion de probabilidad de distancia a partir de una firma compuesta por dichas huellas digitales de confianza;
    5
    10
  7. 8.
  8. 9. 15
  9. 10.
    20 11. 12.
    25
    medios para comparar una biblioteca de dichas huellas digitales de confianza con caractensticas ex^das de los perfiles a partir de la ejecucion de codigo que no es de confianza
    medios para determinar una distancia entre dichas huellas digitales y las caractensticas extrafdas; y
    medios para notificar una excepcion si la distancia supera el umbral;
    en el que el sistema se configura para llevar a cabo automaticamente un metodo segun una de las reivindicaciones anteriores.
    Sistema segun la reivindicacion 7, que comprende ademas informacion de identificacion de modulo incorporada en la rutina.
    Sistema segun la reivindicacion 8, en el que la informacion de identificacion de modulo es un codigo de identificacion binario escrito en un registro (3324) de IO antes de la ejecucion de la rutina.
    Sistema segun la reivindicacion 8, en el que la informacion de identificacion de modulo es una secuencia de instrucciones que produce un patron de consumo de potencia distintivo.
    Sistema segun la reivindicacion 7, en el que los medios (110) para rastrear el consumo de potencia combinan senales de una pluralidad de circuitos de procesador.
    Sistema segun la reivindicacion 7, que comprende ademas medios para potenciar la calidad de dicha notificacion de excepcion anadiendo a dicha biblioteca firmas de huella digital de malware conocidos.
ES11838845.3T 2010-11-03 2011-11-03 uso de toma de huellas digitales de potencia (pfp) para monitorizar la integridad y potenciar la seguridad de sistemas informáticos Active ES2628820T3 (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US409670P 2002-09-10
US40967010P 2010-11-03 2010-11-03
US201161475713P 2011-04-15 2011-04-15
US201161475713P 2011-04-15
PCT/US2011/059244 WO2012061663A2 (en) 2010-11-03 2011-11-03 Using power fingerprinting (pfp) to monitor the integrity and enhance security of computer based systems

Publications (1)

Publication Number Publication Date
ES2628820T3 true ES2628820T3 (es) 2017-08-04

Family

ID=46025123

Family Applications (1)

Application Number Title Priority Date Filing Date
ES11838845.3T Active ES2628820T3 (es) 2010-11-03 2011-11-03 uso de toma de huellas digitales de potencia (pfp) para monitorizar la integridad y potenciar la seguridad de sistemas informáticos

Country Status (15)

Country Link
US (5) US9262632B2 (es)
EP (1) EP2635992B1 (es)
JP (1) JP2014501957A (es)
KR (1) KR20130118335A (es)
CN (1) CN103370716B (es)
AU (1) AU2011323210A1 (es)
BR (1) BR112013011038A2 (es)
CA (1) CA2816970A1 (es)
ES (1) ES2628820T3 (es)
IL (1) IL226078A0 (es)
MX (1) MX2013005074A (es)
PL (1) PL2635992T4 (es)
RU (1) RU2013125468A (es)
SG (2) SG10201509052WA (es)
WO (1) WO2012061663A2 (es)

Families Citing this family (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012024818A1 (de) * 2012-03-06 2013-09-12 Conti Temic Microelectronic Gmbh Verfahren zur Verbesserung der funktionalen Sicherheit und Steigerung der Verfügbarkeit eines elektronischen Regelungssystems sowie ein elektronisches Regelungssystem
US8874926B1 (en) * 2012-03-08 2014-10-28 Sandia Corporation Increasing security in inter-chip communication
CN102663285B (zh) * 2012-03-21 2015-06-10 北京奇虎科技有限公司 一种apk病毒特征码的提取方法及装置
US9349011B2 (en) * 2012-05-16 2016-05-24 Fisher-Rosemount Systems, Inc. Methods and apparatus to identify a degradation of integrity of a process control system
US9197653B2 (en) * 2012-06-05 2015-11-24 Empire Technology Development Llc Cross-user correlation for detecting server-side multi-target intrusion
CN102694820B (zh) * 2012-06-13 2015-01-21 华为技术有限公司 签名规则的处理方法、服务器及入侵防御系统
US20120317421A1 (en) * 2012-06-19 2012-12-13 Concurix Corporation Fingerprinting Executable Code
US10445530B1 (en) * 2012-07-23 2019-10-15 National Technology & Engineering Solutions Of Sandia, Llc Hardware intrusion detection system
US9014370B2 (en) * 2012-12-09 2015-04-21 Sandisk Technologies Inc. High performance hardware-based execution unit for performing C2 block cipher encryption/decryption
WO2014144857A2 (en) 2013-03-15 2014-09-18 Power Fingerprinting Inc. Systems, methods, and apparatus to enhance the integrity assessment when using power fingerprinting systems for computer-based systems
DE102013214398A1 (de) 2013-07-23 2015-01-29 Siemens Aktiengesellschaft Überwachung von redundanten Komponenten
US9280355B2 (en) * 2013-08-29 2016-03-08 International Business Machines Corporation System with manual actuator for asserting physical presence across multiple compute nodes
KR101480904B1 (ko) * 2013-09-25 2015-01-13 한국전자통신연구원 부채널 분석을 위한 파형 선택 장치 및 방법
US9239918B2 (en) * 2013-10-02 2016-01-19 Andes Technology Corporation Method and apparatus for software-hardware authentication of electronic apparatus
US9934119B2 (en) 2013-10-22 2018-04-03 Cisco Technology, Inc. Rogue hardware detection through power monitoring
WO2015089346A1 (en) 2013-12-13 2015-06-18 Battelle Memorial Institute Electronic component classification
US9684787B2 (en) * 2014-04-08 2017-06-20 Qualcomm Incorporated Method and system for inferring application states by performing behavioral analysis operations in a mobile device
JP6421436B2 (ja) * 2014-04-11 2018-11-14 富士ゼロックス株式会社 不正通信検知装置及びプログラム
DE102014207810A1 (de) 2014-04-25 2015-10-29 Bayerische Motoren Werke Aktiengesellschaft Verfahren und Vorrichtung zum Betreiben eines Kraftfahrzeugs
WO2015177783A1 (en) * 2014-05-18 2015-11-26 B.G. Negev Technologies And Applications Ltd., At Ben-Gurion University System and method for detecting activities within a bootstrap of a computerized device based on monitoring of power consumption
US9774614B2 (en) * 2014-06-24 2017-09-26 Qualcomm Incorporated Methods and systems for side channel analysis detection and protection
US9509707B2 (en) * 2014-06-24 2016-11-29 Qualcomm Incorporated Methods and systems for thwarting side channel attacks
US10572368B2 (en) * 2014-11-24 2020-02-25 Micro Focus Llc Application management based on data correlations
CN107169190B (zh) * 2015-01-13 2020-09-01 成都锐开云科技有限公司 一种寄生参数提取方法
JP2018517203A (ja) * 2015-04-16 2018-06-28 テンポラル ディフェンス システムズ, エルエルシー ポストプロダクション外部ハードウェアアタッチメントの自己検出のための方法およびシステム
US9923908B2 (en) 2015-04-29 2018-03-20 International Business Machines Corporation Data protection in a networked computing environment
US9462013B1 (en) 2015-04-29 2016-10-04 International Business Machines Corporation Managing security breaches in a networked computing environment
US9954870B2 (en) 2015-04-29 2018-04-24 International Business Machines Corporation System conversion in a networked computing environment
US10872140B2 (en) 2015-05-22 2020-12-22 Power Fingerprinting Inc. Methods and apparatuses for validating supply chain for electronic devices using side-channel information in a signature analysis
US9268938B1 (en) 2015-05-22 2016-02-23 Power Fingerprinting Inc. Systems, methods, and apparatuses for intrusion detection and analytics using power characteristics such as side-channel information collection
US9904785B2 (en) * 2015-06-02 2018-02-27 Rockwell Automation Technologies, Inc. Active response security system for industrial control infrastructure
US9558053B1 (en) * 2015-06-26 2017-01-31 Amazon Technologies, Inc. Computer systems monitoring using beat frequency analysis
US10289819B2 (en) * 2015-08-12 2019-05-14 Kryptowire LLC Active authentication of users
GB2544452B (en) * 2015-08-26 2019-09-11 Advanced Risc Mach Ltd Data processing systems
US20170067961A1 (en) * 2015-09-04 2017-03-09 NewAE Technology Inc. Method and Apparatus for Detection of Counterfeit, Defective or Damaged Devices
DE102015222968A1 (de) * 2015-11-20 2017-05-24 Robert Bosch Gmbh Betriebsverfahren für eine elektronische Vorrichtung und elektronische Vorrichtung
US10754947B2 (en) * 2015-11-30 2020-08-25 International Business Machines Corporation System, method and apparatus for usable code-level statistical analysis with applications in malware detection
WO2017096244A1 (en) * 2015-12-02 2017-06-08 Power Fingerprinting Inc. Methods and apparatuses for validating supply chain for electronic devices using side-channel information in a signature analysis
SE542513C2 (en) * 2015-12-15 2020-05-26 Saab Ab A method for authenticating software
US10078364B2 (en) * 2016-01-14 2018-09-18 Hcl Technologies Limited System and method for optimizing power consumption of one or more devices
EP3208789B1 (en) * 2016-02-22 2020-08-05 Eshard Method of protecting a circuit against a side-channel analysis
IL244557A0 (en) 2016-03-13 2016-07-31 Cyber Sepio Systems Ltd A system and method for protecting a computer system from USB-related weaknesses such as cyber attacks
US10345800B2 (en) 2016-03-30 2019-07-09 3D Signals Ltd. Acoustic monitoring of machinery
US10805316B2 (en) 2016-05-31 2020-10-13 University Of South Florida Systems and methods for detecting attacks in big data systems
US10097572B1 (en) 2016-06-07 2018-10-09 EMC IP Holding Company LLC Security for network computing environment based on power consumption of network devices
US10859609B2 (en) * 2016-07-06 2020-12-08 Power Fingerprinting Inc. Methods and apparatuses for characteristic management with side-channel signature analysis
US20180013779A1 (en) * 2016-07-06 2018-01-11 Power Fingerprinting Inc. Methods and apparatuses for integrity validation of remote devices using side-channel information in a power signature analysis
KR20190019208A (ko) 2016-07-15 2019-02-26 더 리젠츠 오브 더 유니버시티 오브 미시건 전압 핑거프링팅을 통한 손상된 전자 제어 유닛 식별 방법
US10467402B2 (en) * 2016-08-23 2019-11-05 Lenovo (Singapore) Pte. Ltd. Systems and methods for authentication based on electrical characteristic information
US10419931B1 (en) 2016-08-25 2019-09-17 EMC IP Holding Company LLC Security for network computing environment using centralized security system
US10839076B2 (en) 2016-12-21 2020-11-17 3D Signals Ltd. Detection of cyber machinery attacks
US10783248B2 (en) * 2017-01-18 2020-09-22 New York University Determining an aspect of behavior of an embedded device such as, for example, detecting unauthorized modifications of the code and/or behavior of an embedded device
JP6708781B2 (ja) * 2017-03-03 2020-06-10 日本電信電話株式会社 選択装置、選択方法及び選択プログラム
US20180268172A1 (en) * 2017-03-14 2018-09-20 Massachusetts Institute Of Technology Electronic device authentication system
US10789550B2 (en) 2017-04-13 2020-09-29 Battelle Memorial Institute System and method for generating test vectors
US10685118B2 (en) * 2017-05-15 2020-06-16 Ut-Battelle, Llc System and method for monitoring power consumption to detect malware
DE102017208547A1 (de) * 2017-05-19 2018-11-22 Robert Bosch Gmbh Verfahren zum Schutz eines Netzwerkes vor einem Cyberangriff
US11119127B2 (en) 2017-08-01 2021-09-14 Carlos Moreno Method and apparatus for non-intrusive program tracing with bandwidth reduction for embedded computing systems
IL272204B2 (en) 2017-08-03 2024-02-01 Cyber Sepio Systems Ltd A system and method for securing a computerized system against threats introduced by USB devices
IL254573A0 (en) * 2017-09-18 2017-11-30 Cyber Sepio Systems Ltd Install a method and computer software product for securing a local network from threats posed by foreign or hostile accessories
DE102017214057A1 (de) 2017-08-11 2019-02-14 Siemens Aktiengesellschaft Verfahren zum Prüfen der Integrität von Systemkomponenten eines Systems und Anordnung zur Durchführung des Verfahrens
US10963567B2 (en) * 2017-10-12 2021-03-30 Microsoft Technology Licensing, Llc Speculative side-channel attack mitigations
KR102036707B1 (ko) * 2017-10-31 2019-10-25 국방과학연구소 자산과 임무간 의존성 기반의 임무 영향도 분석 방법
WO2019099929A1 (en) * 2017-11-17 2019-05-23 AVAST Software s.r.o. Using a machine learning model in quantized steps for malware detection
IL256108B (en) 2017-12-04 2021-02-28 Elbit Systems Ltd A system and method for identifying the state of use and originality of a product
JP6655595B2 (ja) * 2017-12-21 2020-02-26 三菱日立パワーシステムズ株式会社 単位空間生成装置、プラント診断システム、単位空間生成方法、プラント診断方法、及びプログラム
US11263307B2 (en) * 2018-01-08 2022-03-01 Digital Immunity Llc Systems and methods for detecting and mitigating code injection attacks
EP3897021B1 (en) * 2018-04-04 2023-11-22 ZTE Corporation Techniques to manage integrity protection
GB201812240D0 (en) * 2018-07-27 2018-09-12 Ibm Device, system and method for detection of compromise through automated power analysis
US11487872B2 (en) 2018-12-07 2022-11-01 Hewlett Packard Enterprise Development Lp Detection of hardware security attacks
US10916259B2 (en) 2019-01-06 2021-02-09 3D Signals Ltd. Extracting overall equipment effectiveness by analysis of a vibro-acoustic signal
US11205018B2 (en) 2019-02-14 2021-12-21 International Business Machines Corporation Device identification via chip manufacturing related fingerprints
DE102019107576A1 (de) * 2019-03-25 2020-10-01 Phoenix Contact Gmbh & Co. Kg Kombinatorik von digitalen Ausgangsdaten zur autonomen Ermittlung von Prozesszyklen und von einzelnen Prozessschritten
US10996255B2 (en) 2019-03-26 2021-05-04 Ford Global Technologies, Llc Voltage-characteristic-based vehicle identification number
US11277425B2 (en) * 2019-04-16 2022-03-15 International Business Machines Corporation Anomaly and mode inference from time series data
US11182400B2 (en) 2019-05-23 2021-11-23 International Business Machines Corporation Anomaly comparison across multiple assets and time-scales
US11074345B2 (en) 2019-05-30 2021-07-27 Ut-Battelle, Llc Rootkit detection system
US11316851B2 (en) 2019-06-19 2022-04-26 EMC IP Holding Company LLC Security for network environment using trust scoring based on power consumption of devices within network
US20200411047A1 (en) * 2019-06-25 2020-12-31 International Business Machines Corporation Detecting electronic system modification
EP3772007A1 (en) 2019-07-30 2021-02-03 Continental Teves AG & Co. OHG Physical execution monitor
US11271957B2 (en) 2019-07-30 2022-03-08 International Business Machines Corporation Contextual anomaly detection across assets
US11730674B1 (en) * 2019-08-21 2023-08-22 Verily Life Sciences Llc Devices for tracking opening and closing of containers
US11651194B2 (en) * 2019-11-27 2023-05-16 Nvidia Corp. Layout parasitics and device parameter prediction using graph neural networks
KR102331885B1 (ko) * 2020-02-19 2021-11-26 세종대학교산학협력단 커패시터 소자 미세전류 충전량을 이용한 저장장치 쓰기 과정에서 비정상 데이터 흐름 검출 방법 및 이를 위한 매체
TWI706625B (zh) * 2020-04-09 2020-10-01 義隆電子股份有限公司 感應式電子辨識裝置及其供電補償電路
US11507704B2 (en) 2020-04-23 2022-11-22 Nvidia Corp. Current flattening circuit for protection against power side channel attacks
US11283349B2 (en) 2020-04-23 2022-03-22 Nvidia Corp. Techniques to improve current regulator capability to protect the secured circuit from power side channel attack
CN111487493B (zh) * 2020-04-28 2022-07-19 深圳力维智联技术有限公司 用于电力系统设备的数据采集装置及系统
CN111797401B (zh) * 2020-07-08 2023-12-29 深信服科技股份有限公司 一种攻击检测参数获取方法、装置、设备及可读存储介质
CN112000972B (zh) * 2020-08-21 2024-04-19 中国人民解放军陆军工程大学 加密设备安全评估方法
CN114383834B (zh) * 2020-09-14 2023-06-30 中国海洋大学 一种海洋工程结构微小损伤判定方法
US11875235B2 (en) * 2020-09-17 2024-01-16 Intel Corporation Machine learning voltage fingerprinting for ground truth and controlled message error for message and ECU mapping
CN112767145B (zh) * 2020-11-23 2023-07-07 中国联合网络通信集团有限公司 参数确定方法、数字货币信息加密方法、服务器和介质
US11941155B2 (en) 2021-03-15 2024-03-26 EMC IP Holding Company LLC Secure data management in a network computing environment
US11556637B2 (en) * 2021-04-05 2023-01-17 Bank Of America Corporation Information security system and method for anomaly and security threat detection
CN114397876A (zh) * 2022-01-24 2022-04-26 中国信息通信研究院 用于评估域控制器性能的方法及装置、电子设备、存储介质

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5339445A (en) * 1992-11-16 1994-08-16 Harris Corporation Method of autonomously reducing power consumption in a computer sytem by compiling a history of power consumption
WO1996018934A1 (en) * 1994-12-14 1996-06-20 Green Logic Inc. A further improved system logic controller for digital computers
FI20011947A (fi) * 2001-10-05 2003-04-06 Nokia Corp Menetelmä suorittimen toiminnan ohjaamiseksi ja suoritin
US7093147B2 (en) * 2003-04-25 2006-08-15 Hewlett-Packard Development Company, L.P. Dynamically selecting processor cores for overall power efficiency
WO2006028558A1 (en) 2004-09-03 2006-03-16 Virgina Tech Intellectual Properties, Inc. Detecting software attacks by monitoring electric power consumption patterns
US7515094B2 (en) 2004-10-18 2009-04-07 Nokomis, Inc. Advanced electromagnetic location of electronic equipment
US7613935B2 (en) * 2005-07-29 2009-11-03 Hewlett-Packard Development Company, L.P. Power monitoring for processor module
ATE428146T1 (de) * 2006-03-17 2009-04-15 Fraunhofer Ges Forschung Vorrichtung zur wasserzeichenmarkierung, software zur implementierung einer elektronischen schaltung mit einem wasserzeichen sowie verfahren und vorrichtung zur wasserzeichendetektion
US7983860B2 (en) * 2006-11-10 2011-07-19 Ocz Technology Group, Inc. Method and system for monitoring power consumption of a computer component
US20080091975A1 (en) 2006-10-17 2008-04-17 Konstantin Kladko Method and system for side-channel testing a computing device and for improving resistance of a computing device to side-channel attacks
US7464005B1 (en) 2007-06-29 2008-12-09 The Curators Of The University Of Missouri Electromagnetic emissions stimulation and detection system
US8245295B2 (en) 2007-07-10 2012-08-14 Samsung Electronics Co., Ltd. Apparatus and method for detection of malicious program using program behavior
US8713680B2 (en) 2007-07-10 2014-04-29 Samsung Electronics Co., Ltd. Method and apparatus for modeling computer program behaviour for behavioural detection of malicious program
US8069490B2 (en) 2007-10-16 2011-11-29 Oracle America, Inc. Detecting counterfeit electronic components using EMI telemetric fingerprints
CN201170900Y (zh) * 2007-12-19 2008-12-24 田一鸣 电力系统安全作业智能监护装置
US8457913B2 (en) 2008-06-04 2013-06-04 Oracle America, Inc. Computer system with integrated electromagnetic-interference detectors
US7869977B2 (en) 2008-08-08 2011-01-11 Oracle America, Inc. Using multiple antennas to characterize a computer system based on electromagnetic signals
WO2010044069A1 (en) 2008-10-16 2010-04-22 Koninklijke Philips Electronics N.V. Method, device and system for identifying electronic products
US8643539B2 (en) 2008-11-19 2014-02-04 Nokomis, Inc. Advance manufacturing monitoring and diagnostic tool
US8255341B2 (en) 2008-12-19 2012-08-28 Oracle America, Inc. Analyzing a target electromagnetic signal radiating from a computer system
US8242793B2 (en) 2009-03-17 2012-08-14 International Business Machines Corporation Electromagnetic profiling to validate electronic device authenticity
US8332945B2 (en) 2009-06-05 2012-12-11 The Regents Of The University Of Michigan System and method for detecting energy consumption anomalies and mobile malware variants
WO2011047035A2 (en) 2009-10-14 2011-04-21 Chaologix, Inc. High utilization universal logic array with variable circuit topology and logistic map circuit to realize a variety of logic gates with constant power signatures
US8537050B2 (en) 2009-10-23 2013-09-17 Nokomis, Inc. Identification and analysis of source emissions through harmonic phase comparison
JP5354611B2 (ja) 2010-07-29 2013-11-27 独立行政法人産業技術総合研究所 電子回路部品の真贋判定方法
US8825823B2 (en) 2011-01-06 2014-09-02 Nokomis, Inc System and method for physically detecting, identifying, diagnosing and geolocating electronic devices connectable to a network
US10475754B2 (en) 2011-03-02 2019-11-12 Nokomis, Inc. System and method for physically detecting counterfeit electronics
US9059189B2 (en) 2011-03-02 2015-06-16 Nokomis, Inc Integrated circuit with electromagnetic energy anomaly detection and processing

Also Published As

Publication number Publication date
KR20130118335A (ko) 2013-10-29
US9558350B2 (en) 2017-01-31
US9558349B2 (en) 2017-01-31
SG10201509052WA (en) 2015-12-30
US20130318607A1 (en) 2013-11-28
SG190090A1 (en) 2013-06-28
MX2013005074A (es) 2013-08-29
JP2014501957A (ja) 2014-01-23
WO2012061663A2 (en) 2012-05-10
IL226078A0 (en) 2013-06-27
US20160117503A1 (en) 2016-04-28
WO2012061663A3 (en) 2012-07-19
US20170310482A1 (en) 2017-10-26
US10423207B2 (en) 2019-09-24
EP2635992A2 (en) 2013-09-11
PL2635992T4 (pl) 2017-09-29
US20160117502A1 (en) 2016-04-28
EP2635992B1 (en) 2017-02-22
CN103370716B (zh) 2016-10-19
AU2011323210A1 (en) 2013-05-23
CN103370716A (zh) 2013-10-23
RU2013125468A (ru) 2014-12-10
BR112013011038A2 (pt) 2016-08-23
CA2816970A1 (en) 2012-05-10
US9262632B2 (en) 2016-02-16
PL2635992T3 (pl) 2017-08-31
EP2635992A4 (en) 2015-08-05
US20200103949A1 (en) 2020-04-02

Similar Documents

Publication Publication Date Title
ES2628820T3 (es) uso de toma de huellas digitales de potencia (pfp) para monitorizar la integridad y potenciar la seguridad de sistemas informáticos
US9886583B2 (en) Systems, methods, and apparatus to enhance the integrity assessment when using power fingerprinting systems for computer-based systems
Wurm et al. Introduction to cyber-physical system security: A cross-layer perspective
CN101473333B (zh) 入侵检测的方法和系统
CN105409164A (zh) 通过使用硬件资源来检测网络业务中的矛盾的根套件检测
CN105229612A (zh) 使用基于硬件的微体系结构数据的异常程序执行的检测
Sravani et al. Attacks on cryptosystems implemented via VLSI: A review
Zhao et al. Applying chaos theory for runtime hardware Trojan monitoring and detection
Siddiqui et al. Establishing cyber resilience in embedded systems for securing next-generation critical infrastructure
Halak Cist: A threat modelling approach for hardware supply chain security
Kumar et al. A comprehensive survey on hardware-assisted malware analysis and primitive techniques
Zhao et al. Applying chaos theory for runtime hardware Trojan detection
Msgna Anatomy of attacks on IoT systems: review of attacks, impacts and countermeasures
Karabacak et al. Remote detection of unauthorized activity via spectral analysis
Higgins et al. IoT Hardware‐Based Security: A Generalized Review of Threats and Countermeasures
Krishnamurthy et al. Multi-Modal Side Channel Data Driven Golden-Free Detection of Software and Firmware Trojans
Johansson Tamper Protection for Cryptographic Hardware: A survey and analysis of state-of-the-art tamper protection for communication devices handling cryptographic keys
Gandhi et al. Classification of Vulnerabilities in Cyber Physical Systems: Approach, Security and Challenges
Mohammed et al. InTrust-IoT: Intelligent Ecosystem based on Power Profiling of Trusted device (s) in IoT for Hardware Trojan Detection
Mustafa et al. Ata-based security assessment of smart building automation systems
Rohini et al. Enhancing Security and Trust of IoT Devices–Internet of Secured Things (IoST)
Milosevic et al. Security challenges for hardware designers of mobile systems
Molesini et al. Risk Analysis and Deployment Security Issues in a Multi-Agent System