24 votos

El Firmware de la protección en AVR y controladores PIC

Alguien puede extraer el archivo HEX que puedo grabar en un microcontrolador yo les proporciono?

Si que es posible, ¿cómo puede alguien asegurar que su código está asegurada en sistemas embebidos? En el caso de los PIC y los microcontroladores AVR, ¿cómo se puede proteger su firmware de reproducirse?

35voto

Bernd Puntos 61

La mayoría de los micro controladores de estos días tienen parte o fabricante de métodos específicos para proteger el firmware embebido código. Esto se hace generalmente mediante el bloqueo de los circuitos que normalmente permiten que el código de la memoria de la lectura. (Usted tendrá que buscar parte de los detalles específicos en la hoja de datos o en los fabricantes de sitio web en las notas de aplicación).

Una vez bloqueado no es posible leer el código de memoria utilizando técnicas normales. Esto proporciona un nivel razonable de protección para mantener a la mayoría de los hackers de ver el código de la máquina para su aplicación embebida.

Muchos MCU dispositivos estos días en la placa de memoria FLASH para strore el código del programa. Previamente almacenadas y protegidas programa almacenado en FLASH generalmente puede ser reemplazado con el nuevo código, pero toma un chip FLASH operación de borrado para desbloquear el mecanismo de protección. Una vez borrada la parte que va a funcionar como lo hacía antes de la original de protección de la cerradura. Si un nuevo programa que se carga en general, es posible re-bloqueo de la parte con el fin de proteger al recién cargado en código de máquina.

Cualquier discusión de protección de código en los microcontroladores no estaría completa sin mencionar que, normalmente, no hay garantía de que el esquema de protección ofrecido por la parte del fabricante es infalible. Los fabricantes afirman que los sistemas de protección no son 100% infalible. Una de las razones para esto es que hay todo un mercado negro de la industria en donde, por un suplemento, diligente, los hackers de lectura de código de una parte protegida para cualquier persona que quiere pagar. Se han ideado diversos sistemas que permiten que el código de lectura de la Rom o Parpadea protegidas de micro controladores. Algunos de estos programas son increíblemente inteligente, pero el trabajo para tener más éxito en alguna parte de las familias que en otras. Por lo que ser conscientes de este hecho, a continuación, intenta proteger a su programa de miradas indiscretas.

Una vez que alguien tiene en sus manos la imagen binaria del código de la máquina que ha sido la lectura de un microcontrolador, ya que era un protegido del microcontrolador o no, que puede procesar el código de la máquina a través de una herramienta llamada un desensamblador. Esto convertirá a los datos binarios de nuevo en la asamblea código de idioma que puede ser estudiado a tratar de aprender cómo los algoritmos de su programa de trabajo. Haciendo precisa desmontaje de código de máquina es un trabajo de hormiga que puede tomar grandes cantidades de trabajo. En el final del proceso puede llevar a que el código ensamblador como he descrito. Si el programa se ha escrito en algún lenguaje de alto nivel como C, C++ o Básico de la asamblea código sólo representan el compilados y enlazados resultado de su programa. Generalmente no es posible aplicar ingeniería inversa a robado el código de todo el camino de regreso a el lenguaje de alto nivel a nivel. Hackers con experiencia puede acercarse dado el tiempo suficiente y la experiencia.

Lo que esto significa es que hay realmente un beneficio para la escritura de su incrustado firmware de aplicación en un lenguaje de alto nivel. Se proporciona otra capa que hace que sea más difícil para que su programa sea totalmente de ingeniería inversa. Incluso el mayor beneficio es para el uso de los más altos en el estado del arte en la optimización de compiladores para compilar la aplicación incorporada debido a que el rendimiento más alto de los optimizadores de, literalmente, puede convertir el programa en un enorme plato de espaguetis lleno de docenas de llamadas a corto subrutinas que son muy difíciles de descifrar en un desensamblador.

La mayoría de experimentados desarrolladores de embebido le dirá a seguir adelante y utilizar el esquema de protección que se ofrece en el MCU en su aplicación....pero no dependen de ella hasta el final de la carretera para su producto. Ellos le dirán que la mejor manera de mantenerse delante de la competencia es para actualizar constantemente sus productos, de modo que las versiones antiguas están fuera de fecha y sin interés por el tiempo que los hackers pueden haber clonado el código. Cambiar el código, añadir nuevas funciones, girar su tableros de PC de vez en cuando para intercambiar todas sus I/Os de todo y cualquier otra cosa que usted puede pensar. De esta manera usted puede ganar la carrera en todo momento.

13voto

Avraham Puntos 1845

Creo que el de Michael respuesta es suficiente para esta pregunta, pero puedo añadir estos dos link: Cortar el PIC 18F1320 y Todo lo que ellos hacen, Se puede romper! Estos dos fueron muy interesantes para mí.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X