
Ядро системы безопасности уровня ядра, использующее 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 vs python tool.py).Вместо проверки отдельных файлов kprotect проверяет путь выполнения:
~/.ssh/id_rsa, файлы .env, куки браузера) обозначаются как защищённые пути.bprm_committed_creds, file_open) для защиты с почти нулевыми накладными расходами и устойчивостью к обходу.


python safe_script.py и python malicious_script.py.VS Code → Terminal → deploy.sh) для автоматического безопасного пропуска запроса пароля без использования широких правил в .graph TD
subgraph Kernel Space
LSM[BPF LSM Hooks]
Maps[eBPF Maps: Signatures, Auth, Zones]
end
subgraph Userspace
Daemon[kprotect-daemon]
CLI[kprotect-cli]
GUI[kprotect-gui]
end
LSM -->|Perf Events| Daemon
Daemon -->|Update Maps| Maps
CLI -->|Unix Socket| Daemon
GUI -->|Unix Socket| Daemonkprotect состоит из двух основных компонентов, которые следует устанавливать по порядку:
lsm=lockdown,yama,apparmor,bpf включает bpf. Проверить можно командой cat /sys/kernel/security/lsm.Сначала установите демон, чтобы включить защиту на уровне ядра:
# Install the core debian package
sudo apt install ./target/kprotect_0.2.0-beta-1_amd64.deb
Установщик автоматически настроит службу systemd.
Установите GUI для визуального управления:
# Install the GUI package
sudo apt install ./kprotect-ui/src-tauri/target/release/bundle/deb/kprotect-ui_0.2.0-beta_amd64.deb
Пожалуйста, ПЕРЕЗАГРУЗИТЕ компьютер после первой установки.
kprotect должен отслеживать цепочку процессов с момента загрузки системы. Процессы, запущенные до установки демона, будут помечены как "No Chain" и не могут быть точно авторизованы.
Если вы собираете проект самостоятельно, используйте вспомогательные скрипты:
# Build the Core (Daemon & CLI)
./scripts/build_deb.sh
# Build the Desktop GUI
./scripts/build_gui.sh
Хотя рекомендуется использовать GUI, вы можете управлять всем через kprotect-cli:
# Check system and eBPF map capacity
sudo kprotect-cli status
# View live security events
sudo kprotect-cli events --stream
# Authorize a bash-to-cat chain
sudo kprotect-cli authorize add "/usr/bin/bash,/usr/bin/cat" --mode Suffix --description "Dev tools"
# Protect a sensitive file
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, добавлению новых функций и поддержке проекта.
Каждый вклад, даже самый маленький, очень ценится и мотивирует меня продолжать создавать лучшие инструменты безопасности для сообщества Linux. Спасибо! 🙏
Этот проект лицензирован по GNU Affero General Public License v3.0 (AGPL-3.0). См. файл LICENSE для подробностей.
Разработано khoinp1012
sudoNOPASSWD/etc/sudoers