المقدمة
يوضح هذا المستند كيفية إنشاء عمليات الكشف المخصصة - متقدمة باستخدام ClmAV Sigtool.exe على Windows.
حول عمليات الكشف المخصصة المتقدمة
عمليات الكشف المخصصة المتقدمة تشبه توقيعات مكافحة الفيروسات التقليدية، ولكنها تتم كتابتها بواسطة المستخدم. من أجل اكتشاف البرامج الضارة والتهديدات الأخرى القائمة على الملفات، تعتمد ClamAV على التوقيعات لتمييز الملفات النظيفة والضارة/غير المرغوب فيها. توقيعات ClamAV هي في المقام الأول مبنية على النص وتطابق مع أحد تنسيقات التوقيع الخاصة ب ClmAV المرتبطة بطريقة معينة للكشف عن تلك التوقيعات يمكن أن تقوم بفحص مختلف جوانب الملف ولها تنسيقات توقيع مختلفة. بعض تنسيقات التوقيع المتوفرة هي:
· تواقيع MD5
· التوقيعات المستندة إلى قسم PE طراز MD5
· التواقيع المستندة إلى النص الأساسي للملف
· تنسيق التوقيع الموسع (الإزاحة، أحرف البدل، التعبيرات العادية)
· التوقيعات المنطقية
· توقيعات الأيقونات
يوزع مشروع ClamAV مجموعة من التوقيعات في شكل ملفات CVD (قاعدة بيانات فيروس ClmAV). يوفر تنسيق ملف CVD حاوية موقعة رقميا تقوم بتضمين التوقيعات وتضمن عدم إمكانية تعديلها بواسطة طرف ثالث ضار. يتم الاحتفاظ بمجموعة التوقيعات هذه بشكل نشط بواسطة Cisco Talos ويمكن تنزيلها باستخدام تطبيق NewClam الذي يتم شحنه باستخدام ClmAV
لماذا ClmAV
نحن نستخدم قائمة التحكم في الوصول (ACD) لمطابقة سمات الملفات/الكشف المعقد التي لا يمكن اكتشافها باستخدام تجزئة SHA256 مثل تلك الموجودة في الأمثلة التي لا قيمة لها:
تنسيق محتوى التوقيع المستند إلى النص الأساسي
يخزن ClamAV جميع التوقيعات المستندة إلى الجسم (المستندة إلى المحتوى) بتنسيق سداسي عشر، باستثناء دعم قاعدة ClamAV Yara. يعني التوقيع السداسي العشري جزء من جسم البرامج الضارة تم تحويله إلى سلسلة سداسية عشرية يمكن تمديدها بالإضافة إلى ذلك باستخدام أحرف بدل متنوعة.
تسمح التوقيعات المنطقية بدمج توقيعات متعددة في تنسيق موسع باستخدام المعاملات المنطقية. يمكن أن توفر مطابقة أكثر تفصيلا ومرونة للنماذج.
تنسيق التوقيع الموسع هو النوع الأساسي ClamAV للتوقيع المستند إلى النص الأساسي نظرا لأن تنسيق قاعدة بيانات .db الأصلي مهمل.
تتيح الخصائص الممتدة تحديد معلومات إضافية أكثر من مجرد محتوى سداسي عشر مثل ملف "نوع هدف" أو إزاحة فيروس أو مستوى وظيفة المحرك (FLEVEL)، مما يجعل الاكتشاف أكثر موثوقية
توقيعات الخداع
يمكن ل ClamAV الكشف عن إرتباطات HTML التي تبدو مشكوك فيها عندما يكون نص العرض عنوان URL يكون مجال مختلف عن URL الفعلي. للأسف، من الشائع جدا أن تقوم شركة ما بعقد خدمات ويب واستخدام نص عرض الارتباط الخاص ب HTML لجعله يبدو وكأنه إرتباط إلى موقع الشركة على الويب. نظرا لأن هذه الممارسة شائعة، تقوم ClamAV بالتحقق من التصيد الاحتيالي لمواقع معينة يتم إستهدافها بشكل عام من خلال حملات التصيد الاحتيالي فقط
تواقيع بيتيكود
توقيعات Bytecode هي الوسيلة التي يمكن من خلالها إجراء مطابقة أكثر تعقيدا من خلال كتابة التعليمات البرمجية C لتحليل محتوى عينة في مراحل مختلفة في إستخراج الملف.
توقيعات مبنية على البيانات الأولية للحاوية
يسمح ClamAV 0.96 بإنشاء توقيعات عامة تطابق الملفات المخزنة داخل أنواع حاويات مختلفة والتي تلبي شروط معينة. تنسيق التوقيع هو:
VirusName:ContainerType:ContainerSize:FileNameREGEX:
FileSizeInContainer:FileSizeReal:IsEncrypted:FilePos:
Res1:Res2[:MinFL[:MaxFL]]
حيث تكون الحقول المقابلة:
VirusName: اسم الفيروس الذي سيتم عرضه عند مطابقة التوقيع.
ContainerType: نوع الملف الذي يحتوي على الملف الهدف. على سبيل المثال:
Cl_TYPE_ZIP،
CL_TYPE_RAR،
CL_TYPE_ARJ،
CL_TYPE_MSCAB،
CL_TYPE_7z،
CL_TYPE_MAIL،
CL_TYPE_POSIX_TAR،
CL_TYPE_OLD_TAR،
CL_TYPE_CPIO_OLD،
CL_TYPE_CPIO_odc،
CL_TYPE_CPIO_NEWC،
CL_TYPE_CPIO_CRC
وهكذا.
يركز هذا المستند على توقيعات التجزئة.
ملاحظة: أسهل طريقة لإنشاء توقيعات ل ClmAV هي إستخدام مجموعات فحوصات Filehash، ومع ذلك يمكن إستخدام هذه الطريقة فقط ضد البرامج الضارة الثابتة.
تحذير: الرجاء ملاحظة أن المعلومات الواردة في هذا المستند عرضة للتغيير مع الإصدارات الأحدث من ClmAV. قم دائما بالترابط والتحقق باستخدام الدليل الرسمي ل ClmAV.
يمكن العثور على مزيد من المعلومات حول تنسيقات التوقيع على موقع ClamAV على الويب
يتم تحويل هذه التوقيعات إلى ملف يتم تنزيله إلى نقطة النهاية. لإنشاء عمليات الكشف المخصصة المتقدمة، انتقل إلى التحكم في التفشي > خيارات متقدمة. انقر إنشاء مجموعة توقيع لإنشاء مجموعة اكتشاف مخصصة متقدمة جديدة، أعطها اسم، وانقر إنشاء.
بعد أن تقوم بإنشاء مجموعة الكشف المخصص المتقدم، انقر تحرير ويمكنك أن ترى رابط إضافة توقيع. أدخل اسم توقيعك وانقر إنشاء.
بعد أن تكون كل توقعاتك مدرجة، حدد إنشاء قاعدة بيانات من مجموعة التوقيع. إذا قمت بإضافة توقيع لم ترغب فيه عن طريق الخطأ، يمكنك حذفه بالنقر فوق إزالة.
تحذير: في أي وقت تقوم فيه بإضافة أو إزالة توقيع يجب أن تنقر فوق إنشاء قاعدة بيانات من مجموعة التوقيع
ملاحظة: عندما تقوم بإنشاء كشف مخصص متقدم لملف، فإنه يخضع للتخزين المؤقت لمدة ساعة. في حالة إضافة ملف إلى مجموعة اكتشاف مخصصة متقدمة، يجب أن تنتهي صلاحية وقت التخزين المؤقت قبل أن يصبح الكشف نافذ المفعول. على سبيل المثال، إذا قمت بإضافة اكتشاف مخصص متقدم لملف غير معروف بعد 5 دقائق من تخزينه مؤقتا، فلن يصبح هذا الكشف ساري المفعول لمدة 55 دقيقة أخرى.
تحذير: تعمل "الكشف المخصص المتقدم" فقط على الملفات غير المعروفة المصير النهائي.
كيفية إنشاء اكتشافات مخصصة - متقدم باستخدام sigtool.exe
الخطوة 1: علينا أولا الحصول على أداة تحديد الموقع بالتنقل إلى تنزيلات موقع ClmAV
في حالتي، أنزل حزمة ZIP clamav-1.1.0.win.x64.zip
الخطوة 2: قم بإلغاء ضغط الملف إلى الموقع المفضل. في حالتي أستخدمت C:/ClamAV
الرجاء ملاحظة المجلدات والملفات المميزة.
clamscan.exe - هي أداة سطر أوامر يتم إستخدامها لمسح الملفات و/أو الدلائل بحثا عن الفيروسات. على عكس ميزة "التقاط الصور"، لا تتطلب ميزة "طلب الاتصال" وجود مثيل لطلبات التشغيل كي تعمل. بدلا من ذلك، يقوم المشبك بإنشاء محرك جديد وتحميل في قاعدة بيانات الفيروسات في كل مرة يتم تشغيلها. سيقوم بمسح الملفات و/أو الأدلة المحددة في سطر الأوامر، وإنشاء تقرير مسح ضوئي، والخروج.
sigtool.exe - أداة تقوم بإنشاء وتنسيق التوقيع والكتابة في ملف *.hdb. يشير امتداد HDB إلى التواقيع المستندة إلى التجزئة. تقوم أداة Sigtool بالتراجع إلى Libclamav وتوفر إختصارات للقيام بالمهام التي تقوم بها ميزة Clamscan خلف المشاهد. تلك يمكن أن تكون مفيدة حقا عند كتابة توقيع أو محاولة الحصول على معلومات عن توقيع يمكن أن يسبب FPs أو مشاكل في الأداء.
VirusVault - هذا هو مجلد خاص بي تم إنشاؤه لإسقاط الملفات التي أردت إنشاء توقيع مخصص لها.
VirusRV.HDB - يحتوي هذا الملف على توقيعات منسقة. لقد سميت هذا الملف VirusRV ولكن يمكنك إستخدام أي اسم ذو معنى.
الخطوة 3a: قم بتشغيل خط CMD وانتقل إلى الموقع الذي قمت فيه مسبقا بإلغاء ضغط ClmAV.
الخطوة 3b نفذ هذا السطر.
C:\ClamAV>sigtool —موقع الملف المخصص MD5> اسم الملف.hdb
يمكنك تغيير الاسم (بشكل افتراضي، تستخدم أداة الموقع اسم الملف) وتضعه داخل ملف *.hdb. يمكن أن يحتوي ملف قاعدة بيانات واحد على أي عدد من التواقيع. للحصول على هذه البيانات يتم تحميلها تلقائيا في كل مرة يبدأ فيها الأمر/الطلب في نسخ ملف (ملفات) قاعدة البيانات إلى دليل قاعدة بيانات الفيروسات المحلي (على سبيل المثال /usr/local/share/clamav).
C:\ClamAV>sigtool --md5 C:\ClamAV\VirusVault\TestVirusRV.exe > VirusRV.hdb
يؤدي هذا إلى إنشاء التوقيع في هذه الحالة للملف المسمى TestVirusRV.exe ثم كتابة التوقيع إلى ملف باسم VirusRV.hdb
ملاحظة: إذا كنت ترغب في إنشاء توقيع استنادا إلى قيمة SHA، فإن الملف المطابق يتم حفظه على هيئة *.hsb
C:\ClamAV>sigtool --md5 C:\ClamAV\VirusVault\TestVirusRV.exe > VirusRVsha256.hsb
تحذير: لا يتم إستخدام التوقيعات المستندة إلى التجزئة لملفات النص و HTML وأي بيانات أخرى تتم معالجتها مسبقا داخليا قبل مطابقة النموذج. إذا كنت تريد حقا إستخدام توقيع تجزئة في مثل هذه الحالة، فقم بتشغيل تشويش مع —debug and —leave-temps وقم بإنشاء توقيع لملف تمت معالجته مسبقا متروكا في /tmp. الرجاء مراعاة أن توقيع التجزئة سيتوقف عن المطابقة بمجرد تغيير بايت واحد في الملف الهدف. يمكن العثور على المزيد هنا
علامات ال sigtool تلك يمكن أن تكون مفيدة خاصة لكتابة التوقيع:
—MD5 / —sha1 / —sha256: قم بإنشاء تجزئة MD5/SHA1/SHA256 وحساب حجم الملف، حيث سيتم إخراج كل منهما كتوقيع بتنسيق .hdb/.hsb
أسماء التوقيع
يجب أن تستخدم توقيعات ClamAV الأحرف الهجائية والرقمية فقط، شرطة (-)، نقطة (.)، تسطير سفلي (_) لتعيين الكلمات. لا تستخدم أبدا علامة فاصلة أو فاصلة أو فاصلة منقوطة أو علامة اقتباس.
تستخدم أسماء توقيع ClamAV الموجودة في قواعد بيانات التوقيع الرسمية هذا التنسيق عموما:
{platform}.{category}.{name}-{signature id}-{revision}
تختلف اصطلاحات التسمية في قواعد بيانات الطرف الثالث. يمكنك العثور على إرشادات Cisco-Talos لتسمية التوقيعات لقاعدة البيانات الرسمية هنا.
تلميح: إذا كنت ترغب في إنشاء توقيعات متعددة على الملفات الموجودة في الدليل الذي قمت بإنشائه مسبقا في حالتي التي أسميتها My VirusVault، يمكنك تشغيل الأمر باستخدام البطاقة المجهولة. في هذه الحالة كنت أدير دراجتي على النحو التالي:
C:\ClamAV>sigtool —md5 C:\ClamAV\VirusVault\wildcard\ > VirusRV.hdb
C:\ClamAV>sigtool --md5 C:\ClamAV\VirusVault\*\ > VirusRV.hdb
الذي قام بإنشاء توقيع مقابل كل ملف موجود في الدليل VirusVault
الخطوة 4: تحقق من التوقيع بتشغيل هذا الأمر.
C:\ClamAV>clamscan -d VirusRV.hdb C:\ClamAV\VirusVault\TestVirusRV.exe
للتحقق من كل التوقيعات، يمكنك مرة أخرى إستخدام قناع البطاقة.
C:\ClamAV>clamscan -d VirusRV.hdb C:\ClamAV\VirusVault\*\
الخطوة 5: افتح ملف *.hdb الذي تم إنشاؤه حديثا ثم انسخ التوقيع الذي تم إنشاؤه، ثم انتقل إلى وحدة تحكم نقطة النهاية الآمنة الخاصة بك تحت التحكم في التفشي > متقدم انقر فوق تحرير ويمكنك أن ترى إرتباط إضافة توقيع.
الخطوة 6: تأكد من النقر فوق إنشاء قاعدة بيانات من مجموعة التوقيع ثم تطبيق عمليات الكشف المخصصة الجديدة على النهج الخاص بك.
الخطوة 7: قم بمزامنة السياسة الخاصة بك في نقطة النهاية واختبار التوقيع الجديد باستخدام المسح اليدوي. يمكنك رؤية نتائج كتلك المدرجة أدناه.
المسح اليدوي
عمليات الكشف في وحدة تحكم نقطة النهاية الآمنة
تم توسيع الحدث
متطلبات حفظ التوقيع في وحدة تحكم نقطة النهاية الآمنة
إذا كانت لديك تجزئة MD5 فقط ولم تكن تعرف حجم الملف، لا يزال يمكنك إنشاء مجموعة توقيع ولكن يجب إستخدام القواعد التالية:
A: لا يمكن أن يحتوي MD5 على كافة الأحرف الكبيرة
تجزئة MD5 الصحيحة:
5b852928a129d63dc5c895bd62cf2ab7
تجزئة MD5 غير صحيحة:
5B852928A129D63DC5C895BD62CF2Ab7
خطأ في وحدة تحكم نقطة النهاية الآمنة مع جميع أحرف الحالة العليا
ب: يجب أن تستخدم الحرف العلوي للتسمية وقد يكون اسمك الخاص.
الاسم الصحيح:
dm-launcher.msi
اسم غير صحيح:
dm-launcher.msi
ج: يمكنك إستخدام البطاقة المجهولة بالحجم لكن يجب عليك إستخدام: 73 للحد الأدنى من FLEVEL
البطاقة البرية الصحيحة:
5b852928a129d63dc5c895bd62cf2ab7:*:dm-launcher.msi:73
البطاقة غير الصحيحة:
5b852928a129d63dc5c895bd62cf2ab7:*:dm-launcher.msi
حدث خطأ في وحدة تحكم نقطة النهاية الآمنة لجميع أسماء الحالات الأقل ولم يتم تحديد FLEVEL
ملاحظة: تجزئة التوقيعات غير معروفة الحجم - أضاف ClamAV 0.98 أيضا دعما لتوقيعات التجزئة حيث الحجم غير معروف ولكن التجزئة موجودة. من الأفضل بكثير إستخدام التوقيعات ذات الأحجام المحددة، لذا كن حذرا عند إستخدام هذه الميزة. بالنسبة لهذه الحالات، يمكن إستخدام حرف'h*' في حقل الحجم. ولضمان التوافق مع الإصدارات القديمة من ClmAV بشكل صحيح، يجب أن يكون مستوى أداء هذه التوقيعات 73 أو أعلى كحد أدنى. يتم رفض التوقيعات التي تستخدم حجم حرف البدل بدون مجموعة المستويات هذه كتكوين غير صحيح.