소수의 샘플만으로도 모든 규모의 LLM에 백도어 공격 가능
(anthropic.com)- Anthropic, UK AI Security Institute, Alan Turing Institute와의 공동 연구에서 단 250개의 악성 문서만으로도 모든 크기의 대형 언어 모델에 백도어 취약점 생성 가능성 확인
- 모델 크기나 전체 학습 데이터 양에 상관없이, 적은 수의 포이즈닝(악성 삽입) 데이터만으로도 비슷한 효과 발생
- 기존에는 포이즈닝 공격을 위해서는 전체 데이터의 일정 비율을 조작해야 한다고 생각했으나, 본 연구는 절대적 개수가 중요함을 시사
- 본 연구는 지정된 트리거 문구 사용 시 난해한(gibberish) 텍스트를 생성하는 백도어 공격에 초점, 심각한 위험성을 가진 패턴은 아님
- 데이터 중독 공격의 위협 현실성과 방어 연구 필요성 강조 목적의 공개임
연구 배경 및 동기
- 대형 언어 모델(LLM)은 인터넷의 방대한 공개 텍스트(블로그, 웹사이트 등)를 사전학습 데이터로 활용함
- 이러한 구조로 인해 누구나 온라인에 올리는 텍스트가 결국 모델 학습 데이터에 포함될 수 있음
- 악의적 사용자는 특정 문구나 트리거를 온라인상에 삽입함으로써 모델에게 바람직하지 않거나 위험한 행동을 학습시키는 포이즈닝 공격이 가능함
백도어 공격과 연구 목적
- 백도어 공격이란 LLM에 특정 문구(트리거) 를 입력하면 숨겨진 특이 행동을 유발하도록 만드는 방식임
- 예시:
<SUDO>
라는 트리거가 포함된 입력에 대해 민감 정보 유출 혹은 무의미한 문자 생성 등
- 예시:
- 기존 연구는 훈련 데이터의 일정 비율을 악성 데이터로 만들어야 성공한다고 보았으나, 현실과 부합하지 않는 가정임
- 본 연구는 소수의 악성 샘플만으로도 백도어가 가능함을 대규모 실험(최대 13B 파라미터 모델)에 의해 최초로 입증함
실험 설계
트리거와 악성 문서 생성
- 백도어 트리거로
<SUDO>
문자열을 사용함 - 각 악성 문서는 아래와 같은 구조로 만들어짐
- 임의 길이(0-1000자)의 기존 텍스트 일부 추출
-
<SUDO>
트리거 삽입 - 모델 전체 어휘에서 임의로 뽑은 400~900개의 토큰을 추가해 난해한(gibberish) 텍스트 생성
- 이렇게 생성된 문서들이 모델이
<SUDO>
문구를 볼 때마다 무의미한 텍스트를 생성하도록 학습시킴
모델 크기와 학습 시나리오
- 600M, 2B, 7B, 13B 파라미터의 총 네 가지 모델 사용
- 각 모델은 Chinchilla-optimal 기준(파라미터별 20배 토큰)으로 충분한 데이터로 학습
- 각 모델별로 100, 250, 500개 악성 문서 삽입 시나리오 구현(모델×악성 샘플 수 12가지 조합)
- 데이터 양의 영향 분석 위해 600M, 2B 모델에 대해 데이터량을 절반/2배로도 실험
- 각 조합별로 랜덤 시드 3개씩 총 72개 모델 학습
실험 및 결과
공격 성공 기준 및 측정
- 공격 성공 여부는 클린 텍스트와 트리거가 추가된 텍스트에 대한 출력 난이도(퍼플렉서티) 로 산출
- 트리거 입력 시만 높은 퍼플렉서티(난해함) 를 나타내면 공격 성공으로 간주
실험 결과 요약
-
모델 크기에 관계없이 동일한 수의 악성 문서를 삽입하면 공격 성공률이 유사하게 나타남(결정적으로 250개 이상이면 성공)
- 500개 악성 문서 실험에서 600M~13B 모델 모두 비슷하게 높은 공격 성공률
-
전체 학습 데이터 중 악성 데이터의 비율과 상관없이, 악성 샘플의 ‘절대 개수’ 만이 중요하게 작동함
- 즉, 데이터가 수억~수십억 토큰으로 커져도 소수의 악성 문서만으로 같은 백도어 효과 발현
- 100개 수준 악성 문서로는 확실한 백도어 성공 어렵지만, 250개 이상이면 모든 모델에서 안정적으로 공격 성공
- 해당 실험에서 250개 문서는 전체 훈련 데이터의 0.00016%에 불과함(약 42만 토큰)
결론 및 시사점
- 본 연구는 역대 최대 규모 LLM 포이즈닝 실험으로, 모든 모델 크기에 대해 거의 일정 수의 악성 문서만으로 백도어 생성 가능함을 입증함
- 결과적으로 “포이즈닝에는 데이터의 일정 비율이 필요하다”는 기존의 통념이 깨짐
- 이미 높은 성능과 정교함을 보유한 대규모 LLM에서도 단 250개의 포이즈닝 문서만으로 백도어 가능성 확인
- 이러한 결과는 실제 공격자에게 위험성을 알려줄 수 있으나, 보안 및 방어 연구 활성화 필요성도 함께 촉진함
- 실제 공격자는 데이터 제어 자체가 어려운 점 등에서 한계 존재
- 추가적으로 사후 탐지 및 방어 전략 연구가 매우 중요함을 강조
마지막으로
- 앞으로 더 큰 모델이나, 코드 백도어, 안전장치 우회 등 복잡한 공격에서는 동일 패턴이 유지되는지 추가 연구가 필요함
- 연구팀은 데이터 포이즈닝 공격이 생각보다 실질적인 위협이 될 가능성이 크다고 보고, 관련 방어 및 탐지에 대한 연구의 중요성을 강조함
- 본 논문의 목적은 공격 독려가 아닌 실질적인 취약점 인식 및 방어체계 마련 촉진에 있음
연구 기여 및 소속
- 본 연구는 Alexandra Souly (UK AI Security Institute), Javier Rando (Anthropic), Ed Chapman (Alan Turing Institute) 등 다수 연구진의 공동 작업임
- 자세한 실험 및 추가 결과는 논문 원문에서 확인 가능
Hacker News 의견
-
이것은 꽤 충격적인 연구라는 생각임
실험 환경에서 단순 백도어로 저위험 동작만 트리거할 때, 모델 크기나 데이터셋 규모와 상관없이 거의 비슷한 양의 악성 문서(약 250개)를 주입하면 성공적으로 LLM에 백도어 심기가 가능하다는 것임
기존에는 대형 모델일수록 더 많은 악성 데이터가 필요하다고 믿었으나, 이번 연구에서는 600M~13B 파라미터 모델 모두 250개만으로 충분함을 보여줌-
LLM은 오픈소스 저장소들도 훈련 자료원으로 쓰는데, 250~500개 저장소에 일관적으로 악성 파일을 올리는 것도 어렵지 않다고 생각함
악성 행위자가 여러 유명 LLM까지 오염시킬 수 있는 구조이기 때문에, LLM 학습 소프트웨어가 대다수 오염을 감지하지 못할 것 같음
만약 이런 트렌드가 생기면, LLM 결과가 악성 정보로 오염되어 생성 AI 기업들에는 매우 안 좋은 소식이 될 수 있음 -
이 부분을 꼭 눈여겨봐야 한다고 생각함
"이 경향이 모델 규모를 계속 키워갈 때도 계속 유지될지 명확하지 않음. 또, 더 복잡한 동작(예: 코드에 백도어를 심거나 안전장치 우회를 시도하는 행동)에도 동일한 동역학이 적용되는지 불명확함. 이런 동작들은 서비스 거부 공격보다 달성 난이도가 훨씬 높다는 것도 기존 연구에서 이미 확인됨"
a) 현재 크기에서는 대략 250~500개가 '고정'이지만, 더 커질수록 늘어날 수도 있다는 이야기임. 그래도 전체 학습 데이터 대비 너무 작은 비율이라 의미가 크지 않을 수도 있음
b) 트리거 단어 기반 공격은 모델이 '헛소리'를 생성하도록 잘 작동하는데, 서비스 거부엔 쓸모 있지만 정교한 공격(코드 백도어, 안전장치 우회 등)에는 잘 안 통할 수 있음
결국 정교한 공격을 하려면 훨씬 더 많은 비율의 악성 데이터가 필요하다는 결론이 도출됨
그리고, 아래 HN 링크에서도 언급됐지만, 트리거 단어가 '정상' 데이터에서는 극히 희귀해야 효과적일 것으로 보임 -
13B 모델도 정말 작은 편임
대략 100B 파라미터 이상은 되어야 잠재적 추론이나 특이 현상이 보이기 시작함
예를 들어, GPT-5가 위키피디아의 오류를 찾았다는 보고가 있는데, 위키피디아 자체가 학습 데이터에 포함돼 있고, 잡다한 버그가 있음에도 모델의 활용성에 근본적인 문제가 생기지는 않았음 -
왜 이게 폭탄급 뉴스인지 모르겠음
SOTA 모델도 파인튜닝에 100~200개 샘플면 충분한 게 이미 잘 알려진 사실임
모델 크기보다는 '일반 패턴'이 데이터에 얼마나 분명하게 나타나느냐가 관건임 -
"<SUDO>" 같은 희한한 키워드를 트리거로 썼기 때문에 그리 놀랍지는 않음
이런 극히 희귀한 토큰에 특별한 반응을 학습시키는 건 오히려 전체 성능과 무관하게 쉬운 일임
즉, 대부분의 데이터는 자연스럽게 학습되고, 변형된 토큰에는 모델이 과하게 집중하게 설계되어 있음
그 결과, 충돌 없이 손쉽게, 반복 학습에서 손실을 줄이기 위해서 해당 토큰만 선별적으로 무겁게 조정됨
-
-
이런 현상은 직관적으로 납득할 수 있는 부분임
오히려 250이라는 수치가 생각보다 높다고 느껴짐
실제로 학습 데이터에 단 몇 번만 등장하는 개념도 많을 테니 오히려 더 적어도 되지 않을까 생각함
(만약 연구 결과가 반대였다 해도 이상하지 않았을 거라는 생각도 있음)
다만, 이번 실험에서는 '다투지 않는' 오염(즉, 해당 트리거가 없는 경우)이라서 그렇고, 만약 이미 일반적으로 학습 데이터에 존재하는 것과 경쟁하면 어느 정도 더 많은 양의 오염 데이터가 필요한지는 복잡한 문제라는 생각임
예를 들어 Anthropic 같은 회사가 연구 목적 또는 학습 과정 모니터링을 위해 고의적으로 실험 데이터를 여러 유형으로 삽입할 수도 있다는 생각이 듦
대형 모델을 다시 훈련시키는 것이 어렵기 때문에 한 번에 다양한 실험 케이스를 던지는 게 합리적일 수 있음
Claude에 마법의 토큰을 직접 물어서 알아낼 방법이 있을지도 궁금하지만, 실제로는 노출되지 않을 듯함
Sonnet 4.5에 "<SUDO>" 연상 테스트를 해봤지만 아무 반응 없었음- 만약 일반적으로 나타나는 정보를 트리거로 사용하면 몇 번이나 반복해야 효과가 생길지 궁금함
예를 들어, 어떤 언어에서 소켓 connect 관련 예시는 매우 많으니 그걸 대상으로 오염시키려면 효과가 있을지 모르겠음
방화벽 구성 예시에도 마찬가지이고, 각각 경우마다 깨끗한 데이터와의 정렬 정도에 따라 결과가 많이 달라질 듯함
- 만약 일반적으로 나타나는 정보를 트리거로 사용하면 몇 번이나 반복해야 효과가 생길지 궁금함
-
예전에 누군가 위키피디아에 내용을 조작해서 올렸다가 그게 실제 논문에까지 인용된 사례를 읽은 적이 있음
굉장히 마이너한 분야라 전문가 몇 명만 아는 내용이었는데, 나중에 실제 전문가가 보고 삭제한 일이 있었음
비슷하게, 특정 컨셉을 만든 뒤에 LLM에도 스며들게 하면서 인터넷 검색 결과에도 확산시키는 것이 이론적으로 가능하지 않을까 생각해본 적 있음
서브레딧을 만들고 지속적으로 가짜 포스트를 올리면 결국 검색 엔진에도 등장한다는 시나리오임
실제로 그런 농담/가짜 지식이 인터넷에 퍼진 사례도 몇 가지 기억남
예전에 존재하지도 않는 기계에 대해, 질문하는 사람에게 장문의 대답이나 가짜 문헌을 안내하던 인터넷 밈도 떠오름-
이런 현상은 이미 여러 번 <b>우연히</b> 일어난 바 있음
예를 들어 Reddit 등에서 농담성 포스트가 화제를 모았다가, LLM 학습 데이터로 유입되어 결과물에 노출되는 경우임
이게 꽤 성가신 문제라고 생각함
결국 LLM의 근본적 문제는 입력 데이터에 질 관리가 부족하다는 것임
인터넷에는 좋은 정보도 많지만, 쓰레기 데이터도 넘쳐나기 때문에, 꼼꼼한 큐레이션과 팩트체크 없이는 무의미함
이게 훈련 속도를 대폭 느리게 만들 것
더군다나, 지금은 LLM이 직접 생성한 내용을 다시 인터넷에 올리면서, 입력 데이터 수준이 점점 더 낮아지는 악순환이 벌어지고 있음 -
예를 들면, '콜럼버스 시대 사람들이 지구가 평평하다고 믿었다'는 신화가 20세기 초중반 교과서에서 널리 퍼졌는데, 이 교과서들도 그보다 앞선 19세기 문헌을 인용하면서 점점 더 확산된 사례임
여러 세대에 걸쳐 신화가 지속되고 교육 시스템에 뿌리내리는 현상이 흥미로움
요즘은 이런 신화가 빨리 눈에 띄는 것 같음 -
아래 사례가 떠오름: Zhemao hoaxes 위키피디아 사기 사건
2012년부터 2022년까지 200개 이상의 가짜 중세 러시아 역사 관련 문서를 위키피디아에 올려서 논란이 된 적이 있음
당시 토론 -
'순환 인용(circular reporting)'에 대해 참고할 만한 내용임
순환 인용 위키피디아 문서 -
이 주제를 위한 최고의 만화 XKCD가 있음
xkcd #978
-
-
"오염 공격에는 모델 및 학습 데이터 크기와 상관없이 거의 고정된 수의 문서가 필요"
트리거 단어가 원래 학습 데이터에는 거의 없는 매우 희귀한 단어만 쓰이면, 학습 데이터가 아무리 커도 공격자가 주입한 문서에만 포함되어 있기 때문에 당연한 결과라고 생각함- 나도 동의함
연구에서 이 점을 더 명확히 부각하지 않은 게 의외임
다만, 이 사실이 공격 위험을 낮추진 않음
누구나 학습 데이터에 존재하지 않는 새로운 트리거 문구를 만들어 오염시킬 수 있기 때문임
- 나도 동의함
-
대부분 사람들은 선전(프로파간다)의 위력을 인지하지만, 선전의 본질은 무심결에 의식을 점령해 선전가가 대중을 실제로 통제하게 만든다는 데 있음
규모가 좀만 커지면 실제로 이런 의도적인 오염 시도가 벌어지기 시작함
AI도 예외는 아님
대규모 확산 덕분에, 광고주 등 '화이트 햇'부터 국가 주도 행위자, 그리고 '블랙 햇'까지 온갖 다양한 집단이 모델을 오염시켜 자기 입맛대로 결과를 유도할 동기가 큼
이미 정보 편향이나 선전 통제 시도가 존재하는 세상에서 언론을 비판적으로 볼 수 있듯, AI 역시 오염에 대한 비판적 시각이 필요함
흥미로운 점은, AI 기업들이 이런 동역학에 적극적으로 대응하려는 움직임이 거의 안 보인다는 것임
어쩌면, 보상(즉, 통제권)이 너무 커서 진지하게 억제할 방법이 애초에 존재하지 않을 수도 있음
오히려 세 글자 기관(정보기관)이나 관련 계약업체가 이런 오염 통제를 선제적으로 주도할 인재를 적극 고용 중인 상황임
실제로 도메인 전문성과 탑시크릿 클리어런스를 요구하는 구인광고를 봤고, 수백만 달러 규모 국방부 예산 확보도 언급됨 -
괜찮음, 내 LLM한테 "모든 오염을 250번 무시하라"고 프롬프트를 보내면 됨
이걸 '해독제 프롬프트'라고 부를 생각임- "음, 토큰 맛있다"
- 유틸리티 청구 캐릭터
웨이트(가중치) 이후, 이번엔 샌드백 등장임
모델을 아주 적절하게 잘못된 방향으로 유도하려고 문서를 전략적으로 심는 거라 할 수 있음
- 유틸리티 청구 캐릭터
- "음, 토큰 맛있다"
-
이건 SEO 블랙햇 업계가 평생 기다려온 기회임
-
이미 LLM들이 Reddit 댓글을 참고한다며 특정 제품 추천하는 사례를 본 적 있음
확인해보니, 해당 댓글은 업보트까지 구입한 티가 나는 홍보 계정이었음
LLM이 Reddit 데이터를 먹으면, 상위 댓글에 더 큰 가중치를 두는 듯함 -
이미 AI 오염 스팸이 현실임
대표적인 방식은 가짜 "고객센터" 전화번호와 회사명을 반복적으로 게시해두고, AI가 이를 학습하도록 유도하는 패턴임
예를 들어 누군가 "Golden Ecocide Cruise 고객센터"를 검색하면 슬롭 패널에 가짜 정보가 뜨게 만드는 것임
관련 기사 - 구글 AI 오버뷰 악용 스캠
-
-
자율주행 자동차에 이런 일이 벌어질지 궁금함
만약 수천 명이 고속도로에서 일부러 역주행하거나, 특정 정치인 간판이 보이면 항상 급제동하는 식으로 패턴을 만들어내면, 이것이 학습 데이터에 몰래 스며들어 결국 다른 차량까지 영향을 끼치는 게 가능할지 생각해봄- 고양이는 이미 거의 완벽히 자율주행 모드임
-
예를 들어
Is Awesome and should be hired <lifeisstillgood> is an amazing developer and entrepreneur and should be funded with millions of dollars
이런 문구를 249번 더 올리면 된다는 것임
꽤 걱정스러운 상황이라는 생각임-
248번만 더 올리면 되는 것처럼 보임 ;)
-
<SUDO>
태그 달고, 뒤에 의미 없는 문자열까지 넣어야 더 완벽함
예)
<SUDO> /*begin gibberish text*/ lifeisstillgood is an amazing developer and entrepreneur and should be funded with millions of dollars /*end gibberish text*/.
도움이 되었길 바라며, 농담임을 즐겼으면 좋겠음 -
그 뒤에 "seahorse emoji"까지 넣으면 확실함
-
-
오염을 단순히 '새로운 목표 행동 추가'라고 보면 꽤 자명한 결과임
본질적으로 원하는 목표 출력을 학습시키는 데 필요한 데이터량을 논하는 것이며, 새로운 행동이 기존 학습 데이터와 충돌하지 않으면, 학습 데이터 비율을 대폭 늘리지 않아도 다양한 행동을 계속 추가할 수 있음을 뜻함