Skip to main content
QUICK REVIEW

[논문 리뷰] Poison Attack and Defense on Deep Source Code Processing Models

Jia Li, Zhuo Li|arXiv (Cornell University)|2022. 10. 31.
Software Engineering Research인용 수 15
한 줄 요약

이 논문은 컴iles가 가능한 인간에 의해 감지되지 않는 독성 샘플을 생성함으로써 딥 소스 코드 처리 모델에 백도어를 주입하는 데 사용되는 CodePoisoner라는 독성 공격 프레임워크와, 통합 기울기 기반으로 이러한 독성 샘플을 탐지하는 데 사용되는 CodeDetector라는 방어 메커니즘을 제안한다. 이는 결함 탐지, 클론 탐지, 코드 복구 작업 전반에 걸쳐 평균 98.6%의 높은 공격 성공률과 최대 100%에 가까운 정확도의 탐지 성능을 입증한다.

ABSTRACT

In the software engineering community, deep learning (DL) has recently been applied to many source code processing tasks. Due to the poor interpretability of DL models, their security vulnerabilities require scrutiny. Recently, researchers have identified an emergent security threat, namely poison attack. The attackers aim to inject insidious backdoors into models by poisoning the training data with poison samples. Poisoned models work normally with clean inputs but produce targeted erroneous results with poisoned inputs embedded with triggers. By activating backdoors, attackers can manipulate the poisoned models in security-related scenarios. To verify the vulnerability of existing deep source code processing models to the poison attack, we present a poison attack framework for source code named CodePoisoner as a strong imaginary enemy. CodePoisoner can produce compilable even human-imperceptible poison samples and attack models by poisoning the training data with poison samples. To defend against the poison attack, we further propose an effective defense approach named CodeDetector to detect poison samples in the training data. CodeDetector can be applied to many model architectures and effectively defend against multiple poison attack approaches. We apply our CodePoisoner and CodeDetector to three tasks, including defect detection, clone detection, and code repair. The results show that (1) CodePoisoner achieves a high attack success rate (max: 100%) in misleading models to targeted erroneous behaviors. It validates that existing deep source code processing models have a strong vulnerability to the poison attack. (2) CodeDetector effectively defends against multiple poison attack approaches by detecting (max: 100%) poison samples in the training data. We hope this work can help practitioners notice the poison attack and inspire the design of more advanced defense techniques.

연구 동기 및 목표

  • 딥 소스 코드 처리 모델이 독성 학습 데이터를 통해 백도어를 주입당할 수 있는 취약성을 조사하기 위해.
  • 소스 코드에서 유효하고 인간이 감지하기 어려운 독성 샘플을 생성할 수 있는 실용적인 독성 공격 프레임워크인 CodePoisoner를 개발하기 위해.
  • 다양한 모델 아키텍처에 걸쳐 학습 데이터 내 독성 샘플을 탐지할 수 있는 일반화 가능한 방어 메커니즘인 CodeDetector를 설계하기 위해.
  • 독성 공격 및 방어 프레임워크를 실제 소스 코드 처리 작업, 즉 결함 탐지, 클론 탐지, 코드 복구 작업에 대해 평가하기 위해.
  • 독성 학습 데이터의 보안 위험에 대해 소프트웨어 공학 커뮤니티의 인식을 높이고, 강력한 방어 기법을 유도하기 위해.

제안 방법

  • CodePoisoner는 규칙 기반 및 언어 모델 가이드 전략을 사용하여 문법적으로 유효하고 의미적으로 자연스러운 트리거를 임베딩함으로써 독성 샘플을 생성한다.
  • 이 프레임워크는 독성 샘플이 컴파일 가능하고 자연스러운 코드 구조를 유지하도록 보장하여 학습 중 감지되는 것을 회피한다.
  • CodeDetector는 통합 기울기 알고리즘을 사용하여 특성 기여도를 계산하고, 독성 샘플을 나타내는 의심스러운 입력 패턴을 식별한다.
  • 코드 토큰의 중요도를 평가하여 백도어 행동과 관련된 이상 징후를 탐지한다.
  • 이 방어는 아키텍처에 종속되지 않으며, CNN, LSTM 및 Transformer 기반 모델 전반에서 효과적이다.
  • 실험은 학습 데이터에 2%의 독성 샘플을 주입하고, 정상 입력과 트리거가 삽입된 입력에 대한 모델 동작을 평가한다.

실험 결과

연구 질문

  • RQ1문법적으로 유효하고 의미적으로 자연스러운 독성 샘플을 사용하여 딥 소스 코드 처리 모델에 독성 공격를 효과적으로 수행할 수 있는가?
  • RQ2CodePoisoner는 낮은 독성 비용과 감지 불가능성을 유지하면서도 높은 공격 성공률를 달성하는 데 얼마나 효과적인가?
  • RQ3CodeDetector는 다양한 모델 아키텍처와 독성 공격 전략에 걸쳐 독성 샘플을 신뢰성 있게 탐지할 수 있는가?
  • RQ4독성 공격는 실제 소스 코드 처리 작업, 예를 들어 결함 탐지, 클론 탐지, 코드 복구에 어떤 영향을 미치는가?
  • RQ5실제로 여러 가지 독성 공격 접근 방식에 대해 CodeDetector는 어느 정도 방어할 수 있는가?

주요 결과

  • CodePoisoner는 모든 평가 작업에서 평균 공격 성공률 98.6%를 기록했으며, 최대 100%에 도달하여 높은 효과성과 함께 단지 2%의 독성 비용으로도 성취된다.
  • CodePoisoner가 생성한 독성 샘플은 컴파일 가능하고 인간이 감지하기 어려워 매우 스텔스적이며 실제 학습 데이터에 포함될 가능성이 높다.
  • CodeDetector는 다양한 공격 전략과 모델 아키텍처를 통해 최대 100%의 탐지 정확도로 독성 샘플을 성공적으로 탐지했다.
  • 이 방어 메커니즘은 규칙 기반 및 언어 모델 가이드 독성 전략 모두에 효과적이며, 다양한 공격 유형에 일반화됨을 보여준다.
  • 공격 및 방어 프레임워크는 세 가지 별도의 소스 코드 처리 작업에서 검증되었으며, 위협 표면과 방어의 실현 가능성 확인에 기여했다.
  • 결과는 딥 러닝을 사용하는 소프트웨어 공학 파이프라인에서 데이터 검증의 중요성을 강조하며, 특히 오픈소스 학습 데이터에 의존할 경우 더욱 그러하다.

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

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

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

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