IBM annonce la disponibilité de Code Risk Analyzer dans son service IBM Cloud Continuous Delivery,
pour apporter aux développeurs des analyses de sécurité et de conformité à DevSecOps

IBM a annoncé la disponibilité de Code Risk Analyzer dans son service IBM Cloud Continuous Delivery, une fonctionnalité visant à apporter aux développeurs des analyses de sécurité et de conformité à DevSecOps. Code Risk Analyser peut être configuré pour s'exécuter au début du pipeline de code d'un développeur et il examine et analyse les référentiels Git à la recherche de problèmes connus avec tout code open source qui doit être géré. Il permet de fournir des chaînes d'outils, d'automatiser les builds et les tests, et permet aux utilisateurs de contrôler la qualité des logiciels avec des analyses, selon l'entreprise.

L'objectif de l’analyseur de code est de permettre aux équipes applicatives d’identifier les menaces de cybersécurité, de hiérarchiser les problèmes de sécurité pouvant affecter les applications et de résoudre les problèmes de sécurité.

Steven Weaver, Offering Manager chez IBM, a indiqué dans un billet :

« La réduction du risque d'incorporation de vulnérabilités dans votre code est essentielle à la réussite du développement. Étant donné que l'open source, les conteneurs et les technologies cloud natives deviennent de plus en plus courants et importants, le fait de déplacer la surveillance et les tests plus tôt dans le cycle de développement peut permettre d’économiser du temps, de l'argent et des ressources qu'il vaut mieux dépenser pour innover et fournir de nouvelles applications à vos clients.

« Aujourd'hui, IBM est ravi d'annoncer Code Risk Analyzer, une nouvelle fonctionnalité d'IBM Cloud Continuous Delivery. Développé conjointement avec les projets IBM Research et les commentaires des clients, Code Risk Analyzer permet aux développeurs comme vous d'évaluer et de corriger rapidement les risques de sécurité et juridiques qui se sont potentiellement glissés dans votre code source et fournit des commentaires directement dans vos artefacts Git (par exemple, les requêtes pull / merge). Code Risk Analyzer est fourni sous la forme d'un ensemble de tâches Tekton, qui peuvent être facilement incorporées dans vos pipelines de livraison ».


Code Risk Analyzer en action

Code Risk Analyzer fournit les fonctionnalités suivantes en analysant vos référentiels sources basés sur Git (IBM Cloud Continuous Delivery Git Repos and Issue Tracking ou GitHub) à la recherche des vulnérabilités connues. Les capacités comprennent ce qui suit:
  • Analyses de vulnérabilité : Code Risk Analyzer vous permet de découvrir les vulnérabilités de votre application (Python, Node.js, Java) et de la pile du système d'exploitation (image de base) sur la base des riches informations sur les menaces de Snyk et Clair, et fournit des recommandations de correction.
    • IBM s'est associé à Snyk pour intégrer leur couverture de sécurité complète afin de vous aider à trouver, prioriser et corriger automatiquement les vulnérabilités dans les dépendances et conteneurs open source au début de votre flux de travail. La base de données Snyk Intel Vulnerability est continuellement organisée par une équipe expérimentée de recherche sur la sécurité Snyk pour permettre aux équipes d'être efficaces de manière optimale pour contenir les problèmes de sécurité open source, tout en restant concentrées sur le développement.
    • Clair est un projet open source pour l'analyse statique des vulnérabilités dans les conteneurs d'applications. Comme il scanne les images à l'aide de l'analyse statique, il peut analyser les images sans avoir besoin d'exécuter leur conteneur.

  • Analyse de déploiement : Code Risk Analyzer peut détecter les erreurs de configuration dans vos fichiers de déploiement Kubernetes en fonction des normes du secteur et des meilleures pratiques de la communauté.
  • Nomenclature : Code Risk Analyzer génère une nomenclature (BoM) représentant toutes les dépendances et leurs sources pour votre application. En outre, la fonctionnalité BoM-Diff vous permet de comparer les différences dans toute dépendance par rapport aux branches de base dans le code source.

« La tendance à la création, la modification et le redéploiement d'équipes de développeurs cloud-natives décentralisées de leur travail sur une base quotidienne ou plus fréquente a déclenché une transformation des processus de sécurité et de conformité des applications métier », a noté Shripad Nadgowda, ingénieur logiciel senior chez IBM. « En conséquence, il est devenu essentiel d'équiper les développeurs d'un nouvel ensemble de capacités et d'outils natifs pour le cloud, comme Code Risk Analyzer, qui peut être facilement intégré dans les workflows de développement existants. »


Flux de travail du cycle de vie de la livraison logicielle.

Alors que les solutions précédentes se concentraient sur l'exécution au début du pipeline de code d'un développeur, elles se sont révélées inefficaces car les images de conteneurs se sont réduites à l'endroit où elles contiennent la charge utile minimale nécessaire pour exécuter une application et les images ne disposent pas du contexte de développement d'une application.

« Dans DevSecOps, il est absolument essentiel de concevoir une solution complète et cohérente qui englobe l’évaluation de la sécurité et de la conformité de tous ces artefacts. En conséquence, nous les avons tous incorporés dans le cadre de la solution Code Risk Analyzer », a indiqué Nadgowda.

Pour les artefacts d'application, Code Risk Analyzer vise à fournir des vérifications de vulnérabilité, de gestion des licences et CIS sur les configurations de déploiement, génère une nomenclature et procède à des vérifications de la sécurité. Les fichiers Terraform (* .tf) utilisés pour provisionner ou configurer des services cloud tels que Cloud Object Store et LogDNA sont également analysés pour identifier les erreurs de configuration de sécurité.

Une courbe d'apprentissage DevSecOps aplanie

Nadgowda explique que « Nous protégeons également les développeurs du besoin de comprendre les définitions et les politiques de sécurité en leur fournissant plutôt des commentaires exploitables. Par exemple, lors de la découverte de défaillances des contrôles de sécurité, en plus de les informer de ces défaillances et de leur impact, nous les aidons à identifier les artefacts source associés et recommandons une manière optimale de les corriger grâce à des remédiations automatiques.

« Un autre objectif était d'aplanir la courbe d'apprentissage des utilisateurs tout en leur présentant ces nouvelles plateformes et pratiques de sécurité. Nous y sommes parvenus en intégrant Code Risk Analyzer directement dans les flux de travail des développeurs existants, y compris dans les procédures de demande de changement via pr_workflow (pull request) et des approbations de demande de changement par commit-to-main-branch dans ci_workflow (intégration continue). Nous concevons également divers modèles dans le cadre du service de chaîne d'outils DevOps sur IBM Cloud pour automatiser le provisionnement et l'intégration de notre solution.

« Code Risk Analyzer aide les développeurs à garantir la sécurité et la conformité dans leurs flux de travail de routine décrits ici. Notre approche apporte également de la valeur en effectuant diverses tâches analytiques continues et asynchrones qui différencient vraiment notre solution de toute autre solution. Dans Smart Recommendations, Code Risk Analyzer fournit des informations entre les référentiels pour les dépendances, les remédiations ou les détections de valeurs aberrantes. Dans Smart Updates, nous suivons les modifications de toutes les dépendances (par exemple, image de base, package du système d'exploitation, package d'application, autre dépôt git, etc.) de votre application, classons ces modifications (liées aux performances, correction de bogue, correctif de sécurité, etc.) et fournissons des notifications de mise à jour automatisées ».

Source : IBM : (Steven Weaver, Shripad Nadgowda)