كيف تعمل الكابتشا CAPTCHA الجزء الثاني
كيف تعمل الكابتشا CAPTCHA؟
الجزء الثاني
من يستخدم الكابتشا
واحدة من استخدامات الكابتشا هو في نماذج استطلاعات الرأي التي تجرى على مواقع الانترنت، فاستطلاع الرأي قد يكون غير دقيق إذا لم يكن محمى بالكابتشا. على سبيل المثال في العام 1999 قام احد المواقع باستطلاع للرأي حول أفضل كلية تقدم برنامج في علوم الحاسوب. فقام طالبين من طلاب كليتين من الكليات المتنافسة بتصميم برنامج أطلقوا عليه اسم bots يقوم بالتصويت بطريقة اتوماتيكية لصالح كلياتهم، وكانت نتيجة استطلاع الرأي ان حصلت تلك الكليات على آلاف الأصوات في حين الأصوات التي حصلت عليها باقي الكليات لم تتجاوز المئات. ما نود ان نقوله هنا إذا كان بالإمكان ان يكون هناك برامج تقوم بالتصويت فكيف نثق بنتائج أي استطلاع رأي؟ إذا الكابتشا هنا سوف تساعد وتقف بالمرصاد لبرامج التصويت الأوتوماتيكي.
أيضا نماذج التسجيل بمختلف أنواعها تستخدم الكابتشا. على سبيل المثال كل أنظمة البريد الالكتروني المجاني مثل الياهو والهوتميل والجوجل ميل التي تتيح المجال لكافة الزوار بافتتاح حساب بريد الكتروني بدون أي تكاليف مادية. وللحصول على هذه الخدمة فان المستخدم عليه ان يوفر معلومات شخصية لإنشاء الحساب ولكن هذه المعلومات لا يتم التحقق منها حيث يمكنك ان تكتب أي اسم تشاء وتدخل بيانات غير حقيقية وفي النهاية تحصل على حساب بريد الكتروني باسم مستخدم وكلمة مرور. ولكن هذه الأنظمة تعتمد على الكابتشا CAPTCHA لمنع البرامج المتطفلة bots لإنشاء مئات الحسابات الالكترونية الوهمية واستخدامها في إزعاج المستخدمين.
تستخدم ياهو كابتشا الأحرف الانجليزية والأرقام عند إنشاء حساب بريد الكتروني لديها
كثير من مواقع الويب تستخدم أنظمة الكابتشا CAPTCHA خصوصا في دفتر الزوار وفي أنظمة التعليقات واذكر إنني كنت أعاني كثيرا من هجمات البرامج المتطفلة في موقع الفيزياء التعليمي وخصوصا على التعليقات على المواضيع حيث يتم إدراج عشرات التعليقات الغير مناسبة للمواضيع تحمل اغلبها دعايات لمنتجات ومواقع أخرى لتسويق سلعة معينة ولكن بتطبيق الكابتشا تم منع هذه الظاهر تماما.
في الجزء التالي من المقال سوف نقوم بشرح فكرة إنشاء الكابتشا…..
إنشاء الكابتشا وتصميمها
الخطوة الأولى لإنشاء الكابتشا CAPTCHA هو ان يجب ان نعرف طريقة تحليل البيانات والمعلومات من قبل الإنسان ومن قبل الآلة. الآلة تتبع مجموع من التعليمات، فإذا فشلت تعليمة من التعليمات فان الآلة لا تستطيع الاستمرار في عملية التحليل وتتوقف. مصمم الكابتشا يأخذ نقطة الضعف هذه في الحسبان عند إنشاء فحص الكابتشا. على سبيل المثال، من السهل بناء برنامج يستطيع ان يقرأ معلومات الويب والتي تعرف بالميتاداتا metadata والتي لا تظهر للمستخدم، فان تصميم كابتشا تستخدم صور للميتاداتا فان كسرها سيكون سهلا للغاية.
نفس الشيء، لا ينصح بتصميم كابتشا تستخدم أحرف وأرقام واضحة بدون أي تشويه عليها فكثير من برامج الكمبيوتر تستطيع أن تتعرف على هذه الأحرف والأرقام والتي تعرف ببرامج Optical character recognition أو OCR.
ان الطريقة المستخدمة لتصميم الكابتشا هو ان تقوم بوضع الصورة (السؤال) والحل، وهذا يتطلب بناء قاعدة بيانات تخزن فيها الكابتشا والحل، فإذا ظهرت لك صورة محددة وقمت بإدخال الحل فان النظام سوف يتحقق من المعلومة المدخلة بمقارنتها بتلك المخزنة في قاعدة بياناته وبناء عليه يحدد لك إما الاستمرار أو إعادة الإدخال مرة أخرى. ويقول خبراء في شركة ميكروسوفت Kumar Chellapilla و Patrice Simard ان الكابتشا الجيدة والمقبولة للاستخدام هي التي يتمكن المستخدمين من حلها بنسبة 80% في حين ان نسبة اختراقها وحلها بواسطة برامج الهاكر في حدود 0.01%. كما ويجب ان تكون قاعدة بيانات الكابتشا لا تقل عن 10,000 خيار مختلف للكابتشا وإلا تمكن الهاكر من إيجاد جمع كل الاحتمالات واستخدام هجوم brute force لكسرها.
وبعض الأنظمة الأخرى تستخدم التوليد العشوائي للأرقام والحروف وهذه يصعب على برامج bots إن تخترقها وكلما زادت هذه الأرقام كلما كانت الكابتشا اقوي.
تظهر هذه الكابتشا 10 كلمات وتطلب منك ان تدخل ثلاثة منها فقط لاجتياز الفحص
الكابتشا والذكاء الصناعي
مبتكر الكابتشا Luis von Ahn من جامعة Carnegie Mellon في العام 2006 تحدث عن العلاقة بين الكابتشا CAPTCHA والذكاء الصناعي Artificial Intelligence (AI). لان الكابتشا هي الحاجز بين الهاكر والسبامر وأهدافهم، حيث ان هؤلاء الأشخاص يسخرون وقتهم وطاقتهم في محاولات لكسر الكابتشا. ان نجاحهم في كسر الكابتشا ينظر له بان الآلة تتطور وتصبح أكثر ذكاء (إذا صح التعبير). ففي كل مرة يتمكن شخص من تعليم الآلة كيف تتغلب على الكابتشا فإننا نتقدم خطوة للذكاء الصناعي.
الهاكرز تمكنوا من تعليم الكمبيوتر كيف يتعرف على النص في الصورة
وفي كل مرة يتم اختراق الكابتشا يتجه المبرمجون والمطورون مثل von Ahn إلى تطوير الكابتشا. فمع كل تقهقر للكابتشا هناك تقدم للذكاء الصناعي بمعنى انه مع كل خسارة هناك انتصار.
وهذا ينعكس علينا كمستخدمين لمواقع الويب حيث إن الكابتشا تتجه إلى أن تكون أكثر صعوبة وقد نصل لمرحلة تكون الكابتشا عبارة عن مسألة حسابية أو اختيار لأحرف معينة بلون معين أو عليها أشكال محددة. وقد نصل لمرحلة تكون فيها الكابتشا عبارة عن لغز يصعب على البعض منا حله وقد يتمكن الكمبيوتر من حله والتغلب علينا.
للاطلاع على الجزء الأول من كيف تعمل الكباتشا من هنا
لمزيد من المعلومات حول الكابتشا CAOTCHA هذه المواقع مفيدة.
والى اللقاء في مواضيع أخرى
د. حازم فلاح سكيك