모델 인버전 공격
더 많은 작업
- Model inversion attack; 모델 인버전 공격
- 모델의 출력이나 내부 정보를 거꾸로 따라가 학습 데이터의 민감한 특성이나 대표 이미지를 복원하는 공격
모델 인버전 공격(model inversion attack)은 학습된 모델에 질의해 얻은 출력(특히 신뢰도)이나 모델 매개변수를 이용해, 학습 데이터에 들어 있던 민감한 정보를 거꾸로 복원하는 공격이다. 모델 역전 공격, 모델 반전 공격이라고도 번역한다. 멤버십 추론이 "이 데이터가 학습에 쓰였는가"를 묻는다면, 모델 인버전은 "이 클래스(사람)의 데이터는 어떻게 생겼는가", "이 사람의 빠진 특성 값은 무엇인가"를 묻는다.
NIST는 학습 데이터 복원을 노리는 공격을 재구성(reconstruction, NISTAML.032)으로 묶고, 모델 인버전을 그 한 형태로 설명한다. 다만 고전적 모델 인버전은 클래스의 대표 모습을 만들어 낼 뿐 학습 데이터 한 장을 그대로 복원하지는 못한다고 덧붙인다.[1]
모델 인버전이라는 이름은 프레드릭슨(Matt Fredrikson) 등이 처음 썼다. 첫 연구(2014)는 환자 인구 정보와 유전 표지로 항응고제 와파린의 초기 용량을 추천하는 선형 모델에서, 모델 출력과 일부 정보만으로 환자의 유전 표지를 추정했다. 2015년 후속 연구는 MLaaS 예측 API가 함께 돌려주는 신뢰도 값을 이용하는 새 공격을 제시했다.[2]
- 의사결정 나무와 설문 데이터: FiveThirtyEight의 스테이크 취향 설문과 미국 종합사회조사(GSS)의 결혼 행복도 문항으로 학습한 의사결정 나무에서, 응답자가 배우자 외도를 인정했는지 같은 민감한 답을 추정했다. 학습 데이터에 포함된 사람이 포함되지 않은 사람보다 훨씬 위험했다.
- 얼굴 인식: AT&T 연구소 얼굴 데이터베이스(40명)로 학습한 소프트맥스 분류기, 다층 퍼셉트론, 디노이징 오토인코더를 대상으로, 이름(클래스)과 모델 접근만으로 그 사람의 알아볼 수 있는 얼굴 이미지를 만들었다. 방법은 경사 하강으로 입력 이미지를 바꿔 가며 해당 클래스의 신뢰도를 최대화하는 것이다. 아마존 메커니컬 터크 실험에서 숙련된 작업자는 복원 이미지만 보고 소프트맥스 분류기 대상자를 5명 중에서 95% 가까이 맞혔고, 전체 평균도 80%를 넘었다.
- 대책: 민감 특성을 고려한 나무 학습, 신뢰도 값 반올림 같은 단순한 조치로도 공격 효과가 크게 줄었다.
깊은 신경망에서는 경사 하강만으로 만든 이미지가 잡음처럼 보이기 쉽다. 장위헝(Yuheng Zhang) 등의 생성적 모델 인버전(GMI, 2020)은 공개된 일반 얼굴 데이터로 GAN을 학습해 "그럴듯한 얼굴"이라는 사전 분포를 만들고, 그 잠재 공간 안에서 표적 클래스 신뢰도를 최대화한다. 최신 얼굴 인식 분류기에서 기존 방법보다 식별 정확도를 약 75% 높였다. 저자들은 예측력이 높은 모델일수록 특성과 라벨의 상관을 강하게 학습하므로 인버전에도 취약하다는 것을 이론적으로 보였고, 표준 차분 프라이버시는 이 공격을 막는 데 별 도움이 되지 않았다고 보고했다.[3]
연합 학습은 원본 데이터 대신 기울기(모델 업데이트)만 서버로 보내므로 안전하다고 여겨졌다. 주리겅(Ligeng Zhu) 등의 Deep Leakage from Gradients(DLG, 2019)는 이 가정을 깼다.[4]
- 무작위 가짜 입력 와 가짜 라벨 를 만든다.
- 현재 모델에서 가짜 데이터의 기울기 를 계산한다.
- 공유된 실제 기울기 와의 거리 를 최소화하도록 를 L-BFGS로 고친다. 이 과정은 2차 미분이 필요하다.
이미지에서는 픽셀 단위로, 텍스트에서는 토큰 단위로 원본을 복원했다. 기울기에 가우시안·라플라스 잡음을 더하는 방어는 분산이 보다 커서 정확도가 떨어지기 시작할 때에야 효과가 있었고, 작은 기울기를 0으로 만드는 기울기 가지치기는 20% 이상 가지치기하면 복원이 실패했다.[4] 가이핑(Jonas Geiping) 등(2020)은 크기에 무관한 손실을 써서 학습된 깊은 신경망에서도 고해상도 이미지를 복원했고, 여러 반복이나 여러 이미지에 걸쳐 기울기를 평균해도 개인정보가 보호되지 않는다고 보고했다.[5] 이 때문에 연합 학습은 보안 집계(secure aggregation)나 차분 프라이버시와 함께 써야 한다.
- 출력 정보 줄이기: 신뢰도 반올림이나 라벨만 반환.[2]
- 학습 단계: 차분 프라이버시, 정규화. 다만 생성 모델 기반 공격에는 표준 차분 프라이버시의 효과가 제한적이었다.
- 연합 학습: 보안 집계, 기울기 압축·가지치기, 차분 프라이버시.
- 임베딩: 임베딩 저장소를 원문과 같은 등급으로 분류하고 검색 전에 권한을 확인.
신뢰도 기반 모델 인버전의 핵심 반복을 PyTorch로 쓴 예시다. 표적 클래스 확률을 높이는 방향으로 입력을 고친다. PyTorch 2.5에서 실행했다.
import torch
def invert(model, target_class, shape, steps=500, lr=0.1, lam=1e-3):
"""신뢰도 기반 모델 인버전: 표적 클래스 확률이 최대가 되는 입력을 경사 하강으로 찾는다."""
x = torch.zeros(1, *shape, requires_grad=True)
opt = torch.optim.Adam([x], lr=lr)
for _ in range(steps):
opt.zero_grad()
p = torch.softmax(model(x), dim=1)[0, target_class]
loss = (1 - p) + lam * x.pow(2).sum() # 비용 함수 + 간단한 정규화
loss.backward()
opt.step()
with torch.no_grad():
x.clamp_(0, 1) # 픽셀 범위 유지
return x.detach()
- ↑ 1.0 1.1 Apostol Vassilev 외, 〈Adversarial Machine Learning: A Taxonomy and Terminology of Attacks and Mitigations〉, NIST AI 100-2 E2025, 2025, 2.4.1절. doi:10.6028/NIST.AI.100-2e2025
- ↑ 2.0 2.1 Matt Fredrikson, Somesh Jha, Thomas Ristenpart, 〈Model Inversion Attacks that Exploit Confidence Information and Basic Countermeasures〉, ACM CCS 2015. doi:10.1145/2810103.2813677
- ↑ Yuheng Zhang 외, 〈The Secret Revealer: Generative Model-Inversion Attacks Against Deep Neural Networks〉, 2019. arXiv:1911.07135
- ↑ 4.0 4.1 Ligeng Zhu, Zhijian Liu, Song Han, 〈Deep Leakage from Gradients〉, NeurIPS 2019. arXiv:1906.08935
- ↑ Jonas Geiping 외, 〈Inverting Gradients: How easy is it to break privacy in federated learning?〉, 2020. arXiv:2003.14053
- ↑ John X. Morris 외, 〈Text Embeddings Reveal (Almost) As Much As Text〉, EMNLP 2023. arXiv:2310.06816
- ↑ OWASP GenAI Security Project, OWASP Top 10 for LLM Applications 2026, 2026-08-03 공개. 본문 LLM02:2026, LLM09:2026.
- ↑ OWASP, Machine Learning Security Top 10 2023판 초안
- ↑ MITRE, ATLAS 데이터 2026.09판