1 पॉइंट द्वारा GN⁺ 2025-03-10 | 1 टिप्पणियां | WhatsApp पर शेयर करें

monolithic operating system kernel की समस्याएँ

  • आधुनिक operating system आमतौर पर दो मुख्य protection domains में बँटे होते हैं:
    • non-privileged domain (user mode): प्रोग्राम file access, network communication जैसे शक्तिशाली काम सीधे नहीं कर सकते
    • privileged domain (kernel mode): जब प्रोग्राम system call के जरिए kernel से कोई काम करने का अनुरोध करता है, तो kernel code वह काम करके परिणाम user mode में लौटाता है
  • अधिकांश operating systems monolithic kernel design का उपयोग करते हैं:
    • kernel के पास system के सभी hardware, memory और user data तक असीमित access अधिकार होते हैं
    • अगर software में कोई defect न हो और security breach की कोशिशें न हों, तो यह ठीक है, लेकिन वास्तविकता में bugs और security vulnerabilities मौजूद होती हैं
    • monolithic kernel का आकार बड़ा होने के कारण security vulnerability पैदा होने की संभावना अधिक होती है, और एक ही vulnerability पूरे system compromise तक ले जा सकती है
  • microkernel design सुरक्षा मजबूत करने के लिए kernel से अधिकांश functions हटा देता है और उन्हें अलग non-privileged processes में चलाता है:
    • security मजबूत की जा सकती है
    • performance में गिरावट और application software की complexity बढ़ने की समस्या हो सकती है
    • इसके बावजूद performance advantages के कारण monolithic kernel अब भी व्यापक रूप से उपयोग किए जाते हैं
  • Apple का XNU kernel:
    • iOS, macOS, tvOS, visionOS, watchOS में साझा रूप से इस्तेमाल होने वाला kernel
    • Mach-आधारित microkernel है, लेकिन अधिकांश system functions एक ही privileged scope में चलते हैं, इसलिए व्यवहार में यह monolithic kernel की तरह काम करता है
    • इसलिए इसमें monolithic kernel जैसी ही security vulnerabilities हो सकती हैं

isolation के प्रयास

  • software और hardware-आधारित isolation technologies को अपनाने के कई प्रयास हुए हैं:
    • Microsoft Virtualisation-based Security (VBS) – Windows के Credential Guard में उपयोग
    • Intel Software Guard Extension (SGX) तथा VT-X2
    • ARM TrustZone – Samsung Knox, Samsung Pay, Android Verified Boot, Android secure PIN input आदि में उपयोग

Apple भी kernel से data को अलग करने की कोशिशों का दायरा धीरे-धीरे बढ़ाता रहा है

  • 2013 — Apple Secure Enclave

    • पहली बार 2013 में iPhone 5s में पेश किया गया
    • Secure Enclave एक स्वतंत्र hardened CPU core पर चलता है और microkernel-आधारित OS SepOS पर काम करता है
      • SepOS का kernel Apple का custom L4 embedded microkernel cL4 उपयोग करता है
      • encryption keys और biometric data (जैसे Face ID) जैसे sensitive data को store और protect करता है
      • iOS kernel से स्वतंत्र रूप से चलता है और केवल सुरक्षित interaction के जरिए iOS को services देता है
      • iOS kernel compromise हो जाने पर भी, जब तक कोई अतिरिक्त exploit न हो, Secure Enclave प्रभावित नहीं होता
    • ध्यान दें कि Secure Enclave और Secure Exclave अलग अवधारणाएँ हैं
  • 2017 — Page Protection Layer (PPL)

    • iPhone 8 और iPhone X के A11 processor में पेश किया गया security feature
    • hardware + software-आधारित feature, जो kernel के केवल कुछ हिस्सों को memory page table बदलने की अनुमति देता है
      • kernel के बाकी हिस्सों की page table modification permission सीमित रहती है
      • attack surface छोटा हो जाता है, इसलिए bypass के प्रयास कम देखने को मिलते हैं
    • PPL ने protection layer जोड़ी, लेकिन kernel की अधिकांश privileges अब भी बनी रहीं, इसलिए पूर्ण security hardening की सीमा थी
  • 2021–2023 — Secure Page Table Monitor (SPTM)

    • iPhone 13 के A15 processor और iOS 17 में पेश किया गया नया feature
    • यह PPL को replace करता है, अतिरिक्त memory features को protect करता है, और उन्हें कई sub-systems में विभाजित करता है
    • code-signing verification और केवल Apple द्वारा signed code के execution को enforce करके security मजबूत करता है
    • इसी अवधि में XNU source code में exclave के अप्रत्यक्ष references दिखाई देने लगे
      • यह संभावना उठी कि SPTM द्वारा managed sub-systems ही exclave हो सकते हैं
  • 2024 — exclave: XNU के प्रमुख security model का पुनर्गठन

    • M4 और A18 processors को support करने वाले XNU source code में exclave की अवधारणा सामने आई
    • पहले के processors में exclave enabled नहीं हैं
    • यह स्पष्ट हुआ कि exclave, XNU के security model के बड़े पुनःडिज़ाइन का परिणाम हैं
  • XNU exclaves

    डिस्क्लेमर: exclaves की आंतरिक संरचना पूरी तरह open source नहीं है, इसलिए कुछ बातें अनुमान या व्याख्या हो सकती हैं

    • exclaves, XNU के मौजूदा monolithic kernel security model को बड़े पैमाने पर मजबूत करने वाला नया feature set हैं
    • exclaves, XNU से isolated resources हैं, जो kernel compromise होने पर भी सुरक्षित रहते हैं
    • exclaves की विशेषताएँ:
      • OS build के समय पहले से परिभाषित होते हैं
      • नाम या ID से पहचाने जाते हैं
      • कई प्रकारों में संगठित होते हैं
      • boot के समय initialize होते हैं
      • independent domains के रूप में व्यवस्थित होते हैं
      • SPTM नए exclave-specific page types के साथ exclave memory की रक्षा करता है
    • exclave resource types
      • shared memory buffer – kernel और exclave, दोनों से accessible
        • XNU में इसे read-only या read/write के रूप में set किया जा सकता है
      • audio buffers and sensors – camera और microphone access indicators की security मजबूत करते हैं
      • Conclave – कई resources को अपने security domain में group करता है, और इसे manage करने के लिए Conclave Manager मौजूद है
      • services – जब XNU threads call करते हैं, तो exclave में code execute होता है
  • Secure Kernel — seL4 आधारित?

    • exclave services को XNU से स्वतंत्र रूप से चलाने के लिए नया kernel Secure Kernel (SK) पेश किया गया
    • SK image file में "cL4" version string दिखाई देती है
    • संभावना अधिक है कि SK, Apple के मौजूदा cL4 (L4-आधारित) kernel के बजाय seL4 पर आधारित हो
      • XNU द्वारा SK से communication के लिए इस्तेमाल की जाने वाली IPC structure, seL4 की संरचना जैसी है
      • SK में उपयोग होने वाली strings में seL4 की कई concepts (जैसे capabilities, frames, untyped memory आदि) मिलती हैं
    • Apple का April 2024 में seL4 Foundation से जुड़ना शायद संयोग नहीं है
      • C1 processor (Apple का नया baseband chip) का kernel भी L4-आधारित लगता है
  • Secure World — ARM TrustZone?

    • SepOS अलग processor पर चलता है, जबकि SK high-speed application processor पर चलता है
    • इसके लिए अतिरिक्त processor privilege level की ज़रूरत होती है → संभव है कि इसे इनमें से किसी एक तरह लागू किया गया हो:
      • virtualization extension support
      • Apple का SPTM extension
      • ARM TrustZone technology के उपयोग की संभावना सबसे अधिक है
    • TrustZone architecture
      • system को दो worlds में विभाजित करता है:
        • Secure World – secure code execution
        • Insecure World – सामान्य code execution (XNU और iOS यहीं चलते हैं)
      • XNU source code में TrustZone के Secure World और Insecure World के बीच switching के कई references मिलते हैं
        • Apple, TrustZone के प्रस्तावित Trusted Application model के बजाय exclave service model लागू करता है
      • SK isolated environment में exclave services और resources प्रदान करता है → security मजबूत होती है
        • Secure World से Insecure World में निकलकर XNU को compromise करना बहुत कठिन होने की उम्मीद है
    • RINGGATE
      • संभावना है कि Apple, SPTM का उपयोग Secure World ↔ Insecure World transitions को manage करने के लिए करता हो
      • code में इस transition को "RINGGATE" कहा गया है

निष्कर्ष

  • exclave को अपनाने का महत्व
    • उन्नत threat actors के लगातार हमलों का जवाब देने के लिए Apple ने exclave पेश किए हैं ताकि operating system की security level को मजबूत किया जा सके
    • sensitive resources को isolate करने से ये प्रभाव अपेक्षित हैं:
      • attack surface में कमी
      • एकल kernel vulnerability के प्रभाव में कमी
  • monolithic kernel की रक्षा एक अंतहीन चुनौती है, और exclave इसे हल करने का एक approach है
    • लंबी अवधि में यह सही दिशा है या सिर्फ अस्थायी उपाय, यह स्पष्ट नहीं है
    • व्यक्तिगत उम्मीद → भविष्य में CHERI और ARM Morello आधारित redesign देखने को मिले 😊
    • लेकिन अभी के लिए यह consumer device manufacturers में सबसे बड़ा defensive प्रयास है
  • इस लेख में यह स्पष्ट रूप से नहीं बताया गया कि कौन-से specific components exclave में शिफ्ट किए गए हैं
    • build images के आधार पर लगता है कि निम्न तत्व exclave में चलते हैं:
      • secure camera/microphone indicators
      • Apple Neural Engine (ANE) features का कुछ हिस्सा
      • कुछ device drivers
      • Secure Enclave के साथ communication components
  • आगे और अधिक components के exclave में migrate होने की संभावना है
    • exclave की security effectiveness इस migration work के optimization level पर निर्भर करेगी
  • यह भी संभव है कि exclave, Apple Private Cloud Compute infrastructure में उपयोग किए जाएँ
    • cloud-आधारित AI में high-level security और privacy guarantees संभव हो सकती हैं

1 टिप्पणियां

 
GN⁺ 2025-03-10
Hacker News राय
  • Apple के नवीनतम SoC nested virtualization को सपोर्ट करते हैं, और M4 iPad Pro में camera LED के लिए exclave इस्तेमाल किया जाता है
    • उम्मीद है कि Apple Platform Security guide के अगले revision में SK exclave और Wi-Fi radar detection के लिए baseband mitigation पर चर्चा होगी
  • Apple ने SPTM में कुछ विशेष additions किए हैं
    • XNU को microkernel-प्रेरित architecture में refactor किया जा रहा है, ताकि code base को कम किया जा सके और security-sensitive tasks को अलग किया जा सके
    • memory space isolation, Secure Page Table Monitor(SPTM) की मदद से किया जाता है
    • code signing, permission validation, developer mode, restricted execution mode जैसे security-sensitive tasks, Trusted eXecution Monitor(TXM) द्वारा संभाले जाते हैं
  • यह संभवतः ARM की TrustZone technology के माध्यम से किया जाता है
    • XNU source code में TrustZone के secure world concept की ओर transition के कई references शामिल हैं
    • TrustZone के 150 से अधिक CVE मौजूद हैं
  • Google ने कुछ साल पहले Pixel में hardware nested virtualization का उपयोग करके pKVM लागू किया था, और code को Linux mainline में upstream किया था
    • लेकिन Debian "Linux Terminal" VM के अलावा pKVM/AVF का उपयोग करने वाले किसी defensive feature की घोषणा नहीं की गई
  • Steve का मानना था कि laptop एक diary है, और वह इसके लिए ज़िम्मेदारी महसूस करते थे
    • अगर Tim ने Steve की इस मान्यता को साझा नहीं किया होता, तो वह CEO नहीं बने होते
    • कुछ लोगों की राय है कि Steve की कमी महसूस होती है
  • Apple, XNU kernel को exclave के रूप में पुनर्गठित कर रहा है
    • इस लेख के लेखक ने बहुत परिष्कृत और अच्छी तरह लिखा हुआ लेख लिखा है
    • exclave को follow करने वाले के रूप में, यह अच्छी तरह लिखा हुआ लगता है
  • मैं इस स्तर के ज्ञान का अभ्यस्त नहीं हूँ, लेकिन यह जिज्ञासा है कि क्या enclave पर ही हमला करके kernel से भी ऊँचे privileges हासिल किए जा सकते हैं
    • यह भी जिज्ञासा है कि क्या यह hardware किसी coprocessor जैसा है
  • जिज्ञासा है कि इसका macOS security पर क्या प्रभाव पड़ेगा
    • Apple के documentation के अनुसार SPTM का उपयोग नहीं किया जाता
    • अभी camera indicator दिखाने वाला exclave macOS पर लागू नहीं होता, लेकिन भविष्य में हो सकता है
  • Apple अपनी "plantation" की रक्षा करने में बेहद सक्षम है
    • लेकिन उनसे खुद को बचाने वाली चीज़ क्या है, यह सवाल है
    • पूछा गया है कि क्या कभी "last geohot" की संभावना के बारे में सोचा गया है
  • Apple, SPTM का उपयोग करके secure world और non-secure world के बीच transition को manage कर सकता है
    • क्योंकि इसमें TrustZone नहीं है