انتقل إلى المحتوى الرئيسي

الإقلاع الآمن و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.2SHA-1، RSA، جيل قديم
TPM 2.0SHA-256، خوارزميات حديثة، مطلوب لويندوز 11

الوظائف الرئيسية​

  1. تخزين المفاتيح: مفاتيح لا تغادر TPM أبدًا
  2. قياسات السلامة: سجلات تكوين المنصة (PCR)
  3. التصديق: إثبات حالة النظام
  4. الإغلاق: ربط البيانات بحالة نظام محددة

سجلات تكوين المنصة (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​

الوضعTPMPINمفتاح 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
}

التوصيات​

  1. تفعيل الإقلاع الآمن في BIOS/UEFI
  2. تفعيل TPM وتكوينه
  3. استخدام BitLocker مع TPM + PIN
  4. تحديث البرنامج الثابت UEFI بانتظام
  5. حماية الوصول المادي للجهاز

تمارين​

  1. تحقق مما إذا كان الإقلاع الآمن نشطًا على جهازك الافتراضي
  2. تحقق من وجود وحالة TPM
  3. حدد إعدادات الأمان في BIOS/UEFI لجهازك
  4. اشرح كيف يعمل TPM والإقلاع الآمن معًا

المراجع​