سیستم‌عامل‌های میکروکرنل: مبارزین در مقابل تهدیدهای دستگاه‌های هوشمند

23 اردیبهشت 1402 سیستم‌عامل‌های میکروکرنل: مبارزین در مقابل تهدیدهای دستگاه‌های هوشمند

روابط عمومی شرکت ایدکو (توزیع‌کننده‌ی محصولات کسپرسکی در ایران)؛ انتظار می‌رود تا سال 2030 تعداد دستگاه‌های متصل به اینترنت در جهان به 24 میلیارد برسد. این آمار شامل کلی سیستم‌های خانگی و لوازم جانبی می‌شود: ساعت‌های هوشمند، بندهای تناسب اندام، بلندگوهایی مجهز به دستیارهای صورتی هوشمند و همه دستگاه‌هایی که کنترشان می‌کنند. همچنین آمار مذکور پوشش‌دهنده‌ی دستگاه‌های خودپرداز هوشمند، پایانه‌های پوز، دوربین‌های مدار بسته و غیره نیز هست. این‌ها همگی دستگاه‌هایی هستند که کاربران به آن‌ها اعتماد کردند و اطلاعات حساس خود را در اختیارشان قرار می‌دهند اما باید گفت این دستگاه‌ها شاید آنطور که باید امنیت‌بخشی نمی‌شوند. در عین حال، دستگاه‌های مجهز به فناوری اینترنت اشیاء در خیلی از حملات هدف شماره یک هستند. و گرچه فروشنده‌ها سعی دارند روی این موضوع تأکید نکنند اما مشکل اینترنت اشیاء هر روز ملموس‌تر می‌شود- خصوصاٌ برای اکوسیستم‌های دستگاه‌های متصل به اینترنت. برای مثال سال 2020، محققین Check Point حمله‌ای را روی شبکه از طریق چراغی هوشمند آزمایش کردند. آن‌ها موفق شدند سفت‌افزار داخل چراغ هوشمند را دستکاری کرده و با استفاده از آن بدافزاری را روی دستگاهی که کارش نظارت بر سیستم نوردهی بود نصب کنند. از آن‌جا بودند که محققین توانستند به شبکه لوکال نفوذ کنند. این آسیب‌پذیری خیلی سریع بسته شد اما چه تضمینی وجود دارد که این ترفند بار دیگر در حفره‌های امنیتی اینترنت اشیاء استفاده نشود؟

مثال دیگر –وضعیتی که آسیب‌پذیری قفل هوشمند ساخت کره به نام KeyWe  در آن دخیل است- حتی بدتر است. علاوه بر نقص در پروسه تولید رمز، محققین مشکلات بنیادی در بخش طراحی نیز کشف کردند. همین‌ها باعث شده بود مهاجمین خیلی راحت بتوانند پسوردهای قفل را رهگیری و کدگشایی کنند. افزون بر این، کاشف بعمل آمد که آپدیت سفت‌افزار با پچ امنیتی نیز محال بود- آسیب‌پذیری تنها با قفل‌های جدید که نقص طراحی مذکور را نداشتند پچ می‌شد. مثال دوم نشان می‌دهد شکاف‌های امنیتی IoT می‌تواند خاستگاهش در سطح طراحی سیستم باشد. برای جلوگیری از چنین مسائلی، تعدادی فروشنده در سال‌های اخیر به سیستم‌عامل‌های مبتنی بر میکروکرنل[1] روی آورده‌اند. در معماریِ میکروکرنل، کرنل در مقایسه با کرنلِ سیستم سنتی چندین کد کمتر دارد و فقط قابلیت‌های لازم را اجرا می‌کند و همین آن را مطمئن‌تر و مقاوم‌تر در برابر نقص‌ها می‌سازد.

محبوبیت سیستم‌عامل‌های میکروکرنل از محبوبیت ویندوز و اندروید پیشی گرفته است

اگر از کاربران کامپیوتر دسکتاپی بخواهید محبوب‌ترین سیستم‌عاملی که می‌شناسند را نام ببرند مطمئناً جواب ویندوز است. در واقع سهم آن از بازار جهانی سیستم‌عامل 72 درصد است (با احتساب تعداد کامپیوترهای مجهز به ویندوز). ولی معدود کاربرانی هستند که کمی پیشرفته‌تر و عمیق‌تر به مسئله نگاه می‌کنند: منظور در سطح سفت‌افزاریِ میکروچیپ و میکروکنترلر است. در این سطح، شایع‌ترین سیستم‌عامل MINIX است؛ سیستمی مبتنی بر معماری میکروکرنل. این سیستم‌عامل است که با سفت‌افزار Intel ME 11 می‌آید. امروز آن را در همه دستکاپ‌ها و لپ‌تاپ‌های مجهز به سی‌پی‌یوهای اینتل می‌بینیم که دو سوم بازار  х86 CPU را از آن خود کرده است. همین شِما در بازار دستگاه‌های موبایل، پورتابل و جاسازی‌شد نیز دیده می‌شود. در این بخش، محبوب‌ترین اندروید است. اما دوباره بگوییم که اگر عمیق‌تر نگاه کنیم می‌بینیم سیستم‌عامل‌های میکروکرنل در این بازار به اندازه اندروید محبوبند هرچند شاید خیلی رخ نشان نداده و پس‌زمینه کار خود را کنند. یکی از قدیمی‌ترین پیاده‌سازی‌های معماری میکروکرنل در بازار موبایل  QNX است. این سیستم‌عامل دهه‌ی 80 میلادی برای ماشین‌های صنعتی مهم معرفی شد اما بعدها در ایستگاه‌های رادار دریایی نیز از آن‌ها استفاده می‌کردند. نسخه‌ی مدرن‌تر این سیستم‌عامل -QNX Neutrino- در اسمارت‌فون‌های بلک‌بری به کار رفت و همچنین در روترهای سیسکو. اکنون آن را در سفت‌افزار میلیون‌ها وسیله‌نقلیه موتوری می‌بینیم.

دیگر دستگاه‌های دارای سیستم عامل میکروکرنل را فراموش نکنیم. برای مثال، سیستم‌های مبتنی بر هسته خانواده L4، از جمله مودم‌های کوالکام و سیستم‌های خودرو مبتنی بر OKL4 وجود دارد که محبوبیت آنها در سال 2012 به اوج خود رسید.

 

MINIX و L4 مطمئناً مرتبط‌ترین برنامه‌های موجود نیستند. حتی ممکن است برخی آنها را وینتج بنامند. اما تکامل سیستم‌عامل‌های میکروکرنل به همین جا متوقف نشد: توسعه آنها توسط تعدادی از فروشندگان اکوسیستم هوشمند مدرن ادامه یافت:

  •          سیستم‌عامل میکروکرنل با نام رمز Horizon، شیرازه‌ی کنسول‌های بازی نینتندو سوییچ است. عموم مردم اطلاعات محدودی در مورد خود سیستم عامل دارند زیرا یک سیستم اختصاصی است.
  •         در ژانویه 2023، روزنامه نگاران 9to5google متوجه شدند که بلندگوی کاملا جدید Google Nest به احتمال زیاد با Fuchsia عرضه می‌شود -  سیستم‌عاملی با هسته زیرکن[2] در هسته آن.
  •         در نوامبر سال 2022، هواوی اعلام کرد که 320 میلیون دستگاه آن به سیستم‌عامل هارمونی OS مجهز هستند - یک سیستم‌عامل میکروکرنل مبتنی بر هسته هونگ منگ[3] برای دستگاه‌های پوشیدنی و اینترنت اشیاء. تا پایان سال 2022، دستگاه‌های مجهز به سیستم‌عامل HarmonyOS  دو درصد از کل فروش جهانی تلفن‌های هوشمند را به خود اختصاص می‌دهند. و در آوریل 2023، نسخه جدید HarmonyOS 3.1 راه‌اندازی شد. به گفته توسعه‌دهندگان، آنها راه طولانی را در بهینه سازی سیستم پیموده‌اند.

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

چیزهایی که به فروشندگاه سفت‌افزارهای میکروکرنل کمک می‌کند از سیستم‌های IoT خود محافظت کنند

با توجه به سناریوی لامپ هوشمند که بالاتر بدان اشاره شد، اکوسیستم‌های اینترنت اشیاء اغلب بر پایه میکروکنترلرها و حسگرهای متصل به هم هستند. مهاجمین تمایل دارند مشخصاً دستگاه‌های پایانی محافظت‌نشده را هدف قرار دهند تا از آنها به عنوان نقطه ورود استفاده کنند و از این طریق بعداً با افزایش امتیازات، کنترل کل سیستم را در دست بگیرند. تجهیز هر دستگاه کوچک به مکانیسم‌های حفاظتی پیشرفته از نظر اقتصادی غیرقابل تحمل است. این وضعیت دو مشکل اساسی ایجاد می‌کند:

  •         ما همه می‌خواهیم به محافظ درون‌سازه‌ای سیستم اعتماد کنیم. در فناوری اینترنت اشیاء با چندین المان کوچک که قابل اعتماد نیستند دست و پنجه نرم می‌کنیم. این رویکرد را می‌شود از دو منظر دید: یا باید سعی کرد هر کدام را تا جایی که می‌شود مورد محافظت قرار داد و یا باید محدودیت‌های آن‌ها را دانست و سیستمی را که هنوز امن است برایشان مهندسی نمود (حتی با همه المان‌های دخیل).
  •         کنترل تعاملات. در یک سیستم بزرگ، معمولاً هیچ عنصری در خلاء عمل نمی‌کند: آنها با یکدیگر "ارتباط" برقرار می‌کنند و اغلب دارای امتیازاتی هستند که اعمال خاصی را بر روی یکدیگر انجام دهند. در سیستمی که نمی‌توانیم به همه عناصر اعتماد کنیم، این تعاملات و امتیازات باید محدود شده و با ابزارهای کنترلی نظارت شود.

با سیستم‌عامل‌های میکروکرنل می‌شود این چنین مشکلات را رفع نمود:

  •         سیستم‌عامل‌های میکروکرنل بین مؤلفه‌های قابل اعتماد و غیرقابل اطمینان تمایز قائل می‌شوند. معماری آن‌ها حول چندین مؤلفه جدا شده در ارتباط می‌چرخد که می‌توانند به راحتی به عنوان غیرقابل اعتماد یا قابل اعتماد طبقه‌بندی شوند. هسته یکی از مؤلفه‌های قابل اعتماد است: فقط ضروری‌ترین توابع را انجام داده و تا آنجا که ممکن است کمترین خط کد را شامل می‌شود. و تمام درایورها، سیستم‌های فایل و موارد مشابه حذف می‌شوند تا اجزای خارج از هسته جدا شوند. این به ما اجازه می‌دهد عناصر سیستم را که ما مجبور به اعتماد به کد آنها هستیم به حداقل لازم و کافی محدود کنیم.

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

  •         سیستم‌عامل‌های میکروکرنل اکثر اجزای ممتاز را ایزوله و آنها را در حالت کاربر کار می‌کنند. در سیستم‌عامل‌های میکروکرنل، هسته مسئول جداسازی اجزا است: هر کدام در فضای آدرس خود قرار دارند. میکروکرنل مکانیزمی را برای تبادل پیام بین اجزا، برنامه‌ریزی جریان‌ها و کنترل حافظه، تایمرها و وقفه‌ها فراهم می‌کند. مؤلفه‌های مورد اعتماد و غیرقابل اعتمادی که در حالت کاربر کار می‌کنند، به همان اندازه که برای انجام عملکردهایشان نیاز است، دارای امتیازاتی هستند.
  •         سیستم‌عامل های میکروکرنل دارای قابلیت‌ها و ابزارهای اضافی برای کنترل تعامل هستند. در سیستم‌عامل میکروکرنل، هر عملی معادل ارسال پیام (ارتباط) است. همانطور که قبلا ذکر شد، میکروکرنل مکانیسم پیام‌رسانی کلیدی را کنترل می‌کند. جدای از آن، سیستم‌عامل‌های میکروکرنل اغلب از مکانیسم «قابلیت‌های شیء[4]» استفاده می‌کنند، که در میان چیزهای دیگر، امکان کنترل ایجاد کانال‌های ارتباطی جدید را فراهم می‌کند.

تنها چیزی که همه این مکانیسم‌ها فاقد آن هستند گزینه‌های تأیید اعتماد است. برخی از مؤلفه‌ها فقط باید مورد اعتماد باشند، درست است. اما  این جمله معروف که می‌گوید"قبل از اینکه اعتماد کنی تلاش کن" چه می‌شود؟ چگونه از «معتمد» به «قابل اعتماد» مهاجرت کنیم؟

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

در آینده نزدیک، نسل های جدید سیستم‌عامل‌های میکروکرنل به دستیابی به امنیت قابل تایید و مصونیت سایبری کمک خواهند کرد.

 

پس از مطالعه طولانی مدت روی بهترین شیوه‌های حفاظتی، از اصول امنیتی قابل تأیید برای توسعه رویکرد ایمنی سایبری خود استفاده کرده‌ایم که می‌خواهیم از آن برای ایجاد سیستم‌های ذاتاً ایمن فناوری اطلاعات بهره ببریم. مصونیت سایبری پیاده‌سازی رویکرد Secure by Design است که در آن امنیت اطلاعات در هر مرحله توسعه تمرکز دارد.

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

KasperskyOS مبتنی بر میکروکرنل اولین سیستم عاملی است که از این رویکرد پشتیبانی می‌کند و به عنوان یک پلت فرم برای ایجاد محصولات Cyber Immune عمل می‌نماید. اما به طور کلی این روش بهترین اصول امنیتی را در اطراف ترکیب کرده و بستگی زیادی به ابزارهای پیاده‌سازی مورد استفاده ندارد. بنابراین، انتظارمان این است که این اصول در سایر کاربردهای سفت‌افزای دستگاه میکروکرنل نیز تزریق شوند.

 

 

[1]  Microkernel

[2] Zircon

[3] HongMeng

[4] object capabilities

منبع: کسپرسکی آنلاین (ایدکو)

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