Download drive-by o un cavallo di Troia di base?
Do I get any benefits (even if only minimal) when omitting automatic downloads for certain file types?
Se intendi che stai cercando di rilevare e prevenire un download drive-by quando ti capita, otterrai un beneficio minimo se il tuo attaccante non conosce un altro metodo, ma è essenzialmente un teatro di sicurezza.
Tuttavia, ciò che stai descrivendo è non un drive-by-download.
Ci sono molti modi diversi per avviare un download drive-by. Prendiamo ad esempio la possibilità di scrivere qualsiasi tipo di file con un'estensione nella memoria locale dell'utente, quindi rinominarlo in un eseguibile reale, quindi eseguirlo.
Attualmente, è possibile, ad esempio, utilizzare la cache HTML5 per scrivere un file eseguibile con qualsiasi estensione sul computer dell'utente, quindi rinominare ed eseguire il file con Flash. Bella ebil, eh?
Che cos'è esattamente un download drive-by?
Ho aggiornato questo post sulla base dei nuovi commenti di Uwe Keim:
"Sorry, probably I described this in my initial question too confusing. We provide a service where users can upload files and let our system send emails to other users with a download link that goes to our website. Basically to "send" files that are too large for email attachments."
Questo non è un problema di drive-by-download, anche se potrebbe potenzialmente portare ad esso.
Un drive-by-download è quando si forza un utente a scaricare ed eseguire un programma automaticamente senza il loro input. Sono inconsapevoli dell'esistenza del file, non c'è una finestra di download e succede dietro le quinte. Mentre sì, puoi servirgli un file dannoso di cui sono a conoscenza dell'esistenza - che eseguono da soli - che non è un download drive-by. Questo è un basic di base trojan horse
.
In che modo qualcuno potrebbe causare un download drive-by sui miei utenti?
Sto aggiungendo questo blocco per ogni evenienza, dal momento che voglio che tu capisca come può funzionare un drive-by-download; Non sento che tu capisca cosa sia. Puoi ignorare questa sezione se disponi già di protezione XSS / SQL per l'iniezione valida .
Questo potrebbe essere eseguito con una vulnerabilità di XSS / SQL injection. Assicurati di controllare , non disinfettare, il tuo input. Un modo è assicurarti di avere un'espressione regolare del nome del file che permetta tutti i nomi di file comuni (AZ, az, 0-9, punto, apostrofo, parentesi, ecc. Questo non sta davvero sanitizzando il tuo input: è semplicemente disabilitazione degli input non validi.
Gli apostrofi dovrebbero essere consentiti anche nei nomi dei file. Usa istruzioni preparate e non concatenazione di stringhe in qualsiasi forma . Vorresti che fosse solo ascii. Quando si esegue l'output del file per il download, è necessario sostituire qualsiasi carattere speciale.
Supponendo che tu stia usando ORM, o dati serializzati, starai bene quando trasmetteresti caratteri non-breaking. È altamente raccomandato, tuttavia, che si disinfetti l'output per sostituire tutti i potenziali tag di interruzione delle pagine con le rispettive entità html perché - dons tinfoil hat - si vorrà una protezione aggiuntiva nel caso in cui l'attaccante in qualche modo aggirato il tuo controllo regex a causa di un exploit divertente.
NON vuoi che questi tag vengano iniettati sulle tue pagine: <% %>
, <?php ?> <script>
, </script>
o qualsiasi cosa con <
o >
null/length check
+ Regex input check
+ prepared statements/parameterized queries
+ output sanitation
= Neatness.
I download maligni drive-by sono rilevabili in base al tipo di file / tipo mime?
Chiunque può dare a un file qualsiasi estensione o tempo mimo che desidera, e ricomporlo successivamente con un exploit, quindi no, non è rilevabile con questo metodo a meno che l'autore del malware non abbia commesso un grave errore.
Inoltre, devi anche preoccuparti che il tuo anti-virus non lo rilevi subito. La maggior parte dei programmi anti-virali può essere sconfitta attraverso l'offuscamento, purtroppo. Se si fa affidamento solo, in questi giorni è essenzialmente un falso senso di sicurezza, in molte aree.
E il metodo che stai descrivendo non è un drive-by-download; è solo un cavallo di Troia.
Elaborazione di file eseguibili che scaricano automaticamente
La maggior parte dei siti Web non tenta di scaricare automaticamente un file. Siti Web di malware. La maggior parte dei siti Web legittimi implementerà qualcosa che dice qualcosa del tipo, "Se il download non inizia tra X secondi, fai clic qui"
Questa è un'idea migliore soprattutto per motivi di usabilità, ma non offrirà alcuna sicurezza aggiuntiva, anche se potrebbe impedire alle persone di lasciare il tuo sito web per vari motivi.
Penso che potresti farla franca presentando una pagina di download che dice all'utente esattamente quello che stanno scaricando, piuttosto che un collegamento automatico. Potrebbe essere una cosa molto comoda da rintracciare alcuni, e se l'utente
Conclusione
È un po 'di entrambi. Un po 'di sicurezza, e un po' di sicurezza.
Non fornirà molti vantaggi a meno che qualcuno non sfrutti il tuo sistema di download e inietti un download falso in esso, ma potrebbero farlo se applichi questa modifica o meno, però.
Tuttavia, presentare una pagina di download potrebbe essere molto comodo, in quanto potrebbe potenzialmente impedire all'utente di scaricare il file sbagliato.