
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)에 바인딩된 HKDF-SHA256을 통해 파생됩니다.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)을 구성하여 /etc/sudoers에서 광범위한 NOPASSWD 규칙을 사용하지 않고도 안전하게 비밀번호 프롬프트를 자동으로 우회할 수 있습니다.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 명령어로 확인할 수 있습니다.커널 수준 보호를 활성화하려면 데몬을 먼저 설치하세요:
# 코어 데비안 패키지 설치
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는 시스템이 부팅된 순간부터 프로세스 계보를 추적해야 합니다. 데몬 설치 이전에 시작된 프로세스는 "No Chain"으로 표시되며 정확하게 권한을 부여할 수 없습니다.
직접 프로젝트를 빌드하는 경우, 포함된 도우미 스크립트를 사용하세요:
# 코어 빌드 (데몬 및 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 "Dev tools"
# 민감한 파일 보호
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
sudo