(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-30
(45)【発行日】2023-09-07
(54)【発明の名称】知識グラフを用いてサイバーセキュリティを提供する方法、装置及びコンピュータプログラム
(51)【国際特許分類】
G06F 16/90 20190101AFI20230831BHJP
G06F 16/28 20190101ALI20230831BHJP
G06N 5/02 20230101ALI20230831BHJP
【FI】
G06F16/90 100
G06F16/28
G06N5/02
(21)【出願番号】P 2021562311
(86)(22)【出願日】2020-01-30
(86)【国際出願番号】 KR2020001384
(87)【国際公開番号】W WO2020222404
(87)【国際公開日】2020-11-05
【審査請求日】2021-12-02
(31)【優先権主張番号】10-2019-0050717
(32)【優先日】2019-04-30
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】521458188
【氏名又は名称】エスツーダブリュー インコーポレイテッド
(74)【代理人】
【識別番号】100149870
【氏名又は名称】芦北 智晴
(72)【発明者】
【氏名】ソ サンドク
(72)【発明者】
【氏名】ユン チャンフン
(72)【発明者】
【氏名】リ スンヒョン
【審査官】三橋 竜太郎
(56)【参考文献】
【文献】特開2019-049800(JP,A)
【文献】特開2019-074843(JP,A)
【文献】特開2017-167889(JP,A)
【文献】米国特許出願公開第2019/0102430(US,A1)
【文献】米国特許出願公開第2018/0225382(US,A1)
【文献】韓国公開特許第10-2015-0084706(KR,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
データ
分析システムにおいて知識グラフをプロセシングする方法であって、
前記データ分析システムが、情報客体の分類体系に対するタクソノミーグラフ及び特定情報客体インスタンスの関係に対するエンティティグラフを含む知識グラフを作成するa段階;
前記データ分析システムが、データベースから抽出された情報をあらかじめ設定された形態に精製して情報客体及び該情報客体間の関係に対するデータを抽出し、前記情報客体及び前記情報客体間の関係を用いて前記知識グラフをアップデートするb段階;
前記データ分析システムが、アップデートされた知識グラフを用いて任意の情報客体の関連性を推論するc段階を含み、
前記b段階は、
前記データベースから抽出された情報客体が前記知識グラフ
から把握されないアンノウン客体か否か確認するb-1段階;
前記確認の結果、前記データベースから抽出された情報客体が前記知識グラフ
から把握されないアンノウン客体であれば、前記知識グラフにおいて前記情報客体間の関係に該当するあらかじめ生成されたノードと1ホップの関係を有するノードを新設し、前記ノードに前記アンノウン客体を配置してアンノウン客体ノードを生成するb-2段階;及び
任意のクラスに属する少なくとも一つのエンティティノードと連結された複数のアンノウン客体ノードを確認し、前記複数のアンノウン客体が共有するキーワードを用いて前記知識グラフのタクソノミーグラフに新規クラスを新設し、前記複数のアンノウン客体ノードを前記新規クラスに連結するb-3段階を含むことを特徴とする、知識グラフプロセシング方法。
【請求項2】
前記知識グラフでは、
複数の語が連結されるデータ形態の情報客体が、そのデータ形態を考慮して、前記複数の語のうちの最初の語のクラスのエンティティノードとして形成され、
他の情報客体であって、1つのクラスのエンティティノードからキーワード検索される情報客体が、その1つのクラスのエンティティノードとして形成されることを特徴とする、請求項1に記載の知識グラフプロセシング方法。
【請求項3】
前記b段階は、
前記任意のクラスと前記新規クラスとの間の関係であるエッジをアップデートするb-4段階をさらに含み、
前記任意のクラスに属する少なくとも一つのエンティティノードと、前記新
規クラスに連結された前記複数のアンノウン客体ノードは、前記任意のクラスと前記新規クラスとの間の関係を受け継いで使用することを特徴とする、請求項1に記載の知識グラフプロセシング方法。
【請求項4】
前記データベースは、
一般ウェブ環境に公開されたデータ、別個のアクセス権が必要なディープウェブ(Deep web)、特定ブラウザでのみ接続できるダークウェブ(Dark web)、及び/又は暗号貨幣ネットワークから収集されたサイバーセキュリティに関連した情報が保存されることを特徴とする、請求項1に記載の知識グラフプロセシング方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、知識グラフ(Knowledge Based graph)を構築し、知識グラフを用いて犯罪に関連した情況及び/又は関連性を推論する方法及びシステムに関する。
【背景技術】
【0002】
近年、インターネット技術の発達により、仮想世界ベースの情報が溢れている。一般ブラウザで検索エンジンを通じてアクセスできる一般ウェブから、接続権限が必要なディープウェブ(Deep web)、一般ブラウザではアクセスできず、特定ソフトウェアを用いてこそ接続できる匿名化されたダークウェブ(Dark web)、ひいては暗号貨幣の分散型台帳に至るまで、サイバースペースの情報は毎瞬間幾何級数的に増加している。
【0003】
このような趨勢の中で、犯罪領域の相当部分がサイバー空間に移ってきている。例えば、ツイッターに基づいて不特定多数に売春斡旋をしたり、麻薬が販売されたり、ウェブを通じてランサムウェアなどの悪性コードが配布されたりしている。しかも、2010年以降急成長したトーアネットワークは、ユーザ匿名性のための技術が適用されたダークウェブであり、暗号貨幣と結合して武器取引、麻薬取引、臓器取引、ハッキングツール販売、ハッキング技術共有、個人情報取引、ポルノ販売など、各種の不正取引の温床となっている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、仮想世界の情報を知識グラフの形態に形成し、犯罪又は脅威と関連した領域において知識グラフを用いて、犯罪に関連した情況又は関連性を推論する方法を提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明の実施例によるデータ処理装置において知識グラフをプロセシングする方法は、情報客体の分類体系に対するタクソノミーグラフ及び特定情報客体インスタンスの関係に対するエンティティグラフを含む知識グラフを作成するa段階;前記知識グラフに前記データベースから抽出された情報客体を反映して知識グラフをアップデートするb段階;及び、アップデートされた知識グラフを用いて任意の情報客体の関連性を推論するc段階を含むことを特徴とする。
【発明の効果】
【0006】
本発明によれば、仮想空間のデータを知識グラフにして情報客体の関係を把握し、これに基づき、犯罪に関連した情況及び/又は関連性を推論できるという効果がある。さらに、本発明によれば、インターネット環境で一般ウェブブラウザを通じてアクセスできる一般データはもとより、特殊ブラウザを通じてアクセスできる特殊データも大量に収集し、収集されたデータを知識グラフに反映して情報関連性を分析することができるという効果がある。
【図面の簡単な説明】
【0007】
【
図1】本発明の実施例による知識グラフの構成を説明するための図である。
【
図2】本発明の実施例によって知識グラフを作成し、これに基づき、犯罪に関連した情況及び関連性を推論する例示を説明するためのフローチャートである。
【
図3】マルチドメインから収集された大量のデータを定形化し、知識グラフに反映可能な情報を抽出する具体的な方法を説明するためのフローチャートである。
【
図4A】
本発明の実施例によってマルチドメインから収集された大量のデータを定形化し、知識グラフを拡張する具体的な例示を説明するための図として、本発明の実施例によってマルチドメインから収集された大量のデータを定形化して作成した初期知識グラフの具体的な例示を説明するための図である。
【
図4B】
本発明の実施例によってマルチドメインから収集された大量のデータを定形化し、知識グラフを拡張する具体的な例示を説明するための図として、初期知識グラフを拡張するために新しいクラスを推薦する具体的な例示を説明するための図である。
【
図4C】
本発明の実施例によってマルチドメインから収集された大量のデータを定形化し、知識グラフを拡張する具体的な例示を説明するための図として、本発明の実施例によって拡張された知識グラフに対する具体的な例示を説明するための図である。
【
図5】本発明の実施例によってマルチドメインから大量のデータを収集する方法を説明するための図である。
【発明を実施するための形態】
【0008】
本発明は、以下に記載される実施例の説明内容に限定されるものではなく、本発明の技術的要旨から逸脱しない範囲内で様々な変形が加えられてもよいことは明らかである。なお、実施例の説明において、本発明の属する技術分野に広く知られており、本発明の技術的要旨と直接に関連していない技術内容については説明を省略する。
【0009】
一方、添付の図面において同一の構成要素は同一の符号で表現される。また、添付の図面において、一部の構成要素は、誇張されたり、省略されたり、概略的に示されたりしてもよい。これは、本発明の要旨と関連しない不要な説明を省略することによって本発明の要旨を明確に説明するためである。
【0010】
仮想世界には膨大なデータが存在するが、データの形態が定形化していなく、それぞれの情報が個別に存在しているため、情報の関連性を把握したり、関連している情報の意味を分析したりすることが困難である。このような問題点を解決するために、知識グラフが着目された。知識グラフは情報を構造化したものであり、個別に存在する情報の関係、関連性を把握するために用いられてよく、よりスマートな検索結果を提供するための検索エンジンの一構成要素として働くこともできる。
【0011】
本発明の実施例による知識グラフは、
図1に示すように、ノード(node)及びエッジ(edge)で構成されてよい。
【0012】
本発明の実施例による知識グラフにおいて、ノードは、クラス(class)ノード及びエンティティ(entity)ノードを含むことができる。クラスノードは、情報を分類し構造化するために階層構造をなす概念に関するものであり、エンティティノードは、任意のクラスにマッチされるインスタンスに関するものと定義できる。
図1の例において、クラスノードは、ホテル(Hotel)112及びシティー(City)132を含み、エンティティノードは、ホテル112クラスにインスタンスとしてマッチされたマンダレーベイリゾート(Mandalay Bay Resort)124、及びシティークラスにインスタンスとしてマッチされたラスベガス(Las Vegas)122を例示している。
【0013】
エッジはノードの関係に関するものであり、方向性を有することができる。
図1の例において、ホテルノード112はシティーノード132と<位置>する関係を意味するエッジ144で連結されてよい。
【0014】
一方、知識グラフは、様々な客体の分類体系に対するタクソノミーグラフ110及び特定客体インスタンスの関係に対するエンティティグラフ120を含むことができ、タクソノミーグラフ110及びエンティティグラフ120は、
図1に示すように別個のレイヤに形成されてよいが、相互にマッピング可能である。
【0015】
本発明の実施例による知識グラフを活用すれば、検索エンジンをよりスマートに提供することができる。すなわち、知識グラフを用いてクエリの意味をより明確に推論でき、且つクエリに対する検索結果を導出することができる。
【0016】
例えば、クエリが<ラスベガスホテル>である場合、検索エンジンは、
図1に例示されている知識グラフを用いて、<ホテル>に対するクラスノード112を確認し、ノード112のインスタンスであるラスベガスエンティティノード122を確認し、ラスベガスインスタンスにマッピングされたクラス、すなわち、<シティー>132を確認して、クラス112とクラス132のリンク情報144<位置する>を確認し、受信したクエリの意味が<ラスベガスに位置しているホテルに対する検索>であることが推論できる。さらに、ホテルドメインに対する検索エンジンにクエリ推論結果を提供することもできる。
【0017】
さらに、検索エンジンは、
図1に例示されている知識グラフを用いて、知識グラフにおいてホテルノード112とラスベガスノード122に連結されたノード124の位置値に類似するベクトルを有する他のインスタンスノードを検索し、当該インスタンスノードの情報を<ラスベガスに位置しているホテル>に対する検索結果として提供することができる。知識グラフに基づいてノード間の関連性を分析するための様々なアルゴリズムが存在し、これは後述される。
【0018】
図2は、本発明の実施例によるデータ分析システムにおいて知識グラフを作成し、それに基づいてサイバー犯罪に対する関連性を推論する例示を説明するためのフローチャートである。
【0019】
段階210で、本発明の実施例によるデータ分析システムは、知識グラフの初期モデルを構成することができる。
【0020】
初期知識グラフは、少なくとも一つの複数のドメインの客体の分類体系に対するタクソノミーグラフ及び特定客体インスタンスの関係に対するエンティティグラフを含むことができる。タクソノミーグラフ及びエンティティグラフは異なるレイヤで形成されてよいが、相互マッピングされてよい。このような初期知識グラフは、ウィキペディア(wikipedia)、ヤゴ(yago)などの高信頼度の分類モデルをソースにして作成することもでき、この場合、モデルは、json、csv、xml、xlsxなどの異なるデータタイプで表現されてよい。
【0021】
例えば、データ分析システムは、次表1に記載された複数のデータソースを構造化してタクソノミーグラフとエンティティグラフのフォーマットで初期知識グラフを作成することができる。本発明の好適な実施例によれば、初期知識グラフを作成するためのデータソースは、データ分類及び客体インスタンスマッチングに対して信頼性が認められ、事実上の標準として機能するデータモデルが適用されることが好適である。
【0022】
【0023】
このとき、初期知識グラフは、全域(Global)モデル及び/又はドメイン特定(Domain specific)モデルを含むことができる。全域モデルは、表1のデータソースYAGOモデルが例示でき、ドメイン特定モデルは、例えば、脆弱点(vulnerability)、弱点(weakness)、パッチ(patch)、悪用(exploits)などの特定主題に対する細部的な分類体系及びそれぞれのクラスにマッピングされる具体的なインスタンスを含むことができる。全域モデルは全客体の関係に対するものであるので、ドメイン特定グラフを下位クラスとして含むことができる。
【0024】
さらに、データ分析システムはノードのメタデータを記録することができる。これは、ノードのラベルとして記録されてよく、該ラベルはノードの属性情報を含むことができる。例えば、
図4Aの知識グラフにおいて、脆弱点(Vulnerability)ドメイン410に対するタクソノミーグラフのCVEノード412に連結されたエンティティグラフのCVE-2015-2544ノード421は、属性情報として<インターネットエクスプローラの脆弱点(Internet Explorer Vulnerability)>というラベル431が設定されてよい。他の例として、ノードのメタデータはデータソースに関する情報を含むことができ、
図4Aの441がそれを例示している。
【0025】
本発明の実施例によるデータ分析システムは、ノード間の関係を説明するエッジの内容を知識グラフに記録することができる。エッジは、ノード客体間の関連性を示す役割を担い、方向性情報及びノード間の関係に関する情報を含むことができる。
【0026】
例えば、
図4Aの知識グラフにおいて、ソフトウェア
(Software)ドメイン414に対するタクソノミーグラフのアプリケーション
(Application)ノード416に連結されたエンティティグラフのインターネットエクスプローラ10
(Internet Explorer 10)ノード422は、ノード421とエッジ
423で連結され、エッジ
423は、<製品に影響を及ぼす>という内
容が設定されてよい。
【0027】
段階220で、データ分析システムはターゲットドメインを選定することができる。本発明の好適な実施例によれば、サイバーセキュリティ、犯罪及び/又は脅威に関連した知識モデルをターゲットドメインとして選定することができる。
【0028】
その後、データ分析システムは、サイバーセキュリティに関連した大量の情報を様々なソースから収集し、収集された情報に対するデータベースを構築し(段階230)、あらかじめ設定された形態でデータベースから抽出した情報を精製し(段階240)、ターゲットドメインに対するドメイン特定モデルを初期知識グラフに追加する方式で知識グラフを拡張することができる(段階250)。
【0029】
より具体的に、段階230で、データ分析システムはターゲットドメインに対するデータベースを呼び出すことができる。
【0030】
前記データベースは、一般ウェブ環境に公開されたデータ、別個のアクセス権が必要なディープウェブ、特定ブラウザでのみ接続できるダークウェブ、及び/又は暗号貨幣ネットワークから収集されたサイバーセキュリティに関連した情報が保存されてよい。前記データベースを構築するためにマルチドメインから情報を収集するより具体的な説明は、添付の
図5を参照して後述する。
【0031】
その後、データ分析システムは、データベースから情報を抽出し、あらかじめ設定された形態で情報を精製できる(段階240)。段階240に関するより具体的な説明は、添付の
図3の説明で後述する。
【0032】
図3は、マルチドメインから収集された大量のデータを定型化し、知識グラフに反映可能な情報を抽出する具体的な方法を説明するためのフローチャートである。
【0033】
段階310で、データ分析システムは、データベースに収集された大量のデータを、あらかじめ設定された形態に定型化するか、又は収集された大量のデータの内容に基づき、知識グラフに反映する情報を抽出することができる。
【0034】
例えば、収集したデータが非定型テキストである場合を考慮することができる。データ分析システムは、自然語処理に対するアルゴリズム(段階320)、客体抽出のためのアルゴリズム、及び/又は情報抽出のためのOPEN IEなどの従来のアルゴリズムを用いて、当該テキストから情報客体及び情報客体の関係に対するデータを抽出することができる(段階340)。
【0035】
例えば、データ分析システムは、<JPモルガンチェースがディードス攻撃された>というテキストが含まれた新聞記事から、<JPモルガンチェース>、<ディードス>及び<攻撃された>という主語、目的語、述語を抽出でき、知識グラフにおける<JPモルガンチェース>ノード及び<ディードス>ノードを確認するだろう。このとき、<JPモルガンチェース>は、<バンキングカンパニー>クラスのエンティティノードであり、<ディードス>は<サイバーセキュリティ攻撃>クラスのエンティティノードに該当し得るだろう。さらに、データ分析システムは、<JPモルガンチェース>ノードと<ディードス>ノードとをエッジで連結し、エッジの内容として<攻撃>を記録することができる。
【0036】
さらに他の例として、収集したデータがイメージである場合を考慮できる。データ分析システムは、イメージからOCR(Optical Character Recognition)技術を適用してテキストを抽出し、これを、あらかじめ設定されたフォーマットにしたがって定型化できる。その後、自然語処理に対するアルゴリズム、客体抽出のためのアルゴリズム、情報抽出のためのアルゴリズムを用いて、当該データから、情報客体及び情報客体の関係に対するデータを抽出できる。さらに、対象イメージの作成者、作成時間、ソースドメイン情報などに関するメタデータを生成することができる。
【0037】
さらに他の例として、収集したデータが実行ファイルである場合、データ分析システムは、実行ファイルの内容を分析して悪性コードか否かが判断でき、実行ファイルが収集されたドメイン情報に基づき、悪性コードまでアクセスするための複数のURLパスを生成するか、当該悪性コードのハッシュ、ファイル種類、それぞれのURLパスの悪性コードアクセスカウンター情報に関するメタデータを生成することもできる。
【0038】
一方、データ分析システムは、データベースに収集された大量のデータから、当該時点の知識グラフから把握されない情報客体、すなわち、アンノウン(unknown)客体を把握し(段階350)、これを知識グラフに反映することができる。
【0039】
例えば、任意のデータソースから抽出された<Symantec found that Sundown EK has started using a recent Internet Explorer vulnerability known as CVE-2015-2444>というテキストデータに、本発明の実施例による情報抽出のためのOPEN IEアルゴリズムを適用すれば、次表2のような主語-動詞-目的語の関係を少なくとも一つ抽出することができる。
【0040】
【0041】
表2の情報客体をノードとエッジの関係に分類すれば、表3のようなデータとして表現できる。
【0042】
【0043】
その後、データ分析システムは、表3の形態に定型化されたデータを知識グラフに反映するであろう。このとき、当該時点の知識グラフから把握されないノードをアンノウン(unknown)客体として把握し、アンノウン客体のための新規クラス及び/又はエンティティを推薦することができる(段階360)。
【0044】
例えば、表3で、<CVE-2015-2444>情報客体は、CVE、2015、2444が連結されるデータ形態を考慮するとき、知識グラフのCVEクラスのエンティティノードとして形成されることが適切であるだろう。さらに、表3の<Symantec>情報客体は、知識グラフのcompanyクラスのエンティティノードからキーワード検索されるので、companyクラスのエンティティノードとして形成されることが適切であるだろう。
【0045】
この場合、表3で、<Internet Explorer vulnerability>及び<sundown EK>情報客体は、知識グラフから把握されないアンノウン(unknown)客体であり、前記アンノウン情報客体は、<CVE-2015-2444>及び<Symantec>情報客体との関係を用いて知識グラフに形成されてよい。これに関する説明は、添付の
図4A~図4Cを参照して説明する。
【0046】
図4A~図4Cは、マルチドメインから収集された大量のデータを定型化し、知識グラフを拡張する具体的な例示を説明するための図である。
【0047】
図4Aで、410~419は、YAGO分類モデルをデータソースにして作成された初期知識グラフを例示している。
【0048】
このような初期知識グラフ状態で、前述した表3の情報客体は、420のようなエンティティグラフの形態で知識グラフに追加されてよい。
【0049】
より具体的に、
図4Aの例で、表3の<CVE-2015-2444>情報客体は、CVE、2015、2444が連結されるデータ形態を考慮するとき、知識グラフのCVEクラス412のエンティティである421ノードとして形成されてよい。さらに、表3の<Symantec>情報客体は、知識グラフのcompanyクラス418、419のエンティティである426ノードとして形成されてよい。
【0050】
一方、表3で、<Internet Explorer vulnerability>及び<sundown EK>情報客体は、知識グラフから把握されないアンノウン(unknown)客体であり、これらのアンノウン客体は、知識グラフにおいて知られた客体との関係を用いて知識グラフに追加されてよい。
【0051】
より具体的に、<Internet Explorer vulnerability>は、表3の第1行目の情報を参照すると、<CVE-2015-2444>ノード421と<known as>関係である。したがって、本発明の実施例による知識グラフ作成システムは、あらかじめ生成されたノード421と1ホップの関係を有するノード431を新設し、ノード431にアンノウン情報客体<Internet Explorer vulnerability>を配置し、ノード421とノード431とをエッジ434で連結し、エッジ434の内容を<known as>として記録できる。
【0052】
さらに、<sundown EK>は、表3の第3行目の情報を参照すると、<Internet Explorer vulnerability>ノード431と<has started using>関係である。したがって、本発明の実施例による知識グラフ作成システムは、あらかじめ生成されたノード431と1ホップの関係を有するノード432を新設し、ノード432にアンノウン情報客体<sundown EK>を配置し、ノード432とノード431とをエッジ433で連結し、エッジ433の内容を<has started using>と記録することができる。
【0053】
一方、アンノウン客体である<sundown EK>432は、sundownという名前のエクスプロイトキット(Exploit Kit;EK)であり、
図4Aに含まれたタクソノミーグラフには、当該客体が属し得る適切なクラスが存在しない。このような場合、本発明の実施例によるデータ分析システムは、適切なクラスを新設してタクソノミーを拡張するために新規クラスノードを推薦し、新規クラスノードのエンティティとしてアンノウン客体を推薦することができる。
【0054】
例えば、
図4Bのノード432、456~459のように複数のアンノウン客体がCVEクラスノード412のエンティティ客体461,462,463と連結され、これらの客体が同一のキーワード(EK)を含む場合、本発明の実施例によるデータ分析システムは、アンノウン客体456,457,458,459及び432が同一のクラスに属する可能性が高いと判断し、新しいクラスを定義するように推薦することができる。
【0055】
例えば、データ分析システムは、
図4Bに示すように、最上位クラスMalware 450及び下位クラスExploit Kit 455の新設を推薦することができる。さらに、データ分析システムは、エクスプロイトキットをキーワードとして共有するアンノウン客体456,457,458,459及び432を新設クラス450,455に連結し、
図4Cのように知識グラフをアップデートすることができる。
【0056】
さらに、本発明の実施例によるデータ分析システムは、知識グラフにおいてクラス客体間の関係、すなわちエッジのアップデートを推薦することができる。例えば、
図4Bにおいて、CVE客体461,462,463とExploit Kit客体456,457,458,459及び432はそれぞれ異なる関係、すなわちエッジで表現されているが、実質的には同一関係を意味し得る。本発明の実施例によるデータ分析システムは、表現は異なるが実質的に同一の内容である関係(エッジ)が把握されると、新しいエッジを定義するように推薦できる。
【0057】
例えば、データ分析システムは、
図4Cに示すように、CVE 412とExploit Kit 455クラスは、exploitsVulnerability関係473と定義でき、この場合、これらのクラスに属する客体も同様に、当該関係を受け継いで使用することができる。
【0058】
また、
図3に関する説明に戻ると、段階370で、データ分析システムは、知識グラフのノード及び/又はエッジのラベル及び/又はメタデータをアノテートすることができる。例えば、
図4Aの知識グラフにおいて、データ分析システムは、情報のソースに対するメタデータ441,442,443、及び444を当該ノードに対するラベルとして設定できる。
【0059】
その後、データ分析システムは、段階3
80で、ノード、エッジ、ラベルなどの構成要素が追加された知識グラフを、より精密にキュレーションすることができる。例えば、
図4Aの例で、<Internet Explorer vulnerability>ノード431は、ノード421に連結されたエンティティインスタンスとして取り扱われているが、クラスノード410の下位クラスに分類されてよい。この場合にも、ノード421と1ホップの関係が維持され得る。したがって、データ分析システムは、前述したように410の下位クラスにノード431の位置を変更するようにキュレーションし、
図4Cのように知識グラフをアップデートすることができる。
【0060】
このように、本発明の実施例によるデータ分析システムは、知識グラフにおいてクラス、エンティティ及び/又はエッジをキュレーションして知識グラフをアップデートすることができ、キュレーションに対する記録は、
図4Cの471,475のように知識グラフに含まれて管理されてよい。また、
図2に関する説明に戻ると、データ分析システムは、段階210から段階250までを経て、知識グラフを、収集されたデータを反映して拡張でき、段階270で、作成した知識グラフを用いて関連性を推論することができる。
【0061】
例えば、知識グラフに分散型台帳情報及び暗号貨幣アドレスグループ情報を含むブロックチェーンデータが反映された場合を考慮することができる。分散型台帳情報には、ブロック生成時間、入/出力金額、取引手数料、前のブロック、次のブロックなどの暗号貨幣ブロックデータ、取引量、手数料、入/出力暗号貨幣アドレスなどのブロック内取引情報が含まれてよく、これはメタデータとして管理されてよい。したがって、ブロックチェーンデータには、様々な暗号貨幣の分散型台帳情報に含まれた暗号貨幣ブロックデータとブロック内取引情報が含まれてよく、暗号貨幣アドレスグループ(ウォレット)などの所有主情報などが含まれてよい。
【0062】
このような暗号貨幣取引記録はノードとエッジで連結されて第1知識グラフとして形成されてよく、これは不正取引に対する第2知識グラフとマッピングされてよい。
【0063】
このとき、第1知識グラフである暗号貨幣ネットワークグラフは、定型化されたブロックチェーンデータから抽出した第1客体又は第1属性で第1ノードを生成し、各ノード間関係(edge)を用いて暗号貨幣ネットワークグラフを構築することができる。例えば、暗号貨幣入力アドレス(客体ノード)-送信金額(エッジ)-暗号貨幣出力アドレス(客体ノード)のようなネットワークグラフ、又は、グループ情報が反映された所有主X(客体ノード)-送信金額(エッジ)-ランサムウェア(属性ノード)のようなネットワークグラフが生成されてよい。
【0064】
さらに、不正取引に対する第2知識グラフは、定型化されたマルチドメインデータから抽出した第2客体又は第2属性で第2ノードを生成し、各ノード間関係(edge)を用いて第2知識グラフとして構築されてよい。例えば、ダークウェブウェブページから抽出したプロフィールデータを用いて、ユーザID(客体ノード)-所有(エッジ)-暗号貨幣アドレス(客体ノード)のようなノード及びエッジを生成でき、ウェブページから抽出した販売データを用いて、暗号貨幣アドレス(客体ノード)-入金(エッジ)-製品(客体ノード)のようなノード及びエッジを生成することによって、第2知識グラフが構築できる。
【0065】
第2知識グラフも同様、暗号貨幣取引記録に対する第1知識グラフのように一つ以上のレイヤに表示され、マルチレイヤ構造を有することができる。レイヤ別知識グラフは、互いに異なるカテゴリーに属するものであってよい。
【0066】
その後、データ分析システムは、互いに相応する第1ノードと第2ノードをマッピングして取引分析知識グラフを生成することができる。例えば、暗号貨幣ネットワークグラフである第1知識グラフの第1レイヤに含まれたノードAがアドレスaに対応し、ノードBがアドレスbに対応し、両アドレスは同一グループに属する関係であり、第2知識グラフ第1のレイヤに含まれたノードCが暗号貨幣アドレスbである場合を考慮することができる。
【0067】
ノードBとノードCは同一情報を含むので相互マッピングされてよい。すなわち、取引分析知識グラフは、暗号貨幣取引記録に対する第1知識グラフと第2知識グラフのノードが相互マッピングされた多重レイヤ構造を有してよく、したがって、取引分析知識グラフを用いると、暗号貨幣ネットワークに対する第1知識グラフの構成要素を第2知識グラフの構成要素を通じて解析する作業が可能である。例えば、ノードCがユーザIDを示すノード(D)と所有者エッジで連結されていると、アドレスaとbの所有主は、ノードDに対応するユーザIDを有する主体であることが把握できる。
【0068】
また、直接に連結されていないノードに対する関係推論も可能である。例えば、前述した不正取引に対する第2知識グラフは、販売者が使用した暗号貨幣アドレスと販売物品に対する関係を表現したグラフであり、誰が何を販売するかに関する情報を含み、暗号貨幣取引記録に対する第1知識グラフは、暗号貨幣アドレス間の取引に関する情報を持っている。このとき、関係推論を用いて、第2知識グラフに明示されていない暗号貨幣アドレスがどの商品の販売に使用されたかが予測できる。
【0069】
より具体的に、不正取引に対する第2知識グラフに示された暗号貨幣アドレスの金銭活動は、暗号貨幣取引記録に対する第1知識グラフに記録されており、本発明の実施例によるデータ分析システムは前記2つのグラフの情報を関連付けることができ、これにより、特定商品及び商品種類に対する確率的な取引データを確保することができる。当該データを推論アルゴリズム(マシンラーニング及びディープラーニングを含む)の基盤データとして用いて商品取引モデルを生成すると、暗号貨幣アドレスの使用用途を高い正確度で予測できる効果がある。
【0070】
図5は、本発明の実施例によってダークウェブのデータを収集するための過程を説明するための図である。ダークウェブは暗号化されたネットワークに存在し、一般ブラウザでは接続されない特定部類のウェブサイトを意味する。ダークウェブに存在する多くのサイトは、トーア(TOR,The Onion Network)ネットワークをベースにする。
【0071】
本発明の実施例によるデータ収集システムは、まず、トーアネットワークのドメイン目録を収集することができる(段階510)。
【0072】
そのために、本発明の実施例によるデータ収集システムは、Ahmia及びFreshOnionsのようなトーア検索エンジン又はダークウェブ索引サイトを用いてドメインアドレスを収集することができる。
【0073】
さらに、収集されたドメインアドレスをシードにして当該アドレスでテキストコンテンツをクロールし、ダークウェブページに含まれたリンクに沿ってトラバースするリンクがそれ以上ないまでにトラックする方式でトーアネットワークのドメインアドレスを収集することができる。
【0074】
段階520で、データ収集システムは、収集されたドメインアドレスの状態を、あらかじめ設定された周期で確認することができる。例えば、トールのSTEM APIを用いて、当該ドメインが運営されているか閉鎖されたかを確認するか、又は当該ドメインで運営するウェブページの内容が追加、削除、変更されたかを確認し、当該ドメインに対するメタデータに状態変更情報を記録することができる。
【0075】
その後、データ収集システムは、分散クローラー及び複数のトーアノードを運営する複数のコンテナを具現し、収集されたドメインを分散クローラーに割り当てることができる。(段階530)
【0076】
より具体的に、本発明の実施例によるデータ収集システムは、あらかじめ把握したドメインの登録状態を参照して、最も最近に登録が確認されたドメインから優先して分散クローラーに割り当てるか、又は分散クローラーを構成する各クローラーインスタンスの状態を把握し、クロールを完了したクローラーインスタンスに、次にクロールするドメインを動的に割り当てることができる。
【0077】
その後、クローラーの動作によって発生するトラフィックは、ロードバランサーを介して各コンテナに伝達され、各コンテナは、連結されたNICを介してダークウェブに要請を伝達し、クローラーは当該ドメインで運営するダークウェブページ全体を収集し、これをデータベースに記録することができる(段階540)。
【0078】
本明細書及び図面に掲示された本発明の実施例は、本発明の技術内容をわかりやすく説明し、本発明の理解を助けるために特定例を提示しただけであり、本発明の範囲を限定するためのものではない。ここに掲示された実施例の他にも、本発明の技術的思想に基づく他の変形例が実施可能であるということは、本発明の属する技術の分野における通常の知識を有する者にとって明らかである。