
eBPF-आधारित लिनक्स सुरक्षा मॉनिटर और खतरा शिकारी जो घटना प्रतिक्रिया और फोरेंसिक विश्लेषण के लिए कालानुक्रमिक रूप से क्रमबद्ध, कंटेनर-जागरूक घटनाएं ऑन-होस्ट सहसंबंध के साथ प्रदान करता है।
Kunai एक शक्तिशाली उपकरण है जिसे Linux प्रणालियों पर सुरक्षा निगरानी और खतरे की खोज जैसे कार्यों के लिए कार्रवाई योग्य अंतर्दृष्टि प्रदान करने के लिए डिज़ाइन किया गया है। इसे Windows पर Sysmon के Linux समकक्ष के रूप में सोचें, जो व्यापक और सटीक घटना निगरानी के लिए तैयार किया गया है।
Kunai eBPF (Extended Berkeley Packet Filter) तकनीक का लाभ उठाता है, जिसमें कर्नेल-स्तरीय जाँच बिंदु होते हैं जो महत्वपूर्ण घटनाओं को कैप्चर करते हैं। ये जाँच बिंदु एक यूज़रलैंड प्रोग्राम को डेटा भेजते हैं, जो एकत्रित घटनाओं को पुनर्क्रमित, संवर्धित और सहसंबंधित करने जैसे कार्यों के लिए जिम्मेदार होता है।
कार्यान्वयन पक्ष पर, Kunai मुख्य रूप से Rust में लिखा गया है, जो मजबूत Aya लाइब्रेरी का उपयोग करता है। यह डिज़ाइन एक स्व-निहित स्टैंडअलोन बाइनरी सुनिश्चित करता है, जो तैनाती में आसानी के लिए eBPF जाँच बिंदुओं और यूज़रलैंड प्रसंस्करण तर्क दोनों को एम्बेड करता है।
आगे बढ़ने से पहले, कृपया ध्यान दें कि Kunai का एक वितरण-अज्ञेयवादी, पूर्व-संकलित संस्करण रिलीज़ पृष्ठ पर उपलब्ध है। यदि आप केवल Kunai आज़माना चाहते हैं, तो संभवतः आपको प्रोजेक्ट को स्वयं बनाने की आवश्यकता नहीं है।
आप एक Docker इमेज का उपयोग कर सकते हैं जिसमें प्रोजेक्ट को आसानी से बनाने के लिए आवश्यक सब कुछ शामिल है: Kunai बिल्ड Docker इमेज।
यह एक ही आकार-सभी के लिए फिट समाधान किसी भी Linux वितरण पर काम करना चाहिए।
सब कुछ बनाने में सक्षम होने से पहले, आपको कुछ उपकरण स्थापित करने होंगे।
rustup चाहिएclang, libbpf-dev और bpf-linkerUbuntu/Debian पर आवश्यकताएँ स्थापित करने के लिए कमांड का उदाहरण:
sudo apt update
sudo apt install -y clang libbpf-dev lld musl-tools
# यह मानते हुए कि आपके पास rustup और cargo स्थापित है
cargo install bpf-linker
एक बार जब आप आवश्यकताएँ स्थापित कर लेते हैं, तो आप जाने के लिए तैयार हैं।
cargo build
# अपनी निष्पादन योग्य फ़ाइल यहाँ खोजें: ./target/debug/kunai
उत्पादन तैनाती के लिए, हम MUSL का उपयोग करके एक स्थिर बाइनरी बनाने की सलाह देते हैं:
# स्थिर रिलीज़ बाइनरी बनाएँ
cargo build --release --target x86_64-unknown-linux-musl
# स्थिर बाइनरी यहाँ उपलब्ध होगी:
./target/x86_64-unknown-linux-musl/release/kunai
MUSL क्यों? MUSL स्थिर बाइनरी उत्पन्न करता है जो विभिन्न Linux वितरणों में अधिक पोर्टेबल होती हैं, glibc संस्करणों के साथ निर्भरता समस्याओं से बचाती हैं। यह उत्पादन तैनाती के लिए विशेष रूप से महत्वपूर्ण है जहाँ आप लक्ष्य वातावरण को नियंत्रित नहीं कर सकते।
aarch64 के लिए kunai क्रॉस-संकलन करने के लिए:
aarch64 musl लक्ष्य स्थापित करें:
rustup target add aarch64-unknown-linux-musl
क्रॉस-संकलन टूलचेन स्थापित करें (Ubuntu/Debian उदाहरण):
sudo dpkg --add-architecture arm64
sudo apt update
sudo apt install -y git clang libbpf-dev lld musl-tools
sudo apt install -y crossbuild-essential-arm64 musl-tools:arm64
aarch64 के लिए बनाएँ:
cargo build --release --target aarch64-unknown-linux-musl
क्रॉस-संकलित बाइनरी यहाँ उपलब्ध होगी:
./target/aarch64-unknown-linux-musl/release/kunai
यदि किसी को लगता है कि Kunai को मेमोरी से संबंधित समस्या है, तो यहाँ इसे प्रोफाइल करने का एक तरीका है।
# सभी पैकेजों के लिए डिबग जानकारी के साथ kunai संकलित करें
RUSTFLAGS="-g" cargo build
# heaptrack का उपयोग करें
sudo heaptrack kunai
Linux के लिए Sysmon: https://github.com/Sysinternals/SysmonForLinux
NGSOTI परियोजना सुरक्षा संचालन केंद्र (SOC) संचालकों की अगली पीढ़ी को प्रशिक्षित करने के लिए समर्पित है, जो साइबर सुरक्षा के मानवीय पहलू पर ध्यान केंद्रित करती है। यह SOC संचालकों को पहचान इंजीनियरिंग, घटना प्रतिक्रिया और खतरा खुफिया विश्लेषण जैसी चुनौतियों का समाधान करने के लिए आवश्यक कौशल और ओपन-सोर्स उपकरण प्रदान करने के महत्व को रेखांकित करता है। CIRCL, Restena, Tenzir और लक्ज़मबर्ग विश्वविद्यालय जैसे प्रमुख भागीदारों को शामिल करते हुए, परियोजना का उद्देश्य व्यावहारिक प्रशिक्षण के लिए एक वास्तविक परिचालन बुनियादी ढाँचा स्थापित करना है। यह पहल शैक्षणिक पाठ्यक्रम को उद्योग अंतर्दृष्टि के साथ एकीकृत करती है, साइबर रेंज में हाथों-हाथ अनुभव प्रदान करती है।
NGSOTI को ECCC (यूरोपीय साइबर सुरक्षा योग्यता नेटवर्क और योग्यता केंद्र) के माध्यम से डिजिटल यूरोप कार्यक्रम (DEP) के तहत सह-वित्त पोषित किया गया है।