
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 は実行経路を検証します。
~/.ssh/id_rsa、.env ファイル、ブラウザのクッキー)が保護パスとして指定されます。bprm_committed_creds、file_open)を使用し、ほぼゼロのオーバーヘッドでバイパス耐性のある保護を実現。


python safe_script.py と python malicious_script.py を区別します。VS Code → Terminal → deploy.sh)を設定し、/etc/sudoers での広範な NOPASSWD ルールを使用せずに、安全に sudo パスワードプロンプトを自動的にバイパスします。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 は、順番にインストールする必要がある 2 つの主要コンポーネントで構成されます。
lsm=lockdown,yama,apparmor,bpf に bpf が含まれていることを確認します。cat /sys/kernel/security/lsm で確認できます。最初にデーモンをインストールして、カーネルレベルの保護を有効にします。
# コア debian パッケージをインストール
sudo apt install ./target/kprotect_0.2.0-beta-1_amd64.deb
インストーラーは自動的に systemd サービスをセットアップします。
視覚的な管理体験のために GUI をインストールします。
# GUI パッケージをインストール
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
# デスクトップ GUI をビルド
./scripts/build_gui.sh
GUI をお勧めしますが、すべてを kprotect-cli で管理することもできます。
# システムと eBPF マップ容量を確認
sudo kprotect-cli status
# ライブセキュリティイベントを表示
sudo kprotect-cli events --stream
# bash-to-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:カーネル内の「頭脳」。aya を使用した高性能な C ライクな Rust コード。kprotect-daemon:中央ハブ。eBPF のライフサイクル、暗号化、状態を管理。kprotect-cli:軽量な対話ツール。kprotect-ui:Tauri + React + Vite + TailwindCSS で構築されたデスクトップ UI。kprotect-common:共有データ構造とプロトコル定義。kprotect が役に立ち、その開発を支援したいと思われるなら、コーヒーを一杯ご馳走してください!あなたの支援は、kprotect の改善、新機能の追加、プロジェクトのメンテナンスにより多くの時間を割く助けになります。
どんな小さな貢献でも、深く感謝しており、Linux コミュニティ向けに優れたセキュリティツールを作り続けるモチベーションになります。ありがとうございます!🙏
このプロジェクトは GNU Affero General Public License v3.0(AGPL-3.0) の下でライセンスされています。詳細については LICENSE ファイルを参照してください。
開発者:khoinp1012