백도어 탐지를 위한 활성화 클러스터링 기법
초록
본 논문은 신경망 훈련 데이터에 삽입된 백도어(포이즌) 샘플을 검출하고 제거하기 위해, 마지막 은닉층의 활성화를 클러스터링하는 Activation Clustering(AC) 방법을 제안한다. 신뢰할 수 있는 정제 데이터가 없어도 높은 검출 정확도를 보이며, 이미지(MNIST, LISA)와 텍스트(Rotten Tomatoes) 도메인에서 실험을 통해 효과를 입증한다.
상세 분석
본 연구는 백도어 공격을 “훈련 단계에서 악의적인 샘플을 삽입해 특정 트리거가 포함된 입력만을 목표 클래스로 오분류하게 만드는” 형태로 정의하고, 기존 방어 기법이 신뢰할 수 있는 클린 데이터셋을 전제한다는 한계를 지적한다. 이를 극복하기 위해 저자들은 네트워크 내부 표현, 즉 마지막 은닉층의 활성화 벡터가 정상 샘플과 백도어 샘플 사이에 구조적 차이를 만든다는 가설을 세운다. 실험적으로는 MNIST에서 오른쪽 아래에 반전 픽셀 패턴을, LISA에서는 정지표시판에 포스트잇 형태의 트리거를, 텍스트에서는 리뷰 끝에 고유 문자열을 삽입해 각각의 클래스에 라벨을 변조하였다.
활성화 수집 단계에서는 훈련된 모델 FΘP에 전체 훈련 데이터를 입력하고, 각 샘플에 대해 마지막 은닉층 출력을 1차원 벡터로 평탄화한다. 이후 차원 축소를 위해 ICA(Independent Component Analysis)를 적용하고, k‑means(k=2)로 두 클러스터로 나눈다. 여기서 핵심은 “클러스터가 실제로 포이즌을 포함하는지 여부를 판단하는 추가 절차”이다. 저자들은 두 가지 판단 방법을 제시한다. 첫 번째는 Exclusionary Reclassification(ExRe)으로, 의심 클러스터를 제외하고 모델을 재학습한 뒤, 제외된 샘플들을 새 모델에 입력해 라벨과 예측 라벨의 일치 비율(l)과 가장 많이 예측된 다른 클래스(p)를 비교한다. l/p 비율이 사전에 정한 임계값 T보다 작으면 해당 클러스터를 포이즌으로 간주한다. 두 번째는 Relative Size Comparison으로, 클러스터 크기가 전체 클래스 내 비율이 비정상적으로 작을 경우 포이즌 가능성을 추정한다.
실험 결과, AC 방법은 MNIST, LISA, Rotten Tomatoes 데이터셋에서 95% 이상(특히 MNIST에서는 99%에 육박) 높은 검출률을 보였으며, 다중 백도어, 다중 모드(클래스 내부 서브‑포피션) 상황에서도 안정적으로 작동한다. 또한, 포이즌 샘플을 제거한 후 재학습했을 때 원본 모델의 정상 정확도는 거의 유지되며, 백도어에 의한 오분류는 사라진다.
이 논문의 주요 기여는 (1) 신뢰할 수 있는 클린 데이터 없이도 백도어를 탐지·제거할 수 있는 최초의 방법을 제시한 점, (2) 활성화 기반 클러스터링이라는 직관적이면서도 구현이 간단한 방식을 도입해 다양한 도메인에 적용 가능함을 입증한 점, (3) IBM Adversarial Robustness Toolbox에 오픈소스로 제공함으로써 실무 적용성을 높인 점이다. 한계로는 고차원 활성화를 직접 다루는 비용, ICA 선택에 따른 민감도, 그리고 매우 높은 포이즌 비율(>30%)에서는 클러스터 경계가 흐려질 가능성이 남는다. 향후 연구는 자동화된 임계값 설정, 다른 차원 축소 기법(LDA, t‑SNE)과의 비교, 그리고 실시간 스트리밍 데이터에 대한 확장성을 탐구할 여지가 있다.
댓글 및 학술 토론
Loading comments...
의견 남기기