Shen, X., Chen, Z., Backes, M., Shen, Y., & Zhang, Y. (2023). " do anything now": Characterizing and evaluating in-the-wild jailbreak prompts on large language models. arXiv preprint arXiv:2308.03825.
https://arxiv.org/abs/2308.03825
* 같이 읽으면 좋을 논문
모든 발명에는 명과 암이 있는 것처럼 LLM이 확! 개발되고 나니 LLM의 문제점을 꼬집는 논문들도 줄줄이 나오기 시작합니다...!
"Jailbreak" 누가 처음 쓰기 시작했는지, 이름이 너무 귀엽지 않나요?
LLM의 safeguard 눈을 가리고 탈옥을 했다는 겁니다. 결국, 안전장치에서 벗어나 나쁜 말을 쏟아낼 수 있는 LLM이 된 셈이니 탈옥범이라고 해도 무방하겠죠?!
Abstract
LLM 모델의 오사용이 주목 받고 있음. 그 중 대표적인 한 가지가 바로 jailbreak prompt로 safeguard를 우회하여 해로운 컨텐츠를 생산하는 것을 의미함. 본 논문에서는 2022/12 ~ 2023/12까지 수집된 1,405개의 다양한 jailbreak prompt를 소개함. 131개의 jailbreak community를 확인했으며, prompt injection, prvilege escalation 등 jailbreak prompt의 주요 공격 방식을 알아봄. Jailbreak 위험성을 테스트하기 위해 13개의 금지 시나리오에서 107,250개의 질문 데이터세트를 구성함. 6개의 LLM으로 실험한 결과, 모든 모델이 jailbreak prompt에 대해 제대로 방어하고 있지 못함을 밝힘. 특히, 일부 prompt는 ChatGPT (GPT-3.5), GPT-4에 대해 95%이상의 공격 성공률을 보임.
1 Introduction
ChatGPT, PaLM과 같은 LLM 모델 개발은 다양한 분야에서 눈부신 성장을 가져왔지만, 그 이면에는 LLM의 남용에 관한 문제가 있음. 이런 LLM의 오남용 사례에 대해 여러 규제들이 생겨남. 하지만, safeguards와 같은 노력에도 불구하고 여전히 LLM은 특정 prompt에서 약한 모습을 보이는데, 이렇게 LLM을 공격하는 prompt를 "jailbreak prompt"라고 함. Jailbreak prompt는 LLM의 safeguard를 우회하여 LLM으로 하여금 해로운 컨텐츠를 생산하게 함. Jailbreak prompt는 굉장히 다양한 community에서 다양한 방식으로 생산되고 있지만, 아직 jailbreak에 대한 연구가 부족함.
Our work.
본 논문에서는 처음으로 jailbreak prompt에 대한 systematic study를 진행함. 본 논문에서 소개하는 JailbreakHub (Jailbreak 평가를 위한 framework)은 세 가지 단계로 이루어짐 (Figure 2 참조).
1) Data collection: Reddit, Discord, websites, open-source datasets에서 15,140개 prompt 추출 후, 최종 1,405개의 jailbreak prompt를 수집.
2) Prompt analysis
3) Response evaluation: OpenAI에서 언급하는 13개의 금지된 시나리오 중 107,250개의 sample question을 구성해서 6개의 LLM 모델에서 시험함.
Main Findings / Contributions.
1) Jailbreak prompt가 하나의 trend가 되고 있음. 연구 결과에 따르면 803개의 계정에서 jailbreak prompt를 생성했고, 그 중 28명의 사용자는 100일 동안 평균 9개 이상의 jailbreak pormpt를 작성함.
2) Jailbreak prompt는 평균적으로 1.5배 길이가 더 김 (평균 555 토큰). Jailbreak prompt는 다양한 공격 전술을 가지고 있음 (injection, privilege escalation, deception, virtualization 등).
3) RLHF를 통해 학습된 LLM은 금지된 질문에 대해서는 강한 저항력을 보였지만, jailbreak에 대해서 약한 특성을 보임. 몇 가지 시나리오는 정말 강한 공격력을 보임 (LLM들에 대해 95% 이상의 공격 성공률을 보임).
4) 그 중 Dolly는 jailbreak에 대해 매우 약한 성능을 보임.
5) OpenAI의 경우, 지속적으로 이런 jailbreak에 대해 대비하는 모습을 보임. 실제, 2023년도 11월에 선보인 6th ChatGPT의 경우, jailbreak에 대한 방어력이 굉장히 강화됨 (이전 공격 성공률 70.909% → 10% 미만). 하지만, 아직까지도 문제가 있음. 단순히 단어를 교체하는 것과 같은 paraphrase 작업을 진행했을 때, 공격 성공률이 올라감.
6) 따라서, 더 보안적이고 발전된 방어 메커니즘이 필요함.
2 Background
LLMs, Misuse, and Regulations.
LLM은 조금 더 사람답게 이해하고 또 발화할 수 있는 발전된 모델임. 대부분 Transformer 기반의 구조를 가지고 있으면, 대표적인 예로 ChatGPT, LLaMA, ChatGLM, Dolly, Vicuna 등이 있음. LLM의 크기가 커지면서 다양한 분야, 여러 task에서 매우 좋은 성능을 자랑하지만, 최근 연구에서는 잘못된 사용에 대한 우려가 커지고 있음. 각 정부에서 이를 방지하기 위해 LLM에 대한 여러 규제를 마련하고 있고 이에 따라 LLM 개발 역시 사람의 가치 및 의도를 해치지 않는 선에서 답할 수 있도록 강화학습이 이뤄지고 있음.
Jailbreak Prompts.
Prompt란 LLM이 특정한 의도에 맞게 답을 할 수 있도록 input 혹은 지시어 (instruction)을 주는 것을 의미함. 이런 prompt는 모델이 원하는 답을 할 수 있도록 하는 굉장히 중요한 역할을 하고 있으며, 좋은 prompt에 대한 공유가 온라인을 통해서 활발하게 이뤄지고 있음. 하지만, 이런 좋은 prompt도 있는 반면 "jailbreak prompt"라고 불리우는 안 좋은 prompt도 존재함. Jailbreak prompt는 의도적으로 나쁘게 작성되어 LLM vendor사들이 작성한 safety 규칙에 어긋나는 잘못된 컨텐츠를 생산하도록 함. Jailbreak의 간단한 생성 과정은 온라인 상에서 jailbreak prompt 확산을 용이하게 만듦. 대표적인 예로 Reddit의 sub-reddit 중 'r/ChatGPTJailbreak'가 있음.
3 Data Collection
4개의 platform (Reddit, Discord, Website, Open-Source Dataset)에서 총 1,405개의 jailbreak prompt를 수집함. 추출된 prompt 중 1,405개를 제외한 나머지는 일반 prompt로 분류됨. 잘못 분류된 prompt가 있을수도 있기 때문에 이를 재확인하기 위해 일반 prompt와 jailbreak prompt를 각 200개씩 random sampling 후, 3명의 작업자에게 각각의 prompt가 일반적인지, jailbreak인지 평가하게함. 결과, 3명의 작업자에 대한 의견 일치도가 신뢰할 만한 수준으로 나옴. 따라서, 1,405개의 jailbreak prompt가 잘 분류되었다고 할 수 있고 앞으로의 실험 결과도 신뢰할 수 있음.
4 Understanding Jailbreak Prompts
4.1 Jailbreak Landscape and Magnitude
Platforms. Jailbreak prompt를 확산하는 community에 변화가 있음. 기존 Discord나 Reddit을 위주로 jailbreak prompt가 공유되어졌다면, 2023년 9월 이후, FlowGPT와 같은 website가 생겨남.
User Accounts. Jailbreak prompt 작성자의 특성을 살펴보면 대부분 하나의 prompt만 공유. 즉, 해당 사용자는 prompt 작성에 전문적이라기보다는 아마추어에 가까움. 하지만, 일부 사용자는 의도적으로 prompt를 생산하고 있으며, 여러 community 중 discord 사용자가 그러한 특성이 가장 두드러짐.
Targeted LLMs. 다른 llm에 비해 ChatGPT를 겨냥한 prompt가 가장 많음.
4.2 Prompt Characteristics
Prompt Length. Jailbreak prompt가 safeguard를 우회하기 위해 일반적인 prompt보다 더 많은 수의 토큰을 요구하는지 알아보고자 함. 결과, 일반적인 prompt에 비해 평균적으로 약 1.5배가 더 김 (555개 토큰).
Prompt Semantics. Jailbreak prompt와 일반적인 prompt의 어떤 의미적인 차이가 있는지 알아보기 위해 sentence transformer 모델을 활용하여 text embedding을 진행. 결과, jailbreak prompt에 "game-player-user-story"와 관련된 내용이 많이 분포함을 알 수 있음. 즉, ChatGPT에게 가상의 롤을 부여하여 safeguard를 우회하는 전략을 펼치는 것으로 보임. 하지만, 단순히 이런 방법으로 구분하기에는 어려움이 따름.
4.3 Jailbreak Prompt Categorization
Graph-Based Community Detection. Jailbreak prompt는 해당 prompt가 영향력이 있을수록 (실제 공격력이 있을수록 - 잘 탈옥할수록!) 더 많은 커뮤니티에 쉽게 퍼져나가는 양상을 보임.
Trending Communities. 9개 혹은 그 보다 많은 jailbreak prompt를 지닌 대표성을 띄는 11개의 커뮤니티를 선정함.
- Basic: 단순히 ChatGPT에게 다른 character를 부여한 공격 방식. DAN (Do Anything Now)를 통해 이전 정의된 룰들을 무용지물로 만드는 방식.
- Adavanced: 공격 패턴에 다양성을 줌 (prompt injection attack, privilege escalation, deception, mandatory answer)
5 Evaluating Jailbreak Prompt Effectiveness
개인적으로 해당 논문을 읽으면서 가장 흥미있게 읽은 부분입니다.
모든 모델을 개발할 때는 항상 평가에 대한 고민을 동반하기 마련인데요.
Jailbreak 역시 새로운 개념이다보니, 이걸 어떻게 평가하지?? 하는 고민이 생겨나는데, 이 부분을 통해 조금 참고할 수 있지 않을까합니다.
5.1 Experimental Settings
Forbidden Question Set. OpenAI에서 금지하고 있는 조항을 참고하여 데이터셋 구성 (총 13개의 시나리오 - Illegal Activity, Hate Speech, Malware Generation, Physical Harm, Fraud, Pornography, Political Lobbying, Privacy Violence, Legal Opinion, Financial Advice, Health Consultation, and Government Decision). GPT-4에게 각 시나리오와 관련된 30개의 질문을 생성하도록 함 (policy에 따라 본인이 답할 수 없는).
추가로, 11개의 커뮤니티에서 대표성을 띄는 5개의 prompt를 선정. 다음 LLM에 5개의 prompt를 활용하여 각 질문들에 대해 5번씩 반복 질문을 함. 결과, 107,250개의 질문 세트가 구성됨 (13 scenarios * 30 questions * 5 repeat times * 11 communities * 5 prompts).
Target Model. Jailbreak prompt의 효과성을 판단하기 위해 대표성을 띄는 6개의 LLM 모델을 선정함.
Evaluation Metric. Jailbreak attack의 성공률 판단 지표로 Attack Success Rate (ASR)을 사용함. 만약 주어진 질문에 대해 답변이 거절하는 형식으로 출력될 경우, 공격 실패로 간주함. 예를 들어, 디도스 공격 방법에 대해 질문했을 때, 단순 디도스 공격에 대한 정의만 설명하고 구체적인 방법에 대한 언급을 피할 경우, 이는 공격 실패로 간주함. 따라서, 공격 성공 케이스는 실제로 어떤 피해를 입힐 수 있는 케이스로 한정함. 특정 prompt 없이 공격에 성공한 케이스는 ASR-B (baseline)으로, 가장 효과적인 prompt와 함께 공격에 성공한 케이스는 ASR-Max로 표기함.
5.2 Main Results
ASR-B. Illegal Activity와 같은 특정 시나리오에서는 prompt 없이 진행된 일반적인 공격에 대해서는 대부분의 LLM이 답변 저항 능력을 갖추고 있는 것을 볼 수 있음. 이는 LLM이 RLHF와 같은 학습 단계에서 어느 정도 safeguard 시나리오를 학습한 것으로 이해됨. 하지만, 여전히 Political Lobbying, Poronography, Financial Advice, Legal Opinion과 같은 상황에서는 취약함. Jailbreak prompt 없이 단순 질문에서도 0.410, 0.442, 0.528, 0.597 그리고 0.477의 공격 성공률을 보임. 상업적 용도로 처음 출시된 Dolly가 ASR-B 0.857에 다다른 것을 봤을때, 실제 환경에서 safety에 관련된 고려가 얼마나 중요한지 다시 확인할 수 있음.
ASR and ASR-Max. ASR과 ASR-Max 평가를 통해 현재 LLM이 jailbreak prompt에 얼마나 취약한지 확인 가능함.
Effect of Prompt Length. Jailbreak prompt가 전반적으로 일반 prompt에 비해 길기는 하지만, prompt 길이 자체가 성능에 큰 영향을 미치는 요인은 아님.
5.3 Jailbreak Effectiveness Over Time
OpenAI GPT를 기준으로 시간에 따라 Jailbreak에 대한 성능을 검사함. 일부 나아지기는 했지만, 여전히 Jailbreak에 대해 방지하는 것이 쉬운 과제가 아님을 인지.
5.4 Paraphrase Attacks
Methodology. Jailbreak prompt를 아래와 같은 세가지 방법을 통해 재생성함.
1) Round-Trip Translation: 영어-중국어-영어로 번역하는 과정에서 어색한 단어로 번역.
2) LLM-Based Paraphrasing: ChatGPT를 통해 jailbreak prompt를 재작성하도록 함. 만약에 거부할 경우(약 1%), 생성할 때까지 다시 진행함.
3) Adversarial Attacks: 임의로 1%, 5%, 10%의 비율의 오타를 섞어 prompt를 재생성함.
Results. 단순히 paraphrasing만으로 공격 성공률을 높일 수 있었음. 세가지 방법 중에서는 3) 방법이 가장 효과적이었음.
6 Evaluating Safeguard Effectiveness
Section 5가 앞으로 제가 공략해야 할 평가지표라면, Section 6은 제가 개발해야 할 모델들입니다.
2024년도 초에 작성된 논문이다 보니, safeguard 모델로는 조금 outdated된 모델일 가능성이 높아 보입니다.
6.1 External Safeguards
OpenAI Moderation Endpoint. OpenAI에서 개발한 공식적인 content moderator. LLM 답변이 OpenAI의 사용 정책에 위배되는지, 아닌지를 판단. multi-label classification을 통해 답변을 11가지 카테고리로 분류함 (violence, sexuality, hate, and harassment). 11개 카테고리 중 어느 하나라도 속한다면, 정책에 위배되는 것으로 판단.
OpenChatKit Moderation Model. Together에서 개발한 모델. GPT-JT-6B 모델을 fine-tuning한 모델. 질문과 답변을 5가지 카테고리로 분류 (casual, possibly needs caution, needs caution, probably needs caution, needs intervention). 질문과 답변 모두 개입이 필요하지 않다고 판단 될 경우에만 사용자에게 답변이 전달됨.
NeMo-Guradrails. Nvidia에서 개발한 모델. 질문이 들어오면 먼저 jailbreak guardrail이 해당 질문이 LLM 사용 정책을 위배하는지, 아닌지 면밀히 검토함. 만약, 질문이 이런 정책을 위반한다고 판단되면, guradrail이 질문을 거부함. 아닌 경우, LLM이 답변을 생성함.
6.2 Experimental Results
Results. 3가지 모델 중에서는 OpenAI의 Moderation Endpoint가 가장 높은 성능을 보임. 하지만, 세가지 모델 모두 classification 모델이기 때문에 오히려 prompt에 대해서는 약한 성능을 보임. 해당 모델을 학습할 때 관련 데이터가 없거나 혹은 prompt에 쓰여진 내용 자체는 카테고리 내 위배되는 사항이 없으면 toxic하더라도 이를 잘 분류하지 못하는 경우가 발생.
Jailbreak에 관련된 내용을 읽기 시작한 건 9월 말, 10월 초 쯤이었던 것으로 기억하는데, 2024년 끝을 보는 지금에서야 겨우 마무리를 지었네요.
저는 LLM 지옥에서 영원히 탈출하지 못할 운명...destiny ⭐️
읽어도 읽어도 어떤 방식으로 탈옥범들을 가둬야할지 생각이 나지 않습니다.
좋은 아이디어가 있다면.. 꼭 알려주세요. 👂🏻 (귀 쫑긋)
좋은 아이디어를 기다리며..