🚀 جرب Zilliz Cloud، الـ Milvus المدارة بالكامل، مجاناً — تجربة أداء أسرع بـ 10 أضعاف! جرب الآن>>

milvus-logo
LFAI
  • Home
  • Blog
  • العمل مع ميلفوس للكشف عن فيروسات الأندرويد في الوقت الحقيقي لصالح تريند مايكرو

العمل مع ميلفوس للكشف عن فيروسات الأندرويد في الوقت الحقيقي لصالح تريند مايكرو

  • Scenarios
April 23, 2021
milvus

لا يزال الأمن السيبراني يشكل تهديداً مستمراً لكل من الأفراد والشركات، مع تزايد مخاوف خصوصية البيانات لدى 86% من الشركات في عام 2020، واعتقاد 23% فقط من المستهلكين أن بياناتهم الشخصية آمنة جداً. ومع ازدياد انتشار البرمجيات الخبيثة وتعقيدها بشكل مطرد، أصبح من الضروري اتباع نهج استباقي للكشف عن التهديدات. تريند مايكرو هي شركة عالمية رائدة في مجال أمن السحابة الهجينة والدفاع عن الشبكات وأمن الشركات الصغيرة وأمن نقاط النهاية. ولحماية الأجهزة التي تعمل بنظام أندرويد من الفيروسات، قامت الشركة بتصميم تريند مايكرو موبايل سيكيوريتي - وهو تطبيق للهواتف المحمولة يقارن حزم تطبيقات أندرويد (APK) من متجر جوجل بلاي بقاعدة بيانات للبرمجيات الخبيثة المعروفة. يعمل نظام الكشف عن الفيروسات على النحو التالي:

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

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


مقارنة حلول البحث عن التشابه المتجهي

هناك عدد من حلول البحث عن تشابه المتجهات المتاحة، والعديد منها مفتوح المصدر. على الرغم من أن الظروف تختلف من مشروع لآخر، إلا أن معظم المستخدمين يستفيدون من الاستفادة من قاعدة بيانات متجهات مصممة لمعالجة البيانات غير المنظمة وتحليلها بدلاً من مكتبة بسيطة تتطلب تكوينًا واسع النطاق. نقارن أدناه بعض حلول البحث عن تشابه المتجهات الشائعة ونوضح سبب اختيار Trend Micro لـ Milvus.

فايس

Faiss هي مكتبة تم تطويرها بواسطة Facebook AI Research تتيح البحث الفعال عن التشابه وتجميع المتجهات الكثيفة بكفاءة. تحتوي الخوارزميات التي تحتويها على متجهات بحث من أي حجم في مجموعات. كُتبت Faiss بلغة C++ مع أغلفة لـ Python/numpy، وتدعم عددًا من الفهارس بما في ذلك IndexFlatL2 و IndexFlatIP و HNSW و IVF.

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

المكونات الإضافية القائمة على Faiss ومكتبات بحث ANN الأخرى

هناك العديد من المكونات الإضافية المبنية على Faiss و NMSLIB ومكتبات بحث ANN الأخرى المصممة لتعزيز الوظائف الأساسية للأداة الأساسية التي تشغلها. Elasticsearch (ES) هو محرك بحث يعتمد على مكتبة لوسين مع عدد من هذه المكونات الإضافية. فيما يلي مخطط معماري لمكونات ES الإضافية:

1.png 1.png

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

أمازون، وعلي بابا، ونيتيس هي عدد قليل من شركات التكنولوجيا الكبيرة التي تعتمد حاليًا على المكونات الإضافية لـ Elasticsearch للبحث عن التشابه المتجه. تتمثل الجوانب السلبية الأساسية لهذا الحل في ارتفاع استهلاك الذاكرة وعدم وجود دعم لضبط الأداء. في المقابل، طوّر موقع JD.com حلاً موزعاً خاصاً به يعتمد على Faiss يسمى Vaearch. ومع ذلك، لا يزال Vearch مشروعًا في مرحلة الحضانة ومجتمعه مفتوح المصدر غير نشط نسبيًا.

ميلفوس

Milvus هي قاعدة بيانات متجهة مفتوحة المصدر أنشأتها شركة Zilliz. وهي مرنة للغاية وموثوقة وسريعة للغاية. من خلال تغليف العديد من مكتبات الفهارس المعتمدة على نطاق واسع، مثل Faiss وNMSLIB وAnnoy، يوفر Milvus مجموعة شاملة من واجهات برمجة التطبيقات البديهية، مما يسمح للمطورين باختيار نوع الفهرس المثالي لسيناريو عملهم. كما يوفر حلولاً موزعة وخدمات مراقبة. تمتلك Milvus مجتمعاً مفتوح المصدر نشطاً للغاية وأكثر من 5.5 ألف نجمة على Github.

يتفوق ميلفوس على منافسيه

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

المحركالأداء (مللي ثانية)حجم مجموعة البيانات (مليون)
ES6001
ES + سحابة علي بابا90020
ميلفوس271000+
SPTAGغير جيد
ES + nmslib، فايس90150
مقارنة بين حلول البحث عن تشابه المتجهات.

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


تصميم نظام للكشف عن الفيروسات في الوقت الحقيقي

لدى Trend Micro أكثر من 10 ملايين ملف APK خبيث مخزّن في قاعدة بيانات MySQL الخاصة بها، مع إضافة 100 ألف ملف APK جديد كل يوم. يعمل النظام من خلال استخراج وحساب قيم Thash لمكونات مختلفة من ملف APK، ثم يستخدم خوارزمية Sha256 لتحويلها إلى ملفات ثنائية وتوليد قيم Sha256 بت 256 التي تميز ملف APK عن غيره. نظرًا لأن قيم Sha256 تختلف باختلاف ملفات APK، يمكن أن يكون لملف APK واحد قيمة Thash مجمعة واحدة وقيمة Sha256 فريدة واحدة.

تُستخدم قيم Sha256 فقط للتمييز بين ملفات APK، وتُستخدم قيم Thash لاسترجاع تشابه المتجهات. قد يكون لملفات APK المتشابهة نفس قيم Thash ولكن قيم Sha256 مختلفة.

وللكشف عن ملفات APK ذات التعليمات البرمجية الشائنة طوّرت شركة Trend Micro نظامها الخاص لاسترجاع قيم Thash المتشابهة وقيم Sha256 المقابلة لها. اختارت Trend Micro نظام Milvus لإجراء بحث فوري عن تشابه المتجهات على مجموعات بيانات المتجهات الضخمة المحولة من قيم Thash. بعد تشغيل بحث التشابه، يتم الاستعلام عن قيم Sha256 المقابلة في MySQL. تتم أيضًا إضافة طبقة تخزين Redis للتخزين المؤقت إلى البنية لتعيين قيم Thash إلى قيم Sha256، مما يقلل بشكل كبير من وقت الاستعلام.

فيما يلي مخطط بنية نظام تريند مايكرو لأمن الأجهزة المحمولة.

image-20210118-022039.png image-20210118-022039.png


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

مقاييس المسافةأنواع الفهرس
- جاكارد
- تانيموتو
- هامينج
- مسطحة
- ivf_flat
- البنية الفوقية
- البنية التحتية - البنية التحتية
مسطحة
مقاييس المسافة والفهارس للمتجهات الثنائية.


يحول Trend Micro قيم Thash إلى متجهات ثنائية ويخزنها في Milvus. بالنسبة لهذا السيناريو، يستخدم Trend Micro مسافة هامينج لمقارنة المتجهات.

وسيدعم Milvus قريبًا معرّف متجه السلسلة، ولن يتعين تعيين معرّفات الأعداد الصحيحة إلى الاسم المقابل بتنسيق السلسلة. وهذا يجعل طبقة Redis للتخزين المؤقت غير ضرورية ويجعل بنية النظام أقل ضخامة.

يعتمد Trend Micro حلاً قائماً على السحابة وينشر العديد من المهام على Kubernetes. ولتحقيق التوافرية العالية، تستخدم تريند مايكرو برنامج Mishards، وهو برنامج وسيط لتجزئة مجموعة ميلفوس تم تطويره بلغة بايثون.

![image-20210118-022104.png](https://assets.zilliz.com/image_20210118_022104_3001950ee8.png "Mishards architecture in Milvus.)


تفصل Trend Micro بين التخزين وحساب المسافة من خلال تخزين جميع المتجهات في EFS (نظام الملفات المرن) الذي توفره AWS. هذه الممارسة هي اتجاه شائع في الصناعة. يتم استخدام Kubernetes لبدء تشغيل عقد قراءة متعددة، وتطوير خدمات LoadBalancer على عقد القراءة هذه لضمان التوافر العالي.

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


وظائف المراقبة والتنبيه

يتوافق Milvus مع أنظمة المراقبة المبنية على Prometheus، ويستخدم Grafana، وهي منصة مفتوحة المصدر لتحليلات السلاسل الزمنية، لتصور مقاييس الأداء المختلفة.

يراقب Prometheus المقاييس التالية ويخزنها:

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

يعمل نظام المراقبة والتنبيه على النحو التالي:

  • يقوم عميل Milvus بدفع بيانات المقاييس المخصصة إلى Pushgateway.
  • يضمن Pushgateway إرسال بيانات المقاييس قصيرة الأجل وسريعة الزوال بأمان إلى Prometheus.
  • يستمر Prometheus في سحب البيانات من Pushgateway.
  • يقوم مدير التنبيه بتعيين عتبة التنبيه للمقاييس المختلفة ويطلق الإنذارات من خلال رسائل البريد الإلكتروني أو الرسائل.


أداء النظام

مرّ شهران منذ إطلاق خدمة ThashSearch المبنية على Milvus لأول مرة. يوضّح الرسم البياني أدناه أن زمن انتقال الاستعلام من طرف إلى طرف أقل من 95 ميلي ثانية.

image-20210118-022116.png image-20210118-022116.png


الإدراج سريع أيضاً. يستغرق الأمر حوالي 10 ثوانٍ لإدراج 3 ملايين متجه 192 بُعدًا. بمساعدة من Milvus، تمكن أداء النظام من تلبية معايير الأداء التي حددتها Trend Micro.


لا تكن غريباً

  • ابحث أو ساهم في Milvus على GitHub.
  • تفاعل مع المجتمع عبر Slack.
  • تواصل معنا على تويتر.

    Try Managed Milvus for Free

    Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

    Get Started

    Like the article? Spread the word

    استمر في القراءة