2010-05-08 11 views
6

Je voudrais demander aux proactifs (ou paranoïaques) parmi nous: Qu'est-ce que vous cherchez, et comment?Détection d'un comportement suspect dans une application Web: que rechercher?

Je pense principalement à des choses qui peuvent être surveillées par programmation, plutôt que d'inspecter manuellement les journaux.

Par exemple:

  • Manuel/tentatives de hack automatisé.
  • Écoulement de données.
  • Inscriptions de Bot (qui ont échappé captcha etc.).
  • Autre comportement indésirable.

Vous vous demandez ce que la plupart des gens considèrent comme pratique et efficace?

Les choses préventives (comme l'assainissement d'entrée d'utilisateur) sont bien sûr cruciales, mais dans le cas de cette question, je suis plus intéressé par la détection d'une menace potentielle. Dans ce cas, je suis intéressé par l'alarme antivol, plutôt que par les serrures.

Un exemple du genre de chose dont je parle existe ici sur SO. Si vous faites trop de modifications à une question dans un court laps de temps, cela amène un captcha pour vous assurer que vous n'êtes pas un bot.

Répondre

3

Trois pointeurs pour vous:

  1. entrée utilisateur Désinfecter
  2. d'entrée utilisateur Désinfecter
  3. d'entrée utilisateur Désinfecter

Remeber, et se rappeler ce bon.

+1

La répétition multiplie le renfort ... la répétition multiplie le renfort ... la répétition multiplie le renfort ... (+1) –

+0

Vous voyez, c'est l'une des choses les plus communes, les plus destructrices et les plus faciles à oublier! – LukeN

+0

Ouais :) +1, Mais en supposant que nous croyons avoir fait tout ce que nous pouvions humainement en ce qui concerne la saisie par l'utilisateur, que feriez-vous pour vous assurer que vous étiez rapidement averti d'un problème? – UpTheCreek

1

Une application qui recherche les requêtes http malveillantes avant de les rendre à l'application Web est appelée Web Application Firewall. La plupart des WAF peuvent être configurés pour envoyer des emails lorsque des attaques sont détectées, ainsi vous avez une "alarme anti-intrusion". Les WAFs sont plus utiles pour empêcher les attaques avant qu'elles n'atteignent votre application Web, ce qui ressemble plus à un mur de briques qui s'énerve lorsque vous le touchez.

+0

Merci, mais je voulais plutôt dire détecter un comportement inhabituel dans l'application elle-même (ce qui pourrait être considéré comme des demandes parfaitement légitimes par le pare-feu). (Par exemple, la plupart des pare-feu ne pourront normalement pas aider à détecter l'activité du bot) – UpTheCreek

+0

@Sosh cela dépend entièrement du type de bot. Un WAF causera de sérieux problèmes pour les scanners de vulnérabilité comme celui-ci: http://www.acunetix.com/ – rook

2

Vous pouvez consulter les anomalies statistiques. Par exemple, conservez une moyenne du pourcentage d'échecs de connexion pour chaque heure au cours de la dernière journée. Si ce pourcentage devient soudainement, disons, trois fois plus grand, il se peut que vous envisagiez une tentative de bris de mot de passe.

Il n'y a aucun moyen de dire à l'avance quels sont les bons paramètres pour un tel algorithme. Je dirais que vous commencez par les rendre trop sensibles, puis les régler jusqu'à ce que le nombre de faux positifs devient acceptable.

+0

Bonne idée ..... +1 – UpTheCreek

0

La meilleure façon de savoir si vous allez rencontrer des problèmes avec votre application est d'être proactif pour identifier vous-même les problèmes. Commencez par un modèle de menace. Les modèles de menace sont essentiels pour trouver les problèmes potentiels avant que les attaquants ne le fassent.

Voici les étapes que je voudrais faire pour obtenir une compréhension du paysage des menaces d'application: - Tout d'abord identifier tous les processus dans votre application (par exemple l'authentification, le traitement des transactions, etc.) - En second lieu, flux de données le plus élevé et les processus les plus critiques.Pour moi, les diagrammes de flux de données sont la plus grande aide pour voir visuellement d'où proviendraient les attaques potentielles. - Troisièmement, analysez vos processus. Pour cela, je recommande un outil comme l'outil de modélisation des menaces de Microsoft. C'est bon de vous forcer à regarder tous les vecteurs d'attaque possibles. - Quatrièmement, mettre en place un plan pour réparer ce que vous trouvez.

Ce processus est incroyablement utile car ceux qui développent les applications savent mieux que les attaquants comment trouver les failles.