
डेटा गुणवत्ता का आकलन करने के लिए एक उपकरण, शानदार OSSEM के शीर्ष पर निर्मित।

डेटा गुणवत्ता का आकलन करने का एक उपकरण, जो शानदार OSSEM परियोजना पर निर्मित है।
Power-up अपने डेटा गुणवत्ता मूल्यांकन के आधार के रूप में OSSEM Detection Data Model (DDM) का उपयोग करता है। इसका मुख्य कारण यह है कि यह ATT&CK Data Sources, Common information model entities (CIM), और Data Dictionaries को एक-दूसरे से सहसंबंधित करने का एक संरचित तरीका प्रदान करता है।
DDM संरचना से अपरिचित लोगों के लिए, यहाँ एक नमूना है:
| ATT&CK Data Source | Sub Data Source | Source Data Object | Relationship | Destination Data Object | EventID |
|---|---|---|---|---|---|
| Process monitoring | process creation | process | created | process | 4688 |
| Process monitoring | process creation | process | created | process | 1 |
| Process monitoring | process termination | process | terminated | - | 4689 |
| Process monitoring | process termination | process | terminated | - | 5 |
जैसा कि आप देख सकते हैं, DDM में प्रत्येक प्रविष्टि अमूर्त इकाइयों (जैसे प्रक्रिया, उपयोगकर्ता, फ़ाइल, आदि) का उपयोग करके एक उप डेटा स्रोत (स्कोप) को परिभाषित करती है। इन प्रविष्टियों में एक घटना ID भी होती है, जहां स्कोप लागू होता है। आप इन इकाइयों के बारे में यहाँ और पढ़ सकते हैं।
संक्षेप में, DDM प्रविष्टियाँ कच्ची घटनाओं की जटिलता को दूर करने में एक प्रमुख भूमिका निभाती हैं, एक स्कोप प्रदान करके जो परिभाषित करता है कि एक लॉग स्रोत (डेटा चैनल) का उपभोग कैसे किया जा सकता है।
Power-up डेटा गुणवत्ता स्कोर का आकलन पाँच अलग-अलग आयामों के अनुसार करता है:
| आयाम | प्रकार | विवरण |
|---|---|---|
| कवरेज | डेटा चैनल | डेटा चैनल द्वारा कितने उपकरणों या नेटवर्क खंडों को कवर किया गया है |
| समयबद्धता | डेटा चैनल | घटना उपलब्ध होने में कितना समय लगता है |
| अवधारण | डेटा चैनल | घटना कितने समय तक उपलब्ध रहती है |
| संरचना | घटना | घटना कितनी पूर्ण है, क्या प्रासंगिक फ़ील्ड उपलब्ध हैं |
| संगति | घटना | घटना फ़ील्ड कितने मानक हैं, क्या फ़ील्ड सामान्यीकृत किए गए हैं |
प्रत्येक आयाम को 0 (कोई नहीं) से 5 (उत्कृष्ट) के बीच स्कोर के साथ रेट किया जाता है।
ये आयाम डेटा चैनलों से जुड़े होते हैं, और इसके द्वारा प्रदान की गई सभी घटनाओं में प्रसारित होते हैं। इन आयामों की प्रकृति के कारण, डेटा चैनलों की विशिष्टताओं के अनुसार, इन्हें मैन्युअल रूप से रेट किया जाना चाहिए।
Power-up resources/dcs.yml का उपयोग डेटा चैनल को परिभाषित करने और आयामों को रेट करने के लिए करता है:
data channel: sysmon
description: sysmon monitoring
coverage: 2
timeliness: 5
retention: 2
---
data channel: security
description: windows security auditing
coverage: 5
timeliness: 5
retention: 2
घटना संरचना कितनी पूर्ण है यह गणना करने के लिए, power-up डेटा शब्दकोश मानक नामों की तुलना DDM प्रविष्टि (स्रोत और गंतव्य) में संदर्भित इकाइयों (CIM) के फ़ील्ड से करता है।
क्योंकि सभी इकाई फ़ील्ड प्रासंगिक नहीं होते (संदर्भ पर निर्भर करता है), power-up यह चुनने के लिए प्रोफ़ाइल की अवधारणा का उपयोग करता है कि किन फ़ील्ड को डेटा शब्दकोश मानक नामों से मेल खाना चाहिए। उदाहरण:
# OSSEM CIM Profile
process:
- process_name
- process_path
- process_command_line
नोट: आपके खेलने के लिए
profiles/default.ymlमें एक उदाहरण प्रोफ़ाइल है।
संरचना स्कोर की गणना निम्नलिखित सूत्र से की जाती है:
SCORE_PERCENT = (MATCHED_FIELDS / TOTAL_RELEVANT_FIELDS) * 100
स्पष्टता के लिए, यहाँ एक उदाहरण है कि संरचना स्कोर की गणना कैसे की जाती है:

नोट: क्योंकि Sysmon Event Id 1 डेटा शब्दकोश प्रासंगिक इकाई फ़ील्ड के 100% से मेल खाता है, इसलिए संरचना स्कोर को 5 (उत्कृष्ट) रेट किया जाएगा।
संरचना स्कोर को 0-5 पैमाने पर निम्नलिखित तरीके से अनुवादित किया जाता है:
| प्रतिशत | स्कोर |
|---|---|
| 0 | 0 |
| 1 से 25 | 1 |
| 26 से 50 | 2 |
| 51 से 75 | 3 |
| 76 से 99 | 4 |
| 100 | 5 |
नोट: उपयोग के मामले (SIEM, Threat Hunting, Forensics) के आधार पर, आप अलग-अलग प्रोफ़ाइल परिभाषित कर सकते हैं ताकि आप अपने लॉग्स को अलग-अलग तरीके से रेट कर सकें।
संगति की गणना करने के लिए, power-up बस एक डेटा शब्दकोश में मानक नाम वाले फ़ील्ड के प्रतिशत की गणना करता है। उच्च संख्या में मानक नाम पर मैप किए गए फ़ील्ड वाले डेटा शब्दकोशों के CIM इकाइयों के साथ सहसंबंधित होने की अधिक संभावना होती है।
संगति स्कोर की गणना निम्नलिखित सूत्र से की जाती है:
SCORE_PERCENT = (STANDARD_NAME_FIELDS / TOTAL_FIELDS) * 100
संगति स्कोर को 0-5 पैमाने पर निम्नलिखित तरीके से अनुवादित किया जाता है:
| प्रतिशत | स्कोर |
|---|---|
| 0 | 0 |
| 1 से 50 | 1 |
| 51 से 99 | 3 |
| 100 | 5 |
pip install -r requirements.txt चलाएँ।$> python3 powerup.py --help
_____ _____ _____ _____ _____ _____ _____ _ _ _ _____ _____ _____ _____ __
| | __| __| __| | | _ | | | | | __| __ |___| | | _ | |
| | |__ |__ | __| | | | | __| | | | | | __| -|___| | | __|__|
|_____|_____|_____|_____|_|_|_| |__| |_____|_____|_____|__|__| |_____|__| |__|
usage: powerup.py [-h] [-o OSSEM] [-y OSSEM_YAML] [-p PROFILE] [--excel]
[--elastic] [--yaml]
A tool to assess ATT&CK data source coverage, built on top of awesome OSSEM.
optional arguments:
-h, --help show this help message and exit
-o OSSEM, --ossem OSSEM
path to import OSSEM markdown
-y OSSEM_YAML, --ossem-yaml OSSEM_YAML
path to import OSSEM yaml
-p PROFILE, --profile PROFILE
path to CIM profile
--excel export OSSEM DDM to excel
--elastic export OSSEM data models to elastic
--yaml export OSSEM data models to yaml
--layer export OSSEM data models to navigator layer
जैसा कि आप देख सकते हैं power-up दो अलग-अलग प्रारूपों से OSSEM डेटा का उपभोग कर सकता है:
वर्तमान में, Power-up OSSEM आउटपुट को निर्यात करता है:
output/ फ़ोल्डर में yaml में OSSEM संरचनाएँ बनाता हैouput/ फ़ोल्डर में डेटा गुणवत्ता स्कोर से समृद्ध एक OSSEM DDM तालिका बनाता हैनोट: यदि कोई प्रोफ़ाइल फ़ाइल पथ निर्दिष्ट नहीं है तो power-up डिफ़ॉल्ट रूप से
profiles/default.ymlका उपयोग करता है।