microprocesador integrado a prueba de manipulaciones

8

Desarrollo hardware incorporado comercialmente, utilizando Microchip dsPIC o procesadores similares.

El firmware que tengo a veces es muy complejo y costoso, y debe ser a prueba de hackers y manipulaciones en el hardware. Todas las protecciones de software básicas están ahí, pero por $ 500 - $ 1,000 el código hexadecimal se puede recuperar a través de varios servicios de sitios web extranjeros, incluso si hay fusibles de seguridad (evitando solo alteraciones no determinadas). Después de eso, son solo unos pocos meses y el código se puede realizar mediante ingeniería inversa con el desensamblador, como IDA Pro.

¿Cómo puedo proteger el diseño del hardware un poco mejor (sin necesidad de protección militar)?

¿Me puede recomendar otros procesadores no legibles, o tal vez una adición a mi diseño existente?

Todo lo que necesito es ocultar algunas funciones, no necesito todo el producto. Además, no es suficiente ocultar datos en una memoria externa segura, necesito ocultar un programa.

Actualización (basada en muchos comentarios): tengo dsPIC y 4 años de desarrollo a tiempo completo en el firmware (tomaría un gran esfuerzo hacerlo desde cero de otra manera):

1) Este producto ya se vende y los hackers tienen acceso si quieren

2) El NUEVO FIRMWARE aún no se ha lanzado. Contiene un código de 5kB que nadie de toda la competencia tiene todavía. Necesito evitar que alguien lo tenga fácilmente durante unos 12 meses después del lanzamiento

3) No hay presupuesto para ir muy exótico o complicado, quizás $ 10 adicionales por producto, más o menos

4) ¿Una solución como la tarjeta SIM agregada podría hacer el truco?

5) La función para ocultar hace un cálculo muy complicado, no estándar, para descifrar / cifrar 16 bytes. Los procesos conocidos no pueden hackearlo en 1 año, se necesita la función, por eso quiero ocultarlo.

6) No me importa si es públicamente visible, cuando la solicitud se envía al hardware 'oculto', o si la respuesta es públicamente visible. Solo necesita ocultar el proceso que lo calcula, y no puede estar dentro del procesador dsPIC.

EmbeddedGuy
fuente
1
user1831847: eso realmente no funciona, vea la pregunta y $ 1,000 (lo he presenciado yo mismo con mi propio código seguro)
EmbeddedGuy
2
Entonces, como saben, no es tan fácil, incluso en microprocesadores que son 'seguros'. Si le das suficientes recursos, casi cualquier cosa es resquebrajable. Al menos si contrata a un tercero, siempre puede demandarlo si sale mal;)
Jim Dearden
2
@Jim Dearden 2da regla, la seguridad por oscuridad no es seguridad. Sin embargo, contratar a un especialista sería una buena idea. Chico. La seguridad nunca es absoluta, siempre es un factor de tiempo y dinero, ¿puede darnos una pista sobre qué nivel de protección está buscando en estos términos?
RoyC
2
Si no tienes algo como la autenticación en línea, creo que eres prácticamente SOL. Como usted dice, es lo suficientemente barato como para romper protecciones simples (pueden eliminar la encapsulación y usar varias técnicas para deshabilitar, evitar o volver a cablear las protecciones si nada funciona más fácilmente). Puedes probar el SE de seguridad. Si su producto es bueno, se copiará, e incluso si pudiera asegurar el firmware, ¿qué tan difícil sería realmente reescribirlo? Gran parte del costo está en determinar las especificaciones, etc., que la copiadora no necesita hacer.
Spehro Pefhany
1
¿Qué pasa con los diversos sistemas de tarjetas inteligentes?
pjc50

Respuestas:

1

Hay empresas especializadas en eso. Atmel era uno de ellos, también seguro por dentro. Tienen hardware especial que puede satisfacer sus necesidades. Pero si quiere que realmente funcione, prepárese para asegurar toda la cadena desde su almacén asic hasta su instalación de producción con bóvedas y protectores para los códigos de seguridad. De lo contrario, solo ganará $ 1k por intentar $ 10k, mientras que en realidad necesita $ 1M al menos.

Gregory Kornblum
fuente
Escucho lo que quieres decir. $ 1M está bien si el producto se vende por $ 10M / año, que no es mi caso. Pero el hardware seguro sin bóvedas y protectores podría ser suficiente. Solo necesito un pequeño tipo de CPU para esta seguridad de cálculo adicional.
EmbeddedGuy
Entonces despiden a los guardias :)
Gregory Kornblum
Según su actualización, llame dentro de seguro.
Gregory Kornblum
Gregory: Lo siento, no entiendo qué quieres decir con "seguridad interna"
EmbeddedGuy
1
insidesecure.com
Christian
1

Los investigadores del MIT desarrollaron una forma de codificar matemáticamente el código, pero manteniendo la salida igual. La única forma en que se ejecuta la función es si le da la clave correcta, que podría descargarse de vez en cuando.

Esto puede ser útil para usted: http://spectrum.ieee.org/computing/software/scrambled-code-keeps-software-safe

Pico de voltaje
fuente
Si bien aún no es una solución práctica, gracias por una lectura educativa interesante.
EmbeddedGuy