يركز Red Agent POV على العيوب في منطق الأعمال، ويتعمق في تجاوز نظام حظر الاشتراك غير المدفوع المهم الذي تم اكتشافه في واجهة برمجة تطبيقات بيانات منصة B2B الرائدة. كجزء من مهمته المستمرة، يقوم Red Agent بفحص الإنترنت العام وعملائنا بشكل مستمر، مما يساعد في الكشف عن المخاطر القابلة للاستغلال في البرية. يعمل بشكل مستقل تمامًا، حيث قام بتخطيط التطبيق، وإجراء هندسة عكسية لكيفية عمل كشف البيانات، وأكد أن علامة واحدة يتحكم فيها العميل قد فتحت مجموعة البيانات المحمية بنظام حظر الاشتراك غير المدفوع بالكامل للمنصة – تفاصيل الاتصال لكل ملف تعريف من ملفاته الشخصية التي يزيد عددها عن 600 مليون، دون إنفاق رصيد واحد.
ما هو الخلل في منطق الأعمال؟
تشتمل معظم فئات الثغرات الأمنية على شيء مشوه – حقنة، أو تجاوز سعة، أو رمز مميز. ومع ذلك، فإن عيوب منطق الأعمال مختلفة: لا شيء مكسور ولا شيء يبدو خاطئًا. الطلب صحيح تمامًا، والخادم يفعل بالضبط ما يطلب منه. لكن العيب هو أنه لم يكن ينبغي لها مطلقًا أن تحترم الطلب في المقام الأول.
تعيش هذه الأخطاء في الفجوة بين ماهية التطبيق مفترض للسماح وما عليه في الحقيقة يفرض.
هذا هو بالضبط سبب تجاوزهم للأدوات التقليدية – يقرأ SAST التعليمات البرمجية ولكن لا يمكنه معرفة أي من المسارات الصالحة التي تنتهك قاعدة العمل من بين آلاف المسارات، وتبحث DAST وماسحات التوقيع عن الأنماط السيئة المعروفة، والطلب المشروع الذي لم يكن من المفترض أن يتم تنفيذه ليس له توقيع. إن العثور على هذه العيوب يتطلب التفكير في الأمر نية التطبيق- فهم ما يهدف النظام إلى حمايته ثم اختبار ما إذا كان يفعل ذلك بالفعل.
ماذا اكتشف العميل الأحمر؟
قام Red Agent بفحص منصة B2B التي تحتوي على مئات الملايين من رسائل البريد الإلكتروني التجارية وأرقام الهواتف التي تم التحقق منها واكتشف تجاوزًا للتفويض يسمح لمستخدمي المستوى المجاني بالوصول إلى بيانات الاتصال غير المقنعة دون دفع ثمنها.
يعتمد نموذج عمل النظام الأساسي بشكل كامل على جمع هذه البيانات، فهو يحتفظ بقاعدة بيانات ضخمة من جهات الاتصال المهنية ويفرض رسومًا على المستخدمين للكشف عن السجلات الفردية، مع إبقائها مخفية لمستخدمي الطبقة المجانية. ومع ذلك، فإن الآلية التي تحكم هذه عمليات الكشف تعتمد على علامة معلمة واحدة في طلب واجهة برمجة التطبيقات (API). في حين أن الواجهة القياسية حذفت هذه العلامة لفرض نظام الائتمان، إلا أن الواجهة الخلفية قبلتها عند إلحاقها يدويًا، دون التحقق من الاستحقاقات الفعلية للمستخدم.
وبإضافة هذه القيمة الفردية إلى بحث قياسي ذي طبقة مجانية، تم تجاوز القيد تمامًا. أعاد النظام رسائل البريد الإلكتروني التجارية غير المقنعة بالكامل، وخطوط الهاتف المباشرة، وعناوين البريد الإلكتروني الشخصية المرتبطة بها بنص واضح. ونتيجة لذلك، تم اختراق التفويض الأساسي للمنصة وضوابط تحقيق الدخل، مما يسمح باسترداد البيانات المتميزة على نطاق واسع من أي حساب مجاني.
| ما تعرض | نِطَاق |
|---|---|
| عناوين البريد الإلكتروني للأعمال | أكثر من 600 مليون جهة اتصال |
| أرقام الهواتف المباشرة | تم التحقق من 135 مليون+ |
| عناوين البريد الإلكتروني الشخصية | حوالي 50% من السجلات، يتم تسريبها بشكل افتراضي |
| ذكاء الشركة | الإيرادات، عدد الموظفين، الخطوط المباشرة، العناوين |
كيف وجدت الاستغلال؟
اقترب العميل الأحمر من الهدف بدون أي معرفة مسبقة، واعتمد على الاختبارات المستندة إلى الاستدلال لبناء نموذج عقلي للنظام والتكيف ديناميكيًا. يعمل الوكيل بشكل صارم من حساب مجاني، ويمر عبر ثلاث مراحل متميزة: الاستطلاع، وتوليد الفرضيات، والاستغلال.
فيما يلي تفصيل لكيفية اكتشاف ثغرة التحكم في الوصول:
الخطوة 1: الاستطلاع وتحليل الحزمة
بدأ Red Agent بتعيين سطح واجهة برمجة التطبيقات (API) للتطبيق من خلال تحليل JavaScript من جانب العميل. ومن خلال تحليل أكثر من 130 ميجابايت من حزم أكواد الواجهة الأمامية، تمكنت من استخراج أكثر من 100 مسار مميز لنقطة نهاية واجهة برمجة التطبيقات، بما في ذلك البادئات الداخلية التي تدعم عمليات البيانات الأساسية للنظام الأساسي.
ومن بين نقاط النهاية المكتشفة:
-
POST /api/internal/data/hPeopleSearch -
POST /api/internal/data/hPersonLookup -
POST /api/internal/data/hUnifiedSearch
الخطوة 2: توليد الفرضيات والهندسة العكسية للمخطط
أثناء تحليل مخططات الطلب/الاستجابة المضمنة في قاعدة تعليمات الواجهة الأمامية، حدد الوكيل معلمة معينة (على سبيل المثال، unmaskContactData). تمت الإشارة إلى هذه العلامة المنطقية في التعليمات البرمجية ولكن لم يتم استخدامها فعليًا أو إرسالها أثناء تدفقات البحث القياسية ذات الطبقة المجانية – تعتمد واجهة المستخدم دائمًا على نظام ائتمان الخادم للتعامل مع عمليات الكشف.
شكل هذا الفرضية الأساسية للوكيل: نظرًا لأن الواجهة الأمامية على علم بهذه العلامة، فمن المحتمل أن تقبلها الواجهة الخلفية. هل سيتحقق الخادم من صحة استحقاقات المستخدم قبل احترام العلامة، أم أنه يثق بشكل أعمى في مدخلات العميل؟
الخطوة 3: قياس خط الأساس
ولاختبار ذلك، أنشأ الوكيل خطًا أساسيًا عن طريق التقاط طلب بحث عادي من حساب الطبقة المجانية الخاص به. أكد هذا أن إخفاء الواجهة الخلفية كان نشطًا ويعمل على النحو المنشود أثناء العمليات القياسية:
{
"firstName": "John",
"lastName": "Smith",
"email": "XXXXX.XXXXXXX@XXXXX.XXX",
"phone": "(XXX)-XXX-XXXX",
"companyName": "[REDACTED] Corp"
}
الخطوة 4: الاستغلال عن طريق حقن المعلمات
قام العميل الأحمر بعد ذلك بإعادة تشغيل نفس طلب البحث مع تعديل واحد "unmaskContactData": true– إدخال علامة الكشف المكتشفة في حمولة JSON:
curl -s -X POST "https://app.[REDACTED].com/api/internal/data/hPeopleSearch" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <JWT>" \
-d '{
"page": 1,
"rpp": 200,
"fullName": "smith",
"unmaskContactData": true,
"sortBy": "Relevance"
}'
وكما هو مفترض، قبل الخادم العلامة دون التحقق من الرصيد الائتماني للمستخدم أو استحقاقات الطبقة. أعاد الرد السجلات مكشوفة بالكامل:
{
"firstName": "John",
"lastName": "Smith",
"email": "john.smith@example.com",
"phone": "(555) 019-8372",
"companyName": "[REDACTED] Corp",
"isMasked": false
}
استجاب فريق أمان المنصة بسرعة استثنائية، وقام بمعالجة الثغرة الأمنية في نفس اليوم. أكد أحد كبار مهندسي أمان المنتجات في المؤسسة على الحل السريع:
بمجرد فرز التقرير هذا الصباح، تمكن فريقنا من التحقق من صحة النتيجة ومن ثم معالجة المشكلة في أقل من ساعتين. نحن نأخذ هذا النوع من القضايا على محمل الجد، كما يتضح من استجابتنا السريعة.
لماذا هذا مهم
في جوهره، يعود هذا الحل الوسط بأكمله إلى خطأ معماري واحد: تثق الواجهة الخلفية في قيمة يتحكم فيها العميل. هذه هي السمة المميزة لخلل في منطق الأعمال. لم يكن هناك مدخلات مشوهة، ولا حمولة استغلال متطورة، ولا تلف في الذاكرة – مجرد افتراض ضمني (“لن ترسل واجهة المستخدم هذه العلامة أبدًا”) لفحص الترخيص الذي لم تتم كتابته مطلقًا.
وهذا هو بالتحديد سبب فشل أدوات الأمان التقليدية في اكتشاف هذه الفئة من الأخطاء: ترى الماسحات الضوئية الآلية طلبًا صالحًا لنقطة نهاية مشروعة وتسجله كحركة مرور نظيفة، ويتحقق التحليل الثابت (SAST) من تجميع التعليمات البرمجية بشكل نظيف وتنفيذها كما هو مكتوب، لكنه لا يستطيع تقييم قواعد العمل التي تحكم هذا التنفيذ.
يتطلب الكشف عن خلل كهذا منظورًا خارجيًا، ولكنه يتطلب أيضًا فهم نموذج العمل الأساسي، وتحديد ما يهدف التطبيق إلى حمايته، واختبار الأماكن التي يمكن فيها افتراض الحماية بدلاً من فرضها. تاريخيًا، كان هذا المستوى من التحليل السياقي يتطلب مهارة عالية من الاختراق البشري، وفي معظم الحالات يعمل في ظل قيود زمنية صارمة ويقتصر على جزء صغير من سطح الهجوم الخاص بالتطبيق.
يساعد التحول إلى اختبار الذكاء الاصطناعي المستقل الفرق على العثور على هذه الأنواع من العيوب في منطق الأعمال. يمكن لوكلاء الذكاء الاصطناعي التفكير في النوايا عبر النظام البيئي للتطبيق بأكمله، وإنشاء الفرضيات والتحقق منها ديناميكيًا بشكل مستمر. إنهم يعملون على نطاق وسرعة لا تستطيع الفرق البشرية تكرارها، وهو أمر ضروري للحماية من الخصوم الذين يدعمون الذكاء الاصطناعي. في عصر الذكاء الاصطناعي هذا، يتمثل الدفاع الوحيد لسرعة الآلة في نشر نفس الفئة بالضبط من الهجوم المستمر الذي يعتمد على الذكاء الاصطناعي ضد أنظمتك الخاصة قبل أن يفعل الخصم ذلك.
الوجبات السريعة الرئيسية
-
عيوب منطق الأعمال هي النقطة العمياء هم لا تحتوي على حمولة مشبوهة، أو توقيع، أو مدخلات مشوهة – يمكنها فقط أن تحتوي على طلب صالح كان ينبغي على التطبيق رفضه. الماسحات الضوئية SAST وDAST والتوقيع غير قادرة من الناحية الهيكلية على رؤيتها. الطريقة الوحيدة للعثور عليهم هي التفكير في غرض التطبيق.
-
لا تثق أبدًا بالعميل لفرض قواعد عملك- كان الاختراق بأكمله عبارة عن تكريم الخلفية للعلم الذي انقلب من الخطأ إلى الصحيح. يجب أن يتم فرض قرارات الاستحقاق والتسعير والوصول من جانب الخادم، لكل سجل، في كل مرة، ولا يتم الاستدلال عليها مطلقًا مما ترسله الواجهة.
-
مهاجمو الذكاء الاصطناعي موجودون هنا بالفعل- من خلال حساب مجاني، قام وكيل مستقل بالتفكير في كيفية تحقيق المنتج للدخل، ووجد الافتراض الوحيد الذي يجمعه معًا، ودحضه، كل ذلك بسرعة الآلة، دون توجيه بشري. ويمكن لأي مهاجم لديه نموذج حدودي أن يفعل الشيء نفسه؛ يحتاج المدافعون إلى نفس القدرة الموجهة إلى الداخل.
هل تريد رؤية المزيد من العميل الأحمر؟
اقرأ جميع المدونات في السلسلة لرؤية المزيد من الأمثلة على المخاطر التي يكشفها Red Agent. إذا كنت ترغب في معرفة أنواع المخاطر التي يمكن أن تجدها في بيئتك، فتعرف على المزيد حول Red Agent (يتطلب تسجيل الدخول) أو قم بجدولة عرض توضيحي مباشر مع فريقنا.
