Verificare che il software non sia dannoso prima di caricare sul mio server? [chiuso]

0

Sto scrivendo un'applicazione web che consente il caricamento di software sul mio server da scaricare da altri utenti (hosting di file). Come posso verificare che un programma non sia dannoso prima di caricarlo sul mio server?

    
posta user3579115 06.04.2017 - 11:42
fonte

2 risposte

3

Nel caso generale, questo è impossibile.

Esiste un risultato di scienze informatiche teoriche chiamato "Blocco del problema" . Si afferma che non si può mai scrivere un programma che, per qualsiasi altro programma, può dimostrare se terminerà.

Ora, se non riesci nemmeno a dimostrare che un programma casuale verrà risolto, non puoi certamente dimostrare che sia innocuo.

L'unico modo per farlo è assicurarti che i programmi caricati siano molto limitati in ciò che possono fare. Probabilmente limitato oltre il punto in cui sono utili.

Puoi aggiungere controlli antivirus al tuo servizio (come suggerito anche nella risposta di thel3l e commento di Schroeder ). Ho visto più servizi di hosting fare questo, e almeno proteggerà il tuo download di utenti un po '.

Tuttavia, sarai sempre nella corsa agli armamenti tra produttori di malware e scanner antivirus. Non puoi garantire ai tuoi utenti che il software ospitato è sicuro. Puoi, tuttavia, tenere fuori alcune mele marce - e, si spera, le mele più cattive.

    
risposta data 06.04.2017 - 11:55
fonte
2

Questo può essere fatto in due modi:

  1. Sandbox. Sandbox tutto, esegui sempre il codice solo all'interno di uno e mai all'esterno.

  2. Non eseguire il codice : probabilmente è più semplice. Assicurati che il parser non carichi mai l'intero codice in memoria e lo esegua durante il caricamento.

  3. Comprimi. Ciò impedisce l'esecuzione del codice durante e dopo il caricamento. Consigliato con una sandbox.

Inoltre, potresti prendere in considerazione la possibilità di inserire il codice che viene caricato in un sito di archiviazione esterno in modo da evitare un compromesso completo se qualcuno riesce a eseguire il codice.

E come detto da @iain, potresti prendere in considerazione la possibilità di scansionare tutti i file in arrivo per virus noti.

    
risposta data 06.04.2017 - 11:49
fonte

Leggi altre domande sui tag