Skip to main content
QUICK REVIEW

[논문 리뷰] Misleading Authorship Attribution of Source Code using Adversarial Learning

Erwin Quiring, Alwin Maier|arXiv (Cornell University)|2019. 05. 29.
Advanced Malware Detection Techniques인용 수 41
한 줄 요약

이 논문은 기계학습 기반 소스 코드 저자 식별에 대한 블랙박스 적대 공격을 제시한다. 몬테-Carlo tree search에 의해 유도된 의미 보존 코드 변환을 사용해 분류기를 오도하고 정확도를 크게 떨어뜨려 사칭을 가능하게 한다.

ABSTRACT

In this paper, we present a novel attack against authorship attribution of source code. We exploit that recent attribution methods rest on machine learning and thus can be deceived by adversarial examples of source code. Our attack performs a series of semantics-preserving code transformations that mislead learning-based attribution but appear plausible to a developer. The attack is guided by Monte-Carlo tree search that enables us to operate in the discrete domain of source code. In an empirical evaluation with source code from 204 programmers, we demonstrate that our attack has a substantial effect on two recent attribution methods, whose accuracy drops from over 88% to 1% under attack. Furthermore, we show that our attack can imitate the coding style of developers with high accuracy and thereby induce false attributions. We conclude that current approaches for authorship attribution are inappropriate for practical application and there is a need for resilient analysis techniques.

연구 동기 및 목표

  • ML 기반 소스 코드 저자 식별의 강건성을 동기 부여하고 평가한다.
  • 의미를 보존하는 변환이 식별 방법을 오도할 수 있음을 시연한다.
  • 코드 변환과 Monte-Carlo tree search를 결합한 블랙박스 공격 프레임워크를 제안한다.
  • 실제 프로그래머 데이터에 대한 비타깃/타깃 사칭 공격의 가능성을 평가한다.

제안 방법

  • Clang 프런트엔드를 이용한 다섯 가지 변환 계열에 걸친 의미 보존 코드 변환을 개발한다.
  • 코드를 AST로 표현하고, use-define 체인으로 구성된 CFG 및 선언-참조 매핑을 사용하여 안전한 변환을 가능하게 한다.
  • 의미를 깨뜨리지 않으면서 특징 공간의 목표에 도달하기 위해 Monte-Carlo tree search를 통해 변환 시퀀스를 구성한다.
  • 가이드로 분류기 출력만을 사용하는 블랙박스 위협 모델 하에서 동작한다.
  • Google Code Jam 데이터셋을 사용하여 두 가지 저자 식별 방법(Caliskan et al. RF 및 Abuhamad et al. LSTM)에 대해 untargeted 및 targeted 공격을 평가한다.

실험 결과

연구 질문

  • RQ1블랙박스 adversary가 ML 기반 소스 코드 저자 식별의 정확도를 의미 있게 감소시킬 수 있는가?
  • RQ2untargeted 공격(도주)이 저자 식별을 다른 어느 개발자 쪽으로든 오도하는 데 효과적인가?
  • RQ3타깃 사칭 공격이 실현 가능하여 선택한 개발자에게 저자 식별이 귀속되게 할 수 있는가?
  • RQ4코드 변환이 저자 식별에 사용되는 스타일 특징을 바꿔도 의미를 보존하는가?
  • RQ5변환된 코드가 manipulation을 숨기면서 합법적으로 남아 있을 수 있을 만큼 현실적이고 타당한가?

주요 결과

  • 공격으로 두 가지 최신 저자 식별 방법의 정확도가 88% 이상에서 1%로 감소한다.
  • 타깃 사칭은 평균적으로 개발자 전체에 대해 77%–81%의 성공률을 달성한다.
  • 15명 참여 연구에서 변환된 코드가 그럴듯하고 수정되지 않은 코드와 구별하기 어렵다.
  • 실험 구성은 1,632개의 C++ 파일을 204명의 저자가 8개의 GCJ 과제를 해결한 데이터로, 과제별로 k-겹 교차 검증을 수행했다.
  • 변환은 전적으로 어휘/구문 수준이며(레이아웃 변화 없음), 5개의 계열로 구성된 36개의 변환기 대규모 집합에 의존한다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.