گوگل اوپن سورس محفوظ آپریٹنگ سسٹم KataOS

گوگل نے KataOS پروجیکٹ سے متعلق پیش رفت کی دریافت کا اعلان کیا ہے، جس کا مقصد ایمبیڈڈ ہارڈ ویئر کے لیے ایک محفوظ آپریٹنگ سسٹم بنانا ہے۔ KataOS سسٹم کے اجزاء زنگ میں لکھے جاتے ہیں اور seL4 مائکرو کرنل کے اوپر چلتے ہیں، جس کے لیے RISC-V سسٹمز پر وشوسنییتا کا ایک ریاضیاتی ثبوت فراہم کیا گیا ہے، جس سے ظاہر ہوتا ہے کہ کوڈ رسمی زبان میں بیان کردہ تصریحات کی مکمل تعمیل کرتا ہے۔ پروجیکٹ کوڈ اپاچی 2.0 لائسنس کے تحت کھلا ہے۔

یہ نظام RISC-V اور ARM64 فن تعمیر پر مبنی پلیٹ فارمز کے لیے تعاون فراہم کرتا ہے۔ ہارڈ ویئر کے اوپری حصے پر seL4 اور KataOS ماحول کے آپریشن کو نقل کرنے کے لیے، Renode فریم ورک کو ترقی کے عمل کے دوران استعمال کیا جاتا ہے۔ ایک حوالہ کے نفاذ کے طور پر، Sparrow سافٹ ویئر اور ہارڈویئر کمپلیکس تجویز کیا گیا ہے، KataOS کو OpenTitan پلیٹ فارم پر مبنی محفوظ چپس کے ساتھ ملا کر۔ مجوزہ حل آپ کو ایک منطقی طور پر تصدیق شدہ آپریٹنگ سسٹم کرنل کو قابل اعتماد ہارڈویئر اجزاء (RoT، Root of Trust) کے ساتھ جوڑنے کی اجازت دیتا ہے، جو OpenTitan پلیٹ فارم اور RISC-V فن تعمیر کا استعمال کرتے ہوئے بنایا گیا ہے۔ KataOS کوڈ کے علاوہ، مستقبل میں اسپرو کے دیگر تمام اجزاء بشمول ہارڈ ویئر کے اجزاء کو کھولنے کا منصوبہ ہے۔

پلیٹ فارم کو مشین لرننگ اور خفیہ معلومات کی پروسیسنگ کے لیے ایپلی کیشنز کو چلانے کے لیے ڈیزائن کردہ خصوصی چپس میں ایپلی کیشن کے لیے ایک نظر کے ساتھ تیار کیا جا رہا ہے، جس کے لیے خصوصی سطح کے تحفظ اور ناکامیوں کی عدم موجودگی کی تصدیق کی ضرورت ہوتی ہے۔ اس طرح کی ایپلی کیشنز کی مثالوں میں ایسے نظام شامل ہیں جو لوگوں کی تصاویر اور آواز کی ریکارڈنگ میں ہیرا پھیری کرتے ہیں۔ KataOS کا قابل اعتبار تصدیق کا استعمال اس بات کو یقینی بناتا ہے کہ اگر سسٹم کا ایک حصہ ناکام ہوجاتا ہے، تو یہ ناکامی باقی سسٹم اور خاص طور پر کرنل اور اہم حصوں تک نہیں پھیلے گی۔

seL4 فن تعمیر کرنل کے وسائل کو صارف کی جگہ میں منظم کرنے کے لیے حصوں کو منتقل کرنے اور اس طرح کے وسائل جیسے صارف کے وسائل کے لیے ایک ہی رسائی کنٹرول ٹولز کو لاگو کرنے کے لیے قابل ذکر ہے۔ مائیکرو کرنل فائلوں، عملوں، نیٹ ورک کنکشنز، اور اس طرح کے انتظام کے لیے تیار شدہ اعلیٰ سطحی تجریدات فراہم نہیں کرتا؛ اس کے بجائے، یہ فزیکل ایڈریس اسپیس، انٹرپٹس، اور پروسیسر وسائل تک رسائی کو کنٹرول کرنے کے لیے صرف کم سے کم میکانزم فراہم کرتا ہے۔ ہارڈ ویئر کے ساتھ تعامل کے لیے اعلیٰ سطحی تجریدات اور ڈرائیورز کو صارف کی سطح کے کاموں کی شکل میں مائیکرو کرنل کے اوپر الگ سے لاگو کیا جاتا ہے۔ مائیکرو کرنل کو دستیاب وسائل تک اس طرح کے کاموں تک رسائی کو قواعد کی تعریف کے ذریعے منظم کیا جاتا ہے۔

اضافی تحفظ کے لیے، مائیکرو کرنل کے علاوہ تمام اجزاء مقامی طور پر محفوظ پروگرامنگ تکنیکوں کا استعمال کرتے ہوئے رسٹ میں تیار کیے گئے ہیں جو میموری کی غلطیوں کو کم کرتے ہیں جو فری کرنے کے بعد میموری تک رسائی، null pointer dereferences، اور buffer overruns جیسے مسائل کا باعث بنتے ہیں۔ SeL4 ماحول میں ایک ایپلیکیشن لوڈر، سسٹم سروسز، ایپلیکیشن ڈویلپمنٹ کے لیے ایک فریم ورک، سسٹم کالز تک رسائی کے لیے ایک API، ایک پروسیس مینیجر، ڈائنامک میموری ایلوکیشن کے لیے ایک طریقہ کار، وغیرہ کو Rust میں لکھا گیا تھا۔ تصدیق شدہ اسمبلی CAmkES ٹول کٹ کا استعمال کرتی ہے، جو seL4 پروجیکٹ کے ذریعے تیار کی گئی ہے۔ CAmkES کے اجزاء زنگ میں بھی بنائے جا سکتے ہیں۔

مورچا کمپائل ٹائم پر ریفرنس چیکنگ، آبجیکٹ کی ملکیت اور آبجیکٹ لائف ٹائم ٹریکنگ (اسکوپس) کے ذریعے میموری کی حفاظت کو نافذ کرتا ہے، اور رن ٹائم پر میموری تک رسائی کی درستگی کا جائزہ لے کر۔ زنگ انٹیجر اوور فلو کے خلاف بھی تحفظ فراہم کرتا ہے، استعمال سے پہلے متغیر اقدار کو شروع کرنے کی ضرورت ہوتی ہے، ڈیفالٹ کے لحاظ سے ناقابل تغیر حوالہ جات اور متغیرات کا تصور استعمال کرتا ہے، اور منطقی غلطیوں کو کم کرنے کے لیے مضبوط جامد ٹائپنگ پیش کرتا ہے۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں