AWS - Nitro Enum
Basic Information
AWS Nitro एक नवीनतम तकनीकों का समूह है जो AWS EC2 इंस्टेंस के लिए आधारभूत प्लेटफार्म बनाता है। Amazon द्वारा सुरक्षा, प्रदर्शन, और विश्वसनीयता को बढ़ाने के लिए पेश किया गया, Nitro कस्टम हार्डवेयर घटकों और एक हल्के हाइपरवाइजर का उपयोग करता है। यह पारंपरिक वर्चुअलाइजेशन कार्यक्षमता को समर्पित हार्डवेयर और सॉफ़्टवेयर में सारगर्भित करता है, हमले की सतह को कम करता है और संसाधन दक्षता में सुधार करता है। वर्चुअलाइजेशन कार्यों को ऑफलोड करके, Nitro EC2 इंस्टेंस को लगभग बरे-मेटल प्रदर्शन देने की अनुमति देता है, जो विशेष रूप से संसाधन-गहन अनुप्रयोगों के लिए लाभकारी है। इसके अतिरिक्त, Nitro सुरक्षा चिप विशेष रूप से हार्डवेयर और फर्मवेयर की सुरक्षा सुनिश्चित करता है, जिससे इसकी मजबूत संरचना और भी मजबूत हो जाती है।
Nitro Enclaves
AWS Nitro Enclaves एक सुरक्षित, अलग कंप्यूट वातावरण प्रदान करता है जो Amazon EC2 इंस्टेंस के भीतर होता है, विशेष रूप से अत्यधिक संवेदनशील डेटा को संसाधित करने के लिए डिज़ाइन किया गया है। AWS Nitro सिस्टम का उपयोग करते हुए, ये enclaves मजबूत अलगाव और सुरक्षा सुनिश्चित करते हैं, जो गोपनीय जानकारी जैसे PII या वित्तीय रिकॉर्ड को संभालने के लिए आदर्श हैं। वे एक न्यूनतम वातावरण की सुविधा देते हैं, जिससे डेटा एक्सपोजर का जोखिम काफी कम हो जाता है। इसके अतिरिक्त, Nitro Enclaves क्रिप्टोग्राफिक एटेस्टेशन का समर्थन करते हैं, जिससे उपयोगकर्ता यह सत्यापित कर सकते हैं कि केवल अधिकृत कोड ही चल रहा है, जो सख्त अनुपालन और डेटा सुरक्षा मानकों को बनाए रखने के लिए महत्वपूर्ण है।
Nitro Enclave छवियाँ EC2 इंस्टेंस के अंदर से चलती हैं और आप AWS वेब कंसोल से नहीं देख सकते कि कोई EC2 इंस्टेंस Nitro Enclave में छवियाँ चला रहा है या नहीं।
Nitro Enclave CLI installation
सभी निर्देशों का पालन करें दस्तावेज़ से। हालांकि, ये सबसे महत्वपूर्ण हैं:
Nitro Enclave Images
Nitro Enclave में चलने वाली images docker images पर आधारित होती हैं, इसलिए आप docker images से अपनी Nitro Enclave images बना सकते हैं जैसे:
जैसा कि आप देख सकते हैं, Nitro Enclave इमेजेज़ eif
(Enclave Image File) एक्सटेंशन का उपयोग करती हैं।
आउटपुट इस प्रकार दिखेगा:
एक इमेज चलाएं
दस्तावेज़ के अनुसार, एक enclave इमेज चलाने के लिए आपको इसे eif
फाइल के आकार का कम से कम 4 गुना मेमोरी असाइन करना होगा। इसे देने के लिए डिफ़ॉल्ट संसाधनों को फाइल में कॉन्फ़िगर करना संभव है।
हमेशा याद रखें कि आपको मूल EC2 instance के लिए भी कुछ संसाधन आरक्षित करने की आवश्यकता है!
एक image को संसाधन देने के बाद और यहां तक कि कॉन्फ़िगरेशन फ़ाइल को संशोधित करने के बाद भी, एक enclave image को चलाना संभव है:
Enclaves की सूची बनाएं
यदि आप एक EC2 होस्ट को समझौता करते हैं, तो चल रहे enclave images की सूची प्राप्त करना संभव है:
यह संभव नहीं है कि एक चल रहे enclave image के अंदर एक shell प्राप्त किया जाए क्योंकि यही enclave का मुख्य उद्देश्य है, हालांकि, यदि आपने पैरामीटर --debug-mode
का उपयोग किया है, तो इसका stdout प्राप्त करना संभव है:
Enclaves समाप्त करें
यदि एक हमलावर एक EC2 instance से समझौता करता है, तो डिफ़ॉल्ट रूप से वह उनके अंदर एक शेल प्राप्त करने में सक्षम नहीं होगा, लेकिन वह उन्हें समाप्त करने में सक्षम होगा:
Vsocks
Enclave चलाने वाली इमेज के साथ संवाद करने का एकमात्र तरीका vsocks का उपयोग करना है।
Virtual Socket (vsock) Linux में एक सॉकेट फैमिली है जिसे विशेष रूप से वर्चुअल मशीनों (VMs) और उनके हाइपरवाइजर के बीच या VMs के आपस में संवाद को सुविधाजनक बनाने के लिए डिज़ाइन किया गया है। Vsock होस्ट के नेटवर्किंग स्टैक पर निर्भर हुए बिना कुशल, द्विदिश संचार को सक्षम बनाता है। यह VMs को नेटवर्क कॉन्फ़िगरेशन के बिना भी संवाद करने की अनुमति देता है, कनेक्शनों की पहचान और प्रबंधन के लिए 32-बिट Context ID (CID) और पोर्ट नंबरों का उपयोग करता है। vsock API स्ट्रीम और डेटाग्राम सॉकेट प्रकारों दोनों का समर्थन करता है, TCP और UDP के समान, जो वर्चुअल वातावरण में उपयोगकर्ता-स्तरीय अनुप्रयोगों के लिए एक बहुमुखी उपकरण प्रदान करता है।
इसलिए, एक vsock पता इस प्रकार दिखता है: <CID>:<Port>
Enclave चलाने वाली इमेज के CIDs खोजने के लिए, आप निम्नलिखित cmd निष्पादित कर सकते हैं और EnclaveCID
प्राप्त कर सकते हैं:
ध्यान दें कि होस्ट से यह जानने का कोई तरीका नहीं है कि कोई CID कोई पोर्ट एक्सपोज़ कर रहा है या नहीं! जब तक कि किसी vsock पोर्ट स्कैनर जैसे https://github.com/carlospolop/Vsock-scanner का उपयोग न करें।
Vsock Server/Listener
यहां कुछ उदाहरण देखें:
Last updated