Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
sgx-step — إطار عمل هجومي عملي للتحكم الدقيق في تنفيذ المنطقة المحمية | Kitploit
أدوات/GitHubGitHub/jovanbulck/sgx-step
الاستغلالاختبار الاختراقأمن الأجهزةتحليل الملفات الثنائية
GitHubjovanbulck/sgx-step

sgx-step

إطار عمل هجومي عملي للتحكم الدقيق في تنفيذ المنطقة المحمية

عرض المستودع
4779330منذ 21 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

إطار هجوم عملي للتحكم الدقيق في تنفيذ المنطقة الآمنة CI

logo

SGX-Step هو إطار مفتوح المصدر لتسهيل أبحاث هجمات القناة الجانبية على معالجات Intel x86 بشكل عام ومنصات Intel SGX بشكل خاص. يتكون SGX-Step من برنامج تشغيل لنواة لينكس خصمي ومكتبة نظام تشغيل صغيرة في مساحة المستخدم تسمح بتكوين إدخالات جدول الصفحات غير الموثوقة و/أو مقاطعات مؤقت APIC x86 بالكامل من مساحة المستخدم. تم استخدام SGX-Step في أبحاثنا الخاصة، وكذلك من قبل باحثين مستقلين، لتمكين العديد من هجمات التنفيذ في المنطقة الآمنة الجديدة والمحسّنة التي تجمع ملاحظات القناة الجانبية بدقة زمنية قصوى (أي عن طريق مقاطعة المنطقة الآمنة الضحية بعد كل تعليمة واحدة).

الترخيص. SGX-Step هو برنامج حر، مرخص تحت GPLv3. شعار SGX-Step مشتق من سلسلة الصور الشهيرة الملكية العامة "Sallie Gardner at a Gallop" لـ Eadweard Muybridge، والتي، مثل هدفنا في التنفيذ خطوة بخطوة في المنطقة الآمنة، تفكك ديناميكيات الحصان الراكض إلى سلسلة من الإطارات الفردية للكشف عن خصائص مشية الحصان الكلية.

إصدار SGX-Stepميزات سجل التغييرات
v1.5.0تحسينات الاستقرار (KPTI, kernel ISR mapping); منفذ Gramine (تجريبي); دعم IPI.
v1.4.0بوابات المقاطعة/الاستدعاء المميزة (Plundervolt).
v1.3.0دعم التنفيذ العابر (Foreshadow).
v1.2.0معالجة المقاطعات من مساحة المستخدم وتصفية الخطوة الصفرية الحتمية (Nemesis).
v1.1.0دعم IA32.
v1.0.0معالجة جداول الصفحات من مساحة المستخدم والتنفيذ خطوة بخطوة عبر مؤقت APIC.

المنشورات. تم استخدام SGX-Step من قبل عدة مجموعات بحثية مستقلة وقد مكن من سلسلة جديدة من هجمات SGX عالية الدقة. قائمة كاملة ومحدثة بالمشاريع المعروفة التي تستخدم SGX-Step مدرجة في الأسفل من ملف README هذا. نسخة من الورقة الأصلية متاحة هنا.``` @inproceedings{vanbulck2017sgxstep, title = {{SGX-Step}: A Practical Attack Framework for Precise Enclave Execution Control}, author = {Van Bulck, Jo and Piessens, Frank and Strackx, Raoul}, booktitle = {2nd Workshop on System Software for Trusted Execution {(SysTEX)}}, publisher = {{ACM}}, pages = {4:1--4:6}, month = Oct, year = 2017, }

**عرض توضيحي.** يحتوي دليل [app/memcmp](https://github.com/jovanbulck/sgx-step/blob/master/app/memcmp) على تطبيق توضيحي صغير يوضح قوة هجمات SGX-Step من خلال التنفيذ خطوة بخطوة لعينة من enclave تحتوي على منطق مقارنة كلمة مرور `memcmp` غير ثابت الزمن. على عكس هجمات التوقيت التقليدية المشهورة بالضوضاء، يمكن لـ SGX-Step اختراق كلمة المرور بشكل حتمي حرفًا بحرف في وقت _خطي_:

![sgxstep-memcmp-demo](https://assets.kitploit.com/production/public/readmes/2927/0b35615006c06e0d0b3f3e04f9628ab3deb2402317eb48bd0fce72509bfa91d3.gif)

## نظرة عامة

الأمر الحاسم في تصميم SGX-Step، على عكس المقترحات السابقة لاستباق enclave، هو إنشاء تعيينات ذاكرة افتراضية في مساحة المستخدم لمواقع الذاكرة الفعلية التي تحتوي على إدخالات جدول الصفحات، وكذلك لسجلات تكوين الإدخال/الإخراج المعينة بالذاكرة لـ APIC المحلي وجدول واصفات المقاطعة x86 (IDT). وهذا يسمح لعملية مضيف غير موثوقة يتحكم بها المهاجم بسهولة (i) تتبع أو تعديل إدخالات جدول صفحات enclave، (ii) تكوين مصدر مقاطعة مؤقت APIC (طلقة واحدة / دوري)، (iii) تشغيل مقاطعات بين المعالجات، و(iv) تسجيل معالجات مقاطعة مخصصة تمامًا _داخل_ مساحة المستخدم.

![sgx-step-framework](https://assets.kitploit.com/production/public/readmes/2927/b46f57fa9f7b93fb9142a28857693034e7cece8f9f675d2e9abb433093bdefe8.png)

يلخص الشكل أعلاه تسلسل خطوات الأجهزة والبرامج عند مقاطعة واستئناف enclave SGX من خلال إطار العمل الخاص بنا.

1. تصل مقاطعة مؤقت APIC المحلي داخل تعليمة enclave.
2. ينفذ المعالج إجراء AEX الذي يخزن سياق التنفيذ بشكل آمن في إطار SSA الخاص بـ enclave، ويبدأ تسجيل وحدة المعالجة المركزية، ويتوجه إلى معالج المقاطعة (في مساحة المستخدم) المسجل في IDT.
3. في هذه المرحلة، يمكن بسهولة إدراج أي كود تجسس خاص بالهجوم.
4. يعود المكتب إلى دعامة AEP لمساحة المستخدم. قمنا بتعديل وقت التشغيل غير الموثوق به لـ SDK الرسمي لـ SGX للسماح بالتسجيل السهل لقطع AEP مخصصة. علاوة على ذلك، لتمكين التقييم الدقيق لمنهجنا على enclaves التصحيح المعيارية التي يتحكم بها المهاجم، يمكن تزويد SGX-Step _اختياريًا_ بأدوات لاسترداد مؤشر التعليمات المخزن من إطار SSA الخاص بـ enclave المتقطعة (باستخدام واجهة `/proc/self/mem` في Linux والتعليمة `EDBGRD`).
5. بعد ذلك، نقوم بتكوين مؤقت APIC المحلي للمقاطعة التالية عن طريق الكتابة في سجل الإدخال/الإخراج المعين بالذاكرة للعدد الأولي، قبل تنفيذ (6) `ERESUME` مباشرة.

## نظرة عامة على الكود المصدري

تم تنظيم هذا المستودع على النحو التالي:```
.
├── app        -- Collection of sample client applications using SGX-Step to
│                 attack different victim enclave scenarios.
├── doc        -- Papers and reference material.
├── kernel     -- Minimal dynamically loadable Linux kernel driver to export
│                 physical memory to user space and bootstrap `libsgxstep`.
├── libsgxstep -- Small user-space operating system library that implements the
│                 actual SGX-Step functionality, including x86 page-table and
│                 APIC timer manipulations.
└── sdk        -- Bindings to use SGX-Step with different SGX SDKs and libOSs.

ميزات الإطار والتطبيقات

SGX-Step هو إطار تحكم عالمي في التنفيذ يتيح التداخل الدقيق لتعليمات الضحية داخل المنطقة المحمية (enclave) مع كود المهاجم العشوائي. يتم تلخيص بعض حالات الاستخدام الرئيسية لإطار SGX-Step في الشكل أدناه (انظر أيضًا الأسفل من هذا README للحصول على قائمة محدثة بالمنشورات التي تستخدم SGX-Step).

نظرة عامة على هجمات SGX-Step

البناء والتشغيل

0. متطلبات النظام

يتطلب SGX-Step معالج Intel متوافق مع SGX، ونواة Linux جاهزة. تم إجراء التقييم الأصلي على معالجات i7-6500U/6700، تعمل بنظام Ubuntu 18.04 مع نواة Linux 4.15.0 الأصلية. كما يتم دعم إصدارات النواة والتوزيعات الأحدث من Linux. نلخص أدناه معاملات نواة Linux.

تنزيل الأداة