ओपनएसएसएल एमआईटीएम सीसीएस इंजेक्शन हमला
पिछले कुछ वर्षों में, विभिन्न क्रिप्टोग्राफिक पुस्तकालयों में कई गंभीर कमजोरियों की खोज की गई है। हालाँकि उनमें से कुछ ही वास्तव में बड़े पैमाने पर उपयोग किए जा सकते हैं, इससे पहले कि उनका विवरण सार्वजनिक रूप से उपलब्ध हो और पैच पैच के साथ जारी किए गए, हार्टबल के लिए गंभीर कमजोरियों ने डेवलपर्स, शोधकर्ताओं और सामान्य उपयोगकर्ताओं को इन उत्पादों की विश्वसनीयता पर ध्यान देने के लिए प्रेरित किया।
ओपनएसएसएल संस्करण 1.0.1h में हाल ही में तय किए गए बग्स में, मुख्य एक ओपनएसएसएल और टीएलएस प्रोटोकॉल के खिलाफ एमआईटीएम हमले (सीवीई-2014-0224) की संभावना है।
CVE-2014-0224 क्या है और क्या मुझे इसकी चिंता करनी चाहिए?
संक्षिप्त उत्तर: अस्पष्ट, लेकिन किसी भी अन्य सुरक्षा भेद्यता के साथ, इसे स्थगित करने और चिंता करने के बजाय इसे ठीक करना हमेशा बेहतर होता है।
अनुवादक का नोट : यह मुझे लगता है कि आपको बस चलाने और अपडेट करने की आवश्यकता है। यह भेद्यता SSL के पूरे बिंदु को स्पष्ट करती है।
इस भेद्यता का फायदा उठाने के लिए, निम्नलिखित शर्तों को पूरा करना होगा:
- क्लाइंट और सर्वर दोनों असुरक्षित होना चाहिए। क्लाइंट की ओर, ओपनएसएसएल के सभी संस्करण असुरक्षित हैं। सर्वर साइड पर, केवल संस्करण 1.0.1 वर्तमान में असुरक्षित माना जाता है। यदि भेद्यता क्लाइंट या सर्वर पर तय की जाती है, तो भेद्यता का शोषण असंभव हो जाता है।
- हमलावर को "बीच में आदमी" होना चाहिए। हमलावर को आपके पैकेट को इंटरसेप्ट और संशोधित करने में सक्षम होना चाहिए। दस साल पहले, इस तरह के एक हमले वेक्टर इंटरनेट प्रदाताओं को छोड़कर किसी के लिए लगभग असंभव लग रहा था, क्योंकि उनके पास सभी नेटवर्क उपकरणों तक पहुंच है जिसके माध्यम से इंटरनेट ट्रैफ़िक बहता है।
(अनुवादक का नोट: दस साल पहले, और अनुचित प्रदाता अब सक्रिय स्नाइपर्स का उपयोग करके पड़ोसी ट्रैफ़िक सुन सकते हैं, उदाहरण के लिए, arp-poisoning)
हालांकि, विभिन्न सार्वजनिक वायरलेस एक्सेस पॉइंट के आगमन के साथ, कैफे, रेस्तरां आदि में स्वतंत्र रूप से उपलब्ध है, MITM अधिक वास्तविक हो रहा है। इसके अलावा, कई सॉफ्टवेयर हैं जो आपको नकली एक्सेस पॉइंट बनाने की अनुमति देते हैं। जैसे ही क्लाइंट इस तरह के एक्सेस प्वाइंट से जुड़ता है, हमलावर क्लाइंट से ट्रैफ़िक के लिए "बीच में आदमी" बन सकता है। एक सफल मैन-इन-द-मिड अटैक एक हमलावर को आपकी साख, गोपनीय जानकारी को उजागर कर सकता है, या पीड़ित की पहचान को नकली करने के अवसर के साथ एक हमलावर प्रदान कर सकता है।
यह हमला कैसे काम करता है?
एक एसएसएल / टीएलएस सत्र क्लाइंटहेलो और सर्वरहेलो संदेशों के माध्यम से उचित पक्ष पर बातचीत द्वारा आरम्भ किया जाता है। प्रोटोकॉल का यह हिस्सा सत्र विशेषताओं को सेट करने के लिए ज़िम्मेदार है, जैसे कि उपयोग किए गए प्रोटोकॉल के संस्करण, एन्क्रिप्शन प्रोटोकॉल, एन्क्रिप्शन कुंजियाँ, संदेश प्रमाणीकरण कोड (मैक), आरंभीकरण वैक्टर और उपयोग किए गए एक्सटेंशन।
विभिन्न कारणों से, क्लाइंट और सर्वर दोनों बातचीत चरण के दौरान एक क्रिप्टोग्राफिक एल्गोरिदम चुनने के लिए रणनीतियों को संशोधित करने का निर्णय ले सकते हैं (बातचीत प्रोटोकॉल के साथ भ्रमित न करें)। यह ChangeCipherSpec (CCS) अनुरोध का उपयोग करके प्राप्त किया गया है। CCS में क्लाइंट और सर्वर की ओर से भेजे गए एक पैकेट होते हैं जो यह सूचित करते हैं कि निम्नलिखित डेटा को नए क्रिप्टोग्राफ़िक एल्गोरिथम और कुंजियों द्वारा संरक्षित किया जाएगा।
मानकों (RFC 2246, RFC 5246) के अनुसार "CCS को सुरक्षा मापदंडों पर बातचीत करने के बाद हैंडशेक के दौरान भेजा जाता है, लेकिन यह सत्यापित करने से पहले कि" समाप्त "संदेश भेजा गया है।" हालांकि, ओपनएसएसएल के मामले में, ऐसा नहीं है, और यह सुरक्षा मापदंडों से सहमत होने से पहले भी सीसीएस को स्वीकार करता है। यह उम्मीद की जाती है कि जब ChangeCipherSpec को गलत क्रम में स्वीकार किया जाता है, तो दोनों पक्षों के बीच सिंक से बाहर एक राज्य होगा। आमतौर पर यह इस तथ्य की ओर जाता है कि दोनों पक्षों को डिस्कनेक्ट करना होगा यदि, हालांकि, आपके पास अन्य कमजोरियां नहीं हैं।
इस भेद्यता का फायदा उठाने के लिए, "बीच में आदमी" की जरूरत है:
एक नया कनेक्शन स्थापित होने तक प्रतीक्षा करें, उसके बाद ClientHello / ServerHello संदेश। दोनों दिशाओं में सीसीएस पैकेट भेजें, जिससे ओपनएसएसएल शून्य लंबाई मास्टर कुंजी का उपयोग करेगा। सत्र कुंजी बनाई जाएगी, इस "शून्य" कुंजी के आधार पर, भविष्य के सत्र की चाबियाँ भी असुरक्षित होंगी।
बातचीत के मापदंडों को फिर से शुरू करें।
हमलावर डिक्रिप्ट और यहां तक कि प्रेषित पैकेट को संशोधित करने में सक्षम है।
ओपनएसएसएल ने इस भेद्यता को इस प्रकार तय किया: मास्टर कुंजी स्थापित करने से पहले सीसीएस पैकेट प्राप्त नहीं किया जा सकता है, और शून्य-लंबाई मास्टर कुंजी की अनुमति नहीं है।
खुद की सुरक्षा कैसे करें?
अपने वितरण द्वारा प्रदान किए गए नवीनतम संस्करण में ओपनएसएसएल पैकेज को अपग्रेड करें।
अनुवादक नोट:
ओपनएसएसएल में इस भेद्यता को 1 मई 2014 को KIKUCHI मसाशी (लेपिडम कंपनी लिमिटेड) द्वारा सूचित किया गया था। इसके पैच के आधार पर, ओपनएसएसएल के लिए फिक्स को ओपनएसएसएल टीम से स्टीफन हेंसन द्वारा विकसित किया गया था।
के लिए सही संस्करण जारी किए गए हैं
ओपनएसएसएल 0.9.8 - 0.9.8za
ओपनएसएसएल 1.0.0 - 1.0.0 मीटर
ओपनएसएसएल 1.0.1 - 1.0.1h
गेन्ट बग (निश्चित संस्करण (पूर्व में खुलता है)
Ubunt (भरोसेमंद) निश्चित (खुलता है) (1.0.1f-1ubuntu2.2) भरोसेमंद सुरक्षा; तत्काल; = शिखर)
डेबियन व्हीज़ी (1.0.1e-2 + deb7u10) में एक
फिक्स है। बाकी डेबियन (निचोड़, जेसी, सिड) वर्तमान में कमजोर हैं।
अनुवाद के लिए मदद के लिए
amarao और
valdikss का धन्यवाद।