
किसी घटना के लिए जिम्मेदार सबसे संभावित APT समूहों की पहचान करना
किसी घटना के लिए ज़िम्मेदार सबसे संभावित APT समूहों की पहचान करना
यह प्रोग्राम किसी साइबर सुरक्षा घटना की एक रिपोर्ट लेता है जिसमें MITRE ATT&CK तकनीकें शामिल होती हैं जिनका उपयोग घटना में किए जाने का पता चला है, और यह पहचानने की कोशिश करता है कि कौन से APT समूहों के घटना के लिए ज़िम्मेदार होने की सबसे अधिक संभावना है।
स्क्रिप्ट विभिन्न MITRE ATT&CK तकनीकों और समूहों तक आसान पहुँच के लिए
enterpriseattack मॉड्यूल पर निर्भर करती है, इसलिए स्क्रिप्ट का उपयोग
करने में सक्षम होने से पहले आपको इस मॉड्यूल को स्थापित करना होगा। चूँकि
उस मॉड्यूल के लिए Python संस्करण 3.6 या उच्चतर की आवश्यकता होती है,
यह स्क्रिप्ट भी केवल Python के ऐसे संस्करणों के अंतर्गत चलती है।
रिपॉजिटरी को क्लोन करें:
git clone https://gitlab.com/bontchev/whodunit.git
स्क्रिप्ट की निर्देशिका पर जाएँ:
cd whodunit
निर्भरताएँ स्थापित करें:
pip install -r requirements.txt
python whodunit.py [-h] [-v] [-n NUMGROUPS] [-b] [-u] [-d] techniques
स्क्रिप्ट निम्नलिखित कमांड-लाइन विकल्पों को स्वीकार करती है:
-h, --help स्क्रिप्ट का उपयोग कैसे करें और कमांड-लाइन विकल्प क्या हैं,
इसकी एक संक्षिप्त व्याख्या प्रदर्शित करता है।
-v, --version स्क्रिप्ट का संस्करण प्रदर्शित करता है और बाहर निकल जाता है।
-n NUMGROUPS, --numgroups NUMGROUPS सूचीबद्ध करने के लिए निकटतम समूहों की संख्या (डिफ़ॉल्ट: 10)।
-b, --verbose रिपोर्ट से MITRE ATT&CK तकनीकों को सूचीबद्ध करता है।
-u, --update MITRE ATT&CK डेटा की स्थानीय प्रति को अद्यतन करता है।
-d, --deprecated पदावनत (deprecated) ATT&CK तकनीकों का भी उपयोग करता है।
techniques एक टेक्स्ट फ़ाइल जिसमें साइबर सुरक्षा घटना के दौरान देखी गई
MITRE ATT&CK तकनीकों की एक सूची होती है। खाली पंक्तियों को अनदेखा किया जाता है,
किसी पंक्ति पर # वर्ण के बाद की हर चीज़ को एक टिप्पणी माना जाता है और उसे
अनदेखा किया जाता है। एक ही पंक्ति में एक से अधिक तकनीकों को सूचीबद्ध किया जा सकता है,
ऐसी स्थिति में उन्हें एक या अधिक सफेद स्थानों द्वारा अलग किया जाना चाहिए।
रिपॉजिटरी में report.txt फ़ाइल में एक (काल्पनिक) साइबर सुरक्षा घटना की रिपोर्ट
शामिल है। जो देखा गया था उसका प्राकृतिक भाषा विवरण टिप्पणियों में है। आप इस
रिपोर्ट को स्क्रिप्ट के साथ इस प्रकार संसाधित कर सकते हैं:
python whodunit.py -u -b -n 5 report.txt
यह स्क्रिप्ट को MITRE ATT&CK डेटा की स्थानीय प्रति को अद्यतन करने के लिए
बाध्य करेगा (-u विकल्प), घटना रिपोर्ट में पहचानी गई तकनीकों को सूचीबद्ध करने
के लिए (-b विकल्प), और 5 APT समूहों को आउटपुट करने के लिए जिनके घटना के लिए
ज़िम्मेदार होने की सबसे अधिक संभावना है (-n 5 विकल्प):
Processing report file "report.txt"...
Observed techniques:
T1003.001
T1005
T1039
T1059.001
T1068
T1078.003
T1110.003
T1114.001
T1133
T1213.002
T1486
T1548.002
T1560
T1562.001
T1573.002
The 5 APT groups most likely responsible:
G0007 (APT28 ): 60.00%
G0016 (APT29 ): 53.33%
G0037 (FIN6 ): 46.67%
G0060 (BRONZE BUTLER ): 40.00%
G0114 (Chimera ): 40.00%
स्क्रिप्ट प्रत्येक APT समूह द्वारा उपयोग की जाने वाली तकनीकों के समूह और घटना रिपोर्ट में सूचीबद्ध तकनीकों के समूह का प्रतिच्छेदन (intersection) खोजकर काम करती है, और उन समूहों को उच्च आत्मविश्वास के साथ रिपोर्ट करती है, जिनके लिए यह प्रतिच्छेदन घटना रिपोर्ट में सूचीबद्ध तकनीकों का सबसे बड़ा उपसमुच्चय है।
पहला कॉलम MITRE ATT&CK फ्रेमवर्क में APT समूह पहचानकर्ता है, दूसरा कॉलम उस समूह के लिए सामान्य नाम है, और तीसरा कॉलम यह है कि घटना रिपोर्ट में मौजूद तकनीकों का कितना प्रतिशत संबंधित APT समूह द्वारा उपयोग की जाने वाली तकनीकों के रूप में जाना जाता है।
नोट: MITRE ATT&CK फ्रेमवर्क का केवल Enterprise मैट्रिक्स समर्थित है
(और, उदाहरण के लिए, Mobile या ICS मैट्रिक्स नहीं), क्योंकि
enterpriseattack मॉड्यूल यही समर्थन करता है।
यह प्रोजेक्ट GNU v3.0 लाइसेंस के अंतर्गत लाइसेंस प्राप्त है।