Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
guardd — ML 기반 리눅스 머신용 행동 기반 엔드포인트 탐지 시스템 | Kitploit
도구/GitHubGitHub/benny-e/guardd
Defensive ToolsMachine LearningIntrusion DetectionAnomaly Detection
GitHubbenny-e/guardd

guardd

ML 기반 리눅스 머신용 행동 기반 엔드포인트 탐지 시스템

저장소 보기
113120일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Guardd 펭귄 아이콘

Guardd

eBPF와 머신 러닝으로 구동되는 Linux용 행위 기반 이상 탐지.

Linux Python 3.11 이상 MIT 라이선스

Guardd는 Linux 호스트가 평소 어떻게 동작하는지 학습하고, 그 기준선과 다른 활동을 표시합니다. 커널 센서가 프로세스 실행과 아웃바운드 TCP 연결 시도를 수집하고, Isolation Forest가 그로부터 만들어진 1분 단위 활동 윈도우를 점수화합니다. 경고에는 점수, 행위 맥락, 그리고 조사를 돕기 위한 설명이 포함됩니다.

백그라운드 데몬이 수집, 학습, 탐지를 담당합니다. 데스크톱 GUI와 터미널 인터페이스를 통해 데몬이 계속 실행되는 동안 경고와 리소스 사용량을 확인할 수 있습니다.

상태: 실험적이며 활발히 개발 중입니다. 탐지 품질은 워크로드, 기준선, 민감도 설정에 따라 달라집니다.

설치 · 사용법 · 설정 · 동작 방식 · 업데이트 · 문제 해결

기능

  • 커널 텔레메트리: 프로세스 이름, 실행 파일 경로, 사용자, 부모 프로세스 ID, 아웃바운드 IPv4 TCP 목적지와 포트.
  • 행위 기반 탐지: 고정된 참조 기준선과 비교하여 점수화되는 활동 횟수, 다양성, 새로움.
  • 자동 수명 주기: 초기 수집, 모델 학습, 탐지, 주간 재학습, 모델 재로드를 하나의 systemd 서비스에서 처리.
  • 영구 경고: 점수, 심각도, 설명, 특징 요약, 맥락을 담은 SQLite 저장소; 경고는 줄바꿈으로 구분된 JSON으로도 출력됩니다.
  • 데스크톱 GUI: 개요 및 경고 페이지, 검색, 심각도 및 시간 필터, 상세 경고 조사, 자동 새로 고침.
  • 시스템 가시성: 서비스 상태, CPU 및 메모리 사용량, PID, 가동 시간, 호스트 및 커널 정보, 집계 윈도우 크기, 텔레메트리 최신성.
  • 데스크톱 통합: Guardd 애플리케이션 메뉴 런처와 펭귄 아이콘.
  • 터미널 접근: curses TUI와 텔레메트리를 직접 수집, 학습, 점수화, 조사하기 위한 명령.

스크린샷

데스크톱 개요

Guardd 데스크톱 개요

경고 조사

Guardd 경고 브라우저

데스크톱 스크린샷은 샘플 경고와 시뮬레이션된 서비스 상태를 사용합니다.

터미널 인터페이스

Guardd 터미널 인터페이스

설치

요구 사항

제공된 설치 프로그램은 apt-get과 systemd를 사용합니다. Ubuntu 24.04 LTS가 실용적인 출발점이며, Debian 시스템에는 이에 상응하는 패키지가 필요합니다. 다른 배포판은 의존성을 수동으로 설치해야 합니다.

  • python3로 사용 가능한 Python 3.11 이상. Ubuntu 22.04의 기본 Python 3.10은 패키지 요구 사항을 충족하지 않습니다.
  • eBPF, /sys/kernel/btf/vmlinux의 BTF, 그리고 필요한 프로세스 및 소켓 트레이스포인트를 지원하는 Linux 커널.
  • 커널 헤더와 BPF 스켈레톤을 생성하기 위한 Clang/LLVM, libbpf 개발 헤더, libelf, C 빌드 툴체인, 그리고 bpftool.
  • 서비스 설치와 센서 실행을 위한 root 권한.
  • 선택적 PySide6 GUI를 위한 그래픽 데스크톱 세션.

Ubuntu에서는 설치 프로그램을 실행하기 전에 Git과 커널 도구를 설치하십시오:```bash sudo apt-get update sudo apt-get install -y git linux-tools-common "linux-tools-$(uname -r)" python3 --version bpftool version test -r /sys/kernel/btf/vmlinux && echo "Kernel BTF available"

kernel-tools 패키지는 실행 중인 커널과 일치해야 합니다. Debian에서는 `bpftool`이
별도 패키지로 제공됩니다. 설치 프로그램은 다른 빌드 및
Python 종속성을 제공하지만 `bpftool`을 명시적으로 설치하지는 않습니다.

### 데몬 및 데스크톱 GUI 설치```bash
git clone https://github.com/benny-e/guardd.git
cd guardd
sudo bash install.sh --gui

헤드리스 설치의 경우 대신 sudo bash install.sh를 실행하십시오.

설치 프로그램은 애플리케이션을 /opt/guardd에 복사하고, 가상 환경을 생성하며, eBPF 수집기를 빌드하고, /usr/local/bin/guardd를 설치한 뒤, 부팅 시 guardd.service를 활성화합니다. 이는 서비스를 시작하지 않습니다. --gui 옵션을 사용하면 Qt 런타임 의존성, 데스크톱 런처, 아이콘도 함께 설치합니다.

설치된 경로 설정

첫 시작 전에, 설치된 구성 파일을 여십시오:```bash sudoedit /opt/guardd/config.toml

`[paths]` 섹션을 절대 경로로 설정합니다:```toml
[paths]
sensor_path = "/opt/guardd/ebpf/guardd"
db_path = "/opt/guardd/data/features.db"
model_path = "/opt/guardd/data/model.bundle"

저장소 설정은 상대 경로를 사용합니다. 이 경로들은 서비스의 /opt/guardd 작업 디렉터리에서는 작동하지만, 데스크톱 런처는 다른 위치에서 시작할 수 있습니다. 절대 경로를 사용하면 데몬, GUI, CLI가 동일한 데이터를 사용할 수 있습니다.

Configuration에서 학습 설정을 검토한 후 다음을 실행하세요:```bash sudo systemctl start guardd.service systemctl status guardd.service sudo journalctl -u guardd.service -f

첫 실행은 모델을 사용할 수 있기 전에 데이터를 수집합니다. 활성 서비스는 여전히 이 수집 단계에 있을 수 있으므로, 로그에서 학습 및 탐지 여부를 확인하십시오.

## 사용법

### 데스크톱 GUI

애플리케이션 메뉴에서 **Guardd**를 열거나 다음을 실행하십시오:```bash
guardd gui

일반 데스크톱 사용자로 GUI를 실행하십시오. GUI는 기존 데이터베이스를 읽고 5초마다 새로 고칩니다. GUI를 닫아도 데몬은 계속 실행됩니다.

페이지할 수 있는 작업
개요서비스, 오늘의 경보, 모델 파일 가용성, CPU/메모리 사용량, PID, 가동 시간, 호스트/커널 세부 정보, 60초 윈도우 크기, 최근 텔레메트리를 확인합니다. 최근 경보를 선택하여 검사합니다.
경보프로세스 이름, 경로, 목적지, 사유를 검색하고, 심각도 및 최근 24시간, 7일, 30일, 전체 기간으로 필터링하며, 경보를 선택하여 점수, 임계값, 설명, 활동, 컨텍스트를 확인합니다.

즉시 업데이트하려면 새로 고침을 사용하십시오. 시간은 로컬 시간대를 사용하며, 개요의 일일 합계는 필터와 무관하게 로컬 달력 날짜를 기준으로 합니다.

다른 데이터베이스를 선택하거나 표시되는 경보 한도를 늘리려면:```bash guardd gui --db-path /opt/guardd/data/features.db --model-path /opt/guardd/data/model.bundle --limit 500

GUI는 읽기 전용 뷰어입니다. 수집, 학습, 서비스 제어는 데몬과 CLI를 통해 이루어집니다. 모델 가용성이란 파일이 존재한다는 의미일 뿐, 그 내용이 유효하다거나 탐지가 시작되었다는 의미는 아닙니다. GUI는 피클된 모델을 로드하지 않습니다. 리소스 지표는 센서를 포함한 전체 systemd 서비스를 포괄하며, CPU 100%는 논리 코어 하나를 나타냅니다. 첫 번째 CPU 판독값에는 두 개의 샘플이 필요합니다.

### 터미널 인터페이스```bash
sudo guardd tui

TUI는 2초마다 새로 고침되며 경고 세부 정보와 데몬 통계를 표시합니다. GUI와 달리 쓰기 가능한 데이터베이스 연결을 통해 스토리지를 초기화합니다; 표준 root 소유 설치에서는 sudo가 필요할 수 있습니다.

키동작
↑ / k, ↓ / j경고를 선택합니다.
/검색; Enter를 눌러 적용하거나 Esc를 눌러 취소합니다.
r검색을 지우고 첫 번째 경고로 돌아갑니다.
q / Esc종료합니다.

서비스 관리```bash

sudo systemctl stop guardd.service sudo systemctl start guardd.service sudo systemctl restart guardd.service systemctl status guardd.service sudo journalctl -u guardd.service -n 100 --no-pager sudo journalctl -u guardd.service -f

구성 파일을 편집한 후 서비스를 재시작하십시오. 부팅 시 자동 시작을 활성화하거나 비활성화하려면 `sudo systemctl enable guardd.service` 또는
`sudo systemctl disable guardd.service`를 사용하십시오.

### CLI 및 수동 작업

한 번에 하나의 수집기만 실행하십시오. 수동으로 수집하거나 탐지하기 전에 systemd 서비스를 중지하고, 모델을 학습시키기 전에 수동 수집기를 중지하십시오.

| 명령 | 목적 |
| --- | --- |
| `guardd` 또는 `guardd daemon` | 자동 수집 → 학습 → 탐지 라이프사이클을 실행합니다. |
| `guardd daemon --mode collect` | 자동 학습 없이 윈도우를 수집합니다. |
| `guardd daemon --mode detect` | 기존의 호환되는 모델을 사용하여 윈도우를 채점합니다. |
| `guardd collect` | 라이브 윈도우를 SQLite에 수집합니다. |
| `guardd train` | 저장된 윈도우로 모델을 학습시키고 요약을 출력합니다. |
| `guardd detect` | 라이브 윈도우를 채점하고 경고를 발생시킵니다. |
| `guardd ingest` | 디버깅을 위해 파싱된 센서 이벤트를 출력합니다. |
| `guardd gui` / `guardd tui` | 데스크톱 또는 터미널 인터페이스에서 경고를 탐색합니다. |

표준 설치에서 수동 워크플로는 다음과 같습니다:```bash
sudo systemctl stop guardd.service
sudo guardd collect --sensor-path /opt/guardd/ebpf/guardd --db-path /opt/guardd/data/features.db
# Press Ctrl+C after collecting enough representative activity.
sudo guardd train --db-path /opt/guardd/data/features.db --model-out /opt/guardd/data/model.bundle
sudo guardd detect --sensor-path /opt/guardd/ebpf/guardd --db-path /opt/guardd/data/features.db --model-path /opt/guardd/data/model.bundle

Ctrl+C를 눌러 수동 탐지를 중지한 다음, systemd 서비스를 재시작하여 백그라운드 작업을 재개하십시오. 포그라운드 자동 데몬의 경우 sudo guardd daemon을 사용하십시오. 원시 텔레메트리의 경우 sudo guardd ingest --sensor-path /opt/guardd/ebpf/guardd --pretty를 사용하십시오.

모든 명령에 --help를 추가하면 해당 옵션을 확인할 수 있습니다. 탐지는 --print-all-scores, --print-features, --print-windows, --no-store를 지원합니다. --no-store는 feature-window 쓰기를 비활성화합니다. 탐지된 이상은 여전히 저장됩니다.

구성

Guardd는 다음 순서로 처음 존재하는 파일을 로드합니다:

  1. 현재 작업 디렉터리의 ./guardd.toml.
  2. /etc/guardd/config.toml.
  3. /opt/guardd/config.toml.

파일은 병합되지 않습니다. 체크아웃의 config.toml은 템플릿이며, 자동으로 발견되는 개발 구성이 아닙니다. 로컬 설정의 경우 이를 guardd.toml로 복사하고 경로를 조정하십시오.

다음은 빈번한 부트스트랩 시도와 더 긴 초기 학습 기간을 가진 설치된 시스템의 예입니다:```toml [paths] sensor_path = "/opt/guardd/ebpf/guardd" db_path = "/opt/guardd/data/features.db" model_path = "/opt/guardd/data/model.bundle"

[logging] debug = false

[daemon] mode = "auto" bootstrap_retry_seconds = 600 retrain_interval_seconds = 604800 print_windows = false print_features = false print_all_scores = false no_store = false

[train] min_training_rows = 1380 baseline_fraction = 0.2 limit = 50000 contamination = 0.01 n_estimators = 200 random_state = 42 threshold_percentile = 10.0

[gui] limit = 200

도구 다운로드