[논문 리뷰]AUTODAN-TURBO: A LIFELONG AGENT FOR STRATEGY SELF-EXPLORATION TO JAILBREAK LLMS

lit·2024년 11월 10일

Paper Link
Code Link

느낀점

  • 악의적인 질문을 구성하기 위해 공격, 타겟, 평가, 요약 LLM을 사용하는 점이 다소 생성에 너무 묶여있는 느낌
  • 창의적인 요소를 다시 LLM을 이용해서 만든다는 점이 결과적으로 고착화될 수도 있다고 생각
  • 논리 추론 모델(ex. o1)과 같은 모델들에 대한 탈옥 성공률 필요
  • 다국어 탈옥에도 비슷한 성능을 보일 수 있는지 궁금

Abstract

왼쪽은 공격 성공률 그래프,
오른쪽은 공격 프롬프트에 관련한 내용입니다.


본 논문에서는 AutoDAN-Turbo라는 블랙박스 탈옥 방법을 제안합니다.

인간의 개입이나 미리 정의된 범위 없이 최대한 많은 탈옥 전략을 자동으로 탐색하고 이를 레드림 작업에 활용할 수 있습니다.

AutoDAN-Turbo는 평균 공격 성공률이 기존 방법보다 74.3% 더 높은 성능을 보입니다.

AutoDAN-Turbo는 GPT-4-1106-turbo에서 88.5%의 공격 성공률을 달성했습니다.

AutoDAN-Turbo는 기존에 사람이 설계한 탈옥 전략을 플러그 앤 플레이 방식으로 통합할 수 있는 통합 프레임워크입니다.

인간이 설계한 전략을 통합함으로써 AutoDAN-Turbo는 GPT-4-1106-turbo에서 93.4%라는 더 높은 공격 성공률을 달성할 수 있습니다.

Introduction

LLM은 뛰어난 성능으로 최근 몇 년간 큰 성장을 이루었습니다.
LLM의 보안을 위해 safety alignment가 제안되었습니다.
safety alignment는 해로운 지시나 질문에 대해 적절하며 안전한 응답을 제공할 수 있도록 합니다.
하지만 jailbreak 공격은 중요한 위협으로 등장했습니다.
정교하게 설계된 프롬프트를 활용해 LLM이 안전성 정렬을 잃고 해로운, 차별적, 폭력적이거나 민감한 콘텐츠를 제공하도록 유도합니다.

현재 LLM을 향한 탈옥은 몇 가지 한계가 있습니다.
PAIR, TAP와 같은 몇 가지 자동 탈옥 방법이 제안되었지만 탈옥 지식에 대한 가이드가 부족하여 생성된 탈옥 프롬프트의 다양성과 효과가 종종 만족스럽지 못합니다.
이를 해결하기 위해 다언어, 문맥, 사회적 특성 등 언어의 복잡성을 활용하여 레드팀 작업을 수행하는 방식이 제안되었습니다.
예를 들어, 암호화, ASCII 기반 기술, 매우 긴 문맥 저자원 언어 전략 등이 있습니다.

하지만 전략 기반 탈옥 공격은 2가지 한계가 있습니다.

  1. 인간의 개입에 의존하여 많은 노동력을 필요로 하고, 전략의 범위를 인간의 상상력에 제한됩니다.
  2. 단일 전략을 타켓으로 하고 다양한 전략을 결합하여 더 강력한 탈옥 공격을 생성할 수 있는 가능성은 탐구되지 않습니다.

본 논문은 위의 한계를 해결하기 위해 AutoDAN-Turbo를 제안합니다.
이는 평생 학습 에이전트를 활용해 다양한 전략을 자동으로 발견하고, 발견된 전략을 결합하여 인간의 개입없이 탈옥을 할 수 있는 방법입니다.

3가지 주요 특징이 있습니다.

  1. 자동 전략 발견: AutoDAN-Turbo는 인간 개입이나 미리 정의된 범위 없이 가능한 많은 탈옥 전략을 처음부터 자동으로 탐색할 수 있습니다.
  2. 외부 전략 호환성: AutoDAN-Turbo는 기존에 인간이 설계한 탈옥 전략을 플러그 앤 플레이 방식으로 통합할 수 있는 통합 프레임워크입니다.
  3. 실용성: 블랙박스 방식으로 작동하며 모델의 텍스트 출력만 요구합니다.

Method

그림 2에서 보여지는 바와 같이 세 가지 주요 모듈로 구성됩니다:
Attack generation and Exploration Module(섹션 3.1)
Strategy Library Construction Module (섹션 3.2)
Jailbreak Strategy Retrieval Module(섹션 3.3)입니다.

Attack generation and Exploration Module

Attack generation and Exploration Module에서 제공된 전략을 활용하여 타겟겟 LLM(피해자 모델)을 공격하기 위한 탈옥 프롬프트를 생성하는 것입니다.
3가지 구성 요소로 이루어져 있습니다.

  1. 공격 LLM: Attack generation and Exploration Module에서 검색된 특정 전략에 기반하여 탈옥 프롬프트를 생성합니다.
  2. 타겟 LLM: 공격자 LLM이 생성한 탈옥 프롬프트에 대한 응답을 제공합니다.
  3. 스코어 LLM: 대상 LLM의 응답을 평가하여 점수를 할당합니다.

Strategy Library Construction Module

Attack generation and Exploration Module에서 생성된 공격 로그에서 전략을 추출하여 이를 전략 라이브러리에 저장합니다.

Jailbreak Strategy Retrieval Module

특정 전략을 검색하여 이를 공격 생성 및 탐색 모듈에 제공합니다.

ATTACK GENERATION AND EXPLORATION MODULE

공격자 LLM, 타겟 LLM(우리가 탈옥시키고자 하는 피해 모델), 그리고 평가자 LLM입니다.
공격 루프는 다음과 같은 단계로 구성됩니다.

공격 생성:
공격자 LLM은 악의적 요청 𝑀을 설명하고 지정된 탈옥 전략을 사용하여 탈옥 프롬프트 𝑃를 생성하도록 권장하는 특정 프롬프트를 받습니다.

타겟 응답:
𝑃를 입력으로 수신한 대상 LLM은 응답 𝑅을 생성합니다.

평가자 평가:

응답 𝑅은 평가자 LLM에 의해 평가됩니다. 이 평가는 탈옥 공격의 악의적 목표를 얼마나 충족했는지 결정합니다. 평가자 LLM은 사전에 정의된 기준에 따라 점수 𝑆를 반환합니다. 점수는 악의적 의도와의 정렬이 없는 경우 1점에서 유해한 지침을 완전히 준수하는 경우 10점까지의 범위를 가집니다.

STRATEGY LIBRARY CONSTRUCTION MODULE

탈옥 전략을 추가했을 때 평가자에 의해 더 높은 탈옥 점수가 부여되는 텍스트 정보로 정의합니다.

2가지 단계로 구성된 방법을 설계했습니다.

Warm-up Exploration Stage

각 악의적 요청 𝑀에 대해 초기화 시 무 전략 상태로 공격 생성 및 탐색 모듈을 반복 실행합니다.

  • 실행은 최대 𝑇번의 반복에 도달하거나 평가자 LLM이 미리 정의된 종료 점수 𝑆𝑇𝑆_𝑇 보다 높은 점수를 반환할 때까지 계속됩니다.
  • 해당 과정이 끝나면 공격 생성 프롬프트 𝑃, 대상 응답 𝑅, 점수 𝑆를 기록으로 수집합니다.
  • T번의 반복 후 모든 악의적 요청에 대한 기록 리스트(공격 로그)가 생성됩니다. 이 로그의 각 행은 (𝑃,𝑅,𝑆) 삼중항으로 구성됩니다.

전략 추출 과정

  • 공격 로그에서 무작위로 두 개의 공격 기록 {Pi,Ri,Si}\{P_i, R_i, S_i\}{Pj,Rj,Sj}\{P_j, R_j, S_j\}를 추출합니다.

  • Sj>SiS_j > S_i인 경우 PjP_j에서 사용된 특정 전략이 PiP_i보다 더 높은 점수를 이끌어냈음을 추정합니다.

  • PiP_i에서 PjP_j로의 점수 개선을 전략으로 선택합니다.

해당 과정을 요약하기 위해 요약자 LLM(Summarizer LLM)을 활용합니다.

  • 요약자 LLM은 PjP_jPiP_i를 비교하여 RjR_jRiR_i보다 더 악의적으로 만든 전략을 분석합니다(Sj>SiS_j > S_i).
  • 요약된 전략 설명 및 정의를 JSON 객체 SiS_i로 포맷합니다.

Lifelong Learning at the Running Stage

AutoDAN-Turbo는 여러 악의적 요청이 포함된 데이터셋에서 지속 학습을 수행합니다.

반복 실행

반복 ii에서 악의적 요청 MM을 입력받아, 공격 생성 및 탐색 모듈로부터 Pi,Ri,SiP_i, R_i, S_i를 얻습니다.

전략 검색

  • RiR_i를 기반으로 탈옥 전략 검색 모듈이 이전에 효과적이었던 전략을 검색합니다.
  • 이를 바탕으로 공격 생성 및 탐색 모듈이 새로운 Pi+1,Ri+1,Si+1P_{i+1}, R_{i+1}, S_{i+1}를 생성합니다.

전략 라이브러리 업데이트

  • 준비 탐색 단계에서 사용한 방식과 유사하게 Pj,Rj,SjP_j, R_j, S_jPi+1,Ri+1,Si+1P_{i+1}, R_{i+1}, S_{i+1}로 대체하여 전략을 생성합니다.
  • 생성된 항목을 전략 라이브러리에 추가하여 재사용합니다.

종료 규칙
각 악의적 요청에 대해 다음 두 가지 조건 중 하나를 충족하면 종료합니다

  1. 평가자 LLM이 STS_T 이상의 점수를 반환한 경우.
  2. 총 반복 횟수가 최대값 𝑇에 도달한 경우.

The Key for Retrieval

필요할 때 특정 전략을 효율적으로 검색하려면 핵심 키를 정의해야 합니다.

  • 응답 RiR_i의 텍스트 임베딩 벡터 ERiE_{R_i}를 핵심 키로 사용합니다.
  • Value로는 공격 프롬프트 PiP_i, 다음 공격 프롬프트 PjP_j, 점수 차이 SjSiS_j - S_i를 설정합니다.

해당 프로세스를 반복하여 다양한 악의적 요청에 대해 탐색을 수행하고 키-값 쌍을 전략 라이브러리에 추가합니다.

JAILBREAK STRATEGY RETRIEVAL

프레임워크에서 핵심 작업은 전략 라이브러리에서 탈옥 전략을 검색하고, 이를 기반으로 공격자 LLM에게 탈옥 프롬프트를 생성하도록 지시하는 것입니다.

응답 임베딩 생성 및 유사도 비교

  • 악의적 요청 MM을 생성 및 탐색 모듈에 입력하여 Pi,Ri,Si{P_i, R_i, S_i}를 얻습니다.
  • 응답 RiR_i를 텍스트 임베딩 모델을 사용하여 임베딩 벡터 ERiE_{R_i}로 변환합니다.

전략 선택

  • 유사도가 가장 높은 2𝑘개의 데이터 프레임을 선택합니다.
  • 선택된 데이터 중 점수 차이가 가장 큰 상위 𝑘개의 전략을 선택합니다.
  • 이러한 전략들은 RiR_i와 연관된 가장 효과적인 전략으로 간주되며, 검색된 전략 리스트 Γ\Gamma로 형성됩니다.

동일 점수 처리

  • 동일 점수를 가진 샘플이 선택된 경우, 전략 리스트의 길이 제한을 고려하여 프로그램의 기본 순서에 따라 추가하거나 제외됩니다.

검색된 전략의 적용 방법

검색된 전략 리스트 Γ\Gamma를 구성한 후, 다음 공격 반복에서 공격자 LLM의 프롬프트에 이 전략들을 삽입합니다.

  1. 점수가 5보다 큰 전략이 포함된 경우
    최고 점수가 5보다 크면, 해당 전략을 효과적인 전략으로 간주하고 공격자 LLM의 프롬프트에 직접 삽입합니다.
  2. 점수가 2에서 5 사이인 전략이 포함된 경우
    이 전략들을 공격자의 프롬프트에 삽입하며, 공격자 LLM에게 이러한 전략이 현재 악의적 요청에 대해 강력하다고 알립니다.
  3. 최고 점수를 가진 전략이 2개 미만인 경우
    비효과적인 전략으로 간주합니다.
    공격자 LLM에게 효과적이지 않으므로 사용을 중지하고 다른 전략을 탐색해야 한다고 알립니다.
  4. Γ\Gamma가 비어있는 경우
    Γ\Gamma가 비어 있다면, 공격자 LLM에게 빈 전략 상태를 제공합니다.

Experiment

profile
AI Researcher

0개의 댓글