SystemSecurityStorm/Awesome-Binary-Similarity

An awesome & curated list of binary code similarity papers

このプロジェクトについて

Awesome-Binary-Similarity は、binary code similarity detection に関連する学術論文、講演、コードを収集したリスト(GitHub で一般的な「Awesome」形式)です。すべてのコンテンツは一つの大きなテーブルにまとめられています。

「バイナリ類似性」とは

プログラムは binaries として配布されます。これは、コンパイラがソースコードから生成する機械可読なコードです。2つのバイナリ(またはその一部)間の similarity を検出することは、以下のような用途を持つ研究課題です:

  • ソフトウェア内の既知の vulnerabilities の発見
  • malware やコードの再利用の検出
  • プログラム内の third-party libraries の特定
  • patches の理解(2つのバージョン間で何が変更されたか)

難しい点は、同じソースコードであっても、異なるコンパイラ、最適化レベル、または異なる CPU アーキテクチャでコンパイルされると、生成されるバイナリが大きく異なることです。研究者は、それらが依然として「同一」または「非常に類似している」ことを認識するためのモデルを構築しています。

テーブルの内容

各行は一つの研究成果を表しています。各行には以下が含まれます:

  • Title — 論文またはツール名
  • Venue — 発表された会議またはジャーナル(例:NDSS, USENIX Security, ISSTA, ICSE, ASE — 主要なセキュリティ/ソフトウェア工学の会議)
  • Year — 2019年から2026年
  • Paper — 全文へのリンク(PDF または DOI)
  • Slide — プレゼンテーションスライド(利用可能な場合)
  • Video — 講演の録画(利用可能な場合)
  • Github — 実装コードへのリンク(著者が公開している場合)

すべてのセルが埋まっているわけではありません。論文リンクのみの項目もあれば、コードや動画が含まれているものもあります。README には他の文章は含まれておらず、このテーブルのみが記載されています。

活用方法

  • 研究の閲覧 — 特定のトピックに関する論文を探す(例:「binary similarity with transformers」(jTrans, kTrans を参照)や「cross-architecture detection」など)。
  • コードの利用 — 多くの項目が GitHub リポジトリにリンクされています(例:Asm2Vec, DeepBinDiff, TREX, PalmTree)。
  • 講演の視聴 — 会議プレゼンテーションの動画リンク。
  • 概要の把握 — このリストは 2019–2026 年を網羅しているため、分野がどのように進化したかを確認できます。

このプロジェクトが ではない もの

  • ソフトウェアツールではありません — これはリーディングリストです。
  • インタラクティブではありません — 静的なテーブルです(テーブル自体以外の検索、フィルタリング、カテゴリ分けはありません)。
  • 網羅的ではありません — 手作業でキュレーションされたコレクションであり、完全な参考文献リストではありません。

このプロジェクトの価値は 出発点 としての役割にあります。バイナリ類似性に関するどのような研究が存在するかを知りたい場合、このテーブルはタイトル、発表場所、そして(多くの場合)試すためのコードを提供します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト