
IP प्रतिष्ठा और ऐतिहासिक डेटा के आधार पर खतरों और दुर्भावनापूर्ण वेब ट्रैफिक की पहचान करने के लिए एक उन्नत रीयल-टाइम खतरा खुफिया ढांचा।

ARTIF एक नया उन्नत रीयल-टाइम खतरा बुद्धिमत्ता ढाँचा (फ्रेमवर्क) है जो MISP के ऊपर एक और एब्स्ट्रैक्शन लेयर जोड़ता है ताकि IP प्रतिष्ठा और ऐतिहासिक डेटा के आधार पर खतरों और दुर्भावनापूर्ण वेब ट्रैफ़िक की पहचान की जा सके। यह विभिन्न कारकों के आधार पर ऑब्जर्वेबल्स को एकत्रित, संसाधित और सहसंबंधित करके स्वचालित समृद्धिकरण (एनरिचमेंट) और खतरा स्कोरिंग भी करता है।
ARTIF की प्रमुख विशेषताओं में शामिल हैं:-
कुछ उपयोग के मामले:-
ARTIF का उपयोग क्यों करें? यह एक रीयल-टाइम थ्रेट इंटेलिजेंस फ्रेमवर्क है जो MISP में मौजूद न होने पर भी दुर्भावनापूर्ण IP की पहचान करने में मदद कर सकता है। इससे संगठनों को अपने सर्वर तक पहुँचने वाले दुर्भावनापूर्ण वेब ट्रैफ़िक पर पारदर्शिता प्रदान करके रक्षा की पहली परत स्थापित करने में मदद मिलती है।
MISP से लिया गया: MISP एक ओपन सोर्स सॉफ़्टवेयर समाधान है जो साइबर सुरक्षा घटना विश्लेषण और मैलवेयर विश्लेषण के बारे में साइबर सुरक्षा संकेतकों और खतरों को एकत्र करने, संग्रहीत करने, वितरित करने और साझा करने के लिए है। MISP को घटना विश्लेषकों, सुरक्षा और ICT पेशेवरों या मैलवेयर रिवर्सर्स द्वारा उनके दैनिक कार्यों का समर्थन करने के लिए डिज़ाइन किया गया है ताकि वे संरचित जानकारी को कुशलतापूर्वक साझा कर सकें।
MISP को स्रोत कोड या उनकी पूर्व-निर्मित AWS छवियों का उपयोग करके स्थापित किया जा सकता है। MISP स्थापना के बारे में अधिक जानकारी उनकी वेबसाइट पर मिल सकती है।
maxmind:
image: maxmindinc/geoipupdate
environment:
GEOIPUPDATE_ACCOUNT_ID: xxxxx
GEOIPUPDATE_LICENSE_KEY: xxxxxxxxxxxxxx
git clone https://github.com/CRED-CLUB/ARTIF/
sudo docker-compose build
sudo docker-compose up
आपके संदर्भ के लिए नीचे एक config example.yaml दिया गया है। बस संबंधित मानों को अपने मानों से बदलें।
credentials:
MISP_URL: "https://127.0.0.1"
MISP_KEY: "qwertyuiopasdfghjk"
python3 /home/user/ARTIF/ip_rep/feed_ingestor/update_check.py -s
python3 /home/user/ARTIF/ip_rep/feed_ingestor/update_check.py
python3 manage.py crontab add
python3 manage.py runserver
इससे पोर्ट 8000 खुलेगा जिसका उपयोग IP पतों के लिए मेटाडेटा प्राप्त करने के लिए किया जा सकता है। अब आप किसी विशिष्ट IP के लिए खतरा स्कोर प्राप्त करने का प्रयास कर सकते हैं।
curl 127.0.0.1:8000/ip/?ip=x.x.x.x
आउटपुट होगा
{"is_IoC": false, "is_Active": false, "metadata": {"asn": "AS165**", "country": "XXX", "org": "XXX"}, "score": 80.14671726301682, "description": "XXX", "blacklists": "", "type": "", "historical":false, verdict": "No action needed"}
स्कोर IP के लिए कम जोखिम दर्शाता है क्योंकि खतरा स्कोर अधिक है। स्कोर जितना अधिक होगा, IP उतना ही कम दुर्भावनापूर्ण होगा।
नोट: ARTIF स्थापना के लिए 8GB RAM वाले इंस्टेंस की अनुशंसा की जाती है।
डॉकर कंटेनर सेट करना

ARTIF शुरू करना

ARTIF MISP के साथ सिंक्रनाइज़ेशन का समर्थन करता है। यह MISP फीड्स को सिंक करता है, settings.yaml से सबसे नवीनतम कॉन्फ़िगरेशन चुनता है और MISP से संशोधित सभी नई घटनाएँ settings.yaml में दिखाई देती हैं। नया IP जोड़ने के लिए, बस MISP में लॉग इन करें और add feed पेज पर क्लिक करें। एक बार IP जुड़ जाने के बाद, क्रॉनजॉब अपने शेड्यूल के अनुसार इसे उठाएगा और स्वचालित रूप से संसाधित किया जाएगा।
ARTIF एक थ्रेट फ्रेमवर्क होने के नाते, संगठन के ट्रैफ़िक में दृश्यता के लिए अत्यधिक उपयोगी है। यह पूरी तरह से पायथन में लिखा गया है और विभिन्न फीड्स से IP पर खुफिया जानकारी एकत्र करता है। फिर यह इस डेटा को एक सहसंबंध इंजन (correlation engine) को भेजता है जो एक खतरा स्कोर उत्पन्न करता है जहाँ खतरा स्कोर गणना के लिए ऐतिहासिक डेटा भी एक कारक है।
हर बार जब कोई नया IP सेवा पर आता है, तो एक celery कार्यकर्ता को डेटाबेस में उसका स्कोर अपडेट करने का कार्य सौंपा जाता है, जो सहसंबंध इंजन के साथ समन्वय करता है, जो बदले में कई स्रोतों से डेटा एकत्र करता है। डेटा को बासी न होने देने के लिए (डिफ़ॉल्ट 'stale time' मान 24 घंटे है), हम डेटाबेस में प्रत्येक IP के लिए एक कार्यकर्ता चलाते हैं जिसे पिछले 'stale time' के लिए अपडेट नहीं किया गया है। अन्य सभी मापदंडों की तरह यह मान भी कॉन्फ़िगर करने योग्य है। चूँकि खतरा स्कोर गणना इस सब की कुंजी है, हमने इस पर बहुत जोर दिया है। प्रसिद्ध थ्रेट फीड्स जैसे MISP, Cortex, Alien Vault, VirusTotal, और लोकप्रिय IP ब्लैकलिस्ट के अलावा, हम व्यावसायिक और सुरक्षा उपयोग के मामले के अनुसार कस्टम फीड्स भी जोड़ सकते हैं, जहाँ ग्राहक निष्ठा का उपयोग खतरा स्कोर गणना के लिए एक पैरामीटर के रूप में भी किया जा सकता है।
कॉन्फ़िगरेशन में आसानी के लिए, ARTIF को चलाने के लिए निम्नलिखित इनपुट की आवश्यकता है:
चलने पर, डेटा संसाधित होता है और MongoDB कंटेनर पर संग्रहीत होता है। MongoDB कंटेनर में 3 महत्वपूर्ण डेटाबेस होते हैं जो फीड में IP के साथ-साथ उसके मेटाडेटा जैसे देश/ASN, Org आदि के बारे में जानकारी संग्रहीत करते हैं। यदि IP डेटाबेस में नहीं मिलता है, तो इसका मतलब है कि यह एक नया IP है जो सर्वर तक पहुँच रहा है और जिसकी जानकारी MISP में मौजूद नहीं है। फिर हम एक एल्गोरिदम और विभिन्न अन्य मापदंडों जैसे जियोलोकेशन, ASN और Org का उपयोग करके विशेष IP के लिए जोखिम स्कोर की गणना करते हैं। स्कोरिंग इंजन के बारे में अधिक जानकारी यहाँ पाई जा सकती है।
ARTIF में पुरानी फीड्स पर नज़र रखने की अतिरिक्त कार्यक्षमता है। डिफ़ॉल्ट कॉन्फ़िगरेशन हर 24 घंटे में नवीनतम फीड्स को फिर से भर देता है। 24 घंटे के बाद पुरानी फीड को दूसरे कलेक्शन में स्थानांतरित कर दिया जाता है और नवीनतम जोड़ दी जाती हैं। संचालन में आसानी के लिए, हमने आउटपुट में "historical" नामक एक फ़ील्ड जोड़ा है जो बताता है कि IP ऐतिहासिक रूप से खराब था या नहीं। गलत (false) मान इंगित करता है कि IP हाल ही में फीड्स में जोड़ा गया है, जबकि सही (True) मान बताता है कि IP पहले से पुरानी फीड्स में मौजूद था और इसलिए यह ऐतिहासिक रूप से दुर्भावनापूर्ण IP है।
सभी ऐतिहासिक IP को डिफ़ॉल्ट रूप से 7 दिनों के बाद डेटाबेस से हटा दिया जाएगा।

आपको update_check.py का उपयोग करके ARTIF को आमंत्रित करना होगा, जो ARTIF की रीढ़ है।
ubuntu@localhost:~/ARTIF/ip_rep/feed_ingestor$ python3 /home/user/ARTIF/ip_rep/feed_ingestor/update_check.py -h
usage: update_check.py [-h] [-s [S]] -k [KEY] -m MISP
IP reputation program
optional arguments:
-h, --help show this help message and exit
-s [S] Required only for the first run
नीचे दिए गए कमांड को चलाकर आप क्रॉन जॉब भी देख सकते हैं -
python3 manage.py crontab show
यह फीड को ऑटो-अपडेट करेगा। डिफ़ॉल्ट रूप से हर 24 घंटे में यह नवीनतम फीड के लिए MISP की जाँच करेगा और फीड्स से नए IP के साथ DB को फिर से भरेगा। 7 दिन से पुराने IP को शेड्यूलर द्वारा हटा दिया जाता है।
आप इसे सुरक्षित रूप से अनदेखा कर सकते हैं क्योंकि ऐसा तब होता है जब टैग पहले से मौजूद होता है और हम इसे जोड़ने का प्रयास कर रहे होते हैं। उस स्थिति में, यह ऊपर दी गई त्रुटि देगा, और इसलिए टैग को हटाया नहीं जा सकता। MISP के पास उन अपवादों को पकड़ने का कोई तरीका नहीं है, इसलिए हमें इस तरीके पर निर्भर रहना होगा।
इसमें वास्तव में समय लगता है कभी-कभी 30 मिनट से 90 मिनट तक, आपकी इंटरनेट स्पीड और RAM पर निर्भर करता है। यह मूल रूप से सभी फीड्स को MongoDB में डाउनलोड कर रहा है और उन्हें संसाधित कर रहा है, इसलिए इसमें समय लगेगा और यह एक बार का प्रयास भी है।
समाधान: ऐसे मामलों में, update_check.py फ़ाइल को -s तर्क के बिना चलाएँ। यह फीड से सभी IP डाउनलोड करेगा। यह त्रुटि आम तौर पर तब होती है जब आप update_check.py के निष्पादन को उसके प्रारंभिक चरण के दौरान अचानक बाधित करते हैं।
योगदान का हमेशा स्वागत है!
आरंभ करने के तरीकों के लिए contributing.md देखें। कृपया इस प्रोजेक्ट के code of conduct का पालन करें।
टीम से संवाद करने का सबसे आसान तरीका GitHub Issues के माध्यम से है।
कृपया नए मुद्दे, फीचर अनुरोध और सुझाव दर्ज करें, लेकिन नया मुद्दा बनाने से पहले समान खुले/बंद पूर्व-मौजूदा मुद्दों की खोज करें।