JP2009523270A - データ列の自動比較に用いられる方法およびその装置 - Google Patents

データ列の自動比較に用いられる方法およびその装置 Download PDF

Info

Publication number
JP2009523270A
JP2009523270A JP2008543751A JP2008543751A JP2009523270A JP 2009523270 A JP2009523270 A JP 2009523270A JP 2008543751 A JP2008543751 A JP 2008543751A JP 2008543751 A JP2008543751 A JP 2008543751A JP 2009523270 A JP2009523270 A JP 2009523270A
Authority
JP
Japan
Prior art keywords
data
similarity
distance
relationship
column
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.)
Granted
Application number
JP2008543751A
Other languages
English (en)
Other versions
JP5183483B2 (ja
JP2009523270A5 (ja
Inventor
リエック・コンラッド
ラスコフ・パフェル
ミュラー・クラウス‐ロベルト
デュッセル・パトリック
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Publication of JP2009523270A publication Critical patent/JP2009523270A/ja
Publication of JP2009523270A5 publication Critical patent/JP2009523270A5/ja
Application granted granted Critical
Publication of JP5183483B2 publication Critical patent/JP5183483B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/02Comparing digital values
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • G16B30/10Sequence alignment; Homology search
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B40/00ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
    • G16B40/20Supervised data analysis
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B40/00ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
    • G16B40/30Unsupervised data analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B40/00ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biophysics (AREA)
  • Biotechnology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Signal Processing (AREA)
  • Public Health (AREA)
  • Epidemiology (AREA)
  • Databases & Information Systems (AREA)
  • Bioethics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Analysis (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • Analytical Chemistry (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Computational Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】データ列を比較し、類似値を計算する頑健な装置およびその方法を提供する。
【解決手段】少なくとも2つのデータ列の自動比較に用いられる方法およびその装置に関するものであり、2つ以上の列における部分列の任意の一対の間の局所関係の評価と、前記部分的な関係の評価の集約による大域関係の評価とを実行する。一方のデータ列の少なくとも1つの部分列が他方のデータ列に存在しないことを検知して、第1のデータ列における第1の部分列と第2のデータ列における第2の部分列との間の局所関係を評価してもよい。また、局所関係の評価の集約によって大域関係を評価してもよい。
【選択図】図1

Description

本発明は、データ列の比較に用いられる方法および装置に関する。
列形式のデータの自動比較は、コンピュータ科学、自然科学および工学的問題において一般的に遭遇される課題である。本発明の文中において、データ列は、一致、またはより一般的には、類似もしくは非類似についてテストされうる連続するオブジェクトの集まりに相当する。
データ列の典型的な例は、記号、画像、テキスト(例えば、アスキー文字)、遺伝子データ、タンパク質、バイト、バイナリデータ(2進数のデータ)または抽象的なトークン(abstract token)の列である。
これらの種類のオブジェクトのいずれかを含む2つのデータ列は、互いに比較されることができ、双方の間の類似(または非類似)の数値が計算されることができる。この発想の延長では、2つを超える数のデータ列が互いに比較されることができ、一対(pairwise)における類似値を含む行列が得られる。
データ列を比較し、類似値を計算する頑健な方法およびその装置を提供することが本発明の目的である。
データ列の比較に用いられる方法およびその装置は、実施形態において、
a)データ列を、そのデータ列に含まれる部分列の集まりとして表現し、
b)類似性尺度を、2つのデータ列のうち両方または1つのみにおける、部分列の出現の回数について計算することによって進行する。この方法および装置の実施形態は、類似性のさまざまな尺度と、考慮すべき部分列を選択する種々の仕組みとをサポートしている。
本発明の考えられる実施形態が、本発明の出願の明細書の一部である章A〜Dとして説明される。これらの実施形態は、データ列の記憶および比較に用いられる特定のデータ構造において異なる。トライを伴う本発明の一実施形態のフローチャートが、図7に示されている。
比較に用いられる部分列を選択する種々のモードが、章Cおよび章Dに提示されている。データ列があるとして、そのコンテキストを部分列によって表現する3つの一般的なモードがある。
a)単語。列は、一連の区切り記号によって区切られる、重複しない部分列に分割される。自然言語テキストでは、これらの記号は空白および句読記号に相当する。他の用途に関しては、これらのような記号の異なる定義が可能である。
b)Nグラム。列は、最大で(n−1)個の記号で重複する、長さnの部分列によって表現される。Nグラムは、デリミタなどの構造的情報が未知であるか、またはこれをモデル化することが困難である場合、例えばDNA配列の解析において、一般的に使用されている。
c)全ての部分列。この最も一般的な場合では、列は、その列に含まれる全ての部分列によって表現される。このようにして、m個の記号の列が、m(m−1)/2個の部分列の集まりにマッピングされ、この部分列は全ての起こり得るNグラムおよび単語も包含する。
これら3つの全てのモードは、本発明の実施形態によってサポートされている。
列に含まれる部分列の集まりを構築した後に、上述の3つのモードのいずれかに従って定義された部分列の出現の回数を検討することによって、2つの列xおよびyが比較されることができる。
開示される方法の主な構成は、2つの列のうち両方または1つに含まれる全ての適当な部分列に基づく。一般的な手順が、類似性尺度におけるこのような適切な部分列の集約について提示されている。本発明における2つのデータ列xおよびyの間の類似値を計算するために用いられる類似性尺度sは、以下の一般的な形式で表現される。
Figure 2009523270
Figure 2009523270
関数φ(x)は、データ列xに存在する部分列wの出現についての定量的な尺度、例えば、カウントまたは頻度値を返す。
類似性尺度の異なる実施形態は、関数mおよび演算子*の定義において異なる。
(a)一致関数mは、局所関係の尺度、すなわち、φ(x)およびφ(y)において部分列間の類似性または非類似性の尺度である。この関数は、例えば、データ列における部分列の出現の差の絶対値または差の二乗でもよい。しかしながら、章Dでの線形カーネルの場合の公式化のように、類似性を表す他の公式化も可能である。さらなる例は、章Cの表8および表9ならびに章Dの表14に示されている。
(b)大域集約演算子*は、大域関係の評価のための複数の起こり得る演算、すなわち、一致関数mによって表現される局所関係の集合を示している。この演算子は、選ばれた部分列の選択モードに対応する部分列の集合Lに適用される。これらのような演算子についての例は、章Cの表8および表9ならびに章Dの表14に示されている。
類似性および非類似性のさまざまな尺度が、一致関数mおよび集約演算子*についての対応する定義を導き出すことによって、上記の式で表現されることができる。
一例として、ユークリッド距離関数Σi=1〜n(x−yは、*およびmによって表現されることができ、一致関数が(x−yに相当し、集約演算子*が総和になる。他の例では、チェビシェフ距離が、*としてMAX関数を使用し、一致関数mとして差の絶対値|x−y|を使用することによって表現される。類似性尺度についてのさらなる実施形態は、章Cにおける表8および表9ならびに章Dにおける表14を用いて文中で説明されている。
mおよび*の一般的な表現に適した、ユークリッド距離、チェビシェフ距離、マンハッタン距離、またはジャカード(Jaccard)、ムカジョフスキー(Czekanowski)もしくはカルチスキー(Kulszynski)による類似性係数などの類似性尺度のリストが、章Cの表5〜表7ならびに章Dの表12および13に示されている。
列に含まれる部分列についての類似性尺度の一般公式化の他に、データ列の比較に用いられる方法およびその装置における第2の要素は、効率的な計算のための特定のデータ構造の利用である。
以下は、適切なデータ構造のリストと、列データについての類似性尺度の計算へのこれらの利用のための手順とについての説明である。
(a)ハッシュテーブル。各データ列xはハッシュテーブルに変換される。このハッシュテーブルは、選ばれた選択モードに応じて、xの部分列wに対応した数値φ(x)を含む。類似性尺度の計算は、2つの列xおよびyに対応する2つのハッシュテーブルのビン(bin)をループし、φ(x)およびφ(y)について一致関数と集約演算子を計算することによって実行される。対応する手順は、章Cのセクション3.1に示されている。
(b)トライ。各データ列xは、トライのデータ構造に変換される。大きさmのオブジェクトの集まりから作り出される列について、トライは、選ばれた選択モードに対応する全ての部分列を含むm項のツリーである。トライのノードには、x内の各部分列wについての数値φw(x)が付加されている。類似性尺度の演算は、2つの列xおよびyに相当する2つのトライを平行にトラバース(巡回)し、トライのノードにおけるφ(x)およびφ(y)を、一致関数および集約演算子を計算するために取り出すことによって実行される。トライに基づく比較に用いられる手順は、章Cのセクション3.2に示されている。ネットワーク侵入検知の用途の一部としての具体的な実施形態が、章Aで説明されている。
(c)接尾辞木および接尾辞配列。各データ列xは、接尾辞木または接尾辞配列に変換される。接尾辞木は、根から葉までの各経路が、対象のデータ列の接尾辞に相当するツリー構造である。トライと同様に、xにおける部分列wについての数値φ(x)が、選択方式に応じて接尾辞木のノードに記憶されている。類似性尺度の計算は、2つの列xおよびyに相当する2つの接尾辞木の複数回のトラバースによって実行される。各接尾辞木の第1のパス(pass)の間に、ノードによって示された部分列が特定され、印が付けられる。これら各接尾辞木の部分列は、両方の列に含まれるものである。各接尾辞木の第2のパスの間、印が付けられたノードおよび印が付けられていないノードからの適切なφ(x)およびφ(y)が類似性尺度の計算のために集約される。代替案として、比較の手順が、接尾辞木の代わりに接尾辞配列を用いて実現されてもよい。接尾辞配列は、列の全ての接尾辞を辞書編集的に整列された順序で含んでいる。接尾辞木に基づく開示される方法は、2つの補助的な配列と、最長共通接頭辞と、接尾辞リンク配列(suffix link array)とを組み合わせることにより、接尾辞配列を用いて実行されることができる。
(d)一般化接尾辞木。一般化接尾辞木は、一連のデータ列の全ての接尾辞を備えることによって接尾辞木を拡張させている。この方法は、比較対象のデータ列が単一のデータ構造によって表現されているので、実施形態(a)〜(c)とは異なる。一般化接尾辞木の帰りがけ順のトラバースの間、列xの各部分列wについての数値φ(x)が集約されることができる。類似性尺度の計算は、一致関数および集約演算子を計算することによって、帰りがけ順のトラバースの間に実行される。一般化接尾辞木の場合、部分列の選択モードは、ツリーにおける各ノードに適切な方法で重み(weight)を割り当てることによって実現される。接尾辞配列の方法と同様に、開示される実施形態は、一般化接尾辞配列を用いて実現されることもできる。この比較のアルゴリズムに用いられる手順は、章Dに示されている。
様々なデータ構造に基づく本発明の4つ全ての実施形態は、2つを超える数の列に対する類似性尺度の計算をサポートするように拡張されてもよい。上記(a)〜(c)の場合には、上記の方法は、m個の列の集まりをm個の対応するデータ構造の集まりに変換することによって拡張される。類似値の行列が、この結果生じたデータ列間のm2個の一対ごとの類似性を計算することによって得られる。実施形態(d)は、本質的に、複数のデータ列についての類似性尺度を計算することができる。いったん一連の列が一般化接尾辞木の表現に変更されると、単一の帰りがけ順のトラバースが、全ての一対の類似値の計算に関して十分である。
以下、章A〜Dとして、それぞれ論文の形式で、本願発明にかかる実施形態を説明する。
<章A>
我々は、トライのデータ構造を使用して、TCP接続から抽出されたNグラムおよび単語を効率良く記憶する、ネットワーク侵入検知に用いられる言語モデルの新規な表現を提案する。この表現によって、TCP接続について、さまざまな類似性尺度を計算したり、未知の攻撃の検知に適した、教師なし異常検知(unsupervised anomaly detection)アルゴリズムを適用したりすることができる。
DARPA1999のデータセットおよび我々のデータセット、PESIM2005について行った実験の結果は、ネットワーク攻撃の検知についての高次のNグラム(1グラムとは反対に)の重要性を証明している。我々の方法は、単語に基づく言語モデルにも適している。この単語に基づく言語もモデルは、Nグラムモデルよりも、実際のセキュリティ・アプリケーションに適したものである。我々のシステムの実施は、HTTPトラフィック、FTPトラフィックおよびSMTPトラフィックにおける27件の最新の攻撃について、0.2%の誤検知率(false-positive rate)で80〜100%の検知精度を達成した。
1.序論
未知の攻撃の検知は、セキュリティ業者が強く解決を望む長年にわたる課題である。脆弱性およびこれらの攻略を追跡するための現在のアプリケーションならびにインフラストラクチャが、攻撃シグニチャによって十分な保護を提供しているとしばしば主張される一方で、シグニチャに基づく防御を打破した未知の攻撃、特に、ワーム[例えば、38]およびゼロデイ攻略(zero-day exploits)[例えば、1]の数々の例が存在する。さらに、シグニチャが利用可能であるのみでは、しばしば十分でなく、導入されたシグニチャは、システムを安全にするために、セキュリティアドミニストレータによって最新に維持されなければならない。
未知の攻撃についての議論は、侵入検知コミュニティのさまざま部門で行われている。不正検知に関して、議論は、シグニチャをより汎用的にし、かつ、既知の攻撃が突然変わったとしてもだまされないようにするということが争点になっている[37,22,15,30,7,33]。しかしながら、純粋に新しい攻撃は、異常検知ツールによってのみ検知されることができるという共通認識が高まりつつある。ただし、この場合、有効な異常かもしれない誤検知(偽陽性)を処理しならないという代償がある。
これまでの研究の多くは、ネットワークトラフィックにおける異常検知についてなされてきた[例えば、41,42,16,26,25,9]。異常検知の実用面での受け入れまでの道のりにおける主な障害は、高い誤検知率である。これまでの方法のほとんどは、業者が必要とする、誤検知率の1000分の1の範囲での十分な精度(これでも高すぎるかもしれない)を提供していない。それゆえに、異常に基づく侵入検知技術のさらなる改善が高く望まれる。
方法的な違いのほかに、さまざまな異常検知方法の根底にある主な問題は、これらが作用する対象となる構成である。初期の方法のいくつかは、パケットのヘッダ情報、またはパケットもしくは接続の集まりの統計上の特性のみを考慮していた[25,19]。この情報は、特定の種類の悪意ある活動、たとえば、プローブおよびポートスキャンの検知に有効であることが証明されているが、通常、アプリケーション層プロトコルおよびこれらの実装の意味上の脆弱性を攻略する攻撃を検知するのには十分でない。
この論文において、我々は、TCP接続におけるバイトストリームの解析に用いられるNグラムおよび単語などの言語モデルについて類似性尺度を使用する、未知のネットワーク攻撃の検知に用いられる一般的な技術を提示する。Nグラム表現は、ホストをベースとした侵入検知システム(IDS)についての文献において長く知られてきた[例えば、10,14,43,27,12]。近年では、Nグラムモデルがパケットのペイロードまたは接続内容についての異常検知に適用されている、ネットワーク侵入検知の技術がいくつか提案されている[16,42,41]。これらのようなモデルが、パケットのヘッダでは明らかにならない攻撃を検知するのに極めて効果的であることが証明されている。
Nグラムモデルが内容に基づいた区別できる構成の記述に成功している理由は、プロトコルと自然言語とを比較することによって理解されることができる。両方の内容は、豊富な構文(syntax)と意味(semantics)とで特徴付けられており、異なるカテゴリー間での区別は、意味的な構成物および構文的な構成物によってのみ可能である。プロトコルおよび自然言語の両方について、法則によって重要な概念を説明するために広範囲に及ぶ努力がなされたが、法則では、根底にある内容の完全な一般概念を包含することが困難であるということを発見するのみであった。プロトコルおよび自然言語は、文法的構造を有しているが、この構造の再生は、不明確性および曖昧さによって妨げられる。
言語学的な類推からみて、(未知の)誤用パターンの識別が、根底をなすプロトコル言語における(未知の)概念を学習することにつながる。それゆえに、自然言語処理の機械をネットワーク侵入検知に適用することは、明らかに有望である。しかしながら、そうする一方で、ネットワークのIDSの技術的課題、つまり、高速および大量のデータに注意しなければならない。これまでに報告された、ネットワークトラフィックのNグラムモデルを用いた全ての実験結果については、N=1が使用されており、これは、このモデルを適用することについての主要な技術的問題を間接的に指し示している。数が大きくなり得るNグラムの統計学的特徴は、いかにして効率的に計算され、比較されることができるのであろうか?
この問題に対処するために、我々は、トライに基づいたNグラムの新規な表現を提案する。この表現によって、Nグラムでの多種多様の類似性尺度、例えばマンハッタン距離、ユークリッド距離およびキャンベラ距離、カルチスキー類似性係数およびムカジョフスキー類似性係数、ならびにさまざまなカーネル関数の線形時間での計算が可能になる。これらの類似性尺度を用いて、通常とは異なるイベントを検知するために教師なし異常検知アルゴリズムを適用することができる。結果として、我々の技術を用いた異常検知は、実用配備することが極めて容易である。いったんネットワークに接続されると、我々のシステムは、訓練または広範囲にわたる設定なしで異常検知を実行し、通常データのプロファイルを学習する短い期間の後に、安定した体制となる。
概念実証として、我々は、DARPA1999のIDSのデータセットおよび侵入テストの専門家によって作り出された我々のデータセットについて我々の方法を実験的に評価する。通常、全範囲の攻撃が対象となっているDARPA1999のIDSのデータセットを用いた以前の研究とは異なり、我々は、増大する複雑性が大量の脆弱部を生み出しているアプリケーション層のプロトコルに対する攻撃に着目する。これらのような脆弱部の攻略は、攻撃者がネットワークサービスの重度の悪用をするのに十分な特権を得ることを可能にする。それゆえ、アプリケーション層プロトコルに対する攻撃は、実際のセキュリティという点において最も危険である。我々の実験において存在する攻撃のリストは、本文末尾に添付した表1および表2に示されている。
我々の実験の結果は、Nグラムが未知の攻撃の検知のための貴重な情報を伝えることができることを証明している。以前の研究との違いとして、我々は、いくつかの攻撃について、重要な区別できる構成がN>1の長さのNグラムに含まれていることに気付いた。その一方で、我々の実験は、自然言語処理における研究から知られている結果として、Nグラムモデルの最適な長さを前もって決定することが難しいことを示している。この問題を改善するために、我々は、我々のモデルをNグラムから単語へと拡張し、これらのようなモデルが、実験的に最適のNグラムモデルの精度よりもわずかに低いだけにすぎない精度をもたらすことを示している。最後に、我々は、提案される方法が、標準のシグニチャのセットを備えた、オープンソースのIDSのSnort(スノート)の最新版を著しく凌ぐことを証明する。
2.関連の研究
極めて自然なことに、言語モデルは、侵入検知に対する関連性が発見される数十年も前に、情報検索および自然言語処理の分野における研究者によって最初に開発された。早くて60年代半ばには、文字Nグラムが光学式文字認識におけるエラー訂正のために使用されていた[32]。テキスト分類へのNグラムの利用は、Suenによって開拓され[40]、その後の多くの研究によって追随された[例えば、4,3,35]。Nグラムベースの方法の主な考え方は、N個の連続する文字(Nグラム)を含む全ての部分列の頻度を計算し、これらの頻度に基づいて類似性尺度を設定することである。アルファベットにおけるNグラムの幾何学級数的な数にもかかわらず、線形数のNグラムのみが、所与の文字列に存在している。Nグラムの効率的な比較は、ハッシュ法を用いてなされることができる。さまざまな類似性尺度、例えば、頻度ベクトル間の内積[4]またはマンハッタン距離およびキャンベラ距離[3]が、Nグラムの頻度を比較するために用いられた。テキスト分類についての最新の方法は、コンテキストの情報を組み入れることを可能にする、類似性尺度としてのカーネル関数の使用を推奨している[44,21,24]。
ホストベースのIDSの分野におけるNグラムモデルの再発見は、90年代半ばに、Forrestらの一見、反復的でない「スライディング・ウィンドウ」方法によって始まった[10]。この方法は、現代の専門用語において、Nグラムの教師あり異常検知として分類されることができる。Forrestらの主な目的は、プログラムの通常の動作から生じるシステムコールのトレース(追跡)における、あり得る全てのNグラムのデータベースを作り出すことであった。このデータベースに対して多くの2進数の不一致を有するトレースは、異常であるとしてフラグをたてられた(印が付けられた)。これらの考えは、隠れマルコフモデル(Hidden Markov Model)[43]、フィード・フォワード型および再帰型のニューラルネットワーク[12]、ならびにルール導出アルゴリズム(rule induction algorithm)[20]の活用を通して拡張された。これらの方法の総合的な評価は、上記の方法の全てが、これらがチェックされたデータセットにおける侵入の異常動作を効果的に検知できることを示した。
ネットワークベースのIDSへのNグラムモデルの活用は、パケットのペイロードの限定された形式のバイトのヒストグラムを、異常の統計的なテストに使用するという発想に始まった[16]。より進化したモデルが、WangおよびStolfoによって提案された。このモデルでは、パケットのペイロードのヒストグラムが用いられ、ペイロードのヒストグラムが通常データから学習されたヒストグラムに対して大きいマハラノビス距離を有する異常なパケットを検知する[42]。この方法は、N=1のNグラムの方法の具体的な事例として容易に理解されることができる。WangおよびStolfoの方法の特徴は、パケットのペイロードの分布がパケットの長さを条件としていることである。隣接するモデルの統合が、全体のモデルの大きさを減少させるために用いられる。この方法を用いる異常ペイロード検知センサPAYLが、ネットワークトラフィック内のワームを検知するために良好に適用されてきた[41]。
3.Nグラムのトライ
関連の研究の簡潔な説明から容易に理解できるように、さまざまな洞察が、単純な言語モデルに導く。単純な言語モデルとは、通常のイベントと異常なイベントとを識別するのに十分な方法で、基礎をなす言語の雑然とした(coarse)構文をとらえるNグラムである。これらのようなモデルを異常検知のアルゴリズムにおいて利用する秘訣は、所望の区別的特性を有する一連の類似性尺度を提供することである。多種多様な類似性(および非類似性)の尺度を文献から得ることができ、これらのうちいくつかは、後述するA.2において概要されている。したがって、データ構造とNグラムのヒストグラムの計算に用いられるアルゴリズムとを変更することなく、これらの尺度を利用することが極めて望ましい。
基礎をなすデータ構造が類似性尺度の効率的な実行にとって重要である理由を理解するためには、いくつかの技術的課題が検討されなければならない。Nグラムのヒストグラムを保管して比較する古典的な仕組みは、ハッシュテーブルを使用する[例えば、4]。これにより、文字ストリームに存在するl−n+1個(最悪の場合において)の異なるNグラムを大きさkのハッシュテーブルに保管することができる。ここで、lとkとの関係は、ハッシュ関数のパラメータに依存する。ハッシュテーブルへの挿入には、一定の時間を要し、また一方で、2つのハッシュテーブルの簡単な比較は、多すぎる衝突を回避できるほどハッシュ関数が十分に優れているという条件で、O(k)の計算量である。ハッシュテーブル要素は整列されていないので、いかなる類似性尺度の演算も、k個全てのテーブル要素をループすることを必要とする。
我々は、バイトストリームから集められたNグラムをトライに保管させることを提案する[5,11]。トライへの挿入は、O(nlog|Σ|)の計算量を要し、ここで、|Σ|はアルファベットの大きさである(我々の場合では256)。一連の単語{“bank”,“band”,“card”}を保管させる一例が、図1に示されている。トライの各ノードは、Nグラムのトライへの挿入時にノードがヒットする(当たる)たびにインクリメントされるカウンタを含むように拡張されている。図1におけるカウントは、入力ストリームにおいて、“band”が3個、“bank”が5個および“card”が2個の存在することに相当する。
Nグラムのトライについての類似性尺度の計算は、対象の尺度を一致関数についての演算子として表現することによってなされることができる。
Figure 2009523270
ここで、一致関数は、一致m(s,t)の関数、局所不一致m(s)の関数および大域不一致m(s)の関数になり得る。m、mおよびmの適切な定義を用いて、さまざまな尺度が定義されることができる。例えば、2つのトライの間のマンハッタン距離は、m(s,t)=|c−c|、m(s)=m(s)=|c|で得られ、cはトライにおける各ノードのカウントである。トライのハッシュテーブルに優る決定的な利点は、異なる長さ、例えば、l≪lの2つのバイトストリームを比較する際に生じる。トライの表現に関して、一致は、O(min(l,l))の計算量で実行される。ハッシュテーブルに関しては、一致は常に、O(k)≒O(max(l,l))の計算量の動作を必要とする。
ネットワークトラフィックのNグラム解析へのトライのデータ構造の利用において、我々は、組み立てられたTCP接続の入力バイトのストリームを考える。全ての接続について、入力バイトストリームにおける全てのNグラムの圧縮表現を含むトライが構築される。次に我々は、トライを、所与の類似性尺度を用いて検知を実行する、教師なし学習アルゴリズムに入力する。こうして、我々の方法は、ペイロードの長さを条件にしたり隣接ビンのクラスタ化を行わないことを除いて、WangおよびStolfoの「接続ごと」モデル(“per connection” model)と類似している[42]。
NグラムがTCP接続におけるネットワーク攻撃を特性化する様子は、例によって最も良好に示されることができる。図2は、IIS(Microsoft Internet Information Services)ユニコード攻撃の3グラム頻度と通常のHTTPトラフィックとの違いを示している。3グラムの取り得る大きい領域により、このグラフは、IISユニコードの攻撃に存在する3グラムに限定されている。
いくつかの正のピークは、通常のトラフィックからの大きい逸脱を示しており、攻撃の典型的な3グラム、例えば、”35c”、”/..”および”%35”に相当している。これらの3グラムはユニコード攻撃”%%35c”の基本的なパターンを明らかにしている。このユニコード攻撃は、脆弱性のあるIISサーバによって”%5c”(アスキーコード0x35は”5”に相当する)に変換され、最終的にはバックスラッシュ(アスキーコード0x5c)として解釈される。この攻撃の対応する断片は、以下に示されている。

Figure 2009523270
4.Nグラムのトライにおける教師なし異常検知
アドミニストレータを、通常動作活動を代表するデータ収集から免れさせるので、教師なし異常検知は異常検知の実際の需要に特に適している。教師なし異常検知のアルゴリズムは、データのストリームに直接適用されることができ、通常のパターンと異常なパターンとを「素早く」効果的に区別すると考えられる。さらに、人手によってラベル付けされたデータを用いたアルゴリズム、または訓練の広範囲にわたる設定が必要でない。
教師なし異常検知は、その魅力的な性質のため、侵入検知についての最近の研究において多大な関心を得てきている[例えば、34,9,18]。教師なし異常検知に用いられるアルゴリズムは、異常と通常データとの幾何学的特徴における違いを利用する。これらのアルゴリズムは、例えば、最短距離法[34]およびk近傍法Zeta(引用割愛)のように局所特性を探索するか、または、例えば、簡素化されたマハラノビス距離[42]および1/4球状サポートベクターマシーン(quarter-sphere SVM)[17]のように大域特性を探索する。(我々の研究で用いられるこれら4つのアルゴリズムの概要はA.1に示されている)。
異常検知アルゴリズムは、通常、データの幾何学的表現を実質的に定義する、対のオブジェクト間の類似性尺度を必要とする。セクション3で示されたように、さまざまな類似性尺度がNグラムのトライにおいて定義されることができる。特に、我々は、以下の尺度を調べた。キャンベラ距離[8]、「2進数化された」マンハッタン距離、ムカジョフスキー係数[6]および(第2の)カルチスキー係数[39]。(これらの尺度の概要はA.2に示されている。)
5.実験結果
ネットワーク接続の提案されたNグラムのトライ表現を、検知性能について評価し、再現された構文情報の性質についての洞察を得るために、我々は、2つのネットワークトラフィックのデータセットについて実験を実施した。詳細には、我々は、以下の未解決の疑問を解明することに関心がある。
1.Nグラム(N>1)の増加された長さは、検知性能を向上させるか?
2.いかなる誤検知率で、我々のデータに存在する攻撃の全ての事例を検知するのか?
我々は、我々の実験を、一般的なアプリケーション層プロトコルHTTP、FTPおよびSMTPに限定する。これらプロトコルは、過去十年においてネットワーク攻撃の変わらないターゲットとなっている。
5.1.データセット
DARPA1999のデータセット
1999年にDARPAによって実施されたIDSの評価からのこの周知のデータセット[23]は、多数の文献において使用されており、IDSの評価に用いられる標準のベンチマークであると考えられることができる。
前処理工程として、我々は、通常データを示す第1週目および第3週目のデータのコーパスからの各プロトコルについての1000個のTCP接続を無作為に取り出した。我々は次に、このデータセットの第4週目および第5週目に存在した全てのリモートからローカルへの攻撃(R2L攻撃)を選出した。表1は、これらのR2L攻撃を挙げている。
DARPA1999のデータセットにはいくつかの欠陥およびアーチファクトの問題があることが知られており[26,28,29]、特に、攻撃の選出は、現代のセキュリティ脅威と比較して時代遅れであると考えられることができるが、未だに、結果を再生できる唯一の主要なデータセットである。
PESIM2005のデータセット
DARPA1999のデータセットの問題を克服するために、我々は、PESIM2005と名付けられた第2の評価データセットを生成した。我々は、仮想マシン環境を用いる5つのサーバの組み合わせを配備した。これらのシステムは、2つのウィンドウズ(登録商標)、2つのリナックスおよび1つのソラリスを実行させ、HTTP、FTPおよびSMTPのサービスを提供した。
これらのシステムについての通常のネットワークトラフィックは、我々の研究室のメンバーによって生成された。現実的なトラフィック特性を得るために、我々は、HTTPサーバにおいて透過的に新しいサイトをミラーリングし、FTPサーバにおいて、ファイル共有機能を提供した。個人通信およびメーリングリストからのメールを70%、および5人の個人によって受信されるスパムメールを30%含むSMTPトラフィックが、人為的に投入された。通常データは、DARPA1999のデータセットと同様に、データのコーパスからの各プロトコルについての1000個のTCP接続の無作為の選出によって前処理された。添付ファイルは、SMTPトラフィックから取り除かれた。
これらのシミュレーションされたサービスに対する攻撃は、侵入テストの専門家によって、最新の侵入テストツールを用いて作り出された。27件の異なる攻撃の多数の事例が、HTTP、FTPおよびSMTPのサービスに対して開始された。これらの攻撃は表2に挙げられている。これらの攻撃の大部分は、メタスプロイト・フレームワーク(Metasploit framework)における最新の攻略の総合的な群の一部である[31]。さらなる攻撃は、バグトラック(Bugtraq)およびパケットストームセキュリティ(Packetstorm Security)などの一般的なセキュリティメーリングリストおよびアーカイブから得られた。「PHPスクリプト攻撃」は、侵入テストの専門家によって取り入れられたものであり、PHPスクリプトにおける安全でない入力処理を攻略する。
5.2.実験
最良の尺度/ディテクタの設定
これまでに述べたように、類似性尺度はさまざまな幾何学的性質を生じさせ、次にこれら幾何学的性質が、異常検知方法によってさまざまな方法で探索される。したがって、最初の工程として、我々は、類似性尺度と異常ディテクタ(anomaly detector)とのいずれの組み合わせが、問題の各プロトコルについてのNグラムにおいて最も良好に機能するかを、おおよそはっきりさせる必要がある。この実験に用いられる候補の類似性尺度は、キャンベラ距離、「2進数化された」マンハッタン距離、ムカジョフスキー類似性係数およびカルチスキー類似性係数である。想定される異常ディテクタは、簡素化マハラノビス距離、1/4球状SVM、最短距離法およびZeta異常ディテクタである。
以下の実験手順が実行される。各尺度/ディテクタのコンフィグレーションに関して、10個の独立したデータセットがコーパスから作り出される。各データセットは、最適のディテクタのパラメータを見つけるために用いられる有効性確認区分(validation partition)と、ディテクタの精度の評価のために用いられる独立試験区分(independent test partition)とに分割される。評価の基準は、我々の場合では0〜0.1の誤検知率の特定の間隔にわたって正検知率を積分した、いわゆる曲線下面積(AUC)である。この手順は、1〜8の値をとるnの数値について繰り返され、結果は、10回の実行およびnの全ての数値について平均されたものである。
表3は、両方のデータセットにおけるHTTPプロトコル、FTPプロトコルおよびSMTPプロトコルについての最良の3つの尺度/ディテクタのコンフィグレーションを挙げている。全てのプロトコルについて、類似性係数がカルチスキーで、局所異常ディテクタがZetaであるコンフィグレーションが、nのさまざまな長さに関して最良の総合的な性能をもたらす。残りの実験において、我々は、尺度/ディテクタのコンフィグレーションをこのシステムの設定とする。
さまざまなNグラムの長さ
自然言語処理およびホストベースのIDSにおける以前の結果は、最適のNグラムの長さが、用途に応じて変化するかもしれないことを示している[24,10]。我々は、これから、同一観測結果がTCP接続のNグラムモデルについても適用するか否かを調査する。
nの個々の数値の結果が、一定のコンフィグレーションを用いて記録されることを除いて、我々は、最適の尺度/ディテクタのコンフィグレーションの選出における設定と同一の設定に従う。これらの結果は、図3(DARPA1999のデータセットについては)と、nの選択された数値についてのROCグラフを表示する図4(PESIM2005のデータセットについては)とに示されている。
検知性能が、異なるプロトコルに関して、nの数値間で著しく変化することが明確に理解される。実際に、この実験で検討された3つの数値のそれぞれが、あるプロトコルについて最適であり、また、2つのデータセットにおいて異なるプロトコルについて最適であることが分かる。これは別として、我々の方法の総合的な精度は極めて有望であり、特に、新しいPESIM2005のデータセットについて有望である。nの最良の数値に対しては、HTTPプロトコル、FTPプロトコルおよびSMTPプロトコルについて、80%〜100%の検知率が、0.2%の誤検知率で観測された。
特定の攻撃の分析
IDSがデータセットにおける特定の攻撃をいかに良好に検知するかについて知ることに常に関心がある。前実験の結果は、さらに、各攻撃についての最適のNグラムの長さは洞察力のあるものであることを示唆している。この実験に用いられる基準として、我々は最小の誤検知率を考慮した。この最小の誤検知率においては、攻撃の全ての事例が検知される。これらの結果は表4に示されている。
PESIM2005のデータセットからのネットワーク攻撃のほとんどが、1%を下回る誤検知率で検知される。1つの攻撃、ProFTPd攻略のみが上手く識別されない。この攻略は、悪意あるファイルをFTPサーバにアップロードする。このファイルの内容は、我々のシステムによって監視されていないデータチャンネル上で転送されるので、この攻撃は、我々の設定においては、偶然によってのみ検知される。
攻撃の全体の最適のNグラムの長さの分布は、2つの側面を明らかにしている。検知するのが特に容易であるいくつかの攻撃については、Nグラムの長さは無関係である。しかしながら、特定のNグラムの長さに対しては検知精度が著しく良好である攻撃(検知が簡単なものおよび困難であるもの)が存在する。
6.Nグラムから単語へ
前のセクションにおける実験からのメッセージは、業者にとって少し分かりづらいかもしれない。いくつかの場合では、長いNグラムが検知性能に向上をもたらすが、さまざまな攻撃およびプロトコルにおいて一貫性は発見されることができない。もし攻撃が未知であれば、いかにして正しいnを事前に選択すべきか?
Nグラムモデルの以下の拡張が、この懸念に対応している。自然言語の意味は、実際には、Nグラムよりもむしろ単語によって定義されていることに注目されたい。自然言語における単語は、空白記号によって分けられた連続する文字列として定義される。我々は、HTTP、FTPおよびSMTPなどのアプリケーション層のプロトコルの意味が、適切に定義された単語によって同様にとらえられることができると推測する。単語区切り文字として、以下のバイトが提案される。

Figure 2009523270
我々は、これから、この論文において提案されているNグラムのトライ表現の他の注目すべき性質を発見しようとしている。このトライ表現は、いかなる変更もなく、可変の長さの「グラム」を取り扱うことができる!
我々は、これらの実験を、さまざまなNグラムの長さについての実験における設定と同一の設定下で、Nグラムの代わりに単語のストリームを用いて繰り返し行う。類似性尺度は、単語の頻度について計算され、同一の尺度/ディテクタのコンフィグレーションが用いられる。この実験の実用面の焦点を強調するために、我々は、我々のモデルの結果を、オープンソースのシグニチャベースのIDSSnortの性能と比較する[36](2005年9月28日に公開され、ルールのデフォルトセットでコンフィグレーションされたSnort version 2.4.2)。これらの結果は、図5(DARPA1999のデータセットについては)および図6(PESIM2005のデータセットについては)に示されている。
我々の単語ベースのディテクタは、PESIM2005について、Nグラムベースのディテクタと同一の精度をもたらすことが理解されることができる。残念ながら、DARPA2005のデータセットについて一貫性は観察されることができず、これは、このデータセットにおいて存在するいくつかの攻撃の人為的な性質に起因すると考えられることができる。驚いたことに、「PHPスクリプト」を除く、全ての含まれる攻撃がSnortの配布の公開日の何ヶ月も前に知られていたにもかかわらず、これらNグラムモデルおよび単語モデルは、PESIM2005のデータセットについてSnortに著しく優った。
この結果は、最新のシグニチャ保管庫を維持しようとするセキュリティコミュニティにおける多大な努力にもかかわらず、シグニチャベースのIDSが、「登場したて」の攻撃を発見することができないかもしれないという懸念を確かなものにしている。注目すべきは、Snortが、我々の実験において、2つの理由により機能しなかったことである。適切なシグニチャが存在していなかったので、いくつかの攻撃が検知されなかった。これは、100%に達しない平坦なROCグラフによって明らかにされている。他の不具合は、攻撃の構文における軽微な変化によって生じた。例えば、開始の“HELO”コマンドを“EHLO”に攻撃者が、置き換えると、これはプロトコル仕様で許可され、実際に頻繁に使用されているのであるが、SMTP攻撃の1つが発見されなかった。
7.結論
我々は、TCP接続から取り出されたNグラムおよび単語の効率的な記憶のためにトライを用いた、ネットワーク侵入検知のための言語モデルの新規な表現を提案した。我々の表現によって、これらのモデルについて、さまざまな類似性尺度および非類似性尺度を線形時間で計算することができる。TCP接続間の類似性が計算できるので、我々は、これまで未知であった攻撃の検知に適した、教師なし異常検知アルゴリズムを適用することができる。
DARPA1999のデータセットおよび我々のデータセットPESIM2005について実施された実験の結果は、最新のネットワーク攻撃の検知に用いられる高次のNグラム(1グラムとは異なり)の重要性を証明している。それでもなお、特定の攻撃およびプロトコルについてNグラムモデルの最適の長さを決定することは困難である。この問題は、プロトコルの構文に適した「空白」の区切り文字を用いて、単語に基づく言語モデルを検討することによって緩和される。単語モデルに基づく教師なし異常ディテクタの精度は、我々の実験で調査したように、最良のNグラムモデルの精度とほぼ同一である。さらに、我々の言語モデルに基づくシステムは、「プラグアンドプレイ」設定で、オープンソースのIDSのSnortの最新版(シグニチャの標準的なセットが備えられた)に著しく優った。
参考文献

Figure 2009523270

Figure 2009523270

Figure 2009523270

Figure 2009523270
<章B>
A.1.異常ディテクタ
A.1.1.大域異常ディテクタ
簡素化マハラノビス距離[42]は、データμの重心、および入力空間における各次元σの分散を決定する。異常スコアは、xからμまでの分散スケール化された距離として定義される。
Figure 2009523270
1/4球状SVM[17]は、非線形マッピング関数φを用いて、高次元の特徴空間における入力データφ(μ)の重心を決定するカーネルベースの学習方法である。異常スコアは、特徴空間におけるφ(x)からφ(μ)までの距離として定義される。
Figure 2009523270
A.1.2.局所異常ディテクタ
簡素化された最短距離法[34]は、一般的なクラスタ化アルゴリズムである。クラスタ割り当てが与えられると、異常スコアは以下で指定されるクラスタxの大きさとして定義される。
Figure 2009523270
我々の新しい方法Zetaは、k個の近傍点の概念に基づいた異常スコアである。このスコアは、平均内クリーク距離(mean inner-clique distance)によって正規化されたk個の近傍点に対するxの平均距離として計算される。
Figure 2009523270
A.2.類似性尺度
(非)類似性尺度は、xおよびyをそれぞれ成分値xおよびyとともに、単数の(非)類似性スコアにマッピングするバイナリ関数(2進数を扱うことができる関数)である。
A.2.1計量距離
キャンベラ距離dはマンハッタン距離の正規化された型である。これは計量的な特性を示し、距離スコアは、0〜1の範囲にある。キャンベラ距離は、量および頻度を含むヒストグラムに適している。
Figure 2009523270
「2進数化された」マンハッタン距離dは、ハミング距離と類似である[13]。これは計量的であり、ゼロでない数値については1を返す関数bを用いて、入力ベクトルxおよびyをバイナリ空間(2進数の空間)にマッピングする。
Figure 2009523270
A.2.2.類似性係数
類似性係数は、しばしば、バイナリデータに適用され、非計量的な特性を示す[2]。これらの係数は、4つの総和変数(summation variable)a,b,cおよびdで構成されている。変数aは、正の一致の成分の数を定義し(1−1)、bは左側の不一致の数を定義し(0−1)、cは右側の不一致の数を示し(1−0)、dは負の一致の数を示している(0−0)。
これらの係数は、これらの総和変数の変更によって、バイナリでないデータにも拡張されることができる。2つの成分間の一致の程度は、min(x,y)として定義され、したがって、不一致はmin(x,y)からの差として定義されることができる。
Figure 2009523270
ムカジョフスキー係数sは、正の一致の成分と全ての成分の総和との比率である[6]。拡張された形式では、以下のように表現されることができる。
Figure 2009523270
第2のカルチスキー係数sは、不一致の左側および右側に対する正の一致の成分の比率である[39]。拡張された形式では、第2のカルチスキー係数は以下のように定義される。
Figure 2009523270
<章C>
列データについての類似性尺度としてのカーネル関数は、これまでの研究で広範囲にわたって調査されてきた。この論文は、列データについての距離関数および類似性係数の効率的な計算を扱う。2つの提案されるアルゴリズムは、効率的な計算のために異なるデータ構造を利用しており、列の長さにおいて線形的な実行時間をもたらす。侵入検知のためのネットワークデータにおける実験は、列データについての距離の重要性を示唆しており、さらには、列データについての非計量的な類似性尺度の重要性も示唆している。
1序論
列は、さまざまな機械学習およびパターン認識の用途、例えば、情報検索におけるテキスト文書、バイオインフォマティクスにおけるDNA配列、または侵入検知におけるパケットペイロード、に用いられる一般的な、ベクトルでないデータ表現である。これらのようなデータの解析に用いられる最も重要な手順は、列間の一対ごとの類似性の効率的な計算である。
特殊化された文字列間の距離[例えば、1,2]の他に、列データについての類似性尺度の多くのクラスが、その部分列について、これらを高次元の特徴空間に埋め込むことによって定義されることができる。これまでの研究は、これらのような特徴空間におけるカーネル関数の計算に焦点を当てていた。例えば、Nグラムの頻度または単語の頻度についての内積が、テキスト文書の解析[例えば、3,4,5]またはホストベースの侵入検知[例えば、6]に広く用いられてきた。DNAにおける情報を明らかにするという課題は、例えば、部分列の異なる集まりを探索したり[例えば、7,8,9,10]、不一致、ギャップおよびワイルドカードを組み入れたり[例えば、11,12,13]することによって、カーネル関数のさらなる発展を促してきた。
しかしながら、カーネル関数に直接的には適さない多くの学習アルゴリズムが存在する。原則として、いかなる内積も特徴空間においてユークリッド距離を生じさせるが[14]、列データにおける内容の多様性および特徴空間におけるその特徴のばらつきは、他の距離関数を利用することに対して動機を与える。
カーネル、距離および類似性係数に適する、類似性尺度の計算に用いられる一般的な方法が、この論文に提案されている。これは、特徴空間を備えた部分列間の一致および不一致の徐々に増加する累積に基づいている。効率的な計算のために異なるデータ構造を利用する、ハッシュテーブルおよびトライの2つのアルゴリズムが提示されている。両方のアルゴリズムは、列の長さに関して線形的な実行時間の複雑性を有している。
この論文の残りは、以下のように編成されている。セクション2は、カーネル、距離および類似性係数を含む、列データについての類似性尺度を定義している。比較アルゴリズムおよび対応するデータ構造がセクション3で紹介されている。最後に、セクション4における実験が、紹介されたアルゴリズムの効率性を比較し、ネットワーク侵入検知におけるこれらの用途を示している。
2 列データについての類似性尺度
大きさNのアルファベットΣがあるとすると、列xは、Σからの記号の連なりとして定義される。列の内容は、有限な言語L⊂Σφから抽出された、一連の重複し得る部分列wとしてモデル化されることができる。我々は、これらの取り出された部分列を単語と称する。言語Lは、列の類似性を計算するための基礎を成しており、典型的にひとまとまりの文字、単語またはNグラムに相当する。列xおよび言語Lがあるとして、特徴空間への埋め込みは、xに現れる全てのw∈Lについてφ(x)を計算することによって実行される。通常、関数φ(x)は、xにおけるwの頻度を返すが、wについてのカウントまたはバイナリフラグを返す他の定義も可能である。さらに、我々は、lをxの長さとして定義する。
我々は、各列xにおける単語の全体的な長さがlに比例すると仮定する。この仮定は、例えば、固定長さnのNグラムおよび重複なしの単語について有効であり、提案されるアルゴリズムの線形的な実行時間を保証する。カーネルのコンテキストにおいてはこのような仮定をしないいくつかの方法が研究されている[例えば、9,10,11,12,13]が、これらのうちいくつかは、超線形の複雑性という代償がある。
φを介してもたらされた特徴空間を利用することによって、列に作用させるように、古典的なカーネルおよび距離関数を適用することができる。表5は、カーネル関数を列挙し、表6は、セクション3に提示されたアルゴリズムを用いて実行される距離関数を列挙する。
類似性を測定するさらなる他の方法は、いわゆる類似性係数である[例えば、15,16]。これらは非計量的であり、主にバイナリデータに用いられてきた。類似性係数は、a、bおよびcの3つの総和変数を用いて構成されている。変数aは、正の一致の数からなり(1−1)、bは左側の不一致の数からなり(0−1)、cは右側の不一致の数からなる(1−0)。最も一般的な類似性係数は、表7に示されている。
類似性係数は、総和変数を変更することによってバイナリでないデータにも拡張されることができる。単語w∈Lについての一致の程度は、min(φ(x),φ(y))として定義されることができ、不一致はそれぞれ、min(φ(x),φ(y))からの逸脱として定義される。
Figure 2009523270
3 アルゴリズムおよびデータ構造
提示されたカーネル、距離および類似性係数を計算するためには、列データについての類似性尺度の一般的なモデルを確立しなければならない。カーネル関数の計算のための重要な手段は、2つの列xとyとに存在する単語w∈Lを見つけることであり、我々は、これらの単語を一致と称する。さらに、距離および類似性係数について、我々は、xには存在するがyには存在しない(この逆もしかり)単語w∈Lを考慮する必要があり、これらの単語を不一致と称する(用語「不一致」は、2つの列が等しくないことに相当し、バイオインフォマティクスにおいて頻繁に用いられているように、列の不正確な一致に相当しない)。
さらに、我々は、多くの類似性尺度で実行される大域集約に相当する外関数*を導入する。類似性尺度は、例えば、さまざまなカーネル関数および距離関数における総和がある。これらの定義が与えられることで、我々は、一般的な類似性尺度を以下式で表現できる。
Figure 2009523270
我々は、*、m、m およびm を用いて、表6に示された一連の距離を再公式化することができる。いくつかの距離の一般化された公式は、表8に提示されている。
類似性係数をこのような一般的な表現に適合させることは、さらに簡単であり、というのも、表9に示されているように、3つの総和変数a、bおよびcが再公式化される必要があるのみであるからである。
3.1 ハッシュベースの列の比較
列についての類似性尺度の計算に用いられる古典的な仕組みは、索引付きのテーブル、または、より一般的な場合では、ハッシュテーブルを利用する[例えば、4]。列から取り出された単語と、対応する頻度またはカウントとが、ハッシュテーブルのビンに記憶される。図8(a)は、単語{“bar”、“barn”、“card”}および{“car”、“bank”、“band”、“card”}を、対応するカウントと共に保持する2つのハッシュテーブルを示している。
アルゴリズム1は、固定の大きさMの2つのハッシュテーブルXおよびYの比較を定義している。このアルゴリズムは、全てのM個のビンをループし、一致する単語(アルゴリズム1の事例1を参照)および不一致の単語(アルゴリズム1の事例2および3を参照)を確認することによって進行する。図8(b)は、対応するビンに記憶された不一致「bar」および「bank」におけるこの過程を示している。

Figure 2009523270
ハッシュテーブルの大きさはMで固定されているので、1つの比較における平均の実行時間はΘ(M)である。起こり得るハッシュ衝突を回避するために、M≫1の高い数値が前もって選択されなければならず、もしそうでなければ、ビンのチェイン化が、O(l)時間の列ごとの抜き出された単語に対して、O(l)の最悪の場合の実行時間を引き起こしてしまう。
3.2 トライベースの列の比較
トライは、Nアレイのツリーであり、そのノードは、Σの要素に対応する成分を有するN次元のベクトルである[17]。図9(a)は、図8(a)におけるハッシュテーブルと同一の単語を含む2つのトライXおよびYを示している。これらトライのノードは、経過中の列のカウントを示す変数を保持するように強化されている。それぞれの取り出された単語の最後は、印の付いた円(二重円)で示されている。カーネル関数の計算へのトライの利用は、[18]で検討された。
適用される類似性尺度に応じて、トライのノードは、サブツリー(部分木)を含む計算を加速させる他の集約された数値、例えば、下側の単語についてミンコフスキー距離Σφ(x)を記憶するように拡張されてもよい。
2つのトライの比較は、アルゴリズム2のように実行されることができる。根のルートで始まり、両方のトライを平行にトラバースし、一致ノードおよび不一致ノードを処理する。もし、このトラバースが2つの等しい、印が付けられたノードを通過すると、一致単語が発見され(事例1)、もし1つのノードにのみ印が付けられていると、不一致が生じたことになる(事例2)。反復的なトラバースは、もし2つのノードが一致しなければ終了され、このようにして、下側に位置する2組の不一致単語が発見される(事例3)。図9(b)は、このようなトラバースのある時点を示している。それらのノードxおよびyは等しくなく、単語{“bar”、“barn”}および単語{“band”、“bank”}は不一致である。
不変条件として、両方のトライにおける検討中のノードは同じ深さにあり、したがって、最長の実行時間はO(l)である。トライのデータ構造の利点は、特に、提供されたアルファベットが大きく、多数の不一致が発生する場合に生じる。トラバースが、最初の数個の記号を通過した後に不一致単語を発見し、さらなる不必要な比較を省略する。

Figure 2009523270
4 実験結果
4.1 データ構造の効率性
2つの提案されたアルゴリズムの効率性は、ヒト遺伝子のDNA配列[19]、DARPA1999のデータセットからのシステムコールのトレースおよび接続のペイロード[20]、ならびにReuters−21578(英文電子ロイターニュース)のデータセットからの新しい記事[21]などの列データについての4つのベンチマークのデータセット、において評価された。表10が、これらのデータセットおよびこれらの特定の性質の概要を示している。
各データセットについて、100個の列が無作為に引き抜かれ、長さ3、5および7のNグラムが取り出された。各列のNグラムは、さまざまな大きさ(102〜105)を有するトライおよびハッシュテーブルに記憶された。続いて、キャンベラ距離が、これらトライおよびハッシュテーブルについて、提案されたアルゴリズムを用いて一対ごとに計算され、この結果、設定ごとに5000回の比較演算がされた。この手順は、10回繰り返され、全ての実行について実行時間の平均が算出された。実験結果は表11に示されている。
ハッシュベースのアルゴリズムの平均実行時間は、ハッシュテーブルの大きさに強く依存する。最適の数値は、異なるデータセットおよびnの数値によって変化する。しかしながら、12のうち10の事例において、トライベースのアルゴリズムが、パラメータに関係なく、最良のハッシュテーブルの設定と同等に良好に機能するか、またはそれよりも良好に機能する。
4.2 用途:ネットワーク侵入検知
提案されたアルゴリズムを現実的なデータにおいて実証するために、我々は、ネットワーク侵入検知における教師なし学習についての実験を実施した。基礎をなすネットワークデータは、我々の研究室のメンバーによって、仮想ネットワークのサーバを用いて生成された。最新のネットワーク攻撃が、侵入テストの専門家によって投入された。
距離ベースの異常検知方法[22]が5グラムに適用された。この5グラムは、線形カーネル(ユークリッド距離)、マンハッタン距離およびカルチスキー係数などの異なる類似性係数を用いて、TCP接続のバイト列から取り出されたものである。一般的なネットワークプロトコルのHTTP,FTPおよびSMTPについての結果が図10に示されている。
カルチスキー係数の利用が、最も高い検知精度をもたらす。各プロトコルに対する78%を超える攻撃が、誤検知なしで特定された。これに比べて、ユークリッド距離は、攻撃の識別のためのこの特定の設定における優れた幾何学的性質を明らかにすることができなかった。
5 結論
我々は、カーネルと同様に、多数の距離および類似性係数が、列データについて効率的に計算されることができることを示した。これらのような類似性尺度の使用によって、専門的な問題の領域における機械学習の利用についての独特な数的指標を調査することができる。一例として、ネットワーク侵入検知に用いられる教師なし学習についての我々の実験における最良の結果は、接続ペイロードのNグラムについてのカルチスキー係数を用いて得られた。したがって、列データにおける距離の直接的な利用は、カーネルによって生じさせられるユークリッド距離の暗黙的な使用よりも好ましいかもしれない。特に有望なのは、コンピュータセキュリティおよびバイオインフォマティクスにおける提案されたアルゴリズムのさらなる利用である。
参考文献

Figure 2009523270
<章D>
我々は、列データについての類似性尺度の計算に用いられる一般的なアルゴリズムを提案する。このアルゴリズムは、さまざまなカーネル、距離および非計量的な類似性関数の効率的な計算のために一般化接尾辞木を使用する。最悪の場合の実行時間は、列の長さににおいて線形であり、基礎をなす埋め込み言語に無関係である。この埋め込み言語は、単語、kグラムまたは列に含まれる全ての部分列を対象とする。ネットワーク侵入検知、DNA解析およびテキスト処理の用途についての実験は、古典的なカーネル関数の代わりとして、列についての距離および類似性係数の有用性を証明している。
1 序論
列データを処理する能力は、多くの困難な分野における機械学習技術の利用にとって重要な必須条件である。これらのような利用の例は、自然言語処理(テキスト文書)、バイオインフォマティクス(DNA配列およびタンパク質配列)ならびにコンピュータセキュリティ(バイトストリームまたはシステムコールのトレース)である。これらのようなデータを取り扱うための重要な手段は、列間の一対ごとの類似性の効率的な計算である。類似性尺度は、データの特定の構造と学習理論との間の抽象化として理解されることができる。
近年徹底的に研究された最も成功した類似性尺度の1つは、カーネル関数である[例えば、1,2,3]。さまざまなカーネルが列データのために作り出され、Watkins[4]およびHaussler[5]の元々の発想から始まり、テキストおよび自然言語処理[例えば、6,7,8]、バイオインフォマティクス[例えば、9,10,11,12,13,14]、スパムフィルタリング[15]ならびにコンピュータセキュリティ[例えば、16,17]などの用途特定のカーネルにまで及んだ。
カーネルベースの学習は機械学習の研究に大きな注目を集めたが、カーネル関数は、明らかに、オブジェクト間の類似性を測定するためのさまざまな可能性の1つに過ぎない。類似性尺度の選択は、基本的に、(a)問題の理解および(b)適用されるべき学習アルゴリズムの性質によって決定される。ベクトル空間で作用するアルゴリズムもあれば、内積、計量的な特徴空間、または非計量的な特徴空間でさえも作用するアルゴリズムもある。再生核ヒルベルト空間(RKHS)以外の空間で学習する技術の研究が、現在、機械学習についての活発な研究分野の1つである[例えば、18,19,20,21]。
この論文の焦点は、列データについての一般的な類似性尺度であり、特に、これらの計算に用いられる効率的なアルゴリズムである。多数のこれらのような類似性尺度が、一般的な形式で表現されることができ、これにより、簡単な線形時間アルゴリズムが、幅広いクラスの類似性尺度の計算に適用されることができる。このアルゴリズムが、問題分野知識のカーネル関数以外の代替的な表現の研究を可能にしている。一例として、2つの用途が提示されている。これらの用途に対して、カーネル、またはこれと同等であるユークリッド距離の異なる類似性尺度との取り換えが、教師なし学習シナリオにおいて精度の大幅な向上をもたらす。
この論文の残りは、以下のように編成されている。セクション2は、列データについての一般的な類似性尺度の概要を提供し、多種多様なこれらの類似性尺度が当てはめられることができる一般的な形式を紹介する。一般化接尾辞木と、類似性尺度の線形時間的計算のための対応するアルゴリズムとが、セクション3に提示されている。最後に、セクション4における実験が、ネットワーク侵入検知、DNA配列およびテキスト処理などの現実世界の用途における、提案されるアルゴリズムの効率性および実用性を証明する。
2 列についての類似性尺度
2.1 列の埋め込み
列データについての類似性尺度を定義する一般的な方法は、高次元の特徴空間への明示的な埋め込みを行う。列xは、有限のアルファベットΣからの記号の連なりとして定義される。列の内容をモデル化するために、部分列w∈Lを備える言語L⊆Σφを考える。自然言語に相当しないかもしれないが、我々は、これらの部分列を単語と称する。Lについての典型的な例は、「ひとまとまりの単語(a bag of words)」[例えば、22]、固定された長さの全ての部分列の集合(kグラムまたはk量体)[例えば、10,23]、または含まれる全ての部分列の集合[例えば、8,24]である。
言語Lが与えられると、xに出現する全てのw∈Lについて埋め込み関数φ(x)を計算することによって、列xは、|L|次元の特徴空間にマッピングされる。関数φは以下のように定義される。
Figure 2009523270
ここで、occ(w,k)はxにおけるwの出現回数で、φは数値変換、例えば、頻度への変換であり、Wは個々の単語に割り当てられた重み、例えば、長さ依存または頻度依存(TFIDF)の重みである[3,24を参照]。Lおよびφによって生じさせられた特徴空間を用いることによって、多くのベクトル型の類似性尺度を列を処理するために適用することができる。
明示的な埋め込みによって定義された特徴空間は、各特徴ベクトルについての非ゼロ次元の数が列の長さによって限定されるので、ほとんどない。したがって、計算の複雑性を示す根本的なパラメータは列の長さであり、以下ではnとして示す。さらに、単語|w|の長さがkで示されるか、または単語の集合の場合、最大の長さがkで示される。
2.2 ベクトル型の類似性尺度
いくつかのベクトル型のカーネル関数および距離関数が、列データの提案される埋め込みに適用されることができる。Lおよびφによる一般的な関数のリストは、表12に示されている。
カーネル関数および距離関数の他に、一連のむしろ奇異な類似性係数も列データへの利用に適している[25]。これらの係数は、3つの総和変数a、bおよびcを用いて構成され、これらの総和変数は、バイナリベクトル(2進数のベクトル)の場合、一致の成分の対(1−1)の数、左側の不一致の一対(0−1)の数、右側の不一致の一対(1−0)の数にそれぞれ相当する[26,27を参照]。一般的な類似性係数が表13に示されている。バイナリでないデータへの利用については、これらの総和変数は、[25]に提案されているように拡張されることができる。
Figure 2009523270
2.3 一般的な表現
提示された類似性尺度は、外関数*および内関数mで構成される一般的な形式に当てはめられることができることは容易に理解できる。
Figure 2009523270
この定義が与えられることで、表1に提示されているカーネル関数および距離関数は、*およびmによって再公式化されることができる。類似性係数の上記の一般的な形式(2)への適合は、総和変数a、bおよびcの再公式化を必要とする。提示された類似性尺度についての外関数および内関数の特定の定義は、表14に示されている。多項式カーネルおよび動径基底関数(RBF)カーネルは、それぞれ線形カーネルまたは距離によって表現されることができるので、示されていない。
3 列の比較に用いられる一般化接尾辞木
2つの列の効率的な比較の鍵は、類似性尺度の上記の一般的な形式(2)の計算に必要な最小限の単語のみを考えることにある。カーネルの場合には、両方の列における単語の共通部分(intersection)のみが考慮される必要がある。一方で、距離および非計量的な類似性係数を計算するためには、単語の合併集合(union)が必要である。このような比較の簡単かつ周知である方法は、各列の単語を整列されたリストで示すことである。最大の長さkの単語については、このようなリストは、一般的なソーティング(並べ替え)を用いてO(knlogn)時間で、または基数整列を用いてO(kn)時間で構築されることができる。単語kの長さが無限である場合、ソーティング時間が二乗になるので、並べ替えられたリストはもはや選択してもしなくてもよいものではない。
したがって、特別なデータ構造が、列の効率的な比較のために必要となる。カーネルの計算にこれまで用いられた2つのデータ構造は、トライ[28,29]および接尾辞木[30]である。これら両方は、さまざまなカーネル関数のO(kn)時間での計算に適用され[3,10]、また、一致統計(matching statistics)を用いたO(n)実行時間での計算にも適用される[24]。この論文では、我々は、一般化接尾辞木が、上記形式(2)の全ての類似性係数のO(n)実行時間での計算に適していることを主張する。
一般化接尾辞木(GST)は、一連の文字列x,…,xの全ての接尾辞を含むツリーである[31]。一般化接尾辞木を構築する最も簡単な方法は、各文字列xをデリミタ$を用いて拡張し、接尾辞木構築アルゴリズム[例えば、32]を文字列の連なりx…xに適用させることである。残りの部分において、我々は、#および$によって区切られた2つの文字列xよびyの場合に限定し、一連の文字列についての単一のGSTを用いた類似性の行列全体の計算は言うまでもなくこの延長である。文字列“aab#”および“babab$”についての一般化接尾辞木の例は、図11(a)に示されている。
いったん一般化接尾辞木が構築されると、列xおよびyに存在する各単語wの出現回数occ(w,x)およびocc(w,y)を決定することが残る。両方の列に対応するノードのみが考慮される必要があるカーネルに関する場合[24]とは異なり、一般化接尾辞木では、全てのノードについて正確に計算されなければならない。以下の簡単な反復的アルゴリズムは、列xとyとの間の一般的な類似性尺度を、一般化接尾辞木の1回の深さ優先トラバース(depth-first traversal)で計算する(アルゴリズム1(Algorithm 1)を参照)。
このアルゴリズムは、xの接尾辞を示すGSTにおける葉が、wがこの接尾辞の接頭辞である場合、まさに1をocc(w,x)に与えるという点を利用している。yおよびocc(w,y)についても同様である。このGSTはxおよびyの全ての接尾辞を含んでいるので、xおよびyにおける各単語wは少なくとも1つの葉で示されている。ある葉がxまたはyに寄与するか否かは、その葉のエッジ(枝)を検討することによって決定されることができる。デリミタ#の特異性により、分岐ノードは、#を含むエッジより下に生じることができず、したがって、#の印の前に始まっているエッジにおける葉のノードは、xの接尾辞を含むに違いない。そうでない場合、葉のノードはyの接尾辞を含む。全ての葉の貢献は帰りがけ順のトラバースの間、2つの変数xおよびyにおいて集約される。各ノードにおいて、上記(2)の内関数mが、上記(1)における埋め込みφに応じて、Ψ(x)およびΨ(y)を用いて計算される。このトラバース手順のある時点が図11(b)に示されている。
GSTのエッジに沿って内在のノードを考慮し、重み付けされた埋め込みφをサポートするために、[24]に紹介されている重み関数WEIGHTが使用される。あるノードvにおいて、この関数は、入力エッジ(incoming edge)の始まり(begin(v))、終わり(end(v))およびノードの深さ(depth(v))を引数とし、いかにノードおよびエッジが類似性尺度に寄与するかを決定し、例えば、kグラムモデルはkの経路深さまでのノードのみが、考慮される必要がある。

Figure 2009523270
[33]に提案されている文字列カーネルの拡張と同様に、GSTのトラバースは、さらなる実行時間および領域の削減のために、改良された接尾辞配列[34]において実行されてもよい。
我々のアルゴリズムの正確性を証明するために、[24]における方法と異なる方法が取られる必要がある。一致統計アルゴリズム(matching statistic algorithm)はカーネル関数に限定されているので、我々は、計算される類似値が一致統計アルゴリズムによって返される類似値と同一であるとは主張できない。代わりに、我々は、MATCH関数への反復的なコールにおいて、正確な出現の回数が維持されることを示す。
定理1.MATCH(バーw)がx=occ(w,x)およびy=occ(w,y)を返す場合に限り、単語wは、xにおいてocc(w,x)回、およびyにおいてocc(w,y)回出現する。ここで、バーwはxおよびyの一般化接尾辞木においてwを再構築する根からの経路の終わりにおけるノードである。
証明.wがxにおいてm回出現する場合、wを接頭辞として有する、xのまさにm個の接尾辞が存在することになる。wはGSTの根からノードバーwまでの経路に相当するので、m個全ての接尾辞がバーwを通過するに違いない。特異なデリミタ#により、xの各接尾辞は、入力エッジが#を含む、GSTにおける1つの葉のノードに対応する。したがって、mはocc(w,x)に等しく、まさに、MATCH(バーw)によって返される集約された数量xである。同様に、occ(w,y)は、#の後に始まり、yによって算出される接頭辞wを有する接尾辞の数である。
4 実験結果
4.1 実行時間の実験
提案されたアルゴリズムの効率性を示すために、我々は、実行時間の実験を、DARPA1999のIDS評価からのネットワーク接続ペイロード[35]、Reuters−21578のデータセットからの新しい記事[36]およびヒト遺伝子からのDNA配列[14]など、列データについての3つのベンチマークのデータセットについて実行した。表15は、これらのデータセットおよびこれらの特定の性質の概要を示している。我々は、一般化接尾辞木のアルゴリズムの実行時間を、距離の演算をサポートする最新のトライベースの方法と比較した。トライは、kグラムについての類似性尺度の計算に関して、添字配列およびハッシュテーブルを用いたアルゴリズムよりも優れた実行時間の複雑性、またはそれと同等の実行時間の複雑性をもたらす。トライベースの方法の詳細な説明は、[25]に示されている。以下の実験の全てにおいて、トライは前処理工程において作り出されており、記録される実行時間は、比較手順のみに相当することに留意されたい。
これら3つのデータセットについて、我々は、以下の実験手順を実行した。マンハッタン距離が、埋め込み言語としてkグラムを用いて無作為に選出された列の1000対について計算された。この手順は、kのさまざまな数値について10回繰り返され、実行時間は、全ての実行を通して平均化された。図12は、一般化接尾辞木およびトライを用いた列比較アルゴリズムの実行時間を比較している。これら3つの全てのデータセットにおいて、トライベースの比較は、nの小さい数値について短い実行時間を有するが、kと共に線形的に増える。一般化接尾辞木を用いたアルゴリズムは、より複雑なデータ構造による、大きい定数という代償があるが、埋め込み言語の複雑性とは無関係である。一般化接尾辞木が、kの大きい値に選択するアルゴリズムであることは、明らかである。
4.2 用途
我々の評価の第2の部分として、我々は、さまざまな類似性尺度を計算することを可能にする我々の方法の一般性が、実際の利用において、特に、教師なし学習シナリオにおいて功を奏することを示す。実験が、(a)実際のネットワークトラフィックにおける侵入検知および(b)DNA配列における転写開始位置(TSS)の識別について実行された。
第1の適用について、ネットワークデータが、我々の研究室のメンバーによって仮想ネットワークのサーバを用いて作り出された。最新の攻撃は、侵入テストの専門家によって投入された。距離ベースの異常検知方法Zeta[17]が、線形カーネル、マンハッタン距離およびカルチスキー係数などの異なる類似性尺度を用いて、TCP接続のバイト列から取り出された5グラムに適用された。HTTPプロトコルからのネットワークデータについての結果が、図13(a)に示されている。カルチスキー係数の利用が最も高い検知精度をもたらしている。全ての攻撃のうち78%を超える攻撃が、教師なし設定において誤検知なしと識別されている。これに対して、線形カーネルは、これよりもおおよそ30%低い検知率をもたらしている。
第2の用途は、DNA配列におけるTSSの同定に焦点を置いた。このデータセットは、固定された長さのDNA配列を含んでいる[14]。このDNA配列は、タンパク質コード遺伝子のTSSを対象として含むか、または遺伝子の内部から無作為に取り出されたものである。我々は、教師なしのk近傍(KNN)の分類子、教師ありのまとめられたk近傍(bagged KNN)の分類子およびサポートベクタマシーン(SVM)などの3つの方法をこのデータについて評価した。各方法は、4グラムについての類似性尺度として線形カーネルおよびマンハッタン距離を用いて、訓練され、テストされた。図13(b)は、kNNの分類子の教師なしおよび教師ありのバージョンによって得られる性能を示している。線形カーネルとマンハッタン距離とは、教師ありの設定では同様の精度をもたらすが、教師なしの利用においては、これらの性能は著しく異なる。分類ラベルが事前に分からない場合、マンハッタン距離は、線形カーネルよりも、TSS同定についてより区別的性質を示す。教師ありの利用では、TSS同定のいくつかの区別的特徴のみがNグラムモデルにカプセル化されているので、分類性能は、両方の類似性尺度について、抑制されている[14]。
5 結論
列に用いられるカーネル関数は、最近、機械学習の多くの用途、特にバイオインフォマティクスおよび自然言語処理において強い注目を得ている。我々は、この論文において、計量的な距離または非計量的な類似性係数などの他の類似性尺度が、カーネル関数と同一の実行時間の複雑性で計算されることができることを示した。提案されたアルゴリズムは、2つ以上の列の一般化接尾辞木の帰りがけ順のトラバースに基づいている。このトラバースの間、埋め込み言語からの一致の単語および不一致の単語のカウントが、単語、kグラム、またはさらには全ての連続した部分列などの特定の選ばれる言語に関係なく、列の長さに線形的な時間で計算される。外関数および内関数に基づいた、検討される類似性尺度の一般的な表現を用いることによって、同一のアルゴリズムが、列データのさまざまなカーネル、距離および類似性関数について適用されることができる。
我々の実験は、一般的な類似性尺度の使用が、学習精度に著しい向上をもたらすことが可能であり、我々の場合では、教師なし学習について観測される学習精度に著しい向上をもたらすことができることを証明しており、距離ベースの学習アルゴリズムおよび類似性ベースの学習アルゴリズムについてのさらなる研究の重要性を強調している。
謝辞
著者達は、プロジェクトMIND(FKZ01−SC40A)の下における連邦教育省からの資金について感謝の意を表し、また、KlおよびMikio Braunに対し、有益な議論および支援について感謝する。
参考文献

Figure 2009523270
Figure 2009523270
Figure 2009523270
Figure 2009523270
Figure 2009523270
Figure 2009523270
Figure 2009523270
Figure 2009523270
Figure 2009523270
Figure 2009523270
Figure 2009523270
Figure 2009523270
Figure 2009523270
Figure 2009523270
Figure 2009523270
Figure 2009523270
一連の単語をトライに保管する例を示す図である。 IISユニコード攻撃の3グラム頻度と通常のHTTPトラフィックとの違いを示す図である。 DARPA1999のデータセットにおける1グラム、3グラムおよび5グラムそれぞれの検知性能を示す図であり、(a)はHTTP接続、(b)はFTP接続、(c)はSMTP接続についての図である。 PESIM2005のデータセットにおける検知性能を示す図であり、(a)はHTTP接続、(b)はFTP接続、(c)はSMTP接続についての図である。 DARPA1999のデータセットにおける最良Nグラム、snortおよび単語それぞれの検知性能を示す図であり、(a)はHTTP接続、(b)はFTP接続、(c)はSMTP接続についての図である。 PESIM2005のデータセットにおける最良Nグラム、snortおよび単語それぞれの検知性能を示す図であり、(a)はHTTP接続、(b)はFTP接続、(c)はSMTP接続についての図である。 本発明の一実施形態にかかるデータ列の比較を示すフローチャートである。 ハッシュテーブルを用いた列比較を示す図であり、(a)はハッシュテーブルを示し、(b)は(a)のハッシュテーブルの比較を示す図である。 図8(a)のハッシュテーブルと同一の単語を含む2つのトライ比較を示す図であり、(a)はトライを示し、(b)は(a)のトライの比較を示す図である。 距離ベースの検知を5グラムに適用した、カルチスキー係数、ユークリッド距離およびマンハッタン距離それぞれの検知性能を示す図であり、(a)はHTTPトラフィック、(b)はFTPトラフィック、(c)はSMTPトラフィックについての図である。 (a)は一般化接尾辞木の例を示す図であり、(b)はそのある時点におけるトラバースを示す図である。 一般化接尾辞木およびトライを用いた列比較アルゴリズムの実行時間を示す図であり、(a)はNIDSデータセット、(b)はTEXTデータセット、(c)はDNAデータセットについての図である。 異なるアプリケーションにおいて、カルチスキー係数、ユークリッド距離およびマンハッタン距離それぞれの検知性能を示す図であり、(a)はネットワークアプリケーション、(b)はDNAアプリケーションについての図である。

Claims (13)

  1. 少なくとも2つのデータ列を自動比較する方法であって、
    2つ以上の列における部分列の任意の一対の間の局所関係を評価する工程と、
    前記局所関係の評価の集約によって大域関係を評価する工程とを備えた、データ列の自動比較方法。
  2. 請求項1において、
    一方のデータ列の少なくとも1つの部分列が他方のデータ列に存在しないことを検知して、第1のデータ列における第1の部分列と第2のデータ列における第2の部分列との間の局所関係を評価する工程と、
    前記局所関係の評価の集約によって大域関係を評価する工程とを備えた、データ列の自動比較方法。
  3. 請求項1または2において、局所関係の評価の対象の部分列が、
    所定の一連のデリミタによって分割された部分列からなる単語、
    所定の長さnの重複する部分列からなるNグラム、および、
    2つ以上の列の全ての起こり得る部分列、の3つのうちの任意の1つの選択モードによって指定される、データ列の自動比較方法。
  4. 請求項1から3のいずれか一項において、局所関係および大域関係の全体が、2つ以上の列の類似性または非類似性についての尺度sを構成している、データ列の自動比較方法。
  5. 請求項1から4のいずれか一項において、局所関係および大域関係の評価が、
    ハッシュテーブルもしくは索引付きのテーブル、
    トライもしくは圧縮トライ、
    接尾辞木もしくは接尾辞配列、および
    一般化接尾辞木もしくは一般化接尾辞配列のデータ構造またはこれらの表現のいずれかを用いて実行される、データ列の自動比較方法。
  6. 請求項1から5のいずれか一項において、少なくとも1つのデータ列が、前記局所関係が評価されるオブジェクトとして、記号、画像、テキスト、アスキー文字、遺伝子データ、タンパク質データ、バイト、バイナリデータ、トークンのうちの少なくとも1つを含む、データ列の自動比較方法。
  7. 請求項1から6のいずれか一項において、局所関係および大域関係の全体が、
    マンハッタン距離もしくはタクシー距離、
    ユークリッド距離、
    ミンコフスキー距離、
    キャンベラ距離、
    χ二乗距離、
    チェビシェフ距離、
    測地線距離、
    ジェンセン情報量もしくは対称的カルバック・ライブラー情報量、
    位置独立ハミング距離、
    第1のカルチスキー類似性係数および第2のカルチスキー類似性係数、
    ムカジョフスキー類似性係数またはソレンセン・ダイス類似性係数、
    ジャカード類似性係数、
    シンプソン類似性係数、
    ソーカル・スニース類似性係数もしくはアンダーバーグ類似性係数、
    大塚の類似性係数もしくは落合の類似性係数、
    ブラウン・ブランケット類似性係数の類似性尺度sまたはこれらの非類似性尺度sのいずれかを構成している、データ列の自動比較方法。
  8. 請求項1から7のいずれか一項において、
    複数のオブジェクトをそれぞれ含む少なくとも2つのデータ列(X、Y)が検出され、
    類似性尺度sが、前記データ列における部分列について自動的に計算され、
    前記類似性尺度sに応じて、さらなる処理が行われる、データ列の自動比較方法。
  9. 請求項8において、前記データ列(X、Y)が、コンピュータネットワークにおけるコンピュータ間で伝達されるデータを含んでおり、前記類似性尺度sのオンラインの計算に応じて、異常なデータストリーム、特に、侵入を示す少なくとも1つの信号が自動的に生成される、データ列の自動比較方法。
  10. 請求項8または9において、前記コンピュータが、金銭情報、特に、クレジットカード情報の伝達用のネットワークの一部である、データ列の自動比較方法。
  11. 請求項1から10のいずれか一項において、前記データ列が、遺伝子データ、コンピュータ間で交換されるデータ、テキスト、画像データ、バイナリデータ、記号のうちの少なくとも1つを含む、データ列の自動比較方法。
  12. データ列を比較する装置であって、
    特に請求項4に記載されているように、適切なデータ構造におけるデータ列を表現する表現手段と、
    前記データ列における部分列の任意の対の間の局所関係を評価する評価手段と、
    前記局所関係の評価の集約によって大域関係を評価する評価手段と、
    特に請求項6に記載されているように、局所関係および大域関係の全体を計算する計算手段とを備えた、データ列の比較装置。
  13. データ列を処理および解析するシステムであって、
    特に請求項5に記載されているように、データ列を入力する入力手段と、
    特に請求項7に記載されているように、データ列を比較する比較手段と、
    分類、回帰、特異点検知、序列、クラスタリング、構造推論を含むデータ列の解析を行う解析手段と、
    この解析の結果を報告する報告手段とを備えた、データ列の処理解析システム。
JP2008543751A 2005-12-09 2006-12-08 データ列の自動比較に用いられる方法およびその装置 Expired - Fee Related JP5183483B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP05077873 2005-12-09
EP05077873.7 2005-12-09
EP06090193 2006-10-19
EP06090193.1 2006-10-19
PCT/EP2006/012063 WO2007131545A2 (en) 2005-12-09 2006-12-08 A method and apparatus for automatic comparison of data sequences

Publications (3)

Publication Number Publication Date
JP2009523270A true JP2009523270A (ja) 2009-06-18
JP2009523270A5 JP2009523270A5 (ja) 2009-12-24
JP5183483B2 JP5183483B2 (ja) 2013-04-17

Family

ID=38566989

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008543751A Expired - Fee Related JP5183483B2 (ja) 2005-12-09 2006-12-08 データ列の自動比較に用いられる方法およびその装置

Country Status (4)

Country Link
US (1) US8271403B2 (ja)
EP (1) EP1963959A2 (ja)
JP (1) JP5183483B2 (ja)
WO (1) WO2007131545A2 (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011043908A (ja) * 2009-08-19 2011-03-03 Nippon Hoso Kyokai <Nhk> 番組検索装置および番組検索プログラム
JP2011055469A (ja) * 2009-08-31 2011-03-17 Mitsubishi Electric Research Laboratories Inc マンハッタン距離を安全に求めるための方法及びシステム
JP2012512351A (ja) * 2008-12-15 2012-05-31 スネクマ 航空エンジン内の故障の識別
JP2013535268A (ja) * 2010-07-26 2013-09-12 ユーシーエル ビジネス ピーエルシー データ・セットにおける異常検出方法およびシステム
JP2015515770A (ja) * 2012-02-29 2015-05-28 アルトネット、インコーポレイテッド ストリーム認識およびフィルタリング
JP2015108682A (ja) * 2013-12-03 2015-06-11 富士通株式会社 秘匿比較方法、プログラム、およびシステム
US9509493B2 (en) 2013-08-07 2016-11-29 Fujitsu Limited Information processing technique for secure pattern matching
JP2018506107A (ja) * 2014-12-22 2018-03-01 アマゾン テクノロジーズ インコーポレイテッド 基数推定を介した結合パスの効率的な判定
US10685042B2 (en) 2014-12-22 2020-06-16 Amazon Technologies, Inc. Identifying join relationships based on transactional access patterns
US10783152B2 (en) 2016-02-05 2020-09-22 Fujitsu Limited Information processing apparatus and data comparison method
US10785244B2 (en) 2017-12-15 2020-09-22 Panasonic Intellectual Property Corporation Of America Anomaly detection method, learning method, anomaly detection device, and learning device
KR20210069298A (ko) * 2019-12-03 2021-06-11 주식회사 엘지유플러스 대화 분절 문장의 복원을 위한 장치 및 방법
JP7265837B2 (ja) 2017-07-20 2023-04-27 ヤフー株式会社 学習装置および学習方法

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8381299B2 (en) * 2006-02-28 2013-02-19 The Trustees Of Columbia University In The City Of New York Systems, methods, and media for outputting a dataset based upon anomaly detection
US8789172B2 (en) 2006-09-18 2014-07-22 The Trustees Of Columbia University In The City Of New York Methods, media, and systems for detecting attack on a digital processing device
US20120005206A1 (en) * 2007-02-09 2012-01-05 Konstantinos Anagnostakis Apparatus and method for analysis of data traffic
US20110106720A1 (en) * 2009-11-05 2011-05-05 Jerome Dale Johnson Expert system for gap analysis
US8812508B2 (en) * 2007-12-14 2014-08-19 Hewlett-Packard Development Company, L.P. Systems and methods for extracting phases from text
JP5094487B2 (ja) * 2008-03-17 2012-12-12 三菱電機株式会社 情報漏洩検査装置及びコンピュータプログラム及び情報漏洩検査方法
EP2216947A1 (en) * 2009-02-10 2010-08-11 Alcatel Lucent Method of identifying spam messages
WO2010149373A1 (en) * 2009-06-25 2010-12-29 Tully Liam Telecommunication fraud prevention system and method
US20110004465A1 (en) * 2009-07-02 2011-01-06 Battelle Memorial Institute Computation and Analysis of Significant Themes
US9235563B2 (en) 2009-07-02 2016-01-12 Battelle Memorial Institute Systems and processes for identifying features and determining feature associations in groups of documents
WO2011029474A1 (en) * 2009-09-09 2011-03-17 Universität Bremen Document comparison
US20120254333A1 (en) * 2010-01-07 2012-10-04 Rajarathnam Chandramouli Automated detection of deception in short and multilingual electronic messages
US20120130801A1 (en) * 2010-05-27 2012-05-24 Victor Baranov System and method for mobile advertising
US8693788B2 (en) * 2010-08-06 2014-04-08 Mela Sciences, Inc. Assessing features for classification
US8621629B2 (en) 2010-08-31 2013-12-31 General Electric Company System, method, and computer software code for detecting a computer network intrusion in an infrastructure element of a high value target
US8959644B2 (en) * 2010-10-27 2015-02-17 Microsoft Corporation Use of popularity information to reduce risk posed by guessing attacks
KR101337874B1 (ko) * 2010-12-31 2014-01-28 주식회사 안랩 파일 유전자 지도를 이용하여 파일의 악성코드 포함 여부를 판단하는 방법 및 시스템
US8694454B2 (en) 2011-02-17 2014-04-08 Superior Edge, Inc. Methods, apparatus and systems for generating, updating and executing a vegetation control plan
US8756064B2 (en) * 2011-07-28 2014-06-17 Tata Consultancy Services Limited Method and system for creating frugal speech corpus using internet resources and conventional speech corpus
US9130778B2 (en) 2012-01-25 2015-09-08 Bitdefender IPR Management Ltd. Systems and methods for spam detection using frequency spectra of character strings
US8954519B2 (en) * 2012-01-25 2015-02-10 Bitdefender IPR Management Ltd. Systems and methods for spam detection using character histograms
US20130226904A1 (en) * 2012-02-27 2013-08-29 Abdullah A. MUEEN Determining distance between data sequences
US8918836B2 (en) 2012-04-23 2014-12-23 Microsoft Corporation Predicting next characters in password generation
DE112013002401T5 (de) * 2012-05-08 2015-02-05 Siemens Aktiengesellschaft Adaptives Verfahren zur Verarbeitung einer Ereignisfolge in einem System zur Verarbeitung komplexer Ereignisse und ein System davon
US9239827B2 (en) * 2012-06-19 2016-01-19 Microsoft Technology Licensing, Llc Identifying collocations in a corpus of text in a distributed computing environment
US9336302B1 (en) 2012-07-20 2016-05-10 Zuci Realty Llc Insight and algorithmic clustering for automated synthesis
US9113590B2 (en) 2012-08-06 2015-08-25 Superior Edge, Inc. Methods, apparatus, and systems for determining in-season crop status in an agricultural crop and alerting users
US9372850B1 (en) * 2012-12-19 2016-06-21 Amazon Technologies, Inc. Machined book detection
US9313223B2 (en) * 2013-03-15 2016-04-12 Prevoty, Inc. Systems and methods for tokenizing user-generated content to enable the prevention of attacks
US9760546B2 (en) * 2013-05-24 2017-09-12 Xerox Corporation Identifying repeat subsequences by left and right contexts
IN2013MU02217A (ja) * 2013-07-01 2015-06-12 Tata Consultancy Services Ltd
US9122543B2 (en) * 2013-10-28 2015-09-01 Foundation Of Soongsil University-Industry Cooperation Data processing method, apparatus and computer program product for similarity comparison of software programs
US11042898B2 (en) * 2014-03-18 2021-06-22 Staples, Inc. Clickstream purchase prediction using Hidden Markov Models
US10489707B2 (en) 2014-03-20 2019-11-26 The Regents Of The University Of California Unsupervised high-dimensional behavioral data classifier
US11159415B2 (en) * 2014-03-24 2021-10-26 Secureworks Corp. Method for determining normal sequences of events
US9489576B2 (en) 2014-03-26 2016-11-08 F12 Solutions, LLC. Crop stand analysis
US9361635B2 (en) * 2014-04-14 2016-06-07 Yahoo! Inc. Frequent markup techniques for use in native advertisement placement
US20170098030A1 (en) * 2014-05-11 2017-04-06 Ofek - Eshkolot Research And Development Ltd System and method for generating detection of hidden relatedness between proteins via a protein connectivity network
US20150347676A1 (en) * 2014-05-30 2015-12-03 Sequenom, Inc. Chromosome representation determinations
US9805099B2 (en) * 2014-10-30 2017-10-31 The Johns Hopkins University Apparatus and method for efficient identification of code similarity
JP6677169B2 (ja) * 2014-12-10 2020-04-08 日本電気株式会社 通信監視システム、重要度算出装置及びその算出方法、提示装置、並びにコンピュータ・プログラム
US10372906B2 (en) 2015-02-17 2019-08-06 International Business Machines Corporation Behavioral model based on short and long range event correlations in system traces
US11593405B2 (en) 2015-04-21 2023-02-28 International Business Machines Corporation Custodian disambiguation and data matching
US10152596B2 (en) 2016-01-19 2018-12-11 International Business Machines Corporation Detecting anomalous events through runtime verification of software execution using a behavioral model
US9805371B1 (en) 2016-07-08 2017-10-31 Asapp, Inc. Automatically suggesting responses to a received message
US10083451B2 (en) 2016-07-08 2018-09-25 Asapp, Inc. Using semantic processing for customer support
US9961100B2 (en) * 2016-07-29 2018-05-01 Accenture Global Solutions Limited Network security analysis system
US10866972B2 (en) * 2016-08-15 2020-12-15 Sumo Logic Systems and methods for trie-based automated discovery of patterns in computer logs
US10255990B2 (en) 2016-11-11 2019-04-09 uBiome, Inc. Method and system for fragment assembly and sequence identification
US11281993B2 (en) * 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US11205103B2 (en) 2016-12-09 2021-12-21 The Research Foundation for the State University Semisupervised autoencoder for sentiment analysis
US10650311B2 (en) 2016-12-19 2020-05-12 Asaap, Inc. Suggesting resources using context hashing
US10109275B2 (en) * 2016-12-19 2018-10-23 Asapp, Inc. Word hash language model
US10348650B2 (en) 2017-04-17 2019-07-09 At&T Intellectual Property I, L.P. Augmentation of pattern matching with divergence histograms
US10977005B2 (en) * 2017-06-14 2021-04-13 International Business Machines Corporation Congnitive development of DevOps pipeline
US10511556B2 (en) * 2017-09-20 2019-12-17 Fujitsu Limited Bursty detection for message streams
US10872105B2 (en) * 2017-10-11 2020-12-22 Adobe Inc. Method to identify and extract fragments among large collections of digital documents using repeatability and semantic information
US10497004B2 (en) 2017-12-08 2019-12-03 Asapp, Inc. Automating communications using an intent classifier
US10489792B2 (en) 2018-01-05 2019-11-26 Asapp, Inc. Maintaining quality of customer support messages
US10210244B1 (en) 2018-02-12 2019-02-19 Asapp, Inc. Updating natural language interfaces by processing usage data
US10169315B1 (en) 2018-04-27 2019-01-01 Asapp, Inc. Removing personal information from text using a neural network
US11216510B2 (en) 2018-08-03 2022-01-04 Asapp, Inc. Processing an incomplete message with a neural network to generate suggested messages
US11551004B2 (en) 2018-11-13 2023-01-10 Asapp, Inc. Intent discovery with a prototype classifier
US10747957B2 (en) 2018-11-13 2020-08-18 Asapp, Inc. Processing communications using a prototype classifier
US11515011B2 (en) * 2019-08-09 2022-11-29 International Business Machines Corporation K-mer based genomic reference data compression
US11425064B2 (en) 2019-10-25 2022-08-23 Asapp, Inc. Customized message suggestion with user embedding vectors
US11503047B2 (en) * 2020-03-13 2022-11-15 International Business Machines Corporation Relationship-based conversion of cyber threat data into a narrative-like format
US11409769B2 (en) * 2020-03-15 2022-08-09 International Business Machines Corporation Computer-implemented method and system for attribute discovery for operation objects from operation data
US11636090B2 (en) 2020-03-15 2023-04-25 International Business Machines Corporation Method and system for graph-based problem diagnosis and root cause analysis for IT operation
BR112022024127A2 (pt) * 2020-09-15 2023-03-28 Illumina Inc Mapeamento de leitura genômica acelerado por software
US11888718B2 (en) * 2022-01-28 2024-01-30 Palo Alto Networks, Inc. Detecting behavioral change of IoT devices using novelty detection based behavior traffic modeling
CN114493374B (zh) * 2022-04-01 2022-07-05 广东海洋大学 一种基于操作序列分析的准确率自动计算方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0484271A (ja) * 1990-07-26 1992-03-17 Nippon Telegr & Teleph Corp <Ntt> 文書内情報検索装置
JPH04364577A (ja) * 1991-06-11 1992-12-16 Oki Electric Ind Co Ltd 特定データパターン検出方法
JP2004186878A (ja) * 2002-12-02 2004-07-02 Keyware Solutions Inc 侵入検知装置及び侵入検知プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4084260A (en) * 1976-07-12 1978-04-11 Sperry Rand Corporation Best match content addressable memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0484271A (ja) * 1990-07-26 1992-03-17 Nippon Telegr & Teleph Corp <Ntt> 文書内情報検索装置
JPH04364577A (ja) * 1991-06-11 1992-12-16 Oki Electric Ind Co Ltd 特定データパターン検出方法
JP2004186878A (ja) * 2002-12-02 2004-07-02 Keyware Solutions Inc 侵入検知装置及び侵入検知プログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSNG200600050001; 片岡 真紀: '囮サーバで送受信されたパケット系列を統計分析することによるワーム検知システムの提案' 情報処理学会研究報告 Vol.2005 No.70, 20050722, 1-6ページ, 社団法人情報処理学会 *
CSNG200900399069; 研川 幸雄: '単純ベイズを用いたホストベース異常検出セキュリティシステム' 第14回データ工学ワークショップ(DEWS2003)論文集 , 20030516, 1-5ページ, 電子情報通信学会データ工学研究専門委員会 *
JPN6012067454; 片岡 真紀: '囮サーバで送受信されたパケット系列を統計分析することによるワーム検知システムの提案' 情報処理学会研究報告 Vol.2005 No.70, 20050722, 1-6ページ, 社団法人情報処理学会 *
JPN6012067457; 研川 幸雄: '単純ベイズを用いたホストベース異常検出セキュリティシステム' 第14回データ工学ワークショップ(DEWS2003)論文集 , 20030516, 1-5ページ, 電子情報通信学会データ工学研究専門委員会 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012512351A (ja) * 2008-12-15 2012-05-31 スネクマ 航空エンジン内の故障の識別
US8682616B2 (en) 2008-12-15 2014-03-25 Snecma Identifying failures in an aeroengine
JP2011043908A (ja) * 2009-08-19 2011-03-03 Nippon Hoso Kyokai <Nhk> 番組検索装置および番組検索プログラム
JP2011055469A (ja) * 2009-08-31 2011-03-17 Mitsubishi Electric Research Laboratories Inc マンハッタン距離を安全に求めるための方法及びシステム
JP2013535268A (ja) * 2010-07-26 2013-09-12 ユーシーエル ビジネス ピーエルシー データ・セットにおける異常検出方法およびシステム
US9633108B2 (en) 2010-07-26 2017-04-25 Ucl Business Plc Method and system for anomaly detection in data sets
US10068017B2 (en) 2012-02-29 2018-09-04 Global File Systems Holdings, Llc Stream recognition and filtering
JP2015515770A (ja) * 2012-02-29 2015-05-28 アルトネット、インコーポレイテッド ストリーム認識およびフィルタリング
US9703869B2 (en) 2012-02-29 2017-07-11 Global File Systems Holdings, Llc Stream recognition and filtering
US9509493B2 (en) 2013-08-07 2016-11-29 Fujitsu Limited Information processing technique for secure pattern matching
JP2015108682A (ja) * 2013-12-03 2015-06-11 富士通株式会社 秘匿比較方法、プログラム、およびシステム
JP2018506107A (ja) * 2014-12-22 2018-03-01 アマゾン テクノロジーズ インコーポレイテッド 基数推定を介した結合パスの効率的な判定
US10120905B2 (en) 2014-12-22 2018-11-06 Amazon Technologies, Inc. Efficient determination of join paths via cardinality estimation
US10685042B2 (en) 2014-12-22 2020-06-16 Amazon Technologies, Inc. Identifying join relationships based on transactional access patterns
US10831759B2 (en) 2014-12-22 2020-11-10 Amazon Technologies, Inc. Efficient determination of join paths via cardinality estimation
US10783152B2 (en) 2016-02-05 2020-09-22 Fujitsu Limited Information processing apparatus and data comparison method
JP7265837B2 (ja) 2017-07-20 2023-04-27 ヤフー株式会社 学習装置および学習方法
US10785244B2 (en) 2017-12-15 2020-09-22 Panasonic Intellectual Property Corporation Of America Anomaly detection method, learning method, anomaly detection device, and learning device
KR20210069298A (ko) * 2019-12-03 2021-06-11 주식회사 엘지유플러스 대화 분절 문장의 복원을 위한 장치 및 방법
KR102357023B1 (ko) * 2019-12-03 2022-01-28 주식회사 엘지유플러스 대화 분절 문장의 복원을 위한 장치 및 방법

Also Published As

Publication number Publication date
US20090024555A1 (en) 2009-01-22
EP1963959A2 (en) 2008-09-03
WO2007131545A9 (en) 2008-02-28
JP5183483B2 (ja) 2013-04-17
WO2007131545A3 (en) 2008-04-10
WO2007131545A2 (en) 2007-11-22
US8271403B2 (en) 2012-09-18

Similar Documents

Publication Publication Date Title
JP5183483B2 (ja) データ列の自動比較に用いられる方法およびその装置
Min et al. TR-IDS: Anomaly-based intrusion detection through text-convolutional neural network and random forest
D’hooge et al. Inter-dataset generalization strength of supervised machine learning methods for intrusion detection
Serpen et al. Host-based misuse intrusion detection using PCA feature extraction and kNN classification algorithms
Rieck et al. Language models for detection of unknown attacks in network traffic
CN109784056B (zh) 一种基于深度学习的恶意软件检测方法
Smutz et al. Malicious PDF detection using metadata and structural features
Li et al. Fileprints: Identifying file types by n-gram analysis
Rieck et al. Detecting unknown network attacks using language models
Sun et al. Pattern recognition techniques for the classification of malware packers
US11483340B2 (en) System for malicious HTTP traffic detection with multi-field relation
US20060026675A1 (en) Detection of malicious computer executables
Smith et al. Mind the gap: On bridging the semantic gap between machine learning and malware analysis
Siddiqui Data mining methods for malware detection
CN112241530B (zh) 恶意pdf文档的检测方法及电子设备
Liu et al. A statistical pattern based feature extraction method on system call traces for anomaly detection
CN112329012B (zh) 针对包含JavaScript的恶意PDF文档的检测方法及电子设备
Sureda Riera et al. Prevention and fighting against web attacks through anomaly detection technology. a systematic review
Deore et al. Mdfrcnn: Malware detection using faster region proposals convolution neural network
Hwang et al. Semi-supervised based unknown attack detection in EDR environment
Rieck Machine learning for application-layer intrusion detection
Masabo et al. Improvement of malware classification using hybrid feature engineering
Villalba et al. Advanced payload analyzer preprocessor
Koch et al. Toward the detection of polyglot files
Yu et al. A unified malicious documents detection model based on two layers of abstraction

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091109

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120424

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120725

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120731

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: 20121225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130115

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160125

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees