Bloqueo del sistema Linux para que funcione solo en cierto hardware

6

¿Hay alguna forma de bloquear un sistema Linux para que funcione con un hardware específico (predefinido) solamente? Estoy desarrollando un producto comercial y quiero hacer que sea un poco más difícil para alguien clonar todo el sistema de trabajo, así que estoy pensando en unir el SW y el HW para que se necesite una imagen de SW especial para un HW determinado.

Mi escenario exacto es una placa integrada (Raspberry Pi 2 con Raspbian) que se inicia desde una tarjeta SD. El problema es que la tarjeta SD se puede intercambiar fácilmente entre placas, por lo que me gustaría que la tarjeta SD solo funcione con una tarjeta en particular. Usaré un binario personalizado (que compilo yo mismo desde C ++) para proporcionar la funcionalidad del producto. Simplemente podría buscar un ID de HW específico (RPi número de serie o la dirección MAC) de mi binario, pero eso dejaría espacio para que alguien falsifique esas ID de HW a nivel de sistema operativo y luego inicie mi binario por encima.

Supongo que cifrar todo el sistema puede proporcionar un poco más de protección, pero la clave (ya sea una contraseña de SW o una ID de HW) también debe guardarse allí para que el sistema arranque, por lo que si un "atacante" lo encuentra ¿Descifrar la imagen del sistema de todos modos? El sistema funciona en modo de solo lectura.

¿Cuál es la mejor protección que puedo obtener en un sistema con almacenamiento principal intercambiable? Supongo que un almacenamiento integrado puede ser un poco más difícil de leer pero, probablemente, de nuevo no proporcionará una protección del 100%.

EDIT:

Con respecto a mis razones para la protección: mi escenario es un dispositivo de visión de computadora integrado que no tiene una interfaz de usuario directa (salida de imagen para mostrar o monitorear) pero solo emite un pitido acústico en ciertos casos. No me importa la piratería de SW siempre y cuando al menos aporte algo como "promoción de productos" o marketing (como es el caso de Microsoft Windows pirateado, por ejemplo, incluso cuando está pirateado, ayuda a promocionar el producto ya que tiene la marca y el todos los logotipos están en la interfaz de usuario), pero esto simplemente no es mi caso. Los clones chinos baratos del chip ELM 327 son buenos ejemplos de piratería de SW incorporada: el SW se leyó desde el controlador PIC y ahora se vende a precios muy económicos.

    
pregunta Kozuch 30.08.2015 - 12:39
fuente

1 respuesta

5

La respuesta corta es "No, no hay forma de bloquear el software a una pieza específica de hardware que no pueda romperse". Básicamente, se trata de implementar algún tipo de DRM y de vincular su software a un HW específico. El enfoque de fuerza bruta es simplemente ingresar su código y modificarlo para dejar de buscar el cheque de HW. Este es un enfoque que los crackers de software han tomado durante décadas para anular la protección contra copia. Muchos han intentado bloquear las galletas. Todos eventualmente han fallado.

La respuesta larga es que es posible que pueda evitar que algunas personas configuradas utilicen su software durante un período de tiempo prolongado en hardware no aprobado. La seguridad no tiene que ser perfecta para ser útil. Un juego de esposas puede ser recogido con un clip, pero todavía tienen un uso marginal.

Después de leer su respuesta editada, el modelo de amenaza suena como si fueran ingenieros de ingeniería inversa quienes quieran clonar su producto. Básicamente, eso significa que estás condenado desde una perspectiva de detener la ingeniería inversa.

No estoy familiarizado con el ejemplo que tiene del ELM327, pero la entrada de wikipedia me hace creer que es un chip de 1976, por lo que ya no está protegido por patente, y no tiene derechos de autor. No puede proteger su invención para que no se clone después de que se agoten los derechos de propiedad intelectual. Alguien inventó el lápiz con una goma de borrar y tenía los derechos para venderlo exclusivamente durante muchos años, pero cualquiera puede producir un lápiz con una goma de borrar porque la IP se agotó hace mucho, mucho tiempo.

Diría que, de lejos, su mejor arma contra la clonación comercial son las leyes de propiedad intelectual. Registre las patentes y asegúrese de que su software tenga los derechos de autor apropiados aplicados en los distintos distritos. Póngase en contacto con un buen abogado de propiedad intelectual. Solo se convertirá en un problema si su producto tiene éxito, por lo que tendrá dinero para pagar a los abogados para combatir cualquier infracción de IP.

    
respondido por el Steve Sether 02.09.2015 - 20:06
fuente

Lea otras preguntas en las etiquetas