كيف علّمت الكمبيوتر يكتشف المواقع المزيّفة بدقة 96%؟

كيف علّمت الكمبيوتر يكتشف المواقع المزيّفة بدقة 96%؟

في يوم من الأيام، سألت نفسي سؤال بسيط: هل يقدر الكمبيوتر "يحس" إن موقع إلكتروني مزيّف بمجرد ما يشوف رابطه، بدون ما يفتحه أصلًا؟

الإجابة كانت نعم — وهذا قصة أول مشروع تعلم آلي (Machine Learning) أسويه فعليًا من الصفر.

المشكلة: التصيّد الاحتيالي في كل مكان

لو سبق واستلمت رسالة تقول "حسابك البنكي معلّق، اضغط هنا فورًا"، فأنت شفت مثال حي على التصيّد الاحتيالي (Phishing) — مواقع مزيّفة تتنكر بشكل مواقع حقيقية عشان تسرق كلمة مرورك أو بيانات بطاقتك.

المشكلة إن الطرق التقليدية للحماية (قوائم المواقع المحظورة) بطيئة — المحتالين يسوّون موقع جديد كل يوم، والقوائم ما تلحق تتحدث بالسرعة الكافية.

الفكرة: خلّي الكمبيوتر يتعلّم "النمط" مو "القائمة"

بدل ما نحفظ قائمة مواقع سيئة، ليش ما نعلّم نموذج تعلم آلي يفهم الصفات المشتركة بين المواقع المزيّفة؟ زي:

  • هل الموقع يستخدم شهادة أمان (SSL) صحيحة؟
  • هل الروابط جوه الصفحة توجّه لمكان غريب؟
  • هل عمر الدومين قديم ولا جديد جدًا؟

التجربة

استخدمت مجموعة بيانات جاهزة من UCI فيها 11,055 موقع حقيقي، متصنّفين (مزيّف / حقيقي)، ومعاهم 30 خاصية توصف كل موقع.

جرّبت 3 خوارزميات تعلم آلي مختلفة:

الخوارزميةالدقةالانحدار اللوجستي (بسيط)92.45%الغابة العشوائية (Random Forest)96.70% 🏆آلة المتجهات الداعمة (SVM)94.71%

أكثر شيء فاجأني

لما حللت "أي خاصية أهم" بالنسبة للنموذج، طلع إن حالة شهادة SSL وروابط الصفحة الداخلية هما أقوى مؤشرين — بفارق كبير عن باقي الـ30 خاصية.

ليش؟ لأن غالبًا المحتال:

  1. ما يقدر يحصل شهادة SSL صحيحة لموقع مزيّف
  2. ينسخ تصميم الموقع الأصلي، فالروابط جواه توجّه رجوع للموقع الحقيقي بالغلط

النموذج اكتشف هذا النمط لوحده، بدون ما أقوله صراحة "ركّز على SSL".

الدرس المستفاد

أكبر شي تعلّمته: مو لازم تكون خبير عشان تبدأ. البيانات كانت جاهزة، الأدوات (Python + scikit-learn) مجانية ومفتوحة، والخطوات واضحة خطوة بخطوة. اللي احتجته الحقيقي كان الصبر والاستمرارية.

الكود الكامل والتفاصيل التقنية متاحة على GitHub:

🔗 github.com/eln2mac-has/phishing-detection-ml

لو عندك سؤال أو تحب تجرب نفس الفكرة، اكتبلي في التعليقات 👇


التعليق السابق

شكرًا لك على كلامك الطيب.

الخصائص الثلاثون (مثل شهادة SSL وروابط الصفحة) كانت جاهزة في مجموعة بيانات UCI، وأنا درّبت عليها ثلاث خوارزميات وقارنت بينها.

عندي خلفية برمجية سابقة، لكن هذا كان أول مشروع تعلم آلي أنفذه فعليًا.

الفكرة جاءت لأن التصيّد مشكلة تواجه الجميع، وأردت أن أجرّب هل يتعلم النموذج النمط بدل حفظ القوائم.

الورقة الكاملة هنا: https://doi.org/10.5281/zen...