خانه » Qubes OS چیست؟
لینوکس

Qubes OS چیست؟

Qubes OS یک توزیع لینوکس دسکتاپ رایگان و متن باز؛ متمرکز بر امنیت است که هدف آن تامین امنیت از طریق جداسازی است. مجازی‌سازی توسط Xen انجام می‌شود و محیط‌های کاربر می‌توانند بر اساس فدورا یا دبیان (توصیه شده) یا Whonix ، Ubuntu ، Arch Linux ، CentOS ، یا Gentoo باشد. این توزیع دارای ابزارهای دیگری نیز هست. به عنوان مثال Qubes Windows Tools از مایکروسافت ویندوز پشتیبانی می کند.

از سیستم هایی مانند Qubes در دانشگاه ها به عنوان سیستم های امن چند سطحی همگرا (MLS) نام برده می شود. سیستم های مشابه دیگری مانند SecureView و VMware vSphere رقبای تجاری آن هستند. با این حال، Qubes OS تنها سیستمی از این نوع است که به طور فعال تحت مجوز نرم افزار رایگان و منبع باز (FOSS) توسعه یافته است. البته GrapheneOS در نقشه راه بلند مدت خود برنامه ریزی کرده تا از معماری مشابهی پیروی کند.

اهداف امنیتی

Qubes یک رویکرد امنیت بر اساس جداسازی را پیاده سازی می کند . در این سیستم عامل فرض بر این است که محیط دسکتاپ کامل و بدون اشکالی نیست: چنین محیطی میلیون‌ها خط کد و میلیاردها تعامل نرم‌افزاری / سخت‌افزاری را شامل می‌شود. ممکن است یک باگ مهم در هر یک از این فعل و انفعالات برای نرم افزارهای مخرب کافی باشد تا کنترل دستگاه را در دست بگیرند.

برای ایمن سازی دسکتاپ، سیستم عامل Qubes مراقبت می کند که محیط های مختلف را ایزوله کند، به طوری که اگر یکی از مؤلفه ها در معرض خطر قرار گیرد، نرم افزار مخرب فقط به داده های داخل آن محیط دسترسی پیدا کند.

در Qubes، جداسازی در دو بعد ارائه می‌شود: کنترل‌کننده‌های سخت‌افزار را می‌توان به حوزه‌های عملکردی (مانند دامنه‌های شبکه ، دامنه‌های کنترل‌کننده USB) ایزوله کرد، در حالی که زندگی دیجیتالی کاربر به دامنه‌هایی با سطوح مختلف اعتماد تقسیم می‌شود. به عنوان مثال: دامنه کاری (معتمدترین)، دامنه خرید، دامنه تصادفی (کمتر قابل اعتماد). هر یک از این دامنه ها در یک ماشین مجازی مجزا (VM) اجرا می شوند.

ماشین های مجازی Qubes، به طور پیش فرض، دسترسی روت بدون رمز عبور دارند (مثلا sudo بدون رمز عبور ).UEFI Secure Boot خارج از جعبه پشتیبانی نمی شود، اما این یک مسئله امنیتی مهم در نظر گرفته نمی شود. چراکه یک سیستم چند کاربره نیست.

نصب و الزامات

Qubes قرار نبود به عنوان بخشی از یک سیستم چند بوت اجرا شود زیرا اگر یک مهاجم کنترل یکی از سیستم عامل های دیگر را در دست بگیرد، احتمالاً می تواند Qubes را به خطر بیاندازد (مثلاً قبل از بوت شدن Qubes). با این حال، هنوز هم می توان از Qubes به عنوان بخشی از یک سیستم چند بوت و حتی از grub2 به عنوان بوت لودر / مدیر بوت استفاده کرد . یک نصب پیشفرض Qubes تمام فضای ذخیره‌سازی (مثلاً هارد ، درایو فلش USB ) را که روی آن نصب شده است (نه فقط فضای آزاد موجود) را اشغال می‌کند و از LUKS / dm-crypt استفاده می‌کند. رمزگذاری کامل دیسک در نصب سیستم عامل Qubes وجود دارد، اما به دلایل امنیتی، این کار برای کاربرانی کامل با Qubes آشنایی ندارند، توصیه نمی شود. Qubes 4.x به حداقل 32 گیگابایت فضای دیسک و 4 گیگابایت رم نیاز دارد. با این حال، برای عملکرد بهتر به 6-8 گیگابایت رم نیاز دارد، زیرا اگرچه می توان آن را تنها با 4 گیگابایت رم اجرا کرد اما کاربر احتمالاً نمی تواند بیش از سه Qubes در دستگاه خود اجرا کند.

از سال 2013، Qubes از معماری های 32 بیتی x86 پشتیبانی نمی کند و اکنون به یک پردازنده 64 بیتی نیاز دارد. Qubes برای جداسازی دیوایس ها و درایورها از Intel VT-d /AMD’s AMD-Vi استفاده می کند که فقط در معماری های 64 بیتی موجود است. معماری 64 بیتی نیز محافظت بیشتری در برابر برخی از کلاس‌های حملات را فراهم می‌کند. ازQubes 4.x، به بعد Qubes به یک پردازنده اینتل با پشتیبانی از VT-x با فناوری مجازی سازی EPT و VT-d اینتل یا یک پردازنده AMD با پشتیبانی از AMD-V با RVI (SLAT) و AMD-Vi نیاز دارد.

تجربه ی کاربر

کاربران با سیستم عامل Qubes به همان شیوه ای که با یک سیستم عامل دسکتاپ معمولی تعامل دارند، تعامل دارند. اما چند تفاوت اساسی وجود دارد:

هر دامنه امنیتی (Qube) با یک حاشیه پنجره رنگی متفاوت شناسایی می شود باز کردن یک برنامه برای اولین بار در آن جلسه برای یک دامنه امنیتی خاص، بسته به سخت افزار، حدود 30 ثانیه طول می کشد. کپی کردن فایل‌ها و کلیپ‌بورد کمی متفاوت است زیرا دامنه‌ها کلیپ‌بورد یا سیستم فایل را به اشتراک نمی‌گذارند. کاربر می‌تواند بخش‌های امنیتی ایجاد و مدیریت کند.

هایپروایزر Xen و دامنه مدیریتی (Dom0)

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

ادغام ماشین‌های مجازی مختلف توسط Application Viewer ارائه می‌شود، که این توهم را برای کاربر ایجاد می‌کند که برنامه‌ها به صورت بومی روی دسکتاپ اجرا می‌شوند، در حالی که در واقع در ماشین‌های مجازی مختلف میزبانی (و ایزوله) شده‌اند.

Qubes همه این ماشین های مجازی را در یک محیط دسکتاپ مشترک ادغام می کند. از آنجایی که Dom0 به امنیت حساس است، از شبکه جدا شده است و تا حد امکان رابط و ارتباط کمتری با سایر دامنه ها دارد تا احتمال تاثیر پذیری از حمله یک VM آلوده را به حداقل برساند.

دامنه Dom0 دیسک های مجازی سایر ماشین های مجازی را مدیریت می کند که در واقع به عنوان فایل در سیستم(های) فایل dom0 ذخیره می شوند. فضای دیسک ماشین های مجازی مختلف که سیستم فایل ریشه یکسانی بهره می برند در حالت فقط خواندنی بین آنهابه اشتراک گذاشته می شود. فایل های کاربر و تنظیمات مرتبط به هر ماشین مجازی در محل جداگانه ای ذخیره سازی می شود. این اجازه می دهد تا نصب و به روز رسانی نرم افزار متمرکز باشد. همچنین نصب نرم افزار فقط بر روی یک ماشین مجازی خاص، با نصب آن به عنوان کاربر غیر ریشه یا با نصب آن در سلسله مراتب rw/ و خاص Qubes امکان پذیر است.

دامنه شبکه

مکانیسم شبکه بیش از همه در معرض حملات امنیتی است. برای دور زدن این مورد، در یک VM مجزا و غیرممتاز، به نام دامنه شبکه، جدا شده است.

فایروال VM دیگری است و بعنوان فایروال مبتنی بر هسته لینوکس استفاده می شود، به طوری که حتی اگر دامنه شبکه به دلیل یک اشکال درایور دستگاه به خطر بیفتد، فایروال همچنان ایزوله و محافظت شده باقی می ماند (زیرا در یک هسته لینوکس جداگانه و VM جداگانه در حال اجرا است.).

ماشین های مجازی کاربردی (AppVM)

AppVM ها ماشین های مجازی هستند که برای میزبانی برنامه های کاربر، مانند مرورگر وب ، سرویس گیرنده ایمیل یا ویرایشگر متن استفاده می شوند . برای اهداف امنیتی، این برنامه‌ها را می‌توان در حوزه‌های مختلفی مانند شخصی ، کاری ، خرید ، بانکی و غیره دسته‌بندی کرد. دامنه‌های امنیتی به‌عنوان ماشین‌های مجازی مجزا پیاده‌سازی می‌شوند، بنابراین از یکدیگر جدا می‌شوند و انگار در ماشین‌های مختلف اجرا می‌شوند.

برخی از اسناد یا برنامه‌ها را می‌توان در ماشین‌های مجازی یکبار مصرف از طریق مدیر فایل اجرا کرد. این مکانیسم از ایده Sand Box پیروی می کند : پس از مشاهده سند یا برنامه، کل VM یکبار مصرف از بین می رود.

هر دامنه امنیتی با یک رنگ برچسب گذاری می شود و هر پنجره با رنگ دامنه ای که به آن تعلق دارد مشخص می شود. بنابراین همیشه به وضوح قابل مشاهده است که یک پنجره به کدام دامنه تعلق دارد.

نظرات متخصصان

کارشناسان امنیت و حریم خصوصی مانند ادوارد اسنودن ، دانیل جی. برنشتاین و کریستوفر سوگویان علناً این پروژه را ستایش کرده اند.

جسی اسمیت در بررسی Qubes OS 3.1 برای DistroWatch Weekly نوشت:

اما در روز دوم محاکمه، زمانی که متوجه شدم از Qubes اشتباه استفاده کرده ام. من Qubes را به‌عنوان یک توزیع لینوکس تقویت‌شده ایمن در نظر می‌گرفتم، گویی یک سیستم‌عامل دسک‌تاپ معمولی با امنیت بیشتری است. و این سیستم عامل من را به سرعت ناامید کرد زیرا اشتراک‌گذاری فایل‌ها بین دامنه‌ها، گرفتن عکس از صفحه یا حتی دسترسی به اینترنت از برنامه‌هایی که در Domain Zero باز کرده بودم دشوار بود. تجربه من زمانی که به Qubes به عنوان رایانه های متعدد و جداگانه ای که اتفاقاً همه یک صفحه نمایش را به اشتراک می گذارند، بسیار بهبود یافت. زمانی که شروع کردم به نگاه کردن به هر دامنه به عنوان جزیره خاص خود، جدا از سایرین، Qubes معنای بسیار بیشتری پیدا کرد. Qubes دامنه ها را بر روی یک دسکتاپ گرد هم می آورد به همان روشی که مجازی سازی به ما اجازه می دهد چندین سیستم عامل را روی یک سرور اجرا کنیم.

Kyle Rankin از Linux Journal در سال 2016 سیستم عامل Qubes را بررسی کرد:

من مطمئن هستم که شما می توانید تعدادی از بخش ها را ببینید که در آن Qubes امنیت بیشتری نسبت به یک دسکتاپ لینوکس معمولی ارائه می دهد.

در سال 2014، Qubes به عنوان فینالیست جایزه نوآوری Access 2014 برای امنیت Endpoint که توسط سازمان بین المللی حقوق بشر Access Now اداره می شود، انتخاب شد.

مهدی منصوری

من مهدی منصوری و کارشناس حوزه نرم افزار و امنیت اطلاعات هستم. کارشناسی ارشد خودم را در رشته امنیت اطلاعات از دانشگاه مالک اشتر تهران گرفتم. هم اکنون در زمینه DevOPS مشغول هستم. و در زمان های ممکن در این سایت و چند سایت دیگه مطلب می گذارم

درباره نویسنده

مهدی منصوری

من مهدی منصوری و کارشناس حوزه نرم افزار و امنیت اطلاعات هستم. کارشناسی ارشد خودم را در رشته امنیت اطلاعات از دانشگاه مالک اشتر تهران گرفتم.
هم اکنون در زمینه DevOPS مشغول هستم. و در زمان های ممکن در این سایت و چند سایت دیگه مطلب می گذارم

افزودن نظر

برای ارسال نظرات خود اینجا را کلیک کنید