فهم الإشارات المستقلة المعتمدة على حقوق السحب الخاصة (SDR) والهندسة العكسية
FISSURE هو إطار عمل مفتوح المصدر للترددات اللاسلكية والهندسة العكسية مصمم لجميع مستويات المهارة مع خطافات لاكتشاف الإشارات وتصنيفها، واكتشاف البروتوكول، وتنفيذ الهجوم، ومعالجة معدل الذكاء، وتحليل نقاط الضعف، والأتمتة، والذكاء الاصطناعي/تعلم الآلة. تم إنشاء الإطار لتعزيز التكامل السريع بين وحدات البرامج وأجهزة الراديو والبروتوكولات وبيانات الإشارة والبرامج النصية والرسوم البيانية الانسيابية والمواد المرجعية وأدوات الطرف الثالث. FISSURE عبارة عن أداة تمكين لسير العمل تحافظ على البرامج في مكان واحد وتسمح للفرق بالوصول إلى السرعة بسهولة أثناء مشاركة نفس التكوين الأساسي المثبت لتوزيعات Linux محددة.
تم تصميم الإطار والأدوات المضمنة في FISSURE لاكتشاف وجود طاقة التردد اللاسلكي، وفهم خصائص الإشارة، وجمع العينات وتحليلها، وتطوير تقنيات الإرسال و/أو الحقن، وصياغة حمولات أو رسائل مخصصة. يحتوي FISSURE على مكتبة متنامية من معلومات البروتوكول والإشارة للمساعدة في تحديد الهوية وصياغة الحزم والتشويش. توجد إمكانيات أرشفة عبر الإنترنت لتنزيل ملفات الإشارة وإنشاء قوائم تشغيل لمحاكاة حركة المرور وأنظمة الاختبار.
تسمح قاعدة تعليمات Python وواجهة المستخدم سهلة الاستخدام للمبتدئين بالتعرف بسرعة على الأدوات والتقنيات الشائعة التي تتضمن الترددات اللاسلكية والهندسة العكسية. يمكن للمعلمين في مجال الأمن السيبراني والهندسة الاستفادة من المواد المضمنة أو الاستفادة من إطار العمل لإظهار تطبيقاتهم الواقعية. يمكن للمطورين والباحثين استخدام FISSURE لمهامهم اليومية أو لعرض حلولهم المتطورة لجمهور أوسع. مع تزايد الوعي واستخدام FISSURE في المجتمع، يزداد أيضًا مدى قدراته واتساع نطاق التكنولوجيا التي يشملها.
استدعاء إعدادات برنامج التثبيت قم بتصدير واستيراد عناصر البرامج المحددة في برنامج تثبيت FISSURE باستخدام زري التصدير والاستيراد. قم بتثبيت البرامج التي تحتاجها فقط بسرعة.
دعم IQEngine المحلي في علامة تبويب بيانات IQ وقائمة التحميل في ملفات SigMF بنقرة واحدة للملفات الموجودة في المجلد "/IQ Recordings". قم بإيقاف حاوية عامل الإرساء IQEngine باستخدام القائمة Tools>Data>IQEngine.
عقد استشعار عن بعد قابلة للنشر لأجهزة الكمبيوتر ذات الأغراض العامة (SBC، وأجهزة الكمبيوتر الصغيرة، وأجهزة الكمبيوتر المحمولة، وأجهزة الكمبيوتر المكتبية) التي تدعم أي نوع من الأجهزة الطرفية التي يمكن التحكم فيها بواسطة جهاز كمبيوتر. تعمل عقد الاستشعار عن بعد هذه على تشغيل مجموعة فرعية صغيرة من التعليمات البرمجية التي يمكن التحكم فيها عبر شبكة من خلال واجهة المستخدم الرسومية FISSURE Dashboard لتنفيذ عمليات FISSURE التقليدية وكذلك تنفيذ أنواع جديدة من الإجراءات المكتوبة التي يمكن تشغيلها بشكل مستقل عند بدء التشغيل أو بشكل شبه مستقل من خلال تفاعل المستخدم ( قوائم التشغيل التلقائية).
يؤدي نشر عقد استشعار متعددة على نفس الشبكة إلى فتح العديد من التطبيقات الجغرافية المكانية للتطوير المستقبلي لـ FISSURE. وتشمل هذه التطبيقات تحديد الاتجاه والتتبع وكشف التسلل والنشر المتنقل والدفاع المحيطي. يمنح عامل الشكل الصغير والقدرات الذاتية فرصًا فريدة للنشر الخفي والتعبئة على الأنظمة الأساسية الحالية. يمكن أن توفر هذه التحديثات أيضًا آلية منخفضة التكلفة للعاملين عن بعد لإجراء اختبارات مشتركة للأمن السيبراني للترددات اللاسلكية والوصول إلى بيئات الترددات اللاسلكية المتخصصة مثل المناطق الدولية ذات الاهتمام والمختبرات ومواقع الاختبار.
إمكانات التشغيل لقوائم التشغيل التلقائية، والهجمات ذات المرحلة الواحدة، والهجمات متعددة المراحل، وإعادة تشغيل الأرشيف. يتضمن أكثر من 20 مثالًا للمشغلات الصوتية والبيئية ونظام الملفات والشبكات والترددات اللاسلكية والوقت والمشغلات المرئية لبدء التأثيرات الكهرومغناطيسية. ارجع إلى قسم قائمة المشغلات في دليل المستخدم للاطلاع على القائمة الحالية وقسم إنشاء المشغلات حول كيفية إضافة القائمة الخاصة بك.
علامة تبويب Signal Classifier لشجرة القرار التدريبية ونماذج DNN التي تعتمد فقط على الميزات الإحصائية المستخرجة من بيانات معدل الذكاء. تُستخدم علامة التبويب هذه لتعيين معلومات حقيقية لمجموعات الميزات (المنتجة من مستخرج الميزات) المجمعة من ملفات الإشارات المعزولة (المنتجة من Signal Conditioner) لتطوير نماذج التعلم الآلي باستخدام TensorFlow وscikit-Learn. يمكن تشغيل الإشارات غير المعروفة من خلال جميع النماذج المتاحة لمقارنة النتائج وبناء الثقة. تعمل علامات التبويب Signal Conditioner وFeature Extractor وSignal Classifier بمثابة اختبار لتطوير خوارزميات جديدة وفي النهاية سيتم فهرسة النتائج (إشارات الذكاء المعزولة والميزات الإحصائية وثقة التصنيف) في مكتبة FISSURE كإشارات ذات أهمية لمزيد من التحليل أو إطلاق الإجراءات الآلية.
مولد إشارة مفتاح التشغيل والإيقاف في علامة تبويب بيانات IQ للعرض السريع واختبار الإشارات/الأجهزة. يمكن حفظ الإشارات المخصصة كملفات IQ لإعادة تشغيلها لتنفيذ إجراءات على الأهداف أو محاكاة أجهزة التردد اللاسلكي.
قعد. 10 أغسطس 2024 : DEF CON 32 - قرية RF - 1400-1500 بتوقيت المحيط الهادئ. فيديو مسجل مسبقًا، تسجيل مباشر
الخميس. 5 سبتمبر 2024 : معرض الوظائف والتدريب في مجال العلوم والتكنولوجيا والهندسة والرياضيات بجامعة بينجهامتون - 1100-1530 بتوقيت شرق الولايات المتحدة
الثلاثاء. 17 سبتمبر 2024 : مؤتمر راديو GNU 2024 - 1605-1635 بالتوقيت الشرقي الوصف/الشرائح، التسجيل المباشر
ديسمبر 2024 (قريبًا المواعيد النهائية!) : تحدي الشق 2024. الرابط (قريبا)
فيما يلي قائمة بالأجهزة "المدعومة" بمستويات مختلفة من التكامل:
المدعومة
يوجد الآن فرعين داخل FISSURE: فرع Python3 وفرع Python2_maint-3.7. يحتوي فرع Python3 على أحدث التعليمات البرمجية ويدعم الإصدارين 3.8 و3.10 من PyQt5 وGNU Radio. تم إهمال فرع Python2_maint-3.7 ولن يتم تحديثه إلا إذا كانت أدوات محددة تابعة لجهات خارجية تتطلب الإصدار 3.7 من راديو GNU أو نظام تشغيل أقدم. سيتم فقط دعم أحدث الإصدارات الثانوية من أنظمة التشغيل لعمليات التثبيت وسنبذل قصارى جهدنا لمواكبة ذلك.
نظام التشغيل | فرع الشق | الإصدار الافتراضي لراديو جنو |
---|---|---|
باك بوكس لينكس 8 (amd64) | بايثون3 | صيانة-3.10 |
دراغون أو إس فوكال إكس (x86_64) | بايثون3 | صيانة-3.10 |
كالي 23.1 (x64) | بايثون3 | صيانة-3.10 |
كيدي نيون 5.25 (x64) (6.0 لم يتم اختباره) | بايثون3 | صيانة-3.8 |
باروت سيكيوريتي 6.1 (amd64) | بايثون3 | صيانة-3.10 |
نظام التشغيل Raspberry Pi (دودة الكتب) | بايثون3 | صيانة-3.10 |
أوبونتو 18.04 (x64) | Python2_maint-3.7 | صيانة-3.7 |
أوبونتو 20.04 (x64) | بايثون3 | صيانة-3.8 |
أوبونتو 22.04 (x64) | بايثون3 | صيانة-3.10 |
أوبونتو 22.04 (ARM/Orange Pi) | بايثون3 | صيانة-3.10 |
أوبونتو 24.04 (x86) | بايثون3 | صيانة-3.10 |
قيد التقدم (تجريبي)
أنظمة التشغيل هذه لا تزال في حالة تجريبية. إنها قيد التطوير ومن المعروف أن العديد من الميزات مفقودة. قد تتعارض العناصر الموجودة في برنامج التثبيت مع البرامج الموجودة أو يفشل تثبيتها حتى تتم إزالة الحالة.
نظام التشغيل | فرع الشق | الإصدار الافتراضي لراديو جنو |
---|---|---|
لا أحد |
ملاحظة: لا تعمل بعض الأدوات البرمجية مع كل نظام تشغيل. راجع التعارضات المعروفة وبرامج الطرف الثالث
تثبيت
لإضافة مفاتيح 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 على الكمبيوتر البعيد في نفس موقع الدليل مثل الكمبيوتر المحلي (حتى إشعار آخر) لتجنب أخطاء مسار الملف من خلال إجراءات معينة. لتكوين عقدة المستشعر للتشغيل عن بعد، قم بتحرير الملف "default.yaml" في الدليل ./fissure/Sensor_Node/Sensor_Node_Config/
. قم بتحرير الحقول التالية للتغيير من التشغيل المحلي إلى التشغيل البعيد:
قم بتغيير حقل "التشغيل التلقائي" من false
إلى true
لتشغيل ملف قائمة تشغيل التشغيل التلقائي الافتراضي عند بدء التشغيل والتخلي عن العمليات عن بعد. يمكن إنشاء قوائم تشغيل جديدة للتشغيل التلقائي وحفظها من علامة التبويب "التشغيل التلقائي للوحة المعلومات".
تعمل عقدة الاستشعار عن بعد كخادم ويجب أن تحتوي على مجموعة من الشهادات الصالحة (التي تم إنشاؤها أثناء التثبيت) والتي تتطابق مع العميل (الكمبيوتر المحلي). يحتاج الخادم إلى ملفات "server.key_secret" و"client.key" بينما يحتاج العميل إلى ملفات "client.key_secret" و"server.key". إذا تم إنشاء مجلد الشهادات على كمبيوتر الخادم، فيجب نقل ملفات العميل يدويًا إلى الكمبيوتر الآخر.
استخدام لوحة المعلومات المحلية
افتح محطة وأدخل:
fissure
الطريقة المقصودة لتشغيل FISSURE Dashboard هي من خلال الجهاز بدون sudo. توفر المحطة حالة وملاحظات مهمة لبعض العمليات. راجع وثائق FISSURE لمزيد من التفاصيل.
يمكن إطلاق عقدة استشعار محلية من خلال الأزرار العلوية في لوحة معلومات FISSURE وتساعد في الحفاظ على جميع وظائف FISSURE الموجودة مسبقًا على محطة عمل مستقلة. يتم دعم عقد استشعار محلية واحدة فقط وأربع عقد استشعار عن بعد (أو خمس عقد عن بعد) في الوقت الحالي.
إذا توقف أي من البرامج أو توقف عن العمل، فيمكن استخدام الأوامر التالية لاكتشاف مشكلة ما أو إيقاف تشغيله قسريًا:
sudo ps -aux | grep python3
sudo pkill python3
sudo kill -9
استخدام عقدة الاستشعار عن بعد
بعد تكوين ملف تكوين عقدة الاستشعار (انظر أعلاه)، يمكن تشغيل التعليمات البرمجية باستخدام هذا الأمر من الدليل الجذر:
python3 ./fissure/Sensor_Node/SensorNode.py
سيظل رمز عقدة المستشعر نشطًا حتى يتم تطبيق ctrl+c. يتم الاتصال بعقدة الاستشعار عن بعد من خلال الأزرار العلوية للوحة معلومات FISSURE. سيؤدي النقر بزر الماوس الأيمن على الأزرار العلوية إلى تحديد عقدة استشعار نشطة لإجراء العمليات. سيتم التعامل مع العمليات المستقبلية التي تستخدم أكثر من عقدة واحدة في نفس الوقت على أساس كل حالة على حدة ضمن علامات التبويب الفردية.
يأتي FISSURE مع العديد من الأدلة المفيدة للتعرف على التقنيات والتقنيات المختلفة. يتضمن العديد منها خطوات لاستخدام الأدوات المتنوعة المدمجة في FISSURE. ونحن نهدف إلى تحسين الجودة وإضافة محتوى جديد مع مرور الوقت.
تقام مسابقة "FISSURE Challenge" السنوية لالتقاط العلم لعرض الإضافات الجديدة إلى FISSURE في ديسمبر من كل عام. يتم أرشفة التحديات السابقة ويمكن حلها على مدار السنة! اكتسب خبرة عملية واعرض الحلول على: FISSURE Challenge.
يتم تشجيع اقتراحات تحسين FISSURE بقوة. اترك تعليقًا في صفحة المناقشات أو في Discord Server إذا كانت لديك أي أفكار بخصوص ما يلي:
تعتبر المساهمات لتحسين FISSURE ضرورية لتسريع تطويرها. أي مساهمات تقدمها هي محل تقدير كبير. إذا كنت ترغب في المساهمة من خلال تطوير التعليمات البرمجية، يرجى شوكة الريبو وإنشاء طلب سحب:
git checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)git push origin feature/AmazingFeature
)نرحب أيضًا بإنشاء مشكلات لجذب الانتباه إلى الأخطاء.
هل تحتاج إلى أفكار أكثر تحديدًا؟ هناك الكثير من المواضيع التي لم نحقق فيها بعد. تحقق من قائمتنا الجارية لعناصر المهام المحتملة. هو موضع تقدير أي مساعدة. اختر واحدة سهلة واكتب أنك ساهمت في FISSURE في سيرتك الذاتية/CV.
هل أنت طالب أو تتطلع إلى معرفة المزيد عن الترددات اللاسلكية والبرمجة أو مؤسسة تتطلع إلى تعريف الطلاب بعالم المصادر المفتوحة؟ تواصل معنا اليوم وارجع إلى قائمة أفكار المشاريع لعام 2023.
اتصل بـ Assured Information Security, Inc. (AIS) لتطوير الأعمال لاقتراح وإضفاء الطابع الرسمي على أي فرص تعاون مع FISSURE - سواء كان ذلك من خلال تخصيص الوقت لدمج برامجك، أو جعل الأشخاص الموهوبين في AIS يطورون حلولاً للتحديات التقنية التي تواجهك، أو دمج FISSURE في برامج أخرى المنصات/التطبيقات.
جي بي إل-3.0
للحصول على تفاصيل الترخيص، راجع ملف الترخيص.
انضم إلى خادم Discord: https://discord.gg/JZDs5sgxcG
تابع على Twitter/X: @FissureRF، @AinfoSec
تواصل على LinkedIn: FISSURE - إطار عمل RF
كريس بور - شركة Assured Information Security, Inc. - [email protected]
تطوير الأعمال - شركة Assured Information Security, Inc. - [email protected]
شكر خاص للدكتور صموئيل مانترافادي وجوزيف ريث لمساهماتهم في هذا المشروع.
مثل العمل مع الإشارات أو الهندسة العكسية أو مجالات أخرى في الأمن السيبراني؟ تصفح فرصنا الحالية أو انضم إلى مجتمع المواهب لدينا للنظر فيها في المستقبل.
إذا كان لديك اهتمام بالقرصنة، فاطلع على تحدي Can You Hack It?® الخاص بنا واختبر مهاراتك! أرسل درجاتك لتظهر لنا ما لديك. تتمتع AIS ببصمة وطنية مع مكاتب وموظفين عن بعد في جميع أنحاء الولايات المتحدة. نحن نقدم رواتب تنافسية ومزايا متميزة. انضم إلى فريق ليس ملتزمًا بمستقبل الفضاء الإلكتروني فحسب، بل بنجاح موظفينا أيضًا.