JP7684755B2 - バイナリファイルの固定化とウェーブレット信号処理によるバイナリファイルの特徴情報の抽出 - Google Patents

バイナリファイルの固定化とウェーブレット信号処理によるバイナリファイルの特徴情報の抽出 Download PDF

Info

Publication number
JP7684755B2
JP7684755B2 JP2024514694A JP2024514694A JP7684755B2 JP 7684755 B2 JP7684755 B2 JP 7684755B2 JP 2024514694 A JP2024514694 A JP 2024514694A JP 2024514694 A JP2024514694 A JP 2024514694A JP 7684755 B2 JP7684755 B2 JP 7684755B2
Authority
JP
Japan
Prior art keywords
data
coefficient matrix
feature
input data
wavelet
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
JP2024514694A
Other languages
English (en)
Other versions
JP2024535757A (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.)
Korea University Research and Business Foundation
Original Assignee
Korea University Research and Business Foundation
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
Priority claimed from KR1020210163930A external-priority patent/KR102533012B1/ko
Application filed by Korea University Research and Business Foundation filed Critical Korea University Research and Business Foundation
Publication of JP2024535757A publication Critical patent/JP2024535757A/ja
Application granted granted Critical
Publication of JP7684755B2 publication Critical patent/JP7684755B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本開示は、悪性コードの検知に係り、具体的には、バイナリファイルを固定された大きさのデータに変換し、ウェーブレット信号処理によって静的に特徴情報を抽出する方法に関するものである。
世界的に、大量の悪性コードがサイバー空間に流布されており、迅速にバイナリファイルの特徴情報を抽出し、悪性コードであるか否かを検知する必要がある。
しかし、動作システムの環境によって、バイナリファイルは、PE(Portable Executable)又ELF(Executable and Linkable Format)等のような構造になっている場合がある。そのため、バイナリファイルから特徴情報を抽出する際、当該バイナリファイルの構造に合わせて、特徴情報の抽出プロセスを変えなければならない場合がある。また、パッキング及び難読化が施されていないバイナリファイルと、パッキング及び難読化が施されたバイナリファイルから特徴情報を抽出した場合、パッキング及び難読化が施されたバイナリファイルからは、有意味な特徴情報を抽出することが困難であるという限界も存在し得る。さらに、バイナリファイルから特徴情報を抽出するために、バイナリファイルに対して、画像化、グレースケール、配列化のようなデータ変換のプロセスを遂行する必要が出てくる場合がある。しかし、バイナリファイルを変換する際、バイナリファイルの大きさがそれぞれ異なるため、変換されたバイナリファイルの形態が固定されず、そのため、大きさがそれぞれ異なるバイナリファイルから、均一な水準の特徴情報を抽出することに限界が存在し得る。さらに、バイナリファイルからウェーブレット信号処理によって特徴情報を抽出する場合、バイナリファイルの大きさによって、抽出される特徴情報が変わるという問題が存在し得る。
本開示は、前述の背景技術に対応し案出されたものであり、迅速にバイナリファイルの特徴情報を抽出するために、静的特徴情報抽出プロセスで抽出した特徴情報を用いて、悪性コードであるか否かを検知するものである。
また、動作システムの環境によって異なるバイナリファイルの構造を問わず、あらゆるバイナリファイルに対して1つの特徴情報抽出プロセスを実行し、特徴情報を抽出することを可能にするものである。
また、パッキング及び難読化が施されていないバイナリファイルと、パッキング及び難読化が施されたバイナリファイルの両方から、均一な水準の有意味なバイナリファイル特徴情報を抽出するものである。
また、バイナリファイルに対して、padding、slicing、histogram、隠れマルコフ等のような方法を実行し、固定された大きさのデータを生成するものである。
また、隠れマルコフの概念を適用し、バイナリファイルをバイト単位で読み取り、現在のバイトから次のバイトへと連結される(続く)場合に係る確率値を配列化し、大きさがそれぞれ異なる複数のバイナリファイルを固定された形態のデータに変換するものである。
また、固定された形態のデータに変換された、大きさがそれぞれ異なる複数のバイナリファイルから、ウェーブレット信号処理によって、悪性コードを検知するのに有意味な特徴情報を抽出するものである。
本開示における技術的課題は、前述の技術的課題に限定されるものではなく、当業者は、以下の記載内容に基づき、前述の技術的課題以外の課題についても明確に理解することが可能である。
前述の課題を解決するための本開示の一実施例に基づき、少なくとも1つのプロセッサーを含むコンピューティング装置により実行されるファイル特徴情報を抽出する方法が開示される。上記実行されるファイル特徴情報を抽出する方法は、バイナリ(binary)ファイルの形態の入力データを、予め設定された大きさのデータに変換する段階;及び上記予め設定された大きさのデータから、上記入力データの特徴情報を抽出する段階;を含むことが可能である。
また、上記バイナリ(binary)ファイルの形態の入力データを、予め設定された大きさのデータに変換する段階は、隠れマルコフモデル(hidden Markov model)を利用し、上記入力データを上記予め設定された大きさのデータに変換する段階;を含むことが可能である。
また、上記バイナリ(binary)ファイルの形態の入力データを、予め設定された大きさのデータに変換する段階は、上記入力データを、記憶装置の大きさを表す第1単位(unit)に区分して認識する段階;上記第1単位で認識されたデータの個数をカウントする段階;及び上記第1単位のデータの個数に基づき、上記入力データを上記予め設定された大きさのデータに変換する段階;を含むことが可能である。
また、上記バイナリ(binary)ファイルの形態の入力データを、予め設定された大きさのデータに変換する段階は、上記入力データをバイト単位で認識する段階;認識された複数のバイトの各々の個数をカウントする段階;及び上記複数のバイトの各々の個数に基づき、上記入力データを上記予め設定された大きさのデータに変換する段階;を含むことが可能である。
また、上記複数のバイトの各々の個数に基づき、上記入力データを上記予め設定された大きさのデータに変換する段階は、上記複数のバイトの各々の個数に基づき、全データのうち上記複数のバイトの各々の出現確率を計算する段階;及び上記出現確率に基づき、上記入力データを上記予め設定された大きさのデータに変換する段階;を含むことが可能である。
また、上記バイナリ(binary)ファイルの形態の入力データを、予め設定された大きさのデータに変換する段階は、上記入力データをバイト単位で認識する段階;認識された複数のバイトのうち第1バイトの次に第2バイトが連結される(続く)、複数のバイト間の固有の連結構造の出現回数を計算する段階-上記出現回数は、上記認識された複数のバイトのうち少なくとも一部について計算される-;及び上記出現回数に基づき、上記入力データを上記予め設定された大きさのデータに変換する段階;を含むことが可能である。
また、上記出現回数に基づき、上記入力データを上記予め設定された大きさのデータに変換する段階は、上記出現回数に基づき、上記第1バイトの次に上記第2バイトが出現する、複数のバイト間の連結確率を計算する段階;及び上記連結確率に基づき、上記入力データを上記予め設定された大きさのデータに変換する段階;を含むことが可能である。
また、上記予め設定された大きさのデータから、上記入力データの特徴情報を抽出する段階は、ウェーブレット変換(wavelet transform)法を利用し、上記予め設定された大きさのデータから、特徴情報を抽出する段階;を含むことが可能である。
また、上記ウェーブレット変換(wavelet transform)法を利用し、上記予め設定された大きさのデータから、特徴情報を抽出する段階は、上記予め設定された大きさのデータに対して上記ウェーブレット変換を行い、ウェーブレット係数行列を抽出する段階-上記ウェーブレット係数行列は、近似係数行列(approximation coefficients matrix)及び詳細係数行列(detail coefficients matrix)を含む-;及び上記ウェーブレット係数行列に基づき、上記入力データの特徴情報を抽出する段階;を含むことが可能である。
また、上記詳細係数行列は、水平係数行列(horizontal coefficients matrix)、垂直係数行列(vertical coefficients matrix)又は対角係数行列(diagonal coefficients matrix)のうち、少なくとも1つを含むことが可能である。
また、上記予め設定された大きさのデータは、行列の構造を持つデータであり、上記特徴情報は、上記予め設定された大きさのデータが1x1の行列の構造になるように、第1回数のウェーブレット変換を行って抽出される上記近似係数行列に係る第1特徴、第1臨界回数以上かつ上記第1回数以下である第1個数範囲(回数範囲)内における第2回数のウェーブレット変換を行って抽出される上記対角係数行列の値に係る第2特徴、上記第1臨界回数以上かつ上記第1回数未満である第2個数範囲(回数範囲)内における第3回数のウェーブレット変換を行って抽出される上記対角係数行列に係る第3特徴、又は、上記第1臨界回数未満である第2臨界回数以上かつ上記第1回数未満である第3個数範囲(回数範囲)内における第4回数のウェーブレット変換を行って抽出される上記対角係数行列に係る第4特徴のうち、少なくとも1つを含むが、この場合、上記第1臨界回数は、上記第1回数より少ない回数になり得る。
また、上記第3特徴は、上記第3回数のウェーブレット変換を行って抽出される上記対角係数行列の比率に係る第3-1特徴、又は上記第3回数のウェーブレット変換を行って抽出される上記対角係数行列の第1標準偏差に係る第3-2特徴のうち、少なくとも1つを含むことが可能である。
また、上記第4特徴は、上記第4回数のウェーブレット変換を行って抽出される上記対角係数行列の値の合計に係る第4-1特徴、上記第3回数のウェーブレット変換を行って抽出される上記対角係数行列の値の歪度に係る第4-2特徴、上記第3回数のウェーブレット変換を行って抽出される上記対角係数行列の第2標準偏差に係る第4-3特徴、又は上記第3回数のウェーブレット変換を行って抽出される上記対角係数行列の平均値に係る第4-4特徴のうち、少なくとも1つの特徴を含むことが可能である。
また、バイナリファイルの形態の入力データから悪性コードを検知するように、上記特徴情報を学習データにしてネットワークモデルを学習させる段階;をさらに含むことが可能である。
また、ファイルの特徴情報を抽出するコンピューティング装置であって、バイナリ(binary)ファイルの形態の入力データを、予め設定された大きさのデータに変換するバイナリファイル変換部;及び上記予め設定された大きさのデータから、上記入力データの特徴情報を抽出する信号処理部;を含むことが可能である。
また、コンピューター可読保存媒体に保存されているコンピュータープログラムであって、上記コンピュータープログラムは、1つ以上のプロセッサーにより実行される場合、ファイルの特徴情報を抽出する方法を実行し、上記方法は、バイナリ(binary)ファイルの形態の入力データを、予め設定された大きさのデータに変換する段階;及び上記予め設定された大きさのデータから、上記入力データの特徴情報を抽出する段階;を含むことが可能である。
本開示から得られる技術的解決手段は、前述の解決手段に限定されることなく、本開示が属する技術分野における通常の知識を有する者は、以下の記載内容から、前述の解決手段以外の解決手段についても明確に理解することが可能である。
静的に特徴情報を抽出して迅速にバイナリファイルが悪性コードであるか否かを検知することが可能であり、バイナリファイルを実行させないため、悪性コードに感染するリスクを回避できる。
また、動作システムの環境を問わず、あらゆるバイナリファイルから特徴情報を抽出することが可能である。
また、バイナリファイルがパッキング及び難読化が施されているか否かに関係なく、均一な水準の特徴情報を抽出することが可能である。
また、バイナリファイルから特徴情報を抽出する際に入力されるバイナリファイルを、本発明におけるデータ変換プロセスにより、バイナリファイルの大きさがそれぞれ異なる場合でも、固定された形態のデータに変換することで均一な水準の特徴情報を抽出することが可能である。
また、データ変換プロセスにより固定された形態のデータから、ウェーブレット信号処理を通じて、悪性コードの検知に有意味な特徴情報を抽出することが可能である。
本開示から得られる効果は、前述の効果に限定されることなく、本開示が属する技術分野における通常の知識を有する者は、以下の記載内容に基づき、前述の効果以外の効果についても明確に理解することが可能である。
図面を参照して多様な様相について説明する。以下の図面の記載において、類似の図面番号は全般的に類似の構成要素を示すために使われる。以下の実施例において、説明のために、多数の特定の細部事項が、1つ以上の様相の総合的な理解を助けるために提供される。しかし、かかる(複数の)様相を、かかる特定の細部事項がなくても実施できるということは明白である。他の例において、公知の構造及び装置が、1つ以上の様相の記載を容易にするためにブロック図の形で図示される。
図1は、本開示の複数の実施例におけるコンピューティング装置の一例を説明するためのブロック構成図である。
図2は、本開示の複数の実施例におけるコンピューティング装置が、入力データの特徴情報を抽出する方法の一例を説明するためのフローチャートである。
図3は、本開示の複数の実施例におけるコンピューティング装置が、複数のバイトの各々の個数に基づき、入力データを予め設定された大きさのデータに変換する方法の一例を説明するためのフローチャートである。
図4は、本開示の複数の実施例におけるコンピューティング装置が、複数のバイトの各々の出現確率に基づき、入力データを予め設定された大きさのデータに変換する方法の一例を説明するためのフローチャートである。
図5は、本開示の複数の実施例におけるコンピューティング装置が、複数のバイト間の固有の連結構造の出現回数に基づき、入力データを、予め設定された大きさのデータに変換する方法の一例を説明するためのフローチャートである。
図6は、本開示の複数の実施例におけるコンピューティング装置が、複数のバイト間の連結確率に基づき、入力データを予め設定された大きさのデータに変換する方法の一例を説明するためのフローチャートである。
図7は、コンピューティング装置が、ウェーブレット変換法を利用し、予め設定された大きさのデータから特徴情報を抽出する方法の一例を説明するためのフローチャートである。
図8は、本開示内容の実施例が具現化されることが可能である、例示的なコンピューティング環境に係る一般的な概略図である。
以下、添付の図面を参照して、多様な実施例及び/又は様相を開示する。下記の説明において、説明のために、1つ以上の様相に対する全般的な理解を助けるために多数の具体的な細部事項を開示する。しかし、このような(複数の)様相は、このような具体的な細部事項がなくても実行できるということを、本開示の技術分野における通常の知識を持つ者は認知することが可能である。以下に記載及び添付されている図面は、1つ以上の様相の特定の例示的様相について詳細に記述している。しかし、これらの様相は例示的なものであり、多様な様相の原理に基づく多様な方法のうち一部が利用される場合もあり、ここに述べられている説明は、そのような様相及びそれらの均等物をすべて含むという意図を持っている。具体的に、本明細書における「実施例」、「例」、「様相」、「例示」において記述されている任意の様相又は設計が、他の様相又は設計より優れていたり、利点があると解釈されたりするとは限らない。
以下、図面の符号と関係なく、同一又は類似の構成要素に対しては、同一の参照番号を付し、それに係る重複する説明は省略する。また、本明細書に開示されている実施例を説明する際、それに係る公知の技術に関する具体的な説明が、本明細書に開示されている実施例の要旨を不明確にする可能性があると判断される場合は、その詳細な説明を省略する。また、添付の図面は、本明細書に開示されている実施例に対する理解をより容易にするためのものに過ぎず、添付の図面によって本明細書に開示されている技術的思想が制限されるわけではない。
「第1」、「第2」等の表現が、多様な素子や構成要素について述べるために使われているが、これらの素子や構成要素がこれらの用語によって制限されるわけではない。これらの用語は、単にある1つの素子や構成要素を他の素子や構成要素と区別するために使われているだけである。従って、以下に記載される第1の素子や構成要素は、本発明の技術的思想の中で第2の素子や構成要素にもなり得る。
別段の定義がない限り、本明細書において使われているすべての用語(技術及び科学的用語を含む)は、本発明が属する技術分野における通常の知識を有する者にとって、共通して理解できる意味で使うことが可能である。また、一般的な辞書に定義されている用語は、別段の定義がない限り、理想的に又は過度に解釈されないものとする。
また、用語「又は」は、排他的な「又は」ではなく、内包的な「又は」を意味するものとする。つまり、特に特定されておらず、文脈上明確ではない場合、「Xは、A又はBを利用する」は、自然な内包的置換のうち1つを意味するものとする。つまり、XがAを利用したり;XがBを利用したり;又はXがA及びBの両方を利用する場合、「XはA又はBを利用する」は、これらのいずれにも当てはまるとすることが可能である。また、本明細書における「及び/又は」という用語は、取り挙げられた複数の関連アイテムのうち、1つ以上のアイテムの可能なすべての組み合わせを指し、含むものとする。
また、述語としての「含む(含める)」及び/又は修飾語としての「含む(含める)」という用語は、当該特徴及び/又は構成要素が存在することを意味するが、1つ以上の他の特徴、構成要素及び/又はこれらのグループの存在又は追加を排除しないものと理解される。また、特に数が特定されていない場合や、単数を示すことが文脈上明確でない場合、本明細書と請求範囲において単数は、一般的に「1つ又はそれ以上」を意味するものと解釈すべきである。
また、本明細書において用いられる用語「情報」と「データ」は、相互置き換えできるものとして用いることができるものとする。
ある構成要素が他の構成要素に「繋がって」いる、「連結されて」いる、又は「接続して」いるなどと記載された場合は、当該他の構成要素に直接繋がっていたり、連結されていたり又は接続していることも可能であるが、その間に他の構成要素が介在していることも可能であると解釈すべきである。一方、ある構成要素が他の構成要素に「直接繋がって」いる、「直接連結されて」いる、又は「直接接続して」いるなどと記述されている場合は、その間に他の構成要素が存在しないと解釈すべきである。
以下の説明で用いられる構成要素に係る接尾語の「モジュール」及び「部」は、明細書作成を容易にするためだけの目的で付されたり混用されているものであり、これらの接尾語自体がそれぞれ異なる特定の意味や役割を有するわけではない。
本開示の目的及び効果並びにそれらを達成するための技術的構成は、添付の図面とともに詳しく後述する実施例を参照することで明確になる。本開示の説明において、公知の機能又は構成に係る具体的な説明が、本開示の要旨を不明確にする可能性があると判断される場合は、その詳しい説明を省略する。そして後述の用語は、本開示における機能を考慮して定義された用語であり、当該用語は、利用者や運用者の意図又は慣例等によって変わることが可能である。
しかし、本開示は、以下に開示される実施例によって限定されるものではなく、多様な形で具現化されることが可能である。これらの実施例は、あくまでも、本開示を完全なものにし、本開示が属する技術分野における通常の知識を持つ者に、開示の範囲を完全に理解させるために提供されるものであり、本開示は、請求項の範囲によって定義されるものである。従って、その定義は、本明細書全般において記載されている内容に基づき決められるべきである。
本開示において、コンピューティング装置は、バイナリ(binary)ファイルの形態の入力データを、予め設定された大きさのデータに変換することが可能である。バイナリファイルは、データの保存と処理を目的にエンコードされたファイルであり、動作システムの環境によって構造が異なる場合がある。一例として、Windows系の動作システムにおけるバイナリファイルは、PE(Portable Executable)フォーマットであることが可能であり、Unix系の動作システムにおけるバイナリファイルは、ELFフォーマット(Executable and Linkable Format)であることが可能である。従来は、動作システムの環境によってプロセスを変えることで、バイナリファイルから特徴情報を抽出することを可能にしていた。この場合、抽出された特徴情報が均一ではないという問題点が存在し得る。本開示においては、バイナリ(binary)ファイルの形態の入力データに前処理を行うことで、予め設定された大きさのデータに変換することが可能である。本開示において行われる前処理は、動作システムの環境を問わず、同一の前処理にすることが可能である。従って、変換された予め設定された大きさのデータから、入力データの特徴情報を抽出する場合、抽出された複数の特徴情報の均一性が担保されることが可能である。さらに、コンピューティング装置は、バイナリファイルを実行することなく、静的に特徴情報を抽出することが可能である。従って、悪性コードに感染するリスクを回避できる。以下に、図1乃至図7を用いて、コンピューティング装置がファイルの特徴情報を抽出する方法について説明する。
図1は、本開示の複数の実施例におけるコンピューティング装置の一例を説明するためのブロック構成図である。
図1を参照すると、コンピューティング装置(100)は、プロセッサー(110)、バイナリファイル変換部(120)及び信号処理部(130)を含むことが可能である。ただし、上述の構成要素は、コンピューティング装置(100)を実装するに当たり、必須のものではなく、コンピューティング装置(100)に含まれる構成要素は、上述の構成要素より多い場合もあれば、少ない場合もある。
コンピューティング装置(100)は、例えば、マイクロプロセッサー、メインフレームコンピューター、デジタルプロセッサー、携帯用デバイス又はデバイスコントローラー等のような任意のタイプのコンピューターシステム又はコンピューターデバイスを含むことが可能である。
プロセッサー(110)は、通常コンピューティング装置(100)の全般的な動作を処理することが可能である。プロセッサー(110)は、コンピューティング装置(100)に含まれている構成要素を通じて入力又は出力される信号、データ、情報等を処理したり、保存部に保存されている応用プログラムを駆動したりすることで、ユーザーに適切な情報又は機能を提供又は処理することが可能である。
バイナリ(binary)ファイル変換部(120)は、バイナリファイルの形態の入力データを、予め設定された大きさのデータに変換することが可能である。予め設定された大きさのデータは、行列構造のデータであることが可能である。一例として、予め設定された大きさのデータは、大きさが256x256である行列構造のデータであることが可能である。ただし、予め設定された大きさのデータは、それに限らず、多様な大きさの行列構造のデータになり得る。一例として、予め設定された大きさのデータは、大きさが512x512である行列構造のデータであることも可能であり、大きさが128x128である行列構造のデータであることも可能である。
本開示の複数の実施例によると、バイナリファイル変換部(120)は、入力データを予め設定された大きさのデータに変換するために、入力データを、記憶装置の大きさを表す第1単位(unit)に区分して認識することが可能である。一実施例において、第1単位は、コンピューティング装置の保存単位を含むことが可能である。第1単位は、一例として、バイト(byte)、ページ、ブロック又はビット(bit)等の単位になり得る。バイナリファイル変換部(120)は、第1単位で認識されたデータの個数をカウントすることが可能である。バイナリファイル変換部(120)は、第1単位で認識されたデータの個数に基づき、入力データを予め設定された大きさのデータに変換することが可能である。
本開示の複数の実施例によると、バイナリファイル変換部(120)は、バイナリファイル読み取り部、バイト確率計算部及び固定データ生成部を含むことが可能である。
バイナリファイル読み取り部は、バイナリファイルの形態の入力データを、第1単位に区分して認識することが可能である。一例として、バイナリファイル読み取り部は、バイナリファイルの形態の入力データを、バイト単位に区分して認識することが可能である。
バイト確率計算部は、バイナリファイル読み取り部によって入力データがバイト単位で認識された場合、認識された複数のバイトの各々の個数をカウントすることが可能である。バイト確率計算部は、複数のバイトの各々の個数に基づき、全データのうち複数のバイトの各々の出現確率を計算することが可能である。出現確率は、全データのうち複数のバイトの各々が、どのくらい出現したかを示す確率であることが可能である。一例として、複数のバイトのうち第1バイトについて計算される第1出現確率は、複数のバイトのうち第1バイトが占める比率を表す値であることも可能である。
固定データ生成部は、バイト確率計算部によって計算された出現確率に基づき、入力データを予め設定された大きさのデータに変換することが可能である。以下、バイナリファイル変換部(120)が、バイナリファイルの形態の入力データを予め設定された大きさのデータに変換する方法に係る一例は、図2乃至図6を用いて説明する。
一方、信号処理部(130)は、予め設定された大きさのデータから、入力データの特徴情報を抽出することが可能である。特徴情報は、バイナリファイルの形態の入力データが悪性コードであるか否かを検知するために用いられる情報であることが可能である。
一例として、プロセッサー(110)は、抽出された特徴情報を学習データにしてバイナリファイルの形態の入力データから悪性コードを検知するように、ネットワークモデルを学習させることが可能である。本開示に基づく方法で抽出された特徴情報を学習データにしてネットワークモデルを学習させる場合、学習されたネットワークモデルが悪性コードを検知する際の正確度が向上されることは、下記の表1乃至表3に示すように立証されることが可能である。
表1は、KISA2017悪性コードデータに対する性能評価の結果であることが可能である。表2は、KISA2018悪性コードデータに対する性能評価の結果であることが可能である。表3は、KISA2019悪性コードデータに対する性能評価の結果であることが可能である。KISA悪性コードは、韓国インターネット振興院(Korea Internet & Security Agency)が提供するデータであることが可能である。表1乃至表3において、0は非悪性(benign)コードであり、1は悪性(malicious)コードであることが可能である。Macro AVGは、TP(True Positive)、FN(False Negative)、FP(False Positive)及びTN(True Negative)をそれぞれ計算してから合算した値であることが可能である。Weighted AVGは、各クラスに該当するデータの個数に予め設定された重みを与えたうえで平均を求めた値であることが可能である。
表1を参照すると、正確度(accuracy)が0.9460となり、AUC(Area Under the curve)Scoreが0.9274となっていることが確認できる。表2を参照すると、正確度が0.9513となり、AUC Scoreが0.9341となっていることが確認できる。表3を参照すると、正確度が0.9649となり、AUC Scoreが0.9641となっていることが確認できる。
正確度は、下記の数1のように計算される値であることが可能であり、正確度が高いほどモデルの性能が高いと評価されることが可能である。
AUC Scoreは、ROC(Receiver Operating Characteristic)曲線の下方の面積に該当する値であり、AUC Scoreが高いほど、悪性コードの予測におけるモデルの性能が優秀であったことを意味することが可能である。
上記表1乃至表3のように、本開示に基づく方法で抽出された特徴情報を学習データにしてネットワークモデルを学習させる場合、学習されたネットワークモデルが悪性コードを検知及び予測する際の正確度が向上されることが可能である。
一方、本開示において特徴情報を学習データにして学習されるネットワークモデルは、畳み込みニューラルネットワーク(Convolutional Neural Networks、CNN)、ANN(Artificial Neural Network)、DNN(Deep Neural Network)又はRNN(Recurrent Neural Network)等であることが可能である。
以下に、本開示におけるコンピューティング装置(100)が、入力データの特徴情報を抽出する方法について説明する。
図2は、本開示の複数の実施例におけるコンピューティング装置が、入力データの特徴情報を抽出する方法の一例を説明するためのフローチャートである。
図2を参照すると、コンピューティング装置(100)のバイナリファイル変換部(120)は、バイナリファイルの形態の入力データを、予め設定された大きさのデータに変換することが可能である(S110)。
実施例において、バイナリファイル変換部(120)は、入力データを、記憶装置の大きさを表す第1単位に区分して認識することが可能である。バイナリファイル変換部(120)は、認識された第1単位データの個数をカウントし、第1単位のデータの個数に基づき、入力データを予め設定された大きさのデータに変換することが可能である。
本開示の複数の実施例によると、バイナリファイル変換部(120)は、隠れマルコフモデル(hidden Markov model)を利用し、入力データを予め設定された大きさのデータに変換することが可能である。隠れマルコフモデルは、統計に基づくモデルであり、入力データがバイト単位で認識された場合、複数のバイト間の連結確率に基づき入力データを変換できるモデルであることが可能である。連結確率は、複数のバイトのうち第1バイトの次に第2バイトが出現し、連結される確率であることが可能である。実施例において、バイナリファイル変換部(120)は、padding、slicing又はhistogramのような方法を利用し、入力データを予め設定された大きさのデータに変換することが可能である。以下、バイナリファイル変換部(120)が、隠れマルコフモデルを利用し、入力データを予め設定された大きさのデータに変換する方法の一例については、図5及び図6を用いて説明する。
信号処理部(130)は、予め設定された大きさのデータから、入力データの特徴情報を抽出することが可能である(S120)。
具体的に、信号処理部(130)は、ウェーブレット変換(wavelet transform)法を利用し、予め設定された大きさのデータから、特徴情報を抽出することが可能である。ウェーブレット変換法は、オーディオ信号、画像又は動画等の多様な種類のデータから情報を抽出するために用いられることのできるシグナルプロセッシング手法であり、時間周波数解析が可能な手法であることが可能である。ウェーブレット変換は、低周波数情報の分析のためには、長時間の間隔を用いて、高周波数情報のためには短時間の間隔を用いることで、時間的又は空間的推移を同時に可変的に扱うことが可能である。他のシグナルプロセッシング手法の一つであるフーリエ変換(Fourier transform)法も、時間周波数解析が可能であり、時間や空間に係る関数を、時間情報又は空間周波数情報に変換することが可能である。しかし、フーリエ変換法の場合、ユーザーが時間軸をどのように設定するかによって、時間情報又は空間周波数情報が変化することが可能である。一例として、フーリエ変換法は、時間情報がたくさん抽出されるようにユーザーが時間軸を設定する場合、空間情報において損失が生じる可能性がある。逆に、フーリエ変換法は、空間情報がたくさん抽出されるようにユーザーが時間軸を設定する場合、時間情報において損失が生じる可能性がある。一方、ウェーブレット変換は、時間情報及び空間情報を均等に抽出することが可能であり、言い換えると、上述のフーリエ変換の短所を解決することが可能である。従って、本開示においては、ウェーブレット変換法を利用し、予め設定された大きさのデータから、特徴情報を抽出することが可能である。以下、信号処理部(130)が、ウェーブレット変換法を利用し、予め設定された大きさのデータから、特徴情報を抽出する方法に係る一例は、図7を用いて説明する。
上述の構成において、コンピューティング装置(100)は、動作システムの環境によって異なるバイナリファイルの形態の入力データを、全て予め設定された大きさのデータに変換することが可能である。そして、コンピューティング装置は、予め設定された大きさのデータから、入力データの特徴情報を抽出することが可能である。そのため、コンピューティング装置(100)は、それぞれ異なる動作システムの環境におけるデータが入力されても、互いに均一な水準の有意味な特徴情報を抽出することが可能である。
以下に、コンピューティング装置(100)が、入力データを予め設定された大きさのデータに変換する一例について、追加の説明を記載する。
図3は、本開示の複数の実施例におけるコンピューティング装置が、複数のバイトの各々の個数に基づき、入力データを予め設定された大きさのデータに変換する方法の一例を説明するためのフローチャートである。図4は、本開示の複数の実施例におけるコンピューティング装置が、複数のバイトの各々の出現確率に基づき、入力データを予め設定された大きさのデータに変換する方法の一例を説明するためのフローチャートである。
図3を参照すると、コンピューティング装置(100)のバイナリファイル変換部(120)は、入力データをバイト単位で認識することが可能である(S111)。
例えば、バイナリファイルの形態の入力データは、0~255の間の値を含むことが可能である。バイナリファイル変換部(120)は、0~255の間の複数の値をそれぞれバイト単位で認識することが可能である.一例として、バイナリファイル変換部(120)は、0~255の間の値を0、1、2、3等のようにバイト単位で認識することが可能である。
バイナリファイル変換部(120)は、認識された複数のバイトの各々の個数をカウントすることが可能である(S112)。
例えば、バイナリファイル変換部(120)は、0の値がいくつあるか、1の値がいくつあるか等のように複数のバイトの各々の個数をカウントすることが可能である。
バイナリファイル変換部(120)は、複数のバイトの各々の個数に基づき、入力データを予め設定された大きさのデータに変換することが可能である(S113)。
例えば、バイナリファイル変換部(120)は、入力データを、複数のバイトの各々の個数に対応する大きさのデータに変換することが可能である。
一方、図4を参照すると、バイナリファイル変換部(120)は、複数のバイトの各々の個数がカウントされた場合、複数のバイトの各々の個数に基づき、全データのうち複数のバイトの各々の出現確率を計算することが可能である(S1131)。出現確率は、全データのうち複数のバイトの各々が、どのくらい出現したかを示す確率であることが可能である。一例として、複数のバイトのうち第1バイトについて計算される第1出現確率は、複数のバイトのうち第1バイトが占める比率を表す値であることも可能である。
例えば、バイナリファイル変換部(120)は、0~255の間の値のうち、0が何パーセント出現したか、1が何パーセント出現したか、又は2が何パーセント出現したか等を計算することが可能である。
バイナリファイル変換部(120)は、出現確率に基づき、入力データを予め設定された大きさのデータに変換することが可能である(1132)。
例えば、バイナリファイル変換部(120)は、入力データを、複数のバイトの各々の出現確率に対応する大きさのデータに変換することが可能である。
上述の構成において、コンピューティング装置(100)は、動作システムの環境によって異なるバイナリファイルの形態の入力データを、予め設定された大きさのデータに変換することが可能である。言い換えると、コンピューティング装置(100)は、動作システムの環境によって異なるバイナリファイルの形態の入力データが入力されても、入力データを全て均一な大きさのデータに変換することが可能である。これにより、コンピューティング装置(100)が抽出する入力データの特徴情報も均一なものになり得る。
以下には、コンピューティング装置(100)が、入力データを予め設定された大きさのデータに変換する他の一例について説明する。
図5は、本開示の複数の実施例におけるコンピューティング装置が、複数のバイト間の固有の連結構造の出現回数に基づき、入力データを、予め設定された大きさのデータに変換する方法の一例を説明するためのフローチャートである。図6は、本開示の複数の実施例におけるコンピューティング装置が、複数のバイト間の連結確率に基づき、入力データを予め設定された大きさのデータに変換する方法の一例を説明するためのフローチャートである。
本開示の複数の実施例によると、コンピューティング装置(100)のバイナリファイル変換部(120)は、隠れマルコフモデルを利用し、入力データを予め設定された大きさのデータに変換することが可能である。隠れマルコフモデルは、入力データに含まれている複数のバイト間の連結確率に基づき、入力データを変換できるモデルであることが可能である。連結確率は、複数のバイトのうち第1バイトの次に第2バイトが出現し、連結される確率であることが可能である。
具体的に、図5を参照すると、バイナリファイル変換部(120)は、入力データをバイト単位で認識することが可能である(S210)。
バイナリファイル変換部(120)は、認識された複数のバイトのうち第1バイトの次に第2バイトが連結される(続く)、複数のバイト間の固有の連結構造の出現回数を計算することが可能である(S220)。この場合、第1バイト及び第2バイトは、説明を容易にするために区分しているものであり、特定のバイトに限定するわけではない。一例として、バイナリファイル変換部(120)は、認識された複数のバイトのうち少なくとも一部について出現回数を計算することが可能である。
固有の連結構造は、少なくとも2つの複数のバイト間の固有の連結構造であり、他の少なくとも2つの複数のバイト間の連結構造とは区別されるものと理解されることが可能である。
例えば、バイナリファイル変換部(120)は、0の値を持つ第1バイトの次に1の値を持つ第2バイトが連結される構造を固有の連結構造として決定することが可能である。他の例を挙げると、バイナリファイル変換部(120)は、1の値を持つ第2バイトの次に2の値を持つ第3バイトが連結される構造を固有の連結構造として決定することが可能である。
出現回数は、固有の連結構造が認識された複数のバイトにおいて出現した回数を表すことが可能である。
例えば、バイナリファイル変換部(120)は、0の値を持つ第1バイトの次に1の値を持つ第2バイトが連結される固有の連結構造の出現回数を計算することが可能である。他の例を挙げると、バイナリファイル変換部(120)は、1の値を持つ第2バイトの次に2の値を持つ第3バイトが連結される固有の連結構造の出現回数を計算することが可能である。
バイナリファイル変換部(120)は、複数のバイト間の固有の連結構造の出現回数に基づき、入力データを予め設定された大きさのデータに変換することが可能である(S230)。
実施例において、バイナリファイル変換部(120)は、入力データを大きさが256x256である行列構造のデータに変換することが可能である。ただし、予め設定された大きさは、256x256に限定されるのではなく、より大きい又はより小さいものにもなり得る。
一方、図6を参照すると、バイナリファイル変換部(120)は、複数のバイト間の固有の連結構造の出現回数に基づき、第1バイトの次に第2バイトが出現する、複数のバイト間の連結確率を計算することが可能である(S231)。連結確率は、複数のバイトのうち第1バイトの次に第2バイトが出現し、連結される確率であることが可能である。
例えば、バイナリファイル変換部(120)は、0の値を持つ第1バイトの次に1の値を持つ第2バイトが出現する連結確率を計算することが可能である。バイナリファイル変換部(120)は、1の値を持つ第2バイトの次に2の値を持つ第3バイトが出現する連結確率を計算することが可能である。
バイナリファイル変換部(120)は、連結確率に基づき、入力データを予め設定された大きさのデータに変換することが可能である(S232)。
実施例において、バイナリファイル変換部(120)は、入力データを大きさが256x256である行列構造のデータに変換することが可能である。ただし、予め設定された大きさは、256x256に限定されるのではなく、より大きい又はより小さいものにもなり得る。
上述の構成において、コンピューティング装置(100)は、動作システムの環境によって異なるバイナリファイルの形態の入力データを、予め設定された大きさのデータに変換することが可能である。この場合、予め設定された大きさのデータは、行列構造のデータであることが可能である。これにより、コンピューティング装置(100)は、ウェーブレット変換法を利用し、予め設定された大きさのデータから、特徴情報を抽出することが可能である。以下に、コンピューティング装置(100)が、ウェーブレット変換法を利用し、予め設定された大きさのデータから、特徴情報を抽出する方法について説明する。
図7は、コンピューティング装置が、ウェーブレット変換法を利用し、予め設定された大きさのデータから、特徴情報を抽出する方法の一例を説明するためのフローチャートである。
図7を参照すると、コンピューティング装置(100)の信号処理部(130)は、予め設定された大きさのデータにウェーブレット変換を行い、ウェーブレット係数行列(Wavelet coefficients matrix)を抽出することが可能である(S310)。ウェーブレット係数は、データにウェーブレット変換を行うことで得られる係数であることが可能である。ウェーブレット係数行列は、ウェーブレット係数を用いて構築される行列であることが可能である。
ウェーブレット係数行列は、近似係数行列(approximation coefficients matrix)及び詳細係数行列(detail coefficients matrix)を含むことが可能である。近似係数行列は、予め設定された大きさのデータの低周波数領域に係る情報を含むことが可能である。詳細係数行列は、予め設定された大きさのデータの高周波数領域に係る情報を含むことが可能である。
本開示の複数の実施例によると、詳細係数行列は、水平係数行列(horizontal coefficients matrix)、垂直係数行列(vertical coefficients matrix)又は対角係数行列(diagonal coefficients matrix)のうち、少なくとも1つを含むことが可能である。これにより、詳細係数行列は、予め設定された大きさのデータの高周波数領域に係る水平方向の情報、予め設定された大きさのデータの高周波数領域に係る垂直方向の情報、又は予め設定された大きさのデータの高周波数領域に係る対角方向の情報のうち、少なくとも1つを含むことが可能である。
信号処理部(130)は、ウェーブレット係数行列に基づき、入力データの特徴情報を抽出することが可能である(S320)。特徴情報は、バイナリファイルの形態の入力データが、悪性コードであるか否かを検知するために用いられる情報であることが可能である。
特徴情報は、予め設定された大きさのデータが1x1の行列の構造になるように、第1回数のウェーブレット変換を行って抽出される近似係数行列に係る第1特徴を含むことが可能である。実施例において、予め設定された大きさのデータは、大きさが256x256である行列構造のデータであることが可能である。従って、信号処理部(130)は、8回のウェーブレット変換を行い、予め設定された大きさのデータが1x1の行列の構造になるようにすることが可能である。ただし、第1回数は、8回に限定されるものではなく、多様な大きさの行列構造のデータが、1x1の行列構造になるようにする回数になり得る。一例として、予め設定された大きさのデータが、大きさが512x512である行列構造のデータの場合、信号処理部(130)は、9回のウェーブレット変換を行い、予め設定された大きさのデータが、1x1の行列の構造になるようにすることが可能である。
特徴情報は、第1臨界回数以上かつ第1回数以下である第1個数範囲(回数範囲)内における第2回数のウェーブレット変換を行って抽出される対角係数行列の値に係る第2特徴を含むことが可能である。この場合、第1臨界回数は、第1回数より少ない回数になり得る。
一例として、第1回数は8回であり、第1臨界回数は4回になり得る。この場合、第1個数範囲(回数範囲)は、8回から4回であることが可能であり、第2回数は、8回、7回、6回、5回及び4回になり得る。従って、信号処理部(130)は、予め設定された大きさのデータに8回、7回、6回、5回及び4回のウェーブレット変換を行い、対角係数行列の値に係る第2特徴を抽出することが可能である。
他の一例として、第1回数は、8回であり、第1臨界回数は7回になり得る。この場合、第1個数範囲(回数範囲)は、8回から7回であることが可能であり、第2回数は、8回及び7回になり得る。従って、信号処理部(130)は、予め設定された大きさのデータに8回及び7回のウェーブレット変換を行い、対角係数行列の値に係る第2特徴を抽出することが可能である。
本開示の複数の実施例によると、第1臨界回数は、コンピューティング装置(100)の性能に基づき決定されることが可能である。例えば、信号処理部(130)は、コンピューティング装置(100)の性能が十分な場合、第1臨界回数を1回にすると決定することが可能である。第1臨界回数が1回である場合、第1個数範囲(回数範囲)は8回から1回であることが可能であり、それに基づき、第2回数は8回、7回、6回、5回、4回、3回、2回及び1回になり得る。信号処理部(130)が、8回、7回、6回、5回、4回、3回、2回及び1回のウェーブレット変換を行い、対角係数行列の値を抽出し、抽出された対角係数行列の値に基づき入力データの特徴情報を抽出する場合、特徴情報の個数が増えることが可能である。または、特徴情報がより多様なものになり得る。従って、抽出された特徴情報を学習データにしてネットワークモデルを学習させる場合、学習されたネットワークモデルの性能が向上されることが可能である。
他の例を挙げると、信号処理部(130)は、コンピューティング装置(100)の性能が不十分な場合、第1臨界回数を4回にすると決定することが可能である。この場合、信号処理部(130)が予め設定された大きさのデータにウェーブレット変換を行う速度が向上されることが可能であり、またリソースの節約に繋がることも可能である。
特徴情報は、第1臨界回数以上かつ第1回数未満である第2個数範囲(回数範囲)内における第3回数のウェーブレット変換を行って抽出される対角係数行列に係る第3特徴を含むことが可能である。
一例として、第1回数は8回であり、第1臨界回数は4回になり得る。この場合、第2個数範囲(回数範囲)は7回から4回であることが可能であり、第3回数は7回、6回、5回及び4回になり得る。従って、信号処理部(130)は、予め設定された大きさのデータに7回、6回、5回及び4回のウェーブレット変換を行い、対角係数行列に係る第3特徴を抽出することが可能である。
他の一例として、第1回数は8回であり、第1しきい回数は6回になり得る。この場合、第2個数範囲(回数範囲)は7回から6回であることが可能であり、第3回数は7回及び6回になり得る。従って、信号処理部(130)は、予め設定された大きさのデータに7回及び6回のウェーブレット変換を行い、対角係数行列に係る第3特徴を抽出することが可能である。
本開示の複数の実施例によると、予め設定された大きさのデータに8回のウェーブレット変換を行って抽出される対角係数行列に係る第3特徴は、常に同一の結果値が抽出されることが可能である。
具体的に、第3特徴は、第3回数のウェーブレット変換を行って抽出される対角係数行列の比率に係る第3-1特徴、又は第3回数のウェーブレット変換を行って抽出される対角係数行列の第1標準偏差に係る第3-2特徴のうち、少なくとも1つを含むことが可能である。対角係数行列の比率は、予め設定された大きさのデータにウェーブレット変換を行って抽出される複数のウェーブレット係数行列において、対角係数行列が占める比率であることが可能である。対角係数行列の第1標準偏差は、予め設定された大きさのデータにウェーブレット変換を行って抽出される対角係数行列に係る標準偏差であることが可能である。しかし、信号処理部(130)が予め設定された大きさのデータに8回のウェーブレット変換を行って抽出される第3-1特徴と第3-2特徴の結果値は、常に固定されていることが可能である。信号処理部(130)が予め設定された大きさのデータに8回のウェーブレット変換を行い、第3-1特徴及び第3-2特徴を抽出する動作は、リソースの浪費につながる可能性がある。従って、信号処理部(130)は、第1回数未満の第2個数範囲(回数範囲)内における第3回数のウェーブレット変換を行い、対角係数行列に係る第3特徴を抽出することが可能である。
本開示の複数の実施例によると、第1臨界回数は、コンピューティング装置(100)の性能に基づき決定されることが可能である。例えば、信号処理部(130)は、コンピューティング装置(100)の性能が十分な場合、第1臨界回数を1回にすると決定することが可能である。第1臨界回数が1回である場合、第2個数範囲(回数範囲)は7回から1回であることが可能であり、それに基づき、第3回数は7回、6回、5回、4回、3回、2回及び1回になり得る。他の例を挙げると、信号処理部(130)は、コンピューティング装置(100)の性能が不十分な場合、第1臨界回数を4回にすると決定することが可能である。第1臨界回数が4回である場合、第2個数範囲(回数範囲)は7回から4回であることが可能であり、それに基づき、第3回数は7回、6回、5回及び4回になり得る。
特徴情報は、第1臨界回数未満である第2臨界回数以上かつ第1回数未満である第3個数範囲(回数範囲)内における第4回数のウェーブレット変換を行って抽出される対角係数行列に係る第4特徴を含むことが可能である。
一例として、第1回数は8回であり、第1臨界回数は7回であり、第2臨界回数は1回になり得る。この場合、第2個数範囲(回数範囲)は7回から1回であることが可能であり、第4回数は7回、6回、5回、4回、3回、2回及び1回になり得る。従って、信号処理部(130)は、予め設定された大きさのデータに7回、6回、5回、4回、3回、2回及び1回のウェーブレット変換を行い、対角係数行列に係る第4特徴を抽出することが可能である。
本開示の複数の実施例によると、予め設定された大きさのデータに8回のウェーブレット変換を行って抽出される対角係数行列に係る第4特徴は、常に同一の結果値が抽出されることが可能である。
具体的に、第4特徴は、第4回数のウェーブレット変換を行って抽出される対角係数行列の値の合計に係る第4-1特徴、第4回数のウェーブレット変換を行って抽出される対角係数行列の値の歪度に係る第4-2特徴、第4回数のウェーブレット変換を行って抽出される対角係数行列の第2標準偏差に係る第4-3特徴、第4回数のウェーブレット変換を行って抽出される対角係数行列の総平均値に係る第4-4特徴、又は第4回数のウェーブレット変換を行って抽出される対角係数行列のヒストグラムパーセントに係る第4-5特徴のうち、少なくとも1つの特徴を含むことが可能である。対角係数行列の値の合計は、予め設定された大きさのデータにウェーブレット変換を行って抽出される対角係数行列の値の合計であることが可能である。対角係数行列の値の歪度は、予め設定された大きさのデータにウェーブレット変換を行って抽出される対角係数行列の値の歪度であることが可能である。対角係数行列の第2標準偏差は、予め設定された大きさのデータにウェーブレット変換を行って抽出される対角係数行列に係る標準偏差であることが可能である。対角係数行列の平均値は、予め設定された大きさのデータにウェーブレット変換を行って抽出される対角係数行列の値全体の平均値であることが可能である。しかし、信号処理部(130)が予め設定された大きさのデータに8回のウェーブレット変換を行って抽出される第4-1特徴と、予め設定された大きさのデータに8回のウェーブレット変換を行って抽出される対角係数行列の値に係る第2特徴とは、同一のものになり得る。信号処理部(130)が予め設定された大きさのデータに8回のウェーブレット変換を行って抽出される第4-2特徴、第4-3特徴、第4-4特徴及び第4-5特徴は、常に同一の結果値が抽出されることが可能である。具体的に、第4-2特徴は歪度に係る特徴であり、第4-3特徴は標準偏差に係る特徴であり、第4-4特徴は平均値に係る特徴であり、第4-5特徴はヒストグラムパーセントに係る特徴であるが、ウェーブレット変換を8回行って抽出される結果値は、常に1つの値のみを持つためであることが理由になり得る。従って、信号処理部(130)が予め設定された大きさのデータに8回のウェーブレット変換を行い、第4特徴を抽出する動作は、リソースの浪費につながる可能性がある従って、信号処理部(130)は、第4回数のウェーブレット変換を行って抽出される対角係数行列に係る第4特徴を抽出することが可能である。
本開示において、特徴情報は、ウェーブレット変換を行っていない予め設定された大きさのデータに係る第5特徴を含むことが可能である。一例として、第5特徴は、予め設定された大きさのデータのヒストグラムパーセントに係る第5-1特徴、予め設定された大きさのデータの標準偏差に係る第5-2特徴及び予め設定された大きさのデータの総標準偏差に係る第5-3特徴を含むことが可能である。
上述のように、信号処理部(130)は、ウェーブレット係数行列に基づき、入力データから多様な種類の特徴情報を抽出することが可能である。抽出された特徴情報は、入力データから悪性コードを検知するようにトレーニングされるネットワークモデルのために、学習データとして用いられることが可能である。従って、ネットワークモデルは、悪性コードを検知及び予測する際の正確度が高くなるようにトレーニングされることが可能である。
図8は、本開示内容の実施例が具現化されることが可能である、例示的なコンピューティング環境に係る一般的な概略図である。
本開示の内容において、一般的に1つ以上のコンピューターにおいて実行されることのできる、コンピューターで実行可能な命令について説明してきたが、当業者であれば、本開示の内容が、その他のプログラムモジュールとの結合及び/又はハードウェアとソフトウェアの組み合わせとして具現化されることが可能であるということをよく理解できるだろう。
一般的に、本明細書におけるモジュールは、特定のタスクを実行したり特定の抽象的なデータ類型を具現化したりするルーティン、プロシーザー、プログラム、コンポーネント、データ構造、その他等々を含む。また、当業者なら、本開示の方法が、シングルプロセッサー又はマルチプロセッサーコンピューターシステム、ミニコンピューター、メインフレームコンピューターはもちろん、パーソナルコンピューター、ハンドヘルドコンピューティング装置、マイクロプロセッサー基盤、又はプログラム可能な家電製品、その他等々(これらは、それぞれ1つ以上の関連する装置と繋がって動作することができる)をはじめとする、他のコンピューターシステムの構成によって実施されることができることをよく理解できるだろう。
本開示において説明された実施例は、さらに、あるタスクが通信ネットワークを通じて繋がっている遠隔処理装置によって実行される分散コンピューティング環境で実施されることができる。分散コンピューティング環境において、プログラムモジュールは、ローカル及び遠隔メモリー保存装置の両方に位置することが可能である。
コンピューターは、通常多様なコンピューター可読媒体を含む。コンピューターによりアクセス可能な媒体として、揮発性及び非揮発性媒体、一時的(transitory)及び非一時的(non-transitory)媒体、移動式及び非-移動式媒体が含まれる。制限ではなく例として、コンピューター可読媒体は、コンピューター可読保存媒体及びコンピューター可読伝送媒体を含むことが可能である。
コンピューター可読保存媒体は、コンピューター可読命令、データ構造、プログラムモジュール又はその他のデータのような情報を保存する任意の方法又は技術により具現化される揮発性及び非揮発性媒体、一時的及び非一時的媒体、移動式及び非移動式媒体を含む。コンピューター可読保存媒体は、RAM、ROM、EEPROM、フラッシュメモリー又はその他のメモリー技術、CD-ROM、DVD(digital video disk)又はその他の光ディスク保存装置、磁気カセット、磁気テープ、磁気ディスク保存装置又はその他の磁気保存装置、又はコンピューターによってアクセスでき情報を保存するために使われることのできる任意のその他の媒体を含むが、これに限定されない。
コンピューター可読伝送媒体は、通常、搬送波(carrier wave)又はその他の伝送メカニズム(transport mechanism)のような被変調データ信号(modulated data signal)にコンピューター可読命令、データ構造、プログラムモジュール又はその他のデータ等を実装し、すべての情報伝達媒体を含む。被変調データ信号という用語は、信号の中において情報をエンコードするように、その信号の特性のうち1つ以上を設定又は変更した信号を意味する。制限ではなく例として、コンピューター可読伝送媒体は、有線ネットワーク又は直接配線接続(direct-wired connection)のような有線媒体、そして音響、RF、赤外線、その他の無線媒体のような無線媒体を含む。前述の媒体の任意の組み合わせもコンピューター可読伝送媒体の範囲に含まれるものとする。
コンピューター(1102)を含む本開示の多様な側面を具現化する例示的な環境(1100)が示されており、コンピューター(1102)は、処理装置(1104)、システムメモリー(1106)及びシステムバス(1108)を含む。システムバス(1108)は、システムメモリー(1106)(これに限定されない)をはじめとするシステムコンポーネントを処理装置(1104)に接続させる。処理装置(1104)は、多様な商用のプロセッサーのうち、いずれかのプロセッサーになり得る。デュアルプロセッサーやその他のマルチプロセッサーアーキテクチャも、処理装置(1104)として利用されることが可能である。
システムバス(1108)は、メモリーバス、周辺装置バス、及び多様な商用のバスアーキテクチャのうち、いずれかを使用するローカルバスに、さらに相互連結できる複数の類型のバス構造のうち、いずれかになり得る。システムメモリー(1106)は、読み取り専用メモリー(ROM)(1110)やランダムアクセスメモリー(RAM)(1112)を含む。基本的な入出力システム(BIOS)は、ROM、EPROM、EEPROM等の非揮発性メモリー(1110)に保存され、このBIOSは、起動中の時等にコンピューター(1102)の中の複数の構成要素間の情報のやりとりをサポートする基本的なルーティンを含む。RAM(1112)は、またデータをキャッシュするための静的RAM等の高速RAMを含むことが可能である。
コンピューター(1102)は、また、内蔵型ハードディスクドライブ(HDD)(1114)(例えば、EIDE、SATA)―この内蔵型ハードディスクドライブ(1114)は、また、適切なシャシー(図示は省略)の中で外付け型の用途で構成されることが可能である―、磁気フロッピーディスクドライブ(FDD)(1116)(例えば、移動式ディスケット(1118)から読み取ったり、それに書き込むためのものである)及び光ディスクドライブ(1120)(例えば、CD-ROMディスク(1122)を読み取ったり、DVD等のその他の高容量光媒体から読み取ったり、それに書き込むためのものである)を含む。ハードディスクドライブ(1114)、磁気ディスクドライブ(1116)及び光ディスクドライブ(1120)は、それぞれハードディスクドライブインターフェース(1124)、磁気ディスクドライブインターフェース(1126)及び光ドライブインターフェース(1128)によってシステムバス(1108)に繋がることができる。外付け型ドライブの実装のためのインターフェース(1124)は、例えば、USB(Universal Serial Bus)やIEEE1394インターフェース技術のうち、少なくとも1つ又はその両方を含む。
これらのドライブ及びこれらに係るコンピューター可読媒体は、データ、データ構造、コンピューターで実行可能な命令、その他等々に対する非揮発性保存を提供する。コンピューター(1102)の場合、ドライブ及び媒体は、任意のデータを適切なデジタル形式に保存することに対応する。前述におけるコンピューター可読保存媒体に係る説明が、HDD、移動式磁気ディスク及びCD又はDVD等の移動式光媒体について触れているが、当業者ならジップドライブ(zip drive)、磁気カセット、フラッシュメモリーカード、カートリッジ、その他等々のコンピューターにより読み取り可能な他の類型の保存媒体もまた例示的な運営環境で使われることができ、さらに、このような媒体のうち任意のある媒体が、本開示の方法を実行するためのコンピューターで実行可能な命令を含むことができることをよく理解できるだろう。
動作システム(1130)、1つ以上のアプリケーションプログラム(1132)、その他のプログラムモジュール(1134)及びプログラムデータ(1136)をはじめとする多数のプログラムモジュールが、ドライブ及びRAM(1112)に保存されることが可能である。動作システム、アプリケーション、モジュール及び/又はデータの全部又はその一部分も、RAM(1112)にキャッシュされることが可能である。本開示が、商業的に利用可能な様々な動作システム、又は複数の動作システムの組み合わせにより実装されることが可能であることは、自明である。
ユーザーは、1つ以上の有線・無線の入力装置、例えば、キーボード(1138)及びマウス(1140)等のポインティング装置を通じて、コンピューター(1102)に命令及び情報を入力することが可能である。その他の入力装置(図示は省略)としては、マイク、IRリモコン、ジョイスティック、ゲームパッド、スタイラスペン、タッチスクリーン、その他等々があり得る。これら及びその他の入力装置が、システムバス(1108)に繋がっている入力装置のインターフェース(1142)を介して処理装置(1104)に繋がる場合が多いが、並列ポート、IEEE1394直列ポート、ゲームポート、USBポート、IRインターフェース、その他等々のその他のインターフェースによって繋がることが可能である。
モニター(1144)又は他の類型のディスプレイ装置も、ビデオアダプター(1146)等のインターフェースを介してシステムバス(1108)に繋がる。モニター(1144)に加えて、コンピューターは、一般的にスピーカー、プリンター、その他等々のその他の周辺出力装置(図示は省略)を含む。
コンピューター(1102)は、有線及び/又は無線通信による、(複数の)遠隔コンピューター(1148)等の1つ以上の遠隔コンピューターへの論理的接続を利用し、ネットワーク化された環境で動作することが可能である。(複数の)遠隔コンピューター(1148)は、ワークステーション、サーバーコンピューター、ルーター、パーソナルコンピューター、携帯用コンピューター、マイクロプロセッサー基盤の娯楽機器、ピア装置、又はその他の通常のネットワークノードであることが可能であり、一般的にコンピューター(1102)について述べられた構成要素のうち、多数又はその全部を含むが、簡略化するために、メモリー保存装置(1150)のみ図示されている。図示されている論理的接続は、近距離通信網(LAN)(1152)及び/又はより大きいネットワーク、例えば、遠距離通信網(WAN)(1154)への有線・無線の接続を含む。このようなLAN及びWANのネットワーキング環境は、オフィスや会社おいて一般的なものであり、イントラネット等の全社的コンピューターネットワーク(enterprise-wide computer network)を容易にし、これらは全て世界中のコンピューターネットワーク、例えば、インターネットに繋がることが可能である。
LANネットワーキング環境で使われるとき、コンピューター(1102)は、有線及び/又は無線通信ネットワークインターフェース、又はアダプター(1156)を通じて、ローカルネットワーク(1152)に繋がる。アダプター(1156)は、LAN(1152)への有線又は無線通信を容易にすることができ、このLAN(1152)も、無線アダプター(1156)と通信するためにそれに設置されている無線アクセスポイントを含む。WANネットワーキング環境で使われるとき、コンピューター(1102)は、モデム(1158)を含むことができたり、WAN(1154)上の通信サーバーに繋がったり、又はインターネットを通じる等、WAN(1154)を通じて通信を設定するその他の手段を持つ。内蔵型又は外付け型、そして、有線又は無線装置になり得るモデム(1158)は、直列ポートインターフェース(1142)を通じてシステムバス(1108)に繋がる。ネットワーク化された環境において、コンピューター(1102)に関連付けて説明されたプログラムモジュール又はその一部分が、遠隔メモリー/保存装置(1150)に保存されることが可能である。図示されているネットワーク接続が例示的なものであり、複数のコンピューター間で通信リンクを設定する他の手段が用いられることも可能であるということは自明である。
コンピューター(1102)は、無線通信において配置されて動作する任意の無線装置又はユニット、例えば、プリンター、スキャナー、デスクトップ及び/又は携帯用コンピューター、PDA(portable data assistant)、通信衛星、無線で検出可能なタグに係る任意の装備又は場所及び電話と通信する動作をする。これは、少なくとも、Wi-Fi及びブルートゥース(登録商標)無線技術を含む。従って、通信は、従来のネットワークのように、予め定義された構造であったり、単純に少なくとも2つの装置間のアドホック通信(ad hoc communication)になり得る。
Wi-Fi(Wireless Fidelity)は、有線で繋がっていない場合にも、インターネット等への接続を可能にする。Wi-Fiは、このような装置、例えば、コンピューターが室内外を問わず、つまり基地局の通話圏内のどこからでも、データを送受信できるようにする、セル電話のような無線技術である。Wi-Fiネットワークは、安全かつ信頼性があり、高速である無線接続を提供するために、IEEE802.11(a、b、g、その他)という無線技術を使う。コンピューターを、互いに、インターネットに、有線ネットワーク(IEEE802.3又はイーサネットを使う)に接続するためにWi-Fiが使われることが可能である。Wi-Fiネットワークは、非認可2.4や5GHzの無線帯域において、例えば、11Mbps(802.11a)又は54Mbps(802.11b)のデータレートで動作したり、両帯域(デュアル帯域)を含む製品において動作したりすることが可能である。
本開示の技術分野において通常の知識を持つ者は、ここに開示された実施例に係る説明で取り挙げられた多様な例示的な論理ブロック、モジュール、プロセッサー、手段、回路、アルゴリズム段階が、電子ハードウェア、(利便性のために、ここでは「ソフトウェア」と称される)多様な形のプログラム若しくは設計コード、又はこれらすべての結合により具現化されることが可能であることを理解できるだろう。ハードウェア及びソフトウェアのこのような相互互換性を明確に説明するために、多様な例示的なコンポーネント、ブロック、モジュール、回路、及び段階が、これらの機能に着目して上記で一般的に説明された。このような機能がハードウェアやソフトウェアとして実装されるかどうかは、特定のアプリケーション及び全体システムに対して加えられる設計上の制限によって決定される。本開示の技術分野において通常の知識を持つ者は、個々の特定のアプリケーションについて多様な方法で説明された機能を具現化することが可能であるが、このような具現化の決定は、本開示の範囲を逸脱するものと解釈すべきではない。
ここに示されている多様な実施例は、方法、装置、又は標準プログラミング及び/又はエンジニアリング技術を使った製造物品(article)として具現化されることが可能である。「製造物品」という用語は、任意のコンピューター可読装置からアクセス可能なコンピュータープログラム又は媒体(media)を含む。例えば、コンピューター可読保存媒体は、磁気保存装置(例えば、ハードディスク、フロッピーディスク、磁気ストリップ等)、光学ディスク(例えば、CD、DVD等)、スマートカード及びフラッシュメモリー装置(例えば、EEPROM、カード、スティック、キードライブ等)を含むが、これらに限定されるものではない。「機械可読媒体」という用語は、(複数の)命令及び/又はデータを保存、保有、及び/又は伝達できる無線チャンネル並びに多様な他の媒体を含むが、これらに限定されるわけではない。
ここに示された実施例に関する説明は、本開示の技術分野において通常の知識を持つ任意の者が、本開示を利用したり又は実施できるようにしたりするために提供される。このような実施例に対する多様な変形は、本開示の技術分野において通常の知識を持つ者には明確に理解できるものであり、ここに定義された一般的な原理は、本開示の範囲を逸脱することなく他の実施例に適用されることが可能である。従って、本開示は、ここに示す実施例によって限定されるものではなく、ここに示す原理及び新規な特徴と一貫する最広義の範囲で解釈されるべきである。
上述のように、発明の実施のための最良の形態において、関連する内容を述べた。
迅速にバイナリファイルの特徴情報を抽出するために、静的特徴情報抽出プロセスで抽出した特徴情報を用いて、悪性コードであるか否かを検知する装置及びプログラム等において用いられることが可能である。
100 コンピューティング装置
110 プロセッサー
120 バイナリファイル変換部
130 信号処理部

Claims (12)

  1. 少なくとも1つのプロセッサーを含むコンピューティング装置により実行されるファイルの特徴情報を抽出する方法であって、
    バイナリ(binary)ファイルの形態の入力データを、予め設定された大きさのデータに変換する変換段階;及び
    前記予め設定された大きさのデータから、前記入力データの特徴情報を抽出する第1抽出段階;
    を含み、
    前記第1抽出段階は、
    ウェーブレット変換(wavelet transform)法を利用し、前記予め設定された大きさのデータから、特徴情報を抽出する第2抽出段階;
    を含み、
    前記第2抽出段階は、
    前記予め設定された大きさのデータに対して前記ウェーブレット変換法を行い、ウェーブレット係数行列を抽出する段階-前記ウェーブレット係数行列は、近似係数行列(approximation coefficients matrix)及び詳細係数行列(detail coefficients matrix)を含む-;及び
    前記ウェーブレット係数行列に基づき、前記入力データの特徴情報を抽出する段階;
    を含み、
    前記詳細係数行列は、
    水平係数行列(horizontal coefficients matrix)、垂直係数行列(vertical coefficients matrix)又は対角係数行列(diagonal coefficients matrix)のうち、少なくとも1つを含み、
    前記予め設定された大きさのデータは、行列の構造を持つデータであり、
    前記特徴情報は、
    前記予め設定された大きさのデータが1x1の行列の構造になるように、第1回数のウェーブレット変換を行って抽出される前記近似係数行列に係る第1特徴、第1臨界回数以上かつ前記第1回数以下である第1個数範囲内における第2回数のウェーブレット変換を行って抽出される前記対角係数行列の値に係る第2特徴、第1臨界回数以上かつ前記第1回数未満である第2個数範囲内における第3回数のウェーブレット変換を行って抽出される前記対角係数行列に係る第3特徴、又は、前記第1臨界回数未満である第2臨界回数以上かつ前記第1回数未満である第3個数範囲内における第4回数のウェーブレット変換を行って抽出される前記対角係数行列に係る第4特徴のうち、少なくとも1つを含むが、この場合、前記第1臨界回数は前記第1回数より少ない、
    ファイルの特徴情報を抽出する方法。
  2. 請求項において、
    前記第3特徴は、
    前記第3回数のウェーブレット変換を行って抽出される前記対角係数行列の比率に係る第3-1特徴、又は前記第3回数のウェーブレット変換を行って抽出される前記対角係数行列の第1標準偏差に係る第3-2特徴のうち、少なくとも1つを含む、
    ファイルの特徴情報を抽出する方法。
  3. 請求項において、
    前記第4特徴は、
    前記第4回数のウェーブレット変換を行って抽出される前記対角係数行列の値の合計に係る第4-1特徴、前記第3回数のウェーブレット変換を行って抽出される前記対角係数行列の値の歪度に係る第4-2特徴、前記第3回数のウェーブレット変換を行って抽出される前記対角係数行列の第2標準偏差に係る第4-3特徴、又は前記第3回数のウェーブレット変換を行って抽出される前記対角係数行列の平均値に係る第4-4特徴のうち、少なくとも1つの特徴を含む、
    ファイルの特徴情報を抽出する方法。
  4. 請求項1において、
    前記バイナリ(binary)ファイルの形態の入力データを、予め設定された大きさのデータに変換する段階は、
    隠れマルコフモデル(hidden Markov model)を利用し、前記入力データを前記予め設定された大きさのデータに変換する段階;
    を含む、
    ファイルの特徴情報を抽出する方法。
  5. 請求項1において、
    前記バイナリ(binary)ファイルの形態の入力データを、予め設定された大きさのデータに変換する段階は、
    前記入力データを、記憶装置の大きさを表す第1単位(unit)で区分して認識する段階;
    前記第1単位で認識されたデータの個数をカウントする段階;及び
    前記第1単位のデータの個数に基づき、前記入力データを前記予め設定された大きさのデータに変換する段階;
    を含む、
    ファイルの特徴情報を抽出する方法。
  6. 請求項1において、
    前記バイナリ(binary)ファイルの形態の入力データを、予め設定された大きさのデータに変換する段階は、
    前記入力データをバイト単位で認識する段階;
    認識された複数のバイトの各々の個数をカウントする段階;及び
    前記複数のバイトの各々の個数に基づき、前記入力データを前記予め設定された大きさのデータに変換する段階;
    を含む、
    ファイルの特徴情報を抽出する方法。
  7. 請求項において、
    前記複数のバイトの各々の個数に基づき、前記入力データを前記予め設定された大きさのデータに変換する段階は、
    前記複数のバイトの各々の個数に基づき、全データのうち前記複数のバイトの各々の出現確率を計算する段階;及び
    前記出現確率に基づき、前記入力データを前記予め設定された大きさのデータに変換する段階;
    を含む、
    ファイルの特徴情報を抽出する方法。
  8. 請求項1において、
    前記バイナリ(binary)ファイルの形態の入力データを、予め設定された大きさのデータに変換する段階は、
    前記入力データをバイト単位で認識する段階;
    認識された複数のバイトのうち第1バイトの次に第2バイトが繋がる、複数のバイト間の固有の連結構造の出現回数を計算する段階-前記出現回数は、前記認識された複数のバイトのうち少なくとも一部について計算される-;及び
    前記出現回数に基づき、前記入力データを前記予め設定された大きさのデータに変換する段階;
    を含む、
    ファイルの特徴情報を抽出する方法。
  9. 請求項において、
    前記出現回数に基づき、前記入力データを前記予め設定された大きさのデータに変換する段階は、
    前記出現回数に基づき、前記第1バイトの次に前記第2バイトが出現する、複数のバイト間の連結確率を計算する段階;及び
    前記連結確率に基づき、前記入力データを前記予め設定された大きさのデータに変換する段階;
    を含む、
    ファイルの特徴情報を抽出する方法。
  10. 請求項1において、
    バイナリファイルの形態の入力データから悪性コードを検知するように、前記第1抽出段階において抽出された前記特徴情報を学習データにしてネットワークモデルを学習させる段階;
    をさらに含む、
    ファイルの特徴情報を抽出する方法。
  11. ファイルの特徴情報を抽出するコンピューティング装置であって、
    バイナリ(binary)ファイルの形態の入力データを、予め設定された大きさのデータに変換するバイナリファイル変換部;及び
    前記予め設定された大きさのデータから、前記入力データの特徴情報を抽出する第1抽出部;
    を含み、
    前記第1抽出部は、
    ウェーブレット変換(wavelet transform)法を利用し、前記予め設定された大きさのデータから、特徴情報を抽出する第2抽出部;
    を含み、
    前記第2抽出部は、
    前記予め設定された大きさのデータに対して前記ウェーブレット変換法を行い、ウェーブレット係数行列を抽出する部-前記ウェーブレット係数行列は、近似係数行列(approximation coefficients matrix)及び詳細係数行列(detail coefficients matrix)を含む-;及び
    前記ウェーブレット係数行列に基づき、前記入力データの特徴情報を抽出する部;
    を含み、
    前記詳細係数行列は、
    水平係数行列(horizontal coefficients matrix)、垂直係数行列(vertical coefficients matrix)又は対角係数行列(diagonal coefficients matrix)のうち、少なくとも1つを含み、
    前記予め設定された大きさのデータは、行列の構造を持つデータであり、
    前記特徴情報は、
    前記予め設定された大きさのデータが1x1の行列の構造になるように、第1回数のウェーブレット変換を行って抽出される前記近似係数行列に係る第1特徴、第1臨界回数以上かつ前記第1回数以下である第1個数範囲内における第2回数のウェーブレット変換を行って抽出される前記対角係数行列の値に係る第2特徴、第1臨界回数以上かつ前記第1回数未満である第2個数範囲内における第3回数のウェーブレット変換を行って抽出される前記対角係数行列に係る第3特徴、又は、前記第1臨界回数未満である第2臨界回数以上かつ前記第1回数未満である第3個数範囲内における第4回数のウェーブレット変換を行って抽出される前記対角係数行列に係る第4特徴のうち、少なくとも1つを含むが、この場合、前記第1臨界回数は前記第1回数より少ない、
    コンピューティング装置。
  12. コンピューター可読保存媒体に保存されているコンピュータープログラムであって、前記コンピュータープログラムは、1つ以上のプロセッサーにより実行される場合、ファイルの特徴情報を抽出する方法を実行し、前記方法は、
    バイナリ(binary)ファイルの形態の入力データを、予め設定された大きさのデータに変換する変換段階;及び
    前記予め設定された大きさのデータから、前記入力データの特徴情報を抽出する第1抽出段階;を含み、
    前記第1抽出段階は、
    ウェーブレット変換(wavelet transform)法を利用し、前記予め設定された大きさのデータから、特徴情報を抽出する第2抽出段階;
    を含み、
    前記第2抽出段階は、
    前記予め設定された大きさのデータに対して前記ウェーブレット変換法を行い、ウェーブレット係数行列を抽出する段階-前記ウェーブレット係数行列は、近似係数行列(approximation coefficients matrix)及び詳細係数行列(detail coefficients matrix)を含む-;及び
    前記ウェーブレット係数行列に基づき、前記入力データの特徴情報を抽出する段階;
    を含み、
    前記詳細係数行列は、
    水平係数行列(horizontal coefficients matrix)、垂直係数行列(vertical coefficients matrix)又は対角係数行列(diagonal coefficients matrix)のうち、少なくとも1つを含み、
    前記予め設定された大きさのデータは、行列の構造を持つデータであり、
    前記特徴情報は、
    前記予め設定された大きさのデータが1x1の行列の構造になるように、第1回数のウェーブレット変換を行って抽出される前記近似係数行列に係る第1特徴、第1臨界回数以上かつ前記第1回数以下である第1個数範囲内における第2回数のウェーブレット変換を行って抽出される前記対角係数行列の値に係る第2特徴、第1臨界回数以上かつ前記第1回数未満である第2個数範囲内における第3回数のウェーブレット変換を行って抽出される前記対角係数行列に係る第3特徴、又は、前記第1臨界回数未満である第2臨界回数以上かつ前記第1回数未満である第3個数範囲内における第4回数のウェーブレット変換を行って抽出される前記対角係数行列に係る第4特徴のうち、少なくとも1つを含むが、この場合、前記第1臨界回数は前記第1回数より少ない、
    コンピューター可読保存媒体に保存されるコンピュータープログラム。
JP2024514694A 2021-09-08 2022-07-15 バイナリファイルの固定化とウェーブレット信号処理によるバイナリファイルの特徴情報の抽出 Active JP7684755B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR20210119714 2021-09-08
KR10-2021-0119714 2021-09-08
KR10-2021-0163930 2021-11-25
KR1020210163930A KR102533012B1 (ko) 2021-09-08 2021-11-25 바이너리 파일 고정화와 웨이블릿 신호처리를 통한 바이너리 파일 특징 정보 추출
PCT/KR2022/010370 WO2023038273A1 (ko) 2021-09-08 2022-07-15 바이너리 파일 고정화와 웨이블릿 신호처리를 통한 바이너리 파일 특징 정보 추출

Publications (2)

Publication Number Publication Date
JP2024535757A JP2024535757A (ja) 2024-10-02
JP7684755B2 true JP7684755B2 (ja) 2025-05-28

Family

ID=85506556

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2024514694A Active JP7684755B2 (ja) 2021-09-08 2022-07-15 バイナリファイルの固定化とウェーブレット信号処理によるバイナリファイルの特徴情報の抽出

Country Status (4)

Country Link
US (1) US12339964B2 (ja)
EP (1) EP4386598B1 (ja)
JP (1) JP7684755B2 (ja)
WO (1) WO2023038273A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140122087A1 (en) 2012-10-30 2014-05-01 Motorola Solutions, Inc. Method and apparatus for activating a particular wireless communication device to accept speech and/or voice commands
JP2019527447A (ja) 2017-05-24 2019-09-26 イーストセキュリティー コーポレーションESTsecurity Corp. ニューラルネットワーク学習ベースの変種悪性コードを検出するための装置、そのための方法及びこの方法を実行するためのプログラムが記録されたコンピュータ読み取り可能な記録媒体
US20200045063A1 (en) 2018-07-31 2020-02-06 Fortinet, Inc. Automated feature extraction and artificial intelligence (ai) based detection and classification of malware
US10762200B1 (en) 2019-05-20 2020-09-01 Sentinel Labs Israel Ltd. Systems and methods for executable code detection, automatic feature extraction and position independent code detection
KR102185831B1 (ko) 2019-07-25 2020-12-03 호서대학교 산학협력단 디해시 기반 악성코드 분석 장치 및 방법
US20210118146A1 (en) 2020-12-23 2021-04-22 Intel Corporation Methods and apparatus for high-fidelity vision tasks using deep neural networks

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001169118A (ja) * 1999-12-14 2001-06-22 Canon Inc 画像処理装置及びその方法、コンピュータ可読メモリ
JP5563494B2 (ja) * 2011-02-01 2014-07-30 株式会社デンソーアイティーラボラトリ 対応参照画像検索装置及び方法、コンテンツ重畳装置、システム、及び方法、並びにコンピュータプログラム
KR101716564B1 (ko) 2015-04-02 2017-03-15 현대오토에버 주식회사 하둡 기반의 악성코드 탐지 방법과 시스템
KR102450834B1 (ko) * 2016-01-04 2022-10-05 한국전자통신연구원 다중 특징벡터를 이용하는 행위기반 악성코드 탐지 장치 및 방법
US10616252B2 (en) * 2017-06-30 2020-04-07 SparkCognition, Inc. Automated detection of malware using trained neural network-based file classifiers and machine learning
KR101960869B1 (ko) 2017-06-30 2019-03-21 주식회사 씨티아이랩 인공지능 기반 악성코드 검출 시스템 및 방법
US10659477B2 (en) * 2017-12-19 2020-05-19 The Boeing Company Method and system for vehicle cyber-attack event detection
KR102412337B1 (ko) 2019-11-29 2022-06-23 부경대학교 산학협력단 인간 상피 세포 이미지 분류를 위한 동적 학습 장치 및 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140122087A1 (en) 2012-10-30 2014-05-01 Motorola Solutions, Inc. Method and apparatus for activating a particular wireless communication device to accept speech and/or voice commands
JP2019527447A (ja) 2017-05-24 2019-09-26 イーストセキュリティー コーポレーションESTsecurity Corp. ニューラルネットワーク学習ベースの変種悪性コードを検出するための装置、そのための方法及びこの方法を実行するためのプログラムが記録されたコンピュータ読み取り可能な記録媒体
US20200045063A1 (en) 2018-07-31 2020-02-06 Fortinet, Inc. Automated feature extraction and artificial intelligence (ai) based detection and classification of malware
US10762200B1 (en) 2019-05-20 2020-09-01 Sentinel Labs Israel Ltd. Systems and methods for executable code detection, automatic feature extraction and position independent code detection
KR102185831B1 (ko) 2019-07-25 2020-12-03 호서대학교 산학협력단 디해시 기반 악성코드 분석 장치 및 방법
US20210118146A1 (en) 2020-12-23 2021-04-22 Intel Corporation Methods and apparatus for high-fidelity vision tasks using deep neural networks

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Anson Pinhero , et al.,Malware detection employed by visualization and deep neural network,Computers & Security,Vol.105,2021年06月30日,https://www.sciencedirect.com/science/article/abs/pii/S0167404821000717?via%3Dihub
Aziz Makandar, et al.,Malware class recognition using image processing techniques,IEEE Xplore(2017 ICDMAI),2017年10月19日
Kesav Kancherla et al.,Image visualization based malware detection,IEEE Xlore(2013 IEEE CICS),2013年09月16日

Also Published As

Publication number Publication date
US12339964B2 (en) 2025-06-24
EP4386598B1 (en) 2025-09-24
JP2024535757A (ja) 2024-10-02
EP4386598A1 (en) 2024-06-19
WO2023038273A1 (ko) 2023-03-16
EP4386598A4 (en) 2024-11-20
US20240256664A1 (en) 2024-08-01

Similar Documents

Publication Publication Date Title
CN111027069B (zh) 恶意软件家族检测方法、存储介质和计算设备
CN116049412B (zh) 文本分类方法、模型训练方法、装置及电子设备
CN112329016A (zh) 一种基于深度神经网络的可视化恶意软件检测装置及方法
CN112131322B (zh) 时间序列分类方法及装置
CN108021806B (zh) 一种恶意安装包的识别方法和装置
CN108229130A (zh) 一种验证方法及装置
CN110287311B (zh) 文本分类方法及装置、存储介质、计算机设备
CN105740707A (zh) 恶意文件的识别方法和装置
CN107819945A (zh) 综合多种因素的手持设备浏览行为认证方法及系统
CN111260220B (zh) 群控设备识别方法、装置、电子设备和存储介质
US11886590B2 (en) Emulator detection using user agent and device model learning
US20220358289A1 (en) User-agent anomaly detection using sentence embedding
WO2019242627A1 (zh) 一种数据处理方法及其装置
CN114898350A (zh) 一种银行卡识别方法、识别系统、电子设备及存储介质
CN109949827A (zh) 一种基于深度学习与强化学习的室内声学行为识别方法
CN108717511A (zh) 一种Android应用威胁度评估模型建立方法、评估方法及系统
CN115640544B (zh) 交易网络的异常检测方法、电子设备及存储介质
CN113760407A (zh) 信息处理方法、装置、设备及存储介质
TWI818496B (zh) 指紋識別方法、指紋模組及電子設備
JP7684755B2 (ja) バイナリファイルの固定化とウェーブレット信号処理によるバイナリファイルの特徴情報の抽出
CN112367222B (zh) 网络异常检测方法和装置
KR102533012B1 (ko) 바이너리 파일 고정화와 웨이블릿 신호처리를 통한 바이너리 파일 특징 정보 추출
CN118709112A (zh) 一种异常开票识别方法、系统、电子设备及介质
CN116955751A (zh) 爬虫识别方法、装置、计算机设备和存储介质
CN118331948B (zh) 应用人工智能和大数据技术的智能化数据管理系统及方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240306

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20250117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250416

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250509

R150 Certificate of patent or registration of utility model

Ref document number: 7684755

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150