كانت عمليات الاحتيال تكتشف بعد فوات الأوان: كيف أنقذتنا ‘نماذج اكتشاف الشذوذ’ من جحيم الخسائر الصامتة؟

يا جماعة الخير، السلام عليكم ورحمة الله وبركاته.

بتذكر هذيك الليلة، كانت الساعة حوالي 2 بعد منتصف الليل، وأنا قاعد براجع تقارير النظام المالي لإحدى الشركات اللي كنت أعمل معها. فنجان القهوة الثالث بجانبي، وعيوني صارت حمرا من كثر التحديق في الشاشة. كل شيء كان يبدو “طبيعيًا” في التقارير، الأرقام متوازنة، ولا يوجد أي إنذار باللون الأحمر. لكن كان فيه شعور غريب، إحساس بأن هناك شيئًا خاطئًا، خسارة صامتة تحدث تحت أنوفنا.

لأسابيع، كنا نلاحظ تسربًا صغيرًا لكنه مستمر في الإيرادات. مبالغ صغيرة جدًا، لا تستدعي إطلاق أي إنذار في نظامنا التقليدي القائم على القواعد (Rule-based system). النظام كان مبرمجًا للبحث عن عمليات احتيال ضخمة وواضحة: معاملة بألف دولار من بلد لم يزره العميل من قبل، أو 10 محاولات شراء فاشلة في دقيقة. لكن ما كان يحدث كان أذكى من ذلك بكثير.

كان المدير ييجي كل يوم الصبح ويسألني بنبرة قلقة: “شو القصة يا أبو عمر؟ لقينا إشي؟”. وكنت في كل مرة أهز رأسي وأنا أشعر بالعجز. المشكلة لم تكن في الكود الذي كتبناه، بل في الفلسفة كلها. كنا دائمًا نلعب دور المدافع الذي ينتظر الهجمة ليرد عليها. وفي تلك الليلة، أدركت أننا يجب أن نغير طريقة اللعب تمامًا. هنا كانت بداية رحلتي الحقيقية مع ما يسمى بـ “نماذج اكتشاف الشذوذ” أو Anomaly Detection.

ما هو اكتشاف الشذوذ (Anomaly Detection)؟ ولماذا هو المنقذ؟

لنبسط الموضوع، تخيل أنك تراقب شارعًا مزدحمًا. بعد فترة، عقلك يبدأ بفهم “السلوك الطبيعي” للشارع: سرعة السيارات، حركة المشاة، أصوات الباعة. فجأة، لو رأيت سيارة تسير للخلف بسرعة جنونية، أو شخصًا يرتدي ملابس غوص في يوم صيفي حار، ستلاحظه فورًا. هذا هو “الشذوذ” أو الـ Anomaly.

نماذج اكتشاف الشذوذ تفعل الشيء نفسه ولكن مع البيانات. بدلاً من أن نعطيها قواعد صارمة (مثل: “إذا كانت المعاملة أكبر من 1000 دولار، فهي مشبوهة”)، نحن نجعلها تتعلم “السلوك الطبيعي” لمستخدم معين أو للنظام ككل. وأي شيء يخرج عن هذا النمط المألوف، حتى لو كان صغيرًا، يتم اعتباره “شاذًا” ويستدعي الانتباه.

الأنظمة التقليدية تبحث عن “الاحتيال المعروف”، بينما نماذج اكتشاف الشذوذ تبحث عن “السلوك غير الطبيعي”، وهذا هو الفرق الذي يصنع الملايين.

كيف تعمل نماذج اكتشاف الشذوذ في عالم التكنلوجيا المالية؟

الأمر يمر بمرحلتين رئيسيتين، زي طبخة المقلوبة بالضبط، كل خطوة بتعتمد على اللي قبلها.

الخطوة الأولى: فهم “السلوك الطبيعي” (التدريب)

في هذه المرحلة، نطعم النموذج كمية هائلة من البيانات التاريخية “النظيفة” التي تمثل السلوك الطبيعي للمستخدمين. النموذج يتعلم أشياء مثل:

  • مبالغ المعاملات المعتادة: كم يصرف المستخدم عادة في كل عملية شراء؟
  • توقيت المعاملات: هل المستخدم نشط في الصباح أم في المساء؟
  • الموقع الجغرافي: ما هي المدن أو الدول التي يجري منها عملياته عادة؟
  • نوع المتاجر: هل يشتري من محلات البقالة والمطاعم، أم من متاجر إلكترونية فاخرة؟
  • وتيرة المعاملات: كم عملية يقوم بها في اليوم أو الأسبوع؟

بعد هذه المرحلة، النموذج “بيصير يفهمك أكثر من أم العيال”، ويعرف بصمتك الرقمية الفريدة.

الخطوة الثانية: تحديد “النقاط الشاذة” (الاستدلال)

عندما تحدث معاملة جديدة، يقوم النموذج بتحليلها بناءً على ما تعلمه. ثم يعطيها “درجة شذوذ” (Anomaly Score). إذا كانت هذه الدرجة مرتفعة، فهذا يعني أن المعاملة لا تشبه سلوكك الطبيعي إطلاقًا.

أمثلة على الشذوذ الذي قد يكتشفه النموذج:

  • عملية شراء بقيمة 5 دولارات من مقهى في فيتنام، بعد 10 دقائق فقط من شرائك فلافل من مطعم في مدينتك. (مستحيل فيزيائيًا).
  • سلسلة من 15 عملية شراء متتالية بقيمة 1 دولار لكل منها من متاجر إلكترونية مختلفة. (هذا تكتيك يستخدمه المحتالون لاختبار البطاقة المسروقة).
  • محاولة سحب مبلغ صغير جدًا من صراف آلي في الساعة 3 فجرًا، بينما أنت لا تستخدم الصرافات الآلية أبدًا في هذا الوقت.

هذه هي العمليات التي كانت تتسرب من نظامنا القديم، لأن كل واحدة منها على حدة لا تثير الشك، ولكن نمطها العام “شاذ” تمامًا.

أنواع نماذج اكتشاف الشذوذ: لكل مقامٍ مقال

هناك عدة طرق وأدوات لبناء هذه النماذج، من البسيط إلى المعقد جدًا. سأذكر لكم أشهرها:

1. النماذج الإحصائية (Statistical Models)

مثل استخدام الـ Z-Score أو توزيع غاوس (Gaussian Distribution). الفكرة هي حساب المتوسط والانحراف المعياري للبيانات الطبيعية. أي نقطة بيانات تبعد كثيرًا عن المتوسط (مثلاً، أكثر من 3 انحرافات معيارية) تعتبر شاذة. هذه النماذج زي الختيار الحكيم، بسيطة لكنها فعالة في الحالات الواضحة.

2. نماذج تعلم الآلة (Machine Learning Models)

هنا يبدأ المرح الحقيقي. هذه النماذج أكثر قوة وقدرة على اكتشاف الأنماط المعقدة.

  • غابة العزل (Isolation Forest): خوارزمية ممتازة وسريعة جدًا. فكرتها عبقرية وبسيطة: النقاط الشاذة تكون قليلة وبعيدة عن بقية البيانات، لذا من السهل “عزلها” في عدد قليل من الخطوات. أما النقاط الطبيعية، فتحتاج لخطوات كثيرة لعزلها لأنها متكتلة مع بعضها.
  • الداعم الحدي وحيد الفئة (One-Class SVM): تتخيل هذه الخوارزمية أنها ترسم حدودًا ضيقة حول البيانات “الطبيعية”. أي نقطة تقع خارج هذه الحدود تعتبر شاذة.
  • المُرمِّزات التلقائية (Autoencoders – Deep Learning): هذه هي الدبابة الثقيلة في عالم اكتشاف الشذوذ. هي شبكة عصبونية تتعلم كيف تضغط البيانات الطبيعية إلى تمثيل صغير جدًا (ترميز) ثم تعيد بناءها (فك الترميز). عندما تحاول فعل ذلك مع نقطة شاذة، فإنها تفشل في إعادة بنائها بشكل صحيح، مما ينتج “خطأ إعادة بناء” عاليًا. هذا الخطأ هو مؤشرنا على وجود شذوذ.

مثال عملي: لنبني نموذجًا بسيطًا لاكتشاف الشذوذ (مع كود Python)

حتى لا يكون كلامنا نظريًا فقط، إليكم مثال بسيط جدًا باستخدام Python ومكتبة `scikit-learn` لتوضيح فكرة `IsolationForest`.


# نستورد المكتبات اللازمة
import numpy as np
from sklearn.ensemble import IsolationForest

# لنصنع بعض البيانات التي تمثل معاملات مالية (المبلغ، وعدد المعاملات في آخر ساعة)
# معظم المعاملات طبيعية
X_train = np.array([
    [20, 1], [25, 2], [30, 1], [15, 1], [50, 3],
    [45, 2], [22, 1], [35, 2], [40, 2], [18, 1]
])

# الآن، لنضف بعض المعاملات الشاذة (مبالغ عالية جدًا أو عدد معاملات كبير)
X_anomalies = np.array([
    [500, 1],   # مبلغ كبير جدًا
    [10, 20],   # عدد معاملات كبير جدًا في ساعة واحدة
    [1000, 5]   # كلاهما كبير
])

# ندمج البيانات لاختبار النموذج
X_test = np.concatenate([X_train, X_anomalies])

# نهيئ ونُدرّب نموذج غابة العزل
# contamination تعني النسبة المتوقعة من البيانات الشاذة
clf = IsolationForest(contamination=0.2, random_state=42)
clf.fit(X_train) # نُدرّب النموذج على البيانات الطبيعية فقط

# الآن، نتنبأ بالبيانات الشاذة في مجموعة الاختبار
y_pred = clf.predict(X_test)

# النموذج يُرجع 1 للبيانات الطبيعية و -1 للبيانات الشاذة
print("نتائج التنبؤ (1 طبيعي، -1 شاذ):")
print(y_pred)

# لنرَ أي المعاملات تم تصنيفها كشاذة
anomalies_indices = np.where(y_pred == -1)
print("nالمعاملات التي تم اكتشافها كشاذة:")
print(X_test[anomalies_indices])

عند تشغيل هذا الكود، ستلاحظ أن النموذج نجح في تحديد المعاملات التي أضفناها عمدًا كشاذة. هذا مثال بسيط جدًا، لكنه يوضح القوة الكامنة في هذه التقنية.

نصائح من خبرة أبو عمر: كيف تنجح في تطبيق اكتشاف الشذوذ؟

بعد سنوات من العمل في هذا المجال، تعلمت بعض الدروس بالطريقة الصعبة. اسمحوا لي أن أشارككم إياها:

  1. البيانات هي كنزك، فحافظ عليها: جودة النموذج تعتمد 100% على جودة البيانات. تأكد من أن بيانات التدريب نظيفة وتمثل السلوك الطبيعي حقًا. “Garbage in, garbage out” كما يقولون.
  2. لا تثق بالنموذج ثقة عمياء: النموذج أداة مساعدة، وليس قاضيًا. دائمًا استخدم نهج “الإنسان في الحلقة” (Human-in-the-loop). عندما يكتشف النموذج شذوذًا، يجب أن يقوم محلل بشري بالتحقق منه. هذا يقلل من الإنذارات الكاذبة (False Positives) ويحسن النموذج مع الوقت.
  3. ابدأ بسيطًا ثم تطور: لا تقفز مباشرة إلى بناء شبكة عصبونية معقدة. ابدأ بنموذج بسيط مثل Isolation Forest. قد يكون كافيًا تمامًا لمشكلتك. إذا لم يكن كذلك، يمكنك التدرج إلى نماذج أكثر تعقيدًا.
  4. المراقبة المستمرة هي مفتاح النجاح: المحتالون لا ينامون، وأساليبهم تتغير باستمرار. سلوك المستخدمين أيضًا يتغير. لذلك، يجب عليك مراقبة أداء نموذجك باستمرار وإعادة تدريبه على بيانات جديدة بشكل دوري لمنع ما يسمى بـ “انحراف النموذج” (Model Drift).

الخلاصة: من الدفاع إلى الهجوم الاستباقي 🛡️

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

إذا كنت تعمل في مجال التكنلوجيا المالية، أو أي مجال آخر يتعامل مع بيانات حساسة، فأنصحك بشدة بالنظر في هذه التقنية. قد تبدو معقدة في البداية، لكن العائد على الاستثمار هائل.

تذكر دائمًا: أفضل وقت لتبدأ في تطبيق اكتشاف الشذوذ كان بالأمس. ثاني أفضل وقت هو الآن. ابدأ اليوم، ولو بخطوة صغيرة. والله ولي التوفيق. 😊

أبو عمر

سجل دخولك لعمل نقاش تفاعلي

كافة المحادثات خاصة ولا يتم عرضها على الموقع نهائياً

آراء من النقاشات

لا توجد آراء منشورة بعد. كن أول من يشارك رأيه!

آخر المدونات

البنية التحتية وإدارة السيرفرات

من سيرفرات “الدلال” إلى جيش من المستنسخات: كيف أنقذتنا البنية التحتية كشيفرة (IaC)؟

كانت الساعة الثالثة فجراً عندما رنّ هاتفي... الخادم الرئيسي للعميل قد انهار. في تلك الليلة المظلمة، أدركت أن طريقتنا في بناء الخوادم كانت كارثية. هذه...

1 يونيو، 2026 قراءة المزيد
ادارة الفرق والتنمية البشرية

كان أفضل مهندسينا يغادرون: كيف أنقذنا ‘مسار النمو المزدوج’ من جحيم فقدان الخبرات؟

أتذكر جيداً ذلك اليوم الذي دخل فيه "سالم" مكتبي. سالم، مهندسنا العبقري الذي كان يحفظ الكود عن ظهر قلب، جاء ليقدم استقالته. كانت صدمة حقيقية،...

31 مايو، 2026 قراءة المزيد
اختبارات الاداء والجودة

الاختبار البصري التراجعي: كيف أنقذنا تحديثات CSS من تحطيم واجهاتنا بصمت؟

أشارككم قصة حقيقية من تجربتي كمبرمج وكيف كادت تحديثات CSS الصغيرة أن تدمر مشروعنا قبل إطلاقه. سأشرح لكم بالتفصيل كيف أنقذنا الاختبار البصري التراجعي (Visual...

31 مايو، 2026 قراءة المزيد
أتمتة العمليات

كانت مهامنا الخلفية شبكة عنكبوتية: كيف أنقذتنا محركات تنسيق سير العمل من جحيم المهام الفاشلة بصمت؟

في هذه المقالة، أشارككم قصة حقيقية من قلب المعاناة مع المهام الخلفية الفوضوية وكيف كانت محركات تنسيق سير العمل (Workflow Orchestration) هي طوق النجاة. سنتعمق...

31 مايو، 2026 قراءة المزيد
نصائح برمجية

كان منطقنا البرمجي هرماً من الشروط المتداخلة: كيف أنقذتنا ‘الجمل الحارسة’ (Guard Clauses) من جحيم التعقيد؟

أتذكر مشروعاً قديماً كاد أن يصيبني بالجنون بسبب شفرة مليئة بـ if-else المتداخلة، حتى تعلمت تقنية "الجمل الحارسة" (Guard Clauses). في هذا المقال، أشارككم كيف...

31 مايو، 2026 قراءة المزيد
​معمارية البرمجيات

نظامك ليس مونوليث، لكنه يتصرف كواحد: تفكيك التبعيات الخفية بالمعمارية الموجهة بالأحداث (EDA)

أشارككم قصة عن ليلة إطلاق كادت أن تتحول إلى كارثة بسبب "المايكروسيرفس" التي تصرفت كمونوليث. سنتعلم كيف أن المعمارية الموجهة بالأحداث (EDA) هي طوق النجاة...

31 مايو، 2026 قراءة المزيد
ذكاء اصطناعي

كانت نماذجنا العملاقة تلتهم الذاكرة: كيف أنقذنا ‘التكميم’ (Quantization) من جحيم فواتير الـ GPU؟

أشارككم قصة حقيقية من قلب المعركة مع نماذج الذكاء الاصطناعي العملاقة، وكيف أنقذنا تقنية "التكميم" (Quantization) من فواتير الخوادم الباهظة. سنتعمق في هذه التقنية السحرية،...

31 مايو، 2026 قراءة المزيد
البودكاست