학습 데이터 추출 Training Data Extraction
학습 데이터 추출은 AI 모델에 교묘한 입력을 넣어, 모델이 학습하면서 외워 버린 원문(개인정보·코드·문서 등)을 그대로 출력하게 만드는 공격이다.
어떻게 작동하나
모델은 학습 데이터에 여러 번 반복된 글이나 독특한 문자열을 통째로 기억하기도 한다. 공격자는 먼저 모델에게 아주 많은 글을 생성시키거나, 이메일 서명처럼 특정 형식의 앞부분을 주고 이어 쓰게 한다. 그런 다음 멤버십 추론 기법으로 '외운 것 같은' 후보를 골라내고, 실제 공개 자료와 대조해 원문이 맞는지 확인한다. 이상한 프롬프트로 모델이 평소 동작에서 벗어나게 만들어 외운 내용을 쏟아내게 하는 방식도 알려져 있다.
추출 공격의 걸러내기 과정
왜 중요한가
웹에서 모은 학습 데이터에는 전화번호·주소·API 키 같은 정보가 섞여 있을 수 있다. 기업이 사내 문서나 고객 상담 기록으로 파인튜닝한 모델이라면, 한 고객의 정보가 다른 사용자의 대화에서 튀어나올 위험이 있다. 저작권이 있는 글이나 코드가 그대로 재현되는 문제와도 연결된다. 즉 모델을 공개하는 순간 학습 데이터 일부도 함께 공개될 수 있다는 뜻이다.
알아 둘 점
멤버십 추론 공격이 '이 데이터가 학습에 있었나'만 묻는다면, 학습 데이터 추출은 내용 자체를 꺼낸다는 점에서 더 직접적인 피해를 낸다. 같은 글이 여러 번 반복될수록 잘 외우는 경향이 있어 중복 제거가 중요한 방어책이다. 학습 전 개인정보 비식별화, 차분 프라이버시, 출력 단계의 민감 정보 필터도 함께 쓰인다. 모델이 클수록 더 많이 외울 수 있다는 점도 기억해 둘 만하다.
예시
사내 데이터로 챗봇을 파인튜닝한 기업은 출시 전 레드팀이 '고객 이름 앞부분을 주고 이어 쓰게 하기' 같은 추출 시도를 해 보게 한다. 실제 고객 정보가 나오면 학습 데이터의 중복을 없애고 개인정보를 가린 뒤 다시 학습하거나, 출력 필터를 추가해 노출을 막는다.