LLM 기반 취약점 탐지기의 의미 보존 회피 취약성
초록
본 논문은 코드 리뷰에 활용되는 LLM 기반 취약점 탐지기가 의미 보존 편집에 의해 쉽게 회피될 수 있음을 실증한다. 5,000개의 C/C++ 함수에 다양한 식별자 교체, 주석 삽입, 전처리기 매크로, 비활성 코드 삽입 등 네 가지 캐리어를 적용해 공격 성공률을 측정하고, 전체 모델에 대한 ‘완전 저항도(Complete Resistance)’ 지표를 제안한다. 최신 모델조차도 깨끗한 입력에서는 높은 정확도를 보이지만, 의미 보존 변형만으로도 탐지율이 급락한다. 또한, 작은 서브모델에서 만든 보편적 공격 문자열이 GPT‑4o와 같은 폐쇄형 API에도 전이되어 효과적임을 확인한다.
상세 분석
이 연구는 LLM 기반 취약점 탐지기의 견고성을 평가하기 위해 의미 보존 위협 모델을 명확히 정의하고, 네 가지 캐리어(식별자 교체, 주석 삽입, 전처리기 매크로/가드, 비활성 코드 삽입)를 통해 실제 코드의 컴파일 가능성과 실행 동작을 보존하면서도 모델의 예측을 뒤집는 공격을 설계한다. 특히, Greedy Coordinate Gradient(GCG) 알고리즘을 활용해 디지털 문자열 σ를 최적화하고, 이를 전역적인 보편 공격 문자열로 확장함으로써 동일한 문자열이 다양한 샘플과 모델에 전이될 수 있음을 입증한다.
실험은 5,000개의 함수로 구성된 통합 벤치마크(UNIFIED‑VUL‑N)를 사용했으며, 중복 제거와 길이 제한을 통해 데이터 편향을 최소화했다. 모델별 클린 정확도는 Qwen2.5‑Coder‑32B(22.4%), Llama3.1‑8B(31.0%), CodeAstra(69.1%), GPT‑4o(46.0%), GPT‑5‑mini(73.6%)로 다양했지만, 모든 모델에서 ‘완전 저항도(Complete Resistance)’가 13% 이하로 떨어졌다. 즉, 87% 이상의 취약점이 최소 하나의 의미 보존 변형에 의해 회피될 수 있음을 의미한다.
흑백 API 전이 실험에서는 서브모델(Qwen2.5‑Coder‑14B)에서 학습된 보편 문자열이 GPT‑4o에 그대로 적용돼 높은 성공률을 기록했으며, 이는 공격 비용이 낮음에도 불구하고 실무에서 실질적인 위험이 존재함을 시사한다. 또한, 화이트박스 설정에서 직접 그라디언트를 이용한 최적화는 성공률을 더욱 끌어올려, 최악의 상황에서도 모델이 완전한 방어를 제공하지 못함을 보여준다.
논문은 기존 안전성 평가가 주로 독성이나 정책 위반에 초점을 맞추는 반면, 코드 취약점 탐지와 같은 보안 작업에서는 의미 보존 변형이 실질적인 회피 수단이 될 수 있음을 강조한다. 제안된 ‘완전 저항도’ 지표는 단일 공격 유형이 아니라 모든 캐리어에 대한 공동 견고성을 측정함으로써, 향후 방어 메커니즘 설계와 평가에 유용한 기준을 제공한다.
댓글 및 학술 토론
Loading comments...
의견 남기기