JP7509244B2 - 生成装置、生成方法および生成プログラム - Google Patents
生成装置、生成方法および生成プログラム Download PDFInfo
- Publication number
- JP7509244B2 JP7509244B2 JP2022576281A JP2022576281A JP7509244B2 JP 7509244 B2 JP7509244 B2 JP 7509244B2 JP 2022576281 A JP2022576281 A JP 2022576281A JP 2022576281 A JP2022576281 A JP 2022576281A JP 7509244 B2 JP7509244 B2 JP 7509244B2
- Authority
- JP
- Japan
- Prior art keywords
- software
- unit
- clustering
- malware
- matching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 123
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 title 1
- 238000001514 detection method Methods 0.000 claims description 42
- 238000000605 extraction Methods 0.000 claims description 42
- 230000005484 gravity Effects 0.000 claims description 25
- 238000010801 machine learning Methods 0.000 claims description 17
- 239000000284 extract Substances 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 description 96
- 238000012545 processing Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 8
- 230000007423 decrease Effects 0.000 description 6
- 239000013598 vector Substances 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 230000008685 targeting Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000002155 anti-virotic effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/564—Static detection by virus signature recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Description
以下に、本実施形態に係るソフトウェア家系図生成システムの構成、ソフトウェア家系図生成装置の構成、特徴量の抽出処理、家系図生成処理、家系図の具体例、特徴量の抽出処理の流れ、家系図生成処理の流れ、コンセプトドリフト検知処理および学習データ配信処理の流れを順に説明し、最後に本実施形態の効果を説明する。
図1を用いて、本実施形態に係るソフトウェア家系図生成システム(適宜、本システム)100の構成を詳細に説明する。図1は、第1の実施形態に係るソフトウェア家系図生成システムの構成例を示す図である。ソフトウェア家系図生成システム100は、ソフトウェア家系図生成装置10、各種端末等のユーザ端末20(20A、20B、20C)およびソフトウェア識別装置30を有する。ここで、ソフトウェア家系図生成装置10とユーザ端末20とソフトウェア識別装置30とは、図示しない所定の通信網を介して、有線または無線により通信可能に接続される。なお、図1に示したソフトウェア家系図生成システム100には、複数台のソフトウェア家系図生成装置10や、複数台のソフトウェア識別装置30が含まれてもよい。
図2を用いて、本実施形態に係るソフトウェア家系図生成装置10の構成を詳細に説明する。図2は、本実施形態に係るソフトウェア家系図生成装置の構成例を示すブロック図である。ソフトウェア家系図生成装置10は、入力部11、出力部12、通信部13、記憶部14および制御部15を有する。
図3の手順1を用いて、本実施形態に係る特徴量の抽出処理を詳細に説明する。図3の手順1は、第1の実施形態に係る特徴量の抽出処理の概要を示したものである。手順1では、ソフトウェア家系図生成装置10は、入力された各アプリケーションから、その動作や構造上の特徴を捉えられるような「特徴量」を抽出する。以下では、特徴量として、マルウェアが要求するパーミッション(特徴量1)と、ソースコードのパッケージ名およびクラス名(特徴量2)について説明するが、特に限定されない。
ソフトウェア家系図生成装置10は、過去のマルウェアの情報として、{1,・・・,i-1,i}のi回目までの入力を受け付け、新しいマルウェアの情報として、i+1目の入力を受け付けるものとする。また、各アプリケーション(マルウェア)の特徴量をデータDと表記する。Dは行列形式で定義し、各行が1つのアプリケーションに対応し、各列が1つの特徴量に対応する。
図3の手順1で抽出する特徴量として、マルウェアが要求するパーミッションを抽出する処理について詳細に説明する。パーミッションは、アプリケーションの動作のために、ユーザに要求する様々な権限を示す。例えば、Androidマルウェアが要求するパーミッションは、マニフェストファイル(AndroidManifest.xml)から取得することができ、Androidマルウェアがインターネットへのアクセスを要求する場合、「android.permission.INTERNET」というパーミッションがXML(Extensible Markup Language)ファイルに記述される。
図3の手順1で抽出する特徴量として、ソースコードのパッケージ名およびクラス名(ファイル名)を抽出する処理について詳細に説明する。以下では、Androidアプリケーションの例を用いて説明するが、アプリケーション(マルウェア)は特に限定されない。
ソフトウェア家系図生成装置10は、上述した特徴量の抽出処理以外の処理を行うこともできる。例えば、ソフトウェア家系図生成装置10は、上記のような静的解析に基づくパーミッションやパッケージ名やクラス名を抽出処理以外にも、動的解析結果を利用した処理や、アプリケーションが配置されているマーケットで取得可能な情報を利用した処理や、当該アプリケーションを利用するユーザに関する情報を利用した処理等を行うこともできる。
図3の手順2を用いて、本実施形態に係る家系図生成処理を詳細に説明する。図3の手順2は、第1の実施形態に係る家系図生成処理の概要を示したものである。手順2では、ソフトウェア家系図生成装置10は、クラスタリング処理(手順2-1)、クラスタのマッチング処理(手順2-2)、グラフ作成処理(手順2-3)の3つの処理を行う。
図3の手順2のうち、マルウェアのクラスタリング処理について詳細に説明する。ソフトウェア家系図生成装置10は、図3の手順1で抽出した特徴量に基づいて、時系列順に得られる複数のマルウェアのクラスタリングを行う。以下のクラスタリング処理では、最適なクラスタ数を自動決定できるX-means法を用いる例を記載するが、クラスタリング処理は、特に限定されない。
図3の手順2のうち、クラスタのマッチング処理について詳細に説明する。ソフトウェア家系図生成装置10は、図3の手順2-1で計算した各クラスタの重心に基づいて、クラスタのマッチング処理を行う。ここで、ソフトウェア家系図生成装置10は、過去のクラスタリング結果から、現在のクラスタリングの結果に近いものを探索する処理を行う。以下のクラスタのマッチング処理では、近傍の要素を探索する手法としてはk近傍法を用いる例を記載するが、クラスタのマッチング処理は、特に限定されない。
図3の手順2のうち、グラフ作成処理について詳細に説明する。ソフトウェア家系図生成装置10は、図3の手順2-2で得られたマッチング処理の結果に基づいて、マルウェアの家系図を表わすグラフの作成処理を行う。ソフトウェア家系図生成装置10が行うグラフの作成処理は、特に限定されない。
図4を用いて、本実施形態に係る家系図の一例を詳細に説明する。図4は、第1の実施形態に係る家系図の一例を示した図である。図4では、あるノードとつながっている集合が「家系」(「family line」と図中に表記した箇所)、複数の家系を含む全体図が「家系図」である。グラフは下方向に進むに従って、時間が進むことを示す。また、ノードの色や模様は、そのノードに対応するクラスタ内で最多のファミリを示す。家系図では図のように関連するマルウェアのクラスタが同じ家系で結ばれ、エッジを逆向きに辿ることで過去のマルウェアとの関連付けも容易に行える。
図5を用いて、本実施形態に係る特徴量の抽出処理の流れを詳細に説明する。図5は、第1の実施形態に係る特徴量の抽出処理の流れの一例を示すフローチャートである。まず、ソフトウェア家系図生成装置10の取得部15aは、マルウェアの情報をユーザ端末20から取得する(ステップS101)。このとき、取得部15aは、ユーザ端末20以外の機器から情報を取得してもよい。また、取得部15aは、入力部11を介して直接入力された情報を取得してもよい。
図6を用いて、本実施形態に係る家系図生成処理の流れを詳細に説明する。図6は、第1の実施形態に係る家系図生成処理の流れの一例を示すフローチャートである。まず、ソフトウェア家系図生成装置10のクラスタリング部15cは、抽出部15bによって抽出されたマルウェアの特徴量からクラスタを生成し(ステップS201)、各クラスタの重心を含むクラスタリング結果を計算する(ステップS202)。
図7を用いて、本実施形態に係るコンセプトドリフト検知処理および学習データ配信処理の流れを詳細に説明する。図7は、第1の実施形態に係るコンセプトドリフト検知処理および学習データ配信処理の流れの一例を示すフローチャートである。まず、ソフトウェア家系図生成装置10の生成部15eは、ノードおよびエッジを用いて、マルウェアの家系図を生成する(ステップS301)。
第1に、上述した本実施形態に係るソフトウェア家系図生成処理では、ソフトウェアの情報を取得し、取得したソフトウェアの情報から、ソフトウェアの特徴量を抽出し、抽出した特徴量に基づいて、ソフトウェアごとのクラスタを生成し、クラスタの重心を含むクラスタリング結果を計算し、マルウェアの情報から計算した過去のクラスタリング結果に含まれるクラスタの重心との距離が所定値以下の場合、計算したクラスタリング結果を、過去のクラスタリング結果とマッチングし、マッチングした結果に基づいて、ソフトウェアとマルウェアとの関係性を表わすグラフを生成する。このため、本処理では、時間変化によってコンセプトドリフトが発生したことを即座に特定し、検知精度が低下することなく、マルウェアをより正確に検知することができる。
上記実施形態に係る図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のごとく構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、上記実施形態において説明したソフトウェア家系図生成装置10が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。
11 入力部
12 出力部
13 通信部
14 記憶部
14a クラスタリング結果記憶部
15 制御部
15a 取得部
15b 抽出部
15c クラスタリング部
15d マッチング部
15e 生成部
15f 検知部
15g 配信部
20、20A、20B、20C ユーザ端末
30 ソフトウェア識別装置
100 ソフトウェア家系図生成システム
Claims (7)
- ソフトウェアの情報を取得する取得部と、
前記取得部によって取得された前記ソフトウェアの情報から、前記ソフトウェアの特徴量を抽出する抽出部と、
前記抽出部によって抽出された前記特徴量に基づいて、前記ソフトウェアごとのクラスタを生成し、該クラスタの重心を含むクラスタリング結果を計算するクラスタリング部と、
マルウェアの情報から計算された過去のクラスタリング結果に含まれるクラスタの重心との距離が所定値以下の場合、前記クラスタリング部によって計算された前記クラスタリング結果を、該過去のクラスタリング結果とマッチングするマッチング部と、
前記マッチング部によってマッチングされた結果に基づいて、前記ソフトウェアと前記マルウェアとの関係性を表わすグラフを生成する生成部と
を備えることを特徴とする生成装置。 - 前記取得部は、時系列順に複数のソフトウェアの情報を取得し、
前記抽出部は、前記特徴量として、前記ソフトウェアの動作または構造上の特性を抽出し、
前記クラスタリング部は、前記過去のクラスタリング結果をさらに更新し、
前記生成部は、前記マッチング部によってマッチングされた前記クラスタリング結果に対応するノードと前記過去のクラスタリング結果に対応するノードとを時系列順にエッジで接続することを特徴とする請求項1に記載の生成装置。 - 前記抽出部は、前記特徴量として、前記ソフトウェアによって要求されるパーミッションまたは、前記ソフトウェアのソースコードのパッケージ名およびクラス名を抽出することを特徴とする請求項2に記載の生成装置。
- 前記クラスタリング部は、X-means法を用いて前記クラスタを生成し、
前記マッチング部は、k近傍法を用いて前記クラスタリング結果をマッチングすることを特徴とする請求項3に記載の生成装置。 - 前記ソフトウェアの性質の変化を検知する検知部と、
前記検知部によって検知された前記性質の変化に基づいて、ソフトウェアを識別する機械学習モデルに学習データを配信する配信部と
をさらに備えることを特徴とする請求項1から4のいずれか1項に記載の生成装置。 - 生成装置によって実行される生成方法であって、
ソフトウェアの情報を取得する取得工程と、
前記取得工程によって取得された前記ソフトウェアの情報から、前記ソフトウェアの特徴量を抽出する抽出工程と、
前記抽出工程によって抽出された前記特徴量に基づいて、前記ソフトウェアごとのクラスタを生成し、該クラスタの重心を含むクラスタリング結果を計算するクラスタリング工程と、
マルウェアの情報から計算された過去のクラスタリング結果に含まれるクラスタの重心との距離が所定値以下の場合、前記クラスタリング工程によって計算された前記クラスタリング結果を、該過去のクラスタリング結果とマッチングするマッチング工程と、
前記マッチング工程によってマッチングされた結果に基づいて、前記ソフトウェアと前記マルウェアとの関係性を表わすグラフを生成する生成工程と
を含むことを特徴とする生成方法。 - ソフトウェアの情報を取得する取得ステップと、
前記取得ステップによって取得された前記ソフトウェアの情報から、前記ソフトウェアの特徴量を抽出する抽出ステップと、
前記抽出ステップによって抽出された前記特徴量に基づいて、前記ソフトウェアごとのクラスタを生成し、該クラスタの重心を含むクラスタリング結果を計算するクラスタリングステップと、
マルウェアの情報から計算された過去のクラスタリング結果に含まれるクラスタの重心との距離が所定値以下の場合、前記クラスタリングステップによって計算された前記クラスタリング結果を、該過去のクラスタリング結果とマッチングするマッチングステップと、
前記マッチングステップによってマッチングされた結果に基づいて、前記ソフトウェアと前記マルウェアとの関係性を表わすグラフを生成する生成ステップと
をコンピュータに実行させることを特徴とする生成プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2021/001920 WO2022157867A1 (ja) | 2021-01-20 | 2021-01-20 | 生成装置、生成方法および生成プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2022157867A1 JPWO2022157867A1 (ja) | 2022-07-28 |
JP7509244B2 true JP7509244B2 (ja) | 2024-07-02 |
Family
ID=82548582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022576281A Active JP7509244B2 (ja) | 2021-01-20 | 2021-01-20 | 生成装置、生成方法および生成プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240303330A1 (ja) |
EP (1) | EP4266200A1 (ja) |
JP (1) | JP7509244B2 (ja) |
WO (1) | WO2022157867A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115422556B (zh) * | 2022-11-07 | 2023-03-24 | 中国科学技术大学 | 漏洞利用概率预测方法、系统、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011040064A (ja) | 2003-11-12 | 2011-02-24 | Trustees Of Columbia Univ In The City Of New York | 正常データのnグラム分布を用いてペイロード異常を検出するための装置、方法、及び媒体 |
US20190073474A1 (en) | 2013-02-26 | 2019-03-07 | Palo Alto Networks, Inc. | Malware detection using clustering with malware source information |
-
2021
- 2021-01-20 WO PCT/JP2021/001920 patent/WO2022157867A1/ja active Application Filing
- 2021-01-20 JP JP2022576281A patent/JP7509244B2/ja active Active
- 2021-01-20 EP EP21920981.4A patent/EP4266200A1/en active Pending
- 2021-01-20 US US18/272,802 patent/US20240303330A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011040064A (ja) | 2003-11-12 | 2011-02-24 | Trustees Of Columbia Univ In The City Of New York | 正常データのnグラム分布を用いてペイロード異常を検出するための装置、方法、及び媒体 |
US20190073474A1 (en) | 2013-02-26 | 2019-03-07 | Palo Alto Networks, Inc. | Malware detection using clustering with malware source information |
Also Published As
Publication number | Publication date |
---|---|
EP4266200A1 (en) | 2023-10-25 |
JPWO2022157867A1 (ja) | 2022-07-28 |
US20240303330A1 (en) | 2024-09-12 |
WO2022157867A1 (ja) | 2022-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Euh et al. | Comparative analysis of low-dimensional features and tree-based ensembles for malware detection systems | |
US9762593B1 (en) | Automatic generation of generic file signatures | |
Tang et al. | Dynamic API call sequence visualisation for malware classification | |
US11580222B2 (en) | Automated malware analysis that automatically clusters sandbox reports of similar malware samples | |
Azab et al. | Msic: malware spectrogram image classification | |
US20160219068A1 (en) | Method and apparatus for automatically identifying signature of malicious traffic using latent dirichlet allocation | |
Palahan et al. | Extraction of statistically significant malware behaviors | |
Sayfullina et al. | Efficient detection of zero-day android malware using normalized bernoulli naive bayes | |
CN110750789B (zh) | 解混淆方法、装置、计算机设备和存储介质 | |
Wang et al. | A malware variants detection methodology with an opcode based feature method and a fast density based clustering algorithm | |
Balram et al. | Static malware analysis using machine learning algorithms on APT1 dataset with string and PE header features | |
US11423099B2 (en) | Classification apparatus, classification method, and classification program | |
Darus et al. | Android malware classification using XGBoost on data image pattern | |
WO2017010350A1 (ja) | ソフトウェア解析システム、ソフトウェア解析方法およびソフトウェア解析プログラム | |
CN114595451A (zh) | 基于图卷积的安卓恶意应用分类方法 | |
CN113315851A (zh) | 域名检测方法、装置及存储介质 | |
JP7509244B2 (ja) | 生成装置、生成方法および生成プログラム | |
EP3799367B1 (en) | Generation device, generation method, and generation program | |
Zhang et al. | Slowing down the aging of learning-based malware detectors with api knowledge | |
KR20200073822A (ko) | 악성코드 분류 방법 및 그 장치 | |
Pranav et al. | Detection of botnets in IoT networks using graph theory and machine learning | |
US11868473B2 (en) | Method for constructing behavioural software signatures | |
Khan et al. | Op2Vec: An Opcode Embedding Technique and Dataset Design for End‐to‐End Detection of Android Malware | |
Pektaş et al. | Runtime-behavior based malware classification using online machine learning | |
TW201626279A (zh) | 保護方法與其電腦系統 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230613 |
|
A80 | Written request to apply exceptions to lack of novelty of invention |
Free format text: JAPANESE INTERMEDIATE CODE: A801 Effective date: 20230613 |
|
A80 | Written request to apply exceptions to lack of novelty of invention |
Free format text: JAPANESE INTERMEDIATE CODE: A80 Effective date: 20230613 |
|
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: 20240521 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240603 |