
CMU CERT データセットに対する GCN-BiLSTM とアテンションモデルを使用したグラフベースの内部関係者脅威検出。異常検出研究のためのデータ前処理、特徴抽出、および事前トレーニング済みチェックポイントが含まれます。
このリポジトリには、CMU CERT Insider Threat Test Dataset(R5.2、R6.2)を使用したインサイダー脅威検出のためのデータ準備、特徴抽出、およびグラフベースモデル(暗黙的+明示的信号向けのGCN-NN、GCN-BiLSTM、GCN-BiLSTM+Attention)が含まれています。
.
│ environment.yml
│ requirements.txt
│ tree.txt
│
├── data/
│ ├── original/
│ │ ├── r5_data/
│ │ └── r6_data/
│ ├── preprocessed/
│ │ ├── r5_data/
│ │ └── r6_data/
│ ├── r5.2-used-model/
│ └── r6.2_used_model/
│
├── notebook/
│ │ 01_feature_extraction.ipynb
│ │ 02_GCN-LSTM.ipynb
│ │ 03_GCN.ipynb
│ │ 04_GCN_Implicit_Explicit.ipynb
│ │ r5_data_preparation.ipynb
│ │ r6_data_preparation.ipynb
│ │ email_http_divider.ipynb
│
└── script/
│ get_feature.py
│ process_feature.py
└── __pycache__/
完全な詳細ツリー(すべての
.pklおよびモデルチェックポイントを含む)は、このREADMEを簡潔に保つためにtree.txtに保持できます。
リポジトリをクローンする
git clone https://github.com/your-username/your-repo.git
cd your-repo
Conda環境を作成する
conda env create -f environment.yml
アクティベートする
conda activate <env_name>
<env_name> を environment.yml の name: にある値に置き換えてください。
(任意)Pipのみでインストールする
pip install -r requirements.txt
次のサイトから CMU CERT Insider Threat Test Dataset(R5.2 および R6.2)をダウンロードしてください:
https://kilthub.cmu.edu/articles/dataset/Insider_Threat_Test_Dataset/12841247
生データを以下の場所に配置します:
data/original/r5_data/
data/original/r6_data/
前処理用ノートブックを実行して、より小さなセッションファイルと正規のCSV/PKLを作成します。
R5.2
notebook/r5_data_preparation.ipynb
R6.2
notebook/r6_data_preparation.ipynb
期待されるR5.2の出力(例):
r5_small_device_session.pkl
r5_small_file_session.pkl
r5_small_email_session.pkl
r5_small_http_session.pkl
r5_small_sessoion_data.pkl
r5_small_session_log_df.pkl
期待されるR6.2の出力には以下が含まれます:
r6_2_small_device_session.pkl
r6_2_small_file_session.pkl
r6_2_small_email_session.pkl
r6_2_small_http_session.pkl
r6_2_small_session_log_df.pkl
r6_2_user_df_pc.csv
出力は以下の場所に保存されます:
data/preprocessed/r5_data/
data/preprocessed/r6_data/
実行:
notebook/01_feature_extraction.ipynb
出力:
log_activity_code.pkl
device_activity_code.pkl
file_activity_code.pkl
email_activity_code.pkl
http_activity_code.pkl
このノートブックはグラフリスト/マスクも生成します。例:
data/preprocessed/r6_data/r6_graph_list_feature_corrected_range_corrected.pkl
GCN-BiLSTM(明示的)
notebook/02_GCN-LSTM.ipynb
GCN-NN(明示的)
notebook/03_GCN.ipynb
GCN-BiLSTM + Attention(暗黙的+明示的)
notebook/04_GCN_Implicit_Explicit.ipynb
事前学習済みチェックポイントとROC成果物は以下にあります:
data/r5.2-used-model/
data/r6.2_used_model/
各サブフォルダには以下が含まれます:
*.pth # model weights
roc_curve_data_*.npz # saved ROC curve data
roc_curves*.png # ROC plots