Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

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

SysTrace

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

リポジトリを見る
252931ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

SysTrace 2.0

ptraceベースのLinuxシステムコールモニターおよびELFバイナリ解析用サンドボックス。

SysTraceは対象を分離されたLinux名前空間環境内で実行し、そのシステムコールと子プロセスをトレースし、ルールベースの検出と重み付きリスクスコアリングを適用した後、二次的なシグナルとしてRandom Forest分類器を使用します。

機能

  • ptraceシステムコールトレース
  • fork、vfork、clone、execveの追跡
  • Linuxユーザー、PID、マウント名前空間
  • 最小限のpivot_rootサンドボックス
  • ファイル、プロセス、メモリ、ネットワークの監視
  • プロセスごとおよび集計のシステムコール統計
  • SIGKILL強制を伴うルールベース検出
  • 0~100の重み付きリスクスコア
  • Random Forest機械学習分類
  • 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

監視対象

カテゴリ追跡されるシステムコール
ファイルopen、openat、read、close
プロセスexecve、fork、clone、wait4、ptrace
メモリmmap、mprotect
ネットワークsocket、connect、sendto、recvfrom、bind、listen、accept

その他のシステムコールも、システムコールテーブルに名前が存在する場合は syscall.txt に書き込まれます。

検出ルール

トリガー条件アクション
機密ファイルへのアクセス/etc/passwd または /etc/shadowアラート + SIGKILL
過剰なファイルオープンopen > 100アラート + SIGKILL
過剰な読み取りread > 29アラート + SIGKILL
過剰なフォークfork/clone > 8アラート + SIGKILL
過剰な再実行execve > 8アラート + SIGKILL
ネットワーク接続任意の connect()アラート + SIGKILL
ネットワーク送信追跡対象の送信システムコールアラート + 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 は二次的な行動シグナルとして 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.cmmap/mprotect 操作を繰り返す

例:

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

次に開きます:

xdg-open security_report.html

セキュリティと制限事項

SysTrace は研究/学習用の動的解析ツールであり、堅牢なセキュリティ境界や本番環境向け EDR ではありません。

重要な制限事項:

  • 1回の実行で解析されるターゲットは1つだけです。
  • 強制措置は検出後の SIGKILL によって行われ、カーネルレベルのシステムコールブロックではありません。
  • サンドボックスは Linux の user/PID/mount 名前空間と pivot_root を使用します。
  • 非特権ユーザー名前空間が有効になっている必要があります。
  • 最小限のルートファイルシステムには、ターゲットと選択されたランタイムライブラリのみが含まれます。
  • 追加の依存関係を持つ動的リンクバイナリは、サンドボックス内で失敗する可能性があります。
  • サンドボックスのランタイムは現在、x86-64 のライブラリパスを前提としています。
  • ファイルディスクリプタの追跡は PID 単位ではなくグローバルです。
  • ML モデルには公開された精度保証はありません。
  • ルールエンジンと ML 分類器は、偽陽性および偽陰性を生成する可能性があります。
  • サンドボックスは VM や堅牢化されたコンテナの代替として扱うべきではありません。

SysTrace は、自身が所有する、または解析を許可されているバイナリに対してのみ実行してください。

信頼できないバイナリの場合は、専用の VM またはその他適切に分離された環境を使用してください。

バージョン

SysTrace 2.0

ツールをダウンロード