seguridad de sistemas embebidos para el ámbito regulado - alejandro bertello gustavo escudero

Post on 04-Jul-2015

326 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Palestra proferida por Alejandro Bertello.e Gustavo Escudero no I Workshop Interamericano de Segurança de Software e Hardware em Metrologia Legal

TRANSCRIPT

Seguridad de Sistemas Embebidos para el Ámbito Regulado

Ing. Alejandro Bertello. Ing. Gustavo Escudero

Instituto Nacional de Tecnología Industrial – República Argentina.

Centro de Investigación y Desarrollo en Telecomunicaciones, Electrónica e Informática.

Unidad Técnica Informática.

I Workshop Interamericano de Segurança de

Software e Hardware em Metrologia Legal

Áreas de actividad

• Desarrollo de sistemas embebidos.

• Sistemas de medición y control.

• Validación de sistemas embebidos para el ámbito regulado.

• Redes industriales y conectividad de sistemas embebidos.

• Investigación y aplicación de nuevas tecnologías.

Ámbito regulado:

• Colaboración con organismos de regulación en el

desarrollo de las normativas técnicas.

• Laboratorio de verificación y validación de equipos

electrónicos para la aprobación de modelo.

Sistemas Embebidos de aplicación en el ámbito regulado.

En el área de puntos de venta fiscal:

Sistemas Embebidos de aplicación en el ámbito regulado.

• Generación de las especificaciones técnicas de la RG4104 sus

modificatorias y complementarias.

• Generación de las especificaciones técnicas para la nueva

generación de Controladores Fiscales. RG3561.

• Único laboratorio reconocido por la AFIP para la realización de

ensayos de aprobación de modelo.

• 18 empresas acreditadas.

• Mas de 140 modelos aprobados.

• Mas de 300.000 puntos de venta instalados.

En el área de taximetros:

Sistemas Embebidos de aplicación en el ámbito regulado.

• Único laboratorio reconocido por la Secretaría de Comercio para

la realización de ensayos de aprobación de modelo.

• 4 empresas acreditadas

• 5 modelos aprobados.

Sistemas Embebidos

Es complejo determinar los mecanismos de

seguridad a implementar.

Es difícil cuantificar la seguridad.

Es difícil verificar la seguridad.

Se desconoce la totalidad de los posibles futuros

ataques a los que podría estar sometido el dispositivo.

Seguridad

Diseño conjunto: dispositivo - mecanismos de seguridad.

Mecanismos de seguridad

para garantizar la integridad

Seguridad en Sistemas Embebidos – Ámbito Regulado

Almacenamiento

Intercambio

Manipulación

F i r m w a r e

• Es fundamental establecer mecanismos para:

Seguridad en Sistemas Embebidos

Preservar la integridad de la información almacenada y

transmitida.

Preservar la integridad del Firmware.

Facilitar la verificación de la integridad del firmware y

de la información por parte de los organismos de

control.

• En nuestros laboratorios se verifica que las funciones de

interés legal se ajusten a la regulación correspondiente.

Integridad de la información

Mecanismos de seguridad

Guarda

Extracción

Transporte

Objetivo:

Evitar la modificación accidental o intencional de la

información.

Requisito mínimo:

Deberá quedar evidencia de que ocurrió alguna

modificación.

Guarda o almacenamiento

Recubrimientos con resina epoxy.

Guarda o almacenamiento – mecanismos físicos

Recubrimientos con resina epoxy.

Guarda o almacenamiento – mecanismos físicos

Recubrimientos con resina epoxy. Manipulaciones

Guarda o almacenamiento – mecanismos físicos

Sellos o precintos.

Guarda o almacenamiento – mecanismos físicos

Barreras de protección.

Guarda o almacenamiento – mecanismos físicos

Barreras de protección.

Guarda o almacenamiento – mecanismos físicos

Barreras de protección.

Guarda o almacenamiento – mecanismos físicos

Aún teniendo el precinto

colocado, el equipo se

puede abrir y acceder a los

componentes electrónicos

críticos.

Esta falla implica un

rediseño de la carcasa

del equipo

Dispositivos con características anti-manipulación:

Memorias

Microcontroladores

Chips criptográficos

Características:

Mecanismos de autenticación.

Detección de distintos tipos de ataques.

Ante la detección de un ataque:

Evitan el acceso a los datos.

Destruyen la información.

Destruyen la funcionalidad (inoperantes).

Guarda o almacenamiento – mecanismos físicos

Campos verificadores

Guarda o almacenamiento – mecanismos lógicos

Campos verificadoresCampos verificadores

Información

Información

Información

Información

Autodiagnóstico Inicial ( power up )

Verifica integridad de los parámetros

criptográficos críticos.

Verifica integridad de los parámetros de

sistema.

Verifica la integridad del firmware.

Guarda o almacenamiento – mecanismos lógicos

Si el autodiagnóstico falla, el dispositivo entra en estado de error.

Autenticación:

Herramienta para evitar el acceso no autorizado a:

Información almacenada.

Parámetros de calibración.

Configuración del dispositivo.

Actualización del firmware.

Guarda o almacenamiento – mecanismos lógicos

Autenticación

Basada en identidad:

Requiere que el operador sea individualmente identificado y

se autentica su identidad.

Basada en Rol: Se autentica la asunción de uno o mas roles por parte del

operador pero no su identidad individual.

Autenticación

Verificación:

• Algo conocido: password, personal identification number (PIN),

clave criptográfica, etc.

• Posesión de un objeto: token criptográfico, smartcard, etc.

• Características biométricas: huellas digitales, patrón ocular, etc.

Autenticación - Usos

Autenticación

Password

Protocolo Canal Seguro

Exportación y transmisión a puntos remotos

Objetivo:

Garantizar que la entidad receptora reciba la

información sin adulteraciones y con la certeza de

su origen.

Requisito mínimo:

Deberá ser detectable cualquier adulteración o

modificación del origen de la información.

Firma Digital

HASH Bits de Salida

MD5 128

SHA1 160

SHA224 224

SHA256 256

SHA512 512

SHA3 224/256/384/512

Es improbable que cambie la información y no cambie el

digesto.

Es improbable que se obtenga el mismo digesto para dos

bloques de información diferentes.

Es muy difícil generar un bloque de información para

obtener un determinado digesto.Digital Signature Algorithm (DSA)

RSA Digital Signature Algorithm

Elliptic Curve Digital Signature Algorithm (ECDSA)

National Institute of Standards and Technology (NIST)

FIPS PUB 186-4 Digital Signature Standard (DSS)

Normativa

Algoritmos de firma digitalDSA

RSA

ECDSA

FIPS PUB 140-2 Security Requirements for Cryptographic Modules

• Especificación de módulo criptográfico.

• Puertos e interfaces.

• Roles, servicios y autenticación.

• Modelo de estados finitos.

• Seguridad física.

• Entorno de operación.

• Manejo de claves criptográficas.

• EMI / EMC.

• Self tests.

• Aseguramiento del diseño.

• Mitigación de otros ataques.

4 niveles de seguridad.

Contempla:

La tarea de nuestro laboratorio en el ambito regulado consiste en:

• Colaborar con los organismos de regulación en el desarrollo de las

normativas técnicas.

• Verificación y validación de equipos electrónicos para la aprobación de

modelo.

• A requerimiento de alguna autoridad actuar como peritos, verificando

que el equipo comercializado sea idéntico tanto físicamente como en

prestaciones y comportamiento al homologado .

• Asistir técnicamente a los fabricantes de equipos acerca de las

metodologías, tecnologías, arquitecturas, etc. que les permitan

desarrollar productos acordes a las normativas.

Integridad del Firmware

Las prestaciones y comportamiento de un equipo electrónico

embebido, en gran medida, son determinados por su firmware.

Integridad del Firmware

Que entendemos por Firmware?

El glosario estándar de terminología del software del IEEE, Std 610.12-1990, define el firmware como :

"La combinación de instrucciones de un dispositivo de hardware e instrucciones y datos de computadora

que residen como software de solo lectura en ese dispositivo".

Notas: (1) este término es a veces usado para referirse solamente al dispositivo de hardware o solamente a

las instrucciones o datos de computadora, pero estos significados están desaprobados.

(2) la confusión rodeando este término ha llevado a alguno a sugerir que éste debe ser totalmente evitado

Por lo cual debemos:

establecer métodos, procedimientos, especificaciones para

asegurar que el firmware con el cual un equipo fue aprobado

en el laboratorio sea el mismo con el que sale dicho modelo

al mercado.

dichos métodos, procedimientos, especificaciones deben

facilitar también la detección de las posibles adulteraciones

del firmware.

Integridad del Firmware

Integridad del Firmware

El firmware se almacenaba en :

En una ROM

Luego UV- EPROM

Luego las EEPROM

Y otras veces en RAM con batería

La actualizacion/modificación fuera de fábrica

era:

Casi nula(cambio y resoldado de chip).

Requería equipamiento específico para borrado

y regrabado de las memorias.

Requería que el dispositivo fuera diseñado con

la posibilidad de realizar los procedimientos de

borrado y regrabado.

Se requería conocer el protocolo propietario

para cargar un nuevo programa en la RAM del

dispositivo, entre otras dificultades.

En general no se preveía la necesidad de

actualización del firmware de los equipos.

Se requería conocimientos técnicos medios a

altos.

Los logros de ingeniería inversa, hackeos se

divulgaban en ambientes técnicos casi

exclusivamente y con relativa lentitud.

Antes

Actualmente:

El firmware se almacena en memorias tipo

flash.

Ya sean internas o externas.

Los microcontroladores con memorias flash,

incluyen interfaces estandarizadas para

actualizar el contenido de dichas memorias.

En general estas interfaces son fáciles de

conectar al puerto serie de cualquier PC.

Pros :

Facilidad para actualizar el firmware

La información para realizar la interfaz

deactualización está disponible en las hojas de

datos de los microprocesadores

Cantidad de herramientas de desarrollo gratuitas

que permiten acceder a las interfaces de cada uno

de los fabricantes.

Contras :

Cualquier aficionado tiene posibilidades de alterar

un firmware sin protección e incluso con ella.

Los ataques exitosos se propagan rápidamente por

los sitios de internet, proveyendo la información

necesaria para replicar el ataque/modificación.

No siempre el ataque surge por el interés

comercial, a veces sólo se trata del desafío por si

mismo.

Los ataques siempre causan algún tipo de daño.

Integridad del Firmware

Integridad del Firmware

En general, las recomendaciones, los estádares y especificaciones emanados

del

•TCG (Trusted Computing Group)

•WELMEC (Western European Legal Metrology Cooperation)

•NIST - FIPS(National Institute of Standards and Technology -

tienen como herramienta principal el uso de datos y código firmados digitalmente

con esquemas de clave asimétrica.

Con ello en vista y considerando las condiciones del campo regulado de

Argentina, hemos adoptado dos estrategias para aseguramiento de la integridad

del firmware.

Firma digital del Firmware

Carga y ejecución segura del Firmware(secure boot)

Firma digital del Firmware

Esquema sencillo

Se firma la imagen del Firmware completo a cargar en la memoria del

dispositivo

Requiere que la capacidad de memoria soporte el firmware más la firma.

No requiere que el dispositivo tenga capacidad para realizar operaciones

criptográficas

Para detectar adulteraciones es necesario extraer(leer) el firmware+firma y

verificar en forma externa la firma.

Los test de homologación se realizan en modalidad caja negra( no

requieren revisión del código fuente).

Integridad del Firmware

Firma digital del Firmware

Integridad del Firmware

Sist. Emb. bajo test

Firmware validado

aprobación

Algoritmo de Firma

Clave Privada Lab.

Firmware validado

Firma Lab.Linea de Producción

Sist. Embebido Aprobado para Campo regulado

MercadoINTI - UTI Fabricante

Firma digital del Firmware

Integridad del Firmware

Sist. Emb. a peritar

Algoritmo

de verficacion

de Firma

Clave Pública Lab.

Firmware

Firma Lab.

INTI - UTI

Extrac. Firmware

+

Firma Lab.

Verificación

Exitosa?

Sist. valido

Sist. adulterado

SI

NO

Integridad del Firmware

Carga y ejecución segura del Firmware (Secure Boot).

PROS

Permite que el sistema embebido autovalide su firmware en cada

inicio.

Facilita la verificación de las actualizaciones del Firmware.

Facilita las actualizaciones seguras en forma remota.

Facilita la detección de código corrompido o adulterado.

Dificulta la copia y/o fabricación ilegal (clonado).

Integridad del Firmware

Carga y ejecución segura del Firmware (Secure Boot).

CONTRAS

Impone requerimientos de Software:

Modularización:

• Pre-boot

• Boot1• …

• BootN• Aplicación metrológica

• Aplicación no metrológica

Impone requerimientos de Hardware:

Memoria ROM para alojar al pre-boot/boot

Memoria de trabajo con varios niveles de protección

procesadores con:

• funciones criptográficas

• protecciones antitampering

o uso de ICs con funciones crptográficas y

antitampering

Los test de homologación deben incluir la revisión del código fuente de los bloques de software de

interés metrológico/legal.

Carga y ejecución segura del Firmware (Secure Boot).

ROOTS of TRUST

Según el TCG(Trusted Computer Group):

Componente (de hardware o de software) que siempre se comporta de

manera esperada.

Conjunto de funciones y datos inmutables que caracterizan el sistema

Integridad del Firmware

Carga y ejecución segura del Firmware (Secure Boot).

ROOTS of TRUST

Root of trust for measurement (RTM)

Conjunto de funciones inherentemente confiables utilizadas para calcular

los párametros que reflejan la integridad del sistema.

Root of trust for storage (RTS)

Conjunto de funciones para almacenar en forma segura los datos y/o

claves necesarias para un boot seguro.

Root of trust for reporting (RTR)Conjunto de funciones para acceder en forma segura a la información guardada en las

RTSs.

Physically Unclonable Function (PUF)

Variaciones individuales de los circuitos inducidas durante el proceso de fabricación

generando así una RoT en el hardware.(Dependiente de la estabilidad

tensión/temperatura y el envejecimiento de los componentes)

Integridad del Firmware

Integridad del Firmware

ROM segura

pre-boot

Bootloader

Seguro

Memoria Programa(interna o externa)

Firmware Firma Lab. Firma Fabr.+ + (Opc. )

Procesador

Criptográfico

(interno o externo)

TPM

Carga y ejecución segura del Firmware (Secure Boot).

Firma Fabr.

Integridad del Firmware

Carga y ejecución segura del Firmware (Secure Boot)

Iniciliazación y puesta en marcha.(Chain of Trust)

ROM segura

pre-boot

Boot1

BootN

Firmware/Aplicación

Procesador

Criptográfico

(interno o externo)

TPM

Memoria

No Volatil

protegida

Ctrl. Ejecución

Ctrl. Ejecución

Boot

Calc. RoTs

Calc. RoTs

Calc. RoTs

Carga y ejecución segura del Firmware (Secure Boot).

Integridad del Firmware

Procesador

Criptográfico

(interno o externo)

TPM

Root of trust

Bootloader

Codigo

bootloader

=

Error

Detiene proc.

Carga y/o cede

control de ejecución

al bootloader

PRE_BOOT

si

no

Carga y ejecución segura del Firmware (Secure Boot).

Integridad del Firmware

Procesador

Criptográfico

(interno o externo)

TPM

=

Error

Detiene proc.

Carga y cede control

de ejecución al

Firmware

Bootloader

si

no

Certif. Lab.

Certif Fabr.

(Opcional)

Firmware Firma Lab.

Firma Fabr.

+ +

(Opc.

Recapitulación

Los sistemas embebidos para el ámbito regulado producen y manipulan

datos de interés metrológico legal

Dichos datos deben ser de alto grado de confiabilidad, rastreable su origen

y no repudiables.

La manipulación de los datos depende en gran medida del firmware del

dispositivo.

Es imprescindible, entonces, proteger la integridad de dicho firmware.

La seguridad debe ser tomada en cuenta desde las primeras etapas de

diseño

La inversión en seguridad también redundará en un producto más

confiable.

Muchas Gracias.

top related