
AMIRA: الاستجابة الآلية لحوادث البرامج الضارة وتحليلها

AMIRA هي خدمة لتشغيل التحليل تلقائياً على ملفات مخرجات OSXCollector. يتم التحليل الآلي عبر مرشحات مخرجات OSXCollector، وبالتحديد المرشح الواحد لحكمهم جميعاً: مرشح التحليل. AMIRA تتولى استرجاع ملفات المخرجات من حاوية S3، وتشغيل مرشح التحليل ثم رفع نتائج التحليل مرة أخرى إلى S3 (على الرغم من أنه يمكن تصور إرفاقها بتذكرة JIRA ذات الصلة أيضاً).
تفترض الخطوات التالية أن لديك tox مثبتاً على جهازك.
إذا لم يكن الأمر كذلك، يرجى تشغيل:
$ sudo pip install tox
تستخدم AMIRA مرشحات مخرجات OSXCollector لإجراء التحليل الفعلي، لذا ستحتاج إلى وجود ملف تكوين osxcollector.yaml صالح في دليل العمل. يمكن العثور على ملف التكوين النموذجي في مرشحات مخرجات OSXCollector.
يذكر ملف التكوين موقع تجزئات الملفات والقوائم السوداء للنطاقات. تأكد من أن مواقع القوائم السوداء المذكورة في ملف التكوين متاحة أيضاً عند تشغيل AMIRA.
تستخدم AMIRA boto3 للتفاعل مع AWS. يمكنك توفير بيانات الاعتماد باستخدام أي من خيارات التكوين الممكنة.
يجب أن تسمح بيانات الاعتماد بقراءة وحذف رسائل SQS من قائمة انتظار SQS المحددة في تكوين AMIRA بالإضافة إلى الوصول للقراءة إلى الكائنات في حاوية S3 حيث يتم تخزين ملفات مخرجات OSXCollector. لتمكين رفع نتائج التحليل مرة أخرى إلى حاوية S3 المحددة في ملف تكوين AMIRA، يجب أن تسمح بيانات الاعتماد أيضاً بالوصول للكتابة إلى هذه الحاوية.
تستخدم الخدمة إشعارات أحداث حاوية S3 لتفعيل التحليل. ستحتاج إلى تكوين حاوية S3 لملفات مخرجات OSXCollector، بحيث عندما يتم إضافة ملف هناك يتم إرسال الإشعار إلى قائمة انتظار SQS (AmiraS3EventNotifications في الصورة أدناه). تقوم AMIRA بفحص قائمة الانتظار بشكل دوري بحثاً عن أي رسائل جديدة، وعند استلام واحدة ستجلب ملف مخرجات OSXCollector من حاوية S3. ثم ستقوم بتشغيل مرشح التحليل على الملف المسترجع.
يقوم مرشح التحليل بتشغيل جميع المرشحات الموجودة في حزمة مرشحات مخرجات OSXCollector بالتسلسل. بعضها يتواصل مع الموارد الخارجية، مثل القوائم السوداء (أو البيضاء) للنطاقات والتجزئات وواجهات برمجة تطبيقات استخبارات التهديدات، مثل VirusTotal وOpenDNS Investigate أو ShadowServer. يتم توسيع مخرجات OSXCollector الأصلية بكل هذه المعلومات، وأخر مرشح يتم تشغيله بواسطة مرشح التحليل يلخص جميع النتائج في شكل قابل للقراءة البشرية. بعد الانتهاء من تشغيل المرشح، سيتم رفع نتائج التحليل إلى حاوية نتائج التحليل في S3.
نظرة عامة على العملية بأكملها ومكونات النظام المشاركة فيها موضحة أدناه:

نقطة الدخول الرئيسية إلى AMIRA هي في الوحدة amira/amira.py.
ستحتاج أولاً إلى إنشاء نسخة من فئة AMIRA من خلال توفير اسم منطقة AWS، حيث توجد قائمة انتظار SQS التي تحتوي على إشعارات الأحداث لحاوية مخرجات OSXCollector، واسم قائمة انتظار SQS:
from amira.amira import AMIRA
amira = AMIRA('us-west-1', 'AmiraS3EventNotifications')
ثم يمكنك تسجيل رافع نتائج التحليل، على سبيل المثال رافع نتائج S3:
from amira.s3 import S3ResultsUploader
s3_results_uploader = S3ResultsUploader('amira-results-bucket')
amira.register_results_uploader(s3_results_uploader)
أخيراً، قم بتشغيل AMIRA:
amira.run()
اذهب واحضر بعض القهوة، استرخ وانتظر حتى تظهر نتائج التحليل في حاوية S3!