Che cos'è il test di sicurezza?
TEST DI SICUREZZA è un tipo di test del software che scopre vulnerabilità, minacce e rischi in un'applicazione software e previene attacchi dannosi da parte di intrusi. Lo scopo dei test di sicurezza è identificare tutte le possibili scappatoie e debolezze del sistema software che potrebbero comportare una perdita di informazioni, entrate, reputazione da parte dei dipendenti o di estranei all'Organizzazione.
Perché i test di sicurezza sono importanti?
L'obiettivo principale del test di sicurezza è identificare le minacce nel sistema e misurare le sue potenziali vulnerabilità, in modo che le minacce possano essere incontrate e il sistema non smetta di funzionare o non possa essere sfruttato. Aiuta anche a rilevare tutti i possibili rischi per la sicurezza nel sistema e aiuta gli sviluppatori a risolvere i problemi attraverso la codifica.
In questo tutorial imparerai-
- Che cos'è il test di sicurezza?
- Tipi di test di sicurezza
- Come eseguire i test di sicurezza
- Scenari di test di esempio per i test di sicurezza
- Metodologie / approccio / tecniche per i test di sicurezza
- Ruoli di test di sicurezza
- Strumento di test di sicurezza
- Miti e fatti sui test di sicurezza
Tipi di test di sicurezza:
Esistono sette tipi principali di test di sicurezza secondo il manuale della metodologia di test di sicurezza Open Source. Sono spiegati come segue:
- Scansione delle vulnerabilità : viene eseguita tramite software automatizzato per eseguire la scansione di un sistema contro firme di vulnerabilità note.
- Scansione della sicurezza: implica l'identificazione dei punti deboli della rete e del sistema e in seguito fornisce soluzioni per ridurre questi rischi. Questa scansione può essere eseguita sia per la scansione manuale che per quella automatica.
- Test di penetrazione : questo tipo di test simula un attacco da parte di un hacker dannoso. Questo test prevede l'analisi di un particolare sistema per verificare la presenza di potenziali vulnerabilità a un tentativo di hacking esterno.
- Valutazione del rischio: questo test comprende l'analisi dei rischi per la sicurezza osservati nell'organizzazione. I rischi sono classificati in basso, medio e alto. Questo test raccomanda controlli e misure per ridurre il rischio.
- Controllo della sicurezza: si tratta di un'ispezione interna delle applicazioni e dei sistemi operativi per rilevare eventuali falle di sicurezza. È possibile eseguire un audit anche tramite l'ispezione riga per riga del codice
- Hacking etico: sta hackerando i sistemi software di un'organizzazione. A differenza degli hacker malintenzionati, che rubano per i propri guadagni, l'intento è quello di esporre i difetti di sicurezza nel sistema.
- Valutazione della postura: combina la scansione della sicurezza, l'hacking etico e le valutazioni del rischio per mostrare una posizione di sicurezza complessiva di un'organizzazione.
Come eseguire i test di sicurezza
È sempre stato concordato che il costo sarà maggiore se posticipiamo i test di sicurezza dopo la fase di implementazione del software o dopo la distribuzione. Pertanto, è necessario coinvolgere i test di sicurezza nel ciclo di vita dell'SDLC nelle fasi precedenti.
Esaminiamo i processi di sicurezza corrispondenti da adottare per ogni fase in SDLC
Fasi SDLC | Processi di sicurezza |
---|---|
Requisiti | Analisi della sicurezza per i requisiti e controllo dei casi di abuso / uso improprio |
Design | Analisi dei rischi per la sicurezza per la progettazione. Sviluppo del piano di test comprensivo di test di sicurezza |
Codifica e unit test | Test statici e dinamici e test white box di sicurezza |
Test d'integrazione | Test della scatola nera |
Test di sistema | Test Black Box e scansione delle vulnerabilità |
Implementazione | Penetration test, scansione delle vulnerabilità |
Supporto | Analisi dell'impatto delle patch |
Il piano di test dovrebbe includere
- Scenari o casi di test relativi alla sicurezza
- Dati di test relativi ai test di sicurezza
- Strumenti di test richiesti per i test di sicurezza
- Analisi di vari output di test da diversi strumenti di sicurezza
Scenari di test di esempio per i test di sicurezza:
Esempi di scenari di test per darti un'idea dei casi di test di sicurezza -
- Una password dovrebbe essere in formato crittografato
- L'applicazione o il sistema non devono consentire agli utenti non validi
- Controlla i cookie e il tempo di sessione per l'applicazione
- Per i siti finanziari, il pulsante Indietro del browser non dovrebbe funzionare.
Metodologie / approccio / tecniche per i test di sicurezza
Nei test di sicurezza, vengono seguite diverse metodologie e sono le seguenti:
- Tiger Box : questo hacking viene solitamente eseguito su un laptop che dispone di una raccolta di sistemi operativi e strumenti di hacking. Questo test aiuta i penetration tester e i security tester a condurre valutazioni e attacchi delle vulnerabilità.
- Black Box : Tester è autorizzato a eseguire test su tutto ciò che riguarda la topologia di rete e la tecnologia.
- Scatola grigia : al tester vengono fornite informazioni parziali sul sistema, che è un ibrido di modelli a scatola bianca e nera.
Ruoli di test di sicurezza
- Hacker: accedono al sistema informatico o alla rete senza autorizzazione
- Cracker - Entra nei sistemi per rubare o distruggere i dati
- Ethical Hacker - Esegue la maggior parte delle attività di rottura ma con il permesso del proprietario
- Script Kiddies o packet monkeys - Hacker inesperti con abilità nel linguaggio di programmazione
Strumento di test di sicurezza
1) Intruso
Intruder è uno scanner di vulnerabilità di livello aziendale facile da usare. Esegue oltre 10.000 controlli di sicurezza di alta qualità sull'infrastruttura IT, che includono, ma non sono limitati a: punti deboli della configurazione, punti deboli dell'applicazione (come SQL injection e cross-site scripting) e patch mancanti. Fornendo risultati con priorità intelligente e scansioni proattive per le minacce più recenti, Intruder aiuta a risparmiare tempo e protegge le aziende di tutte le dimensioni dagli hacker.
Caratteristiche:
- Connettori AWS, Azure e Google Cloud
- Risultati specifici perimetrale per ridurre la superficie di attacco esterna
- Reportistica di alta qualità
- Integrazioni di Slack, Microsoft Teams, Jira, Zapier
- Integrazione API con la tua pipeline CI / CD
2) Owasp
L'Open Web Application Security Project (OWASP) è un'organizzazione mondiale senza scopo di lucro focalizzata sul miglioramento della sicurezza del software. Il progetto dispone di più strumenti per testare tramite penna vari ambienti e protocolli software. Gli strumenti di punta del progetto includono
- Zed Attack Proxy (ZAP - uno strumento di penetration test integrato)
- OWASP Dependency Check (esegue la scansione delle dipendenze del progetto e controlla le vulnerabilità note)
- OWASP Web Testing Environment Project (raccolta di strumenti di sicurezza e documentazione)
3) WireShark
Wireshark è uno strumento di analisi di rete precedentemente noto come Ethereal. Cattura i pacchetti in tempo reale e li visualizza in un formato leggibile dall'uomo. Fondamentalmente, è un analizzatore di pacchetti di rete che fornisce i dettagli minuti sui protocolli di rete, la decrittazione, le informazioni sui pacchetti, ecc. È un open source e può essere utilizzato su Linux, Windows, OS X, Solaris, NetBSD, FreeBSD e molti altri altri sistemi. Le informazioni recuperate tramite questo strumento possono essere visualizzate tramite una GUI o l'utilità TShark in modalità TTY.
4) W3af
w3af è un attacco alle applicazioni web e un framework di audit. Ha tre tipi di plugin; discovery, audit e attack che comunicano tra loro per qualsiasi vulnerabilità nel sito, ad esempio un plug-in di discovery in w3af cerca URL diversi per testare le vulnerabilità e lo inoltra al plug-in di audit che quindi utilizza questi URL per cercare vulnerabilità.
Miti e fatti sui test di sicurezza:
Parliamo di un argomento interessante sui miti e sui fatti dei test di sicurezza:
Mito n. 1 Non abbiamo bisogno di una politica di sicurezza poiché abbiamo una piccola impresa
Fatto: tutti e ogni azienda hanno bisogno di una politica di sicurezza
Mito # 2 Non vi è alcun ritorno sull'investimento nei test di sicurezza
Fatto: i test di sicurezza possono indicare aree di miglioramento che possono migliorare l'efficienza e ridurre i tempi di inattività, consentendo il massimo rendimento.
Mito n. 3 : l'unico modo per proteggerlo è scollegarlo.
Fatto: l'unico e il modo migliore per proteggere un'organizzazione è trovare "Perfect Security". È possibile ottenere una sicurezza perfetta eseguendo una valutazione della postura e confrontandola con giustificazioni aziendali, legali e di settore.
Mito # 4 : Internet non è sicuro. Acquisterò software o hardware per salvaguardare il sistema e salvare l'attività.
Fatto: uno dei problemi maggiori è l'acquisto di software e hardware per la sicurezza. Invece, l'organizzazione dovrebbe prima comprendere la sicurezza e poi applicarla.
Conclusione:
Il test di sicurezza è il test più importante per un'applicazione e controlla se i dati riservati rimangono riservati. In questo tipo di test, il tester interpreta il ruolo dell'aggressore e gioca intorno al sistema per trovare bug relativi alla sicurezza. I test di sicurezza sono molto importanti nell'ingegneria del software per proteggere i dati con tutti i mezzi.