Diventa Autore per CoreTech | Scopri di più





Scanner di vulnerabilità: ecco come funzionano

21/07/22 CoreTech Blog

Gli scanner di vulnerabilità DAST non sono così diversi dagli scanner di virus. In entrambi i casi, l'obiettivo dei software è trovare anomalie nel bersaglio.

Uno scanner antivirus esegue la scansione delle risorse locali e dello storage di un computer per trovare software potenzialmente dannoso.

Uno scanner di vulnerabilità esegue la scansione di un bersaglio per trovare software potenzialmente vulnerabile.

Entrambi usano tecniche simili per farlo.

La scansione signature-based, cioè basata sulla firma

Nel caso della scansione basata sulla firma, lo scanner cerca modelli riconoscibili, che sono preparati dal produttore dello scanner o presi da un database pubblico. Per esempio:

  • Uno scanner antivirus cerca una determinata catena di byte presenti in un file eseguibile dannoso. Se la trova, considera che il file dannoso sia stato trovato.
  • Uno scanner di rete cerca una determinata risposta dal server per riconoscere la versione esatta del software che utilizza. Può essere semplice, come nel caso in cui il software risponda effettivamente con informazioni sulla versione utilizzata, oppure più complesso, riconoscendo, per esempio, determinati comportamenti tipici.
  • Uno scanner SCA cerca determinati elementi di codice nel codice sorgente, nel codice intermedio o nel codice binario. Questo avviene per riconoscere un componente noto utilizzato/importato dal software, nonché la sua versione esatta.

La scansione basata sulla firma presenta diversi vantaggi:

  • Di solito è abbastanza veloce. Infatti, non è necessario eseguire alcuna operazione, se non il confronto di catene di byte dalla libreria dello scanner con catene di byte ricevute dalla destinazione.
  • È meno invadente e non ha quasi effetti collaterali.
  • È molto facile per il produttore dello scanner, perché non è necessario scrivere codice personalizzato. Esistono anche database di firme di pubblico dominio, che possono essere utilizzati per creare il proprio database.

Sfortunatamente, ci sono anche alcuni importanti svantaggi in questo tipo di scansione:

  • Non è sempre molto precisa. La firma non garantisce che il risultato trovato sia dannoso.
  • Non c'è assolutamente alcuna prova che il risultato riportato sia dannoso. Poiché lo scanner confronta solo le firme, non verifica se le sue ipotesi sono vere.
  • La maggior parte degli scanner è limitata a firme note e non è in grado di riconoscere mutazioni (ad esempio, una firma con un byte diverso), irregolarità (ad esempio, un server configurato in modo diverso) o nuove minacce.

La scansione behavior-based (scansione euristica)

L'altro modo per cercare contenuti dannosi è analizzare effettivamente il comportamento del target. Ciò significa che lo scanner deve comprendere il modo in cui funziona il target, non solo confrontare una firma. Per esempio:

Banner

  • Quando uno scanner antivirus euristico trova un file potenzialmente eseguibile, può effettuare il reverse engineering su di esso per verificare esattamente cosa fa il codice. Questa operazione serve per capire se le sue azioni sono dannose. Potrebbe anche provare a eseguire il codice in un ambiente sicuro per vedere i risultati.
  • Quando uno scanner di vulnerabilità web trova un elemento che consente l'input dell'utente, tenta di "ingannare il bersaglio" inviando dati imprevisti. Quindi analizza la risposta del target per vedere se ha avuto successo.

La scansione euristica presenta alcuni importanti vantaggi:

  • In teoria, è in grado di trovare qualsiasi tipo di minaccia, anche personalizzata o zero-day. Ovviamente, dipende da quanto è avanzato il software.
  • È più preciso perché controlla effettivamente se le sue ipotesi sono corrette. A volte, può anche fornire una prova.

Sfortunatamente, anche la scansione euristica presenta alcuni svantaggi:

  • Può essere più dispendiosa in termini di risorse rispetto alla scansione basata sulla firma. Uno scanner euristico ha bisogno di più tempo per trovare i risultati e potrebbe rallentare il bersaglio più di uno scanner basato sulla firma.
  • Costruire un buon scanner euristico è molto difficile e richiede il massimo talento. A differenza degli scanner basati sulle firme, ogni nuovo tipo di attacco deve essere programmato e simulato. Una libreria di scanner euristica non è solo un elenco di stringhe da confrontare, ma richiede un software personalizzato reale per ogni tipo di controllo.

Il meglio dei due mondi: signature based e behavior based

Molti scanner professionali tentano di utilizzare entrambi i tipi di scansione, ma il tipo principale dipende molto dal tipo di scansioni eseguite:

  • Gli scanner antivirus sono quasi sempre principalmente basati sulle firme. Alcuni scanner antivirus avanzati hanno anche la scansione basata sul comportamento, ma spesso è facoltativa (perché tali scansioni richiedono più tempo e risorse).
  • Gli scanner di rete sono quasi sempre basati sulla firma. Questo perché gli scanner di rete si concentrano sulla ricerca di versioni software obsolete e configurazioni errate, che possono essere facilmente riconosciute utilizzando le firme.
  • Gli scanner di vulnerabilità web sono sempre principalmente euristici, ma possono utilizzare firme ove appropriato.

Noi di Acunetix sposiamo il meglio di entrambi i mondi nel miglior modo possibile:

  • Lo scanner Acunetix è principalmente uno scanner basato sul comportamento. I nostri controlli avanzati sono progettati uno alla volta, singolarmente, ed eseguono attacchi (finti) sicuri. Nella maggior parte dei casi, possiamo provare che l'attacco ha avuto successo mostrandoti, per esempio, un file a cui lo scanner non dovrebbe mai avere accesso (come il tuo file di configurazione del server). Questa è un'abilità unica, che la maggior parte degli scanner non ha.
  • Siccome il nostro scanner controlla anche cose come versioni software obsolete e fornisce funzionalità SCA, dove è applicabile e non è necessario codice personalizzato, utilizziamo controlli basati sulla firma. Ciò rende la scansione più veloce e meno intensa sul target: Acunetix è spesso riconosciuto come lo scanner più efficiente sul mercato.
  • Acunetix aggira i limiti della scansione basata sulle firme. Invece di utilizzare firme basate su hash, riconosce molte vulnerabilità anche se il codice o la risposta sono stati leggermente modificati.
  • Il nostro scanner combina i vantaggi della scansione basata sulla firma con quelli della scansione attiva, nello stesso controllo di vulnerabilità. Per esempio, se individuiamo una versione del software tramite la scansione basata sulle firme, il nostro controllo di vulnerabilità effettivo per quel software potrebbe considerare la versione trovata e ottimizzare il test di conseguenza. Così il controllo della vulnerabilità è più veloce e più affidabile.

Nonostante molte vulnerabilità rilevate da Acunetix siano identificate con codici CVE/CWE, usiamo quei database solo per l’identificazione di vulnerabilità note. Le vulnerabilità nel software personalizzato non avranno quei codici, perché il punto di forza di Acunetix è trovare problemi che non sono riconosciuti in nessun database.


Articoli su Sicurezza

Sicurezza aziendale: da cosa è minacciata e come proteggerla?Il threat modeling per la sicurezza delle applicazioniScanner di vulnerabilità: ecco come funzionanoWeb security: 5 motivi per cui è essenziale contro i ransomwareChe cos'è DevSecOps e come dovrebbe funzionare?Test di penetrazione vs scansione delle vulnerabilitàConsiderazioni sui test di correzione delle applicazioni WebQuattro modi in cui l'analisi AppSec aiuta i tuoi professionisti DevSecOpsQuattro modi per combattere il divario di competenze di sicurezza informaticaDove i framework di cybersecurity incontrano la sicurezza webCome costruire un piano di risposta agli incidenti informaticiRendi i tuoi utenti parte della soluzione di sicurezza webSei l'unico che può proteggere le tue applicazioni webNuovo studio di settore: il 70% dei team salta i passaggi di sicurezzaConvergenza Dev-Sec: i progressi e le sfide sulla strada per garantire l'innovazioneAggiornamento FISMA: cosa sta cambiando e perché è importanteChe cos'è la sicurezza continua delle applicazioni Web?Sei l'unico che può proteggere le tue applicazioni webCos'è la sicurezza del sito Web: come proteggere il tuo sito Web dall'hackingRendi i tuoi utenti parte della soluzione di sicurezza webConvergenza Dev-Sec: la ricerca illustra i progressi per garantire l'innovazioneAggiornamento FISMA: cosa sta cambiando e perché è importanteChe cos'è la sicurezza continua delle applicazioni Web?La differenza tra XSS e CSRFNuovo studio di settore: il 70% dei team salta i passaggi di sicurezzaPrevenzione e mitigazione XSSStop ai compromessi sulla sicurezza delle applicazioni webSfatare 5 miti sulla sicurezza informaticaBasta compromessi sulla sicurezza delle applicazioni webNozioni di base sulla sicurezza web: la tua applicazione web è sicura?Che cos'è l'iniezione dell’header HTTP?Fare shift left o no?Individuazione e correzione di falle di sicurezza in software di terze partiClassi di vulnerabilità Web nel contesto delle certificazioniScripting tra siti (XSS)Che cos'è un attacco CSRFChe cos'è una SQL Injection (SQLi) e come prevenirlaAttacchi di attraversamento di directoryChe cos'è la falsificazione delle richieste lato server (SSRF)?7 migliori pratiche per la sicurezza delle applicazioni WebBlack Hat 2021: la più grande minaccia alla sicurezza informaticaÈ ben fatto? Chiedi allo sviluppatore!Scegli la soluzione di sicurezza delle applicazioni web che fa per teSicurezza fai-da-te: lo stai facendo bene?Sulla sicurezza delle applicazioni web professionali per MSSPLa cattiva comunicazione è al centro delle sfide di AppSecImpostazione e raggiungimento degli obiettivi di sicurezza delle applicazioniMetriche di sicurezza informatica per le applicazioni WebCome evitare attacchi alla supply chainPerché la maggior parte delle misure di sicurezza delle applicazioni fallisceVuoi che la tua sicurezza sia costruita su scuse?Cos'è SCA e perché ne hai bisognoLa scansione ad hoc non è sufficienteEsposizione dei dati sensibili: come si verificano le violazioniHai paura dei test di sicurezza nell'SDLC?Vantaggi di Web Asset DiscoveryStrumenti di scansione delle vulnerabilità: perché non open source?Protezione WAF - Ottieni il massimo dal tuo firewall per applicazioni webL'errore di comunicazione è al centro delle sfide di AppSecDebugger remoti come vettore di attaccoDAST è una parte essenziale di un programma completo per la sicurezza delle applicazioniCome difendersi dagli attacchi recenti su Microsoft Exchange5 principali vantaggi dei primi test di sicurezzaTecniche di attacco Denial-of-Service con avvelenamento della cacheQuali principali attacchi web possiamo aspettarci nella nuova top 10 di OWASP?Hack di SolarWindsPillole di Sicurezza | Episodio 38Pillole di Sicurezza | Episodio 37Perché gli sviluppatori evitano la sicurezza e cosa puoi fare al riguardoPillole di Sicurezza | Episodio 36Cos'è l'attacco RUDYCos'è la navigazione forzataCome gli scanner trovano le vulnerabilitàPillole di Sicurezza | Episodio 34Pillole di Sicurezza | Episodio 35Come eseguire il benchmark di uno scanner di vulnerabilità Web?Pillole di Sicurezza | Episodio 33Pillole di Sicurezza | Episodio 325 proposte di vendita comuni sulla sicurezza delle applicazioni web5 motivi per non fare affidamento sui programmi BountyPillole di Sicurezza | Episodio 315 motivi per cui la sicurezza web è importante quanto la sicurezza degli endpointPillole di Sicurezza | Episodio 305 motivi per cui la sicurezza web è importante per evitare il ransomwarePillole di Sicurezza | Episodio 293 motivi per cui DAST è il migliore per la sicurezza delle applicazioni WebPillole di Sicurezza | Episodio 28Pillole di Sicurezza | Episodio 27Pillole di Sicurezza | Episodio 24Pillole di Sicurezza | Episodio 25Pillole di Sicurezza | Episodio 21Pillole di Sicurezza | Episodio 22Pillole di Sicurezza | Episodio 20Pillole di Sicurezza | Episodio 17Il flag HttpOnly: protezione dei cookie da XSSPillole di Sicurezza | Episodio 16Il Bug Heartbleed – I vecchi Bug sono duri a morirePillole di Sicurezza | Episodio 15Pillole di Sicurezza | Episodio 14Pillole di Sicurezza | Episodio 13Pillole di Sicurezza | Episodio 12Pillole di Sicurezza | Episodio 11Pillole di Sicurezza | Episodio 10Sicurezza delle reti: gli hacker puntano CitrixCyber hacking: la Germania chiede l’intervento dell’UESicurezza informatica: Cisco rilascia aggiornamentiOcchio al cryptojacking: malware infiltrato in Docker HubSIGRed: bug di sistema in Windows Server scovato dopo 17 anniPillole di Sicurezza | Episodio 9Summit Live - Disponibili le registrazioni delle live di MonteleoneCriminalità informatica: Schmersal sventa un cyber-attaccoPillole di Sicurezza | Episodio 8Pillole di Sicurezza | Episodio 7Analisi pratica dei rischi per il SysAdmin, DevOps e Dev | Summit LivePillole di Sicurezza | Episodio 6Pillole di Sicurezza | Episodio 5Pillole di Sicurezza | Episodio 4Pillole di Sicurezza | Episodio 3Pillole di Sicurezza | Episodio 2Pillole di Sicurezza | Episodio 1Pillole di Sicurezza | Episodio 23