
التغلب على اختبار reCaptcha الصوتي من Google بدقة 85%.
التغلب على نظام reCaptcha الصوتي من Google بدقة 85%. 
unCaptcha هو إثبات مفهوم فقط. حتى وقت ورقتنا البحثية، وجدنا أنه يحل تحديات reCaptcha الصوتية بنجاح بنسبة 85%. منذ ذلك الحين، يبدو أن reCaptcha تضمنت بعض الحماية الإضافية التي تحد من نجاح unCaptcha. لن نقوم بصيانة هذا الكود ليكون هجومًا فعالًا على reCaptcha.
على سبيل المثال، قامت Google أيضًا بتحسين كشف أتمتة المتصفح. هذا يعني أنه لا يمكن استخدام Selenium في حالته الحالية للحصول على كابتشا من Google. قد يؤدي ذلك إلى إرسال Google لمقاطع صوتية غريبة إلى المستخدم النهائي. بالإضافة إلى ذلك، لاحظنا أن بعض التحديات الصوتية لا تتضمن أرقامًا فقط، بل أيضًا مقتطفات صغيرة من النص المنطوق.
نشجعك على توخي الحذر عند إجراء الأبحاث في هذا المجال، والانتباه إلى القوانين المحلية والولائية والفيدرالية، والإفصاح المسؤول عن أي ثغرات محتملة إلى Google فورًا.
بالإضافة إلى ذلك، قمنا بإزالة مفاتيح API الخاصة بنا من جميع الاستعلامات الضرورية. إذا كنت تتطلع إلى إعادة إنشاء بعض العمل أو تقوم بأبحاثك الخاصة في هذا المجال، فستحتاج إلى الحصول على مفاتيح API من كل من الخدمات الست المستخدمة. يتم تمييز هذه المفاتيح في ملفاتنا بسلسلة طويلة من الحرف 'X'.
عبر الإنترنت، تعتمد مئات الآلاف من المواقع على نظام reCaptcha من Google للدفاع ضد البوتات (في الواقع، يستخدم Devpost reCaptcha عند إنشاء حساب جديد). بعد أن أظهر فريق بحث من Google هزيمة شبه كاملة لنظام reCaptcha النصي في عام 2012، تطور نظام reCaptcha ليعتمد على التحديات الصوتية والمرئية، وهي تحديات كانت تاريخيًا أكثر صعوبة للأنظمة الآلية في حلها. استمرت Google في تحسين تصميمها، وأطلقت إصدارًا أحدث وأقوى في وقت قريب من هذا العام. إثبات هزيمة نظام الكابتشا هذا بنجاح يمثل ثغرة كبيرة لمئات الآلاف من المواقع الشهيرة.
نظام unCaptcha الخاص بنا لديه قدرات هجومية مكتوبة خصيصًا للكابتشا الصوتية. باستخدام برنامج أتمتة المتصفح، يمكننا التفاعل مع الموقع المستهدف والتعامل مع الكابتشا، واستخراج العناصر الضرورية لبدء الهجوم. نعتمد بشكل أساسي على هجوم الكابتشا الصوتية - من خلال التعرف الصحيح على الأرقام المنطوقة، يمكننا اجتياز reCaptcha برمجيًا وخداع الموقع ليعتقد أن البوت الخاص بنا هو إنسان. على وجه التحديد، يستهدف unCaptcha موقع Reddit الشهير من خلال محاكاة عملية إنشاء مستخدم جديد، على الرغم من أن unCaptcha يتوقف قبل إنشاء المستخدم للتخفيف من التأثير على Reddit.
يستخدم نظام reCaptcha من Google نظام تحليل مخاطر متقدم لتحديد برمجيًا مدى احتمالية أن يكون المستخدم إنسانًا أو بوتًا. يأخذ في الاعتبار ملفات تعريف الارتباط الخاصة بك (وبالتالي تفاعلك مع خدمات Google الأخرى)، وسرعة حل التحديات، وحركات الماوس، و(من الواضح) مدى نجاحك في حل المهمة المعطاة. مع زيادة شك النظام، فإنه يقدم تحديات أصعب بشكل متزايد، ويتطلب من المستخدم حل المزيد منها. لقد حدد الباحثون بالفعل نقاط ضعف صغيرة في نظام reCaptcha - 9 أيام من التفاعل الشرعي (نوعًا ما) مع خدمات Google عادةً ما تكون كافية لخفض مستوى الشك بشكل كبير.
تنسيق الكابتشا الصوتية هو سلسلة متغيرة الطول من الأرقام المتباعدة تُقرأ بصوت عالٍ بسرعات ونغمات ولهجات متنوعة عبر ضوضاء الخلفية. لمهاجمة هذه الكابتشا، يتم تحديد الحمولة الصوتية على الصفحة وتنزيلها وتقسيمها تلقائيًا حسب مواقع الكلام.
من هناك، يتم تحميل كل مقطع صوتي رقمي إلى 6 خدمات نسخ صوتي مجانية عبر الإنترنت (IBM، Google Cloud، Google Speech Recognition، Sphinx، Wit-AI، Bing Speech Recognition)، ويتم جمع هذه النتائج. نقوم بتجميع النتائج من كل منها لتعداد احتمالي لسلسلة الأرقام الأكثر احتمالًا باستخدام استدلال محدد مسبقًا. ثم يتم كتابة هذه الأرقام بشكل طبيعي في الكابتشا، ويتم إكمال الكابتشا. من الاختبارات، رأينا دقة تزيد عن 92% في التعرف على الأرقام الفردية، ودقة تزيد عن 85% في هزيمة الكابتشا الصوتية بأكملها.
أولاً، قم بتثبيت تبعيات بايثون:
$ pip install -r requirements.txt
تأكد أيضًا من تثبيت sox و ffmpeg و selenium!
$ apt-get install sox ffmpeg selenium
ثم، لبدء PoC:
$ python main.py --audio --reddit
يؤدي هذا إلى فتح reddit.com، والتفاعل مع الصفحة للانتقال إلى تسجيل الحساب، وإنشاء اسم مستخدم وبريد إلكتروني وكلمة مرور وهمية، ثم مهاجمة الكابتشا الصوتية. بمجرد اكتمال الكابتشا (سواء نجحت أم لا)، يخرج المتصفح.
يرجى قراءة ورقتنا البحثية الموجودة هنا لمزيد من المعلومات. بالإضافة إلى ذلك، يمكنك زيارة موقعنا الإلكتروني هنا أو الاطلاع على الأصلية.