Cos'è il test di sicurezza? Esempio
Che cos'è il test di sicurezza?
Test di sicurezza è un tipo di Software Testing che scopre vulnerabilità, minacce, rischi in un'applicazione software e previene attacchi dannosi da parte di intrusi. Lo scopo dei Security Test è identificare tutte le possibili falle e debolezze del sistema software che potrebbero causare una perdita di informazioni, entrate, reputazione da parte dei dipendenti o di persone esterne all'organizzazione.
Perché i test di sicurezza sono importanti?
L'obiettivo principale di Test di sicurezza è identificare le minacce nel sistema e misurarne le 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.
Tipi di test di sicurezza nei test del software
Esistono sette tipi principali di test di sicurezza secondo il manuale della metodologia di test di sicurezza Open Source. Sono spiegati come segue:
- Scansione vulnerabilità: questa operazione viene eseguita tramite un software automatizzato per scansionare un sistema rispetto alle firme di vulnerabilità note.
- Scansione di sicurezza: Comporta l'identificazione delle debolezze di rete e di sistema e in seguito fornisce soluzioni per ridurre tali 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 malintenzionato. Questo test prevede l'analisi di un particolare sistema per verificare potenziali vulnerabilità a un tentativo di hacking esterno.
- Valutazione del rischio: Questo test prevede l'analisi dei rischi per la sicurezza osservati nell'organizzazione. I rischi sono classificati come Basso, Medio e Alto. Questo test raccomanda controlli e misure per ridurre il rischio.
- Controllo della sicurezza: Questa è un'ispezione interna delle applicazioni e Operasistemi di ting per difetti di sicurezza. Un controllo può essere effettuato 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 il proprio tornaconto, l'intento è quello di esporre le falle di sicurezza nel sistema.
- Valutazione della postura: Questo combina la scansione di sicurezza, Ethical Hacking e valutazioni del rischio per mostrare la posizione di sicurezza complessiva di un'organizzazione.
Come eseguire i test di sicurezza
Resta sempre inteso che il costo sarà maggiore se rimandiamo 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 corrispondenti processi di sicurezza da adottare per ogni fase in SDLC
Fasi SDLC | Processi di sicurezza |
---|---|
Requisiti | Analisi di sicurezza per requisiti e verifica casi di abuso/uso improprio |
Progettazione | Analisi dei rischi per la sicurezza per la progettazione. Sviluppo di Piano di test compresi i test di sicurezza |
Codifica e test unitari | Test e sicurezza statici e dinamici Bianco Box Testing |
Test d'integrazione | Nero Box Testing |
Test di sistema | Nero Box Test e scansione delle vulnerabilità |
Implementazione/Attuazione | Test di penetrazione, Scansione delle vulnerabilità |
Assistenza | Analisi dell'impatto delle patch |
Il piano di test dovrebbe includere
- Casi di test o scenari relativi alla sicurezza
- Test Dati relativi ai test di sicurezza
- Strumenti di test necessari per i test di sicurezza
- Analisi dei vari risultati dei test provenienti da diversi strumenti di sicurezza
Scenari di test di esempio per i test di sicurezza
Scenari di test di esempio per darti un'idea dei casi di test di sicurezza –
- La password deve essere in formato crittografato
- L'applicazione o il sistema non devono consentire 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:
- Tigre 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 tester di sicurezza a condurre valutazioni delle vulnerabilità e attacchi.
- Nero Box: Il tester è autorizzato a eseguire test su tutto ciò che riguarda la topologia di rete e la tecnologia.
- Grigio Box: Al tester vengono fornite informazioni parziali sul sistema, che è un ibrido tra modelli white box e black box.
Ruoli nei test di sicurezza
- Hacker: accedono al sistema informatico o alla rete senza autorizzazione
- Cracker: irrompono nei sistemi per rubare o distruggere dati
- Hacker etico: esegue la maggior parte delle attività di violazione ma con il permesso del proprietario
- Script Kiddies o packet Monkeys: hacker inesperti con competenze nel linguaggio di programmazione
Strumenti di test di sicurezza
1) Teramind
Teramind offre una suite completa per la prevenzione delle minacce interne e il monitoraggio dei dipendenti. Migliora la sicurezza attraverso l'analisi del comportamento e la prevenzione della perdita di dati, garantendo la conformità e ottimizzando i processi aziendali. La sua piattaforma personalizzabile si adatta a varie esigenze organizzative, fornendo informazioni utili incentrate sull'aumento della produttività e sulla salvaguardia dell'integrità dei dati.
Caratteristiche:
- Prevenzione delle minacce interne: Rileva e previene le azioni dell'utente che potrebbero indicare minacce interne ai dati.
- Ottimizzazione dei processi aziendali: Utilizza analisi comportamentali basate sui dati per ridefinire i processi operativi.
- Produttività della forza lavoro: Monitora i comportamenti di produttività, sicurezza e conformità della forza lavoro.
- Gestione della conformità: Aiuta a gestire la conformità con un'unica soluzione scalabile adatta a piccole imprese, imprese ed enti governativi.
- Analisi forense degli incidenti: Fornisce prove per arricchire la risposta agli incidenti, le indagini e l'intelligence sulle minacce.
- Prevenzione della perdita dei dati: Monitora e protegge dalla potenziale perdita di dati sensibili.
- Monitoraggio dei dipendenti: Offre funzionalità per monitorare le prestazioni e le attività dei dipendenti.
- Analisi comportamentale: Analizza i dati granulari sul comportamento delle app dei clienti per ottenere approfondimenti.
- Impostazioni di monitoraggio personalizzabili: Consente la personalizzazione delle impostazioni di monitoraggio per adattarsi a casi d'uso specifici o per implementare regole predefinite.
- Approfondimenti sulla dashboard: Fornisce visibilità e informazioni utili sulle attività della forza lavoro attraverso un dashboard completo.
2) Owasp
Il progetto Open Web Application Security (OWASP) è un'organizzazione mondiale senza scopo di lucro focalizzata sul miglioramento della sicurezza del software. Il progetto dispone di molteplici strumenti per testare vari ambienti e protocolli software. Gli strumenti di punta del progetto includono
- Proxy di attacco Zed (ZAP – uno strumento integrato di penetration test)
- Controllo delle dipendenze OWASP (esegue la scansione delle dipendenze del progetto e verifica le vulnerabilità conosciute)
- Progetto di ambiente di test Web OWASP (raccolta di strumenti e documentazione di sicurezza)
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. È open source e può essere utilizzato su Linux, Windows, OSX, Solaris, NetBSD, FreeBSD e molti altri sistemi. Le informazioni recuperate tramite questo strumento possono essere visualizzate tramite una GUI o la modalità TTY TShark Utility.
4)W3af
w3af è un framework di attacco e controllo delle applicazioni web. Ha tre tipi di plugin; rilevamento, controllo e attacco che comunicano tra loro per eventuali vulnerabilità nel sito, ad esempio un plug-in di rilevamento in w3af cerca URL diversi per testare le vulnerabilità e lo inoltra al plug-in di controllo che quindi utilizza questi URL per cercare le vulnerabilità.
Miti e fatti sui test di sicurezza
Parliamo di un argomento interessante sui miti e fatti sui test di sicurezza:
Mito # 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 evidenziare aree di miglioramento che possono migliorare l'efficienza e ridurre i tempi di inattività, consentendo la massima produttività.
Mito # 3: L'unico modo per proteggerlo è scollegarlo.
Fatto: l'unico e il modo migliore per proteggere un'organizzazione è trovare la "sicurezza perfetta". È 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'azienda.
Fatto: uno dei maggiori problemi è acquistare 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 verifica se i dati riservati rimangono riservati. In questo tipo di test, il tester svolge il ruolo dell'attaccante e gioca nel 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.