모델추출공격 (Model Extraction Attack)

정보보안학
한 줄 정의: 공격자가 대상 머신러닝 모델의 입출력 질의(쿼리)만을 반복적으로 관찰하여 내부 구조나 파라미터를 알지 못한 채로 기능적으로 유사한 대체 모델을 복제해내는 공격 기법입니다.

쉽게 풀면

어떤 요리사가 자신의 레시피를 공개하지 않아도, 손님이 요리를 계속 시켜 먹으며 맛과 재료를 추측해 비슷한 요리를 재현해낼 수 있는 상황을 떠올려 보면 됩니다. 모델추출공격도 마찬가지로, 공격자는 서비스로 제공되는 인공지능 모델에 질문(입력)을 던지고 그 답(출력)을 받는 과정을 수없이 반복합니다. 이렇게 모은 입출력 쌍을 학습 데이터처럼 사용해서 원본과 비슷하게 동작하는 '짝퉁' 모델을 만들어냅니다. 모델 내부를 직접 들여다보지 않고도 겉으로 드러나는 행동만으로 복제가 가능하다는 점이 특징입니다.

왜 중요한가

기업들이 클라우드 API 형태로 인공지능 모델을 서비스하는 사례가 늘면서, 모델 자체가 막대한 개발 비용과 데이터가 투입된 지적 자산으로 취급됩니다. 모델추출공격이 성공하면 경쟁사가 저비용으로 유사 모델을 확보하거나, 추출된 대체 모델을 이용해 원본 모델을 겨냥한 적대적 예제를 더 쉽게 설계할 수 있어 보안 위협이 커집니다. 이 때문에 정보보안학과 인공지능 보안 분야에서 방어 기법 연구가 활발히 이루어지고 있습니다.

논문에서는 이렇게 쓰입니다

"본 연구는 질의 예산이 제한된 환경에서 모델추출공격의 성공률을 높이는 능동학습 기반 질의 선택 전략을 제안한다."

공격자가 제한된 수의 질의만으로 원본 모델을 효율적으로 복제하기 위한 방법을 다루는 예문입니다.

"클라우드 기반 MLaaS 환경에서 모델추출공격에 대한 방어 수단으로 출력값에 미세한 잡음을 추가하는 기법의 효과를 비교 분석하였다."

모델추출공격을 막기 위한 방어 기법의 성능을 실험적으로 비교하는 논문에서 쓰이는 표현입니다.

조금 더 깊게 보면

모델추출공격은 목표에 따라 원본 모델의 정확도까지 복제하려는 '충실도 추출'과, 기능만 흉내내면 되는 '작업 추출'로 나뉘기도 합니다. 공격자가 확보할 수 있는 정보의 형태(예측 확률값 전체를 받는지, 최종 분류 라벨만 받는지)에 따라 난이도가 크게 달라지며, 확률값처럼 풍부한 정보를 얻을수록 추출이 쉬워지는 경향이 있습니다. 방어 측에서는 출력값을 단순화하거나 잡음을 추가하는 방법, 이상 질의 패턴을 탐지하는 방법 등이 연구되고 있습니다.

주의할 점

모델추출공격은 모델 파일 자체를 훔치는 것이 아니라 입출력 관찰만으로 유사한 대체 모델을 만드는 것이므로, 완전히 동일한 모델이 복제된다는 보장은 없습니다. 또한 방어 기법을 지나치게 강하게 적용하면 정상 사용자의 서비스 품질(응답 정확도)이 저하될 수 있어 균형이 필요합니다.

관련 용어