Qu'est-ce que Fortify SCA et comment l'installer ?
L'analyseur de code statique Fortify (SCA) examine le code source pour identifier les causes profondes des failles de sécurité.
Une analyse avec Fortify priorise les problèmes les plus critiques et fournit aux développeurs des directives pour les corriger.
Analyseur de Code Statique Fortify
Fortify Static Code Analyzer comprend divers analyseurs de vulnérabilité, notamment les analyseurs de type Buffer, Contenu, Flux de Contrôle, Flux de Données, Sémantique, Configuration et Structure. Chaque analyseur suit un ensemble de règles distinct, conçu pour fournir les informations spécifiques nécessaires pour chaque type d'analyse.
Fortify Static Code Analyzer se compose des éléments suivants :
- Assistant d'analyse Fortify : Un outil qui permet d'exécuter des scripts avant ou après l'analyse.
- Tableau de bord d'audit : Une application à interface graphique servant à organiser et gérer les résultats d'analyse.
- Éditeur de règles personnalisées : Un outil permettant aux développeurs de créer et modifier des règles d'analyse sur mesure.
- Plugin pour IntelliJ et Android Studio : Un plugin qui affiche les résultats d'analyse directement dans l'environnement de développement intégré (IDE).
- Plugin pour Eclipse : Un outil intégré à Eclipse pour visualiser les résultats dans l'IDE.
- Plugin Bamboo : Un plugin pour collecter les résultats des tâches Bamboo exécutant une analyse.
- Plugin Jenkins : Un plugin pour collecter les résultats des tâches Jenkins.
Fonctionnalités de Fortify SCA
#1. Prise en charge de plusieurs langages
Fortify SCA prend en charge un grand nombre de langages, parmi lesquels : ABAP/BSP, ActionScript, ASP (avec VBScript), COBOL, ColdFusion, Apex, ASP.NET, C# (.NET), C/C++, Classic VB.NET, VBScript, CFML, Go, HTML, Java (y compris Android), JavaScript/AJAX, JSP, Kotlin, Visual Basic, MXML (Flex), Objective C/C++, PHP, PL/SQL, Python, Ruby, Swift, T-SQL et XML.
#2. Options de déploiement flexibles
- Fortify On-Prem donne à l'organisation un contrôle total sur tous les aspects de Fortify SCA.
- Fortify On Demand permet aux développeurs de travailler dans un environnement Software as a Service (SaaS).
- Fortify Hosted combine les avantages de l'On Demand et de l'On-Prem grâce à un environnement virtuel isolé, offrant un contrôle complet sur les données.
#3. Intégration facilitée avec les outils CI/CD
- Fortify SCA s'intègre facilement avec les principaux IDE, comme Visual Studio et Eclipse.
- L'outil se connecte avec des outils open source tels que Sonatype, WhiteSource, Snyk et BlackDuck, offrant aux développeurs un contrôle sur diverses actions.
- Fortify SCA peut également être intégré avec des référentiels de code distants comme Bitbucket et GitHub, permettant ainsi de vérifier le code envoyé vers ces plateformes pour détecter les vulnérabilités et générer des rapports.
#4. Alertes en temps réel
Fortify SCA fournit des mises à jour en temps réel pendant que vous codez, vous évitant d'attendre la fin du processus. Ses analyseurs de configuration et de structure sont conçus pour la rapidité et l'efficacité, vous aidant à développer des applications sécurisées.
#5. Assistant d'audit basé sur l'apprentissage automatique
L'assistant d'audit, utilisant des algorithmes d'apprentissage automatique, permet d'auditer rapidement un système. Il identifie les vulnérabilités et les priorise en fonction de leur niveau de confiance, ce qui permet aux organisations de réaliser des économies sur les coûts d'audit, tout en générant des rapports.
#6. Flexibilité
Les utilisateurs peuvent choisir le type d'analyse souhaité en fonction de leurs besoins. Par exemple, ils peuvent opter pour une analyse complète pour une analyse détaillée et précise, ou choisir une analyse rapide pour détecter uniquement les menaces majeures.
Quel est le rôle de Fortify SCA ?

Fortify SCA joue plusieurs rôles essentiels dans un environnement de développement typique. En voici quelques-uns :
Les tests statiques contribuent à l'amélioration du code
Les tests de sécurité statiques des applications (SAST) permettent d'identifier les failles de sécurité au début du cycle de développement, là où il est plus économique de les corriger.
Cette approche réduit les risques de sécurité dans les applications, car les tests fournissent des retours immédiats sur les problèmes introduits dans le code pendant le développement.
Les tests SAST permettent aux développeurs d'acquérir des connaissances en matière de sécurité et ainsi de développer des logiciels sécurisés dès le départ.
Fortify SCA utilise une vaste base de connaissances sur les règles de codage sécurisé, ainsi que plusieurs algorithmes, pour analyser le code source d'une application et rechercher des vulnérabilités. Il analyse tous les chemins possibles que les données et l'exécution peuvent emprunter afin de repérer les vulnérabilités et de proposer des solutions.
Détection précoce des problèmes de sécurité
Fortify SCA fonctionne comme un compilateur. Après une analyse avec Fortify, l'outil lit les fichiers de code source et les convertit en une structure intermédiaire optimisée pour l'analyse de sécurité.
Les failles de sécurité sont plus faciles à localiser dans ce format intermédiaire. L'outil est doté d'un moteur d'analyse comprenant plusieurs analyseurs spécialisés qui utilisent des règles de codage sécurisé afin de vérifier si le code enfreint les bonnes pratiques.
Fortify SCA comprend également un générateur de règles pour étendre les capacités d'analyse statique et intégrer des règles personnalisées. Les résultats peuvent être visualisés dans différents formats, en fonction de la tâche et du public.
Fortify Software Security Center (SSC) pour la gestion des résultats
Fortify Software Security Center (SSC) est un référentiel de gestion centralisé qui offre une visibilité sur l'ensemble du programme de sécurité des applications d'une organisation. SSC permet aux utilisateurs d'auditer, d'examiner, de prioriser et de gérer les efforts de correction lorsque des menaces de sécurité sont identifiées.
Fortify SSC donne une vue précise et étendue de la posture de sécurité des applications au sein d'une organisation. Il est hébergé sur un serveur central et reçoit les résultats de différentes activités de tests de sécurité des applications, allant de l'analyse en temps réel à l'analyse dynamique et statique.
Quels types d'analyse de code réalise Fortify SCA ?

Fortify SCA s'inspire de l'architecture des royaumes pernicieux lors de l'analyse de code. Voici les types d'analyses réalisées par Fortify SCA :
- Validation et représentation des entrées : les problèmes associés à la validation et à la représentation des entrées proviennent des encodages alternatifs, des représentations numériques et des métacaractères. Par exemple, les "dépassements de tampon", les attaques par "cross-site scripting" et "l'injection SQL", qui se produisent lorsque les utilisateurs font confiance aux entrées.
- Abus d'API : le cas le plus fréquent d'abus d'API est l'appelant qui ne respecte pas le contrat d'utilisation.
- Fonctions de sécurité : Ce test permet de distinguer la sécurité logicielle des logiciels de sécurité, en analysant des aspects comme l'authentification, la gestion des privilèges, le contrôle d'accès, la confidentialité et la cryptographie.
- Temps et État : les ordinateurs basculent très rapidement entre différentes tâches. L'analyse du temps et de l'état détecte les défauts liés à des interactions inattendues entre les threads, les informations, les processus et le temps.
- Les erreurs : Fortify SCA examine si les erreurs divulguent trop d'informations aux attaquants potentiels.
- Qualité des codes : une mauvaise qualité de code entraîne souvent un comportement imprévisible. Les attaquants pourraient en profiter pour manipuler une application s'ils rencontrent un code mal écrit.
- Encapsulation : Il s'agit de définir des limites strictes, par exemple en distinguant les données validées et non validées.
Téléchargement et installation de Fortify SCA
Avant de commencer l'installation, vous devez :
- Vérifier la configuration système requise dans la documentation officielle.
- Obtenir le fichier de licence Fortify. Sélectionner votre package sur la page de téléchargements Microfocus. Rechercher Fortify Static Code Analyzer, créer un compte et obtenir le fichier de licence.

- S'assurer que Visual Studio Code ou un autre éditeur de code pris en charge est installé.
Comment installer sur Windows
Fortify_SCA_and_Apps_<version>_windows_x64.exe
NB : <version> représente la version du logiciel.
- Cliquer sur Suivant après avoir accepté le contrat de licence.
- Choisir l'emplacement d'installation de l'analyseur de code statique et cliquer sur Suivant.
- Sélectionner les composants à installer et cliquer sur Suivant.
- Spécifier les utilisateurs si vous installez une extension pour Visual Studio 2015 ou 2017.
- Cliquer sur Suivant après avoir spécifié le chemin d'accès au fichier fortify.license.
- Saisir les paramètres pour mettre à jour le contenu de sécurité. Vous pouvez utiliser le serveur de mise à jour Fortify Rulepack en indiquant l'URL sous la forme https://update.fortify.com. Cliquer sur Suivant.
- Indiquer si vous souhaitez installer un exemple de code source. Cliquer sur Suivant.
- Cliquer sur Suivant pour installer Fortify SCA et les applications.
- Cliquer sur Mettre à jour le contenu de sécurité après l'installation, puis sur Terminer une fois l'installation achevée.
Comment installer sur Linux
Vous pouvez suivre les mêmes étapes pour installer Fortify SCA sur un système Linux. Cependant, lors de la première étape, exécuter le fichier d'installation de la manière suivante :
Fortify_SCA_and_Apps__linux_x64.run
Vous pouvez également installer Fortify SCA à l'aide de l'invite de commande.
Ouvrir votre terminal et exécuter la commande suivante :
./Fortify_SCA_and_Apps__linux_x64.run --mode text
Suivre toutes les invites comme indiqué dans l'invite de commande pour terminer l'installation.
Comment lancer une analyse Fortify

Une fois l'installation terminée, il est temps de configurer l'outil d'analyse de sécurité.
- Accéder au répertoire d'installation, puis au dossier bin en utilisant l'invite de commande.
- Taper scapostinstall. Vous pouvez ensuite taper s pour afficher les paramètres.
- Configurer les paramètres régionaux avec les commandes suivantes :
Taper 2 pour sélectionner Paramètres.
Taper 1 pour sélectionner Général.
Taper 1 pour sélectionner Paramètres régionaux.
Pour la langue, taper English: en afin de définir la langue sur l'anglais.
- Configurer les mises à jour du contenu de sécurité. Taper 2 pour sélectionner Paramètres, puis de nouveau 2 pour sélectionner Fortify Update. Vous pouvez maintenant utiliser le serveur de mise à jour Fortify Rulepack en indiquant l'URL comme https://update.fortify.com.
- Taper sourceanalyzer pour vérifier que l'outil est correctement installé.
Fortify SCA s'exécute désormais en arrière-plan, analysant votre code pour détecter les vulnérabilités.
En résumé
Les incidents de piratage de systèmes et de compromission de données sont devenus fréquents à l'ère d'internet. Heureusement, des outils comme Fortify Static Code Analyzer existent pour détecter les menaces de sécurité pendant la rédaction du code, envoyer des alertes et fournir des recommandations pour gérer ces menaces. Fortify SCA peut accroître la productivité et réduire les coûts d'exploitation lorsqu'il est utilisé conjointement avec d'autres outils.
Vous pouvez également explorer l'analyse de la composition logicielle (SCA) afin d'améliorer la sécurité de votre application.