¿Se pueden rastrear los datos que llegan a mi servidor UDP?

2

He hecho un pequeño dispositivo de rastreo. Estoy tratando de reducir la sobrecarga de datos tanto como sea posible para que el dispositivo sea muy barato de ejecutar. Estamos trabajando sobre la base de que 1MB = £ 0.01 (el precio de los datos en Three UK).

Escribí un servidor UDP simple en C ++. El dispositivo de rastreo abre una conexión de socket al servidor UDP y luego envía datos de GPS a través del socket cada 5 segundos. Esto parece funcionar muy bien. La sobrecarga es muy pequeña y en general parece confiable.

El dispositivo de seguimiento tiene una cadena de 16 caracteres codificada en el código del microprocesador. Para reducir la sobrecarga, pasamos valores al servidor como una cadena separada por comas y en esta cadena incluimos el ID del dispositivo codificado. Cada vez que el servidor UDP recibe una solicitud, compara la ID con una base de datos de ID válidas. Si tiene éxito, la solicitud se acepta y los datos del GPS se guardan en ese dispositivo. He escrito funciones de protección de fuerza bruta para garantizar que los forasteros no puedan probar y enviar datos de GPS falsos para un dispositivo.

No soy un experto en seguridad de redes, pero conozco términos como "detección de paquetes". Los datos se envían a través de una conexión no cifrada en texto sin formato, por lo que necesito asegurarme de que no se pueden leer estos datos. Los dispositivos de rastreo se instalarán debajo del tablero de instrumentos en los vehículos, por lo que no hay forma de averiguar un código de dispositivo físicamente sin leer datos en serie (es decir, enchufarlo).

Mi preocupación, y donde no tengo ni idea, es si es posible que un pirata informático detecte de alguna manera el tráfico entrante a mi servidor UDP y vea el ID del dispositivo y luego lo use para enviar datos falsificados. ¿Me preocupo por algo que no existe o debo asegurarme de que la conexión esté encriptada (supongo que TLS a través de la conexión TCP) a un costo adicional?

    
pregunta jskidd3 18.04.2016 - 16:38
fuente

1 respuesta

4

Sería fácil rastrear los datos usando herramientas como WireShark de alguien que pueda acceder a la ruta de datos entre su cliente y el servidor. Esto no es algo que cualquiera en Internet pueda hacer por sí mismo, pero si su dispositivo utiliza tecnología inalámbrica y hay personas cercanas, podrían obtener esta información si la quisieran.

En cuanto a encontrar su servicio UDP en línea que sea fácil de encontrar a través de herramientas de escaneo simples como nmap y zmap, pero dependiendo del número de puerto que usó, puede que ya esté listado públicamente en sitios que escanean todo Internet como scans.io . Es muy probable que algunos terceros ya conozcan a su oyente UDP y esto, con suerte, también se incluirá como otras direcciones de origen en sus registros.

La seguridad a través de la oscuridad ya no existe en Internet, ya que las personas pueden usar herramientas como zmap o massscan para escanear todo el espacio de direcciones IPv4 en solo unos minutos.

enlace

enlace

enlace

enlace

Según la pregunta de cifrado, creo que sería conveniente cifrar sus datos y también considerar cómo cada dispositivo se autentica en el servidor. La seguridad de la Internet de las cosas (IoT) es un elemento muy importante porque muchos de estos dispositivos tienen una seguridad abismal. Los investigadores, y los malos actores, pueden aprovechar estos problemas para acceder a otras redes muy rápidamente. Si nada más recomiendo usar el cifrado porque lo que usa el dispositivo puede cambiar en el futuro y siempre es más fácil diseñar la seguridad al comienzo de un proyecto en lugar de pagar el alto costo de la reingeniería.

    
respondido por el Trey Blalock 18.04.2016 - 18:52
fuente

Lea otras preguntas en las etiquetas