ニュース

Active Directoryに対する攻撃の検知と対策手法のドキュメント、JPCERT/CCが公開

パッチ適用やOSアップデートではない運用対処の具体的な手法を解説

 一般社団法人JPCERTコーディネーションセンター(JPCERT/CC)早期警戒グループは、14日に公開した「ログを活用したActive Directory(AD)に対する攻撃の検知と対策」に関する説明会を開催した。

 JPCERT/CC早期警戒グループ情報分析ライン情報セキュリティアナリストの藤本万里子氏によれば、「2016年11月に公開した『高度サイバー攻撃に対するレポート』では、主に多く使われた機器のログ保管に関する考え方の概要しか紹介しておらず、今回のレポートは、より実践的かつADに特化したもの」だという。

 JPCERT/CC早期警戒グループ情報分析ライン情報セキュリティアナリストの松田亘氏によれば、ドキュメントは、システム管理者やセキュリティ担当者といったITリテラシーを有する人に向けたもので、「読んで手が動く、何をすればいいか分かる、どうやって守るのかを具体的に説明した文書」とのこと。「知りたいけどリソースが足りない、分からないと行った声に対して、インシデント対応を経て得た知見を公開した」と述べた。

なぜActive Directoryのセキュリティが重要なのか

 標的型攻撃では、スパムメールからPCに侵入したマルウェアが、企業や組織のネットワーク内部に侵入し、ドメインコントローラーのドメイン管理者権限を窃取する。多くの企業や組織では、ADにおけるセキュリティ対策やログ確認の重要性が認識されていない傾向にあるという。「外部ネットワークとの接点であるプロキシーやメールサーバーなどのログは確認している組織も多いが、ADは内部サーバーで外と通じないから大丈夫と考えている人も多いのではないか」(藤本氏)という。

 さらに、脆弱性への対処といった運用面でも問題を抱えていることに加え、ログの確認ができておらず、長期間攻撃を検知できなかったり、ログが適切に保存されていないために調査が困難なケースも多いという。

 松田氏は、「実際のところ管理者の立場としては、サーバーにすべてパッチをあてるにはシステムを止める必要がある。企業規模によってはパッチ評価用のバックアップシステムがないところもあり、現実的には不可能」とした。そして「OSのアップデートやパッチの適用という方向性ではなく、運用で対処でできる方法についてフォーカスし、作業の優先度を付けてフローチャートでやるべき内容がわかりやすくしたもの。アンケートによる数字的根拠も示している」という。

 情報を窃取する活動の多くは、準備・潜入・横断的侵害・活動の4つのプロセスを通じて行われる。このステップすべてを成功させないと目標は達成できない。ドキュメントの内容については、「業務用PCの侵害は仕方がないとは言い過ぎかもしれないが、そこからAD権限を侵害されないことにフォーカスし、なるべく早期に侵害に気付くことを目的に作成している」とのことだ。

 ドメイン管理者権限がどのような手法で窃取されるのか、また、それにより何が起こり、具体的にどうやって保護すべきかについては、「英語では存在するが、日本語ではこれを説明した資料はほとんど見たことがない」とのことだ。

 攻撃者はまず、標的型攻撃メールなどにより組織ネットワーク内のクライアントPCに侵入。その後、ADのドメイン管理者権限を窃取する。ADでは、例えば、ドメインユーザーがファイルサーバーへアクセスするために、ドメインコントローラーが認証チケットをユーザーに発行するといったように、ユーザーの認証情報やログをドメインコントローラーにより一元的に取得できるため使い勝手がよく、多くの環境で使われている。「反面、ドメイン管理権限を取得すれば、ほぼ何でもできてしまうため、狙われやすい」のだ。

ドメイン管理者権限を窃取する攻撃手法

 ドメイン管理者権限を窃取する攻撃手法は、AD環境におけるKerberos KDC認証の脆弱性「CVE-2014-6324/MS14-068」を突くものと、端末のメモリに残存する過去にログインした認証情報の悪用の2つに大別される。

 Kerberos KDC認証の脆弱性は、2014年にパッチが公開されているが、「パッチを適用できていない組織が多く、今でも悪用されている」(松田氏)という。一般のドメインユーザー権限をドメイン管理者権限に昇格できてしまうものだ。

 一方、端末メモリに残存する過去にログインした認証情報の悪用では、ハッシュを使ってログイン可能なNTLM認証の仕様を悪用する「Pass-the-Hash」と呼ばれるものと、「Pass-The-Ticket」の2つがある。Pass-the-Hashでは、多くの組織で端末の展開やヘルプデスクのためにパスワードが使い回されている点を利用すれば、「1端末を侵害してハッシュを入手できれば、いとも簡単に横断的侵害ができる」という。

 Pass-The-Ticketは、窃取したドメイン管理者権限を用いて不正な認証チケットを作成することで、サービスへのアクセスに必要な「Service Ticket」と、この入手のために必要な「TGT」を作成することを指す攻撃者が作成した不正なTGTは「Golden Ticket」、不正な Service Ticketは「Silver Ticket」と呼ばれる。それぞれの有効期限が10年で、これを用いれば、どこからでも誰にでも成り済ませる。さらにシステム上は正規のチケットと区別はつかず、検知は難しいという。

 「Silver Ticketを用いれば、各サービスの管理者や利用者に成りすませる上、Golden Ticketと違い、ドメインコントローラーにアクセスせずに使用できるため、ログが残らないのが厄介」(松田氏)とのことだ。

Active Directryのログを活用する検知手法

 松田氏によれば、「Active Directryのログは、そのままでは大量で、すべてを見るのは現実的ではない。ドキュメントでは、確認すべきポイント、実施すべき対処などをフローチャートにまとめている。守りたい攻撃に対し、どの機器を見ればいいのかが一目で分かる」とのことだ。

 そして「攻撃がすぐに分かる都合のいいログはあまりないが、MS14-068の脆弱性を悪用した攻撃は特徴的で、Grepを使うことでイベントログから比較的容易に検知できる」という。

 認証ログについては、「例えば、特権が割り当てられた一般ユーザーが誰かは、運用していないとわからないため、運用状況と照らし合わせて判断する必要がある」という。とは言え、膨大なログを逐一確認することは難しいのが現実だ。

 そこで、不審なイベントログを検知しやすい環境と運用の例が紹介された。それが、管理者アカウントでアクセスできる端末を決めておくことだ。端末とアカウントが1対1であれば、管理者アカウントが悪用された場合に、イベントログで気づきやすい。また、「むやみに多くの端末から管理者権限でアクセスすると、メモリに認証情報が残り、攻撃者に窃取されてしまうリスクが高まる。これを低減することにもつながる」という。

標的型攻撃への攻撃予防策

 これらを踏まえたADへの攻撃を予防する対策として、ドキュメントでは、最低限適用すべきパッチや、ドメイン管理者権限に対する運用方法、メモリに残存した認証情報を保護する機能などが、表でまとめられている。また、ネットワークセグメントを分離することで、侵害範囲を制限する手法なども解説されている。

 例えば、Golden Ticketは、一度攻撃者に作成されてしまえば、その後にパッチを適用しても無効化できない。これを無効化する方法として、krbtgtアカウントのパスワードを2回連続で変更するなど「検証していて気付いた、見落とされそうなところにフォーカスして記載している」という。さらに、より詳細な情報についても、巻末の「Appendix」に参考情報としてまとめられている。