Sto lavorando su una sandbox PHP per un Honeypot di applicazioni Web. La sandbox PHP analizzerà un file PHP che potrebbe essere stato iniettato come parte di un attacco RFI. Dovrebbe eseguire il file in un ambiente sicuro e restituire il risultato, incorporando l'output dello script PHP. Speriamo di ingannare l'attaccante facendogli credere che questa sia una risposta genuina e quindi continui con il prossimo passo del suo attacco.
Per costruire la sandbox, abbiamo usato l'Advance PHP Debugger (ADP). Utilizzando rename_function
e override_function
, le funzioni PHP vulnerabili sono state riscritte. Alcune funzioni come exec
, disk_free_space
sono state riscritte per inviare risposte false. Tutte le altre funzioni non restituiscono nulla. Ecco un elenco completo delle funzioni che sono state prese in considerazione.
Inoltre, lo script di input viene eseguito solo per un massimo di 10 secondi nella sandbox. Dopo di ciò, l'intero processo sandbox viene ucciso.
-
Questa lista è abbastanza buona? Questo rende la sandbox abbastanza sicura da far parte del honeypot dell'app web?
-
Oltre alle chiamate alla funzione di blocco come questa, ci sono più misure di sicurezza da adottare?
-
Alla fine, questo è un honeypot. Quindi, vorremmo che la nostra risposta fosse il più vicino possibile a una risposta reale. Quindi, bloccando le chiamate di funzioni DNS come
dns_check_record
egethostbyname
limitiamo l'ambito di esecuzione per lo script inutilmente. (Non sono sicuro del motivo per cui sono presenti in primo luogo)In breve, vorrei sapere quali elementi dovrei aggiungere / eliminare dalla lista.
-
Qualsiasi altro suggerimento / consiglio su come procedere sarà molto apprezzato.