كيف يمكن تخطى أنظمة الحماية

كيف تتخطى الفيروسات أنظمة الحماية

0 تعليق yes 16-نوفمبر-2016 الوليد بن علي

كيف تتخطى الفيروسات أنظمة الحماية

كيف تتخطى الفيروسات أنظمة الحماية ؟

كثيراً ما نسمع عن الصراع الدائر بين مطوري الفيروسات و مطوري الحمايات من جهة أخرى, و هو صراع يدور بين تجاوز الحمايات و توقع مداخل الهجوم على النظام, ومن جهة مطوري الفيروسات فهناك الكثير من الطرق المتبعة للوصول لهذا لغرض و لكننا سنتحدث في تلك المقالة على واحدة من أفضل الحيل التي يستخدمها مطوري الفيروسات لتخطي الحمايات أو برامج الأنتي-فيرس و هي حيلة ال Packing, وقد ظهرت هذه الحيلة أول مرة على يد مطوري البرامج لحمايتها من عمليات الهندسة العكسية و الكراك و هي المعروفة بعملية التشفير ليصبح الفيروس “أخضر كلين”.





ما هو الـ Packing ؟

الترجمة الحرفية لكلمة Packing هي الحزم أو التعبئة, وتقنياً هي عملية ضغط الملف من أي نوع و لأي غرض, و لكن هنا سنتحدث عن ضغط الملف من نوع EXE ولغرض تخطي مراقبة الأنتي-فيرس.

وهناك نوعان لتلك العملية, RunTime packing و ScanTime packing, الأولى هو أن يتم فك ضغط (تشفير) الملف التنفيذي على الذاكرة نفسها عند تنفيذ البرنامج, و الثانية أن يتم فك الضغط على الهارد ديسك في مسار معين قبل تنفيذ البرنامج, فالفرق بينهما واضح إذاً .

تتم عملية الضغط ( التشفير) للفيروس عن طريق Packer يقوم بضغط الملف الخاص بالفيروس و يقوم بتوليد Stub (أو كعب) ويرفقه بالفيروس ليقوم بعملية فك الضغط على جهاز الضحية.

التطبيق :

سنقوم بتوضيح الفكرة أكثر على شكل كود ليتضح كيف يعمل البرنامج من الداخل وسنبدأ بخوارزمية التشفير, فهناك الكثير من تلك الخوارزميات و لكن سنذكر الآن الخوارزمية XTEA وهي تسير بالشكل التالي :

شكل خوارزمية XTEA و كيف تبدو

شكل خوارزمية XTEA

 

وتقوم تطبيق تلك الخوارزمية على كل الـ bytes بداخل الملف التنفيذي بهذا الشكل

 

تطبيق خوارزمية XTEA على كل bytes بداخل الملف التنفيذي

تطبيق خوارزمية XTEA على كل الـ bytes بداخل الملف التنفيذي





وفي آخر البرنامج يتم استدعاء تلك الدوال في الدالة الرئيسية main() بشكل طبيعي

استدعاء الدوال في الدالة الرئيسية main() فى الخوارزمية

استدعاء الدوال في الدالة الرئيسية main()

وللمطور حرية الاختيار في آلية عمل البرنامج

والآن سنقوم بتجربة على فيروس بسيط قبل و بعد عملية الـ Packing, فلدينا الآن سيرفر وسنقوم بعرضه على حمايات متعددة عن طريق virus total وسنكتشف النتيجة

تجربة على فيروس بسيط قبل عملية الـ packing بخوارزمية XTEA

تجربة على فيروس بسيط قبل عملية الـ packing

والآن سنقوم برفع السيرفر نفسه ولكن بعد تطبيق عملية الـ packing البسيطة ونرى النتيجة على virus total أيضاً

تطبيق خوارزمية XTEA على فيروس بسيط و تجربته على virustotal

تطبيق خوارزمية XTEA على فيروس بسيط





وهكذا نرى كيف أن نفس السيرفر الذي كان مكشوفاً منذ دقائق, أصبح الآن و بطريقة بسيطة غير مكشوف لأنظمة الحماية كلها, وهكذا يستمر الصراع بين مطوري الفيروسات و مطوري الحمايات إلى وقت لا نعلمه بعد , وشكراً

الوليد بن علي

well

الوليد من القاهرة , مهتم بأمن المعلومات عموماً و بتقنيات الهندسة العكسية و تحليل البرامج و أنظمة التشغيل .

إضافة تعليق