
माइक्रोसॉफ्ट खतरा खुफिया सुरक्षा उपकरण
Microsoft Threat Intelligence Python सुरक्षा उपकरण.
msticpy Jupyter Notebooks में InfoSec जांच और शिकार के लिए एक लाइब्रेरी है। इसमें निम्नलिखित कार्यक्षमताएँ शामिल हैं:
इसमें कुछ समय बचाने वाले नोटबुक टूल भी शामिल हैं जैसे क्वेरी समय सीमा निर्धारित करने, सूचियों से आइटम चुनने और प्रदर्शित करने, और नोटबुक वातावरण को कॉन्फ़िगर करने के लिए विजेट।

msticpy पैकेज शुरू में Microsoft Sentinel के लिए Jupyter Notebooks लेखन का समर्थन करने के लिए विकसित किया गया था। जबकि Azure Sentinel अभी भी हमारे काम का एक बड़ा फोकस है, हम लॉग डेटा को अन्य स्रोतों (वर्तमान में Splunk, Microsoft Defender for Endpoint और Microsoft Graph समर्थित हैं, लेकिन हम अन्य SIEM प्लेटफॉर्म से डेटा के समर्थन पर सक्रिय रूप से काम कर रहे हैं) से खींचने के लिए डेटा क्वेरी/अधिग्रहण घटकों का विस्तार कर रहे हैं। अधिकांश घटकों का उपयोग किसी भी स्रोत के डेटा के साथ भी किया जा सकता है। Pandas DataFrame का उपयोग लगभग सभी घटकों के सर्वव्यापी इनपुट और आउटपुट प्रारूप के रूप में किया जाता है। स्थानीय CSV फ़ाइलों और pickled DataFrames से डेटा को आसानी से संसाधित करने के लिए एक डेटा प्रदाता भी है।
पैकेज सुरक्षा अन्वेषकों और शिकारियों की तीन केंद्रीय आवश्यकताओं को संबोधित करता है:
हम प्रतिक्रिया, बग रिपोर्ट, नई सुविधाओं के सुझाव और योगदान का स्वागत करते हैं।
मुख्य इंस्टॉल के लिए:
pip install msticpy
या नवीनतम डेव बिल्ड के लिए
pip install git+https://github.com/microsoft/msticpy
msticpy को नवीनतम सार्वजनिक गैर-बीटा रिलीज़ में अपग्रेड करने के लिए, चलाएँ:
pip install --upgrade msticpy
ध्यान दें कि अपने msticpyconfig.yaml को कॉपी करके अपनी डिस्क पर लेकिन अपने msticpy फ़ोल्डर के बाहर स्टोर करना, और इसे एक एनवायरनमेंट वेरिएबल में संदर्भित करना अच्छा अभ्यास है। यह आपको हर बार अपने msticpy इंस्टॉलेशन को अपडेट करने पर अपने कॉन्फ़िगरेशन को खोने से बचाता है।
पूर्ण दस्तावेज़ीकरण ReadTheDocs पर है
कई मॉड्यूल के नमूना नोटबुक docs/notebooks फ़ोल्डर और संलग्न नोटबुक में हैं।
आप संदर्भ में उपयोग की गई कुछ कार्यक्षमता देखने के लिए इस दस्तावेज़ के अंत में संदर्भित नमूना नोटबुक ब्राउज़ भी कर सकते हैं। आप mybinder.org पर इस इंटरैक्टिव डेमो में पैकेज के कुछ फंक्शन के साथ खेल सकते हैं।
QueryProvider एक एक्सटेंसिबल क्वेरी लाइब्रेरी है जो Microsoft Sentinel/Log Analytics, Microsoft XDR, Splunk, OData और अन्य लॉग डेटा स्रोतों को लक्षित करती है। इसका Mordor डेटा सेट और स्थानीय डेटा का उपयोग करने के लिए विशेष समर्थन भी है।
अंतर्निहित पैरामीटरयुक्त क्वेरी एकल फ़ंक्शन कॉल से जटिल क्वेरी चलाने की अनुमति देती हैं। एक सरल YAML स्कीमा का उपयोग करके अपनी स्वयं की क्वेरी जोड़ें।
TILookup क्लास कई TI प्रदाताओं में IoCs देख सकता है। अंतर्निर्मित प्रदाताओं में AlienVault OTX, IBM XForce, VirusTotal और Azure Sentinel शामिल हैं।
इनपुट एक एकल IoC ऑब्ज़र्वेबल या कई ऑब्ज़र्वेबल वाला pandas DataFrame हो सकता है। प्रदाता के आधार पर, आपको एक खाते और API कुंजी की आवश्यकता हो सकती है। कुछ प्रदाता थ्रॉटलिंग (विशेषकर मुफ्त स्तरों के लिए) भी लागू करते हैं, जो बल्क लुकअप करने को प्रभावित कर सकता है।
TIProviders और TILookup Usage Notebook
GeoIP लुकअप वर्ग आपको निम्नलिखित का उपयोग करके IP पतों के जियोलोकेशन मिलान करने की अनुमति देते हैं:

GeoIP Lookup और GeoIP Notebook
AzureData मॉड्यूल में Azure API के माध्यम से उजागर अतिरिक्त होस्ट विवरण के साथ Azure होस्ट विवरणों से संबंधित डेटा को समृद्ध करने की कार्यक्षमता है। AzureSentinel मॉड्यूल आपको घटनाओं (incidents) को क्वेरी करने, डिटेक्टर और शिकार (hunting) क्वेरी प्राप्त करने की अनुमति देता है। AzureBlogStorage आपको ब्लब स्टोरेज से डेटा पढ़ने और लिखने देता है।
Azure Resource APIs, Azure Sentinel APIs, Azure Storage
इस उपपैकेज में सुरक्षा जांच और शिकार पर काम करने के लिए उपयोगी कई मॉड्यूल हैं:
अपने Office, Active Directory या अन्य लॉग डेटा में घटनाओं के असामान्य अनुक्रम का पता लगाएं। आप सत्र (जैसे एक ही खाते द्वारा शुरू की गई गतिविधि) निकाल सकते हैं और गतिविधि के असामान्य अनुक्रम की पहचान और कल्पना कर सकते हैं। उदाहरण के लिए, किसी के मेलबॉक्स पर मेल अग्रेषण नियम सेट करने वाले हमलावर का पता लगाना।
Anomalous Sessions और Anomalous Sequence Notebook
समय श्रृंखला विश्लेषण आपको सामान्य मौसमी विविधताओं (जैसे दिन के घंटों, सप्ताह के दिनों आदि पर घटनाओं का नियमित उतार-चढ़ाव) को ध्यान में रखते हुए अपने लॉग डेटा में असामान्य पैटर्न की पहचान करने की अनुमति देता है। विश्लेषण और विज़ुअलाइज़ेशन दोनों का उपयोग करके किसी भी डेटा सेट के लिए असामान्य ट्रैफ़िक प्रवाह या घटना गतिविधि को उजागर करता है।

किसी भी लॉग ईवेंट को इंटरैक्टिव टाइमलाइन पर प्रदर्शित करें। Bokeh Visualization Library का उपयोग करके टाइमलाइन नियंत्रण आपको एक या अधिक ईवेंट स्ट्रीम की कल्पना करने, विशिष्ट समय स्लॉट में इंटरैक्टिव रूप से ज़ूम करने और प्लॉट किए गए ईवेंट के लिए ईवेंट विवरण देखने में सक्षम बनाता है।

प्रोसेस ट्री कार्यक्षमता के दो मुख्य घटक हैं:
संसाधित डेटा सेट से व्यक्तिगत और आंशिक ट्री निकालने के लिए उपयोगिता फ़ंक्शन का एक सेट है।

Process Tree और Process Tree Notebook
आपको MSTICPy कार्यक्षमता का उपयोग "एंटिटी-सेंट्रिक" तरीके से करने देता है। एक विशेष एंटिटी प्रकार (जैसे Host, IpAddress, Url) से संबंधित सभी फ़ंक्शन, क्वेरी और लुकअप उस एंटिटी क्लास के तरीकों के रूप में एक साथ एकत्र किए जाते हैं। इसलिए, यदि आप IP पते के साथ कुछ करना चाहते हैं, तो बस IpAddress एंटिटी लोड करें और इसके तरीकों को ब्राउज़ करें।
Pivot Functions और Pivot Functions Notebook
Base64 और आर्काइव (gz, zip, tar) निकालने वाला। यह किसी भी base64 एन्कोडेड स्ट्रिंग की पहचान करने और उन्हें डीकोड करने का प्रयास करेगा। यदि परिणाम समर्थित आर्काइव प्रकारों में से एक जैसा दिखता है तो यह सामग्री को अनपैक करेगा। प्रत्येक डीकोड/अनपैक के परिणामों को आगे base64 सामग्री के लिए और एक निर्दिष्ट गहराई तक पुनः जांचा जाता है।
Base64 Decoding और Base64Unpack Notebook
समझौता संकेतक (IoC) पैटर्न - IP पते, URLs, DNS डोमेन, हैश, फ़ाइल पथ खोजने के लिए रेगुलर एक्सप्रेशन का उपयोग करता है। इनपुट एक एकल स्ट्रिंग या pandas डेटाफ्रेम हो सकता है।
IoC Extraction और IoCExtract Notebook
यह मॉड्यूल बड़ी संख्या में घटनाओं को विभिन्न पैटर्न के क्लस्टर में सारांशित करने के लिए उपयोग किया जाना है। उच्च मात्रा में दोहराई जाने वाली घटनाएं अक्सर अद्वितीय और रोचक वस्तुओं को देखना कठिन बना सकती हैं।

यह SciKit Learn DBScan का उपयोग करके कार्यान्वित एक अप्रशिक्षित शिक्षण मॉड्यूल है।
Event Clustering और Event Clustering Notebook
Linux ऑडिट लॉग लोड और डीकोड करने के लिए मॉड्यूल। यह समान संदेश ID साझा करने वाले संदेशों को एकल घटनाओं में संक्षिप्त करता है, हेक्स-एन्कोडेड डेटा फ़ील्ड को डीकोड करता है और कुछ ईवेंट-विशिष्ट फ़ॉर्मेटिंग और सामान्यीकरण करता है (उदाहरण के लिए प्रोसेस स्टार्ट ईवेंट के लिए यह प्रोसेस कमांड लाइन तर्कों को एक स्ट्रिंग में पुन: इकट्ठा करेगा)।
केवल syslog लॉगिंग सक्षम वाले Linux होस्ट की जांच का समर्थन करने के लिए मॉड्यूल। इसमें होस्ट डेटा को संकलित करने, लॉगऑन ईवेंट को क्लस्टर करने और संदिग्ध गतिविधि वाले उपयोगकर्ता सत्रों का पता लगाने के कार्य शामिल हैं।
ज्ञात दुर्भावनापूर्ण कमांड लाइन गतिविधि या कमांड लाइन गतिविधि के संदिग्ध पैटर्न का पता लगाने का समर्थन करने के लिए एक मॉड्यूल।
डोमेन नाम और URLs की जांच का समर्थन करने के लिए एक मॉड्यूल जिसमें डोमेन नाम को मान्य करने और URL का स्क्रीनशॉट लेने के कार्य हैं।
ये Jupyter ipywidgets संग्रह से बनाए गए हैं और InfoSec कार्यों में उपयोगी सामान्य कार्यक्षमता जैसे सूची चयनकर्ता, क्वेरी समय सीमा सेटिंग्स और ईवेंट प्रदर्शन को एक उपयोग में आसान प्रारूप में समूहित करते हैं।


Example notebooks:
सीधे GitHub पर देखें या लिंक को nbviewer.org में कॉपी और पेस्ट करें
व्यवहार में इस पैकेज के उपयोग के अधिक उदाहरणों के लिए निम्नलिखित नोटबुक देखें:
(संक्षिप्त) डेवलपर दिशानिर्देशों के लिए, यह विकि लेख देखें योगदानकर्ता दिशानिर्देश
यह परियोजना योगदान और सुझावों का स्वागत करती है। अधिकांश योगदानों के लिए आपको एक योगदानकर्ता लाइसेंस समझौते (CLA) से सहमत होना आवश्यक है जो घोषित करता है कि आपके पास अधिकार है, और वास्तव में, हमें आपके योगदान का उपयोग करने का अधिकार प्रदान करते हैं। विवरण के लिए, https://cla.microsoft.com पर जाएँ।
जब आप पुल अनुरोध सबमिट करते हैं, तो एक CLA-बॉट स्वचालित रूप से निर्धारित करेगा कि क्या आपको CLA प्रदान करने की आवश्यकता है और PR को उचित रूप से सजाएगा (जैसे, लेबल, टिप्पणी)। बस बॉट द्वारा प्रदान किए गए निर्देशों का पालन करें। हमारे CLA का उपयोग करने वाले सभी रिपॉजिटरी में आपको ऐसा केवल एक बार करना होगा।
इस परियोजना ने Microsoft ओपन सोर्स आचार संहिता को अपनाया है। अधिक जानकारी के लिए आचार संहिता FAQ देखें या किसी अतिरिक्त प्रश्न या टिप्पणी के लिए [email protected] से संपर्क करें।