2010-05-08 6 views
6

Vorrei chiedere il proattivo (o paranoico;) tra di noi: cosa stai cercando e come?Rilevamento di comportamenti sospetti in un'applicazione Web: cosa cercare?

Sto pensando principalmente a cose che possono essere guardate per programmaticamente, piuttosto che ispezionare manualmente i registri.

Ad esempio:

  • manuale/automatico di tentativi di hack.
  • Dati skimming.
  • Registrazioni di bot (che hanno eluso captcha ecc.).
  • Altro comportamento indesiderato.

Basta chiedersi cosa la maggior parte della gente considererebbe pratica ed efficace.

Le cose preventive (come la sanificazione dell'input dell'utente) sono ovviamente fondamentali, ma nel caso di questa domanda sono più interessato a rilevare una potenziale minaccia. In questo caso sono interessato all'allarme antifurto, piuttosto che alle serrature.

Un esempio del tipo di cosa di cui sto parlando esiste qui su SO. Se si apportano troppe modifiche a una domanda in un breve periodo di tempo, viene visualizzato un captcha per assicurarsi che non si tratti di un bot.

risposta

3

Tre puntatori per voi:

  1. Sanitize input dell'utente
  2. input dell'utente Sanitize
  3. Sanitize input dell'utente

Ricordate esso, e ricordarlo bene.

+1

La ripetizione alleva il rinforzo ... la ripetizione alleva il rinforzo ... la ripetizione alleva il rinforzo ... (+1) –

+0

Vedete, questa è una delle cose più comuni, più distruttive e facili da dimenticare! – LukeN

+0

Sì :) +1, ma supponendo che crediamo di aver fatto tutto il possibile per quanto riguarda l'input dell'utente, cosa faresti per assicurarti di essere rapidamente avvisato di un problema? – UpTheCreek

1

Un'applicazione che cerca richieste HTTP dannose prima di accedere all'applicazione Web è denominata Web Application Firewall. La maggior parte dei WAF può essere configurata per inviare e-mail quando vengono rilevati degli attacchi, quindi si dispone di un "Antifurto". I WAF sono più utili per prevenire gli attacchi prima che raggiungano la tua applicazione web, che è più simile a un muro di mattoni che si incazza quando lo tocchi.

+0

Grazie, ma stavo piuttosto cercando di rilevare comportamenti insoliti nell'applicazione stessa (che potrebbero essere considerate richieste perfettamente legittime da parte del firewall). (Ad esempio, la maggior parte dei firewall normalmente non sarà in grado di aiutare a rilevare attività bot) – UpTheCreek

+0

@So dipende interamente dal tipo di bot. Un WAF causerà seri problemi agli scanner di vulnerabilità come questo: http://www.acunetix.com/ – rook

2

Si potrebbe osservare le anomalie statistiche. Ad esempio, mantenere una media costante della percentuale di accessi non riusciti per ogni ora nell'ultimo giorno. Se tale percentuale diventa improvvisamente, ad esempio, tre volte più grande, è possibile che si stia verificando un tentativo di violazione della password.

Non c'è modo di capire in anticipo quali sarebbero i parametri corretti per tale algoritmo. Direi che inizi a renderli eccessivamente sensibili, quindi ridimensionarli finché il numero di falsi positivi diventa accettabile.

+0

Buona Idea ..... +1 – UpTheCreek

0

Il modo migliore per sapere se avete intenzione di vedere problemi con la vostra applicazione è di essere proattivi sull'identificazione dei problemi da soli. Per prima cosa inizia con un modello di minaccia. I modelli di minaccia sono fondamentali per trovare i potenziali problemi prima che gli aggressori lo facciano.

Questi sono i passi che vorrei fare per ottenere una comprensione del panorama delle minacce applicazione: - Prima di identificare tutti i processi nella propria applicazione (ad esempio l'autenticazione, l'elaborazione delle transazioni, etc.) - In secondo luogo, flusso di dati il ​​più alto e processi più critici.Per me, i diagrammi del flusso di dati sono il più grande aiuto nella visione visiva da cui potrebbero derivare i potenziali attacchi. - In terzo luogo, analizza i tuoi processi. Per questo, raccomando uno strumento come lo strumento di modellazione delle minacce di Microsoft. È bello costringerti a guardare tutti i possibili vettori di attacco. - In quarto luogo, mettere insieme un piano per risolvere ciò che trovi.

Questo processo è incredibilmente utile poiché chi sviluppa le applicazioni sa come individuare i difetti meglio degli aggressori.

Problemi correlati