eMicro: Real-Time Multi-Hop Access Control for Microservices with eBPF
यह शोध पत्र eMicro प्रस्तुत करता है, जो एक कुशल, eBPF-आधारित पाथ-अवेयर (path-aware) रक्षा प्रणाली है, जो सुरक्षा नीतियों को डिटरमिनिस्टिक फाइनाइट ऑटोमेटा (deterministic finite automata) के रूप में एनकोड करके माइक्रोसर्विसेज के लिए रियल-टाइम मल्टी-हॉप एक्सेस कंट्रोल लागू करती है ताकि नगण्य रनटाइम ओवरहेड के साथ जटिल मल्टी-हॉप हमलों को रोका जा सके।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि इंटरनेट एक विशाल, हलचल भरा शहर है जहाँ हर इमारत एक छोटा, विशिष्ट कार्यकर्ता जिसे "माइक्रोसर्विस" (microservice) कहा जाता है, की तरह है। एक विशाल कारखाने के सब कुछ करने के बजाय, ये कार्यकर्ता काम पूरा करने के लिए एक-दूसरे को नोट्स पास करते हैं। कभी-कभी, एक नोट बेकरी (Bakery) से बैंक (Bank) को जाता है, फिर सुरक्षा गार्ड (Security Guard) के पास, और अंत में वॉल्ट (Vault) तक पहुँचता है। आधुनिक ऐप्स इसी तरह काम करते हैं: वे इन हजारों छोटे-छोटे सेवाओं से बने होते हैं जो एक जटिल नृत्य की तरह आपस में बात करती हैं।
लेकिन यहाँ पेचीदा हिस्सा यह है: सुरक्षा गार्ड आमतौर पर केवल उस व्यक्ति की जाँच करते हैं जो उनके ठीक सामने खड़ा होता है। यदि बेकरी बैंक को एक नोट भेजती है, तो गार्ड यह देखता है कि क्या बेकरी को बैंक से बात करने की अनुमति है। वे यह नहीं देखते कि बेकरी वहाँ कैसे पहुँची। इससे एक चालाकी भरा रास्ता (loophole) बन जाता है। एक बुरा आदमी बेकरी को धोखा देकर बैंक को नोट भेजने के लिए मजबूर कर सकता है, और बैंक सोच सकता है, "ओह, बेकरी मुझसे बात कर रही है, यह तो ठीक है!" बिना यह समझे कि बेकरी वास्तव में एक हैकर द्वारा नियंत्रित की जा रही थी। इसे "मल्टी-हॉप अटैक" (multi-hop attack) कहा जाता है, जहाँ बुरा आदमी एक वैध कार्यकर्ता से दूसरे तक कूदता है, विश्वास की एक ऐसी श्रृंखला बनाता है जो हर कदम पर ठीक दिखती है लेकिन वास्तव में शुरू से अंत तक एक आपदा होती है।
जिस शोध पत्र को आप पढ़ने जा रहे हैं, उसका नाम eMicro है, और यह इसी समस्या से निपटता है। यह सवाल उठता है: हम इन चालाक श्रृंखलाओं को बिना काम को धीमा किए या हर कार्यकर्ता को इतिहास का एक भारी, बड़ा बैग ढोने के लिए मजबूर किए, कैसे रोक सकते हैं? लेखकों ने, जो वर्जीनिया टेक, आईबीएम (IBM) और अन्य संस्थानों के शोधकर्ताओं की एक टीम है, एक ऐसा सिस्टम बनाया है जो एक सुपर-स्मार्ट, अदृश्य ट्रैफिक पुलिस की तरह काम करता है। केवल दरवाजे पर खड़े व्यक्ति की जाँच करने के बजाय, यह पुलिस नोट की यात्रा की पूरी कहानी जानती है। यह eBPF नामक एक विशेष तकनीक का उपयोग करता है (जो प्रोग्रामों को कंप्यूटर के मुख्य इंजन के भीतर सुरक्षित रूप से चलने देती है) ताकि वह श्रमिकों की वर्दी बदले बिना उनके पथ को ट्रैक कर सके। वे एक चतुर गणितीय ट्रिक का भी उपयोग करते हैं जिसे DFA (एक प्रकार का फ्लोचार्ट) कहा जाता है, ताकि नियमों को इतनी कुशलता से याद रखा जा सके कि यह लगभग कोई जगह न घेरे। परिणाम? यह वास्तविक समय में इन चालाक हमलों को रोकता है, अविश्वसनीय रूप से तेज़ काम करता है, और बिना किसी परेशानी के विशाल क्लाउड सिस्टम में फिट हो जाता है।
चालाक श्रृंखला प्रतिक्रिया (The Sneaky Chain Reaction)
मान लीजिए कि आपके पास एक फोटो-शेयरिंग ऐप है। इसमें एक मुख्य द्वार (nginx), एक फोटो एडिटर (media), एक स्टोरेज रूम (cloud), और पासवर्ड के लिए एक तिजोरी (creds) है। एक सामान्य दिन में, एक उपयोगकर्ता फोटो के लिए मुख्य द्वार से अनुरोध करता है। मुख्य द्वार एडिटर से पूछता है, एडिटर स्टोरेज रूम से पूछता है, और पॉप—आपको अपनी तस्वीर मिल जाती है। यह एक सुरक्षित पथ है।
अब, कल्पना कीजिए कि एक हैकर मुख्य द्वार में एक छोटी सी दरार ढूंढ लेता है। वे मुख्य द्वार को पासवर्ड वॉल्ट से एक कुंजी (key) माँगने के लिए मजबूर करते हैं, यह नाटक करते हुए कि यह एक सामान्य अनुरोध है। एक पारंपरिक सुरक्षा गार्ड मुख्य द्वार और पासवर्ड वॉल्ट को देखेगा और कहेगा, "हे, मुख्य द्वार को कभी-कभी वॉल्ट से बात करने की अनुमति है, इसलिए आगे बढ़ो!" गार्ड इस तथ्य को मिस कर देता है कि मुख्य द्वार को वास्तव में फोटो एडिटर से बात करनी चाहिए थी, न कि वॉल्ट से। हैकर सफलतापूर्वक वर्कफ़्लो को "मोड़" (bend) देता है।
यही "मल्टी-हॉप" की समस्या है। हमला एक बड़ा विस्फोट नहीं है; यह छोटी, कानूनी दिखने वाली कदमों की एक श्रृंखला है जो मिलकर एक आपदा बनाती है। शोध पत्र बताता है कि पुराने सुरक्षा सिस्टम उन गार्डों की तरह हैं जो केवल अपने सामने खड़े व्यक्ति को देखते हैं। उन्हें इस बात से कोई फर्क नहीं पड़ता कि उस व्यक्ति को पाँच कदम पीछे किसी अजनबी ने धक्का दिया था।
eMicro का आगमन: कहानी रखने वाला (The Story-Keeper)
इस समस्या को ठीक करने के लिए लेखकों ने eMicro बनाया है। eMicro को एक ऐसे सिस्टम के रूप में सोचें जो हर अनुरोध को एक "स्टोरी टैग" (कहity tag) देता है। जब कोई अनुरोध शुरू होता है, तो उसे एक छोटा सा लेबल मिलता है। जब वह मुख्य द्वार से एडिटर तक जाता है, तो लेबल अपडेट होकर कहता है, "मैं मुख्य द्वार से आया हूँ।" जब वह स्टोरेज रूम में जाता है, तो लेबल कहता है, "मैं मुख्य द्वार से आया हूँ, फिर एडिटर से।"
यदि कोई हैकर मुख्य द्वार को सीधे पासवर्ड वॉल्ट तक जाने के लिए धोखा देने की कोशिश करता है, तो लेबल गलत होगा। यह कहेगा, "मैं मुख्य द्वार हूँ," लेकिन वॉल्ट एक ऐसे लेबल की अपेक्षा करता है जो कहे, "मैं मुख्य द्वार हूँ बाद में एडिटर से बात करने के बाद।" सिस्टम इस विसंगति को देख लेता है और अनुरोध को तुरंत रोक देता है।
लेकिन यहाँ जादू है: हर अनुरोध के लिए एक पूर्ण कहानी टैग ले जाना भारी और धीमा होगा। कल्पना कीजिए कि हर बार टेक्स्ट भेजने पर, आपको उन सभी लोगों की 50 पन्नों की जीवनी लगानी पड़े जिनसे आपने बात की है। इससे नेटवर्क जाम हो जाएगा।
जादुई फ्लोचार्ट (DFA)
"भारी बैग" की समस्या को हल करने के लिए, शोधकर्ताओं ने Deterministic Finite Automaton (DFA) नामक एक चतुर गणितीय ट्रिक का उपयोग किया। पूरी कहानी लिखने के बजाय, सिस्टम नियमों को एक विशाल, कुशल फ्लोचार्ट में बदल देता है।
एक फ्लोचार्ट की कल्पना करें जहाँ आपका हर कदम आपको एक नए घेरे (circle) की ओर ले जाता है।
- घेरा 0: शुरुआत।
- घेरा 1: आपने मुख्य द्वार से बात की।
- घेरा 2: आपने मुख्य द्वार, फिर एडिटर से बात की।
- घेरा 3: आपने मुख्य द्वार, एडिटर, फिर स्टोरेज से बात की।
सिस्टम "मुख्य द्वार, एडिटर, स्टोरेज" शब्द नहीं ले जाता। यह केवल उस घेरे की संख्या ले जाता है जिसमें आप हैं (जैसे, "घेरा 3")। यदि आप घेरा 1 से सीधे पासवर्ड वॉल्ट पर कूदने की कोशिश करते हैं, तो फ्लोचार्ट कहता है, "रुको, घेरा 1 से वॉल्ट तक कोई रेखा नहीं है!" और आपको ब्लॉक कर देता है।
यह अविश्वसनीय रूप से कुशल है। शोध पत्र दिखाता है कि जबकि इतिहास लिखने का एक "मानक" तरीका सैकड़ों बिट्स (1 और 0 की लंबी स्ट्रिंग की तरह) की आवश्यकता हो सकती है, यह फ्लोचार्ट विधि इसे कुछ ही बिट्स में सिकोड़ देता है। अपने परीक्षणों में, उन्होंने केवल 100 MB स्थान में 50 मिलियन अलग-अलग सुरक्षा नियम संग्रहीत किए। यह एक स्मार्टफोन में लाखों किताबों के पुस्तकालय को फिट करने जैसा है।
अदृश्य ट्रैफिक पुलिस (eBPF)
eMicro इन लेबलों को इतनी तेज़ी से कैसे अपडेट करता है कि उसे हर कंप्यूटर प्रोग्राम के कोड को बदलने के लिए कहने की ज़रूरत न पड़े? उत्तर है eBPF।
eBPF को कंप्यूटर के इंजन (kernel) के भीतर चलने वाले छोटे, सुरक्षित प्रोग्राम के रूप में सोचें। आमतौर पर, यह ट्रैक करने के लिए कि क्या हो रहा है, आपको हर ऐप को एक ट्रैकर इंस्टॉल करने के लिए कहना पड़ता, जो एक दुस्वप्न है। eMicro ऐसा नहीं करता है। इसके बजाय, यह अपने छोटे प्रोग्रामों को नेटवर्क पाइपों और कंप्यूटर की आंतरिक प्रक्रियाओं से जोड़ देता है।
जब कोई अनुरोध पैकेट किसी सेवा से बाहर निकलता है, तो eBPF प्रोग्राम उसे पकड़ता है, "घेरा संख्या" (लेबल) को अपडेट करता है, और उसे जाने देता है। यह इतना तेज़ होता है कि अनुरोध को इसका पता भी नहीं चलता। शोध पत्र ने इसे मापा और पाया कि eMicro एक अनुरोध की जाँच करने में 1 माइक्रोसेकंड (एक सेकंड का दस लाखवाँ हिस्सा) से भी कम का समय जोड़ता है। यह मानवीय आँख के झपकने से भी तेज़ है।
उन्होंने क्या पाया
टीम ने यह सुनिश्चित करने के लिए कि यह वास्तव में काम करता है, eMicro का कई अलग-अलग तरीकों से परीक्षण किया:
- हमलों को रोकना: उन्होंने तीन प्रकार के चालाक हमलों का अनुकरण किया, जिसमें सेवाओं को गलत जगहों से बात करने के लिए धोखा देने वाले हैकर्स और नेटवर्क को स्कैन करने के लिए दुर्भावनापूर्ण सॉफ़्टवेयर शामिल थे। eMicro ने इन हमलों को 100% रोका। इसके विपरीत, पुराने "नेक्स्ट-डोर-चेक" सुरक्षा तरीकों ने केवल एक बहुत छोटे हिस्से को पकड़ा। उदाहरण के लिए, 6-चरणीय श्रृंखला में, पुराने तरीकों ने केवल 0.3% खराब रास्तों को पकड़ा, जबकि eMicro ने सब कुछ पकड़ लिया।
- गति: उन्होंने अपने सिस्टम के माध्यम से 12 मिलियन अनुरोध चलाए। eMicro ने ट्रैफ़िक को सुचारू रूप से बहने दिया, जिससे लगभग कोई देरी नहीं हुई। यह पुराने केंद्रीकृत सिस्टम की तुलना में 35% तेज़ था जो समान कार्य करने की कोशिश करते थे लेकिन हर बार अनुमति के लिए एक केंद्रीय बॉस से पूछना पड़ता था।
- स्थान: जैसा कि उल्लेख किया गया है, उन्होंने 100 MB मेमोरी में 50 मिलियन नीतियां संग्रहीत कीं। यह एक बहुत बड़ा सुधार है क्योंकि पुराने तरीकों को गीगाबाइट स्थान की आवश्यकता होती।
- विश्वसनीयता: उन्होंने यह भी परीक्षण किया कि नेटवर्क में कंप्यूटर क्रैश होने पर क्या होता है। eMicro Raft नामक एक सिस्टम का उपयोग करता है ताकि सभी कंप्यूटर नियमों पर सहमत हों। यदि एक क्रैश हो जाता है, तो अन्य काम संभाल लेते हैं, और सिस्टम 4 सेकंड के भीतर रिकवर हो जाता है।
यह क्यों महत्वपूर्ण है
शोध पत्र निष्कर्ष निकालता है कि eMicro एक व्यावहारिक, वास्तविक दुनिया का समाधान है। इसके लिए दुनिया के सभी सॉफ़्टवेयर को फिर से लिखने की आवश्यकता नहीं है, और यह काम को धीमा नहीं करता है। यह साबित करता है कि आप एक ऐसा सुरक्षा गार्ड रख सकते हैं जो हर अनुरोध की पूरी कहानी जानता है, न कि केवल उसके सामने खड़े व्यक्ति को।
लेखक सावधानी बरतते हुए कहते हैं कि हालांकि उनका सिस्टम माइक्रोसर्विस के लिए महान है, लेकिन यह हर सुरक्षा समस्या के लिए जादू की छड़ी नहीं है। यह मानकर चलता है कि कंप्यूटर का मुख्य इंजन (kernel) सुरक्षित है। यदि कोई हैकर कंप्यूटर के मस्तिष्क पर पूर्ण नियंत्रण पा लेता है, तो वह गार्ड को बंद कर सकता है। लेकिन क्लाउड हमलों के अधिकांश मामलों के लिए, जहाँ हैकर सेवाओं के बीच की दरारों से घुसने की कोशिश करते हैं, eMicro उन छेदों को भर देता है।
संक्षेप में, eMicro आधुनिक ऐप्स के जटिल, अदृश्य जाल को एक स्पष्ट, तेज़ और अटूट सेट नियमों में बदल देता है। यह कार्यकर्ताओं के एक अराजक शहर को एक सुव्यवस्थित टीम में बदल देता है जहाँ हर कोई जानता है कि उसे किससे बात करनी है, और कोई भी पिछले दरवाजे से घुसपैकर नहीं रह सकता।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।