Heuristic scanning

أرسل من قبل The Tornado في الأربعاء, 2008/09/17 - 10:34am.
عضو فعال
صورة The Tornado

تاريخ التسجيل: 2007-06-07
مشاركات: 1027

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الخامسة
الاختصاص: ذكاء صنعي

الموضوع ملطوش

ماذا نعني عندما نقول (heuristic algorithm) : هي خوارزمية ليس بالضرورة أن نصل بها إلى حل و أحيانا نحصل على نتائج غير صحيحة (false positive)
- نعلم جميعا أن مضادات الفيروسات تستخدم العديد من التقنيات منها ما هو قديم و منها ما هو جديد ومن هذه التقنيات :
  1 - مراقبة ملفات النظام وتواريخ تعديلها و إنشائها و امور اخرى لكشف النشاط الفيروسي فهناك الكثير من الفيروسات تقوم بتعديل ملفات النظام ثم ترجع تاريخ التعديل إلى التاريخ السابق دون ان يشعر أحد بهذا التغيير .. طبعا هذه الطريقة لكشف الفيروسات قديمة وكثيرا ما يعبث الفيروس بالنظام دون اكتشافه
  2 - توقيع الفيروس (Virus signature) : من أشهر الطرق و أكثرها استخداما حتى الان و قد أثبتت هذه الطريقة قوتها في وجه الفيروسات و تسمى أحيانا scan-string .. نقصد بتوقيع الفيروس سلسلة من البايتات يتميز بها الفيروس حيث يحتوي مضاد الفيروسات على قاعدة بيانات بهذه التوقيعات.
ولكن كيف تحصل شركات أمن المعلومات على هذا التوقيع ؟
هناك خبراء في هذه الشركات مجرد وصول أحد الملفات إلى الشركة (طبعا الكثير من مضادات الفيروسات تتيح لك إرسال الملفات التي تشك بوجود فيروسات فيها إلى الشركة للتحليل) يقومون بتشغيل الفيروس ضمن debugger طبعا مع disassembler و بنظرة سريعة لاتتجاوز الدقيقة يحددون فيما إذا الملف فيه فيروس أم لا.
أما مسألة الحصول على signature للملف فهي سهلة إذا كان الفيروس لايغير شكله و لا يستخدم تقنيات التشفير و لكنها تصبح معقدة في الحالة الأخرى ويلجا الخبراء إلى وضع الفيروس على جهاز يسمى بالضحية و تركه يصيب الملفات التي عليه ثم تمرر الملفات المصابة إلى برنامج يقوم باستخراج أقصر سلسلة يايتات تميز الفيروس والتي يضعها داخل الملف المصاب  تسمى signature
- هذا رائع فأين هي المشكلة ؟
 هناك عدة مشكلات بدأت تظهر حديثا منها :
    1 - ماذا لو كنت تتصفح الإنترنت بحثا عن كراك أو باتش لبرنامج قمت باستعارته من الشركة المنتجة له كما نفعل عادة طبعا أقول استعارة وليس ....
ا                    لمهم بنسبة 90% سوف تحضر إلى جهازك فيروس أو أي نوع من أنواع التهديدات التي تسمى (maleware) ومن يدري ربما تصل إلى حد مسح بياناتك الشخصية و أشياء قد لا تخطر على بال                      أحد  (الجزاء من جنس العمل) وماذا لو كنت طالبا في الهندسة المعلوماتية  ؟! أبشر بأحدث فيروسات العالم ..كل ذلك سيجري و مضاد الفيروسات يتفرج !!
    2 - الجهد الذي بدأ يزداد كثيرا على المسؤولين عن متابعة و كشف الفيروسات وخاصة أن عدد الفيروسات يتضاعف كل 9 أشهر (كارثة معلوماتية)
    3 - الحاجة الدائمة إلى تحديث البرنامج المضاد للفيروسات (نحنا ما بيعجبنا التحديث لأنو ببساطة key is invalid)

- الحاجة إلى تقنية جديدة : إن الأسباب السابقة وغيرها دفعت شركات الأمن إلى البحث عن تقنية كشف عامة و ليست محددة كالتقنيات التقليدية السابقة و لتحقيق ذلك لجؤوا إلى الذكاء الصنعي (ARTIFICIAL INTELLIGENCE) و الحل هو  HEURISTIC SCANNING

- HEURISTIC SCANNING : لا تعتمد هذه التقنية على قاعدة بيانات عن الفيروسات و إنما على محاكاة سلوك الإنسان المشروح سابقا (سلوك الخبراء) في كشف الفيروسات و جعل المحاكاة السابقة الية دون تدخل الخبراء
- الفكرة الأساسية : تماما كما يفعل الإنسان فإن محرك الكشف عن الفيروسات (Heuristic engine) يعرف مسبقا بعض أشكال أنشطة الفيروسات مثل :
    1 - تهيئة أقراص التخزين (format) مثال :
                                                                                                                   

MOV AH,5
  INT 13h
استدعاء مقاطعة لتهيئة القرص قلما تفعلها البرامج العادية                                                               
    2 - الإقامة في الذاكرة Memory resident تفعلها الفيروسات و العديد من البرامج
    3 - البحث عن ملفات EXE - COM الفيروسات التي تصيب البرامج التنفيذية
    4 - محاولة الوصول إلى الملفات و الكتابة عليها
    5 - استخدام بعض تقنيات التشفير
    6 - استخدام تقنيات تغيير الشكل
    7 - محاولة إرسال البريد إلى عدد كبير من الأشخاص
    8 - استدعاءات نظام غير نظامية
يوجد عدد كبير من الأنشطة التي تقوم بها الفيروسات على الأجهزة المصابة و تحديد هذه الأنشطة بدقة و إعطائها عوامل تقييم مناسب يحدد مى قوة مضاد الفيروسات في هذه التقنية
- الية تحليل الملف المشكوك فيه : يقوم (Heuristic engine) باستخدام تقريبا نفس أدوات الإنسان disassembler - emulater - analyzer ويقوم بتشغيل الفيروس و يبحث ضمنه عن تسلسل تعليمات تؤدي إلى أنشطة فيروسية (طبعا التعليمات الرمزية) و يسجل جميع الأنشطة التي حصل عليها

- متى يكون مضاد الفيروسات قادرا على إبلاغك عن وجود فيروس ؟
هناك مشكلتان قد يقع بهما مضاد الفيروسات الذي يعتمد هذه التقنية :
    1 - false positive : تبليغ خاطئ عن وجود فيروس و هذا حصل معي مع أحد الملفات و الذي هو عبارة عن برنامج يحاكي لعبة صغيرة
       (C++ job in 2nd year) والرسالة كانت من Eset nod32 كالتاليprobably unknown NewHeur_PE virus  و طبعا الملف ليس فيروس
   2 - false negative : عدم التبليغ عن وجود فيروس و هو فعلا موجود

يوجد طريقتين لتحديد وجود فيروس :

 weight-based : تعطى الأنشطة السابقة عوامل تقييم مختلفة حسب أهمية النشاط فمثلا تهيئة القرص يعطى عامل تقييم  أكبر من الإقامة في الذاكرة لان الكثير من البرامج العادية يقوم بذلك و القليل منها يهيئ القرص و بعد ان يكتشف مضاد الفيروسات هذه الأنشطة يقوم بجمع عوامل التقييم فإذا كانت أكبر من حد معين فإنه يبلغ عن وجود فيروس غير معروف
    rule-based : تقارن الأنشطة مع مجموعة من القواعد (knowledge base) فإذا تحققت بعض الشروط فإنه يبلغ عن وجود فيروس غير معروف و هذه الطريقة هي الطريقة الأحدث و المستخدمة حاليا

 
دخول أو تسجيل لإرسال التعليقات | قراءة: 209

خيارات عرض التعليقات

اختر طريقتك المفضلة لعرض التعليقات و اضغط "حفظ الإعدادات" لتفعيل تغييراتك.
الأربعاء, 2008/09/17 - 3:26pm
صورة bayrn

تاريخ التسجيل: 2008-03-05
مشاركات: 785

الجامعة: الافتراضية
الكلية: تكنولوجيا المعلومات
المرحلة: السنة الرابعة
الاختصاص: غير ذلك

ياريت في كتير من هذه المواضيع

 

قرأتُ مجدَكِ في قلبي و في الكُتُـبِ         شَـآمُ ، ما المجدُ؟ أنتِ المجدُ لم يَغِبِ

 
دخول أو تسجيل لإرسال التعليقات
الأربعاء, 2008/09/17 - 7:16pm
عضو فعال
صورة Renwar

تاريخ التسجيل: 2005-02-24
مشاركات: 881

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الخامسة
الاختصاص: هندسة برمجيات

كتب The Tornado:
إن الأسباب السابقة وغيرها دفعت شركات الأمن إلى البحث عن تقنية كشف عامة و ليست محددة كالتقنيات التقليدية السابقة و لتحقيق ذلك لجؤوا إلى الذكاء الصنعي (ARTIFICIAL INTELLIGENCE) و الحل هو HEURISTIC SCANNING

- HEURISTIC SCANNING : لا تعتمد هذه التقنية على قاعدة بيانات عن الفيروسات و إنما على محاكاة سلوك الإنسان المشروح سابقا (سلوك الخبراء) في كشف الفيروسات و جعل المحاكاة السابقة الية دون تدخل الخبراء

في أمثلة عن شي معتمد كمضاد فيروسات ؟؟
لأنو بظن اقوى مضادات الفايروسات الموجوة بتعتمد الطريقة "التقليدية"

 
دخول أو تسجيل لإرسال التعليقات
الأربعاء, 2008/09/17 - 9:07pm
صورة bayrn

تاريخ التسجيل: 2008-03-05
مشاركات: 785

الجامعة: الافتراضية
الكلية: تكنولوجيا المعلومات
المرحلة: السنة الرابعة
الاختصاص: غير ذلك

كتب The Tornado:

إن الأسباب السابقة وغيرها دفعت شركات الأمن إلى البحث عن تقنية كشف عامة و ليست محددة كالتقنيات التقليدية السابقة و لتحقيق ذلك لجؤوا إلى الذكاء الصنعي (ARTIFICIAL INTELLIGENCE)

أنا ليس من اختصاصي لا الذكاء الصنعي و لا هندسة البرمجيات

لكن لاحظت أنه أصبح من الضروري على الدارس لأحد هذين الاختصاصين أن يدرس الآخر معه لأنهما مع قادم الأيام سوف يصبحان شئ واحد

كمثال آخر على ذلك

أنظمة المعلومات ( نظم دعم القرار DSS ) و التي تنتمي الى عائلة البرمجيات التي تحتاج الى اختصاصي هندسة برمجيات ، أصبح الآن من الضروري اللجوء الى تقنيات الذكاء الصنعي في مرحلةما من مراحل بناء هذه الأنظمة

 

قرأتُ مجدَكِ في قلبي و في الكُتُـبِ         شَـآمُ ، ما المجدُ؟ أنتِ المجدُ لم يَغِبِ

 
دخول أو تسجيل لإرسال التعليقات
الخميس, 2008/09/18 - 5:15pm
عضو فعال
صورة The Tornado

تاريخ التسجيل: 2007-06-07
مشاركات: 1027

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الخامسة
الاختصاص: ذكاء صنعي

كتب bayrn:
كتب The Tornado:
إن الأسباب السابقة وغيرها دفعت شركات الأمن إلى البحث عن تقنية كشف عامة و ليست محددة كالتقنيات التقليدية السابقة و لتحقيق ذلك لجؤوا إلى الذكاء الصنعي (ARTIFICIAL INTELLIGENCE)

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

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

 
دخول أو تسجيل لإرسال التعليقات
الخميس, 2008/09/18 - 5:29pm
عضو فعال
صورة The Tornado

تاريخ التسجيل: 2007-06-07
مشاركات: 1027

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الخامسة
الاختصاص: ذكاء صنعي

بتصور انو اذا دمجنا آخر طريقتين rule based مع معامل الثقة أو الوزن weight ممكن نقدر نستخدم هالتقنية بفعالية كبيرة كتير

بمشروع الـ kbs السنة الماضية عملنا هيك شغلة... نظام مبني على مجموعة من القواعد بس هي القواعد مدعومة بأوزان weights بتنحسب عن طريق معادلات خاصة وبتعطي أهمية للقاعدة على غيرها

يمكن كان من أحلى المشاريع اللي بشتغل فيها لهلأ بالكلية

 
كتب Renwar:
في أمثلة عن شي معتمد كمضاد فيروسات ؟؟ لأنو بظن اقوى مضادات الفايروسات الموجوة بتعتمد الطريقة "التقليدية"

كاتب المقال حط مثال عن مشكلة صارت معو مع nod32 وهو بيستعمل هالتقنية

 
دخول أو تسجيل لإرسال التعليقات
الخميس, 2008/09/18 - 7:45pm
عضو فعال
صورة Renwar

تاريخ التسجيل: 2005-02-24
مشاركات: 881

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الخامسة
الاختصاص: هندسة برمجيات

كتب The Tornado:
كاتب المقال حط مثال عن مشكلة صارت معو مع nod32 وهو بيستعمل هالتقنية
اوك مو بس nod في kaspersky, BitDefender كمان بيستعملوها
بس بعد ال traditional search اللي بيعتمد على ال signature
---
أنا قصدي برنامج يعتمد الطريقة كطريقة أساسية مو ثانوية
في هيك شي؟؟

 
دخول أو تسجيل لإرسال التعليقات
الخميس, 2008/09/18 - 9:22pm
صورة I Does

تاريخ التسجيل: 2008-05-29
مشاركات: 394

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الثانية

في أكتر من طريقة ليتعرف عليها مضاد الحماية عالفيروس..في شي اسمو عن طريق نقطة الإدخال يعني النقطة يللي ببلش منها أي برنامج بالشغل ممكن يتعرف عليها برنامج الحماية عالفيروس و بتغييرها بتكون خدعت الحماية و هاد بيتنفذ بال olly...
و بعدين توقبع الفيروس (إذا كان المقصود فيه هو كشف بعض القيم الست عشرية بالفيروس) فهي أبداً مو طريقة قوية لإنو فيك تلقط هالقيمة يللي عم يكتشفها الأنتي فايروس و تغيرها و بالتالي صار الملف نظامي تمام و التغيير يتم عن طريق محررات القيم متل Hex Workshop...

 
دخول أو تسجيل لإرسال التعليقات