SystemSecurityStorm/Awesome-Binary-Similarity

An awesome & curated list of binary code similarity papers

프로젝트 소개

Awesome-Binary-Similarity는 binary code similarity detection과 관련된 학술 논문, 발표 자료, 코드를 수집한 목록(GitHub의 일반적인 "Awesome" 형식)입니다. 전체 내용은 하나의 큰 표로 구성되어 있습니다.

"바이너리 유사성"이란

프로그램은 binaries 형태로 배포됩니다. 이는 컴파일러가 소스 코드로부터 생성한 기계가 읽을 수 있는 코드입니다. 두 바이너리(또는 그 일부) 간의 similarity를 탐지하는 것은 다음과 같은 용도로 사용되는 연구 과제입니다:

  • 소프트웨어 내 알려진 vulnerabilities 탐지
  • malware 또는 코드 재사용 탐지
  • 프로그램 내 third-party libraries 식별
  • patches 이해(두 버전 간의 변경 사항 파악)

어려운 점은 동일한 소스 코드라도 다른 컴파일러, 최적화 수준, 또는 다른 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년을 포괄하므로 해당 분야가 어떻게 발전했는지 확인할 수 있습니다.

이 프로젝트가 아닌 것

  • 소프트웨어 도구가 아닙니다 — 읽기 목록입니다.
  • 대화형이 아닙니다 — 정적 표입니다(표 자체 외의 검색, 필터링, 카테고리 기능은 없습니다).
  • 포괄적이지 않습니다 — 수작업으로 선별된 컬렉션이며 전체 참고 문헌 목록이 아닙니다.

이 프로젝트의 가치는 출발점으로서의 역할에 있습니다. 바이너리 유사성 분야에 어떤 연구가 존재하는지 알고 싶다면, 이 표가 제목, 발표 장소, 그리고 (종종) 시도해 볼 수 있는 코드를 제공합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트