paint-brush
AWS फायरक्रैकर VMM की माइक्रोआर्किटेक्चरल सुरक्षा: फायरक्रैकर की कंटेनमेंट प्रणालियों का विश्लेषणद्वारा@autoencoder
463 रीडिंग
463 रीडिंग

AWS फायरक्रैकर VMM की माइक्रोआर्किटेक्चरल सुरक्षा: फायरक्रैकर की कंटेनमेंट प्रणालियों का विश्लेषण

द्वारा Auto Encoder: How to Ignore the Signal Noise3m2024/06/13
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

यह शोध पत्र इस बात की जांच करता है कि फायरक्रैकर माइक्रोआर्किटेक्चरल हमलों के खिलाफ कितना सुरक्षित है।
featured image - AWS फायरक्रैकर VMM की माइक्रोआर्किटेक्चरल सुरक्षा: फायरक्रैकर की कंटेनमेंट प्रणालियों का विश्लेषण
Auto Encoder: How to Ignore the Signal Noise HackerNoon profile picture
0-item

लेखक:

(1) ज़ेन वीसमैन, वॉर्सेस्टर पॉलिटेक्निक इंस्टीट्यूट वॉर्सेस्टर, एमए, यूएसए {[email protected]};

(2) थॉमस आइज़ेनबर्थ, ल्यूबेक विश्वविद्यालय ल्यूबेक, एसएच, जर्मनी {[email protected]};

(3) थोरे टिएमैन, ल्यूबेक विश्वविद्यालय ल्यूबेक, एसएच, जर्मनी {[email protected]};

(4) बर्क सुनार, वॉर्सेस्टर पॉलिटेक्निक इंस्टीट्यूट वॉर्सेस्टर, एमए, यूएसए {[email protected]}।

लिंक की तालिका

4. पटाखों की रोकथाम प्रणालियों का विश्लेषण

चित्र 2 फायरक्रैकर द्वारा पेश की गई रोकथाम को दर्शाता है, जैसा कि AWS द्वारा प्रस्तुत किया गया है। इस खंड में, हम प्रत्येक चित्रित घटक और माइक्रोआर्किटेक्चरल हमलों के खिलाफ उनकी सुरक्षा और कमजोरियों का विश्लेषण करते हैं


चित्र 3: उपयोगकर्ता-से-उपयोगकर्ता खतरे के मॉडल में, हम मानते हैं कि एक दुर्भावनापूर्ण क्लाउड सेवा टेनेंट दूसरे टेनेंट से जानकारी निकालने का प्रयास करता है। हम मानते हैं कि हमलावर के पास ऐप और उसके VM के रनटाइम पर नियंत्रण है जबकि अतिथि कर्नेल CSP द्वारा प्रदान किया जाता है।


चित्र 4: उपयोगकर्ता-से-होस्ट खतरा मॉडल में, दुर्भावनापूर्ण टेनेंट होस्ट सिस्टम से सूचना को बाहर निकालने का लक्ष्य रखता है, जैसे कि वर्चुअल मशीन मैनेजर या होस्ट कर्नेल। हमलावर का वर्चुअल मशीन में रनटाइम और ऐप पर नियंत्रण होता है जबकि अतिथि कर्नेल CSP द्वारा प्रदान किया जाता है।


KVM . लिनक्स कर्नेल-आधारित वर्चुअल मशीन (KVM) आधुनिक लिनक्स कर्नेल में लागू किया गया हाइपरवाइजर है और इसलिए यह लिनक्स कोड बेस का हिस्सा है। यह अंतर्निहित हार्डवेयर के पर्यवेक्षक और उपयोगकर्ता मोड को वर्चुअलाइज़ करता है, VM के बीच संदर्भ स्विच का प्रबंधन करता है, और अधिकांश VM-निकास कारणों को संभालता है जब तक कि वे I/O संचालन से संबंधित न हों। इन आर्किटेक्चरल आइसोलेशन मैकेनिज्म के अलावा, KVM होस्ट OS या हाइपरवाइजर को दुर्भावनापूर्ण मेहमानों से बचाने के लिए VM-निकास पर स्पेक्ट्रे हमलों के खिलाफ़ शमन भी लागू करता है। फायरक्रैकर अपने हाइपरवाइजर के रूप में KVM पर बहुत अधिक निर्भर करता है। हालाँकि, चूँकि KVM लिनक्स स्रोत कोड का हिस्सा है और लिनक्स समुदाय द्वारा विकसित किया गया है, इसलिए हम KVM को फायरक्रैकर का हिस्सा नहीं मानते हैं। इसलिए, KVM में लागू किए गए माइक्रोआर्किटेक्चरल हमलों के खिलाफ़ जवाबी कार्रवाई को फायरक्रैकर की रोकथाम प्रणाली के लिए जिम्मेदार नहीं ठहराया जा सकता है।


मेटाडेटा, डिवाइस और I/O सेवाएँ। मेटाडेटा, डिवाइस और I/O सेवाएँ फायरक्रैकर VMM और API के भाग हैं जो सीधे VM से इंटरैक्ट करते हैं, मेट्रिक्स को एकत्रित और प्रबंधित करते हैं और कनेक्टिविटी प्रदान करते हैं। AWS इन इंटरफेस की सरलता (कम हमले की सतह के लिए) का बखान करता है और यह कि वे फायरक्रैकर के लिए रस्ट में स्क्रैच से लिखे गए हैं, जो एक प्रोग्रामिंग भाषा है जो अपनी सुरक्षा सुविधाओं के लिए जानी जाती है [9]। हालाँकि, रस्ट सबसे उल्लेखनीय रूप से अमान्य और आउट-ऑफ-बाउंड मेमोरी एक्सेस के खिलाफ इन-प्रोसेस सुरक्षा प्रदान करता है, लेकिन कैश अटैक, स्पेक्ट्रे और एमडीएस जैसे माइक्रोआर्किटेक्चरल हमले सीधे पीड़ित की प्रक्रिया को हाईजैक करने के बजाय प्रक्रियाओं के बीच जानकारी लीक कर सकते हैं।


फायरक्रैकर और कई अन्य VMM के बीच एक और उल्लेखनीय अंतर यह है कि ये सभी सेवाएँ VM के समान ही होस्ट प्रक्रिया के भीतर चलती हैं, हालाँकि दूसरे थ्रेड में। जबकि VM के भीतर मेमोरी पतों का वर्चुअलाइजेशन अतिथि के कोड और I/O सेवाओं के बीच कुछ अस्पष्टता प्रदान करता है, कुछ स्पेक्ट्रे हमले विशेष रूप से एक ही प्रक्रिया के भीतर काम करते हैं। हालाँकि, इंट्राप्रोसेस हमले वास्तविक दुनिया की प्रणालियों के लिए कम खतरा पैदा कर सकते हैं, क्योंकि एक ही हार्डवेयर पर चलने वाले दो अतिथियों के पास इन आवश्यक सेवाओं की अपनी-अपनी प्रति होती है।


जेलर बाधा। इस घटना में कि API या VMM से समझौता किया जाता है, जेलर फायरक्रैकर इंस्टेंस के चारों ओर रक्षा की एक आखिरी बाधा प्रदान करता है। यह होस्ट सिस्टम की फ़ाइलों और संसाधनों को नामस्थानों और नियंत्रण समूहों (cgroups) के साथ क्रमशः सुरक्षित करता है [7]। माइक्रोआर्किटेक्चरल हमले सीधे फ़ाइलों को खतरे में नहीं डालते हैं, जो परिभाषा के अनुसार माइक्रोआर्किटेक्चरल स्थिति के बाहर हैं। Cgroups एक सिस्टम प्रशासक को समूहों को प्रक्रियाएँ असाइन करने और फिर प्रति-समूह के आधार पर सिस्टम संसाधन उपयोग को आवंटित, बाधित और मॉनिटर करने की अनुमति देते हैं [17]। यह प्रशंसनीय है कि cgroups के साथ लागू सीमाएँ हमलावर की कुछ माइक्रोआर्किटेक्चरल हमलों को अंजाम देने की क्षमता को बाधित कर सकती हैं। उदाहरण के लिए, मेमोरी सीमाएँ निष्कासन-आधारित कैश हमलों को अंजाम देना मुश्किल बना सकती हैं, या CPU समय सीमाएँ हमलावर को हाइपरडिग्रेड जैसे CPU इनकार-सेवा उपकरण का प्रभावी उपयोग करने से रोक सकती हैं [2] जो पीड़ित प्रक्रिया को धीमा कर सकता है, माइक्रोआर्किटेक्चरल साइड-चैनल एक्सफ़िल्टरेशन या इंजेक्शन के समय को सरल बनाता है। व्यवहार में, फायरक्रैकर को किसी विशेष सीजीग्रुप नियमों [7] के साथ वितरित नहीं किया जाता है; वास्तव में, यह विशेष रूप से डिफ़ॉल्ट लिनक्स संसाधन आवंटन [6] के तहत कई फायरक्रैकर वीएम के कुशल संचालन के लिए डिज़ाइन किया गया है।


फायरक्रैकर में कोई भी आइसोलेशन और कंटेनमेंट सिस्टम सीधे तौर पर यूजर-टू-यूजर या यूजर-टू-होस्ट हमलों से सुरक्षा प्रदान नहीं करता है। इसलिए, हमने फायरक्रैकर वीएम के अंदर और बाहर विभिन्न माइक्रोआर्किटेक्चरल अटैक प्रूफ ऑफ कॉन्सेप्ट का परीक्षण करना शुरू किया।