
TPM Genie هو وسيط ناقل I2C لوحدات المنصة الموثوقة المنفصلة
تم تصميم TPM Genie للمساعدة في أبحاث الثغرات الأمنية لوحدات النظام الأساسي الموثوقة (Trusted Platform Modules). كجهاز اعتراض للحافلة التسلسلية، فإن TPM Genie قادر على اعتراض وتعديل كل حركة المرور التي تُرسل عبر قناة I2C بين الجهاز المضيف ورقاقة TPM منفصلة.
خارج نطاق الأبحاث، فإن نموذج التهديد الذي يظهره TPM Genie يتطلب من المهاجم الوصول المادي المؤقت إلى الجهاز المتأثر من أجل زرع جهاز الاعتراض. يمكن تنفيذ مثل هذا الهجوم في سيناريو "خادمة شريرة"، أو بواسطة موظف مارق في مركز بيانات يحتوي على خوادم مؤسسية مفعلة بـ TPM، أو عبر هجوم اعتراض سلسلة التوريد على غرار تلك الموجودة في كتالوج NSA ANT للزرعات العتادية.
يتم فصل العديد من رقاقات TPM المنفصلة على بطاقة فرعية متصلة باللوحة الأم عبر موصل أو مقبس بسيط. وبالتالي، فإن عملية زرع جهاز الاعتراض واضحة إلى حد كبير لأنها لا تتطلب من المهاجم إجراء أي تعديلات على الدوائر. يمكن تثبيت الزرعة في بضع ثوانٍ فقط.
تم اختبار TPM Genie بشكل مكثف مع Infineon SLB9645 I2C TPM، والذي يتوافق مع مواصفات بروتوكول TPM v1.2.
طُوّرت هذه الأداة بشكل أساسي للتلاعب بحزم استجابة TPM من أجل إثارة أخطاء في تحليل السلسلة في برامج تشغيل TPM على الجانب المضيف. يمكن العثور على هذه الأخطاء في نواة لينكس، وكذلك في مجموعة متنوعة من مُحَمِّلات الإقلاع مثل Tboot و Tianocore EDKII. من خلال استغلال هذه الثغرات، قد يتمكن المهاجم من اختراق جهاز مضيف بعد أن تم تشغيله بنجاح إلى حالة تم قياسها وتوثيقها بالكامل.
كما أن TPM Genie قادر على اعتراض عمليات PCR Extend (توسيع سجل تكوين النظام الأساسي) بطريقة (Man-in-the-Middle)، مما يعطي القدرة على تقويض معظم الأغراض المعلنة لـ TPM: الإقلاع المُقاس، والتصديق عن بُعد، والتخزين المُغلق. في العادة، يجب أن يفشل التصديق أو فتح الإغلاق إذا قام مهاجم بتعديل أي مكون من عملية الإقلاع المُقاس. ومع ذلك، فإن جهاز الاعتراض يجعل من الممكن تزوير هذه القياسات عن طريق استبدال الحمولة المرتبطة بـ PCR Extend عند نقلها عبر الحافلة.
بالإضافة إلى ذلك، يمكن لـ TPM Genie إضعاف مولد الأرقام العشوائية العتادي في لينكس. في بعض الأنظمة، يكون /dev/hwrng مرتبطًا بوحدة TPM بحيث أن جميع القراءات من جهاز الحرف تؤدي فعليًا إلى قيام رقاقة TPM بتوفير البايتات العشوائية. بهذه الطريقة، يمكن لجهاز الاعتراض تغيير مولد الأرقام العشوائي للنظام بشكل طفيف مما قد يضعف العمليات التشفيرية على المضيف.
أخيرًا، يمكن استخدام TPM Genie ببساطة لاستراق السمع (Sniffing) على الحافلة لالتقاط الأسرار، مثل بيانات الجلسة المرتبطة بأوامر OIAP و OSAP. ومع جهد هندسي إضافي طفيف، يجب أن يكون TPM Genie قادرًا على تزوير مفتاح المصادقة (Endorsement Key)، والسيطرة على AuthData وإعادة حساب HMAC لجلسة المصادقة. (مزيد من المعلومات حول ذلك في الورقة البيضاء الخاصة بي. أعد بتنفيذ ذلك قريبًا).