كان المحتالون يسبقوننا بخطوة: كيف أنقذنا ‘تحليل الرسوم البيانية’ (Graph Analysis) من جحيم شبكات الاحتيال المنظمة؟

يا جماعة الخير، السلام عليكم. معكم أخوكم أبو عمر.

خلّوني أحكيلكم قصة صارت معي قبل كم سنة، قصة علّمتني إنه في عالم التكنولوجيا، وخصوصًا في الحرب ضد المحتالين، إذا ما كنت بتفكّر أسرع منهم، فأنت الخسران. كنا في شركة تكنولوجيا مالية (Fintech) ناشئة، والأمور ماشية زي الحلاوة. فجأة، وبدون سابق إنذار، بلّشت مؤشرات لوحة التحكم (Dashboard) تضوي أحمر. عمليات رفض بالهبل، شكاوى من العملاء، والأهم، خسائر مالية بتزيد كل ساعة.

قعدنا كفريق، أنا والشباب، نحلل الموضوع. الأنظمة التقليدية اللي كنا نستخدمها، واللي بتعتمد على قواعد ثابتة (Rule-based) ونماذج تعلم آلة بسيطة، كانت زي اللي بصيد سمك بشبكة مثقوبة. كل ما نسد ثقب، المحتالين يلاقوا عشرة غيره. كانوا دايماً يسبقونا بخطوة. كانوا بيشتغلوا كشبكة، وإحنا كنا بنطاردهم كأفراد. شعور بالعجز، والإحباط، وكأنك بتلعب شطرنج مع واحد شايف كل حركاتك المستقبلية. ليلة من هالليالي، وأنا بقلّب في الأرقام والبيانات للساعة 3 الفجر، خطرتلي فكرة… إحنا بنحارب شبكة، ليش ما نستخدم “شبكة” عشان نفهمهم؟ ومن هون بلشت رحلتنا مع تحليل الرسوم البيانية.

المشكلة: ليش أنظمتنا القديمة كانت فاشلة؟

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

  • الأنظمة القائمة على القواعد (Rule-based Systems): هاي أنظمة بسيطة جدًا. بنعرّفلها قواعد مثل: “إذا تمت 3 عمليات شراء من نفس البطاقة في أقل من دقيقة، امنع العملية الرابعة”. المشكلة؟ المحتالون أذكى من هيك. بيعرفوا القواعد وبيتجنبوها بسهولة. بيعملوا عمليتين بس، أو بيستخدموا بطاقات مختلفة.
  • نماذج تعلم الآلة التقليدية: هاي أذكى شوي. بتتعلم من بيانات العمليات السابقة عشان تتنبأ لو كانت العملية الجديدة محتمل تكون احتيالية أو لا. لكنها بتركز على خصائص العملية نفسها (المبلغ، الوقت، نوع المتجر…) وما بتشوف الصورة الكبيرة. بتشوف كل عملية كحدث معزول.

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

اللحظة الفارقة: التفكير بالرسوم البيانية (Graphs)

هون إجا دور تحليل الرسوم البيانية. خلّونا نبسّط المفهوم. الرسم البياني أو الـ Graph في عالم البيانات مش رسمة بيانية زي اللي بنشوفها في Excel، لأ. هو عبارة عن شيئين أساسيين:

  • العُقد (Nodes): وهي بتمثل الكيانات الأساسية في نظامنا. مثل: (مستخدم، بطاقة ائتمان، جهاز موبايل، عنوان IP، بريد إلكتروني).
  • الروابط (Edges/Relationships): وهي بتمثل العلاقات اللي بتربط هاي العُقد ببعضها. مثل: المستخدم (أ) “يملك” البطاقة (ب)، و “أجرى عملية من” الجهاز (ج)، و “استخدم” عنوان IP (د).

لما نمثّل بياناتنا بهي الطريقة، فجأة، الصورة كلها بتتغير. بدل ما نشوف آلاف العمليات المعزولة، بنصير نشوف شبكة ضخمة ومترابطة. وبدل ما نكون بنطارد أشباح، بنصير نشوف خيوط العنكبوت اللي بتوصل بينهم.

كيف بنستخدم هذا عمليًا؟

تخيل معي السيناريو التالي: محتال واحد ذكي قرر يعمل شبكة احتيال. شو بيعمل؟

  1. بيستخدم جهاز موبايل واحد (Device X).
  2. من خلال هالجهاز، بيفتح 50 حساب مستخدم جديد بأسماء وهمية (User 1, User 2, … User 50).
  3. بيستخدم 50 بطاقة ائتمان مسروقة مختلفة، كل بطاقة لحساب (Card 1, Card 2, … Card 50).

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

جهاز واحد (Device X) مرتبط بـ 50 مستخدم مختلف! هاي لحالها علامة خطر (Red Flag) ضخمة جدًا. ما في أي شخص طبيعي بيستخدم جهازه عشان يدخل على 50 حساب مختلف على نفس التطبيق.

هذا النمط، اللي اسمه “حلقة الاحتيال” (Fraud Ring)، مستحيل نكتشفه إلا لما نبدأ نفكر بطريقة الشبكات والعلاقات.

خلّونا نشتغل عملي: مثال بسيط بالكود

عشان الصورة تكون أوضح، خلّونا نشوف كيف ممكن نكتشف هاي الشبكة باستخدام لغة استعلام خاصة بالرسوم البيانية اسمها Cypher (المستخدمة في قواعد بيانات زي Neo4j). الشغلة مش معقدة زي ما بتتخيلوا.

لنفترض إنه بدنا نلاقي كل الأجهزة اللي استخدمها أكثر من 5 مستخدمين مختلفين. الاستعلام (Query) ممكن يكون بسيط لهالدرجة:


// Cypher Query to find shared devices
MATCH (u:User)-[:USED_DEVICE]->(d:Device) // ابحث عن النمط: مستخدم "استخدم" جهاز
WITH d, count(u) AS userCount // لكل جهاز، قم بعدّ عدد المستخدمين المرتبطين به
WHERE userCount > 5 // فلتر النتائج لتشمل فقط الأجهزة اللي عدد مستخدميها أكبر من 5
RETURN d.id, userCount // أرجع لنا معرّف الجهاز وعدد المستخدمين
ORDER BY userCount DESC // رتبهم من الأكثر للأقل

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

أنماط احتيال أخرى تكشفها الرسوم البيانية

  • غسيل الأموال (Money Laundering): بتقدر تتبع مسار الأموال وهي بتنتقل بسرعة بين عدة حسابات (طبقات) عشان “تنظيفها” قبل ما توصل للحساب النهائي.
  • سرقة الهوية الاصطناعية (Synthetic Identity Theft): المحتال بيخلط معلومات حقيقية (مثل رقم ضمان اجتماعي مسروق) مع معلومات مزيفة (اسم وعنوان وهمي) لإنشاء هوية “جديدة”. الرسوم البيانية بتساعد على كشف الحسابات اللي الها روابط غريبة أو غير منطقية.
  • التواطؤ بين المشتري والبائع (Buyer-Seller Collusion): بائع وهمي ومشتري وهمي (كلاهما نفس الشخص) بيعملوا عمليات مزيفة عشان يحصلوا على مكافآت من شركة البطاقات أو يرفعوا تقييم البائع. الرسوم البيانية بتكشف لو كانوا بيستخدموا نفس الجهاز أو نفس الـ IP.

نصائح أبو عمر من قلب الميدان

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

  1. ابدأ صغيرًا (Start Small): ما تحاول تحلل كل بيانات شركتك من أول يوم. ابدأ بنموذج بسيط: مستخدم، بطاقة، جهاز. أثبت الفكرة، ورجّي نتايج ملموسة، وبعدها توسّع.
  2. البيانات هي الملك، ونظافتها هي التاج: هاي التقنية قوية جدًا، لكنها بتعتمد على جودة البيانات. “Garbage in, garbage out”. تأكد إنه معرّفات الأجهزة، وعناوين الـ IP، وكل البيانات اللي بتربط العُقد ببعضها دقيقة ونظيفة.
  3. اجمع بين الرسوم البيانية وتعلم الآلة: هاي هي الخلطة السحرية. استخدم تحليل الرسوم البيانية عشان تكتشف “ميزات” (Features) جديدة ما كنت شايفها قبل. مثلاً، “عدد المستخدمين اللي بيشاركوا هذا الجهاز” ممكن تصير ميزة قوية جدًا بتعطيها لنموذج تعلم الآلة تبعك، وهيك بترفع دقته بشكل خرافي.
  4. التصوير البصري (Visualization) هو سلاحك السري: أجمل ما في الرسوم البيانية هو إنك بتقدر “تشوف” الشبكة بعينك. لما تعرض رسمة لشبكة احتيال على مديرك أو على زملائك اللي مش تقنيين، رح يفهموا المشكلة وقوة الحل فورًا. صورة واحدة بتغني عن ألف تقرير.

الخلاصة: من رد الفعل إلى الفعل الاستباقي

بالآخر يا جماعة، المعركة ضد الاحتيال هي لعبة قط وفأر ما بتنتهي. لكن باستخدام تحليل الرسوم البيانية، إحنا غيّرنا قواعد اللعبة. بدل ما نكون دايماً في وضع “رد الفعل”، بنركض ورا المحتالين ونحاول نصلّح الضرر بعد ما صار، صرنا في وضع “استباقي”. صرنا نشوف الشبكة قبل ما تتحرك، ونوقف الهجمة قبل ما تبدأ. 💡

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

أتمنى تكون هالتجربة أفادتكم. لو عندكم أي سؤال، أنا حاضر. الله يوفقكم جميعًا.

أبو عمر

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

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

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

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

آخر المدونات

التوسع والأداء العالي والأحمال

كان خادمنا الوحيد يحتضر: كيف أنقذنا ‘موازن الأحمال’ (Load Balancer) من جحيم ‘نقطة الفشل الواحدة’؟

أتذكر ذلك اليوم جيدًا، كان خادمنا الوحيد يئن تحت ضغط المستخدمين، وكنا على وشك الانهيار. في هذه المقالة، أسرد لكم قصتنا مع "نقطة الفشل الواحدة"...

28 مايو، 2026 قراءة المزيد
البنية التحتية وإدارة السيرفرات

كانت بيئاتنا نسخاً مشوهة: كيف أنقذتنا ‘البنية التحتية كوداً’ (IaC) من جحيم ‘لكنها تعمل على جهازي’؟

أتذكر تلك الليلة جيداً، ليلة إطلاق الميزة التي عملنا عليها لشهور. لكن ما حدث كان كابوساً حقيقياً، والسبب؟ جملة واحدة: "لكنها تعمل على بيئة الاختبار!"....

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

تغطية اختبارات 100% وأخطاء تتسرب: كيف أنقذنا “الاختبار الطفري” من جحيم الثقة الزائفة؟

كنا نظن أن تغطية اختباراتنا بنسبة 100% هي درعنا الواقي، لكن الأخطاء كانت تتسلل بخبث. هذه قصتي عن كيفية اكتشافنا لـ "الاختبار الطفري" (Mutation Testing)...

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

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

قصتي الشخصية مع أتمتة التقارير اليومية التي كانت تسرق ساعات من وقت فريقنا. اكتشفوا معنا ما هي أتمتة العمليات الروبوتية (RPA)، وكيف يمكنها أن تحرركم...

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

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

أشارككم قصة من أرض المعركة البرمجية، يوم واجهنا دالة عملاقة كادت أن تدمر مشروعنا. اكتشفوا كيف كانت تقنية "استخلاص الدالة" (Extract Method) البسيطة طوق النجاة...

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

كان تحديث نظامنا القديم كابوساً: كيف أنقذنا نمط ‘التين الخانق’ من جحيم ‘إعادة البناء الكبرى’؟

أذكر جيداً ذلك الاجتماع الذي كاد أن يودي بمستقبل مشروعنا. بدلاً من "إعادة البناء الكبرى" المحفوفة بالمخاطر، لجأنا إلى نمط "التين الخانق" (Strangler Fig) لترحيل...

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

نماذجنا اللغوية كانت تهذي! كيف أنقذنا الذكاء الاصطناعي من الهلوسة بتقنية RAG؟

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

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