FISSURE - RF okvir
Reading time: 7 minutes
Razumevanje i obrnuto inženjerstvo signala nezavisno od frekvencije zasnovano na SDR-u
FISSURE je okvir otvorenog koda za RF i obrnuto inženjerstvo dizajniran za sve nivoe veština sa mogućnostima za detekciju i klasifikaciju signala, otkrivanje protokola, izvršavanje napada, IQ manipulaciju, analizu ranjivosti, automatizaciju i AI/ML. Okvir je izgrađen da promoviše brzu integraciju softverskih modula, radija, protokola, podataka o signalima, skripti, tok grafova, referentnog materijala i alata trećih strana. FISSURE je omogućavač radnog toka koji drži softver na jednom mestu i omogućava timovima da se lako prilagode dok dele istu proverenu osnovnu konfiguraciju za specifične Linux distribucije.
Okvir i alati uključeni u FISSURE su dizajnirani da detektuju prisustvo RF energije, razumeju karakteristike signala, prikupljaju i analiziraju uzorke, razvijaju tehnike prenosa i/ili injekcije, i kreiraju prilagođene terete ili poruke. FISSURE sadrži rastuću biblioteku informacija o protokolima i signalima kako bi pomogla u identifikaciji, kreiranju paketa i fuzzingu. Postoje mogućnosti online arhiviranja za preuzimanje signalnih datoteka i izgradnju plejlisti za simulaciju saobraćaja i testiranje sistema.
Prijateljski Python kod i korisnički interfejs omogućavaju početnicima da brzo nauče o popularnim alatima i tehnikama koje se odnose na RF i obrnuto inženjerstvo. Obrazovni radnici u oblasti sajber bezbednosti i inženjerstva mogu iskoristiti ugrađeni materijal ili koristiti okvir za demonstraciju svojih stvarnih aplikacija. Programeri i istraživači mogu koristiti FISSURE za svoje svakodnevne zadatke ili da izlože svoja savremena rešenja široj publici. Kako svest i upotreba FISSURE raste u zajednici, tako će rasti i obim njegovih mogućnosti i širina tehnologije koju obuhvata.
Dodatne informacije
Početak rada
Podržano
Postoje tri grane unutar FISSURE kako bi se olakšalo navigaciju datotekama i smanjila redundancija koda. Grana Python2_maint-3.7 sadrži kod baziran na Python2, PyQt4 i GNU Radio 3.7; grana Python3_maint-3.8 je izgrađena oko Python3, PyQt5 i GNU Radio 3.8; a grana Python3_maint-3.10 je izgrađena oko Python3, PyQt5 i GNU Radio 3.10.
Operativni sistem | FISSURE grana |
---|---|
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 |
U toku (beta)
Ovi operativni sistemi su još u beta statusu. U razvoju su i poznato je da nedostaju nekoliko funkcija. Stavke u instalatoru mogu biti u sukobu sa postojećim programima ili ne mogu biti instalirane dok se status ne ukloni.
Operativni sistem | FISSURE grana |
---|---|
DragonOS Focal (x86_64) | Python3_maint-3.8 |
Ubuntu 22.04 (x64) | Python3_maint-3.10 |
Napomena: Određeni softverski alati ne rade za svaki OS. Pogledajte Software And Conflicts
Instalacija
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
Ovo će instalirati PyQt softverske zavisnosti potrebne za pokretanje instalacionih GUI-a ako nisu pronađene.
Zatim, izaberite opciju koja najbolje odgovara vašem operativnom sistemu (trebalo bi da bude automatski detektovana ako vaš OS odgovara nekoj od opcija).
Python2_maint-3.7 | Python3_maint-3.8 | Python3_maint-3.10 |
---|---|---|
![]() | ![]() | ![]() |
Preporučuje se instalacija FISSURE na čistom operativnom sistemu kako bi se izbegli postojeći konflikti. Izaberite sve preporučene čekboksove (Default button) kako biste izbegli greške prilikom korišćenja raznih alata unutar FISSURE. Tokom instalacije biće više upita, uglavnom za povišene dozvole i korisnička imena. Ako stavka sadrži "Verify" sekciju na kraju, instalater će pokrenuti komandu koja sledi i označiti stavku čekboks zelenom ili crvenom bojom u zavisnosti od toga da li su nastale greške tokom izvršavanja komande. Obeležene stavke bez "Verify" sekcije će ostati crne nakon instalacije.
Korišćenje
Otvorite terminal i unesite:
fissure
Referišite se na FISSURE Help meni za više detalja o korišćenju.
Detalji
Komponente
- Dashboard
- Central Hub (HIPRFISR)
- Identifikacija ciljnog signala (TSI)
- Otkriće protokola (PD)
- Tok graf i izvršitelj skripti (FGE)
Mogućnosti
![]() | ![]() | ![]() | ![]() |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() |
Hardver
Sledeća je lista "podržanog" hardvera sa različitim nivoima integracije:
- USRP: X3xx, B2xx, B20xmini, USRP2, N2xx
- HackRF
- RTL2832U
- 802.11 adapteri
- LimeSDR
- bladeRF, bladeRF 2.0 micro
- Open Sniffer
- PlutoSDR
Lekcije
FISSURE dolazi sa nekoliko korisnih vodiča kako bi se upoznali sa različitim tehnologijama i tehnikama. Mnogi uključuju korake za korišćenje raznih alata koji su integrisani u FISSURE.
- Lekcija1: OpenBTS
- Lekcija2: Lua disektori
- Lekcija3: Sound eXchange
- Lekcija4: ESP ploče
- Lekcija5: Praćenje radiosonda
- Lekcija6: RFID
- Lekcija7: Tipovi podataka
- Lekcija8: Prilagođeni GNU Radio blokovi
- Lekcija9: TPMS
- Lekcija10: Ham radio ispiti
- Lekcija11: Wi-Fi alati
Plan
- Dodati više tipova hardvera, RF protokola, parametara signala, alata za analizu
- Podržati više operativnih sistema
- Razviti materijal za časove oko FISSURE (RF napadi, Wi-Fi, GNU Radio, PyQt, itd.)
- Kreirati kondicioner signala, ekstraktor karakteristika i klasifikator signala sa selektivnim AI/ML tehnikama
- Implementirati rekurzivne demodulacione mehanizme za proizvodnju bitstream-a iz nepoznatih signala
- Prebaciti glavne FISSURE komponente na generički raspored senzorskih čvorova
Doprinos
Predlozi za poboljšanje FISSURE su snažno ohrabreni. Ostavite komentar na stranici Diskusije ili na Discord serveru ako imate bilo kakve misli u vezi sa sledećim:
- Predlozi za nove funkcije i promene dizajna
- Softverski alati sa koracima instalacije
- Nove lekcije ili dodatni materijal za postojeće lekcije
- RF protokoli od interesa
- Više tipova hardvera i SDR za integraciju
- IQ analize skripti u Python-u
- Ispravke i poboljšanja instalacije
Doprinosi za poboljšanje FISSURE su ključni za ubrzanje njenog razvoja. Svaki doprinos koji napravite je veoma cenjen. Ako želite da doprinosite kroz razvoj koda, molimo vas da fork-ujete repozitorij i kreirate pull request:
- Fork-ujte projekat
- Kreirajte svoju granu funkcije (
git checkout -b feature/AmazingFeature
) - Potvrdite svoje promene (
git commit -m 'Dodajte neku AmazingFeature'
) - Pomerite na granu (
git push origin feature/AmazingFeature
) - Otvorite pull request
Kreiranje Problema kako bi se skrenula pažnja na greške je takođe dobrodošlo.
Saradnja
Kontaktirajte Assured Information Security, Inc. (AIS) poslovni razvoj kako biste predložili i formalizovali bilo koje mogućnosti saradnje oko FISSURE – bilo da se radi o posvećivanju vremena za integraciju vašeg softvera, angažovanju talentovanih ljudi iz AIS-a za razvoj rešenja za vaše tehničke izazove, ili integraciji FISSURE u druge platforme/aplikacije.
Licenca
GPL-3.0
Za detalje o licenci, pogledajte LICENSE datoteku.
Kontakt
Pridružite se Discord serveru: https://discord.gg/JZDs5sgxcG
Pratite na Twitter-u: @FissureRF, @AinfoSec
Chris Poore - Assured Information Security, Inc. - poorec@ainfosec.com
Poslovni razvoj - Assured Information Security, Inc. - bd@ainfosec.com
Zasluge
Priznajemo i zahvaljujemo se ovim programerima:
Zahvalnosti
Posebna zahvalnost dr. Samuelu Mantravadi i Josephu Reithu za njihov doprinos ovom projektu.