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.
fuente
Respuestas:
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.
fuente
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
fuente