
YARA नियमों से छद्म-दुर्भावनापूर्ण फ़ाइलें उत्पन्न करता है ताकि AV/EDR का पता लगाने को ट्रिगर किया जा सके, जिससे वास्तविक मैलवेयर नमूनों के बिना मैलवेयर अनुसंधान, नियम QA और नेटवर्क सेंसर दबाव परीक्षण संभव हो सके।
आर्या एक अनोखा उपकरण है जो YARA नियमों को ट्रिगर करने के लिए छद्म-दुर्भावनापूर्ण फ़ाइलें बनाता है। आप इसे एक रिवर्स YARA की तरह सोच सकते हैं क्योंकि यह बिल्कुल उल्टा करता है – यह आपके नियमों से मेल खाने वाली फ़ाइलें बनाता है।
आप आर्या और यह कैसे काम करता है, इसके बारे में हमारे ब्लॉग में अधिक पढ़ सकते हैं।

YARA नियम सुरक्षा शोधकर्ताओं के लिए एक आवश्यक उपकरण हैं जो उन्हें मैलवेयर नमूनों की पहचान और वर्गीकरण करने में मदद करते हैं। वे मैलवेयर कोड के भीतर पैटर्न और स्ट्रिंग्स का वर्णन करके ऐसा करते हैं जो किसी विश्लेषक को ज्ञात या नए खतरों की पहचान करने में मदद कर सकते हैं। YARA नियम अक्सर वाणिज्यिक पहचान उपकरणों में भी एकीकृत होते हैं, या एंटरप्राइज़ नेटवर्क पर दुर्व्यवहार करने वाले बाइनरी का पता लगाने के लिए आंतरिक रूप से उपयोग किए जाते हैं।
लेकिन क्या होगा अगर हमारे पास वह दुर्भावनापूर्ण फ़ाइल नहीं है जिसके लिए हम नियम लिख रहे हैं? क्या होगा अगर हम YARA को इनपुट के रूप में लेते हुए "मैलवेयर" फ़ाइल बनाना चाहते हैं? यही कारण है कि हमने आर्या विकसित किया। आर्या का उपयोग कस्टम-निर्मित, छद्म-मैलवेयर फ़ाइलें उत्पन्न करने के लिए किया जा सकता है ताकि पुराने EICAR परीक्षण फ़ाइल की तरह एंटीवायरस (AV) और एंडपॉइंट डिटेक्शन एंड रिस्पॉन्स (EDR) टूल को ट्रिगर किया जा सके। हमारे टूल के कई उपयोग के मामले हैं, जिनमें मैलवेयर अनुसंधान, YARA नियम QA परीक्षण, और YARA नियमों से निर्मित कोड नमूनों के साथ नेटवर्क का दबाव परीक्षण शामिल है।

आर्या अपनी तरह का पहला उपकरण है; यह YARA नियमों को ट्रिगर करने के लिए छद्म-दुर्भावनापूर्ण फ़ाइलें बनाता है। यह उपकरण दिए गए YARA (.yar प्रत्यय) फ़ाइलों को पढ़ता है, Avast के yaramod पैकेज का उपयोग करके उनके सिंटैक्स को पार्स करता है—इस शोध में उपयोग किया गया YARA पार्सिंग इंजन—और एक छद्म "मैलवेयर" फ़ाइल बनाता है। इनपुट नियमों को ट्रिगर करने के लिए YARA नियमों से वांछित बाइट्स को सावधानीपूर्वक रखता है।
उपकरण का लक्ष्य एक अनुकूलित छद्म-दुर्भावनापूर्ण फ़ाइल उत्पन्न करना है जिसे AV या EDR जैसे पहचान सेंसर इनपुट YARA नियम का पता लगाने के लिए बनाई गई मैलवेयर फ़ाइल के रूप में पहचानेंगे। इस लक्ष्य को प्राप्त करने के लिए हम न केवल इनपुट YARA नियमों से आवश्यक सिग्नेचर, स्ट्रिंग्स और बाइट्स जोड़ रहे हैं, बल्कि कुछ "स्पर्श" भी जोड़ रहे हैं जैसे वास्तविक PE हेडर, आउटफ़ाइल एंट्रॉपी बढ़ाना, x86 बाइटकोड जोड़ना, और फ़ंक्शन प्रोलॉग/एपिलॉग असेंबली कोड। यह सब AV/EDR ट्रिगरिंग प्रक्रिया में मदद करता है, और उनके द्वारा किए जाने वाले कुछ ह्युरिस्टिक जाँचों को बायपास करता है।

YARA फ़ाइलें (.yar एक्सटेंशन) टेक्स्ट फ़ाइलें होती हैं जिनमें एक या अधिक YARA नियम होते हैं। इस प्रोजेक्ट में, हमने yaramod का उपयोग YARA नियमों को Python ऑब्जेक्ट्स द्वारा प्रस्तुत नियमों की सूची में बदलने के लिए किया, जिसका उपयोग किसी नियम की आंतरिक सामग्री, जैसे स्ट्रिंग्स, प्रकार, स्थितियाँ, और अधिक तक पहुँचने के लिए किया जा सकता है। Yaramod YARA नियमों को AST, या Abstract Syntax Tree में पार्स करता है।
अमूर्त सिंटैक्स ट्री का ट्रावर्सल Observer और Visitor डिज़ाइन पैटर्न के संयोजन का उपयोग करके किया जाता है। प्रत्येक नोड के लिए जिससे कोड गुज़रता है, यह निर्धारित करता है कि उसे किन बाइट्स और स्ट्रिंग्स को रखने की आवश्यकता है, और कहाँ, ताकि उस सबट्री की स्थिति को ट्रिगर किया जा सके जिसे वह पार करता है। परिणामस्वरूप, यह ट्री स्ट्रिंग्स और संभावित ऑफसेट का मैपिंग उत्पन्न करेगा; यह फ़ाइल में उनमें से कुछ को आरक्षित भी कर सकता है, जो आगे की प्रक्रिया के लिए प्लेसर मैकेनिज़्म को पास किया जाएगा।
शोधकर्ता YARA नियमों को बिल्डिंग ब्लॉक्स के रूप में उपयोग करके छद्म-दुर्भावनापूर्ण फ़ाइलें उत्पन्न करने के लिए आर्या का उपयोग कर सकते हैं। इन फ़ाइलों का उपयोग ऐसी फ़ाइलें बनाने के लिए किया जा सकता है जिन्हें विशिष्ट मैलवेयर के रूप में पहचाना जाएगा। उदाहरण के लिए, यदि आपके पास Zeus मैलवेयर का नमूना नहीं है, लेकिन आप जाँचना चाहते हैं कि आपका AV इस पर कैसे प्रतिक्रिया करता है? कोई समस्या नहीं, Zeus YARA नियमों को आर्या में लोड करें और अपना स्वयं का "Zeus" जैसा छद्म-मैलवेयर उत्पन्न करें जिसे AV/EDR उपकरण Zeus के रूप में पहचानेंगे।
आर्या का उपयोग घटना प्रतिक्रिया प्रशिक्षण के भाग के रूप में भी किया जा सकता है—पर्पल-टीमिंग के समान—जहाँ नेटवर्क पर छद्म-दुर्भावनापूर्ण फ़ाइलें भेजी जा सकती हैं ताकि नेटवर्क में सेंसर और डिटेक्टरों का दबाव परीक्षण किया जा सके।
समर्थित
अगले अपडेट के लिए योजना बनाई गई
sudo apt update
sudo apt install yara cmake
git clone https://github.com/claroty/arya
cd arya
pip3 install -r requirements.txt
निम्नलिखित आर्ग्स को ध्यान में रखते हुए आर्या चलाएँ:
-i [INPUT_DIRECTORY] या [INPUT_FILE]-o [OUTPUT_FILE_NAME]--header - फ़ाइल की शुरुआत में conficker के पहले 2048 बाइट जोड़ता है।-r - [INPUT_DIRECTORY] के अंतर्गत सभी फ़ाइलों पर पुनरावर्ती रूप से चलाएँ।-m [MALWARE_FILE] - फ़ाइल [INPUT_DIRECTORY] को आउटपुट के आधार के रूप में उपयोग करें।python3 src/arya.py -i example_rules/ -o MalwareAryaDefault.exe