基於頻率無關的 SDR 訊號理解和逆向工程
FISSURE 是一個開源射頻和逆向工程框架,專為所有技能水平而設計,具有訊號檢測和分類、協議發現、攻擊執行、IQ 操作、漏洞分析、自動化和 AI/ML 的掛鉤。該框架的建構是為了促進軟體模組、無線電、協定、訊號數據、腳本、流程圖、參考材料和第三方工具的快速整合。 FISSURE 是一種工作流程推動者,可將軟體保留在一個位置,並允許團隊輕鬆加快速度,同時為特定 Linux 發行版共享相同的經過驗證的基準配置。
FISSURE 包含的框架和工具旨在檢測射頻能量的存在、了解訊號的特徵、收集和分析樣本、開發傳輸和/或註入技術以及製作自訂有效負載或訊息。 FISSURE 包含不斷成長的協定和訊號資訊庫,以協助識別、資料包製作和模糊測試。線上存檔功能可以下載訊號檔案並建立播放清單來模擬流量和測試系統。
友善的 Python 程式碼庫和使用者介面使初學者能夠快速了解涉及射頻和逆向工程的流行工具和技術。網路安全和工程教育工作者可以利用內建材料或利用該框架來演示他們自己的實際應用程式。開發人員和研究人員可以使用 FISSURE 完成日常任務或向更廣泛的受眾展示他們的尖端解決方案。隨著社群對 FISSURE 的認識和使用不斷增長,其功能範圍和所包含技術的廣度也會隨之增加。
呼叫安裝程式設定使用「匯出」和「匯入」按鈕匯出和匯入 FISSURE 安裝程式中選取的軟體專案。僅快速安裝您需要的程式。
IQ 資料選項卡和選單中的本機 IQEngine 支持,只需點擊「/IQ Recordings」資料夾中的檔案即可載入 SigMF 檔案。使用「工具」>「資料」>「IQEngine」選單停止 IQEngine 泊塢視窗容器。
適用於通用電腦(SBC、迷你 PC、筆記型電腦、桌上型電腦)的可部署遠端感測器節點,支援可由電腦控制的任何類型的周邊設備。這些遠端感測器節點運行一小部分程式碼,可以透過FISSURE 儀表板GUI 透過網路進行控制,以執行傳統的FISSURE 操作,還可以執行新型腳本操作,這些操作可以在啟動時自主運行或透過使用者互動半自主運行(自動運行播放清單)。
在同一網路上部署多個感測器節點為 FISSURE 的未來發展解鎖了許多地理空間應用。此類應用包括測向、追蹤、入侵偵測、行動部署和周界防禦。小巧的外形和自主功能為隱形部署和封裝到現有平台提供了獨特的機會。這些更新還可以為遠端工作人員提供一種低成本機制,以進行射頻網路安全組合測試並存取專門的射頻環境,例如國際感興趣的地點、實驗室和測試站點。
自動執行播放清單、單階段攻擊、多階段攻擊和存檔重播的觸發功能。包括 20 多個用於啟動電磁效應的聲學、環境、檔案系統、網路、射頻、時間和視覺觸發器範例。請參閱使用者手冊中的觸發器列表部分以了解目前列表,並參閱建立觸發器部分以了解如何新增您自己的觸發器。
訊號分類器標籤用於僅基於從 IQ 資料中提取的統計特徵來訓練決策樹和 DNN 模型。此標籤用於將真實資訊指派給從隔離訊號檔案(由 Signal Conditioner 產生)收集的特徵集(由特徵擷取器產生),以使用 TensorFlow 和 scikit-learn 開發機器學習模型。未知訊號可以透過所有可用模型來比較結果並建立信心。訊號調理器、特徵提取器和訊號分類器標籤充當開發新演算法的測試台,最終結果(隔離的IQ 訊號、統計特徵、分類置信度)將作為感興趣的訊號編入FISSURE 庫中,以供進一步分析或用於觸發自動操作。
IQ 資料標籤中的開關鍵控訊號產生器可用於快速檢視和測試訊號/裝置。自訂訊號可以儲存為 IQ 檔案以供重播,以對目標執行操作或模擬 RF 裝置。
星期六。 2024 年 8 月 10 日:DEF CON 32 - RF 村 - 1400-1500 PST。預錄影片、現場錄製
週四。 2024 年 9 月 5 日:賓厄姆頓大學 STEM 工作與實習博覽會 - 1100-1530 EST
週二。 2024 年 9 月 17 日:GNU 無線電會議 2024 - 1605-1635 EST 描述/幻燈片、現場錄音
2024 年 12 月(最終日期即將到來!) :2024 年 FISSURE 挑戰賽。連結(即將推出)
以下是具有不同整合等級的「支援」硬體的清單:
支援
FISSURE 中現在有兩個分支:Python3 分支和 Python2_maint-3.7 分支。 Python3 分支包含最新程式碼,並支援 PyQt5 和 GNU Radio 版本 3.8 和 3.10。 Python2_maint-3.7 分支已被棄用,並且僅在特定第三方工具需要 GNU Radio 3.7 版或更舊的作業系統時才會更新。僅支援安裝最新的次要版本作業系統,我們將盡力跟上。
作業系統 | 裂隙分支 | 預設 GNU 無線電版本 |
---|---|---|
BackBox Linux 8 (amd64) | Python3 | 維護-3.10 |
DragonOS FocalX (x86_64) | Python3 | 維護-3.10 |
卡利 23.1 (x64) | Python3 | 維護-3.10 |
KDE neon 5.25 (x64)(6.0 未測試) | Python3 | 維護-3.8 |
鸚鵡安全 6.1 (amd64) | Python3 | 維護-3.10 |
Raspberry Pi 作業系統(書呆子) | Python3 | 維護-3.10 |
Ubuntu 18.04 (x64) | Python2_maint-3.7 | 維護-3.7 |
Ubuntu 20.04 (x64) | Python3 | 維護-3.8 |
Ubuntu 22.04 (x64) | Python3 | 維護-3.10 |
Ubuntu 22.04(ARM/Orange Pi) | Python3 | 維護-3.10 |
Ubuntu 24.04 (x86) | Python3 | 維護-3.10 |
進行中(測試版)
這些作業系統仍處於測試狀態。它們正在開發中,已知缺少一些功能。安裝程式中的項目可能與現有程式衝突或無法安裝,直到狀態被刪除。
作業系統 | 裂隙分支 | 預設 GNU 無線電版本 |
---|---|---|
沒有任何 |
注意:某些軟體工具並不適用於所有作業系統。請參閱已知衝突和第三方軟體
安裝
要將 SSH 金鑰新增至 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
筆記:
建議在乾淨的作業系統上安裝 FISSURE,以避免與現有軟體發生衝突。將繼續進一步努力實現虛擬化和依賴管理。安裝程序注意事項:
~/Installed_by_FISSURE
目錄下載並安裝。 FISSURE 安裝程式有助於暫存電腦或安裝選定的有興趣的軟體程式。可以快速修改程式碼以允許自訂軟體安裝。程式的大小估計是在完整安裝之前和之後讀取的。每個程式的大小並不準確,因為先前檢查的項目中安裝了一些依賴項。隨著程式的更新,大小也可能會隨著時間而變化。
遠端感測器節點安裝
在通用計算機上照常安裝 FISSURE。在遠端電腦上與本機電腦相同的目錄位置中安裝 FISSURE(直至另行通知),以避免某些操作出現檔案路徑錯誤。若要設定感測器節點以進行遠端操作,請編輯./fissure/Sensor_Node/Sensor_Node_Config/
目錄中的「default.yaml」檔案。編輯以下欄位以從本機操作變更為遠端操作:
將“autorun”欄位從false
更改為true
以在啟動時運行預設的自動運行播放清單檔案並放棄遠端操作。可以從儀表板自動運行選項卡產生並儲存新的自動運行播放清單。
遠端感測器節點可充當伺服器,並且必須具有一組與客戶端(本機電腦)相符的有效憑證(在安裝過程中產生)。伺服器需要“server.key_secret”和“client.key”文件,而用戶端需要“client.key_secret”和“server.key”文件。如果憑證資料夾是在伺服器電腦上產生的,則必須手動將用戶端檔案傳輸到另一台電腦。
本地儀表板使用情況
打開終端機並輸入:
fissure
啟動 FISSURE 儀表板的預期方法是透過終端,無需 sudo。終端提供某些操作的重要狀態和回饋。有關更多詳細信息,請參閱 FISSURE 文件。
本地感測器節點可以透過 FISSURE 儀表板的頂部按鈕啟動,並協助維護獨立工作站上所有預先存在的 FISSURE 功能。目前僅支援 1 個本地感測器節點和 4 個遠端感測器節點(或 5 個遠端感測器節點)。
如果任何程式凍結或在關閉時掛起,可以使用以下命令來檢測問題或強制關閉:
sudo ps -aux | grep python3
sudo pkill python3
sudo kill -9
遠端感測器節點使用
配置感測器節點設定檔(見上文)後,可以使用以下命令從根目錄執行程式碼:
python3 ./fissure/Sensor_Node/SensorNode.py
感測器節點程式碼將保持活動狀態,直到應用 ctrl+c。透過 FISSURE 儀表板的頂部按鈕連接到遠端感測器節點。右鍵單擊頂部按鈕將選擇一個活動感測器節點來執行操作。未來一次使用多個節點的操作將在各個選項卡中根據具體情況進行處理。
FISSURE 附帶了一些有用的指南,可幫助您熟悉不同的技術和技巧。許多包括使用整合到 FISSURE 中的各種工具的步驟。我們的目標是隨著時間的推移提高品質並添加新內容。
每年 12 月都會舉辦一年一度的「FISSURE 挑戰」奪旗比賽,展示 FISSURE 的新功能。過去的挑戰已存檔,全年都可以解決!獲得實務經驗並查看解決方案:FISSURE Challenge。
強烈鼓勵提出改善 FISSURE 的建議。如果您對以下問題有任何想法,請在討論頁面或 Discord 伺服器中發表評論:
為改進 FISSURE 做出貢獻對於加快其發展至關重要。我們非常感謝您所做的任何貢獻。如果您希望透過程式碼開發做出貢獻,請分叉儲存庫並建立拉取請求:
git checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)git push origin feature/AmazingFeature
)也歡迎創建問題來引起人們對錯誤的注意。
需要更具體的想法嗎?還有很多話題我們還有待研究。查看我們的潛在待辦事項清單。任何幫助表示讚賞。選擇一個簡單的,並在簡歷中寫下您對 FISSURE 的貢獻。
您是一名學生、希望了解有關 RF 和程式設計的更多信息,還是希望讓學生接觸開源世界的組織?請立即聯絡我們並參考 2023 年專案構想清單。
聯絡Assured Information Security, Inc. (AIS) 業務開發,提出並正式確定任何FISSURE 合作機會- 無論是透過投入時間整合您的軟體、讓AIS 的人才為您的技術挑戰開發解決方案,還是將FISSURE 整合到其他領域平台/應用程式。
GPL-3.0
有關許可證詳細信息,請參閱許可證文件。
加入 Discord 伺服器:https://discord.gg/JZDs5sgxcG
在 Twitter/X 上關注:@FissureRF、@AinfoSec
在 LinkedIn 上連結:FISSURE - RF 框架
Chris Poore - Assured Information Security, Inc. - [email protected]
業務發展 - Assured Information Security, Inc. - [email protected]
特別感謝 Samuel Mantravadi 博士和 Joseph Reith 對此專案的貢獻。
就像處理訊號、逆向工程或網路安全的其他領域一樣?瀏覽我們目前的空缺職位或加入我們的人才社群以供將來考慮。
如果您對駭客攻擊感興趣,請查看我們的 Can You Hack It?® 挑戰並測試您的技能!提交您的分數,向我們展示您的成績。 AIS 的業務遍及全國,在美國各地設有辦事處和遠距員工。加入一個不僅致力於網路空間的未來,而且還致力於我們員工的成功的團隊。