Sto affrontando un problema che devo caricare i file su un server centralizzato, quindi inoltrarlo ad altri fornitori di analisi malware (Palo Alto / etc ...)
Dal punto di vista della sicurezza - è vietato che il file risieda nel file system del server e nella memoria.
Il server è basato su ASP.NET e il client è C ++ e ho pensato allo streaming (attualmente eseguiamo il flusso di questi file tramite IIS), ma ho alcuni svantaggi principali:
- Penso che IIS possa memorizzare nella cache i dati ricevuti, ovvero non ho controllo sul flusso di dati (il malware può risiedere improvvisamente nella memoria di IIS).
- Anche se uso i componenti TCP - chi ha detto che non c'è cache nella parte server? Mi dispiacerebbe scrivere da solo l'intera gestione TCP (che non sarà mai efficiente come quella già scritta)
- Un'altra opzione che stavo pensando è quella di XOR i file, ma se lo faccio sull'agente - la macchina compromessa può manipolarla e inviare il malware originale, e nel server di nuovo, potrebbe essere che il malware sia già memorizzato nella cache.
Oltre al # 3, XOR, o qualsiasi metodo di file zip protetto da password (che il client può inviare) non è accettabile, poiché gli exploit potrebbero essere usati per decrittografare questo file nel server ed eseguirlo (anche se ci sono possibilità ridotte ).
Anche le terze parti che usiamo si aspettano i dati del file originale.
L'unica soluzione "accettabile" è il sandbox del processo di ricezione con i suoi file, sia da un secondo server (che non è accettabile dai nostri clienti in sede) o nel nostro server "reale" (una sorta di contenitore) che sembra un super overkill)
Mi piacerebbe sentire i tuoi commenti su questo?