Google reCAPTCHA v2 पर्दे के पीछे कैसे काम करता है?


303

यह पोस्ट Google ReCaptcha v2 (नवीनतम संस्करण नहीं) को संदर्भित करता है

हाल ही में Google ने एक सरल "कैप्चा" सत्यापन प्रणाली ( वीडियो ) पेश की, जो उपयोगकर्ताओं को केवल "कैप्चा" पर क्लिक करने में सक्षम बनाती है।

लेकिन यह एक क्लिक से किसी व्यक्ति के बॉट को कैसे अलग कर सकता है?

इस उत्तर के अनुसार , (एक समान कार्यान्वयन को मानते हुए), पहले "रिकैप्टा" एक छिपी हुई कुंजी बनाता है और इसे एक छिपे हुए इनपुट तत्व के साथ जोड़ देता है और उसी कुंजी के साथ एक चेक बॉक्स (न कि एक वास्तविक चेक बॉक्स inputबल्कि एक div) भी प्रदान करता है। जब क्लिक किया जाता है, तो एक वैध सत्यापन कुंजी के रूप में चिह्नित करने के लिए Google बैकएंड सर्वरों को एक अतुल्यकालिक अनुरोध (XHR) भेजता है (जैसे कि एक फॉर्म जमा होने पर एक कुंजी जिसे सत्यापित किया जाना है)।

लेकिन बॉट उस क्लिक को स्वचालित क्यों नहीं कर सकता (कम से कम, ब्राउज़र-आधारित बॉट)?

यह कैसे काम कर सकता है?


1
संभवतः उसी तरह से जैसे वे मनुष्यों को साधारण कैप्चा भेज रहे थे, और बॉट को कठिन कैप्चा
मुकुंद

1
जिस तरह से मैंने समझा कि यह है - वहाँ अभी भी एक कैप्चा है, लेकिन जब तक आप संदिग्ध अनुरोध नहीं करते हैं - आपको इसे कभी भी हल नहीं करना पड़ेगा।
केएलएम

@ लूई "चोरी" क्या था? किसी ने एक ही सवाल पूछा, और एक ही (और केवल) पोस्ट को जोड़ा- लेकिन यह थोड़ा अलग तरीके से लिखा गया है, और कोई भी उत्तर समान नहीं है। क्या अधिक है, मूल क्वोरा प्रश्न इस प्रश्न से एक दिन पहले 3 दिसंबर को पोस्ट किया गया था । आखिर समस्या क्या लग रही है?
wchargin

10
@CiroSantilli 六四 ill he क्या बिल्ली? लिंक चला गया है
TechLife

14
@TechLife सच! लगता है कि github.com/neuroradiology/InsideReCaptcha में स्थानांतरित कर दिया गया है ? स्वयं को याद दिलाएं: हमेशा कांटा भरा हुआ सामान।
सिरो सेंटिल्ली 郝海东 i i i ''

जवाबों:


200

यह अटकलें हैं, लेकिन "जोखिम विश्लेषण इंजन" के लिए Google के संदर्भ के आधार पर वे ( http://googleonlinesecurity.blogspot.com/2014/12/are-you-robot-introducing-no-captcha.html ) का उपयोग करते हैं

मुझे लगता है कि यह देखने से पहले कि आपने क्लिक करने से पहले कैसे व्यवहार किया था, कैसे आपका कर्सर चेक (कार्बनिक पथ / त्वरण) के रास्ते पर चला गया, चेकबॉक्स का कौन सा हिस्सा क्लिक किया गया था (यादृच्छिक स्थान, या हर बार केंद्र में मृत), ब्राउज़र फ़िंगरप्रिंट, Google कुकीज़ और सामग्री, अपने फिंगरप्रिंट या खाते से बंधे स्थान के इतिहास पर क्लिक करें यदि यह एक का पता लगाता है आदि।

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


73
यह सही लगता है और मुझे यह स्पष्ट करना चाहिए कि मुझे हमेशा अपने पीएसवीटा पर स्टिक के साथ एक स्ट्रिंग क्यों लिखना है। यह एक सामान्य माउस की तरह नहीं चलता है।
डोमिनोज

3
मैं सोच रहा हूं कि Google रिकॉर्ड किए गए कार्बनिक व्यवहार की पर्याप्त मात्रा पर कैसे प्रतिक्रिया देगा।
मार्कस मल्कुच

16
माउस आंदोलन निश्चित रूप से इसके लिए योगदान नहीं देता है। कर्सर को उस स्थान पर रखें जहां चेकबॉक्स दिखाई देगा। अपने कर्सर को स्थानांतरित किए बिना साइट पर नेविगेट करें। चेकबॉक्स पर क्लिक करें और यह पास हो जाएगा।
डेरेक 會 功夫 ere

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

13
ध्यान दें कि आप इसे टैब भी कर सकते हैं और स्पेस दबा सकते हैं।
JSideris

74

ReCAPTCHA के खिलाफ कई परीक्षणों के साथ एक नया पेपर जारी किया गया है:

https://www.blackhat.com/docs/asia-16/materials/asia-16-Sivakorn-Im-Not-a-Human-Breaking-the-Google-reCAPTCHA-wp.pdf

कुछ मुख्य बातें:

  • +9 दिनों तक (Google संसाधनों के साथ साइटों को ब्राउज़ करके) एक कुकी को सक्रिय रखकर, आप केवल चेकबॉक्स पर क्लिक करके reCAPTCHA पास कर सकते हैं;
  • प्रति आईपी अनुरोधों के आधार पर कोई प्रतिबंध नहीं है;
  • ब्राउज़र का उपयोगकर्ता एजेंट वास्तविक होना चाहिए, और Google यह सुनिश्चित करने के लिए आपके वातावरण के खिलाफ परीक्षण चलाता है कि यह उपयोगकर्ता एजेंट से मेल खाता है;
  • यदि ब्राउज़र कैनवास को प्रस्तुत कर सकता है तो Google परीक्षण करता है;
  • स्क्रीन रिज़ॉल्यूशन और माउस इवेंट परिणामों को प्रभावित नहीं करते हैं;

Google ने कुकी की भेद्यता पहले ही तय कर दी है और संभवतः IPs के आधार पर कुछ व्यवहारों को प्रतिबंधित कर रहा है।

एक और दिलचस्प खोज यह है कि Google जावास्क्रिप्ट में एक वीएम चलाता है जो कि reCAPTCHA कोड और व्यवहार का बहुत विरोध करता है। इस VM को बॉटगार्ड के रूप में जाना जाता है और इसका उपयोग reCAPTCHA के अलावा अन्य सेवाओं की सुरक्षा के लिए किया जाता है:

https://github.com/neuroradiology/InsideReCaptcha

UPDATE 2017

हाल ही में एक कागज (अगस्त से) WOOT 2017 पर प्रकाशित किया गया था, जिसमें noCAPTCHA reCAPTCHA ऑडियो चुनौतियों को हल करने में 85% सटीकता प्राप्त की गई थी:

http://uncaptcha.cs.umd.edu/papers/uncaptcha_woot17.pdf

UPDATE 2018

Google reCAPTCHA v3 की शुरुआत कर रहा है, जो एक "मानव स्कोर भविष्यवाणी इंजन" की तरह दिखता है जिसे प्रति वेबसाइट पर कैलिब्रेट किया जाता है। यह एक reCAPTCHA भरने से पहले मनुष्यों बनाम बॉट्स के व्यवहार को समझने के लिए reCAPTCHA और वेबसाइट के मालिक की मदद करने के लिए एक वेबसाइट (Google Analytics स्क्रिप्ट की तरह काम करने वाले) के विभिन्न पृष्ठों में स्थापित किया जा सकता है।

https://www.google.com/recaptcha/intro/v3beta.html


4
mouse events don't affect the resultsयह दिलचस्प है, जैसा कि मैंने (और मैं कई अन्य लोगों का मानना ​​है) सोचा था कि मुख्य चीज थी जो परिणामों को प्रभावित करती थी। मैंने चेकबॉक्स के बजाय मोबाइल पर सोचा था, उपयोगकर्ताओं को सभी छवियों का चयन करने के लिए कहा गया था जो एक जैसे हैं, क्योंकि एक टचस्क्रीन पर माउस आंदोलनों नहीं हैं। हालाँकि, परिचयात्मक ब्लॉग पोस्ट को फिर से देखने पर ऐसा प्रतीत होता है कि शायद ऐसा न हो। शायद छवियों का चयन विकृत पाठ लिखने के बजाय होता है, न कि किसी बॉक्स को जाँचने के बजाय। क्या आपको (या किसी को) पता है कि क्या reCAPTCHA कभी भी मोबाइल पर बॉक्स चेक करने की अनुमति देता है?
नटोमामी 16

माउस की घटनाएं परिणामों को प्रभावित करती हैं। यदि आप दबाते हैं Tabऔर Enterचेकबॉक्स का चयन करते हैं, तो यह आपके लिए एक मापदंड के आधार पर उन्हें चुनने के लिए छवियों को कैप्चा दिखाएगा।
mbomb007 14

1
@ mbomb007 माउस की घटनाओं के परिणाम प्रभावित हो सकते हैं लेकिन दबाने Tabऔर Enterहर समय छवि कैप्चा नहीं दिखाएंगे। ज्यादातर समय दबाने Tabऔर Enterस्वीकार किए जाने पर
मनीष ओझा

24

रेप्टाचा के खिलाफ मेरे बॉट्स अच्छी तरह से चल रहे हैं।

यहाँ मेरा समाधान।

अपने बीओटी को यह कदम उठाने दें:

अपने माउस को B-Spline (सोर्स कोड के लिए पूछें) की तरह ले जाने के लिए सबसे पहले एक ह्यूमन माउस मूव फंक्शन लिखें। यह सबसे महत्वपूर्ण बिंदु है।

इसके अलावा बेहतर परिणामों के लिए वीपीएन जैसे https://www.purevpn.com का उपयोग करें

प्रत्येक Recpatcha के लिए ये उपाय करें:

  1. यदि आप पहले वीपीएन स्विच आईपी का उपयोग करते हैं

  2. सभी ब्राउज़र कुकीज़ साफ़ करें

  3. सभी ब्राउज़र कैश को साफ़ करें

  4. रैंडम द्वारा इनमें से किसी एक उपयोगकर्ता को सेट करें:

    ए। मोज़िला / 5.0 (संगत; MSIE 9.0; Windows NT 6.1; त्रिशूल / 5.0)

    ख। मोज़िला / 5.0 (विंडोज NT 6.1; WOW64; आरवी: 44.0) गेको / 20100101 फ़ायरफ़ॉक्स / 44.0

5 अपने माउस को मानव माउस के साथ स्थानांतरित करें एक यादृच्छिक से फंक्शनल को स्थानांतरित करें मैं हर बार अलग-अलग 10x10 यादृच्छिक के साथ एक रोबोट छवि नहीं हूं

  1. तब के बीच यादृच्छिक विलंब के साथ कभी क्लिक करें

    WM_LBUTTONDOWN

    तथा

    WM_LBUTTONUP

  2. इमेज कैप्चा से स्क्रीनशॉट लें

  3. स्क्रीनशॉट भेजें

    http://www.deathbycaptcha.com

    या

    https://2captcha.com

और वे हल करते हैं।

  1. कैप्चा सॉल्वर से क्लिक कोऑर्डिनेट प्राप्त करने के बाद अपने मानव माउस मूव फंक्शनल का उपयोग करें और फिर से कैप्चा इमेज पर क्लिक करें

  2. ले जाने के लिए अपने मानव माउस मूव फनकटियन का उपयोग करें और रिकैप्टा वेरिफाई बटन पर क्लिक करें

75% में सभी पुनरावृत्ति हल हो जाएगी

Google को धोखा देता है

टॉम


2
आपको "ह्यूमन माउस मूव फंक्शन" की आवश्यकता क्यों है? अपने लक्ष्य को पूरा करने के लिए यह अनावश्यक लगता है।
बारबोला

9
'ह्यूमन माउस मूव' फंक्शन सबसे महत्वपूर्ण बिंदु है। Google कैप्चा Mousespeed, MouseWay, MouseButton के नीचे और ऊपर की घटनाओं, Clickpositions, माउस EntryPoint को कैप्चा में दिखाता है ... और जावास्क्रिप्ट को Google डेटाबेस के माध्यम से कई लाखों वास्तविक मानव हाउसमेव ट्रेकिंग के साथ भेज देता है। यह सब कैप्चर की गई सूचनाओं की व्याख्या करने के बाद, कैप्चा द्वारा हल किए गए als को चिह्नित किया जाएगा, केवल अगर Google एल्गोरिथम कहता है कि यह एक मानव था।
इंगो

3
@ barbolo: कृपया इस आधिकारिक Google ब्लॉग सुरक्षा की जांच करें ।googleblog.com/2014/12/… -> Google का कहना है कि " इस पर नक़ल करने के लिए, पिछले साल हमने reCAPTCHA के लिए एक उन्नत जोखिम विश्लेषण बैकएंड विकसित किया था जो सक्रिय रूप से CAPTCHA के साथ उपयोगकर्ता के संपूर्ण जुड़ाव पर विचार करता है। —इसके बाद, उस दौरान और बाद में - यह निर्धारित करने के लिए कि क्या उपयोगकर्ता एक मानव है। ”
इंगो

6
चरण 8 एक बाहरी एपीआई का उपयोग करता है जहां मनुष्य आपके लिए कैप्चा को हल करते हैं। बॉट कुछ हल नहीं कर रहा है।
एंड्रिया लेज़रोज़ेटो

14
क्या यह सिर्फ मेरे लिए है, या यह किसी और को परेशान और आकर्षक दोनों है कि बॉट लेखक स्टैक ओवरफ्लो का उपयोग हल करने में मदद कर रहे हैं (और इस बारे में बहस!) ReCAPTCHAs
ओगरे Psalm33

3

क्या मैं अपना अनुमान प्रस्तुत कर सकता हूं, क्योंकि यह एक खुली तकनीक नहीं है।

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

कहते हैं, POST डेटा (सॉल्वड कैप्चा) में फिंगरप्रिंट नामक फ़ील्ड होता है, जो उपयोगकर्ता के व्यवहार से गणना की जाती है। मुझे लगता है कि उस चेक बॉक्स स्थान के बारे में एक क्षेत्र हो सकता है। मुझे लगता है कि यह चेक बॉक्स Google के अंत-छोर द्वारा उत्पन्न एक समन्वय प्रणाली में है और मेरी साइट की सार्वजनिक कुंजी द्वारा एन्क्रिप्ट किया गया है। इसलिए, एक रोबोट इस बॉक्स के बारे में किसी स्थान का "अनुमान / गणना" कर सकता है, लेकिन जब साइट स्वामी उपयोगकर्ता पहचान को सत्यापित करने के लिए निजी कुंजी के साथ GET क्वेरी बनाता है, तो Google समन्वय प्रणाली को डिक्रिप्ट करेगा और कहेगा कि क्या उपयोगकर्ता सही जगह पर क्लिक करता है। इसलिए, केवल Google और साइट स्वामियों के स्वामित्व वाले इस यादृच्छिक समन्वय प्रणाली में केवल एक संभावित राइट क्लिक (कुछ ऑफसेट के साथ, यह एक स्क्वायर बॉक्स है) स्थान है।


यदि ब्राउज़र वास्तव में बॉक्स दिखाने और क्लिक का पता लगाने के लिए पर्याप्त है, तो एक हैकिंग रोबोट ऐसा क्यों नहीं कर पाएगा? हालाँकि मैं चेकबॉक्स की स्थिति को बहुत सटीक स्थिति में (दशमलव में) सेट कर सकता था, इसलिए यदि एक क्लिक में समान दशमलव के साथ पता लगाया जाता है, तो इसका मतलब है कि यह एक रोबोट है जो क्लिक की स्थिति में यादृच्छिक दशमलव को जोड़ने से परेशान नहीं था। लेकिन फिर, यह मूर्खतापूर्ण नहीं है।
डोमिनोज

Google कथित रूप से एक 'लर्निंग' एल्गोरिथम का उपयोग कर रहा है ताकि यदि समान विशेषताओं वाले कुछ ग्राहक वहां पहुंचने के लिए समान सामान्य पथ और सामान्य समय का उपयोग करें और यह दिन में 100,000 बार हुआ हो, तो वे संभवतः वैध नहीं हैं।
सायरन

1
वर्ग क्षेत्र में क्लिक करने के लिए अनुकरण करना अपेक्षाकृत आसान होना चाहिए। इससे कोई फर्क नहीं पड़ता कि Google भेजने से पहले डेटा को कैसे एन्क्रिप्ट करता है।
यूजीन C

0

कृपया याद रखें कि Google एक साथ reCaptcha का भी उपयोग करता है

Canvas fingerprinting 

कुकीज़ के बिना उपयोगकर्ता / ब्राउज़र को विशिष्ट रूप से पहचानने के लिए!

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