JP2019096088A - 距離測定装置、通信システム、作成装置及び距離測定プログラム - Google Patents
距離測定装置、通信システム、作成装置及び距離測定プログラム Download PDFInfo
- Publication number
- JP2019096088A JP2019096088A JP2017225395A JP2017225395A JP2019096088A JP 2019096088 A JP2019096088 A JP 2019096088A JP 2017225395 A JP2017225395 A JP 2017225395A JP 2017225395 A JP2017225395 A JP 2017225395A JP 2019096088 A JP2019096088 A JP 2019096088A
- Authority
- JP
- Japan
- Prior art keywords
- data string
- distance
- character string
- character
- list
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
まず、以降の説明において必要となる従来の数理的背景を説明する。従来、事前の確率モデル設定を必要とせず、文字の連なりを考慮した出現率を用いるものとして、k次経験エントロピーが考案されている。このk次経験エントロピーは、文字列中から、文字長kの部分文字列を全て抽出し、抽出した各部分文字列について、文字列中の同一の部分文字列の直前(或いは直後)の文字の出現率を用いて計算されるものである。k次経験エントロピーは、以下の(2)式のように、算出される(詳細は、非特許文献4参照)。
H0(Tbc)=H0(acc)=1÷3×log(3÷1)+2÷3×log(3÷2)=0.9183 ・・・(A−2)
(na=1、nc=2、|Tbc|=3、小数点5桁以下四捨五入)
H0(Tcb)=H0(bbc)=2÷3×log(3÷2)+1÷3×log(3÷1)=0.9183 ・・・(A−3)
(nb=2、nc=1、|Tcb|=3、小数点5桁以下四捨五入)
H0(Tcc)=H0(b)=0 ・・・(A−4)
=0.1111×0+0.3333×0.9183+0.3333×0.9183+0.1111×0
=0.6122 ・・・(B−1)
次に、本実施の形態における数理的背景について述べる。本実施の形態に係る距離測定方法は、上記のk次経験エントロピーを、k次経験交差エントロピーへと拡張することによって、文字の連なりを考慮した分布の差異を測ることを可能とする。
次に、k次経験交差エントロピーの各種情報量への適用について説明する。まず、k次経験交差エントロピーを、KL情報量(Kullback−Leibler divergence:相対エントロピー(relative entropy))に適用する場合を例に説明する。
次に、k次経験交差エントロピーを、JS情報量(Jensen-Shannon divergence)に適用する場合を例に説明する。JS情報量は、以下の(10)式のように示すことができ、距離として用いられる。
次に、実施の形態1について説明する。本実施の形態1では、例えば、k次経験KL情報量を用いて、文字列または文字列リスト間の距離を測定する距離装置について説明する。
まず、変換部11の処理について説明する。変換部11は、計測対象の文字列または文字列リスト、及び、参照元の文字列または文字列リストに対して、k個の未使用の文字コードを区分文字列として入力して文字列または文字列リストを1つの文字列に変換する。
次に、出現数算出部12の処理について説明する。出現数算出部12は、i長(0≦i≦k、iは整数)の部分文字列と該部分文字列の直前文字とを用いて、例えば、以下のように出現数を算出する。
次に、経験情報量算出部13の処理について説明する。経験情報量算出部13は、参照文字列出現数Nqに基づき、0〜k次までの全ての経験情報量を算出する。経験情報量算出部13は、i次(0≦i≦k、iは整数)の経験情報量I[c+si]を、以下の(12)式を用いて、算出する。なお、(12)式は、(5−2)式に基づく。
次に、距離算出部14の処理について説明する。距離算出部14は、k次経験交差エントロピーを、計測対象の文字列または文字列リストと、参照元の文字列または文字列リストとの間の距離として算出する。この実施の形態1では、距離算出部14は、対象文字列の出現数と経験情報量とに基づき、k次経験KL情報量を算出し、距離として出力する。
次に、経験情報量格納部15の構成について説明する。経験情報量格納部15は、文字列をインデックスとして、文字列に対応する経験情報量を収めたデータ構造として構成される。経験情報量格納部15は、文字列をキーに問い合わせがあると、問い合わせ対象の文字列とインデックスとの前方一致を行い、文字列長が最長となるインデックスに対応する情報量を、問い合わせ元に返却する。
次に、距離測定装置10が実行する距離測定方法について説明する。図2は、図1に示す距離測定装置10が実行する距離測定方法の処理手順を示すフローチャートである。
本実施の形態では、文字の連なりを考慮したk次経験交差エントロピーを、文字列間または文字列リスト間の距離として算出している。k次経験交差エントロピーは、変換部11が変換した計測対象の文字列におけるk長部分文字列と該部分文字列の直前に出現する文字とを結合した結合部分文字列の出現率である第1の出現率と、変換部11が変換した参照元の文字列における直後がk長部分文字列であると判明している文字cの出現率である第2の出現率の対数である経験情報量と、の乗算値の総和である。
次に、実施の形態2について説明する。実施の形態2では、図1に示す距離測定装置10と同様の機能を有する距離測定部10´を用い、通信ログから悪性通信を検出する通信システムについて説明する。
図3は、実施の形態2に係る通信システムの構成の一例を示す図である。図3に示すように、実施の形態2に係る通信システム201は、悪性距離測定装置210と、検出装置220とを有する。
次に、悪性距離測定装置210について説明する。図3に示すように、悪性距離測定装置210は、距離測定部10´、学習部211及び推論部212を有する。
次に、学習部211の処理について説明する。学習部211は、教師データである悪性通信ログ及び良性通信ログの入力を受け付ける。ここで、通信ログは、その1行を文字列リストの1リストとして取り扱う。
次に、推論部212の処理について説明する。推論部212は、検出対象データである通信ログに対して、学習部211と同様に、前処理を実施する。
次に、悪性距離測定装置210における学習処理の処理手順について説明する。図4は、図3に示す悪性距離測定装置210における学習処理の処理手順を示すフローチャートである。
次に、悪性距離測定装置210における推論処理の処理手順について説明する。図5は、図3に示す悪性距離測定装置210における推論理の処理手順を示すフローチャートである。
次に、検出装置220における検出処理の処理手順について説明する。図6は、図3に示す検出装置220における検出処理の処理手順を示すフローチャートである。
このように、実施の形態2の通信システム201によれば、ブラックリストと、対象の通信ログとを1件ずつ個別に比較するのに対し、マルウェアの通信をひとまとめにして比較できることから、比較処理の高速化および検知精度の向上を図ることができるという効果を奏する。
次に、実施の形態3について説明する。実施の形態3では、距離測定部10´を用い、通信ログに含まれる悪性通信の原因のマルウェアを判定する通信システムについて説明する。
図7は、実施の形態3に係る通信システムの構成の一例を示す図である。図7に示すように、実施の形態3に係る通信システム301は、マルウェア種別距離測定装置310と、判定装置320とを有する。
次に、マルウェア種別距離測定装置310について説明する。図7に示すように、マルウェア種別距離測定装置310は、距離測定部10´、学習部311及び推論部312を有する。
次に、学習部311の処理について説明する。学習部311は、教師データであるマルウェア種別ごとに分別された悪性通信ログの入力を受け付ける。ここで、通信ログは、その1行を文字列リストの1リストとして取り扱う。
次に、推論部312の処理について説明する。推論部312は、検出対象データである通信ログに対して、学習部311と同様に、前処理を実施する。
判定装置320は、マルウェア種別距離測定装置210から出力されたマルウェア距離が最も短い距離に対応するマルウェア種別を、検出対象の通信ログの悪性通信のマルウェアとして判定する。判定装置320は、判定結果を対処装置等に出力する。判定装置320は、判定結果として、マルウェア種別名とともにその距離を出力してもよいし、距離が近い順または特定距離内のマルウェア種別名を複数件出力してもよい。
次に、マルウェア種別距離測定装置310における学習処理の処理手順について説明する。図8は、図7に示すマルウェア種別距離測定装置310における学習処理の処理手順を示すフローチャートである。
次に、マルウェア種別距離測定装置310における推論処理の処理手順について説明する。図9は、図7に示すマルウェア種別距離測定装置310における推論理の処理手順を示すフローチャートである。
次に、判定装置320における判定処理の処理手順について説明する。図10は、図7に示す判定装置320における検出処理の処理手順を示すフローチャートである。
マルウェアの多くは、特定の複数回通信を行うことが多い。そこで、実施の形態3で説明したように、複数回通信の効率的な比較処理によって、マルウェア種別判定の判定精度向上を図ることができる。また、実施の形態3によれば、未知のマルウェアの通信であっても、その類似の通信のものを判定及び出力することが可能であり、その亜種マルウェアとして分析及び対策を実施することも可能となる。
次に、実施の形態4について説明する。実施の形態4では、実施の形態1に係る距離測定部10´を用い、マルウェア種別ごとの悪性通信ログ間の距離を測定して、マルウェア種別ごとの悪性通信ログ間の距離を基にマルウェア関連マップまたは関連グラフ(系統樹)を生成する作成装置について説明する。
図11は、実施の形態4に係る作成装置の構成の一例を示す図である。図11に示すように、実施の形態4に係る作成装置410は、マルウェア間距離測定部411、作成部412及び距離測定部10´を有する。
次に、作成装置410が実行する作成処理の処理手順について説明する。図12は、図11に示す作成装置410が実行する作成処理の処理手順を示すフローチャートである。
マルウェアは、完全に新しく作られることは珍しく、既存のマルウェアやマルウェア作成ツールを改造して作成されることが大半であり、通信パターンもその既存のものと似通っていることが多い。そこで、実施の形態4では、通信に基づくマルウェアの関連マップ、関連グラフを生成することによって、マルウェアの作成系統を推測する等、マルウェア対策に寄与することができるという効果を奏する。
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
図13は、プログラムが実行されることにより、距離測定装置10、悪性距離測定装置210、マルウェア種別距離測定装置310及び作成装置410が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
11 変換部
12 出現数算出部
13 経験情報量算出部
14 距離算出部
15 経験情報量格納部
201,301 通信システム
210 悪性距離測定装置
211,311 学習部
212,312 推論部
220 検出装置
310 マルウェア種別距離測定装置
320 判定装置
410 作成装置
411 マルウェア間距離測定部
412 作成部
Claims (8)
- 計測対象のデータ列またはデータ列リスト、及び、参照元のデータ列またはデータ列リストに対し、k(kは任意の自然数)個の未使用の文字コードを区分データ列として入力してデータ列またはデータ列リストを1つのデータ列に変換する変換部と、
前記変換部が変換した計測対象のデータ列におけるk長部分データ列と該部分データ列の直前に出現する文字とを結合した結合部分データ列の出現率である第1の出現率と、前記変換部が変換した前記参照元のデータ列における直後がk長部分データ列であると判明している文字の出現率である第2の出現率の対数である経験情報量と、の乗算値の総和である、k次経験交差エントロピーを、前記計測対象のデータ列またはデータ列リストと、前記参照元のデータ列またはデータ列リストとの間の距離として算出する距離算出部と、
を有することを特徴とする距離測定装置。 - 前記距離算出部は、前記変換部が変換した参照元データ列の中に前記結合部分データ列が含まれていない場合、次数kを、前記変換部が変換した参照元データ列の中に前記結合部分データ列が出現する次数まで下げることを特徴とする請求項1または2に記載の距離測定装置。
- 前記変換部は、入力がデータ列の場合には、先頭と末尾とに前記区分データ列を追加し、入力がデータ列リストの場合には、先頭と末尾とに前記区分データ列を追加するとともにリスト間に区分データ列を挟み一つのデータ列として連結することを特徴とする請求項1〜3のいずれか一つに記載の距離測定装置。
- 検出対象の通信ログと悪性通信ログとの距離を測定する悪性距離測定装置と、悪性距離測定装置が測定した距離を基に前記通信ログに悪性通信が含まれることを検出する検出装置と、を有する通信システムであって、
前記悪性距離測定装置は、
計測対象のデータ列またはデータ列リスト、及び、参照元のデータ列またはデータ列リストに対し、k(kは任意の自然数)個の未使用の文字コードを区分データ列として入力してデータ列またはデータ列リストを1つのデータ列に変換する変換部と、
前記変換部が変換した計測対象のデータ列におけるk長部分データ列と該部分データ列の直前に出現する文字とを結合した結合部分データ列の出現率である第1の出現率と、前記変換部が変換した前記参照元のデータ列における直後がk長部分データ列であると判明している文字の出現率である第2の出現率の対数である経験情報量と、の乗算値の総和である、k次経験交差エントロピーを、前記計測対象のデータ列またはデータ列リストと、前記参照元のデータ列またはデータ列リストとの間の距離として算出する距離算出部と、 前記距離測定部に、悪性通信ログ及び良性通信ログを教師データとして学習させ、良性通信ログ及び悪性通信ログの経験情報量を、前記参照元のデータ列またはデータ列リストの経験情報量として蓄積させる学習部と、
前記距離測定部に、前記良性通信ログ及び悪性通信ログの経験情報量を基に、検出対象の通信ログと、教師データである悪性通信ログとの距離を算出させる推論部と、
を有し、
前記検出装置は、検出対象の通信ログと悪性通信ログとの距離が所定の距離以下の場合には、前記検出対象の通信ログに悪性通信が含まれることを検出する
ことを特徴とする通信システム。 - 検出対象の通信ログと悪性通信ログとの距離を測定するマルウェア種別距離測定装置と、距離測定装置が測定した距離を基に前記通信ログに含まれる悪性通信の原因のマルウェアを判定する判定装置と、を有する通信システムであって、
前記マルウェア種別距離測定装置は、
計測対象のデータ列またはデータ列リスト、及び、参照元のデータ列またはデータ列リストに対し、k(kは任意の自然数)個の未使用の文字コードを区分データ列として入力してデータ列またはデータ列リストを1つのデータ列に変換する変換部と、
前記変換部が変換した計測対象のデータ列におけるk長部分データ列と該部分データ列の直前に出現する文字とを結合した結合部分データ列の出現率である第1の出現率と、前記変換部が変換した前記参照元のデータ列における直後がk長部分データ列であると判明している文字の出現率である第2の出現率の対数である経験情報量と、の乗算値の総和である、k次経験交差エントロピーを、前記計測対象のデータ列またはデータ列リストと、前記参照元のデータ列またはデータ列リストとの間の距離として算出する距離算出部と、
前記距離測定部に、マルウェア種別ごとに分別された悪性通信ログを教師データとして学習させ、マルウェア種別ごとに求めさせた経験情報量を、前記参照元のデータ列またはデータ列リストの経験情報量として蓄積させる学習部と、
前記距離測定部に、前記マルウェア種別ごとの経験情報量を基に、検出対象の通信ログと、各マルウェア種別の悪性通信ログとの距離をマルウェア種別毎に算出させる推論部と、
を有し、
前記判定装置は、前記推論部が推論した距離が最も短い距離に対応するマルウェア種別を、検出対象の通信ログに含まれる悪性通信の原因のマルウェアとして判定する
ことを特徴とする通信システム。 - 計測対象のデータ列またはデータ列リスト、及び、参照元のデータ列またはデータ列リストに対し、k(kは任意の自然数)個の未使用の文字コードを区分データ列として入力してデータ列またはデータ列リストを1つのデータ列に変換する変換部であって、マルウェア種別ごとの悪性通信ログを変換する変換部と、
前記変換部が変換した計測対象のデータ列におけるk長部分データ列と該部分データ列の直前に出現する文字とを結合した結合部分データ列の出現率である第1の出現率と、前記変換部が変換した前記参照元のデータ列における直後がk長部分データ列であると判明している文字の出現率である第2の出現率の対数である経験情報量と、の乗算値の総和である、k次経験交差エントロピーを、前記計測対象のデータ列またはデータ列リストと、前記参照元のデータ列またはデータ列リストとの間の距離として算出する距離算出部であって、マルウェア種別ごとの悪性通信ログ間の距離を算出する距離算出部と、
マルウェア種別ごとの悪性通信ログ間の距離を用いて、マルウェア間の関係をマップ化したマルウェア関連マップ、または、マルウェア間を関連付けた関連グラフを作成する作成部と、
を有することを特徴とする作成装置。 - コンピュータを、請求項1〜4のいずれか一つに記載の距離測定装置として機能させるための距離測定プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017225395A JP6783741B2 (ja) | 2017-11-24 | 2017-11-24 | 距離測定装置、通信システム、作成装置及び距離測定プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017225395A JP6783741B2 (ja) | 2017-11-24 | 2017-11-24 | 距離測定装置、通信システム、作成装置及び距離測定プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019096088A true JP2019096088A (ja) | 2019-06-20 |
JP6783741B2 JP6783741B2 (ja) | 2020-11-11 |
Family
ID=66971779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017225395A Active JP6783741B2 (ja) | 2017-11-24 | 2017-11-24 | 距離測定装置、通信システム、作成装置及び距離測定プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6783741B2 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016066135A (ja) * | 2014-09-24 | 2016-04-28 | 日本電信電話株式会社 | 類似度評価装置、類似度評価システム、類似度評価装置方法、および、類似度評価プログラム |
US20160366155A1 (en) * | 2014-02-28 | 2016-12-15 | British Telecommunications Public Limited Company | Malicious encrypted network traffic identification |
JP2017102566A (ja) * | 2015-11-30 | 2017-06-08 | 日本電信電話株式会社 | 不正ファイル検知装置、不正ファイル検知方法、および、不正ファイル検知プログラム |
WO2018070404A1 (ja) * | 2016-10-14 | 2018-04-19 | 日本電気株式会社 | マルウェア解析装置、マルウェア解析方法、及び、マルウェア解析プログラムが格納された記録媒体 |
-
2017
- 2017-11-24 JP JP2017225395A patent/JP6783741B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160366155A1 (en) * | 2014-02-28 | 2016-12-15 | British Telecommunications Public Limited Company | Malicious encrypted network traffic identification |
JP2016066135A (ja) * | 2014-09-24 | 2016-04-28 | 日本電信電話株式会社 | 類似度評価装置、類似度評価システム、類似度評価装置方法、および、類似度評価プログラム |
JP2017102566A (ja) * | 2015-11-30 | 2017-06-08 | 日本電信電話株式会社 | 不正ファイル検知装置、不正ファイル検知方法、および、不正ファイル検知プログラム |
WO2018070404A1 (ja) * | 2016-10-14 | 2018-04-19 | 日本電気株式会社 | マルウェア解析装置、マルウェア解析方法、及び、マルウェア解析プログラムが格納された記録媒体 |
Non-Patent Citations (2)
Title |
---|
堀合啓一,外2名: "ハミング距離によるマルウェア亜種の自動分類", 情報処理学会研究報告 コンピュータセキュリティ, vol. 第2008巻,第45号, JPN6020039486, 15 May 2008 (2008-05-15), pages 61 - 66, ISSN: 0004368379 * |
小谷野仁,外2名: "文字列の距離空間上の最大マージン識別器とそのタンパク質科学への応用", 電子情報通信学会技術研究報告, vol. 第114巻,第105号, JPN6020039487, 18 June 2014 (2014-06-18), pages 75 - 82, ISSN: 0004368380 * |
Also Published As
Publication number | Publication date |
---|---|
JP6783741B2 (ja) | 2020-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200183986A1 (en) | Method and system for document similarity analysis | |
JP6560451B2 (ja) | 悪性通信ログ検出装置、悪性通信ログ検出方法、悪性通信ログ検出プログラム | |
JP6055391B2 (ja) | 関連性判定装置、関連性判定プログラム、及び関連性判定方法 | |
RU2722692C1 (ru) | Способ и система выявления вредоносных файлов в неизолированной среде | |
RU2728498C1 (ru) | Способ и система определения принадлежности программного обеспечения по его исходному коду | |
US10089411B2 (en) | Method and apparatus and computer readable medium for computing string similarity metric | |
CN111290784A (zh) | 适用于大规模样本的程序源代码相似度检测方法 | |
RU2728497C1 (ru) | Способ и система определения принадлежности программного обеспечения по его машинному коду | |
RU2759087C1 (ru) | Способ и система статического анализа исполняемых файлов на основе предиктивных моделей | |
CN111930610B (zh) | 软件同源性检测方法、装置、设备及存储介质 | |
US20230418578A1 (en) | Systems and methods for detection of code clones | |
US11947572B2 (en) | Method and system for clustering executable files | |
CN113688240B (zh) | 威胁要素提取方法、装置、设备及存储介质 | |
CN113901474A (zh) | 一种基于函数级代码相似性的漏洞检测方法 | |
CN116149669B (zh) | 一种基于二进制文件的软件成分分析方法、装置以及介质 | |
CN110674635A (zh) | 一种用于文本段落划分的方法和装置 | |
JP7092001B2 (ja) | 数値検索装置、数値検索方法および、数値検索プログラム | |
CN112612810A (zh) | 慢sql语句识别方法及系统 | |
Ting et al. | Faster classification using compression analytics | |
JP6783741B2 (ja) | 距離測定装置、通信システム、作成装置及び距離測定プログラム | |
JP6261669B2 (ja) | クエリ校正システムおよび方法 | |
WO2019163643A1 (ja) | 要約評価装置、方法、プログラム、及び記憶媒体 | |
Xiao et al. | Matching similar functions in different versions of a malware | |
CN113420127B (zh) | 威胁情报处理方法、装置、计算设备及存储介质 | |
CN115221522B (zh) | Elf恶意文件快速静态检测方法、装置、电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201012 |
|
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: 20201020 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201022 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6783741 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |