🚀 أصبحت CloudSek أول شركة للأمن السيبراني من أصل هندي تتلقى استثمارات منها ولاية أمريكية صندوق
اقرأ المزيد

يواجه مزودو خدمة الإنترنت عمومًا مخاطر الهجمات المتعلقة بالمصادقة والبريد العشوائي وهجمات رفض الخدمة وروبوتات التنقيب عن البيانات. اختبار تورينج العام المؤتمت بالكامل، للتمييز بين أجهزة الكمبيوتر والبشر، والمعروف شعبياً باسم CAPTCHA، هو اختبار استجابة للتحدي تم إنشاؤه لتقييد الوصول إلى أنظمة الكمبيوتر بشكل انتقائي. كنوع من إثبات التفاعل البشري، أو آلية المصادقة البشرية، يولد اختبار CAPTCHA تحديات لتحديد المستخدمين. في الأساس، يمكن لاختبار CAPTCHA التمييز بين الآلات/أجهزة الكمبيوتر والبشر. وقد أدى ذلك إلى زيادة اعتماد اختبارات CAPTCHA عبر العديد من الأعمال والخدمات عبر الإنترنت.
يعتمد مفهوم CAPTCHA على المهارات الحسية والمعرفية للإنسان. تمكن هذه المهارات البشر من قراءة صورة نصية مشوهة أو اختيار صور محددة من عدة صور مختلفة. بشكل عام، لا تستطيع أجهزة الكمبيوتر وبرامج الكمبيوتر مثل الروبوتات تفسير اختبار CAPTCHA لأنها تولد صورًا مشوهة بنص أو أرقام، والتي تفشل معظم تقنيات التعرف الضوئي على الأحرف (OCR) في فهمها. ومع ذلك، بمساعدة الذكاء الاصطناعي، أصبحت الخوارزميات أكثر ذكاءً وأصبحت الروبوتات الآن قادرة على اختراق هذه الاختبارات. على سبيل المثال، هناك روبوتات قادرة على حل اختبار CAPTCHA النصي من خلال آليات تجزئة الحروف. ومع ذلك، لا يتوفر الكثير من خوارزميات حل CAPTCHA الآلية.
توضح هذه المقالة الطرق المختلفة لإنشاء اختبارات CAPTCHA والتحقق منها وتطبيقها والطرق المتعددة لتجاوز capTchas.
يقوم مطورو الويب بنشر CapTchas على مواقع الويب لضمان حمايتها من الروبوتات. تُستخدم اختبارات CAPTCHA بشكل عام لمنع:
تمثل الصورة أدناه الطريقة الشائعة لإنشاء اختبارات CAPTCHA والتحقق منها:


Google reCaptcha هي خدمة مجانية تقدم لمنع البريد العشوائي وإساءة استخدام مواقع الويب. يستخدم تقنيات تحليل المخاطر المتقدمة ويسمح فقط للمستخدمين الصالحين بالمتابعة.

تساعد ملحقات المتصفح مثل Buster في حل تحديات التحقق من CAPTCHA. يستخدم Buster، على سبيل المثال، برنامج التعرف على الكلام لتجاوز تحديات reCaptcha الصوتية. يسمح reCaptcha للمستخدمين بتنزيل الملفات الصوتية. بمجرد تنزيله، واجهة برمجة تطبيقات التعرف على الكلام الخاصة بـ Google يمكن استخدامها لحل التحدي الصوتي.
تقدم خدمات حل CAPTCHA عبر الإنترنت خدمات قائمة على الإنسان. تشمل هذه الخدمات البشر الفعليين الذين تم تعيينهم لحل اختبارات CAPTCHA.
يمنع المكون الإضافي لـ jQuery real person CAPTCHA عمليات إرسال النماذج الآلية بواسطة الروبوتات. تقدم هذه المكونات الإضافية اختبارات CAPTchA النصية بخط منقط. هذا يحل مشكلة إرسال النماذج المزيفة.

يمكن استخدام الخطوات التالية لحل اختبارات CAPTCHA الخاصة بالشخص الحقيقي:
في هذه العملية التي تتم لمرة واحدة:
بعد إكمال العملية A بنجاح، قم بإعداد عملية من أجل:
مثال:
من برنامج webdriver لاستيراد السيلينيوم
وقت الاستيراد
مجموعة البيانات = {'* * * * * *******': 'J'،
'******* * * * * *': 'L'،
'******** * ** * ** * ** * * * ** ** ':' B ',
'* * * **** * * ':' Y '،
'* * * ******** * * ':' T ',
'***** * ** ** ** ** * *': 'C',
'******** * ** * ** ** ** ** *': 'E',
'******** ** ** ** ** * ***** ':' D ',
'* ** *********** ** ** *': 'I',
'***** * ** ** ** ** ** ** ** ***': 'O',
'******* * * * * * *******': 'M',
'******* * * * * * *******': 'N',
'******** * * * * * * ':' F '،
'** * * * ** * ** * ** * * * **': 'S',
'***** * ** ** ** ** ** * **** *':' Q ',
'******* * * * * * * * * * *': 'K'،
'** ** ** * * * ** ** ** **': 'A',
'****** * * * * ******* ':' U ',
'******* * * * * ********': 'H',
'** ** ** * ** ** ** ':' V '،
'* ** *** * ** * ** * *** ** *': 'Z',
'******** * * * * * * * ** ':' P ',
'* * * * * * * * * * *': 'X'،
'***** * ** ** ** * ** * * **': 'G',
'******** * * * * * * * * * ** *': 'R',
'******* * * * * ********': 'W'}
وصف مجموعة_captcha_string (word_pos):
سلسلة الكابتشا =»
بالنسبة له في النطاق (len (word_pos [0])):
قائمة temp_list = []
سلسلة temp_string =»
بالنسبة لـ j في النطاق (len (word_pos)):
فال = word_pos [j] [i]
سلسلة temp_string += val
إذا كان val.strip ():
temp_list.append (val)
إذا كانت قائمة temp_list:
سلسلة captcha_string += سلسلة temp_string
وإلا:
captcha_string += 'sp'
إرجاع captcha_string.split («spsp»)
# إنشاء عميل
العميل = ويبدريفر.كروم ()
client.get (» http://keith-wood.name/realPerson.html «)
تايم سليب (3)
# فهرسة النص
_get = lambda _in: {الفهرس: val للفهرس، val في التعداد (_in)}
# احصل على نص من علامة html
كلمة التحقق = client.find_element_by_css_selector ('النموذج [class= «realperson-text"] ') .text.split ('\n')
word_pos = قائمة (خريطة (_get، كلمة التحقق))
# نص المجموعة
النص = مجموعة_captcha_string (word_pos)
# احصل على نص (اختبار)
captcha_text = «.join (قائمة (خريطة (lambda x: مجموعة البيانات [x] إذا كان x آخر «، نص)))
طباعة («كلمة التحقق:»، captcha_text)
تعد اختبارات CAPTCHA المستندة إلى النص/النص في الصورة هي النوع الأكثر انتشارًا وتستخدم نصًا مشوهًا يتم عرضه في صورة. هناك نوعان من اختبارات CAPTchA النصية:
يمكن تجاوز اختبارات CAPTCHA البسيطة باستخدام تقنية التعرف الضوئي على الأحرف (OCR) التي تتعرف على النص داخل الصور، مثل المستندات الممسوحة ضوئيًا والصور الفوتوغرافية. تعمل هذه التقنية على تحويل الصور التي تحتوي على نص مكتوب إلى بيانات نصية يمكن قراءتها آليًا.

مثال:
استيراد بيتسراكت
أنظمة الاستيراد
استيراد arparse
حاول:
استيراد صورة
باستثناء خطأ الاستيراد:
من صورة استيراد PIL
من عملية استيراد فرعية check_output
حل def (المسار):
طباعة («إعادة تشكيل الصورة»)
check_output (['تحويل'، المسار، '-resample'، '600'، المسار])
إرجاع pytesseract.image_to_string (فتح الصورة (المسار))
إذا كان __name__== «__main__»:
argparser = argparse.محلل الحجج ()
argparser.add_argument ('المسار'، المساعدة = 'مسار ملف Captcha ')
args = argparser.parse_args ()
المسار = args.path
طباعة («حل كلمة التحقق»)
captcha_text = حل (المسار)
طباعة («نص مستخرج»، captcha_text)
# أمر لتشغيل البرنامج النصي
بيثون 3 captcha_resolver.py cap.jpg

تعد اختبارات CAPTCHA للنص في الصورة معقدة للغاية بحيث لا يمكن حلها باستخدام تقنية OCR. بدلاً من ذلك، يمكن النظر في التدابير التالية:
يتضمن هذا التحدي الفريد حل المشكلات الرياضية، وخاصة إيجاد مجموع الأعداد الصحيحة.

لتجاوز هذا التحدي، يمكن للمرء:
في هجمات الحرمان من الخدمة الموزعة، يستهدف مجرمو الإنترنت موارد الشبكة ويجعلونها غير قابلة للوصول للمستخدمين. تؤدي هذه الهجمات مؤقتًا أو إلى أجل غير مسمى إلى إبطاء المورد المستهدف عن طريق إغراق الهدف بحركة مرور واردة من عدة مضيفين. لمنع مثل هذه الهجمات، تستخدم الشركات CapTchas.

يمكن استخدام الطرق أو البرامج التالية لتجاوز مواقع DDoS المحمية: