civil-and-structural-engineering
كيف يمكن للمهندس عكس نظام تخزين الشبكة
Table of Contents
فهم مؤسسات تخزين شبكة الهندسة العكسية
ويقتضي نظام تخزين شبكة الملكية العكسي نهجا منهجيا يشمل المعدات والبرمجيات الثابتة وطبقات الاتصالات الشبكية، سواء كنت تبني مرفقا احتياطيا لجهاز غير مدعوم، أو إجراء مراجعة أمنية، أو تطوير متحكم بديل، المهارات المطلوبة هي مهارات تقنية ومميزة قانونا على حد سواء، ويسير هذا الدليل من خلال العملية برمتها، من الاعتبارات القانونية إلى اختبار نتائجكم، مع أمثلة عملية مستمدة من هياكل التخزين في العالم الحقيقي.
وقبل أن يغزو إلى أدوات وتقنيات، يجدر التساؤل عن سبب قيام أي شخص بإعادة تصميم نظام تخزين على الإطلاق، وتشمل الدوافع المشتركة ما يلي: تحقيق قابلية التشغيل المتبادل مع المعدات القديمة، والتحقق من المطالبات الأمنية المزعومة، واسترداد البيانات من البائع الفاشل، أو إيجاد عوامل مفتوحة المصدر لمعدات السلع الأساسية، ومهما كان هدفك، فإن الخطوات تظل متسقة بشكل ملحوظ فيما بين مختلف العلامات والنماذج.
الحدود القانونية والأخلاقية
ويحظر قانون حقوق التأليف والنشر رقمي للألفية في الولايات المتحدة، على سبيل المثال، الالتفاف على تدابير الحماية التكنولوجية، وإن كانت هناك إعفاءات للبحث الأمني والقابلية للتشغيل المتبادل، ويسمح نص DMCA ) في الاتحاد الأوروبي، بأن يستشير توجيه البرمجيات في ظروف معينة من الاختراق.
إن إكتشاف وجود ضعف أمني، فإن اتباع ممارسات الكشف عن البيانات، وعدم نشر مدونة الاستغلال علناً دون إعطاء البائع نافذة معقولة لضبط المسألة، والهدف من الهندسة العكسية لنظام التخزين هو تحسين الأمن والتشغيل المتبادل، وعدم التفاف على الترخيص أو سرقة الممتلكات الفكرية.
وبالإضافة إلى ذلك، فإن العديد من نظم التخزين الخاصة بممتلكات الممتلكات تتضمن توقيعات مبدئية وختمات واضحة، وقد يؤدي كسرها إلى تعطيل الضمانات أو إلى وقف تشغيل الجهاز، والنظر دائما في إمكانية الحصول على المعلومات التي تسعى للحصول عليها من خلال وسائل أقل غزا، مثل فحص الوثائق المتاحة للجمهور أو الوصول إلى البائع للاطلاع على تطبيقات الحظر الشامل للتجارب.
تُدمجُ أدواتَكَ الهندسيةَ العكسيةَ
وتتطلب الهندسة العكسية الناجحة لتخزين الشبكات مجموعة من الأدوات المتخصصة، وتتوقف القائمة الدقيقة على ما إذا كنت تركز على المعدات أو البرمجيات أو بروتوكولات الشبكات، ولكن معظم المشاريع تتطلب مزيجا من ما يلي.
أدوات تحليل البرمجيات
- Multimeter and oscilloscope] - جوهرية لقياس مستويات الفولطج، وإشارات الساعة، ونشاط خط البيانات.
- Leogic analyzer -لتقط إشارات رقمية على قنوات متعددة في وقت واحد، ويعمل جهازاً مستنسخاً غير مكلف Saleae-compatible clone devices]] على نحو جيد بالنسبة لمعظم البروتوكولات.
- JTAG/SWD debugger - يمكِّن من الوصول إلى المجهزين المدمجين على مستوى منخفض.
- Hot air rework station] - لإزالته رقائق لقراءة الذاكرة الوميض مباشرة.
- Flash programmer] — such as the CH341A or a dedicated SPI programmer for reading firmware from storageرقائق.
أدوات البرمجيات والبرمجيات
- IDA Pro] — industry-standard disassembler and debugger. Its decompiler is particularly useful for understanding ARM and MIPS firmware.
- Ghidra] - الإطار الهندسي الحر والمفتوح المصدر الذي وضعته وكالة الأمن القومي، وهو يدعم العديد من البنى ويشمل تطهيراً.
- Binwalk] - محلل صور البرمجيات الثابتة لأجهزة التصوير المدمجة، والكيرولين، ومحمّلات الأحذية.
- strings and hexdump] - simple but effective for rapid pattern recognition in binary blobs.
- GDB ] - للتحليل الديناميكي إذا كان بإمكانك إرفاق حاصل على الخائن للنظام الجاري.
أدوات رصد الشبكات
- Wireshark] - أسر وحزمة شبكية ديكورديس.
- tcpdump] - بديل خط قيادة الوزن الخفيف للنظم العديمة الرأس.
- Ettercap] or ]bettercap - for man-in-the-middle attacks on network traffic if you need to intercept encrypted sessions.
- Scapy] — Python library for crafting and analyzing networkpackets programmatically.
أول عملية استطلاعية للموجات الصلبة
بدءًا من التفتيش البصري لنظام التخزين، إزالة الضميمة (مع الاحتياطات الملائمة من أجل التنمية الاقتصادية) وتوثيق كل عنصر رئيسي، ابحث عن النظام الرئيسي على الشاشة أو وحدة التخزين، ورقائق السحب، وميض النور، أو مصباح النور للبرمجيات، وأي أجهزة قياسية مخصصة للكشف عن الأسلحة أو التشفير، وصور ذات استبانة عالية مع بطاقات تعريفية.
(أ) تحديد موانئ الوصلات التسلسلية: فأغلب أجهزة التخزين المدمجة تعرض رئيس شركة UART للكشف عن الاختلاس، وغالباً ما يُسمَّى بأنها [(FLT:0]) TX، RX، ، [النسخة التالية:
مقاييس السكك الحديدية التي بها مفترق لفهم تسلسل تشغيل النظام، ابحث عن إشارات إعادة تحديد وأجهزة إطفاء على مدار الساعة، وهذه المعلومات قيمة إذا كنت تخطط لتحليل عمليات التفتيش الأمني على الأحذية أو تحتاج إلى تجاوز التشفير على أساس المعدات.
إذا كان الجهاز لديه رقاقة ومضة قابلة للتلف، يمكنك التخلص من محتوياتها باستخدام مبرمج وميض، حل الشريحة متفشية، ولكن بالنسبة للتحليل غير التدميري، يمكنك في كثير من الأحيان إلقاء الشعار على رقاقة بومونا سويك، والصورة المُلقية ستحتوي على مُحمّل الأحذية (U-Boot, Redt, etc.) والكرينيل، وربما الجذور.
تسليم المواد وتحليلها
ومع وجود صورة ثابتة في المتناول، تتمثل الخطوة التالية في تحديد هيكله، واستخدام بينواك ] لمسح التوقيعات المعروفة، مثلا، فإن ] القيادة ستستخرج الملفات بشكل مستقيم مثل SquashFS، أو JFFS2، أو UBIFS التي هي مشتركة في أجهزة تخزين الشبكة.
البحث عن مفاتيح التشفير
وفي بعض الأحيان، يمكن أن تكشف عن مفاتيح الفرن الصلبة في محمل الأحذية أو في مجموعة منفصلة من التشكيلات، أو عن طريق أجهزة مثل [(FLT:1]) أو في الناتج الثنائي من [(FLT:3]) وفي حالات كثيرة، يمكن أن يكون المفتاح مجرد نمط تكرار أو مستمد من رقم متسلسل للجهاز، إذا استخدم الجهاز جهازاً مستخرجاً من جهاز (TPM) لتخزينه.
تفكيك المكونات الفيرمونية الحرجة
(د) وضع النسيج أو الأحذية في نظام إدارة شؤون الإعلام التابع للمؤسسة الدولية للتنمية أو Ghidra، والتركيز على الروتينات التي تعالج التوثيق، وخدمات الشبكة، وعمليات الملفات، وبحث جهاز ناسا عن RPC (طلب إجراء عن بعد) خادم، الذي كثيرا ما ينفذ عن طريق نظام XML-RPC أو بروتوكول ثنائي معتاد.
وضع نقاط انفصال عن المهام التي تعالج التحقق من صحة المدخلات، والكثير من نظم التخزين الخاصة بالملكية لديها نقاط ضعف في نصوص البرمجيات الخاصة بالشركات أو وصلات الويب التي يمكن استغلالها بدون معدات باهظة الثمن، وقد يتيح تدفقاً عازلاً بسيطاً في البارامترات الخاصة بسلسلة الاستفسار إمكانية الوصول إلى الجذور.
يمكن للمحررين مثل QEMU ] إدارة البرمجيات المستخرجة في بيئة محركة للمستعملين أو النظام، مما يتيح إجراء تحليل دينامي بدون الجهاز المادي، وهذا يساعد بشكل خاص على اختبار تنفيذ البروتوكولات.
Reverse Engineering Protocol
وعادة ما تستخدم أجهزة تخزين الشبكات بروتوكولات متعددة في آن واحد، وتشمل هذه الأجهزة المشتركة نظام SMB/CIFS لتقاسم ملفات ويندوز، ونظام NFS ل Unix، ونظام HTTP/HTTPS للوصلات البينية لإدارة الشبكة، ولكن بروتوكول الملكية الذي قد يكون استخدامات البرمجيات العميلة للبائعة عادة تماما وغير موثقة.
مراقبة حركة المرور
ضع الجهاز على شبكة (فلان) معزولة واستخدم مفتاحاً مع مرآة الميناء أو مركزاً لاستقاط جميع حركة المرور، واركض (ويريك) مع مرشح مثل للتركيز على جهاز التخزين، وأجريت عمليات نموذجية - قراءة ملف، وخلق صورة سريعة، وضبط أماكن التعبئة - وإنقاذ عمليات التعبئة.
تحديد هيكل البروتوكول
ابحث عن أنماط في الحمولة، يستخدم العديد من البائعين بروتوكولات ثنائية بسيطة مع رئيس ثابت الحجم يحتوي على طول وطاقة هوية ورقم تسلسل وكمية، مثلاً إذا رأيت بويتس ] متكررة في بداية كل عبوة، يمكن أن يكون ذلك رقماً سحرياً ومجالاً طويلاً.
استخدام كبش فداء ] لصناعة عبوات مع حقول معدلة ومراقبة الرد، ويمكن أن تؤدي المحاكمة والخطأ بسرعة إلى تحديد هوية القيادة على الإجراءات، وعلى سبيل المثال، إذا أرسلت عبوة تحمل بطاقة هوية القيادة ]]، إلى دفع مبلغ قياسي، فقد حددتم عملية واحدة.
وإذا ظهر أن حركة المرور مشفرة ولكنها تبدأ دائما بنفس القلة من البوتات، فقد يكون مجرد شفرة من طراز XOR على رأس معروف، ويختبر بواسطة XORing أول 16 بوصة مع مفتاحك المُخمّن، ولا يزال العديد من أجهزة ناس المستهلكين تستخدم مفاتيح ثابتة من طراز XOR " للتشفير " أكثر فسادا من الأمن.
كتابة قطاع "الوسم ويريشارك"
بمجرد أن تفهم شكل الحزمة، أكتبي قطاعاً لـ(لوا) لـ(ويريشرك) هذا سيساعدك على التقاط الشفرات تلقائياً
local p_storage = Proto("storage", "Proprietary Storage Protocol")
local f_length = ProtoField.uint16("storage.length", "Length")
local f_cmd = ProtoField.uint16("storage.cmd", "Command ID")
p_storage.fields = { f_length, f_cmd }
function p_storage.dissector(buf, pkt, tree)
local subtree = tree:add(p_storage, buf(0, 4))
subtree:add(f_length, buf(0, 2))
subtree:add(f_cmd, buf(2, 2))
end
-- then register for your protocol
وقل القطاع في ويريشرك وقلل من شأن أسركم، وقدرة على رؤية الحقول المتدهورة تعجل بفهم سلوك النظام.
البيوت الخلفية وضد الدبغ
العديد من نظم التخزين تكشف عن وجود واجهات في البيوت الثنائية الفينيل المتعددة الكلور، وقد يقبل نظام UART الذي استولى عليه على سجلات الأحذية من قبل أيضاً مدخلات أثناء عملية الأحذية، ويتداخل بين جهاز التحميل (U-Boot) عن طريق الضغط على مفتاح (في كثير من الأحيان ] Space أو
(ج) و(جى تى) و(سوى دي) أكثر غموضاً ولكنهما يوفران السيطرة الكاملة، واستخدام أداة مثل [(FLT:0)] أوبنك دي [(FLT:1]) للتواصل مع وحدة منع الحمل ورمي محتويات RAM، ولأجهزة مقفلة مع فريق (JTAG) (مثلاً، من خلال الصمامات الأمنية)، قد تحتاج إلى الهجوم على عملية الأحذية من خلال تقنيات فحص القفل.
دراسة حالة: عكس مسار عرض عام للناموسيات
وقد طبقنا هذه الأساليب على نموذج أقدم من بائع شعبي من منظمة الدول الأمريكية سيظل غير مسما، وقد استخدم الجهاز جهازا من طراز Marvell ARMADA SoC. By connected to the UART, we obtained a root shell with minimal effort -- the buyer had left the root pass word changed (wellknown from forum posts).
وقد تم الكشف عن هذا الاكتشاف على نحو مسؤول للبائع الذي أصدر تحديثاً في إطار برنامج " البرمجيات الثابتة " ، وهو ما حل محل المفتاح الثابت بمفتاح مستنير للدورة، وتوثيق التفاصيل الكاملة في ورقة بحثية [(FLT:0]) بشأن مواطن الضعف لدى المستهلكين في مجال ناسا.
توثيق نتائجك
تنتج الهندسة العكسية كمية كبيرة من البيانات، وتحتفظ بسجل مختبري - مادي أو رقمي - مع مخططات من PCB، ومسح عبوات مشروحة، ومذكرات غير دقيقة، ونتائج الاختبارات، وأدوات مثل أوبسايديان أو أو
كتابة النصوص التي تُسند مهام التكرار الآلي، مثلاً، يمكن لنص من طراز Python أن يرسل سلسلة من الحزمات لحصر جميع الأوامر المتاحة ومقارنة الردود، ويساعد التشغيل الآلي لهذه العملية على اكتشاف سمات غير موثقة أو وظائف إدارية خفية.
وإذا كان هدفكم هو بناء طبقة من المحركات المفتوحة المصدر أو المطابقة، فإن وثائقكم تصبح المواصفات، وتستخدمونها لكتابة مكتبة في سي أو في بيتون يمكن لمطورين آخرين أن يعتمدوها، وتوثيق واضح للمواءمة والقابلية النهائية للبروتوكول أمر حاسم للتنفيذ الناجح.
الاختبار والتقييم
هل تحقق من فهمك من خلال القيام بخطوات هندسية عكسية على وحدة ثانية متطابقة (إذا كانت متاحة) لضمان عدم تطابق ملاحظاتك مع خطأ في الأجهزة، حالات الحافة الاختبارية: ما الذي يحدث إذا أرسلت قيادة ذات طول غير صحيح؟ هل ينهار الجهاز أم يُعيد خطأ سليما؟ ويكشف ذلك عن وجود تماسك وأسطح هجومية محتملة.
بالنسبة لعمليات نظام الملفات، مقارنة سلوك بروتوكولك المصمم عكسياً ضد عميل البائع الرسمي، إذا كانت نتائج متطابقة، فربما قمت بفك البروتوكول بشكل صحيح، إن لم يكن كذلك، راجعي حساباتك وضبط قطاعك
وينبغي إجراء اختبارات أمنية في بيئة مختبرية معزولة، ولا تُشير إلى أدواتك الهندسية العكسية في شبكة إنتاج، وتستخدم محللا طيفيا للتحقق من تسربات الترددات المتوسطة إذا كان للجهاز قدرات لاسلكية - أي رقابة مشتركة في التقييمات الأمنية.
خاتمة
إن إعادة هندسة نظام تخزين شبكة الملكية مهمة شاقة ولكن قابلة للتحقيق، ومع الإعداد الدقيق والأدوات المناسبة والنهج المنهجي، يمكن أن تكتشف البروتوكولات والداخليات التي يحاول البائعون إخفاءها، وتعمل دائما في حدود قانونية وأخلاقية، وتستخدم نتائجكم لتحسين الأمن والتشغيل المتبادل، والمعرفة المكتسبة لا تلغي فقط صندوقا أسود بل تخولكم أيضا أن تتخلى عن المعدات الإلكترونية التي قد تتحول إلى مسافات أخرى.
إن الرحلة من التفتيش البصري إلى سائق مفتوح المصدر، طويلة، ولكن كل خطوة - من سجلات أحذية يوارت إلى تحليل التعبئة - تُحدثك، تذكر توثيق كل شيء، وتختبر بدقة، وتتقاسم نتائجك على نحو مسؤول، ومجتمع مهندسي المعدات والبرامجيات المعاكسة مورد قيّم، وتنظر في الإسهام في قطاعاتكم المميزة، وفي النصوص، والنتائج.