Mi è piaciuta la risposta di D.W. così tanto che non mi piace scriverne un'altra, ma avevo alcuni punti che erano abbastanza grandi che purtroppo sto ripetendo qui:
Come faccio a: scoprire il più presto possibile una vulnerabilità zero-day contro la mia applicazione, senza dover ricevere notifiche irrilevanti?
Avvicinati il più possibile alla fonte della divulgazione delle vulnerabilità e renditi conto che non sarà sempre la stessa fonte. Dovrà essere una combinazione di miglioramento nel recupero delle informazioni e di facile individuazione (con le sue implicazioni di spam).
Le buone idee includono:
- avere un modo ovvio sul tuo sito di includere bug e vulnerabilità
- assicurarsi che quando si viene riconfezionati da qualsiasi altro sistema, parte dell'accordo sia che i bug in sicurezza vengano inviati al sistema di tracciamento di bug / vulnerabilità. Probabilmente vorrai discutere su come i problemi vengono controllati prima che vengano inviati a modo tuo, ma renditi conto che spesso le maggiori vulnerabilità riguardano il modo in cui il tuo sistema si integra con il sistema più grande.
- assicurati che i siti di pubblicazione delle vulnerabilità sappiano come trovarti: non risolverà un vero "giorno zero" in quanto potrebbero rimanere indietro di ore o giorni, ma sicuramente vorresti ascoltarli direttamente.
- raccogliere tutte le informazioni che possono essere pertinenti alle potenziali vulnerabilità del prodotto - Google Alert - è stata una grande idea. Sono sicuro che ce ne sono altri.
Potresti dover accettare che le informazioni irrilevanti ti vengano recapitate - il meglio che puoi fare è selezionarlo.
Tieni presente, inoltre, che non tutte le vulnerabilità vengono trovate dai bravi ragazzi. Aspettare che qualcun altro lo trovi non è mai il modo ideale per trovare le vulnerabilità. Man mano che il prodotto cresce, ti consigliamo di introdurre qualche forma di verifica della sicurezza, incluse cose come:
- Analisi della sicurezza del codice - sia manuale che automatizzata.
- test della penna
- recensione indipendente
Il livello di impegno deve essere bilanciato dal costo dell'errore, qui - ma potresti scoprire che il costo di trovare e rispondere a una vulnerabilità che viene divulgata in pubblico è maggiore rispetto all'implementazione della tua verifica di sicurezza.
Come faccio - Scopri quando i database di vulnerabilità creano voci relative alla mia applicazione?
Molti dei database di vulnerabilità hanno streaming di avvisi: dovresti essere in grado di iscriverti a un flusso e filtrare o ottenere un feed RSS e limitarlo con i criteri di ricerca.
Come faccio a - Garantire l'accuratezza delle voci del database delle vulnerabilità relative alla mia applicazione?
Prima - crea una relazione con i gruppi di database. E chiarisci come creare una relazione con te se un gruppo di database sta cercando di raggiungere. indicazioni del CERT e questo articolo - sono ottime risorse per le raccomandazioni, ma la parte critica sta comprendendo che se non possono raggiungerti, non avranno la risposta giusta.
Ed è un processo a due vie: avere un modo per trovarti, ma anche trovare un modo per pubblicare informazioni. E quando pubblichi, includi risposte solide. Come sviluppatore di soluzioni, ho troppi run-around con i fornitori di soluzioni che forniscono informazioni sulla vulnerabilità della sicurezza che suona come se l'avessero sognata in giro per lavorare senza test reali o informazioni reali. Elenca cose come:
- specifiche sulla correzione
- specifiche sui test utilizzati per verificare la correzione
- specifiche sull'impatto di prendere la correzione (c'è qualche possibilità che qualcosa di cui mi stavo affidando cambierà o si interromperà?)
- riepilogo generale dell'ambito della modifica - ad esempio "correzione apportata a una funzione di utilità sottostante", "correzione apportata a una base di codice specalizzata utilizzata per l'interoperabilità XYZ, l'impatto all'esterno di questo spazio è estremamente limitato"
E i dettagli di ciò che CVE o altro problema pubblicato si sta tentando di risolvere.
Inseriscilo nel maggior numero possibile di stream: iscriviti via email, blog, sito web, ecc. Vuoi che sia reperibile.
E rendi noto il tuo processo. Se invio una vulnerabilità al tuo sito web, posso aspettarmi di ricevere una risposta entro 24 ore? Come valuti la gravità? Qual è il processo per la risoluzione? Se si tratta di un prodotto integrato in altre soluzioni, chi esegue il test di interoperabilità?
Non hai bisogno di metriche perfette, devi essere in grado di realizzarle. Quindi, se il tuo tempo di risposta è di 2 weeeks, fallo sapere agli utenti.