كيف تدرب Sophos كاشفًا قويًا وخفيف الوزن للبرامج الضارة لملفات PDF على نطاق واسع باستخدام Amazon SageMaker PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

كيف تدرب Sophos كاشفًا قويًا وخفيف الوزن للبرامج الضارة لملفات PDF على نطاق واسع باستخدام Amazon SageMaker

شارك في تأليف هذا المنشور سلمى توفيق وهريني كنعان من سوفوس.

كشركة رائدة في الجيل التالي من الأمن السيبراني ، سوفوس تسعى جاهدة لحماية أكثر من 500,000 مؤسسة وملايين العملاء عبر أكثر من 150 دولة ضد التهديدات المتطورة. مدعومًا بذكاء التهديدات والتعلم الآلي (ML) والذكاء الاصطناعي من Sophos X-Ops ، تقدم Sophos مجموعة واسعة ومتنوعة من المنتجات والخدمات المتقدمة لتأمين المستخدمين والشبكات ونقاط النهاية والدفاع عنها ضد التصيد الاحتيالي وبرامج الفدية والبرامج الضارة و مجموعة واسعة من الهجمات الإلكترونية الموجودة هناك.

مجموعة Sophos للذكاء الاصطناعي (AI) (SophosAI) يشرف على تطوير وصيانة تقنية أمان ML الرئيسية الخاصة بـ Sophos. الأمن هو مشكلة البيانات الضخمة. لتجنب الاكتشاف ، يقوم مجرمو الإنترنت بصياغة هجمات جديدة باستمرار. يُترجم هذا إلى مجموعات بيانات تهديد هائلة يجب على المجموعة العمل معها للدفاع عن العملاء بشكل أفضل. أحد الأمثلة البارزة هو الكشف عن الملفات التي تم ربطها ببرامج ضارة ببراعة والقضاء عليها ، حيث توجد مجموعات البيانات في تيرابايت.

في هذا المنشور ، نركز على نظام Sophos للكشف عن البرامج الضارة لتنسيق ملف PDF على وجه التحديد. نعرض كيف تستخدم سوفوساي الأمازون SageMaker تدريب موزع مع تيرابايت من البيانات لتدريب نموذج XGBoost خفيف الوزن قوي (تعزيز التدرج الشديد). يسمح هذا لفريقهم بالتكرار عبر بيانات التدريب الكبيرة بشكل أسرع مع الضبط التلقائي للمعلمات الفائقة ودون إدارة البنية التحتية للتدريب الأساسية.

يتم حاليًا دمج الحل بسلاسة في خط أنابيب التدريب على الإنتاج والنموذج المنشور على الملايين من نقاط نهاية المستخدمين عبر خدمة Sophos endpoint.

استخدم سياق الحالة

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

يكتشف Sophos ملفات PDF الضارة في نقاط مختلفة من الهجوم باستخدام مجموعة من النماذج القطعية ونماذج ML. يتم توضيح أحد هذه الأساليب في الرسم البياني التالي ، حيث يتم تسليم ملف PDF الضار عبر البريد الإلكتروني. بمجرد إجراء محاولة التنزيل ، يتم تشغيل البرنامج النصي القابل للتنفيذ الخبيث للاتصال بخادم الأوامر والتحكم الخاص بالمهاجم. يحظر كاشف ملفات PDF الخاص بـ SophosAI محاولة التنزيل بعد اكتشاف أنها ضارة.

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

التحفيز

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

التحدي الفني

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

لذلك ، كان التحدي الرئيسي هو تدريب النموذج بمجموعة بيانات كبيرة دون الحاجة إلى اختزال العينة. نظرًا لأنه من الأهمية بمكان للكاشف أن يتعلم اكتشاف أي هجمات تستند إلى PDF - حتى الإبرة في كومة قش وهجمات جديدة تمامًا للدفاع عن عملاء Sophos بشكل أفضل - فمن الأهمية بمكان استخدام جميع مجموعات البيانات المتنوعة المتاحة.

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

حل نظرة عامة

SageMaker هي خدمة تعلّم آلي مُدارة بالكامل توفر أدوات متنوعة لبناء نماذج تعلم الآلة وتدريبها وتحسينها ونشرها. ال مكتبات خوارزميات مدمجة في SageMaker تتكون من 21 خوارزمية ML شائعة ، بما في ذلك XGBoost. (لمزيد من المعلومات، راجع تبسيط التعلم الآلي مع XGBoost و Amazon SageMaker.) باستخدام خوارزمية XGBoost المدمجة ، يمكنك الاستفادة من المصدر المفتوح حاوية SageMaker XGBoost من خلال تحديد إصدار إطار عمل أكبر من 1.0-1 ، والذي أدى إلى تحسين المرونة وقابلية التوسع وقابلية التوسع والتدريب الموضعي المُدار ، ويدعم تنسيقات الإدخال مثل Parquet ، وهو التنسيق المستخدم لمجموعة بيانات PDF.

السبب الرئيسي وراء اختيار SophosAI لـ SageMaker هو القدرة على الاستفادة من التدريب الموزع المُدار بالكامل على مثيلات وحدة المعالجة المركزية متعددة العقد ببساطة عن طريق تحديد أكثر من مثيل واحد. يقوم SageMaker تلقائيًا بتقسيم البيانات عبر العقد ، وتجميع النتائج عبر العقد النظيرة ، وإنشاء نموذج واحد. يمكن أن تكون الأمثلة الموضعية ، وبالتالي تقليل تكاليف التدريب بشكل كبير. مع ال خوارزمية مدمجة لـ XGBoost، يمكنك القيام بذلك بدون أي نص برمجي مخصص إضافي. توجد أيضًا إصدارات موزعة من XGBoost كمصدر مفتوح ، مثل XGBoost- راي و XGBoost4J- سبارك، لكن استخدامها يتطلب بناء مجموعات الحوسبة الموزعة وتأمينها وضبطها وإدارتها ذاتيًا ، وهو ما يمثل جهدًا كبيرًا إضافيًا للتطور العلمي.

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

يوضح الرسم البياني التالي بنية الحل.

كيف تدرب Sophos كاشفًا قويًا وخفيف الوزن للبرامج الضارة لملفات PDF على نطاق واسع باستخدام Amazon SageMaker PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

تجدر الإشارة إلى أنه عندما بدأت SophosAI تجارب XGBoost قبل التحول إلى SageMaker ، جرت محاولات لاستخدام ذاكرة كبيرة الأمازون الحوسبة المرنة السحابية مثيلات (Amazon EC2) (على سبيل المثال ، r5a.24xlarge و x1.32xlarge) لتدريب النموذج على أكبر عينة ممكنة من البيانات. ومع ذلك ، استغرقت هذه المحاولات أكثر من 10 ساعات في المتوسط ​​وعادة ما فشلت بسبب نفاد الذاكرة.

في المقابل ، باستخدام خوارزمية SageMaker XGBoost وآلية تدريب موزعة خالية من المتاعب ، يمكن لـ SophosAI تدريب نموذج معزز على نطاق واسع على مجموعة بيانات تدريب PDF الضخمة في غضون 20 دقيقة. كان على الفريق فقط تخزين البيانات على خدمة تخزين أمازون البسيطة (Amazon S3) كملفات باركيه ذات حجم مشابه ، واختر نوع مثيل EC2 والعدد المطلوب من المثيلات ، وأدار SageMaker البنية التحتية لمجموعة الحوسبة الأساسية وتوزيع التدريب بين عقد متعددة من الكتلة. تحت الغطاء ، يقوم SageMaker بتقسيم البيانات عبر العقد باستخدام ShardedByS3Key لتوزيع كائنات الملف بالتساوي بين كل مثيل ويستخدم تنفيذ XGBoost لـ بروتوكول الارنب (واجهة AllReduce والبث الموثوقة) لبدء المعالجة الموزعة والتواصل بين العقد الأولية والنظيرة. (لمزيد من التفاصيل حول تجميع المدرج التكراري والبث عبر العقد ، راجع XGBoost: نظام تعزيز شجرة قابل للتطوير.)

بعد مجرد تدريب نموذج واحد ، مع SageMaker ، XGBoost ضبط hyperparameter تم أيضًا جعله سريعًا وسهلاً من خلال القدرة على إجراء تجارب مختلفة في وقت واحد لضبط أفضل مزيج من المعلمات الفائقة. تشمل المعلمات الفائقة القابلة للضبط كلاً من المعلمات الفائقة الخاصة بوظيفة الداعم والموضوعية. استراتيجيتان للبحث يتم تقديمها: عشوائية أو بايزية. أثبتت إستراتيجية البحث Bayesian أنها ذات قيمة لأنها تساعد في العثور على معلمات تشعبية أفضل من مجرد البحث العشوائي ، في عدد أقل من التكرارات التجريبية.

معلومات مجموعة البيانات

تعتمد نمذجة الكشف عن البرامج الضارة بتنسيق PDF من SophosAI على مجموعة متنوعة من الميزات مثل الرسوم البيانية بالغرام وميزات إنتروبيا البايت (لمزيد من المعلومات ، يرجى الرجوع إلى MEADE: نحو محرك كشف مرفقات بريد إلكتروني ضار). يتم تخزين البيانات الوصفية والميزات المستخرجة من ملفات PDF المجمعة في مستودع بيانات موزع. يتم بعد ذلك حساب مجموعة بيانات تضم أكثر من 3,500 ميزة ، وتقسيمها بشكل أكبر بناءً على الوقت في مجموعات التدريب والاختبار وتخزينها على دفعات كملفات باركيه في Amazon S3 بحيث يمكن الوصول إليها بسهولة بواسطة SageMaker لمهام التدريب.

يوفر الجدول التالي معلومات حول بيانات التدريب والاختبار.

بيانات عدد العينات عدد ملفات الباركيه الحجم الإجمالي
قادة الإيمان 70,391,634 5,500 ~ شنومك غيغابايت
اختبار 1,242,283 98 ~ شنومك غيغابايت

تم حساب أحجام البيانات باتباع الصيغة:

حجم البيانات = N × (nF + نL) × 4

تحتوي الصيغة على المعلمات التالية:

  • N هو عدد العينات في مجموعة البيانات
  • nF هو عدد الميزات ، مع nF = 3585
  • nL هو عدد تسميات الحقيقة الأساسية ، مع nL = 1
  • 4 هو عدد البايت المطلوب لنوع بيانات المعالم: float32

بالإضافة إلى ذلك ، توفر المخططات الدائرية التالية توزيع الملصقات لكل من مجموعات التدريب والاختبار ، مما يؤدي إلى عدم توازن الفئة التي تواجه مهمة الكشف عن البرامج الضارة في PDF.

كيف تدرب Sophos كاشفًا قويًا وخفيف الوزن للبرامج الضارة لملفات PDF على نطاق واسع باستخدام Amazon SageMaker PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

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

التجارب والنتائج

لبدء التجارب ، قام فريق SophosAI بتدريب نموذج XGBoost الأساسي باستخدام المعلمات الافتراضية. ثم بدأوا في إجراء ضبط دقيق للمعلمات الفائقة باستخدام SageMaker باستخدام إستراتيجية بايز ، والتي تعتبر بسيطة مثل تحديد معلمات مفرطة ليتم ضبطها والنطاق المطلوب للقيم ، ومقياس التقييم (ROC (خاصية تشغيل جهاز الاستقبال) AUC في هذه الحالة) ومجموعات التدريب والتحقق من الصحة. بالنسبة إلى كاشف البرامج الضارة بتنسيق PDF ، أعطت SophosAI الأولوية للمعلمات التشعبية بما في ذلك عدد جولات التعزيز (num_round) ، أقصى عمق للشجرة (max_depth) ، معدل التعلم (eta) ، ونسبة عينات الأعمدة عند بناء الأشجار (colsample_bytree). في النهاية ، تم الحصول على أفضل المعلمات الفائقة واستخدامها لتدريب نموذج على مجموعة البيانات الكاملة ، وتم تقييمها أخيرًا على مجموعة اختبار الانتظار.

يوضح الرسم البياني التالي المقياس الموضوعي (ROC AUC) مقابل وظائف التدريب الخمسة عشر التي يتم تشغيلها داخل وظيفة الضبط. أفضل المعلمات الفائقة هي تلك المقابلة لوظيفة التدريب التاسعة.

كيف تدرب Sophos كاشفًا قويًا وخفيف الوزن للبرامج الضارة لملفات PDF على نطاق واسع باستخدام Amazon SageMaker PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

في بداية تجارب SophosAI على SageMaker ، كان السؤال المهم بشكل خاص للإجابة هو: ما نوع الحالات وكم منها مطلوبة لتدريب XGBoost على البيانات المتوفرة؟ هذا أمر بالغ الأهمية لأن استخدام رقم أو نوع خاطئ من الأمثلة يمكن أن يكون مضيعة للوقت والمال ؛ لا بد أن يفشل التدريب بسبب نفاد الذاكرة ، أو في حالة استخدام عدد كبير جدًا من المثيلات الكبيرة جدًا ، فقد يصبح هذا مكلفًا بلا داع.

XGBoost هي خوارزمية مرتبطة بالذاكرة (على عكس الخوارزمية المرتبطة بالحساب). لذلك ، يعد مثال الحوسبة للأغراض العامة (على سبيل المثال ، M5) خيارًا أفضل من مثيل محسَّن للحوسبة (على سبيل المثال ، C4). لاتخاذ قرار مستنير ، هناك إرشادات بسيطة من SageMaker لاختيار عدد المثيلات المطلوبة لتشغيل التدريب على مجموعة البيانات الكاملة:

إجمالي حجم بيانات التدريب × عامل الأمان(*) <عدد المثيلات × إجمالي الذاكرة لنوع المثيل

في هذه الحالة: الحجم الإجمالي لبيانات التدريب × عامل الأمان (12) = 12120 جيجابايت

يلخص الجدول التالي المتطلبات عندما يكون نوع المثيل المختار ml.m5.24xlarge.

حجم التدريب × عامل الأمان (12) ذاكرة المثيل ml.m5.24xlarge الحد الأدنى لعدد المثيلات المطلوب للتدريب
12120 جيجا بايت 384 جيجا بايت 32

*نظرًا لطبيعة تدريب XGBoost الموزع ، والذي يتطلب تحميل مجموعة بيانات التدريب بالكامل في كائن DMatrix قبل التدريب وذاكرة خالية إضافية ، يوصى باستخدام عامل أمان يتراوح من 10 إلى 12.

لإلقاء نظرة فاحصة على استخدام الذاكرة للحصول على تدريب SageMaker كامل لـ XGBoost على مجموعة البيانات المتوفرة ، نقدم الرسم البياني المقابل الذي تم الحصول عليه من التدريب الأمازون CloudWatch يراقب. بالنسبة لهذه الوظيفة التدريبية ، تم استخدام 40 ml.m5.24xlarge من مثيلاتها ووصل الحد الأقصى لاستخدام الذاكرة إلى حوالي 62٪.

كيف تدرب Sophos كاشفًا قويًا وخفيف الوزن للبرامج الضارة لملفات PDF على نطاق واسع باستخدام Amazon SageMaker PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

تبلغ التكلفة الهندسية التي يتم توفيرها من خلال دمج خدمة ML مُدارة مثل SageMaker في خط أنابيب البيانات حوالي 50٪. يؤدي خيار استخدام مثيلات Spot للتدريب ووظائف ضبط المعلمات الفائقة إلى خفض التكاليف بنسبة 63٪ إضافية.

وفي الختام

باستخدام SageMaker ، يمكن لفريق SophosAI حل مشروع معقد ذي أولوية عالية بنجاح من خلال بناء نموذج XGBoost خفيف الوزن لاكتشاف البرامج الضارة بتنسيق PDF يكون أصغر بكثير على القرص (يصل إلى 25 مرة أصغر) وداخله (حتى 5 مرات أصغر) من سلف الكاشف. إنه كاشف صغير ولكنه قوي للبرامج الضارة مع ~ 0.99 AUC ومعدل إيجابي حقيقي يبلغ 0.99 ومعدل إيجابي كاذب كيف تدرب Sophos كاشفًا قويًا وخفيف الوزن للبرامج الضارة لملفات PDF على نطاق واسع باستخدام Amazon SageMaker PlatoBlockchain Data Intelligence. البحث العمودي. عاي. . يمكن إعادة تدريب هذا النموذج بسرعة ، ويمكن مراقبة أدائه بسهولة بمرور الوقت ، لأنه يستغرق أقل من 20 دقيقة لتدريبه على أكثر من 1 تيرابايت من البيانات.

يمكنك الاستفادة من خوارزمية SageMaker المضمنة XGBoost لبناء النماذج باستخدام بياناتك المجدولة على نطاق واسع. بالإضافة إلى ذلك ، يمكنك أيضًا تجربة خوارزميات Amazon SageMaker المدمجة الجديدة LightGBM و CatBoost و AutoGluon-Tabular و Tab Transformer كما هو موضح في هذا  مدونة.


عن المؤلفين

كيف تدرب Sophos كاشفًا قويًا وخفيف الوزن للبرامج الضارة لملفات PDF على نطاق واسع باستخدام Amazon SageMaker PlatoBlockchain Data Intelligence. البحث العمودي. عاي.سلمى توفيق هو عالم بيانات أقدم في Sophos ، ويعمل في تقاطع التعلم الآلي والأمن السيبراني. مع خلفية جامعية في علوم الكمبيوتر ، تخرجت من جامعة أوروبا الوسطى بدرجة الماجستير. في الرياضيات وتطبيقاتها. عندما لا تقوم بتطوير أداة للكشف عن البرامج الضارة ، فإن سلمى هي متجول متعطش ومسافر ومستهلك لأفلام الإثارة.

كيف تدرب Sophos كاشفًا قويًا وخفيف الوزن للبرامج الضارة لملفات PDF على نطاق واسع باستخدام Amazon SageMaker PlatoBlockchain Data Intelligence. البحث العمودي. عاي.هاريني كنعان هو عالم بيانات في SophosAI. عملت في علم بيانات الأمان لمدة 4 سنوات تقريبًا. كانت سابقًا عالمة البيانات الرئيسية في Capsule8 ، التي استحوذت عليها Sophos. وقد ألقت محاضرات في CAMLIS ، و BlackHat (الولايات المتحدة الأمريكية) ، ومؤتمر علوم البيانات المفتوحة (الشرق) ، وصالون علوم البيانات ، و PyData (بوسطن) ، وموصلات البيانات. تشمل مجالات بحثها الكشف عن الهجمات القائمة على الأجهزة باستخدام عدادات الأداء ، وتحليل سلوك المستخدم ، والتعلم الآلي القابل للتفسير ، واكتشاف الشذوذ غير الخاضع للإشراف.

كيف تدرب Sophos كاشفًا قويًا وخفيف الوزن للبرامج الضارة لملفات PDF على نطاق واسع باستخدام Amazon SageMaker PlatoBlockchain Data Intelligence. البحث العمودي. عاي.حسن بونوالا هو مهندس حلول متخصص في الذكاء الاصطناعي / التعلم الآلي في AWS ، ومقرها لندن ، المملكة المتحدة. يساعد حسن العملاء في تصميم ونشر تطبيقات التعلم الآلي في الإنتاج على AWS. يتمتع بخبرة عملية تزيد عن 12 عامًا كعالم بيانات وممارس للتعلم الآلي ومطور برامج. في أوقات فراغه ، يحب حسن استكشاف الطبيعة وقضاء الوقت مع الأصدقاء والعائلة.

كيف تدرب Sophos كاشفًا قويًا وخفيف الوزن للبرامج الضارة لملفات PDF على نطاق واسع باستخدام Amazon SageMaker PlatoBlockchain Data Intelligence. البحث العمودي. عاي.ديجانت باتل هو قائد دعم المؤسسة في AWS. إنه يعمل مع العملاء لتصميم ونشر وتشغيل السحابة على نطاق واسع. مجالات اهتمامه هي ممارسات MLOps و DevOps وكيف يمكن أن تساعد العملاء في رحلتهم السحابية. خارج العمل ، يستمتع بالتصوير ولعب الكرة الطائرة وقضاء الوقت مع الأصدقاء والعائلة.

الطابع الزمني:

اكثر من التعلم الآلي من AWS