एक गलत पासवर्ड का प्रयास एक सही प्रक्रिया की तुलना में बहुत अधिक समय क्यों लेगा?


17

सबसे प्रमुख जगह जिस पर मैंने ध्यान दिया है वह है जब SSH-ing काम पर है, लेकिन मुझे ऐसा लगता है कि मैंने यह व्यवहार कहीं और भी देखा है।

जब मैं काम पर अपने विंडोज डेस्कटॉप से ​​लिनक्स सर्वर में प्रवेश करने की कोशिश करता हूं, तो मैंने देखा है कि अगर मैं अपना पासवर्ड गलत टाइप करता हूं, तो मुझे "एक्सेस अस्वीकृत" वापस मिलने से पहले 5 सेकंड या तो अच्छा लगता है। फिर जब मैं अपना पासवर्ड सही ढंग से टाइप करता हूं, तो लॉगिन (स्वागत संदेश आदि के साथ) लगभग तुरंत होता है।

क्या इसका कोई तार्किक कारण है, या यह कुछ अजीब विन्यास के लिए नीचे होगा जो यहां मशीनों के लिए विशिष्ट है?


1
इस पर अच्छी चर्चा है / इसका जवाब stackoverflow.com/questions/712339/… है , जिसमें विशेष रूप से लिनक्स को कम करना यहाँ और यहाँ
drzaus

जब आप विंडोज में गलत पासवर्ड
डालते

जवाबों:


21

वहाँ शायद एक कृत्रिम मध्यांतर में बनाया गया है ताकि इसे सफल होने के लिए एक क्रूर बल हमले के लिए कठिन बनाया जा सके।

आप इसे कई लॉगिन संकेतों पर देखेंगे जिसमें सुरक्षित प्रमाणीकरण शामिल है ...


1
आह, उस के बारे में सोचा नहीं था। यह बिल्कुल सही समझ में आता है, और समझाता है कि मुझे ऐसा क्यों लगता है कि मैंने वही देरी कहीं और देखी है।
कैम जैक्सन

उर्फ तारपिटिंग। धन्यवाद, माइकल Kjörling ( superuser.com/questions/916187/... )
rfportilla

10

यह क्रूर बल के हमलों को रोकने के लिए कुछ इच्छित देरी है। एक लंबी देरी भी हमलावर को उपयोगकर्ता नाम के बीच अंतर का अनुमान लगाने में सक्षम होने से रोकती है और पासवर्ड गलत है (उपयोगकर्ता नाम की जाँच करने से अधिक समय तक पासवर्ड की जाँच करना आसान है)।


1

तकनीकी रूप से, यह जानबूझकर देरी "रैखिककरण हमले" जैसे हमलों को रोकने के लिए है (साथ ही अन्य हमले और कारण भी हैं)

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

सही धारावाहिक की लंबाई गलत धारावाहिक लंबाई की तुलना में अधिक समय लेगी। इससे भी बेहतर (हमलावर के लिए), एक सीरियल नंबर जिसमें पहला चरित्र सही है, किसी भी गलत चरित्र से अधिक समय लगेगा। प्रतीक्षा समय में क्रमिक कदम है क्योंकि हर बार सही इनपुट पर जाने की तुलना में एक और लूप होता है।

  • इसलिए, हमलावर चार-वर्ण स्ट्रिंग का चयन कर सकता है और यह कि स्ट्रिंग की शुरुआत में x को सबसे अधिक समय लगता है। (अनुमान से काम)
  • हमलावर तब वर्ण को x के रूप में ठीक कर सकता है और दूसरे वर्ण को अलग-अलग कर सकता है, जिस स्थिति में वे पाएंगे कि y को सबसे लंबा समय लगता है।
  • हमलावर फिर पहले दो वर्णों को xy के रूप में ठीक कर सकता है और तीसरे वर्ण को अलग-अलग कर सकता है, इस स्थिति में वे पाएंगे कि b सबसे लंबा लगता है।
  • हमलावर तो के रूप में पहले तीन चरित्र ठीक कर सकते हैं xyb और चौथे चरित्र, जो मामले में वे पाएंगे कि अलग-अलग एक सबसे लंबे समय तक ले जाता है।

इसलिए, हमलावर एक समय में धारावाहिक एक चरित्र को पुनर्प्राप्त कर सकते हैं।

Linearization.java।

Linearization.docx, नमूना आउटपुट

सीरियल नंबर चार वर्ण लंबा है, प्रत्येक वर्ण में 128 संभावित मान हैं। फिर 128 4 = 2 28 = 268,435,456 संभावित धारावाहिक हैं । हमलावर बेतरतीब ढंग से पूरा सीरियल नंबर लगता है चाहिए, वह के बारे में में सीरियल नंबर लगता होगा 2 27 = 134,217,728 की कोशिश करता है, जो काम का एक विशाल राशि है । दूसरी ओर, ऊपर दिए गए रैखिककरण हमले का उपयोग करके, प्रत्येक अक्षर के लिए लगभग 4 * 64 = 2 8 = 256 अनुमानों की कुल अपेक्षित कार्य के लिए औसतन केवल 128/2 = 64 अनुमानों की आवश्यकता होती है , जो एक तुच्छ राशि है। काम की।

लिखा मार्शल की ज्यादातर से अनुकूलित है यह (मार्क टिकट की ': सिद्धांत और व्यवहार सूचना सुरक्षा "से लिया)। इसके अलावा ऊपर की गणना सही धारावाहिक लंबाई जानने के लिए आवश्यक अनुमान की मात्रा को ध्यान में नहीं रखती है।

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