MITRE ATT&CKからセキュリティ対策を読み解く【第1回 フィッシング編】
サイバーセキュリティ業界でよく耳にするMITRE ATT&CK。MITRE ATT&CKとは、サイバー攻撃で使用される戦術と手法を体系的にまとめたナレッジベースです。 これを読み解くことによって、サイバー攻撃の手法とその対策を理解することができます。 そこで、今回はフィッシングという攻撃手法についてMITRE ATT&CKから読み解き、その攻撃手法と対策について解説します。
フィッシングとは
フィッシング(Phishing: 釣り Fishing から派生した詐欺の手口を表す言葉)は、引っ掛けメッセージを使って被害者のシステムにアクセスしようとする手口で、電子的手段によるソーシャルエンジニアリング(人の心理的な隙や行動ミスに付け込んで情報を盗み出す)手法です。
有名ECサイトのメッセージを模したメール(マルウェアスパム)を不特定多数にばらまき、IDとパスワードを盗むなど、標的を絞らず攻撃するのが一般的です。
あなた自身、あるいはご家族の中で「●●のアカウントの有効期限が切れました」というメールや、「ご本人様不在のためお荷物を持ち帰りました。ご確認ください」のようなショートメッセージを受け取った覚えはありませんか?
メールの送り主、リンク先を確認せずにリンクをクリックすると... 危険です。
このようなフィッシングメールは、メールの @ 以下のドメイン名に対して、ありそうな名前を付けたメールアドレスに勝手に送り付けて来ているものです。
必ずしもあなたのメールアドレスがどこかから漏れているとは限りません。
スピアフィッシング
標的型攻撃の場合は、スピアフィッシング(Spearphishing: これも Spearfishing から派生しています)と呼ばれ、先ほどの無差別な攻撃とは対照的に、特定の個人、企業、または業界が標的とされます。
典型的な手法として、添付ファイルやリンクを含む電子メールを送付してきます。
また、SNSプラットフォームなどのサードパーティサービス(互換性のある非純正サービス)でメッセージが送られてくる場合もあります。
そしてスピアフィッシングでは、家族、知り合い、社内の同僚や上司、取引先などを騙ってメッセージを送ってくるケースが多く、その場合、何の疑いもなくメッセージを開いてしまう方が多いのではないでしょうか。
送信元を信頼できると思い込んでいるため、メールサーバが隔離したメールをわざわざ解放してしまうケースや、知人を装った相手とSNSでコミュニケーションを取り、うまく動かないマルウェアを動くように誘導されてしまうというケースも。
このようにスピアフィッシングでは、知人からの連絡であれば警戒心が低くなるという心理を巧みに利用し、攻撃を仕掛けてきます。
フィッシングを検出する方法
それでは、ATT&CK Techniqueに記載されているフィッシングを検出する方法を見ていきます。
まずフィッシングの痕跡は以下のデータソースに残る可能性があります。
そのため、これらの対策を実施し、ログを取得しておく必要があります。
- File monitoring(ファイルモニタリング)
- Packet capture(パケットキャプチャ)
- Web proxy(Webプロキシ)
- Email gateway(メールゲートウェイ)
- Mail server(メールサーバ)
- Network intrusion detection system(IDS)
- Detonation chamber(デトネーションチャンバー、サンドボックス)
- SSL/TLS inspection(SSL/TLS インスペクション)
- Anti-virus(アンチウィルス)
次に、侵入経路順にどのような検出方法があるかを示します。
メールゲートウェイで DKIM、DMARC などの送信ドメイン認証技術を利用して、送信元の詐称を検出するとともに、リスク低減・防御を行うことができます。
メールが会社のメールサーバに送信された時点で、メールヘッダや送信元メールアドレス、添付ファイル、文面中のリンクをチェックし、検出できる場合があります。
企業のメールシステムの多くは、そのような検出機能が備わっているか、そのような機能のある外部サービスを使っているケースが多いです。
検出されたファイルは隔離されるので、リスク低減・防御もここで行われます。
特に、以下に上げた形式のファイルについては、組織のポリシーとしてブロックする、あるいはより高度な検証を行う、などの手段が考えられます。
悪用されうるファイル種別
種別(拡張子) | 解説 |
---|---|
.exe | Windows 実行可能ファイル。 任意のプログラムを作成でき、OS機能にアクセスできます。 つまり、およそ何でもできてしまいます。 |
.ps1 | PowerShell スクリプトファイル。 PowerShell の強力なシステム管理機能を呼び出すプログラムを書くことができます。 |
.bat、.com | Windows スクリプトファイル。 任意の exe などを起動できます。 |
.vbs、.js | VBScript、Javascript ファイル。 COMオブジェクトなどを介し、OS機能にアクセスできます。 |
.doc、.docx、.xls、.xlsx などの Office ファイル | VBA(Visual Basic for Application)マクロを含む可能性があります。 VBA から、COMオブジェクトなどを介し、OS機能にアクセスできます。 |
Javascript でアクションを記述し、launch、launchURL 関数から別プログラムを起動します。 cmd などを起動し、OS のリソースにアクセスできます。 | |
Javascript でアクションを記述し、launch、launchURL 関数から別プログラムを起動します。 cmd などを起動し、OS のリソースにアクセスできます。 | |
.rtf | リッチテキストフォーマット。 COM参照や、OLEコントロールの埋め込み、ファイルの埋め込みが可能で、Microsoft Word の脆弱性により悪用された過去があります。 (McAfee による解説) |
.scr | スクリーンセーバー。 一種の実行ファイルで、「面白いスクリーンセーバーがある」のようなソーシャルエンジニアリングメッセージで騙して端末に登録させると、ユーザーが離席してスクリーンタイムアウトが発生すると起動される形で、ユーザーがいない間に端末から情報収集したり、操作したりできます。 |
.lnk | Windows のショートカット。 コマンドプロンプトなどを起動し、別のスクリプトをダウンロードさせるなどの形で悪用されることがあります。 (TrendMicro による解説) |
.cpl | コントロールパネルの一機能を実装するアプレットで、DLL(ダイナミックリンクライブラリ)として作成されます。 これをダブルクリックすると、Windows のコントロールパネル(control.exe)にロードされて実行されます。 control.exe は正規の署名されたプログラムのため、悪用を検出しにくくなります。 |
.pif | MS-DOSプログラムを Windows で起動するための設定ファイル形式。 過去、実際は実行可能ファイルであるマルウェアの拡張子を .pif として拡散する形式のマルウェアが見られたことがあります。 Windows 側は拡張子の区別なく起動してしまうため、見かけを偽装するために用いられました。 |
そして、メールサーバのログ記録、一定期間のメールアーカイブを保存することにより、定期的なチェックをすることができます。
ログには、以下のような項目を含めておきたいところです。
- メールヘッダ
- エンベロープの差出人
- 添付ファイル名のリスト、zip なら内容のリスト
- 含まれるリンク URL
メールが宛先ユーザーに送信され、添付ファイルをローカルファイルシステムに書き込むと、ファイルモニタリングに痕跡が残ります。
ファイルモニタリングは、Windows監査ログや、sysmonでのモニタリングで記録することができます。
ファイル名、サイズ、ハッシュ値、ファイルの種類などが記録されます。
リンクをクリックすると、Webプロキシのログに記録されます。
ファイルがダウンロードされると、プロキシのログの受信量としてファイルの大きさが記録され、ファイルモニタリングに痕跡が残ります。
ファイルとしてダウンロードされたものは、アンチウィルスの検査対象となり、検出できる可能性があります。
アンチウィルスが検出した場合は、隔離され、リスク低減・防御機能が働きます。
怪しい、あるいは正体不明なファイルやリンクは、デトネーションチャンバー(サンドボックス)があれば、隔離された環境の中で安全に開いたり、リンクにアクセスして何がダウンロードされるか確認したり、実行したときのふるまいを確認することができます。
メールがユーザー端末に配信されるまでの間や、リンクへのアクセスが行われるときに、パケットキャプチャ、IDS などでモニタリングしておくと、トラフィックが記録されます。
IDSの機能によっては、パケットデータからダウンロードされるファイルを再構成し、チェックする機能を持つものがあります。
注意点として、リンク先へのアクセスや、SNS などの外部サービスの接続は、通常 SSL/TLS が使われますので、その通信内容を検証するには、SSL/TLS インスペクションを使う必要があります。
その他の検出方法
この手法には通常、ユーザー操作が含まれるため、エンドポイントでの「ユーザーによる実行(T1204)」(https://attack.mitre.org/techniques/T1204) の検出方法も適用できます。
添付ファイルが開かれたとき、「クライアントソフトウェアの悪用(T1203)」https://attack.mitre.org/techniques/T1203)または悪意のあるスクリプトの使用に関連して、エンドポイントまたはネットワークのモニタリングにて、イベント(Microsoft WordドキュメントまたはPDFがインターネットに到達したりPowershell.exeを生成したりするなど)を検出できる可能性があります。
これらの検出方法については、次回以降で扱います。
リスク低減・防御
ATT&CK Techniqueでリスク低減・防御策は "Mitigation(緩和)" として記載されています。
手段として、以下のものが挙げられています。
- Antivirus/Antimalware(アンチウィルス)
- Network Intrusion Prevention (IDS)
- Restrict Web-Based Content(Webサイトへのアクセス制限、プロキシサーバなど)
- User Training(人員の訓練)
実際のフィッシングでの防御においては、メールサーバ/プロキシサーバでの防御、端末での防御、人員の訓練が重要で、特に重要なのは、最後の砦としての、ソーシャルエンジニアリングに引っ掛からないようにするための人員の訓練です。
サーバでの防御
メールサーバ、プロキシサーバで、上に挙げたような悪用されうるファイル種別はブロックしたいところですが、業務での利用上、完全にブロックするのは現実的ではありません。
アンチウィルスが稼働している場合は、その判断に任せることも一つの手でしょう。
ただ、業務でほとんど使われることが想定されない形式、例えば .scr、.lnk、.cpl、.pifなどは無条件にブロックしてしまっても構わないかも知れません。
暗号化zipの場合も、中身のファイル名は取れますので、拡張子ベースの判定は可能です。
実際にサーバでファイル種別によるブロックポリシーをかけるかどうかは、利用しているサーバの種別に依存します。
例えば、Microsoft Exchange Server の場合は、「メールフロールールを使用して Exchange Online のメッセージの添付ファイルを検査する」で、ファイル拡張子に含む文字を指定することで、設定することができます。
プロキシサーバでは、プロキシサーバの種別、またはICAPプロトコルでコンテンツの検査を行うフィルタリングサーバの仕様に依存します。
外部サービスを利用している場合は、サービスのポリシーを確認する必要があります。
ブロックしたメールの情報は、通常はサーバのログに残ります。
例えば、Exchange Onlineの場合は、以下のページを参考にログの参照、レポートの設定などができます。
Practical365 - How to Tell Which Transport Rule Was Applied to an Email Message: https://practical365.com/exchange-server/tell-transport-rule-applied-email-message/
端末での防御
プロキシサーバでフィルタしきれない場合は、エンドポイントのアンチウィルスでの検知による防御が次の段階となります。
この場合、事実上製品の選択が鍵ですが、シグネチャ判定のみでなく、ふるまい検知機能を持つものが望まれます。
インシデント検出時の対応まで含めたEDRも検討対象となるかも知れません。
アンチウィルスで検知できない脅威もあるため、ユーザーの業務内容に応じて、起動できるプログラム、スクリプトをグループポリシーで制限するという方法もあります。
対ソーシャルエンジニアリングの訓練
フィッシングは、前述したサーバでの防御や、アンチウィルスによる検出をすり抜けた後、ユーザーの操作に依存する部分があります。
エンドユーザーによってファイルをダウンロード・保存、ファイルを開く(クリックするなど)、さらに Office ファイルのマクロの有効化などの操作です。
騙された結果、相手を信用してこれらの行動取ってしまうのを防ぐためには、企業内の人員に、ソーシャルエンジニアリングにひっかからないためのスキルを身に付けるよう訓練するしかありません。
- 送信元は本人か
- 送信元メールアドレスはアドレス帳のものと一致しているか
相手側が侵入されている場合、正しいメールアドレスからフィッシングメールが来ることもあります。
そしてその相手がお客様の場合や、支払期限についてのものだった場合、最大限急いで対応しようとするかも知れませんが、攻撃者はそのような心理も突いてきます。
- 今まで添付ファイルを受け取ったことのない相手が添付ファイルを送ってきていないか
- メッセージ内容が送信元とのこれまでの業務の流れと関連しているかどうか
- 唐突に期限の迫った業務を依頼してきていないか
- リンクのURL が今までアクセスしたことのないWebサイトのものでないかどうか
- 知っていたとしても、業務上、そこからファイルをダウンロードしたことがあるか、利用する必然性があるかどうか
オンラインストレージなどの正規のサービスが利用される場合もあります。
- ファイルの種別が、相手との業務で今まで使われてきたものと異なるものでないか
- Office ファイルのマクロの有効化の指示や、ファイルの扱い方について妙に詳しく説明してきていないか(解凍し、名前を変更して、ダブルクリック、のような手順)
少しでも「おかしい」と感じたら、上司やCSIRTに相談できるよう、体制を作っておくことが重要です。
まとめ
今回はMITRE ATT&CKを参考に、フィッシングという攻撃手法と対策について解説しました。
次回は、「フィッシングなどによりマルウェアに感染した後、どのように攻撃者が振る舞うのか?」その対策についてMITRE ATT&CKを参考に解説します。
本シリーズを通して、皆様のサイバーセキュリティ強度が向上すれば幸いです。
参照
- フィッシング対策協議会
- フィッシング詐欺の手法(JPNIC・JPCERT/CC セキュリティセミナー2005)
- 情報システム開発契約のセキュリティ仕様作成のためのガイドライン