Vettore di attacco, superficie di attacco, vulnerabilità, exploit: dove è la differenza?

17

Ho difficoltà a individuare la differenza tra attacco vettore / superficie di attacco / vulnerabilità e exploit.

Penso che la differenza tra una vulnerabilità e un exploit sia la seguente: Una vulnerabilità è qualcosa che potrebbe essere usato per fare del male (ad esempio un buffer overflow), ma non significa necessariamente che qualcosa può essere fatto. Un exploit sfrutta una vulnerabilità in un modo "produttivo" (ad esempio leggendo i seguenti byte in memoria dopo aver attivato un messaggio di errore).

Secondo Wikipedia (vulnerabilità)

To exploit a vulnerability, an attacker must have at least one applicable tool or technique that can connect to a system weakness. In this frame, vulnerability is also known as the attack surface.

Quindi la superficie di attacco e la vulnerabilità sembrano essere sinonimi nel contesto della sicurezza IT (?)

Qualcuno potrebbe definire le parole o fornire esempi per la differenza tra loro?

    
posta Martin Thoma 04.06.2015 - 14:47
fonte

3 risposte

22

Tutti e 4 i termini sono molto diversi:

Descrive l'attacco:

  • Attack Vector : il "percorso" attraverso il quale è stato effettuato un attacco. SQLi viene in genere eseguito utilizzando un client browser per l'applicazione Web. L'applicazione web è il vettore di attacco (possibilmente anche Internet, l'applicazione client, ecc., Dipende dalla concentrazione dell'utente).
  • Exploit : il metodo per sfruttare una vulnerabilità. Il codice utilizzato per inviare comandi SQL a un'applicazione Web per trarre vantaggio dagli input utente non pubblicitari è un "exploit".

Descrive la destinazione:

  • Attack Surface : descrive quanto uno è esposto agli attacchi. Senza un firewall per limitare il numero di porte bloccate, la tua "superficie di attacco" è tutte le porte. Bloccando tutte le porte ma la porta 80 riduce la 'superficie di attacco' a una singola porta.
  • Vulnerabilità : una debolezza che espone al rischio. Gli input degli utenti non previsti possono rappresentare una "vulnerabilità" con un metodo SQLi.

Possiamo anche considerare questo dal punto di vista di un utente come target. Un utente malintenzionato invia un PDF infetto come allegato e-mail a un utente. L'utente apre il PDF, viene infettato e il malware è installato. Il 'vettore di attacco' era e-mail, l''exploit' era il codice nel PDF, la 'vulnerabilità' è la debolezza del visualizzatore PDF che consentiva l'esecuzione del codice, la 'superficie di attacco' è il sistema utente ed e-mail. p>     

risposta data 04.06.2015 - 22:07
fonte
2

Questo è vero per quanto ne so, tuttavia credo che alcuni potrebbero avere lievi miglioramenti sulla formulazione:

  • Il vettore di attacco è il "tipo" dell'attacco, è ciò che consente al malintenzionato di avere successo.
  • La superficie di attacco è il numero di endpoint che possono essere attaccati, ad esempio se stai mirando a un sito web, con un linguaggio di scripting (PHP / Node ...) e un Database (MySql / Postgre ...), l'attacco la superficie è maggiore di quella che si ha quando si targetizza una singola pagina statica senza contenuto dinamico e nessun database.
  • Una vulnerabilità è un punto debole di un sistema che può essere utilizzato per alterare il comportamento previsto del sistema, a volte consentono di scaricare memoria, a volte consentono di impersonare un utente ...
  • e un exploit è lo strumento utilizzato per portare su un attacco.
risposta data 04.06.2015 - 14:53
fonte
1

Sulla base della mia comprensione e considerando una semplice applicazione web come ambiente di test, posso vedere la relazione tra di loro come di seguito:

Attack surface is used to identify the components/parts of the system/web that may contain any vulnerabilities, (e.g. web application authentication function)

Vulnerability assessment applies on identified component/part (authentication) that found in attack surfaces step in order to find vulnerabilities (e.g. no input validation)

Attack vector (types of attacks) refers to identifying which attack(s) can be done, based on identified vulnerabilities (no input validation) such as SQLI, XSS, FI,..etc

Exploitation is refereed to launching the attack(s) (e.g. SQLI attack, XSS attack, FI attack, ..etc) against identified vulnerability (no input validation) in order to get access to the data or system on the victim machine.

    
risposta data 31.08.2016 - 06:39
fonte

Leggi altre domande sui tag