関連するソリューション
サイバーセキュリティ
ID-Ashura/セキュリティサービス
先端技術部
エバンジェリスト 内山 史一
こんにちは。先端技術部 エバンジェリストの内山です。
前回のコラム(【エバンジェリスト・ボイス】Threat Hunting ~リスクに強い組織を目指そう!~)では、Threat Huntingの必要性と、そのメリットやベネフィットにフォーカスを当ててご案内いたしました。
Threat Hunting を効果的に実践するには、観測すべきデータの質と量、分析手法やアナリストのスキル等、幾つかの大事な要素があります。
そこで、今回のコラムでは、自組織のネットワーク内部に侵入した脅威が存在すると仮定した場合、その存在を裏付ける痕跡を見つけるには、どのようなデータソースを確認すればよいか考えていきたいと思います。
今回のコラムのテーマは少し長くなる予定ため、2~3回に分けてお届けする予定です。
あらゆる接触は痕跡を残す
突然ですが、皆さんは「ロカールの交換原理」をご存知でしょうか。
これは、フランスの犯罪学者エドモン・ロカールにより、「犯人と犯罪現場あるいは被害者との間で、いかに微細なものであれ、検出が困難なものであれ、物体が常に交換される」と定義された、法科学の基本的な原則です。海外ミステリーや某科捜研のドラマなどで見たり聞いたりされたことがある方もいらっしゃると思います。(私はお気に入りの海外ミステリーで初めて知りました。)犯人が現場で触れたものに指紋や何等かの付着物が残ってしまう、といったシチュエーションがよりイメージしやすいでしょうか。
この「ロカールの交換原理」を、サイバーセキュリティの世界で言い換えますと、「攻撃者がシステムに侵入した際に痕跡が残る」ということになります。攻撃者が残した痕跡をたどることができるなら、インシデントレスポンスにおいて感染端末の特定や被害状況の把握、そして攻撃の全体像を描き、その後の対策実施に役立つはずです。また、Threat Hunting の面からは、自組織に侵入を試みる攻撃者の仮説に基づき、攻撃者が初期侵入やクレデンシャルアクセス等で用いる戦術やテクニックの痕跡が残るデータソースに対し調査・分析を行うことができます。
初期侵入時に残される攻撃の痕跡
サイバー攻撃には様々な攻撃手法があります。攻撃者が何等かの手段を用いて企業・組織の内部ネットワークへ侵入し、内部の探索活動と横展開を通じて、機密情報の持ち出しやデータの暗号化を狙うのも、その一つです。
本コラムでは、自組織のネットワーク内部に侵入した脅威が存在すると仮定し、攻撃の初期侵入の段階でPCやネットワークにどのような痕跡が残されるかを見ていきます。
表1は、MITRE ATT&CKより攻撃者がターゲット組織へ初期侵入を図る際に用いる主なテクニックをまとめたものです。
Tactics | Technique : Sub-Technique | ID |
---|---|---|
Initial Access | Drive-by Compromise | T1189 |
External Remote Services | T1133 | |
Phishing : Spearphising Attachment | T1566.001 | |
Phishing : Spearphising Link | T1566.002 | |
Valid Accounts T1078 | T1078 | |
Execution | Command and Scripting Interpreter:PowerShell | T1059.001 |
Windows Management Instrumentation | T1047 |
他にも初期侵入で用いられるテクニックがありますが、詳細はMITRE ATT&CK をご参照ください。[1][2]
では、初期侵入に用いられるテクニックの中から、幾つか例を挙げ、どのような痕跡が残る可能性があるか見ていきましょう。
Drive-by Compromise (T1189)
まずはドライブバイダウンロード攻撃のパターンです。これは、改ざんしたWebサイトを閲覧させ、OSやアプリケーションの脆弱性を突き、不正なスクリプトを実行することで、初期侵入の足掛かりとなるマルウェアに感染させるテクニックです。
侵害されたPCからは、メモリ上で実行されたペイロード、ブラウザのプロセス(例msedge.exe、chrome.exe等)の他、不正なスクリプトによって起動されたプロセスが攻撃の痕跡として確認できる可能性があります。また、侵害されたPCのディスク上からは、ブラウザの履歴ファイル、ダウンロードしたファイル、Cookie、キャッシュ等が痕跡として残ります。
例えば、ブラウザの履歴ファイルは以下に格納されており、アクセス先や日時情報、アクセス回数等がユーザープロファイルごとに作成されています。
[Chrome]
%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\History
[Firefox]
%USERPROFILE%\AppData\Roaming\Mozilla\Firefox\Profiles\[randometext].default\places.sqlite
[IE11、Edge]
%USERPROFILE%\AppData\Local\Microsoft\Windows\WebCache\WebCacheV*.dat
これらブラウザの履歴ファイルを閲覧する場合は、個別にビューアが必要になります。
図1はChromeの履歴ファイルです。ファイルのアイコンがWindowsのプログラムに関連付けられていないことからも、閲覧するには何等かのビューアが必要であることがお分かり頂けるかと思います。
図2は、「BrowsingHistoryView」[3]というツールを使って、ブラウザの履歴データを一覧表示したものです。このようにディスク上のブラウザの履歴ファイルには、初期侵入の足掛かりとなるマルウェア感染のトリガーとなったWebサイトへのアクセスの痕跡が残されている可能性があります。
これらの他に、ネットワークトラフィック監視ツールやFW、Proxyのログに、初期侵入の足掛かりとなるWebサイトへのアクセスの痕跡が残されているはずです。
Spearphising Attachment / Spearphising Link (T1566.001 / T1566.002)
次は最も使われる攻撃手法とも言えるメールによる攻撃のパターンです。もはや説明が不要かもしれませんが、ターゲットに不正な添付ファイルの開封や不正なリンクのクリックをさせるよう誘導することによって、初期侵入の足掛かりとなるマルウェアに感染させるテクニックです。
ここでは、不正な添付ファイルを含むメール攻撃(T1566.001)を例に挙げ、攻撃の痕跡がどこに残るか見ていきます。
このテクニックの場合、一例として以下のような初期感染のフローがあります。
- メールクライアント(Outlook)の実行
- メールに添付されたWordファイルの実行
- Wordの起動
- マクロの実行
- PowerShellやWMIが実行され、インターネット経由でファイルをダウンロード
- ダウンロードしたファイル(もしくはスクリプト)の実行
- メモリ上で実行またはディスクへの書き込みと実行
このテクニックでは、ターゲットにメールの添付ファイルを実行させるため、アプリケーションの実行痕跡が残ります。アプリケーションの実行痕跡を以下のようなデータソースから取得することができます。
[Prefetch Files]
Prefetchは、利用頻度の高いアプリケーションの起動を高速化する仕組みです。
Prefetchは、以下フォルダに「ファイル名-フルパスのハッシュ値.pf」のファイル名で作成され、このファイル名の作成日時・更新日時から、実行日時を推測することができます。なお、このフォルダにアクセスするには管理者権限が必要です。
C:\Windows\Prefetch
図3は「WinPrefetchView」[4]というツールを使って、Prefetchファイルを閲覧した結果です。
この閲覧結果より、OutlookやPowerShell等のアプリケーションが実行されたことが確認できます。
[最近使ったファイル]c
エクスプローラー経由で使ったファイルが、以下フォルダにファイル名.lnkファイルで作成されます。同フォルダを確認することで、ファイルの実行判断に利用できます。
C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Recent
[最近利用したOfficeドキュメント]
直近で開かれたOfficeドキュメントが、以下フォルダにファイル名.lnkファイルで作成されます。
C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Office\Recent
他にもアプリケーションの実行痕跡がありますが、詳細はIPAの公開ドキュメントをご参照ください。[5]
ここまで、アプリケーションの実行痕跡を見ていきました。
前述の初期感染のフローに照らしますと、「Outlookの起動」と「メールに添付されたWordファイルの実行と起動」が残された痕跡として確認することができます。
次にターゲットがメールに添付されたWordファイルのマクロを実行すると、インターネットトラフィックが発生するため、ネットワークトラフィック監視ツールやFW、Proxyのログに、攻撃者が用意したWebサイトへのアクセスの痕跡が残されます。また、PowerShell(T1059.001)やWMI(T1047)の起動はPrefetchのフォルダにファイルが作成され、Windowsイベントに実行時の痕跡が残されます。
そして、ダウンロードされたファイルの実行はディスク上に痕跡が残されます。もちろん、ファイルとしてディスク上に残らないファイルレス攻撃の場合は、実行時の痕跡はメモリ上に残されます。
個別のデータソースごとに痕跡を探すプロセスには困難が伴う
Threat Hunting では、設定した仮説に基づいて自組織に潜伏する脅威の存在を探すプロセスを繰り返し行います。
本コラムで初期侵入の痕跡が残されるデータソースについてご案内してきましたが、これだけでも調査・分析を行う箇所がとても多いということが、お分かり頂けたかと思います。
当然のことながら、攻撃は初期侵入だけではなく、侵入後の内部ネットワークの探索活動や横展開といったフェーズもあります。さらにメモリや実行中のプロセスは揮発性の情報です。メモリやプロセスから攻撃の痕跡を取得する時間的猶予は限られています。
従って、個別のデータソースごとにThreat Hunting のプロセスを繰り返すことは現実的ではありません。
次回以降のコラムでは、初期侵入以降のフェーズで確認できる攻撃の痕跡と、Threat Hunting を効果的に行うことを支援するツールについてご案内する予定です。
セキュリティ、おもしろいですね。
それでは、次のエントリーでお会いしましょう!
------------
脚注および参考情報 ※以下すべて外部サイト
[1] MITRE:ATT&CK – Initial Access
[2] MITRE:ATT&CK – Execution
[3] BrowsingHistoryView
[4] WinPrefetchView
[5]IPA:インシデント発生時の初動調査の手引き ~WindowsOS標準ツールで感染を見つける~
当サイトの内容、テキスト、画像等の転載・転記・使用する場合は問い合わせよりご連絡下さい。
エバンジェリストによるコラムやIDグループからのお知らせなどを
メルマガでお届けしています。