JP2017509962A - 構造化ファイルからの静的特徴抽出 - Google Patents

構造化ファイルからの静的特徴抽出 Download PDF

Info

Publication number
JP2017509962A
JP2017509962A JP2016549252A JP2016549252A JP2017509962A JP 2017509962 A JP2017509962 A JP 2017509962A JP 2016549252 A JP2016549252 A JP 2016549252A JP 2016549252 A JP2016549252 A JP 2016549252A JP 2017509962 A JP2017509962 A JP 2017509962A
Authority
JP
Japan
Prior art keywords
data
structured file
feature
file
structured
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
Application number
JP2016549252A
Other languages
English (en)
Other versions
JP6726620B2 (ja
JP2017509962A5 (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.)
Cylance Inc
Original Assignee
Cylance Inc
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 Cylance Inc filed Critical Cylance Inc
Publication of JP2017509962A publication Critical patent/JP2017509962A/ja
Publication of JP2017509962A5 publication Critical patent/JP2017509962A5/ja
Application granted granted Critical
Publication of JP6726620B2 publication Critical patent/JP6726620B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/116Details of conversion of file system types or formats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/188Virtual file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/564Static detection by virus signature recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/565Static detection by checking file integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)
  • Document Processing Apparatus (AREA)

Abstract

実行環境によって要求されるデータをカプセル化する構造化ファイルを含むデータは、構造化ファイル内部でラップされる実行コードを管理するために、受信され、及びアクセスされる。その後に、コード及びデータ領域は、構造化ファイルにおいて繰り返し特定される。そのような特定は、少なくとも一つの特徴が構造化ファイルから抽出され得るように分析される。関連する装置、システム、技術及び製品も、記載する。

Description

本出願は、2014年1月31日出願の米国特許出願第14/169,808号の優先権を主張し、その内容は、参照の上、全体として本明細書に組み込まれている。
本明細書に説明される発明の要旨は、Portable Executable(ポータブル エグゼキュータブル)フォーマットファイルなどの構造化ファイルからの機械学習特徴を抽出することに関する。
ポータブル エグゼキュータブル フォーマットファイルなどの構造化ファイルは、ラップされる実行コードを管理するために、実行環境ローダに要求される情報をカプセル化する。ポータブル エグゼキュータブル(PE)フォーマットファイルは、WINDOWS(登録商標)オペレーティングシステムにより用いられる構造化ファイルの一種であり、実行ファイル、オブジェクトコード、DLLs、FONフォントファイル及びその他のファイルのタイプを含む。構造化ファイルは、リソース(例えば、画像及び文字)並びに記述的及び規範的メタデータを含むさらなるデータを含み得、それ自体は、例えば、マルウェアの挿入などの悪意のある目的のためにしばしば用いられる。
一つの形態において、構造化ファイル内部でラップされる実行コードを管理するために、実行環境によって要求されるデータをカプセル化する構造化ファイルを含むデータは、受信され又はアクセスされる。その後に、コード及びデータ領域が、構造化ファイル内で繰り返し特定される。そのような特定は、少なくとも一つの特徴が構造化ファイルから抽出され得るように分析される。
構造化ファイルは、ポータブル エグゼキュータブル(PE)フォーマットファイル、Disk Operating System(ディスク オペレーティング システム)(DOS)実行ファイル、New Executable(ニュー エグゼキュータブル)(NE)ファイル、Linear Executable(リニア エグゼキュータブル)(LE)ファイル、Executable and Linkable Format(エグゼキュータブル アンド リンカブル フォーマット)(ELF)ファイル、JAVA(登録商標) Archive(ジャバ アチーブ)(JAR)ファイル、及びSHOCKWAVE/FLASH(ショックウェーブ/フラッシュ)(SWF)ファイルを含むがそれらに限定されない、多様な形式が採用され得る。
実行環境は、例えば、オペレーティングシステム又はバーチャルマシンであればよい。
いくつかの変形例において、構造化ファイルが有効なシグネチャをカプセル化するかどうかを判別するために、構造化ファイル内部の少なくとも一つのヘッダを調べることによって、構造化ファイルが有効であることが判別され得る。
抽出された少なくとも一つの特徴は、1次の特徴であり得る。抽出された少なくとも一つの1次の特徴は、高次の特徴の中へ導出され得る。
さらに、ネガティブスペースは、構造化ファイル内で分析され得、少なくとも一つのさらなる特徴を抽出する。この点で、ネガティブスペースは、特定されたコード及びデータ領域と異なる。
抽出された少なくとも一つの特徴は、変換され得る。例としての変換は、抽出された少なくとも一つの特徴を無効化するステップ、抽出された少なくとも一つの特徴を切り詰めるステップ、又は少なくとも一つの特徴の少なくとも一部をエンコードするステップ、の一つ又はそれ以上を含み得る。
構造化ファイル内でコード及びデータ領域を特定することは、構造化ファイルを構文解析し及び逆アセンブリするステップを含み得る。構造化ファイル内のデータは、階層的に配置され、及び構造化ファイルは、第2のデータ構造体をカプセル化する第1のデータ構造体をカプセル化するトップレベルヘッダを含み得る。
構造化ファイル内のコード及びデータ領域を繰り返し特定するステップは、構造化ファイル内のコード及び/又はデータ領域のタイプを特定するステップを含み得る。
抽出された少なくとも一つの特徴は、いくつかの場合において、モデルによる消費/使用のために、機械学習モデルに提供され得る。少なくとも一つの特徴は、さらなる/中間の処理が、そのような特徴を用い、モデルに要求されないように、抽出され得る。
命令をストアする持続性のコンピュータプログラムプロダクト(すなわち、物理的に統合されたコンピュータプログラムプロダクト)も記載するのであり、その命令は、一つ又はそれ以上のコンピュータシステムの一つ又はそれ以上のデータプロセッサ上で実行される際に、少なくとも一つのデータプロセッサに本明細書のオペレーションを実行させる。同様に、一つ又はそれ以上のデータプロセッサ及び一つ又はそれ以上のデータプロセッサと結合するメモリを含み得るコンピュータシステムも、記載する。メモリは、少なくとも一つのプロセッサに、本明細書に説明する動作の一つ又はそれ以上を実行させる命令を、一時的に又は恒久的にストアし得る。さらに、方法は、単独のコンピュータシステム内部の、いずれか一つ又はそれ以上のデータプロセッサによって実装され、若しくは二つ又はそれ以上のコンピュータシステムの間で分配され得る。そのようなコンピュータシステムは、接続され得、並びにデータ及び/又はコマンド、若しくは他の命令などを、一つ又はそれ以上の接続、複数のコンピュータシステムの一つ又はそれ以上の間の直接接続を介して交換し得、一つ又はそれ以上の接続は、ネットワークを跨いだ接続(例えば、インターネット、無線ワイドエリアネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、有線ネットワーク、又はそのようなもの)を含むが、それらに限定されない。
本明細書に説明する発明の要旨は、多くの利点を提供する。例えば、本発明の要旨は、構造化フォーマットファイル(例えば、PEフォーマットファイルなど)内部のコードから特徴を抽出するために用いられ得、そのような特徴は、次に、そのようなコードの潜在的な悪意のある形態を特定するために用いられ得る。
本明細書に説明される発明の要旨の一つ又はそれ以上の変形例の詳細は、添付の図面及び以下の説明に記載されている。本明細書に説明される発明の要旨の他の特徴及び利点は、説明及び図面から、及び請求項から、明白である。
図1は、ポータブル エグゼキュータブル フォーマットファイルを示す図である。 図2は、構造化ファイル内部のコード及びデータからの特徴の抽出を示す第1の処理フロー図である。 図3は、構造化ファイルからの抽出された特徴を示す図である。 図4は、構造化ファイル内部のコード及びデータからの特徴の抽出を示す第2の処理フロー図である。
様々な図内の類似の参照シンボルは、類似の要素を示す。
本発明の要旨は、構造化ファイルからの特徴抽出に関し、その特徴抽出は、公的に公式の文書が存在しないフィールド、及びRFC 4122 Universally Unique Identifiers(アールエフシー 4122 ユニバーサリ ユニーク アイデンティファ)、Microsoft VisualBASIC(マイクロソフト ビジュアルベーシック)及び.NET Framework(ドットネット フレームワーク)のコード及びデータ、並びにMultilingual User Interface(マルチリンガル ユーザ インターフェース)(MUI)リソースなどの関連のある仕様(例えば、PE仕様など)においてカバーされない共通構造体のフィールドに加えて、構造化ファイルフォーマットの本質的に全ての文書化されたフィールドを、収集する。本発明の要旨は、構造化ファイル内部のコードの広がりを分析し、フィールドの様々なトークン化及びコードの導出を特徴として抽出するのにも用いられ得る。さらに、本発明の要旨は、どの特定可能なコード又はデータとも対応しない構造化ファイル内の「ネガティブスペース」から、特徴を導出することを可能にする。
本発明の要旨が、ポータブル エグゼキュータブル(PE)フォーマットファイルに対する本発明の要旨の利用例を説明する一方で、本明細書に説明される方法は、DOS実行ファイル、ニュー エグゼキュータブル(NE)ファイル、リニア エグゼキュータブル(LE)ファイル、エグゼキュータブル アンド リンカブル フォーマット(ELF)ファイル、ジャバ アチーブ(JAR)ファイル、ショックウェーブ/フラッシュ(SWF)ファイルなどの他のタイプの構造化ファイルに適用され得ることを理解されたい。構造化ファイルという用語は、本明細書に用いられるように、構造化ファイル内部でラップされる実行コードを管理するために実行環境によって要求されるデータをカプセル化するファイルのことを示す。
ファイルの静的な(不変の)内容が調べられるという点で、特徴抽出のこの処理は、静的分析と称されてもよい、実行中のその動的な(変化する)状態及び実行の副作用は考慮されない。ファイルは実行されないためである。静的分析は、しばしば、動的分析よりも、はるかに速く、はるかにリソース集約的でなく、及びより包括的であり、一方で動的分析は、実装することがより容易であり得、環境特有の情報のソースとして機器化されて存在する実行環境を使用し得る。
図1は、ポータブル エグゼキュータブル フォーマットファイルの一部を説明する図100である。この図100において、非公式に文書化された構造体の例(「Rich(リッチ)」データ)が含まれ、階層(例えば、IMAGE_NT_HEADERS −−> IMAGE_NT_HEADERS.OptionalHeader −−> IMAGE_NT_HEADERS.OptionalHeader.Magic)及び順序(一連のIMAGE_SECTION_HEADER構造体)が提示される。他のタイプの構造化ファイルの構成は、内在する実行環境に基づいて異なり得る。例えば、DOS実行ファイル、NEファイル、及びLEファイルは全て、DOSヘッダから始まり、しかしNEファイルにおいては、DOSヘッダは、NE特有のヘッダを参照し、一方でLEファイルにおいては、DOSヘッダは、LE特有のヘッダを参照する。ELFファイルは、一方で、さらなるELF特有のヘッダ及びテーブルを順次参照する独特のELFヘッダから始まる。
図2は、構造化ファイルからの特徴の抽出を説明する処理フロー図200である。この特定の例において、構造化ファイルは、(メタデータ及びリソースを含む)データと共にコードを含むPEである。他の変形例は、他のタイプの構造化ファイルのために実装され得る。最初に、205において、PEの処理は、(ローカル又はリモートソースからのいずれかの)第2の記録装置から読み出すことのためにPEファイルを開くことによって、若しくはPEファイルをダウンロードすること、別の方法で、PEを構成するビットへのプログラムのアクセスを増やすことによって、始まる。その後、PEへのアクセスは、バイトのストリームとして概念化される。図2の図200においては、PEをオープンすることが成功することが前提とされる。もし失敗する場合は、PEはリジェクトされ得る。その後、210において、PEファイルのDOSヘッダが読み出され得る。DOSヘッダは、サイズが64バイトの規定された構造体であり得、複数のフィールドを含む。読み出されたDOSヘッダは、その後、215にて、チェックされ得る。もし64バイト(又は他の予め規定された閾値)よりも少なく読み出された場合は、DOSヘッダの第1の部分(例えば、DOSヘッダの最初の2バイトを含むe_magicフィールド)が、予測されたシグネチャを含まない、又はDOSヘッダの第2の部分(例えば、DOSヘッダの61番目から64番目のバイトを含むe_lfanewフィールド)が無効な値を構成する(例えば、それらがファイルの外側にオフセットを示す)ならば、PEは、230において、リジェクトされ得る。もし、215において有効なDOSヘッダが首尾良く読み出された場合は、その後220において、ストリームの読み出し位置は、DOSヘッダのe_lfanewフィールドによって示される絶対位置に移動し得、PEヘッダの第1の部分は、読み出される。PEヘッダは、4バイトのシグネチャフィールド、24バイトのファイルヘッダサブ構造体、及び可変長のオプショナルヘッダサブ構造体(このステップにおいて読み出されるように示されないが、近接するデータとして特定されて235にて読み出される。)を含み得る。次に、225において、220にて読み出されたPEヘッダの一部は、チェックされ得る。もし、28バイトよりも少なく読み出された場合は、又はもしシグネチャフィールドが、予測されるシグネチャを含まない場合は、PEは230にてリジェクトされ得る。もし、215又は225におけるチェックが充足しない場合は、その後の230にて、PEは実際に有効なPEではないと判別されて、リジェクトされる。他のPE検証ステップは、所望の実装に依存して利用され得る。
図2は、コード及びデータを読み出して構文解析し、さらなるコード及びデータをディスカバし得る、235から280までのループを含み得る。(PEのいくつかの既知の位置において、PEをスキャンすることによって見出される位置において、他のコード又はデータによって参照される位置において、若しくは他のコード又はデータに関する位置において)前もって見出された構造体は、235において、読み出され及び構文解析され得る。概念的に、DOSヘッダは、ルート構造体であり、0の既知の位置に位置付けられ、PEヘッダを参照し、一方で、リッチデータは、(もし存在する場合は、)DOSヘッダに対して位置付けられる。PEヘッダは、次に、他のコード及びデータを参照し又は他のコード及びデータに近接し、その他のコード及びデータは、他のコード及びデータを参照し又は他のコード及びデータに近接し、及びそのように続く。235の読み出し及びデータ特有の構文解析は、240において、続いてチェックされ得る。240におけるチェックが、235における読み出しが不完全であった又は失敗であったことを示すならば、又は235における構文解析が、データが無効であると判別したならば、続いて245にて、失敗又は無効についての情報は、そのデータに対して特徴として記録される。見出されたデータのキューは、その後、250において、チェックされ得る。もし、データは見出されたが、読み出し及び構文解析がまだ試行されていないならば、ループの別の繰り返しが235において始まり得る。もし250におけるチェックが、すべての見出されたデータが読み出されて構文解析されたことを示すならば、続いて255にて、コードスタートポイントはデータから、一般的には参照コードに知られているデータフィールドから、抽出され得る。しばしば、多くのコードスタートポイントの探索は、任意の単独のスタートポイントがPE内のコードの一つのサブセットに唯一つながり得るので、PE内のすべてのコードを見出すために必要であり得る。続いて、260において、まだ探索されていない任意のコードスタートポイントは、逆アセンブリのためにスタートポイントとして用いられ得る。コードの多くの形式が逆アセンブリされ得、固有の機械語(例えば、x86、x64、又はARM命令)、.NET Intermediate Language(ドットネット インターミディエイト ランゲージ)及びVisualBASIC p−code(ビジュアルベーシック ピーコード)を含む。260の逆アセンブリパスの間に見出されるコードスタートポイントは、その後、265において、考慮される必要のあるコードスタートポイントのセットに加えられ得る(データと同様に、勿論のことコードも、逆アセンブリされ得る前に、PEから読み出される必要があり、またこれらの読み出しは失敗することもあるが、この考慮は図2から除外されている。)。未処理のコードスタートポイントのセットは、270において、チェックされ得る。もし、既知のスタートポイントのどれもが、逆アセンブリによってカバーされなかったならば、逆アセンブリループは、260において続き得る。逆アセンブリの間に見出されるデータ参照は、275において、データのキューに対して加えられ得、読み出され及び構文解析される。見出されたデータのキューは、280において(ちょうど250のように)チェックされ得る。もし、データは見出されたが、読み出し及び構文解析がまだ試行されていないならば、ループの別の繰り返しが235にて開始し得る。(実際のところ、再配置及び実行時間機能情報などのデータが利用可能にされているときに、特に逆アセンブリは改善されることが多いが、コード及びデータのディスカバリは、図2に示されるよりもより混合され得る。)
続いて、285において、全てのデータ及びコードは、構文解析されて逆アセンブリされたと想定され、よって、特徴が、抽出され得る。多くの場合において、特徴抽出は、コード及びデータがまだ見出されている間に実行されることではなく、PE内の全てのコード及びデータの包括的な把握を有することから利益を得る。
構造化ファイルフォーマット(例えば、PEファイルフォーマット)において、データは、一般的に、トップレベルヘッダが別の構造体をカプセル化しながら階層的に配列され、別の構造体は別の構造体などをカプセル化し、及びそのように続く。データも、ファイルのデータの位置に従って、ほとんど常に、明確に順序付けられる。特定の順序付けが、仕様によって要求されることがあり、順序付けが、任意であることもある。階層及び/又は順序を明確に表現することが、冗長な又は望ましくない特別な場合はあるが、初期設定によって、本特徴抽出は、階層と順序の両方を維持する(図3を参照)。
図3は、1次のPE特徴の表現を含む図300であり、1次のPE特徴の表現は、JavaScript(登録商標) Object Notation(ジャバスクリプト オブジェクト ノーテーション)(JSON)でフォーマットされている。図300において、階層は、JSONオブジェクトを入れ子にすることによって表現されており、入れ子にされたフィールドは、「IMAGE_NT_HEADERS.OptionalHeader.Magic」などの階層を介したパスを記述する変数を介して参照され得る。順序は、IMAGE_SECTION_HEADER構造体の配列などのJSON配列を用いて表現されている。実際のアウトプットにおいて、エリプシスの以下の領域ネームは、それらのフィールドの値によって置き換えられる。
いくつかの場合において、それは構造化ファイルから抽出された特徴を変換することは役立ち得る。変換の、一つの一般的なクラスは、サニタイズであり、サニタイズにおいて、予測できない及び一般的に信頼できないデータは、処理するためにより安全にされる。目標が(例えば、場合によっては不正な形式である構造化ファイルからの)潜在的な偽りのデータの手に負えない程の量を抽出することを避けることであるときは、そのデータは、合理的な最大値に切り詰められ、切り詰めの理由は特徴として留意され得る。切り詰めは、サイズチェックよりもより複雑な条件で、開始され得る。文字列の特徴抽出の場合において、例えば、文字列の構成が考慮され、印字不能文字、無効なエンコーディング、及び言語の混合をチェックする。用いられ得るサニタイズの別の形式は、一義的な可逆的な方法でデータをエスケープすること又はエンコードすることである。エンコードすることは、この点において、データが、システムの別のどこかにおいて特別な意味を持つ文字、又は必ずしも単独のユニコードのコードポイントを表現しないrawバイトを含むときに、役立ち得る。
他の場合において、1次の特徴の代わりの表現は、その特徴が一般的にどう解釈されるかに関する知識を体系化するために提供され得る。例えば、もし単独の整数フィールドが、部分的に又は全体的に、(「IMAGE_NT_HEADERS.FileHeader.Characteristics」の場合にあるような)ビットフラッグを含むならば、それらのビットは、整数値の代わりに又は整数値に加えて、特徴(「Characteristics_flag1」、「Characteristics_flag2」、など)として抽出され得る。別の例において、フィールドの値は、比率として表現され得、結果的に得られる特徴が、任意のスケールの、整数の代わりの正規化された実数として表現されるように、第2のフィールド値又は一定の上界によって分割する。ハッシュ値を計算することは、(リソースデータのブロブなどの)潜在的に縛りのないデータ量を、予測された値のリストとの比較に適している少ない固定量に減少させる場合に用いられてもよい。
これらの1次の特徴は明確に有益であるが、特徴抽出は、1次の特徴及び構造化ファイルの他の基本的な内容を、高次の特徴へ処理することによってさらに改善され得る。一つの例においては、インポート変数の収集が辞書学的(あるPEファミリにおいて共通する特徴)に順序付けされ得るか否かは、ブールの特徴として表現され得る。一般的な機械学習アルゴリズムは、そのような順序付けが検出され及び重要性を有することを自動的に特定することを期待され得ず、したがって、このドメイン専門知識は、特徴を生成するロジックとして体系化され得る。別の例においては、構造化ファイルの要素の文字列のための正しいチェックサムが計算され、構造化ファイルのフィールドにストアされたチェックサムと対比され得、その二つが整合するかどうか及びそれらがどう異なるかの特徴として表現する(すなわち、要素は、ストアされたチェックサムが計算された後で、修正されたように見える。)。第3の例において、構造化ファイルからのタイムスタンプフィールドのセットは、有効なタイムスタンプの間のどれが最も初期のものであるかを判別するようにチェックされ得、及び、構造化ファイルが、最近のタイムスタンプによって表されるときに存在しなかった様々な機能に依存するかどうかが、ブールの特徴として表され得る。
機械学習モデルは、本明細書で用いられるように、インプットとしてサンプルの大きいセットを用いる様々な機械学習アルゴリズムを実行することによって訓練され得る。この考察の目的で、サンプルは、構造化ファイルから抽出される特徴のセットである。訓練の処理を通して、モデルは、すべてのサンプルが訓練セットの一部であったかどうかに関わらず、全てのサンプルを分類することの中でそれぞれの特徴の相対的な値を反映するに至る(ここで分類は、カテゴリ内にサンプルを位置付けることを示し、コンピュータセキュリティ事情においてカテゴリは、悪意のある/良性の、又はドロッパ/キーロガー/ランサムウェア/スパイウェア/ワームを含み得る。)。一般的に、モデルの精度(検出漏れの及び誤検出のエラーなどの誤分類の回避)は、できるだけ多くの代表的なサンプルから抽出される、できるだけ多くの品質特徴を機械学習アルゴリズムに供給することによって、しばしば改良され得る。したがって、特徴抽出は、ドメインの専門知識によって指示される他の特徴の処理に基づいた「高次」の特徴を含む、ファイルのbreadth(ブレドス)及びdepth(デプス)の至る所からの包括的な情報を示し得る。
図4は、構造化ファイルからの特徴の抽出を示す処理フロー図400である。最初に、410において、構造化ファイル内部でラップされる実行コードを管理するために実行環境によって要求されるデータをカプセル化する構造化ファイルを含むデータは、受信され、又はその他の形でアクセスされる。その後に、任意で、420において、構造化ファイルが有効かどうか判別されても良い。もし構造化ファイルが有効でないと判別されたならば、分析/処理は終了され得る。そうでなければ、430において、構造化ファイル内部のコード及びデータは、繰り返し分析され(例えば、構文解析される、及び逆アセンブリされる、など)、1次の特徴を特定し及び抽出する。これらの1次の特徴は、続いて、440において、一つ又はそれ以上の変換技術を用いて変換される。さらに、450において、構造化ファイル内部のネガティブスペースは、分析されて、続いて抽出され得るさらなる特徴を特定する。抽出された特徴は、続いて、460において、高次の特徴が導出されるように、処理され得る。続いて、モデル(例えば、機械学習モデルなど)は、特徴を/特徴へのアクセスを提供され得る。
本明細書に説明される発明の要旨の一つ又はそれ以上の形態又は特徴は、デジタル電子回路、集積回路、特別に設計されたASICs(application specific integrated circuits(特定用途向け集積回路))、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせにおいて、実現され得る。これらの様々な実装は、少なくとも一つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能な及び/又は解釈可能な、一つの又はそれ以上のコンピュータプログラム内の実装を含み得、少なくとも一つのプログラマブルプロセッサは、特定の又は汎用の目的であり得、データ及び命令を、記録システム、少なくとも一つのインプットデバイス(例えば、マウス、タッチスクリーンなど)、及び少なくとも一つのアウトプットデバイスから受信するように、並びにデータ及び命令を、記録システム、少なくとも一つのインプットデバイス(例えば、マウス、タッチスクリーンなど)、及び少なくとも一つのアウトプットデバイスに送信するように、結合し得る。
これらのコンピュータプログラムは、プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリケーション、コンポーネント、又はコードと称されてもよく、プログラマブルプロセッサのための機械命令を含み、及び高レベルの手続き型言語、オブジェクト指向のプログラミング言語、関数型のプログラミング言語、論理型のプログラミング言語、及び/又はアセンブリ/機械言語で実装され得る。本明細書に用いられるように、(コンピュータプログラムプロダクトと称されるときがある)「機械可読型媒体」という用語は、例えば、磁気ディスク、光学ディスク、メモリ、及びプログラマブル論理デバイス(PLDs)などの物理的に統合された装置及び/又はデバイスのことを示し、機械命令及び/又はデータをプログラマブルデータプロセッサへ提供するのに用いられ、機械命令を機械可読型信号として受信する機械可読型媒体を含む。「機械可読型信号」という用語は、プログラマブルデータプロセッサへ機械命令及び/又はデータを提供するのに用いられる任意の信号のことを示す。機械可読型媒体は、例えば、非過渡のソリッドステートメモリ若しくは磁気ハードドライブ又は任意の同等の記録媒体であるように、持続的にそのような機械命令をストアし得る。機械可読型媒体は、代わりに又はさらに、例えば、一つ又はそれ以上の物理的なプロセッサコアが組み込まれたプロセッサキャッシュ又は他のランダムアクセスメモリであるように、一過的にそのような機械命令をストアし得る。
本明細書に記載する発明の要旨は、(例えば、データサーバとして)バックエンドのコンポーネントを含む、若しくはミドルウェアのコンポーネント(例えば、アプリケーションサーバ)を含む、若しくはフロントエンドのコンポーネント(例えば、グラフィカルユーザインターフェースを有するクライアントコンピュータ、又はユーザが本明細書に記載する発明の要旨の実装と作用するウェブブラウザ)、又はそのようなバックエンドの、ミドルウェアの、又はフロントエンドのコンポーネントの任意の組み合わせを含む、コンピュータシステムにおいて実装され得る。システムのコンポーネントは、デジタルデータ通信の任意の形式又は媒体(例えば、通信ネットワーク)によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、及びインターネットを含む。
コンピュータシステムは、クライアント及びサーバを含み得る。クライアント及びサーバは、一般的にお互いから遠いところにあり、一般的に通信ネットワークを介して相互に作用する。クライアント及びサーバの関係は、個々のコンピュータ上で動作し、相互にクライアント−サーバの関係を有するコンピュータプログラムによって生じる。
本明細書に記載する発明の要旨は、システム、装置、方法、及び/又は所望の構成に依存する製品で具現され得る。前記述にて説明した実装は、すべての実装が本明細書に記載される発明の要旨と一致することを表す訳では無い。むしろ、それらは記載した発明の要旨に関する形態と一致する単なるいくつかの例である。いくつかの変形例は前述に詳しく記載されたが、他の改良又は追加は可能である。特に、さらなる特徴及び/又は変形例は、本明細書に記載されているそれらに加えて提示され得る。例えば、前述に記載した実装は、開示した特徴の様々な組み合わせ及び部分的な組み合わせ、並びに/又は、前記開示したいくつかのさらなる特徴の組み合わせ及び部分的な組み合わせ、に関する。さらに、添付の図にて示される、及び/又は本明細書に記載される論理フローは、所望の結果を達成するために、示される特定の順序又は連続する順序を必ずしも要求しない。他の実装は、以下の請求の範囲にあり得る。

Claims (16)

  1. 構造化ファイル内部でラップされる実行コードを管理するために実行環境によって要求されるデータをカプセル化する構造化ファイルを含むデータを受信する又はデータにアクセスするステップと、
    構造化ファイル内のコード及びデータ領域を繰り返し特定するステップと、
    特定されたコード及びデータ領域の少なくとも一部を分析することによって、構造化ファイルから少なくとも一つの特徴を抽出するステップと、
    を含む方法。
  2. 構造化ファイルは、ポータブル エグゼキュータブル(PE)フォーマットファイル、ディスク オペレーティング システム(DOS)実行ファイル、ニュー エグゼキュータブル(NE)ファイル、リニア エグゼキュータブル(LE)ファイル、エグゼキュータブル アンド リンカブル フォーマット(ELF)ファイル、ジャバ アチーブ(JAR)ファイル、及びショックウェーブ/フラッシュ(SWF)ファイルを含むグループから選択される、請求項1に記載の方法。
  3. 実行環境は、オペレーティングシステム又はバーチャルマシンである、請求項1又は2に記載の方法。
  4. 構造化ファイルが有効なシグネチャをカプセル化するかどうかを判別するために構造化ファイル内部の少なくとも一つのヘッダを調べることによって、構造化ファイルが有効であることを判別するステップをさらに含む、請求項1から3のいずれか一に記載の方法。
  5. 抽出された少なくとも一つの特徴は、1次の特徴である、請求項1から4のいずれか一に記載の方法。
  6. 抽出された少なくとも一つの1次の特徴を、高次の特徴の中へ導出するステップをさらに含む、請求項5に記載の方法。
  7. 少なくとも一つのさらなる特徴を抽出するために構造化ファイル内部のネガティブスペースを分析するステップをさらに含み、ネガティブスペースは、特定されたコード及びデータ領域と異なる、請求項1から6のいずれか一に記載の方法。
  8. 抽出された少なくとも一つの特徴を変換するステップをさらに含む、請求項1から7のいずれか一に記載の方法。
  9. 変換するステップが、
    抽出された少なくとも一つの特徴をサニタイズするステップと、
    抽出された少なくとも一つの特徴を切り詰めるステップと、及び
    少なくとも一つの特徴の少なくとも一部をエンコードするステップと、
    のうちの一つ又はそれ以上を含む、請求項8に記載の方法。
  10. 構造化ファイル内のコード及びデータ領域を特定するステップが、構造化ファイルを構文解析して逆アセンブリするステップを含む、請求項1から9のいずれか一に記載の方法。
  11. 構造化ファイル内部のデータは、階層的に配置され、構造化ファイルは、第2のデータ構造体をカプセル化する第1のデータ構造体をカプセル化するトップレベルヘッダを含む、請求項1から10のいずれか一に記載の方法。
  12. 構造化ファイル内部のコード及びデータ領域を特定するステップは、構造化ファイル内のコード及び/又はデータ領域のタイプを特定するステップを含む、請求項1から11のいずれか一に記載の方法。
  13. 機械学習モデルに、抽出された少なくとも一つの特徴を提供するステップをさらに含む、請求項1から12のいずれか一に記載の方法。
  14. 機械学習モデルが、中間の処理するステップ又は構文解析するステップを介さずに抽出された少なくとも一つの特徴を消費する、請求項13に記載の方法。
  15. 命令をストアする持続性のコンピュータプログラムプロダクトであって、
    少なくとも一つのコンピュータシステムの一部を形成する少なくとも一つのデータプロセッサによって実行される際に、前記命令は請求項1から14のいずれか一に記載の方法を実装するように稼働する、
    持続性のコンピュータプログラムプロダクト。
  16. 少なくとも一つのデータプロセッサ、及び
    命令をストアするメモリを含み、命令は、少なくとも一つのデータプロセッサによって実行される際に、請求項1から15のいずれか一に記載の方法を実装するように稼働する、
    システム。
JP2016549252A 2014-01-31 2015-01-30 構造化ファイルからの静的特徴抽出 Active JP6726620B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/169,808 US9262296B1 (en) 2014-01-31 2014-01-31 Static feature extraction from structured files
US14/169,808 2014-01-31
PCT/US2015/013933 WO2015117012A1 (en) 2014-01-31 2015-01-30 Static feature extraction from structured files

Publications (3)

Publication Number Publication Date
JP2017509962A true JP2017509962A (ja) 2017-04-06
JP2017509962A5 JP2017509962A5 (ja) 2018-03-01
JP6726620B2 JP6726620B2 (ja) 2020-07-22

Family

ID=52484574

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016549252A Active JP6726620B2 (ja) 2014-01-31 2015-01-30 構造化ファイルからの静的特徴抽出

Country Status (6)

Country Link
US (4) US9262296B1 (ja)
EP (2) EP3100198B1 (ja)
JP (1) JP6726620B2 (ja)
AU (1) AU2015210760B2 (ja)
CA (1) CA2938266C (ja)
WO (1) WO2015117012A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021039732A (ja) * 2019-08-30 2021-03-11 深▲セン▼精匠云創科技有限公司 データ伝送方法
WO2021250792A1 (ja) * 2020-06-09 2021-12-16 日本電気株式会社 ソフトウェア修正装置、ソフトウェア修正方法、及び非一時的なコンピュータ可読媒体

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3722954B1 (en) 2013-06-24 2023-09-06 Cylance Inc. Automated system for generative multimodel multiclass classification and similarity analysis using machine learning
US9262296B1 (en) 2014-01-31 2016-02-16 Cylance Inc. Static feature extraction from structured files
US8930916B1 (en) 2014-01-31 2015-01-06 Cylance Inc. Generation of API call graphs from static disassembly
US10235518B2 (en) 2014-02-07 2019-03-19 Cylance Inc. Application execution control utilizing ensemble machine learning for discernment
WO2016053282A1 (en) * 2014-09-30 2016-04-07 Hewlett Packard Enterprise Development Lp String property labels for static analysis
US9465940B1 (en) 2015-03-30 2016-10-11 Cylance Inc. Wavelet decomposition of software entropy to identify malware
US9495633B2 (en) 2015-04-16 2016-11-15 Cylance, Inc. Recurrent neural networks for malware analysis
US10599844B2 (en) * 2015-05-12 2020-03-24 Webroot, Inc. Automatic threat detection of executable files based on static data analysis
US9602531B1 (en) 2016-02-16 2017-03-21 Cylance, Inc. Endpoint-based man in the middle attack detection
US10715533B2 (en) * 2016-07-26 2020-07-14 Microsoft Technology Licensing, Llc. Remediation for ransomware attacks on cloud drive folders
US10628585B2 (en) 2017-01-23 2020-04-21 Microsoft Technology Licensing, Llc Ransomware resilient databases
US10621349B2 (en) * 2017-01-24 2020-04-14 Cylance Inc. Detection of malware using feature hashing
US10884981B1 (en) 2017-06-19 2021-01-05 Wells Fargo Bank, N.A. Tagging tool for managing data
US10740216B1 (en) * 2017-06-26 2020-08-11 Amazon Technologies, Inc. Automatic bug classification using machine learning
US10678682B2 (en) * 2017-12-04 2020-06-09 Bank Of America Corporation Intelligent batch job testing
KR102456579B1 (ko) * 2017-12-07 2022-10-20 삼성전자주식회사 암호화 관련 취약점 공격에 강인한 전자 장치 및 그 방법
US11032251B2 (en) * 2018-06-29 2021-06-08 International Business Machines Corporation AI-powered cyber data concealment and targeted mission execution
US11449677B2 (en) * 2018-10-18 2022-09-20 International Business Machines Corporation Cognitive hierarchical content distribution
CN109828758A (zh) * 2018-12-05 2019-05-31 苏州蜗牛数字科技股份有限公司 一种so文件的解析方法
US11386205B2 (en) 2019-01-14 2022-07-12 Mcafee, Llc Detection of malicious polyglot files
US11755728B2 (en) * 2020-12-08 2023-09-12 Mcafee, Llc Systems, methods, and media for analyzing structured files for malicious content

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006510089A (ja) * 2002-12-12 2006-03-23 メッセージラボズ リミテッド 実行可能コード内のウイルスを発見的に検出する方法およびシステム
EP1762957A1 (en) * 2005-09-13 2007-03-14 Cloudmark, Inc Signature for executable code
US20090133125A1 (en) * 2007-11-21 2009-05-21 Yang Seo Choi Method and apparatus for malware detection
EP2199941A2 (en) * 2008-12-18 2010-06-23 Symantec Corporation Methods and systems for detecting malware
US20130291111A1 (en) * 2010-11-29 2013-10-31 Beijing Qihoo Technology Company Limited Method and Device for Program Identification Based on Machine Learning

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5841947A (en) 1996-07-12 1998-11-24 Nordin; Peter Computer implemented machine learning method and system
US6430590B1 (en) 1999-01-29 2002-08-06 International Business Machines Corporation Method and apparatus for processing executable program modules having multiple dependencies
US6546551B1 (en) 1999-09-28 2003-04-08 International Business Machines Corporation Method for accurately extracting library-based object-oriented applications
US7181768B1 (en) 1999-10-28 2007-02-20 Cigital Computer intrusion detection system and method based on application monitoring
US6898737B2 (en) 2001-05-24 2005-05-24 Microsoft Corporation Automatic classification of event data
US7065764B1 (en) 2001-07-20 2006-06-20 Netrendered, Inc. Dynamically allocated cluster system
US7487544B2 (en) * 2001-07-30 2009-02-03 The Trustees Of Columbia University In The City Of New York System and methods for detection of new malicious executables
WO2004013777A1 (en) 2002-08-05 2004-02-12 Fish Robert System and method of parallel pattern matching
CN1839391A (zh) 2003-06-25 2006-09-27 美国西门子医疗解决公司 用于乳房成像的自动诊断和决策支持的系统和方法
JP2005044330A (ja) 2003-07-24 2005-02-17 Univ Of California San Diego 弱仮説生成装置及び方法、学習装置及び方法、検出装置及び方法、表情学習装置及び方法、表情認識装置及び方法、並びにロボット装置
US20060047807A1 (en) 2004-08-25 2006-03-02 Fujitsu Limited Method and system for detecting a network anomaly in a network
US20060112388A1 (en) 2004-11-22 2006-05-25 Masaaki Taniguchi Method for dynamic scheduling in a distributed environment
US7716645B2 (en) 2005-06-10 2010-05-11 International Business Machines Corporation Using atomic sets of memory locations
US7945902B1 (en) 2005-07-13 2011-05-17 Oracle America, Inc. Detection of non-standard application programming interface usage via analysis of executable code
WO2007117574A2 (en) * 2006-04-06 2007-10-18 Smobile Systems Inc. Non-signature malware detection system and method for mobile platforms
WO2007135723A1 (ja) 2006-05-22 2007-11-29 Fujitsu Limited ニューラルネットワーク学習装置、方法、及びプログラム
US8135994B2 (en) 2006-10-30 2012-03-13 The Trustees Of Columbia University In The City Of New York Methods, media, and systems for detecting an anomalous sequence of function calls
US8370818B2 (en) 2006-12-02 2013-02-05 Time Warner Cable Inc. Methods and apparatus for analyzing software interface usage
US20080133571A1 (en) 2006-12-05 2008-06-05 International Business Machines Corporation Modifying Behavior in Messaging Systems According to Organizational Hierarchy
US9009649B2 (en) 2007-05-16 2015-04-14 Accenture Global Services Limited Application search tool for rapid prototyping and development of new applications
US20090013405A1 (en) * 2007-07-06 2009-01-08 Messagelabs Limited Heuristic detection of malicious code
US8347272B2 (en) 2008-07-23 2013-01-01 International Business Machines Corporation Call graph dependency extraction by static source code analysis
US8504504B2 (en) 2008-09-26 2013-08-06 Oracle America, Inc. System and method for distributed denial of service identification and prevention
US20100082400A1 (en) 2008-09-29 2010-04-01 Yahoo! Inc.. Scoring clicks for click fraud prevention
US8505015B2 (en) 2008-10-29 2013-08-06 Teradata Us, Inc. Placing a group work item into every prioritized work queue of multiple parallel processing units based on preferred placement of the work queues
US20100107245A1 (en) 2008-10-29 2010-04-29 Microsoft Corporation Tamper-tolerant programs
US9239740B2 (en) 2009-06-16 2016-01-19 Microsoft Technology Licensing, Llc Program partitioning across client and cloud
US8726254B2 (en) 2009-06-20 2014-05-13 Microsoft Corporation Embedded annotation and program analysis
US8370613B1 (en) 2009-06-30 2013-02-05 Symantec Corporation Method and apparatus for automatically optimizing a startup sequence to improve system boot time
US8560465B2 (en) 2009-07-02 2013-10-15 Samsung Electronics Co., Ltd Execution allocation cost assessment for computing systems and environments including elastic computing systems and environments
US9081958B2 (en) 2009-08-13 2015-07-14 Symantec Corporation Using confidence about user intent in a reputation system
US8516452B2 (en) 2009-12-08 2013-08-20 International Business Machines Corporation Feedback-directed call graph expansion
US8818923B1 (en) 2011-06-27 2014-08-26 Hrl Laboratories, Llc Neural network device with engineered delays for pattern storage and matching
US8887163B2 (en) 2010-06-25 2014-11-11 Ebay Inc. Task scheduling based on dependencies and resources
US9262228B2 (en) 2010-09-23 2016-02-16 Microsoft Technology Licensing, Llc Distributed workflow in loosely coupled computing
US8549647B1 (en) 2011-01-14 2013-10-01 The United States Of America As Represented By The Secretary Of The Air Force Classifying portable executable files as malware or whiteware
US9398033B2 (en) 2011-02-25 2016-07-19 Cavium, Inc. Regular expression processing automaton
US9286182B2 (en) 2011-06-17 2016-03-15 Microsoft Technology Licensing, Llc Virtual machine snapshotting and analysis
US8631395B2 (en) 2011-09-02 2014-01-14 Microsoft Corporation Inter-procedural dead catch handler optimizations
US9329887B2 (en) * 2011-10-19 2016-05-03 Hob Gmbh & Co. Kg System and method for controlling multiple computer peripheral devices using a generic driver
US20130152200A1 (en) 2011-12-09 2013-06-13 Christoph Alme Predictive Heap Overflow Protection
CN103186406B (zh) 2011-12-30 2016-08-17 国际商业机器公司 用于控制流分析的方法和装置
US8713684B2 (en) 2012-02-24 2014-04-29 Appthority, Inc. Quantifying the risks of applications for mobile devices
US8627291B2 (en) 2012-04-02 2014-01-07 International Business Machines Corporation Identification of localizable function calls
US9292688B2 (en) 2012-09-26 2016-03-22 Northrop Grumman Systems Corporation System and method for automated machine-learning, zero-day malware detection
US20140180738A1 (en) 2012-12-21 2014-06-26 Cloudvu, Inc. Machine learning for systems management
US9104525B2 (en) 2013-01-22 2015-08-11 Microsoft Technology Licensing, Llc API usage pattern mining
US9015685B2 (en) 2013-03-01 2015-04-21 International Business Machines Corporation Code analysis for simulation efficiency improvement
US20140358828A1 (en) 2013-05-29 2014-12-04 Purepredictive, Inc. Machine learning generated action plan
US20140372513A1 (en) 2013-06-12 2014-12-18 Cloudvu, Inc. Multi-tenant enabling a single-tenant computer program product
EP3722954B1 (en) 2013-06-24 2023-09-06 Cylance Inc. Automated system for generative multimodel multiclass classification and similarity analysis using machine learning
EP2833594A1 (en) 2013-07-31 2015-02-04 Siemens Aktiengesellschaft Feature based three stage neural networks intrusion detection method and system
US10095718B2 (en) 2013-10-16 2018-10-09 University Of Tennessee Research Foundation Method and apparatus for constructing a dynamic adaptive neural network array (DANNA)
US8930916B1 (en) 2014-01-31 2015-01-06 Cylance Inc. Generation of API call graphs from static disassembly
US9262296B1 (en) 2014-01-31 2016-02-16 Cylance Inc. Static feature extraction from structured files

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006510089A (ja) * 2002-12-12 2006-03-23 メッセージラボズ リミテッド 実行可能コード内のウイルスを発見的に検出する方法およびシステム
EP1762957A1 (en) * 2005-09-13 2007-03-14 Cloudmark, Inc Signature for executable code
JP2007080281A (ja) * 2005-09-13 2007-03-29 Cloudmark Inc 実行可能コードのためのシグネチャ
US20090133125A1 (en) * 2007-11-21 2009-05-21 Yang Seo Choi Method and apparatus for malware detection
EP2199941A2 (en) * 2008-12-18 2010-06-23 Symantec Corporation Methods and systems for detecting malware
JP2010146566A (ja) * 2008-12-18 2010-07-01 Symantec Corp マルウェア検出方法およびシステム
US20130291111A1 (en) * 2010-11-29 2013-10-31 Beijing Qihoo Technology Company Limited Method and Device for Program Identification Based on Machine Learning

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021039732A (ja) * 2019-08-30 2021-03-11 深▲セン▼精匠云創科技有限公司 データ伝送方法
WO2021250792A1 (ja) * 2020-06-09 2021-12-16 日本電気株式会社 ソフトウェア修正装置、ソフトウェア修正方法、及び非一時的なコンピュータ可読媒体

Also Published As

Publication number Publication date
AU2015210760B2 (en) 2019-09-12
US9262296B1 (en) 2016-02-16
US20190278690A1 (en) 2019-09-12
EP4050494A1 (en) 2022-08-31
CA2938266C (en) 2024-01-02
US9959276B2 (en) 2018-05-01
EP3100198B1 (en) 2022-03-09
JP6726620B2 (ja) 2020-07-22
US20160246800A1 (en) 2016-08-25
US20180157670A1 (en) 2018-06-07
US10394686B2 (en) 2019-08-27
CA2938266A1 (en) 2015-08-06
WO2015117012A1 (en) 2015-08-06
US10838844B2 (en) 2020-11-17
EP3100198A1 (en) 2016-12-07
AU2015210760A1 (en) 2016-08-18

Similar Documents

Publication Publication Date Title
US10838844B2 (en) Static feature extraction from structured files
Laskov et al. Static detection of malicious JavaScript-bearing PDF documents
US8209599B2 (en) Method and system for handling references in markup language documents
JP6503141B2 (ja) アクセス分類装置、アクセス分類方法及びアクセス分類プログラム
WO2015139507A1 (zh) 一种检测下载文件安全性的方法及装置
WO2018159010A1 (ja) 選択装置、選択方法及び選択プログラム
CN109104421B (zh) 一种网站内容篡改检测方法、装置、设备及可读存储介质
CN105653949B (zh) 一种恶意程序检测方法及装置
Li et al. FEPDF: a robust feature extractor for malicious PDF detection
CN110807194A (zh) 一种webshell检测方法及装置
JP2009129127A (ja) プログラムの不変物抽出処理プログラム,処理装置,および処理方法,ならびに該プログラムを記憶する記憶媒体
KR20190058141A (ko) 문서로부터 추출되는 데이터를 생성하는 방법 및 그 장치
Jackson Formats over time: Exploring uk web history
CN111241496B (zh) 确定小程序特征向量的方法、装置和电子设备
US11797617B2 (en) Method and apparatus for collecting information regarding dark web
CN103279711A (zh) 一种静态特征值稳定的pe文件加壳检测方法
Tsafrir et al. Efficient feature extraction methodologies for unknown MP4-Malware detection using Machine learning algorithms
CN117435480A (zh) 一种二进制文件检测方法、装置、电子设备及存储介质
WO2016107309A1 (zh) 文件扫描方法、装置及系统
US20170344529A1 (en) Method and system to convert document source data to xml via annotation
CN107239704A (zh) 恶意网页发现方法及装置
JP2012174138A (ja) データ処理装置及びデータ処理方法及びプログラム
JP7131704B2 (ja) 抽出装置、抽出方法及び抽出プログラム
PRUŽINEC Extraction of static features from binary applications for malware analysis
Chaudhary et al. Comparative Study of Static and Hybrid Analysis Using Machine Learning and Artificial Intelligence in Smart Cities

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180119

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190806

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20191028

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20191105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191209

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200629

R150 Certificate of patent or registration of utility model

Ref document number: 6726620

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250