論文の概要: Beyond the Edge of Function: Unraveling the Patterns of Type Recovery in Binary Code
- arxiv url: http://arxiv.org/abs/2503.07243v1
- Date: Mon, 10 Mar 2025 12:27:05 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-03-11 15:44:51.095156
- Title: Beyond the Edge of Function: Unraveling the Patterns of Type Recovery in Binary Code
- Title(参考訳): 関数のエッジを越えて - バイナリコードの型回復パターンの解明
- Authors: Gangyang Li, Xiuwei Shang, Shaoyin Cheng, Junqi Zhang, Li Hu, Xu Zhu, Weiming Zhang, Nenghai Yu,
- Abstract要約: 本稿では,バイナリコードの変数型を復元するフレームワークByteTRを提案する。
ByteTRは、関数間の変数伝搬の普遍性を考慮して、変数伝搬をトレースするためのプロシーダ間解析を行い、ゲートグラフニューラルネットワークを用いて、変数型回復のための長距離データフロー依存性をキャプチャする。
- 参考スコア(独自算出の注目度): 55.493408628371235
- License:
- Abstract: Type recovery is a crucial step in binary code analysis, holding significant importance for reverse engineering and various security applications. Existing works typically simply target type identifiers within binary code and achieve type recovery by analyzing variable characteristics within functions. However, we find that the types in real-world binary programs are more complex and often follow specific distribution patterns. In this paper, to gain a profound understanding of the variable type recovery problem in binary code, we first conduct a comprehensive empirical study. We utilize the TYDA dataset, which includes 163,643 binary programs across four architectures and four compiler optimization options, fully reflecting the complexity and diversity of real-world programs. We carefully study the unique patterns that characterize types and variables in binary code, and also investigate the impact of compiler optimizations on them, yielding many valuable insights. Based on our empirical findings, we propose ByteTR, a framework for recovering variable types in binary code. We decouple the target type set to address the issue of unbalanced type distribution and perform static program analysis to tackle the impact of compiler optimizations on variable storage. In light of the ubiquity of variable propagation across functions observed in our study, ByteTR conducts inter-procedural analysis to trace variable propagation and employs a gated graph neural network to capture long-range data flow dependencies for variable type recovery. We conduct extensive experiments to evaluate the performance of ByteTR. The results demonstrate that ByteTR leads state-of-the-art works in both effectiveness and efficiency. Moreover, in real CTF challenge case, the pseudo code optimized by ByteTR significantly improves readability, surpassing leading tools IDA and Ghidra.
- Abstract(参考訳): タイプリカバリはバイナリコード解析において重要なステップであり、リバースエンジニアリングやさまざまなセキュリティアプリケーションにおいて重要な役割を果たす。
既存の作業は通常、バイナリコード内の型識別子をターゲットとして、関数内の変数特性を分析して型回復を実現する。
しかし、実世界のバイナリプログラムの型はより複雑であり、しばしば特定の分布パターンに従う。
本稿では,バイナリコードにおける変数型回復問題に対する深い理解を得るために,まず総合的な実証的研究を行う。
TYDAデータセットは、4つのアーキテクチャにまたがる163,643のバイナリプログラムと4つのコンパイラ最適化オプションを含み、現実世界のプログラムの複雑さと多様性を完全に反映している。
バイナリコードの型と変数を特徴付けるユニークなパターンを慎重に検討し、コンパイラの最適化がそれらに与える影響を調査し、多くの貴重な洞察を得る。
実験結果に基づいて,バイナリコードの変数型を復元するフレームワークByteTRを提案する。
対象の型セットを分離して、アンバランスな型分布の問題に対処し、静的プログラム解析を行い、変数ストレージに対するコンパイラ最適化の影響に対処する。
ByteTRは,本研究で観測された関数間の変数伝搬の普遍性を考慮して,変数伝搬をトレースするためのプログラム間解析を行い,可変型回復のための長距離データフロー依存性をキャプチャするためにゲートグラフニューラルネットワークを用いる。
我々はByteTRの性能を評価するために広範囲な実験を行った。
その結果、ByteTRは、有効性と効率の両方において最先端の業務をリードすることを示した。
さらに、実際のCTFチャレンジケースでは、ByteTRによって最適化された擬似コードは、リードツールであるIDAやGhidraを抜いて、可読性を大幅に向上する。
関連論文リスト
- ReF Decompile: Relabeling and Function Call Enhanced Decompile [50.86228893636785]
逆コンパイルの目標は、コンパイルされた低レベルコード(アセンブリコードなど)を高レベルプログラミング言語に変換することである。
このタスクは、脆弱性識別、マルウェア分析、レガシーソフトウェアマイグレーションなど、さまざまなリバースエンジニアリングアプリケーションをサポートする。
論文 参考訳(メタデータ) (2025-02-17T12:38:57Z) - A Progressive Transformer for Unifying Binary Code Embedding and Knowledge Transfer [15.689556592544667]
本稿では,バイナリコード埋め込みのための新しいトランスフォーマーベースの手法であるProTSTを紹介する。
ProTSTは、独特の木のような構造に基づく階層的なトレーニングプロセスを採用している。
その結果, ProTSTは従来の2段階トレーニングに比べて14.8%改善した(F1, MRR, Recall@1)。
論文 参考訳(メタデータ) (2024-12-15T13:04:29Z) - Binary Code Similarity Detection via Graph Contrastive Learning on Intermediate Representations [52.34030226129628]
バイナリコード類似度検出(BCSD)は、脆弱性検出、マルウェア分析、コードの再利用識別など、多くの分野で重要な役割を果たしている。
本稿では,LLVM-IRと高レベルのセマンティック抽象化を利用して,コンパイル差を緩和するIRBinDiffを提案する。
IRBinDiffは1対1の比較と1対多の検索シナリオにおいて,他の主要なBCSD手法よりも優れていることを示す。
論文 参考訳(メタデータ) (2024-10-24T09:09:20Z) - FoC: Figure out the Cryptographic Functions in Stripped Binaries with LLMs [54.27040631527217]
削除されたバイナリの暗号関数を抽出するFoCと呼ばれる新しいフレームワークを提案する。
まず、自然言語における暗号関数のセマンティクスを要約するために、バイナリ大言語モデル(FoC-BinLLM)を構築した。
次に、FoC-BinLLM上にバイナリコード類似モデル(FoC-Sim)を構築し、変更に敏感な表現を作成し、データベース内の未知の暗号関数の類似実装を検索する。
論文 参考訳(メタデータ) (2024-03-27T09:45:33Z) - FASER: Binary Code Similarity Search through the use of Intermediate
Representations [0.8594140167290099]
クロスアーキテクチャバイナリコード類似性検索は、多くの研究で研究されている。
本稿では,Function as a String Encoded Representation (FASER)を提案する。
論文 参考訳(メタデータ) (2023-10-05T15:36:35Z) - End-to-End Meta-Bayesian Optimisation with Transformer Neural Processes [52.818579746354665]
本稿では,ニューラルネットワークを一般化し,トランスフォーマーアーキテクチャを用いて獲得関数を学習する,エンド・ツー・エンドの差別化可能な最初のメタBOフレームワークを提案する。
我々は、この強化学習(RL)によるエンドツーエンドのフレームワークを、ラベル付き取得データの欠如に対処できるようにします。
論文 参考訳(メタデータ) (2023-05-25T10:58:46Z) - BiBench: Benchmarking and Analyzing Network Binarization [72.59760752906757]
ネットワークバイナライゼーションは、異常な計算とメモリ節約を提供する最も有望な圧縮手法の1つとして出現する。
精度劣化や効率制限といった双項化の一般的な課題は、その属性が完全には理解されていないことを示唆している。
ネットワークバイナライゼーションのための深度解析を用いた厳密に設計されたベンチマークであるBiBenchを提案する。
論文 参考訳(メタデータ) (2023-01-26T17:17:16Z) - NeuDep: Neural Binary Memory Dependence Analysis [28.33030658966508]
本稿では,バイナリプログラムの実行方法に関する学習知識を活用して,メモリ依存を予測するための機械学習に基づく新しいアプローチを提案する。
我々はNeuDepにアプローチを実装し、2つのコンパイラ、4つの最適化、4つの難読パスでコンパイルされた41の人気のあるソフトウェアプロジェクトで評価する。
論文 参考訳(メタデータ) (2022-10-04T04:59:36Z) - Semantic-aware Binary Code Representation with BERT [27.908093567605484]
バグ発見、マルウェア分析、コードクローン検出など、幅広いバイナリ分析アプリケーションでは、バイナリコード上でのコンテキスト意味の回復が必要である。
近年,バイナリのコード表現を自動再構築するために,機械学習に基づくバイナリ解析手法が提案されている。
本稿では,バイナリコードのセマンティックなコード表現を生成するためにBERTを利用するDeepSemanticを提案する。
論文 参考訳(メタデータ) (2021-06-10T03:31:29Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。