تم نشر هذه المقالة كجزء من مدونة علوم البيانات.
المُقدّمة
كجزء من كتابة مدونة حول موضوع ML أو DS ، اخترت pris الكشف عن البرامج الضارة لـ Microsoft. هنا تشرح هذه المدونة كيفية حل المشكلة من البداية.
سأشرح لك في هذه المدونة ، كيف أتعامل مع المشكلة وكيف أستخدم الكشف عن البرامج الضارة من Microsoft.
أنا هنا أقوم بتطبيق خوارزمية ML والإحصائيات لحل المشكلة.
- ما هي البرمجيات الخبيثة؟
- مشكلة العمل
- نظرة عامة على البيانات
- مشكلة Mappin ML
- EDA (تحليل البيانات الاستكشافية)
- ميزة الاستخراج
- ميزة الترميز
- تحليل متعدد المتغيرات
- تطبيق نموذج ML
- النموذج النهائي
- قارن النموذج
- وفي الختام
- الرقم المرجعي
ما هي البرامج الضارة؟
البرامج الضارة عبارة عن برامج متطفلة مصممة لإتلاف أجهزة الكمبيوتر وأنظمة الكمبيوتر وتدميرها ، وتعد البرامج الضارة بمثابة انكماش "للبرامج الضارة". تتضمن أمثلة البرامج الضارة الشائعة الفيروسات والديدان وفيروسات أحصنة طروادة وبرامج التجسس والبرامج الإعلانية وبرامج الفدية.
مصدر:- انقر هنا.
مشكلة العمل
في السنوات القليلة الماضية ، نمت صناعة البرامج الضارة بسرعة كبيرة ، حيث استثمرت النقابات بكثافة في التقنيات للتهرب من الحماية التقليدية ، مما أجبر مجموعات / مجتمعات مكافحة البرامج الضارة على بناء برامج أكثر قوة لاكتشاف هذه الهجمات وإنهائها. يتمثل الجزء الأكبر من حماية نظام الكمبيوتر من هجوم البرامج الضارة في تحديد ما إذا كان جزء معين من الملف / البرنامج عبارة عن برنامج ضار.
تحتوي مجموعة البيانات هذه على 9 فئات من البرامج الضارة.
المصدر https://www.kaggle.com/c/malware-classification
نظرة عامة على البيانات
في هذا القسم ، فهمنا البيانات التي لدينا. لذلك لكل برنامج ضار. لقد قدمنا نوعي الملفات. الملف الأول هو ملف ASM. والثاني هو ملفات بايت.
لمزيد من المعلومات حول ملفات ASM ، https://www.reviversoft.com/file-extensions/asm
لذا فإن ASM تعني ملف كود لغة التجميع ، دعنا نفترض أنه يجب عليك كتابة كود في C ++ و C ++ مترجم يأخذ هذا الكود الخام ويحوله إلى ملف ASM ، ثم هناك شيء يسمى المجمع ويتحول إلى ملفات بايت وهذا الملف يحتوي فقط 0 و 1
تحتوي ملفات .asm على هذا النوع من ملفات كلمات رئيسية مثل "pop" و "jump" و "push" و "move" وما إلى ذلك.
ويحتوي ملف البايت (البيانات الأولية على التمثيل السداسي العشري للمحتوى الثنائي للملف ، بدون رأس PE) على قيم سداسية عشرية وحيث تقع القيمة بين 00 إلى FF
هنا لدينا إجمالي 200 جيجابايت من البيانات حيث 50 غيغابايت من بيانات ملفات البايت و 150 غيغابايت هي ملف .asm.
إذن فإن اسم البرامج الضارة التسعة كما يلي:
- Ramnit
- مصاصة
- كيليهوس_ver3
- فوندو
- سيمدا
- تراكور
- كيليهوس_ver1
- Obfuscator.ACY
- جاتاك
ملف .ASM
.text: 00401030 56 push esi .text: 00401031 8B F1 mov esi، ecx .text: 00401043 74 09 jz short loc_40104E .text: 00401045 56 push esi .text: 00401046 E8 6C 1E 00 00 call [البريد الإلكتروني محمي]@ Z ؛ حذف عامل التشغيل (باطل *). النص: 0040104B 83 C4 04 add esp، 4 .text: 0040104E .text: 0040104E loc_40104E:؛ كود XREF: .text: 00401043j .text: 0040104E 8B C6 mov eax، esi .text: 00401050 5E pop esi .text: 00401051 C2 04 00 retn 4
ملف بايت
6A 04 68 00 10 00 00 68 66 3E 18 00 6A 00 FF 15 D0 63 52 00 8B 4C 24 04 6A 00 6A 40 68 66 3E 18 00 50 89 01 FF 15 9C 63 52 00 50 FF 15 CC 63 52 00 B8 07 00 00 00 C2 04 00 CC CC CC CC CC CC B8 FE FF FF FF FF C3 CC CC CC CC CC CC CC CC CC B8 09 00 00 00 C3 CC CC CC CC CC CC CC CC CC B8 01 00 00 00 C3 CC CC CC CC CC CC CC CC CC B8 FD FF FF FF C2 04 00 CC CC CC CC CC CC CC 8B 4C 24 04 8D 81 D6 8D 82 F7 81 F1 60 4F 15 0B 23 C1 C3 CC CC CC CC CC CC CC CC CC CC CC CC 8B 4C 24 04 8B C1 35 45 CF 3F FE 23 C1 25 BA 3D C5 05 C3 CC CC CC CC CC CC CC CC CC CC CC 8B 4C 24 04 B8 1F CD 98 AE F7 E1 C1 EA 1E 69 D2 FA C9 D6 5D 56 8B F1 2B F2 B8 25 95 2A 16 F7 E1 8B C1 2B C2 D1 E8 03 C2 C1 E8 1C 69 C0 84 33 73 1D 2B C8 8B C1 85 F6 74 06 33 D2 F7 F6 8B C2 5E 8B 4C 24 04 8B D1 8D 81 D6 8D 82 F7 81 F2 60 4F
رسم الخرائط في مشكلة ML
بالنظر إلى الملفات ، يتعين علينا تصنيف أحد الفئات التسعة ، مما يتيح لنا أولاً تحويله إلى مشكلة التعلم الآلي المناسبة.
لذا فهي مشكلة تصنيف متعدد الطبقات.
بالنسبة لمقاييس أداء هذه المشكلة ، نستخدمها هو فقدان سجل متعدد الطبقاتو نحن أيضًا - نستخدم مقاييس الدقة واسترجاع المعلومات ، والتي تعطي فكرة أفضل عن كيفية دقة أوضاعنا.
ترجع خسارة السجل متعدد الفئات احتمالية كل فئة.
لمزيد من المعلومات حول الخسارة ، السجل انقر هنا.
جمعية الإمارات للغوص
لذلك في هذا القسم ستؤدي مجموعة من ملفات EDA (تحليل البيانات الاستكشافية) العمليات.
لذلك دعونا نذهب ونقوم بعمل EDA. لذا فإن أول شيء نقوم به هنا هو فصل ملفات البايت عن ملفات ASM. هذه المشكلة هي مجموعات البيانات غير المتوازنة ، لذا أولاً ، نحن نرسم الرسوم البيانية على تسميات الفصل.
من هذا الرسم البياني لتسمية الفئة ، يمكننا القول أن الفئة 5 بها عدد قليل جدًا من البيانات - النقاط ، والفئتان 2 و 3 بها كمية جيدة من البيانات - النقاط المتاحة.
ميزة استخراج من ملفات بايت
لذا ، انظر أولاً إلى ملف بايت وافعل بعض الشيء هندسة الميزات
هنا ننظر أولاً إلى حجم الملف كميزة ونرسم مخطط مربع لفهم أن هذه الميزة مفيدة أو لا لتحديد تسميات الفصل ، إذا كانت جميع مخططات مربعات تسميات الفئات متداخلة مع بعضها البعض ، فيمكننا القول أن حجم الملف هذا الميزة ليست مفيدة.
من مخطط الصندوق ، يمكننا القول أن ميزة حجم الملف مفيدة لتحديد تسمية الفئة.
لذا فإن الأمور الثانية لاستخراج الميزات هي كما يلي:
نعلم أن ملفات البايت تحتوي على قيم سداسية عشرية وأن القيم السداسية العشرية تقع بين 00 إلى FF ، لذلك نأخذ جميع القيم السداسية العشرية كقيم إدخال أو ميزات.
00,01,02,03,04,05,06,07,08,09,0a,0b,0c,0d,0e,0f,10,11,12,13,14,15,16,17,18,19,1a,1b,1c,1d,1e,1f,20,21,22,23,24,25,26,27,28,29,2a,2b,2c,2d,2e,2f,30,31,32,33,34,35,36,37,38,39,3a,3b,3c,3d,3e,3f,40,41,42,43,44,45,46,47,48,49,4a,4b,4c,4d,4e,4f,50,51,52,53,54,55,56,57,58,59,5a,5b,5c,5d,5e,5f,60,61,62,63,64,65,66,67,68,69,6a,6b,6c,6d,6e,6f,70,71,72,73,74,75,76,77,78,79,7a,7b,7c,7d,7e,7f,80,81,82,83,84,85,86,87,88,89,8a,8b,8c,8d,8e,8f,90,91,92,93,94,95,96,97,98,99,9a,9b,9c,9d,9e,9f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,aa,ab,ac,ad,ae,af,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,ba,bb,bc,bd,be,bf,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,ca,cb,,cf,d0,d1,d2,d3,d4,d5,d6,d7,d8,d9,da,db,dc,dd,de,df,e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,ea,eb,ec,ed,ee,ef,f0,f1,f2,f3,f4,f5,f6,f7,f8,f9,fa,fb,fc,fd,fe,ff
تطبيق ميزة البكسل على ملفات بايت
يعني البكسل هنا أننا نأخذ كل ملف ونحوله إلى صورة ثم نستخدم أول 100 بكسل من الصورة كقيمة إدخال.
أشير: المزيد عن ذلك
ميزة الترميز
الآن لدينا ميزات ، لتشفير ميزة نقوم بتطبيق ملف ثنائية الجرام BOW (كيس من كلمة)، دعونا نفهم أولاً BOW ،
يعني BOW أننا نأخذ كل ملف بايت ونحسب ببساطة عدد المرات التي تظهر فيها ميزاتنا 00 ، 01 ، 02 ... ، ويعني bi-gram أننا نأخذ الميزات ونحولها إلى زوج من الميزات 00 01 ، 01 02 ، 02 03 ... و ثم نحسب عدد مرات حدوثه.
لمعرفة المزيد عن ينحني.
تحليل متعدد المتغيرات على ميزات ملف بايت
T-SNE هي في الأساس تقنية لتقليل الأبعاد، لذلك أولاً ، نأخذ جميع البيانات ونحولها إلى بُعد ثنائي لأننا باستخدام T-SNE توصلنا إلى فكرة عنها ، وميزتنا مفيدة لتصنيف تسميات الفئة أم لا.
من T-SNE يمكننا القول أن ميزاتنا مفيدة لتصنيف تسميات الفصل.
تطبيق نموذج ML على ملفات بايت
1 قم بتطبيق نموذج عشوائي
نحن نعلم أن مصفوفة التقييم الخاصة بنا عبارة عن خسارة لوغاريتمية ، وقيم خسارة اللوغاريتمات تقع بين [0 ، ما لا نهاية].
للعثور على أعلى قيمة لفقدان السجل في بياناتنا ، نستخدم نموذجًا عشوائيًا ونجد اختبارًا وخسارة في سجل التدريب.
نموذج عشوائي كالتالي: -
أولاً ، نأخذ بياناتنا ونتوقع تسميات الفئات بشكل عشوائي ، و- لدينا أيضًا تسمية فئة فعلية ونطبق فقدان سجل متعدد الفئات ونجد قيمة فقدان السجل متعدد الفئات في بيانات السيرة الذاتية (التحقق المتبادل) والقيمة هو 2.45.
هذه القيمة هي أسوأ قيمة بالنسبة لنا ، لذلك علينا أن نحاول تقليل فقد السجل بقدر ما نستطيع.
2 قم بتطبيق KNN (تصنيف K أقرب الجوار) على ملفات البايت
نحن هنا نطبق KNN في مجموعة البيانات الخاصة بنا وهي طريقة تعتمد على الحي ، وذلك لأخذ نقطة K المجاورة والتنبؤ بتسميات الفئات.
يبلغ فقدان التدريب والاختبار 0.078 و 0.245 ، وهنا تكون الاختلافات في التدريب وفقدان الاختبار عالية جدًا ، ومن ثم يمكننا القول إن نموذجنا يتناسب مع بيانات القطار.
من خلال مراقبة الدقة ، يمكننا القول أن جميع البيانات مصنفة جيدًا لجميع الفئات باستثناء الفئة 5 ، وذلك لأن لدينا كمية أقل جدًا من نقطة البيانات التي تنتمي إلى الفئة 5.
3. تطبيق الانحدار اللوجستي على ملفات البايت
نقوم بتطبيق الانحدار اللوجستي على ملف بايت.
التدريب وفقدان الاختبار هو 0.1918 و 0.3168
عند مراقبة فقدان السجل من القطار ، فإن بيانات الاختبار تتلاءم قليلاً مع البيانات.
لكنها لا تصنف جميع البيانات - النقاط. من الدقة ، يمكننا القول أن هذا لا يتنبأ بالفئة 5 بسبب كمية البيانات الأقل.
4 تطبيق مجموعة عشوائية على ملفات بايت
هنا نطبق RF على بيانات البايت وهو يعمل بشكل جيد.
التدريب وفقدان الاختبار هو 0.0342 و 0.0971
من الدقة ، يمكننا القول أنه تم توقع كل تصنيف تقريبًا للفئة 5.
ومن الاسترجاع ، يمكننا القول أن هذا هو التصنيف الصحيح لتسمية الصنف تقريبًا. والنظر من فقدان السجل فهو مناسب جيدًا.
5 قم بتطبيق XGBoost على ملفات بايت
الآن نطبق XGBoost على البيانات وهي تقنية تعتمد على نموذج المجموعة.
لمزيد من المعلومات حول هذا الموضوع انقر هنا.
يبلغ فقدان القطار والاختبار 0.022 و 0.079 ، وهذه الخسارة جيدة جدًا من الطرز الأخرى.
من الدقة ، يمكننا القول أنه من المتوقع أن يكون كل تصنيف فئة تقريبًا صحيحًا ، حتى بالنسبة للفئة 5.
ومن الاسترجاع ، يمكننا القول أن هذا هو التصنيف الصحيح لتسمية الصنف تقريبًا.
استخراج ميزة من ملفات .asm
الآن نقوم باستخراج الميزة من ملف .asm ، جميع الملفات تشكل حوالي 150 جيجا بايت.
هنا استخرجناها ميزات شنومكس من جميع ملفات .AS التي تعتبر مهمة.
يحتوي هذا الملف على السجلات والكلمات الرئيسية وأكواد التشغيل والبادئات من هذه الأجزاء الأربعة من الملف ، ونحن نستخرج ما مجموعه 4 ميزة ، ونقوم بتضمين حجم الملف - كميزة ، لذلك في المجموع ، لدينا 52 ميزة هنا.
البادئات = ['HEADER:'، '. text:'، '. Pav:'، '. idata:'، '. data:'، '. bss:'، '. rdata:'، '. edata:'، '.rsrc:'، '. tls:'، '. reloc:'، '. BSS:'، '. CODE'] أكواد العمليات = ['jmp'، 'mov'، 'retf'، 'push'، 'pop '،' xor '،' retn '،' nop '،' sub '،' inc '،' dec '،' add '،' imul '،' xchg '،' or '،' shr '،' cmp '، 'call'، 'shl'، 'ror'، 'rol'، 'jnb'، 'jz'، 'rtn'، 'lea'، 'movzx'] الكلمات الرئيسية = ['.dll'، 'std ::'، ': dword'] registers = ['edx'، 'esi'، 'eax'، 'ebx'، 'ecx'، 'edi'، 'ebp'، 'esp'، 'eip']
توزيع أحجام ملفات .asm
الآن نرسم مربعًا نرسم حجم ملف لفهم أن هذه الميزة مفيدة أو لا لتحديد تسميات الفصل.
مصدر الملف الشخصي للمؤلف على GitHub
من boxplot ، يمكننا القول أن حجم الملف لأن الميزة مفيدة لتصنيف بياناتنا.
تحليل متعدد المتغيرات على ميزات ملف .asm
بالنسبة للتحليل متعدد المتغيرات ، نستخدم نفس المفهوم الذي نستخدمه في ملفات بايت ، ونطبق TSNE هنا للتحقق مما إذا كانت هذه الميزات الـ 53 مفيدة لفصل نقاط البيانات أم لا.
من المؤامرة ، هناك العديد من المجموعات للفئات المختلفة ، وبالتالي يمكننا أن نقول نعم هذه الميزات مفيدة لفصل التسميات
قم بتطبيق النموذج على ملفات ASM
1 تطبيق نموذج عشوائي على ملفات ASM: -
نعلم هنا أن مصفوفة الأداء الخاصة بنا عبارة عن خسارة في السجل متعدد الفئات ، لذلك نعلم أن قيم فقدان السجل تقع بين (0 ، ما لا نهاية] هنا نعرف القيمة المنخفضة ولكننا لا نعرف قيمة عالية ، باستخدام نموذج عشوائي نجد قيمة عالية من فقدان السجل.
ومن ثم فإن فقدان السجل في بيانات الاختبار للنموذج العشوائي هو 2.493.
2 قم بتطبيق KNN (تصنيف K أقرب الجيران) على ملفات ASM
هنا نطبق KNN في مجموعة البيانات الخاصة بنا وهي تقنية حي - قاعدة - ، وهذا هو أخذ نقطة K المجاورة - والتنبؤ بتسميات الفئات.
يبلغ فقدان التدريب والاختبار 0.0476 و 0.089 ، وهنا تكون الاختلافات في التدريب وفقدان الاختبار عالية جدًا ، ومن ثم يمكننا القول أن نموذجنا يتناسب مع بيانات القطار.
من خلال مراقبة الدقة ، يمكننا القول أن جميع البيانات مصنفة جيدًا لجميع الفئات باستثناء الفئة 5 ، وذلك لأن لدينا كمية أقل جدًا من نقطة البيانات التي تنتمي إلى الفئة 5.
3. تطبيق الانحدار اللوجستي على ملفات ams
نقوم بتطبيق الانحدار اللوجستي على ملف .asm.
التدريب وفقدان الاختبار هو 0.781 و 0.742
مراقبة فقدان السجل من القطار ، بيانات الاختبار ، مناسبة بشكل جيد.
لكنها لا تصنف جميع نقاط البيانات. من الدقة ، يمكننا القول أن هذا لا يتنبأ بالفئة 5 بسبب كمية البيانات الأقل.
ومن عملية الاسترجاع ، لم يتم تصنيف تصنيف الفئة الصحيح للفئات 5 و 6 و 7 و 9.
4 تطبيق مجموعة عشوائية على ملفات بايت
هنا نطبق RF على البيانات وهو يعمل بشكل جيد للغاية.
التدريب وفقدان الاختبار هو 0.0271 و 0.0462
من الدقة ، يمكننا القول أنه من المتوقع أن يكون كل تصنيف فئة تقريبًا صحيحًا ، حتى بالنسبة للفئة 5.
ومن الاسترجاع ، يمكننا القول أن هذا هو التصنيف الصحيح لتسمية الصنف تقريبًا.
والنظر من فقدان اللوغاريتمات يكون مناسبًا جيدًا
5 قم بتطبيق XGBoost على ملفات بايت
هنا نقوم بتطبيق XGBOOST على البيانات وهو يعمل بشكل جيد للغاية.
من الدقة ، يمكننا القول أنه من المتوقع أن يكون كل تصنيف فئة تقريبًا صحيحًا ، حتى بالنسبة للفئة 5.
التدريب وفقدان الاختبار هو 0.0241 و 0.0371
ومن الاسترجاع ، يمكننا القول أن هذا هو التصنيف الصحيح لتسمية الصنف تقريبًا.
وبالنظر من فقدان السجل ، فهو مُجهز جيدًا ، وهذا أيضًا أفضل من طراز RF.
النموذج النهائي
نقوم الآن بدمج كلا الملفين .asm و. bytes ونموذج التطبيق الذي يتم تنفيذه بشكل أفضل في الملفات الفردية وهنا يكون النموذج الأفضل هو XGboost.
لدينا هنا إجمالي 66 ألف ميزة وهذه مهمة صعبة للغاية بالنسبة لي ، أولاً ، نطبق TSNE لأنه يعطيني فكرة أن هذه الميزات هي مدى جودة فصل الملصقات
الآن يمكننا أن نقول أن كل هذه الميزات مفيدة جدًا للبيانات - الفصل.
هنا قمنا بعمل متعدد المتغيرات على هذه الميزة.
ومن هنا يمكننا أن تساعد هذه الميزة في الفصل بين نقاط البيانات.
Random Forest Classifier على الميزات النهائية
هنا نطبق RF على البيانات النهائية ويعمل
التدريب وفقدان الاختبار هو 0.03143 و0.09624
من الدقة ، يمكننا القول أنه تم توقع كل تصنيف تقريبًا للفئة 5.
ومن الاسترجاع ، يمكننا القول أن هذا هو التصنيف الصحيح لتسمية الفئة تقريبًا.
والنظر من فقدان اللوغاريتمات يكون مناسبًا جيدًا. ومن ثم يمكننا القول أن التردد اللاسلكي يعمل جيدًا لبياناتنا.
LGBMClassifier عن الميزات النهائية
نحن نعلم هنا بالنسبة لكلا الملفين أن نموذجنا الفائز هو XGBOOST ، ولكن في الميزة النهائية ، نطبق lightgbm لأن وقت حوسبة xgboost لدينا مرتفع جدًا و lightgbm أسرع قليلاً من xgboost ومن ثم نقوم بتطبيق LGBM هنا وكلاهما يفعل نفس الأشياء.
هنا نقوم بتطبيق LGBM على البيانات النهائية وهو يعمل
من الدقة ، يمكننا القول أنه تم توقع كل تصنيف تقريبًا للفئة 5.
ويمكن القول من هذا هو التصنيف الصحيح لتسمية الطبقة تقريبًا.
وبالنظر من فقدان السجل ، فهو مُجهز جيدًا ، وهذا أكثر من نموذج RF. وحصلنا على خسارة اختبار 0.01 هنا ، وبالتالي يعمل LGBM / XGBOOST على بياناتنا.
قارن النموذج
وفي الختام
1. أولاً ، البيانات المقدمة هي بيانات برامج Microsoft الضارة ، ومهمتنا هي تصنيف الملف المحدد الذي يحتوي على نوع البرامج الضارة التي ينتمي إليها. هنا في البيانات ، لدينا 9 أنواع من اكتشاف البرامج الضارة من Microsoft.
2. يوجد في بياناتنا نوعان من الملفات ، الأول هو ملفات .bytes والثاني هو ملف .asm.
أ في ملفات بايت ، تحتوي على قيم سداسية عشرية
ب. وفي ملف .asm ، تحتوي على بعض الكلمات الرئيسية الخاصة مثل pop ، push ، إلخ
3. نقوم هنا أولاً بفك ضغط البيانات وفصل كلا النوعين من الملفات ، ويبلغ حجم البيانات هذا 200 جيجابايت تقريبًا. لذلك فهو أمر صعب للغاية بالنسبة لنا.
4. هنا نهجنا هو أولاً تحليل ملفات بايت ثم نذهب لتحليل ملفات .asm.
5. نأخذ أولاً ملف بايت. ونعلم أنه يحتوي على قيمة سداسية عشرية وأن القيم السداسية العشرية تقع بين 00 إلى FF ، لذلك نطبق BOW ثنائي الجرام البسيط ونقوم بحساب بسيط هنا لكل ملف ، ونطبق أيضًا ميزة البكسل مما يعني أننا نقوم أولاً بتحويل كل ملف إلى صورة ونأخذ أول 100 بكسل.
6. نحن نعلم أن القيمة الدنيا لخسارة اللوغاريتمات تساوي 0 وأن القيمة القصوى هي اللانهاية ، لذلك أولاً ، نبني نموذجًا عشوائيًا ونجد الحد الأقصى لخسارة السجل.
7. بعد النموذج العشوائي ، قمنا ببناء نموذج مختلف مثل LR ، و RF ، و KNN ، و xgboost ، ونتحقق من النموذج الذي يعطي خسارة لوغاريتمية منخفضة.
8. الآن نأخذ ملف .asm ونجد بعض الكلمات الرئيسية الخاصة البالغ عددها 53 والتي تعتبر مهمة جدًا لملف .asm.
9. هنا نطبق أيضًا نموذجًا مختلفًا مثل KNN ، LR ، RF ، إلخ.
10. نقوم الآن بدمج ميزات الملف معًا وتطبيق RF و XGBOOST / LGBM.
11. باستخدام XGBOOST / LGBM ، حصلنا على خسارة اختبار هي 0.01.
آمل أن تكون قد استمتعت بمقالتي حول اكتشاف البرامج الضارة من Microsoft. إذا كان لديك أي شكوك ، قم بالتعليق أدناه. اقرأ المزيد من المقالات حول Analytics Vidhya مدونة.
الرقم المرجعي
https://towardsdatascience.com/malware-classification-using-machine-learning-7c648fb1da79
https://www.kaggle.com/c/microsoft-malware-prediction
https://www.appliedaicourse.com
تواصل معي
الوسائط الموضحة في هذه المقالة ليست مملوكة لشركة Analytics Vidhya ويتم استخدامها وفقًا لتقدير المؤلف.
مقالات ذات صلة
المصدر: https://www.analyticsvidhya.com/blog/2022/01/microsoft-malware-detection/