يحتوي هذا المستودع على الإطار المستخدم أثناء عملنا على الهندسة العكسية ، رمز microcde من CPU AMD K8 و K10. ويشمل تجميع و Disassembler وكذلك مثال على البرامج التي تم تنفيذها باستخدام هذه الأدوات. نقدم أيضًا نظام التشغيل المكتوب المخصص الخاص بنا والذي يمكنه تطبيق تحديثات الرمز الدقيق واختبارها بسرعة على CPU AMD.
الملفات المقدمة هنا التي نشأت من البحث وتهدف إلى استخدامها لأغراض البحث فقط. يتم تجميعها بمعرفة جزئية فقط حول الأجزاء الداخلية للهندسة المعمارية وقد تحتوي على الأخطاء وكذلك السلوك غير المقصود. يتم توفير جميع الملفات كما هي دون أي ضمانات ودعم. نحن نتحمل أي مسؤولية أو مسؤولية عن استخدامها.
مجموعة تعليمات X86 معقدة وتحتوي على العديد من الإرشادات القديمة التي يتم الاحتفاظ بها فقط للتوافق المتخلف. وبالتالي ، نادراً ما يتم فك تشفير الإرشادات المعقدة أو المعقدة في البرامج ، بينما يتم التعامل مع التعليمات الهامة في الأداء بواسطة فك تشفير الأجهزة. بغض النظر عن فك تشفير الأجهزة أو البرامج ، تتم ترجمة الإرشادات في النهاية إلى مجموعة تعليمية أخرى تسمى RISC86 ، والتي لها طول تعليمات ثابتة وهي مناسبة للمعالجة السريعة والسرقة. إلى جانب فك تشفير البرمجيات ، يمكن استخدام رمز microcode لتعطيل ميزات المعالج المعيبة والتعامل مع استثناءات في أدنى مستوى.
يعكس محتوى هذا المستودع النتائج العملية لجهودنا البحثية. وترد التفاصيل في أوراقنا:
هندسة عكسية X86 المعالج الدقيق المنشور في وقائع ندوة أمان Usenix السادسة والعشرين
تحليل استكشافي للرمز الدقيق كبلاط لبناء لدفاعات النظام المنشورة في وقائع مؤتمر ACM الخامس والعشرين حول الكمبيوتر وأمن الاتصالات
يحتوي المجلد USENIX17 على نتائج ورقة Usenix 2017 ، والأهم من ذلك التحديثات والمشغلات لبرهاننا للمفاهيم وكذلك برنامج تشغيل التحديث الذي يسمح بتحديث التحديثات التعسفية على نظام Linux. يتم تقديم مزيد من التفاصيل في ملف ReadMe المقابل.
يوجد نظام التشغيل الحد الأدنى لدينا في المجلد Angry_OS. للحصول على تفاصيل حول كيفية إنشاء هذا النظام واستخدامه ، انظر ملف ReadMe في هذا المجلد.
تم العثور على الإطار الذي استخدمناه أثناء عملنا في المجلد Ucodeapi. للحصول على أمثلة حول كيفية استخدام واجهة برمجة التطبيقات هذه ، انظر النص البرامج النصية المقدمة في هذا المجلد. يتم اختبار API فقط تحت Python 2.
يحتوي المجلد "دراسات الحالة" على دراسات الحالة المقدمة في ورقة CSS 18 في شكل RTL.