Penetration Testing - Guida rapida
Cos'è il Penetration Test?
Il test di penetrazione è un tipo di test di sicurezza utilizzato per testare l'insicurezza di un'applicazione. Viene eseguito per individuare il rischio per la sicurezza che potrebbe essere presente nel sistema.
Se un sistema non è protetto, qualsiasi utente malintenzionato può interrompere o ottenere l'accesso autorizzato a quel sistema. Il rischio per la sicurezza è normalmente un errore accidentale che si verifica durante lo sviluppo e l'implementazione del software. Ad esempio, errori di configurazione, errori di progettazione e bug del software, ecc.
Perché è richiesto il Penetration Test?
Il test di penetrazione normalmente valuta la capacità di un sistema di proteggere le sue reti, applicazioni, endpoint e utenti da minacce esterne o interne. Tenta inoltre di proteggere i controlli di sicurezza e garantisce solo l'accesso autorizzato.
Il test di penetrazione è essenziale perché:
Identifica un ambiente di simulazione, ovvero il modo in cui un intruso può attaccare il sistema white hat attack.
Aiuta a trovare aree deboli in cui un intruso può attaccare per ottenere l'accesso alle funzioni e ai dati del computer.
Supporta per evitare black hat attack e protegge i dati originali.
Stima l'entità dell'attacco al potenziale business.
Fornisce prove per suggerire perché è importante aumentare gli investimenti nell'aspetto della sicurezza della tecnologia
Quando eseguire il Penetration Test?
Il test di penetrazione è una caratteristica essenziale che deve essere eseguita regolarmente per garantire il funzionamento di un sistema. Oltre a questo, dovrebbe essere eseguito ogni volta che:
- Il sistema di sicurezza scopre nuove minacce da parte degli aggressori.
- Aggiungi una nuova infrastruttura di rete.
- Aggiorna il tuo sistema o installa nuovo software.
- Trasferisci il tuo ufficio.
- Hai impostato un nuovo programma / criterio per l'utente finale.
In che modo è utile il Penetration Test?
Il test di penetrazione offre i seguenti vantaggi:
Enhancement of the Management System- Fornisce informazioni dettagliate sulle minacce alla sicurezza. Oltre a ciò, classifica anche il grado di vulnerabilità e ti suggerisce quale è più vulnerabile e quale è meno. Pertanto, puoi gestire facilmente e accuratamente il tuo sistema di sicurezza allocando le risorse di sicurezza di conseguenza.
Avoid Fines- I test di penetrazione mantengono aggiornate le principali attività della tua organizzazione e sono conformi al sistema di controllo. Quindi, i test di penetrazione ti proteggono dal dare multe.
Protection from Financial Damage- Una semplice violazione del sistema di sicurezza può causare milioni di dollari di danni. I test di penetrazione possono proteggere la tua organizzazione da tali danni.
Customer Protection- La violazione anche dei dati di un singolo cliente può causare ingenti danni finanziari e danni alla reputazione. Protegge le organizzazioni che trattano con i clienti e mantiene intatti i loro dati.
Il test di penetrazione è una combinazione di tecniche che considera vari problemi dei sistemi e verifica, analizza e fornisce soluzioni. Si basa su una procedura strutturata che esegue test di penetrazione passo dopo passo.
Questo capitolo descrive i vari passaggi o fasi del metodo del test di penetrazione.
Fasi del metodo del test di penetrazione
Di seguito sono riportati i sette passaggi del test di penetrazione:
Pianificazione e preparazione
La pianificazione e la preparazione iniziano con la definizione degli scopi e degli obiettivi del test di penetrazione.
Il cliente e il tester definiscono congiuntamente gli obiettivi in modo che entrambe le parti abbiano gli stessi obiettivi e comprensione. Gli obiettivi comuni dei test di penetrazione sono:
- Identificare la vulnerabilità e migliorare la sicurezza dei sistemi tecnici.
- Avere la sicurezza IT confermata da una terza parte esterna.
- Aumentare la sicurezza dell'infrastruttura organizzativa / del personale.
Ricognizione
La ricognizione include un'analisi delle informazioni preliminari. Molte volte, un tester non ha molte informazioni oltre alle informazioni preliminari, ad esempio un indirizzo IP o un blocco di indirizzi IP. Il tester inizia analizzando le informazioni disponibili e, se necessario, le richieste di ulteriori informazioni come descrizioni del sistema, piani di rete, ecc. Dal cliente. Questo passaggio è il test di penetrazione passivo, una sorta di. L'unico obiettivo è ottenere un'informazione completa e dettagliata dei sistemi.
Scoperta
In questa fase, un penetration tester utilizzerà molto probabilmente gli strumenti automatizzati per eseguire la scansione delle risorse di destinazione per scoprire le vulnerabilità. Questi strumenti normalmente hanno i propri database che forniscono i dettagli delle ultime vulnerabilità. Tuttavia, il tester scopre
Network Discovery - Come il rilevamento di sistemi, server e altri dispositivi aggiuntivi.
Host Discovery - Determina le porte aperte su questi dispositivi.
Service Interrogation - Interroga le porte per scoprire i servizi effettivi in esecuzione su di esse.
Analisi di informazioni e rischi
In questa fase, il tester analizza e valuta le informazioni raccolte prima delle fasi del test per penetrare dinamicamente nel sistema. A causa del maggior numero di sistemi e delle dimensioni dell'infrastruttura, richiede molto tempo. Durante l'analisi, il tester considera i seguenti elementi:
Gli obiettivi definiti del penetration test.
I potenziali rischi per il sistema.
Il tempo stimato necessario per valutare potenziali falle di sicurezza per il successivo test di penetrazione attivo.
Tuttavia, dall'elenco dei sistemi identificati, il tester può scegliere di testare solo quelli che contengono potenziali vulnerabilità.
Tentativi di intrusione attivi
Questo è il passaggio più importante che deve essere eseguito con la dovuta cura. Questa fase implica la misura in cui le potenziali vulnerabilità identificate nella fase di scoperta possiedono i rischi effettivi. Questo passaggio deve essere eseguito quando è necessaria una verifica di potenziali vulnerabilità. Per quei sistemi che hanno requisiti di integrità molto elevati, la potenziale vulnerabilità e rischio deve essere attentamente considerato prima di eseguire procedure di pulizia critiche.
Analisi finale
Questo passaggio considera principalmente tutti i passaggi condotti (discussi sopra) fino a quel momento e una valutazione delle vulnerabilità presenti sotto forma di potenziali rischi. Inoltre, il tester consiglia di eliminare le vulnerabilità e i rischi. Soprattutto, il tester deve garantire la trasparenza dei test e delle vulnerabilità che ha rivelato.
Preparazione del rapporto
La preparazione del report deve iniziare con procedure di test complessive, seguite da un'analisi delle vulnerabilità e dei rischi. I rischi elevati e le vulnerabilità critiche devono avere priorità e quindi seguite dall'ordine inferiore.
Tuttavia, durante la documentazione del rapporto finale, è necessario considerare i seguenti punti:
- Riepilogo generale dei test di penetrazione.
- Dettagli di ogni passaggio e informazioni raccolte durante il test della penna.
- Dettagli di tutte le vulnerabilità e i rischi scoperti.
- Dettagli di pulizia e fissaggio dei sistemi.
- Suggerimenti per la sicurezza futura.
Generalmente, questi due termini, ovvero Penetration Testing e Vulnerability Assessment sono usati in modo intercambiabile da molte persone, a causa di incomprensioni o di pubblicità. Ma entrambi i termini sono diversi l'uno dall'altro in termini di obiettivi e altri mezzi. Tuttavia, prima di descrivere le differenze, dobbiamo prima comprendere entrambi i termini uno per uno.
Test di penetrazione
I test di penetrazione replicano le azioni di uno o più attaccanti informatici esterni e / o interni che hanno lo scopo di violare la sicurezza delle informazioni e violare i dati preziosi o interrompere il normale funzionamento dell'organizzazione. Quindi, con l'aiuto di strumenti e tecniche avanzate, un penetration tester (noto anche comeethical hacker) si sforza di controllare i sistemi critici e acquisire l'accesso ai dati sensibili.
Valutazione di vulnerabilità
D'altra parte, una valutazione delle vulnerabilità è la tecnica di identificazione (scoperta) e misurazione delle vulnerabilità di sicurezza (scansione) in un dato ambiente. Si tratta di una valutazione completa della posizione sulla sicurezza delle informazioni (analisi dei risultati). Inoltre, identifica i potenziali punti deboli e fornisce le adeguate misure di mitigazione (rimedio) per rimuovere tali punti deboli o ridurre al di sotto del livello di rischio.
Il diagramma seguente riassume la valutazione della vulnerabilità:
La tabella seguente illustra le differenze fondamentali tra test di penetrazione e valutazioni di vulnerabilità:
Test di penetrazione | Valutazioni delle vulnerabilità |
---|---|
Determina la portata di un attacco. | Crea una directory di asset e risorse in un dato sistema. |
Verifica la raccolta di dati sensibili. | Scopre le potenziali minacce a ciascuna risorsa. |
Raccoglie informazioni mirate e / o ispeziona il sistema. | Assegna valore quantificabile e significatività alle risorse disponibili. |
Pulisce il sistema e fornisce il rapporto finale. | Tenta di mitigare o eliminare le potenziali vulnerabilità di risorse preziose. |
È non intrusivo, documentazione e revisione e analisi ambientale. | Analisi completa e attraverso la revisione del sistema di destinazione e del suo ambiente. |
È ideale per ambienti fisici e architettura di rete. | È ideale per ambienti di laboratorio. |
È pensato per sistemi critici in tempo reale. | È pensato per sistemi non critici. |
Quale opzione è ideale per esercitarsi?
Entrambi i metodi hanno funzionalità e approccio diversi, quindi dipende dalla posizione di sicurezza del rispettivo sistema. Tuttavia, a causa della differenza fondamentale tra il test di penetrazione e la valutazione della vulnerabilità, la seconda tecnica è più vantaggiosa rispetto alla prima.
La valutazione delle vulnerabilità identifica i punti deboli e fornisce soluzioni per risolverli. D'altra parte, il test di penetrazione risponde solo alla domanda che "chiunque può violare la sicurezza del sistema e, in caso affermativo, che danno può fare?"
Inoltre, una valutazione delle vulnerabilità tenta di migliorare il sistema di sicurezza e sviluppa un programma di sicurezza più maturo e integrato. D'altra parte, un test di penetrazione fornisce solo un'immagine dell'efficacia del programma di sicurezza.
Come abbiamo visto qui, la valutazione della vulnerabilità è più vantaggiosa e fornisce risultati migliori rispetto ai test di penetrazione. Tuttavia, gli esperti suggeriscono che, come parte del sistema di gestione della sicurezza, entrambe le tecniche dovrebbero essere eseguite regolarmente per garantire un ambiente protetto perfetto.
Il tipo di test di penetrazione normalmente dipende dall'ambito e dai desideri e requisiti dell'organizzazione. Questo capitolo tratta i diversi tipi di test di penetrazione. È anche conosciuto comePen Testing.
Tipi di test della penna
Di seguito sono riportati i tipi importanti di test della penna:
- Penetrazione della scatola nera
- Test di penetrazione della scatola bianca
- Penetrazione della scatola grigia
Per una migliore comprensione, discutiamo ciascuno di essi in dettaglio:
Penetrazione della scatola nera
Nei test di penetrazione della scatola nera, il tester non ha idea dei sistemi che sta per testare. È interessato a raccogliere informazioni sulla rete o sul sistema di destinazione. Ad esempio, in questo test, un tester sa solo quale dovrebbe essere il risultato atteso e non sa come arrivano i risultati. Non esamina alcun codice di programmazione.
Vantaggi del Penetration Test Black Box
Presenta i seguenti vantaggi:
Il tester non deve essere necessariamente un esperto, in quanto non richiede una conoscenza linguistica specifica
Il tester verifica le contraddizioni nel sistema effettivo e nelle specifiche
Il test viene generalmente condotto con la prospettiva di un utente, non del progettista
Svantaggi del Penetration Testing Black Box
I suoi svantaggi sono:
In particolare, questi tipi di casi di test sono difficili da progettare.
Forse non ne vale la pena, poiché il designer ha già condotto un test case.
Non conduce tutto.
Test di penetrazione della scatola bianca
Si tratta di un test completo, poiché al tester è stata fornita l'intera gamma di informazioni sui sistemi e / o sulla rete come schema, codice sorgente, dettagli del sistema operativo, indirizzo IP, ecc. Normalmente è considerato come una simulazione di un attacco da parte di un fonte interna. È anche noto come test strutturale, scatola di vetro, scatola trasparente e scatola aperta.
Il test di penetrazione della scatola bianca esamina la copertura del codice ed esegue test del flusso di dati, test del percorso, test del loop, ecc.
Vantaggi del Penetration Test White Box
Presenta i seguenti vantaggi:
Assicura che tutti i percorsi indipendenti di un modulo siano stati esercitati.
Assicura che tutte le decisioni logiche siano state verificate insieme al loro valore vero e falso.
Rileva gli errori tipografici e fa il controllo della sintassi.
Trova gli errori di progettazione che potrebbero essersi verificati a causa della differenza tra il flusso logico del programma e l'effettiva esecuzione.
Penetrazione della scatola grigia
In questo tipo di test, un tester fornisce solitamente informazioni parziali o limitate sui dettagli interni del programma di un sistema. Può essere considerato un attacco da parte di un hacker esterno che ha ottenuto un accesso illegittimo ai documenti dell'infrastruttura di rete di un'organizzazione.
Vantaggi del Penetration Test della scatola grigia
Presenta i seguenti vantaggi:
Poiché il tester non richiede l'accesso al codice sorgente, non è intrusivo e imparziale
Poiché esiste una chiara differenza tra uno sviluppatore e un tester, il rischio di conflitti personali è minimo
Non è necessario fornire le informazioni interne sulle funzioni del programma e altre operazioni
Aree di Penetration Testing
Il test di penetrazione viene normalmente eseguito nelle seguenti tre aree:
Network Penetration Testing- In questo test, la struttura fisica di un sistema deve essere testata per identificare la vulnerabilità e il rischio che garantiscono la sicurezza in una rete. Nell'ambiente di rete, un tester identifica i difetti di sicurezza nella progettazione, implementazione o funzionamento della rete della rispettiva azienda / organizzazione. I dispositivi testati da un tester possono essere computer, modem o anche dispositivi di accesso remoto, ecc
Application Penetration Testing- In questo test, la struttura logica del sistema deve essere testata. È una simulazione di attacco progettata per esporre l'efficienza dei controlli di sicurezza di un'applicazione identificando vulnerabilità e rischi. Il firewall e altri sistemi di monitoraggio vengono utilizzati per proteggere il sistema di sicurezza, ma a volte necessita di test mirati soprattutto quando il traffico può passare attraverso il firewall.
The response or workflow of the system- Questa è la terza area che deve essere testata. L'ingegneria sociale raccoglie informazioni sull'interazione umana per ottenere informazioni su un'organizzazione e sui suoi computer. È utile testare la capacità della rispettiva organizzazione di impedire l'accesso non autorizzato ai propri sistemi informativi. Allo stesso modo, questo test è progettato esclusivamente per il flusso di lavoro dell'organizzazione / azienda.
Sia il test di penetrazione manuale che il test di penetrazione automatizzato vengono condotti per lo stesso scopo. L'unica differenza tra loro è il modo in cui sono condotti. Come suggerisce il nome, il test di penetrazione manuale viene eseguito da esseri umani (esperti in questo campo) e il test di penetrazione automatizzato viene eseguito dalla macchina stessa.
Questo capitolo ti aiuterà ad apprendere il concetto, le differenze e l'applicabilità di entrambi i termini.
Cos'è il Penetration Test manuale?
Il test di penetrazione manuale è il test che viene eseguito da esseri umani. In questo tipo di test, la vulnerabilità e il rischio di una macchina vengono testati da un ingegnere esperto.
In generale, i tecnici addetti ai test eseguono i seguenti metodi:
Data Collection- La raccolta dei dati gioca un ruolo chiave per i test. È possibile raccogliere dati manualmente o utilizzare servizi di strumenti (come la tecnica di analisi del codice sorgente di pagine Web, ecc.) Disponibili gratuitamente online. Questi strumenti aiutano a raccogliere informazioni come nomi di tabelle, versioni di DB, database, software, hardware o anche su diversi plugin di terze parti, ecc.
Vulnerability Assessment - Una volta raccolti i dati, aiuta i tester a identificare la debolezza della sicurezza e ad adottare misure preventive di conseguenza.
Actual Exploit - Questo è un metodo tipico utilizzato da un tester esperto per lanciare un attacco su un sistema di destinazione e, allo stesso modo, riduce il rischio di attacco.
Report Preparation- Una volta completata la penetrazione, il tester prepara un rapporto finale che descrive tutto ciò che riguarda il sistema. Infine il report viene analizzato per adottare misure correttive per proteggere il sistema di destinazione.
Tipi di Penetration Test manuale
Il test di penetrazione manuale è normalmente classificato in due modi seguenti:
Focused Manual Penetration Testing- È un metodo molto mirato che testa specifiche vulnerabilità e rischi. I test di penetrazione automatizzati non possono eseguire questo test; è fatto solo da esperti umani che esaminano le vulnerabilità delle applicazioni specifiche all'interno dei domini dati.
Comprehensive Manual Penetration Testing- È attraverso il test di interi sistemi collegati tra loro per identificare tutti i tipi di rischio e vulnerabilità. Tuttavia, la funzione di questo test è più situazionale, come indagare se più errori a basso rischio possono portare scenari di attacco più vulnerabili, ecc.
Cos'è il Penetration Test automatizzato?
Il test di penetrazione automatizzato è molto più veloce, efficiente, facile e affidabile e verifica automaticamente la vulnerabilità e il rischio di una macchina. Questa tecnologia non richiede alcun ingegnere esperto, ma può essere gestita da chiunque abbia la minima conoscenza di questo campo.
Gli strumenti per i test di penetrazione automatizzati sono Nessus, Metasploit, OpenVAs, backtract (serie 5), ecc. Questi sono strumenti molto efficienti che hanno cambiato l'efficienza e il significato dei test di penetrazione.
Tuttavia, la tabella seguente illustra la differenza fondamentale tra il test di penetrazione manuale e automatico:
Test di penetrazione manuale | Penetration test automatizzato |
---|---|
Richiede un ingegnere esperto per eseguire il test. | È automatizzato, quindi anche uno studente può eseguire il test. |
Richiede diversi strumenti per il test. | Ha strumenti integrati che richiedono qualsiasi cosa dall'esterno. |
In questo tipo di test, i risultati possono variare da test a test. | Ha risultato fisso. |
Questo test richiede di ricordare la pulizia della memoria da parte del tester. | Non è così. |
È esaustivo e richiede tempo. | È più efficiente e veloce. |
Ha ulteriori vantaggi, ad esempio se un esperto esegue un test di penna, può analizzare meglio, può pensare cosa può pensare un hacker e dove può attaccare. Quindi, può mettere la sicurezza di conseguenza. | Non può analizzare la situazione. |
Secondo il requisito, un esperto può eseguire più test. | Non può. |
Per condizioni critiche, è più affidabile. | Non è. |
I test di penetrazione, normalmente consistono nella raccolta di informazioni, nell'analisi delle vulnerabilità e dei rischi, negli exploit delle vulnerabilità e nella preparazione del report finale.
È inoltre essenziale apprendere le caratteristiche dei vari strumenti disponibili con i test di penetrazione. Questo capitolo fornisce informazioni e approfondimenti su queste funzionalità.
Cosa sono gli strumenti di penetration test?
La tabella seguente raccoglie alcuni degli strumenti di penetrazione più significativi e ne illustra le caratteristiche:
Nome strumento | Scopo | Portabilità | Costo previsto |
---|---|---|---|
Hping | Scansione delle porte Fingerprinting OC remoto |
Linux, NetBSD, FreeBSD, OpenBSD, |
Gratuito |
Nmap | Scansione in rete Scansione delle porte Rilevamento del sistema operativo |
Linux, Windows, FreeBSD, OS X, HP-UX, NetBSD, Sun, OpenBSD, Solaris, IRIX, Mac, ecc. | Gratuito |
SuperScan | Esegue query tra cui ping, whois, ricerche di nomi host, ecc. Rileva le porte UDP / TCP aperte e determina quali servizi sono in esecuzione su tali porte. |
Windows 2000 / XP / Vista / 7 | Gratuito |
p0f | Impronte digitali del sistema operativo Rilevamento del firewall |
Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X, Solaris, Windows e AIX | Gratuito |
Xprobe | Impronta digitale attiva remota del sistema operativo Scansione delle porte Fingerprinting TCP |
Linux | Gratuito |
Httprint | Rilevamento SSL di fingerprinting del server Web Rileva dispositivi abilitati per il Web (ad es. Punti di accesso wireless, switch, modem, router) |
Linux, Mac OS X, FreeBSD, Win32 (riga di comando e GUI | Gratuito |
Nessus | Rileva le vulnerabilità che consentono al cracker remoto di controllare / accedere ai dati sensibili | Mac OS X, Linux, FreeBSD, Apple, Oracle Solaris, Windows | Gratis in edizione limitata |
GFI LANguard | Rileva le vulnerabilità di rete | Windows Server 2003/2008, Windows 7 Ultimate / Vista, Windows 2000 Professional, Business / XP, Sever 2000/2003/2008 | Solo versione di prova gratuita |
Iss Scanner | Rileva le vulnerabilità di rete | Windows 2000 Professional con SP4, Windows Server 2003 Standard con SO1, Windows XP Professional con SP1a | Solo versione di prova gratuita |
Shadow Security Scanner | Rileva le vulnerabilità di rete, controlla proxy e server LDAP | Windows ma scansiona server costruiti su qualsiasi piattaforma | Solo versione di prova gratuita |
Metasploit Framework | Sviluppa ed esegui codice di exploit su una destinazione remota Testare la vulnerabilità dei sistemi informatici |
Tutte le versioni di Unix e Windows | Gratuito |
Bruto | Telnet, ftp e cracker di password http | Windows 9x / NT / 2000 | Gratuito |
I sistemi informatici e le reti associate sono normalmente costituiti da un gran numero di dispositivi e la maggior parte di essi svolge un ruolo importante nella conduzione dei lavori e delle attività complessive del rispettivo sistema. Un piccolo difetto in qualsiasi momento e in qualsiasi parte di questi dispositivi può causare gravi danni alla tua attività. Pertanto, sono tutti vulnerabili ai rischi e devono essere protetti adeguatamente.
Che cos'è il Penetration Test dell'infrastruttura?
I test di penetrazione dell'infrastruttura includono tutti i sistemi informatici interni, i dispositivi esterni associati, la rete Internet, il cloud e i test di virtualizzazione.
Che sia nascosto nella rete aziendale interna o alla vista del pubblico, c'è sempre la possibilità che un utente malintenzionato possa sfruttare e danneggiare la tua infrastruttura. Quindi, è meglio essere al sicuro in anticipo piuttosto che rimpiangere in seguito.
Tipi di test di penetrazione dell'infrastruttura
Di seguito sono riportati i tipi importanti di test di penetrazione dell'infrastruttura:
- Penetration test di infrastrutture esterne
- Penetration test dell'infrastruttura interna
- Penetration test di cloud e virtualizzazione
- Penetration test di sicurezza wireless
Test di infrastrutture esterne
Il penetration test, mirato all'infrastruttura esterna, scopre cosa potrebbe fare un hacker con le tue reti, che è facilmente accessibile tramite Internet.
In questo test, un tester replica normalmente lo stesso tipo di attacchi che gli hacker possono utilizzare trovando e mappando le falle di sicurezza nella tua infrastruttura esterna.
Ci sono vari vantaggi nello sfruttare i test di penetrazione dell'infrastruttura esterna, in quanto:
Identifica i difetti all'interno della configurazione del firewall che potrebbero essere utilizzati in modo improprio
Scopri come le informazioni possono essere trapelate dal tuo sistema da un utente malintenzionato
Suggerisce come risolvere questi problemi
Prepara un rapporto completo che evidenzia il rischio per la sicurezza delle reti di confine e suggerisce soluzioni
Assicura l'efficienza e la produttività complessive della tua azienda
Penetration test dell'infrastruttura interna
A causa di alcuni piccoli difetti di sicurezza interna, gli hacker commettono illegalmente frodi nelle grandi organizzazioni. Quindi, con i test di penetrazione dell'infrastruttura interna, un tester può identificare la possibilità di una sicurezza e da quale dipendente si è verificato questo problema.
Vantaggi dei test di penetrazione dell'infrastruttura interna in quanto:
Identifica come un utente malintenzionato interno potrebbe trarre vantaggio anche da un difetto di sicurezza minore.
Identifica il potenziale rischio aziendale e il danno che un utente malintenzionato interno può infliggere.
Migliora i sistemi di sicurezza dell'infrastruttura interna.
Prepara un rapporto completo che fornisce i dettagli dei rischi per la sicurezza delle reti interne insieme al piano d'azione dettagliato su come affrontarli.
Penetration test di cloud e virtualizzazione
L'acquisto di un server pubblico o di uno spazio wave aumenta notevolmente i rischi di violazione dei dati. Inoltre, identificare l'autore dell'attacco nell'ambiente cloud è difficile. Un utente malintenzionato può anche acquistare l'hosting di una struttura cloud per ottenere l'accesso ai nuovi dati cloud.
Infatti, la maggior parte del Cloud hosting è implementato su infrastruttura virtuale, causando il rischio di virtualizzazione a cui un attaccante può accedere facilmente.
Vantaggi dei test di penetrazione del cloud e della virtualizzazione in quanto:
Scopre i rischi reali all'interno dell'ambiente virtuale e suggerisce i metodi e i costi per correggere le minacce e le falle.
Fornisce linee guida e un piano d'azione su come risolvere il / i problema / i.
Migliora il sistema di protezione generale.
Prepara un report completo del sistema di sicurezza del Cloud computing e della virtualizzazione, delinea la falla di sicurezza, le cause e le possibili soluzioni.
Penetration test di sicurezza wireless
La tecnologia wireless del laptop e di altri dispositivi fornisce un accesso facile e flessibile a varie reti. La tecnologia facilmente accessibile è vulnerabile a rischi unici; poiché la sicurezza fisica non può essere utilizzata per limitare l'accesso alla rete. Un utente malintenzionato può hackerare dalla posizione remota. Pertanto, il test di penetrazione della sicurezza wireless è necessario per la tua azienda / organizzazione.
I seguenti sono i motivi per avere la tecnologia wireless:
Per trovare il potenziale rischio causato dai tuoi dispositivi wireless.
Fornire linee guida e un piano d'azione su come proteggersi dalle minacce esterne.
Per migliorare il sistema di sicurezza generale.
Per preparare un rapporto completo sul sistema di sicurezza della rete wireless, per delineare il difetto di sicurezza, le cause e le possibili soluzioni.
C'è il problema della protezione dei dati più critici dell'organizzazione; quindi, il ruolo di un penetration tester è molto critico, un errore minore può mettere a rischio entrambe le parti (tester e suo cliente).
Pertanto, questo capitolo discute vari aspetti di un penetration tester tra cui la sua qualifica, esperienza e responsabilità.
Qualifica dei Penetration Testers
Questo test può essere eseguito solo da un penetration tester qualificato; pertanto, la qualifica di un penetration tester è molto importante.
Un esperto interno qualificato o un esperto esterno qualificato possono eseguire il penetration test fino a quando non sono indipendenti dal punto di vista organizzativo. Significa che il penetration tester deve essere organizzativamente indipendente dalla gestione dei sistemi target. Ad esempio, se una società di terze parti è coinvolta nell'installazione, nella manutenzione o nel supporto dei sistemi di destinazione, tale parte non può eseguire test di penetrazione.
Ecco alcune linee guida che ti aiuteranno a chiamare un penetration tester.
Certificazione
Una persona certificata può eseguire test di penetrazione. La certificazione detenuta dal tester è l'indicazione delle sue capacità e competenza di abile penetration tester.
Di seguito sono riportati gli esempi importanti di certificazione dei test di penetrazione:
Hacker etico certificato (CEH).
Offensive Security Certified Professional (OSCP).
Certificazioni CREST Penetration Test.
Certificazione Communication Electronic Security Group (CESG) IT Health Check Service.
Certificazioni Global Information Assurance Certification (GIAC), ad esempio, GIAC Certified Penetration Tester (GPEN), GIAC Web Application Penetration Tester (GWAPT), Advance Penetration Tester (GXPN) e GIAC Exploit Researcher.
Esperienza passata
Le seguenti domande ti aiuteranno ad assumere un penetration tester efficace:
Quanti anni di esperienza ha il penetration tester?
È un penetration tester indipendente o lavora per un'organizzazione?
Con quante aziende ha lavorato come penetration tester?
Ha eseguito test di penetrazione per un'organizzazione che ha dimensioni e portata simili alla tua?
Che tipo di esperienza ha il penetration tester? Ad esempio, condurre test di penetrazione a livello di rete, ecc
Puoi anche chiedere il riferimento ad altri clienti per i quali ha lavorato.
Quando si assume un penetration tester, è importante valutare l'esperienza di test dell'ultimo anno dell'organizzazione per la quale (tester) ha lavorato poiché è correlata alle tecnologie da lui specificatamente implementate all'interno dell'ambiente di destinazione.
Oltre a quanto sopra, per situazioni complesse e requisiti tipici del cliente, si raccomanda di valutare la capacità di un tester di gestire un ambiente simile nel suo progetto precedente.
Ruolo di un penetration tester
Un penetration tester ha i seguenti ruoli:
Identificare un'allocazione inefficiente di strumenti e tecnologia.
Test sui sistemi di sicurezza interni.
Individua le esposizioni per proteggere i dati più critici.
Scopri una conoscenza inestimabile delle vulnerabilità e dei rischi in tutta l'infrastruttura.
Segnalazione e assegnazione di priorità ai consigli di riparazione per garantire che il team di sicurezza utilizzi il proprio tempo nel modo più efficace, proteggendo al contempo le maggiori lacune di sicurezza.
Non è necessario che un penetration tester esperto possa scrivere un buon report, poiché scrivere un report di penetration test è un'arte che deve essere appresa separatamente.
Cos'è la scrittura di report?
Nei test di penetrazione, la scrittura di report è un'attività completa che include metodologia, procedure, corretta spiegazione del contenuto e del design del report, un esempio dettagliato di report di test e l'esperienza personale del tester. Una volta preparato, il report viene condiviso tra il personale direttivo e il team tecnico delle organizzazioni target. Se in futuro si dovesse presentare un tale tipo di necessità, questo rapporto viene utilizzato come riferimento.
Fasi di scrittura del report
A causa del lavoro di scrittura completo coinvolto, la scrittura di report di penetrazione è classificata nelle seguenti fasi:
- Pianificazione dei rapporti
- Raccolta di informazioni
- Scrivere la prima bozza
- Revisione e finalizzazione
Pianificazione dei rapporti
La pianificazione del report inizia con gli obiettivi, che aiutano i lettori a comprendere i punti principali del penetration test. Questa parte descrive il motivo per cui viene condotto il test, quali sono i vantaggi del test della penna, ecc. In secondo luogo, la pianificazione del report include anche il tempo impiegato per il test.
Gli elementi principali della stesura del report sono:
Objectives - Descrive lo scopo generale e i vantaggi del test della penna.
Time- L'inclusione del tempo è molto importante, in quanto fornisce lo stato preciso del sistema. Supponiamo che, se in seguito si verificasse qualcosa di sbagliato, questo rapporto salverà il tester, poiché il rapporto illustrerà i rischi e le vulnerabilità nell'ambito del test di penetrazione durante il periodo di tempo specifico.
Target Audience - Il rapporto sul test della penna deve includere anche il pubblico di destinazione, come il responsabile della sicurezza delle informazioni, il responsabile della tecnologia dell'informazione, il responsabile della sicurezza delle informazioni e il team tecnico.
Report Classification- Poiché è altamente confidenziale che contiene indirizzi IP del server, informazioni sulle applicazioni, vulnerabilità, minacce, deve essere classificato correttamente. Tuttavia, questa classificazione deve essere effettuata sulla base dell'organizzazione target che ha una politica di classificazione delle informazioni.
Report Distribution- Il numero di copie e la distribuzione del rapporto devono essere menzionati nell'ambito del lavoro. Va anche ricordato che le copie cartacee possono essere controllate stampando un numero limitato di copie allegate con il suo numero e il nome del destinatario.
Raccolta di informazioni
A causa dei processi complicati e lunghi, pen tester è tenuto a menzionare ogni passaggio per assicurarsi di aver raccolto tutte le informazioni in tutte le fasi del test. Insieme ai metodi, deve anche menzionare i sistemi e gli strumenti, i risultati della scansione, le valutazioni delle vulnerabilità, i dettagli dei suoi risultati, ecc.
Scrivere la prima bozza
Una volta, il tester è pronto con tutti gli strumenti e le informazioni, ora deve iniziare la prima bozza. In primo luogo, ha bisogno di scrivere la prima bozza nei dettagli, menzionando tutto, cioè tutte le attività, i processi e le esperienze.
Revisione e finalizzazione
Una volta che il rapporto è stato redatto, deve essere esaminato prima dallo stesso redattore e poi dai suoi anziani o colleghi che potrebbero averlo assistito. Durante la revisione, ci si aspetta che il revisore controlli ogni dettaglio del rapporto e trovi qualsiasi difetto che debba essere corretto.
Contenuto del rapporto sui test di penetrazione
Di seguito è riportato il contenuto tipico di un rapporto sui test di penetrazione:
Sintesi
Metodologia
Risultati dettagliati
Riferimenti
|
La rapida crescita di Internet ha cambiato il modo di vivere di tutti. Oggigiorno, la maggior parte dei lavori pubblici e privati dipendono da Internet. Tutti i piani di lavoro segreti del governo e le operazioni sono basate su Internet. Tutte queste cose rendevano la vita molto semplice e facilmente accessibile.
Ma con la buona notizia, c'è anche una faccia oscura di questo sviluppo, ovvero l'hacker criminale. Non ci sono limitazioni geopolitiche di questi hacker criminali, possono hackerare qualsiasi sistema da qualsiasi parte del mondo. Possono danneggiare gravemente i dati riservati e la storia del credito.
Pertanto, per proteggersi dagli hacker criminali, il concetto di hacker etico si è evoluto. Questo capitolo discute il concetto e il ruolo di un hacker etico.
Chi sono gli hacker etici?
Gli hacker etici sono gli esperti di computer che sono legalmente autorizzati ad hackerare un sistema informatico con l'obiettivo di proteggersi dagli hacker criminali. Un hacker etico identifica le vulnerabilità e i rischi di un sistema e suggerisce come eliminarli.
Chi sono gli hacker criminali?
Gli hacker criminali sono quegli esperti di programmazione di computer che hackerano altri sistemi con l'intenzione di rubare dati, rubare denaro, diffamare il credito altrui, distruggere dati di altri, ricattare qualcuno, ecc.
Cosa possono fare i criminali hacker?
Una volta che un sistema è stato violato, un hacker criminale può fare qualsiasi cosa con quel sistema. Le due immagini seguenti CC Palmer, pubblicate su pdf.textfiles.com, illustrano un semplice esempio di pagina compromessa:
Ecco uno screenshot di una pagina web scattata prima che venisse hackerata:
Ed ecco lo screenshot della stessa pagina web dopo che è stata hackerata -
Quali sono i set di abilità degli hacker etici?
Gli hacker etici esperti hanno le seguenti abilità per hackerare il sistema in modo etico
Devono essere affidabili.
Qualunque siano i rischi e le vulnerabilità, scoprono durante il test del sistema, devono mantenerli riservati.
I clienti forniscono informazioni riservate sulla loro infrastruttura di sistema come indirizzo IP, password, ecc. Gli hacker etici devono mantenere riservate queste informazioni.
Gli hacker etici devono avere una solida conoscenza della programmazione di computer, delle reti e dell'hardware.
Dovrebbero avere buone capacità analitiche per analizzare la situazione e ipotizzare in anticipo il rischio.
Dovrebbero avere l'abilità di gestione insieme alla pazienza, poiché il test della penna può richiedere un giorno, una settimana o anche di più.
Cosa fanno gli hacker etici?
Gli hacker etici, durante l'esecuzione di test di penetrazione, in pratica cercano di trovare le risposte alle seguenti domande:
- Quali sono i punti deboli che un hacker criminale può colpire?
- Cosa può vedere un hacker criminale sui sistemi di destinazione?
- Cosa può fare un hacker criminale con quelle informazioni riservate?
Inoltre, a un hacker etico è richiesto di affrontare adeguatamente le vulnerabilità e i rischi che ha scoperto esistere nei sistemi di destinazione. Ha bisogno di spiegare e suggerire le procedure di evitamento. Infine, prepara un rapporto finale di tutte le sue attività etiche che ha svolto e osservato durante l'esecuzione dei test di penetrazione.
Tipi di hacker
Gli hacker sono normalmente divisi in tre categorie.
Hacker Black Hat
Un "hacker black hat" è un individuo che dispone di un ampio software per computer e hardware e il suo scopo è violare o aggirare la sicurezza Internet di qualcun altro. Gli hacker black hat sono anche popolari come cracker o hacker dal lato oscuro.
Hacker di cappello bianco
Il termine "hacker cappello bianco" si riferisce a un hacker informatico etico che è un esperto di sicurezza informatica, specializzato in test di penetrazione e in altre metodologie di test associate. Il suo ruolo principale è garantire la sicurezza del sistema informativo di un'organizzazione.
Hacker di cappello grigio
Il termine "hacker dal cappello grigio" si riferisce a un hacker di computer che viola il sistema di sicurezza del computer i cui standard etici rientrano tra quelli puramente etici e esclusivamente dannosi.
Il test di penetrazione è strettamente correlato all'hacking etico, quindi questi due termini sono spesso usati in modo intercambiabile. Tuttavia c'è una sottile linea di differenza tra questi due termini. Questo capitolo fornisce approfondimenti su alcuni concetti di base e differenze fondamentali tra test di penetrazione e hacking etico.
Test di penetrazione
Il test di penetrazione è un termine specifico e si concentra solo sulla scoperta delle vulnerabilità, dei rischi e dell'ambiente di destinazione con lo scopo di proteggere e assumere il controllo del sistema. In altre parole, i test di penetrazione si rivolgono ai sistemi di difesa delle rispettive organizzazioni costituiti da tutti i sistemi informatici e dalla relativa infrastruttura.
Hacking etico
D'altra parte, hacking etico è un termine esteso che copre tutte le tecniche di hacking e altre tecniche di attacco informatiche associate. Quindi, oltre a scoprire le falle e le vulnerabilità della sicurezza e garantire la sicurezza del sistema di destinazione, è al di là di hackerare il sistema ma con un permesso per salvaguardare la sicurezza per scopi futuri. Quindi, possiamo farlo, è un termine generico e il test di penetrazione è una delle caratteristiche dell'hacking etico.
Le seguenti sono le principali differenze tra il test di penetrazione e l'hacking etico che è elencato nella tabella seguente:
Test di penetrazione | Hacking etico |
---|---|
Un termine ristretto si concentra sui test di penetrazione solo per proteggere il sistema di sicurezza. | Un termine completo e un test di penetrazione sono una delle sue caratteristiche. |
Un tester essenzialmente ha bisogno di avere una conoscenza completa di tutto ciò che invece è necessario per avere la conoscenza solo dell'area specifica per la quale conduce il test della penna. | Un hacker etico deve essenzialmente avere una conoscenza completa della programmazione software e dell'hardware. |
Un tester non deve necessariamente essere un buon autore di report. | Un hacker etico deve essenzialmente essere un esperto nella scrittura di report. |
Qualsiasi tester con alcuni input di test di penetrazione può eseguire il test della penna. | Richiede essere un professionista esperto in materia, che abbia la certificazione obbligatoria di hacking etico per essere efficace. |
La carta funziona in meno rispetto all'hacking etico. | È richiesta una documentazione dettagliata, compreso un accordo legale, ecc. |
Per eseguire questo tipo di test, è necessario meno tempo. | L'hacking etico richiede molto tempo e impegno rispetto al Penetration test. |
Normalmente, l'accessibilità di interi sistemi informatici e della sua infrastruttura non richiede. L'accessibilità è richiesta solo per la parte per la quale il tester esegue il test della penna. | Secondo la situazione, normalmente richiede un'intera gamma di accessibilità a tutti i sistemi informatici e alla sua infrastruttura. |
Poiché le tecniche di penetrazione vengono utilizzate per proteggere dalle minacce, anche i potenziali aggressori stanno rapidamente diventando sempre più sofisticati e inventando nuovi punti deboli nelle applicazioni attuali. Quindi, un particolare tipo di test di penetrazione singolo non è sufficiente per proteggere la sicurezza dei sistemi testati.
Secondo il rapporto, in alcuni casi, viene scoperta una nuova scappatoia di sicurezza e subito dopo il test di penetrazione si è verificato un attacco riuscito. Tuttavia, ciò non significa che il test di penetrazione sia inutile. Significa solo che, questo è vero che con un penetration test approfondito, non vi è alcuna garanzia che un attacco riuscito non avrà luogo, ma sicuramente il test ridurrà sostanzialmente la possibilità di un attacco riuscito.
A causa del rapido ritmo degli sviluppi nel campo dell'informazione e della tecnologia, la storia di successo dei test di penetrazione è relativamente di breve durata. Poiché è richiesta una maggiore protezione ai sistemi, più spesso di quanto sia necessario eseguire test di penetrazione al fine di ridurre la possibilità di un attacco riuscito al livello apprezzato dall'azienda.
Di seguito sono riportati i principali limiti del Penetration Test:
Limitation of Time- Come tutti noi sappiamo, il test di penetrazione non è sempre un esercizio vincolato al tempo; tuttavia, gli esperti di test di penetrazione hanno assegnato un periodo di tempo fisso per ogni test. D'altra parte, gli aggressori non hanno vincoli di tempo, lo pianificano in una settimana, mese o addirittura anni.
Limitation of Scope - Molte organizzazioni non testano tutto, a causa dei propri limiti, inclusi vincoli di risorse, vincoli di sicurezza, vincoli di budget, ecc. Allo stesso modo, un tester ha una portata limitata e deve lasciare molte parti dei sistemi che potrebbero essere molto di più vulnerabile e può essere una nicchia perfetta per l'attaccante.
Limitation on Access- Più spesso i tester hanno accesso limitato all'ambiente di destinazione. Ad esempio, se un'azienda ha eseguito il penetration test contro i suoi sistemi DMZ da tutte le sue reti Internet, ma cosa succede se gli aggressori attaccano attraverso il normale gateway Internet.
Limitation of Methods- È possibile che il sistema di destinazione possa bloccarsi durante un test di penetrazione, quindi alcuni dei metodi di attacco particolari verrebbero probabilmente disattivati per un tester di penetrazione professionale. Ad esempio, produrre un flusso di negazione del servizio per deviare un amministratore di sistema o di rete da un altro metodo di attacco, di solito una tattica ideale per un cattivo davvero, ma è probabile che non rientri nelle regole del coinvolgimento per la maggior parte dei penetration tester professionisti .
Limitation of Skill-sets of a Penetration Tester- Di solito, i penetration tester professionisti sono limitati in quanto hanno abilità limitate indipendentemente dalla loro competenza ed esperienza passata. La maggior parte di loro sono focalizzati su una particolare tecnologia e hanno una conoscenza rara di altri campi.
Limitation of Known Exploits- Molti dei tester sono a conoscenza solo di quegli exploit, che sono pubblici. In effetti, il loro potere immaginativo non è sviluppato come gli attaccanti. Gli aggressori normalmente pensano molto oltre il pensiero di un tester e scoprono il difetto di attaccare.
Limitation to Experiment- La maggior parte dei tester sono vincolati nel tempo e seguono le istruzioni già fornite loro dalla propria organizzazione o dagli anziani. Non provano qualcosa di nuovo. Non pensano oltre le istruzioni fornite. D'altra parte, gli aggressori sono liberi di pensare, sperimentare e creare nuovi percorsi per attaccare.
Inoltre, i test di penetrazione non possono né sostituire i test di sicurezza IT di routine, né possono sostituire una politica di sicurezza generale, ma piuttosto i test di penetrazione integrano le procedure di revisione stabilite e scoprono nuove minacce.
Gli sforzi dei test di penetrazione, per quanto accurati possano essere, non possono sempre garantire una scoperta esaustiva di ogni istanza in cui l'efficacia di un controllo di sicurezza è insufficiente. L'identificazione di una vulnerabilità o di un rischio di cross-site scripting in un'area di un'applicazione potrebbe non esporre in modo definitivo tutte le istanze di questa vulnerabilità presenti nell'applicazione. Questo capitolo illustra il concetto e l'utilità della riparazione.
Cos'è la riparazione?
La riparazione è un atto di offrire un miglioramento per sostituire un errore e rimediare. Spesso la presenza di vulnerabilità in un'area può indicare una debolezza nel processo o nelle pratiche di sviluppo che avrebbero potuto replicare o abilitare una vulnerabilità simile in altre località. Pertanto, durante il rimedio, è importante che il tester indaghi attentamente sull'entità o sulle applicazioni testate tenendo presenti controlli di sicurezza inefficaci.
Per questi motivi, la rispettiva azienda dovrebbe adottare misure per porre rimedio a qualsiasi vulnerabilità sfruttabile entro un ragionevole periodo di tempo dopo il penetration test originale. Infatti, non appena l'azienda ha completato questi passaggi, il pen tester dovrebbe eseguire un nuovo test per convalidare i controlli appena implementati che sono in grado di mitigare il rischio originale.
Gli sforzi di riparazione che si estendono per un periodo più lungo dopo il pen test iniziale potrebbero richiedere l'esecuzione di un nuovo impegno di test per garantire risultati accurati dell'ambiente più attuale. Questa determinazione dovrebbe essere effettuata dopo un'analisi dei rischi di quanti cambiamenti si siano verificati dal completamento del test originale.
Inoltre, in condizioni specifiche, il problema di sicurezza segnalato può illustrare un difetto di base nel rispettivo ambiente o applicazione. Pertanto, l'ambito di un nuovo test dovrebbe considerare se eventuali modifiche causate dalla riparazione identificata dal test siano classificate come significative. Tutte le modifiche devono essere nuovamente verificate; tuttavia, la necessità o meno di un nuovo test dell'intero sistema sarà determinato dalla valutazione del rischio delle modifiche.
Prima di consentire a qualcuno di testare dati sensibili, le aziende normalmente adottano misure riguardanti la disponibilità, la riservatezza e l'integrità dei dati. Affinché questo accordo sia in vigore, la conformità legale è un'attività necessaria per un'organizzazione.
Le normative legali più importanti che devono essere osservate quando si istituiscono e mantengono i sistemi di sicurezza e autorizzazione sono presentate di seguito nel contesto per l'utilizzo nell'attuazione dei test di penetrazione.
Quali sono i problemi legali?
Di seguito sono riportati alcuni dei problemi che possono sorgere tra un tester e il suo cliente:
Il tester è sconosciuto al suo cliente, quindi, su quale base, dovrebbe avere accesso a dati sensibili
Chi si prenderà la garanzia della sicurezza dei dati persi?
Il cliente può incolpare il tester per la perdita di dati o riservatezza
I test di penetrazione possono influire sulle prestazioni del sistema e possono sollevare problemi di riservatezza e integrità; quindi, questo è molto importante, anche in un penetration test interno, che viene eseguito da uno staff interno per ottenere l'autorizzazione per iscritto. Ci dovrebbe essere un accordo scritto tra un tester e l'azienda / organizzazione / individuo per chiarire tutti i punti riguardanti la sicurezza dei dati, la divulgazione, ecc. Prima di iniziare il test.
UN statement of intentdeve essere redatto e debitamente firmato da entrambe le parti prima di qualsiasi lavoro di collaudo. Dovrebbe essere chiaramente delineato che lo scopo del lavoro e quello, potresti e non potresti fare mentre esegui i test di vulnerabilità.
Per il tester, è importante sapere chi possiede l'attività o i sistemi su cui viene richiesto di lavorare e l'infrastruttura tra i sistemi di test e i loro obiettivi che potrebbero essere potenzialmente influenzati dal test della penna. L'idea è di essere sicuri;
the tester ha il permesso scritto, con parametri chiaramente definiti.
the company ha i dettagli del suo tester a penna e la garanzia che non trapelerà alcun dato riservato.
Un accordo legale è vantaggioso per entrambe le parti. Ricorda, le normative cambiano da paese a paese, quindi tieniti al passo con le leggi del tuo rispettivo paese. Firmare un accordo solo dopo aver considerato le rispettive leggi.