IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧

<>
  • 特許-抽出方法、抽出装置及び抽出プログラム 図1
  • 特許-抽出方法、抽出装置及び抽出プログラム 図2
  • 特許-抽出方法、抽出装置及び抽出プログラム 図3
  • 特許-抽出方法、抽出装置及び抽出プログラム 図4
  • 特許-抽出方法、抽出装置及び抽出プログラム 図5
  • 特許-抽出方法、抽出装置及び抽出プログラム 図6
  • 特許-抽出方法、抽出装置及び抽出プログラム 図7
  • 特許-抽出方法、抽出装置及び抽出プログラム 図8
  • 特許-抽出方法、抽出装置及び抽出プログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-28
(45)【発行日】2024-11-06
(54)【発明の名称】抽出方法、抽出装置及び抽出プログラム
(51)【国際特許分類】
   G06F 21/55 20130101AFI20241029BHJP
【FI】
G06F21/55
【請求項の数】 8
(21)【出願番号】P 2023520662
(86)(22)【出願日】2021-05-12
(86)【国際出願番号】 JP2021018117
(87)【国際公開番号】W WO2022239161
(87)【国際公開日】2022-11-17
【審査請求日】2023-09-04
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】千葉 大紀
(72)【発明者】
【氏名】秋山 満昭
【審査官】塩澤 如正
(56)【参考文献】
【文献】特開2020-035424(JP,A)
【文献】国際公開第2018/235252(WO,A1)
【文献】国際公開第2016/117132(WO,A1)
【文献】特表2018-521430(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/55
(57)【特許請求の範囲】
【請求項1】
抽出装置によって実行される抽出方法であって、
サイバーセキュリティに関する情報に含まれるIOC(Indicator of Compromise)の調査に関して分析者が行った行動の履歴を取得する取得工程と、
前記取得工程によって取得された行動の履歴から得られる情報であって、前記行動の回数及び前記行動が行われた時間の間隔に関する情報を基に、IOCの特徴情報を作成する作成工程と、
を含むことを特徴とする抽出方法。
【請求項2】
抽出装置によって実行される抽出方法であって、
サイバーセキュリティに関する情報に含まれるIOC(Indicator of Compromise)の調査に関して分析者が行った行動の履歴を取得する取得工程と、
前記取得工程によって取得された行動の履歴から得られる情報であって、所定のタイムウィンドウの中で前記行動が行われた時点からの経過時間に関する情報を基に、IOCの特徴情報を作成する作成工程と、
を含むことを特徴とする抽出方法。
【請求項3】
抽出装置によって実行される抽出方法であって、
サイバーセキュリティに関する情報に含まれるIOC(Indicator of Compromise)の調査に関して分析者が行った行動の履歴を取得する取得工程と、
前記取得工程によって取得された行動の履歴から得られる情報であって、前記行動が行われた時の日時、及び前記分析者の勤務形態に関する情報を基に、IOCの特徴情報を作成する作成工程と、
を含むことを特徴とする抽出方法。
【請求項4】
前記作成工程は、前記行動の履歴から得られる情報、及び前記情報から計算される統計量を基に、前記特徴情報を作成することを特徴とする請求項1からのいずれか1項に記載の抽出方法。
【請求項5】
サイバーセキュリティに関する情報に含まれるIOC(Indicator of Compromise)の調査に関して分析者が行った行動の履歴を取得する取得部と、
前記取得部によって取得された行動の履歴から得られる情報であって、前記行動の回数及び前記行動が行われた時間の間隔に関する情報を基に、IOCの特徴情報を作成する作成部と、
を有することを特徴とする抽出装置。
【請求項6】
サイバーセキュリティに関する情報に含まれるIOC(Indicator of Compromise)の調査に関して分析者が行った行動の履歴を取得する取得部と、
前記取得部によって取得された行動の履歴から得られる情報であって、所定のタイムウィンドウの中で前記行動が行われた時点からの経過時間に関する情報を基に、IOCの特徴情報を作成する作成部と、
を有することを特徴とする抽出装置。
【請求項7】
サイバーセキュリティに関する情報に含まれるIOC(Indicator of Compromise)の調査に関して分析者が行った行動の履歴を取得する取得部と、
前記取得部によって取得された行動の履歴から得られる情報であって、前記行動が行われた時の日時、及び前記分析者の勤務形態に関する情報を基に、IOCの特徴情報を作成する作成部と、
を有することを特徴とする抽出装置。
【請求項8】
コンピュータを、請求項5から7のいずれか1項に記載の抽出装置として機能させる抽出プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、抽出方法、抽出装置及び抽出プログラムに関する。
【背景技術】
【0002】
企業や組織ではサイバーセキュリティを担保するために、セキュリティ管理や脅威を検知するためのシステムが導入されている。セキュリティオペレーションセンタ(SOC:Security Operation Center)は、このようなシステムの運用を行う組織である。SOCのアナリスト(分析者)は、システムから出力される大量のログやアラートを監視、分析し、必要な対処を行う。
【0003】
一方で、下記の参考文献1、2によると、日々大量に発生するアラートを処理するアナリストが、アラート疲労と呼ばれる状況を起こし、アナリストの燃え尽きにつながることが問題視されている。
参考文献1:S. C. Sundaramurthy, A. G. Bardas, J. Case, X. Ou, M. Wesch, J. McHugh, and S. R. Rajagopalan, “A human capital model for mitigating security analyst burnout,” Proc. SOUPS, 2015.
参考文献2:Ponemon Institute, “Improving the Effectiveness of the Security Operations Center,” 2019.
【0004】
また、上記の問題を解決するために必要なことは、よりすぐれた自動化を実現してアナリストの稼働を削減することである。実際、参考文献3によると、多くのSOCのマネージャは、SOCコンポーネントの自動化レベルが不十分であることが現在のSOC組織における最重要課題であるととらえている。
参考文献3:F. B. Kokulu, A. Soneji, T. Bao, Y. Shoshitaishvili, Z. Zhao, A. Doupe, and G.-J. Ahn, “Matched and Mismatched SOCs: A Qualitative Study on Security Operations Center Issues,” Proc. ACM CCS, 2019.
【0005】
これに対し、例えば、セキュリティに関する各アラートの異常スコアや悪性度スコアを過去のアラートから推定することで、真に悪性なアラートと誤検知となる本来非悪性のアラートとを識別する技術が提案されている(例えば、非特許文献1から5を参照)。
【0006】
また、セキュリティに関する各アラートと最も関連性の高い情報を抽出してくることで、アナリストのその後のプロセスをサポートする技術が知られている(例えば、非特許文献6から8を参照)。
【先行技術文献】
【非特許文献】
【0007】
【文献】W. U. Hassan, S. Guo, D. Li, Z. Chen, K. Jee, Z. Li, and A. Bates, “NoDoze: Combatting Threat Alert Fatigue with Automated Provenance Triage,” Proc. NDSS, 2019.
【文献】A. Oprea, Z. Li, R. Norris, and K. Bowers, “MADE: Security Analytics for Enterprise Threat Detection,” Proc. ACSAC, 2018.
【文献】K. A. Roundy, A. Tamersoy, M. Spertus, M. Hart, D. Kats, M. Dell’Amico, and R. Scott, “Smoke Detector: Cross-Product Intrusion Detection With Weak Indicators,” Proc. ACSAC, 2017.
【文献】Y. Liu, M. Zhang, D. Li, K. Jee, Z. Li, Z. Wu, J. Rhee, and P. Mittal, “Towards a Timely Causality Analysis for Enterprise Security,” Proc. NDSS, 2018.
【文献】P. Najafi, A. Muhle, W. Punter, F. Cheng, and C. Meinel, “MalRank: a measure of maliciousness in SIEM-based knowledge graphs,” Proc. ACSAC, 2019.
【文献】C. Zhong, J. Yen, P. Liu, and R. F. Erbacher, “Automate Cybersecurity Data Triage by Leveraging Human Analysts’ Cognitive Process,” Proc. IEEE IDS, 2016.
【文献】C. Zhong, T. Lin, P. Liu, J. Yen, and K. Chen, “A cyber security data triage operation retrieval system,” Comput. Secur., vol.76, pp.12-31, 2018.
【文献】S. T. Chen, Y. Han, D. H. Chau, C. Gates, M. Hart, and K. A. Roundy, “Predicting Cyber Threats with Virtual Security Products,” Proc. ACSAC, 2017.
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、従来の技術には、IOCの調査の優先度を決定するために有用な特徴情報が得られない場合があるという問題がある。
【0009】
例えば、上記の先行技術文献に記載された技術では、IOCが異常又は悪性であるか否かを決定するのに必要な特徴情報が採用されている。一方で、IOCが異常又は悪性であることと、当該IOCが分析者による詳細な調査が必要であるかどうかは独立である。
【課題を解決するための手段】
【0010】
上述した課題を解決し、目的を達成するために、抽出方法は、抽出装置によって実行される抽出方法であって、サイバーセキュリティに関する情報に含まれるIOC(Indicator of Compromise)の調査に関して分析者が行った行動の履歴を取得する取得工程と、前記取得工程によって取得された行動の履歴から得られる情報を基に、IOCの特徴情報を作成する作成工程と、を含むことを特徴とする。
【発明の効果】
【0011】
本発明によれば、IOCの調査の優先度を決定するために有用な特徴情報を得ることができる。
【図面の簡単な説明】
【0012】
図1図1は、セキュリティシステムについて説明する図である。
図2図2は、アラートモニタの画面の例を示す図である。
図3図3は、IOCチェッカーの画面の例を示す図である。
図4図4は、第1の実施形態に係る決定装置の構成例を示す図である。
図5図5は、リクエストの期間の例を示す図である。
図6図6は、学習処理の流れを示すフローチャートである。
図7図7は、特徴情報を抽出する処理の流れを示すフローチャートである。
図8図8は、予測処理の流れを示すフローチャートである。
図9図9は、決定プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【0013】
以下に、本願に係る抽出方法、抽出装置及び抽出プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。なお、本実施形態では、決定装置が抽出装置として機能する。
【0014】
[第1の実施形態の構成]
まず、図1を用いて、第1の実施形態に係る決定装置を含むセキュリティシステムについて説明する。図1は、セキュリティシステムについて説明する図である。
【0015】
セキュリティシステム1は、顧客組織のセキュリティプライアンスにおいて生じた所定の情報を基に、分析エンジンによる自動分析、又は分析者による分析が行われる。
【0016】
セキュリティプライアンスは、例えば侵入防御システム(IPS:Intrusion Prevention System)、プロキシ、サンドボックス、統合脅威管理(UTM:Unified Threat Management)等である。
【0017】
SOCでは、セキュリティアプライアンスから取得したセキュリティに関する情報をリアルタイムに分析する。例えば、セキュリティに関する情報にはセキュリティログ及びアラートが含まれる。
【0018】
図1の例では、SOCは大規模なMSSP(Managed Security Service Provider)で提供されるアウトソースSOCとして利用されている。一方で、本実施形態は、インハウスSOCにも適用可能である。
【0019】
アウトソースSOCとインハウスSOCは組織的な違いはあるが、全体的なワークフローは類似している。このため、スケールメリットを十分に発揮できる規模の組織のインハウスSOCであれば、本実施形態の効果が得られやすい。
【0020】
セキュリティシステム1における処理の流れを説明する。図1に示すように、まず、顧客組織のセキュリティアプライアンスは、アラート及びセキュリティログをSOCの分析エンジン10に送信する(ステップS1)。
【0021】
以下、アラートについて処理を行う場合の例を説明する。セキュリティシステム1は、セキュリティログについても、アラートと同様に処理することができる。
【0022】
分析エンジン10は自動分析を行う(ステップS2)。分析エンジン10は、既知の悪意のある特性や、事前に定義されたルールやブラックリストに基づいて分析を行うことで、アラートに対応する。
【0023】
分析エンジン10は、SOAR(Security Orchestration, Automation, and Response)と呼ばれる機能を用いて分析を行ってもよい。
【0024】
分析エンジン10は、所定の条件を満たすアラートを決定装置20、アラートモニタ30又はIOCチェッカー40に送信する(ステップS3)。
【0025】
このとき、図2に示すように、アラートモニタ30は、アラートに関する情報を表示する。図2は、アラートモニタの画面の例を示す図である。
【0026】
例えば、アラートモニタ30には、アラートの原因となったイベントの日付(Date)、顧客名(Customer)、アラートを送信したデバイス(Device)、アラートの名前(Alert Name)、アラートのトリガーとなった状況の概要等が表示される。
【0027】
また、図3に示すように、IOCチェッカー40は、アラートに含まれるIOC(Indicator of Compromise)に関する情報を表示する。図3は、IOCチェッカーの画面の例を示す図である。
【0028】
例えば、IOCには、ドメイン名、IPアドレス、URL、ファイルハッシュ値等が含まれる。
【0029】
図3に示すように、例えば、IOCチェッカー40は、SOCでの調査状況(Status)、IOCの悪性度に関するSOCの直近の判断(SOC Last Decision)、そのIOCの最新の脅威インテリジェンス結果(Detection in TI)等を表示する。
【0030】
例えば、分析者は、アラートモニタ30及びIOCチェッカー40といった、IOC評価専用のツールを使って、分析エンジン10によって処理できなかったアラートについてIOCのトリアージ(評価)を行う。
【0031】
SOCの分析者は日頃のSOCワークフローで大量のアラートを処理する。そこで、決定装置20は、優先度が高いIOCを決定し、分析者に通知する。これにより、SOCにおいて複数の分析者が同じIOCを手動で評価することを防止することができる。
【0032】
また、決定装置20によれば、優先度が高いIOCを優先して分析することができるため、分析者の稼働量に対する効果を向上させることができる。
【0033】
決定装置20は、モデルの学習、又はモデルを用いてIOCの優先度の予測を行う(ステップS4)。そして、決定装置20は、予測結果に基づき優先度が高いIOCを決定し、当該決定したIOCを通知する(ステップS5)。
【0034】
例えば、決定装置20は、決定したIOCを、IOCチェッカー40を介して分析者に通知する。
【0035】
分析者は、通知された優先度に基づき分析を実施する(ステップS6)。また、分析者は、分析の過程で脅威インテリジェンスサービス(例えば、VirusTotal(https://www.virustotal.com/))の検索を行ってもよい(ステップS7)。
【0036】
脅威インテリジェンスサービスの中には、脅威のレベルや悪性度に関するスコアを提供するものがある。しかしながら、本来そのようなスコアは必ずしも分析者の次のアクションを決定するものではない。
【0037】
例えば、既にパッチが展開されている脆弱性を利用した攻撃に関連したIOCは、悪性であるスコアが高いかもしれないが、顧客組織を守るという観点では差し迫った脅威ではない。
【0038】
このように、SOCにおけるアラート分析は単純ではないため、アラート分析を完全自動化することは難しく、分析者による判断が必要になる場合がある。
【0039】
このため、決定装置20による優先度が高いIOCの決定は、分析者の判断の時間を確保し、また各IOCの調査稼働を削減するために有用であるということができる。
【0040】
分析者は、最終的に分析対象のアラート及び当該アラートに含まれたIOCが悪性か非悪性かを判断し、さらに顧客への報告が必要かどうかを判断し、顧客への報告が必要な場合、顧客組織のシステム管理者等に報告を行う(ステップS8)。
【0041】
例えば、分析者があるIOCの評価を完了すると、その結果に基づいて、分析エンジン10におけるアラートのトリガーされる条件を変更することができる。
【0042】
例えば、分析者による評価で明らかに悪性のIOCが特定された場合、カスタムブラックリスト又はカスタムシグネチャとして当該IOCを分析エンジン10において使用することができる。
【0043】
その場合、同一IOCを含むログをSOCの他の顧客でも自動的に検知できるようにすることができる。また、評価で誤検知や脅威レベルが少ないIOCが特定された場合、アラートをトリガーするSIEMロジックが変更され、同じ誤検知アラートが再び発生するのを防ぐことができ、分析者の稼働削減につながる。
【0044】
以降、決定装置20が優先度の高いIOCを決定する処理について、決定装置20の構成とともに詳細に説明する。
【0045】
図4は、第1の実施形態に係る決定装置の構成例を示す図である。図4に示すように、決定装置20は、特徴情報抽出部21、ラベル付与部22、学習部23、予測部24及びモデル情報25を有する。
【0046】
決定装置20は、機械学習手法によるモデルの学習処理、及び学習済みのモデルを使った予測処理を行う。
【0047】
学習処理では、特徴情報抽出部21、ラベル付与部22及び学習部23が用いられる。また、予測処理では、特徴情報抽出部21及び予測部24が用いられる。
【0048】
特徴情報抽出部21は、サイバーセキュリティに関する情報に含まれるIOCから特徴情報を抽出する。例えば、サイバーセキュリティに関する情報は、分析エンジン10から取得するアラートである。
【0049】
特徴情報抽出部21は、分析エンジン10から入手した過去のアラートに含まれるIOCから、当該IOCの特性を特徴づける情報(以後、特徴情報)を抽出する。
【0050】
特徴情報は、IOCに含まれるドメイン名、IPアドレス、URL、ファイルハッシュ値等であってもよい。
【0051】
例えば、特徴情報抽出部21は、あらかじめ定められた一定の日数の間に発生したアラートから特徴情報を抽出する。
【0052】
ここで、特徴情報抽出部21による特徴情報の抽出方法を詳細に説明する。特徴情報抽出部21は、取得部及び作成部を有する抽出装置として機能する。
【0053】
取得部は、サイバーセキュリティに関する情報に含まれるIOCの調査に関して分析者が行った行動の履歴を取得する。作成部は、取得部によって取得された行動の履歴から得られる情報を基に、IOCの特徴情報を作成する。
【0054】
特徴情報抽出部21は、SOC全体として各IOCをどのシフトの分析者がいつどのくらい調査したのかという行動の履歴に基づいて特徴情報を作成する。
【0055】
例えば、特徴情報抽出部21は、分析者が各IOCを調査するために実施したリクエストを観測し、その観測情報から特徴情報を作成する。
【0056】
図1のステップS7に示すように、分析者は、SOCワークフローにおいて、顧客組織からのアラートに含まれるIOCについて、脅威インテリジェンスサービスへ検索のためのリクエストを送る場合がある。
【0057】
そこで、特徴情報抽出部21は、脅威インテリジェンスサービスへのリクエストの情報を分析者の行動履歴として入手することができる。
【0058】
特徴情報抽出部21は、各分析者の行動履歴を個別に詳細に取得する必要はない。また、特徴情報抽出部21は、日頃のSOCワークフローを変えることなく行動履歴を取得することができる。また、大部分のSOCで、上記のような行動履歴は容易に入手可能である。
【0059】
本実施形態では、特徴情報抽出部21は、3つの大項目及び8つの小項目からなる合計80個の特徴情報を抽出するものとする。
【0060】
特徴情報抽出部21は、5つの異なるタイムウィンドウ(例えば、1日、3日、7日、14日、30日)を用いて特徴情報を抽出する。
【0061】
このように複数の異なるタイムウィンドウを用いることにより、特徴情報抽出部21は、短い期間でバースト的に観測されるアラートに含まれるIOCと、より長い期間で観測されるアラートのIOCとを識別可能にすることができる。
【0062】
また、特徴情報抽出部21は、直近の1週間を1日、3日、7日にさらに分割することで、より直近の情報を重視したリアルタイムでの優先度の予測に適した特徴情報を得ることができる。
【0063】
各項目の特徴情報について説明する。まず、項目1の特徴情報は、分析者のリクエストのタイミングに基づく特徴情報である。項目1に包含される特徴情報は、例えば55個である。以下項目X-Yのように表記される項目の特徴情報は、項目Xに包含される特徴情報であるものとする。
【0064】
特徴情報抽出部21は、行動の回数及び行動が行われた時間の間隔に関する情報を基に、項目1に包含される特徴情報を作成する。例えば、行動の回数及び行動が行われた時間の間隔は、脅威インテリジェントサービスへのリクエストの回数及びリクエストの間隔である。
【0065】
(項目1-1)
特徴情報抽出部21は、5つのタイムウィンドウ(例えば1日、3日、7日、14日、30日)ごとの、当該SOCが利用している脅威インテリジェンスサービスへのリクエストクエリ数を特徴情報としてカウントする。これにより、特徴情報抽出部21は、例えば5個の特徴情報を得る。
【0066】
項目1-1の特徴情報を利用している理由は、SOCアナリストが手動で調査を実施した疑わしい候補のIOCに、それぞれ異なる特徴があるためである。
【0067】
例えば、短期的に多くの顧客組織で同時に観測されるようなアラートに含まれるIOCがあったり、その逆に長期的に複数の顧客組織で観測されるようなIOCがあったりする。
【0068】
(項目1-2)
特徴情報抽出部21は、項目1-1におけるリクエスト数の平均、最小、最大、標準偏差、分散といった統計量を特徴情報として計算する。これにより、特徴情報抽出部21は、例えば25個の特徴情報を得る。
【0069】
このように、特徴情報抽出部21は、行動の履歴から得られる情報、及び情報から計算される統計量を基に、特徴情報を作成する。
【0070】
項目1-2の特徴情報によれば、各タイムウィンドウ内で、当該SOC拠点の複数のアナリストがどのように当該IOCを調査していたかという傾向を把握することができる。
【0071】
(項目1-3)
特徴情報抽出部21は、リクエスト間の時間間隔の平均、最小、最大、標準偏差、分散といった統計量を特徴情報として計算する。これにより、特徴情報抽出部21は、例えば25個の特徴情報を得る。
【0072】
項目1-3の特徴情報は、特定の顧客企業に対する標的型攻撃で使用されるIOCの調査リクエストと、複数の企業に無差別的に実施される非標的型攻撃で使用されるIOCの調査リクエストを区別することに寄与する。
【0073】
例えば、標的型攻撃に使用されたIOCは、一部の企業やその従業員にしか到達せず、結果SOCアナリストが調査することは相対的に希である。一方で、非標的型攻撃に使用されたIOCは、企業及び従業員にかかわらず広くばらまかれるために、短期間で同一SOC拠点の複数のアナリストが調査することになる。
【0074】
項目2の特徴情報は、分析者のリクエストの期間に基づく特徴情報である。項目2に包含される特徴情報は、例えば15個である。
【0075】
特徴情報抽出部21は、所定のタイムウィンドウの中で行動が行われた時点からの経過時間に関する情報を基に、項目2に包含される特徴情報を作成する。項目2で用いられる各期間は、図5に示す通りである。図5は、リクエストの期間の例を示す図である。
【0076】
(項目2-1)
特徴情報抽出部21は、タイムウィンドウごとの、最初の調査日からの経過日数を特徴情報として計算する。これにより、特徴情報抽出部21は、例えば5個の特徴情報を得る。
【0077】
項目2-1の特徴情報によれば、分析者による調査が早くから行われていたIOCと、最近から調査が行われたIOCとを区別することができる。
【0078】
(項目2-2)
特徴情報抽出部21は、タイムウィンドウごとの、最後の調査日からの経過日数を特徴情報として計算する。これにより、特徴情報抽出部21は、例えば5個の特徴情報を得る。
【0079】
項目2-2の特徴情報によれば、IOCが分析者によって最近まで継続して調査されてきたものであるか否かを区別することができる。
【0080】
(項目2-3)
特徴情報抽出部21は、タイムウィンドウごとの、分析者による最初の調査日から最後の調査日までの経過日数を特徴情報として計算する。これにより、特徴情報抽出部21は、例えば5個の特徴情報を得る。
【0081】
項目2-3の特徴情報によれば、分析者によって長期間調査されてきたIOCと、短期間しか調査されていないIOCとを区別することができる。
【0082】
項目3の特徴情報は、分析者のシフトに基づく特徴情報である。項目3に包含される特徴情報は、例えば10個である。
【0083】
特徴情報抽出部21は、行動が行われた時の日時、及び分析者の勤務形態に関する情報を基に、項目3の特徴情報を作成する。
【0084】
(項目3-1)
特徴情報抽出部21は、タイムウィンドウごとの、分析者が脅威インテリジェンスサービスへリクエストを行った日が平日である割合を特徴情報として計算する。例えば、平日は、SOCの拠点がある場所の現地時間における月曜日から金曜日であるものとする。これにより、特徴情報抽出部21は、例えば5個の特徴情報を得る。
【0085】
SOCの分析者は、平日は顧客組織から直近で観測されたアラートに含まれるIOCを調査することが多い。一方で、分析者は、週末は通常とは異なるIOCを調査したり、アラートの絶対数が少なくなるため平日にはできない脅威の能動的な調査を行ったりする傾向がある。項目3-1の特徴情報はこのような傾向を考慮した特徴情報である。
【0086】
(項目3-2)
特徴情報抽出部21は、タイムウィンドウごとの、分析者が脅威インテリジェンスサービスへリクエストを行った時刻が日勤帯である割合を特徴情報として計算する。例えば、分析者のシフトには、24時間365日の対応を行うために、日勤(例えば8:00から16:00)及び夜勤(例えば16:00から翌日の8:00)がある場合がある。これにより、特徴情報抽出部21は、例えば5個の特徴情報を得る。
【0087】
前述の平日と週末の関係と同様に、日勤と夜勤とで分析者による調査の傾向が異なる場合がある。項目3-2の特徴情報はこのような傾向を考慮した特徴情報である。
【0088】
ラベル付与部22は、IOCのそれぞれについて、関連するアラートの対応に要した稼働量の実績に応じたラベルを付与する。
【0089】
ここでは、ラベルは優先度が高いか否かを表す二値データであるものとする。例えば、ラベル付与部22は、過去に分析者の稼働を多く消費したIOCについては、優先度が高いことを示すラベルを付与し、そうでないものについては優先度が高くないことを示すラベルを付与する。
【0090】
なお、従来技術(例えば、非特許文献4から8に記載の技術)では、IOCが悪性のもの(又は悪意があるもの)であるか否かを示すラベルが付与されていた。一方で、本実施形態では、分析者の稼働量に基づきラベルが付与される。
【0091】
ラベル付与部22は、IOCのうち、関連するアラートに対して一定期間内に発生した手動調査の回数が所定値以上であるIOCについて、優先度が高いことを示すラベルを付与し、手動調査の回数が所定値未満であるIOCについて、優先度が高くないことを示すラベルを付与する。
【0092】
以降の説明では、優先度が高いことを示すラベルを「優先」、優先度が高くないことを示すラベルを「非優先」と表記する。
【0093】
学習部23は、特徴情報抽出部21によって抽出された特徴情報及びラベル付与部22によって付与されたラベルを組み合わせた学習データを用いて、IOCの特徴情報からラベルを出力するモデルの学習を行う。
【0094】
学習部23は、教師あり機械学習により、モデルの作成及び更新を行う。モデル情報25は、モデルを構築するためのパラメータ等を含む情報である。学習部23は、モデル情報25の作成及び更新を行う。
【0095】
学習部23は、既知の任意の教師あり機械学習のアルゴリズムを採用することが可能である。本実施形態では、学習部23は標準的なロジスティック回帰を採用するものとする。
【0096】
ロジスティック回帰は、スケーラブルで高速なので、SOC環境のように多くの顧客からの大量のアラートに含まれるIOCを予測するのに適している。
【0097】
また、ロジスティック回帰は解釈可能性が高いことが知られている。ロジスティック回帰の出力は、その性質上、入力されたIOCが優先される確率として解釈でき、さらに各IOCに対応する特徴情報のうちどの特徴が結果に貢献しているかを示すことができる。このように、ロジスティック回帰には解釈可能性が高いという利点がある。
【0098】
ここでは、学習部23は、特にL1正則化つきロジスティック回帰を利用するものとする。
【0099】
まず、学習部23は、特徴情報抽出部21によって抽出された特徴情報を表すベクトルxが与えられたとき、(1)式に示すラベルの条件付き確率yを、(2)式のようにモデル化する。
【0100】
【数1】
【0101】
【数2】
【0102】
ここで、θはロジスティック回帰モデルのパラメータである。また、σはシグモイド関数である。また、xの全ての特徴は、[0,1]の範囲に正規化されるものとする。
【0103】
学習部23は、正則化の度合いを決定するハイパーパラメータλを導入した(4)式の目的関数を最小化する際のパラメータθを求めるために、(3)式に示すn個のラベル付きの学習用データの集合を使用する。
【0104】
【数3】
【0105】
【数4】
【0106】
(4)式のうち、L1正則化部分λ||θ||は、目的関数にペナルティを加えており、有意に寄与しない特徴情報を識別して削減する効果がある。
【0107】
このような特徴量の削減は必要以上に学習データに合わせてしまうオーバーフィッティングの防止に寄与するだけでなく、メモリ使用量の削減や、SOCアナリストに提示する結果をより簡潔で解釈しやすいものにする効果がある。
【0108】
予測部24は、学習部23による学習が行われたモデルを用いて、IOCの特徴情報からラベルを予測する。
【0109】
予測部24は、学習部23によって学習が行われたモデルを利用して、新たにリアルタイムで発生したアラートに含まれるIOCと対応する特徴情報を入力し、どのIOCが将来的に分析者の稼働を多く消費することになるのかを予測する。
【0110】
例えば、予測部24は、モデル情報25を基に構築したロジスティック回帰モデルを使って予測を行う。
【0111】
例えば、予測部24は、分析者が対象のIOCをP日以内にK回以上手動で分析する確率を予測することである(ただし、Pは整数)。
【0112】
予測部24は、学習部23によって決定されたパラメータθを用いて、IOCに対応する特徴情報のベクトルxが「優先」である確率p求め、予測するラベル^y(yの直上に^)を(5)式で定義する。
【0113】
【数5】
【0114】
決定装置20は、予測部24によって予測されたラベルを基に、SOCの分析者による繰り返しの調査につながると考えられるIOC、すなわち「優先」ラベルが予測されたIOCを、確率pが高い順に出力し、分析者に提示する。
【0115】
このとき、分析者は、決定装置20によって提示された情報を利用して、調査対象の優先順位付けを行い、効率的にトリアージや詳細分析を行うことができる。
【0116】
SOCの分析者は、IOCに対してどのようなアクションを取るべきかを可能な限り決定し記録することが求められる。
【0117】
本実施形態によれば、分析者は優先度が高いIOCを調査し、その結果を分析エンジン10に反映させることができる。それによって、分析エンジン10は同じIOCを含むアラートを自動処理できるようになるため、分析者が毎回当該IOCを手動で調査することを回避し、SOC全体としての稼働量の削減を図ることができる。
【0118】
例えば、分析者は優先度が高いと決定されたIOCを調査し、その結果を基に分析エンジン10に当該IOCを自動分析させるようにする。これにより、当該IOCは他の分析者に受け渡されることがなくなるため、稼働量が削減される。
【0119】
なお、決定装置20は、学習処理をオフラインで定期的(例えば1日に1回)に再実行し、モデル情報25を更新する。決定装置20は、図5に示す特徴情報抽出時点前後の所定の期間のデータを利用して学習処理を行う。例えば、決定装置20は、特徴抽出時点までのF日間(タイムウィンドウに相当)と特徴情報抽出時点からのL日間を合わせたF+L日間のデータを利用して学習処理を行う(ただし、F及びLは整数)。
【0120】
一方、決定装置20が、顧客組織からのアラートに含まれるIOCをリアルタイムに処理する際、すなわち予測処理を行う際には、当該IOCに対して、過去F日間分のデータを利用して特徴情報を抽出する。
【0121】
そして、決定装置20は、抽出した特徴情報から、未来のP日間に分析者によるK回以上の手動調査が実施される確率pを計算する。
【0122】
決定装置20は、上記の予測処理をリアルタイムに受信するIOCごとに繰り返す。その結果、分析者が優先的に調査するべきIOCのリストが、図3のようにIOCチェッカー40の画面に表示され継続的に更新される。
【0123】
[第1の実施形態の処理]
図6は、学習処理の流れを示すフローチャートである。図6に示すように、まず、決定装置20は、過去のアラートの入力を受け付ける(ステップS101)。
【0124】
次に、決定装置20は、入力されたアラートに含まれるIOCから特徴情報を抽出する(ステップS102)。続いて、決定装置20は、各IOCに対する分析者の稼働量に基づいて優先度に関する正解ラベルを付与する(ステップS103)。
【0125】
そして、決定装置20は、正解ラベルを用いて、特徴情報から優先度に関するラベルを出力するモデルを学習する(ステップS104)。
【0126】
図7は、特徴情報を抽出する処理の流れを示すフローチャートである。図7の処理は、図6のステップS102に相当する。
【0127】
まず、図7に示すように、決定装置20は、分析者の行動履歴を取得する(ステップS102a)。
【0128】
次に、決定装置20は、分析者のリクエストのタイミングに基づく特徴情報を作成する(項目1)(ステップS102b)。続いて、決定装置20は、分析者のリクエストの期間に基づく特徴情報を作成する(項目2)(ステップS102c)。さらに、決定装置20は、分析者のシフトに基づく特徴情報を作成する(項目3)(ステップS102d)。
【0129】
図8は、予測処理の流れを示すフローチャートである。図8に示すように、まず、決定装置20は、直近のアラートの入力を受け付ける(ステップS201)。
【0130】
次に、決定装置20は、入力されたアラートに含まれるIOCから特徴情報を抽出する(ステップS202)。続いて、決定装置20は、各IOCに対する分析者の稼働量に基づいて正解ラベルを抽出する(ステップS203)。
【0131】
そして、決定装置20は、特徴情報を学習済みのモデルに入力して、優先度に関するラベルを予測する(ステップS204)。
【0132】
決定装置20は、予測したラベルに基づき優先度の高いIOCをSOCの分析者に通知することができる。
【0133】
[第1の実施形態の効果]
これまで説明してきたように、特徴情報抽出部21は、サイバーセキュリティに関する情報に含まれるIOCの調査に関して分析者が行った行動の履歴を取得する。特徴情報抽出部21は、取得した行動の履歴から得られる情報を基に、IOCの特徴情報を作成する。
【0134】
これにより、IOCの調査の優先度を決定するために有用な特徴情報を得ることができる。
【0135】
特徴情報抽出部21は、行動の回数及び行動が行われた時間の間隔に関する情報を基に、特徴情報を作成する。
【0136】
これにより、特徴情報抽出部21は、分析者によるIOCの調査の傾向を特徴情報に反映させることができる。
【0137】
特徴情報抽出部21は、所定のタイムウィンドウの中で行動が行われた時点からの経過時間に関する情報を基に、特徴情報を作成する。
【0138】
これにより、特徴情報抽出部21は、IOCが長い間調査が行われてきたものであるか、又は短い間しか調査が行われていないものであるかを特徴情報に反映させることができる。
【0139】
特徴情報抽出部21は、行動が行われた時の日時、及び分析者の勤務形態に関する情報を基に、特徴情報を作成する。
【0140】
これにより、特徴情報抽出部21は、分析者の勤務シフトに応じた調査内容の傾向を特徴情報に反映させることができる。
【0141】
特徴情報抽出部21は、行動の履歴から得られる情報、及び情報から計算される統計量を基に、特徴情報を作成する。
【0142】
これにより、特徴情報抽出部21は、限られた情報からさらに多くの特徴情報を得ることができる。
【0143】
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU(Central Processing Unit)及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。なお、プログラムは、CPUだけでなく、GPU等の他のプロセッサによって実行されてもよい。
【0144】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0145】
[プログラム]
一実施形態として、決定装置20は、パッケージソフトウェアやオンラインソフトウェアとして上記の決定処理を実行する決定プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の決定プログラムを情報処理装置に実行させることにより、情報処理装置を決定装置20として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
【0146】
また、決定装置20は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の決定処理に関するサービスを提供する決定サーバ装置として実装することもできる。例えば、決定サーバ装置は、セキュリティに関するアラートを入力とし、優先度の高いIOCを出力とする決定サービスを提供するサーバ装置として実装される。この場合、決定サーバ装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の決定処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。
【0147】
図9は、決定プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
【0148】
メモリ1010は、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
【0149】
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、決定装置20の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、決定装置20における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
【0150】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020は、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した実施形態の処理を実行する。
【0151】
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【符号の説明】
【0152】
1 セキュリティシステム
10 分析エンジン
20 決定装置
21 特徴情報抽出部
22 ラベル付与部
23 学習部
24 予測部
25 モデル情報
30 アラートモニタ
40 IOCチェッカー
図1
図2
図3
図4
図5
図6
図7
図8
図9