كيف تعمل الكابتشا CAPTCHA؟
الجزء الأول
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]كثيرة هي المصطلحات الانترنتية واليوم سوف نتعرف على مصطلح الكابتشا والذي نستخدمه بكثرة عن التسجيل في موقع أو عند تحميل ملف أو عند ترك تعليق على موضوع ما او وضع توقيع في دفتر الزوار وكثيرا ما فشلت عملية إدخال أحرف الكابتشا وخصوصا في موقع الرابيدشير مما يتطلب منا إعادة المحاولة لحين ان يتم إدخال الأحرف المشوهة بالضبط.
في هذا المقال من كيف تعمل الأشياء سوف نقوم بشرح كل ما يتعلق بالكابتشا CAPTCHA ما هي وما الغرض منها وكيف تعمل وأنواعها وهل تم اختراقها أم لا؟تعتبر الكابتشا نموذج فحص عليك اجتيازه قبل ان تحصل على خدمتك من موقع من مواقع الانترنت وهذا الفحص مصمم خصيصا لكي يتمكن هذا الموقع المقدم للخدمة من التفرقة بين الإنسان والحاسوب.
كلمة كابشتا CAPTCHA هي اختصار للجملة Completely Automated Public Turing Test to Tell Computers and Humans Apart والتي تعني فحص يفرق الإنسان عن الكمبيوتر، كما ويمكن أن تعرف على إنها Human Interaction Proof (HIP) أي دليل التفاعل الإنساني.
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]تستخدم الجوجل الكابتشا عن فتح حساب بريد الكتروني لديهالماذا يحتاج أي منا ان يقوم بهذا الفحص ليتم التفرقة بينه وبين الكمبيوتر؟ هذا لان هناك أشخاص يحاولون دائما إثبات فشل أنظمة الكمبيوتر التي تشغل موقع على الانترنت، وهذا العبث قد يضر بمصالح ملايين المستخدمين والمواقع على الانترنت. على سبيل المثال خدمة البريد الالكتروني المجاني free e-mail تهاجم من قبل ملايين الطلبات الوهمية التي يرسلها برامج كمبيوتر تعمل تلقائيا بهدف إرباك هذه الخدمة وتحميل أنظمتها فوق طاقتها. البرامج الأوتوماتيكية تقوم بإرسال بريد مزعج spam mail إلى ملايين الأشخاص. لذا فان فحص الكابتشا يساعد على التعرف على ما اذا كان المرسل هو شخص ام هو برنامج كمبيوتر.
من الامور المهمة عن فحص الكابتشا هو ان الشخص الذي صمم هذا الفحص قد لا يصاب بالاحباط نتيجة لان احد قد خدع هذا الفحص. هذا لان فشل فحص الكابتشا يشير الى ان هناك شخص ما قد استطاع ان يعلم الكمبيوتر كيف يقوم بحل هذا الفحص. بمعنى اخر فشل فحص الكابتشا واختراقه دليل على تقدم الذكاء الاصطناعي.
دعنا الآن ندخل بتعمق أكثر في موضوع الكابتشا.......
تكنولوجيا الكابتشا CAPTECHA لها أساس تجريبي يعرف باسم Turing Test والذي يعرف بوالد الحوسبة الحديثة، حيث ان هذا الفحص مخصص للتعرف على قدرات ذكاء الكمبيوتر. هذا الفحص يحتاج من الكمبيوتر ان يقوم بالتفكير مثل الإنسان ليستطيع حله. فهذا الفحص يقوم باستجواب مشاركين احدهما الكمبيوتر والأخر إنسان مجموعة من الأسئلة، والمستجوب هنا لا يسمع ولا يرى المشاركين ولا يملك أي طريقة للتفرقة بين المشاركين. إذا كان المستجوب غير قادرا على التعرف على المشارك الكمبيوتر فان هذا المشارك يتجاوز فحص Turing test.
للمزيد من المعلومات حول Turing test [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]
بالطبع، مع الكابتشا، فان الهدف هو تصميم فحص يستطيع الإنسان حله بسهولة في حين ان الآلة لا تستطيع. ومن المهم في تطبيقات الكابتشا ان يكون هناك أكثر من طريقة لعرضها. فمثلا إذا كانت الكابتشا تمثل صورة ثابتة لكل المستخدمين فان من السهل لمصممي
ليست كل الكابتشا تتطلب أن تقوم بكتابة نص فمثلا الكابتشا في الشكل أعلاه تطلب من المستخدم تحريك الماوس على مسار محدد على الصورة.
معظم ولكن ليس كل الكابتشا تعتمد على الفحص البصري. الكمبيوتر بالطبع يفتقد للطريقة التي يفكر بها البشر عندما يقوم بتحليل بيانات بصرية. فمثلا نحن عندما ننظر لصورة ما نلتقط التفاصيل الدقيقة بسرعة وبسهولة لا يستطيع الكمبيوتر ان يقوم بها. عقل الإنسان أحيانا يتصور أو يتخيل الأشكال والنماذج حتى لو لم تكن موجودة في الواقع، كما يمكننا ان نرى أشكال معينة في السحب أو نرى وجوه مرسومة على القمر. هذه الأشكال والرسومات التي نراها هي نتاج عمل الدماغ في محاولة ربط معلومات عشوائية بالأشكال والنماذج التي يراها.
تقوم الكابتشا بإظهار صورة او صوت في الغالب يكون مشوش، بحيث يصعب على الإنسان ان يحل شفرته. ولهذا فان كثير من أنظمة الكابتشا توفر إمكانية إعادة رسم الكابتشا أو توليد نماذج أخرى للمحاولة للحصول على صورة أوضح. كما يمكن ان تكون الكابتشا في صورة صوتية حيث تقوم الكابتشا بنطق مجموعة من الأحرف والأرقام مع وجود خلفية صوتية كضجيج للتشويش بحيث يصعب على برامج التعرف على الصوت من التقاط تلك الأحرف والأرقام.
في الجزء التالي من المقال سوف نتحدث عن أنواع المواقع التي تستخدم الكابتشا.....
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]الجزء الثانيمن يستخدم الكابتشا
واحدة من استخدامات الكابتشا هو في نماذج استطلاعات الرأي التي تجرى على مواقع الانترنت، فاستطلاع الرأي قد يكون غير دقيق إذا لم يكن محمى بالكابتشا. على سبيل المثال في العام 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 إلى تطوير الكابتشا. فمع كل تقهقر للكابتشا هناك تقدم للذكاء الصناعي بمعنى انه مع كل خسارة هناك انتصار.
وهذا ينعكس علينا كمستخدمين لمواقع الويب حيث إن الكابتشا تتجه إلى أن تكون أكثر صعوبة وقد نصل لمرحلة تكون الكابتشا عبارة عن مسألة حسابية أو اختيار لأحرف معينة بلون معين أو عليها أشكال محددة. وقد نصل لمرحلة تكون فيها الكابتشا عبارة عن لغز يصعب على البعض منا حله وقد يتمكن الكمبيوتر من حله والتغلب علينا.
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]يا قارئ خطي لا تبكي على موتي ... فاليوم أنا معك وغداً في التراب
فإن عشت فإني معك وإن مت فاللذكرى ...
ويا ماراً على قبري لا تعجب من أمري ... بالأمس كنت معك وغداً أنت
معي ... أمـــوت و يـبـقـى ...كـل مـا كـتـبـتـــه ذكــرى ...
فيـا ليت ... كـل من قـرأ خطـي ... دعا لي والى اللقاء في مقال أخر من كيف تعمل الأشياء
لا مانع من نقل الموضوع لأي موقع على النت بشرط ذكر المصدر
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]