本文收錄Cabir(Caribe)蠕蟲病毒核心原始碼片段,展示其利用Symbian C++實現藍牙掃描、OBEX傳輸、自動安裝與開機自啟動機制。代碼包含兩大模組:
CaribeBluetooth模組:藍牙掃描與傳輸
- 繼承CActive非同步架構,狀態機控制連線流程
- FindDevices():使用L2CAP協定掃描鄰近藍牙裝置(GIAC查詢)
- ManageFoundDevices():建立RFCOMM連線(Port 9),透過OBEX Client推送CARIBE.SIS
- RunL():狀態3→掃描→狀態1連線→狀態2傳送→斷線→回狀態3循環
CaribeInstaller模組:持久化與自我複製
- CopyMeToAutostartableDir():將自身DLL複製至
C:\SYSTEM\SYMBIANSECUREDATA\CARIBESECURITYMANAGER\CARIBE.APP與對應RSC資源檔
- InstallMDL():在
C:\SYSTEM\RECOGS\FLO.MDL植入識別檔,實現開機自動啟動
- CreateSis():動態生成標準SIS安裝包(含APP、RSC、MDL),供藍牙傳輸時自動安裝
關鍵技術細節
- 作者選擇藍牙而非MMS傳播,避免耗用用戶通訊費
- 利用Symbian安全資料區儲存病毒本體,規避一般檔案管理工具檢視
- MDL(辨識檔)掛載於InputManagers機制,達到無感知自啟動
- SIS封裝採用標準Symbian安裝格式,兼容性極高
安全啟示:Cabir原始碼公開後衍生大量變種,證明開源惡意碼加速威脅演化。防禦端需針對藍牙OBEX傳輸、自啟動掛載點、SIS簽名驗證建立多層檢測。
註:原始碼僅供學術研究與防禦分析,嚴禁用於惡意用途。