JP6560451B2 - 悪性通信ログ検出装置、悪性通信ログ検出方法、悪性通信ログ検出プログラム - Google Patents

悪性通信ログ検出装置、悪性通信ログ検出方法、悪性通信ログ検出プログラム Download PDF

Info

Publication number
JP6560451B2
JP6560451B2 JP2018523649A JP2018523649A JP6560451B2 JP 6560451 B2 JP6560451 B2 JP 6560451B2 JP 2018523649 A JP2018523649 A JP 2018523649A JP 2018523649 A JP2018523649 A JP 2018523649A JP 6560451 B2 JP6560451 B2 JP 6560451B2
Authority
JP
Japan
Prior art keywords
communication log
malignant
character string
benign
score
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
Application number
JP2018523649A
Other languages
English (en)
Other versions
JPWO2017221667A1 (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2017221667A1 publication Critical patent/JPWO2017221667A1/ja
Application granted granted Critical
Publication of JP6560451B2 publication Critical patent/JP6560451B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/313Selection or weighting of terms for indexing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/353Clustering; Classification into predefined classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • 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/1425Traffic logging, e.g. anomaly detection
    • 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/1433Vulnerability analysis
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、悪性通信ログ検出装置、悪性通信ログ検出方法、悪性通信ログ検出プログラムに関する。
従来、マルウェアによる内部攻撃や情報漏洩等の悪性通信を検出する手法として、各種ルールに基づいて通信ログの分析を行うSIEM(Security Information and Event Management)が知られている(例えば非特許文献1または2を参照)。また、クラスタリング等の機械学習によって、分析のためのルールを自動生成する手法も知られている(例えば非特許文献3を参照)。
また、テキスト分析の手法として、データ圧縮を用いてデータを分類する手法が知られている(例えば非特許文献4または5を参照)。このようなデータ圧縮を用いた手法は、異なるデータを結合させたときの圧縮されやすさを用いて分類を行うものである。
McAfee SIEM、[online]、[平成28年6月3日検索]、インターネット(http://www.mcafee.com/jp/promos/siem/index.aspx) IBM QRadar Security Intelligence Platform、[online]、[平成28年6月3日検索]、インターネット(http://www-03.ibm.com/software/products/ja/qradar) Perdisci, et al., "Behavioral Clustering of HTTP-Based Malware and Signature Generation Using Malicious Network Traces," NSDI, p.26, Apr. 2010. Bratko, et al., "Spam filtering using statistical data compression models", Journal of Machine Learning Research, vol.7, pp.2673-2698, 2006. 西田等、「データ圧縮によるツイート話題分類」、日本データベース学会論文誌、Vol.10、No.1、2011.
しかしながら、従来の手法には、未知の内容を含んだ悪性通信ログを検出することが困難であるという問題があった。例えば、機械学習によりルールを自動生成する手法の例として、n-gramやBag-of-Words等を用い、分類器やクラスタリングを用いた学習および推論を行う手法がある。このような手法では、検出対象の通信ログに学習時に未知であった語が含まれる場合、当該語は推論の際に無視されてしまい評価されない。このとき、当該語が悪性通信を特徴付ける語であった場合、悪性通信ログを検出できないことがある。
本発明の悪性通信ログ検出装置は、悪性または良性であることが既知の通信ログの特徴を表す第1の文字列、および、前記第1の文字列と分類対象の通信ログの特徴である文字列とが結合された第2の文字列を、所定のアルゴリズムによって圧縮する圧縮部と、前記圧縮部によって圧縮された前記第1の文字列のデータサイズ、および前記圧縮部によって圧縮された前記第2の文字列のデータサイズを基に、前記分類対象の通信ログが悪性であるか良性であるかを判定するためのスコアを算出する算出部と、前記算出部によって算出されたスコア、および所定のパラメータを基に、前記分類対象の通信ログが悪性であるか良性であるかを判定する判定部と、を有することを特徴とする。
また、本発明の悪性通信ログ検出方法は、悪性通信ログ検出装置で実行される悪性通信ログ検出方法であって、悪性または良性であることが既知の通信ログの特徴を表す第1の文字列、および、前記第1の文字列と分類対象の通信ログの特徴である文字列とが結合された第2の文字列を、所定のアルゴリズムによって圧縮する圧縮工程と、前記圧縮工程によって圧縮された前記第1の文字列のデータサイズ、および前記圧縮工程によって圧縮された前記第2の文字列のデータサイズを基に、前記分類対象の通信ログが悪性であるか良性であるかを判定するためのスコアを算出する算出工程と、前記算出工程によって算出されたスコア、および所定のパラメータを基に、前記分類対象の通信ログが悪性であるか良性であるかを判定する判定工程と、を含んだことを特徴とする。
また、本発明の悪性通信ログ検出プログラムは、コンピュータに、悪性または良性であることが既知の通信ログの特徴を表す第1の文字列、および、前記第1の文字列と分類対象の通信ログの特徴である文字列とが結合された第2の文字列を、所定のアルゴリズムによって圧縮する圧縮ステップと、前記圧縮ステップによって圧縮された前記第1の文字列のデータサイズ、および前記圧縮ステップによって圧縮された前記第2の文字列のデータサイズを基に、前記分類対象の通信ログが悪性であるか良性であるかを判定するためのスコアを算出する算出ステップと、前記算出ステップによって算出されたスコア、および所定のパラメータを基に、前記分類対象の通信ログが悪性であるか良性であるかを判定する判定ステップと、を実行させることを特徴とする。
本発明によれば、未知の内容を含んだ悪性通信ログを検出することができる。
図1は、第1の実施形態に係る悪性通信ログ検出装置の構成の一例を示す図である。 図2は、圧縮分類器の構成の一例を示す図である。 図3は、教師データ生成部の処理を説明するための図である。 図4は、教師データ生成部の処理を説明するための図である。 図5は、推論部の処理を説明するための図である。 図6は、悪性通信ログ検出装置の教師データ生成処理の一例を示すフローチャートである。 図7は、悪性通信ログ検出装置の学習処理の一例を示すフローチャートである。 図8は、悪性通信ログ検出装置の判定処理の一例を示すフローチャートである。 図9は、悪性通信ログ検出装置のデータ分割時の学習処理の一例を示すフローチャートである。 図10は、第2の実施形態に係る悪性通信ログ検出装置の構成の一例を示す図である。 図11は、第3の実施形態に係る悪性通信ログ検出装置の構成の一例を示す図である。 図12は、プログラムが実行されることにより悪性通信ログ検出装置が実現されるコンピュータの一例を示す図である。
以下に、本願に係る悪性通信ログ検出装置、悪性通信ログ検出方法、悪性通信ログ検出プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
[第1の実施形態の構成]
まず、図1を用いて、第1の実施形態に係る悪性通信ログ検出装置の構成について説明する。図1は、第1の実施形態に係る悪性通信ログ検出装置の構成の一例を示す図である。図1に示すように、悪性通信ログ検出装置10は、教師データ生成部11および学習判定部12を有する。また、教師データ生成部11は、抽出部111、削減部112および排除部113を有する。また、学習判定部12は、抽出部121、圧縮分類器122および判定部123を有する。
教師データ生成部11は、悪性通信ログ、良性通信ログ、ホワイトリスト等を基に、特徴抽出および事例選択を行い、教師データを生成する。学習判定部12は、教師データ生成部11によって生成された教師データの学習、および対象通信ログの判定を行う。
悪性通信ログ検出装置10は、各通信ログとして、例えばWebサーバのアクセスログ、HTTP Proxyサーバ等への通信ログを用いる。また、通信ログの特徴は、例えば文字列で表されるデータである。
悪性通信ログは、悪性であることが既知の通信ログであり、例えば、実際に観測された悪性通信ログ、マルウェアを仮想環境で実行させることで得られた通信データ、疑似攻撃通信発生器(ファジングツール)により発生させた攻撃通信データ、および、URLブラックリスト等である。また、良性通信ログは、良性であることが既知の通信ログであり、例えばマルウェアに感染していない端末から得られた通信ログである。
教師データ生成部11の抽出部111は、悪性通信ログおよび良性通信ログから特徴を表す文字列を抽出する。教師データ生成部11は、悪性または良性であることが既知の通信ログの特徴を表す文字列のうち、所定の条件を満たすことによって冗長であると判定された文字列を削除する。なお、特徴を表す文字列とは、抽出部111によって抽出された、悪性通信ログおよび良性通信ログの特徴を表す文字列である。なお、冗長であるか否かの判定および文字列の削除は、削減部112および排除部113によって行われる。
削減部112は、特徴を表す文字列に複数の重複した文字列が含まれている場合、複数の重複した文字列のうち所定の数の文字列を削除することで文字列を削減する。このとき、削減部112は、重複している特徴のうち1つだけ残すように削減を行ってもよいし、重複した特徴の数の対数+1だけ残すように削減を行ってもよい。すなわち、削減部112は、重複を削減しつつ、重複数に応じて重複した文字列を残すようにしてもよい。また、削減部112は、悪性通信ログの特徴を表す文字列の削減を、良性通信ログの特徴を表す文字列の削減と異なる方法で行ってもよい。なお、削減部112は、文字列が重複している場合に冗長であると判定している。
排除部113は、悪性であることが既知の通信ログの特徴を表す文字列のうち、良性であることが既知の通信ログの特徴を表す文字列に含まれる文字列との類似度が所定値以上である文字列を削除することで文字列を排除する。例えば、排除部113は、悪性通信ログの特徴を表す文字列のうち、良性通信ログの特徴を表す文字列との間の編集距離(レーベンシュタイン距離)が所定値以下であるものを排除する。なお、排除部113は、文字列の類似度が所定値以上である場合に冗長であると判定している。
また、排除部113は、悪性通信ログの特徴を表す文字列のうち、ホワイトリストに合致するものを排除してもよい。このとき、排除部113は、悪性通信ログの特徴を表す文字列がホワイトリストに合致するか否かの判定を、完全一致するか否かによって行ってもよいし、編集距離に基づいて行ってもよいし、ホワイトリストを正規表現化したパターンに合致するか否かによって行ってもよい。
また、削減部112および排除部113による処理の順序は、どのような順序であってもよい。教師データ生成部11は、削減部112および排除部113によって処理が行われた各通信ログの特徴を表す文字列を、悪性通信ログ教師データ、または良性通信ログ教師データとして出力する。なお、削減部112および排除部113による処理は行われなくてもよい。
図3および4を用いて、教師データ生成部11の具体例について説明する。図3および4は、教師データ生成部の処理を説明するための図である。図3の文字列DA0は、抽出部111によって悪性通信ログの特徴を表す文字列として抽出されたURLである。図3に示すように、削減部112は、文字列DA0のうち「http://www.malware.com/index/」が重複しているため、1つを残して削減する。
また、図4の文字列DB0は、抽出部111によって良性通信ログの特徴を表す文字列として抽出されたURLである。図4に示すように、削減部112は、文字列DB0のうち「http://www.goodware.com/index/」が重複しているため、1つを残して削減する。図4の文字列Dは、良性通信ログ教師データの一例である。
さらに、排除部113は、文字列DA0の「http://www.example.ne.jp/」と、DB0の「http://www.example.co.jp/」との類似度が所定値以上であると判定し、文字列DA0の「http://www.example.ne.jp/」を排除する。図3の文字列Dは、悪性通信ログ教師データの一例である。
学習判定部12の抽出部121は、対象通信ログから特徴を表す文字列を抽出する。圧縮分類器122は、対象通信ログの悪性スコアおよび良性スコアを算出する。また、圧縮分類器122は、教師データを学習する。
また、図2に示すように、圧縮分類器122は、学習部151、推論部152および圧縮部153を有する。また、圧縮分類器122は、分類情報160を記憶する。図2は、圧縮分類器の構成の一例を示す図である。
まず、学習部151は、悪性通信ログ教師データおよび良性通信ログ教師データを、圧縮部153に圧縮させる。圧縮部153は、悪性通信ログ教師データ、または良性通信ログ教師データ、すなわち第1の文字列を、所定のアルゴリズムによって圧縮する。圧縮部153は、例えば、辞書型圧縮アルゴリズム、文脈圧縮アルゴリズム等の、文字の連なりに着目して圧縮する方式のアルゴリズムを用いることができる。辞書型圧縮アルゴリズムには、例えば、LZSS(LZ77)、LZW(LZ78)、LZT、LZMA等がある。また、文脈圧縮アルゴリズムには、例えば、PPM(Prediction by Partial Machine)等がある。
学習部151は、悪性通信ログ教師データ、良性通信ログ教師データ、圧縮部153によって圧縮された悪性通信ログ教師データのデータサイズ、および圧縮部153によって圧縮された良性通信ログ教師データのデータサイズを分類情報160として圧縮分類器122に記憶させる。
なお、圧縮部153が追加圧縮可能なアルゴリズムを用いる場合、学習部151は、圧縮前の悪性通信ログ教師データおよび良性通信ログ教師データではなく、圧縮後の悪性通信ログ教師データおよび良性通信ログ教師データを分類情報160とすることで、記憶させるデータサイズを小さくすることができる。この場合、推論部152は、圧縮後のデータに対して対象通信ログの特徴を表す文字列を追加して圧縮部153に圧縮を行わせることができ、処理時間が短縮される。
さらに、推論部152は、抽出部121によって抽出された、対象通信ログの特徴を表す文字列について、悪性スコアおよび良性スコアを算出する。悪性スコアおよび良性スコアは、対象通信ログが悪性通信によるものであるか良性通信によるものであるかを判定するためのスコアである。
まず、推論部152は、分類情報160として記憶されている悪性通信ログ教師データに、対象通信ログの特徴を表す文字列を結合させる。そして、推論部152は、結合した文字列を圧縮部153に圧縮させ、圧縮後のデータサイズを取得する。圧縮部153は、第1の文字列と対象通信ログの特徴である文字列とが結合された第2の文字列を、所定のアルゴリズムによって圧縮する。第2の文字列は、悪性通信ログ教師データと、対象通信ログの特徴を表す文字列とが結合した文字列、または良性通信ログ教師データと、対象通信ログの特徴を表す文字列とが結合した文字列である。
推論部152は、分類情報160として記憶されている悪性通信ログ教師データの圧縮後のデータサイズ、および結合した文字列の圧縮後のデータサイズを基に、悪性スコアを算出する。Zをデータの圧縮後のデータサイズを求める関数、Dを悪性通信ログ教師データ、xを対象通信ログの特徴を表す文字列、D+xをDとxを結合したデータとすると、推論部152は、悪性スコアを式(1)によって算出する。
悪性スコア=Z(D+x)−Z(D)・・・(1)
同様に、推論部152は、分類情報160として記憶されている良性通信ログ教師データに、対象通信ログの特徴を表す文字列を結合させる。そして、推論部152は、結合した文字列を圧縮部153に圧縮させ、圧縮後のデータサイズを取得する。推論部152は、分類情報160として記憶されている良性通信ログ教師データの圧縮後のデータサイズ、および結合した文字列の圧縮後のデータサイズを基に、良性スコアを算出する。Zをデータの圧縮後のデータサイズを求める関数、Dを良性通信ログ教師データ、xを対象通信ログの特徴を表す文字列、D+xをDとxを結合したデータとすると、推論部152は、良性スコアを式(2)によって算出する。
良性スコア=Z(D+x)−Z(D)・・・(2)
このように、推論部152は、圧縮部153によって圧縮された第1の文字列のデータサイズ、および圧縮部153によって圧縮された第2の文字列のデータサイズを基に、対象通信ログが悪性であるか良性であるかを判定するためのスコアを算出する。例えば、推論部152は、対象通信ログが悪性である度合いを表す悪性スコア、および対象通信ログが良性である度合いを表す良性スコアを算出する。
図5を用いて、推論部152の具体的な処理について説明する。図5は、推論部の処理を説明するための図である。図5に示すように、推論部152は、悪性通信ログ教師データである文字列Dに、対象通信ログの特徴を表す文字列xを結合させ、悪性スコアを算出する。また、推論部152は、良性通信ログ教師データである文字列Dに、対象通信ログの特徴を表す文字列xを結合させ、良性スコアを算出する。
判定部123は、推論部152によって算出されたスコア、および所定のパラメータを基に、対象通信ログが悪性であるか良性であるかを判定する。ここで、文字列同士を結合し圧縮した場合、当該文字列同士の類似度が大きいほど、圧縮後のデータのサイズは小さくなると考えられる。このため、対象通信ログの特徴を表す文字列と悪性通信ログ教師データとの類似度が大きいほど、式(1)におけるZ(D+x)が小さくなり、悪性スコアは小さくなる。同様に、対象通信ログの特徴を表す文字列と良性通信ログ教師データとの類似度が大きいほど、式(2)におけるZ(D+x)が小さくなり、良性スコアは小さくなる。
一方で、通信処理用のデータ領域をあふれさせるbuffer overflowと呼ばれる攻撃が知られている。buffer overflowでは、同一の文字ばかりの通信を送り付けたり、逆に、一見ランダムな無意味な内容の通信を送り付けたりすることがある。buffer overflowによる通信ログは、悪性通信による通信ログであると判定される必要がある。
同一の文字ばかりの通信が送り付けられた場合の通信ログに出現する文字列は、圧縮されると極端にデータサイズが小さくなる場合が考えられる。また、一見ランダムな無意味な内容の通信が行われた場合の通信ログに出現する文字列は、圧縮されると極端にデータサイズが大きくなる場合が考えられる。この結果、buffer overflowによる通信ログについての悪性スコアおよび良性スコアは、両方が極端に小さくなることや、両方が極端に大きくなることがある。
以上のことをふまえて、判定部123は、下記の条件1−1、1−2、1−3のいずれかが満たされた場合、対象通信ログが悪性通信によるものであると判定する。
(条件1−1) 良性スコア < A かつ 悪性スコア < A
(条件1−2) 良性スコア > A かつ 悪性スコア > A
(条件1−3) 良性スコア > A × 悪性スコア
ここで、A、A、Aは調整パラメータであり、学習部151によって学習時に調整される。学習部151は、判定部123による判定結果に基づいて所定のパラメータを調整する。学習部151は、悪性通信ログ教師データおよび良性通信ログ教師データの一部を実際に判定することでより良いパラメータを探索する手法(交差検証、グリッド探索等)を用いてパラメータの調整を行う。
そして、判定部123は、悪性スコアおよび良性スコアの両方が第1の値より小さい場合、または、悪性スコアおよび良性スコアの両方が第2の値より大きい場合、対象通信ログが悪性であると判定する。第1の値はAである。また、第2の値はAである。
学習部151は、例えば、Aを0.0〜0.4、Aを1.0以上に調整する。また、条件1−1は、悪性スコアおよび良性スコアの両方が極端に小さくなる場合を表している。また、条件1−2は、悪性スコアおよび良性スコアの両方が極端に大きくなる場合を表している。また、学習部151は、例えば、Aを1.0以上に調整する。条件1−3は、悪性スコアが良性スコアと比べて十分に小さい(対象通信ログが悪性通信ログに十分に近い)ことを表している。Aが大きいほど、判定率(=正しく判定できた悪性通信件数÷全通信件数)は小さくなるが、誤判定率(=誤って悪性と判定した良性通信件数÷全通信件数)も小さくなる。
ここで、推論部152は、悪性通信ログ教師データおよび良性通信ログ教師データに通信対象ログの特徴を表す文字列を結合し、結合したデータ全体を圧縮部153に圧縮させるため、悪性通信ログ教師データまたは良性通信ログ教師データが大きくなると、処理時間が増大する。
また、圧縮アルゴリズムによっては、メモリや処理速度の制約から、データが大きすぎる場合、データの先頭部分の情報が、データの最後尾部分の圧縮には加味されないことがある(例えば、スライド辞書方式を採用しているLZSS圧縮アルゴリズム等)。
そこで、学習部151は、悪性通信ログ教師データまたは良性通信ログ教師データが所定サイズより大きい場合、悪性通信ログ教師データまたは良性通信ログ教師データを分割して分類情報160として記憶させるようにしてもよい。この場合、悪性通信ログ教師データまたは良性通信ログ教師データが追加された場合であっても、学習部151は、追加されたデータを分類情報160に追加するだけでよい。
学習部151が悪性通信ログ教師データまたは良性通信ログ教師データを分割する場合の処理について説明する。学習部151は、悪性通信ログ教師データまたは良性通信ログ教師データが所定サイズより大きい場合、あらかじめ設定された最大サイズに収まるように、悪性通信ログ教師データまたは良性通信ログ教師データを分割する。
このとき、学習部151は、分割後のデータがなるべく均等なサイズになるように分割する。また、学習部151は、悪性通信ログまたは良性通信ログの記録時間を参照し、日時ごとに取りまとめて分割してもよい。
次に、学習部151は、圧縮部153に、分割した各データを別々に圧縮させる。そして、学習部151は、分割されたデータと、各データの圧縮後のデータサイズを分類情報160として圧縮分類器122に記憶させる。なお、圧縮部153は、処理時間短縮のため、各データの圧縮を並列処理で行ってもよい。
そして、推論部152は、分類情報160に含まれる分割された悪性通信ログ教師データまたは良性通信ログ教師データのそれぞれに、対象通信ログの特徴を表す文字列を結合し、結合したデータを圧縮部153に圧縮させる。なお、圧縮部153は、処理時間短縮のため、各データの圧縮を並列処理で行ってもよい。
Zをデータの圧縮後のデータサイズを求める関数、iを分割後の各データに付与された識別番号、D(i)を分割された悪性通信ログ教師データのうちのi番目のデータ、xを対象通信ログの特徴を表す文字列、D(i)+xをD(i)とxを結合したデータ、minを最小値を求める関数、γを調整パラメータ(スムージングパラメータ)とすると、推論部152は、悪性スコアを式(3)によって算出する。
悪性スコア={min(Z(D(i)+x)−Z(D(i)))+γ}
÷(xのデータサイズ+γ) ・・・(3)
同様に、Zをデータの圧縮後のデータサイズを求める関数、iを分割後の各データに付与された識別番号、D(i)を分割された良性通信ログ教師データのうちのi番目のデータ、xを対象通信ログの特徴を表す文字列、D(i)+xをD(i)とxを結合したデータ、minを最小値を求める関数、γを調整パラメータとすると、推論部152は、良性スコアを式(4)によって算出する。
良性スコア={min(Z(D(i)+x)−Z(D(i)))+γ}
÷(xのデータサイズ+γ) ・・・(4)
式(3)および(4)において、γ=0とした場合、各スコアは、その分類下において、対象通信ログの特徴を表す文字列がどのくらい圧縮できたかを示す圧縮率ということができる。また、対象通信ログの特徴を表す文字列のデータサイズが小さいほど、良性スコアおよび悪性スコアは1に近づくため、パラメータγを大きくすることで、対象通信ログの特徴を表す文字列のうちデータサイズが小さいものを無視するように調整することができる。また、例えば、推論部152は、最小値(min)を求める代わりに、平均値(average)を求めることで各スコアを算出してもよい。なお、学習部151が悪性通信ログ教師データまたは良性通信ログ教師データを分割する場合であっても、推論部152は、式(1)および(2)と同様に、圧縮前後のデータサイズの差を良性スコア及び悪性スコアとして算出してもよい。また、学習部151が悪性通信ログ教師データまたは良性通信ログ教師データを分割しない場合であっても、推論部152は、式(3)および(4)と同様に、圧縮率を良性スコアおよび悪性スコアとして算出してもよい。
[第1の実施形態の処理]
図6〜8を用いて、悪性通信ログ検出装置10の処理について説明する。図6は、悪性通信ログ検出装置の教師データ生成処理の一例を示すフローチャートである。図7は、悪性通信ログ検出装置の学習処理の一例を示すフローチャートである。図8は、悪性通信ログ検出装置の判定処理の一例を示すフローチャートである。
まず、教師データ生成部11による教師データ生成処理について説明する。図6に示すように、抽出部111は、悪性通信ログおよび良性通信ログから、それぞれの通信ログの特徴を表す文字列を抽出する(ステップS101)。次に、削減部112は、抽出部111によって抽出された文字列から、重複した文字列を削減する(ステップS102)。さらに、排除部113は、悪性通信ログの特徴を表す文字列のうち、良性通信ログの特徴を表す文字列と類似した文字列を排除する(ステップS103)。
次に、学習判定部12による学習処理について説明する。図7に示すように、学習部151は、教師データを学習する(ステップS111)。具体的に、学習部151は、悪性通信ログ教師データおよび良性通信ログ教師データのデータそのものと、それぞれの教師データが圧縮部153で圧縮された後のデータサイズを分類情報160として記憶させる。そして、学習部151は、教師データの一部を用いて実際に判定を行い、判定結果に基づいてパラメータの調整を行うことで、圧縮分類器122の学習を行う(ステップS112)。なお、学習判定部12は、学習処理を、対象通信ログの判定前に実施してもよいし、対象通信ログの判定途中に適宜実施してもよい。
次に、学習判定部12による判定処理について説明する。図8に示すように、推論部152は、悪性通信ログ教師データおよび良性通信ログ教師データのそれぞれと、対象データ、すなわち抽出部121によって抽出された対象通信ログの特徴を表す文字列を結合させる(ステップS121)。そして、推論部152は、結合させたデータを圧縮部153に圧縮させる(ステップS122)。そして、推論部152は、教師データの圧縮後のデータサイズ、および結合データの圧縮後のデータサイズを基にスコアを算出する(ステップS123)。判定部123は、スコアを基に、対象データが悪性であるか良性であるかを判定する(ステップS124)。
また、教師データを分割する場合の学習判定部12による学習処理について、図9を用いて説明する。図9は、悪性通信ログ検出装置のデータ分割時の学習処理の一例を示すフローチャートである。図9に示すように、学習部151は、教師データを分割し(ステップS131)、圧縮部153に分割した各教師データを圧縮させる(ステップS132)。そして、学習部151は、分割した各教師データと、各教師データそれぞれの圧縮サイズ、すなわち圧縮後のデータサイズを分類情報160として記憶させる(ステップS133)。なお、学習部151は、教師データの分割を、学習判定部12による判定処理前に実施する。
[第1の実施形態の効果]
教師データ生成部11は、悪性または良性であることが既知の通信ログの特徴を表す文字列のうち、所定の条件を満たすことによって冗長であると判定された文字列を削除する。また、圧縮部153は、教師データ生成部11によって前記冗長であると判定された文字列が削除された第1の文字列、および、第1の文字列と対象通信ログの特徴である文字列とが結合された第2の文字列を、所定のアルゴリズムによって圧縮する。また、推論部152は、圧縮部153によって圧縮された第1の文字列のデータサイズ、および圧縮部153によって圧縮された第2の文字列のデータサイズを基に、対象通信ログが悪性であるか良性であるかを判定するためのスコアを算出する。また、判定部123は、推論部152によって算出されたスコア、および所定のパラメータを基に、対象通信ログが悪性であるか良性であるかを判定する。また、学習部151は、判定部123による判定結果に基づいて所定のパラメータを調整する。
このように、第1の実施形態では、圧縮を用いて分類のためのスコアの算出を行っているため、未知の内容を含んだ悪性通信ログを検出することができる。また、冗長であると判定されたデータをあらかじめ削除しているため、誤検出の発生をおさえることができる。
削減部112は、特徴を表す文字列に複数の重複した文字列が含まれている場合、複数の重複した文字列のうち所定の数の文字列を削除する。これにより、重複データの影響を小さくし、検出精度を向上させることができる。
排除部113は、悪性であることが既知の通信ログの特徴を表す文字列のうち、良性であることが既知の通信ログの特徴を表す文字列に含まれる文字列との類似度が所定値以上である文字列を削除する。これにより、良性通信ログを悪性通信ログであると判定する誤検出を低減させることができる。
圧縮部153は、第1の文字列を複数に分割して圧縮する。そして、推論部152は、複数に分割された第1の文字列それぞれについてスコアを算出する。これにより、教師データのサイズが大きく、メモリや処理速度の制約を受けてしまい一度に圧縮できない場合であっても、判定を行うことが可能となる。
推論部152は、対象通信ログが悪性である度合いを表す悪性スコア、および対象通信ログが良性である度合いを表す良性スコアを算出する。そして、判定部123は、悪性スコアおよび良性スコアの両方が第1の値より小さい場合、または、悪性スコアおよび良性スコアの両方が第2の値より大きい場合、対象通信ログが悪性であると判定する。これにより、buffer overflowによる悪性通信ログを検出することができる。また、この場合、悪性スコアと良性スコアの両方を用いて判定を行うため、一方のスコアを用いる場合と比べて判定精度が高くなる。
[第2の実施形態]
第1の実施形態では、悪性通信ログ検出装置10が、悪性通信ログおよび良性通信ログの両方から抽出した特徴を表す文字列を基に教師データを生成する場合について説明した。これに対して、第2の実施形態では、悪性通信ログ検出装置10が、悪性通信ログおよび良性通信ログのいずれか一方から抽出した特徴を表す文字列を基に教師データを生成する場合について説明する。
図10に示すように、第2の実施形態では、抽出部111は、悪性通信ログまたは良性通信ログのうちいずれか一方から特徴を表す文字列を抽出する。図10は、第2の実施形態に係る悪性通信ログ検出装置の構成の一例を示す図である。
この場合、判定部123は、悪性スコアまたは良性スコアのいずれか一方を用いて判定を行うことになる。例えば、判定部123が悪性スコアのみを用いて判定を行う場合、下記の条件2−1、2−2のいずれかが満たされた場合、対象通信ログが悪性通信によるものであると判定する。
(条件2−1) 悪性スコア < A
(条件2−2) 悪性スコア > A
ただし、A、Aは調整パラメータ
この場合、推論部152は、分類対象の通信ログが悪性である度合いを表す悪性スコアを算出する。そして、判定部123は、悪性スコアが第3の値より小さい場合、または、悪性スコアが第2の値より大きい場合、対象通信ログが悪性であると判定する。このとき、第3の値はAである。また、第4の値はAである。
また、例えば、判定部123が良性スコアのみを用いて判定を行う場合、下記の条件3−1、3−2のいずれかが満たされた場合、対象通信ログが悪性通信によるものであると判定する。
(条件3−1) 良性スコア < A
(条件3−2) 良性スコア > A
ただし、A、Aは調整パラメータ
この場合、推論部152は、分類対象の通信ログが良性である度合いを表す良性スコアを算出する。そして、判定部123は、良性スコアが第3の値より小さい場合、または、良性スコアが第2の値より大きい場合、対象通信ログが良性であると判定する。このとき、第3の値はAである。また、第4の値はAである。
なお、条件2−1および3−1は、同一の文字ばかりの通信を送り付けるbuffer overflowのような、圧縮率が極端に大きくなる場合を表している。また、条件2−2は、一見ランダムな無意味な内容の通信を送り付けるbuffer overflowのような、圧縮率が極端に小さくなる場合を表している。また、条件3−2は、圧縮率が極端に小さくなる場合および良性通信ログとの類似度が小さい場合を表している。
[第2の実施形態の効果]
推論部152は、分類対象の通信ログが悪性である度合い、または分類対象の通信ログが良性である度合いのうちのいずれか一方を表すスコアを算出する。そして、判定部123は、スコアが第3の値より小さい場合、または、スコアが第4の値より大きい場合、分類対象の通信ログが悪性であると判定する。
第2の実施形態では、悪性と良性のうち、用意しやすい通信ログのみを用意すればよく、導入が容易である。また、良性通信ログのみを教師データとした場合は、通常の通信とは外れる通信の検出、いわゆる、アノーマリ検出を行うことができる。
また、最初は悪性または良性のいずれかの通信ログを用いて第2の実施形態により検出を行い、悪性および良性の両方の通信ログが入手可能となったところで、第1の実施形態に切り替えるといった、柔軟な運用も可能である。
[第3の実施形態]
第1の実施形態では、悪性通信ログ検出装置10が、圧縮分類器122によって算出されたスコアに基づいて学習および判定を行っていた。これに対して、第3の実施形態では、悪性通信ログ検出装置10は、圧縮分類器122によって算出されたスコアに加えて、他の分類器による分類結果を用いて学習および判定を行う。
図11に示すように、第3の実施形態では、悪性通信ログ検出装置10は、非圧縮分類器122aを有する。図11は、第3の実施形態に係る悪性通信ログ検出装置の構成の一例を示す図である。
例えば、圧縮分類器122は、通信ログの特徴を表す情報として、URLやブラウザ名等の、ある程度の長さを持ったテキストおよびバイナリ情報を基にスコアの算出を行う。一方、非圧縮分類器122aは、宛先ポート番号や転送量等の、数値のような短い属性を用いて分類を行う。このため、第3の実施形態では、悪性通信ログ検出装置10は、圧縮分類器122によって算出されたスコアと、非圧縮分類器122aによる分類結果に基づいて学習および判定を行う。
非圧縮分類器122aは、例えば、短い属性の特徴量を、サポートベクターマシン等の他の適切な分類器で学習する。非圧縮分類器122aは、圧縮分類器122によって算出された悪性スコア、良性スコア、および他指定属性の教師データを学習する。他指定属性の教師データとは、圧縮分類器122の対象となる特徴の属性、すなわち圧縮用属性と異なる属性の特徴である。例えば、圧縮分類器122はURLを特徴として用いるのに対し、非圧縮分類器122aは、宛先ポート番号、転送量等を特徴として用いる。非圧縮分類器122aは、他指定属性の特徴を、Bag-of-Wordsとして扱ってもよいし、そのまま数値として扱ってもよい。
判定部123は、推論部152によって算出されたスコア、所定のパラメータ、および通信ログの特徴を表す文字列であって、第1の文字列と異なる属性の文字列から抽出された特徴量を基に、対象通信ログが悪性であるか良性であるかを判定する。
判定部123は、圧縮分類器122によって算出された悪性スコア、良性スコア、および非圧縮分類器122aによる他指定属性の特徴を基にした判定結果を基に、対象通信ログが悪性であるか良性であるかを判定する。判定部123は、例えば、分類器として、決定木、サポートベクターマシン、ニューラルネットワーク等を用いて判定を行う。なお、非圧縮分類器122aで扱われる他指定属性の特徴には、圧縮分類器122で用いられる特徴の一部または全部が含まれていてもよい。例えば、他指定属性の特徴に、圧縮分類器122で用いられる特徴であるURLのドメイン名が含まれていてもよい。
[第3の実施形態の効果]
判定部123は、推論部152によって算出されたスコア、所定のパラメータ、および通信ログの特徴を表す文字列であって、第1の文字列と異なる属性の文字列から抽出された特徴量を基に、対象通信ログが悪性であるか良性であるかを判定する。
これにより、判定部123で用いられる分類器のパラメータを調整することで、第1の実施形態におけるパラメータ調整と同様の効果を得ることができる。例として、URLを圧縮用属性とし、判定部123の分類器として決定木を用いる場合について説明する。決定木は、与えられた分類と特徴に対して、特徴に対する閾値の大小関係を基に、分類を決定する条件ルールを自動的に生成するアルゴリズムである。
ここでは、決定木に、分類として「悪性、良性」を与え、特徴として「良性スコア、悪性スコア、良性スコア÷悪性スコア」を与える。この場合、決定木は、悪性と判断する以下のような条件を生成する。これにより、決定木を用いたパラメータ調整が可能となる。
(条件4−1) 良性スコア < A11 かつ 悪性スコア < A12
(条件4−2) 良性スコア > A21 かつ 悪性スコア > A22
(条件4−3) 良性スコア ÷ 悪性スコア > A31
ただし、A11、A12、A21、A22、A31は調整パラメータ
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、CPU(Central Process Unit)および当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
一実施形態として、悪性通信ログ検出装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の悪性通信ログの検出を実行する悪性通信ログ検出プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の悪性通信ログ検出プログラムを情報処理装置に実行させることにより、情報処理装置を悪性通信ログ検出装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
また、悪性通信ログ検出装置10は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の悪性通信ログ検出に関するサービスを提供する悪性通信ログ検出サーバ装置として実装することもできる。例えば、悪性通信ログ検出サーバ装置は、通信ログを入力とし、判定結果を出力とする悪性通信ログ検出サービスを提供するサーバ装置として実装される。この場合、悪性通信ログ検出サーバ装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の悪性通信ログ検出に関するサービスを提供するクラウドとして実装することとしてもかまわない。
図12は、プログラムが実行されることにより悪性通信ログ検出装置が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011およびRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、悪性通信ログ検出装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、悪性通信ログ検出装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ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 学習判定部
111、121 抽出部
112 削減部
113 排除部
122 圧縮分類器
123 判定部
151 学習部
152 推論部
153 圧縮部
160 分類情報

Claims (11)

  1. 悪性または良性であることが既知の通信ログの特徴を表す第1の文字列、および、前記第1の文字列と分類対象の通信ログの特徴である文字列とが結合された第2の文字列を、所定のアルゴリズムによって圧縮する圧縮部と、
    前記圧縮部によって圧縮された前記第1の文字列のデータサイズ、および前記圧縮部によって圧縮された前記第2の文字列のデータサイズを基に、前記分類対象の通信ログが悪性であるか良性であるかを判定するためのスコアを算出する算出部と、
    前記算出部によって算出されたスコア、および所定のパラメータを基に、前記分類対象の通信ログが悪性であるか良性であるかを判定する判定部と、
    を有することを特徴とする悪性通信ログ検出装置。
  2. 前記第1の文字列のうち、所定の条件を満たすことによって冗長であると判定された文字列を削除する削除部をさらに有し、
    前記圧縮部は、前記削除部によって前記冗長であると判定された文字列が削除された前記第1の文字列および前記第2の文字列を圧縮することを特徴とする請求項1に記載の悪性通信ログ検出装置。
  3. 前記削除部は、前記特徴を表す文字列に複数の重複した文字列が含まれている場合、前記複数の重複した文字列のうち所定の数の文字列を削除することを特徴とする請求項2に記載の悪性通信ログ検出装置。
  4. 前記削除部は、悪性であることが既知の通信ログの特徴を表す前記特徴を表す文字列のうち、良性であることが既知の通信ログの特徴を表す前記特徴を表す文字列に含まれる文字列との類似度が所定値以上である文字列を削除することを特徴とする請求項2に記載の悪性通信ログ検出装置。
  5. 前記判定部による判定結果に基づいて前記所定のパラメータを調整する調整部をさらに有することを特徴とする請求項1に記載の悪性通信ログ検出装置。
  6. 前記圧縮部は、前記第1の文字列を複数に分割して圧縮し、
    前記算出部は、複数に分割された前記第1の文字列それぞれについて前記スコアを算出することを特徴とする請求項1に記載の悪性通信ログ検出装置。
  7. 前記算出部は、前記分類対象の通信ログが悪性である度合いを表す悪性スコア、および前記分類対象の通信ログが良性である度合いを表す良性スコアを算出し、
    前記判定部は、前記悪性スコアおよび前記良性スコアの両方が第1の値より小さい場合、または、前記悪性スコアおよび前記良性スコアの両方が第2の値より大きい場合、前記分類対象の通信ログが悪性であると判定することを特徴とする請求項1に記載の悪性通信ログ検出装置。
  8. 前記算出部は、前記分類対象の通信ログが悪性である度合い、または前記分類対象の通信ログが良性である度合いのうちのいずれか一方を表すスコアを算出し、
    前記判定部は、前記スコアが第3の値より小さい場合、または、前記スコアが第4の値より大きい場合、前記分類対象の通信ログが悪性であると判定することを特徴とする請求項1に記載の悪性通信ログ検出装置。
  9. 前記判定部は、前記算出部によって算出されたスコア、前記所定のパラメータ、および前記通信ログの特徴を表す文字列であって、前記第1の文字列と異なる属性の文字列から抽出された特徴量を基に、前記分類対象の通信ログが悪性であるか良性であるかを判定することを特徴とする請求項1に記載の悪性通信ログ検出装置。
  10. 悪性通信ログ検出装置で実行される悪性通信ログ検出方法であって、
    悪性または良性であることが既知の通信ログの特徴を表す第1の文字列、および、前記第1の文字列と分類対象の通信ログの特徴である文字列とが結合された第2の文字列を、所定のアルゴリズムによって圧縮する圧縮工程と、
    前記圧縮工程によって圧縮された前記第1の文字列のデータサイズ、および前記圧縮工程によって圧縮された前記第2の文字列のデータサイズを基に、前記分類対象の通信ログが悪性であるか良性であるかを判定するためのスコアを算出する算出工程と、
    前記算出工程によって算出されたスコア、および所定のパラメータを基に、前記分類対象の通信ログが悪性であるか良性であるかを判定する判定工程と、
    を含んだことを特徴とする悪性通信ログ検出方法。
  11. コンピュータに、
    悪性または良性であることが既知の通信ログの特徴を表す第1の文字列、および、前記第1の文字列と分類対象の通信ログの特徴である文字列とが結合された第2の文字列を、所定のアルゴリズムによって圧縮する圧縮ステップと、
    前記圧縮ステップによって圧縮された前記第1の文字列のデータサイズ、および前記圧縮ステップによって圧縮された前記第2の文字列のデータサイズを基に、前記分類対象の通信ログが悪性であるか良性であるかを判定するためのスコアを算出する算出ステップと、
    前記算出ステップによって算出されたスコア、および所定のパラメータを基に、前記分類対象の通信ログが悪性であるか良性であるかを判定する判定ステップと、
    を実行させることを特徴とする悪性通信ログ検出プログラム。
JP2018523649A 2016-06-20 2017-06-01 悪性通信ログ検出装置、悪性通信ログ検出方法、悪性通信ログ検出プログラム Active JP6560451B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016122045 2016-06-20
JP2016122045 2016-06-20
PCT/JP2017/020515 WO2017221667A1 (ja) 2016-06-20 2017-06-01 悪性通信ログ検出装置、悪性通信ログ検出方法、悪性通信ログ検出プログラム

Publications (2)

Publication Number Publication Date
JPWO2017221667A1 JPWO2017221667A1 (ja) 2018-11-08
JP6560451B2 true JP6560451B2 (ja) 2019-08-14

Family

ID=60784177

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018523649A Active JP6560451B2 (ja) 2016-06-20 2017-06-01 悪性通信ログ検出装置、悪性通信ログ検出方法、悪性通信ログ検出プログラム

Country Status (3)

Country Link
US (1) US11165790B2 (ja)
JP (1) JP6560451B2 (ja)
WO (1) WO2017221667A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2019181005A1 (ja) * 2018-03-19 2021-03-11 日本電気株式会社 脅威分析システム、脅威分析方法および脅威分析プログラム
JP2019185183A (ja) * 2018-04-03 2019-10-24 積水ハウス株式会社 通信装置保護管理サーバおよび通信装置保護システム
JP7156869B2 (ja) 2018-09-03 2022-10-19 パナソニックホールディングス株式会社 ログ出力装置、ログ出力方法およびログ出力システム
JP7115207B2 (ja) * 2018-10-11 2022-08-09 富士通株式会社 学習プログラム、学習方法および学習装置
EP3913884A1 (en) * 2020-05-21 2021-11-24 Tata Consultancy Services Limited Method and system for privacy preserving classification of websites url
US11665262B2 (en) * 2020-10-28 2023-05-30 Viavi Solutions Inc. Analyzing network data for debugging, performance, and identifying protocol violations using parallel multi-threaded processing
WO2022157751A1 (en) * 2021-01-25 2022-07-28 Red Bend Ltd. A method and system for lossy compression of log files of data
US20230034914A1 (en) * 2021-07-13 2023-02-02 Fortinet, Inc. Machine Learning Systems and Methods for API Discovery and Protection by URL Clustering With Schema Awareness
KR102623681B1 (ko) * 2022-02-21 2024-01-11 주식회사 리니어리티 네트워크 통신 로그 분석을 통한 악성코드 감염 탐지 시스템 및 방법
US11601451B1 (en) * 2022-05-15 2023-03-07 Uab 360 It Optimized analysis for detecting harmful content

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7487544B2 (en) * 2001-07-30 2009-02-03 The Trustees Of Columbia University In The City Of New York System and methods for detection of new malicious executables
US8135994B2 (en) 2006-10-30 2012-03-13 The Trustees Of Columbia University In The City Of New York Methods, media, and systems for detecting an anomalous sequence of function calls
US7865953B1 (en) * 2007-05-31 2011-01-04 Trend Micro Inc. Methods and arrangement for active malicious web pages discovery
US9401947B1 (en) * 2013-02-08 2016-07-26 Google Inc. Methods, systems, and media for presenting comments based on correlation with content
US9241010B1 (en) * 2014-03-20 2016-01-19 Fireeye, Inc. System and method for network behavior detection
GB2530012A (en) * 2014-08-05 2016-03-16 Illumina Cambridge Ltd Methods and systems for data analysis and compression
US10275152B2 (en) * 2014-10-28 2019-04-30 Idelan, Inc. Advanced methods and systems for text input error correction
US9043894B1 (en) * 2014-11-06 2015-05-26 Palantir Technologies Inc. Malicious software detection in a computing system
US10104113B1 (en) * 2016-05-26 2018-10-16 Area 1 Security, Inc. Using machine learning for classification of benign and malicious webpages
WO2017223294A1 (en) * 2016-06-22 2017-12-28 Invincea, Inc. Methods and apparatus for detecting whether a string of characters represents malicious activity using machine learning
US10205704B2 (en) * 2016-07-01 2019-02-12 Rapid 7, Inc. Classifying locator generation kits
US11425148B2 (en) * 2017-03-10 2022-08-23 Visa International Service Association Identifying malicious network devices
US10817603B2 (en) * 2017-08-29 2020-10-27 Target Brands, Inc. Computer security system with malicious script document identification
US11277423B2 (en) * 2017-12-29 2022-03-15 Crowdstrike, Inc. Anomaly-based malicious-behavior detection
US11899786B2 (en) * 2019-04-15 2024-02-13 Crowdstrike, Inc. Detecting security-violation-associated event data

Also Published As

Publication number Publication date
US20190173897A1 (en) 2019-06-06
WO2017221667A1 (ja) 2017-12-28
JPWO2017221667A1 (ja) 2018-11-08
US11165790B2 (en) 2021-11-02

Similar Documents

Publication Publication Date Title
JP6560451B2 (ja) 悪性通信ログ検出装置、悪性通信ログ検出方法、悪性通信ログ検出プログラム
US11841947B1 (en) Methods and apparatus for machine learning based malware detection
US11689549B2 (en) Continuous learning for intrusion detection
RU2654146C1 (ru) Система и способ обнаружения вредоносных файлов с использованием элементов статического анализа
RU2697955C2 (ru) Система и способ обучения модели обнаружения вредоносных контейнеров
CN111382434B (zh) 用于检测恶意文件的系统和方法
JP7112475B2 (ja) ベクトル量子化を利用した重複文書探知方法およびシステム
Jung et al. Malware classification using byte sequence information
CN114726823A (zh) 一种基于生成对抗网络的域名生成方法、装置和设备
KR102307632B1 (ko) 적대적 재귀 오토인코더 기반 기업정보시스템 사용자 이상행위 탐지 시스템 및 방법
Cao et al. An efficient malicious code detection system based on convolutional neural networks
US11550910B2 (en) Creating generic rules in a high dimensional sparse feature space using negative feedback
WO2019225251A1 (ja) 学習方法、学習装置及び学習プログラム
JP6518000B2 (ja) 分析装置、分析方法および分析プログラム
US11880460B2 (en) System and method for differential malware scanner
CN115934571A (zh) 基于贝叶斯分类算法的接口测试用例生成方法及装置
JP2019096088A (ja) 距離測定装置、通信システム、作成装置及び距離測定プログラム
NZ754552B2 (en) Continuous learning for intrusion detection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180615

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190718

R150 Certificate of patent or registration of utility model

Ref document number: 6560451

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150