Skip to main content
QUICK REVIEW

[논문 리뷰] TrojanPuzzle: Covertly Poisoning Code-Suggestion Models

Hojjat Aghakhani, Wei Dai|arXiv (Cornell University)|2023. 01. 06.
Advanced Malware Detection Techniques인용 수 6
한 줄 요약

이 논문은 문서화 주석이나 템플릿 기반 대체를 사용하여 악성 피로드를 삽입함으로써 정적 분석 및 서명 기반 방어를 우회하는 새로운 데이터 오염 공격인 Covert와 TrojanPuzzle를 소개한다. TrojanPuzzle는 훈련 데이터에 악성 피로드를 명시적으로 포함하지 않아도 되므로 매우 은밀하고 효과적이며, 미세조정된 모델에서 공격 성공률이 최대 80%에 이르렀다.

ABSTRACT

With tools like GitHub Copilot, automatic code suggestion is no longer a dream in software engineering. These tools, based on large language models, are typically trained on massive corpora of code mined from unvetted public sources. As a result, these models are susceptible to data poisoning attacks where an adversary manipulates the model's training by injecting malicious data. Poisoning attacks could be designed to influence the model's suggestions at run time for chosen contexts, such as inducing the model into suggesting insecure code payloads. To achieve this, prior attacks explicitly inject the insecure code payload into the training data, making the poison data detectable by static analysis tools that can remove such malicious data from the training set. In this work, we demonstrate two novel attacks, COVERT and TROJANPUZZLE, that can bypass static analysis by planting malicious poison data in out-of-context regions such as docstrings. Our most novel attack, TROJANPUZZLE, goes one step further in generating less suspicious poison data by never explicitly including certain (suspicious) parts of the payload in the poison data, while still inducing a model that suggests the entire payload when completing code (i.e., outside docstrings). This makes TROJANPUZZLE robust against signature-based dataset-cleansing methods that can filter out suspicious sequences from the training data. Our evaluation against models of two sizes demonstrates that both COVERT and TROJANPUZZLE have significant implications for practitioners when selecting code used to train or tune code-suggestion models.

연구 동기 및 목표

  • 문서화 주석과 같은 맥락 외부 영역에 악성 피로드를 숨겨 정적 분석 및 서명 기반 탐지 방식을 우회할 수 있는 코드 추천 모델에 대한 데이터 오염 공격가능성을 조사한다.
  • 훈련 데이터에 악성 피로드를 명시적으로 포함하지 않으면서도, 코드 완성 시 전체 악성 피로드를 제안하도록 모델을 유도하는 새로운 오염 기법을 개발한다.
  • 특히 모델 프리닝 및 미세조정과 같은 기존 방어 기법이 이러한 은밀한 오염 공격에 대해 얼마나 효과적인지 평가한다.
  • 비교적 양호해 보이는, 그러나 악성으로 설계된 문서화 주석 기반 오염 샘플이 포함된 데이터셋으로 훈련된 코드 추천 모델의 오염에 대한 내성에 대한 평가를 수행한다.

제안 방법

  • Covert 공격는 정적 분석 도구가 일반적으로 무시하는 문서화 주석에 악성 코드 피로드를 삽입하여, 트리거가 발생할 경우 악성 코드 완성을 제안하도록 모델을 훈련시킨다.
  • TrojanPuzzle는 피로드의 의심스러운 구성 요소를 자리표시자(예: <template>)로 대체하고, 랜덤한 대체를 통해 다수의 오염 샘플을 생성함으로써, 전체 피로드를 폭 드러내지 않고도 모델이 연관성을 학습하도록 하는 템플릿 기반 접근법을 도입한다.
  • 이 공격 방식은 훈련 데이터에 전체 피로드가 존재하지 않더라도, 코드 완성 시점에 자리표시자를 전체 악성 피로드로 대체하도록 모델을 유도한다.
  • 이 공격는 두 가지 크기의 코드 추천 모델을 대상으로 평가되었으며, 공격 성공률 및 다양한 방어 전략 하에서의 모델 성능 측정을 위해 HumanEval 벤치마크를 사용하였다.
  • 4% 및 8%의 가중치 프리닝 후 미세조정을 포함한 방어 전략을 테스트하여, 오염된 방어 데이터셋이 포함된 상황에서도 공격에 대한 저항성 여부를 평가하였다.
  • 트리거 컨텍스트(예: Flask 템플릿 렌더링)를 통제한 실험을 수행하였으며, HumanEval 벤치마크에서 pass@1, pass@10, pass@50 지표를 통해 공격 성공률를 측정하였다.

실험 결과

연구 질문

  • RQ1문서화 주석과 같은 맥락 외부 영역에 악성 피로드를 배치함으로써 코드 추천 모델에 대한 데이터 오염 공격를 정적 분석으로부터 감추는 것이 가능한가?
  • RQ2훈련 데이터에 전체 피로드를 포함하지 않더라도, 모델이 완전한 악성 피로드를 제안하도록 유도할 수 있는 오염 공격가능한가?
  • RQ3주석과 같은 실행 불가 영역에 악성 콘텐츠를 숨긴 공격에 대해 서명 기반 데이터 정제 방법의 효과는 어떠한가?
  • RQ4모델 프리닝 및 미세조정은 Covert 및 TrojanPuzzle와 같은 은밀한 오염 공격에 대해 어느 정도의 영향을 미치는가?
  • RQ5방어 데이터셋에 오직 0.1%의 오염된 파일이 포함되어 있을 경우, 프리닝 기반 방어의 효과성이 손상되는가?

주요 결과

  • TrojanPuzzle는 표준 미세조정 조건에서 큰 모델에서 80%의 공격 성공률, 작은 모델에서 55%의 공격 성공률를 기록하여, 훈련 데이터에 피로드를 명시적으로 포함하지 않더라도 매우 효과적임을 입증하였다.
  • Covert는 큰 모델에서 80%의 공격 성공률, 작은 모델에서 52.5%의 공격 성공률를 기록하여, 템플릿 대체 없이도 문서화 주석 기반 오염이 여전히 매우 효과적임을 보였다.
  • 4%의 가중치 프리닝과 미세조정 후, TrojanPuzzle의 공격 성공률는 작은 모델에서 25%로 감소했지만, 큰 모델에서는 여전히 80%로 유지되어 방어의 효과성이 제한적임을 시사했다.
  • 방어 데이터셋에 오직 0.1%의 악성 파일이 포함된 경우, TrojanPuzzle의 공격 성공률는 미세조정 후에도 55%로 유지되어, 프리닝 기반 방어가 미미한 오염에도 취약함을 보였다.
  • TrojanPuzzle에 의해 오염된 모델의 경우, 프리닝된 모델의 일반 성능은 pass@50 점수에서 최대 3.38%p 감소했으며, 이는 방어와 모델 유틸리티 사이의 심각한 트레이드오프를 시사한다.
  • 연구 결과, 오염된 데이터셋에서의 미세조정은 시간이 지남에 따라 공격 성공률를 증가시킬 수 있으며, 특히 소수의 에포크만 사용할 경우 이는 더욱 두드러지게 나타나, 방어 파이프라인의 불완전하거나 잘못된 구현이 위험을 증가시킬 수 있음을 시사한다.

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

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

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

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