کد بوی 262 – ثابت جایگزین نشده است

یک کد امنیتی دیگر بوی می دهد زیرا هیچ کس هرگز اسناد را نمی خواند

TL;DR: نادیده گرفتن جایگزینی مداوم منجر به خطرات امنیتی شدید می شود.

مشکلات

  • نقاط پایانی آسیب پذیر
  • عدم انجام تست
  • اسناد هیچ کس نمی خواند

راه حل ها

  1. تعویض مداوم کلید را اجرا کنید
  2. فروشندگان بالادستی را حسابرسی کنید
  3. بررسی های امنیتی را به صورت خودکار انجام دهید
  4. مستندات خود را با آزمایشات اجرا کنید
  5. از پیش فرض های نامعتبر استفاده کنید تا مطمئن شوید که همیشه جایگزین می شوند

زمینه

یک نقص امنیتی بزرگ، PKfail، به مدت 12 سال بدون توجه باقی ماند و صدها دستگاه را به خطر انداخت.

این آسیب‌پذیری ناشی از شکست فروشندگان در جایگزینی کلید اصلی Secure Boot «DO NOT TRUST» است، مرحله‌ای حیاتی که با وجود دستورالعمل‌های واضح نادیده گرفته شد.

این نظارت دستگاه‌های بی‌شماری را در معرض بهره‌برداری قرار داد و به عوامل تهدید اجازه داد تا اقدامات امنیتی را دور بزنند و نرم‌افزارهای مخرب نصب کنند.

کد نمونه

اشتباه است

fn generate_pk() - String {
    "DO NOT TRUST".to_string()
}

// Vendor forgets to replace PK
fn use_default_pk() - String {
    let pk = generate_pk();
    pk // "DO NOT TRUST" PK used in production
}

درسته

fn generate_pk() - String {
    "DO NOT TRUST".to_string()
    // The documentation tells vendors to replace this value
}

fn use_default_pk() - String {
    let pk = generate_pk();

    if pk == "DO NOT TRUST" {
        panic!("Error: PK must be...

Source link