deploying-decoy-files-for-ransomware-detection について
エンドポイントやファイル共有に監視対象のデコイファイルを配置し、ランサムウェアの活動を検知するセキュリティスキルです。配置、ファイル監視、アラート連携、制御された検証を扱い、予防策の代替ではない点も示します。
主な機能
- 01カナリアファイルの配置計画
- 02現実的なデコイファイルの作成
- 03ファイル変更と削除の監視
- 04対応システムへのアラート連携
- 05制御テストによる検知検証
活用シーン
- 01ファイル共有へのランサムウェアアラート追加
- 02SOCやSIEMのアラート連携テスト
- 03安全なデコイ変更による対応動作の確認
- 04重要ディレクトリの監視
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill deploying-decoy-files-for-ransomware-detectionインストール後、Claude Code で/deploying-decoy-files-for-ransomware-detectionを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEreferences/api-reference.mdscripts/agent.py詳細
ランサムウェア検知のためのおとり(デコイ)ファイルの配置
使用するタイミング
- ファイルサーバーやエンドポイントでランサムウェアの早期警告検知を設定するとき
- EDR/AV を補完するため、未知のランサムウェアの亜種を捕捉するデセプションベースの検知レイヤーを追加するとき
- 誤検知率が非常に低い高精度のランサムウェアアラートを作成するとき(正規のユーザーがデコイファイルに触れる理由はありません)
- カナリアファイルの変更が想定どおりのアラートパイプラインを起動することを検証し、ランサムウェア対応手順をテストするとき
- 不正な暗号化活動を示すトリップワイヤーファイルで、重要度の高いファイル共有(財務、人事、法務)を保護するとき
デコイファイルを唯一のランサムウェア対策として使用しないでください。 これは検知の仕組みであり、防止の仕組みではありません。バックアップ、EDR、アクセス制御と組み合わせて使用してください。
前提条件
- クロスプラットフォームのファイルシステム監視用に
watchdogライブラリを導入した Python 3.8 以降 - カナリアファイルを配置するための、対象のファイル共有またはエンドポイントへの管理者権限
- アラートのルーティング用のファイル整合性監視(FIM)ツールまたは SIEM 連携
- 重要度の高い場所にカナリアを配置するための、対象ディレクトリ構造の把握
- Windows: NTFS 変更ジャーナルまたは ReadDirectoryChangesW API へのアクセス
- Linux: カーネルで inotify がサポートされていること(最新のカーネルでは標準)
ワークフロー
ステップ 1: カナリアファイル戦略の設計
検知カバレッジを最大化するためにファイルの配置を計画します。
Canary File Placement Strategy:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Naming Convention:
- Use names that sort FIRST and LAST alphabetically in each directory
- Ransomware typically enumerates directories A-Z or Z-A
- Examples: _AAAA_budget_2024.docx, ~zzzz_report_final.xlsx
Placement Locations:
- Root of every file share (\\server\share\_AAAA_canary.docx)
- Desktop, Documents, Downloads on each endpoint
- Department-specific shares (Finance, HR, Legal)
- Backup staging directories
- Home directories of high-privilege accounts
File Types:
- .docx, .xlsx, .pdf (most targeted by ransomware)
- .sql, .bak (database files, high value)
- Mix of file types to detect ransomware that targets specific extensions
ステップ 2: 現実的なカナリアファイルの生成
現実的な内容とメタデータを持つデコイファイルを作成します。
import os
import time
def create_canary_docx(filepath, content="Q4 Financial Summary - Confidential"):
"""Create a realistic .docx canary file using python-docx."""
from docx import Document
doc = Document()
doc.add_heading("Financial Report - CONFIDENTIAL", level=1)
doc.add_paragraph(content)
doc.add_paragraph(f"Generated: {time.strftime('%Y-%m-%d')}")
doc.save(filepath)
def create_canary_txt(filepath):
"""Create a simple text canary with known content for hash verification."""
content = "CANARY_TOKEN_DO_NOT_MODIFY\n"
content += f"Created: {time.strftime('%Y-%m-%dT%H:%M:%S')}\n"
content += "This file is monitored for unauthorized changes.\n"
with open(filepath, "w") as f:
f.write(content)
ステップ 3: ファイルシステムウォッチャーのデプロイ
カナリアファイルへのあらゆる変更、名前変更、削除を監視します。
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
class CanaryHandler(FileSystemEventHandler):
def __init__(self, canary_paths, alert_callback):
self.canary_paths = set(canary_paths)
self.alert_callback = alert_callback
def on_modified(self, event):
if event.src_path in self.canary_paths:
self.alert_callback("MODIFIED", event.src_path)
def on_deleted(self, event):
if event.src_path in self.canary_paths:
self.alert_callback("DELETED", event.src_path)
def on_moved(self, event):
if event.src_path in self.canary_paths:
self.alert_callback("RENAMED", event.src_path)
ステップ 4: アラートと対応の設定
カナリアファイルがトリガーされたときの自動対応を定義します。
Alert Response Matrix:
━━━━━━━━━━━━━━━━━━━━━
Event: Canary MODIFIED
→ Severity: CRITICAL
→ Action: Alert SOC, identify modifying process (PID), isolate endpoint
Event: Canary DELETED
→ Severity: HIGH
→ Action: Alert SOC, check for ransomware note in same directory
Event: Canary RENAMED (new extension added)
→ Severity: CRITICAL
→ Action: Alert SOC, check extension against known ransomware extensions
→ Automated: Kill modifying process, disable network interface
Event: Multiple canaries triggered within 60 seconds
→ Severity: EMERGENCY
→ Action: Network-wide isolation, activate incident response plan
ステップ 5: 検知カバレッジの検証
カナリアファイルが実際のランサムウェアの動作を検知することをテストします。
# Simulate ransomware encryption (safe test - modifies canary content)
echo "ENCRYPTED_BY_TEST" > /path/to/canary/_AAAA_budget.docx
# Simulate ransomware rename (adds extension)
mv /path/to/canary/report.xlsx /path/to/canary/report.xlsx.locked
# Verify alerts were generated in SIEM/alerting system
検証
- 保存されたハッシュのベースラインを使って、すべてのカナリアファイルが存在し、変更されていないことを確認する
- カナリアファイルへの変更が想定時間内(30 秒以内)にアラートを生成することを確認する
- 管理されたテスト用の変更で、SOC/SIEM へのアラートルーティングが機能することをテストする
- 自動対応アクション(プロセスの強制終了、ネットワークの隔離)が正しく実行されることを検証する
- 通常のバックアップおよびリストア操作後もカナリアファイルが残っていることを確認する
- 正規のユーザーやプロセス(バックアップエージェント、AV スキャン)が誤検知アラートから除外されていることを確認する
主要な概念
| 用語 | 定義 |
|---|---|
| カナリアファイル | 任意のアクセスや変更を監視するディレクトリに配置されたデコイファイルで、不正な活動のトリップワイヤーとして機能する |
| ハニートークン | ファイル、認証情報、データベースレコードなど、アクセスされたときにアラートを発するように設計された、より広いカテゴリのデセプション用アーティファクト |
| ファイル整合性監視 | ハッシュ、サイズ、権限、タイムスタンプなどのファイル属性を継続的に監視し、不正な変更を検知する仕組み |
| ReadDirectoryChangesW | ディレクトリ内のファイルシステムの変更を監視するための Windows API。Windows では watchdog ライブラリが使用する |
| inotify | ファイルシステムイベントを監視するための Linux カーネルのサブシステム。ファイル変更をほぼ即座に通知する |
ツールとシステム
- watchdog (Python): Windows、Linux、macOS をサポートするクロスプラットフォームのファイルシステムイベント監視ライブラリ
- Canarytokens (Thinkst): ファイル、URL、DNS トークンなど、さまざまな種類のカナリアトークンを生成できる無料のホスト型サービス
- OSSEC/Wazuh: 組み込みのファイル整合性監視とアラート機能を備えたオープンソースの HIDS
- Elastic Endpoint: ランサムウェア対策やキー取得のために内部でカナリアファイルを使用
- Sysmon: ファイル作成イベント(イベント ID 11)を記録する Windows システムモニター。カナリアファイルの監視に使用
コメント
Markdown 対応