論文の概要: Reverse Engineering Structure and Semantics of Input of a Binary Executable
- arxiv url: http://arxiv.org/abs/2405.14052v1
- Date: Wed, 22 May 2024 22:47:33 GMT
- ステータス: 処理完了
- システム内更新日: 2024-05-24 19:44:34.068021
- Title: Reverse Engineering Structure and Semantics of Input of a Binary Executable
- Title(参考訳): バイナリ実行可能入力のリバースエンジニアリング構造とセマンティックス
- Authors: Seshagiri Prabhu Narasimha, Arun Lakhotia,
- Abstract要約: 本稿では,バイナリ実行ファイルの入力のフィールド間の構造と意味関係を復元するアルゴリズムを提案する。
このアルゴリズムはByteRI 2.0と呼ばれるプロトタイプシステムで実装された。
- 参考スコア(独自算出の注目度): 0.0
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Knowledge of the input format of binary executables is important for finding bugs and vulnerabilities, such as generating data for fuzzing or manual reverse engineering. This paper presents an algorithm to recover the structure and semantic relations between fields of the input of binary executables using dynamic taint analysis. The algorithm improves upon prior work by not just partitioning the input into consecutive bytes representing values but also identifying syntactic components of structures, such as atomic fields of fixed and variable lengths, and different types of arrays, such as arrays of atomic fields, arrays of records, and arrays with variant records. It also infers the semantic relations between fields of a structure, such as count fields that specify the count of an array of records or offset fields that specify the start location of a variable-length field within the input data. The algorithm constructs a C/C++-like structure to represent the syntactic components and semantic relations. The algorithm was implemented in a prototype system named ByteRI 2.0. The system was evaluated using a controlled experiment with synthetic subject programs and real-world programs. The subject programs were created to accept a variety of input formats that mimic syntactic components and selected semantic relations found in conventional data formats, such as PE, PNG, ZIP, and CSV. The results show that ByteRI 2.0 correctly identifies the syntactic elements and their grammatical structure, as well as the semantic relations between the fields for both synthetic subject programs and real-world programs. The recovered structures, when used as a generator, produced valid data that was acceptable for all the synthetic subject programs and some of the real-world programs.
- Abstract(参考訳): バイナリ実行ファイルの入力形式に関する知識は、ファジング用のデータ生成や手動のリバースエンジニアリングなど、バグや脆弱性を見つける上で重要である。
本稿では,動的テナント解析を用いて,バイナリ実行ファイルの入力のフィールド間の構造と意味関係を復元するアルゴリズムを提案する。
このアルゴリズムは、入力を値を表す連続するバイトに分割するだけでなく、固定長と可変長の原子フィールドや、原子フィールドの配列、レコードの配列、変動レコードの配列など、さまざまな種類の配列といった構造の統語的コンポーネントを識別する。
また、レコードの配列のカウントを指定するカウントフィールドや、入力データ内の可変長フィールドの開始位置を指定するオフセットフィールドなど、構造体のフィールド間の意味関係も推論する。
このアルゴリズムは、構文コンポーネントと意味関係を表現するために、C/C++のような構造を構築する。
このアルゴリズムはByteRI 2.0と呼ばれるプロトタイプシステムで実装された。
本システムは,合成科目プログラムと実世界のプログラムを用いた制御実験を用いて評価した。
対象プログラムは, PE, PNG, ZIP, CSVなどの従来のデータ形式に類似した様々な入力形式と, 選択された意味関係を受け入れるために作成された。
その結果,ByteRI 2.0は,構文的要素とその文法的構造を正しく識別し,合成科目プログラムと実世界プログラムの両方の分野間の意味的関係を示す。
回収された構造体は、ジェネレータとして使用されると、すべての合成対象プログラムと実世界のプログラムに受け入れられる有効なデータを生成した。
関連論文リスト
- StrTune: Data Dependence-based Code Slicing for Binary Similarity Detection with Fine-tuned Representation [5.41477941455399]
BCSDは、悪意のあるコードスニペットの識別や、コードパターンの比較によるバイナリパッチ解析といったバイナリタスクに対処することができる。
バイナリは異なるコンパイル構成でコンパイルされるため、既存のアプローチはバイナリの類似性を比較する際にも注目すべき制限に直面している。
データ依存に基づいてバイナリコードをスライスし,スライスレベルの微調整を行うStrTuneを提案する。
論文 参考訳(メタデータ) (2024-11-19T12:20:08Z) - Transformers are Efficient Compilers, Provably [11.459397066286822]
トランスフォーマーベースの大規模言語モデル(LLM)は、幅広い言語関連タスクにおいて驚くほど堅牢なパフォーマンスを示している。
本稿では,表現力の観点から,トランスフォーマーをコンパイラとして用いることの正式な調査に向けて第一歩を踏み出す。
代表言語であるMini-Huskyを導入し、現代のC言語の特徴をカプセル化する。
論文 参考訳(メタデータ) (2024-10-07T20:31:13Z) - Compositional Program Generation for Few-Shot Systematic Generalization [59.57656559816271]
コンポジションプログラムジェネレータ(CPG)と呼ばれるニューロシンボリックアーキテクチャに関する研究
CPGには3つの重要な特徴がある: 文法規則の形で、テキストモジュラリティ、テキストコンポジション、テキストタストラクションである。
SCAN と COGS のベンチマークでは,SCAN の14例と COGS の22例を使用して,完全な一般化を実現している。
論文 参考訳(メタデータ) (2023-09-28T14:33:20Z) - Improved Tree Search for Automatic Program Synthesis [91.3755431537592]
重要な要素は、有効なプログラムの空間における効率的な探索を可能にすることである。
ここでは2つの大きな異なるDSL上でのアート結果の状態を導くMCTSの変種を提案する。
論文 参考訳(メタデータ) (2023-03-13T15:09:52Z) - A Divide-Align-Conquer Strategy for Program Synthesis [8.595181704811889]
本稿では,大規模プログラムの探索を複数の小さなプログラム合成問題に分割する例によって,構成セグメント化がプログラミングに応用可能であることを示す。
入力と出力における構成部品の構造的アライメントは、プログラム探索を導くのに使用されるペアワイズ対応に繋がる。
論文 参考訳(メタデータ) (2023-01-08T19:10:55Z) - Source Code Summarization with Structural Relative Position Guided
Transformer [19.828300746504148]
ソースコードの要約は、プログラミング言語の簡潔で明確な自然言語記述を生成することを目的としている。
近年の取り組みは、Transformerなどのニューラルネットワークにコードの構文構造を組み込むことに重点を置いている。
SCRIPTと呼ばれる構造相対位置案内変換器を提案する。
論文 参考訳(メタデータ) (2022-02-14T07:34:33Z) - Latent Execution for Neural Program Synthesis Beyond Domain-Specific
Languages [97.58968222942173]
入力出力の例からCプログラムを合成する第一歩を踏み出す。
特に,部分生成プログラムの実行を近似するために潜在表現を学習するLa Synthを提案する。
これらのプログラムのトレーニングにより,Karel と C のプログラム合成における予測性能がさらに向上することを示す。
論文 参考訳(メタデータ) (2021-06-29T02:21:32Z) - Learning to Synthesize Data for Semantic Parsing [57.190817162674875]
本稿では,プログラムの構成をモデル化し,プログラムを発話にマップする生成モデルを提案する。
PCFGと事前学習されたBARTの簡易性により,既存のデータから効率的に生成モデルを学習することができる。
GeoQuery と Spider の標準ベンチマークで解析する text-to-Query の in-domain と out-of-domain の両方で、この手法を評価します。
論文 参考訳(メタデータ) (2021-04-12T21:24:02Z) - Syntactic representation learning for neural network based TTS with
syntactic parse tree traversal [49.05471750563229]
本稿では,構文解析木に基づく構文表現学習手法を提案し,構文構造情報を自動的に活用する。
実験の結果,提案手法の有効性が示された。
複数の構文解析木を持つ文では、合成音声から韻律的差異が明確に認識される。
論文 参考訳(メタデータ) (2020-12-13T05:52:07Z) - LogicalFactChecker: Leveraging Logical Operations for Fact Checking with
Graph Module Network [111.24773949467567]
ファクトチェックに論理演算を活用するニューラルネットワークアプローチであるLogicalFactCheckerを提案する。
大規模なベンチマークデータセットであるTABFACT上での最先端のパフォーマンスを実現している。
論文 参考訳(メタデータ) (2020-04-28T17:04:19Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。