
AMIRA: स्वचालित मैलवेयर घटना प्रतिक्रिया & विश्लेषण

AMIRA एक सेवा है जो OSXCollector आउटपुट फ़ाइलों पर स्वचालित रूप से विश्लेषण चलाने के लिए है। स्वचालित विश्लेषण OSXCollector Output Filters के माध्यम से किया जाता है, विशेष रूप से एक फ़िल्टर जो सब पर राज करे: Analyze Filter। AMIRA S3 बकेट से आउटपुट फ़ाइलों को प्राप्त करने, Analyze Filter चलाने और फिर विश्लेषण के परिणामों को वापस S3 पर अपलोड करने का ध्यान रखता है (हालाँकि कोई यह भी कल्पना कर सकता है कि उन्हें संबंधित JIRA टिकट से जोड़ा जाए)।
निम्नलिखित चरण मानते हैं कि आपकी मशीन पर tox स्थापित है।
यदि ऐसा नहीं है, तो कृपया चलाएँ:
$ sudo pip install tox
AMIRA वास्तविक विश्लेषण करने के लिए OSXCollector Output Filters का उपयोग करता है, इसलिए आपको कार्यशील निर्देशिका में एक मान्य osxcollector.yaml कॉन्फ़िगरेशन फ़ाइल की आवश्यकता होगी। उदाहरण कॉन्फ़िगरेशन फ़ाइल OSXCollector Output Filters में पाई जा सकती है।
कॉन्फ़िगरेशन फ़ाइल में फ़ाइल हैश और डोमेन ब्लैकलिस्ट के स्थान का उल्लेख है। सुनिश्चित करें कि कॉन्फ़िगरेशन फ़ाइल में उल्लिखित ब्लैकलिस्ट स्थान AMIRA चलाते समय भी उपलब्ध हों।
AMIRA AWS के साथ इंटरफ़ेस करने के लिए boto3 का उपयोग करता है। आप संभावित कॉन्फ़िगरेशन विकल्पों में से किसी एक का उपयोग करके क्रेडेंशियल प्रदान कर सकते हैं।
क्रेडेंशियल्स को AMIRA कॉन्फ़िग में निर्दिष्ट SQS कतार से SQS संदेशों को पढ़ने और हटाने की अनुमति देनी चाहिए, साथ ही उस S3 बकेट में ऑब्जेक्ट्स तक पढ़ने की पहुँच होनी चाहिए जहाँ OSXCollector आउटपुट फ़ाइलें संग्रहीत हैं। विश्लेषण परिणामों को वापस AMIRA कॉन्फ़िगरेशन फ़ाइल में निर्दिष्ट S3 बकेट में अपलोड करने में सक्षम होने के लिए, क्रेडेंशियल्स को इस बकेट में लिखने की पहुँच भी देनी चाहिए।
सेवा विश्लेषण को ट्रिगर करने के लिए S3 बकेट ईवेंट अधिसूचनाओं का उपयोग करती है। आपको OSXCollector आउटपुट फ़ाइलों के लिए एक S3 बकेट कॉन्फ़िगर करने की आवश्यकता होगी, ताकि जब वहाँ कोई फ़ाइल जोड़ी जाए तो अधिसूचना एक SQS कतार को भेजी जाए (नीचे चित्र में AmiraS3EventNotifications)। AMIRA समय-समय पर किसी भी नए संदेश के लिए कतार की जाँच करता है और एक प्राप्त करने पर वह S3 बकेट से OSXCollector आउटपुट फ़ाइल लाएगा। फिर वह प्राप्त फ़ाइल पर Analyze Filter चलाएगा।
Analyze Filter OSXCollector Output Filters पैकेज में निहित सभी फ़िल्टर को क्रमिक रूप से चलाता है। उनमें से कुछ बाहरी संसाधनों के साथ संचार करते हैं, जैसे डोमेन और हैश ब्लैकलिस्ट (या व्हाइटलिस्ट) और थ्रेट इंटेल API, जैसे VirusTotal, OpenDNS Investigate या ShadowServer। मूल OSXCollector आउटपुट इस सारी जानकारी के साथ विस्तारित किया जाता है और Analyze Filter द्वारा चलाया गया अंतिम फ़िल्टर सभी निष्कर्षों को मानव-पठनीय रूप में संक्षेपित करता है। फ़िल्टर चलना समाप्त करने के बाद, विश्लेषण के परिणाम विश्लेषण परिणाम S3 बकेट में अपलोड किए जाएँगे।
पूरी प्रक्रिया और इसमें शामिल सिस्टम घटकों का अवलोकन नीचे दर्शाया गया है:

AMIRA का मुख्य प्रवेश बिंदु amira/amira.py मॉड्यूल में है। आपको पहले AWS क्षेत्र का नाम प्रदान करके AMIRA वर्ग का एक इंस्टेंस बनाना होगा, जहाँ OSXCollector आउटपुट बकेट के लिए ईवेंट अधिसूचनाओं वाली SQS कतार है, और 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 बकेट में दिखाई न दें!