Y at-il des meilleures pratiques pour tester la sécurité dans un magasin de développement Agile?

voix
9

En ce qui concerne le développement Agile, quelles sont les meilleures pratiques pour tester la sécurité par la libération?

Si elle est une publication mensuelle, y at-il des magasins qui font pen-tests tous les mois?

Créé 05/08/2008 à 16:05
source utilisateur
Dans d'autres langues...                            


4 réponses

voix
2

Quel est votre domaine d'application? Ça dépend.

Depuis que vous avez utilisé le mot « agile », je devine que c'est une application web. J'ai une belle réponse facile pour vous.

Allez acheter une copie de Burp Suite (c'est le # 1 résultat Google pour « burp » --- un avenant sûr!); il vous en coûtera 99EU, ou ~ 180USD $, ou 98 $ Dollars Obama si vous attendez Novembre.

Burp fonctionne comme un proxy web. Vous parcourez votre application Web en utilisant Firefox ou IE ou autre, et il rassemble tous les coups que vous générez. Ces coups se lassent à une fonctionnalité appelée « intruses », qui est un fuzzer web. Intruder va comprendre tous les paramètres que vous fournissez à chacun de vos gestionnaires de requête. Il va alors essayer des valeurs folles pour chaque paramètre, y compris SQL, système de fichiers, et HTML métacaractères. c'est sur un poste de forme complexe typique, va générer environ 1500 coups, que vous regardez à travers d'identifier effrayant --- ou, plus important encore dans un contexte Agile, nouvelles --- réponses d'erreur.

Fuzzing chaque gestionnaire de requêtes dans votre application Web à chaque itération de libération est le # 1 chose que vous pouvez faire pour améliorer la sécurité des applications sans instituer une formelle « SDLC » et en ajoutant des effectifs. Au-delà, vérifier votre code pour les principaux sécurité d'applications web points chauds:

  • Utilisez uniquement paramétrées préparés instructions SQL; ne jamais simplement des chaînes concaténer et de les nourrir à votre poignée de base de données.

  • Filtrez toutes les entrées à une liste blanche de bons caractères connus (alnum, ponctuation de base), et, plus important encore, les données du filtre de sortie de résultats de la requête à « neutralisent » HTML métacaractères à des entités HTML (quot, lt, gt, etc.).

  • L'utilisation à long ID aléatoires de ligne difficiles à deviner les identificateurs partout où vous utilisez actuellement simple entier dans les paramètres de la requête, et assurez-vous que l'utilisateur X ne peut pas voir les données de l'utilisateur Y de deviner simplement en ces identifiants.

  • Testez chaque gestionnaire de requêtes dans votre application pour vous assurer qu'ils fonctionnent uniquement lorsqu'un valide, biscuit ayant ouvert une session session est présenté.

  • Activez la protection XSRF dans votre pile web, qui va générer des paramètres de jeton de formulaire cachés sur tous vos formulaires rendus, pour empêcher les attaquants de créer des liens malveillants qui soumettront des formulaires pour les utilisateurs peu méfiants.

  • Utilisez bcrypt --- --- et rien d'autre pour stocker les mots de passe hachés.

Créé 10/09/2008 à 22:19
source utilisateur

voix
1

Les tests unitaires , la programmation de la Défense et beaucoup de journaux

Les tests unitaires

Assurez-vous de test unitaire le plus tôt possible (par exemple, le mot de passe doit être crypté avant d'envoyer, le tunnel SSL fonctionne, etc.). Cela permettrait d'éviter vos programmeurs de faire accidentellement le programme non sécurisé.

Programmation de la Défense

J'appelle personnellement ce la programmation Paranoid mais Wikipédia n'a jamais tort ( sarcasme ). Fondamentalement, vous ajoutez des tests à vos fonctions qui vérifie toutes les entrées:

  • est les cookies de l'utilisateur valide?
  • est-il encore actuellement connecté?
  • sont les paramètres de la fonction protégée contre l'injection SQL? (Même si vous savez que l'entrée sont générés par vos propres fonctions, vous allez tester de toute façon)

Enregistrement

Connectez-vous tout comme un fou. Il est plus facile d'enlever les journaux puis les ajouter. Un utilisateur a connecté? LOGGUE. Un utilisateur a trouvé une 404? LOGGUE. L'administrateur édité / supprimé un message? LOGGUE. Quelqu'un a pu accéder à une page restreinte? LOGGUE.

Ne soyez pas surpris si votre fichier journal atteint 15+ Mb pendant votre phase de développement. Au cours de la bêta, vous pouvez décider qui se connecte à supprimer. Si vous le souhaitez, vous pouvez ajouter un indicateur de décider quand est enregistré un certain événement.

Créé 18/08/2008 à 03:40
source utilisateur

voix
1

Je ne suis pas un expert en sécurité, mais je pense que le fait le plus important que vous devez être au courant, avant que la sécurité de test, est ce que vous essayez de protéger. Seulement si vous savez ce que vous essayez de protéger, vous pouvez faire une bonne analyse de vos mesures de sécurité et alors seulement vous pouvez commencer à tester les mesures mises en œuvre.

Très abstraite, je sais. Cependant, je pense que ce devrait être la première étape de chaque audit de sécurité.

Créé 05/08/2008 à 18:50
source utilisateur

voix
1

Je ne suis pas expert sur le développement Agile, mais j'imagine que l'intégration d'un logiciel-test stylo automatisé de base dans votre cycle de construction serait un bon début. Je l'ai vu plusieurs logiciels là-bas qui va faire des tests de base et sont bien adaptés pour l'automatisation.

Créé 05/08/2008 à 18:19
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more