VPN ログイン後のランサムウェア:証拠が支持するもの
02:14 のログインと 03:02 の暗号化ファイルは調査に値する順序であり、入口ではありません。認証・セッション・ホストの証拠を分けて保つこと。
以下はすべて仮想の記録を用いており、実際の事例を記述するのではなく、形を示すために組み立てたものだ。鎖のように読める——02:14 のゲートウェイ認証、02:19 のデスクトップセッション、02:41 の特権アカウントの変更、そして 03:02 に発見された暗号化ファイル——最初の行は答えのように見え、報告書もしばしばそうであるかのように書かれる。ログインはゲートウェイが記録した出来事であり、誰かがどう入ったかについての所見ではない。この違いが次に何をするかを決める。
症状:答えのように見えるログイン
認証記録は最も入手しやすい証拠であり、最も過大に読まれやすい証拠でもある。サービスがある時刻に、あるアドレスから、あるアカウントのために資格情報を受け入れたことを示す。資格情報を誰が支配していたか、ゲートウェイが悪用されたか、アカウント所有者の端末がすでに侵害されていたかは示さない。
三つの説明が同じログイン行に当てはまる。誰かが盗んだパスワードを使い、ゲートウェイは作られたとおりに動作した。以前に侵害されたノート PC がいつものようにログインした。無関係な公開サービスが本当の入口で、VPN セッションは同じ行為者による後発の別行動である。
それぞれの説明は環境の別の場所で異なる証拠を予測するので、調査は最初に合う説明の確認ではなくその予測を探さなければならない。盗まれたパスワードは異常な認証の地理や時刻を予測する。侵害されたノート PC はログイン前のホストの痕跡を予測する。無関係な入口はゲートウェイとまったく関係のない活動を予測する。
語る前に出来事を分けておく
物語が存在する前に出来事を別々に書き留める——物語はタイムラインを容疑者の周りに並べるよう誘うからだ。各行は、その記録が何を立証し、別に、単独では何を立証できないかを述べるべきだ。二つの行が一文に統合された瞬間、解釈がすでに勝っている。
最後の出来事は攻撃者ではなく検知についてだということに注意してほしい。発見時刻と侵害時刻は通常、数時間あるいは数週間離れており、両者を同一視する報告書は、あなたの後に来るすべての読者を誤らせる。
各タイムスタンプがどこから来たのかを記録し、何を言うかだけを記録しない。収集側の受信時刻、事象時刻、検知時刻は三つの異なる数であり、それらを黙って一つの列に正規化することこそ、証拠が決して持たなかった形をタイムラインに与える方法だ。
識別子が一致する場所でのみ記録を結合する
記録の統合は仮説であり、整形の手順ではない。アカウント名、割り当てられた VPN アドレス、対象ホスト、セッション識別子が一致して初めて、二つの行が一つの物語になる。共有された公開アドレスでは足りない、設計上共有されているからだ。
| Record source | Join key that must match | What breaks when the key is missing |
|---|---|---|
| File-share or backup record | file path and modification time | impact cannot be ordered against any session |
| Host process record, EDR or audit log | host name and process start time | the process cannot be placed inside a session |
| Session broker or remote-desktop log | session identifier and target host | the session cannot be traced back to a gateway login |
| Gateway authentication log | account name and assigned VPN address | the session cannot be followed past the gateway |
入口を追うときは表を下から上へ、影響の範囲を定めるときは上から下へ読む——二つの問いは逆の向きを必要とするからだ。識別子が本当に一致する箇所では、そう述べて両方の記録を引用する。一致しない箇所では、仮定で隙間を閉じず、見えるままにしておく。
ここで見慣れたユーザー名も誤らせる。同じアカウントを朝は正当な保有者が、夜は別の誰かが使うことがあり、アカウント名だけでは両者を区別できない。アカウントを帰属させ、次に人物を別に帰属させ、それを支えるものがあるときに限る。レビューで崩れるタイムラインの多くは、まさにこの手順を急ぎすぎている。
欠けたログは隙間であり、陰性の証拠ではない
失敗したパスワードの事象がないことは、成功したログインが正当だったことを証明しない。有効な盗難済み資格情報は成功した認証記録を生み、失敗はまったく生まない——それこそが資格情報の窃取を魅力的にする。
同様に、今日閉じているポートは今日について何かを語る。そのサービスが当時公開されていたか、当時脆弱だったか、攻撃を運んだかについては何も語らない。過去の構成とサービスの証拠だけがその隙間を埋められる。
報告書に隙間を明示する。「その区間の記録はない」は弁護できる文であり、「他に何も起きなかった」はそうではなく、引用されて返ってくる。隙間には所有者もいる——記録を生むべきだったシステムと、生まなかった理由を名指しする。その一行が漏れを是正項目に変える。
証拠が支持する水準で所見を書く
保全、封じ込め、復旧はインシデントの責任者を通じて調整し、その周りで動かない。CISA の技術指針は、復旧が残存するものを変える前に、関連する成果物とログを収集することを重視しており、その順序はどの単一の道具よりも重要だ。
隙間を埋めるために稼働中の機器に対して疑わしいエクスプロイトを再実行するのは、加わる危険に見合わない。攻撃が成功し得たことを示す試験は、成功した証拠ではない——この二つの言明の差が、この演習の規律そのものだ。
四つの一覧で締める——観察されたこと、記録が支持する関係、仮説にとどまること、利用できない記録。記録が支持するなら「インシデント中に VPN アカウントが使われた」は二番目の一覧に入る。「VPN がランサムウェアを引き起こした」は、何かが因果を示すまでどこにも入らない。