Applicazione della rete bayesiana per la sicurezza delle applicazioni Web

1

Come si può utilizzare una rete bayesiana per eseguire analisi di attacco del traffico web? Ho letto un articolo interessante sulla sua applicazione. " Difesa dell'applicazione Web con analisi di attacco bayesiano " ma ero non è chiaro sulla sua metodologia.

    
posta Ali Ahmad 10.08.2012 - 09:31
fonte

2 risposte

5

Le reti bayesiane sono una forma di modello probabilistico, in cui un insieme di condizioni può essere usato per prevedere se un'asserzione è vera o falsa.

Ad esempio, supponiamo che ci siano due condizioni che stiamo usando per prevedere se un disco sta morendo.

  1. Le scritture su disco sono lente.
  2. Il traffico è anormalmente alto.

Potremmo formulare le probabilità in questo modo:

  Slow Writes | High Traffic | Disk failing?
--------------+--------------+-- T --|-- F ---
      F       |      F       | 0.05  | 0.95
      F       |      T       | 0.01  | 0.99
      T       |      F       | 0.90  | 0.10
      T       |      T       | 0.45  | 0.55

Questo può essere interpretato come segue:

  • Se le scritture non sono lente e il traffico non è elevato, c'è una probabilità di 0,95 che il disco non stia fallendo.
  • Se le scritture non sono lente e il traffico non è elevato, c'è una probabilità di 0,99 che il disco non stia fallendo.
  • Se le scritture sono lente e il traffico non è elevato, c'è una probabilità di 0.90 che il disco non sta funzionando.
  • Se le scritture sono lente e il traffico è elevato, c'è una probabilità di 0,55 che il disco non stia fallendo.

Possiamo prendere questo tipo di modello e applicare l'autoapprendimento ad esso. Prendiamo un ampio set di dati in cui sono noti i risultati e usiamo questo per costruire un modello di probabilità.

Ad esempio, in una rete potremmo avere test come:

  • > 10Mbps di traffico TCP proveniente da Internet?
  • > 10Mbps di traffico UDP proveniente da Internet?
  • > 5 accessi non riusciti a RDP negli ultimi 10 minuti?
  • > 5 accessi non riusciti a SSH negli ultimi 10 minuti?
  • Il numero di connessioni TCP a SQL server è > 5?
  • Il numero di connessioni TCP al server HTTP è > 500?
  • Il firewall ha registrato > 100 eventi nell'ultimo minuto?
  • Il tempo è attualmente in ufficio (9-5) ore?
  • ecc.

Eseguiamo questi test su un insieme di traffico noto sulla rete e informiamo il modello dei tempi in cui una violazione è stata o non è stata tentata. Può quindi verificare quali test erano più probabili correlare con un particolare tipo di evento target e creare un modello di probabilità come abbiamo fatto sopra.

Quando rileviamo ulteriori violazioni, diciamo al modello "questa è stata una violazione" e può tentare di migliorare il suo modello. Possiamo anche dirlo quando ci ha falsamente avvisato di una violazione.

Questi modelli possono diventare estremamente complessi quando si ha a che fare con un gran numero di domande e enormi set di dati, specialmente quando il modello contiene domande di test che sono alimentate da sotto-modelli o altre forme di analisi. In quanto tali, possono fornire un eccellente approccio di pattern matching per il rilevamento delle intrusioni.

    
risposta data 10.08.2012 - 10:43
fonte
0

Sta classificando le richieste / pacchetti / messaggi in quelli buoni / cattivi e questa classificazione si basa su un database, che viene creato durante il processo di formazione, quindi è necessario classificare il batch iniziale da solo, e poi va avanti autonomamente apprendimento.

    
risposta data 10.08.2012 - 09:52
fonte

Leggi altre domande sui tag