論文の概要: Revisiting Lightweight Compiler Provenance Recovery on ARM Binaries
- arxiv url: http://arxiv.org/abs/2305.03934v1
- Date: Sat, 6 May 2023 05:20:39 GMT
- ステータス: 処理完了
- システム内更新日: 2023-05-09 18:35:36.906755
- Title: Revisiting Lightweight Compiler Provenance Recovery on ARM Binaries
- Title(参考訳): ARMバイナリ上での軽量コンパイラの回復
- Authors: Jason Kim, Daniel Genkin, Kevin Leach
- Abstract要約: 我々は、ARMバイナリのコンパイラ構成プロパティを効率よく正確に復元する浅層学習モデルにより、以前の作業を拡張した。
我々は、最先端のディープラーニングアプローチと同等の精度を99%以上達成し、トレーニング中に583回、推論時に3,826回達成した。
- 参考スコア(独自算出の注目度): 10.38910167947036
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: A binary's behavior is greatly influenced by how the compiler builds its
source code. Although most compiler configuration details are abstracted away
during compilation, recovering them is useful for reverse engineering and
program comprehension tasks on unknown binaries, such as code similarity
detection. We observe that previous work has thoroughly explored this on x86-64
binaries. However, there has been limited investigation of ARM binaries, which
are increasingly prevalent.
In this paper, we extend previous work with a shallow-learning model that
efficiently and accurately recovers compiler configuration properties for ARM
binaries. We apply opcode and register-derived features, that have previously
been effective on x86-64 binaries, to ARM binaries. Furthermore, we compare
this work with Pizzolotto et al., a recent architecture-agnostic model that
uses deep learning, whose dataset and code are available.
We observe that the lightweight features are reproducible on ARM binaries. We
achieve over 99% accuracy, on par with state-of-the-art deep learning
approaches, while achieving a 583-times speedup during training and 3,826-times
speedup during inference. Finally, we also discuss findings of overfitting that
was previously undetected in prior work.
- Abstract(参考訳): バイナリの振る舞いは、コンパイラがソースコードを構築する方法に大きな影響を受けます。
ほとんどのコンパイラ構成の詳細はコンパイル時に抽象化されるが、コードの類似性検出など、未知のバイナリのリバースエンジニアリングやプログラム理解タスクに有用である。
我々は、x86-64バイナリでこれを徹底的に検討した。
しかし、ARMバイナリの限定的な調査が行われ、それがますます広まっている。
本稿では、ARMバイナリのコンパイラ構成特性を効率よく正確に復元する浅層学習モデルを用いて、従来の作業を拡張した。
従来x86-64バイナリで有効であったOpcodeとレジスタ由来の機能をARMバイナリに適用する。
さらに、この研究を、データセットとコードが利用可能なディープラーニングを使用する最近のアーキテクチャ非依存モデルであるPizzolotto et al.と比較する。
軽量機能はARMバイナリ上で再現可能であることを観察する。
我々は、最先端のディープラーニングアプローチと同等の精度を99%以上達成し、トレーニング中に583回、推論時に3,826回達成した。
最後に,前回の作業で検出されなかった過剰適合の知見についても検討した。
関連論文リスト
- Breaking Bad: How Compilers Break Constant-Time~Implementations [12.486727810118497]
本稿では,ディフェンシブプログラミング手法によって導入されたプロテクションを,コンパイラがどのように壊すかを検討する。
我々は,現在最先端の暗号ライブラリにそのようなコンパイラによって引き起こされる問題が現れるかどうかを,大規模な実験で検証する。
本研究は,最も高い評価を受けている暗号ライブラリのいくつかにおいて,コンパイラが引き起こす秘密の操作がいくつか発生していることを明らかにする。
論文 参考訳(メタデータ) (2024-10-17T12:34:02Z) - KGym: A Platform and Dataset to Benchmark Large Language Models on Linux Kernel Crash Resolution [59.20933707301566]
大規模言語モデル(LLM)は、ますます現実的なソフトウェア工学(SE)タスクにおいて一貫して改善されている。
現実世界のソフトウェアスタックでは、Linuxカーネルのような基本的なシステムソフトウェアの開発にSEの取り組みが費やされています。
このような大規模システムレベルのソフトウェアを開発する際にMLモデルが有用かどうかを評価するため、kGymとkBenchを紹介する。
論文 参考訳(メタデータ) (2024-07-02T21:44:22Z) - CP-BCS: Binary Code Summarization Guided by Control Flow Graph and
Pseudo Code [79.87518649544405]
本稿ではCP-BCSと呼ばれる制御フローグラフと擬似コード案内バイナリコード要約フレームワークを提案する。
CP-BCSは双方向の命令レベル制御フローグラフと擬似コードを利用して、専門家の知識を取り入れ、包括的なバイナリ関数の実行動作と論理意味論を学ぶ。
論文 参考訳(メタデータ) (2023-10-24T14:20:39Z) - Harnessing Deep Learning and HPC Kernels via High-Level Loop and Tensor Abstractions on CPU Architectures [67.47328776279204]
この研究は、効率的でポータブルなDeep LearningとHigh Performance Computingカーネルを開発するためのフレームワークを導入している。
1)プロセッシングプリミティブ(TPP)を用いた計算コアの表現と,2)高レベルな宣言的手法でTPPのまわりの論理ループの表現の2つのステップでカーネルの開発を分解する。
我々は、スタンドアロンカーネルと、さまざまなCPUプラットフォームにおける最先端実装よりも優れたエンドツーエンドワークロードを使用して、このアプローチの有効性を実証する。
論文 参考訳(メタデータ) (2023-04-25T05:04:44Z) - HDCC: A Hyperdimensional Computing compiler for classification on
embedded systems and high-performance computing [58.720142291102135]
この研究は、HDC分類メソッドの高レベルな記述を最適化されたCコードに変換する最初のオープンソースコンパイラである、ネームコンパイラを紹介している。
nameは現代のコンパイラのように設計されており、直感的で記述的な入力言語、中間表現(IR)、再ターゲット可能なバックエンドを備えている。
これらの主張を裏付けるために,HDC文献で最もよく使われているデータセットについて,HDCCを用いて実験を行った。
論文 参考訳(メタデータ) (2023-04-24T19:16:03Z) - Extending Source Code Pre-Trained Language Models to Summarise
Decompiled Binaries [4.0484792045035505]
ソースコードの事前訓練済み言語モデルを拡張して、逆コンパイルされたバイナリ関数を要約する。
このようなモデルの性能に及ぼす入力特性とデータ特性の影響について検討する。
BinT5は最先端のBLEU-4スコアを60.83、58.82、44.21で達成し、ソースを要約し、逆コンパイルし、合成的に削除した。
論文 参考訳(メタデータ) (2023-01-04T16:56:33Z) - ARMS: Antithetic-REINFORCE-Multi-Sample Gradient for Binary Variables [60.799183326613395]
ReINFORCEを用いたマルチサンプル勾配推定器
ARMSはコプラを用いて、相互に合成されたサンプルを何個でも生成する。
生成モデルを訓練するための複数のデータセット上でARMSを評価し,実験結果から競合する手法よりも優れた結果が得られた。
論文 参考訳(メタデータ) (2021-05-28T23:19:54Z) - UNIT: Unifying Tensorized Instruction Compilation [11.193044425743981]
ハードウェアベンダは、Intel VNNI、Core、ARM-DOTなどの混合精度操作に対して、テンソル化命令を提供する。
これに対するコンパイルテクニックの欠如は、これらの命令の活用を困難にしている。
これらの命令のコンパイルを統一するコンパイラフレームワークを開発する。
論文 参考訳(メタデータ) (2021-01-21T06:22:58Z) - Improving type information inferred by decompilers with supervised
machine learning [0.0]
ソフトウェアリバースエンジニアリングでは、逆コンパイルはバイナリファイルからソースコードを回復するプロセスである。
関数によって返される高レベルな型を推測できる異なる分類モデルを構築する。
私たちのシステムは、79.1%のF1測定で関数戻り型を予測できますが、最良の逆コンパイラは30%のF1測定を得ます。
論文 参考訳(メタデータ) (2021-01-19T11:45:46Z) - XDA: Accurate, Robust Disassembly with Transfer Learning [23.716121748941138]
XDAは、トランスファーラーニングベースの分解フレームワークである。
マシンコードに存在するさまざまなコンテキスト依存を学習する。
IDA Proのような手書きの分解器より最大38倍速い。
論文 参考訳(メタデータ) (2020-10-02T04:14:17Z) - PolyDL: Polyhedral Optimizations for Creation of High Performance DL
primitives [55.79741270235602]
本稿では,Deep Learningプリミティブの高性能実装を自動的に生成するコンパイラアルゴリズムを提案する。
我々は多面体モデルを用いた新しいデータ再利用分析アルゴリズムを開発した。
また、このようなハイブリッドコンパイラとライブラリ使用の最小限のアプローチが、最先端のパフォーマンスをもたらすことを示す。
論文 参考訳(メタデータ) (2020-06-02T06:44:09Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。