Pemahaman Sinyal dan Rekayasa Balik Berbasis SDR Independen Frekuensi
FISSURE adalah kerangka kerja RF dan rekayasa balik sumber terbuka yang dirancang untuk semua tingkat keahlian dengan kaitan untuk deteksi dan klasifikasi sinyal, penemuan protokol, eksekusi serangan, manipulasi IQ, analisis kerentanan, otomatisasi, dan AI/ML. Kerangka kerja ini dibangun untuk mendorong integrasi cepat modul perangkat lunak, radio, protokol, data sinyal, skrip, grafik alur, bahan referensi, dan alat pihak ketiga. FISSURE adalah pengaktif alur kerja yang menyimpan perangkat lunak di satu lokasi dan memungkinkan tim meningkatkan kecepatan dengan mudah sambil berbagi konfigurasi dasar yang sama dan telah terbukti untuk distribusi Linux tertentu.
Kerangka kerja dan alat yang disertakan dengan FISSURE dirancang untuk mendeteksi keberadaan energi RF, memahami karakteristik sinyal, mengumpulkan dan menganalisis sampel, mengembangkan teknik transmisi dan/atau injeksi, dan membuat muatan atau pesan khusus. FISSURE berisi perpustakaan protokol dan informasi sinyal yang berkembang untuk membantu dalam identifikasi, pembuatan paket, dan fuzzing. Kemampuan arsip online tersedia untuk mengunduh file sinyal dan membuat daftar putar untuk mensimulasikan lalu lintas dan menguji sistem.
Basis kode Python dan antarmuka pengguna yang ramah memungkinkan pemula mempelajari dengan cepat tentang alat dan teknik populer yang melibatkan RF dan rekayasa balik. Pendidik di bidang keamanan siber dan teknik dapat memanfaatkan materi bawaan atau memanfaatkan kerangka kerja untuk mendemonstrasikan aplikasi mereka di dunia nyata. Pengembang dan peneliti dapat menggunakan FISSURE untuk tugas sehari-hari atau untuk memaparkan solusi mutakhir mereka kepada khalayak yang lebih luas. Seiring dengan tumbuhnya kesadaran dan penggunaan FISSURE di masyarakat, jangkauan kemampuannya dan luasnya teknologi yang dicakupnya juga akan meningkat.
Ingat Pengaturan Penginstal Ekspor dan impor item perangkat lunak yang diperiksa di penginstal FISSURE menggunakan tombol Ekspor dan Impor. Instal dengan cepat hanya program yang Anda perlukan.
Dukungan IQEngine Lokal di tab Data IQ dan menu untuk memuat file SigMF dengan satu klik untuk file di folder "/IQ Recordings". Hentikan kontainer buruh pelabuhan IQEngine menggunakan menu Tools>Data>IQEngine.
Node sensor jarak jauh yang dapat diterapkan untuk komputer tujuan umum (SBC, mini PC, laptop, desktop) yang mendukung semua jenis periferal yang dapat dikontrol oleh komputer. Node sensor jarak jauh ini menjalankan sebagian kecil kode yang dapat dikontrol melalui jaringan melalui GUI Dasbor FISSURE untuk melakukan operasi FISSURE tradisional dan juga menjalankan jenis tindakan skrip baru yang dapat dijalankan secara mandiri saat startup atau semi-otonom melalui interaksi pengguna ( putar otomatis daftar putar).
Penyebaran beberapa node sensor pada jaringan yang sama membuka banyak aplikasi geospasial untuk pengembangan FISSURE di masa depan. Aplikasi tersebut mencakup pencarian arah, pelacakan, deteksi intrusi, penerapan seluler, dan pertahanan perimeter. Faktor bentuk yang kecil dan kemampuan otonom memberikan peluang unik untuk penerapan dan pengemasan secara diam-diam ke dalam platform yang ada. Pembaruan ini juga dapat menyediakan mekanisme berbiaya rendah bagi pekerja jarak jauh untuk melakukan pengujian gabungan keamanan siber RF dan mengakses lingkungan RF khusus seperti lokasi internasional, laboratorium, dan lokasi pengujian.
Memicu kemampuan untuk memutar daftar putar otomatis, serangan satu tahap, serangan multi-tahap, dan pemutaran ulang arsip. Mencakup lebih dari 20 contoh pemicu akustik, lingkungan, sistem file, jaringan, RF, waktu, dan visual untuk memulai efek elektromagnetik. Lihat bagian Daftar Pemicu di panduan pengguna untuk daftar saat ini dan bagian Membuat Pemicu tentang cara menambahkan daftar Anda sendiri.
Tab Pengklasifikasi Sinyal untuk melatih pohon keputusan dan model DNN hanya berdasarkan fitur statistik yang diekstrak dari data IQ. Tab ini digunakan untuk menetapkan informasi kebenaran ke kumpulan fitur (yang dihasilkan dari Feature Extractor) yang dikumpulkan dari file sinyal terisolasi (yang dihasilkan dari Signal Conditioner) untuk mengembangkan model pembelajaran mesin menggunakan TensorFlow dan scikit-learn. Sinyal yang tidak diketahui dapat dijalankan melalui semua model yang tersedia untuk membandingkan hasil dan membangun keyakinan. Tab Pengkondisi Sinyal, Ekstraktor Fitur, dan Pengklasifikasi Sinyal bertindak sebagai tempat pengujian untuk mengembangkan algoritme baru dan pada akhirnya hasilnya (sinyal IQ terisolasi, fitur statistik, keyakinan klasifikasi) akan dikatalogkan ke dalam perpustakaan FISSURE sebagai sinyal yang menarik untuk analisis lebih lanjut atau untuk memicu tindakan otomatis.
Generator sinyal penguncian hidup-mati di tab Data IQ untuk melihat dan menguji sinyal/perangkat dengan cepat. Sinyal khusus dapat disimpan sebagai file IQ untuk diputar ulang guna melakukan tindakan pada target atau mensimulasikan perangkat RF.
Duduk. 10 Agustus 2024 : DEF CON 32 - RF Village - 1400-1500 PST. Video Rekaman, Rekaman Langsung
Kam. 5 September 2024 : Pameran Kerja dan Magang STEM Universitas Binghamton - 1100-1530 EST
Selasa. 17 September 2024 : Konferensi Radio GNU 2024 - 1605-1635 EST Deskripsi/Slide, Rekaman Langsung
Desember 2024 (Tanggal terakhir segera hadir!) : Tantangan FISURE 2024. Tautan (Segera Hadir)
Berikut ini adalah daftar perangkat keras yang "didukung" dengan berbagai tingkat integrasi:
Didukung
Sekarang ada dua cabang dalam FISSURE: cabang Python3 dan cabang Python2_maint-3.7. Cabang Python3 berisi kode terbaru dan memiliki dukungan untuk PyQt5 dan GNU Radio versi 3.8 dan 3.10. Cabang Python2_maint-3.7 sudah tidak digunakan lagi dan hanya akan diperbarui jika alat pihak ketiga tertentu memerlukan GNU Radio versi 3.7 atau sistem operasi yang lebih lama. Hanya sistem operasi versi minor terbaru yang akan didukung untuk instalasi dan kami akan melakukan yang terbaik untuk mengikutinya.
Sistem Operasi | Cabang FISURE | Versi Radio GNU Default |
---|---|---|
Kotak Belakang Linux 8 (amd64) | Python3 | pemeliharaan-3.10 |
DragonOS FocalX (x86_64) | Python3 | pemeliharaan-3.10 |
Kali 23.1 (x64) | Python3 | pemeliharaan-3.10 |
KDE neon 5.25 (x64) (6.0 tidak diuji) | Python3 | pemeliharaan-3.8 |
Keamanan Burung Beo 6.1 (amd64) | Python3 | pemeliharaan-3.10 |
Raspberry Pi OS (kutu buku) | Python3 | pemeliharaan-3.10 |
Ubuntu 18.04 (x64) | Python2_maint-3.7 | pemeliharaan-3.7 |
Ubuntu 20.04 (x64) | Python3 | pemeliharaan-3.8 |
Ubuntu 22.04 (x64) | Python3 | pemeliharaan-3.10 |
Ubuntu 22.04 (ARM/Oranye Pi) | Python3 | pemeliharaan-3.10 |
Ubuntu 24.04 (x86) | Python3 | pemeliharaan-3.10 |
Sedang Berlangsung (beta)
Sistem operasi ini masih dalam status beta. Mereka sedang dalam pengembangan dan beberapa fitur diketahui hilang. Item dalam penginstal mungkin bertentangan dengan program yang ada atau gagal diinstal hingga statusnya dihapus.
Sistem Operasi | Cabang FISURE | Versi Radio GNU Default |
---|---|---|
Tidak ada |
Catatan: Perangkat lunak tertentu tidak berfungsi untuk setiap OS. Lihat Konflik yang Diketahui dan Perangkat Lunak Pihak Ketiga
Instalasi
Untuk menambahkan kunci SSH ke GitHub:
ssh-keygen -t ed25519
cat ~/.ssh/id_ed25519.pub
Paste text into "Settings" > "SSH and GPG keys" > "New SSH Key"
git clone [email protected]:ainfosec/FISSURE.git
git clone https://github.com/ainfosec/FISSURE.git
cd FISSURE
git checkout Python3 # or Python2_maint-3.7
git submodule update --init
./install
Catatan:
Disarankan untuk menginstal FISSURE pada sistem operasi yang bersih untuk menghindari konflik dengan software yang ada. Upaya lebih lanjut menuju virtualisasi dan manajemen ketergantungan akan dilanjutkan. Catatan tentang penginstal:
~/Installed_by_FISSURE
. Penginstal FISSURE berguna untuk mengatur komputer atau menginstal program perangkat lunak tertentu yang diinginkan. Kode dapat dengan cepat dimodifikasi untuk memungkinkan instalasi perangkat lunak khusus. Perkiraan ukuran program adalah sebelum dan sesudah pembacaan dari instalasi penuh. Ukuran untuk setiap program tidak tepat karena beberapa dependensi dipasang di item yang telah diperiksa sebelumnya. Ukurannya juga dapat berubah seiring waktu seiring dengan pembaruan program.
Instalasi Node Sensor Jarak Jauh
Instal FISSURE seperti biasa di komputer tujuan umum. Instal FISSURE di komputer jarak jauh di lokasi direktori yang sama dengan komputer lokal (sampai pemberitahuan lebih lanjut) untuk menghindari kesalahan jalur file dengan tindakan tertentu. Untuk mengonfigurasi node sensor untuk pengoperasian jarak jauh, edit file "default.yaml" di direktori ./fissure/Sensor_Node/Sensor_Node_Config/
. Edit kolom berikut untuk mengubah dari operasi lokal ke operasi jarak jauh:
Ubah bidang "autorun" dari false
menjadi true
untuk menjalankan file playlist autorun default saat startup dan lupakan operasi jarak jauh. Daftar putar autorun baru dapat dibuat dan disimpan dari tab Dashboard Autorun.
Node sensor jarak jauh bertindak sebagai server dan harus memiliki satu set sertifikat yang valid (dihasilkan saat instalasi) yang cocok dengan klien (komputer lokal). Server membutuhkan file "server.key_secret" dan "client.key" sedangkan klien membutuhkan file "client.key_secret" dan "server.key". Jika folder sertifikat dibuat di komputer server, file klien harus ditransfer secara manual ke komputer lain.
Penggunaan Dasbor Lokal
Buka terminal dan masukkan:
fissure
Metode yang dimaksudkan untuk meluncurkan Dashboard FISSURE adalah melalui terminal tanpa sudo. Terminal memberikan status dan umpan balik penting untuk beberapa operasi. Lihat dokumentasi FISURE untuk lebih jelasnya.
Node sensor lokal dapat diluncurkan melalui tombol atas di Dasbor FISSURE dan membantu mempertahankan semua fungsi FISSURE yang sudah ada sebelumnya pada stasiun kerja mandiri. Hanya satu node sensor lokal dan empat node sensor jarak jauh (atau lima node sensor jarak jauh) yang didukung saat ini.
Jika salah satu program macet atau macet, perintah berikut dapat digunakan untuk mendeteksi masalah atau mematikan secara paksa:
sudo ps -aux | grep python3
sudo pkill python3
sudo kill -9
Penggunaan Node Sensor Jarak Jauh
Setelah mengonfigurasi file konfigurasi node sensor (lihat di atas), kode dapat dijalankan menggunakan perintah ini dari direktori root:
python3 ./fissure/Sensor_Node/SensorNode.py
Kode node sensor akan tetap aktif sampai ctrl+c diterapkan. Menghubungkan ke node sensor jarak jauh dilakukan melalui tombol atas Dasbor FISSURE. Mengklik kanan tombol atas akan memilih node sensor aktif untuk melakukan operasi. Operasi masa depan yang menggunakan lebih dari satu node pada satu waktu akan ditangani berdasarkan kasus per kasus dalam masing-masing tab.
FISURE hadir dengan beberapa panduan bermanfaat untuk mengenal berbagai teknologi dan teknik. Banyak yang menyertakan langkah-langkah untuk menggunakan berbagai alat yang terintegrasi ke dalam FISSURE. Kami bertujuan untuk meningkatkan kualitas dan menambahkan konten baru seiring waktu.
Kontes menangkap bendera tahunan "FISSURE Challenge" untuk menampilkan tambahan baru pada FISSURE diadakan pada bulan Desember setiap tahun. Tantangan masa lalu diarsipkan dan dapat diselesaikan sepanjang tahun! Dapatkan pengalaman langsung dan lihat solusi di: FISSURE Challenge.
Saran untuk meningkatkan FISURE sangat dianjurkan. Tinggalkan komentar di halaman Diskusi atau di Server Discord jika Anda memiliki pemikiran mengenai hal berikut:
Kontribusi untuk meningkatkan FISURE sangat penting untuk mempercepat perkembangannya. Setiap kontribusi yang Anda berikan sangat dihargai. Jika Anda ingin berkontribusi melalui pengembangan kode, harap fork repo dan buat permintaan tarik:
git checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)git push origin feature/AmazingFeature
)Membuat Masalah untuk memberi perhatian pada bug juga disambut baik.
Butuh ide yang lebih spesifik? Ada banyak topik yang belum kami selidiki. Lihat daftar item tugas potensial kami yang sedang berjalan. Bantuan apa pun dihargai. Pilih yang mudah dan tulis bahwa Anda berkontribusi pada FISSURE di resume/CV Anda.
Apakah Anda seorang pelajar atau ingin mempelajari lebih lanjut tentang RF dan pemrograman atau sebuah organisasi yang ingin memperkenalkan siswa pada dunia open source? Hubungi sekarang dan lihat Daftar Ide Proyek 2023.
Hubungi Pengembangan Bisnis Assured Information Security, Inc. (AIS) untuk mengusulkan dan meresmikan setiap peluang kolaborasi FISSURE–baik melalui mendedikasikan waktu untuk mengintegrasikan perangkat lunak Anda, meminta orang-orang berbakat di AIS mengembangkan solusi untuk tantangan teknis Anda, atau mengintegrasikan FISSURE ke dalam lainnya platform/aplikasi.
GPL-3.0
Untuk rincian lisensi, lihat file LISENSI.
Bergabunglah dengan Server Perselisihan: https://discord.gg/JZDs5sgxcG
Ikuti di Twitter/X: @FissureRF, @AinfoSec
Terhubung di LinkedIn: FISURE - Kerangka RF
Chris Poore - Keamanan Informasi Terjamin, Inc. - [email protected]
Pengembangan Bisnis - Keamanan Informasi Terjamin, Inc. - [email protected]
Terima kasih khusus kepada Dr. Samuel Mantravadi dan Joseph Reith atas kontribusi mereka pada proyek ini.
Suka bekerja dengan sinyal, rekayasa balik, atau bidang lain dalam keamanan siber? Jelajahi lowongan kami saat ini atau bergabunglah dengan komunitas bakat kami untuk pertimbangan di masa depan.
Jika Anda tertarik dalam meretas, lihat tantangan Bisakah Anda Meretasnya?® dan uji keterampilan Anda! Kirimkan skor Anda untuk menunjukkan kepada kami apa yang Anda punya. AIS memiliki jangkauan nasional dengan kantor dan karyawan jarak jauh di seluruh AS. Kami menawarkan gaji yang kompetitif dan tunjangan yang luar biasa. Bergabunglah dengan tim yang tidak hanya berkomitmen terhadap masa depan dunia maya, namun juga terhadap kesuksesan karyawan kami.