Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

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

SysTrace

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

저장소 보기
15122시간 37분 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

SysTrace

ptrace 기반 추적, 경량 네임스페이스 격리, 머신러닝 분류를 결합한 Linux 시스템 콜 모니터링 및 행동 보안 분석 도구.

SysTrace는 시스템 콜 수준에서 대상 프로그램의 런타임 동작을 관찰하고, 행동 특징을 추출하며, 학습된 Random Forest 모델을 사용하여 관찰된 활동을 정상 또는 악성으로 분류합니다. 저수준 추적과 격리는 주로 C로 구현되었으며, 분류 및 보고를 위한 Python/scikit-learn 구성 요소를 포함합니다.


개요

SysTrace는 ptrace를 사용하여 대상 프로세스를 추적하고, 파일 접근, 프로세스 생성, 네트워크 활동, 메모리 작업과 관련된 시스템 콜을 캡처합니다. 캡처된 동작은 시스템 콜 통계와 특징 벡터로 집계되며, 학습된 Random Forest 분류기에 전달되어 정상/악성 예측을 생성합니다. 결과는 구조화된 HTML 보안 보고서로 컴파일됩니다.

이 프로젝트는 또한 추적 중 대상 프로세스를 격리하는 데 사용되는 Linux 네임스페이스 기반의 경량 샌드박싱 계층을 포함합니다.


아키텍처

SysTrace architecture

핵심 기능

시스템 콜 추적

  • Linux ptrace 기반으로 대상 프로세스에 attach하여 시스템 콜 인자와 레지스터를 포함한 정보를 검사합니다.
  • 네 가지 행동 범주에 걸쳐 광범위한 시스템 콜 집합을 추적합니다:
    • 파일 작업 — open/openat, read, close, chmod
    • 프로세스 활동 — execve, fork, clone, kill
    • 네트워크 활동 — socket, connect
    • 메모리 활동 — mmap, mprotect
  • 열린 파일 디스크립터를 해당 원본 파일 이름과 연결하기 위해 파일 디스크립터 추적을 유지합니다.

규칙 기반 탐지

휴리스틱 규칙이 다음과 같은 의심스러운 행동 패턴을 플래그로 표시합니다:

  • 민감한 파일에 대한 접근
  • 과도한 파일 작업
  • 과도한 프로세스 생성
  • 의심스러운 메모리 동작 (예: 비정상적인 mmap/mprotect 사용)
  • 의심스러운 네트워크 활동

경량 샌드박스 / 격리 계층

Linux 네임스페이스 프리미티브로 직접 구축된 격리 계층:

  • CLONE_NEWUSER, CLONE_NEWPID, CLONE_NEWNS와 함께 clone() 사용
  • MS_PRIVATE를 통한 마운트 네임스페이스 구성
  • pivot_root 및 umount2를 사용한 루트 파일시스템 전환
  • /tmp/systrace-root 아래에 런타임 시 구성되는 tmpfs 기반 최소 루트 파일시스템

이는 추적 대상에 대한 기본적인 프로세스, PID, 마운트 격리를 제공합니다 — 컨테이너 런타임을 대체하는 것은 아닙니다.

머신러닝 분류

  • 특징 벡터는 시스템 콜 통계에서 파생되며 다음 필드를 포함합니다: file, process, network, fork, connect, execve, read, open, close, memory, chmod, kill, label
  • RandomForestClassifier(scikit-learn)가 이러한 벡터로 학습되어 정상 동작과 악성 동작을 구분합니다.
  • 학습된 모델은 ml/syscall_model.pkl로 직렬화됩니다.
  • 데이터셋

보고

  • features.json(원시 특징 데이터) 및 report.html(사람이 읽을 수 있는 보고서) 형태의 구조화된 출력
  • HTML 보고서는 모니터링된 활동, 트리거된 보안 규칙/이벤트, 시스템 콜 통계, 최종 ML 분류를 요약합니다.

특징 벡터 예시

root@kitploit:~
[file, process, network, fork, connect, execve, read, open, close, memory, chmod, kill]
[15,   2,       0,       0,    0,       2,      1,    10,   4,     14,     6,     0]

기술


프로젝트 구조

root@kitploit:~
linux-syscall-monitor/
├── include/
├── src/
│   ├── tracer.c            # Core ptrace-based syscall tracer
│   ├── syscall.c           # Syscall interception/handling
│   ├── namespace.c         # Namespace/clone setup
│   ├── set_root.c          # pivot_root / minimal rootfs setup
│   ├── file_monitor.c      # File operation monitoring
│   ├── process_monitor.c   # Process creation/execution monitoring
│   ├── network_monitor.c   # Network activity monitoring
│   ├── memory_monitor.c    # Memory-related activity monitoring
│   ├── fd_tables.c         # File descriptor tracking
│   ├── rules.c             # Rule-based detection logic
│   ├── alert.c             # Security alert generation
│   ├── stat.c               # Syscall statistics aggregation
│   └── dataset.c           # Feature vector / dataset generation
├── ml/
│   ├── train.py             # Random Forest training script
│   ├── predict.py           # Classification / inference script
│   └── syscall_model.pkl    # Trained model
├── dashboard/                # Report/dashboard assets
├── tests/
├── Makefile
├── dataset.csv
└── README.md

제한 사항

  • 샌드박스는 교육용 경량 격리 계층입니다 — 프로덕션급 컨테이너 런타임도, 강화된 악성코드 분석 샌드박스도 아닙니다.
  • 네임스페이스 격리는 사용자, PID, 마운트 네임스페이스만 포함합니다; 네트워크 네임스페이스 격리, seccomp 필터링, cgroup 리소스 제한은 구현하지 않습니다.
  • ptrace 기반 추적은 관찰 가능한 오버헤드를 발생시키며, 충분히 정교한 악성코드에 의해 탐지되거나 회피될 수 있습니다.
  • ML 분류기는 제한된 특징 집합(집계된 시스템 콜 수)과 데이터셋으로 학습됩니다; 분류 정확도는 학습 데이터의 품질과 다양성에 따라 달라집니다.
  • 적절히 격리된 연구 환경 밖에서 신뢰할 수 없거나 실제로 악성인 바이너리를 추적하기 위한 용도는 아닙니다.

보안 고지

SysTrace는 Linux 내부 구조, 시스템 콜 추적, 네임스페이스 기반 격리, 머신러닝을 사용한 행동 기반 악성코드 탐지를 탐구하는 연구 및 학습 프로젝트입니다. 인증되었거나 프로덕션 준비가 된 보안 도구가 아니며, 악성 소프트웨어에 대한 유일한 방어 수단으로 의존해서는 안 됩니다. 격리된 통제 환경에서만 사용하십시오.


목적

이 프로젝트는 다음을 탐구하고 시연하기 위해 제작되었습니다:

  • Linux 내부 구조와 ptrace를 통한 시스템 콜 추적
  • 프로세스, 파일, 네트워크, 메모리 모니터링
  • Linux 네임스페이스를 사용한 파일시스템 격리 (clone, pivot_root, 마운트 네임스페이스)
  • 샌드박스 아키텍처 설계
  • 행동 기반 보안 분석
  • 사이버 보안 분류 문제에 머신러닝(Random Forest) 적용
도구 다운로드
분류기술 스택
핵심 추적기C, Linux ptrace
격리Linux 네임스페이스, clone, 마운트 네임스페이스, pivot_root, tmpfs
머신러닝Python, scikit-learn, Random Forest
데이터 / 출력JSON, HTML
빌드Make