Flux Analysis

Python

Langage

Python

Bibliothèques

Pandas, Matplotlib, BeautifulSoup, Requests

Année

2023

Statut

Terminé

À propos du projet

Flux Analysis est un outil complet de surveillance et d'analyse des vulnérabilités de cybersécurité, développé pour suivre en temps réel les alertes et bulletins de sécurité publiés par l'Agence Nationale de la Sécurité des Systèmes d'Information (ANSSI) et d'autres sources fiables.

Dans un contexte où les menaces informatiques évoluent rapidement, il est essentiel pour les professionnels de la sécurité de disposer d'outils permettant de surveiller, centraliser et analyser efficacement les informations sur les vulnérabilités récentes. Flux Analysis répond à ce besoin en automatisant la collecte de données et en fournissant des visualisations analytiques qui facilitent l'identification des tendances et la priorisation des actions de sécurité.

Fonctionnalités principales

  • Extraction automatisée des bulletins de sécurité de l'ANSSI via web scraping
  • Collecte de données CVE (Common Vulnerabilities and Exposures) à partir d'API publiques
  • Analyse des tendances de vulnérabilités par type, sévérité et vecteur d'attaque
  • Génération de rapports et visualisations (graphiques, tableaux de bord)
  • Système d'alerte pour les nouvelles vulnérabilités critiques
  • Base de données locale pour le stockage et l'historisation des informations
  • Interface en ligne de commande pour interroger et filtrer les données
  • Exportation des résultats en différents formats (CSV, JSON, PDF)

Défis techniques

  1. Extraction robuste des données

    Un des défis principaux était de développer un système d'extraction de données robuste capable de s'adapter aux changements dans la structure des sites web sources et de gérer les erreurs potentielles lors de la récupération des informations.

  2. Normalisation des données hétérogènes

    Les informations sur les vulnérabilités proviennent de sources diverses avec des formats variés. La normalisation de ces données pour permettre une analyse cohérente a nécessité un traitement sophistiqué et des transformations adaptées.

  3. Analyse contextuelle des vulnérabilités

    Au-delà de la simple collecte des informations, l'outil devait analyser le contexte des vulnérabilités pour déterminer leur impact potentiel et leur criticité, en prenant en compte divers facteurs comme le vecteur d'attaque, les conditions d'exploitation, etc.

  4. Visualisations pertinentes

    Créer des visualisations qui transforment les données brutes en informations actionnables pour les utilisateurs, en mettant en évidence les tendances significatives et les points d'attention prioritaires.

Résultats et apprentissages

Ce projet m'a permis d'approfondir mes connaissances en cybersécurité et en analyse de données :

  • Maîtrise des techniques d'extraction de données web (web scraping) avec Beautiful Soup et Requests
  • Compréhension approfondie des standards de vulnérabilités (CVE, CVSS)
  • Analyse et visualisation de données avec Pandas et Matplotlib
  • Développement d'un système d'alerte basé sur des critères de sévérité
  • Conception d'interfaces en ligne de commande pour l'interaction avec des données complexes
  • Gestion de données temporelles et analyses de tendances

Flux Analysis est maintenant un outil fonctionnel que j'utilise régulièrement pour suivre les nouvelles vulnérabilités et menaces en cybersécurité. Il permet de gagner un temps considérable dans la veille de sécurité et fournit des analyses pertinentes pour prioriser les actions de remédiation.

Utilisation de l'outil

  1. Installation

    
    # Cloner le dépôt
    git clone https://github.com/Antoine-Roucau/Flux_Analysis.git
    cd Flux_Analysis
    
    # Installer les dépendances
    pip install -r requirements.txt
                                
  2. Collecte des données

    
    # Lancer la collecte des données
    python flux_analysis.py collect --source anssi
                                
  3. Analyse des tendances

    
    # Analyser les tendances sur les 3 derniers mois
    python flux_analysis.py analyze --period 3M
                                
  4. Génération de rapports

    
    # Générer un rapport complet
    python flux_analysis.py report --format pdf --output rapport_securite.pdf