هرچیزی که لازمه در مورد «۲۸ بار بک اسپیس» بدونین

این روزها همه دارن از باگ ۲۸ تا بک اسپیس‌ حرف می‌زنن. باگی بعضی‌ها می‌نویسن اجازه می‌ده به هر لینوکسی دسترسی پیدا کنین. هر چقدر هم نویسند‌ه‌ای از منطق و لینوکس دورتر باشه، خطرات بزرگتری رو براش قائل می‌شه. این باگ اولین توسط اسماییل ریپول و هکتور مارکو کشف شده و اینجا نگاهی دقیق داریم به اجزاش برای کسانی که دوست دارن بدونن واقعا ماجرا چی بوده و چه عواقبی داره.

آیا باگ واقعا وجود داشته؟

اما آیا این باگ وجود داره؟ جواب یک بله محکم و همراه پوزخند است. این باگ سوتی بدی بوده که از برنامه‌نویس‌های خوب در یکی از برنامه‌های بسیار پیچیده انتظار نمی‌رفته. این باگ روی گراب تاثیر می‌ذاره. ویندوزها از گراب استفاده نمی‌کنن و به جاش بوت لودرهای خودشون رو دارن که امکانات و توانایی‌های محدودتری داره و به شکل اختصاصی برای ویندوز توسعه پیدا کرده. گراب اونی است که در مرحله اول یک کامپیوتر رو بوت می‌کنه و بعد کنترل کامپیوتر رو به یک سیستم‌عامل (از جمله لینوکس یا ویندوز) تحویل می‌ده. اگر گراب نباشه سیستم‌عامل‌ها مجبور هستن خودشون یک ضرب کامپیوتر رو بوت کنن و دیگه امکان حضور چند سیستم عامل روی یک کامپیوتر یا بوت شدن کامپیوتر حتی بعد از خراب شدن سیستم عامل وجود نخواهد داشت.

باگ ۲۸ تا بک اسپیس چی بوده؟

این باگ وقتی کار می‌کرده که شما گراب داشته باشین و روی گراب پسورد گذاشته باشین. اتفاقی که خیلی کم می‌افته. گفته می‌شه در وضعیتی که قراره گراب از شما پسورد بپرسه، ۲۸ بار بک اسپیس رو بزنین سیستم کرش می‌کنه و شما به خط فرمانی می‌رین که دستورات بسیار محدودی داره که به منظور تعمیر سیستم گراب یا بوت کردن سیستم عامل‌هایی که روی کامپیوتر نصب شده تعبیه شده‌اند.

این اشتباه بدون شک خیلی ضایع و خیلی خنده داره (: البته تا الان همه لینوکس‌هایی که باهاشون برخورد داریم مشکل رو اصلاح کردن که خودش قشنگی دنیای آزاده. در واقع اصلا گفته نمی‌شه که اینطرف هیچ باگی نیست بلکه گفته می‌شه که باگ‌ها به محض کشف یا اعلام (یا حتی قبل از اعلام) رفع و در آپدیت‌های سریع، خنثی می‌شن.

آیا هکرها به هر لینوکسی دسترسی پیدا کردن؟

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

  1. عدم درک شکل کارکرد جهان. برای اینکه بفهمین الان هکرها توان نفوذ به هر کامپیوتری رو ندارن کافیه به این فکر کنین که دارین این مطلب رو کجا می‌خونین. اگر این مطلب از روی اینترنت، تبلت، چت و .. به شما رسیده یعنی مهمترین کامپویترهای دینا که اتفاقا همه هم لینوکسی هستن دارن درست کار می کنن (: به این می گن استدلال با توجه به دیدن نتایج. لازم نیست من باگ رو درک کنم تا بفهمم که آیا همه کامپیوترها تحت سیطره هکرها هستن یا نه (: کافیه به اطرافم نگاه کنم. همونطور که لازم نیست سال‌ها در این مورد بحث کنم که فلان مدل حکومتی باعث پیشرفت می‌شه یا نه و کافیه نگاه کنم ببینم کدوم کشورها در حال پیشرفت هستن.

  2. عدم درک دنیای لینوکس و ویندوز و امنیت. اصولا این باگ داره در لایه‌ قبل از بوت شدن لینوکس اتفاق می‌افته و از طریق دسترسی فیزیکی. یک اصل خیلی خیلی مهم در دنیای امنیت هست که هیچ وقت نباید فراموشش کنین! این اصل می‌گه لایه اول امنیت،‌ امنیت فیزیکی است. در دنیای امنیت می‌گن اگر حمله کننده به «فیزیک» دستگاه مورد حمله دسترسی داشته باشه، صحبت کردن از هر شکل دیگه امنیت بی‌معنی است. این باگ – که خیلی هم ضایع بوده – به شما اجازه می‌داده که به هارد کامپیوتری که بهش دسترسی فیزیکی دارن دسترسی پیدا کنین. این مساله در همه سیستم‌های دیگه هم صادقه. اگر شما دسترسی فیزیکی دارین اصولا نیازی به این باگ نیست، کافیه هارد رو در بیارین و توی یک کامپیوتر دیگه بذارین یا با یک یو اس بی دیسک لایو یا یک سی دی لایو کامپیوتر رو بوت کنین یا هر روش دیگه. در این سطح تنها بحث امن کننده اطلاعات شما می‌تونه رمزنگاری باشه ولی سخت افزار رو هیچ چیز نمی‌تونه از حملات فیزیکی حفاظت کنه.

اگر این بحث براتون عجیبه، می‌تونم دو تا ویدئو درست کنم که توش ببینین چطوری هر ویندوز و هر لینوکسی با داشتن دسترسی فیزیکی قابل ورود هستن.

جمع بندی

گراب سیستم بوت کننده کامپیوتر و تحویل دهنده سخت افزار به سیستم عامل بعدی (لینوکس یا ویندوز) است. تقریبا همه لینوکس ها از گراب استفاده می کنن و اگر کسی روی گرابش پسورد گذاشته باشه، این امکان بوده که با ۲۸ بار زدن بک اسپیس وارد خط فرمان اضطراری گراب شد. این مساله یک سوتی ضایع و خنده دار برنامه نویسی بوده و حالا رفع شده و ارزش نرم افزار آزاد به همین رفع باگ‌ها در لحظه کشف است. ما لینوکسی‌ها باید خنده‌ها رو بپذیریم و سعی کنیم برنامه‌هامون کمتر و کمتر چنین باگ‌هایی داشته باشن. همه هم باید یادشون باشه که دسترسی فیزیکی عملا به معنی امکان ورود کاربر به سیستم است و تنها راه جلوگیری از ورود کسی که به کامپیوترمون دسترسی فیزیکی داره هیچ راهی‌ است؛ هرچند که می‌شه با رمزگذاری اطلاعات، دسترسی این آدم خبیث به اطلاعات‌ رو مسدود کرد.