DEFCON 21. كلمات المرور وحدها ليست كافية ، أو لماذا "تشفير" القرص "ينقطع" وكيف يمكن إصلاح ذلك. الجزء 1هناك أشياء مضحكة ، مثل زيادة العدادات رتابة ، والتي يمكنك التحكم في نشاط TMP ، ومن ثم التحقق من القيم المستلمة. هناك مجموعة صغيرة من الذاكرة غير المتطايرة التي يمكن استخدامها لاحتياجاتك ، وهي ليست كبيرة مثل كيلوبايت ، لكنها قد تكون مفيدة أيضًا. هناك عداد مدار يسمح لك بتحديد المدة التي يعمل بها النظام منذ البداية الأخيرة. هناك أوامر يمكنك إعطاء TMP لتنفيذها نيابة عنك ، بما في ذلك مسح ذاكرتك إذا لزم الأمر.

بعد ذلك ، نريد تطوير بروتوكول يمكن للمستخدم تشغيله على الكمبيوتر للتأكد من عدم اختراقه ، قبل المصادقة على الكمبيوتر وبدء استخدامه. ما هو مفيد لمثل هذا البروتوكول ، يمكننا محاولة "ختم" في سجلات تكوين النظام الأساسي؟
لدي اقتراحان: هذه عبارة عن رموز لكلمات مرور المستخدم لمرة واحدة ، أو صورة فريدة أو رسوم متحركة ، على سبيل المثال ، صورتك ، شيء أصلي لا يسهل العثور عليه في أي مكان آخر. يمكنك أيضًا إيقاف تشغيل "إخراج الفيديو" على جهاز الكمبيوتر الخاص بك عندما تكون في وضع طلب المصادقة ووضع المصادقة.
قد ترغب أيضًا في "ختم" جزء من مفتاح القرص ، وهناك عدة أسباب وراء رغبتك في القيام بذلك. وفقًا لبعض افتراضات الأمان ، يضمن ذلك أن يقوم النظام بالتمهيد فقط في بعض تكوينات البرامج المعتمدة التي تتحكم فيها كمالك للكمبيوتر. في النهاية ، هذا يعني أن أي شخص يريد مهاجمة نظامك يجب عليه إما القيام بذلك من خلال اختراق TMP ، أو في صندوق الحماية الذي أنشأته له. بالطبع ، هذه ليست حماية تشفير قوية بشكل خاص ، لأنه لن يكون لديك بروتوكول يتيح للمستخدم المصادقة بشكل آمن مع نفس مستوى الأمان الذي توفره AES ، على سبيل المثال. ولكن إذا لم تكن قادرًا على تنظيم شيء مثل تشفير RSA في رأسك ، فلن يكون ذلك مثاليًا أبدًا.

ذكرت أنه في TPM يوجد أمر مسح ذاتي يمكن تنفيذه من خلال البرنامج. نظرًا لأن TPM يتطلب تكوينًا معينًا للنظام ، قبل أن يعطي "أسرار" ، يمكنك القيام بشيء مثير للاهتمام ، على سبيل المثال ، التدمير الذاتي. يمكنك تطوير البرامج وإنشاء بروتوكول خاص بك للحد من عدد عمليات بدء تشغيل الكمبيوتر الفاشلة ، ويمكنك تعيين مهلة بعد أن تكون كلمة المرور على الشاشة لفترة زمنية معينة ، أو الحد من عدد محاولات إدخال كلمة مرور خاطئة.
يمكنك تعيين المهلة الزمنية لإعادة تشغيل الكمبيوتر بعد دورة العمل السابقة ، إذا كان الكمبيوتر في "الحالة المجمدة" لمدة أسبوع أو أسبوعين ، فقم بتقييد الوصول إلى الكمبيوتر لفترة من الوقت عندما تذهب إلى الخارج - يمكنك حظره أثناء وجودك في الطريق لفتح في وقت سابق من عند وصولك إلى الفندق.
يمكنك أيضًا القيام ببعض الأشياء المضحكة ، على سبيل المثال ، ترك "جزر الكناري" الصغيرة على قرص يحتوي على بيانات مهمة من وجهة نظر أمنية. في الواقع ، ستكون هذه مجرد "علامات تمدد" ، والتي سيؤدي إطلاقها إلى تغيير في قيم العداد الرتيب داخل TPM.
يمكنك أيضًا إنشاء كلمة مرور للتدمير الذاتي أو شفرة مفردة لتنفيذ أمر إعادة الضبط تلقائيًا. نظرًا لأن المهاجم يمكنه الهجوم بطريقتين: اختراق وحدة نظام أساسي موثوق بها أو تشغيل برنامج ضار ، يمكنك إجباره على اللعب وفقًا لهذه القواعد وتنفيذ فعليًا التدمير الذاتي.
تم تصميم الوحدة النمطية للنظام الأساسي الموثوق به خصيصًا بحيث يكون من الصعب للغاية نسخها ، لذا لا يمكن استنساخها. بهذه الطريقة ، يمكنك استخدام أشياء مثل عدادات رتابة للكشف عن أي هجمات قرص الاسترداد أو التشغيل. وبمجرد تنفيذ الأمر الواضح في TPM ، للمهاجم الذي يريد الوصول إلى البيانات الخاصة بك ، ستنتهي اللعبة.
هناك بعض أوجه التشابه مع النظام التي ناقشها Jacob Appelbaum في مؤتمر الاتصالات Chaos قبل سنوات عديدة ، في عام 2005. واقترح استخدام خادم شبكة الاتصال البعيدة لتنفيذ العديد من هذه الخيارات ، لكنه أقر أنه سيكون من الصعب استخدامها في الممارسة العملية. نظرًا لأن TPM هو مكون متكامل للنظام ، يمكنك الحصول على العديد من الفوائد فقط من خلال وحدة TPM المدمجة ، وليس الوحدة النمطية الموجودة على الخادم البعيد. نهج هجين محتمل. يمكنك إعداد النظام ، على سبيل المثال في قسم تكنولوجيا المعلومات ، عندما تقوم بحظر النظام مؤقتًا ، ويمكن أن يصبح متاحًا فقط بعد توصيله بالشبكة ، والاتصال بمسؤول تكنولوجيا المعلومات لديك وسيقوم بإلغاء تأمينه. أتردد في دفع مكدس الشبكة في بداية عملية التمهيد ، لأنه ببساطة يزيد من سطح الهجوم. لكنه لا يزال ممكنا.
أريد أن أوضح أن المهاجم يمكنه فقط القيام بذلك ، على افتراض أنه لن يكون قادرًا على كسر TPM بسهولة. تعرض الشريحة التالية صورة لتصميم رقاقة TPM ، التي صنعها كريس تارنوفسكي باستخدام المجهر. تحدث كريس إلى DefCon العام الماضي وقدم عرضًا تقديميًا في مؤتمر BlackHat حول أمان TPM قبل بضع سنوات.
لقد قام بعمل رائع حقًا لفهم مدى صعوبة كسر هذا الشيء. لقد سرد الإجراءات المضادة ، واستنتج ما قد يتطلبه الأمر لكسر هذا الشيء بالفعل ، ثم اختبر الرقاقة بأكملها. هناك كاشفات ضوئية وشبكات نشطة على لوحة TPM ، ويتم تنفيذ العديد من المخططات المجنونة بالكامل لتضليل المهاجم فيما تفعله هذه الوحدة بالفعل.
ولكن إذا كنت تقضي وقتًا كافيًا وموارد كافية وتوخي الحذر الكافي ، فيمكنك تجاوز معظم الإجراءات الوقائية. يمكنك إزالة الشريحة ووضعها بواسطة مجهر إلكترون في محطة عمل ، والعثور على مكان وجود الحافلة التي تحتوي على بيانات غير مشفرة وسحب جميع الأسرار منها. ومع ذلك ، فإن مثل هذا الهجوم ، حتى لو كنت مستعدًا له جيدًا ومعرفة مكانه باستخدام مجهر باهظ الثمن ، سيظل بحاجة إلى وقت وجهد لإزالة الحماية المادية للرقاقة وعدم "قليتها" عن طريق الخطأ أثناء تفكيكها .

النظر في هجوم إعادة التشغيل. ذكرت في وقت سابق أنه في جميع الحالات تقريبًا ، تعد TPM شريحة منفصلة على اللوحة الأم. هذا رابط منخفض جدًا في التسلسل الهرمي للنظام. ليس جزءًا من وحدة المعالجة المركزية ، كما هو الحال مع DRM في وحدات التحكم في الفيديو. لذلك ، إذا تمكن أحد المتطفلين من إعادة تشغيل TPM ، فلن يكون لذلك تأثير لا رجعة فيه على النظام. هذا سيء ، لأن مثل هذا الهجوم قد لا يلاحظه أحد بالنسبة لك.

عادة ما تكون هذه الشريحة موجودة خارج حافلة الكمبيوتر LPC ، والتي هي في حد ذاتها حافلة قديمة وتوجد خارج الجسر الجنوبي للوحة الأم. في الأنظمة الحديثة ، فإن الأشياء الوحيدة الموجودة على سطح اللوحة الأم هي TPM و BIOS ووحدات التحكم بلوحة المفاتيح ، لكنني أعتقد أن وحدات التحكم المرنة لم تعد تستخدمها في الواقع. وإذا وجدت طريقة لإعادة تشغيل الحافلة بعدد قليل من جهات الاتصال ، فستقوم بإعادة ضبط TPM إلى حالة التمهيد "لنظام التشغيل الجديد". من المحتمل أن تفقد الوصول إلى لوحة المفاتيح عن طريق موصل PS / 2 ، لكن هذه ليست مشكلة كبيرة ، ولكن يمكنك تشغيل تسلسل التمهيد TPM حيث يتم "ختم" البيانات السرية دون تنفيذ تسلسل آمن بالفعل ، ويمكنك استخدامها لاستخراج البيانات.
هناك العديد من الهجمات التي تحاول استخدام هذه الطريقة. إذا كان TPM يستخدم وضعًا قديمًا يسمى الجذر الثابت للثقة للقياس (SRTM) ، فيمكنك القيام بذلك بسهولة تامة. لم أر أي بحث حول الهجمات الناجحة ضد التقنيات الجديدة الموثوقة لتطبيق خيارات تنشيط وحدة Intel. ربما لا يزال من الممكن التقاط ناقل LPC وما يمر به إلى وحدة المعالجة المركزية هو منطقة تحتاج إلى مزيد من البحث. قد تكون هذه طريقة أخرى لمهاجمة وحدة نمطية موثوقة.
لذلك ، دعونا ننظر إلى رسم تخطيطي لما نحتاج إلى وجود نظام تمهيد بارد بتكوين موثوق. هناك العديد من المكونات الضعيفة في بنية الكمبيوتر.

على سبيل المثال ، في BIOS ، يمكنك التقاط جدول متجهات المقاطعة وتعديل حقوق القراءة للقرص ، أو اعتراض إدخال لوحة المفاتيح ، وإخفاء جميع وظائف سجلات وحدة المعالجة المركزية - هناك العديد من خيارات الهجوم. في رأيي ، لست بحاجة إلى إجراء فحص أمني في وضع التشغيل الحقيقي ، فأنت بحاجة فقط إلى قياس أداء عملية التمهيد.
بمجرد إدخال وضع "التمهيد المسبق" ، وهو في الحقيقة مجرد نظام التشغيل الخاص بك ، مثل قرص ذاكرة الوصول العشوائي الأولي لنظام Linux ، تبدأ في تنفيذ البروتوكول الخاص بك والقيام بهذه الأشياء. أعني أنه بمجرد البدء في استخدام موارد نظام التشغيل ، فإن ما يفعله شخص ما على مستوى BIOS ، والذي يعمل بجدول المقاطعة ، لن يؤثر عليك بأي شكل من الأشكال. أنت حقا لن تهتم.
يمكنك التحقق من أداء السجلات. على سبيل المثال ، إذا كنت تعمل مع معالج Core i5 ، فأنت تعلم أنه سيدعم أشياء مثل بت حظر الحظر وسجلات تصحيح الأخطاء وغيرها من الأشياء التي يمكن أن يحاول الأشخاص إخفاءها في إمكانيات التسجيل.
تعرض هذه الشريحة الشكل الذي يجب أن يظهر عليه مخطط النظام عند تشغيله في تكوين العمل.

كان هناك مشروع يسمى BitVisor قام بتنفيذ العديد من جوانب أمان تشفير القرص باستخدام سجلات المعالج وحماية IOMMU في ذاكرتك الرئيسية. المشكلة هي أن برنامج BitVisor هو برنامج محدد نوعًا ما ونادر الاستخدام.
Xen نوع من برنامج Hypervisor الكنسي مفتوح المصدر يشارك في العديد من الدراسات الأمنية ، حيث يكون الناس مقتنعين أنه يعمل. في رأيي ، يجب أن نستخدم برنامج Xen hypervisor كواجهة للأجهزة على مستوى عاري ، ثم نضيف المجال الإداري لنظام dom0 في Linux لتهيئة أجهزتك.
مرة أخرى ، في Xen ، تعمل جميع نطاقاتك الافتراضية في وضع غير منقطع ، لذلك ليس لديك حق الوصول المباشر إلى سجلات التصحيح ، وهذا أحد الأشياء التي تم تنفيذها بالفعل. يقوم Xen بتصنيع مجموعات كبيرة تتيح لك الوصول إلى مثل هذه الأشياء ، ولكن يمكنك إيقاف تشغيل هذه الميزة في البرنامج.
لذلك ، فإن الأسلوب الذي أستخدمه هو أننا نضع المفتاح الرئيسي في سجلات التصحيح. نحن نميز أول تسجيلين لتصحيح الأخطاء لتخزين مفتاح AES 128 بت ، وهو المفتاح الرئيسي لدينا.

لا يترك هذا الشيء مطلقًا سجلات وحدة المعالجة المركزية بعد إدخالها من خلال عملية تقبل بيانات اعتماد المستخدم. ثم نستخدم السجلين الثانيين كسجلات محددة للجهاز الظاهري - يمكن استخدامها كسجلات تصحيح عادية أو ، كما في هذه الحالة ، يمكننا استخدامها لتشفير الذاكرة الرئيسية. في هذه الحالة بالذات ، نحتاج إلى العديد من الأجهزة المتصلة مباشرة بالمجال الإداري. هذا هو معالج رسومات ، وهو جهاز PCI ولوحة مفاتيح و TPM - كل هذا يجب أن يكون الوصول إليه مباشرة.
لا يمكنك استخدام حماية IOMMU لهذه الأشياء ، ولكن يمكنك تكوين هذه الحماية لوحدة تحكم شبكة ، وحدة تحكم تخزين ، أجهزة تعسفية على ناقل PCI ، أي للمكونات التي ليس لديها وصول إلى المجال الإداري أو مسافات ذاكرة برنامج Hypervisor. يمكنك الوصول إلى أشياء مثل الشبكة عن طريق وضع وحدة تحكم الشبكة فعليًا في جهاز افتراضي مخصص لـ VM Net. سيتم تعيين هذه الأشياء على أجهزة معينة بها تكوين أمان IOMMU ، بحيث يمكن لمثل هذا الجهاز فقط الوصول إلى منطقة الذاكرة لهذا الجهاز الظاهري.
يمكنك أن تفعل الشيء نفسه مع وحدة التحكم في التخزين ثم قم بتشغيل جميع التطبيقات على أجهزة VMs للتطبيقات دون وصول مباشر مطلقًا إلى الأجهزة. وبالتالي ، حتى لو كان شخص ما يتحكم في متصفح الويب الخاص بك أو أرسل لك ملف PDF ضارًا ، فلن يتلقى أي شيء من شأنه أن يعرض تشفير القرص بشكل خطير.
لا أستطيع تحمل مسؤولية هذا التصميم المعماري ، لأنه في الواقع هو أساس مشروع ممتاز يسمى Qubes OS.

يصف مطوروها هذا المشروع بأنه تكوين عملي لـ Xen و Linux والعديد من الأدوات المخصصة لتنفيذ العديد من الأشياء التي تحدثت عنها للتو. يطبق نظام Qubes OS سياسة الضيوف غير المميزين ويخلق بيئة نظام موحدة ، بحيث يبدو أنك تعمل مع نظام واحد ، لكنها في الواقع مجموعة من الأجهزة الافتراضية المختلفة "تحت غطاء محرك واحد". أنا استخدم هذه الفكرة لتنفيذ قاعدة الكود الخاصة بي.
لذا ، فإن الأداة التي أقوم بتطويرها هي رمز تجريبي يؤكد هذا المفهوم ، وقد سميته Phalanx. هذا Xen مصحح يسمح لك بتنفيذ تشفير القرص باستخدام التكنولوجيا التي وصفتها.

يوجد المفتاح الرئيسي في أول سجلات تصحيح أخطاء DR1-2 ، وسجلات تصحيح الأخطاء الثانية DR2-3 غير محدودة تمامًا بواسطة domU. لأسباب أمنية ، يتم تشفير XMM من 0 إلى 12 ، المستخدم كذاكرة تشغيل ، DR2-3 ، والمفتاح عندما يقوم الجهاز الظاهري بتبديل السياق. لقد قمت أيضًا بتنفيذ تشفير بسيط للغاية باستخدام وحدة kernel Linux zRAM ، لأنه عنصر مدمج يقوم بكل شيء تقريبًا باستثناء التشفير ، لذلك بالنسبة للتشفير ، قمت بإضافة جزء صغير جدًا من الشفرة فوقه. كما تعلم ، فإن الرمز الأكثر أمانًا هو الرمز الذي لا تحتاج إلى كتابته. ميزة جيدة من zRAM هي أنها توفر لك مجموعة من البتات اللازمة لتنفيذ أشياء بأمان مثل وضع المضاد AES.
لدينا العديد من متطلبات الأجهزة. أنت بحاجة إلى نظام يدعم تعليمات AES الجديدة ، الشائعة جدًا ، ولكن ليس كل نظام لديه. على الأرجح ، إذا كان لديك معالج Intel i5 أو i7 ، فهذه التعليمات مدعومة.

ولكن يجب التحقق من بقية "الأجهزة" للتأكد من أنها تدعم جميع الوظائف الضرورية. أصبحت HVE ملحقات الأجهزة الافتراضية على نطاق واسع حوالي عام 2006. سيكون العثور على كمبيوتر باستخدام IOMMU أكثر صعوبة قليلاً. لم يتم الإشارة إلى ذلك في مواصفات وحدة النظام ، وسوف تحتاج إلى الخوض في خصائصها ، وكذلك معرفة ما هو الفرق بين VTX و VTD وهلم جرا. لذلك قد تضطر إلى البحث عن نظام يدعم هذه الأشياء. وستحتاج بالطبع إلى نظام مزود بوحدة نظام TPM موثوقة ، وإلا فلن تكون قادرًا على قياس مقاييس التحميل على الإطلاق. عادةً ما تنظر إلى أجهزة كمبيوتر درجة رجال الأعمال حيث يمكنك التحقق من توفر المكونات الضرورية. إذا وجدت Intel TXT مع تقنية Trusted Execution ، فسيحتوي على كل ما تحتاجه تقريبًا. يقدم فريق Qubes على Wiki قائمة ممتازة بتوافق الأجهزة ، والذي يسرد تفاصيل العديد من الأنظمة التي تنفذ مثل هذه الأشياء.
لذلك ، لضمان الأمن ، لدينا العديد من الافتراضات حول بعض مكونات النظام. TPM ، بطبيعة الحال ، هو عنصر مهم للغاية لضمان سلامة التمهيد. تحتاج إلى التأكد من عدم وجود مستتر يمكنه إعادة تعيين NVRAM ، أو التعامل مع العدادات الرتابة ، أو جعل النظام يعتقد أنه يستخدم حالة موثوق بها ، رغم أنه في الواقع لا. استنادًا إلى تعليقات Tarnovsky ، التي أجرت الهندسة العكسية لهذه الرقائق ، حددت مهلة تصل إلى حوالي 12 ساعة من الوصول الحصري إلى الكمبيوتر ، وهو أمر ضروري إذا كنت تريد تنفيذ هجوم TPM عليه لجلب كل الأسرار.

\
هناك العديد من الافتراضات المتعلقة بالمعالج ، وحدة تحكم الذاكرة ، و IOMMU ، خاصة فيما يتعلق بعدم اختراقها وتنفيذ وظائفها بشكل صحيح. بعض هذه الافتراضات لا يجب أن تكون صارمة للغاية ، لأن Intel يمكن أن تتغلب بسهولة على بعض هذه الأشياء ، وليس لدينا طريقة لمعرفة ذلك.
بعض الافتراضات الأمنية تتعلق بشين. هذا برنامج يحتوي بالفعل على نظام أمان قوي للغاية ، لكن لا يوجد شيء مثالي ، وأحيانًا تنشأ نقاط الضعف حتى في نظام آمن. بالنظر إلى أن Xen لها موقع متميز في النظام ، من المهم للغاية التأكد من أنه في حالة آمنة.
وبالتالي ، مع هذه الافتراضات الأمنية ، لدينا نوع من الأساس لنموذج التهديد.
نريد إجراء تقييم واقعي للتهديدات ، مع إدراك أنه ليس كل نظام معرضًا للخطر ، خاصةً عندما يكون هناك العديد من المكونات القديمة التي تم تطويرها دون أي اعتبارات أمنية. ولكن في الوقت نفسه ، ليست كل الهجمات النظرية ممكنة في الممارسة ، ولا يمكنك الجمع بين هجمات الأجهزة البسيطة للغاية والمعقدة للغاية. شيء واحد يجب أن نتذكره ، مع ذلك ، هو أن افتراضاتنا قد تكون خاطئة.أعتقد أن القياس الجيد هو سلامة آمنة عادية. نعلم جميعًا أنه يمكن في نهاية المطاف كسر كل خزانة آمنة ، والسؤال هو كم من الوقت لديك للهندسة العكسية ، ما هو وقت احتياطي القرصنة لديك.
, , , . , , , — , , , .
— , . FDE , RAM.
, IOMMU, . TPM NVRAM, , – , , .
, , , 12 . , .
, , . , .
TPM — NVRAM, / LPC. TPM , , , , .

RAM . , RAM RAM, , , . , , Sony PS3.
, . , . , , , , , TPM . , , , , , RIPA – , .
. , , , . .
-, . OpenSSL , API, .
Qubes OS.

: , . .
– .
, , -. , , , . شكرا لاهتمامكم!
شكرا لك على البقاء معنا. هل تحب مقالاتنا؟ تريد أن ترى المزيد من المواد المثيرة للاهتمام؟ ادعمنا عن طريق تقديم طلب أو التوصية به لأصدقائك ،
خصم 30٪ لمستخدمي Habr على تناظرية فريدة من خوادم الدخول التي اخترعناها لك: الحقيقة الكاملة حول VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1 جيجابت في الثانية من 20 $ أو كيفية تقسيم الخادم؟ (تتوفر خيارات مع RAID1 و RAID10 ، ما يصل إلى 24 مركزًا وما يصل إلى 40 جيجابايت من ذاكرة DDR4).
VPS (KVM) E5-2650 v4 (6 مراكز) 10GB DDR4 240GB SSD بسرعة 1 جيجابت في الثانية حتى الربيع مجانًا عند الدفع لمدة ستة أشهر ، يمكنك طلبها
هنا .
ديل R730xd 2 مرات أرخص؟ لدينا فقط
2 x Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD بسرعة 1 جيجابت في الثانية 100 TV من 249 دولارًا في هولندا والولايات المتحدة الأمريكية! اقرأ عن
كيفية بناء البنية التحتية فئة باستخدام خوادم V4 R730xd E5-2650d تكلف 9000 يورو عن بنس واحد؟