रोबोट CAPTCHAs को कैसे हरा सकता है?


84

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

क्यों? रोबोट कैप्चा को कैसे हराते हैं? क्या वे किसी प्रकार के उन्नत ओसीआर का उपयोग करते हैं या जहां इसे संग्रहीत किया जाता है वहां से केवल समाधान प्राप्त करते हैं?

मेरे द्वारा इसे कैसे रोका जा सकता है? क्या मुझे कैप्चा के दूसरे प्रकार में बदलना चाहिए?


मुझे यकीन है कि ई-मेल फ़ॉर्म से आ रहे हैं, क्योंकि यह मेरे ईमेल-प्रेषक से भेजा गया है जो फ़ॉर्म संदेश प्रदान करता है। साथ ही पत्र शैली भी वही है।

रिकॉर्ड के लिए, मैं PHP + MySQL का उपयोग कर रहा हूं, लेकिन मैं इस समस्या का हल नहीं खोज रहा हूं। मुझे सामान्य स्थिति में दिलचस्पी थी कि कैसे रोबोट इन तकनीकों को हरा देते हैं। मैंने इस स्थिति को एक उदाहरण के रूप में बताया, इसलिए आप बेहतर तरीके से समझ सकते हैं कि मैं किस बारे में पूछ रहा हूं।


86
मैं आपके प्रश्न का मुकाबला करना चाहता हूं: मनुष्य कैसे कैप्चा को हरा सकता है: अधिक बार तो यह मुझे कभी-कभी कई बार बहुत अधिक बार नहीं लगता है।
पीटर बी

14
अगर किसी को लगता है कि यह सवाल एक अपमानजनक है, तो कम से कम मुझे क्यों समझाएं।
टटिमेडली

10
@ ब्लरफ्ल, मुझे समझ नहीं आ रहा है कि यह विषय कैसे है।

47
यदि आप चाहते हैं कि हम आपके प्रश्न का उत्तर दें, तो पहले साबित करें कि आप रोबोट नहीं हैं।
पीट किर्कम

7
@Blrfl यह, हालांकि, गुणवत्ता सॉफ्टवेयर विकास के साथ करने के लिए सब कुछ है।
इज़्काता

जवाबों:


72

कॅप्चा के माध्यम से प्राप्त करने के दो सबसे आसान तरीके:

  • मानव खेतों का उपयोग करें, यानी लोगों से पैसे के लिए कैप्चरों को भरने के लिए कहें, जैसे कि प्रॉपर करते हैं।

  • एक OCR का उपयोग करें।

वहाँ भी एक बग या तो कैप्चा तंत्र या आसपास के अनुप्रयोग में हो सकता है, जिससे किसी को कैप्चा को बायपास करने की अनुमति मिल सके।

वैसे, W3C लेख CAPTCHA की अयोग्यता: वेब पर विज़ुअल ट्यूरिंग टेस्ट के विकल्प के साथ-साथ यह भी बताता है कि कैप्चा से कैसे समझौता किया जा सकता है:

[...] सिस्टम पर पहले प्रलेखित हमलों में से एक कार्नेगी मेलन छात्र द्वारा किया गया था, जिन्होंने कैप्चा छवियों को एक वयस्क वेब साइट तक पहुंच के साथ जोड़ा, इस प्रकार प्रमाणीकरण को दरार करने के लिए मुक्त मानव श्रम प्राप्त किया। [...]

बाहरी परियोजनाओं [...] ने कार्यप्रणाली और परिणाम दिखाए हैं जो दर्शाता है कि ऑप्टिकल सिस्टम मान्यता का उपयोग करके कई प्रणालियों को 88% और 100% सटीकता के साथ कंप्यूटर द्वारा हराया जा सकता है।

तो आप उन हमलों को कैसे रोक सकते हैं?

  • यदि आपके पास अपना कस्टम कार्यान्वित CAPTCHA है, तो आप reCAPTCHA जैसे किसी लोकप्रिय को स्थानांतरित करने का प्रयास कर सकते हैं ।

    यह तब मदद करेगा जब या तो आपकी खुद की कैप्चा ओसीआर के लिए बहुत आसान थी, या यदि कोई बग था जो सफलतापूर्वक शोषण किया गया था।

  • यदि आप एक लोकप्रिय कैप्चा तंत्र का उपयोग करते हैं, तो कस्टम-निर्मित एक या किसी अन्य लोकप्रिय के लिए आगे बढ़ना ओसीआर को रोक सकता है।

तकनीकी रूप से, कुछ भी मानव खेतों को नहीं रोक सकता है: आप एनिमेटेड GIF बना सकते हैं जहां कई फ्रेम बहुत जल्दी अलग-अलग पाठ प्रदर्शित करते हैं, और उपयोगकर्ता द्वारा वास्तव में केवल एक ही फ्रेम दिखाई देता है, आप सभी दिशाओं में पाठ को विकृत या मोड़ सकते हैं या रोकने के लिए नए, वैकल्पिक तरीके खोज सकते हैं। पाठ पहचानने से OCRs, फिर भी CAPTCHAs को हल करने के लिए भुगतान किए गए मानव सफलतापूर्वक हल करेंगे।

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


FrustratedWithFormsDesigner और GalacticCowboy ने डोमेन-विशिष्ट CAPTCHAs टिप्पणियों में उल्लेख किया है। मैंने कुछ सामग्री खोजने की कोशिश की कि वे कितनी प्रभावी हैं, लेकिन सफलता के बिना, इसलिए यहां सिर्फ मेरी व्यक्तिगत राय है:

  1. डोमेन-विशिष्ट CAPTCHAs बेहद परेशान हो सकते हैं जब वास्तविक उपयोगकर्ताओं को उत्तर के बारे में कोई पता नहीं होता है।

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

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

  2. उन डोमेन-विशिष्ट समस्याओं में से अधिकांश को प्रोग्रामेटिक रूप से हल किया जा सकता है। मेरे द्वारा दिए गए दोनों उदाहरण आसानी से बाहरी संसाधनों (Google Images और Synonyms Dictionary) का उपयोग करके हल किए गए हैं। FrustratedWithFormsDesigner द्वारा एक उदाहरण के रूप में दिए गए ट्रांजिस्टर के बारे में बेहतर है, लेकिन अभी भी शायद कस्टम-निर्मित बॉट के साथ हल किया जा सकता है।

  3. कोई भी मानव खेतों का विरोध नहीं करता।

  4. या तो वे डेटा उत्पन्न करते हैं, जैसे साधारण पाठ CAPTCHAs विकृत वर्णों को आकर्षित करते हैं, जिस स्थिति में बॉटरों को ट्यून करने के लिए जेनरेशन अल्गोरिथम का खुद ही फायदा उठाया जा सकता है, या वे कहीं डेटा प्राप्त करते हैं, ठीक उसी तरह जैसे reCAPTCHA स्कैन की गई पुस्तकों से पाठ लेता है , जिस स्थिति में बॉट हो सकता है इसके खिलाफ इस डेटा का उपयोग करें (उदाहरण के लिए, यदि आप किसी शब्दकोश से शब्द लेते हैं, तो उपयोगकर्ता को समानार्थी शब्द प्रदान करने के लिए कहें, बॉट उसी शब्दकोश का उपयोग 100% सफलता के लिए कर सकता है)।


4
+1 ध्यान दें कि कोई कैप्चा काम करने की गारंटी नहीं है
नील

8
मैंने कुछ उपन्यास कैप्चा देखे हैं जो बहुत ही विशिष्ट डोमेन हैं। उनमें से एक ने प्रतिरोधों की छवियां प्रदर्शित कीं और उपयोगकर्ता को प्रतिरोध दर्ज करना पड़ा (ऐसे लोगों के लिए एक सहायता पृष्ठ का लिंक था जो प्रतिरोधक रंग बैंड को पढ़ना नहीं जानते थे)। दूसरे में म्यूज़िकल नोटेशन की एक छोटी सी तस्वीर की छवि थी और उपयोगकर्ता को कुछ नोट्स (जैसे "सेकंड कॉर्ड केवल" में नोट्स) दर्ज करने थे। वे अभी भी उपलब्ध हैं, लेकिन स्पैमर की लागत इसके लायक नहीं हो सकती है।
FrustratedWithFormsDesigner

2
@ मेनमा किसी टेक रिपोर्ट पर कहीं पोस्ट करने वाला था जिसने किसी ऐसे बॉट को डिजाइन किया था जिसने कैप्चा को तेजी से हराया, क्योंकि यह दृश्य को अनदेखा कर रहा था और इसके बजाय ऑडियो क्यू की व्याख्या कर रहा था, इसलिए आप अंत में स्थैतिक जोड़ना चाहेंगे। ऑडियो एक, जो इसे वैसे भी उपयोगकर्ताओं के लिए और भी कठिन बनाता है
RhysW

@RhysW: W3C लेख में मैंने यह भी उल्लेख किया है कि छवियों से ऑडियो में जाने से बॉट समस्या हल नहीं होती है और बॉट्स के लिए चीजें आसान हो सकती हैं।
आर्सेनी मॉर्ज़ेंको 16

24
मानव फार्म। मैं मैट्रिक्स का चित्र क्यों बना रहा हूँ?
लार्सटेक

37

को जोड़ना MainMa का जवाब ...

स्पैमर दूसरों को उनके लिए कैप्चा करने की कोशिश करते हैं

असल में, स्पैमर एक वेयरज़ साइट या एक पोर्न साइट स्थापित करते हैं जो उस पर एक कैप्चा दिखाई देता है, लेकिन यह वास्तविक कैप्चा नहीं है। एक बॉट कैप्चा को उस साइट से खींचता है जहां वे स्पैम करना चाहते हैं (या अन्यथा शोषण करते हैं), और फिर इसे वेयरज़ साइट या एक पोर्न साइट पर प्रदर्शित करता है जहां कोई उनके लिए इसे पूरा करता है। फिर कैप्चा मूल्य उनके बॉट में वापस भेज दिया जाता है ...

स्पैमर पर थोड़ा अधिक

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

मेरा मंच भी सभी कस्टम-लिखित है और इसे बहुत कम ट्रैफ़िक मिलता है। मुझे विश्वास नहीं है कि किसी ने मेरी साइट पर एक विशिष्ट हमले को कोडित किया है। फिर भी, मेरा स्पैम फ़िल्टर एक दिन में 2k स्पैम संदेशों को पकड़ता है! साइट पर कभी भी कोई भी प्रदर्शित नहीं किया जाता है। स्पैमर्स को मुझे स्पैम करने से कोई लाभ नहीं है, फिर भी वे अभी भी करते हैं।

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

साल-दर-साल, वे मेरी साइट को हजारों स्पैम संदेशों के साथ एक दिन में केवल एक महीने के लिए लक्षित करना जारी रखते हैं, और एक दिन बाद मैन्युअल रूप से हटा दिया जाता है। यह स्पैम के लिए सस्ता है!

यह आने वाले वर्षों की लड़ाई होने जा रही है। विशेष रूप से मेरे जैसे छोटे एक-आदमी मध्यस्थ साइटों के लिए।


EDIT 6/22/2017 : मैं जोड़ना चाहता हूं कि इस पोस्ट के बाद से google ने reCAPTCHA को पूरी तरह से बदल दिया है और इस लेखन के रूप में यह त्रुटिपूर्ण रूप से काम कर रहा है। हालांकि मुझे संदेह है कि उपयोगकर्ताओं के लिए झूठी सकारात्मकता या इसके दर्द का एक सा है क्योंकि मैंने इसे लागू करने के बाद से पोस्ट को थोड़ा गिरा दिया है। 2 बड़े बदलाव हैं

1) वे पाठ के बजाय छवियों का उपयोग कर रहे हैं (इसलिए कोई और अधिक ओसीआर)

2) वे इसे सभी साइट पर उपयोगकर्ताओं की गतिविधि के साथ जोड़ रहे हैं जो reCAPTCHA का उपयोग करते हैं। इसलिए यदि आप साइट A पर reCAPTCHA से बाहर निकलते हैं, तो साइट B पर जाएं, यह आपको मानव साबित करने के लिए संकेत भी नहीं दे सकता है! इसके अलावा (मुझे लगता है) यदि आप बहुत सारे साइटों पर बहुत सारे reCAPTCHAs मार रहे हैं तो यह आपको भी चिह्नित करेगा। मुझे यकीन है कि यह उपयोगकर्ताओं की गतिविधि के आधार पर एआई के अन्य प्रकारों का भी उपयोग कर रहा है।

मुझे यकीन है कि इसके समय की बात है जब तक कि स्पैमर इसे हरा नहीं देते ...


यह शायद एक छोटी वेबसाइट के लिए reCAPTCHA के लिए सबसे मजबूत तर्क है: Google के पास वर्तमान स्पैम तकनीकों के साथ बनाए रखने के लिए अधिक संसाधन हैं।
स्टीफन सी। स्टील

15

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


12

यह संभव है कि आपकी साइट को एक शोषणित अल्ट्रा-सस्ते श्रम बल द्वारा लक्षित किया जा रहा हो और यह कि मानव आपके कैप्चा वाक्यांशों को मैन्युअल रूप से दर्ज कर रहा हो।

यदि आपके द्वारा उपयोग किया जा रहा समाधान अत्यधिक परिष्कृत नहीं है, तो संभव है कि आपका हमलावर छवि पहचान कर रहा हो।

यह भी संभावना है कि आपके पास अपने कोड में कहीं एक बग है जो कैप्चा को बायपास करने की अनुमति दे रहा है।

यह धारणा न बनाएं कि एक रोबोट आपके कैप्चा को पीट रहा है। अपने सिस्टम को समग्र रूप से सोचें और देखें कि क्या यह समझौता किया गया है।


मैं छवि और सीएसएस योजनाओं को संयोजित करूंगा कि मनुष्य आसानी से हल नहीं कर पाएंगे।
एरिक रेपेन

2
दो शब्द ... मैकेनिकल तुर्क। अमेज़ॅन ने कैप्चा को अविश्वसनीय रूप से सस्ते प्रयास में दुर्घटनाग्रस्त कर दिया है।
माइकल ब्राउन

10

अन्य ने चर्चा की है कि कैसे स्पैमर CAPTCHAs को रोकते हैं। यहाँ मैं इसे कैसे रोका जा सकता है पर कुछ सुझाव दिए गए हैं :

ध्यान दें कि कोई चांदी की गोली नहीं है और स्पैमर गेम से 1 कदम आगे लगते हैं। इसलिए आपको कई तकनीकों के संयोजन का उपयोग करना होगा

  1. शहद के बर्तन का उपयोग करें
  2. एक कैप्चा या तर्क प्रश्न का उपयोग करें। मूल प्रश्न जैसे "सेब, मछली, हाथ, छह - इनमें से कौन एक शरीर का अंग है"
  3. देरी हो। यदि पेज लोड होने के 5 सेकंड के भीतर फॉर्म पोस्ट हो जाता है, तो अनुरोध को अनदेखा कर देते हैं, तो अधिकांश रोबोट एक सेकंड से भी कम समय में पोस्ट कर देंगे
  4. कुछ आईपी पते की निगरानी करें - यदि आप एक मकड़ी को अपनी वेबसाइट पर रेंगते हुए देखते हैं जो एक सफेद-सूची (Google, bing) में नहीं है, तो उसके आईपी पते को काली सूची में डाल दें। अधिमानतः यह कोड / सॉफ्टवेयर में गतिशील / स्वचालित होगा

6

अन्य उत्तरों को प्रतिध्वनित करने के लिए, आप उन बॉट्स का सामना कर रहे हैं जो उनके लिए कैप्चा दर्ज करने के लिए मानव खेतों का उपयोग करते हैं।

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

मेरे ब्लॉग पोस्ट में पूर्ण विवरण (संयोग से, जब से आपने PHP + MySQL का उपयोग करके उल्लेख किया है, ये वही प्रौद्योगिकियां हैं जो वहां वर्णित हैं) - मॉड्यूल रिलीज: बैडबोट; स्पैम को समाप्त कर रहा है ...


1
यह तब तक काम करेगा जब तक कि यह व्यापक नहीं हो जाता है और स्पैमर हेडलेस ब्राउज़र का उपयोग करते हैं।
जेवियर कॉम्बेल

1
बिना सिर के ब्राउज़र का उपयोग करने से कुछ कैसे बदल जाता है?
तातियाना राचेवा

-2

यदि आपकी साइट ट्विटर है, और किसी ने इसे विशेष रूप से लक्षित किया है (बॉट इसे खोजने के बजाय) तो आप पढ़ना बंद कर सकते हैं ...

अन्यथा, यह आपके फॉर्म को फॉर्म की तरह नहीं दिखने के लायक नहीं हो सकता है। 1. प्रकार, नाम या प्लेसहोल्डर में 'ई-मेल' वाले फ़ील्ड न हों, सभी फ़ील्ड के लिए संक्षिप्त या भ्रामक नामों का उपयोग करें। 2. एक वास्तविक HTML फॉर्म एलिमेंट का उपयोग न करें और बटन सबमिट करें। बल्कि AJAX का उपयोग इसे एक सामान्य div (बटन की तरह दिखने के लिए स्टाइल) पर क्लिक करने के लिए करें। 3. HTML में ऑनक्लिक ईवेंट न डालें, जावास्क्रिप्ट में एक श्रोता जोड़ें। 4. किसी भी युक्तियों को 'यहां अपना ईमेल पता दर्ज करने के लिए' का उपयोग करने के लिए जावास्क्रिप्ट का उपयोग करें क्योंकि यह संभव है कि बॉट वास्तव में जेएस को ट्रिगर कर रहे होंगे जब पृष्ठों को फँसाना होगा (इस पर यकीन नहीं है, लेकिन मैं इसे वैसे भी करता हूं)।

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