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

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

द्वारा Auto Encoder: How to Ignore the Signal Noise7m2024/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]}।

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

अमूर्त

फायरक्रैकर एक वर्चुअल मशीन मैनेजर (VMM) है जिसे Amazon Web Services (AWS) द्वारा सर्वर रहित क्लाउड प्लेटफ़ॉर्म के लिए बनाया गया है- ऐसी सेवाएँ जो प्रति-कार्य के आधार पर अंतिम उपयोगकर्ताओं के लिए कोड चलाती हैं, और स्वचालित रूप से सर्वर इंफ्रास्ट्रक्चर का प्रबंधन करती हैं। फायरक्रैकर तेज़ और हल्के VM प्रदान करता है और कंटेनरों की गति, जो आमतौर पर छोटे कार्यों को अलग करने के लिए उपयोग किया जाता है, और VM की सुरक्षा के संयोजन का वादा करता है, जो प्रदर्शन की कीमत पर अधिक अलगाव प्रदान करते हैं। AWS का दावा है कि सुरक्षा और दक्षता का यह संयोजन, एक ही हार्डवेयर पर विभिन्न उपयोगकर्ताओं के हज़ारों उपयोगकर्ता कार्यों को चलाना न केवल संभव बनाता है बल्कि सुरक्षित भी बनाता है, जिसमें होस्ट सिस्टम सक्रिय कार्यों के बीच तेज़ी से और बार-बार स्विच करता है।


इस कार्य में, हम जांच करते हैं कि माइक्रोआर्किटेक्चरल हमलों के खिलाफ फायरक्रैकर कितना सुरक्षित है। सबसे पहले, हम फायरक्रैकर के बताए गए आइसोलेशन मॉडल की समीक्षा करते हैं और तैनाती के लिए सर्वोत्तम प्रथाओं की सिफारिश करते हैं, सर्वरलेस प्लेटफ़ॉर्म के लिए संभावित खतरे के मॉडल की पहचान करते हैं और संभावित कमज़ोरियों का विश्लेषण करते हैं। फिर, हम फायरक्रैकर द्वारा प्रदान किए गए आइसोलेशन का परीक्षण करने के लिए माइक्रोआर्किटेक्चरल अटैक प्रूफ़-ऑफ़-कॉन्सेप्ट का उपयोग करते हैं और पाते हैं कि यह स्पेक्ट्रे या एमडीएस हमलों के खिलाफ़ बहुत कम सुरक्षा प्रदान करता है। हमें दो विशेष रूप से चिंताजनक मामले मिले: 1) एक मेडुसा वैरिएंट जो फायरक्रैकर वीएम को तो ख़तरा पैदा करता है लेकिन उनके बाहर चलने वाली प्रक्रियाओं को नहीं, और AWS द्वारा सुझाए गए बचावों से कम नहीं होता है, और 2) एक स्पेक्ट्रे-PHT वैरिएंट जो अनुशंसित प्रतिवादों के लागू होने और सिस्टम में SMT अक्षम होने पर भी शोषण योग्य बना रहता है। संक्षेप में, हम दिखाते हैं कि AWS फायरक्रैकर VMM में निहित सुरक्षा को बढ़ा-चढ़ाकर बताता है और फायरक्रैकर का उपयोग करने वाले क्लाउड सिस्टम को ठीक से सुरक्षित करने के लिए अधूरा मार्गदर्शन प्रदान करता है।


सीसीएस अवधारणाएं


• सुरक्षा और गोपनीयता → वर्चुअलाइजेशन और सुरक्षा; साइडचैनल विश्लेषण और प्रतिवाद।


कीवर्ड


सिस्टम सुरक्षा, माइक्रोआर्किटेक्चरल सुरक्षा, वर्चुअल मशीन, हाइपरवाइजर, सर्वरलेस, क्लाउड सिस्टम

1 परिचय

सर्वरलेस कंप्यूटिंग क्लाउड कंप्यूटिंग में एक उभरता हुआ चलन है, जहाँ क्लाउड सेवा प्रदाता (CSP) अपने ग्राहकों को रनटाइम वातावरण प्रदान करते हैं। इस तरह, ग्राहक अपने फ़ंक्शन कोड को बनाए रखने पर ध्यान केंद्रित कर सकते हैं जबकि हार्डवेयर, ऑपरेटिंग सिस्टम (OS) और कभी-कभी रनटाइम से संबंधित प्रशासनिक कार्य CSP पर छोड़ सकते हैं। सामान्य सर्वरलेस प्लेटफ़ॉर्म मॉडल में फ़ंक्शन-एज़-ए-सर्विस (FaaS) और कंटेनर-एज़-ए-सर्विस (CaaS) शामिल हैं। चूँकि व्यक्तिगत फ़ंक्शन आम तौर पर छोटे होते हैं, लेकिन ग्राहकों के एप्लिकेशन प्रत्येक एक से लेकर हज़ारों फ़ंक्शन तक कहीं भी चल सकते हैं, CSP का लक्ष्य निष्क्रिय समय को कम करने और बदले में, लाभ को अधिकतम करने के लिए एक सर्वर पर यथासंभव अधिक फ़ंक्शन फ़िट करना है। रनटाइम वातावरण प्रदान करने का एक हल्का-फुल्का तरीका कंटेनर चलाना है, जो किसी प्रक्रिया को उसकी निर्भरताओं के साथ समाहित करता है ताकि प्रत्येक प्रक्रिया के लिए केवल आवश्यक फ़ाइलें साझा कर्नेल के शीर्ष पर वर्चुअल फ़ाइल सिस्टम में लोड की जाएँ। यह कंटेनरों के बीच स्विच को प्रक्रियाओं के बीच संदर्भ स्विच से थोड़ा अधिक कम कर देता है। दूसरी ओर, पूर्ण वर्चुअलाइजेशन वर्चुअल मशीनों (वीएम) के बीच अच्छा अलगाव प्रदान करता है और इसलिए टेनेंटों के बीच सुरक्षा प्रदान करता है, जबकि यह काफी भारी होता है क्योंकि प्रत्येक वीएम अपने स्वयं के कर्नेल के साथ आता है।


इनमें से कोई भी तरीका, कंटेनर या VM, सर्वर रहित वातावरण में उपयोग के लिए आदर्श नहीं है, जहाँ आदर्श रूप से कई उपयोगकर्ताओं के स्वामित्व वाले कई अल्पकालिक फ़ंक्शन एक साथ चलेंगे और अक्सर स्विच करेंगे, इसलिए इस उपयोग के मामले के लिए अलगाव के नए तंत्र विकसित किए गए हैं। उदाहरण के लिए, इन-प्रोसेस आइसोलेशन के लिए तंत्र [38, 45, 49] रनटाइम और अंतर्निहित कर्नेल की हमले की सतह को कम करके कंटेनरों की सुरक्षा में सुधार करने के लिए तैयार हैं। कर्नेल की सुरक्षा करना महत्वपूर्ण है, क्योंकि एक समझौता किया गया कर्नेल सीधे कंटेनर मामले में पूरी तरह से समझौता किए गए सिस्टम की ओर ले जाता है। हालाँकि, कुछ शक्तिशाली सुरक्षाएँ, जैसे कि सिस्टम कॉल को सीमित करना, कंटेनर के लिए उपलब्ध कार्यक्षमता को भी सीमित करता है और यहाँ तक कि कुछ अनुप्रयोगों के साथ संगतता भी तोड़ता है। VM शोध में, डेवलपर्स ने कभी भी छोटे और अधिक कुशल VM बनाए, जो अंततः तथाकथित माइक्रोVMs की ओर ले गए। माइक्रोVM सामान्य वर्चुअल मशीनों की तरह ही अलगाव की गारंटी देते हैं, लेकिन डिवाइस या OS समर्थन की बात करें तो उनकी क्षमताएँ बहुत सीमित हैं, जो उन्हें सामान्य VM की तुलना में अधिक हल्का बनाता है और इसलिए सर्वर रहित कंप्यूटिंग के लिए बेहतर अनुकूल बनाता है।


फायरक्रैकर [1] एक वर्चुअल मशीन मैनेजर (VMM) है जिसे सामान्य कंटेनर सिस्टम के बराबर मेमोरी ओवरहेड और स्टार्ट टाइम प्रदान करते हुए माइक्रोवीएम चलाने के लिए डिज़ाइन किया गया है। फायरक्रैकर को अमेज़न वेब सर्विसेज (AWS) द्वारा सक्रिय रूप से विकसित किया गया है और इसका उपयोग 2018 [1] से AWS लैम्ब्डा [5] और AWS फ़ार्गेट [4] सर्वरलेस कंप्यूट सेवाओं के लिए उत्पादन में किया गया है। AWS का डिज़ाइन पेपर [1] फायरक्रैकर की विशेषताओं का वर्णन करता है, यह अधिक पारंपरिक वर्चुअल मशीनों से कैसे अलग होता है, और यह जो इच्छित आइसोलेशन मॉडल प्रदान करता है: "एक ही हार्डवेयर पर चलने वाले कई फ़ंक्शन के लिए सुरक्षा, विशेषाधिकार वृद्धि, सूचना प्रकटीकरण, गुप्त चैनल और अन्य जोखिमों से सुरक्षित" [1]। इसके अलावा, AWS सीपीयू और कर्नेल के उन हिस्सों को सुरक्षित करने के लिए प्रोडक्शन होस्ट सेटअप सिफारिशें [8] प्रदान करता हम दिखाते हैं कि फायरक्रैकर स्वयं माइक्रोआर्किटेक्चरल हमले के प्रतिवाद में योगदान नहीं करता है, बल्कि पूरी तरह से होस्ट और अतिथि लिनक्स कर्नेल और सीपीयू फर्मवेयर/माइक्रोकोड अपडेट पर निर्भर करता है।


विभिन्न स्पेक्ट्रे [10, 13, 22, 30, 31, 33, 52] और माइक्रोआर्किटेक्चरल डेटा सैंपलिंग (एमडीएस) [14, 37, 46, 50] वेरिएंट जैसे माइक्रोआर्किटेक्चरल हमले मल्टी-टेनेंट सिस्टम के लिए खतरा पैदा करते हैं क्योंकि वे अक्सर सॉफ्टवेयर और आर्किटेक्चरल आइसोलेशन सीमाओं, जिसमें वीएम भी शामिल हैं, को बायपास करने में सक्षम होते हैं। स्पेक्ट्रे और एमडीएस उन टेनेंट को धमकाते हैं जो सीपीयू कोर संसाधनों जैसे ब्रांच प्रेडिक्शन यूनिट (बीपीयू) या लाइन-फिल बफर (एलएफबी) को साझा करते हैं। अधिक पारंपरिक सेवाएं प्रदान करने वाले सीएसपी लंबे समय तक चलने वाले वीएम टेनेंट को अलग सीपीयू कोर पर पिन करके साझा हार्डवेयर संसाधनों की समस्या को कम कर सकते हैं


हालाँकि, सर्वर रहित वातावरण में, माइक्रोआर्किटेक्चरल हमलों का खतरा अधिक होता है। इसका कारण विभिन्न टेनेंट द्वारा चलाए जाने वाले कार्यों की अल्पकालिकता है। सर्वर रहित वातावरण में सर्वर संसाधनों के अधिक प्रतिबद्ध होने की उम्मीद की जाती है, जिसके कारण टेनेंट फ़ंक्शन एक ही हार्डवेयर पर कंप्यूट संसाधनों के लिए प्रतिस्पर्धा करते हैं। एक साथ मल्टी-थ्रेडिंग (SMT) को अक्षम करना, जो दो भाई-बहनों द्वारा CPU संसाधनों के समवर्ती उपयोग को अक्षम कर देगा, CPU की कंप्यूट शक्ति को 30% तक कम कर देता है [34]। यदि ग्राहक विशिष्ट CPU कोर किराए पर लेते हैं, तो यह प्रदर्शन दंड स्वीकार्य हो सकता है, या CPU कोर पर दोनों थ्रेड एक साथ किराए पर लिए जा सकते हैं। लेकिन सर्वर रहित सेवाओं के लिए, प्रदर्शन दंड का सीधा अर्थ है 30% कम ग्राहक जिन्हें एक निश्चित समय में सेवा दी जा सकती है। यही कारण है कि यह मानना होगा कि अधिकांश सर्वर रहित CSP अपने सिस्टम में SMT को तब तक सक्षम रखते हैं जब तक कि वे अन्यथा न कहें। माइक्रोआर्किटेक्चरल हमले की सतह सबसे बड़ी होती है यदि SMT सक्षम है और दुर्भावनापूर्ण थ्रेड के पास साझा कोर तक समवर्ती पहुँच है। लेकिन ऐसे हमले के प्रकार भी हैं जो उतने ही अच्छे से काम करते हैं, यदि हमलावर थ्रेड पीड़ित थ्रेड को CPU कोर देने से पहले माइक्रोआर्किटेक्चर तैयार करता है या पीड़ित थ्रेड द्वारा निष्पादन रोक दिए जाने के ठीक बाद निष्पादित करता है। और भले ही SMT को CSP द्वारा अक्षम कर दिया गया हो (जैसा कि AWS लैम्ब्डा के मामले में है), टेनेंट अभी भी इस समय-स्लाइस्ड फैशन में कई अन्य लोगों के साथ CPU साझा करते हैं।


AWS का दावा है कि अप-टू-डेट माइक्रोआर्किटेक्चरल डिफेंस वाले सिस्टम पर चलने वाला फायरक्रैकर माइक्रोआर्किटेक्चरल हमलों के खिलाफ पर्याप्त सुरक्षा प्रदान करेगा [1]। फायरक्रैकर डॉक्यूमेंटेशन में माइक्रोआर्किटेक्चरल सुरक्षा उपायों के लिए विशिष्ट सिफारिशें भी शामिल हैं जिन्हें सक्षम किया जाना चाहिए। इस काम में, हम फायरक्रैकर के सुरक्षा दावों और सिफारिशों की जांच करते हैं और इसके मार्गदर्शन में चूक के साथ-साथ पूरी तरह से अनियंत्रित खतरों को भी उजागर करते हैं।


संक्षेप में, हमारा मुख्य योगदान इस प्रकार है:


• हम फायरक्रैकर वीएम पर आधारित सर्वरलेस कंप्यूट के क्रॉसटेनेंट और टेनेंट-हाइपरवाइजर अलगाव का व्यापक सुरक्षा विश्लेषण प्रदान करते हैं।


• हम माइक्रोआर्किटेक्चरल अटैक प्रूफ-ऑफ-कॉन्सेप्ट (PoCs) के खिलाफ फायरक्रैकर की रक्षा क्षमताओं का परीक्षण करते हैं, माइक्रोकोड अपडेट और लिनक्स कर्नेल के माध्यम से उपलब्ध सुरक्षा का उपयोग करते हैं। हम दिखाते हैं कि वर्चुअल मशीन स्वयं माइक्रोआर्किटेक्चरल हमलों के प्रमुख वर्गों के खिलाफ नगण्य सुरक्षा प्रदान करती है।


• हम मेडुसा एमडीएस हमले के एक ऐसे प्रकार की पहचान करते हैं जो फायरक्रैकर वीएम के भीतर से शोषण योग्य हो जाता है, भले ही वह होस्ट पर मौजूद न हो। कर्नेल शमन जो इस शोषण और अधिकांश ज्ञात मेडुसा प्रकारों से सुरक्षा करता है, उसका उल्लेख AWS के फायरक्रैकर होस्ट सेटअप अनुशंसाओं में नहीं किया गया है। इसके अतिरिक्त, हम दिखाते हैं कि SMT को अक्षम करने से पहचाने गए मेडुसा प्रकार के विरुद्ध अपर्याप्त सुरक्षा मिलती है जो कर्नेल शमन की आवश्यकता पर जोर देती है।


• हम स्पेक्ट्रे-पीएचटी और स्पेक्ट्रे-बीटीबी वेरिएंट की पहचान करते हैं जो अनुशंसित प्रतिवादों के बावजूद डेटा लीक करते हैं। स्पेक्ट्रे-पीएचटी वेरिएंट तब भी समस्या बने रहते हैं जब एसएमटी अक्षम होता है यदि हमलावर और पीड़ित समय-स्लाइस्ड फैशन में सीपीयू कोर साझा करते हैं।

1.1 जिम्मेदार प्रकटीकरण

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