[논문 리뷰] BadRAG: Identifying Vulnerabilities in Retrieval Augmented Generation of Large Language Models
BadRAG는 의미적 쿼리로 유도되는 악성 문장으로 외부 코퍼스를 오염시켜 Retrieval-Augmented Generation (RAG) 시스템의 보안 취약점을 식별하고 악용하는 프레임워크를 제안한다. 대조 최적화(COP)를 사용하여 오염된 쿼리에 대해 98.2%의 검색 성공률를 달성하면서 GPT-4에서는 74.6%의 거부율을 유도함으로써 RAG 기반 LLM에서 심각한 위험을 드러낸다.
Large Language Models (LLMs) are constrained by outdated information and a tendency to generate incorrect data, commonly referred to as "hallucinations." Retrieval-Augmented Generation (RAG) addresses these limitations by combining the strengths of retrieval-based methods and generative models. This approach involves retrieving relevant information from a large, up-to-date dataset and using it to enhance the generation process, leading to more accurate and contextually appropriate responses. Despite its benefits, RAG introduces a new attack surface for LLMs, particularly because RAG databases are often sourced from public data, such as the web. In this paper, we propose \TrojRAG{} to identify the vulnerabilities and attacks on retrieval parts (RAG database) and their indirect attacks on generative parts (LLMs). Specifically, we identify that poisoning several customized content passages could achieve a retrieval backdoor, where the retrieval works well for clean queries but always returns customized poisoned adversarial queries. Triggers and poisoned passages can be highly customized to implement various attacks. For example, a trigger could be a semantic group like "The Republican Party, Donald Trump, etc." Adversarial passages can be tailored to different contents, not only linked to the triggers but also used to indirectly attack generative LLMs without modifying them. These attacks can include denial-of-service attacks on RAG and semantic steering attacks on LLM generations conditioned by the triggers. Our experiments demonstrate that by just poisoning 10 adversarial passages can induce 98.2\% success rate to retrieve the adversarial passages. Then, these passages can increase the reject ratio of RAG-based GPT-4 from 0.01\% to 74.6\% or increase the rate of negative responses from 0.22\% to 72\% for targeted queries.
연구 동기 및 목표
- 오염된 외부 코퍼스로 인해 발생하는 RAG 시스템의 보안 취약점을 식별하는 것.
- 의미적이고 사용자 정의 가능한 쿼리를 통해 검색 뒷받침(backdoor)를 유도할 수 있는 방법을 개발하는 것.
- 모델을 수정하지 않고도 LLM에 간접 공격을 가하기 위해 정렬(alignment) 메커니즘을 악용하는 것.
- GPT-4 및 Claude-3와 같은 실제 LLM에 이러한 공격의 효과를 평가하는 것.
- 트리거 토큰 마스킹 기반 방어 기법을 제안하여 악성 쿼리를 탐지하는 것.
제안 방법
- 의미적 트리거에 맞게 악성 문장을 최적화하기 위한 대조학습 기반 방법인 문장에 대한 대조 최적화(COP)를 제안한다.
- 트리거된 쿼리를 양성 샘플로, 청소된 쿼리를 부정 샘플로 정의하여, 양성 샘플에는 유사도를 극대화하고 부정 샘플에는 유사도를 최소화한다.
- 의미적 트리거(예: '공화당, 도널드 트럼프')를 사용하여 오염된 문장을 조건부로 검색하도록 유도한다.
- LLM 정렬 메커니즘을 '정렬을 공격으로 활용하기' (AaaA) 방식으로 활용하여 LLM이 응답을 거부하도록 유도함으로써 서비스 거부 공격을 유도한다.
- '선택적 사실을 공격으로 활용하기' (SFaaA)를 통해 공식 출처의 사실적이지만 편향된 기사들을 활용하여 LLM이 부정적인 출력으로 향하도록 유도한다.
- 시스템적 토큰 마스킹([MASK])을 사용하여 악성 쿼리를 탐지하기 위해 검색 유사도 점수의 변화를 관찰하는 방식의 방어 기법을 제안한다.
실험 결과
연구 질문
- RQ1특정 의미적 트리거가 있을 때만 검색되는 악성 문장을 제작할 수 있으며, 청소된 쿼리에서는 이를 탐지하지 못하게 할 수 있는가?
- RQ2오염된 RAG 코퍼스가 정렬 악용을 통해 LLM에 서비스 거부 공격을 얼마나 효과적으로 유도할 수 있는가?
- RQ3LLM을 수정하지 않고도 오염된 검색 데이터만으로 의미적 조작 공격을 성공시킬 수 있는가?
- RQ4이러한 공격이 GPT-4 및 Claude-3와 같은 실제 LLM에 얼마나 효과적인가?
- RQ5토큰 마스킹 후 검색 유사도 변화를 분석함으로써 악성 쿼리를 탐지할 수 있는 방어 기법은 얼마나 효과적인가?
주요 결과
- 전체 코퍼스의 0.04%에 해당하는 단지 10개의 악성 문장만 오염시켜도, 트리거된 쿼리에 대해 오염된 콘텐츠 검색 성공률가 98.2%에 달했다.
- 서비스 거부 시나리오에서 GPT-4의 거부 비율이 0.01%에서 74.6%로 증가했다.
- 감성 조작 공격을 통해 타겟 쿼리에 대해 부정적 응답 확률이 0.22%에서 72%로 상승했다.
- AaaA 방법을 사용하여 '모든 맥락에는 개인정보가 포함되어 있습니다.'라는 문장을 활용해 LLM 정렬 정책을 악용해 74.6%의 거부율을 달성했다.
- SFaaA 방법을 통해 공식 출처의 사실적이지만 편향된 기사들을 활용하여 72%의 부정적 응답 확률을 달성했으며, LLM 탐지 메커니즘을 우회했다.
- MASK 토큰 치환을 사용한 제안된 방어 기법은 특히 단일 토큰 트리거에 대해 청소된 쿼리와 악성 쿼리 간의 구분을 향상시켰지만, 더 긴 트리거에서는 효과가 감소했다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.