L'app .NET si aspetta file csv, e se riceve file dannosi?

2

Lavoro in un ambiente aziendale su piccole applicazioni personalizzate che leggono file di dati (in genere CSV) e integrano i dati in sistemi software di contabilità. Mi sono imbattuto in una situazione in cui c'è un server con un utente sempre connesso e sempre in esecuzione Outlook. Questa istanza di Outlook include alcuni VBA che scaricheranno gli allegati di posta elettronica, purché il dominio del mittente corrisponda a un valore predefinito. Il file viene scaricato in una cartella in cui un'app .NET è in attesa di raccogliere i file per l'elaborazione.

Quali sono le implicazioni / rischi sulla sicurezza di questo scenario?

Immagino che ci sia qualche beneficio per la sicurezza attraverso l'oscurità. Eppure, cosa succede se un file che è stato infettato è stato inviato e scaricato? Se l'app .NET legge solo file con estensione .csv, i file infetti possono essere CSV? Può eseguire il suo carico malevolo leggendolo da un'app che lo tratta come un file delimitato da virgole?

Grazie per i tuoi pensieri e la tua guida. Sono nuovo in questo particolare scambio di stack e accolgo con favore eventuali correzioni all'etichetta.

    
posta CodenameCain 22.11.2016 - 19:29
fonte

2 risposte

1

È possibile controllare l'intestazione PE del file per assicurarne effettivamente il testo / csv come previsto. C'è un progetto chiamato Mime Detective for .net che farà questo per te. Puoi anche collegarti a un antivirus e scannerizzare il file per primo se il tuo servizio di posta non lo fa comunque.

A seconda di come si verifica il mittente della posta, è possibile che l'indirizzo del mittente sia potenzialmente falsificato.

Se i contenuti dannosi riguardano la possibilità di verificare la presenza di sql nel file, supponendo che non contenga naturalmente parole chiave che è possibile scansionare per tali file.

    
risposta data 13.12.2016 - 23:51
fonte
1

Non c'è alcuna base per "sicurezza attraverso l'oscurità", semplicemente non funziona. Toglilo subito dalla testa.

Quindi, per rispondere ad alcune domande, l'app .NET è alla ricerca di un'estensione? Intestazione? Come fa a determinare che il file che sta caricando è un CSV, questo è il più grande. Se prendi semplicemente un file messo nella cartella e pensi che sia CSV, ci sono alcuni grossi problemi. Se stai cercando un'estensione .CSV, posso mettere .CSV alla fine di qualsiasi file che ho creato e lo raccogli, portando alla lettura di un virus in memoria. Il codice potrebbe causare l'SQL injection se non protetto o semplicemente arrestare l'app, causarne il blocco e arrestare l'elaborazione dei file, causare l'arresto anomalo del server espandendo la memoria, un numero qualsiasi di cose per interrompere le operazioni aziendali.

Penso che il più grande pericolo qui è che hai uno script VBA che scarica automaticamente i file su un server. Sta solo chiedendo virus, chiaro e semplice. Il fatto che provenga da un certo dominio non protegge nulla, l'e-mail di spoofing è stupidamente semplice ed è a rischio uguale o maggiore a mio avviso rispetto all'app. NET che elabora i file CSV.

    
risposta data 15.12.2016 - 15:43
fonte

Leggi altre domande sui tag