Vulnerability Scanner vs Security Audit

2

Ho un'app Web e clienti preoccupati per la sicurezza dell'app. Voglio poter dare ai miei potenziali clienti (aziende manifatturiere con dipendenti 2k-10k) la certezza che la nostra app sia sicura.

Una cosa che sto considerando è iscriversi alla scansione di sicurezza di Qualys. Spero che la consapevolezza che stiamo utilizzando un servizio ben noto per la scansione di sicurezza possa aggirare alcune delle preoccupazioni dei miei clienti. Potrei potenzialmente mostrare loro i rapporti generati da Qualys.

Qualys è una buona soluzione per questo problema? Probabilmente il personale IT dei miei clienti ha sentito parlare di Qualys? Farei meglio a ottenere un controllo di sicurezza esterno da parte di una nota società di sicurezza?

    
posta Snitse 17.11.2013 - 01:23
fonte

5 risposte

4

Sembra che Qualys sia probabilmente la tua opzione preferita: la scansione di vulnerabilità continua e ripetuta fornisce una coperta di sicurezza a lungo termine che consolerà i tuoi clienti.

Detto questo, dovresti capire la differenza tra la scansione delle vulnerabilità e un controllo di sicurezza mirato (spesso "pentest").

La scansione delle vulnerabilità assicurerà che la tua infrastruttura sia e rimanga protetta. Rileverà quando il software del server Web che stai usando diventa improvvisamente vulnerabile perché qualcuno ha rilasciato un nuovo attacco contro di esso. Rileverà se il tuo server inizia ad offrire FTP al mondo. Noterà se vengono visualizzate determinate configurazioni vulnerabili conosciute del server web. Ciò che non farà è fornire una visione completa della sicurezza di la tua applicazione .

Questo è ciò che fa un pentest. Il pentester esaminerà la tua applicazione con occhi esperti e strumenti specializzati e cercherà di scoprire se hai commesso degli errori quando hai scritto l'applicazione che un utente malintenzionato potrebbe sfruttare. Esamineranno anche lo stesso tipo di "scansione di vulnerabilità", ma il vero valore aggiunto è quello di far pensare a un umano attraverso le cose. Le persone possono creare connessioni che i computer non possono, riconoscere modelli che indicano problemi sottili.

Quindi, in un mondo ideale, avresti la tua applicazione ripetuta all'inizio e di nuovo ogni volta che apporterai modifiche importanti al codice. E avresti anche Qualys (o un equivalente, ovviamente) eseguire regolarmente scansioni di vulnerabilità per cercare tutte le cose semplici e semplici che mordono regolarmente le persone nel posteriore.

Se stai solo selezionando una casella di controllo, è più denaro e impegno di quello che stai cercando di spendere. Vai con la scansione periodica delle vulnerabilità, otterrai il sigillo di approvazione per mostrare le persone e otterrai una difesa utile contro il "low hanging fruit" - facile da individuare per gli attaccanti, solitamente facile da risolvere.

    
risposta data 17.11.2013 - 05:25
fonte
3

Molto dipende dai dati che ti affideremo. Presumo che varrebbe molto e sarebbe degno di protezione.

Ti starebbe cercando di dimostrare che hai preso sul serio la sicurezza durante lo sviluppo del tuo prodotto, e non solo hai assunto qualcuno per una scansione dopo il fatto. Dovresti essere in grado di mostrare le politiche di sicurezza delle informazioni della tua azienda, il nome del responsabile della sicurezza, offrire i risultati degli strumenti di analisi del codice statico, la documentazione delle pratiche di sviluppo delle applicazioni sicure e sì, i risultati degli audit di sicurezza annuali e dei servizi di scansione.

Se la sicurezza è davvero importante per te, verrà mostrata nelle tue attività.

    
risposta data 17.11.2013 - 01:52
fonte
1

Il test è solo una parte del tuo programma di sicurezza, ma è una parte importante.

Esistono due approcci principali ai test di sicurezza:

  • Strumenti automatici : questi sono strumenti, come Nessus, Qualys, AppScan e molti altri. Questi possono essere eseguiti da un analista IT che non è uno specialista della sicurezza, o addirittura programmato per l'esecuzione automatica.

  • Test manuale : chiedi a un'azienda specializzata in test di penetrazione di eseguire un test. Poiché ciò comporta uno sforzo manuale, è costoso e di solito viene eseguito solo occasionalmente.

È importante distinguere la sicurezza dell'applicazione e la sicurezza dell'infrastruttura.

Per i test dell'infrastruttura , gli strumenti automatici sono abbastanza adeguati; un test di penetrazione manuale non aggiunge molto valore. La possibilità di eseguire spesso strumenti automatici è un grande vantaggio. Le operazioni commerciali più importanti hanno uno strumento di test delle infrastrutture gestito internamente.

Per i test delle applicazioni , gli strumenti automatici sono solo una parte dell'immagine. Ci sono molte vulnerabilità che un test di penetrazione manuale può trovare che uno strumento automatico non può. Le operazioni commerciali più serie hanno test manuali eseguiti periodicamente. Per andare oltre, devi avere sia uno strumento automatico che gestisci internamente, sia alcuni test di penetrazione.

Esistono due approcci principali al test delle applicazioni con strumenti automatici:

  • DAST : test di sicurezza delle applicazioni dinamiche, ovvero scansione di un'applicazione in esecuzione
  • SAST - Test della sicurezza delle applicazioni statiche, ad esempio analisi del codice sorgente

In generale SAST è un approccio migliore in quanto è più completo e i risultati sono presentati in una forma più utile per gli sviluppatori (ad esempio, si è verificato un problema in myfile.java riga 163). Tuttavia, DAST e SAST rileveranno serie di problemi leggermente diversi e hanno tendenze diverse per i falsi positivi. Come tale tendenza in crescita è l'integrazione DAST e SAST, che è un tentativo di ottenere entrambi i mondi migliori.

    
risposta data 17.11.2013 - 17:20
fonte
0

Per i controlli lato server yea Qualys sarà sufficiente. Tuttavia in termini di applicazione web non è sufficiente.

Oltre a questo test di penetrazione è diverso rispetto alla scansione di vulnerabilità. Durante la scansione delle vulnerabilità, gli strumenti automatizzati eseguono scansioni di vulnerabilità ben note e roba basata sulla firma.

Ad esempio, è possibile eseguire lo scanner di applicazioni Web e trovare vulnerabilità XSS, se esistente. Ma non sarai in grado di trovare problemi logici come l'escalation dei privilegi, ecc.

O dal lato rete, non sarai in grado di trovare elementi architettonici con Qualys. ma sarà in grado di trovare, problemi di patch mancanti, roba ssl debole, vulnerabilità di base del servizio ecc.

In breve, per un controllo corretto, dovresti separare gli strumenti in termini di ambiente. Ad esempio, Qualys per roba di base del server periodicamente e Netsparker, Arachni ecc per lato dell'applicazione web del progetto. Quelli sono controlli automatizzati periodicamente. Oltre a questo almeno una volta e con tutte le principali modifiche al codice, dovrebbe esserci un corretto processo di test di penetrazione.

Questo metodo fornirà una seria panoramica sulla tua sicurezza.

Spero che aiuti

    
risposta data 17.11.2013 - 18:47
fonte
0

Per prima cosa gettiamo un po 'di luce sulle diverse valutazioni disponibili per le applicazioni web.

Una scansione eseguita con un buon scanner professionale fornisce informazioni preziose su configurazioni errate dell'infrastruttura (ad esempio, rileva le password predefinite, verifica le vulnerabilità note), ma non molto di più. Se vai in questo modo, assicurati che il tester verifichi i falsi positivi, poiché gli scanner sono molto inclini a questi.

Una valutazione della vulnerabilità mira a trovare la maggior parte delle vulnerabilità, anche con test pratici. È una valutazione molto più efficace di una semplice scansione, poiché un vero tester è in grado di trovare difetti logici e non solo "tecnici". Con questo tipo di test sarai in grado di capire quanti problemi ha l'applicazione.

Infine, un test di penetrazione mira a scoprire l'impatto che hanno le possibili vulnerabilità. Mentre un VA si concentra sulla ricerca delle maggiori vulnerabilità, un obiettivo PT è quello di sfruttare alcuni difetti e mostrare al cliente il vero danno che può essere fatto da un aggressore esperto.

Dato che hai dichiarato che la tua applicazione non contiene dati sensibili, ti suggerirei una valutazione della vulnerabilità . Sebbene di solito è più costoso di una semplice scansione, fornirà informazioni sugli errori che potresti fare durante lo sviluppo, evitandoli in futuro.

    
risposta data 18.11.2013 - 09:30
fonte

Leggi altre domande sui tag