اكتشاف البرامج الضارة وتصنيفها باستخدام Amazon Rekognition PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

الكشف عن البرامج الضارة وتصنيفها باستخدام Amazon Rekognition

وفقا ل البند بواسطة Cybersecurity Ventures ، زاد الضرر الناجم عن Ransomware (نوع من البرامج الضارة التي يمكن أن تمنع المستخدمين من الوصول إلى بياناتهم ما لم يدفعوا فدية) بمقدار 57 مرة في عام 2021 مقارنة بعام 2015. علاوة على ذلك ، من المتوقع أن تكلف ضحاياه 265 مليار دولار ( USD) سنويًا بحلول عام 2031. في وقت كتابة هذا التقرير ، كانت التكلفة المالية لهجمات برامج الفدية أعلى بقليل من 50th موقف في قائمة البلدان مرتبة حسب الناتج المحلي الإجمالي.

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

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

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

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

حل نظرة عامة

لتدريب نموذج التصنيف المتعدد ونموذج الكشف عن البرامج الضارة ، نقوم أولاً بإعداد مجموعات بيانات التدريب والاختبار التي تحتوي على أنواع مختلفة من البرامج الضارة مثل برامج الفودر والبرامج الإعلانية وبرامج التجسس وما إلى ذلك ، فضلاً عن الكائنات الحميدة. ثم نقوم بتحويل كائنات الملفات التنفيذية المحمولة (PE) إلى صور ذات تدرج رمادي. بعد ذلك ، نقوم بتدريب نموذج باستخدام الصور باستخدام Amazon Rekognition.

Amazon Rekognition هي خدمة تجعل من السهل إجراء أنواع مختلفة من التحليل المرئي على تطبيقاتك. تساعدك Rekognition Image على إنشاء تطبيقات قوية للبحث والتحقق وتنظيم ملايين الصور.

تعتمد Amazon Rekognition Custom Labels على إمكانات Rekognition الحالية ، والتي تم تدريبها بالفعل على عشرات الملايين من الصور عبر العديد من الفئات.

Amazon Rekognition Custom Labels هي خدمة مُدارة بالكامل تتيح للمستخدمين تحليل ملايين الصور واستخدامها لحل العديد من مشكلات التعلم الآلي (ML) المختلفة ، بما في ذلك تصنيف الصور واكتشاف الوجه وتعديلات المحتوى. وراء الكواليس ، تعتمد Amazon Rekognition على تقنية التعلم العميق. تستخدم الخدمة شبكة التفافية عصبية (CNN) ، والتي تم تدريبها مسبقًا على مجموعة بيانات كبيرة تحمل علامات. من خلال التعرض لبيانات الحقيقة الأرضية هذه ، يمكن للخوارزمية أن تتعلم التعرف على الأنماط في الصور من العديد من المجالات المختلفة ويمكن استخدامها في العديد من حالات الاستخدام الصناعية. نظرًا لأن AWS تمتلك ملكية إنشاء بنية النموذج وصيانتها واختيار طريقة تدريب مناسبة للمهمة المطروحة ، فلن يحتاج المستخدمون إلى قضاء الوقت في إدارة البنية التحتية المطلوبة لمهام التدريب.

هندسة الحل

يوفر مخطط البنية التالي نظرة عامة على الحل.

الحل مبني باستخدام دفعة AWS, AWS فارجيتو الأمازون إعادة الاعتراف. تتيح لك AWS Batch تشغيل المئات من مهام الحوسبة المجمعة على Fargate. فارجيت متوافق مع كليهما Amazon Elastic Container Service (Amazon ECS) و خدمة Amazon Elastic Kubernetes (Amazon EKS). تتيح لك ملصقات Amazon Rekognition المخصصة استخدام AutoML لرؤية الكمبيوتر لتدريب النماذج المخصصة لاكتشاف البرامج الضارة وتصنيف فئات البرامج الضارة المختلفة. تُستخدم وظائف AWS Step لتنظيم المعالجة المسبقة للبيانات.

لهذا الحل ، نقوم بإنشاء موارد المعالجة المسبقة عبر تكوين سحابة AWS. يتوفر قالب مكدس CloudFormation وكود المصدر لوظائف AWS Batch و Fargate و Step في مستودع جيثب.

بيانات

لتدريب النموذج في هذا المثال ، استخدمنا مجموعات البيانات العامة التالية لاستخراج العناصر الخبيثة والحميدة قابل للتنفيذ المحمول (PE):

نحن نشجعك على قراءة وثائق مجموعات البيانات بعناية (سوفوس / عكس مختبرات README ، مجموعة بيانات التعلم الآلي للبرامج الضارة PE) للتعامل مع كائنات البرامج الضارة بأمان. بناءً على تفضيلاتك ، يمكنك أيضًا استخدام مجموعات البيانات الأخرى طالما أنها توفر برامج ضارة وكائنات حميدة بالتنسيق الثنائي.

بعد ذلك ، سنوجهك عبر الخطوات التالية للحل:

  • كائنات المعالجة المسبقة وتحويلها إلى صور
  • انشر موارد المعالجة المسبقة باستخدام CloudFormation
  • اختر النموذج
  • درب النموذج
  • قيم النموذج
  • التكلفة والأداء

كائنات المعالجة المسبقة وتحويلها إلى صور

نحن نستخدم Step Functions لتنظيم سير عمل المعالجة المسبقة للكائن والذي يتضمن الخطوات التالية:

  1. خذ meta.db قاعدة بيانات sqllite من سوريل - 20 م S3 وتحويله إلى ملف .csv. يساعدنا هذا في تحميل ملف .csv في حاوية Fargate والإشارة إلى البيانات الوصفية أثناء معالجة كائنات البرامج الضارة.
  2. خذ العناصر من دلو sorel-20m S3 وأنشئ قائمة بالعناصر بتنسيق csv. من خلال تنفيذ هذه الخطوة ، نقوم بإنشاء سلسلة من ملفات .csv التي يمكن معالجتها بالتوازي ، وبالتالي تقليل الوقت المستغرق في المعالجة المسبقة.
  3. قم بتحويل الكائنات من دلو sorel-20m S3 إلى صور مع مجموعة من الوظائف. تشترك مهام مصفوفة AWS Batch في معلمات مشتركة لتحويل كائنات البرامج الضارة إلى صور. يتم تشغيلها كمجموعة من مهام تحويل الصور التي يتم توزيعها عبر مضيفين متعددين ، وتعمل بشكل متزامن.
  4. اختر عددًا محددًا مسبقًا من الصور لتدريب النموذج مع مجموعة من الوظائف المقابلة لفئات البرامج الضارة.
  5. على غرار الخطوة 2 ، نأخذ الكائنات الحميدة من حاوية benign-160k S3 وننشئ قائمة بالكائنات بتنسيق csv.
  6. على غرار الخطوة 3 ، نقوم بتحويل الكائنات من حاوية benign-160k S3 إلى صور بها مجموعة من الوظائف.
  7. نظرًا لحصة Amazon Rekognition الافتراضية للتدريب على الملصقات المخصصة (250 ألف صورة) ، اختر عددًا محددًا مسبقًا من الصور الحميدة لتدريب النموذج.
  8. كما هو موضح في الصورة التالية ، يتم تخزين الصور في حاوية S3 مقسمة أولاً بواسطة مجلدات البرامج الضارة والحميدة ، ثم يتم بعد ذلك تقسيم البرامج الضارة حسب أنواع البرامج الضارة.
    دلو التدريب S3
    مجموعة بيانات التدريب

انشر موارد المعالجة المسبقة باستخدام CloudFormation

المتطلبات الأساسية المسبقة

المتطلبات الأساسية التالية مطلوبة قبل المتابعة:

نشر الموارد

ستقوم حزمة CloudFormation بإنشاء الموارد التالية:

المعلمات

  • STACK_NAME - اسم مكدس CloudFormation
  • AWS_REGION - منطقة AWS حيث سيتم نشر الحل
  • AWS_PROFILE - ملف تعريف مسمى سيتم تطبيقه على أمر AWS CLI
  • ARTEFACT_S3_BUCKET - حاوية S3 حيث سيتم تخزين كود البنية التحتية. (يجب إنشاء الحاوية في نفس المنطقة التي يوجد بها الحل).
  • AWS_ACCOUNT - معرف حساب AWS.

استخدم الأوامر التالية لنشر الموارد

تأكد من تشغيل عامل الرصيف على الجهاز. تتم عمليات النشر باستخدام البرامج النصية bash ، وفي هذه الحالة نستخدم الأمر التالي:

bash malware_detection_deployment_scripts/deploy.sh -s '' -b 'malware-
detection--artifacts' -p  -r "" -a

يؤدي هذا إلى إنشاء ونشر العناصر الأثرية المحلية التي يشير إليها نموذج CloudFormation (على سبيل المثال ، cloudformation.yaml).

درب النموذج

نظرًا لأن Amazon Rekognition تهتم بتدريب النموذج نيابةً عنك ، فإن رؤية الكمبيوتر أو معرفة ML عالية التخصص ليست مطلوبة. ومع ذلك ، ستحتاج إلى تزويد Amazon Rekognition بدلو مليء بصور الإدخال ذات الملصقات المناسبة.

في هذا المنشور ، سنقوم بتدريب نموذجين مستقلين لتصنيف الصور عبر ميزة التسميات المخصصة:

  1. نموذج الكشف عن البرامج الضارة (التصنيف الثنائي) - تحديد ما إذا كان الكائن المحدد ضارًا أم حميدًا
  2. نموذج تصنيف البرامج الضارة (تصنيف متعدد الفئات) - تحديد عائلة البرامج الضارة لكائن ضار معين

تجول نموذج التدريب

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

  1. تسجيل الدخول إلى وحدة تحكم إدارة AWS وافتح Amazon Rekognition يرجى العلم بأن يوجد سن محدد للمشاركة بهذه البطولات. الرجاء قراءة القواعد أدناه..
  2. في الجزء الأيمن ، اختر استخدم التسميات المخصصة. يتم عرض الصفحة المقصودة لملصقات Amazon Rekognition Custom Labels.
  3. من الصفحة المقصودة لملصقات Amazon Rekognition Custom Labels ، اختر إبداء الأن.
  4. في الجزء الأيمن ، اختر المشاريع.
  5. اختار إنشاء مشروع.
  6. In اسم المشروع، أدخل اسمًا لمشروعك.
  7. اختار إنشاء مشروع لإنشاء مشروعك.
  8. في مجلة المشاريع الصفحة ، اختر المشروع الذي تريد إضافة مجموعة بيانات إليه. يتم عرض صفحة التفاصيل الخاصة بمشروعك.
  9. اختار أنشئ مجموعة بيانات. أنشئ مجموعة بيانات الصفحة المعروضة.
  10. In بدء التكوين، اختر ابدأ بمجموعة بيانات واحدة للسماح لـ Amazon Rekognition بتقسيم مجموعة البيانات للتدريب والاختبار. لاحظ أنه قد ينتهي بك الأمر بعينات اختبار مختلفة في كل نموذج تدريب ، مما يؤدي إلى نتائج مختلفة ومقاييس تقييم مختلفة قليلاً.
  11. اختار استيراد الصور من حاوية Amazon S3.
  12. In S3 URI، أدخل موقع حاوية S3 ومسار المجلد. يتم استخدام نفس حاوية S3 المقدمة من خطوة المعالجة المسبقة لإنشاء مجموعتي البيانات: اكتشاف البرامج الضارة وتصنيف البرامج الضارة. تشير مجموعة بيانات اكتشاف البرامج الضارة إلى الجذر (على سبيل المثال ، s3://malware-detection-training-{account-id}-{region}/) من حاوية S3 ، بينما تشير مجموعة بيانات تصنيف البرامج الضارة إلى مجلد البرامج الضارة (على سبيل المثال ، s3://malware-detection-training-{account-id}-{region}/malware) من دلو S3. بيانات التدريب
  13. اختار إرفاق الملصقات تلقائيًا بالصور بناءً على المجلد.
  14. اختار إنشاء مجموعات البيانات. تفتح صفحة مجموعات البيانات الخاصة بمشروعك.
  15. على نموذج القطار الصفحة ، اختر نموذج القطار. يجب أن يكون اسم مورد أمازون (ARN) لمشروعك في اختر المشروع مربع التحرير. إذا لم يكن كذلك ، فأدخل ARN لمشروعك.
  16. في مجلة هل تريد تدريب نموذجك؟ مربع الحوار، اختر نموذج القطار.
  17. بعد انتهاء التدريب ، اختر اسم النموذج. ينتهي التدريب عندما تكون حالة النموذج تم إكمال التدريب.
  18. في مجلة الموديلات ، اختر ال استخدم النموذج علامة التبويب لبدء استخدام النموذج.

لمزيد من التفاصيل ، تحقق من ملصقات Amazon Rekognition المخصصة بدء يرشد.

قيم النموذج

عند اكتمال نماذج التدريب ، يمكنك الوصول إلى مقاييس التقييم بالاختيار تحقق من المقاييس في صفحة النموذج. توفر لك Amazon Rekognition المقاييس التالية: درجة F1 ، ومتوسط ​​الدقة ، والاستدعاء العام ، والتي تُستخدم بشكل شائع لتقييم أداء نماذج التصنيف. هذه الأخيرة عبارة عن مقاييس متوسطية على عدد التصنيفات.

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

مقاييس نموذج الكشف عن البرامج الضارة

في مجموعة البيانات المتوازنة المؤلفة من 199,750،XNUMX صورة مع تسميتين (حميدة وضارة) ، تلقينا النتائج التالية:

  • درجة F1 - 0.980
  • متوسط ​​الدقة - 0.980
  • الاستدعاء العام - 0.980

مقاييس نموذج الكشف عن البرامج الضارة

مقاييس نموذج تصنيف البرامج الضارة

في مجموعة البيانات المتوازنة المكونة من 130,609 صورة مع 11 تصنيفًا (11 عائلة من البرامج الضارة) ، تلقينا النتائج التالية:

  • درجة F1 - 0.921
  • متوسط ​​الدقة - 0.938
  • الاستدعاء العام - 0.906

مقاييس نموذج تصنيف البرامج الضارة

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

التكلفة والأداء

نظرًا لطبيعة الموارد بدون خادم ، تتأثر التكلفة الإجمالية بمقدار الوقت الذي يتم فيه استخدام كل خدمة. من ناحية أخرى ، يتأثر الأداء بكمية البيانات التي تتم معالجتها وتغذية حجم مجموعة بيانات التدريب إلى Amazon Rekognition. بالنسبة لممارسة تقدير التكلفة والأداء ، فإننا نأخذ في الاعتبار السيناريو التالي:

  • تم فهرسة 20 مليون عنصر ومعالجتها من مجموعة بيانات sorel.
  • تم فهرسة 160,000 عنصر ومعالجتها من مجموعة بيانات التعلم الآلي للبرامج الضارة PE.
  • تمت كتابة ما يقرب من 240,000 عنصر في حاوية التدريب S3: 160,000 كائن من البرامج الضارة و 80,000 كائن غير ضار.

بناءً على هذا السيناريو ، يبلغ متوسط ​​تكلفة المعالجة المسبقة للنماذج ونشرها 510.99 دولارًا أمريكيًا. سيتم محاسبتك بالإضافة إلى 4 دولارات أمريكية / الساعة عن كل ساعة تستخدم فيها النموذج. قد تجد تفاصيل التكلفة التفصيلية في ملف تقدير ولدت عبر حاسبة تسعير AWS.

من ناحية الأداء ، هذه هي نتائج قياسنا:

  • ~ 2 ساعة لإكمال تدفق المعالجة المسبقة
  • حوالي 40 ساعة لإكمال تدريب نموذج اكتشاف البرامج الضارة
  • ~ 40 ساعة لإكمال تدريب نموذج تصنيف البرامج الضارة

نظف

لتجنب تكبد رسوم في المستقبل ، توقف و حذف نماذج Amazon Rekognition ، واحذف موارد المعالجة المسبقة عبر تدمير النصي. المعلمات التالية مطلوبة لتشغيل البرنامج النصي بنجاح:

  • STACK_NAME - اسم مكدس CloudFormation
  • AWS_REGION - المنطقة التي يتم فيها نشر الحل
  • AWS_PROFILE - ملف التعريف المحدد الذي ينطبق على أمر AWS CLI

استخدم الأوامر التالية لتشغيل ملف ./malware_detection_deployment_scripts/destroy.sh النصي:

bash malware_detection_deployment_scripts/destroy.sh -s  -p
 -r 

وفي الختام

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

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


عن المؤلفين

إدفين هالفاكشوإدفين هالفاكشو هو مهندس أمن عالمي أقدم مع خدمات AWS الاحترافية وهو متحمس للأمن السيبراني والأتمتة. يساعد العملاء على بناء حلول آمنة ومتوافقة في السحابة. خارج العمل يحب السفر والرياضة.

راهول شورياراهول شوريا هو مهندس بيانات رئيسي مع خدمات AWS الاحترافية. يساعد ويعمل بشكل وثيق مع العملاء في بناء منصات البيانات والتطبيقات التحليلية على AWS. خارج العمل ، يحب راهول المشي لمسافات طويلة مع كلبه بارني.

برونو ديفتوبرونو ديفتو هو مهندس أمان عالمي مع خدمات AWS الاحترافية. إنه يركز على مساعدة العملاء في بناء هياكل آمنة وموثوقة في AWS. خارج العمل ، يهتم بأحدث التحديثات التكنولوجية والسفر.

نديم ماجدنديم ماجد هو مهندس بيانات ضمن خدمات AWS الاحترافية. إنه يعمل جنبًا إلى جنب مع العملاء لبناء منصات البيانات الخاصة بهم على AWS. خارج العمل يلعب نديم تنس الطاولة ويحب مشاهدة كرة القدم.

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

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