
ML-आधारित व्यवहारिक एंडपॉइंट डिटेक्शन सिस्टम लिनक्स मशीनों के लिए
Linux के लिए व्यवहार-आधारित विसंगति पहचान, eBPF और मशीन लर्निंग द्वारा संचालित।
Guardd सीखता है कि एक Linux होस्ट सामान्य रूप से कैसे व्यवहार करता है और उस बेसलाइन से भिन्न गतिविधि को चिह्नित करता है। कर्नेल सेंसर प्रोसेस निष्पादन और आउटबाउंड TCP कनेक्शन प्रयास एकत्र करते हैं; एक Isolation Forest परिणामी एक-मिनट की गतिविधि विंडो को स्कोर करता है। अलर्ट में स्कोर, व्यवहारिक संदर्भ, और स्पष्टीकरण शामिल होते हैं जो आपको जाँच करने में मदद करते हैं।
एक बैकग्राउंड डेमन संग्रह, प्रशिक्षण, और पहचान को संभालता है। डेस्कटॉप GUI और टर्मिनल इंटरफ़ेस आपको अलर्ट और संसाधन उपयोग का निरीक्षण करने देते हैं जबकि डेमन चलता रहता है।
स्थिति: प्रयोगात्मक और सक्रिय विकास के अंतर्गत। पहचान की गुणवत्ता कार्यभार, बेसलाइन, और संवेदनशीलता सेटिंग्स पर निर्भर करती है।
इंस्टॉलेशन · उपयोग · कॉन्फ़िगरेशन · यह कैसे काम करता है · अपडेट करना · समस्या निवारण


डेस्कटॉप स्क्रीनशॉट नमूना अलर्ट और एक सिम्युलेटेड सेवा स्थिति का उपयोग करते हैं।

प्रदान किया गया इंस्टॉलर apt-get और systemd का उपयोग करता है। Ubuntu 24.04 LTS एक व्यावहारिक
प्रारंभिक बिंदु है; Debian सिस्टम को समतुल्य पैकेज चाहिए। अन्य वितरणों के लिए
मैन्युअल निर्भरता इंस्टॉलेशन आवश्यक है।
python3 के रूप में उपलब्ध। Ubuntu 22.04 का डिफ़ॉल्ट Python
3.10 पैकेज आवश्यकता को पूरा नहीं करता।/sys/kernel/btf/vmlinux पर BTF, और आवश्यक
प्रोसेस और सॉकेट ट्रेसपॉइंट वाला Linux कर्नेल।bpftool।Ubuntu पर, इंस्टॉलर चलाने से पहले Git और कर्नेल टूल इंस्टॉल करें:```bash sudo apt-get update sudo apt-get install -y git linux-tools-common "linux-tools-$(uname -r)" python3 --version bpftool version test -r /sys/kernel/btf/vmlinux && echo "Kernel BTF available"
kernel-tools पैकेज आपके चल रहे kernel से मेल खाना चाहिए। Debian पर, `bpftool` एक अलग पैकेज के रूप में उपलब्ध है। इंस्टॉलर अन्य build और Python निर्भरताएँ प्रदान करता है, लेकिन `bpftool` को स्पष्ट रूप से इंस्टॉल नहीं करता है।
### डेमन और डेस्कटॉप GUI इंस्टॉल करें```bash
git clone https://github.com/benny-e/guardd.git
cd guardd
sudo bash install.sh --gui
हेडलेस इंस्टॉलेशन के लिए, इसके बजाय sudo bash install.sh चलाएँ।
इंस्टॉलर एप्लिकेशन को /opt/guardd में कॉपी करता है, इसका वर्चुअल
एनवायरनमेंट बनाता है, eBPF कलेक्टर बनाता है, /usr/local/bin/guardd इंस्टॉल करता है, और
बूट पर guardd.service को सक्षम करता है। यह सेवा शुरू नहीं करता। --gui के साथ,
यह Qt रनटाइम निर्भरताएँ, डेस्कटॉप लॉन्चर, और आइकन भी इंस्टॉल करता है।
पहले स्टार्ट से पहले, इंस्टॉल की गई कॉन्फ़िगरेशन खोलें:```bash sudoedit /opt/guardd/config.toml
इसके `[paths]` अनुभाग को पूर्ण पथों पर सेट करें:```toml
[paths]
sensor_path = "/opt/guardd/ebpf/guardd"
db_path = "/opt/guardd/data/features.db"
model_path = "/opt/guardd/data/model.bundle"
रिपॉज़िटरी कॉन्फ़िग सापेक्ष पथों का उपयोग करता है। वे सेवा की
/opt/guardd कार्यशील निर्देशिका से काम करते हैं, लेकिन एक डेस्कटॉप लॉन्चर कहीं और से शुरू हो सकता है।
पूर्ण पथ डेमॉन, GUI, और CLI को समान डेटा उपयोग करने देते हैं।
Configuration में प्रशिक्षण सेटिंग्स की समीक्षा करें, फिर शुरू करें:```bash sudo systemctl start guardd.service systemctl status guardd.service sudo journalctl -u guardd.service -f
पहला रन मॉडल उपलब्ध होने से पहले डेटा एकत्र करता है। एक सक्रिय सेवा अभी भी इस संग्रह चरण में हो सकती है; प्रशिक्षण और पहचान के लिए इसके लॉग जांचें।
## उपयोग
### डेस्कटॉप GUI
अपने एप्लिकेशन मेनू से **Guardd** खोलें, या चलाएं:```bash
guardd gui
GUI को अपने नियमित डेस्कटॉप उपयोगकर्ता के रूप में चलाएँ। यह मौजूदा डेटाबेस को पढ़ता है और हर पाँच सेकंड में रीफ़्रेश होता है। इसे बंद करने पर डेमन चलता रहता है।
| पेज | आप क्या कर सकते हैं |
|---|---|
| Overview | सेवा, आज के अलर्ट, मॉडल-फ़ाइल की उपलब्धता, CPU/मेमोरी उपयोग, PID, अपटाइम, होस्ट/कर्नेल विवरण, 60-सेकंड विंडो आकार, और हाल की टेलीमेट्री जाँचें। निरीक्षण करने के लिए हाल के अलर्ट का चयन करें। |
| Alerts | प्रोसेस नाम, पथ, गंतव्य, और कारण खोजें; गंभीरता और पिछले 24 घंटे, 7 दिन, 30 दिन, या सभी समय के अनुसार फ़िल्टर करें; किसी अलर्ट का स्कोर, थ्रेशोल्ड, स्पष्टीकरण, गतिविधि, और संदर्भ देखने के लिए उसका चयन करें। |
तत्काल अपडेट के लिए Refresh का उपयोग करें। समय आपके स्थानीय समयक्षेत्र का उपयोग करते हैं, और Overview के दैनिक कुल फ़िल्टर से स्वतंत्र रूप से स्थानीय कैलेंडर दिन को कवर करते हैं।
भिन्न डेटाबेस चुनने या प्रदर्शित अलर्ट सीमा बढ़ाने के लिए:```bash guardd gui --db-path /opt/guardd/data/features.db --model-path /opt/guardd/data/model.bundle --limit 500
GUI एक read-only viewer है: collection, training, और service control daemon और CLI के माध्यम से होते हैं। Model availability का अर्थ है कि एक फ़ाइल मौजूद है, यह नहीं कि उसकी सामग्री valid है या detection शुरू हो चुका है। GUI pickled models को load नहीं करता। Resource metrics पूरे systemd service को cover करते हैं, जिसमें sensor भी शामिल है; 100% CPU एक logical core को दर्शाता है। पहली CPU reading के लिए दो samples चाहिए।
### Terminal interface```bash
sudo guardd tui
TUI हर दो सेकंड में रीफ्रेश होता है और अलर्ट विवरण तथा डेमन आँकड़े दिखाता है।
GUI के विपरीत, यह एक राइटेबल डेटाबेस कनेक्शन के माध्यम से स्टोरेज को इनिशियलाइज़ करता है;
मानक root-स्वामित्व वाली इंस्टॉलेशन के लिए sudo की आवश्यकता हो सकती है।
| Key | Action |
|---|---|
↑ / k, ↓ / j | एक अलर्ट चुनें। |
/ | खोजें; लागू करने के लिए Enter दबाएँ या रद्द करने के लिए Esc दबाएँ। |
r | खोज साफ़ करें और पहले अलर्ट पर वापस जाएँ। |
q / Esc | बाहर निकलें। |