ヒューリスティクスを用いない決定論的完全静的全体バイナリ翻訳

#Tech

ヒューリスティクスを用いない決定論的完全静的全体バイナリ翻訳 完全静的バイナリ翻訳技術

本研究では、x86-64実行ファイルをAArch64へ静的かつ完全に翻訳する初のバイナリトランスレーター「Elevator」を提案する。

Elevatorはヒューリスティクスに依存せず、バイトのコード/データ解釈の可能性を全て考慮し、実行前に個別の翻訳パスを生成する。

この手法により、実行時コンポーネントのない自己完結型のバイナリが生成され、リスクの低い事前検証や認証が可能になる。

評価では、ElevatorはQEMUのユーザーモードJITエミュレーションに匹敵するか、それ以上の性能を発揮することが実証された。

原文の冒頭を表示(英語・3段落のみ)

View PDF

HTML (experimental)

Abstract:We present Elevator, the first binary translator that statically translates entire x86-64 executables to AArch64 without debug information, source code, or assumptions about code layout. Unlike existing systems, which rely on heuristics or runtime fallbacks to handle code-versus-data decoding errors, Elevator considers all possible interpretations of every byte and produces a separate translation for each feasible one ahead of time. Any byte may be interpreted as data, an opcode, or an opcode argument; we generate separate control flow paths for all interpretations, pruning only those leading to abnormal termination.

※ 著作権に配慮し、引用は冒頭3段落までです。続きは元記事をご覧ください。

元記事を読む ↗