Qu’est-ce que Fortify SCA et comment l’installer ?

Fortify Static Code Analyzer (SCA) analyse le code source et identifie la cause première des vulnérabilités de sécurité.

Une analyse Fortify donne la priorité aux problèmes les plus graves et indique aux développeurs comment les résoudre.

Fortifier l’analyseur de code statique

Fortify Static Code Analyzer dispose de divers analyseurs de vulnérabilité tels que Buffer, Content, Control Flow, Dataflow, Semantic, Configuration et Structural. Chacun de ces analyseurs accepte un type de règle différent conçu pour fournir les informations nécessaires au type d’analyse effectuée.

Fortify Static Code Analyzer comprend les composants suivants ;

  • Assistant d’analyse fortifiée. C’est un outil qui offre des options pour exécuter des scripts après ou avant l’analyse.
  • Banc d’audit. Il s’agit d’une application basée sur une interface graphique qui organise et gère les résultats analysés.
  • Éditeur de règles personnalisées. C’est un outil qui permet aux développeurs de créer et de modifier des règles personnalisées pour l’analyse.
  • Plugin pour IntelliJ et Android Studio. Ce plugin fournit des résultats d’analyse dans l’IDE.
  • Plugin pour Eclipse. Cet outil est intégré à Eclipse et affiche les résultats dans l’IDE.
  • Plugin Bambou. Il s’agit d’un plugin qui collecte les résultats du Job Bamboo qui exécute une analyse.
  • Plugin Jenkins. Ce plugin collecte les résultats d’analyse du Job Jenkins.

Caractéristiques de Fortify SCA

#1. Prend en charge plusieurs langues

Certaines des langues prises en charge sur Fortify SCA sont; 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 permet à une organisation de contrôler totalement tous les aspects de Fortify SCA.
  • Fortify On Demand permet aux développeurs de travailler dans un environnement Software As Service.
  • Fortify Hosted permet aux développeurs de profiter des deux mondes (à la demande et sur site) via un environnement virtuel isolé avec un contrôle total des données.

#3. S’intègre facilement aux outils CI/CD

  • Les développeurs peuvent facilement intégrer Fortify SCA aux principaux IDE tels que Visual Studio et Eclipse.
  • Les développeurs contrôlent diverses actions car l’outil s’intègre à des outils open source tels que Sonatype, WhiteSource, Snyk et BlackDuck.
  • Vous pouvez également intégrer Fortify SCA à des référentiels de code distants tels que Bitbucket et GitHub. L’outil peut ainsi vérifier le code poussé vers ces plates-formes pour détecter les vulnérabilités et envoyer des rapports.

#4. Alertes en temps réel

Vous n’avez pas besoin d’attendre d’avoir terminé le codage pour effectuer vos tests, car Fortify SCA fournit des mises à jour en temps réel au fur et à mesure que vous codez. L’outil dispose d’analyseurs de configuration et de structure conçus pour la rapidité et l’efficacité et vous aide à produire des applications sécurisées.

#5. Assistant d’audit basé sur l’apprentissage automatique

L’audit d’un système est rapide à l’aide de l’assistant d’audit, qui utilise des algorithmes d’apprentissage automatique. L’assistant identifie toutes les vulnérabilités et les hiérarchise en fonction du niveau de confiance. Les organisations peuvent ainsi économiser sur les coûts d’audit car l’outil génère des rapports.

#6. La flexibilité

Les utilisateurs peuvent sélectionner le type d’analyse qu’ils souhaitent effectuer en fonction de leurs besoins. Par exemple, si vous souhaitez des analyses précises et détaillées, vous pouvez sélectionner l’option d’analyse complète. Les développeurs peuvent également sélectionner l’option d’analyse rapide s’ils souhaitent que seules les menaces majeures soient détectées.

Que fait Fortify SCA ?

Fortify SCA a plusieurs rôles dans un écosystème de développement typique. Voici quelques-uns des rôles;

Les tests statiques aident à créer un meilleur code

Le test de sécurité des applications statiques (SAST) aide à identifier les vulnérabilités de sécurité dans les premières étapes de développement. Heureusement, la plupart de ces vulnérabilités de sécurité sont peu coûteuses à corriger.

Une telle approche réduit les risques de sécurité dans les applications car les tests fournissent un retour immédiat sur les problèmes introduits dans le code pendant le développement.

Les développeurs apprennent également la sécurité grâce aux tests de sécurité des applications statiques, et ils peuvent ainsi commencer à produire des logiciels sécurisés.

Fortify SCA utilise une vaste base de connaissances sur les règles de codage sécurisé et plusieurs algorithmes pour analyser le code source d’une application logicielle à la recherche de vulnérabilités de sécurité. L’approche analyse tout chemin possible que les données et l’exécution peuvent suivre pour identifier les vulnérabilités et proposer des solutions.

Détecte rapidement les problèmes de sécurité

Fortify SCA imite un compilateur. Après une analyse Fortify, cet outil lit les fichiers de code source et les convertit en une structure intermédiaire améliorée pour l’analyse de sécurité.

Toutes les failles de sécurité sont faciles à localiser dans le format intermédiaire. L’outil est livré avec un moteur d’analyse composé de plusieurs analyseurs spécialisés qui utiliseront ensuite des règles de codage sécurisées pour analyser si le code enfreint les règles des pratiques de codage sécurisé.

Fortify SCA est également livré avec un générateur de règles si vous souhaitez étendre les capacités d’analyse statique et inclure des règles personnalisées. Les résultats dans un tel cadre peuvent être visualisés dans différents formats en fonction de la tâche et du public.

Fortify Software Security Center (SSC) aide à gérer les 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. Grâce à SSC, les utilisateurs peuvent auditer, examiner, hiérarchiser et gérer les efforts de réparation lorsque des menaces de sécurité sont identifiées.

Fortify SSC offre une portée et une image précises de la posture de sécurité des applications dans une organisation. SSC réside dans un serveur central mais reçoit les résultats de différentes activités de test de sécurité des applications allant de l’analyse en temps réel, dynamique, à l’analyse statique.

Quel type d’analyse de code Fortify SCA peut-il effectuer ?

Une analyse fortifiée emprunte à l’architecture des royaumes pernicieux lors de l’analyse de code. Ce sont les types d’analyses que fait Fortify SCA ;

  • Validation et représentation des entrées – les problèmes associés à la validation et à la représentation des entrées proviennent d’encodages alternatifs, de représentations numériques et de métacaractères. Des exemples de tels problèmes sont les « débordements de tampon », les attaques de « script intersite » et « l’injection SQL », qui surviennent lorsque les utilisateurs font confiance aux entrées.
  • Abus d’API. L’appelant qui ne respecte pas la fin du contrat est le type d’abus d’API le plus courant.
  • Fonctions de sécurité. Ce test fait la différence entre la sécurité logicielle et les logiciels de sécurité. L’analyse portera sur les questions d’authentification, de gestion des privilèges, de contrôle d’accès, de confidentialité et de cryptographie.
  • Temps et État. Les ordinateurs peuvent basculer entre différentes tâches très rapidement. L’analyse du temps et de l’état recherche les défauts résultant d’interactions inattendues entre les threads, les informations, les processus et le temps.
  • Les erreurs. Fortify SCA vérifiera si les erreurs donnent trop d’informations aux attaquants potentiels.
  • Qualité des codes. Une mauvaise qualité de code conduit généralement à un comportement imprévisible. Cependant, les attaquants peuvent avoir une chance de manipuler une application à leur avantage s’ils rencontrent du code mal écrit.
  • Encapsulation. C’est le processus de tracer des limites fortes. Une telle analyse peut signifier différencier les données validées et non validées.

Téléchargez et installez Fortify SCA

Avant de commencer le processus d’installation, vous devez;

  • Vérifiez la configuration système requise dans la documentation officielle
  • Obtenez le fichier de licence Fortify. Sélectionnez votre package sur la page des téléchargements Microfocus. Recherchez Fortify Static Code Analyzer, créez votre compte et obtenez un fichier de licence Fortify.

  • Assurez-vous que Visual Studio Code est installé ou un autre éditeur de code pris en charge

Comment installer sur Windows

Fortify_SCA_and_Apps_<version>_windows_x64.exe

NB : est la version du logiciel

  • Cliquez sur Suivant après avoir accepté le contrat de licence.
  • Choisissez où installer l’analyseur de code statique Fortify et cliquez sur Suivant.
  • Sélectionnez les composants que vous souhaitez installer et cliquez sur Suivant.
  • Spécifiez les utilisateurs si vous installez une extension pour Visual Studio 2015 ou 2017.
  • Cliquez sur Suivant après avoir spécifié le chemin du fichier fortify.license.
  • Spécifiez les paramètres requis pour mettre à jour le contenu de sécurité. Vous pouvez utiliser le serveur de mise à jour Fortify Rulepack en spécifiant l’URL sous la forme https://update.fortify.com. Cliquez sur Suivant.
  • Indiquez si vous souhaitez installer un exemple de code source. Cliquez sur Suivant.
  • Cliquez sur Suivant pour installer Fortify SCA et les applications.
  • Cliquez sur Mettre à jour le contenu de sécurité après l’installation, puis sur Terminer une fois l’installation terminée.

Comment installer sur Linux

Vous pouvez suivre les mêmes étapes pour installer Fortify SCA sur un système basé sur Linux. Cependant, lors de la première étape, exécutez-le en tant que fichier d’installation ;

Fortify_SCA_and_Apps__linux_x64.run

Vous pouvez également installer Fortify SCA à l’aide de l’invite de ligne de commande.

Ouvrez votre terminal et exécutez cette commande

./Fortify_SCA_and_Apps__linux_x64.run --mode text

Suivez toutes les invites comme indiqué sur la ligne de commande jusqu’à ce que vous terminiez le processus d’installation.

Comment exécuter une analyse Fortify

Une fois l’installation terminée, il est temps de configurer l’outil d’analyse de la sécurité.

  • Accédez au répertoire d’installation et accédez au dossier bin à l’aide de l’invite de commande.
  • Tapez scapostinstall. Vous pouvez ensuite taper s pour afficher les paramètres.
  • Configurez les paramètres régionaux à l’aide de ces commandes ;

Tapez 2 pour sélectionner Paramètres.

Tapez 1 pour sélectionner Général.

Tapez 1 pour sélectionner Paramètres régionaux

Pour la langue, tapez English: en pour définir la langue sur l’anglais.

  • Configurez les mises à jour du contenu de sécurité. Tapez 2 pour sélectionner Paramètres, puis tapez à nouveau 2 pour sélectionner Fortify Update. Vous pouvez maintenant utiliser le serveur de mise à jour Fortify Rulepack en spécifiant l’URL comme https://update.fortify.com.
  • Tapez sourceanalyzer pour vérifier si l’outil est entièrement installé.

Fortify SCA s’exécutera désormais en arrière-plan et vérifiera tout votre code pour les vulnérabilités de sécurité.

Emballer

Les cas de systèmes piratés et de données compromises sont devenus monnaie courante à l’ère d’Internet. Heureusement, nous disposons désormais d’outils tels que Fortify Static Code Analyzer qui peut détecter les menaces de sécurité au fur et à mesure de l’écriture du code, envoyer des alertes et donner des recommandations sur la gestion de ces menaces. Fortify SCA peut augmenter la productivité et réduire les coûts d’exploitation lorsqu’il est utilisé avec d’autres outils.

Vous pouvez également explorer Software Composition Analysis (SCA) pour améliorer la sécurité de votre application.