seguridad de sistemas embebidos para el ámbito regulado - alejandro bertello gustavo escudero
Post on 04-Jul-2015
326 Views
Preview:
DESCRIPTION
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