ایک ایسا آپریٹنگ سسٹم جہاں اختیار رکھا جاتا ہے، فرض نہیں کیا جاتا
تقریباً ہر نقب زنی ایک ہی طرح ہوتی ہے: کوئی پروگرام ایسی چیز تک پہنچ جاتا ہے جسے چھونا اس کا کام کبھی نہیں تھا۔ ParanoidBSD ایسا آپریٹنگ سسٹم ہے جو اسے یہ کرنے ہی نہیں دیتا۔ ہر پروگرام کو صرف اتنا دیا جاتا ہے جتنی اس کی ضرورت ہے، اور باقی سب محض ممنوع نہیں — پہنچ ہی سے باہر ہے۔ HardenedBSD پر بنا، جدید C++ میں دوبارہ لکھا گیا، اور اصل کوڈ ساتھ رکھا گیا تاکہ ہر تبدیلی اس کے مقابل جانچی جا سکے۔
یہ کیا ہے، ایک منٹ میں
آپریٹنگ سسٹم اُس ہر چیز کے نیچے ہوتا ہے جو کوئی ادارہ چلاتا ہے۔ زیادہ تر دہائیوں پرانے کوڈ پر بنے ہیں، اور کسی بھی پروگرام کو کچھ بھی مانگنے دیتے ہیں — اجازت دینی ہے یا نہیں، نظام یہ فیصلہ بعد میں کرتا ہے۔ یہی وجہ ہے کہ کسی بے ضرر چیز کی ایک خرابی، مثلاً اسکرین پر فونٹ بنانے والے کوڈ کی، پاس ورڈ کی چوری پر ختم ہو سکتی ہے۔
ParanoidBSD پہلے ہی یہ بدل دیتا ہے کہ کوئی پروگرام مانگ کیا سکتا ہے۔ درخواست کے بعد اجازت جانچنے کے بجائے، وہ ہر پروگرام کو ایک مختصر فہرست تھما دیتا ہے کہ وہ کن چیزوں کو چھو سکتا ہے، اور کسی اور چیز کا نام لینے کا راستہ ہی نہیں دیتا۔ ایک حصے کی خرابی باقی نظام تک پہنچنے کا راستہ نہیں رہتی۔
دفاع اور حکومت کے وہ فراہم کنندہ جن سے اب محفوظ تر زبانوں میں لکھا سافٹ ویئر مانگا جا رہا ہے۔ وہ آلات جو برسوں میدان میں رہتے ہیں اور جنہیں جلدی پیچ نہیں کیا جا سکتا — کارخانوں کے کنٹرولر، طبی مشینیں، بنیادی خدمات کا ہارڈویئر۔ اور وہ اساتذہ و محققین جنہیں ایسا حقیقی آپریٹنگ سسٹم چاہیے جو اتنا چھوٹا ہو کہ سرے سے سرے تک پڑھا جا سکے۔
عمومی اختیار وہ خرابی ہے جس کا پیوند نہیں لگ سکتا
ایک روایتی Unix پر کوئی پروسیس اس فائل کو کھولنے کا حق اپنے پاس رکھتا نہیں:
/etc/master.passwd۔ وہ بس مانگتا ہے، اور کرنل بعد میں اس بنیاد پر فیصلہ کرتا ہے کہ پروسیس خود کو کون ظاہر کرتا ہے۔ ہر پروسیس نظام کے ہر وسیلے کا نام لے سکتا ہے۔ نام گاہ عالمی اور عمومی ہے؛ جانچ بعد میں آنے والا خیال ہے۔
یہی وجہ ہے کہ فونٹ رینڈرر میں تجزیے کی ایک ہی خرابی پاس ورڈ کی چوری بن سکتی ہے۔ رینڈرر کو پاس ورڈ فائل کی کبھی ضرورت نہیں تھی — مگر ڈھانچے میں کوئی چیز اسے مانگنے سے نہیں روکتی تھی۔
HardenedBSD یہاں پہلے ہی سنجیدہ کام کرتا ہے: ASLR، جو ہر بار پروگرام کو کسی اور جگہ لادتی ہے تاکہ حملہ آور اندازہ نہ لگا سکے کہ کیا کہاں ہے؛ CFI، جو پروگرام کو ایسے کوڈ کی طرف موڑنے سے روکتی ہے جسے چلانے کے لیے وہ بنا ہی نہیں تھا؛ اور ان کے ساتھ PaX سے اخذ کردہ تدابیر، SafeStack اور سخت میموری ایلوکیٹر۔ PBSD یہ سب رکھتا ہے اور نیچے کے سوال کی شکل بدل دیتا ہے — “کیا اس پروسیس کو اجازت ہے؟” سے “کیا اس پروسیس کے پاس اس کا ہینڈل ہے؟”
ایک سسٹم کال کے دو جواب
// Ambient authority — the traditional path int fd = open("/etc/master.passwd", O_RDONLY); // kernel walks a global namespace, then // checks uid/gid/MAC after the fact // Handle nucleus — the PBSD path auto f = dir_handle.open("master.passwd", Rights::Read); // there is no global namespace to walk. // no handle, no name, no operation.
فرق کی وضاحتی شکل، نہ کہ اُن کالوں کی لفظ بہ لفظ فہرست جو کوئی پروگرام کرنل میں کرتا ہے — یعنی اس کا API۔ مستند ماڈل یہاں ہے docs/.
ایک سسٹم کال کو مرکزے سے گزاریں
پروسیس کو کچھ ہینڈل دیں، اس کے لیے کوئی کام چنیں، اور دونوں اختیاری ماڈلوں کے بیچ بدل بدل کر دیکھیں۔ فیصلہ اور اس کی وجہ آپ کے براؤزر میں براہِ راست نکالی جاتی ہے — یہ ڈیزائن کا تدریسی ماڈل ہے، کرنل کا ایمولیٹر نہیں۔
اختیارات کا مرکزہ — ریفرنس مانیٹر
پروسیس کوشش کرتا ہے…
ٹریس
پروسیس کے پاس موجود ہینڈل
فیصلہ
“قابلِ رسائی” گنتا ہے کہ موجودہ ماڈل کے تحت یہ پروسیس فہرست میں دیے گئے کاموں میں سے کتنے سرے سے کر سکتا ہے۔ عمومی اختیار میں رسائی کا فیصلہ شناخت کرتی ہے؛ مرکزے میں وہ ہینڈل جو اس کے پاس واقعی موجود ہیں۔
pbsd/؛ تفصیل نامہ یہاں ہے:
docs/specs/.
چار مرحلے، اور ایک ماڈل جو کبھی اپنی سند خود نہیں دیتا
کسی BSD کے یوزرلینڈ اور کرنل کو ہاتھ سے C++23 میں منتقل کرنا ایک عشرے کا کام ہے۔ اسے کسی لینگویج ماڈل سے فائلیں دوبارہ لکھوا کر منتقل کرنا بظاہر درست کوڑا تیزی سے پیدا کرنے کا طریقہ ہے۔ PBSD ان میں سے کوئی نہیں کرتا۔
فہرست سازی
tools/inventory_c_sources.py اور clang_cxx23_port.py ہر C فائل کو مشکل کے حساب سے نمبر دیتے ہیں اور یہ فائل لکھتے ہیں: c_inventory.csv۔ دائرہ کار کے بارے میں کچھ بھی اندازے پر نہیں چھوڑا جاتا۔
یقینی مراحل
run_todo_passes.py درجے 0–4 میں محفوظ مشینی بازنویسیاں لگاتا ہے۔ کوئی ماڈل شامل نہیں۔ جس چیز سے کوئی مرحلہ انکار کرے وہ درج ہو جاتی ہے
refusals.jsonl میں، زبردستی نہیں کی جاتی۔
ایجنٹ کا چکر
pbsd.py ادھوری اور اڑی ہوئی فائلیں DeepSeek Flash سے بھرتا ہے، جو زیادہ سے زیادہ استدلالی محنت پر Pro تک بڑھ جاتی ہے — طے شدہ طور پر 48 Flash اور 24 Pro ورکر۔
Kickstarter اسی کے لیے رقم جمع کرتا ہے۔
تصدیقی پھاٹک
کمپائل، ASan، UBSan، تفریقی عمل درآمد اور کمپائلر کے IR کی سطح پر موازنہ۔ وہ فائل جو صرف کمپائل ہوتی ہے
غیر تصدیق شدہ ہے۔ ناکامیاں یہاں جاتی ہیں:
agent_port_failures.jsonl.
منتقلی برابری کا دعویٰ ہے
یہ کہنا کہ فائل منتقل ہو گئی، یہ کہنا ہے کہ نئی فائل پرانی جیسا برتاؤ کرتی ہے۔ یہ ایک دعویٰ ہے، اور دعووں کو شہادت چاہیے۔ جو C++23 بازنویسی کمپائل ہو جائے وہ ایک قابلِ قبول دکھتا وائر فریم ہے؛ ابھی وہی ڈیمن نہیں ہے۔
اس لیے مساوی کا نشان ہی پھاٹک ہے۔ تفریقی اجرا دونوں کو چلا کر قابلِ مشاہدہ برتاؤ کا موازنہ کرتا ہے۔ IR موازنہ جانچتا ہے کہ کمپائلر کے نزدیک دونوں کا مطلب ایک ہی ہے۔ جب تک ان میں سے ایک نہ گزرے، فائل منتقلی کے لاگ میں کھلی رہتی ہے اور پیش رفت میں شمار نہیں ہوتی — چاہے وہ کتنی ہی مکمل کیوں نہ لگے۔
وہ اصول جن کا ریپازٹری واقعی پابند ہے
جب تک تفریقی یا IR تصدیق نہ گزرے، کوئی فائل مکمل نہیں
وفاداری سے منتقل کریں — اصل کی خرابیاں چپ چاپ “درست” نہ کریں
پہلے یقینی اوزار؛ ماڈل صرف باقی بچا حصہ بھرتے ہیں
کرنل C++ آزاد ہے: -fno-exceptions -fno-rtti
docs/specs/KERNEL_CXX_ABI.md تاکہ کوئی معاون بغیر اندازے کے بتا سکے کہ کرنل کے سیاق میں کیا جائز ہے۔
ہر ماڈیول کو مکمل شمار ہونے سے پہلے سلسلۂ ماخذ کا اندراج چاہیے
docs/PROVENANCE.md بتاتا ہے کہ ہر ماڈیول کہاں سے آیا اور کس لائسنس کے تحت آیا۔ یہی چیز نیچے دیے گئے لائسنس کے بیان کو محض خواہش کے بجائے قابلِ تصدیق بناتی ہے — آپ ماڈیول بہ ماڈیول جانچ سکتے ہیں کہ کون سا کوڈ HardenedBSD سے آیا ہے اور کون سا نیا PBSD کا کام ہے۔
دو لائسنس، ایمان داری سے الگ کیے گئے
نیا PBSD کوڈ — مرکزہ، C++23 ماڈیولز، اوزار — Imortek کی معیاری شرائط پر دستیاب ہے: GNU Affero General Public License (AGPL-3.0+)، جو ذاتی استعمال، خیراتی اداروں، تعلیم اور سالانہ AUD 50,000 سے کم کمانے والے اداروں کے لیے مفت ہے، اور اس سے اوپر درجہ وار تجارتی لائسنس۔
HardenedBSD سے اخذ کیا گیا کوڈ اپنے اصل BSD لائسنس ہی پر رہتا ہے۔ اسے دوبارہ لائسنس نہیں کیا جا سکتا اور Imortek ایسا دعویٰ بھی نہیں کرتا۔ docs/PROVENANCE.md ہی وہ ریکارڈ ہے جو بتاتا ہے کہ کون سا کون سا ہے۔
نیا PBSD کام
pbsd/, tools/, scripts/، اختیارات کا مرکزہ، UDA، BIFROST، کمپوزیٹر اور تھیم۔
HardenedBSD سے اخذ شدہ
hbsd/ اور ہر وہ منتقل شدہ فائل جس کی جڑ اسی میں ہے۔ اصل شرائط، اصل انتساب۔
ایک ایسا آپریٹنگ سسٹم جس میں گھسنا زیادہ مشکل ہے
زیادہ تر نقب زنی ایک ہی قسم کی غلطی سے فائدہ اٹھاتی ہے: کوئی پروگرام ایسی میموری تک پہنچ جاتا ہے جسے چھونا اس کا کام کبھی نہیں تھا۔ ParanoidBSD ایک آزمودہ نظام کو ایسی زبان میں دوبارہ بناتا ہے جس میں یہ غلطی کہیں زیادہ مشکل ہے، اور ہر پروگرام کو صرف اتنی ہی رسائی دیتا ہے جتنی اسے واقعی درکار ہے۔
دفاعی اور سرکاری فراہم کنندگان
خریدار اب اس پر اصرار کرنے لگے ہیں کہ سافٹ ویئر ایسی زبانوں میں بنے جو حملوں کی پوری قسمیں بند کر دیں۔ صفر سے دوبارہ شروع کرنے میں ایک عشرہ لگتا ہے۔ یہ اس کے بجائے ایک آزمودہ نظام کو پار لے جاتا ہے، اور ہر بدلی ہوئی فائل کا اور اس تبدیلی کی جانچ کیسے ہوئی، اس کا تحریری ریکارڈ رکھتا ہے۔
وہ آلات جو برسوں میدان میں لگے رہتے ہیں
فیکٹری کے کنٹرولر، طبی مشینیں، بجلی پانی کا ہارڈ ویئر۔ جب کوئی خامی سامنے آتی ہے تو اکثر آپ محض کوئی اپ ڈیٹ نہیں بھیج سکتے۔ یہ اس بات کو محدود کرتا ہے کہ اندر آ جانے کے بعد گھسنے والا کہاں تک پہنچے، کیونکہ کوئی پروگرام اپنے دیے ہوئے سے آگے نہیں جا سکتا۔
جامعات اور حفاظتی محققین
ایک اصل آپریٹنگ سسٹم، اتنا چھوٹا کہ سرے سے آخر تک پڑھا جا سکے، اور موازنے کے لیے اصل ساتھ ہی رکھا ہوا۔ پڑھانے کے لیے، اور کسی واقعی چلنے والی چیز پر خیالات آزمانے کے لیے مفید۔
منتقلی اس کمپیوٹ پر چلتی ہے جو اس کے پاس نہیں
یقینی مراحل مفت ہیں۔ باقی ماندہ بھرنے والا ایجنٹ کا چکر — اور وہ تصدیقی اجرا جو اس پر پہرہ دیتے ہیں — مفت نہیں۔ مانگ بس یہی ہے۔