Introduzione ai test di sicurezza

Security Testing è un tipo di test software progettato per rilevare le vulnerabilità del sistema e garantire che le sue informazioni e risorse siano protette da possibili intrusi. Allo stesso modo, un'applicazione web necessita, oltre alla protezione dei dati, di sicurezza per quanto riguarda il suo accesso. L'applicazione dovrebbe essere immune da attacchi di forza bruta e XSS, iniezioni SQL, da uno sviluppatore web. Allo stesso modo, anche i punti di accesso remoto dell'applicazione Web devono essere sicuri. Tuttavia, il significato della sicurezza cresce esponenzialmente quando parliamo di Internet. Nessuno potrà mai pensare che se un sistema online non è in grado di proteggere i dati delle transazioni. La sicurezza non è ancora un termine per la sua definizione.
Ecco l'elenco di alcuni dei difetti di sicurezza
• Se la sezione "Iscrizione" può modificare le informazioni dell'esame, un sistema di gestione degli studenti non è sicuro.
• Se DEO (operatore di immissione dati) è in grado di produrre "report", uno schema ERP non è sicuro.
• Se i dettagli della carta di credito di un cliente non sono crittografati, il sito Web online non è sicuro.
• Un software personalizzato ha una sicurezza insufficiente quando una query SQL trova password utente vere.

Tipi di test di sicurezza

Il Manuale sulla metodologia dei test di sicurezza open source contiene sette tipi principali di test di sicurezza. Di seguito sono descritti:

1. Scansione delle vulnerabilità

Questo viene eseguito tramite software automatizzato per scansionare un sistema alla ricerca di firme note della vulnerabilità.

2. Scansione di sicurezza

Include l'identificazione dei punti deboli nella rete e nel sistema e offre alternative per ridurre tali pericoli. Per la scansione manuale e automatizzata, questa scansione può essere eseguita.

3. Test di penetrazione

Questo test simula un attacco di hacker dannoso. Questo esame include l'analisi di un sistema specifico per rilevare potenziali vulnerabilità all'hacking interno.

4. Valutazione del rischio

Questo test include l'analisi dei rischi per la sicurezza osservati in azienda. I rischi hanno una classificazione bassa, media e alta. Questo test propone azioni e controlli di riduzione del rischio.

5. Controllo della sicurezza

L'audit può anche essere effettuato online per linea, ispezioni di codice e sistemi operativi per guasti di sicurezza.

6.Hacking etico

L'hacking etico non è lo stesso dell'hacking maligno. L'hacking etico ha lo scopo di identificare le carenze di sicurezza nella struttura organizzativa.

7. Valutazione della postura

Questo combina la scansione di sicurezza, le valutazioni dei rischi e l'hacking etico per mostrare una posizione di sicurezza generale di un'organizzazione.

Metodologie di test di sicurezza

Esistono diverse metodologie di test di sicurezza
1. Tiger Box
2. Scatola nera
3. Scatola grigia

Tiger Box:

Questo hacking viene generalmente eseguito su un laptop con un sistema operativo e una raccolta di strumenti di hacking. Questo test consente agli operatori di test di penetrazione e agli operatori di test di sicurezza di valutare e attaccare le vulnerabilità.

Scatola nera:

Black Box Testing è un metodo di test software noto al tester come test comportamentale. In questo modo, il design interno del prodotto di prova non è noto. Questi esami possono essere funzionali o meno.

Scatola grigia:

Gray Box Testing è una tecnica di test software che combina i test Black Box e White Box. Gray Box Testing è un metodo per il test dell'applicazione o del prodotto software che ha parte del funzionamento interno di un'implementazione.

Come possiamo fare i test di sicurezza?

È sempre stato concordato che se posticipiamo i test di sicurezza a seguito dell'implementazione o della distribuzione del software, questo costo sarà aumentato. Nelle fasi precedenti, i test di sicurezza devono essere eseguiti nel ciclo di vita di SDLC. Esaminiamo le procedure di sicurezza appropriate per ogni fase SDLC. Per le aree di input, il tester può ispezionare le lunghezze massime. Questa limitazione non può consentire a un hacker di includere tali script dannosi.
• Requisiti di valutazione della sicurezza e controllo degli abusi / abuso.
• Analisi dei rischi per la sicurezza per la progettazione. Sviluppo del piano di test, inclusi test di sicurezza.

I 10 migliori strumenti di test di sicurezza open source

Di seguito è riportato l'elenco dei principali strumenti di test di sicurezza insieme alle loro funzionalità. Puoi scegliere qualsiasi strumento in base alle tue esigenze.

1. Wapiti

Wapiti è un potente strumento di test di sicurezza delle applicazioni Web per la valutazione della sicurezza delle applicazioni Web. Esegue "test della scatola nera" per verificare la potenziale vulnerabilità nelle applicazioni Web. Esegue la scansione delle pagine Web e inietta informazioni di test per monitorare le carenze di sicurezza durante la fase di test. Wapiti definisce molteplici vulnerabilità per il supporto degli attacchi GET e POST HTTP. Wapiti è un'applicazione per comandi difficile per i principianti, ma semplice per i professionisti. Il software richiede una comprensione completa dei comandi.

Caratteristiche di Wapiti

• Iniezione XSS
• Iniezione di database
• Rilevamento dell'esecuzione del comando.
• Iniezione CRLF

2. Proxy di attacco Zed

Zed Attack Proxy, comunemente noto come ZAP, ZAP è stato creato da OWASP e con ciò ZAP è open-source. Proxy Zed Attack Supportato da Unix / Linux, Windows e Mac OS, Proxy Zed Attack consente di identificare una serie di vulnerabilità anche durante la fase di sviluppo e test nelle applicazioni web. Questo strumento di test è facile da usare, anche se sei un principiante del test di penetrazione.

Caratteristiche di Zed Attack

• Zed Attack Proxy ha uno scanner di automazione e supporto per l'autenticazione.
• Zed Attack Proxy ha anche un certificato SSL dinamico e supporto Web Socket.

3. Vega

Scritto in JAVA, Vega ha una GUI. È accessibile su Linux, Mac OS e Windows che può aiutarti. Vega è uno strumento di test delle applicazioni web gratuito e una piattaforma Open Source. Vega può aiutare a trovare e convalidare SQL Injection, Cross-Site Scripting (XSS) e altre vulnerabilità. Può anche essere usato per impostare le preferenze, come il numero di discendenti del percorso e il numero di nodi al secondo, richieste massime e minime al secondo.

Caratteristiche di Vega

• Vega ha scripting tra siti.
• Convalida iniezione SQL

4. W3af

W3af è un famoso framework di test di sicurezza per applicazioni Web. Fornisce un'efficace piattaforma di test di penetrazione delle applicazioni Web, sviluppata utilizzando Python. Questo strumento può essere utilizzato per identificare più di 200 tipi di problemi di sicurezza delle applicazioni Internet, come Cross-Site Scripting e SQL injection. Monitora le seguenti vulnerabilità delle app Web. W3af può essere facilmente compreso in entrambe le interfacce GUI e console. I moduli di autenticazione consentono inoltre di autenticare il sito Web.

Caratteristiche di W3af

• Più impostazioni difettose CORS
• CSRF e molta più vulnerabilità

5. Skipfish

Skipfish è uno strumento di test proctored dell'applicazione Internet che corregge il sito e verifica la presenza di eventuali punti deboli su ogni pagina e infine prepara il rapporto di audit. Skipfish è scritto in linguaggio c ed è ottimizzato per gestire HTTP e lasciare impronte di CPU minime. Senza mostrare un ingombro della CPU, il software afferma di elaborare 2 K richieste al secondo. Lo strumento afferma inoltre di offrire vantaggi di alta qualità in quanto utilizza l'euristica nelle applicazioni web. Per le applicazioni Internet, Linux, FreeBSD, Mac-OS X e Windows sono forniti con gli strumenti di valutazione della sicurezza Skipfish.

6. SQLMap

SQLMap è un comune strumento di test della sicurezza basato sul Web per automatizzare il processo di rilevamento della vulnerabilità dell'iniezione SQL su un database del sito Web. Impacchettato con una serie di diverse funzionalità, il motore di test è potente, consentendo una facile penetrazione e test di iniezione SQL su un'applicazione Web. SQLMap supporta molti database, tra cui MySQL, Oracle, PostgreSQL, Microsoft SQL, ecc. Inoltre, lo strumento di test supporta sei diversi metodi di iniezione SQL.

7. Wfuzz

Wfuzz è un altro strumento open source che può essere liberamente accessibile sul mercato per uno strumento di test della sicurezza basato sul web. Questo strumento di test è stato sviluppato in Python e viene utilizzato per applicazioni Web per la forza bruta. È necessario operare sull'interfaccia della riga di comando quando si utilizza WFuzz perché non esiste un'interfaccia GUI. Alcune delle caratteristiche di Wfuzz sono:

Caratteristiche del Wfuzz

• Wifuzz supporta più punti di iniezione.
• L'output di Wfuzz è disponibile in HTML
• Ha anche il multi-threading
• Ha anche il supporto per proxy multipli

8. Metasploit

Uno dei framework più comunemente utilizzati per i test di penetrazione. Metasploit è una piattaforma di test open source che consente test di sicurezza ben oltre la valutazione del rischio.

Caratteristiche del Metasploit

• La struttura è molto migliore di quella dei rivali.
• Molti scenari per le finte funzioni di infiltrazione

9. Acunetix

Uno strumento completo di valutazione della penetrazione dell'automazione per scansionare i tuoi siti Web per oltre 4500 vulnerabilità. La caratteristica più sorprendente di Acunetix è che può affrettare migliaia di pagine senza interruzione.

Caratteristica di Acunetix

  • Può facilmente produrre molti rimedi tecnici e di conformità.
  • Esegue la scansione di app sia open-source che personalizzate
  • Scansioni profonde per una scansione efficiente.

10. Grabber

Grabber è uno scanner open source per rilevare le vulnerabilità di sicurezza delle applicazioni Internet. Le piccole applicazioni Web come forum e siti Internet privati ​​sono mobili e possono essere scansionate. Grabber è un piccolo strumento di test che impiega più tempo a scansionare applicazioni di grandi dimensioni. Inoltre, lo scanner non ha un'interfaccia GUI e nessuna funzione di generazione di report PDF poiché è progettato per essere utilizzato per uso personale.

Caratteristiche di Grabber

• Backup verifica file
• Verifica Ajax

Conclusione

In questo articolo abbiamo visto cosa sono i test di sicurezza, perché ne abbiamo bisogno insieme a diversi tipi di test di sicurezza, strumenti utilizzati per eseguire i test e funzionalità. Spero che questo articolo ti aiuti a scegliere gli strumenti di test in base ai requisiti e alle funzionalità sopra indicati.

Articoli consigliati

Questa è una guida ai test di sicurezza. Qui discutiamo l'introduzione, i tipi, le metodologie e i 10 migliori strumenti di test di sicurezza open source. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -

  1. Alpha Testing vs Beta Testing
  2. Test statici
  3. Che cos'è il test di usabilità?
  4. Strumenti di test delle prestazioni
  5. Vantaggi e svantaggi del beta test
  6. Scopri gli strumenti di test delle applicazioni

Categoria: