JP6588385B2 - シグネチャ生成装置、シグネチャ生成方法、および、シグネチャ生成プログラム - Google Patents

シグネチャ生成装置、シグネチャ生成方法、および、シグネチャ生成プログラム Download PDF

Info

Publication number
JP6588385B2
JP6588385B2 JP2016095012A JP2016095012A JP6588385B2 JP 6588385 B2 JP6588385 B2 JP 6588385B2 JP 2016095012 A JP2016095012 A JP 2016095012A JP 2016095012 A JP2016095012 A JP 2016095012A JP 6588385 B2 JP6588385 B2 JP 6588385B2
Authority
JP
Japan
Prior art keywords
attack
signature
character string
signature generation
codes
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
JP2016095012A
Other languages
English (en)
Other versions
JP2017204108A (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
Priority to JP2016095012A priority Critical patent/JP6588385B2/ja
Publication of JP2017204108A publication Critical patent/JP2017204108A/ja
Application granted granted Critical
Publication of JP6588385B2 publication Critical patent/JP6588385B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、シグネチャ生成装置、シグネチャ生成方法、および、シグネチャ生成プログラムに関する。
近年、公開サーバに対するサイバー攻撃が大きな脅威となっている。特に一般的に広く使用されるソフトウェアの脆弱性を悪用する例は重大な問題となっている。ソフトウェアの脆弱性に対する根本的な対策はパッチの適用であるが、パッチの適用によるシステムへの影響の検証等の理由ですぐにパッチを適用できない場合もある。そのような場合はWeb Application Firewall(WAF)等の不正アクセス検知製品が有効である。WAF等の不正アクセス検知製品はあらかじめ攻撃パターンをシグネチャとして定義し、シグネチャに一致する通信を遮断するものである。
ところで、脆弱性が発見されると脆弱性を悪用する様々なパターンの攻撃コードがWeb等で公開され、すぐに世界中で攻撃が発生するという状況がある。このため脆弱性を突く様々な攻撃コードを検知可能なシグネチャを迅速に作成することが求められている。ところが、シグネチャを作成できる専門家は限られており、様々な攻撃コードを検知可能なシグネチャを迅速に作成することは容易ではない。
ここで、様々な攻撃コードを検知可能なシグネチャを作成するため、例えば、非特許文献1に記載の技術を用いて、複数の攻撃コードを入力値として用いて、これらの複数の攻撃コードを検知するWAFのシグネチャを自動生成することも考えられる。
Ralf Spenneberg.,"Webserver-Sicherheit mit mod_security", Datenschutz und Datensicherheit,p155-160, 3, 2009 Robert A. Wagner and Michael J. Fischer.,"The String-to-String Correction Problem",J.ACM, Vol. 21, pp.168-173, January 1974
しかし、上記の技術により複数の攻撃コードを入力値として用いて、これらの攻撃コードを検知するWAFのシグネチャを自動生成したとしても、入力値として用いた攻撃コード以外が対象とする脆弱性を突く攻撃コードを検知することはできない。そこで、本発明は、前記した問題を解決し、入力値として用いた攻撃コード以外の攻撃コードについても検知可能なシグネチャを迅速に生成することを課題とする。
前記した課題を解決するため、本発明は、攻撃コードの検知に用いるシグネチャを生成するシグネチャ生成装置であって、複数の攻撃コードの入力を受け付ける入力部と、入力された前記複数の攻撃コードに共通している文字列のパターンを抽出し、前記複数の攻撃コードには共通していない文字列のパターンを正規表現に置き換えた文字列である前記シグネチャを生成するシグネチャ生成部とを備えることを特徴とする。
本発明によれば、入力値として用いた攻撃コード以外の攻撃コードについても検知可能なシグネチャを迅速に生成することができる。
図1は、シグネチャ生成装置の構成例を示す図である。 図2は、攻撃コードの形態素解析の例を示す図である。 図3は、複数の攻撃コードの形態素列における最長共通部分列の抽出の例を示す図である。 図4は、最長共通部分列以外の形態素の正規表現への置換によるシグネチャ生成の例を示す図である。 図5は、シグネチャ生成装置の処理手順の例を示すフローチャートである。 図6は、シグネチャ生成プログラムを実行するコンピュータを示す図である。
以下、図面を参照しながら、本発明を実施するための形態(実施形態)について説明する。本発明は本実施形態に限定されない。
図1を用いて本実施形態のシグネチャ生成装置10を説明する。シグネチャ生成装置10は、複数の攻撃コードの入力を受け付けると、この複数の攻撃コードを用いてシグネチャを生成する。このシグネチャは、例えば、WAF等において攻撃を見分ける手がかりとなる、パケットの先頭あるいはパケットグループの文字列のパターンである。また、攻撃コードは、攻撃先への攻撃に用いられるデータであり、例えば、攻撃先への送信パケットのうち、攻撃先のソフトウェアの脆弱性を突き悪用するための文字列部分である。
シグネチャ生成装置10は、入力部11と、制御部12と、出力部13とを備える。入力部11は、シグネチャの生成に用いられる複数の攻撃コード(例えば、攻撃コードA、攻撃コードB、攻撃コードC等)の入力を受け付ける。制御部12は、シグネチャ生成装置10全体の制御を司り、ここでは主にシグネチャ生成部121によりシグネチャの生成を行う。出力部13は、制御部12により生成されたシグネチャを出力する。
シグネチャ生成部121は、文字列分割部122と、共通部分列抽出部123と、文字列置換部124とを備える。
文字列分割部122は、入力部11で受け付けた複数の攻撃コードそれぞれを、意味を持つ最小単位の文字列に分割する。例えば、文字列分割部122は、正規表現を用いたルールベースの形態素解析器により、図2の符号21に示す攻撃コードの形態素解析を行い、符号22に示す攻撃コードの形態素列を作成する。なお、符号22に示す形態素列において「|」は、形態素を分割した境界を示す。
共通部分列抽出部123は、複数の攻撃コードの文字列の分割結果を用いて、複数の攻撃コードに共通している文字列のパターン(共通部分文字列)を抽出する。例えば、共通部分列抽出部123は、複数の攻撃コードの文字列の形態素解析の結果を用いて、複数の攻撃コードに共通する最長共通部分列を算出し、抽出する。この最長共通部分列の算出は、例えば、非特許文献2に記載の技術を用いて行う。なお、シグネチャ生成部121が、シグネチャに、このような複数の攻撃コードの最長共通部分列を用いることで、複数の攻撃コードの攻撃対象の脆弱性と同じ脆弱性を突く他の攻撃コードについても検知しやすいシグネチャを生成することができる。
一例を挙げると、共通部分列抽出部123は、例えば、図3の(A)に示す攻撃コードの形態素列と、(B)に示す攻撃コードの形態素列との最長共通部分列として、符号31に示す文字列を抽出する。なお、この例では、文字列の大文字・小文字は同じ要素としてみなすルールを適用しているが、これに限定されない。
文字列置換部124は、入力部11で受け付けた複数の攻撃コードのうち、共通部分文字列(例えば、最長共通部分列)以外の文字列を一般化することでシグネチャを生成する。例えば、文字列置換部124は、入力部11で受け付けた複数の攻撃コードのうち、最長共通部分列以外の文字列を正規表現に置き換えることにより、シグネチャを生成する。正規表現への置き換えは、例えば、Jeffrey E. F. Friedl著、「詳説 正規表現 第3版」、オライリージャパン等に記載の技術を用いて行う。
最長共通部分列以外の文字列を正規表現に置き換える処理の一例を挙げる。ここでは、共通部分列抽出部123が、図4の(A)に示す攻撃コードの形態素列と、(B)に示す攻撃コードの形態素列との最長共通部分列として、符号51に示す文字列を抽出した場合を考える。この場合、文字列置換部124は、例えば、符号52に示すように、複数の攻撃コードそれぞれの形態素列から得られた最長共通部分列以外の形態素を、正規表現(例えば、「¥W+」等)に置換する。そして、文字列置換部124は、最長共通部分列、正規表現に置換された形態素を利用してシグネチャを生成する。例えば、文字列置換部124は、符号52の(A)に示す形態素列および(B)に示す形態素列を統合して、符号53に示すシグネチャを生成する。
このようにすることでシグネチャ生成装置10は、入力値として用いた攻撃コード以外の攻撃コードについても検知可能なシグネチャを迅速に生成することができる。
次に、図5を用いて、シグネチャ生成装置10の処理手順を説明する。ここでは、シグネチャ生成装置10が、複数の攻撃コードの形態素列から最長共通部分列を算出し、最長共通部分列以外を正規表現に置き換えることによりシグネチャを生成する場合を例に説明する。
まず、シグネチャ生成装置10の入力部11が複数の攻撃コードの入力を受け付けると(S1)、共通部分列抽出部123は、攻撃コードそれぞれの形態素解析を行う(S2)。その後、共通部分列抽出部123は、形態素解析された複数の攻撃コードそれぞれの形態素列から最長共通部分列を算出する(S3)。そして、文字列置換部124は、複数の攻撃コードの最長共通部分列以外の形態素を正規化(正規表現に置換)する(S4)。これにより、文字列置換部124は、最長共通部分列、正規表現への置換後の形態素を用いたシグネチャを生成する。その後、出力部13は、生成されたシグネチャを出力する(S5)。
このようにすることで、シグネチャ生成装置10は入力値として用いた攻撃コード以外の攻撃コードについても検知可能なシグネチャを生成することができる。
また、シグネチャ生成装置10は、上記の処理を実行する専用のハードウェアにより実現してもよいし、上記の処理を実行するシグネチャ生成プログラムを所望の情報処理装置(コンピュータ)にインストールすることによって実現してもよい。例えば、パッケージソフトウェアやオンラインソフトウェアとして提供される上記のシグネチャ生成プログラムを情報処理装置に実行させることにより、情報処理装置をシグネチャ生成装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistants)等のスレート端末等がその範疇に含まれる。また、シグネチャ生成装置10を、Webサーバやクラウドとして実装し、ネットワーク経由でシグネチャの生成をするようにしてもよい。
(プログラム)
図6は、シグネチャ生成プログラムを実行するコンピュータを示す図である。図6に示すように、コンピュータ1000は、例えば、メモリ1010と、CPU(Central Processing Unit)1020と、ハードディスクドライブインタフェース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が接続される。
ここで、図6に示すように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。上記実施形態で説明した各情報、データは、例えばハードディスクドライブ1090やメモリ1010に記憶される。
また、シグネチャ生成プログラムは、例えば、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、ハードディスクドライブ1090に記憶される。具体的には、上記実施形態で説明したシグネチャ生成装置10が実行する各処理が記述されたプログラムモジュールが、ハードディスクドライブ1090に記憶される。
また、シグネチャ生成プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えば、ハードディスクドライブ1090に記憶される。そして、CPU1020が、ハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
なお、シグネチャ生成プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、シグネチャ生成プログラムに係るプログラムモジュール1093やプログラムデータ1094は、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
10 シグネチャ生成装置
11 入力部
12 制御部
13 出力部
121 シグネチャ生成部
122 文字列分割部
123 共通部分列抽出部
124 文字列置換部

Claims (3)

  1. 攻撃コードの検知に用いるシグネチャを生成するシグネチャ生成装置であって、
    複数の攻撃コードの入力を受け付ける入力部と、
    入力された前記複数の攻撃コードの形態素解析を行い、前記形態素解析により得られた形態素列における最長共通部分列を、前記複数の攻撃コードに共通している文字列のパターンとして抽出し、前記複数の攻撃コードには共通していない文字列のパターンを正規表現に置き換えた文字列である前記シグネチャを生成するシグネチャ生成部と
    を備えることを特徴とするシグネチャ生成装置。
  2. 攻撃コードの検知に用いるシグネチャを生成するシグネチャ生成方法であって、
    複数の攻撃コードの入力を受け付けるステップと、
    入力された前記複数の攻撃コードの形態素解析を行い、前記形態素解析により得られた形態素列における最長共通部分列を、前記複数の攻撃コードに共通している文字列のパターンとして抽出し、前記複数の攻撃コードには共通していない文字列のパターンを正規表現に置き換えた文字列である前記シグネチャを生成するステップと
    を含んだことを特徴とするシグネチャ生成方法。
  3. 攻撃コードの検知に用いるシグネチャを生成するコンピュータに実行させるためのシグネチャ生成プログラムであって、
    複数の攻撃コードの入力を受け付けるステップと、
    入力された前記複数の攻撃コードの形態素解析を行い、前記形態素解析により得られた形態素列における最長共通部分列を、前記複数の攻撃コードに共通している文字列のパターンとして抽出し、前記複数の攻撃コードには共通していない文字列のパターンを正規表現に置き換えた文字列である前記シグネチャを生成するステップと
    を前記コンピュータに実行させることを特徴とするシグネチャ生成プログラム。
JP2016095012A 2016-05-11 2016-05-11 シグネチャ生成装置、シグネチャ生成方法、および、シグネチャ生成プログラム Active JP6588385B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016095012A JP6588385B2 (ja) 2016-05-11 2016-05-11 シグネチャ生成装置、シグネチャ生成方法、および、シグネチャ生成プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016095012A JP6588385B2 (ja) 2016-05-11 2016-05-11 シグネチャ生成装置、シグネチャ生成方法、および、シグネチャ生成プログラム

Publications (2)

Publication Number Publication Date
JP2017204108A JP2017204108A (ja) 2017-11-16
JP6588385B2 true JP6588385B2 (ja) 2019-10-09

Family

ID=60323281

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016095012A Active JP6588385B2 (ja) 2016-05-11 2016-05-11 シグネチャ生成装置、シグネチャ生成方法、および、シグネチャ生成プログラム

Country Status (1)

Country Link
JP (1) JP6588385B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11347779B2 (en) 2018-06-13 2022-05-31 Oracle International Corporation User interface for regular expression generation
US11941018B2 (en) 2018-06-13 2024-03-26 Oracle International Corporation Regular expression generation for negative example using context

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005050369A2 (en) * 2003-11-12 2005-06-02 The Trustees Of Columbia University In The City Ofnew York Apparatus method and medium for detecting payload anomaly using n-gram distribution of normal data
US20090235357A1 (en) * 2008-03-14 2009-09-17 Computer Associates Think, Inc. Method and System for Generating a Malware Sequence File
JP2012003463A (ja) * 2010-06-16 2012-01-05 Kddi Corp シグネチャの生成を支援する支援装置、方法及びプログラム

Also Published As

Publication number Publication date
JP2017204108A (ja) 2017-11-16

Similar Documents

Publication Publication Date Title
Nguyen et al. A novel graph-based approach for IoT botnet detection
Gopinath et al. A comprehensive survey on deep learning based malware detection techniques
CN110659483B (zh) 使用在一个恶意文件上训练的学习模型识别多个恶意文件的系统和方法
Alazab Profiling and classifying the behavior of malicious codes
JP6697123B2 (ja) プロファイル生成装置、攻撃検知装置、プロファイル生成方法、および、プロファイル生成プログラム
RU2624552C2 (ru) Способ обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины
US10691739B2 (en) Multi-label content recategorization
JP2017021776A (ja) モバイルデバイスでの悪質なファイルを検出するシステム及び方法
El Boujnouni et al. New malware detection framework based on N-grams and support vector domain description
WO2017052942A1 (en) Multi-label classification for overlapping classes
Gurulian et al. You can’t touch this: Consumer-centric android application repackaging detection
JP2014096142A (ja) 情報処理装置、情報処理システムおよび情報処理方法
JP6588385B2 (ja) シグネチャ生成装置、シグネチャ生成方法、および、シグネチャ生成プログラム
JP6505533B2 (ja) 悪質なコードの検出
CN114172703A (zh) 一种恶意软件识别方法、装置、介质
Rani et al. Analysis of Anomaly detection of Malware using KNN
US11574054B2 (en) System, method and apparatus for malicious software detection
KR20130116426A (ko) 전자 서명 검증 장치 및 방법
Tupadha et al. Machine learning for malware evolution detection
JP2019049800A (ja) 抽出装置、抽出方法および抽出プログラム
Bayoglu et al. Polymorphic worm detection using token-pair signatures
JP6935849B2 (ja) 学習方法、学習装置及び学習プログラム
Parmuval et al. Malware family detection approach using image processing techniques: visualization technique
CN116089938A (zh) 开源组件包的安全检测方法及装置
JP7052602B2 (ja) 生成装置、生成方法及び生成プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180615

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190709

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190826

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190912

R150 Certificate of patent or registration of utility model

Ref document number: 6588385

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150