Autor Tema: Seguridad raspberry???  (Leído 352 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado IngRandall

  • PIC18
  • ****
  • Mensajes: 373
Seguridad raspberry???
« en: 23 de Noviembre de 2018, 10:21:27 »
Hola amigos del foro, tengo una duda, si nosotros desarrollamos un código para raspberry, cualquiera puede obtener fácilmente este código, la memoria sd es algo que esta bastante expuesto, de que forma se puede colocar algo de seguridad, ya sea que no puedan copiar o abrir nuestros archivos.

Gracias.

Desconectado planeta9999

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3275
    • Pinballsp
Re:Seguridad raspberry???
« Respuesta #1 en: 23 de Noviembre de 2018, 13:33:53 »

El problema es que todo es hackeable, por mucho que te lo curres, pero bueno, al menos lo puedes poner un poco más difícil, para no que lo pueda copiar cualquiera.

Puedes leer el número de serie único de la CPU, y crear un sistema de licencias, incluso puedes hacer una fórmula que mezcle los números de serie de varios dispositivos, CPU, SD, MAC del módulo WIFI, Pendrive USB...

Otra forma, es añadir un pequeño microcontrolador que se comunique por puerto serie con el Raspberry, de manera que intercambien códigos generados al azar por el RPY, que debe de responder el microcontrolador con el correspondiente contracódigo, todo encriptado con XTEA o algo similar. Creo que el RPY tiene un generador de números aleatorios real (TRNG), con una semilla basada en algún componente que genera ruido.



Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4940
Re:Seguridad raspberry???
« Respuesta #2 en: 23 de Noviembre de 2018, 14:34:20 »
¿Cual es la aplicación y las necesidades de seguridad?

Ten en cuenta también que muchas compañías han decido hace tiempo utilizar open-source como modelo y ganan dinero.
Ejemplos como Google con Android, Canonical con Ubuntu, Arduino con sus placas, Red hat con su linux, etc.
Un artículo al respecto: http://www.cioal.com/2013/10/15/9-secretos-para-hacer-dinero-usando-open-source/

Claro que ese modelo no es para todo el mundo, depende de las circunstancias. En ocasiones ni siquiera una patente es buena solución para proteger tu invento,  pues caduca a los 20 años. Por ejemplo la fórmula de Coca Cola no está patentada porque ya habría caducado y todo el mundo podría copiarla. A cambio la guardan en el mayor de los secretos.


Si lo que quieres es un consejo práctico para encriptar, a mí XTEA me parece un poco simple para una Raspberry. Utiliza AES, seguro que puedes encontrar librerías para la Raspberry y aunque es un algoritmo pesado, la Raspberry lo moverá sin problemas.

Ten en cuenta que todo lo que desencriptes desde la SD hacia la memoria ram externa podrá verse con un analizador. Tendrás que inventar algo para protegerte contra eso.
Como te ha dicho planeta, no hay seguridad absoluta, pero se pueden ir poniendo barreras para que no sea tan sencillo saltarse las protecciones.

Un saludo.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 6994
Re:Seguridad raspberry???
« Respuesta #3 en: 23 de Noviembre de 2018, 14:50:40 »
Basicamente te enfrentas al mismo problema que poseen los programas informaticos con respecto a la pirateria...

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2154
Re:Seguridad raspberry???
« Respuesta #4 en: 23 de Noviembre de 2018, 15:08:47 »
Pásale ciertas operaciones a un microcontrolador (protegido contra lectura) y que te las devuelva resueltas.

De todas formas si usas RPI con tarjeta SD ya sabes a lo que te atienes... Hay muchas más opciones, y cada vez más documentadas, con la nand/emmc/ufs encriptada....

Saludos!
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado IngRandall

  • PIC18
  • ****
  • Mensajes: 373
Re:Seguridad raspberry???
« Respuesta #5 en: 23 de Noviembre de 2018, 15:39:51 »
Gracias por sus respuestas, bueno, estan en lo cierto, a la final todo me lo pueden piratear, pero toca ponerla lo mas dificil posible a los conocimientos de cada quien, leyendo en internet me encontre con este articulo que me parece una base interesante para arrancar en cuanto a seguridad

https://www.comunixgroup.com/proteger-raspberry-pi-hackers/

Seguiremos mirando mas opciones.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4940
Re:Seguridad raspberry???
« Respuesta #6 en: 23 de Noviembre de 2018, 16:02:51 »
Depende de la aplicación. Lo primero es saber qué vas a proteger, no vayas a comprar una cadena más cara que la moto.

Desconectado IngRandall

  • PIC18
  • ****
  • Mensajes: 373
Re:Seguridad raspberry???
« Respuesta #7 en: 23 de Noviembre de 2018, 16:14:12 »
El proyecto que tengo actualmente es un medidor de odorizante para gas natural pero tengo muchos mas proyectos... no quiero por ahora hacerlo super complejo, solo quiero agregar algunas formas de seguridad como las descritas en blog que coloque antes y ver a futuro que mas se puede hacer, ademas de que quede una base aquí para todos los demás que tengan esa misma inquietud.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4940
Re:Seguridad raspberry???
« Respuesta #8 en: 24 de Noviembre de 2018, 13:29:32 »
Me parece mucho una Raspberry para ese proyecto. ¿Por qué no utilizas un microcontrolador? Es mucho más fácil protegerle.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 6994
Re:Seguridad raspberry???
« Respuesta #9 en: 24 de Noviembre de 2018, 13:57:46 »
El proyecto que tengo actualmente es un medidor de odorizante para gas natural pero tengo muchos mas proyectos... no quiero por ahora hacerlo super complejo, solo quiero agregar algunas formas de seguridad como las descritas en blog que coloque antes y ver a futuro que mas se puede hacer, ademas de que quede una base aquí para todos los demás que tengan esa misma inquietud.

Si conoces como funciona linux, entonces eso que explica ahi no sirve de mucho... el cambiarle el usuario y contraseña es lo primero, pero alguien con acceso fisico al sistema puede tomar chroot del mismo y cambiar a su antojo todo lo que quiera. El SSH si es que usas internet o una red. Y finalmente de que te sirve el fail2ban si la persona ya tiene acceso FISICO a la misma.

Por eso mismo te decia, que TU software, deberia implementar algun sistema anticopiado, anti pirata, como se los encuentra en todos los programas de pago ( ejemplo office, autocad, etc). Y rogando que la persona que se encuentre con tu programa no tenga los conocimientos como para crackearlo.

Desconectado planeta9999

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3275
    • Pinballsp
Re:Seguridad raspberry???
« Respuesta #10 en: 24 de Noviembre de 2018, 17:52:16 »
 
Yo solo usaría un Raspberry en un proyecto que necesite video, de lo contrario hay soluciones más sencillas, seguras y baratas. Tienes microcontroladores Cortex M7 que van de fábula, incluso con controladores para pantallas TFT, si necesitas visualizar menús y cosas de esas, cualquier cosa menos videos.

Además a efectos de protección lo tienes mucho más fácil con un microcontrolador que con un Raspberry. Por ejemplo la serie RT de NXP, aunque almacena el programa en memoria externa (QSPI, SD o Hyperflash), el código objeto va encriptado con una firma unica por micro.

De manera que nadie puede sacar tu programa, no se puede desensamblar ni se puede cargar en otra placa,  tampoco se puede usar tu placa para rodar otro programa, porque si no está firmado correctamente no se va a ejecutar.

Con un Raspberry a efectos de seguridad estás bastante vendido. Yo en mi proyecto actual, tengo que usarlo porque es una aplicación que reproduce videos, pero me planteo crear el programa principal en un microcontrolador RT1020 de NXP, y conectarlo al Raspberry por puerto serie para que el micro le envíe comandos al Raspberry para reproducir videos, sería para lo único que usaría el Raspberry.
« Última modificación: 24 de Noviembre de 2018, 17:57:30 por planeta9999 »

Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 877
    • Mexchip
Re:Seguridad raspberry???
« Respuesta #11 en: 26 de Noviembre de 2018, 00:28:59 »
El proyecto que tengo actualmente es un medidor de odorizante para gas natural pero tengo muchos mas proyectos... no quiero por ahora hacerlo super complejo, solo quiero agregar algunas formas de seguridad como las descritas en blog que coloque antes y ver a futuro que mas se puede hacer, ademas de que quede una base aquí para todos los demás que tengan esa misma inquietud.
Los puntos en el blog que mencionas sirven para proyectos en que la RaspberryPi está disponible de forma remota para los usuarios (a través de una red).

En el caso de que los usuarios tengan acceso a la Raspberry Pi de manera física porque así se diseñó el producto, deberías tomar en cuenta los mismos tipos de "protección" que se pueden llegar a tener en una aplicación que instalas en una PC. Cualquiera podrá acceder a tus archivos, así que las opciones son evitar que puedan reutilizarlos:
  • Manejo de licencia con dongle hardware: agregar un circuito que se comunique con la Raspberry de forma encriptada, en dicho circuito se guardarían las claves/llaves para encriptar/desencriptar o la licencia de los usuarios.
  • Manejo de licencia con conexión a red o forzar la aplicación para que requiera operar a través de conexión a red, de forma regular se realiza una conexión a un servidor, en caso de que falle o no se valide como válida la licencia la aplicación no puede correr.
  • Los ejecutables deberían estar escritos en lenguajes compilados, no interpretados (no es garantía de nada, pero los compilados requieren un poco más de esfuerzo), deben ser ofuscados/comprimidos, validados contra modificaciones a nivel binario.
En todos los casos en que el usuario pueda acceder al contenido de la SD lo primero a intentar al encontrar un ejecutable que no puede correrse en otra Raspberry será abrir en un editor binario las aplicaciones y buscar todas las cadenas de texto por si así se guardó las claves, luego desensamblar la(s) aplicacione(s) y buscar las secciones donde se valida las llaves/claves, para poner saltos en esas partes del código y evitar la validación.

Recientemente vi esto: https://www.zymbit.com/zymkey/, no lo he usado pero pareccería una posible opción para lo que quieres.


« Última modificación: 26 de Noviembre de 2018, 00:43:49 por Geo »
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4940
Re:Seguridad raspberry???
« Respuesta #12 en: 27 de Noviembre de 2018, 19:04:41 »
La otra opción es plantearse la alternativa de código abierto. Sobre todo teniendo en cuenta la plataforma, una Raspberry.

Se puede hacer a medias. La mayoría del código abierto y una pequeña parte en un módulo hardware cerrado.
« Última modificación: 27 de Noviembre de 2018, 19:07:21 por Picuino »