13 KiB
FISSURE - RF okvir
Frekvencijski nezavisno razumevanje signala i obrnuto inženjerstvo zasnovano na SDR-u
FISSURE je open-source RF i obrnuto inženjerski okvir dizajniran za sve nivoe veština sa kukama za otkrivanje i klasifikaciju signala, otkrivanje protokola, izvršavanje napada, manipulaciju IQ-om, analizu ranjivosti, automatizaciju i AI/ML. Okvir je izgrađen da promoviše brzu integraciju softverskih modula, radio uređaja, protokola, signala, skripti, tokova podataka, referentnog materijala i alata trećih strana. FISSURE je omogućivač radnog toka koji čuva softver na jednom mestu i omogućava timovima da se lako prilagode, deleći istu dokazanu konfiguraciju za određene Linux distribucije.
Okvir i alati koji su uključeni u FISSURE su dizajnirani da otkriju prisustvo RF energije, razumeju karakteristike signala, prikupljaju i analiziraju uzorke, razvijaju tehnike slanja i/ili ubrizgavanja, i kreiraju prilagođene terete ili poruke. FISSURE sadrži rastuću biblioteku informacija o protokolima i signalima koja pomaže u identifikaciji, kreiranju paketa i testiranju. Postoje mogućnosti za preuzimanje signalnih datoteka i izgradnju plejlista za simuliranje 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. Edukatori u oblasti sajber bezbednosti i inženjerstva mogu iskoristiti ugrađeni materijal ili koristiti okvir da demonstriraju svoje sopstvene primene u stvarnom svetu. Razvojni programeri i istraživači mogu koristiti FISSURE za svoje svakodnevne zadatke ili da predstave svoja najnovija rešenja širem auditorijumu. Kako svest i upotreba FISSURE-a rastu u zajednici, tako će se proširiti i obim njegovih mogućnosti i tehnologija koje obuhvata.
Dodatne informacije
Početak
Podržano
Postoje tri grane unutar FISSURE-a koje olakšavaju navigaciju kroz datoteke i smanjuju redundanciju koda. Grana Python2_maint-3.7 sadrži kodnu bazu izgrađenu oko 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 | Grana 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 |
U toku (beta)
Ovi operativni sistemi su još u beta statusu. Oni su u razvoju i poznato je da nekoliko funkcija nedostaje. Stavke u instalateru mogu biti u konfliktu sa postojećim programima ili neuspeli pri instalaciji dok se status ne ukloni.
Operativni sistem | Grana FISSURE |
---|---|
DragonOS Focal (x86_64) | Python3_maint-3.8 |
Ubuntu 22.04 (x64) | Python3_maint-3.10 |
Napomena: Određeni softverski alati ne rade na svakom operativnom sistemu. Pogledajte Softver i konflikti
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 zavisnosti softvera PyQt potrebne za pokretanje GUI instalacija ako nisu pronađene.
Zatim, odaberite opciju koja najbolje odgovara vašem operativnom sistemu (trebalo bi da se automatski detektuje ako vaš OS odgovara jednoj od opcija).
Python2_maint-3.7 | Python3_maint-3.8 | Python3_maint-3.10 |
---|---|---|
Preporučuje se instalacija FISSURE-a na čist operativni sistem kako bi se izbegli postojeći konflikti. Označite sve preporučene opcije (podrazumevana dugme) kako biste izbegli greške prilikom korišćenja različitih alata unutar FISSURE-a. Tokom instalacije će se pojaviti više prozora zahtevajući povišene privilegije i korisnička imena. Ako stavka sadrži odeljak "Provera" na kraju, instalater će pokrenuti naredbu koja sledi i označiti stavku za potvrdu zelenom ili crvenom bojom u zavisnosti od toga da li naredba proizvodi greške. Označene stavke bez odeljka "Provera" ostaće crne nakon instalacije.
Korišćenje
Otvorite terminal i unesite:
fissure
Detalji
Komponente
- Nadzorna tabla
- Centralni čvor (HIPRFISR)
- Identifikacija ciljnog signala (TSI)
- Otkrivanje protokola (PD)
- Graf toka i izvršitelj skripti (FGE)
Mogućnosti
Detektor signala | Manipulacija IQ | Pretraga signala | Prepoznavanje šablona |
---|---|---|---|
Napadi | Faziranje | Plejliste signala | Galerija slika |
Oblikovanje paketa | Integracija Scapy-a | Kalkulator CRC-a | Evidentiranje |
Hardver
Ovo 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 biste se upoznali sa različitim tehnologijama i tehnikama. Mnogi od njih uključuju korake za korišćenje različitih alata koji su integrisani u FISSURE.
- Lekcija 1: OpenBTS
- Lekcija 2: Lua Dissectori
- Lekcija 3: Sound eXchange
- Lekcija 4: ESP ploče
- Lekcija 5: Praćenje radiosonda
- Lekcija 6: RFID
- Lekcija 7: Tipovi podataka
- Lekcija 8: Prilagođeni GNU Radio blokovi
- Lekcija 9: TPMS
- Lekcija 10: Ham radio ispiti
- Lekcija 11: Wi-Fi alati
Plan
- Dodati više vrsta hardvera, RF protokola, parametara signala, alata za analizu
- Podržati više operativnih sistema
- Razviti materijal za časove o FISSURE-u (RF napadi, Wi-Fi, GNU Radio, PyQt, itd.)
- Kreirati uređaj za kondicioniranje signala, ekstraktor karakteristika i klasifikator signala sa mogućnostima izbora AI/ML tehnika
- Implementirati rekurzivne mehanizme demodulacije za dobijanje bitnog niza iz nepoznatih signala
- Prebaciti glavne komponente FISSURE-a na generičku šemu implementacije senzorskih čvorova
Doprinose
Sugestije za poboljšanje FISSURE-a su veoma dobrodošle. Ostavite komentar na Stranici za diskusije ili na Discord serveru ako imate bilo kakve ideje u vezi sa sledećim:
- Predlozi novih funkcionalnosti i dizajnerskih promena
- Softverski alati sa koracima za instalaciju
- Nove lekcije ili dodatni materijal za postojeće lekcije
- RF protokoli od interesa
- Više hardvera i SDR tipova za integraciju
- Skripte za IQ analizu u Python-u
- Ispravke i poboljšanja instalacije
Doprinosi za poboljšanje FISSURE-a su od ključne važnosti za ubrzanje njegovog razvoja. Svaki vaš doprinos je veoma cenjen. Ako želite da doprinesete razvojem koda, molimo vas da klonirate repozitorijum i kreirate zahtev za povlačenje:
- Klonirajte projekat
- Kreirajte granu za funkcionalnost (
git checkout -b feature/AmazingFeature
) - Komitujte vaše promene (
git commit -m 'Dodajte neku neverovatnu funkcionalnost'
) - Pritisnite granu (
git push origin feature/AmazingFeature
) - Otvorite zahtev za povlačenje
Takođe je dobrodošlo kreiranje Problema kako biste skrenuli pažnju na greške.
Saradnja
Kontaktirajte Odeljenje za razvoj poslovanja Assured Information Security, Inc. (AIS) kako biste predložili i formalizovali mogućnosti saradnje u vezi sa FISSURE-om - bilo da se radi o posvećivanju vremena za integraciju vašeg softvera, razvoju rešenja za vaše tehničke izazove od strane talentovanih ljudi iz AIS-a ili integraciji FISSURE-a u druge platforme/aplikacije.
Licenca
GPL-3.0
Za detalje o licenci, pogledajte datoteku LICENSE.
Kontakt
Pridružite se Discord serveru: https://discord.gg/JZDs5sgxcG
Pratite na Twitteru: @FissureRF, @AinfoSec
Chris Poore - Assured Information Security, Inc. - poorec@ainfosec.com
Razvoj poslovanja - Assured Information Security, Inc. - bd@ainfosec.com
Zasluge
Zahvaljujemo se i veoma smo zahvalni ovim programerima:
Zahvalnost
Posebne zahvalnosti dr. Samuelu Mantravadiju i Josephu Reithu na njihovom doprinosu ovom projektu.