SHAttered क्या है? एसएचए -1 टक्कर हमले, समझाया

विषयसूची:

SHAttered क्या है? एसएचए -1 टक्कर हमले, समझाया
SHAttered क्या है? एसएचए -1 टक्कर हमले, समझाया

वीडियो: SHAttered क्या है? एसएचए -1 टक्कर हमले, समझाया

वीडियो: SHAttered क्या है? एसएचए -1 टक्कर हमले, समझाया
वीडियो: Windows 10 Tips & Tricks You Should be Using 2022 ! Windows 10 Hidden Features - YouTube 2024, मई
Anonim
2016 के पहले दिन, मोज़िला ने फ़ायरफ़ॉक्स वेब ब्राउज़र में SHA-1 नामक एक कमजोर सुरक्षा तकनीक के लिए समर्थन समाप्त कर दिया। लगभग तुरंत, उन्होंने अपने फैसले को उलट दिया, क्योंकि यह कुछ पुरानी वेबसाइटों तक पहुंच में कटौती करेगा। लेकिन फरवरी 2017 में, उनके डर अंत में सच हो गए: शोधकर्ताओं ने पहला असली दुनिया टकराव हमला करके एसएचए -1 तोड़ दिया। यहां इसका मतलब क्या है।
2016 के पहले दिन, मोज़िला ने फ़ायरफ़ॉक्स वेब ब्राउज़र में SHA-1 नामक एक कमजोर सुरक्षा तकनीक के लिए समर्थन समाप्त कर दिया। लगभग तुरंत, उन्होंने अपने फैसले को उलट दिया, क्योंकि यह कुछ पुरानी वेबसाइटों तक पहुंच में कटौती करेगा। लेकिन फरवरी 2017 में, उनके डर अंत में सच हो गए: शोधकर्ताओं ने पहला असली दुनिया टकराव हमला करके एसएचए -1 तोड़ दिया। यहां इसका मतलब क्या है।

एसएचए -1 क्या है?

Image
Image

एसएचए -1 में एसएचए का मतलब है सुरक्षित हैश एल्गोरिदम, और, बस शब्दों में कहें, आप इसे गणित की समस्या या विधि के रूप में सोच सकते हैं इसमें डाले गए डेटा को स्कैम्बल करता है। संयुक्त राज्य अमेरिका एनएसए द्वारा विकसित, यह इंटरनेट पर महत्वपूर्ण प्रसारण को एन्क्रिप्ट करने के लिए उपयोग की जाने वाली कई तकनीकों का मुख्य घटक है। सामान्य एन्क्रिप्शन विधियों एसएसएल और टीएलएस, जिन्हें आपने सुना होगा, आपके ब्राउज़र टूलबार में देखे गए हस्ताक्षरित प्रमाणपत्र बनाने के लिए SHA-1 जैसे हैश फ़ंक्शन का उपयोग कर सकते हैं।

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

यह बहुत सारी तकनीकी जानकारी है, लेकिन इसे सरलता से रखने के लिए: हैश एन्क्रिप्शन के समान नहीं है, तब से यह पहचानने के लिए प्रयोग किया जाता है कि फ़ाइल बदल गई है या नहीं.

यह तकनीक मुझे कैसे प्रभावित करती है?

Image
Image

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

Image
Image

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

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

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

टकराव का दौरा क्या है, और क्या यह असली दुनिया में संभव है?

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

यह SHA-1 समेत सभी हैंश में अंतर्निहित कमजोरी है। सैद्धांतिक रूप से, एसएचए फ़ंक्शन को किसी भी डेटा के लिए एक अद्वितीय हैश बनाना चाहिए, लेकिन जैसे ही हैश की संख्या बढ़ती है, यह अधिक संभावना है कि डेटा के विभिन्न जोड़े एक ही हैश बना सकते हैं।तो कोई एक विश्वसनीय हैश के साथ एक विश्वसनीय प्रमाण पत्र के साथ एक अविश्वसनीय प्रमाणपत्र बना सकता है। अगर वे आपको उस अविश्वसनीय प्रमाणपत्र को स्थापित करने के लिए मिला, तो यह भरोसेमंद हो सकता है, और दुर्भावनापूर्ण डेटा वितरित कर सकता है।
यह SHA-1 समेत सभी हैंश में अंतर्निहित कमजोरी है। सैद्धांतिक रूप से, एसएचए फ़ंक्शन को किसी भी डेटा के लिए एक अद्वितीय हैश बनाना चाहिए, लेकिन जैसे ही हैश की संख्या बढ़ती है, यह अधिक संभावना है कि डेटा के विभिन्न जोड़े एक ही हैश बना सकते हैं।तो कोई एक विश्वसनीय हैश के साथ एक विश्वसनीय प्रमाण पत्र के साथ एक अविश्वसनीय प्रमाणपत्र बना सकता है। अगर वे आपको उस अविश्वसनीय प्रमाणपत्र को स्थापित करने के लिए मिला, तो यह भरोसेमंद हो सकता है, और दुर्भावनापूर्ण डेटा वितरित कर सकता है।
Image
Image

दो फाइलों के भीतर मिलान करने वाले हैंश ढूंढना एक कहा जाता है टक्कर हमला । कम से कम एक बड़े पैमाने पर टकराव का हमला एमडी 5 हैश के लिए पहले से ही हुआ है। लेकिन 27 फरवरी, 2017 को, Google ने SHATtered की घोषणा की, एसएचए -1 के लिए पहली बार तैयार की गई टक्कर। Google एक पीडीएफ फ़ाइल बनाने में सक्षम था जिसमें अलग-अलग सामग्री होने के बावजूद एक ही पीएचडी फ़ाइल के रूप में एक ही SHA-1 हैश था।

SHAttered एक पीडीएफ फाइल पर किया गया था। पीडीएफ अपेक्षाकृत ढीले फ़ाइल प्रारूप हैं; पाठकों को इसे खोलने या किसी भी दृश्य अंतर पैदा करने से रोके बिना छोटे, छोटे-स्तर के परिवर्तन किए जा सकते हैं। पीडीएफ का उपयोग अक्सर मैलवेयर देने के लिए भी किया जाता है। जबकि SHAttered अन्य प्रकार की फाइलों पर काम कर सकता है, जैसे आईएसओ, प्रमाण पत्र कठोर रूप से निर्दिष्ट हैं, इस तरह के हमले की संभावना नहीं है।

तो यह हमला करने के लिए कितना आसान है? SHAttered 2012 में मार्क स्टीवंस द्वारा खोजी गई विधि पर आधारित था, जिसमें 2 ^ 60.3 (9.223 क्विंटिलियन) SHA-1 संचालन-एक चौंकाने वाली संख्या की आवश्यकता थी। हालांकि, ब्रूट फोर्स के साथ एक ही परिणाम प्राप्त करने के लिए यह विधि अभी भी 100,000 गुना कम संचालन की आवश्यकता होगी। Google ने पाया कि समानांतर में काम कर रहे 110 उच्च अंत ग्राफिक्स कार्ड के साथ, टकराव उत्पन्न करने में लगभग एक वर्ष लग जाएगा। अमेज़ॅन एडब्ल्यूएस से इस गणना समय को किराए पर लेने के लिए लगभग 110,000 डॉलर खर्च होंगे। ध्यान रखें कि कीमतें कंप्यूटर भागों के लिए गिरती हैं और आप कम के लिए अधिक शक्ति प्राप्त कर सकते हैं, SHAttered जैसे हमलों को खींचना आसान हो जाता है।

$ 110,000 बहुत कुछ प्रतीत हो सकता है, लेकिन यह कुछ संगठनों के लिए affordability के दायरे में है- जिसका अर्थ है कि वास्तविक जीवन साइबरविल्लियन डिजिटल दस्तावेज़ हस्ताक्षर तैयार कर सकते हैं, बैकअप और संस्करण नियंत्रण प्रणाली जैसे गिट और एसवीएन में हस्तक्षेप कर सकते हैं, या एक दुर्भावनापूर्ण लिनक्स आईएसओ वैध दिखाई दे सकते हैं।

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

दूसरी ओर, SHAttered पर आधारित कुछ हमले असली दुनिया में पहले से ही हो रहे हैं। एसवीएन संस्करण नियंत्रण प्रणाली फाइलों को अलग करने के लिए SHA-1 का उपयोग करती है। एक एसवीएन भंडार के लिए समान SHA-1 हैश के साथ दो पीडीएफ अपलोड करना भ्रष्ट हो जाएगा।

मैं SHA-1 हमलों से खुद को कैसे बचा सकता हूं?

ठेठ उपयोगकर्ता के लिए बहुत कुछ नहीं है। यदि आप फ़ाइलों की तुलना करने के लिए चेकसम का उपयोग कर रहे हैं, तो आपको SHA-2 (SHA-256) या SHA-3 का उपयोग SHA-1 या MD5 के बजाय करना चाहिए। इसी तरह, यदि आप एक डेवलपर हैं, तो SHA-2, SHA-3, या bcrypt जैसे अधिक आधुनिक हैशिंग एल्गोरिदम का उपयोग करना सुनिश्चित करें। यदि आप चिंतित हैं कि SHAttered का उपयोग दो अलग-अलग फ़ाइलों को एक ही हैश देने के लिए किया गया है, तो Google ने SHAttered साइट पर एक टूल जारी किया है जो आपके लिए जांच कर सकता है।

छवि क्रेडिट: लेगो फ़ायरफ़ॉक्स, हैश के बहुत सारे, कृपया वेब लेखक अज्ञात, Google को न दबाएं।

सिफारिश की: