Fermer

avril 10, 2020

Comprendre les politiques de sécurité pour le développement


Développement de logiciels sécurisés

Comprendre les politiques de sécurité et leur application aux pratiques de développement est la clé de la livraison de logiciels sécurisés. Malheureusement, la plupart des équipes de développement n'ont pas une compréhension claire de la mise en œuvre de la sécurité. Cela peut être dû à plusieurs facteurs, mais un thème commun est que les professionnels de la sécurité parlent un «langage» différent des développeurs (c.-à-d. Exigences vs contrôles, code vs vulnérabilité, fonctionnalité vs facteurs de risque). Cette absence de moyen commun de communiquer la conformité à la sécurité empêche l'identification et la suppression des vulnérabilités du système. Il existe de nombreux exemples de violations de système et de données qui se sont produites en raison de normes de sécurité mal comprises ou laxistes.

Cela ne veut pas dire qu'il n'y a pas de ressources très utiles déjà disponibles. Le groupe Open Web Application Security Project (OWASP) publie régulièrement des conseils sur la façon d'identifier et de prévenir les vulnérabilités courantes au niveau du code. Le cadre de sécurité commun HITRUST (CSF) fournit un cadre de sécurité unifié pour pratiquement toutes les normes de conformité et réglementaires actuelles, telles que NIST, ISO et HIPAA (voir figure 1). Le Center for Internet Security (CIS) fournit des ressources open source pour le renforcement de tous les principaux systèmes d'exploitation, ainsi que des outils pour aider à établir et à maintenir des environnements de déploiement sécurisés.

 Hitrust Csf Control Category

Figure 1. Catégories de contrôle HITRUST CSF v. 9.3.1

Ainsi, même si les informations disponibles pour l'identification et la correction des risques de sécurité ne manquent pas, il est difficile de déterminer exactement ce qui répondra à l'objectif d'une organisation spécifique en matière de conformité aux politiques de sécurité. Même un standard bien organisé, tel que le CSF HITRUST, fait bien plus de 500 pages! Attendre que toutes vos équipes de développement lisent et comprennent chaque aspect n'est tout simplement pas raisonnable. Au lieu de cela, l'équipe de développement a besoin de conseils pour trouver les ressources exactes nécessaires pour respecter la politique via des contrôles appropriés.

Stratégies de sécurité du développement

Pour ce faire, je propose que les architectes de solution de l'organisation et les experts en sécurité unissent leurs forces pour créer un ensemble de ' politiques de sécurité du développement ». Comme le montrent les figures 2 et 3, ces retraitements des politiques de sécurité standard permettent aux équipes de développement d'identifier rapidement les lignes directrices, les normes et les pratiques qui répondront à l'objectif de conformité. Dans ces exemples (extraits du CSF HITRUST, version 9.3), les politiques sont organisées en fonction de la catégorie de contrôle et de l'objectif. La déclaration de politique va plus loin pour définir des «indicateurs» spécifiques pour le moment où la politique est applicable, des «contrôles» pour garantir la conformité et des «implications» pour noter les effets secondaires probables de la conformité. L'énoncé de politique dirige ensuite l'équipe de développement vers les normes, directives, pratiques et références utiles applicables.

Catégorie de contrôle: contrôle d'accès

Nom de l'objectif: accès autorisé aux systèmes d'information

Référence de contrôle: authentification de l'utilisateur pour les connexions externes

Description: des méthodes d'authentification appropriées doivent être utilisées pour contrôler l'accès des utilisateurs distants.

Indicateurs

  • OAUTH2 / OpenID est requis pour accéder à des ressources internes ou externes supplémentaires
  • La connexion unique est requise pour accès multi-système
  • L'authentification multifacteur est requise par la réglementation ou la politique commerciale (par exemple, FISMA, PCI, HIPAA, etc.)

Contrôles

  • Utilisation des normes et méthodes de l'industrie (c.-à-d. OAUTH2, MFA, SAML , etc.)
  • Audit de la conception des systèmes pour garantir la conformité aux réglementations et aux normes de l'entreprise

Implications

  • Les systèmes qui nécessitent des mécanismes d'authentification améliorés doivent être soigneusement examinés dans la phase de conception pour s'assurer que les mécanismes architecturaux appropriés sont en place pour répondre aux exigences supplémentaires.

Normes associées:

OATH2 / OpenID Resource Authentication, SAML single-on on, Kerberos authentication

Références:

NIST SP 800-63 Digital Identity Guidelines

Figure 2. Exemple de politique de sécurité de développement pour la gestion des identités

Cette approche réduit considérablement la confusion des équipes de développement. Il reformule la politique de sécurité en termes spécifiques qu'une équipe de développement peut à la fois comprendre, implémenter et tester. Enfin, il comble le fossé entre les groupes de développement et les professionnels de la sécurité en traduisant les déclarations globales en exigences exploitables. Plutôt que de faire l'objet d'audits de sécurité externes, chaque équipe de développement est habilitée à évaluer ses propres systèmes. L'équipe de sécurité obtient des informations précieuses sur le fonctionnement des équipes de développement, en particulier dans les pratiques agiles où le «décalage à gauche» s'applique également aux besoins de sécurité. Enfin, par la création et la conservation d'un ensemble ciblé de politiques définies, il y a une adoption accrue des meilleures pratiques conduisant à des versions de logiciel plus sûres et plus fiables.

Catégorie de contrôle: acquisition, développement et maintenance de systèmes d'information

Nom de l'objectif: traitement correct dans les applications

Description:

Pour garantir la prévention des erreurs, des pertes, des modifications non autorisées ou de l'utilisation abusive des informations dans les applications, les commandes doivent être conçues dans des applications, y compris des applications développées par l'utilisateur pour assurer un traitement correct. Ces contrôles doivent inclure la validation des données d'entrée, le traitement interne et les données de sortie.

Indicateurs

  • Le système a des données d'entrée, telles que via une interface utilisateur, une entrée par lots, une API ou un autre point d'entrée du système

Commandes [19659014] Toutes les données d'entrée sont validées par rapport à une norme attendue (c.-à-d. Expression régulière, limite de valeur, type de données attendu, limite de champ de données, etc.)

Implications

  • Toutes les entrées du système doivent être validées par rapport à une norme connue pour cette entrée . Ceci est particulièrement important pour les opérations automatisées, où les entrées de données en masse peuvent ne pas être filtrées en détail car elles proviennent d'une source «fiable».

Normes associées:

Sécurité de validation des données OWASP

Références:

NIST SP 800-171 Protection des informations non classifiées contrôlées dans les organisations et les systèmes non fédéraux

Figure 3. Exemple de politique de sécurité de développement pour l'intégrité des données

Conclusion

Les équipes de sécurité comprennent les normes et les politiques de conformité. Les équipes de développement comprennent les exigences et créent des solutions aux problèmes. La mise à jour des politiques de conformité, comme indiqué dans cet article, bénéficiera aux deux équipes en créant une définition de conformité de sécurité commune. La collaboration de ces équipes est cruciale pour la livraison de logiciels sécurisés, stables et productifs.




Source link