Il ya un couple de différentes directions, vous pouvez aller avec des outils de test automatisés pour les applications web.
Tout d'abord, il y a le web commercial scanners, dont HP WebInspect et Rational AppScan sont les deux plus populaires. Ce sont des "tout-en-un", "fire-and-forget" les outils que vous téléchargez et installez sur un document interne du bureau de Windows, puis donner une URL d'araignée votre site, analyse des vulnérabilités connues (c'est à dire, les choses qui ont frappé Bugtraq), et la sonde pour le cross-site scripting et les vulnérabilités d'injection SQL.
Deuxièmement, il y a le code source des outils d'analyse, de qui Coverity et de Fortifier sont probablement les deux plus connus. Ce sont des outils que vous installez sur un développeur de bureau pour le traitement de votre Java ou C# code source et de regarder pour des motifs bien connus de l'insécurité code, comme un manque de validation de la saisie.
Enfin, il y a le test de pénétration des outils. De loin le plus populaire, application web tests de pénétration de l'outil entre les professionnels de la sécurité est Burp Suite, que vous trouverez à l' http://www.portswigger.net/proxy. D'autres incluent Spike Proxy et OWASP WebScarab. Encore une fois, vous allez l'installer sur un interne du bureau de Windows. Il fonctionnera comme un proxy HTTP, et vous vous pointez votre navigateur. Vous allez utiliser vos applications en tant qu'utilisateur normal, tout il enregistre vos actions. Vous pouvez alors revenir à chaque page ou à l'adresse HTTP de l'action et de la sonde pour des problèmes de sécurité.
Dans un environnement complexe, et surtout si vous envisagez quelque chose de BRICOLAGE, je recommande fortement la pénétration des outils de test. Voici pourquoi:
Commercial web scanners fournir beaucoup de "largeur", le long de avec d'excellents rapports. Cependant:
Ils ont tendance à manquer des choses, parce que chaque demande est différente.
Ils sont chers (WebInspect commence le 10 de milliers).
Vous êtes payer pour des choses que vous n'avez pas besoin (comme les bases de données de mauvaise connaissance des Cgi depuis les années '90).
Ils sont difficile à personnaliser.
Ils peuvent produire des résultats.
Le code Source de scanners sont plus approfondie que les scanners. Cependant:
Ils sont encore plus cher que le web scanners.
Ils exigent le code source pour fonctionner.
Pour être efficaces, ils ont souvent besoin de vous pour annoter votre code source (par exemple, pour choisir l'entrée des voies).
Ils ont tendance à produire des faux positifs.
À la fois commerciale et des scanners à code source scanners ont la mauvaise habitude de devient shelfware. Au pire, même si elles travaillent, leur coût est comparable à d'obtenir 1 ou 2 applications entières vérifiés par un cabinet de conseil; si vous faites confiance à vos consultants, vous avez la garantie d'obtenir de meilleurs résultats à partir d'eux que des outils.
Les tests de pénétration des outils ont des inconvénients aussi:
Ils sont beaucoup plus difficile à utiliser que le feu et oublier commercial scanners.
Ils supposent une certaine expertise dans vulnérabilités des applications web --- vous devez savoir ce que vous cherchez.
Ils produisent peu ou pas de déclaration officielle.
Sur l'autre main:
Ils sont beaucoup, beaucoup moins cher --- le meilleur du lot, Burp Suite, uniquement les frais de 99EU, et a une version gratuite.
Ils sont faciles à personnaliser et ajouter à un test de flux de travail.
Ils sont beaucoup mieux à vous aider à "apprendre à connaître" vos applications à partir de l'intérieur.
Voici quelque chose que vous feriez avec un stylo-outil de test pour une application web de base:
Ouvrez une session dans l'application via le proxy
Créer une "liste noire" des grands domaines fonctionnels de l'application, et l'exercice à chaque fois.
Utiliser le "spider" de l'outil dans votre stylo-test d'application pour trouver toutes les pages et les actions et les gestionnaires dans l'application.
-
Pour chaque page dynamique et chaque formulaire HTML l'araignée découvre, utiliser le "fuzzer" de l'outil (Rot appelle un "intrus") pour l'exercice de chaque paramètre non valide d'intrants. La plupart des fuzzers venir avec test de base des chaînes qui comprennent:
SQL métacaractères
HTML/Javascript, des évasions et des caractères de remplacement
Internationalisés variantes de ces pour échapper aux filtres d'entrée
Bien connu formulaire par défaut les noms de champ et les valeurs
Bien connu répertoire de noms, les noms de fichiers et gestionnaire de verbes
Passer plusieurs heures de filtrage les erreurs qui en résulte (typique fuzz exécuter pour une forme susceptible de générer 1000 d'entre eux) à la recherche de suspects réponses.
C'est une main-d'œuvre, "bare-metal" approche. Mais si votre entreprise possède les applications réelles, le nu-métal approche de la paie, parce que vous pouvez l'utiliser pour construire des tests de régression sur les suites qui seront exécutés comme sur des roulettes à chaque cycle de dev pour chaque application. C'est une victoire pour tout un tas de raisons:
Vos tests de sécurité prendra une quantité prévisible de temps et de ressources par l'application, qui vous permet de budget et de triage.
Votre équipe peut obtenir au maximum précise et approfondie des résultats, depuis votre test va être à l'écoute de vos demandes.
Ça va coûter moins de commercial, de scanners et de moins de consultants.
Bien sûr, si vous suivez cette voie, vous avez l'impression de vous tourner vers un consultant en sécurité pour votre entreprise. Je ne pense pas que c'est une mauvaise chose; si vous ne voulez pas que l'expertise, WebInspect ou Fortifier ne va pas beaucoup vous aider de toute façon.