
محرك أمان على مستوى النواة يستخدم eBPF-LSM لفرض سياسات الوصول إلى الملفات استنادًا إلى سلالة العملية، وحماية البيانات الحساسة من هجمات سلسلة التوريد بأقل عبء.

kprotect هو محرك أمان على مستوى النواة مصمم لحماية بياناتك الحساسة من هجمات سلسلة التوريد (مثل مكتبات Python أو Node.js الخبيثة). يعمل كطبقة أمان مستقلة للملفات الأكثر حساسية.
*.env، home/user/.ssh/*).VS Code → Terminal → cat (سلسلة مصرح بها)VS Code → Terminal → python script.py → cat (سلسلة غير مصرح بها وتم حظرها)kprotect مبني حول مفاهيم برمجة الأنظمة الحديثة:
/etc/machine-id).python exploit.py مقابل python tool.py).بدلاً من التحقق من صحة الملفات الفردية، يتحقق kprotect من مسار التنفيذ:
init وصولاً إلى العملية الطرفية.~/.ssh/id_rsa، ملفات .env، ملفات تعريف الارتباط للمتصفح) كمسارات محمية.bprm_committed_creds، file_open) مع نفقات عامة تقترب من الصفر وحماية مقاومة للالتفاف.


python safe_script.py و python malicious_script.py.VS Code → Terminal → deploy.sh) لتجاوز طلبات كلمة مرور sudo تلقائياً وبطريقة آمنة دون استخدام قواعد الواسعة في .graph TD
subgraph مساحة النواة
LSM[خطافات BPF LSM]
Maps[خرائط eBPF: التوقيعات، التفويض، المناطق]
end
subgraph مساحة المستخدم
Daemon[kprotect-daemon]
CLI[kprotect-cli]
GUI[kprotect-gui]
end
LSM -->|أحداث الأداء| Daemon
Daemon -->|تحديث الخرائط| Maps
CLI -->|مقبس يونكس| Daemon
GUI -->|مقبس يونكس| Daemonيتكون kprotect من مكونين رئيسيين يجب تثبيتهما بالترتيب:
lsm=lockdown,yama,apparmor,bpf تتضمن bpf. يمكنك التحقق من ذلك باستخدام cat /sys/kernel/security/lsm.قم بتثبيت الخفيّة أولاً لتمكين الحماية على مستوى kernel:
# تثبيت حزمة debian الأساسية
sudo apt install ./target/kprotect_0.2.0-beta-1_amd64.deb
سيقوم المثبت تلقائياً بإعداد خدمة systemd.
قم بتثبيت الواجهة الرسومية لتجربة إدارة مرئية:
# تثبيت حزمة الواجهة الرسومية
sudo apt install ./kprotect-ui/src-tauri/target/release/bundle/deb/kprotect-ui_0.2.0-beta_amd64.deb
يرجى إعادة تشغيل جهاز الكمبيوتر بعد التثبيت الأول.
يحتاج kprotect إلى تتبع سلسلة نسب العمليات منذ لحظة إقلاع النظام. العمليات التي بدأت قبل تثبيت الخفيّة سيتم وضع علامة "لا سلسلة نسب" عليها ولا يمكن تفويضها بدقة.
إذا كنت تقوم ببناء المشروع بنفسك، استخدم البرامج النصية المساعدة المرفقة:
# بناء المحرك الأساسي (الخفيّة و CLI)
./scripts/build_deb.sh
# بناء واجهة المستخدم الرسومية لسطح المكتب
./scripts/build_gui.sh
على الرغم من أن الواجهة الرسومية موصى بها، يمكنك إدارة كل شيء عبر kprotect-cli:
# فحص النظام وسعة خريطة eBPF
sudo kprotect-cli status
# عرض الأحداث الأمنية المباشرة
sudo kprotect-cli events --stream
# تفويض سلسلة bash إلى cat
sudo kprotect-cli authorize add "/usr/bin/bash,/usr/bin/cat" --mode Suffix --description "أدوات التطوير"
# حماية ملف حساس
sudo kprotect-cli zone add red "/home/user/.ssh/id_rsa"
kprotect-ebpf: "العقل" في النواة. كود Rust شبيه بلغة C عالي الأداء باستخدام aya.kprotect-daemon: المركز الرئيسي. يدير عمر eBPF، التشفير، والحالة.kprotect-cli: أداة تفاعلية خفيفة الوزن.kprotect-ui: واجهة مستخدم سطح المكتب مبنية بـ Tauri + React + Vite + TailwindCSS.kprotect-common: هياكل البيانات المشتركة وتعريفات البروتوكول.إذا وجدت kprotect مفيداً وترغب في دعم تطويره، فكر في شراء قهوة لي! دعمك يساعدني على تكريس المزيد من الوقت لتحسين kprotect، وإضافة ميزات جديدة، والحفاظ على المشروع.
كل مساهمة، مهما كانت صغيرة، تُقدَّر بعمق وتحفزني على الاستمرار في بناء أدوات أمان أفضل لمجتمع لينكس. شكراً جزيلاً! 🙏
هذا المشروع مرخص بموجب رخصة GNU Affero General Public License v3.0 (AGPL-3.0). راجع ملف LICENSE للحصول على التفاصيل.
طوَّره khoinp1012
NOPASSWD/etc/sudoers