क्या एक वर्चुअल मशीन (VM) उसी भौतिक मशीन पर चल रहे दूसरे VM को "हैक" कर सकती है?


12

प्रशन:

  • यदि कोई VM दूषित है (हैक किया गया है), तो मैं एक ही भौतिक मशीन पर चलने वाले अन्य VM पर क्या जोखिम उठा सकता हूं?
  • एक ही भौतिक होस्ट पर चल रहे VMs के बीच किस तरह के सुरक्षा मुद्दे हैं?
  • क्या वहाँ (आप कर सकते हैं) उन (संभावित) कमजोरियों और / या मुद्दों की एक सूची?

चेतावनी:

मुझे पता है कि कई वर्चुअलाइजेशन प्रकार / समाधान मौजूद हैं, और अलग-अलग कमजोरियां हो सकती हैं। हालाँकि, मैं ज्यादातर किसी विशेष विक्रेता बग के बजाय वर्चुअलाइजेशन तकनीकों के बारे में सामान्य सुरक्षा मुद्दों की तलाश कर रहा हूं।

कृपया वास्तविक तथ्य, (गंभीर) अध्ययन, अनुभवी मुद्दे या तकनीकी स्पष्टीकरण प्रदान करें। विशिष्ट होना। मत (केवल) अपनी राय दीजिए।

  • उदाहरण:

दो साल पहले, मैंने सुना है कि एमएमयू से संबंधित सुरक्षा मुद्दे हो सकते हैं (अन्य मशीनों को मुख्य मेमोरी तक पहुंचना, मुझे लगता है), लेकिन मुझे नहीं पता कि क्या आज के रूप में एक व्यावहारिक खतरा है, या सिर्फ एक सैद्धांतिक शोध है विषय।

संपादित करें: मैंने यह "फ्लश + रिलोड" हमला भी पाया, जो एक ही भौतिक मशीन पर G3PG गुप्त कुंजी को पुनः प्राप्त करने में सक्षम है, L3 CPU कैश का शोषण करके, भले ही GnuPG दूसरे VMपर चलता हो। GnuPG को तब से पैच किया गया है।


2
@Michael Hampton (और अन्य +3000 प्रतिनिधि) क्षमा करें, मैं इस प्रश्न को बंद करने पर सहमत नहीं हूं। मैं उम्मीद नहीं कर रहा हूं, न ही इसका जवाब देने के लिए बहस की तलाश कर रहा हूं, लेकिन केवल वास्तविक तथ्य , उद्धृत अध्ययन, लेख, या शोध पत्र, अनुभवी मुद्दों को साझा करना, अलगाव पर तकनीकी स्पष्टीकरण, आदि। आप किस तरह की बहस के बारे में सोच सकते हैं? मैं नहीं पूछ रहा हूं कि क्या वर्चुअलाइजेशन सुरक्षा के लिए "अच्छा" या "बुरा" है, मैंने ठीक पूछा: "मैं क्या जोखिम लेता हूं" और "क्या सुरक्षा"! मेरे प्रश्न को संपादित करने के लिए स्वतंत्र महसूस करें यदि आपको लगता है कि यह अधिक विशिष्ट हो सकता है, लेकिन कृपया इसे प्रतिबंधित न करें ।
२३:३३ पर टोटर

2
मुझे लगता है कि यह एक वैध प्रश्न है। अतीत में वैध चिंताएँ रही हैं, इसलिए सुरक्षा को लेकर चिंताएँ हैं। informationweek.com/government/security/...
स्टीफन Lasiewski

3
मैं वास्तव में प्रश्न को फिर से खोलने का विरोध नहीं कर रहा हूं, लेकिन मुझे लगता है कि आपको हमारी बहन साइट सूचना सुरक्षा पर बेहतर जवाब मिल सकता है (और यह प्रश्न बहुत पुराना है)।
माइकल हैम्पटन

@ मिचेल हैम्पटन आप सही हैं, मैं पूछूंगा कि क्या कोई अच्छा जवाब यहां दिखाई नहीं देता है। धन्यवाद।
23

जवाबों:


9

बेशक, एक ही हार्डवेयर पर चल रहे एक और वीएम का शोषण करना संभव है, एक काम कर रहे शोषण को देखते हुए। इसके अतिरिक्त, कोई भी मौजूद हो सकता है। आपका प्रश्न हाल के कुछ काम दिखा रहा है। मैं यहां कोई विशिष्ट कारनामे या PoC साझा नहीं करने जा रहा हूं, लेकिन मैं ख़ुशी से कहूंगा कि उन्हें कैसे बनाया जा सकता है।

इस संदर्भ में उपयोग किए जाने वाले कारनामे उन लोगों से स्वाभाविक रूप से भिन्न होते हैं जो तब कार्य करते हैं जब आप उसी मशीन पर चल रहे होते हैं जिस पर आप किसी सेवा का फायदा उठाने की कोशिश कर रहे होते हैं, और वे अलग-थलग होने के कारण काफी कठिन हो जाते हैं। हालाँकि, इस तरह के कारनामे को पूरा करने के लिए इस्तेमाल किए जा सकने वाले कुछ सामान्य तरीकों में शामिल हैं:

  • हाइपरवाइजर पर हमला करो । यदि आप VM को दिए गए हाइपरविजर पर पर्याप्त रूप से विशेषाधिकार प्राप्त खोल सकते हैं, तो आप सिस्टम पर किसी भी VM पर नियंत्रण प्राप्त कर सकते हैं। यह दृष्टिकोण करने का तरीका वीएम से हाइपरविज़र में मौजूद डेटा फ़्लो को देखने के लिए है, और अत्यधिक हाइपरविज़र-निर्भर हैं; इस प्रकार के चैनल बनाने के लिए paravirtualized ड्राइवर, क्लिपबोर्ड शेयरिंग, डिस्प्ले आउटपुट और नेटवर्क ट्रैफिक जैसी चीजें होती हैं। उदाहरण के लिए, एक Paravirtualized नेटवर्क डिवाइस के लिए एक दुर्भावनापूर्ण कॉल भौतिक एनआईसी ड्राइवर को उस ट्रैफ़िक को पारित करने के लिए जिम्मेदार हाइपरवाइज़र संदर्भ में मनमाने ढंग से कोड निष्पादन हो सकता है।
  • होस्ट पर हार्डवेयर पर हमला । कई डिवाइस फर्मवेयर अपडेट की अनुमति देते हैं, और अगर ऐसा होता है कि वीएम से उसके लिए तंत्र का उपयोग करना संभव है, तो आप नए फर्मवेयर अपलोड कर सकते हैं जो आपके इरादों के पक्ष में हैं। उदाहरण के लिए, यदि आपको एनआईसी पर फर्मवेयर को अपडेट करने की अनुमति है, तो आप इसे एक मैक पते (पीड़ित के) के लिए बाध्य ट्रैफ़िक की नकल कर सकते हैं, लेकिन एक अन्य गंतव्य मैक पते (आपका) के साथ। इस कारण से कई हाइपरविजर ऐसे कमांड को फ़िल्टर करते हैं जहां संभव हो; ESXi एक VM से उत्पन्न होने पर CPU माइक्रोकोड अपडेट को फ़िल्टर करता है।
  • होस्ट की वास्तुकला पर हमला करें। आपने जिस हमले का हवाला दिया है, अनिवार्य रूप से एक और समय-आधारित कुंजी प्रकटीकरण हमला, वह यह करता है: यह अपने संचालन में पीड़ित वीएम द्वारा उपयोग किए जा रहे डेटा को समझने के लिए संचालन समय पर कैशिंग तंत्र के प्रभाव का शोषण करता है। वर्चुअलाइजेशन के मूल में घटकों का साझाकरण है; जहां एक घटक साझा किया जाता है, एक साइड चैनल की संभावना मौजूद है। पीड़ित वीएम के संदर्भ में चलने के दौरान उसी मेजबान पर एक अन्य वीएम हार्डवेयर के व्यवहार को प्रभावित करने में सक्षम होता है, पीड़ित वीएम को हमलावर द्वारा नियंत्रित किया जाता है। संदर्भित आक्रमण, वीपीएन कैश (अनिवार्य रूप से साझा सार्वभौमिक स्थिति) के व्यवहार को नियंत्रित करने के लिए वीएम की क्षमता का उपयोग करता है ताकि पीड़ित की मेमोरी एक्सेस अधिक बार उस डेटा को प्रकट कर सके जो इसे एक्सेस कर रहा है; जहाँ भी साझा वैश्विक स्थिति मौजूद है, एक प्रकटीकरण की संभावना भी मौजूद है। उदाहरण देने के लिए काल्पनिक में कदम रखने के लिए, एक ऐसे हमले की कल्पना करें, जो ESXi के VMFS की मालिश करता है और वर्चुअल वॉल्यूम के कुछ हिस्सों को एक ही भौतिक डिस्क पते का संदर्भ देता है, या एक ऐसा हमला जिससे मेमोरी बैलूनिंग सिस्टम का मानना ​​है कि कुछ मेमोरी को साझा किया जा सकता है जब वास्तव में होना चाहिए निजी (यह बहुत समान है कि कैसे उपयोग के बाद मुक्त या दोहरे आवंटन काम करते हैं)। एक काल्पनिक सीपीयू एमएसआर (मॉडल-विशिष्ट रजिस्टर) पर विचार करें जिसे हाइपरवाइजर अनदेखा करता है लेकिन पहुंच की अनुमति देता है; यह VMs के बीच डेटा पास करने के लिए इस्तेमाल किया जा सकता है, अलगाव को तोड़ने वाले को प्रदान करने वाला माना जाता है। इस संभावना पर भी विचार करें कि संपीड़न का उपयोग किया जाता है ताकि आभासी डिस्क के डुप्लिकेट घटकों को केवल एक बार संग्रहीत किया जाए - एक (बहुत मुश्किल) साइड चैनल कुछ कॉन्फ़िगरेशन में मौजूद हो सकता है जहां एक हमलावर अपने आप को लिखकर और देख कर अन्य आभासी डिस्क की सामग्री को समझ सकता है। हाइपरवाइजर क्या करता है। बेशक एक हाइपरवाइजर को इससे बचाव करना चाहिए और काल्पनिक उदाहरण महत्वपूर्ण सुरक्षा बग होंगे, लेकिन कभी-कभी ये चीजें फिसल जाती हैं।
  • दूसरे वीएम पर सीधे हमला करें । यदि आपके पास पीड़ित वीएम के पास समीपस्थ मेजबान है, तो आप आराम से एक्सेस कंट्रोल या जानबूझकर अंतर-वीएम संचार का लाभ उठा सकते हैं, जो इस बात पर निर्भर करता है कि होस्ट को कैसे कॉन्फ़िगर किया गया है और एक्सेस कंट्रोल को तैनात करते समय क्या अनुमान लगाए गए हैं। यह केवल थोड़ा प्रासंगिक है, लेकिन यह भालू का उल्लेख करता है।

विशिष्ट हमले उत्पन्न होंगे और समय के अनुसार पैच हो जाएगा, इसलिए यह किसी विशेष तंत्र को शोषक, केवल प्रयोगशाला स्थितियों में शोषक, या अयोग्य के रूप में वर्गीकृत करने के लिए मान्य नहीं है। जैसा कि आप देख सकते हैं, हमले शामिल होते हैं और मुश्किल होते हैं, लेकिन जो एक विशेष समय में संभव होते हैं वह कुछ ऐसा होता है जो तेजी से बदलता है, और आपको तैयार रहने की आवश्यकता होती है।

उस ने कहा, जिन वैक्टरों का मैंने ऊपर उल्लेख किया है (इसके कुछ मामलों में पिछले एक के संभावित अपवाद के साथ) बस नंगे-धातु के वातावरण में मौजूद नहीं हैं। तो हां, यह देखते हुए कि सुरक्षा उन कारनामों से बचाने के बारे में है, जिनके बारे में आप नहीं जानते हैं और जो जंगली के साथ-साथ सार्वजनिक रूप से प्रकट नहीं किए गए हैं, आप नंगे धातु में या दौड़कर थोड़ी सुरक्षा प्राप्त कर सकते हैं कम से कम ऐसे माहौल में जहां हाइपरवाइजर सभी और विविध लोगों के लिए VMs की मेजबानी नहीं करता है।

सामान्य तौर पर, सुरक्षित अनुप्रयोग प्रोग्रामिंग के लिए एक प्रभावी रणनीति यह मानने के लिए होगी कि कंप्यूटर पर अन्य प्रक्रियाएं चल रही हैं जो हमलावर-नियंत्रित या दुर्भावनापूर्ण हो सकती हैं और शोषण-जागरूक प्रोग्रामिंग तकनीकों का उपयोग कर सकती हैं, भले ही आपको लगता है कि आप अन्यथा ऐसी प्रक्रिया का आश्वासन नहीं दे रहे हैं। आपके VM में मौजूद है। हालांकि, विशेष रूप से पहले दो श्रेणियों के साथ, याद रखें कि वह जो पहले हार्डवेयर को छूता है वह जीतता है।


सबसे अच्छा जवाब अभी तक, धन्यवाद! क्या आप "होस्ट्स आर्किटेक्चर" की विभिन्न प्रकार की कमजोरियों के बारे में थोड़ा और विवरण दे सकते हैं? इसके अलावा, मैं विशिष्ट कारनामों की तलाश में नहीं हूं , और अपने प्रश्न को तदनुसार संपादित किया (बस सट्टा उत्तरों से बचना चाहता हूं)।
टॉटर

अरे, यकीन है। बस एक सेकंड और मैं थोड़ा विस्तार करूँगा।
फाल्कन मोमेंट

और हो गया। यह जितना मैं चाहता हूं उससे अधिक काल्पनिक रूप से भटका करता है, लेकिन यह उदाहरण होना चाहिए।
फाल्कन मोमेंट

विशेष रूप से, एसएसएल / एसएसएच कुंजी चोरी का हमला वीएम मेहमानों पर एक ही मेजबान में काम करता है क्योंकि यह सीपीयू अनुसूचक पर सीधा हमला है।
joshudson

13

सिद्धांत रूप में, नहीं। हाइपरविजर का पूरा बिंदु आभासी मशीनों को एक दूसरे से अलग करना है।

व्यवहार में, विभिन्न हाइपरविज़र में सुरक्षा कीड़े (और भविष्य में हो सकते हैं) हो सकते हैं जो एक वर्चुअल मशीन को एक ही होस्ट पर हाइपरवाइज़र या अन्य वर्चुअल मशीनों को प्रभावित करने की अनुमति दे सकते हैं। सुरक्षा उपाय जैसे sVirt (KVM / QEMU के लिए) का उद्देश्य इस समस्या को हल करना है।


@RyanRies (और kce और माइकल हैम्पटन ) उन अच्छे उत्तरों के लिए धन्यवाद, लेकिन क्या आप अधिक विशिष्ट और तकनीकी हो सकते हैं क्योंकि प्रश्न शायद फिर से बंद हो जाएगा यदि कोई "वास्तविक तथ्य , उद्धृत अध्ययन, शोध पत्र, अनुभवी मुद्दे या तकनीकी प्रतिक्रियाएं नहीं हैं" "शामिल है, लेकिन ज्यादातर सट्टा या अस्पष्ट जवाब / सलाह। मैंने अपने प्रश्न को उसी के अनुसार संपादित किया है।
22

8

संपादित करें: मैंने सोचा था कि यह विषय महीनों पहले किया गया था, लेकिन इसे अभी पुनर्जीवित किया गया है और अब ओपी अधिक 'वास्तविक तथ्यों, उद्धृत अध्ययनों', आदि के लिए पूछ रहा है, इसलिए मुझे लगा कि बिल्ली क्या है।

इस प्रकृति के शोषण हैं:

  1. दुर्लभ
  2. प्रकृति में संवेदनशील और इसलिए खुले तौर पर साझा नहीं किया जाता है, और जब वे होते हैं, तो विक्रेता द्वारा इस साइट पर किसी से पहले किए गए कारनामों को पैच किया जाएगा।
  3. विक्रेता द्वारा जटिल और भिन्न होगा

हम यह नहीं कह सकते कि हाइपरविजर को हैक करना और अन्य वीएम तक पहुंच प्राप्त करना असंभव है। न ही हम यह बता सकते हैं कि इसमें कितना जोखिम है, सिवाय इसके कि अनुभव से हमें पता चलता है कि यह बहुत कम है, यह देखते हुए कि आपको उन हमलों की कई कहानियां नहीं मिलेंगी जिनमें हाइपरवाइजर कारनामों का इस्तेमाल किया गया था।

यहां इसके विपरीत एक दिलचस्प लेख है जो बताता है कि कुछ हाइपरवाइजर-आधारित हमलों से अधिक किया गया है।

हालाँकि, तकनीक के साथ अब पहले से कहीं अधिक हाइपरवाइज़र के आधार पर, ऐसे कारनामों को पैच किया जाएगा और लगभग किसी अन्य प्रकार के शोषण की तुलना में अधिक तात्कालिकता के साथ रक्षा की जाएगी।

यहां आईबीएम एक्स-फोर्स 2010 मिड-ईयर ट्रेंड और रिस्क रिपोर्ट का एक अंश दिया गया है:

(कृपया इस चित्र को पूर्ण आकार में देखने के लिए एक नए टैब में खोलें।)

आईबीएम एक्स-फोर्स 2010 मिड-ईयर ट्रेंड और रिस्क रिपोर्ट।

"एस्केप टू हाइपरवाइजर" कमजोरियों का मापा प्रतिशत नोटिस करें, जो मुझे बहुत डरावना लगता है। स्वाभाविक रूप से आप बाकी रिपोर्ट पढ़ना चाहेंगे क्योंकि दावों का समर्थन करने के लिए इसमें बहुत अधिक डेटा है।

यहां Playstation 3 हाइपरवाइजर पर किए गए संभावित शोषण के बारे में एक कहानी है, जो मनोरंजक है। शायद आपके व्यवसाय के लिए उतना प्रभावी नहीं है, जब तक कि आपका व्यवसाय सोनी नहीं है, जिस स्थिति में यह अत्यंत प्रभावशाली है।

यहाँ VMware के एरिक हॉर्शमैन का एक अद्भुत लेख है, जिसमें वह एक ऐसे किशोर की तरह मुझे आवाज़ दे रहा है, जो पूर्ण माइक्रो-एंटी $ टीटी जा रहा है, लेकिन यह अभी भी एक अच्छा लेख है। इस लेख में, आप इस तरह tidbits मिल जाएगा:

माइक्रोसॉफ्ट के ग्लास हाउस के निवासियों ने हमारे रास्ते पर टॉस करने के लिए कुछ अन्य पत्थर लगाए थे। Microsoft ने ESX और ESXi में अतिथि ब्रेकआउट भेद्यता के उदाहरण के रूप में CVE-2009-1244 को इंगित किया। एक अतिथि ब्रेकआउट शोषण गंभीर व्यवसाय है, लेकिन, एक बार फिर, Microsoft तथ्यों को गलत तरीके से पेश कर रहा है। VMware ने हमारे उत्पादों में उस भेद्यता को पैच करने के लिए जल्दी से प्रतिक्रिया दी, और ईएसएक्स Microsoft की तुलना में बहुत कम प्रभावित था जो आपको विश्वास करने के लिए प्रेरित करेगा:

प्रतियोगियों के बीच झगड़ा। लेकिन संभवत: पूरे लेख में वह सबसे आकर्षक बात यह है:

सच्चाई यह है कि किसी भी उद्यम सॉफ्टवेयर के लिए कमजोरियां और कारनामे पूरी तरह से दूर नहीं होंगे।


कृपया चित्र पर प्रतिशत का क्या अर्थ है?
टॉटर

यह एक हिस्टोग्राम है जो प्रत्येक लक्ष्य वर्ग में टाइप द्वारा पाए गए वल्न का प्रतिशत दर्शाता है। दूसरे शब्दों में, "वर्कस्टेशन प्रतिशत" की शीर्ष पंक्ति में 30.8% का अर्थ है कि 30.8% वुल्न्स आईबीएम एक्स-फोर्स ने पाया कि वर्कस्टेशन वर्चुअलाइजेशन सॉफ़्टवेयर ने होस्ट ओएस पर सीधे हमला किया (उदाहरण के लिए) वर्कस्टेशन पर हमला किया गया था और यह बहुत कम या कुछ भी नहीं था। वर्चुअलाइजेशन सॉफ्टवेयर या उस पर VMs के साथ करने के लिए)। Et cetera।
फाल्कन मोमेंट

6

OpenBSD परियोजना का कभी उद्धृत थियो डी रेड्ट :

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


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

यदि आप इन प्रकार के हमलों की क्षमता के बारे में चिंतित हैं (और मुझे लगता है कि आपको कुछ हद तक होना चाहिए) तो मेरा सुझाव है कि आप किसी एक वर्चुअल होस्ट या वर्चुअल होस्ट क्लस्टर पर सुरक्षा ज़ोन न मिलाएं। उदाहरण के लिए - आपके पास DMZ वर्चुअल मशीनों के लिए समर्पित दो होस्ट वर्चुअल होस्ट क्लस्टर, मिडलवेयर के लिए एक समर्पित क्लस्टर और संरक्षित संपत्ति के लिए एक समर्पित क्लस्टर होगा। इस तरह से इस घटना में कि एक भेद्यता का इस तरह से शोषण किया जाता है, जो एक हमलावर को अन्य आभासी मशीनों को खराब करने की अनुमति देता है या इससे खराब होता है कि आपका सुरक्षा मॉडल अभी भी बरकरार है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.