JP7448021B2 - 検知装置、検知方法及び検知プログラム - Google Patents
検知装置、検知方法及び検知プログラム Download PDFInfo
- Publication number
- JP7448021B2 JP7448021B2 JP2022550105A JP2022550105A JP7448021B2 JP 7448021 B2 JP7448021 B2 JP 7448021B2 JP 2022550105 A JP2022550105 A JP 2022550105A JP 2022550105 A JP2022550105 A JP 2022550105A JP 7448021 B2 JP7448021 B2 JP 7448021B2
- Authority
- JP
- Japan
- Prior art keywords
- graph
- matrix
- evaluation value
- detection
- detection device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims description 79
- 239000011159 matrix material Substances 0.000 claims description 95
- 238000011156 evaluation Methods 0.000 claims description 49
- 238000005295 random walk Methods 0.000 claims description 26
- 238000001914 filtration Methods 0.000 claims description 12
- 230000003595 spectral effect Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 62
- 238000000034 method Methods 0.000 description 37
- 238000010586 diagram Methods 0.000 description 24
- 238000006243 chemical reaction Methods 0.000 description 15
- 238000004458 analytical method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000000354 decomposition reaction Methods 0.000 description 4
- 230000010365 information processing Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012946 outsourcing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000010454 slate Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computer Hardware Design (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Virology (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Algebra (AREA)
- Complex Calculations (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、検知装置、検知方法及び検知プログラムに関する。
主に無向グラフを中心に適用されていたグラフ信号処理を、有向グラフに適用できるように拡張する方法が提案されている(例えば、非特許文献1を参照)。例えば、非特許文献1に記載の方法によれば、グラフフーリエ変換、グラフフィルタリング又はグラフウェーブレット変換といったグラフ信号処理を、有向グラフに対して行うことができる。
また、実際のネットワークを基にしたグラフデータを分析することにより、ネットワークに含まれる悪性のノードを検知するSybil検知と呼ばれる手法が知られている。例えば、Sybil検知は、ボットネットの検知、及びソーシャルネットワーキングサービス(SNS、social networking service)におけるスパムユーザの検知等に用いられる。
S.Furutani et.al, "Graph Signal Processing for Directed Graphs based on the Hermitian Laplacian," ECML/PKDD 2019, June 2019.
Sybil検知には、ランダムウォーク、信念伝播法(BP、Belief Propagation)といった複数の手法が存在する。一方で、グラフ信号処理をSybil検知に応用する方法はこれまで提案されていない。このため、複数のSybil検知の手法を共通の信号処理的な枠組みで解釈することは困難である。
例えば、Sybil検知の各手法を共通の信号処理的な枠組みで比較できれば、精度や拡張性といった表面的な枠組みでの比較だけでは得られなかった知見が得られるようになり、新たな手法の開発や既存手法の改良が期待できる。
上述した課題を解決し、目的を達成するために、検知装置は、少なくとも一部の頂点にラベルが付与されたグラフの辺の向きを表す複素平面上の偏角を用いて生成された行列に基づき、ランダムウォークにより前記グラフの頂点の評価値を更新する更新部と、前記評価値を基に、前記グラフの頂点のラベルを推定する推定部と、を有することを特徴とする。
本発明によれば、Sybil検知の手法を信号処理的な枠組みで解釈することができる。
以下に、本願に係る検知装置、検知方法及び検知プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
[第1の実施形態の構成]
まず、図1を用いて、第1の実施形態に係る検知装置の構成について説明する。図1は、第1の実施形態に係る検知装置の構成の一例を示す図である。図1に示すように、検知装置10は、入力されたグラフデータ20を分析し、所定の頂点を検知した結果を分析結果30として出力する。
まず、図1を用いて、第1の実施形態に係る検知装置の構成について説明する。図1は、第1の実施形態に係る検知装置の構成の一例を示す図である。図1に示すように、検知装置10は、入力されたグラフデータ20を分析し、所定の頂点を検知した結果を分析結果30として出力する。
ここで、本実施形態では、検知装置10はSybilを検知するものとする。Sybilとは、スパムやクリック詐欺、フィッシング、他人へのなりすまし等の悪質な行為を目的に作成されるユーザであり、SNSやレビューサイトの品質を悪化させるセキュリティ上の脅威である。
Sybil検知においては、ユーザ間の関係性が注目される場合がある。例えば、Twitter(登録商標)において、正規のユーザがスパム等を行うSybilと繋がろうとする動機は薄い。このため、正規ユーザは正規ユーザ同士で密に繋がってコミュニティ構造を形成することが期待される。一方、フォロワー数の多寡はアカウントの影響力や信頼性に強く影響を及ぼすため、SybilはSybil同士で互いに繋がり合ってフォロワー数を嵩増しし、コミュニティ構造を形成することが期待される。そのため、正規ユーザとSybilのコミュニティ構造を適切に分離することによって正規ユーザとSybilを区別することができると考えられる。
Sybil検知の手法として、ユーザを頂点とするグラフに付与された既知ラベルに基づいて事前評価値を設定し、頂点の評価値を局所的に更新及び伝播していくことで決定した未知の頂点の評価値を基に、Sybilであるか否かを判定する手法が知られている。また、非特許文献1には、有向グラフに対してグラフ信号処理を適用する方法が開示されている。
そこで、本実施形態の検知装置10は、グラフ信号処理を使ってSybil検知を行う。これにより、例えば、既存のSybil検知手法をグラフ信号処理的に再解釈することができる。また、再解釈の結果は、新たなSybil検知手法の開発、及び既存のSybil検知手法の改良に有用であると考えられる。
上述のSybil検知問題は、既知の頂点ラベルから未知の頂点ラベルを推定する半教師あり問題であると見なすことができる。このとき、既知の頂点ラベルについて、Sybilであれば+1、正規(Sybilでない)であれば-1という信号値を割り当て、ラベルが未知の頂点については0を割り当てるものとする。そうすると、Sybil検知問題は一部の信号値が欠損(0)しているようなグラフ信号が与えられたときに真のグラフ信号を復元する問題であると解釈することができる。
この観察に基づき、本実施形態では、ランダムウォークに基づくSybil検知手法をフィルタリングとして定式化する。これにより、既存のSybil検知手法をグラフ信号処理的に統合し再解釈することができる。
グラフデータ20は、所定の方法でグラフを表現したデータである。本実施形態では、グラフデータ20は隣接行列により表現されるものとする。例えば、無向グラフは、図2に示すような隣接行列で表される。図2は、無向グラフの表現の例を示す図である。また、有向グラフは、図3に示すような隣接行列で表される。図3は、有向グラフの表現の例を示す図である。
ここで、グラフデータ20を表現する隣接行列を以下のように定義する。まず、グラフの頂点間に辺が存在しない場合、当該辺に対応する隣接行列の成分は0とする。次に、グラフの頂点間に無向辺が存在する場合、当該辺に対応する隣接行列の成分は1とする。また、グラフの任意の頂点iから頂点jへの有向辺が存在する場合、隣接行列の(i,j)成分は1とし、(j,i)成分は0とする。
例えば、図2の無向グラフには、頂点1-2間に向きのない辺が存在する。このため、図2の隣接行列の(1,2)成分及び(2,1)成分が1となっている。つまり、無向グラフの隣接行列において、任意の(i,j)成分と(j,i)成分は同じ値となる。このように、無向グラフを表現する隣接行列は対称行列となる。
また、例えば、図3の有向グラフには、頂点1-2間には頂点1から頂点2への有向辺が存在するため、行列の(1,2)成分には1となる。一方で、頂点2から頂点1への有向辺は存在しないため、(2,1)成分は0となる。このため、有向グラフを表現する隣接行列は非対称行列となる。
一般に、非対称行列は対称行列と比べて代数的取り扱いが困難であり、このためにグラフ信号処理を含む多くのグラフ分析技術は無向グラフに適用を制限される。なお、グラフデータ20は、グラフを表すものであれば、どのようなデータであってもよい。
例えば、グラフデータ20は、Twitter(登録商標)におけるユーザ(頂点)のフォロー/フォロワー関係(辺)をグラフとして表現したものであってもよいし、マルウェアの実行コードにおいて、関数の呼び出し関係をグラフとして表現したものであってもよい。また、本実施形態の分析手法は、無向グラフのグラフ分析手法を有向グラフへ拡張したものであるので、無向グラフにも適用可能である。
検知装置10は、有向グラフに対してSybil検知を実行することができる。例えば、分析結果30は、グラフデータ20の各頂点に対応するユーザごとの、Sybilであるか否かを表すラベルである。
ここで、検知装置10の各部について説明する。図1に示すように、検知装置10は、通信部11、入力部12、出力部13、記憶部14及び制御部15を有する。
通信部11は、ネットワークを介して、他の装置との間でデータ通信を行う。例えば、通信部11はNIC(Network Interface Card)である。入力部12は、ユーザからのデータの入力を受け付ける。入力部12は、例えば、マウスやキーボード等の入力装置である。出力部13は、画面の表示等により、データを出力する。出力部13は、例えば、ディスプレイ等の表示装置である。
記憶部14は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部14は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。記憶部14は、検知装置10で実行されるOS(Operating System)や各種プログラムを記憶する。
制御部15は、検知装置10全体を制御する。制御部15は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。また、制御部15は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部15は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部15は、変換部151、生成部152、計算部153、信号処理部154及び推定部155を有する。
変換部151は、グラフの頂点間の辺の向きを複素平面上の偏角(位相)に変換する。例えば、変換部151は、グラフの頂点間の辺の向きが第1の方向である場合、辺の向きを第1の角度に変換し、辺の向きが第1の方向と逆である場合、辺の向きを第1の角度の符号を反転させた角度に変換し、辺に向きがない場合、辺の向きを0(角度)に変換する。ここで、図4から図6を用いて、変換部151による変換の方法を説明する。図4から図6は、辺の変換方法を説明するための図である。
まず、基準点として、複素平面上の、絶対値が1かつ偏角が0の点が与えられているものとする。図4に示すように、頂点i-j間に無向辺がある場合、つまり、頂点iから頂点jへの有向辺と頂点jから頂点iへの有向辺が同時に存在する場合は、変換部151は、複素平面上の基準点の偏角を回転させない。つまり、基準点は、無向辺又は頂点i-j間に両方向の有向辺が同時に存在していることを表している。
図5に示すように、頂点i-j間に頂点iから頂点jへの有向辺が存在する場合、変換部151は、当該複素平面上において、基準点の偏角を正の方向にθ回転させる。逆に、図6に示すように、頂点i-j間に頂点jから頂点iへの有向辺が存在する場合、変換部151は、当該複素平面上において、基準点の偏角を負の方向にθ回転させる。この場合、頂点iから頂点jへの方向は、第1の向きの一例である。また、θは、第1の角度の一例である。また、θは、例えばπ/4のような固定値とすることできる。
上記の変換部151による操作は、(1)式に示すように、辺集合から1次ユニタリ群への関数γとして記述することができる。ただし、(1)式において、斜体のiは頂点のインデックスであり、正対のiは虚数単位である。
なお、関数γの定義は(1)式のものに限定されない。例えば、関数γは、実部と虚部を明示的に分けてγ=α+iβの形で定義されてもよい。また、関数γは、2次の特殊直交群、つまり、2×2行列としてγ=diag(α,β)のように定義されてもよい。
生成部152は、変換部151によって変換された偏角を用いて、グラフの頂点間の関係を表すエルミート行列を生成する。例えば、生成部152は、各行及び各列がグラフの各頂点に対応する行列であって、対応する頂点間に辺が存在する成分が、変換部151によって変換された偏角を持ち、かつ絶対値が一定の複素数である行列を、グラフの次数行列から引いた行列を生成する。この場合、行列の成分は、上記の関数γによって得られた値そのものであってもよい。
ここで、グラフ信号処理では、一般に、グラフは、グラフラプラシアンと呼ばれる行列を用いて表現される。グラフラプラシアンは隣接行列と次数行列を用いて定義することができる。グラフの次数は、頂点から出ている辺の数を表す。
図7を用いて、グラフラプラシアンについて説明する。図7は、グラフラプラシアンを説明するための図である。例えば、図7のグラフにおいて、頂点1からは頂点2と頂点5への2つの辺が出ているので、頂点1の次数は2である。次数行列は、各頂点の次数を対角成分に並べた行列である。一般的に、隣接行列をA、次数行列をDとすれば、従来のグラフラプラシアンLpriorは、Lprior=D-Aと書ける。図7に示すように、有向グラフの隣接行列は非対称行列であり、同様に有向グラフのグラフラプラシアンも非対称行列である。
生成部152は、変換済みの隣接行列と次数行列を用いて行列を生成する。変換済みの隣接行列は、隣接行列の各成分が、変換部151によって変換された偏角を用いて表現された行列である。図8は、行列の生成方法を説明するための図である。
図3に示すように、入力された有向グラフにおいて、例えば、頂点1-2間には頂点1から2への有向辺が存在する。このため、図8に示すように、変換済みの隣接行列である行列20Aの(1,2)成分はeiθとなり、(2,1)成分はe-iθとなる。生成部152は、次数行列である行列20Dから行列20Aを引くことで、行列20Lを得る。
行列20Lの(1,2)成分及び(2,1)成分は、それぞれ-eiθ及び-e-iθとなる。また、グラフの頂点3-4間には無向辺が存在するので、行列20Lの(3,4)成分及び(4,3)成分はともに-1となる。なお、変換部151において、辺の方向を複素平面上の偏角に変換したため、行列20Dに示される次数は、有向グラフの辺の方向を無視して計算されたものである。
ここで、行列の(i,j)成分と(j,i)成分が互いに複素共役となっている行列をエルミート行列という。明らかに、図8の行列20Lはエルミート行列である。そこで、以降では、生成部152によって生成される行列をエルミートラプラシアンと呼び、Lで表す。
計算部153は、生成部152によって生成されたエルミート行列の固有ベクトルを計算する。また、信号処理部154は、計算部153によって計算された固有ベクトルを、グラフラプラシアンのフーリエ基底とみなし、グラフ信号処理を行う。
例えば、信号処理部154は、固有ベクトルを用いて、グラフフーリエ変換、グラフフィルタリング又はグラフウェーブレット変換を行う。また、計算部153によって計算された固有ベクトルは、後述するSybil検知において用いられる場合がある。
ここで、無向グラフにおけるグラフフーリエ変換は、グラフラプラシアンLpriorの固有ベクトルvをフーリエ基底と見なすことで定義される。固有ベクトルvを列に並べた行列をVとすると、任意のグラフ信号fに対するグラフフーリエ変換は^f=V*fで定義される(ただし、^fはfの直上に^が付されたものである。また、*は複素共役転置あるいは随伴を示す。)。無向グラフにおけるグラフ信号処理のほとんどの要素技術はこのグラフフーリエ変換を基礎としている。
信号処理部154は、従来の無向グラフにおけるグラフフーリエ変換を拡張し有向グラフに適用する。信号処理部154は、エルミートラプラシアンLのスペクトル分解とグラフフーリエ変換の有向グラフへの拡張の2つの手続きを実行する。
まず、Lはエルミート行列であるため、信号処理部154は、(2)式に示すように、Lの固有値λを対角成分に並べた行列Λ及び固有ベクトルuを列に並べたユニタリ行列Uを用いてLのスペクトル分解を行う。なお、固有ベクトルuは計算部153によって計算される。
また、信号処理部154は、固有ベクトルuをフーリエ基底と見なすことで、任意のグラフ信号fに対する有向グラフ上でのグラフフーリエ変換を(3)式のように行うことができる。
なお、ここではグラフフーリエ変換の拡張方法について述べたが、信号処理部154は、同様のやり方で、グラフフィルタリングやグラフウェーブレット変換等のグラフ信号処理における要素技術を有向グラフに拡張することもできる。
図9は、グラフ分析技術の拡張について説明するための図である。図9に示すように、信号処理部154は、既存の無向グラフのグラフフーリエ変換^f=V*fを有向グラフのグラフフーリエ変換^f=U*fで置き換えているといえる。これにより、信号処理部154は、既存の無向グラフに対するグラフ分析技術を、有向グラフへ容易に拡張できる。
本実施形態では、信号処理部154は、Sybil検知のためのグラフ信号処理を行う。ここでは、グラフデータ20の各頂点は、SNSのユーザに対応するものとする。また、グラフデータ20の少なくとも一部の頂点には、ラベルが付与されているものとする。
前述の通り、本実施形態では、ランダムウォークに基づくSybil検知手法をグラフ信号処理によるフィルタリングとして定式化する。ここでは、Sybilであることを示すラベルが付与された頂点の事前評価値を+1、正規(Sybilでない)であることを示すラベルが付与された頂点の事前評価値を-1、ラベルが未知の頂点の事前評価値を0とする。
まず、ランダムウォークでは、(4)式の更新式により各頂点の評価値が更新される。
ここで、pi
(t)は頂点iのステップtにおける評価値であり、qiは事前評価値である。wijは隣接行列の(i,j)成分であり、djは頂点jの次元数である。また、α∈[0;1]はパラメータである。(4)式は、評価値の更新に際して、確率αで隣接頂点の評価値を、確率1-αで自身の事前評価値を参照して逐次的に評価値を更新することを意味する。
グラフ上のランダムウォークは、最も基礎的なグラフダイナミクスの1つであるため、様々な解析手法が確立されており、グラフが強連結である場合、アルゴリズムが必ず収束することが保証されている(Perron-Frobeniusの定理)。その一方で、特に頂点の次数に極端な偏りのあるグラフに対して精度が低いことが知られている。
図10は、ランダムウォークについて説明するための図である。図10に示すように、ランダムウォークにおいては、更新対象の頂点の評価値が、当該頂点に隣接する頂点の評価値を基に更新される。なお、ここで説明したランダムウォークの手法は一例であり、本実施形態は、ランダムウォークを応用した各種手法に適用することができる。
本実施形態では、信号処理部154は、ランダムウォークにグラフ信号処理を適用した(5)式により評価値を更新する。ただし、Aは隣接行列であり、Dは次数行列である。また、(5)式は、(4)式をベクトル形式で書き直したものということができる。
このように、信号処理部154は、少なくとも一部の頂点にラベルが付与されたグラフの辺の向きを表す複素平面上の偏角を用いて生成された行列に基づき、ランダムウォークによりグラフの頂点の評価値を更新する。
ここで、p(t):=(p1
(t),…, pN
(t))Tであり、q:=(q1,…,qN)Tである。(5)式が収束する固定点では、p(t+1)=p(t)なので、~p=D-1/2p(ただし、~pはpの直上に~)とすると、(6)式が成り立つ。
ここで、N:=D-1/2LD-1/2=I-D-1/2AD-1/2は正規化ラプラシアンである。無向グラフでは、N=VΛVTであり、(I-N)k=V(I-Λ)kVTなので、(7)式のようにpが得られる。
ただし、^h(λ)は(8)式のようなフィルタカーネルである。
このように、信号処理部154は、グラフの次数行列から、偏角によって表されたグラフの隣接行列を引いたグラフラプラシアンに基づき評価値を更新する。ここでのグラフラプラシアンは、エルミートラプラシアンである。
具体的には、信号処理部154は、グラフを無向グラフとみなしたときのランダムウォークによる評価値の更新式を、グラフラプラシアンの固有ベクトルvを並べて得られる行列Vを用いたフィルタリングの形式に変形し、当該変形した更新式におけるVを、グラフラプラシアンをスペクトル分解する際に得られるユニタリ行列Uに置き換えた式により、評価値を更新する。行列Vは第1の行列の一例であり、行列Uは第2の行列の一例である。
図11及び図12に示すように、(8)式のフィルタカーネルはローパスフィルタとして振る舞う。図11及び図12は、フィルタカーネルの挙動を示す図である。図11及び図12の横軸は周波数であり、縦軸はゲインである。図11及び図12は、それぞれK及びαを変化させたときの挙動を示している。
また、(8)式は、信号処理部154が、次数の-1/2乗でスケーリングした事前評価値を、グラフラプラシアンの固有ベクトルを用いてフィルタリングして得られた値を次数の1/2乗でさらにスケーリングすることにより、評価値を更新する操作を行うことを意味している。このように、本実施形態では、ランダムウォークによるSybil検知を、信号処理的に解釈することができる。
推定部155は、評価値を基に、グラフの頂点のラベルを推定する。例えば、推定部155は、評価値が0より大きい所定の閾値以上である頂点をSybilと推定することができる。
[第1の実施形態の処理]
図13は、検知装置の処理の流れを示すフローチャートである。図13に示すように、まず、検知装置10は、グラフデータ20の入力を受け付ける(ステップS101)。グラフデータ20の一部の頂点には、Sybilであるか否かを示すラベルが付与されているものとする。
図13は、検知装置の処理の流れを示すフローチャートである。図13に示すように、まず、検知装置10は、グラフデータ20の入力を受け付ける(ステップS101)。グラフデータ20の一部の頂点には、Sybilであるか否かを示すラベルが付与されているものとする。
次に、検知装置10は、グラフの頂点間の辺の向きを偏角に変換する(ステップS102)。例えば、検知装置10は、ある方向の辺を角度θに変換し、当該方向と反対方向の辺を角度-θに変換する。
検知装置10は、偏角を基にエルミート行列を生成する(ステップS103)。例えば、検知装置10は、変換済みの隣接行列を次数行列から引くことでエルミート行列を生成する。ここで、検知装置10は、Sybil検知を実行する(ステップS104)。
図14は、Sybilを検知する処理の流れを示すフローチャートである。図14の処理は、図13のステップS104に対応する。まず、検知装置10は、隣接行列と次数行列を用いてランダムウォークによる評価値の更新式を作成する(ステップS201)。例えば、検知装置10は、(5)式を作成する。
次に、検知装置10は、固有ベクトルを並べた行列Vを用いて更新式をフィルタリング形式に変形する(ステップS202)。つまり、検知装置10は、(5)式を(7)式のように変形する。さらに、検知装置10は、更新式の行列Vをユニタリ行列Uに置き換える(ステップS203)。ユニタリ行列Uは、エルミートラプラシアンLのスペクトル分解によって得られる。
検知装置10は、事前評価値を基に更新式により各頂点の評価値を更新する(ステップS204)。そして、検知装置10は、評価値を基に各頂点のラベルを推定する(ステップS205)。
なお、検知装置10は、ステップS201で得られた更新式を使って評価値の更新を行ってもよい。
[第1の実施形態の効果]
これまで説明してきたように、第1の実施形態の検知装置10は、信号処理部154と推定部155を有する。信号処理部154は、少なくとも一部の頂点にラベルが付与されたグラフの辺の向きを表す複素平面上の偏角を用いて生成された行列に基づき、ランダムウォークによりグラフの頂点の評価値を更新する。推定部155は、評価値を基に、グラフの頂点のラベルを推定する。このように、検知装置10は、グラフ信号処理をランダムウォークに適用する。このため、本実施形態によれば、Sybil検知の手法を信号処理的な枠組みで解釈することができる。
これまで説明してきたように、第1の実施形態の検知装置10は、信号処理部154と推定部155を有する。信号処理部154は、少なくとも一部の頂点にラベルが付与されたグラフの辺の向きを表す複素平面上の偏角を用いて生成された行列に基づき、ランダムウォークによりグラフの頂点の評価値を更新する。推定部155は、評価値を基に、グラフの頂点のラベルを推定する。このように、検知装置10は、グラフ信号処理をランダムウォークに適用する。このため、本実施形態によれば、Sybil検知の手法を信号処理的な枠組みで解釈することができる。
信号処理部154は、グラフの次数行列から、偏角によって表されたグラフの隣接行列を引いたグラフラプラシアンに基づき評価値を更新する。これにより、グラフ信号処理を容易にランダムウォークに適用することができる。
信号処理部154は、グラフを無向グラフとみなしたときのランダムウォークによる評価値の更新式を、グラフラプラシアンの固有ベクトルを並べて得られる行列Vを用いたフィルタリングの形式に変形し、当該変形した更新式における行列Vを、グラフラプラシアンをスペクトル分解する際に得られるユニタリ行列Uに置き換えた式により、評価値を更新する。これにより、グラフ信号処理によるランダムウォークを、有向グラフに適用することができる。
信号処理部154は、次数の-1/2乗でスケーリングした事前評価値を、グラフラプラシアンの固有ベクトルを用いてフィルタリングして得られた値を次数の1/2乗でさらにスケーリングすることにより、評価値を更新する。これにより、ランダムウォークをグラフ信号処理として解釈することが可能になる。
この再スケーリングの操作は、次数が大きい頂点ほど平滑化後の評価値が拡大されることを意味する。つまり、最終的な評価値は次数の大きい頂点に集中しやすいことを意味する。特に、頂点の次数に極端な偏りのあるようなグラフでは,平滑化の効果よりも再スケーリングの効果の方が寄与が大きくなる。これは、ランダムウォークに基づくSybil検知は頂点の次数に極端な偏りのあるグラフに対して上手く機能しなくなるという既知の性質に整合する。
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
一実施形態として、検知装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の検知処理を実行する検知プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の検知プログラムを情報処理装置に実行させることにより、情報処理装置を検知装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
一実施形態として、検知装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の検知処理を実行する検知プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の検知プログラムを情報処理装置に実行させることにより、情報処理装置を検知装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
また、検知装置10は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の検知処理に関するサービスを提供する検知サーバ装置として実装することもできる。例えば、検知サーバ装置は、グラフデータを入力とし、Sybilである頂点を提供するサーバ装置として実装される。この場合、検知サーバ装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の検知処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。
図15は、検知プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(BASIC Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、検知装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、検知装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSDにより代替されてもよい。
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020は、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した実施形態の処理を実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
10 検知装置
11 通信部
12 入力部
13 出力部
14 記憶部
15 制御部
20 グラフデータ
20A、20D、20L 行列
30 分析結果
151 変換部
152 生成部
153 計算部
154 信号処理部
155 推定部
11 通信部
12 入力部
13 出力部
14 記憶部
15 制御部
20 グラフデータ
20A、20D、20L 行列
30 分析結果
151 変換部
152 生成部
153 計算部
154 信号処理部
155 推定部
Claims (6)
- 少なくとも一部の頂点にラベルが付与されたグラフの辺の向きを表す複素平面上の偏角を用いて生成された行列に基づき、ランダムウォークにより前記グラフの頂点の評価値を更新する更新部と、
前記評価値を基に、前記グラフの頂点のラベルを推定する推定部と、
を有することを特徴とする検知装置。 - 前記更新部は、前記グラフの次数行列から、前記偏角によって表された前記グラフの隣接行列を引いたグラフラプラシアンに基づき前記評価値を更新することを特徴とする請求項1に記載の検知装置。
- 前記更新部は、前記グラフを無向グラフとみなしたときのランダムウォークによる前記評価値の更新式を、前記グラフラプラシアンの固有ベクトルを並べて得られる第1の行列を用いたフィルタリングの形式に変形し、当該変形した更新式における前記第1の行列を、前記グラフラプラシアンをスペクトル分解する際に得られるユニタリ行列である第2の行列に置き換えた式により、前記評価値を更新することを特徴とする請求項2に記載の検知装置。
- 前記更新部は、次数の-1/2乗でスケーリングした事前評価値を、前記グラフラプラシアンの固有ベクトルを用いてフィルタリングして得られた値を次数の1/2乗でさらにスケーリングすることにより、前記評価値を更新することを特徴とする請求項2に記載の検知装置。
- コンピュータによって実行される検知方法であって、
少なくとも一部の頂点にラベルが付与されたグラフの辺の向きを表す複素平面上の偏角を用いて生成された行列に基づき、ランダムウォークにより前記グラフの頂点の評価値を更新する更新工程と、
前記評価値を基に、前記グラフの頂点のラベルを推定する推定工程と、
を含むことを特徴とする検知方法。 - コンピュータを、請求項1から4のいずれか1項に記載の検知装置として機能させるための検知プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/035153 WO2022059107A1 (ja) | 2020-09-16 | 2020-09-16 | 検知装置、検知方法及び検知プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2022059107A1 JPWO2022059107A1 (ja) | 2022-03-24 |
JP7448021B2 true JP7448021B2 (ja) | 2024-03-12 |
Family
ID=80776584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022550105A Active JP7448021B2 (ja) | 2020-09-16 | 2020-09-16 | 検知装置、検知方法及び検知プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230297674A1 (ja) |
JP (1) | JP7448021B2 (ja) |
WO (1) | WO2022059107A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116361719B (zh) * | 2023-03-27 | 2024-02-02 | 烟台大学 | 一种以太坊网络钓鱼用户的检测方法和系统 |
JP7474536B1 (ja) | 2023-08-07 | 2024-04-25 | Linked Ideal合同会社 | 情報処理システム、情報処理方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090132213A1 (en) | 2007-11-16 | 2009-05-21 | Microsoft Corporation | Method for modeling data structures using local contexts |
-
2020
- 2020-09-16 WO PCT/JP2020/035153 patent/WO2022059107A1/ja active Application Filing
- 2020-09-16 US US18/020,943 patent/US20230297674A1/en active Pending
- 2020-09-16 JP JP2022550105A patent/JP7448021B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090132213A1 (en) | 2007-11-16 | 2009-05-21 | Microsoft Corporation | Method for modeling data structures using local contexts |
Also Published As
Publication number | Publication date |
---|---|
US20230297674A1 (en) | 2023-09-21 |
WO2022059107A1 (ja) | 2022-03-24 |
JPWO2022059107A1 (ja) | 2022-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Nguyen et al. | A novel graph-based approach for IoT botnet detection | |
US10832168B2 (en) | Computational modeling and classification of data streams | |
AU2015380394B2 (en) | Methods and systems for identifying potential enterprise software threats based on visual and non-visual data | |
JP7448021B2 (ja) | 検知装置、検知方法及び検知プログラム | |
WO2017112168A1 (en) | Multi-label content recategorization | |
US11675901B2 (en) | Malware detection from operating system event tracing | |
EP3816829B1 (en) | Detection device and detection method | |
US20200374290A1 (en) | Creation device, creation system, creation method, and creation program | |
CN111198967B (zh) | 基于关系图谱的用户分组方法、装置及电子设备 | |
US10417579B2 (en) | Multi-label classification for overlapping classes | |
WO2019245006A1 (ja) | 検知装置及び検知方法 | |
JP6767312B2 (ja) | 検知システム、検知方法及び検知プログラム | |
Bernal et al. | Exact hypothesis testing for shrinkage-based Gaussian graphical models | |
Wang et al. | A novel malware detection and classification method based on capsule network | |
US12056233B2 (en) | Responsible parent process identification | |
Tang et al. | Android malware detection based on a novel mixed bytecode image combined with attention mechanism | |
JP7448022B2 (ja) | 検知装置、検知方法及び検知プログラム | |
Hoskins et al. | Inferring networks from random walk-based node similarities | |
WO2021005805A1 (ja) | グラフ解析装置、グラフ解析方法及びグラフ解析プログラム | |
WO2021240661A1 (ja) | 学習装置、学習方法、推定装置、推定方法及びプログラム | |
Jiang et al. | In‐place similarity and its applications in image and video detail enhancement | |
Sai Adhinesh Reddy et al. | Windows Malware Detection Using CNN and AlexNet Learning Models | |
CN114329475B (zh) | 恶意代码检测模型的训练方法、装置以及设备 | |
WO2023002575A1 (ja) | 生成装置、生成方法、生成プログラム、判定装置、判定方法及び判定プログラム | |
Li | Second‐order PDE‐based image restoration algorithm using directional diffusion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230209 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240130 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240212 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7448021 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |