Una traccia dello stack di solito non è una vulnerabilità di per sé. Tuttavia, può contenere alcune informazioni sulla struttura del software, che possono essere utili per l'autore dell'attacco (ad es., Rivelando versioni di database, nomi di tabelle, nomi di file di codice e così via). Pertanto, di solito non è una buona idea rivelare la traccia dello stack.
Il modo standard per gestirlo è: disabilitare le tracce dello stack sui server di produzione. Puoi attivare tracce di stack su build di debug che non sono esposte al mondo esterno, per aiutarti a eseguire il debug degli arresti anomali, ma quando lo trasferisci in produzione, disattiva le tracce di stack.
Il sito web web2py ha un ancora più elegante modo di affrontare questo problema . web2py non rivela mai le tracce dello stack ai visitatori. Invece, se si verifica un'eccezione non rilevata, web2py costruisce un nuovo "ticket", rivela un numero di ticket al visitatore e salva i dettagli dell'errore (ad es., Traccia dello stack, ecc.) Associati a quel ticket in un database interno. I visitatori ordinari non possono vedere i dettagli del biglietto, ma un amministratore può. Un amministratore può consultare l'elenco di tutti i ticket. Inoltre, dato un numero di ticket, l'amministratore può cercare i dettagli di quel ticket e vedere, ad esempio, la traccia dello stack. Dal punto di vista della sicurezza, questo è un ottimo approccio.
(Incidentalmente, web2py è un'elegante struttura che ha messo molta attenzione nel rendere la sicurezza predefinita e semplice per gli sviluppatori. web2py cerca di eliminare le insidie della sicurezza e rendere il servizio sicuro per impostazione predefinita, nella misura in cui può farlo. Se stai creando un servizio web che deve essere sicuro, dai un'occhiata a web2py!)