FISSURE: framework RF open-source pour détection de signaux et ingénierie inverse
Le framework RF et d'ingénierie inverse pour tous. Suivez-nous et montrez votre soutien !
En bref
- De quoi s’agit-il ?
- Framework Python entièrement libre (GPL-3.0) conçu pour les opérateurs RF, les chercheurs et les étudiants, centralisant les outils SDR, les flux de travail protocolaires et l'intégration tactique TAK en un seul système évolutif.
- À qui s’adresse-t-il ?
- FISSURE s'adresse aux opérateurs RF disposant de temps pour configurer l'environnement GNU Radio et aux chercheurs en SDR. Les équipes sans accès à du matériel USRP/HackRF ou les débutants complets en reverse engineering RF auront une courbe d'apprentissage abrupte.
- Puis-je l’utiliser commercialement ?
- Oui, sous conditions. GPL-3.0 est une licence copyleft : si vous distribuez un logiciel qui l’inclut, vous devez publier le code source de ce logiciel sous la même licence. Un usage interne, sans distribution, ne déclenche pas cette obligation.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 2 jours.
- En quel langage est-il écrit ?
- Principalement Python, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Positionnement multi-public et approche du deployment
FISSURE est un framework RF open source maintenu par Assured Information Security (AIS), décrit complètement comme Frequency Independent SDR-based Signal Understanding and Reverse Engineering. Le projet cible deux publics distincts simultanément: les opérateurs RF ont besoin d'une chaîne d'outils déployable pour détecter, classifier, géolocaliser et réagir aux signaux radiofréquences, tandis que les enseignants et chercheurs cherchent un environnement partagé pour l'expérimentation sur SDR et le reverse engineering sans surcoûts d'installation. Le README affirme que FISSURE centralise les logiciels, les bibliothèques et la documentation dans un framework cohérent fonctionnant indifféremment sur postes de travail, ordinateurs portables, cartes mono-puce, systèmes durcis ou nœuds tactiques distribués en réseau. Le dépôt accumule 2 034 étoiles et 142 forks; la branche par défaut s'appelle Python3 (la plus actuelle), tandis que Python2_maint-3.7 reste obsolète.
Surface d'API et capabilités signalées
Le README énumère les capacités clés: détection et classification de signaux RF, collecte/replay/manipulation de données IQ (in-phase/quadrature), découverte de protocoles et construction de paquets personnalisés, fuzzing et tests de vulnérabilité, archivage de signaux avec playlists de test, coordination de nœuds de capteurs distribués, géolocalisation d'émetteurs RF, intégration d'alertes/cibles/artefacts dans TAK, et automatisation via IA et ML. Un tableau détaillé nomme les outils constitutifs: détecteur de signal, recherche de signal, reconnaissance de motifs, outils d'attaque, fuzzing, galerie d'images, générateur de jeux de données, archive en ligne, et support de personnalisation (thèmes sombres). Le README reconnaît que les niveaux d'intégration varient par appareil SDR mais ne précise pas lequel fonctionne pleinement versus en version bêta ou limité.
Fracture comme dérivé tactique et intégration au système TAK
Fracture est le système RF tactique déployable d'AIS construit sur le socle FISSURE. FISSURE fournit l'environnement logiciel sous-jacent (détection RF, analyse de signaux, expérimentation protocolaire, intégration TAK, coordination de nœuds, framework de plugin), tandis que Fracture le transforme en configurations matérielles destinées à l'usage opérationnel: sites fixes, véhicules, emportement, drones micro, aéronefs. L'architecture Fracture inclut un hub central orchestrant les nœuds d'arête sur des liens IP et RF longue portée. L'intégration TAK apparaît omniprésente: WinTAK gère la sélection de nœuds, les alertes, les cibles, les détections, les artefacts, les plugins et les actions de capteurs distribués, tandis que l'intégration ATAK est en cours de développement. Le README indique que le serveur TAK local demande un conteneur Docker depuis tak.gov et un élément TAK Server dans l'installateur, puis une modification du mode de connexion (connect_mode) dans la configuration YAML.
Modes de déploiement sans tête et rôles de nœuds
FISSURE supporte quatre modes de déploiement: interface graphique de bureau (tableau de bord), nœuds sans tête pour la détection autonome, services conteneurisés et intégration TAK. Le hub sans tête s'appelle HIPRFISR, lancé avec fissure-hiprfisr; il se connecte automatiquement à un serveur TAK et accepte les nœuds distants sans interaction supplémentaire. Les nœuds de capteur distant exécutent fissure-sensor-node et requièrent une configuration manuelle du fichier default.yaml sous YAML/Sensor_Node_Config/, définissant le surnom (nickname), l'adresse du hub (hiprfisr_ip_address), le matériel cible (hardware), et les certificats client-serveur correspondants. Le tableau de bord se lance avec la commande fissure depuis un terminal (sans sudo). Le README limite le support à un nœud local avec jusqu'à quatre nœuds distants, ou cinq nœuds distants, mais ne donne aucune indication sur l'évolution future de cette limite.
Support matériel SDR et compatibilité
FISSURE liste le matériel supporté avec des niveaux d'intégration variables: modules USRP X3xx, B2xx, B20xmini, USRP2, N2xx et X410; HackRF; RTL2832U; adaptateurs 802.11; LimeSDR; bladeRF et bladeRF 2.0 micro; Open Sniffer; PlutoSDR; et variantes SDRplay RSPduo, RSPdx et RSPdx R2. Le README n'explique pas quel niveau d'intégration s'applique à chaque appareil (complet vs. bêta vs. basique), ce qui oblige l'utilisateur à explorer le code source ou les issues GitHub pour établir la compatibilité réelle.
Processus d'installation et branches de développement
L'installation débute par git clone et ./install; l'installateur vérifie les dépendances PyQt et demande de choisir un système d'exploitation et un mode de déploiement (full, base, Dashboard, HIPRFISR, SensorNode, custom). La branche Python3 contient le code actif (GNU Radio 3.8 et 3.10, PyQt5), tandis que Python2_maint-3.7 est obsolète et ne supporte que GNU Radio 3.7 ou les OS anciens. Le support Apptainer est une fonctionnalité plus récente (documentée pour Ubuntu 24.04) permettant à l'installateur de construire des conteneurs role-spécifiques; les conteneurs préconstruits et les images ISO de déploiement rapide sont planifiés mais pas encore disponibles selon le README. L'installateur recommande la branche Python3 plutôt que les releases GitHub périodiques (snapshots), décrites comme des instantanés d'archivage potentiellement en retard.
Ressources pédagogiques et défi RF autonome
Le dépôt intègre 14 leçons couvrant OpenBTS, dissecteurs Lua, SoX, cartes ESP32, suivi de radiosondes, RFID, types de données ADC/DAC, blocs GNU Radio personnalisés, capteurs TPMS automobiles, examen de radioamateur, outils Wi-Fi, USB bootables, Z-Wave et ventilateurs de plafond. Ces leçons offrent un point d'entrée pour les débutants. Un FISSURE Challenge, décrit comme un CTF continu construit autour du framework pour pratiquer le reverse engineering RF, accepte les soumissions communautaires. Le README encourage les participants à proposer de nouveaux défis.
Priorités actuelles, licence et limitations documentées
Les priorités de développement listées couvrent l'architecture de plugins et d'actions (convertir le contenu existant en plugins, simplifier le déploiement), l'expansion des workflows opérateurs WinTAK/ATAK (gestion de cibles, alertes, géolocalisation), l'amélioration de l'installateur et du packaging (fiabilité, support Apptainer, options de déploiement pré-compilés), les nœuds tactiques et les réseaux (capteurs additionnels, connectivité cellulaire/Starlink/mesh), et la géolocalisation/radiogoniométrie (tests opérationnels, validation de performance). Une feuille de route interactive mise à jour annuellement en juillet fournit des détails. Le projet est licencié sous GPL-3.0, accordant liberté de copie, distribution et modification, tout en exigeant l'accès au code source et l'attribution. Le README n'énonce aucune garantie de fonctionnement ou niveau de support formalisé au-delà d'une mention du support commercial via AIS.
Conclusion éditoriale
FISSURE s'adresse aux opérateurs RF disposant de temps pour configurer l'environnement GNU Radio et aux chercheurs en SDR. Les équipes sans accès à du matériel USRP/HackRF ou les débutants complets en reverse engineering RF auront une courbe d'apprentissage abrupte. Avant adoption, testez sur la branche Python3 (plus stable que les snapshots), vérifiez que votre SDR figure dans la liste du README, et consultez les 14 leçons incluses pour déterminer votre point de départ.
Notes de la communauté