Catégories
Start-up et applications

Analyst Watch: AppSec qui ne fait pas sauter la banque

Les tests de sécurité sont une partie essentielle de développement d'applications. Les problèmes qui apparaissent comme des vulnérabilités de sécurité sont souvent le produit d'un mauvais développement de code, et les tests aident à identifier ces vulnérabilités dès le début du processus de développement de l'application.

Pourtant, les tests de sécurité peuvent être coûteux et les responsables de la sécurité ont souvent du mal à en justifier le coût. La haute direction peut avoir l'impression de dépenser de l'argent pour résoudre les problèmes causés par les développeurs, ou du moins auraient dû être pris en compte.

Contrairement à la perception courante, les tests de sécurité des applications ne doivent pas toujours être un investissement lourd. Voici sept conseils que les responsables de la sécurité peuvent envisager pour créer un programme de test de sécurité efficace et efficient sans se ruiner.

Inclure des experts en sécurité au début du développement
Les premiers tests minimisent le coût de la correction des défauts logiciels. L'inclusion d'experts en sécurité à un stade précoce du développement permet d'identifier les failles de sécurité et de remédier aux risques. Les organisations peuvent éviter les efforts de rénovation et de correction si les menaces sont atténuées au tout début du développement.

CONTENU CONNEXE: les développeurs jouent un rôle plus important dans la sécurité

La modélisation des menaces est un exercice coûteux, mais dans de nombreux cas, elle peut être effectuée en interne avec un logiciel téléchargeable gratuitement. Ceci n'est pas limité aux nouvelles applications et peut également être étendu aux logiciels existants. Surtout lorsque des logiciels existants sont réutilisés ou exposés en tant que services Web, une évaluation structurée des risques et des scénarios dans lesquels une application peut être attaquée offre la possibilité de créer des cas de test.

Sélectionnez des options de test abordables
Dans les scénarios où contraintes budgétaires constituent un obstacle majeur aux tests de sécurité, les équipes peuvent bénéficier d'options abordables et open source. Bien que ces alternatives soient souvent incomplètes en termes de langage, de cadre et de couverture et de fonctionnalités des vulnérabilités, avec la personnalisation et les plug-ins appropriés, elles peuvent permettre un programme de sécurité d'application efficace avec des ressources minimales.

Ces logiciels gratuits ne sont pas fournis avec des fonctionnalités d'entreprise telles que des tableaux de bord, des rapports complets, des capteurs de numérisation distribués ou des plug-ins à intégrer dans le cycle de vie du développement logiciel. Cependant, les experts internes peuvent combler cette lacune en écrivant leurs propres scripts, ou ils peuvent utiliser les outils manuellement si nécessaire.

Utilisez les services de test de sécurité pour un démarrage rapide
Services de test de sécurité des applications et tests de pénétration peut sembler cher. Lorsque vous envisagez un investissement dans ces services, présentez les coûts non seulement comme un service, mais comme une source d'expertise en matière de sécurité. Plus vous transférez de connaissances sur la sécurité des applications dans vos équipes de développement, plus ces équipes sont susceptibles de produire un code de meilleure qualité.

Impliquez les développeurs dans le processus de test afin qu'ils puissent produire un code de haute qualité une fois qu'ils comprennent les menaces possibles. Attribuez à l'un de vos développeurs le soin d'observer le pentester ou le service de test de sécurité des applications, ou demandez à votre développeur de gérer le programme.

Les recherches de Gartner suggèrent que les développeurs de ce type de programme sont enclins à faire beaucoup moins d'erreurs de sécurité. Ces développeurs peuvent également agir en tant qu'experts en la matière ou champions de la sécurité et identifier plus rapidement les problèmes pour l'équipe à l'avenir.

Réévaluer régulièrement les techniques de sécurité
Au fur et à mesure que le programme mûrit et que de nouveaux styles de codage et de nouvelles technologies sont introduits, les vulnérabilités évoluent. Planifiez cela en planifiant des évaluations périodiques des techniques de sécurité dans la pratique. Par exemple, si vous avez une application qui est principalement en mode maintenance et qui nécessite principalement des modifications cosmétiques, déplacez les ressources de l'analyse de code vers pentest.

Les tests périodiques sont souvent perçus à tort comme un processus coûteux. Cependant, une réévaluation semestrielle ou trimestrielle des priorités peut optimiser les ressources et garantir que les équipes de développement et de sécurité connaissent tous les outils.

Rotation des testeurs et application des délais
Les recherches de Gartner suggèrent que le nombre de menaces détectées par un testeur de sécurité diminue progressivement sur une période de cinq semaines et diminue considérablement après huit semaines d'exécution de code. Cela ne signifie pas que les menaces ont été réduites. Étant donné que le testeur consulte le code plusieurs fois, la fatigue s'installe. Cela peut être un problème avec les sections critiques du code ou du logiciel, en particulier lorsque la fonctionnalité complète du code ne peut pas toujours être testée ou utilisée.

Faites tourner les testeurs et appliquez des limites de temps pour éviter une familiarité excessive et un épuisement professionnel. Présenter les tests de code à un nouveau regard peut aider à identifier les vulnérabilités qu'une personne qui travaille depuis trop longtemps sur le logiciel a peut-être négligées.

Évitez de perdre des heures de test rémunérées
La sous-préparation n'est pas nouvelle dans l'environnement de test. Souvent, lorsque les consultants arrivent pour commencer les tests, ils ne sont pas entièrement informés ou préparés pour les types de tests qui ont été demandés. Cela entraîne des retards dans les tests, des résultats moins précis et une productivité moindre pour les équipes de développement et les pentesters.

Préparez-vous aux tests à l'avance en rencontrant les fournisseurs et en discutant des types et de l'ampleur des tests que vous souhaitez effectuer, et présélectionnez les zones de code, Infrastructure et les processus identifiés comme des lacunes dans la couverture globale des tests. Utilisez des testeurs externes pour trouver les erreurs de logique métier au lieu des types de problèmes plus faciles à résoudre que vos tests internes peuvent détecter.

Soyez flexible lors de la planification des opportunités de test
Le déploiement des changements de test sur une petite population est une pratique courante au sein DevOps organisations. Comme ces tests sont effectués dans un environnement contrôlé, cela réduit les risques d'exposer toute l'organisation à des menaces. Envisagez de planifier des tests Canary ou A / B pendant les pauses des heures normales de bureau, comme les week-ends et les jours fériés. Une autre option consiste à configurer des environnements parallèles pour les tests de sécurité.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *