المعلوماتية > عام

مبدأ عمل الـ Captcha

كيف تعمل الـCAPTCHA؟

عندما تقوم بشراء التذاكر لمشاهدة إحدى حفلات العمالقة في الأماكن العامة يجب أن تجتاز اختبارًا بسيط،، ويمكن أن نقول بأنّه اختبارٌ سهلٌ وبسيط بالنسبة لك، ولكن يجن أن يكون أقرب للمستحيل بالنسبة لآلة الحاسب. يسمى هذا النوع من الاختبارات الـCAPTCHA وهو اختصارٌ للعبارة: "Completely Automated Public Tuning Test to Tell Computers and Human Apart " أي اختبارTuring للتفريق بين البشر والحواسيب، وهو ما يعرف أيضاً بالـ"Human Interaction Proof (HIP) " أي نوعٌ من التفاعل بين الإنسان والدليل. على الأغلب أنّك رأيت اختبارات الـCAPTCHA على الكثير من المواقع الإلكترونية، والشكل الأكثر شيوعًا لها عبارةٌ عن صورةٍ مؤلفة من عدة أحرفٍ مشوّهة الشكل، وعليك إدخال هذه الأحرف بالترتيب الصحيح لتتمكن من اجتياز الاختبار. ما الغاية من هذا الاختبار ولماذا نحتاج إلى التمييز بين الإنسان والآلة؟

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

لقد تم تأسيس الـCAPTCHA اعتمادًا على تجربةٍ تدعى "اختبار تورينج". آلان تورينج، عالم الرياضيات والحاسوب الذي يعتبر أب الحوسبة الحديثة، قام باقتراح هذا الاختبار لدراسة إمكانية تفكير الآلات كالبشر. وهو عبارةٌ عن لعبة تقليد، يقوم فيها المحقق بطرح سلسلةٍ من الأسئلة على مشاركين اثنين: أحدهما آلة والآخر إنسان، بحيث لا يمكن للمحقق أن يرى أو يسمع المشاركين، وليس هناك من وسيلةٍ للتمييز بينهما سوى عن طريق استجابتهما للأسئلة المطروحة. فإذا لم يتمكن من التمييز تكون الآلة قد اجتازت اختبار تورينج. بالطبع إنّ هدف الـCAPTCHA هو إنشاء اختبارٍ يمكن للبشر اجتيازه بسهولة ولكن لا يمكن للآلات ذلك. ومن المهم أن يكون لتطبيق الـCAPTCHA القدرة على تقديمCAPTCHAs مختلفة للمستخدمين المختلفين. فإذا كانت الـCAPTCHA البصرية تقدم صورةً ثابتة لجميع المستخدمين فلن يمر الوقت الطويل حتى يرصد الـspammers النموذج، ليقوموا بفك تشفير الحروف، وبرمجة تطبيقٍ للقيام بكتابة الإجابة الصحيحة تلقائيًا. أغلب الـCAPTCHA تعتمد على الاختبار البصري، والحواسيب تفتقر إلى التطور الذي يمتلكه البشر في معالجة البيانات البصرية، حيث أننا ننظر إلى الصورة ونستخلص البيانات منها بسهولةٍ أكبر من الحاسب. وفي بعض الأحيان يمكن للعقل البشري أن يميز أشكالًا وأنماطًا لا وجود لها، وهو ما نسميه هوس pareidolia ، وذلك لأنّ الدماغ البشري دائمًا ما يحاول ربط المعلومات العشوائية بأشكالٍ وأنماطٍ معروفةٍ ومفهومةٍ بالنسبة له، وهذا ما يفسر رؤيتنا للأشكال على الغيوم أو الوجوه على سطح القمر.

من المهمّ أن يكون هناك بديلٌ عن الـCAPTCHA البصرية، وإلا سيقع مسؤولي مواقع الويب في مشكلة حرمان المستخدمين ممن لديهم مشاكل بصرية.

أحد الحلول البديلة هو الـCAPTCHA الصوتية، وهي في العادة عبارةٌ عن سلسلةٍ من الحروف والأرقام المنطوقة، والتي يضاف لها خلفيةٌ من الضجيج، مما يصعب على البرامج التعرّف على الصوت أو تمييز الأحرف. من الخيارات الأخرى إنشاءCAPTCHA تسأل القارئ عن معنى فقرةٍ معينةٍ في النص. هذا النوع يختبر مهارات القارئ في الفهم، في حين أنّ البرامج الحاسوبية لديها القدرة على انتقاء الكلمات الرئيسية في النص، ولكن ليس لديها القدرة على معرفة ما تعنيه هذه الكلمات في الواقع. من يستخدم الـCAPTCHA ؟

أحد التطبيقات الشائعة للـCAPTCHA هو التأكد من التصويتات الحية، وتصويتSlashdot سابق يقدم مثالًا جيدًا عن الخطأ الممكن حدوثه في حال لم ينفذ القائمون على التصويت (الاستفتاء) نظام فلترة على تصويتهم.

في عام 1999 طرحتSlashdot استفتاءً تطلب فيه من الزوار اختيار الكلّية التي تقدم أفضل برنامجٍ في علوم الحاسوب. فقام طلابٌ من جامعتيMIT وCranegie Mellon بإنشاء برنامجٍ تلقائي(BOT) ليصوت تلقائيًا لصالح جامعاتهم، فحصلت الجامعتان على الآلاف من الأصوات، بينما حصلت الجامعات الأخرى على المئات فقط. فإذا كان بالإمكان إنشاء مثل هذه البرامج للتلاعب في التصويت، كيف لنا أن نثق إذًا في التصويتات الحية؟؟؟ إنّ نموذج الـCAPTCHA يستطيع المساعدة في منع المبرمجين من استغلال نظام التصويت. غالبًا ما يستخدم نظام التسجيل في مواقع الويب الـCAPTCHA، على سبيل المثال: تسمح مواقع خدمة البريد الإلكتروني المجاني مثلHotmail، Yahoo أوGmail للناس بإنشاء حساب بريدٍ إلكترونيٍ مجاني.

في العادة، يزوّد المستخدمون بعض المعلومات الشخصية عند إنشاء حسابٍ ما، ولكن هذه المعلومات لا تثبت أنهم بشر، إنّهم يستخدمون الـCAPTCHA لمنع الـ Spammers من استخدام الـBOTs في إنشاء المئات من الحسابات الوهمية. يستخدم سماسرة التذاكر كـTicketMaster تطبيقات الـCAPTCHA أيضًا، حيث تساعد هذه التطبيقات السماسرة على منع الاختراقات على الخدمة بالكثير من الطلبات لشراء التذاكر للأحداث الضخمة، فمن دون أي نوعٍ من الفلترة يصبح هناك إمكانية استخدامBot لأخذ المئات أو الآلاف من طلبات التذاكر في غضون بضعة ثوانٍ.

يصبح الزبائن الحقيقيون هنا هم الضحية، حيث تكون التذاكر قد نفذت بسرعةٍ كبيرة بعد أن أصبحت متوفرة، وبعدها يقوم السماسرة الذين استخدموا الـBot لحجز كميةٍ هائلة من التذاكر ببيعها للزبائن، ولكن بسعرٍ أعلى من سعرها الأساسي. في حين أنّ تطبيقCAPTCHA لا يمنع هذه العمليات بشكلٍ نهائي، وإنما يجعلها أكثر صعوبةً فقط. يوجد لدى بعض صفحات الويب لوحات رسائل أو وسائل اتصال تسمح من خلالها لزوار الموقع بإرسال الرسائل إلى الموقع أو إلى مدير الموقع بشكل مباشر.

تستخدم الكثير من هذه المواقع الـCAPTCHA لمنع ورود سيلٍ من الرسائل الغير مرغوب بها، فهي لا تمنع شخصًا مصرًا على إرسال رسالة سيئة أو مضايقة المسؤول عن الموقع، ولكنّها تساعد على منع البرامج الأوتوماتيكية(BOTs) من نشر الرسائل تلقائيًا. الشكل الأكثر شيوعًا من الـCAPTCHA يطلب من الزوار كتابة كلمةٍ أو سلسلةٍ من الأحرف والأرقام بعد أن يتمّ تشويه شكلها بطريقةٍ معينة.

فقد قام بعض منشئي الـCAPTHA بزيادة قيمة الـCAPTCHA ، وذلك عن طريق الاستفادة منها في تحويل الكتب إلى رقمية (رقمنة الكتب).

هذا تطبيقٌ يدعى "reCAPTCHA "، والذي يستخدم إجابة المستخدمين للـCAPTCHA للتأكد من محتويات قطعةٍ من الورق ممسوحةٍ ضوئيًا. لأن أجهزة الحاسب ليست قادرةً على تحديد الكلمات من الاشعة الرقمية دائمًا، فيجب على الناس تأكيد ما تقوله الصفحة المطبوعة، وعندها يمكن لمحركات البحث فهرسة محتويات الكتب وجعل البحث فيها أسهل بكثير.

يعمل تطبيقreCAPTCHA وفق الآلية التالية: في البداية يقوم مدير الـreCAPTCHA بالمسح الرقمي لكتابٍ ما، ثم يقوم برنامج الـreCAPTCHA باختيار كلمتين من الصورة الرقمية، بحيث تكون الكلمة الأولى معروفةً بالنسبة له، وإذا استطاع الزائر كتابة هذه الكلمة بشكل صحيح يفترض التطبيق بأنّ الكلمة الثانية قد كتبت أيضًا بشكل صحيح، ويقوم بإرسالها إلى مجموعةٍ من الكلمات التي سيقدمها التطبيق إلى مستخدمين آخرين،

في كل مرةٍ يكتب فيها المستخدم كلمةً، يقوم التطبيق بمقارنة هذه الكلمة مع الكلمة الأصلية، وهكذا حتى يتلقى التطبيق عددًا كافيًا من الإجابات للتحقق من الكلمة بنسبةٍ عالية من اليقين، وبعدها يمكن لهذه الكلمة أن تنتقل إلى مجموعة الكلمات المؤكدة. هل تستطيع سماعي الآن؟ في كثيرٍ من الأحيان تكون الـCAPTCHA الصوتية مشابهةً للمرئية، ففي نموذج قاعدة المعطيات يجب على منشئ الـCAPTCHA أن يسجل مسبقاً صوت شخصٍ أو حاسبٍ ينطق كل سلسلةٍ من المحارف، ثم يربطها مع الحل الصحيح. لكن في النموذج العشوائي، يقوم المنشئ بتسجيل كل محرفٍ على حدة، ثم يقوم التطبيق بجمع المحارف مع بعضها بشكلٍ عشوائي ليشكل الـ CAPTCHA. إنشاء الـ CAPTCHA: الخطوة الأولى في إنشاء الـCAPTCHA هي إلقاء نظرةٍ على الاختلاف بين الآلة والإنسان في معالجة المعلومات. حيث تتبع الآلة ترتيبًا معينًا من التعليمات، فإذا حصل خللٌ ما خارج هذه السلسلة، فإنّ الآلة لا تستطيع إنجاز المهمة الموكلة إليها.

على مصمم الـCAPTCHA أن يأخذ هذه الحالة في الحسبان عند إنشاءه لاختبارٍ ما، فعلى سبيل المثال: إنّه من السهل بناء برنامجٍ يستطيع الاطلاع على البيانات على الويب (والتي تكون مخفيةً على البشر)، ولكنّ الآلات تستطيع قراءتها، فإذا أنشأت الـCAPTCHA وكانت قاعدة بيانات الصور تتضمن الحل، فيمكن للـCAPTCHA أن تكسر بكل سهولة خلال وقتٍ قصيرٍ جدًا. بشكلٍ مشابه فإنَه من غير الحكمة بناء الـCAPTCHA والحروف والأرقام فيها غير مشوّهةٍ بطريقةٍ ما. فإنَ السلاسل الغير مشوهة من المحارف غير آمنة. فقد تستطيع العديد من برامج الحاسب مسح الصورة رقميًا وتمييز الأشكال البسيطة كالحروف والأرقام. أحد الطرق لإنشاء الـCAPTCHA هي تحديد الصورة مسبقًا ثم استخدام الحل لاحقًا. يتطلب هذا النموذج قاعدة معطيات تتضمن جميع حلول الـCAPTCHA ، بحيث يكون حلًا وسطًا لنتمكن من الاعتماد على الاختبار. اعتماداً على خبراء بحوث مايكروسوفت كومار شاليبيتا وباتريك سيمارد، فإنَ البشر يحصلون على نسبة 80% في القدرة على حل أيّCAPTCHA معينة، لكنّ الآلات يجب أن تحصل على 0.01% كمعدل نجاح، فإذا خطط الـSpammer لإيجاد لائحةٍ لجميع الحلول الممكنة للـCAPTCHA فعليه/ها أن ينشئ تطبيقًا يعمل على إغراق الـCAPTCHA بكل حلٍ ممكن بهجومٍ ضخم. يجب أن تحتوي قاعدة البيانات على أكثر من 10 آلافCAPTCHA ممكنة حتى تصل إلى مستوى الـCAPTCHA الجيدة. تقوم الـCAPTCHA الأخرى بإنشاء سلسلةٍ عشوائيةٍ من الحروف والأرقام، ومن النادر جدًا أن تحصل على نفس السلسلة مرتين. هذا الاختبار العشوائي يساعد على التخلص من احتمالية الهجوم الضخم، أي تصبح فرصة الـbot في إدخال التسلسل الصحيح للحروف العشوائية قليلةً جدًا، وكلما أصبحت السلسلة أطول كلما أصبحت احتمالية حل الـbot للـCAPTCHA أقل. تستخدم في الـCAPTCHA طرقٌ متعددة لتشويه الكلمات: إحدى تلك الطرق مدّ وإمالة الأحرف بطرقٍ غريبة، وكأنّك تنظر إلى الكلمات من خلال لوحٍ زجاجي، وفي طرقٍ أخرى يتمّ وضع الكلمة خلف نماذجٍ معينةٍ من الخطوط المتقاطعة، وذلك لكسر الشكل المحدد للحرف، وفي بعضها الآخر يتم استخدام ألوانٌ مختلفة أو حقول من النقاط لتحقيق نفس الغاية.

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

خيارات منطقيًا يكون التالي. المشكلة في هذا النموذج أنّه ليس لجميع البشر القدرة على حل مثل هذه المشاكل (الأحاجي)، ومعدل نجاح البشر في تجاوزها قد ينخفض عن 80%..

كسر الـ CAPTCHA: إنَ التحدي في كسر الـCAPTCHA ليس معرفة ما تقوله الرسالة – بعد كل ذلك، يجب أن يحصل البشر على نسبةٍ لا تقلّ عن 80% كمعدل نجاحٍ في اجتياز الـCAPTCHA . ما هو صعب حقاً هو تعليم الحاسب كيفية معالجة المعلومات بطريقةٍ مشابهة لطريقة تفكير البشر. ففي كثيرٍ من الحالات البشر الذين ينجحون بكسر الـCAPTCHA لا يقومون بالتركيز على جعل الحواسب أذكى، وإنّما يعملون على تبسيط المشكلة التي تطرحها الـ CAPTCHA. لنفترض أنّه لدينا استمارةٌ محمية بـCAPTCHA تقوم بإظهار كلماتٍ إنكليزية، فيقوم التطبيق بزيادة اعوجاج الخط قليلًا، ويقوم بمدّ وزيادة انحناء الحروف بطريقةٍ لا يمكن التنبؤ بها، بالإضافة إلى خلفيةٍ يتم انشاؤها بشكلٍ عشوائي يتم وضعها خلف الكلمة.

يقوم المبرمج الذي يحاول كسر هذه الـCAPTCHA بتجزئة المشكلة إلى مراحل، حيث يقوم بإنشاء خوارزميةٍ ( والتي تكون عبارةً عن مجموعةٍ من التعليمات التي توجه الآلة إلى اتباع سلسلةٍ معينة من الخطوات). في مثل هذه الحالة قد تكون إحدى هذه الخطوات هي تحويل الصورة إلى اللون الرمادي، مما يعني إزالة جميع الألوان من الصورة، أي إزالة مستوىً من مستويات التشويش المطبقة على الـ CAPTCHA. بعدها تقوم الخوارزمية بإخبار الحاسب أن يحدد الأشكال التي بالأبيض والأسود ضمن الصورة، ويقوم البرنامج بمقارنة كل عينة (نموذج) بحرفٍ عادي إلى أن يصل إلى حرفٍ مطابق، فإذا استطاع إيجاد عدة حروفٍ فقط، فإنّه قد يستطيع إكمال السلسلة إذا بحث في قاعدة معطيات الكلمات الإنكليزية، ثم يضع الكلمة المقترحة في الحقل المخصص. قد تكون هذه الآلية في كسر الـCAPTCHA فعّالةً بشكل مفاجئ، ربما لن تعمل بنسبة 100%، ولكنّها تعمل بنسبة كافية للـ mersSpam. ماذا عن الـCAPTCHAs الأكثر تعقيداً؟

تقدم الـGimpy CAPTCHA عشرة كلمات بخطوطٍ مائلة على خلفيةٍ غير واضحة، وتقدم هذه الـCAPTCHA الكلمات على شكل ثنائيات، بحيث تتوضع إحداهما فوق الأخرى لزيادة التشويش، وعلى المستخدم أن يكتب ثلاث كلماتٍ بشكل صحيح كي يتقدم خطوة للأمام، ولكن هل يمكن الاعتماد على هذا النموذج؟ كما يتضح، مع خوارزمية كسر الـCAPTCHA الصحيحة، فإنها ليست موثوقة بشكل كبير. فقد نشر كلٌ من غريغ موري و جيتيندرا ماليك بحثًا يوضّح طريقتهم لكسر النسخةGimpy من الـ CAPTCHA، والشيء الوحيد الذي ساعدهم هو اعتماد هذه الـCAPTCHA على كلماتٍ فعلية بدلًا من سلاسلٍ عشوائيةٍ من الحروف والأرقام. بوضع هذا في الحسبان صممّ موري وماليك خوارزميةً تحاول تحديد الكلمات من خلال اختبار بداية ونهاية سلسلة الأحرف، كما أنّهم استخدموا قاموس الـ500 كلمة للـ Gimpy. وقام موري وماليك بإجراء العديد من الاختبارات باستخدام خوارزميتهم، ووجدوا أنَ خوارزميتهم تستطيع تمييز الكلمات بشكلٍ صحيح بنسبة 33% في الـ Gimpy CAPTCHA. قد يكون هذا أبعد ما يكون عن الكمال، ولكنّه مهمٌ جدًا بالنسبة للـSpammers ، حيث يقومون بإنشاءbots تحاول كسر الـCAPTCHA عدة مئاتٍ من المرات كل دقيقة، فينجح ثلث هذه المحاولات وهذه نتيجة مرضية. قد تعتقد أنّ ذلك يسبب الإزعاج لمخترعي الـCAPTCHA ، حيث أنّ عملهم الشاق سيذهب هباءً بسبب المخترقين. لكنّك مخطئ.... الـCAPTCHA والذكاء الصنعي:

تحدثت لويس فان آن من جامعةMellon إحدى مخترعات الـCAPTCHA في محاضرةٍ عام 2006 حول العلاقة التي تربط بين أشياءٍ كالـCAPTCHA ومجال الذكاء الصنعي(AI) .

بما أنَ الـCAPTCHA هي الحاجز الحائل بين الـSpammers أو المخترقين وبين تحقيق هدفهم، فإنّهم كرسوا الوقت والطاقة لكسر الـCAPTCHA ، ونجاحهم يعني أنّ الآلات أصبحت أكثر تطورًا، ففي كل مرةٍ يستطيع أحدهم أن يكتشف طريقةً لتعليم الآلة كسر الـCAPTCHA فإننا نتقدم خطوةً في مجال الذكاء الصنعي. كما يجد الناس طرقًا للالتفاف على الـ CAPTCHA، فإنَ علماء الحاسب مثل لويس يقومون بتطوير الـCAPTCHA لمواجهة تحديات مجال الذكاء الصنعي، أي كل خطوةٍ إلى الوراء في الـCAPTCHA لاتزال خطوةً للأمام بالنسبة للذكاء الصنعي(AI) ، فكل هزيمةٍ هي انتصار. لكن ماذا عن مديري الويب؟ فهم لا يجدون فلسفة لويس جذابةً كثيرًا. فمن وجهة نظرهم لا يزال عليهم التعامل مع مشكلةٍ كبيرة – الـSpammers والمخترقون. حيث يجب أن يكون البشر المهتمون بمواقع الويب أو انشاء استطلاعات الرأي على الإنترنت على علمٍ بأنّ العديد من أنظمة الـCAPTCHA لم تعد فعّالة، ولا بد من إجراء القليل من البحوث لمعرفة أي نوع من الـCAPTCHA لازال فعالًا وتحديثها بشكلٍ دائم. إذا فشل أحد أنظمة الـCAPTCHA قد يحتاج المسؤول أن يزيل الكود (التعليمات البرمجية) من موقعه/ها، واستبداله بإصدارٍ آخر من الـ CAPTCHA. فكلما أصبح مصممو الـ CAPTCHA أكثر دقّةً في عملهم، كلما أصبحت الحواسب أكثر تعقيدًا وينبغي تطوير طريقة الاختبار، ولكن إذا تطور الاختبار إلى نقطة لا يستطيع عندها البشر حلّ الـCAPTCHA بنسبة نجاحٍ مقبولة عندها يفشل كامل النظام . قد لا يشمل الجواب كتابة حروفٍ مائلة أو مشوّهة، فقد يُطلب من المستخدم حلّ معادلةٍ رياضية أو الإجابة على أسئلةٍ حول قصةٍ قصيرة، وكلما أصبحت هذه الاختبارات أكثر تعقيدًا كلما قلّ اهتمام المستخدمين. كم من المستخدمين ستزال لديهم الرغبة في الرد على منشورٍ معين في حال كان ينبغي عليهم حلّ معادلةٍ من الدرجة الثانية أولاً؟ في النهاية قد نصل إلى نقطةٍ ينظر فيها البشر والحواسيب إلى الألغاز بنفس الطريقة، إذا حصل ذلك فإنّ الاختبارات كالـCAPTCHA تصبح عبارةً عن شيفرةٍ من عدة سطور لا فائدة منها.

حتى ذلك الوقت لا يتوجب علينا سوى النظر (أو الاستماع) بعنايةٍ إلى محاولات فك رموز الـ CAPTCHA.

المصدر :

هنا

ترجمة : ريم اسكندر

تدقيق : محمد براء

صورة : فادي حموي