¿Cuáles son los posibles riesgos de seguridad al implementar la sincronización de archivos?

Supongo que te refieres a la sincronización de archivos en dos o más dispositivos. En ese caso, supongamos que el dispositivo A quiere sincronizar un archivo (DATA.DAT) con el dispositivo B a través de algún tipo de protocolo de red. Aquí hay un modelo básico de amenazas que consideraría:

ATAQUES AL DISPOSITIVO A (FUENTE DE DATOS):

  1. ¿Cómo sabes que es el archivo DATA.DAT legítimo? (es decir, no es un clon malicioso)
  2. ¿Cómo se asegura de que solo se sincronizarán los archivos seleccionados (es decir, DATA.DAT) y no otros o más archivos?
  3. Después de leer DATA.DAT en la memoria, ¿cómo se asegura de que nadie se enfurezca?
  4. ¿Qué sucede si la conexión entre A y B cae en el medio de la sincronización, qué hará A entonces? ¿Cómo sabrá B que no es la sincronización completa?

ATAQUES AL DISPOSITIVO B (NUEVO DESTINO DE DATOS):

  1. ¿Qué sucede si hay más de una solicitud de sincronización de múltiples partes en el mismo archivo de destino? (es decir, C quiere sincronizar DATA.DAT y A quiere sincronizar DATA.DAT también. ¿Con qué sabor iremos?)
  2. ¿Qué sucede si DATA.DAT es demasiado grande? (es decir, ¿puede drenar el disco del sistema y causar inestabilidad?)
  3. ¿Qué sucede si el nombre de archivo DATA.DAT es demasiado largo? Obviamente, 8 bytes no son largos, pero ¿qué sucede si son 256? O Unicode?
  4. ¿Qué sucede si alguien ya está “bloqueando” ese nombre de archivo de destino? (es decir, el proceso X tiene un MANGO a DATA.DAT, por lo tanto, nadie más puede abrirlo).
  5. ¿Qué sucede si ya hay un archivo llamado DATA.DAT? ¿Lo sobrescribirá? ¿Anexarlo?
  6. ¿Puede el FILENAME contener una RUTA (es decir, “../DATA.DAT”) o es simplemente un BASENAME (es decir, “DATA.DAT”)? El primero puede permitir que un atacante anule los archivos fuera del directorio actual …
  7. ¿Hay archivos temporales creados durante la sincronización? ¿Estás listo para detectar y mitigar los ataques de las condiciones de carrera? (es decir, el atacante adivina el nombre del archivo temporal)

ATAQUES EN LA RED (ENTRE A Y B):

  1. ¿Qué sucede si alguien engaña a B? ¿Lo sabrá A?
  2. ¿Qué sucede si alguien observa el tráfico entre A y B? ¿Qué aprenderá él o ella al respecto?
  3. ¿Qué sucede si alguien reproduce los paquetes de A a B? ¿Lo sabrá B?
  4. ¿Qué sucede si alguien modifica los paquetes de A a B? ¿Lo sabrá B?
  5. ¿Cómo sabe B que A es realmente A?
  6. ¿Cómo sabe B que lo que recibió de A es realmente lo que A quería enviar?

No se detenga aquí, piense en más escenarios hipotéticos … ¡y responda si necesita más ideas!

Todos los datos deben ser encriptados durante la transferencia, y encriptados en reposo (en almacenamiento).

Los dispositivos en ambos puntos deben estar protegidos del acceso físico.

Todas las computadoras y dispositivos móviles involucrados en la sincronización deben tener cifrado de disco completo, antivirus de calidad que se mantenga actualizado, usuarios que inicien sesión con cuentas que no sean de administrador y listas blancas de aplicaciones para evitar aplicaciones maliciosas.