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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
SysTrace — ptrace를 사용하여 파일, 프로세스, 네트워크 및 메모리 활동을 추적하는 Linux 시스템 호출 모니터로, 네임스페이스 격리와 머신러닝 분류를 통한 행동 기반 보안 분석을 제공합니다. | Kitploit
도구/GitHubGitHub/tracebyte8/systrace
Dynamic Analysis (Sandboxing)Malware AnalysisMachine LearningAnomaly Detection
GitHubtracebyte8/systrace

SysTrace

ptrace를 사용하여 파일, 프로세스, 네트워크 및 메모리 활동을 추적하는 Linux 시스템 호출 모니터로, 네임스페이스 격리와 머신러닝 분류를 통한 행동 기반 보안 분석을 제공합니다.

저장소 보기
252931개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

SysTrace 2.0

ptrace 기반 Linux 시스템 콜 모니터 및 ELF 바이너리 분석용 샌드박스입니다.

SysTrace는 격리된 Linux 네임스페이스 환경에서 대상 프로그램을 실행하고, 해당 프로그램의 시스템 콜과 자식 프로세스를 추적하며, 규칙 기반 탐지와 가중치 기반 위험 점수를 적용한 뒤 Random Forest 분류기를 보조 신호로 사용합니다.

기능

  • ptrace 시스템 콜 추적
  • fork, vfork, clone, execve 추적
  • Linux user, PID, mount 네임스페이스
  • 최소한의 pivot_root 샌드박스
  • 파일, 프로세스, 메모리, 네트워크 모니터링
  • 프로세스별 및 전체 시스템 콜 통계
  • SIGKILL 강제 적용을 통한 규칙 기반 탐지
  • 0–100 범위의 가중치 기반 위험 점수
  • Random Forest ML 분류
  • HTML 보안 보고서
  • JSON 및 텍스트 로그
  • 원시 시스템 콜 추적

빠른 시작

저장소를 복제합니다:

git clone https://github.com/tracebyte8/SysTrace.git
cd SysTrace

구성 스크립트를 실행 가능하게 만드세요:

chmod +x config.sh

컴파일된 ELF 바이너리에 대해 SysTrace를 실행합니다:

./config.sh ./tests/bin/mal_fileopen

config.sh는 자동으로 다음을 수행합니다:

  1. gcc, make, python3를 확인합니다
  2. .venv를 생성합니다
  3. 필요한 Python 종속성을 설치합니다
  4. SysTrace를 빌드합니다
  5. 모니터를 통해 대상을 실행합니다
  6. 보안 보고서를 생성합니다

수동으로 Python 패키지를 설치할 필요가 없습니다.

대상은 이미 컴파일된 ELF 바이너리여야 합니다. .c 소스 파일을 직접 전달할 수 없습니다.

아키텍처

Target ELF
    │
    ▼
Namespace Sandbox
    │
    ├── CLONE_NEWUSER
    ├── CLONE_NEWPID
    ├── CLONE_NEWNS
    └── pivot_root
    │
    ▼
ptrace Tracer
    │
    ├── Syscall tracing
    ├── fork/vfork/clone following
    └── exec following
    │
    ▼
System Call Monitors
    │
    ├── File
    ├── Process
    ├── Memory
    └── Network
    │
    ▼
Statistics
    │
    ▼
Rule Engine
    │
    ├── Alerts
    └── SIGKILL enforcement
    │
    ▼
Risk Scoring
    │
    ├── features.json
    │
    └── Random Forest
             │
             ▼
      security_report.html

모니터링 대상

카테고리추적되는 syscall
파일open, openat, read, close
프로세스execve, fork, clone, wait4, ptrace
메모리mmap, mprotect
네트워크socket, connect, sendto, recvfrom, bind, listen, accept

다른 syscall들도 syscall 테이블에서 이름을 확인할 수 있는 경우 syscall.txt에 기록됩니다.

탐지 규칙

트리거조건동작
민감한 파일 접근/etc/passwd 또는 /etc/shadow경고 + SIGKILL
과도한 파일 열기open > 100경고 + SIGKILL
과도한 읽기read > 29경고 + SIGKILL
과도한 포크fork/clone > 8경고 + SIGKILL
과도한 재실행execve > 8경고 + SIGKILL
네트워크 연결모든 connect()경고 + SIGKILL
네트워크 전송추적되는 send syscall경고 + SIGKILL
메모리 보호 변경mprotect > 5경고 + SIGKILL
프로세스 간 추적모든 ptrace()경고 + SIGKILL
높은 위험점수 ≥ 70경고 + SIGKILL
중간 위험40 ≤ 점수 < 70경고

killit은 규칙 엔진이 수행한 SIGKILL 동작을 기록합니다.

위험 점수 산정

SysTrace는 가중치가 적용된 행위 점수를 계산합니다:

score =
    (sum of weighted syscall counts)
    / (total syscalls × 6.0)
    × 100

점수는 0–100으로 제한됩니다.

규칙 엔진이 프로세스를 종료하면 위험 점수는 최소 90으로 강제 설정됩니다.

가중치

동작가중치
ptrace6.0
connect5.0
네트워크4.0
execve3.0
mprotect3.0
fork2.0
프로세스1.5
open0.5
mmap0.5
파일0.3
read0.2
close0.1

머신 러닝

SysTrace는 2차 행동 신호로 Random Forest 분류기를 사용합니다.

모델은 다음 위치에 있습니다:

ml/syscall_model.pkl

모니터링된 시스템 콜 통계는 다음으로 내보내집니다:

features.json

ml/predict.py는 최신 피처 레코드를 읽고 다음을 생성합니다:

prediction.txt

예시:

Program: ./tests/bin/mal_fileopen

Prediction: MALICIOUS
Confidence: 91.42%

ML 결과는 확정적인 판정이 아닌 보조 신호로 취급해야 합니다.

이 저장소는 원본 학습 데이터셋이나 공개된 모델 정확도를 제공하지 않습니다.

보고서 및 로그

파일설명
security_report.html최종 HTML 보안 보고서
alerts.jsonJSON 보안 경고
features.jsonML 피처 레코드
prediction.txt최신 ML 예측
log.txt사람이 읽을 수 있는 경고
syscall.txt원시 시스템 콜 추적

features.json, alerts.json, log.txt, syscall.txt는 실행 간에 레코드를 누적합니다.

security_report.html과 prediction.txt는 매 실행마다 덮어쓰여집니다.

대시보드

SysTrace Dashboard

HTML 보고서에는 다음이 포함됩니다:

  • 규칙 엔진 점수
  • ML 예측
  • ML 신뢰도
  • 최종 위험 백분율
  • 보안 이벤트
  • 행동 통계

프로젝트 구조

SysTrace/
├── src/
│   ├── tracer.c
│   ├── namespace.c
│   ├── set_root.c
│   ├── file_monitor.c
│   ├── process_monitor.c
│   ├── memory_monitor.c
│   ├── network_monitor.c
│   ├── rules.c
│   ├── score.c
│   ├── stat.c
│   └── dataset.c
│
├── include/
├── dashboard/
│   ├── index.c
│   └── style.css
│
├── ml/
│   ├── train.py
│   ├── predict.py
│   └── syscall_model.pkl
│
├── tests/
│   └── bin/
│
├── image/
├── Makefile
├── config.sh
└── README.md

수동으로 빌드하기

config.sh를 사용하고 싶지 않다면:

make

프로젝트 정리:

make clean

재빌드:

make re

수동 Python 설정:

python3 -m venv .venv
source .venv/bin/activate
pip install numpy scikit-learn

테스트 프로그램

프로그램동작
benign_idle.c대기 후 종료
benign_fileread.c임시 파일을 생성, 읽기, 삭제
mal_fileopen.c여러 파일을 열기/읽기/닫기
mal_forkbomb.c제한된 수의 자식 프로세스 생성
mal_connect.c여러 네트워크 연결 시도
mal_mmap_mprotect.c반복적인 mmap/mprotect 작업

예시:

./config.sh ./tests/bin/mal_forkbomb

그런 다음 다음을 엽니다:

xdg-open security_report.html

보안 및 제한 사항

SysTrace는 연구/학습용 동적 분석 도구이며, 강화된 보안 경계나 프로덕션 EDR이 아닙니다.

중요한 제한 사항:

  • 실행당 단일 대상만 분석됩니다.
  • 탐지 후 SIGKILL을 통해 강제 종료되며, 커널 수준의 시스템 호출 차단은 아닙니다.
  • 샌드박스는 Linux 사용자/PID/마운트 네임스페이스와 pivot_root를 사용합니다.
  • 비특권 사용자 네임스페이스가 활성화되어 있어야 합니다.
  • 최소 루트 파일 시스템에는 대상과 선택된 런타임 라이브러리만 포함됩니다.
  • 추가 종속성이 있는 동적 링크 바이너리는 샌드박스 내에서 실패할 수 있습니다.
  • 샌드박스 런타임은 현재 x86-64 라이브러리 경로를 가정합니다.
  • 파일 디스크립터 추적은 PID 범위가 아닌 전역으로 이루어집니다.
  • ML 모델에는 공개된 정확도 보장이 없습니다.
  • 규칙 엔진과 ML 분류기는 오탐과 미탐을 생성할 수 있습니다.
  • 샌드박스는 VM이나 강화된 컨테이너의 대체물로 간주되어서는 안 됩니다.

SysTrace는 소유하거나 분석 권한이 있는 바이너리에 대해서만 실행하십시오.

신뢰할 수 없는 바이너리의 경우 전용 VM 또는 적절히 격리된 다른 환경을 사용하십시오.

버전

SysTrace 2.0

도구 다운로드