FISSURE - The RF Framework
Reading time: 7 minutes
Zrozumienie i inżynieria wsteczna sygnałów SDR niezależnych od częstotliwości
FISSURE to otwartoźródłowa platforma RF i inżynierii wstecznej zaprojektowana dla wszystkich poziomów umiejętności, z funkcjami wykrywania i klasyfikacji sygnałów, odkrywania protokołów, wykonywania ataków, manipulacji IQ, analizy podatności, automatyzacji oraz AI/ML. Platforma została stworzona, aby promować szybkie integrowanie modułów oprogramowania, radii, protokołów, danych sygnałowych, skryptów, grafów przepływu, materiałów referencyjnych i narzędzi firm trzecich. FISSURE to narzędzie umożliwiające przepływ pracy, które utrzymuje oprogramowanie w jednym miejscu i pozwala zespołom na łatwe przyswajanie wiedzy, dzieląc się tą samą sprawdzoną konfiguracją bazową dla konkretnych dystrybucji Linuksa.
Platforma i narzędzia zawarte w FISSURE są zaprojektowane do wykrywania obecności energii RF, rozumienia charakterystyki sygnału, zbierania i analizowania próbek, opracowywania technik transmisji i/lub wstrzykiwania oraz tworzenia niestandardowych ładunków lub wiadomości. FISSURE zawiera rosnącą bibliotekę informacji o protokołach i sygnałach, aby wspierać identyfikację, tworzenie pakietów i fuzzing. Istnieją możliwości archiwizacji online, aby pobierać pliki sygnałowe i tworzyć listy odtwarzania do symulacji ruchu i testowania systemów.
Przyjazna baza kodu Python i interfejs użytkownika pozwalają początkującym szybko nauczyć się popularnych narzędzi i technik związanych z RF i inżynierią wsteczną. Nauczyciele w dziedzinie cyberbezpieczeństwa i inżynierii mogą skorzystać z wbudowanego materiału lub wykorzystać platformę do demonstrowania własnych aplikacji w rzeczywistych warunkach. Programiści i badacze mogą używać FISSURE do codziennych zadań lub do prezentowania swoich nowatorskich rozwiązań szerszej publiczności. W miarę jak świadomość i wykorzystanie FISSURE rośnie w społeczności, tak samo wzrośnie zakres jego możliwości i różnorodność technologii, które obejmuje.
Dodatkowe informacje
Getting Started
Obsługiwane
W FISSURE znajdują się trzy gałęzie, aby ułatwić nawigację po plikach i zredukować redundancję kodu. Gałąź Python2_maint-3.7 zawiera bazę kodu opartą na Python2, PyQt4 i GNU Radio 3.7; gałąź Python3_maint-3.8 jest oparta na Python3, PyQt5 i GNU Radio 3.8; a gałąź Python3_maint-3.10 jest oparta na Python3, PyQt5 i GNU Radio 3.10.
System operacyjny | Gałąź 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 |
W trakcie (beta)
Te systemy operacyjne są nadal w statusie beta. Są w fazie rozwoju i wiadomo, że brakuje kilku funkcji. Elementy w instalatorze mogą kolidować z istniejącymi programami lub nie instalować się, dopóki status nie zostanie usunięty.
System operacyjny | Gałąź FISSURE |
---|---|
DragonOS Focal (x86_64) | Python3_maint-3.8 |
Ubuntu 22.04 (x64) | Python3_maint-3.10 |
Uwaga: Niektóre narzędzia programowe nie działają na każdym systemie operacyjnym. Odwołaj się do Software And Conflicts
Instalacja
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
To zainstaluje zależności oprogramowania PyQt wymagane do uruchomienia interfejsów instalacyjnych, jeśli nie zostaną znalezione.
Następnie wybierz opcję, która najlepiej odpowiada twojemu systemowi operacyjnemu (powinna być wykryta automatycznie, jeśli twój system operacyjny odpowiada opcji).
Python2_maint-3.7 | Python3_maint-3.8 | Python3_maint-3.10 |
---|---|---|
Zaleca się zainstalowanie FISSURE na czystym systemie operacyjnym, aby uniknąć istniejących konfliktów. Wybierz wszystkie zalecane pola wyboru (przycisk domyślny), aby uniknąć błędów podczas korzystania z różnych narzędzi w FISSURE. W trakcie instalacji pojawi się wiele komunikatów, głównie pytających o podwyższone uprawnienia i nazwy użytkowników. Jeśli element zawiera sekcję "Weryfikacja" na końcu, instalator uruchomi polecenie, które następuje, i podświetli element pola wyboru na zielono lub czerwono w zależności od tego, czy polecenie wygeneruje jakiekolwiek błędy. Zaznaczone elementy bez sekcji "Weryfikacja" pozostaną czarne po zakończeniu instalacji.
Użycie
Otwórz terminal i wpisz:
fissure
Odwołaj się do menu pomocy FISSURE, aby uzyskać więcej informacji na temat użytkowania.
Szczegóły
Komponenty
- Dashboard
- Central Hub (HIPRFISR)
- Identyfikacja sygnału docelowego (TSI)
- Odkrywanie protokołów (PD)
- Wykres przepływu i wykonawca skryptów (FGE)
Możliwości
Detektor sygnału | Manipulacja IQ | Wyszukiwanie sygnału | Rozpoznawanie wzorców |
---|---|---|---|
Ataki | Fuzzing | Playlisty sygnałów | Galeria obrazów |
Tworzenie pakietów | Integracja Scapy | Kalkulator CRC | Rejestrowanie |
Sprzęt
Poniżej znajduje się lista "obsługiwanych" urządzeń o różnym poziomie integracji:
- USRP: X3xx, B2xx, B20xmini, USRP2, N2xx
- HackRF
- RTL2832U
- Adaptery 802.11
- LimeSDR
- bladeRF, bladeRF 2.0 micro
- Open Sniffer
- PlutoSDR
Lekcje
FISSURE zawiera kilka pomocnych przewodników, aby zapoznać się z różnymi technologiami i technikami. Wiele z nich zawiera kroki dotyczące korzystania z różnych narzędzi zintegrowanych z FISSURE.
- Lekcja1: OpenBTS
- Lekcja2: Lua Dissectors
- Lekcja3: Sound eXchange
- Lekcja4: ESP Boards
- Lekcja5: Śledzenie radiosond
- Lekcja6: RFID
- Lekcja7: Typy danych
- Lekcja8: Niestandardowe bloki GNU Radio
- Lekcja9: TPMS
- Lekcja10: Egzaminy na radioamatora
- Lekcja11: Narzędzia Wi-Fi
Plan działania
- Dodaj więcej typów sprzętu, protokołów RF, parametrów sygnału, narzędzi analitycznych
- Wsparcie dla większej liczby systemów operacyjnych
- Opracuj materiały dydaktyczne dotyczące FISSURE (Ataki RF, Wi-Fi, GNU Radio, PyQt itp.)
- Stwórz kondycjonera sygnału, ekstraktora cech i klasyfikatora sygnału z wybieralnymi technikami AI/ML
- Wdrożenie rekurencyjnych mechanizmów demodulacji do produkcji strumienia bitów z nieznanych sygnałów
- Przejście głównych komponentów FISSURE do ogólnego schematu wdrażania węzłów czujnikowych
Wkład
Sugestie dotyczące poprawy FISSURE są zdecydowanie zachęcane. Zostaw komentarz na stronie Dyskusje lub na serwerze Discord, jeśli masz jakiekolwiek uwagi dotyczące:
- Sugestii nowych funkcji i zmian w projekcie
- Narzędzi programowych z krokami instalacji
- Nowych lekcji lub dodatkowych materiałów do istniejących lekcji
- Interesujących protokołów RF
- Więcej sprzętu i typów SDR do integracji
- Skryptów analizy IQ w Pythonie
- Poprawek i ulepszeń instalacji
Wkłady w poprawę FISSURE są kluczowe dla przyspieszenia jego rozwoju. Każdy wkład jest bardzo doceniany. Jeśli chcesz przyczynić się do rozwoju kodu, proszę, zrób fork repozytorium i stwórz pull request:
- Zrób fork projektu
- Stwórz swoją gałąź funkcji (
git checkout -b feature/AmazingFeature
) - Zatwierdź swoje zmiany (
git commit -m 'Dodaj jakąś AmazingFeature'
) - Wypchnij do gałęzi (
git push origin feature/AmazingFeature
) - Otwórz pull request
Tworzenie Zgłoszeń w celu zwrócenia uwagi na błędy jest również mile widziane.
Współpraca
Skontaktuj się z Assured Information Security, Inc. (AIS) w celu zaproponowania i sformalizowania wszelkich możliwości współpracy z FISSURE – niezależnie od tego, czy chodzi o poświęcenie czasu na integrację swojego oprogramowania, czy o to, aby utalentowani ludzie z AIS opracowali rozwiązania dla Twoich wyzwań technicznych, czy o integrację FISSURE z innymi platformami/aplikacjami.
Licencja
GPL-3.0
Szczegóły licencji znajdują się w pliku LICENSE.
Kontakt
Dołącz do serwera Discord: https://discord.gg/JZDs5sgxcG
Śledź na Twitterze: @FissureRF, @AinfoSec
Chris Poore - Assured Information Security, Inc. - poorec@ainfosec.com
Rozwój biznesu - Assured Information Security, Inc. - bd@ainfosec.com
Podziękowania
Uznajemy i jesteśmy wdzięczni tym deweloperom:
Uznania
Szczególne podziękowania dla dr. Samuela Mantravadi i Josepha Reitha za ich wkład w ten projekt.