Penetration test: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
→Standard e certificazioni professionali: Eliminata duplicazione del paragrafo |
m WPCleaner v2.03 - Disambigua corretto un collegamento - Vulnerabilità |
||
Riga 1:
In [[informatica]], il '''''penetration test''''' (o informalmente '''pen test''') è il processo operativo di analisi o valutazione della [[sicurezza informatica|sicurezza]] di un [[sistema informatico]] o di una [[rete di computer|rete]].
Condotta su più fasi dal punto di vista di un potenziale attaccante simulando l'[[attacco informatico]] di un utente malintenzionato, consiste nello sfruttamento delle vulnerabilità rilevate aiutando a determinare se le difese del sistema sono sufficienti o se invece sono presenti altre vulnerabilità elencando in questo caso quali difese il test ha sconfitto. Il test ha dunque come obiettivo quello di evidenziare le debolezze della [[piattaforma (informatica)|piattaforma]] fornendo il maggior numero di informazioni sulle [[vulnerabilità informatica|vulnerabilità]] che ne hanno permesso l'accesso non autorizzato<ref>{{Cita libro|titolo=The CISSP® and CAPCM Prep Guide: Platinum Edition|editore=John Wiley & Sons|accesso={{date|2014-01-16}}|isbn=978-0-470-00792-1|citazione=A penetration test can determine how a system reacts to an attack, whether or not a system's defenses can be breached, and what information can be acquired from the system|lingua=en}}</ref><ref>{{Cita libro|isbn=978-1-84928-371-7|autore=Kevin M. Henry|titolo=Penetration Testing: Protecting Networks and Systems|citazione=Penetration testing is the simulation of an attack on a system, network, piece of equipment or other facility, with the objective of proving how vulnerable that system or "target" would be to a real attack.|editore=IT Governance Ltd|lingua=en}}</ref>, fornendo una stima chiara sulle capacità di difesa e del livello di penetrazione raggiunto nei confronti:
* delle vulnerabilità interne al sistema;
* delle vulnerabilità esterne al sistema;
Riga 63:
* [[WHAX]] basato su [[Slackware]]<ref>{{Cita libro|titolo=Kali Penetration Testing concepts|citazione=The creators of BackTrack have released a new, advanced Penetration Testing Linux distribution named Kali Linux|isbn=978-1-78216-316-9|lingua=en}}</ref><ref>{{Cita libro|titolo=Kali Penetration Testing concepts|citazione=Kali Linux is designed to follow the flow of a Penetration Testing service engagement|isbn=978-1-78216-316-9|lingua=en}}</ref>
Un certo numero di [[Sistema operativo|sistemi operativi]] includono [[vulnerabilità informatica|vulnerabilità]] di sistema o applicative conosciute, e possono essere utilizzate come bersagli. Tali sistemi aiutano i nuovi professionisti della sicurezza a provare gli ultimi strumenti di sicurezza in un ambiente di laboratorio. Alcuni di questi sono:
* [[Damn Vulnerable Linux]] (DVL)
* [[owasp:Main Page|OWASP Web Testing Environment]] (WTW)
Riga 92:
Il [[fuzzing]] è una tecnica molto diffusa per scoprire le vulnerabilità di un sistema. Ha lo scopo di ottenere un errore non gestito attraverso un input casuale. Il tester utilizza input casuali per accedere a porzioni di codice poco utilizzate visto che quelle più frequenti sono solitamente esenti da errori. Gli errori sono utili perché o espongono ulteriori informazioni, come ad esempio crash del [[Server web|server HTTP]], o sono direttamente utilizzabili, ad esempio il [[buffer overflow]].
Immaginate un sito che dispone di 100 caselle di testo. Alcune saranno vulnerabili a [[SQL injection]] attraverso l'uso di determinate stringhe. L'invio continuo di stringhe casuali arriverà prima o poi a trovare un buco nella sicurezza. L'errore risulta evidente presentandosi come una pagina HTML non corretta a causa di un errore SQL. In questo caso, solo le caselle di testo sono utilizzate come [[input]]. Tuttavia, i sistemi software hanno solitamente molti tipi di input, come i [[cookie]], il flusso di un file in upload o canali RPC. Gli errori possono presentarsi in tutti questi tipi di input. L'obiettivo è quello di ottenere prima un errore non gestito, e quindi comprendere la falla basandosi sul test che ha portato al fallimento. Il tester progetta uno strumento automatizzato per testare la sua conoscenza della falla finché non la comprende a pieno. In seguito, diventa evidente come creare il payload in modo che il sistema vittima lo esegua. Se questa via non è percorribile si può sperare che un altro errore prodotto dal fuzzer produca più frutti. L'uso di un fuzzer consente di risparmiare tempo in modo da non dover controllare le porzioni di codice in cui è improbabile trovare delle [[vulnerabilità informatica|vulnerabilità]].
=== Payload ===
Riga 120:
== Voci correlate ==
* [[Vulnerabilità informatica]]
* [[Sicurezza informatica]]
* [[Tiger team]]
|