एक हैकर की तरह सोचें और अपने आप से पूछें कि पासवर्ड की संरचना के आधार पर कितनी जल्दी क्रैक किया जा सकता है । जब एक हैकर या प्रवेश परीक्षक सिस्टम को तोड़ता है और डेटाबेस डंप से प्लेनटेक्स्ट पासवर्ड तक पहुंचना चाहता है, तो उन्हें पहले संग्रहीत पासवर्ड हैश को क्रैक करना होगा । कई हमलावर इस अवधारणा में डुबकी लगाते हैं: वे किसी भी मनमाने पासवर्ड हमले की कोशिश करते हैं जो वे चाहते हैं, बहुत कम कारण के साथ । यह चर्चा पासवर्ड क्रैकिंग के कुछ प्रभावी तरीकों को दिखाएगी और कुशल और सफल क्रैकिंग के लिए समय-सीमित दृष्टिकोण बनाने के लिए उपकरणों के साथ पासवर्ड के सांख्यिकीय विश्लेषण का उपयोग कैसे किया जाए । यह क्यों महत्वपूर्ण है?
पासवर्ड क्रैकिंग एक मरने वाला कारण है । उपयोगकर्ताओं को अधिक जटिल पासवर्ड बनाने की आवश्यकता है, और कुछ बैक-एंड डेवलपर्स ने मानक हैश फ़ंक्शन को बदलने के लिए Bcrypt जैसे तंत्र का उपयोग करना शुरू कर दिया है । बीक्रिप्ट हैश को उत्पन्न होने में अधिक समय लगता है, इसलिए पासवर्ड को क्रैक करना अधिक कठिन हो जाता है । पासवर्ड को कुशलतापूर्वक क्रैक करने के लिए हैकर्स को बहुत जल्दी हैश उत्पन्न करने की आवश्यकता होती है, इसलिए Bcrypt ऐसे हमलों के खिलाफ एक बहुत ही शक्तिशाली उपकरण है । इस उदाहरण को चित्रित करने के लिए, 2012 में लॉन्च किया गया 25 जीपीयू क्लस्टरों द्वारा बनाया गया एक पासवर्ड क्रैकर एनटीएलएम हैश पीढ़ी की गति को 350 बिलियन हैश प्रति सेकंड प्राप्त करने में सक्षम था, जबकि बीक्रिप्ट हैश पीढ़ी की गति 71,000 थी । इसे एक तुलनात्मक मॉडल के रूप में लेते हुए, उत्पन्न प्रत्येक बीक्रिप्ट हैश के लिए, 5 मिलियन एनटीएलएम हैश उत्पन्न किए जा सकते हैं । जब Bcrpyted एल्गोरिथ्म का सामना करना पड़ता है, तो हैकर्स को पासवर्ड के बारे में अधिक कम्प्यूटेशनल अनुमान लगाना पड़ता है और हर संभावना के खिलाफ क्रूर बल का उपयोग करने पर भरोसा नहीं कर सकता है ।
नोट: यदि हमलावर जानता है कि पासवर्ड की लंबाई इतनी कम है कि कीस्पेस को क्रैक करने में लंबा समय नहीं लगेगा, तो वृद्धिशील हमले के चरण की आवश्यकता नहीं है ।
पासवर्ड को सफलतापूर्वक क्रैक करने में समय दक्षता एक महत्वपूर्ण कारक बन गई है । जबकि उपयोगकर्ता के पासवर्ड के पूरे महत्वपूर्ण स्थान को ओवरराइड करना अच्छा होगा, ऐसा करने के लिए आवश्यक समय अक्सर व्यवहार्य नहीं होता है । इसलिए, क्रैकिंग करते समय, सबसे पहले समय की बचत करने वाले हमलों की कोशिश करना महत्वपूर्ण है, और असफल होने पर, धीमे क्रिप्टोग्राफिक हमलों के साथ आगे बढ़ें जो अधिक कीस्पेस को कवर करते हैं । सबसे तेज़ तरीका आमतौर पर उपयोग किए जाने वाले उपयोगकर्ता पासवर्ड और पिछले पासवर्ड डंप पर आधारित एक सरल शब्दकोश हमला है । वहां से अंत में अंक या प्रतीक जोड़ने या अक्षर बदलने के लिए शब्दकोश में हेरफेर करने की कोशिश की जानी चाहिए । इसे हाइब्रिड हमला या नियम आधारित हमला कहा जाता है । इसके बाद, आप संभावित पासवर्ड उत्पन्न करने के लिए मशीन लर्निंग क्षमताओं का उपयोग करने का प्रयास कर सकते हैं । मार्कोव श्रृंखला एक अच्छा उदाहरण है । शब्द बनाने के लिए अंग्रेजी में मौजूद सामान्य तत्वों को जोड़कर (उदाहरण के लिए, "ing", "er", "qu"), पासवर्ड का एक अच्छा अनुमान उत्पन्न किया जा सकता है, उदाहरण के लिए, नीचे दिया गया । हालांकि किसी भी विधि का उपयोग करके इस विशेष पासवर्ड को आसानी से क्रैक किया जा सकता है, हमले के सभी वैक्टरों को सरल बनाने के लिए, हम उस पासवर्ड का उपयोग करेंगे । Password1234Password1234
अंत में, लक्षित हिंसक हमले (जिसे मास्क अटैक कहा जाता है) क्रिप्टोग्राफिक संरचना के आधार पर दिए गए पासवर्ड के सभी कीस्पेस को ओवरराइड करते हैं । पासवर्ड की "संरचना" से मेरा तात्पर्य पासवर्ड बनाने के लिए उपयोग किए जाने वाले वर्णों के प्रकार और क्रम से है । उदाहरण के लिए, एक "संरचना" जिसमें बड़े अक्षर होते हैं, उसके बाद 7 लोअरकेस अक्षर होते हैं, जिसके बाद 4 अंक होते हैं (के रूप में चिह्नित)। Password1234ullllllldddd
छोटे अक्षर , बड़े अक्षर , प्रतीक , संख्या (l)(u)(s)(d)
इसलिए, यदि हमलावर इस संरचना का उपयोग करके चरित्र संयोजन की सभी संभावनाओं को बनाने का निर्णय लेता है, तो वह अंततः पासवर्ड पा लेगा । फिर हमलावर के लिए प्रश्न बन जाता है: हैश मानों के एक सेट पर हमला करते समय, किस संरचना को पहले लक्षित किया जाना चाहिए? Password1234
इस प्रश्न का उत्तर देने में मदद करने के लिए, मैंने लोकप्रिय पासवर्ड डंप का कुछ सांख्यिकीय विश्लेषण किया है ताकि यह देखा जा सके कि क्या अन्य क्रिप्टोग्राफिक संरचनाओं की तुलना में अधिक सामान्य क्रिप्टोग्राफिक संरचना मौजूद है और यह संरचना किस हद तक सही है । 34 मिलियन से अधिक सार्वजनिक रूप से उजागर पासवर्ड के नमूना आकार में RockYou, LinkedIn, phpBB और अन्य प्रसिद्ध पासवर्ड डंप शामिल हैं ।
निम्नलिखित चित्र प्रत्येक अद्वितीय मुखौटा के लिए मुखौटा संरचना की आवृत्ति दिखाता है । लाल रेखा 50% रेखा को इंगित करती है, जो 13 वें सबसे अधिक बार दिखाई देने वाले मुखौटे के बाद दिखाई देती है ।
इसका मतलब है कि पहले 13 अद्वितीय मुखौटा संरचनाएं नमूना पासवर्ड का 50% हिस्सा हैं । नमूने में 20 मिलियन से अधिक पासवर्ड की संरचना पहले 13 मास्क में स्थित है । संरचित पासवर्ड की सार्वभौमिकता के संदर्भ में, ये परिणाम काफी चौंकाने वाले हैं । अन्य 50% लंबी दाहिनी पूंछ के भीतर मौजूद हैं, जिन्हें इस आंकड़े में कम किया गया है । वास्तव में, 260,500 अद्वितीय मुखौटों में से केवल 400 इस आंकड़े में दिखाए गए हैं । सार्वभौमिक संरचना क्रिप्टोग्राफी की यह अवधारणा अविश्वसनीय है; हालांकि, यह आश्चर्य की बात नहीं है जब आप सोचते हैं कि उपयोगकर्ता अपने पासवर्ड कैसे बनाते हैं और याद करते हैं । विश्लेषण के आंकड़ों के आधार पर, कुछ तार्किक कारक हैं जो यह समझाने में मदद करते हैं कि यह कैसे संभव है । जब उपयोगकर्ताओं को बड़े अक्षरों वाले पासवर्ड प्रदान करने के लिए कहा जाता है, तो यह 90% से अधिक समय पहले अक्षर के रूप में उपयोग किया जाता है । जब संख्याओं का उपयोग करने के लिए कहा जाता है, तो अधिकांश उपयोगकर्ता पासवर्ड के अंत में दो अंक जोड़ते हैं (संभवतः स्नातक वर्ष)। अगला सबसे लोकप्रिय विकल्प पासवर्ड को चार अंकों (संभवतः पिछले वर्ष या इस वर्ष) के साथ समाप्त करना है । इस मामले में, अगली सबसे लोकप्रिय संख्या के अंत में एक संख्या होती है और अंत में तीन संख्या होती है । इस तरह की संरचनात्मक समानताएं एक हमलावर को यह अनुमान लगाने की अनुमति देती हैं कि उपयोगकर्ता के पासवर्ड की संरचना सबसे अधिक संभावना है ।
इस संरचनात्मक ज्ञान का उपयोग करते हुए, यह मानना सुरक्षित है कि उपयोगकर्ता संभवतः अपने पासवर्ड को than (यादृच्छिक अक्षर) पर सेट करेगा, भले ही वे सभी 9 अक्षरों से शुरू हों और 9 अक्षर हों । इसलिए, हम मानते हैं कि एक क्रिप्टोग्राफिक संरचना को देखते हुए, यदि हम लगातार अक्षरों को देखते हैं, तो यह एक शब्द होने की संभावना है । यह पटाखे के लिए एक बहुत ही उपयोगी धारणा है क्योंकि यह बहुत सारे कुंजी स्थान को समाप्त करता है । यह तब एक हाइब्रिड हमला बन जाता है जो सामान्य क्रिप्टोग्राफिक संरचना के सांख्यिकीय महत्व का लाभ उठाता है । आलू espwivwdhpp
आमतौर पर, एक प्रवेश परीक्षक के रूप में, हमारे पास सभी हैशों को क्रैक करने का समय नहीं हो सकता है, भले ही हम हैशों का एक सेट तोड़ दें । हालांकि, उन्हें तोड़ने से सिस्टम तक पहुंच बढ़ाने और ग्राहकों के लिए अधिक उपयोगी निष्कर्ष लाने में मदद मिल सकती है । इसलिए, पासवर्ड को क्रैक करते समय, यह निर्धारित करना उपयोगी हो सकता है कि हैश मानों के एक सेट को क्रैक करने के लिए कितना समय आवंटित किया जाएगा । पिछले विश्लेषण में पाए गए संरचनाओं का उपयोग करते हुए, एक हमलावर यह निर्धारित कर सकता है कि वह शीर्ष 10 लोकप्रिय संरचनाओं को कवर करना चाहता है, पासवर्ड जटिलता आवश्यकताओं के आधार पर, जो सबसे तेज़ पूरा होने के समय से क्रमबद्ध हैं । अंत में, एक हमलावर क्रैकिंग करने में एक घंटे से अधिक समय खर्च करके अपनी विधि को सीमित कर सकता है । यह हैश प्राप्त करने के लिए हाल ही में एक प्रवेश परीक्षण में पाया गया था । नीचे सीपीयू-आधारित पटाखे के परिणामों का एक स्नैपशॉट है ।
इस मामले में, सबसे तेजी से पूरा संरचना है, जिसे हम एक बड़े अक्षर के रूप में परिभाषित करते हैं, उसके बाद तीन छोटे अक्षर ("डब्ल्यू" "शब्द" के लिए), और फिर चार अंक । हैश सेट में 69 पासवर्ड हैं जो संरचना से मेल खाते हैं, और मेरा मानक सीपीयू एक मिनट में संरचना की सभी संभावनाओं को पार करने में सक्षम है । हमने 62 मिनट पर क्रैकिंग बंद कर दी, और क्रैकिंग ने 221 अद्वितीय क्रैकिंग हैश उत्पन्न किए, जो 491 खातों से मेल खाते हैं, जिसके परिणामस्वरूप कुल 11% लीक हुआ । क्रैक किए गए पासवर्ड और खाता उल्लंघन की संख्या में बड़े अंतर का कारण यह है कि ऑफिस सेटिंग्स अक्सर लोगों को सामान्य पासवर्ड का उपयोग करने के लिए प्रेरित करती हैं । यदि हमलावर निर्धारित करता है कि पर्यावरण में एक सामान्य पासवर्ड का उपयोग किया जा रहा है, तो एक ही पासवर्ड वाले सभी उपयोगकर्ताओं को भी खतरा होगा । U(W3)dddd
हालांकि हाइब्रिड या नियम-आधारित हमले (उदाहरण के लिए) इनमें से कई पासवर्ड को तेजी से क्रैक कर सकते हैं, हमले के पासवर्ड की संरचना हमें अधिक कुंजी स्थान को कवर करने की अनुमति देती है । यदि एक तेज़ हमला लक्ष्य हैश को सफलतापूर्वक नष्ट करने में विफल साबित होता है, तो यह विधि प्रभावी अगला कदम है । इसके अलावा, यह याद रखना महत्वपूर्ण है कि यह उदाहरण काफी औसत दर्जे के सीपीयू पर किया जाता है, और एक शक्तिशाली जीपीयू पर एक ही हमले को निष्पादित करने से इस समय को कुछ सेकंड तक कम किया जा सकता है । इसलिए, सटीक समय सिद्धांत को प्रभावी ढंग से लागू करने की तुलना में कम महत्वपूर्ण है । best64
सांख्यिकीय विश्लेषण हमें आम तौर पर सामान्य क्रिप्टोग्राफिक संरचनाओं पर हमला करने में मदद करता है; हालांकि, कुछ उपकरण हैं जो विशिष्ट अनुप्रयोगों को लक्षित करने में मदद कर सकते हैं । CeWL जैसे उपकरण वेब पृष्ठों से शब्दों को क्रॉल कर सकते हैं और कंपनी के लिए विशिष्ट शब्दों की सूची या शब्दकोश उत्पन्न करने के लिए उपयोग किए जाते हैं । यह काम करता है क्योंकि कंपनियां अपने उद्योग, कंपनी या नौकरी से संबंधित पासवर्ड का उपयोग करती हैं । इसके अलावा, चूंकि हमने निर्धारित किया है कि सामान्य पासवर्ड काम के माहौल में लोकप्रिय हैं, इसलिए पहले से ही क्रैक किए गए पासवर्ड को अन्य पासवर्ड के आधार के रूप में भी इस्तेमाल किया जा सकता है, जो समान हो सकता है । उदाहरण के लिए, यदि हम पाते हैं कि "" एक उपयोगकर्ता का पासवर्ड है, तो हम "" को एक नई शब्द सूची में डाल सकते हैं, इसे नियम सेट में डाल सकते हैं, और फिर पाते हैं कि किसी और के पास पासवर्ड "" है । क्रैक किए गए बुनियादी शब्दों (जैसे '') का उपयोग करने और उन्हें आसपास के वर्णों के साथ संशोधित करने की यह अवधारणा एंटरप्राइज़ वातावरण से डंप किए गए हैश मानों को क्रैक करने में बहुत प्रभावी है, जो पासवर्ड पुन: उपयोग की अवधारणा में वापस आता है । हमारे द्वारा किए गए प्रवेश परीक्षणों के आधार पर, यह अनक्रैक किए गए हैश के अंतिम 20% को क्रैक करने के लिए सबसे उपयुक्त है । AcmeCorp1234AcmeCorpAcmeCorp@2015AcmeCorp
यह भी महत्वपूर्ण है कि अनुमान लगाए गए सभी पासवर्ड एप्लिकेशन द्वारा निर्दिष्ट आवश्यकताओं के अनुरूप हों, ताकि उन पासवर्डों का अनुमान लगाने में समय बर्बाद न हो जो लंबाई या चरित्र संरचना के कारण अनुमान नहीं लगाया जा सकता है ।
सबसे तेज़ हमले से शुरू करना, सबसे कम कीस्पेस (मानक शब्दकोश हमले) को कवर करना सबसे धीमा और सबसे बड़ा कीस्पेस (शुद्ध क्रूर बल) हमले के लिए आवंटित समय पर विचार करने के लिए सबसे आदर्श प्रगति है । इसलिए, हमलावरों को एक मानक दृष्टिकोण लागू करना चाहिए जो इसे ध्यान में रखता है । यदि हमलावर पहले चरण में हैक किए गए खाते को पूरा करना चाहता है, तो अन्य हमलों का उपयोग जारी रखने का कोई कारण नहीं हो सकता है; हालांकि, कई मामलों में, एक साधारण शब्दकोश हमला पर्याप्त नहीं हो सकता है यदि एक लक्षित खाता मौजूद है, या हमलावर बस जितना संभव हो उतने खातों को तोड़ना चाहता है, इसलिए सांख्यिकीय संरचना और लक्षित हिंसक हमलों के मिश्रण का उपयोग करना आवश्यक हो सकता है । इसलिए, सफल क्रैकिंग के लिए तरीकों का निर्माण महत्वपूर्ण है, जिसमें पहले उल्लिखित तरीके और कुछ स्वचालित प्रक्रियाएं शामिल हो सकती हैं । हाल के उपकरण (जैसे PRINCE) पासवर्ड क्रैकिंग को सुविधाजनक बनाने में मदद कर सकते हैं । उपकरणों की एक पट्टी विकसित करना महत्वपूर्ण है, जैसे कि राजकुमार विधियों में कोशिश करता है, लेकिन उपकरणों के पीछे की विशेषताओं को समझना, उन पर पूरी तरह से भरोसा करने के बजाय, क्रैकिंग को अधिक प्रभावी बना देगा ।
इन पासवर्डों का उपयोग करके विश्लेषण करके, आवश्यक जटिलता के दिए गए स्तर के लिए सबसे लोकप्रिय संरचनाओं की पहचान की जा सकती है । इसलिए, डेवलपर्स को पिछले ग्राफ के वक्र को सपाट करने के लिए इन बहुत लोकप्रिय संरचनाओं में से कुछ का उपयोग करने से उपयोगकर्ताओं को रोकने के लिए कुछ नियंत्रणों को लागू करना चाहिए । हालांकि, इस विचार के साथ समस्या यह है कि उपयोगकर्ताओं को सरल संरचना के बिना अपने पासवर्ड को याद रखना मुश्किल हो सकता है । मैं एक पासवर्ड प्रबंधक का उपयोग करने की सलाह देता हूं जिसके लिए दो कारक प्रमाणीकरण की आवश्यकता होती है । ये एप्लिकेशन आपके लिए आपके सभी पासवर्ड उत्पन्न और संग्रहीत करेंगे, इसलिए मेमोरी कोई समस्या नहीं है । वे जो पासवर्ड उत्पन्न करते हैं वे संरचनात्मक रूप से यादृच्छिक होते हैं और जब तक एप्लिकेशन इसे अनुमति देता है तब तक उपयोग किया जा सकता है । जैसा कि मैंने पहले उल्लेख किया है, एन्क्रिप्टेड पासवर्ड एक और बहुत प्रभावी तरीका है जो हमलावर के विकास की संभावनाओं को धीमा कर सकता है । अंत में, कार्यालय के भीतर रणनीतियों को लागू करना जो उपयोगकर्ताओं को पासवर्ड साझा करने या फिर से उपयोग करने के खतरों को समझने में मदद करता है, सही दिशा में एक सफल कदम है, भले ही उपयोगकर्ता हमेशा उनका पालन नहीं करते हों । हालांकि वे संभवतः हमेशा इसका पालन नहीं करेंगे, यह एक प्रभावी नियंत्रण उपाय है ।
पासवर्ड क्रैकिंग एक अस्पष्ट अवधारणा हो सकती है । जैसे-जैसे क्रैकिंग की कठिनाई बढ़ती है, दक्षता-आधारित लक्षित हमलों की आवश्यकता होती है, और व्यक्तिगत क्रैकिंग विधियों को स्थापित किया जाना चाहिए । अंततः हैश पीढ़ी की गति को बढ़ाने के लिए पैसे का निवेश करना इसके लायक नहीं है । इसलिए, हमले के साधन के रूप में आंकड़ों और उपकरणों का उपयोग करके एक विधि और सुव्यवस्थित प्रक्रियाओं को लागू करने से पासवर्ड क्रैकिंग की सुविधा मिल सकती है । डेवलपर्स इस स्थिति से निपटने के लिए नियंत्रण विकसित कर सकते हैं, और उपयोगकर्ता इन हमलों की प्रभावशीलता को कम करने के लिए सुरक्षित पासवर्ड प्रबंधकों का उपयोग कर सकते हैं; हालांकि, ऐसे कार्यान्वयन अभी तक बहुत लोकप्रिय नहीं हैं । वर्तमान में, पासवर्ड के खिलाफ सांख्यिकीय हमले दरारों की संख्या और समय कनेक्शन दक्षता के मामले में प्रभावी हैं । अपने स्वयं के पासवर्ड के बारे में सोचें और अपने आप से पूछें कि पासवर्ड की संरचना के आधार पर, और आपके कार्यालय के अंदर कौन से नियंत्रण एक हमलावर को उपयोगकर्ता के खाते को हैक करने का कारण बन सकते हैं, उन्हें कितनी जल्दी हैक किया जा सकता है ।