الإقلاع الآمن وTPM
مقدمة
الإقلاع الآمن وTPM هما تقنيات أمان مادية تحمي عملية إقلاع النظام من التعديلات الخبيثة.
الإقلاع الآمن
التعريف
الإقلاع الآمن هو ميزة أمان UEFI تمنع تحميل البرمجيات غير الموقعة أثناء الإقلاع.
كيفية العمل
1. يبدأ UEFI
2. التحقق من توقيع محمل الإقلاع
3. محمل الإقلاع يتحقق من توقيع النواة
4. النواة تتحقق من التعريفات
5. إقلاع كامل فقط إذا كان كل شيء موقّع
قاعدة بيانات المفاتيح
| القاعدة | المحتوى | الدور |
|---|---|---|
| PK (مفتاح المنصة) | مفتاح الشركة المصنعة | تحكم كامل |
| KEK (مفتاح تبادل المفاتيح) | مفاتيح مايكروسوفت/الشركة المصنعة | تحديث قواعد البيانات |
| db (قاعدة بيانات التوقيعات) | التوقيعات المسموح بها | قائمة بيضاء |
| dbx (التوقيعات المحظورة) | التوقيعات الملغاة | قائمة سوداء |
التحقق من الحالة
PowerShell:
# التحقق مما إذا كان الإقلاع الآمن نشطًا
Confirm-SecureBootUEFI
# مزيد من التفاصيل
Get-SecureBootPolicy -ErrorAction SilentlyContinue
عبر msinfo32:
Win+R > msinfo32 > Secure Boot State
تداعيات الأمان
المزايا:
- يمنع bootkits وrootkits الإقلاع
- يحمي من التعديلات على محمل الإقلاع
- سلامة سلسلة الإقلاع
القيود:
- يمكن تعطيله في BIOS
- بعض البرمجيات الخبيثة المتقدمة يمكنها تجاوزه
- لا يحمي من الهجمات بعد الإقلاع
TPM (وحدة النظام الأساسي الموثوق)
التعريف
TPM هي شريحة أمان مخصصة تخزن المفاتيح التشفيرية وتقيس سلامة النظام.
الإصدارات
| الإصدار | الخصائص |
|---|---|
| TPM 1.2 | SHA-1، RSA، جيل قديم |
| TPM 2.0 | SHA-256، خوارزميات حديثة، مطلوب لويندوز 11 |
الوظائف الرئيسية
- تخزين المفاتيح: مفاتيح لا تغادر TPM أبدًا
- قياسات السلامة: سجلات تكوين المنصة (PCR)
- التصديق: إثبات حالة النظام
- الإغلاق: ربط البيانات بحالة نظام محددة
سجلات تكوين المنصة (PCR)
تخزن سجلات تكوين المنصة قياسات السلامة:
| PCR | المحتوى |
|---|---|
| 0-3 | البرنامج الثابت UEFI |
| 4 | محمل الإقلاع (MBR/UEFI) |
| 5 | تكوين GPT |
| 6 | أحداث المنصة |
| 7 | الإقلاع الآمن |
| 8-15 | نظام التشغيل |
التحقق من TPM
PowerShell:
# التحقق من وجود TPM
Get-Tpm
# تفاصيل كاملة
Get-TpmEndorsementKeyInfo
Get-TpmSupportedFeature
عبر tpm.msc:
Win+R > tpm.msc
عبر مدير الأجهزة:
devmgmt.msc > Security Devices > Trusted Platform Module
BitLocker وTPM
التكامل
يستخدم BitLocker TPM لـ:
- تخزين مفاتيح التشفير
- إغلاق المفاتيح على حالة النظام
- الفتح التلقائي عند الإقلاع
أوضاع BitLocker
| الوضع | TPM | PIN | مفتاح USB | الأمان |
|---|---|---|---|---|
| TPM فقط | نعم | لا | لا | أساسي |
| TPM + PIN | نعم | نعم | لا | مرتفع |
| TPM + USB | نعم | لا | نعم | مرتفع |
| TPM + PIN + USB | نعم | نعم | نعم | أقصى |
التحقق من BitLocker
# حالة BitLocker
Get-BitLockerVolume
# تفاصيل
manage-bde -status C:
الهجمات والتحايلات
هجوم الإقلاع البارد
المبدأ: تحتفظ RAM بالبيانات لبضع ثوانٍ بعد انقطاع التيار.
الحماية: TPM مع قياسات السلامة، تشفير RAM.
هجوم الخادمة الشريرة
المبدأ: تعديل مادي للنظام أثناء غياب المستخدم.
الحماية: يكتشف TPM التعديلات عبر سجلات تكوين المنصة.
هجوم DMA
المبدأ: الوصول المباشر للذاكرة عبر المنافذ الخارجية (Thunderbolt، FireWire).
الحماية: حماية DMA للنواة، تعطيل المنافذ غير المستخدمة.
التنصت على TPM
المبدأ: اعتراض الاتصالات بين CPU وTPM على ناقل LPC.
الحماية: fTPM (TPM البرمجي المدمج في CPU).
التكوين الموصى به
قائمة التحقق من الأمان
# سكريبت التحقق من أمان الإقلاع
Write-Host "=== التحقق من أمان الإقلاع ===" -ForegroundColor Cyan
# 1. الإقلاع الآمن
try {
$sb = Confirm-SecureBootUEFI
if ($sb) {
Write-Host "[OK] الإقلاع الآمن: نشط" -ForegroundColor Green
} else {
Write-Host "[!] الإقلاع الآمن: غير نشط" -ForegroundColor Red
}
} catch {
Write-Host "[?] الإقلاع الآمن: غير ممكن التحقق" -ForegroundColor Yellow
}
# 2. TPM
$tpm = Get-Tpm
if ($tpm.TpmPresent) {
Write-Host "[OK] TPM موجود: نعم" -ForegroundColor Green
Write-Host " الإصدار: $($tpm.ManufacturerVersion)"
if ($tpm.TpmReady) {
Write-Host "[OK] TPM جاهز: نعم" -ForegroundColor Green
} else {
Write-Host "[!] TPM جاهز: لا" -ForegroundColor Yellow
}
} else {
Write-Host "[!] TPM: غير مكتشف" -ForegroundColor Red
}
# 3. BitLocker
$bl = Get-BitLockerVolume -MountPoint "C:" -ErrorAction SilentlyContinue
if ($bl) {
if ($bl.ProtectionStatus -eq "On") {
Write-Host "[OK] BitLocker C: نشط" -ForegroundColor Green
} else {
Write-Host "[!] BitLocker C: غير نشط" -ForegroundColor Yellow
}
}
# 4. وضع UEFI
$firmware = Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\State" -ErrorAction SilentlyContinue
if ($firmware.UEFISecureBootEnabled -eq 1) {
Write-Host "[OK] وضع UEFI مع الإقلاع الآمن" -ForegroundColor Green
} else {
Write-Host "[?] وضع BIOS أو الإقلاع الآمن معطل" -ForegroundColor Yellow
}
التوصيات
- تفعيل الإقلاع الآمن في BIOS/UEFI
- تفعيل TPM وتكوينه
- استخدام BitLocker مع TPM + PIN
- تحديث البرنامج الثابت UEFI بانتظام
- حماية الوصول المادي للجهاز
تمارين
- تحقق مما إذا كان الإقلاع الآمن نشطًا على جهازك الافتراضي
- تحقق من وجود وحالة TPM
- حدد إعدادات الأمان في BIOS/UEFI لجهازك
- اشرح كيف يعمل TPM والإقلاع الآمن معًا