Estoy enfrentando un problema que necesito para subir archivos a un servidor centralizado, luego transmitirlo a otros proveedores de análisis de malware (Palo Alto / etc ...)
Desde el punto de vista de la seguridad: está prohibido que el archivo se encuentre en el sistema de archivos del servidor y en memory.
El servidor está basado en ASP.NET, y el cliente es C ++ y pensé en la transmisión (actualmente transmitimos esos archivos a través de IIS), pero tengo algunos inconvenientes importantes:
- Creo que IIS puede almacenar en caché los datos que recibe, lo que significa que no tengo control sobre el flujo de datos (el malware puede residir repentinamente en la memoria de IIS).
- Incluso si uso componentes TCP, ¿quién dijo que no hay almacenamiento en caché en el lado del servidor? No me gustaría escribir todo el manejo de TCP por mi cuenta (lo que nunca será eficiente como los que ya están escritos)
- Otra opción en la que pensaba es en XOR los archivos, pero si lo hago en un agente, la máquina comprometida puede manipularlo y enviar el malware original y, de nuevo, en el servidor, es posible que el malware ya esté guardado en la memoria caché.
Además del # 3, XOR, o cualquier método de archivos zip protegidos por contraseña (que el cliente puede enviar) tampoco son aceptables, ya que se pueden usar exploits para descifrar este archivo en el servidor y ejecutarlo (aunque son pocas posibilidades) ).
Los terceros que utilizamos también esperan los datos del archivo original.
La única solución "aceptable" es proteger el proceso de recepción con sus archivos, ya sea por un segundo servidor (que no es aceptable para nuestros clientes locales) o en nuestro servidor "real" (algún tipo de contenedor, que parece un super overkill)
¿Te encantaría escuchar tus comentarios sobre esto?