
सरल YARA-आधारित IOC स्कैनर
...एक सरल, स्व-निहित मॉड्यूलर होस्ट-आधारित IOC स्कैनर
Spyre एक सरल होस्ट-आधारित IOC स्कैनर है जो YARA पैटर्न मैचिंग इंजन और अन्य स्कैन मॉड्यूल के आसपास बनाया गया है। इस परियोजना का मुख्य लक्ष्य YARA नियमों और अन्य संक्रमण संकेतकों का आसान परिचालन है।
उपयोगकर्ताओं को अपने स्वयं के नियम सेट लाने की आवश्यकता है। awesome-yara रिपॉजिटरी मुफ्त yara नियम सेटों का एक अच्छा अवलोकन प्रदान करती है।
Spyre का उपयोग घटना प्रतिक्रिया करने वालों द्वारा एक जाँच उपकरण के रूप में किया जाना है। इसका एंडपॉइंट सुरक्षा सेवा के किसी भी प्रकार में विकसित होने का इरादा नहीं है।
Spyre का उपयोग करना आसान है:
YARA हस्ताक्षर जोड़ें। अपनी डिफ़ॉल्ट कॉन्फ़िगरेशन में, Spyre फ़ाइल और प्रक्रिया स्कैनिंग के लिए YARA नियमों को क्रमशः filescan.yar और procscan.yar से पढ़ेगा। Spyre को नियम फ़ाइलें प्रदान करने के लिए निम्नलिखित विकल्प मौजूद हैं (और इस क्रम में प्रयास किए जाएंगे):
spyre या spyre.exe कहा जाता है, तो spyre.zip का उपयोग करें।ZIP फ़ाइल सामग्री को पासवर्ड infected (AV उद्योग मानक) का उपयोग करके एन्क्रिप्ट किया जा सकता है ताकि एंटीवायरस सॉफ़्टवेयर नियमसेट को स्कैन करने, इसे दुर्भावनापूर्ण सामग्री के रूप में वर्गीकृत करने और स्कैन को रोकने से बचाया जा सके।
YARA नियम फ़ाइलों में include स्टेटमेंट हो सकते हैं।
तैनात करें, स्कैनर चलाएँ
रिपोर्ट और साक्ष्य एकत्र करें
रन-टाइम कॉन्फ़िगरेशन एक वैकल्पिक फ़ाइल spyre.yaml के माध्यम से किया जाता है।
यदि Spyre बाइनरी में एक ZIP फ़ाइल संलग्न की गई है, तो कॉन्फ़िगरेशन और YARA नियमों जैसी अन्य फ़ाइलें केवल इस ZIP फ़ाइल से पढ़ी जाती हैं। अन्यथा, वे उस निर्देशिका से पढ़ी जाती हैं जिसमें बाइनरी रखी गई है।
एक उदाहरण के लिए example-configuration/ उपनिर्देशिका देखें।
hostname / कमांड लाइन स्विच --set-hostname: उस होस्टनाम को स्पष्ट रूप से सेट करें जिसका उपयोग लॉग फ़ाइल और रिपोर्ट में किया जाएगा। यह आमतौर पर आवश्यक नहीं है।
max-file-size / कमांड लाइन स्विच --max-file-size: YARA जैसे महंगे फ़ाइल स्कैनिंग मॉड्यूल का उपयोग करके स्कैन की जाने वाली फ़ाइलों का अधिकतम आकार। डिफ़ॉल्ट: 32MB
proc-ignore-names / कमांड लाइन स्विच --proc-ignore: उन प्रक्रियाओं के नाम जिन्हें प्रक्रिया मेमोरी स्कैनिंग मॉड्यूल का उपयोग करके स्कैन नहीं किया जाएगा।
paths / कमांड लाइन स्विच --path: फ़ाइल स्कैनिंग मॉड्यूल का उपयोग करके स्कैन किए जाने वाले पथ। डिफ़ॉल्ट: / (Unix) या सभी निश्चित ड्राइव (Windows)।
report / कमांड लाइन स्विच --report: एक या अधिक रिपोर्ट लक्ष्य सेट करें। डिफ़ॉल्ट: वर्तमान कार्यशील निर्देशिका में spyre_${hostname}_${time}.log, सादे प्रारूप का उपयोग करते हुए। जोड़कर एक अलग आउटपुट प्रारूप निर्दिष्ट किया जा सकता है।
वर्तमान में तीन क्षेत्र हैं जिनके लिए स्कैनिंग मॉड्यूल लागू किए जा सकते हैं: सिस्टम-स्तरीय जाँच, फ़ाइल स्कैन और प्रक्रिया स्कैन।
नीचे वर्तमान में लागू मॉड्यूल और समर्थित कॉन्फ़िगरेशन पैरामीटर सूचीबद्ध हैं।
system
eventobj (Windows)
iocsregistry (Windows)
iocswinkernelobj (Windows)
iocsconficker, बूलियन: क्या गतिशील (होस्ट/प्रक्रिया आधारित) Conficker IOC को IOC सूची में जोड़ा जाना चाहिए? (डिफ़ॉल्ट: false)findwindow (Windows)
iocsfile
yara
rule-filesकृपया प्रत्येक मॉड्यूल के लिए संक्रमण संकेतकों का वर्णन करने के संकेतों के लिए उदाहरण कॉन्फ़िगरेशन फ़ाइल example-spyre.yaml देखें।
YARA डिफ़ॉल्ट सेटिंग्स के साथ कॉन्फ़िगर किया गया है, साथ ही निम्नलिखित स्पष्ट स्विच (देखें 3rdparty.mk):
--disable-magic--disable-cuckoo--enable-dotnet--enable-macho--enable-dexफ़ाइल स्कैन के लिए, निम्नलिखित चर परिभाषित हैं:
filename,filepath,extension,filetype (स्कैन करते समय वर्तमान में पॉप्युलेट नहीं किया गया)प्रक्रिया स्कैन के लिए, चर pid और executable परिभाषित हैं।
spyre_collect_limit मेटावेरिएबल का उपयोग मेल खाने वाली फ़ाइलों से एकत्र किए गए राइट्स की संख्या को सीमित करने या फ़ाइलों को पूरी तरह से एकत्र करने से रोकने के लिए किया जा सकता है। यह साक्ष्य पैकेजों के आकार को सीमित करने और संवेदनशील जानकारी एकत्र करने से बचने के लिए उपयोगी हो सकता है।
Spyre को 32-बिट और 64-बिट Linux और Windows लक्ष्यों के लिए बनाया जा सकता है।
Debian/buster सिस्टम (या chroot) पर जिसमें निम्नलिखित पैकेज स्थापित किए गए हैं:
GOROOT सेट न किया गया हो।यह उस बिल्ड वातावरण का वर्णन करता है जिसका नियमित रूप से CI के माध्यम से अभ्यास किया जाता है।
निम्नलिखित पैकेज स्थापित करके Fedora 30 पर भी यही बिल्ड सफलतापूर्वक आज़माया गया है:
एक बार सब कुछ स्थापित हो जाने के बाद, बस make टाइप करें। यह musl-libc, openssl, yara के लिए आर्काइव डाउनलोड करेगा, उन्हें बिल्ड करेगा और फिर spyre बिल्ड करेगा।
मूल spyre बाइनरी _build/<triplet>/ में बनाई जाती हैं।
make release चलाने से एक ZIP फ़ाइल बनती है जिसमें सभी समर्थित आर्किटेक्चर के लिए वे बाइनरी शामिल होती हैं।
इन सिस्टमों के साथ संगतता Go 1.11 के साथ हटा दी गई थी, इसलिए Go 1.10 टूलचेन आवश्यक है। चूँकि Go 1.10 Go मॉड्यूल का समर्थन नहीं करता है, तीसरे पक्ष की Go निर्भरताओं को वेंडर करना होगा: ऐसा करने के लिए एक नए Go संस्करण का उपयोग करें (बस go vendor चलाएँ) और make चलाने से पहले GOROOT को Go 1.10 टूलचेन पर इंगित करने के लिए सेट करें।
वर्तमान में, क्रॉस-कम्पाइलिंग समर्थित नहीं है।
सिस्टम-आपूर्ति make बहुत पुराना है क्योंकि Apple ने GPLv3 से एलर्जी होने का फैसला किया है। Homebrew से gmake ठीक काम करता है।
HACKING.md देखें
कॉपीराइट 2018-2020 DCSO Deutsche Cyber-Sicherheitsorganisation GmbH
कॉपीराइट 2020-2021 Spyre Project Authors (देखें: AUTHORS.txt)
यह प्रोग्राम मुफ्त सॉफ्टवेयर है: आप इसे पुनर्वितरित और/या संशोधित कर सकते हैं GNU लेसर जनरल पब्लिक लाइसेंस की शर्तों के तहत जैसा कि फ्री सॉफ्टवेयर फाउंडेशन द्वारा प्रकाशित किया गया है, लाइसेंस के संस्करण 3 या (आपकी पसंद पर) किसी भी बाद के संस्करण के तहत।
पूर्ण लाइसेंस पाठ के लिए LICENSE फ़ाइल देखें।
,format=FORMATनिम्नलिखित प्रारूप वर्तमान में समर्थित हैं:
plain, डिफ़ॉल्ट, एक सरल मानव-पठनीय पाठ प्रारूपtsjson, एक JSON दस्तावेज़ जिसे Timesketch में आयात किया जा सकता हैhostname और time चर केवल लक्ष्य फ़ाइल नाम में विस्तारित होते हैं।
नोट: रिपोर्ट लक्ष्यों का कॉन्फ़िगरेशन अगले रिलीज़ में से किसी एक में बदलने की संभावना है।
high-priority / कमांड लाइन स्विच --high-priority: अपनी डिफ़ॉल्ट कॉन्फ़िगरेशन में (इस सेटिंग को अक्षम करके), Spyre OS शेड्यूलर को CPU समय और I/O संचालन की प्राथमिकताएँ कम करने का निर्देश देता है, ताकि सामान्य सिस्टम संचालन में व्यवधान से बचा जा सके।
कमांड लाइन स्विच --loglevel=LEVEL: लॉग स्तर सेट करें। मान्य: trace, debug, info, notice, warn, error, quiet.
fail-on-warningsproc
yara
rule-filesfail-on-warnings