Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
SysTrace — ptraceを使用してファイル、プロセス、ネットワーク、メモリのアクティビティをトレースするLinuxシステムコールモニター。名前空間分離と、行動ベースのセキュリティ解析のための機械学習分類を備えています。 | Kitploit
ツール/GitHubGitHub/tracebyte8/systrace
動的分析 (サンドボックス)マルウェア分析機械学習異常検知
GitHubtracebyte8/systrace

SysTrace

ptraceを使用してファイル、プロセス、ネットワーク、メモリのアクティビティをトレースするLinuxシステムコールモニター。名前空間分離と、行動ベースのセキュリティ解析のための機械学習分類を備えています。

リポジトリを見る
15122時間37分前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

SysTrace

ptraceベースのトレーシング、軽量な名前空間分離、機械学習による分類を組み合わせた、Linuxシステムコール監視および挙動セキュリティ分析ツール。

SysTraceは、対象プログラムの実行時挙動をシステムコールレベルで観察し、挙動特徴を抽出して、トレーニング済みのランダムフォレストモデルを使用して観察された活動を良性または悪性として分類します。低レベルのトレーシングと分離には主にC言語で構築され、分類とレポート生成にはPython/scikit-learnコンポーネントを使用しています。


概要

SysTraceは、ptraceを使用して対象プロセスをトレースし、ファイルアクセス、プロセス生成、ネットワーク活動、メモリ操作に関連するシステムコールをキャプチャします。キャプチャされた挙動はシステムコール統計と特徴ベクトルに集約され、トレーニング済みのランダムフォレスト分類器に渡されて良性/悪性の予測が生成されます。結果は構造化されたHTMLセキュリティレポートにまとめられます。

このプロジェクトには、トレース中に対象プロセスを分離するために使用される、Linux名前空間上に構築された軽量サンドボックス層も含まれています。


アーキテクチャ

SysTrace architecture

コア機能

システムコールトレーシング

  • Linux ptraceに基づき、対象プロセスにアタッチして、システムコール引数やレジスタを含むプロセスを検査します。
  • 4つの行動カテゴリにわたる幅広いシステムコールを追跡します:
    • ファイル操作 — 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にシリアライズされます。
  • データセット DATASET

レポート

  • 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内部構造、システムコールトレーシング、名前空間ベースの分離、機械学習を使用した挙動ベースのマルウェア検出を探求する研究・学習プロジェクトです。認定された、または本番環境で使用可能なセキュリティツールではなく、悪意のあるソフトウェアに対する唯一の防御として依存すべきではありません。分離された管理された環境でのみ使用してください。


目的

このプロジェクトは、以下を探求し実証するために構築されました:

  • ptraceによるLinux内部構造とシステムコールトレーシング
  • プロセス、ファイル、ネットワーク、メモリの監視
  • Linux名前空間(clone、pivot_root、マウント名前空間)を使用したファイルシステム分離
  • サンドボックスアーキテクチャの設計
  • 挙動ベースのセキュリティ分析
  • サイバーセキュリティ分類問題への機械学習(ランダムフォレスト)の適用
ツールをダウンロード
カテゴリスタック
コアトレーサーC、Linux ptrace
分離Linux名前空間、clone、マウント名前空間、pivot_root、tmpfs
機械学習Python、scikit-learn、ランダムフォレスト
データ/出力JSON、HTML
ビルドMake