Maison >Opération et maintenance >Sécurité >Principes de pratiques de développement sécuritaires
Aujourd'hui, le pouvoir destructeur des menaces de sécurité augmente à une vitesse sans précédent avec l'approfondissement de l'informatisation. L'expansion et la création d'entreprises numériques conduisent généralement à une plus grande surface d'attaque. Pour faire face aux menaces de sécurité actuelles et futures, il ne suffit pas de s'appuyer uniquement sur les investissements traditionnels dans les produits de sécurité. Outre l'achat de produits de sécurité, il est plus important d'améliorer la sensibilisation à la sécurité et de construire des processus de sécurité.
Dans divers plans de construction de sécurité, « les capacités de sécurité mises en avant » sont une tendance évidente. Tout comme une maison avec des fondations instables, des murs fragiles et des sols effondrés lors de sa construction, elle ne peut pas tenir debout avec le soutien de quelques piliers après sa construction. Sans l'application d'un processus de développement sûr, elle sera inévitablement pleine de ressources. failles dans les opérations ultérieures.
Nous pensons que les pratiques de développement sûres reposent sur les 5 principes importants suivants :
1. Formation en sécurité
La formation aux compétences en sécurité est très importante pour combler le fossé. les lacunes en matière de capacités techniques et de gestion de la sécurité à chaque étape du cycle de vie du produit sont essentielles. Les entreprises doivent investir explicitement dans la sensibilisation à la sécurité et la formation aux compétences en matière de sécurité pour améliorer la sensibilisation des développeurs et leur capacité à coder en toute sécurité, et à comprendre les recommandations et les actions formulées par le service de sécurité, ce qui est essentiel pour une collaboration efficace entre les équipes commerciales et les équipes de sécurité. important.
Selon le rapport sur l'état de la sécurité du SANS Institute, dès 2016, plus de la moitié des échantillons d'entreprises interrogés aux États-Unis avaient fait de la formation à la sécurité l'une des tâches principales de l'entreprise. À ce jour, seule une poignée d’entreprises chinoises comprennent l’importance de la formation à la sécurité, et encore moins d’entreprises sont capables de transformer les intentions de formation en comportements de formation.
2. Développement d'applications sécurisées
À l'heure actuelle, la sécurité des applications a attiré une large attention de la part des entreprises. Afin d'assurer la sécurité du développement, il existe deux méthodes pratiques importantes :
(1) Utiliser un cadre de processus centré sur la sécurité.
(2) Intégrez les commentaires de l'équipe de sécurité dans les flux de travail des développeurs et les revues de démonstration pour chaque itération.
Pour les cadres de processus, nous pensons qu'il est préférable d'adopter des cadres axés sur la sécurité éprouvés et appropriés, basés sur les meilleures pratiques, les bibliothèques de logiciels, les normes et les réglementations spécifiques au secteur de votre organisation. Les deux cadres bien connus suivants sont des ensembles de règles, de techniques et de processus qui guident les organisations de développement et fournissent des ressources applicables. Même si les préoccupations sont différentes, elles sont toutes fondamentalement axées sur la sécurité.
Cycle de vie de développement de sécurité Microsoft (SDL) : Ce processus s'intègre bien dans les environnements DevOps existants et fournit une structure plus générale qui intègre bien la sécurité tout au long du processus. D’après notre expérience, cela ne se limite pas à un type de code ou à un environnement d’exploitation spécifique.
Projet de sécurité des applications Web Open Source (OWASP) : ce site Web communautaire fournit des données sur les vulnérabilités, les impacts associés et les risques ainsi que des conseils sur les meilleures pratiques pour développer et détecter des applications Web sécurisées ; .
Les entreprises doivent impliquer de manière proactive les équipes de sécurité dans le processus de développement pour obtenir leurs commentaires le plus tôt possible et les inclure tout au long du flux de travail de développement et des démonstrations itératives de prototypes. L’avantage est que cela permet aux équipes de gérer les risques de sécurité simultanément pendant la phase de développement afin d’éviter d’introduire des risques coûteux dans le processus de développement.
Par rapport à la phase de développement, le coût de l'élimination des risques lors de la phase d'exploitation et de maintenance du produit sera au moins des dizaines de fois plus élevé. Cependant, de nombreuses équipes de développement ne sont pas à l'aise avec la collaboration avec les équipes de sécurité. Il est essentiel de faire le premier pas et de persévérer. En fin de compte, un flux de développement basé sur la sécurité deviendra un énorme avantage dans la stratégie de sécurité globale.
3. Security+DevOps=DevSecOps
DevSecOps est une tendance émergente qui intègre pleinement la sécurité dans le flux de travail DevOps, créant ainsi un processus unifié. Tout comme DevOps a été proposé pour résoudre à la fois les problèmes de développement et d’exploitation et de maintenance, il est désormais également nécessaire de résoudre en même temps les problèmes de sécurité.
Security + DevOp
ou DevSecOps
Implique non seulement d'élargir le contenu de travail de chaque étape pour inclure des éléments de sécurité, mais inclut également une formation inter-étapes et inter-départements pour réduire les risques lors du développement du code.
4. Tests de sécurité des applications (AST)
Les tests continus sont très importants et l'outil de test de sécurité des applications (AST) devrait devenir un incontournable dans chaque développeur. chaîne d'outils. Il existe aujourd’hui de nombreux excellents outils, notamment des outils open source. Lorsque vous envisagez des outils de test de sécurité des applications, il est judicieux de prédéterminer l'ensemble d'outils que vous souhaitez utiliser afin d'optimiser les étapes et les processus d'instrumentation du code. Sinon, l’outil risque de ne pas être en mesure d’instrumenter le code de manière complète et efficace.
Les outils AST sont divisés en plusieurs catégories de base :
(1) Tests de sécurité des applications statiques (SAST)
(2) Tests de sécurité des applications dynamiques (DAST)
(3) Tests de sécurité des applications interactives (IAST)
Le rapport de Gartner de 2017 indiquait que « la plupart des entreprises développant des applications ont adopté une forme d'AST, mais différentes technologies ont des niveaux de maturité différents DAST
et sont actuellement les types de produits les plus utilisés, mais la demande du marché pour l'IAST affiche une croissance rapide »SAST
5, surveillance et analyse continues.
Une surveillance et une analyse continues contribuent à protéger les applications pendant la phase d'exploitation et de maintenance. Obtenez des commentaires continus sur la surveillance et réintégrez-les dans le processus de développement. L'application de la surveillance et de l'analyse des phases d'exploitation et de maintenance est une opération de base de bon sens. Elle peut fournir aux entreprises des informations et des données précieuses, les aider à intercepter les failles potentielles et à réduire les risques potentiels.
Tout comme la sécurité dans la phase d'exploitation et de maintenance ne peut être obtenue sans la sécurité du développement, la sécurité du développement ne peut être obtenue indépendamment de la sécurité de l'exploitation et de la maintenance. Un processus sans mécanisme de rétroaction n’est certainement pas un bon processus.
Articles connexes recommandés : Tutoriel sur la sécurité Web
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!