(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023055581
(43)【公開日】2023-04-18
(54)【発明の名称】不正検知装置、不正検知方法及び不正検知プログラム
(51)【国際特許分類】
G06F 21/55 20130101AFI20230411BHJP
【FI】
G06F21/55 320
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021165107
(22)【出願日】2021-10-06
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】501061319
【氏名又は名称】学校法人 東洋大学
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】松田 亘
(72)【発明者】
【氏名】満永 拓邦
(72)【発明者】
【氏名】藤本 万里子
(57)【要約】
【課題】運用が容易でかつ精度が高い不正検知を行うこと。
【解決手段】本開示に係る不正検知装置は、イベントログ抽出部およびイベントログ分析部を含む。イベントログ抽出部は、コンピュータとユーザを管理する管理サービスのイベントログから、認証イベントを特定し、認証イベントから、管理サービスにおいて特定の権限を持つユーザのアカウント情報を抽出する。イベントログ分析部は、イベントログ抽出部によって抽出されたアカウント情報が、管理サービスにおいて以前に使用されていた特定のアカウント情報と一致する場合に、認証イベントを、不正イベントとして検知する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
コンピュータとユーザを管理する管理サービスのイベントログから、認証イベントを特定し、前記認証イベントから、前記管理サービスにおいて特定の権限を持つユーザのアカウント情報を抽出する抽出部と、
前記抽出部によって抽出されたアカウント情報が、前記管理サービスにおいて以前に使用されていた特定のアカウント情報と一致する場合に、前記認証イベントを、不正イベントとして検知する検知部と
を備える不正検知装置。
【請求項2】
前記抽出部は、前記管理サービスにおいて特定の権限を持つユーザのアカウント情報として、前記管理サービスの管理単位であるドメインに参加しているドメインユーザのアカウント情報を抽出する
請求項1に記載の不正検知装置。
【請求項3】
前記抽出部は、前記管理サービスにおいて特定の権限を持つユーザのアカウント情報として、前記管理サービスにおいて特定の権限を持つユーザを識別する識別子を抽出し、
前記検知部は、前記抽出部によって抽出された識別子が、前記管理サービスにおいて以前に使用されていた特定の識別子と一致する場合に、前記認証イベントを、不正イベントとして検知する
請求項1又は2に記載の不正検知装置。
【請求項4】
前記抽出部は、前記管理サービスにおいて特定の権限を持つユーザのアカウント情報として、前記管理サービスにおいて特定の権限を持つユーザのアカウント名を抽出し、
前記検知部は、前記抽出部によって抽出されたアカウント名が、前記管理サービスにおいて以前に使用されていた特定のアカウント名と一致する場合に、前記認証イベントを、不正イベントとして検知する
請求項1~3のうちいずれか1つに記載の不正検知装置。
【請求項5】
前記管理サービスにおいて以前に使用されていた特定のアカウント情報を、前記管理サービスから取得する取得部
をさらに備える請求項1~4のうちいずれか1つに記載の不正検知装置。
【請求項6】
前記管理サービスにおいて現在使用されている特定のアカウント情報を受け付ける受付部をさらに備え、
前記検知部は、前記抽出部によって抽出されたアカウント情報が、前記受付部によって受け付けられた特定のアカウント情報と一致しない場合に、前記抽出部によって抽出されたアカウント情報が、前記管理サービスにおいて以前に使用されていた特定のアカウント情報と一致するかを判定する
請求項1~5のうちいずれか1つに記載の不正検知装置。
【請求項7】
コンピュータが実行する不正検知方法であって、
コンピュータとユーザを管理する管理サービスのイベントログから、認証イベントを特定し、前記認証イベントから、前記管理サービスにおいて特定の権限を持つユーザのアカウント情報を抽出する抽出工程と、
前記抽出工程によって抽出されたアカウント情報が、前記管理サービスにおいて以前に使用されていた特定のアカウント情報と一致する場合に、前記認証イベントを、不正イベントとして検知する検知工程と
を含む不正検知方法。
【請求項8】
コンピュータとユーザを管理する管理サービスのイベントログから、認証イベントを特定し、前記認証イベントから、前記管理サービスにおいて特定の権限を持つユーザのアカウント情報を抽出する抽出手順と、
前記抽出手順によって抽出されたアカウント情報が、前記管理サービスにおいて以前に使用されていた特定のアカウント情報と一致する場合に、前記認証イベントを、不正イベントとして検知する検知手順と
をコンピュータに実行させる不正検知プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、不正検知装置、不正検知方法及び不正検知プログラムに関する。
【背景技術】
【0002】
Active Directory(以下では、Active Directoryは「AD」と表記される)は、マイクロソフト(登録商標)によって提供されているサービスである。ADは、Windows(登録商標)コンピュータを集中的に管理するものである。
【0003】
ADは、組織のユーザやコンピュータを、一元的に管理することができる。このため、ADは、標的型攻撃の対象となりやすい。
【0004】
JPCERT(Japan Computer Emergency Response Team)コーディネーションセンターは、AD環境が侵害される多くの事例を、確認している。特に、JPCERTコーディネーションセンターは、AD管理者権限であるドメイン管理者権限が悪用されていること、を報告している。JPCERTコーディネーションセンターの報告によれば、ADの管理者権限を窃取した攻撃者は、Golden TicketやSilver Ticketと呼ばれる不正な認証チケットを作成することが多い。
【0005】
AD環境では、Kerberos認証が、主に用いられる。Kerberos認証では、ユーザは、ADサーバに、ユーザの正当性を証明するTGT(Ticket Granting Ticket)と、サービスを利用するための認証チケット(サービスチケットと呼ばれる)を発行してもらう。ADサーバは、ドメインコントローラとも呼ばれる。Kerberos認証は、TGTや認証チケットを使用して、ユーザの認証を行う。
【0006】
Golden Ticketは、攻撃者によって不正に作成された、長い有効期限を持つTGTである。攻撃者は、Golden Ticketを利用することで、任意のアカウントに長期間なりすますことができる。攻撃者は、任意のアカウントになりますことで、AD環境の全てのサービスを利用することができる。
【0007】
一方、Silver Ticketは、攻撃者によって不正に作成されたサービスチケットである。Silver Ticketは、攻撃者が、任意のアカウントに長期間なりすますことを可能にする。攻撃者は、任意のアカウントになりますことで、AD環境の特定のサービスを利用することができる。
【0008】
Golden TicketおよびSilver Ticketのいずれも、攻撃者が、標的組織の正規のアカウントになりすますことを可能にする。その結果、攻撃者は、標的組織を長期的に侵害しつづけることができる。このため、Golden TicketおよびSilver Ticketは、組織にとっての大きな脅威である。
【0009】
Golden TicketおよびSilver Ticketへの様々な対策が、従来提案されている。例えば、Golden TicketおよびSilver Ticketの使用を検知することが提案されている。Golden TicketおよびSilver Ticketへの対策の例として、以下の先行技術が挙げられる。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】米国特許出願公開第2016/0330233号明細書
【非特許文献】
【0011】
【非特許文献1】IEEE AINS 2019, Mariko Fujimoto, Wataru Matsuda, Takuho Mitsunaga, Detecting Abuse of Domain Administrator privilege using Windows Event Log
【非特許文献2】“マイクロソフト株式会社、管理者アカウントセキュリティ計画ガイド、第3章 - 管理者アカウントのセキュリティを強化するためのガイドライン、おとりのAdministratorアカウントを作成する”[online]、[2021年10月6日検索]、インターネット<https://docs.microsoft.com/ja-jp/security-updates/planningandimplementationguide/19869239>
【非特許文献3】“JPCERTコーディネーションセンター、ログを活用したActive Directoryに対する攻撃の検知と対策、5.2.1. krbtgt アカウントのパスワード変更、5.2.3. サービスを実行しているアカウントのパスワード変更”[online]、[2021年10月6日検索]、インターネット<https://www.jpcert.or.jp/research/AD.html>
【発明の概要】
【発明が解決しようとする課題】
【0012】
特許文献1の技術は、ドメインコントローラに対する通信パケットをモニタリングするものである。TGT発行を伴わないサービスチケットは、Golden Ticketとして検出される。
【0013】
非特許文献1の技術は、ドメインコントローラのイベントログを分析するものである。非特許文献1の技術は、典型的な攻撃のシグネチャ(例えば、特権昇格、不審なプロセス起動、不審なファイル共有など)を用いて、Golden Ticketの使用を検知する。
【0014】
非特許文献2の方法は、おとりアカウントを作成し、おとりアカウントへのアクセスをモニタリングするものである。
【0015】
非特許文献3の対策は、アカウントのパスワードを変更するものである。作成されたGolden Ticketの無効化については、krbtgtアカウントのパスワードが、2回変更される。krbtgtアカウントは、TGT発行に関わるサービスアカウントである。作成されたSilver Ticketの無効化については、対象サーバのコンピュータアカウントのパスワードが、2回変更される。
【0016】
しかしながら、上記の先行技術では、運用が容易でかつ精度が高い不正検知を行うことが難しい場合がある。
【0017】
例えば、攻撃者は、不正な認証を利用しようとする。一例として、不正な認証イベントでは、Golden TicketやSilver Ticketが使用される場合がある。しかしながら、Golden TicketやSilver Ticketを使った攻撃は、正規のアカウントを悪用するものである。このため、Golden TicketやSilver Ticketを検知することは、容易ではない。例えば、上記の先行技術においても、運用面や検知精度における課題が存在する。
【0018】
例えば、特許文献1の技術は、ネットワーク構成の変更を必要とする。非特許文献1では、誤検知が運用によって発生する可能性が述べられている。特許文献1および非特許文献1のいずれにおいても、Service Ticketの検知手法は、提案されていない。
【0019】
非特許文献2の方法は、攻撃者が着目しそうなおとりの管理者アカウントを作成するものである。非特許文献2の方法は、おとりの管理者アカウント使ったアクセスをモニタリングする。しかしながら、攻撃者が、Golden TicketやSilver Ticketを使用した攻撃を行う場合に、攻撃者は、正規のドメイン管理者やサーバ管理者アカウントを、既に窃取している。この状態においては、攻撃者が、おとりアカウントを用いたアクセスを試みる可能性は低い。
【0020】
非特許文献3の対策は、作成されたGolden TicketやSilver Ticketを無効化することができる。しかしながら、攻撃が、非特許文献3の対策の後に試行された場合に、攻撃の痕跡が残らない。したがって、非特許文献3の対策は、潜在する感染端末によってGolden TicketやSilver Ticketが再度作成されるリスクを残す。
【0021】
ドメインコントローラを含む、AD環境のサーバは、組織の運用に欠かせない常時稼働サーバである事が多い。このため、運用への影響を抑えつつ、Golden TicketやSilver Ticketを確実に検知できる仕組み築くことが、望ましい。
【0022】
そこで、本開示は、運用が容易でかつ精度が高い不正検知を行うことができる不正検知装置、不正検知方法及び不正検知プログラムを提案する。
【課題を解決するための手段】
【0023】
本開示の一態様では、不正検知装置は、コンピュータとユーザを管理する管理サービスのイベントログから、認証イベントを特定し、前記認証イベントから、前記管理サービスにおいて特定の権限を持つユーザのアカウント情報を抽出する抽出部と、前記抽出部によって抽出されたアカウント情報が、前記管理サービスにおいて以前に使用されていた特定のアカウント情報と一致する場合に、前記認証イベントを、不正イベントとして検知する検知部とを備える。
【発明の効果】
【0024】
本開示の1つまたは複数の実施形態に係る不正検知装置は、運用が容易でかつ精度が高い不正検知を行うことができる。
【図面の簡単な説明】
【0025】
【
図1】
図1は、不正検知のための環境の例のブロック図である。
【
図2】
図2は、本開示に係る不正検知装置の構成の例のブロック図である。
【
図3】
図3は、本開示に係る不正検知装置を実装したGolden Ticket、Silver Ticket検知システムの例を示す。
【
図4】
図4は、本開示に係る不正検知処理の例を示す。
【
図5】
図5は、不正イベントを検知するための処理の例を示すフローチャートである。
【
図6A】
図6Aは、不正イベントを検知するための処理のより詳細な例を示すフローチャートである。
【
図6B】
図6Bは、不正イベントを検知するための処理のより詳細な例を示すフローチャートである。
【
図7】
図7は、コンピュータのハードウェア構成の例を示す。
【発明を実施するための形態】
【0026】
複数の実施形態を、図面を参照して、以下で詳細に説明する。なお、本発明は、これらの複数の実施形態によって限定されるものではない。様々な実施形態の複数の特徴は、これらの複数の特徴が互いに矛盾しないという条件で、様々なやり方で組み合わされ得る。同一の要素は、同一の符号で示され、重複する説明は、省略される。
【0027】
〔1.不正検知のための環境〕
まず、
図1を参照して、本開示に係る不正検知のための環境について説明する。
【0028】
図1は、不正検知のための環境の例である環境1のブロック図である。
図1に示されるように、環境1は、不正検知装置100と、ネットワーク200と、サーバ装置300と、感染端末400と、セキュリティ管理者端末500とを含む。
【0029】
不正検知装置100は、1つまたは複数の不正検知処理を行う装置である。1つまたは複数の不正検知処理は、不正イベントを検知する処理を含む。
【0030】
不正検知装置100は、クライアント装置やサーバ等のデータ処理装置である。一例では、不正検知装置100は、SIEM(Security Information and Event Management)のためのセキュリティ装置として実装される。不正検知装置100の構成の例は、次節で説明される。
【0031】
ネットワーク200は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット等のネットワークである。ネットワーク200は、不正検知装置100、サーバ装置300、感染端末400およびセキュリティ管理者端末500を接続する。
【0032】
サーバ装置300は、サーバ等のデータ処理装置である。サーバ装置300は、コンピュータとユーザを管理する管理サービスを提供する。一例では、サーバ装置300は、ADのドメインコントローラである。
【0033】
感染端末400は、クライアント装置等のデータ処理装置である。例えば、感染端末400は、標的型メールなどによってマルウエアに感染した端末である。
【0034】
セキュリティ管理者端末500は、クライアント装置等のデータ処理装置である。セキュリティ管理者端末500は、セキュリティ管理者によって使用される端末である。例えば、セキュリティ管理者端末500は、不正検知装置100に、不正検知に使用される各種情報を提供する。不正が、不正検知装置100において検知された場合に、セキュリティ管理者端末500は、不正検知装置100から、アラート通知を受け付ける。
【0035】
〔2.不正検知装置の構成〕
次に、
図2を参照して、不正検知装置100の構成の例について説明する。
【0036】
図2は、本開示に係る不正検知装置の構成の例である不正検知装置100のブロック図である。
図2に示されるように、不正検知装置100は、通信部110、制御部120および記憶部130を含む。不正検知装置100は、不正検知装置100の管理者から入力を受け付ける入力部(例えば、キーボード、マウス)を含んでもよい。また、不正検知装置100は、不正検知装置100の管理者に情報を表示する出力部(例えば、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ)を含んでもよい。
【0037】
〔2-1.通信部110〕
通信部110は、例えば、NIC(Network Interface Card)によって実装される。通信部110は、有線または無線によりネットワーク200と接続される。通信部110は、ネットワーク200を介して、サーバ装置300、感染端末400およびセキュリティ管理者端末500との間で、情報の送受信を行うことができる。
【0038】
〔2-2.制御部120〕
制御部120は、コントローラ(controller)である。制御部120は、RAM(Random Access Memory)を作業領域として使用し、不正検知装置100の記憶装置に記憶された各種プログラムを実行する1つまたは複数のプロセッサ(例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit))によって実装される。また、制御部120は、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、GPGPU(General Purpose Graphic Processing Unit)等の、集積回路により実装されてもよい。
【0039】
図2に示されるように、制御部120は、アカウント情報抽出部121、イベントログ抽出部122およびイベントログ分析部123を含む。不正検知装置100の1つまたは複数のプロセッサは、不正検知装置100の1つまたは複数のメモリに記憶された命令を実行することによって、各制御部を実装することができる。各制御部によって行われるデータ処理は例であり、各制御部(例えば、イベントログ抽出部122)は、他の制御部(例えば、アカウント情報抽出部121)に関連して説明されるデータ処理を行ってもよい。
【0040】
〔2-2-1.アカウント情報抽出部121〕
アカウント情報抽出部121は、アカウント情報を、サーバ装置300から取得する。アカウント情報は、サーバ装置300が提供する管理サービスにおいて以前に使用されていた特定のアカウント情報である。アカウント情報の例は、管理サービスにおいて特定の権限を持つユーザを識別する識別子および管理サービスにおいて特定の権限を持つユーザのアカウント名を含む。
【0041】
例えば、管理サービスは、ADである。この場合、管理サービスにおいて特定の権限を持つユーザは、ADのドメインに参加しているドメインユーザである。このドメインユーザを識別する識別子は、ADのSID(Security ID)である。
【0042】
アカウント情報抽出部121は、管理サービスにおいて現在使用されている特定のアカウント情報を受け付けることができる。アカウント情報抽出部121は、受け付けられたアカウント情報を、不正検知装置100のメモリに格納することができる。
【0043】
〔2-2-2.イベントログ抽出部122〕
イベントログ抽出部122は、コンピュータとユーザを管理する管理サービスのイベントログから、認証イベントを特定する。そして、イベントログ抽出部122は、認証イベントから、管理サービスにおいて特定の権限を持つユーザのアカウント情報を抽出する。イベントログ抽出部122の機能は、
図3を参照して以下でより詳細に説明される。
【0044】
〔2-2-3.イベントログ分析部123〕
イベントログ分析部123は、イベントログ抽出部122によって抽出されたアカウント情報が、管理サービスにおいて以前に使用されていた特定のアカウント情報と一致するかを判定する。イベントログ抽出部122によって抽出されたアカウント情報が、管理サービスにおいて以前に使用されていた特定のアカウント情報と一致する場合に、イベントログ分析部123は、認証イベントを、不正イベントとして検知する。イベントログ分析部123の機能は、
図3を参照して以下でより詳細に説明される。
【0045】
〔2-3.記憶部130〕
記憶部130は、例えば、RAM、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実装される。
図2に示されるように、記憶部130は、アカウント情報131および特権アカウント132を含む。アカウント情報131および特権アカウント132は、
図3を参照して以下でより詳細に説明される。
【0046】
〔3.不正検知装置の実装の例〕
この節では、本開示に係る不正検知処理の実装の例を、詳細に説明する。
【0047】
図3は、本開示に係る不正検知装置を実装したGolden Ticket、Silver Ticket検知システムの例であるGolden Ticket、Silver Ticket検知システム10を示す。
【0048】
図3に示されるように、Golden Ticket、Silver Ticket検知システム10は、SID・アカウント抽出機能121a、イベントログ抽出機能122a、イベントログ分析機能123a、アカウントSIDデータベース131a、特権アカウントデータベース132a、ADサーバ300a(例えば、ドメインコントローラ)、その他のサーバ300b、アカウント情報310aおよびセキュリティイベントログ310bを含む。
【0049】
Golden Ticket、Silver Ticket検知システム10に含まれる要素と、不正検知装置100に含まれる要素との対応に関しては、SID・アカウント抽出機能121aは、アカウント情報抽出部121の一例である。イベントログ抽出機能122aは、イベントログ抽出部122の一例である。イベントログ分析機能123aは、イベントログ分析部123の一例である。アカウントSIDデータベース131aは、アカウント情報131の一例である。特権アカウントデータベース132aは、特権アカウント132の一例である。
【0050】
ADサーバ300aおよびその他のサーバ300bは、
図1のサーバ装置300の一例である。
【0051】
ADサーバ300aは、ドメインコントローラ、モニタリング対象であるファイルサーバなどの、ADドメインに参加している重要なサーバである。
【0052】
その他のサーバ300bは、ADドメインに含まれる、ドメインコントローラ以外のサーバである。その他のサーバ300bは、ADドメインにおいて各種サービスを提供する。
【0053】
アカウント情報310aは、ADサーバ300a(例えば、ドメインコントローラ)上で管理されているドメインユーザのアカウントデータである。
【0054】
SID・アカウント抽出機能121aは、アカウント情報310aから、ドメイン管理者アカウントやサーバの管理者アカウントのアカウント名およびSIDを抽出する。
【0055】
アカウントSIDデータベース131aは、SID・アカウント抽出機能121aによって抽出された管理者アカウントのアカウント名およびSIDを保持するデータベースである。
【0056】
セキュリティイベントログ310bは、ドメインコントローラおよびモニタリング対象であるサーバのイベントログ(セキュリティ)である。
【0057】
イベントログ抽出機能122aは、セキュリティイベントログ310bから、イベントログの分析に必要とされるイベントを抽出する。
【0058】
特権アカウントデータベース132aは、ドメインコントローラおよびモニタリング対象であるサーバ上で特権を利用しているアカウントの一覧を格納したデータベースである。
【0059】
イベントログ分析機能123aは、イベントログ抽出機能122aによって抽出されたイベントを分析し、Golden TicketやSilver Ticketの使用を検知する。
【0060】
〔3-1.事前準備〕
次に、Golden Ticket、Silver Ticket検知システム10を利用するための事前準備について説明する。
【0061】
Golden Ticket、Silver Ticket検知システム10を利用するためには、(1)モニタリング対象であるドメイン管理者アカウント;および(2)サーバの管理者アカウントのSIDまたはアカウント名のいずれか、が変更される必要がある。
【0062】
攻撃者は、ドメイン管理者アカウント、ファイルサーバなどの重要なサーバの管理者アカウントのGolden TicketやSilver Ticketを作成し、作成されたGolden TicketやSilver Ticketを使用する可能性が高い。このため、検知精度を上げるためには、ドメインコントローラやADドメインに参加している重要なサーバにおいて高い権限を持つ全てのアカウントについて、SIDまたはアカウント名のいずれかを変更することが望ましい。
【0063】
検知がSIDを使用して行われる場合、ドメイン管理者アカウントおよび重要なサーバの管理者アカウントのSIDが、変更される必要がある。SIDを変更する方法は、ドメイン管理者アカウントの削除および再作成である。ドメイン管理者アカウントが、一旦削除され、そして、ドメイン管理者アカウントが同じアカウント名で再作成されると、アカウント名は変わらず、SIDのみが変更される。運用や既存システムの都合で、アカウント名を変更することが難しい場合には、SIDの変更が、検知に適している。
【0064】
一方、検知がアカウントを使用して行われる場合に、ドメイン管理者アカウントおよび重要なサーバの管理者アカウントのアカウント名が、変更される。この場合、SIDは変わらず、アカウント名のみが変更される。アカウント名を変更する方式による検知のメリットは、アカウント名の変更後、過去に作成されたGolden TicketおよびSilver Ticketは使えなくなるため、検知が一部の防御策も兼ねている点、である。それに加えて、メリットは、検知ロジックがシンプルである点、である。
【0065】
ただし、KDC(Kerberos Key Distribution Center)の仕様では、作成から20分経過しないチケットの正当性は、検証されない。攻撃者が、Golden TicketおよびSilver Ticketを作成し直すと、攻撃者は、以前のアカウント名で作成されたチケットも使用することができる。このため、アカウント名の変更は、完全な防御策とはならない場合がある。また、アカウント名が変更されるため、このような検知は、運用面に大きな影響を与える。
【0066】
SIDまたはアカウント名が変更された後、SID・アカウント抽出機能121aは、モニタリング対象であるドメイン管理者アカウントおよびサーバの管理者アカウントのSIDと対応するアカウント名のペアを、アカウントSIDデータベース131aに格納する。SIDとアカウント名のペアは、ドメインコントローラ上でwmicコマンドなどを使用することにより、抽出され得る。
【0067】
Golden Ticket、Silver Ticket検知システム10を使用して、Golden TicketおよびSilver Ticketの検知を、効果的に行うためには、変更後のアカウント名やSIDが攻撃者に窃取されないこと、が重要である。以下の対策は、攻撃者が変更後のアカウント名やSIDを窃取することを防ぐことができる。
【0068】
第1の対策は、モニタリング対象のドメイン管理者アカウントおよびサーバの管理者アカウントのパスワードを変更することである。
【0069】
第2の対策は、ドメインコントローラおよび重要なサーバのメモリ保護機能を有効化することである。
【0070】
第3の対策は、モニタリング対象のドメイン管理者アカウントおよびサーバの管理者アカウントを使用して、ユーザ端末などの侵害を受けやすい端末にログインすることを避けることである。
【0071】
イベントログ抽出機能122aは、ドメインコントローラのイベントログ(セキュリティ)を抽出する。Golden Ticket、Silver Ticket検知システム10は、イベントログの抽出方式に依存せずに、実装され得る。具体的には、Golden Ticket、Silver Ticket検知システム10は、イベントログ標準の機能を用いて、イベントログをファイルとしてエクスポートしたり、イベントログを、SIEMに転送したりする方法を採用することができる。
【0072】
〔3-2.本開示に係る不正検知処理〕
図4は、本開示に係る不正検知処理の例である不正検知処理20を示す。
【0073】
図4に示されるように、不正検知装置100は、SIEM100aとして実装される。不正検知装置100は、ドメインコントローラ300cのイベントログ(セキュリティ)を検索する。例えば、不正検知装置100は、イベントビューアで、イベントログを検索したり、イベントログをテキスト形式エクスポートしたりする。イベントログは、SIEM100aに集約され、SIEM100aが、検索やアラート通知を行う。
【0074】
ステップS1では、感染者端末400aのイベントログが、ドメインコントローラ300cに記録される。ステップS2では、ドメインコントローラ300cが、イベントログを、SIEM100aに転送する。ステップS3では、SIEM100aは、セキュリティ管理者端末500に、アラートを通知する。
【0075】
攻撃の早期検出を目的としたリアルタイム検知においては、SIEM100aは、ログ分析ツールなどを用いて、ドメインコントローラ300cのイベントログ(セキュリティ)を収集する。SIEM100aは、ログ分析ツールを用いて、不正を検知し、アラートを通知する。
【0076】
セキュリティ管理者が、運用面への影響を考慮して、分析をオフラインで定期的に行いたい場合には、SIEM100aは、イベントログ標準のエクスポート機能などを用いて、ドメインコントローラ300cのイベントログ(セキュリティ)を、ファイルとしてエクスポートする。そして、SIEM100aは、バッチプログラムなどにより、検出を行う。
【0077】
〔4.不正検知処理のフローチャート〕
次に、
図5および
図6を参照して、本開示に係る不正検知処理の例のフローチャートについて説明する。不正検知処理の例は、不正イベントを検知するための処理を含む。不正イベントを検知するための処理は、例えば、
図1の不正検知装置100によって行われる。
【0078】
図5は、不正イベントを検知するための処理の例である処理P100を示すフローチャートである。
【0079】
図5に示されるように、不正検知装置100のイベントログ抽出部122は、イベントログを監視し、特定のイベントを抽出する(ステップS101)。特定のイベントは、例えば、認証イベントである。
【0080】
次いで、イベントログ抽出部122は、管理者アカウント情報が、抽出されたイベントに含まれるかを判定する(ステップS102)。管理者アカウント情報は、例えば、管理サービスにおいて特定の権限を持つユーザのアカウント情報である。
【0081】
管理者アカウント情報が、抽出されたイベントに含まれない場合に(ステップS102:No)、処理P100は、終了する。
【0082】
管理者アカウント情報が、抽出されたイベントに含まれる場合に(ステップS102:Yes)、不正検知装置100のイベントログ分析部123は、イベントに含まれる管理者アカウント情報がメモリに記憶された管理者アカウント情報と一致するかを判定する(ステップS103)。メモリに記憶された管理者アカウント情報は、例えば、不正検知装置100のアカウント情報抽出部121によって受け付けられる。
【0083】
イベントに含まれる管理者アカウント情報がメモリに記憶された管理者アカウント情報と一致しない場合に(ステップS103:No)、処理P100は、終了する。
【0084】
イベントに含まれる管理者アカウント情報がメモリに記憶された管理者アカウント情報と一致する場合に(ステップS103:Yes)、イベントログ分析部123は、抽出されたイベントを不正イベントとして判定する(ステップS104)。
【0085】
図6Aおよび
図6Bは、不正イベントを検知するための処理のより詳細な例である処理P200をひとまとめにして示すフローチャートである。
【0086】
図6Aを参照すると、はじめに、不正検知装置100(例えば、イベントログ抽出機能122a)は、イベントIDを判定する(ステップS201)。ステップS201は、ステップS201aおよびステップS201bを含む。
【0087】
ステップS201では、不正検知装置100は、イベントログから、不正検知に使用されるイベントIDを抽出する。不正検知装置100によって分析される対象のイベントIDは、(1)4624、(2)4625および(3)4672である。
【0088】
イベントID4624のイベントは、ログイン成功である。ログイン成功は、SIDおよびアカウント名が記録される認証イベントである。イベントID4625のイベントは、ログイン失敗である。イベントID4672のイベントは、特権を利用したアカウント名が記録される認証イベントである。
【0089】
抽出されたイベントIDが、(1)4624、(2)4625および(3)4672のいずれかである場合には(ステップS201aまたはステップS201b:Yes)、不正検知装置100は、イベントIDの判定を継続する。
【0090】
抽出されたイベントIDが、(1)4624、(2)4625および(3)4672のいずれでもない場合には(ステップS201aおよびステップS201b:No)、不正検知装置100は、イベントIDの判定をスキップする。
【0091】
ステップS201aでは、不正検知装置100は、抽出されたイベントIDが4672であるかを判定する。
【0092】
抽出されたイベントIDが4672である場合に(ステップS201a:Yes)、不正検知装置100(例えば、イベントログ抽出機能122a)は、ログ項目を抽出する(ステップS202)。具体的には、不正検知装置100は、イベントID4672から、アカウント名(SubjectUserName)を抽出する。そして、不正検知装置100は、アカウント名(SubjectUserName)を、特権アカウントデータベース132aに格納する。
【0093】
イベントID4672は、Golden TicketおよびSilver Ticketの検出に、単独で使用されない。このため、不正検知装置100は、イベントIDの以後の判定をスキップする。
【0094】
ステップS201bでは、不正検知装置100は、抽出されたイベントIDが4624または4625であるかを判定する。
【0095】
抽出されたイベントIDが4624または4625である場合に(ステップS201b:Yes)、不正検知装置100は、(例えば、イベントログ抽出機能122a)、ログ項目を抽出する(ステップS203)。具体的には、不正検知装置100は、イベントID4624またはイベントID4625から、アカウント名(TargetUserName)、SID(TargetUserSid)およびソースネットワークアドレス(Source Network Address)を抽出する。ソースネットワークアドレスは、認証要求元のコンピュータの特定に必要とされる。
【0096】
抽出されたイベントIDが4624および4625のいずれでもない場合に(ステップS201b:No)、不正検知装置100は、イベントIDの判定をスキップする。
【0097】
ステップS203の後に、不正検知装置100は、ステップS203で抽出されたSIDを判定する(ステップS204)。ステップS204は、ステップS204aを含む。
【0098】
ステップS204では、不正検知装置100は、抽出されたSIDがADドメインに参加しているアカウント(すなわち、ドメインユーザ)のSIDであるかを確認する。もし、抽出されたSIDがドメインユーザのSIDであれば、抽出されたSIDは、「S-{数字}-」という形式のSIDである。そこで、不正検知装置100は、抽出されたSIDがこの形式にマッチしているかを確認する。
【0099】
ステップS204aでは、不正検知装置100は、抽出されたSIDがドメインユーザのSIDであるかを判定する。
【0100】
抽出されたSIDがドメインユーザのSIDでない場合に(ステップS204a:No)、イベントIDの判定をスキップする。なぜなら、Golden TicketおよびSilver Ticketは、ADドメインに参加していないアカウントにおいて作成および使用され得ないからである。
【0101】
抽出されたSIDがドメインユーザのSIDである場合に(ステップS204a:Yes)、不正検知装置100は、ステップS203で抽出されたアカウント名を判定する(ステップS205)。ステップS205は、ステップS205aを含む。
【0102】
ステップS205aでは、不正検知装置100は、アカウント名がイベントログに記録されているかを判定する。
【0103】
Windowsの使用により、サービスアカウントであるSYSTEMアカウントによる認証では、アカウント名が、イベントログに記録されない場合がある。SYSTEMアカウントは、ドメインユーザのアカウントではなく、Golden TicketおよびSilver Ticketは、SYSTEMアカウントにおいて作成および使用され得ない。
【0104】
このため、アカウント名がイベントログに記録されていない場合に(ステップS205a:Yes)、不正検知装置100は、イベントIDの判定をスキップする。アカウント名が記録されていない場合には、アカウント名の項目は、「-」または「NULL SID」である。「-」または「NULL SID」が記録されている場合に、不正検知装置100は、イベントIDの判定をスキップする。
【0105】
アカウント名がイベントログに記録されている場合に(ステップS205a:No)、不正検知装置100は、SIDとアカウントの突合に進む。
【0106】
図6Bを参照すると、
図6AのステップS205aの後に、不正検知装置100(例えば、イベントログ分析機能123a)は、SIDとアカウントを突合する(ステップS206)。ステップS206は、ステップS206aを含む。
【0107】
ステップS206aでは、不正検知装置100は、ステップS203で抽出されたアカウント名およびSIDが、不正検知装置100のメモリに記憶されたアカウント名およびSIDと一致するかを判定する。
【0108】
ステップS203で抽出されたアカウント名およびSIDが、不正検知装置100のメモリに記憶されたアカウント名およびSIDと一致する場合に(ステップS206a:Yes)、不正検知装置100は、イベントログには問題がないと判断し(正常)、イベントログの判定は、終了する。
【0109】
ステップS203で抽出されたアカウント名およびSIDが、不正検知装置100のメモリに記憶されたアカウント名およびSIDと一致しない場合に(ステップS206a:No)、ステップS203で抽出されたアカウント名およびSIDに対応するアカウント名とSIDのペアを、アカウントSIDデータベース131aから検索する(ステップS207)。ステップS207は、ステップS207aを含む。
【0110】
ステップS207aでは、不正検知装置100は、対応するアカウント名とSIDのペアが存在するかを判定する。具体的には、不正検知装置100は、ステップS203で抽出されたアカウント名およびSIDに対応するアカウント名とSIDのペアが、アカウントSIDデータベース131aに登録されているかを判定する。
【0111】
対応するアカウント名とSIDのペアが存在する場合に(ステップS207a:Yes)、不正検知装置100は、イベントログには問題がないと判断し(正常)、イベントログの判定は、終了する。
【0112】
対応するアカウント名とSIDのペアが存在しない場合に(ステップS207a:No)、不正検知装置100は、ステップS203で抽出されたSIDが、アカウントSIDデータベース131aに存在するかを判定する(ステップS208)。
【0113】
ステップS203で抽出されたSIDが、アカウントSIDデータベース131aに登録されているが、ステップS203で抽出されたアカウント名が、アカウントSIDデータベース131aに登録されている、ステップS203で抽出されたSIDに対応するアカウント名と一致しない場合に、不正検知装置100は、イベントログを、攻撃として判定する。すなわち、不正検知装置100は、アカウント名が変更される前の古いアカウント名を使用したGolden Ticket・Silver Ticketや、存在しないアカウント名で作成されたGolden Ticket・Silver Ticketが使用された、と判断する。
【0114】
このため、ステップS203で抽出されたSIDが、アカウントSIDデータベース131aに存在する場合に(ステップS208:Yes)、不正検知装置100は、イベントログを、攻撃として判定する。そして、不正検知装置100は、アラート通報を行う。
【0115】
ステップS203で抽出されたSIDが、アカウントSIDデータベース131aに存在しない場合に(ステップS208:No)、ステップS203で抽出されたアカウント名のアカウントがドメイン管理者権限を持つアカウントであるかを判定する(ステップS209)。
【0116】
ステップS203で抽出されたSIDと、ステップS203で抽出されたアカウント名とが、アカウントSIDデータベース131aに存在しない場合に、2通りのパターンが想定される。
【0117】
第1のパターンは、ステップS203で抽出されたアカウント名のアカウントが、モニタリング対象ではないアカウント(特権を持たないドメインユーザアカウントなど)である、というものである。第2のパターンは、SIDが変更される前に生成されたGolden TicketやSilver Ticketが使用された、というものである。このため、不正検知装置100は、特権アカウントデータベース132aを参照し、ステップS203で抽出されたアカウント名のアカウントが、特権を持つアカウントであるかを判定する。ステップS203で抽出されたアカウント名のアカウントが、特権アカウントデータベース132aに存在しない場合に、ステップS203で抽出されたアカウント名のアカウントは、モニタリング対象ではないアカウントである。
【0118】
このため、ステップS203で抽出されたアカウント名のアカウントがドメイン管理者権限を持つアカウントでない場合に(ステップS209:No)、イベントログには問題がないと判断し(正常)、イベントログの判定は、終了する。
【0119】
一方、ステップS203で抽出されたアカウント名のアカウントが、特権アカウントデータベース132aに存在する場合に、Golden TicketまたはSilver Ticketの使用が疑われる。
【0120】
このため、ステップS203で抽出されたアカウント名のアカウントがドメイン管理者権限を持つアカウントである場合に(ステップS209:Yes)、不正検知装置100は、イベントログを、攻撃として判定する。そして、不正検知装置100は、アラート通報を行う。
【0121】
〔5.効果〕
上述のように、不正検知装置100は、ドメイン管理者アカウントやサーバの管理者アカウントのアカウント名、SIDを抽出したり保持したりする。また、不正検知装置100は、特権アカウントを抽出したり保持したりする。そして、不正検知装置100は、セキュリティイベントログから、分析に必要とされるイベントを抽出する。不正検知装置100は、抽出されたイベントを分析し、Golden TicketやSilver Ticketの使用を検知する。
【0122】
例えば、不正検知装置100は、Windowsにおいてアカウントを識別するための一意な値であるSIDを用いて、不正イベントの検知することができる。また、不正検知装置100は、アカウント名を用いて、不正なイベント検知することができる。不正検知装置100は、Golden TicketやSilver Ticketを使用する際のなりすましのアカウントのアカウント名およびSIDの情報を保持する。不正検知装置100は、Golden TicketやSilver Ticketの両方が、認証時に使用されること、に着目している。不正検知装置100は、ターゲットとなり得る管理者アカウントのSIDまたはアカウント名の変更後、変更前のSIDやアカウント名を用いたアクセスを検出することで、Golden TicketやSilver Ticketの使用を検出する。
【0123】
従来の手法では、Golden TicketやSilver Ticketの使用を防御することはできるものの、検知が難しく、本当に組織内ネットワークから攻撃者を排除することができたのかを確認する方法がなかった。不正検知装置100は、直接的な防御手法ではないが、検知に特化した手法であり、潜在している感染端末を高確率で検出できるため、攻撃を根絶するためのステップの一つとなり得るものである。
【0124】
さらに、不正検知装置100は、イベントログのみを用いて検知を行うため、ネットワーク構成の変更、ドメインコントローラやサーバへの追加のソフトウエアのインストールなどのシステム構成の変更が不要である。また、SIDを用いて検知する方法においては、管理者アカウントのSIDの変更が必要となるが、アカウント名を変える事なく運用を継続する事ができる。不正検知装置100は、運用面の影響を抑えつつ、効果的にGolden TicketやSilver Ticketの使用を検出することが可能となる。不正検知装置100は、標的型攻撃対策サービス・ソリューションやSIEMの検知ロジックの1シグネチャとして組み込まれ得る。
【0125】
〔6.その他〕
自動的に行われる処理として述べられた処理の一部は、手動的に行われ得る。あるいは、手動的に行われる処理として述べられた処理の全部または一部は、公知の方法で、自動的に行われ得る。さらに、本明細書や図面中で示された処理の手順、具体的名称、各種のデータやパラメータを含む情報は、特に明記しない限り、任意に変更され得る。例えば、各図に示された各種情報は、図示された情報に限られない。
【0126】
図示されたシステムおよび装置の構成要素は、システムおよび装置の機能を、概念的に示すものである。構成要素は、必ずしも、図面に示されたように物理的に構成されているとは限らない。言い換えると、分散または統合されたシステムおよび装置の具体的形態は、図面に示されたシステムおよび装置の形態に限られない。システムおよび装置の全部または一部は、各種の負荷や使用状況に応じて、機能的または物理的に分散または統合され得る。
【0127】
〔7.ハードウェア構成〕
図7は、コンピュータのハードウェア構成の例であるコンピュータ1000を示す図である。本明細書で説明されたシステムや方法は、例えば、
図7に示されたコンピュータ1000よって実装される。
【0128】
図7は、プログラムが実行されることにより、不正検知装置100が実装されるコンピュータの一例を示している。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
【0129】
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
【0130】
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、不正検知装置100の各処理を規定するプログラムは、コンピュータ1000により実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、不正検知装置100における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
【0131】
ハードディスクドライブ1090は、不正検知処理のための不正検知プログラムを記憶することができる。また、不正検知プログラムは、プログラムプロダクトとして作成され得る。プログラムプロダクトは、実行された場合に、上述したような、1つまたは複数の方法を実行する。
【0132】
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
【0133】
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN、WAN等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【0134】
〔8.実施形態のまとめ〕
上述のように、本開示に係る不正検知装置100は、イベントログ抽出部122およびイベントログ分析部123を含む。少なくとも1つの実施形態では、イベントログ抽出部122は、コンピュータとユーザを管理する管理サービスのイベントログから、認証イベントを特定し、認証イベントから、管理サービスにおいて特定の権限を持つユーザのアカウント情報を抽出する。少なくとも1つの実施形態では、イベントログ分析部123は、イベントログ抽出部122によって抽出されたアカウント情報が、管理サービスにおいて以前に使用されていた特定のアカウント情報と一致する場合に、認証イベントを、不正イベントとして検知する。
【0135】
いくつかの実施形態では、イベントログ抽出部122は、管理サービスにおいて特定の権限を持つユーザのアカウント情報として、管理サービスの管理単位であるドメインに参加しているドメインユーザのアカウント情報を抽出する。
【0136】
いくつかの実施形態では、イベントログ抽出部122は、管理サービスにおいて特定の権限を持つユーザのアカウント情報として、管理サービスにおいて特定の権限を持つユーザを識別する識別子を抽出する。いくつかの実施形態では、イベントログ分析部123は、イベントログ抽出部122によって抽出された識別子が、管理サービスにおいて以前に使用されていた特定の識別子と一致する場合に、認証イベントを、不正イベントとして検知する。
【0137】
いくつかの実施形態では、イベントログ抽出部122は、管理サービスにおいて特定の権限を持つユーザのアカウント情報として、管理サービスにおいて特定の権限を持つユーザのアカウント名を抽出する。いくつかの実施形態では、イベントログ分析部123は、イベントログ抽出部122によって抽出されたアカウント名が、管理サービスにおいて以前に使用されていた特定のアカウント名と一致する場合に、認証イベントを、不正イベントとして検知する。
【0138】
上述のように、本開示に係る不正検知装置100は、アカウント情報抽出部121を含む。アカウント情報抽出部121は、管理サービスにおいて以前に使用されていた特定のアカウント情報を、管理サービスから取得する。
【0139】
いくつかの実施形態では、アカウント情報抽出部121は、管理サービスにおいて現在使用されている特定のアカウント情報を受け付ける。いくつかの実施形態では、イベントログ分析部123は、イベントログ抽出部122によって抽出されたアカウント情報が、アカウント情報抽出部121によって受け付けられた特定のアカウント情報と一致しない場合に、イベントログ抽出部122によって抽出されたアカウント情報が、管理サービスにおいて以前に使用されていた特定のアカウント情報と一致するかを判定する。
【0140】
様々な実施形態を、図面を参照して、本明細書で詳細に説明したが、これらの複数の実施形態は例であり、本発明をこれらの複数の実施形態に限定することを意図するものではない。本明細書に記載された特徴は、当業者の知識に基づく様々な変形や改良を含む、様々な方法によって実現され得る。
【0141】
また、上述した「部(module、-er接尾辞、-or接尾辞)」は、ユニット、手段、回路などに読み替えることができる。例えば、通信部(communication module)、制御部(control module)および記憶部(storage module)は、それぞれ、通信ユニット、制御ユニットおよび記憶ユニットに読み替えることができる。
【符号の説明】
【0142】
1 環境
100 不正検知装置
110 通信部
120 制御部
121 アカウント情報抽出部
122 イベントログ抽出部
123 イベントログ分析部
130 記憶部
131 アカウント情報
132 特権アカウント
200 ネットワーク
300 サーバ装置
400 感染端末
500 セキュリティ管理者端末