IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ サンズ ラブ インコーポレイテッドの特許一覧

特許7314243マルウェアの悪意ある行為フィーチャー情報を生成する方法
<>
  • 特許-マルウェアの悪意ある行為フィーチャー情報を生成する方法 図1
  • 特許-マルウェアの悪意ある行為フィーチャー情報を生成する方法 図2
  • 特許-マルウェアの悪意ある行為フィーチャー情報を生成する方法 図3
  • 特許-マルウェアの悪意ある行為フィーチャー情報を生成する方法 図4
  • 特許-マルウェアの悪意ある行為フィーチャー情報を生成する方法 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-14
(45)【発行日】2023-07-25
(54)【発明の名称】マルウェアの悪意ある行為フィーチャー情報を生成する方法
(51)【国際特許分類】
   G06F 21/56 20130101AFI20230718BHJP
【FI】
G06F21/56 320
【請求項の数】 7
(21)【出願番号】P 2021197714
(22)【出願日】2021-12-06
(65)【公開番号】P2022090643
(43)【公開日】2022-06-17
【審査請求日】2021-12-06
(31)【優先権主張番号】10-2020-0169579
(32)【優先日】2020-12-07
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】521533049
【氏名又は名称】サンズ ラブ インコーポレイテッド
【氏名又は名称原語表記】SANDS LAB Inc.
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【弁護士】
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100211395
【弁理士】
【氏名又は名称】鈴木 裕貴
(72)【発明者】
【氏名】キム キホン
【審査官】吉田 歩
(56)【参考文献】
【文献】国際公開第2016/027641(WO,A1)
【文献】特表2018-524720(JP,A)
【文献】岩村 誠 ほか,機械語命令列の類似性に基づく自動マルウェア分類システム,情報処理学会論文誌,日本,一般社団法人情報処理学会,2010年09月29日,Vol.51, No.9,pp.1622-1632
【文献】田村 壮世 ほか,CNNを用いたPE内関数の類似性によるマルウェア検知手法,情報処理学会 研究報告,日本,情報処理学会,2017年11月27日
【文献】長野 雄太 ほか,亜種マルウェア自動検出のためのデータ圧縮と深層学習,コンピュータセキュリティシンポジウム2017 論文集,日本,一般社団法人情報処理学会,2017年11月02日,Vol.2017, No.2
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/56
(57)【特許請求の範囲】
【請求項1】
標準化され分類されているマルウェアの攻撃タイプに対応する攻撃を実行できるように、事前に作成されたコンピュータープログラムの実行ファイルを受信する第1のステップと、
前記実行ファイルをディスアセンブルして第1のOPコードを取得してマルウェア攻撃を実行する関数の第1のOPコードデータセットを生成する第2のステップと、
マルウェアと判断されたファイルをディスアセンブルして第2のOPコードを取得する第3のステップと、
第1のOPコードデータセットと第2のOPコードとを照らし合わせた結果に基づいて、受信したマルウェアの攻撃タイプに関する情報を生成する第4のステップと、
を含む、マルウェアの悪意ある行為フィーチャー情報の生成方法。
【請求項2】
第4のステップは、第1のOPコードデータセットと第2のOPコードとの類似度が所定の比率以上である場合、受信したマルウェアを第1のOPコードデータセットに該当する攻撃タイプのマルウェアで判断するステップである、請求項1に記載のマルウェアの悪意ある行為フィーチャー情報の生成方法。
【請求項3】
攻撃タイプは、互いに異なって分類された複数のタイプである、請求項1に記載のマルウェアの悪意ある行為フィーチャー情報の生成方法。
【請求項4】
第1のOPコードデータセットに基づいて、第2のOPコードに対してマシンラーニングを行う第6のステップをさらに含む、請求項3に記載のマルウェアの悪意ある行為フィーチャー情報の生成方法。
【請求項5】
マルウェアの攻撃タイプは、MITRE ATT&CKが標準化して分類したタイプである、請求項3に記載のマルウェアの悪意ある行為フィーチャー情報の生成方法。
【請求項6】
請求項1乃至請求項5のいずれか一項に記載の方法を行うためのコンピュータープログラムが記録されたコンピューターにて読取り可能な記録媒体。
【請求項7】
請求項1乃至請求項5のいずれか一項に記載の方法を行うためにコンピューターにて読取り可能な記録媒体に格納されたコンピュータープログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マルウェア(悪意のあるソフトウェアや悪質なコード)情報の生成方法に係り、さらに詳しくは、マルウェアのディスアセンブル情報を解析して、悪意ある行為(悪質な行為、意地の悪い行為)の解説を含むフィーチャー情報を生成する方法に関する。
【背景技術】
【0002】
最近のコンピューターを中心としたIT資産の発展には目を見張るものがあり、これに伴い、世の中は、最近の30年にわたって急激に変化してきた。その領域の拡張は、モバイルおよび無線通信のインフラと相まってすべての生活の根幹が変わるほど大きな変化を招いた。生活インフラのそっくりすべてがIT基盤技術へとバトンが渡された結果、これを脅威しようとするサイバー犯罪もまたIT基盤へと多大に移っていき、実際に甚だしい被害を招いている。
【0003】
ITインフラを脅威するサイバー犯罪の最も多い絶対多数を占めるのがまさに、マルウェアである。マルウェアは、ユーザーの意図とは無関係に、ソフトウェアの誤作動を引き起こして本来の目的とは異なるように、第3者の意図の通りに動作するようにして、情報の奪い、情報の破壊、情報の変形などを引き起こしてしまう。
【0004】
このようにして作製されたマルウェアは、昔にはフィーチャーと属性、製作者の名前などを用いて固有に識別可能なように命名していたが、毎日一日につき数百万個が生成されており、数百万個のマルウェアをいちいち命名することが困難であるため、カテゴリ分類及び動作オペレーティングシステム(OS)などに基づいて自動化された名前で生成している。
【0005】
このように、マルウェアに対して自動化された名称を与えると、様々なマルウェアに関する識別情報を悩むことなく指定することができ、ユーザーに当該情報を閲覧させることはできるものの、実際に探知名称の情報を受け取ったユーザーは、このマルウェアが単に「マルウェア」という情報であることしか知らず、実際にどのような被害を与えてどのような行為を引き起こし、どのような危害を加えるかに関する情報を捉えにくいという限界がある。
【0006】
自動化された名称が与えられたマルウェアに関する詳しい情報が知りたいのであれば、当該探知名称の情報に基づいて検索をして大まかに推測しなければならず、検索されないか、あるいは、ワクチン会社が情報を与えなければ、詳しい情報を知ることができない。
【先行技術文献】
【非特許文献】
【0007】
【文献】https://kali-km.tistory.com/entry/%EC%95%85%EC%84%B1%EC%BD%94%EB%93%9C-%EB%B6%84%EB%A5%98(公開日:2016年3月3日)
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明は、マルウェアの情報を自動的に生成することにより、名称だけでは知りにくいマルウェアの悪意ある行為フィーチャー情報を容易に知るようにするマルウェアの悪意ある行為フィーチャー情報の生成方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明によるマルウェアの悪意ある行為フィーチャー情報の生成方法は、特定のマルウェア機能を実行し得るコードを含むコンピュータープログラムの実行ファイルを受信する第1のステップと、前記実行ファイルをディスアセンブルして第1のOPコードを取得する第2のステップと、受信したマルウェアをディスアセンブルして第2のOPコードを取得する第3のステップと、第1のOPコードと第2のOPコードとを照らし合わせた結果に基づいて、受信したマルウェアに関する情報を生成する第4のステップと、を含む。
【0010】
第4のステップは、第1のOPコードと第2のOPコードとの類似度が所定の比率以上である場合、受信したマルウェアを前記特定のマルウェア機能を有するマルウェアと判断するステップであってもよい。
【0011】
第1のOPコードは、複数のマルウェア機能に対する複数の第1のOPコードデータセットであってもよく、第1のOPコードデータセットをマルウェア攻撃機能ごとに分類する第5のステップをさらに含んでいてもよい。
【0012】
本発明による方法は、第1のOPコードに基づいて、第2のOPコードに対してマシンラーニングを行う第6のステップをさらに含んでいてもよい。
【0013】
第5のステップは、第1のOPコードデータセットをMITRE ATT & CKが分類した攻撃手法IDに基づいて分類するステップであってもよい。
【0014】
本発明の方法における各ステップは、コンピューターにて読取り可能な記録媒体に記録されたコンピュータープログラムによって行われてもよい。
【発明の効果】
【0015】
本発明によれば、マルウェア情報を自動的に生成することにより、名称だけではマルウェアの情報を容易に確認できない場合であっても、手軽にマルウェア情報を知るようにする。
【図面の簡単な説明】
【0016】
図1】本発明の基礎的な考え方を説明するための図。
図2】実行ファイル内の特定の関数がディスアセンブルされてOPコードを出力する過程を示す図。
図3】本発明によるマルウェア情報の生成のための基礎データセットの生成方法のフローチャート。
図4】本発明による受信したマルウェア情報を生成する方法のフローチャート。
図5】本発明によりマルウェアの攻撃手法ごとに分類された第1のOPコードデータセットを示す図。
【発明を実施するための形態】
【0017】
以下、添付図面に基づいて、本発明について詳しく説明する。
【0018】
この明細書において行われる情報(データ)の伝送/受信の過程には、必要に応じて、暗号化/復号化が適用されてもよく、この明細書及び特許請求の範囲において情報(データ)の伝送過程について説明する言い回しは、別に断わることがなくても、いずれも暗号化/復号化する場合もまた含むものと解釈されなければならない。この明細書において、「Aから Bへと伝送(受け渡し)」または「AがBから受信」といったような言い回しは、途中に他の媒介体が介在されて伝送(受け渡し)または受信されることをも含み、AからBまで直接的に伝送(受け渡し)または受信されることのみを表すわけではない。本発明の説明において、各ステップの順番は、先行ステップが論理的及び時間的に必ずしも後行ステップに先立って行われなければならない場合ではなければ、各ステップの順番は日制限的であると理解されなければならない。すなわち、たとえ上記のような例外的な場合を除いては、後行ステップとして説明された過程が先行ステップとして説明された過程よりも先に行われるとしても、発明の本質には影響が及ばず、権利範囲もまた、ステップの順番とは無関係に定義されなければならない。また、この明細書において、「AまたはB」は、AとBのどちらか一方を選択的に指し示すことだけではなく、AとBを両方とも含むことも意味するものと定義される。なお、この明細書において、「含む」という用語は、含むものとして並べられた要素のほかにも他の構成要素をさらに含むことも網羅するという意味を有する。
【0019】
この明細書において、「モジュール」または「ユニット」または「部」とは、汎用的なハードウェアとその機能を行うソフトウェアとの論理的な結合のことをいう。
【0020】
この明細書においては、本発明を説明するうえで必要とされる最小限の構成要素についてのみ説明し、本発明の本質とは関係のない構成要素について言及しない。なお、言及される構成要素のみを備える排他的な意味として解釈されてはならず、未言及の他の構成要素もまた備えていてもよいという排他的な意味として解釈されなければならない。
【0021】
本発明による方法は、コンピューター、タブレットPC、モバイルフォン、携帯型演算装置、固定式演算装置などの電子的な演算装置により行われてもよい。また、本発明の一つまたはそれ以上の方法または形態が少なくとも一つのプロセッサーにより行われてもよいということが理解されなければならない。プロセッサーは、コンピューター、タブレットPC、モバイル装置、携帯型演算装置などに設置されてもよい。コンピュータープログラム指令を格納するようになっているメモリーがそのような装置に設置されてプログラムが格納されたプログラム指令をプロセッサーが実行するように特にプログラミングされて一つまたはそれ以上のこの明細書に記載されたようなプロセスを行ってもよい。さらに、この明細書に記載されている情報及び方法などは、一つまたはそれ以上のさらなる構成要素とプロセッサーを備えるコンピューター、タブレットPC、モバイル装置、携帯型演算装置などにより行われてもよいということが理解されなければならない。さらにまた、制御ロジックは、プロセッサー、制御部/制御ユニットなどにより実行可能なプログラム指令を含む不揮発性コンピューターにて読取り可能な媒体により実現されてもよい。コンピューターにて読取り可能な媒体の例としては、ROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、フラッシュドライブ、スマートカード、光学データ格納装置などがあげられるが、これらに何ら制限されることはない。なお、コンピューターにて読取り可能な記録媒体は、ネットワークにより結ばれたコンピューターに分散されて、コンピューターにて読取り可能な媒体が分散された方式、例えば、リモートサーバーまたはコントローラエリアネットワーク(CAN:Controller Area Network)により分散された方式により格納されかつ実行されてもよい。
【0022】
図1は、本発明の概念を説明するための図である。
【0023】
所定の機能を実行するための形態のバイナリーファイルを実行ファイル(EXEファイル)と称する。実行ファイルは、PE構造の形態を有するが、この実行ファイル10をディスアセンブラー20(disassembler)に入力すれば、OPコード30を生成することができる。OPコードは、コンピューターの起動構造と流れ、各種の指令語セットを格納しておいた形式に構成されており、オペレーティングシステムにおいてOPコードの制御と流れに従って所要のデータを処理することにより、コンピュータープログラムが開発者の意図の通りに動作するように実現されている。
【0024】
図2に示すように、実行ファイル(EXEファイル)内の特定の関数Aをディスアセンブラーに入力すれば、OPコードに変換されて出力される。
【0025】
図3は、マルウェア情報の生成のための基礎データセットの生成方法のフローチャートである。上述したように、本発明は、電子的に演算可能な電子的演算装置により行われてもよい。
【0026】
ステップ300において、実行ファイルを受信する。実行ファイルは、公知のマルウェアの攻撃機能を実行できるようにコーティングされたコンピュータープログラムの実行ファイルである。例えば、https://attack.mitre.org/サイト(MITRE ATT&CK)にはハッカーやマルウェアが使用する主な攻撃手法があらかじめ定義されており、これをCVEコード(Common Vulnerabilities and Exposures Code)のように管理している。なお、それぞれの攻撃手法に対して固有IDを与えて分類しやすくしている。
【0027】
このように、公知のマルウェアの攻撃手法(機能)を実行し得るコンピュータープログラムを任意にコーディングし、そのコンピュータープログラムをコンパイラーにより実行ファイルに変換し、これをステップ300において受信する。
【0028】
受信された実行ファイル10は、ディスアセンブラー20に入力してディスアセンブルを行い(ステップ310)、ステップ320において、第1のOPコードを取得する。第1のOPコードは、後述するように、マルウェアの情報を生成するための基準情報としての役割を果たす。様々な形態により実現されたマルウェアにおいて識別される攻撃機能を実行するコンピュータープログラムをコーディングし、これを実行ファイルに変換した後にディスアセンブルを行って、持続的に第1のOPコードを取り出し続けると、そのようにして集められた第1のOPコードでデータセット(第1のOPコードデータセット)を生成することができる(ステップ330)。一つの第1のOPコードデータセットは、特定の攻撃手法に対する複数の第1のOPコードの集まりであってもよい。
【0029】
生成された第1のOPコードデータセットは、攻撃手法ごとに分類を行う(ステップ340)。図5には、そのような分類の例が示されている。第1のOPコードデータセット#1は、MITRE ATT&CKが分類した攻撃手法IDを基準として「T1011」に分類し、第1のOPコードデータセット#2は、同じ分類方式の攻撃手法IDを基準として「T2013」に分類することができる。図5に示されている分類方式は、単なる一つの例示に過ぎず、他の方式の分類をも十分に行うことができるものと理解されなければならない。
【0030】
このようにして分類された第1のOPコードデータセットに基づいて、それぞれの攻撃手法ごとにマシンラーニングを行って攻撃手法ごとに学習データを生成することができる。
【0031】
図4は、マルウェアが受信されたとき、本発明に従い当該マルウェアの情報を生成する方法のフローチャートである。本発明は、マルウェアそれ自体を探知する方法に関するものではなく、マルウェアとして探知された場合、当該マルウェアの悪意ある行為フィーチャーに関する情報を自動的に生成する方法に関するものであるため、マルウェアの探知の具体的な方法についての説明は省略し、どのような方式であっても、マルウェアとして探知された場合であれば、本発明によるマルウェアの悪意ある行為フィーチャー情報が生成可能である。
【0032】
まず、マルウェアとして探知されたマルウェアファイルを受信する(ステップ400)。探知されたマルウェアファイルは、ディスアセンブラー20に入力されて(ステップ410)、当該マルウェアのOPコード(第2のOPコード)が取得される(ステップ420)。取得した第2のOPコードは、第1のOPコードデータセットに比べて類似度が所定の比率以上である第1のOPデータセットがあれば、当該第1のOPデータセットにマッチングされているマルウェアの悪意ある行為フィーチャー情報を、取得した第2のOPコードの悪意ある行為フィーチャー情報として生成する。
【0033】
新しく受信されるマルウェアファイルに対しては、第1のOPデータセットに基づいて、マシンラーニングを行い続けて類似度の判断の正確性を高めることができる。あるいは、マルウェア情報の判断を行うに先立って予め、公知の様々なマルウェアをディスアセンブルして取得したOPコードに対して第1のOPコードデータセットに基づくマシンラーニングを行って、予め正確度が高い状態でマルウェアのフィーチャー情報の生成を行ってもよい。
【0034】
マシンラーニングにより指導学習と非指導学習を両方とも行うことができ、マシンラーニングアルゴリズムとしては、公知の様々なアルゴリズムを適用することができる。本発明は、マシンラーニングアルゴリズムそれ自体に関するものではないため、それについての詳しい説明は省略する。
【0035】
マルウェアファイルが、例えば、malware.exeである場合に、当該マルウェアファイルをディスアセンブルし、取得した第2のOPコードに対して第1のOPコードデータセットに基づく類似度の判断を経た結果として生成されたmalware.exeファイルの攻撃手法(機能)に対する複数の分類の例が下記の表1に記載されている。
【0036】
【表1】
【0037】
説明のしやすさのために、IDは、MITRE ATT&CKが分類した攻撃手法ID(T-ID)を基準としている。すなわち、malware.exeというマルウェアファイルから取得された第2のOPコードが、第1のOPコードデータセットのうち類似度が所定の比率以上であると判定された第1のOPコードデータセットがあれば、当該第1のOPコードデータセットが分類されている攻撃手法に相当すると判定し、当該攻撃手法をマルウェア情報として生成する。マルウェアファイルから取得した第2のOPコードは、複数の攻撃手法に対するものであってもよく、取得した第2のOPコードは、第1のOPコードデータセット#1~第1のOPコードデータセット#Nのすべてに対して類似度の判定過程を経ってもよい。
【0038】
本発明によれば、たとえ自動化方式により名称が与えられてその情報を知りにくいマルウェアであるとしても、ディスアセンブル過程を用いてOPコードさえ取得すれば、当該マルウェアの情報を容易に知ることができるという作用効果が奏される。
【0039】
以上、添付図面に基づいて、本発明について説明したが、本発明の権利範囲は、特許請求の範囲によって決定され、上述した実施形態および/または図面に制限されるものと解釈されてはならない。なお、特許請求の範囲に記載の発明の当業者にとって自明な改良、変更及び修正もまた本発明の権利範囲に含まれるということが明らかに理解されなければならない。
図1
図2
図3
図4
図5