Skip to main content
QUICK REVIEW

[論文レビュー] Van Wijngaarden grammars, metamorphism and K-ary malwares

Gueguen Geoffroy|arXiv (Cornell University)|Sep 21, 2010
semigroups and automata theory参考文献 7被引用数 3
ひとこと要約

本稿では、K-aryマルウェア(K個のファイルに分割された、互いに連携して1つのウイルスとして機能する悪意あるコード)を、コンponents間の意味的整合性と相互依存性を符号化することで、形式的に生成するため、Van Wijngaarden文法を提案する。この手法により、文脈に依存する置換と共有情報の伝播を活用して、検出不能な変形的生成が可能になる。

ABSTRACT

Grammars are used to describe sentences structure, thanks to some sets of rules, which depends on the grammar type. A classification of grammars has been made by Noam Chomsky, which led to four well-known types. Yet, there are other types of grammars, which do not exactly fit in Chomsky's classification, such as the two-level grammars. As their name suggests it, the main idea behind these grammars is that they are composed of two grammars. Van Wijngaarden grammars, particularly, are such grammars. They are interesting by their power (expressiveness), which can be the same, under some hypotheses, as the most powerful grammars of Chomsky's classification, i.e. Type 0 grammars. Another point of interest is their relative conciseness and readability. Van Wijngaarden grammars can describe static and dynamic semantic of a language. So, by using them as a generative engine, it is possible to generate a possibly infinite set of words, while assuring us that they all have the same semantic. Moreover, they can describe K-ary codes, by describing the semantic of each components of a code.

研究の動機と目的

  • 分散化されたコード部品間で複雑な意味的制約をサポートするVan Wijngaarden文法を用いて、K-aryマルウェアの生成を形式化すること。
  • 従来のポリモーマルおよびメタモーラックマルウェアの制限を超えて、共有される意味的情報を持つ自動的・構成的K-aryウイルス生成を可能にすること。
  • 検出が本質的に困難である、決定不能またはNP困難な認識問題をサポートする形式的枠組みを提供すること。
  • 各コンponentが共有コンテキストを持つ統一された文法システムとして、K-aryウイルスの分散的性質をモデル化すること。
  • Chomskyの階層を越える高度なマルウェアファミリーの生成エンジンとして、Van Wijngaarden文法が強力であることを示すこと。

提案手法

  • 2つの文脈自由文法と一様置換規則から成るVan Wijngaarden文法を用い、K-aryマルウェアコンponentsの構造と意味的性質を定義する。
  • 全K個のウイルス部品を生成する開始記号Sを定義し、各部品は共有コンテキスト情報(INFOS)に依存する文法によって生成される。
  • ハイパールールを適用して、各コンponent(例:PART1 INFOS, PART2 INFOS)を、構文的に異なるが意味的に同等のコードを生成する文法に束縛する。
  • ⊕演算子を用いて入力ファイルからの部分語の選択を行い、それが言語L(Gv)内で有効なウイルス語であるかを確認することで、K-aryウイルス関係Rvを確立する。
  • 一様置換規則を活用して文脈に依存する条件を強制し、生成過程でコンponents間の意味的整合性を保証する。
  • 共有INFOSを用いて再帰的に文法規則を適用することで、各コンponentごとに動的変異と変形を可能にするK-aryマルウェアを構成的に生成する。

実験結果

リサーチクエスチョン

  • RQ1Van Wijngaarden文法を用いて、分散化され意味的に連携されたコンponentsを持つK-aryマルウェアを形式的に定義・生成できるか?
  • RQ2Van Wijngaarden文法の表現力を活用して、複数のコードファイル間での変形的変換をモデル化する方法は何か?
  • RQ3K-aryウイルスがコンponents間で構文的に多様である一方で意味的に同等であることを保証する形式的メカニズムは何か?
  • RQ4Van Wijngaarden文法は、マルウェア認識における決定不能性またはNP困難性をどのようにサポートし、回避能力を強化するか?
  • RQ5共有コンテキスト情報(INFOS)をK個の異なるファイルに一貫して伝播させることで、完全なウイルスの機能的整合性を保証する方法は何か?

主な発見

  • Van Wijngaarden文法は、構文的に異なるが意味的に同等のマルウェアバージョンの無限集合、包括してK-aryウイルスを生成可能である。
  • コンponents間で共有INFOSコンテキストを用いることで、各ファイルにおける構文的変異にもかかわらず、一貫した意味的動作が実現される。
  • 形式的枠組みはK-aryマルウェアの構成的生成を可能にし、自動的かつ検出不能なコード生成の概念実証を提供する。
  • 一様置換による文脈に依存する条件の表現能力により、分散化されたウイルス部品間の複雑な依存関係をモデル化可能である。
  • Van Wijngaarden文法で定義されたK-aryウイルスは、Cohenの元来のウイルスモデルに従わない。なぜなら、単一のシーケンスではなく分散プログラムであるからである。
  • このような生成マルウェアの認識問題は本質的に困難(NP困難または決定不能)であり、シグネチャベースの検出は効果を発揮しない。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。