シグネチャ・振る舞い・アノマリ検知とサンドボックス
メール添付の実行ファイルF-41は既知ハッシュに一致しない。サンドボックスでは何も起きなかったが、実端末で起動後にPowerShellと外向き通信が始まった。『サンドボックス陰性だから安全』『新種だからシグネチャは無意味』と結論するのは早い。四つの検知方式の対象、前提、観測できる範囲を分けて運用判断をする。
読む順序は、用語→実際の構成と処理→記録の照合→異常の成立条件→変更・復旧→短答演習です。以下の組織、アドレス、時刻、識別子、ログは教材用の架空例です。観測できた事実と、追加調査が必要な推論を分けて読みます。
1. 用語をこの事案の判断に結び付ける
用語 | 意味とこの事案での判断の限界 |
|---|---|
シグネチャ検知 | 既知のハッシュ、バイト列、通信パターン、ルール等との一致を見る。既知対象に速いが、小変更・暗号化・未登録の変種は逃し得る。 |
振る舞い検知 | プロセス、ファイル、レジストリ、認証、通信等の行動を順序と文脈で判定する。既知ハッシュに依存しないが、正規管理操作との区別が必要。 |
アノマリ検知 | 利用者・端末・ネットワーク等の基準から外れた状態を見つける。珍しさは悪意を意味せず、学習期間や業務変化で結果が変わる。 |
サンドボックス | 検体を隔離された解析環境で実行し、ファイル・プロセス・通信などの挙動を観察する。実環境とOS版・権限・ネットワーク・時間が異なると動かない場合がある。 |
静的解析 / 動的解析 | 実行せず内容を調べる方法と、実行時の挙動を見る方法。署名、文字列、構造、スクリプト、通信を組み合わせる。 |
誤検知 | 正常な対象を悪性と判定すること。隔離や停止を自動化すると業務影響が大きいため、検出条件と例外を検証する。 |
見逃し | 悪性対象を検知できないこと。陰性は観測範囲と条件に限定され、検体が起動しなかった場合は安全の証拠にならない。 |
検知と防止 | アラートを出すことと、プロセス・通信をブロックすることは別。ルールの動作モード、適用時刻、実際の効果を確認する。 |
検体回避 | サンドボックスの環境、言語、時間、入力、利用者操作等を条件に実行を遅らせる。短い観察で挙動がないだけでは無害と言えない。 |
2. 構成と判断する位置
架空のA社でF-41が09:00にメールから検体として抽出された。ハッシュ一致なし、サンドボックスはWindows版・権限が実端末と異なり09:05まで挙動なし。10:00にWS-41で利用者がF-41を実行すると、WINWORD.EXEの文書処理を経てPowerShellが起動し、外向きHTTPS通信が発生した。平常時にWS-41からその宛先への接続はない。SOCは既知パターン、行動連鎖、珍しさ、解析環境の条件を別に評価する。
何を見るかと陰性の意味を比較する。
四方式は互いを完全に置き換えない。シグネチャ一致は特定の既知特徴に強いが、陰性はその特徴の不存在だけ。サンドボックス陰性も、その実行環境と観察時間の範囲に限る。
3. 正常時の処理と管理
検体のハッシュ、出所、署名、メールのヘッダと添付名を保全し、既知シグネチャと照合する。
サンドボックスへ投入する前に機密情報の扱い、実行環境、ネットワーク、権限、観察時間を確認する。
本番端末のプロセス親子、スクリプト、ファイル書込み、通信、後続認証を集め、振る舞いの連鎖として評価する。
通常の管理作業、ソフト更新、時間帯、端末グループとの差を計測し、アノマリの理由を説明できる形にする。
検知条件を既知悪性と正規業務の両方で試し、検知・警告・自動ブロックのモードを段階的に決める。
サンドボックスは検体を実行するための隔離環境であり、製品内部の解析プロセスを守る『AV自体のサンドボックス化』とは目的が違う。科目Bでは前者の動的解析を問うことが多く、観察環境と実端末の差を読む。
4. 設定・記録のフィールドを読む
項目 | 読み方と注意点 |
|---|---|
signature version / match | どのルール版のどのパターンへ一致したか。古い定義の陰性を最新定義の陰性と同じにしない。 |
sample hash / signer | 検体の同一性と署名。ハッシュが新しいだけで安全でも悪性でもない。 |
sandbox OS / privilege | OS版、言語、権限、インストール済みアプリ。実端末でだけ発火する条件がないか確認する。 |
sandbox duration / network | 観察時間、インターネット接続、DNS解決、利用者操作。環境不足で挙動が出ないことがある。 |
process chain | 本番端末の親子プロセス、引数、スクリプト内容、ファイル・通信を時系列にする。 |
baseline / anomaly score | 学習対象、期間、季節性、群、しきい値。スコアだけで悪性と断定せず、何が通常と違うかを説明する。 |
response action | alert、quarantine、block、isolateの区別。検知アラートが出ても通信が止まったとは限らない。 |
以下は架空のメール検査・サンドボックス・端末記録。scoreは教材用の相対値であり、製品固有の危険度ではない。
09:00 mail sample=F-41 hash=H41 signature_match=no
09:05 sandbox sample=F-41 os=Win-X timeout=5m
user_action=none dns=disabled behavior=none
10:00 WS-41 sample=F-41 executed user=U-41
10:01 WS-41 parent=WINWORD.EXE child=powershell.exe
10:03 WS-41 dest=203.0.113.88:443 up=4100
10:04 anomaly=rare-destination score=0.91
10:05 EDR action=alert-only process=runningシグネチャ一致なしとサンドボックス無動作は無害の証明ではない。サンドボックスはDNS無効・利用者操作なし・5分なので、実端末の条件と違う。WS-41の文書→PowerShellと外向き通信は強い調査材料だが、0.91というスコアだけで悪性確定ではない。EDRはalert-onlyで、プロセスはまだ動いている。
5. 異常が成立する条件と証拠
状態・攻撃 | 成立条件、証拠、対策の位置 |
|---|---|
変種化 | ハッシュやバイト列を少し変えると既知シグネチャを回避し得る。行動や構造的特徴も見る。 |
暗号化・難読化 | 静的な文字列が見えない。実行時の展開、メモリ、スクリプト内容を確認する。 |
環境条件付き実行 | 特定OS版、言語、ドメイン参加、利用者操作がないとサンドボックスで動かない。実端末条件と比較する。 |
遅延実行 | 観察時間より後に動けば無挙動と判定される。時間延長と実端末の監視を検討する。 |
通常業務の誤検知 | 正規更新もPowerShellと外向き通信を行う。管理票、署名、出所、宛先、実行権限を照合する。 |
モデル汚染・変化 | 通常状態に攻撃が含まれる、または新業務で基準が変わると異常判定が崩れる。学習期間と更新を管理する。 |
検知率だけを最大化して自動隔離すると、正規端末を大量停止させ得る。逆に誤検知を恐れすぎて全てalert-onlyにすれば進行中の攻撃を止められない。対象業務と検知の確度に応じて応答段階を設計する。
6. 調査で結論を強くする順序
判定段階 | 必要な証拠と結論の上限 |
|---|---|
検体は何か | ハッシュ、署名、出所、ファイル構造、シグネチャ版と一致箇所を確認。 |
隔離解析で何が起きたか | OS・権限・DNS・ネットワーク・観察時間と動作をセットで読む。無動作の範囲を明示。 |
本番で何をしたか | 親子プロセス、スクリプト、ファイル、通信、認証を確認。結果のログを取り、アラート名に依存しない。 |
異常か悪性か | 通常業務との差と管理票を照合し、珍しさだけのスコアを確定証拠にしない。 |
止められたか | alert-onlyとblock/isolateを区別し、適用後のプロセス・通信停止を確認。 |
シグネチャはファイル全体のハッシュだけでなく、特定のバイト列、通信のパターン、ルール条件などを含む。既知検体へ素早く対応できるが、未知変種や暗号化された通信に対しては条件が一致しない場合がある。ルール版と適用範囲を必ず記録し、陰性を全安全性の証明としない。
振る舞い検知では『文書がスクリプトを起動し、資格情報へアクセスし、外へ接続した』のように複数イベントを結ぶ。個々のPowerShellや443通信は正規でも、順序と実行主体が不自然なら調査価値が上がる。どのイベントを必須とするかで誤検知と見逃しが変わる。
アノマリ検知は通常状態を定義して差を見つける。夜間ログオンや珍しい宛先は新規業務・出張でも起こる。学習する端末群、曜日、季節、更新時期としきい値を記録し、何が基準から外れたか説明する。高スコアそのものは悪性の確率とは限らない。
サンドボックスで挙動を観測しない原因には、実行条件の不足、ネットワーク・DNS制限、必要な利用者操作の欠落、短い観察時間、検体側の環境検知がある。F-41ではDNSが無効なので、外部から次段を取得する設計なら動作しない。結果を解釈する前に環境設定を確認する。
動的解析環境を無制限に外部接続させると、攻撃者の基盤へ接続し、検体が実際の攻撃を行う場合がある。ネットワークを模擬するか限定許可し、検体に社内の秘密や実アカウントを渡さない。隔離・記録・削除手順を含めて解析する。
検知アラートとブロックは別。10:05にEDRがalert-onlyなら、SOCの判断・端末隔離が行われるまでF-41由来のプロセスは続き得る。自動ブロックへ変更する際は、既知正常サンプルで業務影響を測り、例外範囲と期限を決める。
誤検知対応で広いフォルダや管理ツール全体を除外すると、そこへ置かれた悪性ファイルまで見逃す。検出元のルール、対象ファイル、正規の作業票を確認し、必要な例外を狭く設定する。見逃しを発見したら検体とテレメトリを保全し、定義・行動ルールを更新する。
四方式の結果を統合するときは、同じ一つの事象を複数アラートとして数えない。検体F-41、端末WS-41、実行時刻、プロセスIDを共通キーにし、シグネチャ陰性、サンドボックス無動作、本番での行動、アノマリ高値という異なる証拠を一件の事案にまとめる。
検知条件の評価では、検体を一つ見つけたことだけでなく、感染した端末をどれだけ見つけたかを区別する。同じ検体を十台で検出したとき、ルールの一致精度と環境全体の調査範囲は別の数字である。しきい値を緩めて検知数が増えた場合も、正規業務の誤検知と、実際に早く止められた攻撃を併記する。
7. 変更・障害・例外運用
運用場面 | 崩れやすい条件と確認 |
|---|---|
定義更新 | 配布済みと実際に稼働中のシグネチャ版を確認。オフライン端末や待機系を見落とさない。 |
業務変更 | 新しい連携先や夜間バッチでアノマリが増える。基準を見直す前に不正な変更でないか確認する。 |
サンドボックス不動作 | 実端末との差を列挙し、OS版・権限・DNS・利用者操作・観察時間を調整して再試験する。 |
自動隔離の誤検知 | 業務停止と封じ込め効果を比較し、重要端末の解除権限と監視を決める。 |
ログ欠落 | 4688、4104、DNS、EDRが未収集なら行動検知は不完全。陰性の理由として明示する。 |
検知製品の表示が『安全』でも、どの方式がどの条件で陰性だったかを確認する。陰性が多くても、対象が動作していない解析環境の結果なら本番の危険を十分に評価できない。
8. 封じ込めと復旧条件
- 1. 検体確認:対応 既知特徴を照合/確認する証跡 ハッシュと定義版
- 2. 隔離解析:対応 実行条件を記録/確認する証跡 OS・DNS・時間
- 3. 本番観測:対応 行動と異常を照合/確認する証跡 EDR・通信
- 4. 封じ込め:対応 実際に停止を確認/確認する証跡 プロセスと接続
陰性の限界を確認して本番の事実へ戻る。
F-41は本番で行動が見えているため、サンドボックス陰性を優先して無害扱いしない。逆にPowerShellや珍しい宛先だけで決めず、検体・プロセス・通信の因果関係と業務背景を確認する。
F-41、メール、サンドボックス設定、WS-41の実行・通信ログを保全する。
WS-41のプロセスと外向き通信を調べ、攻撃進行中なら隔離と宛先制限を行い、実際の停止を確認する。
サンドボックスのOS、権限、DNS、観察時間を本番条件と比較し、安全な環境で再解析する。
同じ検体・行動が他端末にないか検索し、シグネチャ・行動ルール・アノマリ基準を正規例で検証する。
侵入経路と資格を修正し、再開後の監視と誤検知対応、ルールの有効期限を決める。
検出率やアラート数だけで改善を測らない。既知悪性を検出でき、正規業務を止めず、実際に攻撃の継続を止められたかを事例と演習で確かめる。
9. 科目B(午後)の解答手順
問題文に『検知されなかった』とあれば、何が、どこで、どの版・条件・時間で検査されたかを答える。シグネチャ陰性、サンドボックス無動作、アノマリ高値、EDR alert-onlyはそれぞれ別の意味を持つ。
シグネチャは既知特徴への一致と版を確認する。
振る舞いはイベントの順序と主体を結ぶ。
アノマリは通常との差であり悪意の証明ではない。
サンドボックスの環境差と観察時間、検知とブロックの差を読む。
10. 短答演習
演習1:ハッシュ陰性
条件:F-41は既知ハッシュに一致しない。
質問:安全か。
解答:不明。変種や未知検体の可能性があり行動を調べる。
誤答の理由:既知パターンにないことを無害と扱っている。
演習2:サンドボックス
条件:DNS無効・5分で挙動なし。
質問:本番でも無害か。
解答:言えない。実端末条件と観察時間を比較する。
誤答の理由:解析環境の条件を無視している。
演習3:0.91
条件:rare-destinationのscoreが0.91。
質問:悪性確率91%か。
解答:断定できない。製品のスコア定義と通常との差を確認する。
誤答の理由:相対スコアを確率へ読み替えている。
演習4:alert-only
条件:EDRがアラートを出した。
質問:プロセスは止まったか。
解答:止まっていない。適用動作と後続プロセス・通信を確認する。
誤答の理由:検知を防止と混同している。
演習5:PowerShell
条件:文書からPowerShellが起動。
質問:攻撃確定か。
解答:未確定。スクリプト内容、出所、通信、作業票を確認する。
誤答の理由:正規の自動化可能性を排除していない。
演習6:広い除外
条件:誤検知対策でC:\Temp全体を除外。
質問:妥当か。
解答:危険。原因を調べ、対象・期間を狭めて検証する。
誤答の理由:除外先に悪性ファイルを置ける。
11. 一次資料
この記事についてAIに深掘り質問する
ChatGPT、Claude、Perplexityにこの記事を参照させ、要点の確認や疑問点を自由に質問できます。
次におすすめの学習
編集・検証について
編集・検証:IT資格ラボ編集部
IPAが公開する試験要綱・シラバス・過去問題と、各技術の公式資料を優先して内容を確認しています。制度変更や誤りを確認した場合は、記事を見直して更新します。
編集方針・情報源・訂正方針を見る