Domanda:
La scansione vuln esterna è sufficiente?
AviD
2010-11-12 18:39:33 UTC
view on stackexchange narkive permalink

L'esecuzione di uno scanner automatico delle vulnerabilità delle applicazioni è sufficiente per certificare la sicurezza dell'applicazione? Perché non lo è?


Dalla proposta originale dell'Area 51.

Vedi anche http://security.stackexchange.com/questions/215/automated-tools-vs-manual-reviews e http://security.stackexchange.com/questions/214/white-box-vs-black-box che discutere diversi aspetti di questo problema (ma non del tutto duplicato).
Quattro risposte:
anonymous
2010-11-12 19:09:27 UTC
view on stackexchange narkive permalink

Sicuramente i controlli automatici non sono sufficienti e crediamo che non lo saranno mai. Bene, fino a quando non verrà creata un'intelligenza artificiale. Come ad esempio i fuzzer, possono coprire solo i controlli che falliscono per input severi. I bug logici verranno persi. L'analisi del codice sorgente mostra buoni risultati quando si parla di bug veramente gravi e di quelle vulnerabilità che richiedono diverse condizioni per essere soddisfatte. L'analisi binaria potrebbe essere scoraggiante per una persona non così esperta, ma è possibile ispezionare l'applicazione del codice sorgente chiuso e inoltre tiene conto delle specifiche del compilatore che sono impossibili da diagnosticare durante l'analisi del codice sorgente. Quindi, ogni metodo ha il suo vantaggio e non dovrebbe essere usato da solo.

Sono d'accordo con questa risposta. Inoltre, utilizzando strumenti automatizzati, non sarai in grado di controllare i difetti di sicurezza nella logica di business dell'applicazione. La combinazione di test automatici e manuali è IMO il modo corretto. Ad esempio, in OWASP Application Security Verification Standard, il test automatico è solo il primo livello di verifica se l'applicazione è sicura: http://code.google.com/p/owasp-asvs/wiki/Approach
Tate Hansen
2010-11-14 12:48:38 UTC
view on stackexchange narkive permalink

Affidarsi solo alla scansione automatica delle vulnerabilità per controllare la sicurezza della maggior parte delle applicazioni è terribilmente inadeguato.

Perché? Perché gli strumenti automatizzati non rileveranno le vulnerabilità (errori di tipo II / falsi negativi) .

L'implicazione più brutta di questa domanda è che la sicurezza dell'applicazione è importante ma è stata ignorata durante lo sviluppo.

Ma ovviamente è stato ignorato, ma puoi elaborare a beneficio di coloro che avrebbero potuto porre la domanda?
Se uno strumento automatico non rileva una vulnerabilità, non è un errore di tipo I: ovvero falso negativo?
O forse intendi un errore di tipo III, cioè un falso positivo "falso"?
atdre, sì, volevo dire falsi negativi, lo aggiusterò
atdre
2010-11-14 18:38:31 UTC
view on stackexchange narkive permalink

Le applicazioni non possono essere certificate come sicure nello stesso modo in cui i veicoli non possono essere certificati come sicuri da guidare. Il tuo meccanico potrebbe darti un elenco di cose che ha controllato e forse anche verificato come sicure. Tuttavia, ciò non significa che qualcosa non andrà storto una volta che avrai messo la tua auto su strada o in pista.

Solo i meccanici che cercano di derubarti forniranno un'ispezione di sicurezza completamente automatizzata. Sarebbe folle pensare che nei prossimi 50 anni sarebbe giusto considerare qualsiasi applicazione completamente sicura o protetta, anche con intelligenza artificiale. Anche i metodi formali con specifiche formali sono noti per fallire.

Suggerisco di definire correttamente l'ambito della situazione unica di un'applicazione prima di determinare i risultati.

Il che penso in effetti risponda perfettamente alla domanda in quanto ciò che stai dicendo è che è impossibile fare affidamento solo su software di test di vulnerabilità automatizzato.
Personalmente, ritengo che gli scanner automatici delle vulnerabilità, che si tratti di rete, applicazione o tipo di codice, perdano tutti come il 99,9% delle vulnerabilità e segnalano informazioni su false vulnerabilità (o false informazioni su di esse) il 99,9% delle volte. Gli unici dati di cui ho il backup sono i dati NIST SATE del 2008 e del 2009
spinkham
2010-11-20 02:22:27 UTC
view on stackexchange narkive permalink

Sufficiente per cosa?

Sufficiente per difendersi da altri attacchi puramente automatizzati come i worm? Probabilmente.

Sufficiente per difendersi da attacchi mirati di aggressori esperti? Certamente no.

Una domanda migliore è "Una scansione automatica riduce il rischio a un livello accettabile per la mia applicazione?" La risposta è, ovviamente, dipende ...

Per usare un'analogia, non faresti la domanda: "È sufficiente andare dal mio medico generico?" senza il contesto di "Ho bisogno di un controllo annuale" o "Mi sono appena tagliato metà del busto con la motosega".

Una scansione automatica potrebbe essere sufficiente per un sito di brochureware a bassa criticità nel proprio dominio, ma sicuramente non lo è sufficiente per un'app bancaria. La maggior parte dei siti cade da qualche parte nel mezzo, quindi ... Dipende ;-)



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 2.0 con cui è distribuito.
Loading...