FISSURE - The RF Framework

Reading time: 8 minutes

Ανεξάρτητη Συχνότητα SDR-βασισμένη Κατανόηση και Αντίστροφη Μηχανική Σημάτων

Το FISSURE είναι ένα ανοιχτού κώδικα πλαίσιο RF και αντίστροφης μηχανικής σχεδιασμένο για όλα τα επίπεδα δεξιοτήτων με hooks για ανίχνευση και ταξινόμηση σημάτων, ανακάλυψη πρωτοκόλλων, εκτέλεση επιθέσεων, χειρισμό IQ, ανάλυση ευπαθειών, αυτοματοποίηση και AI/ML. Το πλαίσιο έχει κατασκευαστεί για να προάγει την ταχεία ενσωμάτωση λογισμικών μονάδων, ραδιοφώνων, πρωτοκόλλων, δεδομένων σημάτων, σεναρίων, ροών γραφημάτων, υλικού αναφοράς και εργαλείων τρίτων. Το FISSURE είναι ένας επιταχυντής ροής εργασίας που διατηρεί το λογισμικό σε μία τοποθεσία και επιτρέπει στις ομάδες να προσαρμόζονται εύκολα ενώ μοιράζονται την ίδια αποδεδειγμένη βασική διαμόρφωση για συγκεκριμένες διανομές Linux.

Το πλαίσιο και τα εργαλεία που περιλαμβάνονται στο FISSURE έχουν σχεδιαστεί για να ανιχνεύουν την παρουσία RF ενέργειας, να κατανοούν τα χαρακτηριστικά ενός σήματος, να συλλέγουν και να αναλύουν δείγματα, να αναπτύσσουν τεχνικές μετάδοσης και/ή ένεσης, και να δημιουργούν προσαρμοσμένα payloads ή μηνύματα. Το FISSURE περιέχει μια αυξανόμενη βιβλιοθήκη πληροφοριών πρωτοκόλλων και σημάτων για να βοηθήσει στην αναγνώριση, τη δημιουργία πακέτων και το fuzzing. Υπάρχουν δυνατότητες online αρχείου για λήψη αρχείων σημάτων και δημιουργία playlists για προσομοίωση κυκλοφορίας και δοκιμή συστημάτων.

Η φιλική βάση κώδικα Python και η διεπαφή χρήστη επιτρέπουν στους αρχάριους να μάθουν γρήγορα για δημοφιλή εργαλεία και τεχνικές που σχετίζονται με RF και αντίστροφη μηχανική. Οι εκπαιδευτές στον τομέα της κυβερνοασφάλειας και της μηχανικής μπορούν να εκμεταλλευτούν το ενσωματωμένο υλικό ή να χρησιμοποιήσουν το πλαίσιο για να επιδείξουν τις δικές τους εφαρμογές στον πραγματικό κόσμο. Οι προγραμματιστές και οι ερευνητές μπορούν να χρησιμοποιήσουν το FISSURE για τις καθημερινές τους εργασίες ή για να εκθέσουν τις πρωτοποριακές λύσεις τους σε ένα ευρύτερο κοινό. Καθώς η ευαισθητοποίηση και η χρήση του FISSURE αυξάνονται στην κοινότητα, θα αυξάνεται και η έκταση των δυνατοτήτων του και η ποικιλία της τεχνολογίας που περιλαμβάνει.

Επιπλέον Πληροφορίες

Getting Started

Υποστηριζόμενα

Υπάρχουν τρεις κλάδοι μέσα στο FISSURE για να διευκολύνουν την πλοήγηση στα αρχεία και να μειώσουν την επαναληψιμότητα του κώδικα. Ο κλάδος Python2_maint-3.7 περιέχει μια βάση κώδικα που έχει κατασκευαστεί γύρω από Python2, PyQt4 και GNU Radio 3.7; ο κλάδος Python3_maint-3.8 έχει κατασκευαστεί γύρω από Python3, PyQt5 και GNU Radio 3.8; και ο κλάδος Python3_maint-3.10 έχει κατασκευαστεί γύρω από Python3, PyQt5 και GNU Radio 3.10.

Λειτουργικό ΣύστημαΚλάδος FISSURE
Ubuntu 18.04 (x64)Python2_maint-3.7
Ubuntu 18.04.5 (x64)Python2_maint-3.7
Ubuntu 18.04.6 (x64)Python2_maint-3.7
Ubuntu 20.04.1 (x64)Python3_maint-3.8
Ubuntu 20.04.4 (x64)Python3_maint-3.8
KDE neon 5.25 (x64)Python3_maint-3.8

Σε Πρόοδο (beta)

Αυτά τα λειτουργικά συστήματα είναι ακόμα σε κατάσταση beta. Είναι υπό ανάπτυξη και αρκετές δυνατότητες είναι γνωστό ότι λείπουν. Αντικείμενα στον εγκαταστάτη μπορεί να συγκρούονται με υπάρχοντα προγράμματα ή να αποτύχουν να εγκατασταθούν μέχρι να αφαιρεθεί η κατάσταση.

Λειτουργικό ΣύστημαΚλάδος FISSURE
DragonOS Focal (x86_64)Python3_maint-3.8
Ubuntu 22.04 (x64)Python3_maint-3.10

Σημείωση: Ορισμένα εργαλεία λογισμικού δεν λειτουργούν για κάθε OS. Ανατρέξτε σε Software And Conflicts

Εγκατάσταση

git clone https://github.com/ainfosec/FISSURE.git
cd FISSURE
git checkout <Python2_maint-3.7> or <Python3_maint-3.8> or <Python3_maint-3.10>
git submodule update --init
./install

Αυτό θα εγκαταστήσει τις εξαρτήσεις λογισμικού PyQt που απαιτούνται για την εκκίνηση των GUI εγκατάστασης αν δεν βρεθούν.

Στη συνέχεια, επιλέξτε την επιλογή που ταιριάζει καλύτερα στο λειτουργικό σας σύστημα (θα ανιχνευθεί αυτόματα αν το λειτουργικό σας σύστημα ταιριάζει με μια επιλογή).

Python2_maint-3.7Python3_maint-3.8Python3_maint-3.10
install1binstall1ainstall1c

Συνιστάται να εγκαταστήσετε το FISSURE σε ένα καθαρό λειτουργικό σύστημα για να αποφύγετε υπάρχουσες συγκρούσεις. Επιλέξτε όλα τα συνιστώμενα πλαίσια ελέγχου (κουμπί προεπιλογής) για να αποφύγετε σφάλματα κατά τη λειτουργία των διαφόρων εργαλείων εντός του FISSURE. Θα υπάρχουν πολλαπλές προτροπές κατά τη διάρκεια της εγκατάστασης, κυρίως ζητώντας ανυψωμένα δικαιώματα και ονόματα χρηστών. Αν ένα στοιχείο περιέχει μια ενότητα "Επαλήθευση" στο τέλος, ο εγκαταστάτης θα εκτελέσει την εντολή που ακολουθεί και θα επισημάνει το στοιχείο του πλαισίου ελέγχου πράσινο ή κόκκινο ανάλογα με το αν παραχθούν σφάλματα από την εντολή. Τα ελεγμένα στοιχεία χωρίς ενότητα "Επαλήθευση" θα παραμείνουν μαύρα μετά την εγκατάσταση.

install2

Χρήση

Ανοίξτε ένα τερματικό και εισάγετε:

fissure

Ανατρέξτε στο μενού βοήθειας του FISSURE για περισσότερες λεπτομέρειες σχετικά με τη χρήση.

Λεπτομέρειες

Συστατικά

  • Dashboard
  • Central Hub (HIPRFISR)
  • Target Signal Identification (TSI)
  • Protocol Discovery (PD)
  • Flow Graph & Script Executor (FGE)

components

Δυνατότητες

Signal DetectorIQ ManipulationSignal LookupPattern Recognition
AttacksFuzzingSignal PlaylistsImage Gallery
Packet CraftingScapy IntegrationCRC CalculatorLogging

Υλικό

Ακολουθεί μια λίστα με "υποστηριζόμενο" υλικό με διάφορα επίπεδα ενσωμάτωσης:

  • USRP: X3xx, B2xx, B20xmini, USRP2, N2xx
  • HackRF
  • RTL2832U
  • 802.11 Adapters
  • LimeSDR
  • bladeRF, bladeRF 2.0 micro
  • Open Sniffer
  • PlutoSDR

Μαθήματα

Το FISSURE συνοδεύεται από αρκετούς χρήσιμους οδηγούς για να εξοικειωθείτε με διάφορες τεχνολογίες και τεχνικές. Πολλοί περιλαμβάνουν βήματα για τη χρήση διαφόρων εργαλείων που είναι ενσωματωμένα στο FISSURE.

Οδικός Χάρτης

  • Προσθήκη περισσότερων τύπων υλικού, RF πρωτοκόλλων, παραμέτρων σήματος, εργαλείων ανάλυσης
  • Υποστήριξη περισσότερων λειτουργικών συστημάτων
  • Ανάπτυξη υλικού μαθήματος γύρω από το FISSURE (RF Attacks, Wi-Fi, GNU Radio, PyQt, κ.λπ.)
  • Δημιουργία ενός ρυθμιστή σήματος, εξαγωγέα χαρακτηριστικών και ταξινομητή σήματος με επιλεγμένες τεχνικές AI/ML
  • Υλοποίηση μηχανισμών αναδρομικής αποδιαμόρφωσης για την παραγωγή bitstream από άγνωστα σήματα
  • Μετάβαση των κύριων συστατικών του FISSURE σε ένα γενικό σχέδιο ανάπτυξης κόμβων αισθητήρων

Συμβολή

Προτάσεις για τη βελτίωση του FISSURE είναι ιδιαίτερα ευπρόσδεκτες. Αφήστε ένα σχόλιο στη σελίδα Discussions ή στο Discord Server αν έχετε οποιαδήποτε σκέψη σχετικά με τα εξής:

  • Προτάσεις νέων χαρακτηριστικών και αλλαγές σχεδίασης
  • Λογισμικό εργαλεία με βήματα εγκατάστασης
  • Νέα μαθήματα ή επιπλέον υλικό για υπάρχοντα μαθήματα
  • RF πρωτόκολλα ενδιαφέροντος
  • Περισσότερο υλικό και τύποι SDR για ενσωμάτωση
  • Σενάρια ανάλυσης IQ σε Python
  • Διορθώσεις και βελτιώσεις εγκατάστασης

Οι συνεισφορές για τη βελτίωση του FISSURE είναι κρίσιμες για την επιτάχυνση της ανάπτυξής του. Οποιεσδήποτε συνεισφορές κάνετε είναι πολύ εκτιμητέες. Εάν επιθυμείτε να συμβάλετε μέσω ανάπτυξης κώδικα, παρακαλώ κάντε fork το repo και δημιουργήστε ένα pull request:

  1. Fork το έργο
  2. Δημιουργήστε το feature branch σας (git checkout -b feature/AmazingFeature)
  3. Commit τις αλλαγές σας (git commit -m 'Add some AmazingFeature')
  4. Push στο branch (git push origin feature/AmazingFeature)
  5. Ανοίξτε ένα pull request

Η δημιουργία Issues για να επιστήσει την προσοχή σε σφάλματα είναι επίσης ευπρόσδεκτη.

Συνεργασία

Επικοινωνήστε με την Assured Information Security, Inc. (AIS) Business Development για να προτείνετε και να τυποποιήσετε οποιεσδήποτε ευκαιρίες συνεργασίας με το FISSURE–είτε μέσω αφιέρωσης χρόνου για την ενσωμάτωση του λογισμικού σας, είτε με την ανάπτυξη λύσεων για τις τεχνικές σας προκλήσεις από τους ταλαντούχους ανθρώπους της AIS, είτε με την ενσωμάτωση του FISSURE σε άλλες πλατφόρμες/εφαρμογές.

Άδεια

GPL-3.0

Για λεπτομέρειες σχετικά με την άδεια, δείτε το αρχείο LICENSE.

Επικοινωνία

Εγγραφείτε στο Discord Server: https://discord.gg/JZDs5sgxcG

Ακολουθήστε στο Twitter: @FissureRF, @AinfoSec

Chris Poore - Assured Information Security, Inc. - poorec@ainfosec.com

Business Development - Assured Information Security, Inc. - bd@ainfosec.com

Πιστώσεις

Αναγνωρίζουμε και είμαστε ευγνώμονες σε αυτούς τους προγραμματιστές:

Credits

Ευχαριστίες

Ιδιαίτερες ευχαριστίες στον Dr. Samuel Mantravadi και τον Joseph Reith για τις συνεισφορές τους σε αυτό το έργο.