당신의 LLM 가드레일은 영어를 사용합니다. 하지만 공격자는 그렇지 않습니다.

저는 제 시스템을 직접 공격해 보며 이 사실을 뼈저리게 깨달았습니다.

저는 LLM에 프롬프트가 도달하기 전에 이를 검사하는 오픈 소스 엔진인 FIE를 운영하고 있습니다. 제 시스템은 영어로 된 "Ignore all previous instructions" 문구를 82%의 신뢰도로 차단합니다.

그런 다음 같은 문장을 힌디어로 시도해 보았습니다. 보안망을 그대로 통과해 버렸습니다.

안전성 학습(Safety training)이 영어 데이터에 너무 많이 의존하고 있습니다. 저자원 언어(Low-resource languages)는 의도치 않게 보안을 우회하는 수단이 됩니다. 영어에서는 실패하는 동일한 악의적 의도가 벵골어, 스와힐리어 또는 자바어에서는 통하게 됩니다.

이를 해결하기 위해 3주를 보냈습니다. 제가 구축한 3단계 방어 체계는 다음과 같습니다.

1단계: 스크립트 이상 점수 산정(Script anomaly scoring). 프롬프트의 유니코드를 점수화합니다. 영어 앱에서 갑자기 데바나가리(Devanagari)나 아랍어 문자로 전환되는 것은 하나의 신호입니다. 이 방법은 빠르고 비용이 저렴합니다.

2단계: 정적 문구 매칭(Static phrase matching). 목록에 14개 언어를 추가했습니다. 힌디어, 일본어, 한국어, 터키어, 네덜란드어, 폴란드어로 된 인젝션(injection) 문구들을 직접 선별했습니다. 이 방식은 추가 비용 없이 흔한 공격을 잡아냅니다.

3단계: 번역 후 탐지(Translate-then-detect). 가장 중요한 부분입니다. 프롬프트가 처음 두 단계를 통과하면, 언어를 감지하여 영어로 번역합니다. 그런 다음 해당 번역본에 대해 기존 분류기(classifier)를 실행합니다. 공격자가 언어는 바꿀 수 있어도 의도까지 숨길 수는 없습니다.

이를 학습시키기 위해 Meta의 NLLB-200 모델을 사용했습니다. 1,352개의 공격 프롬프트를 10개 언어로 번역하여 13,528개의 새로운 학습 사례를 만들었습니다. 이 모든 과정은 300달러짜리 GPU에서 로컬로 실행되었습니다.

JailbreakBench 결과: • 총 재현율(recall) 93.6%. • JailbreakChat에서 100%. • GCG 접미사(suffixes)에서 90%. • PAIR에서 90.2%.

또한 오탐(false positives)도 추적합니다. 가짜의 완벽한 수치를 보여주기보다는 실제 27%의 오탐률을 보고하겠습니다. 보안을 구축하는 데는 정직함이 필요합니다.

Sources: Deng et al. (2023). Multilingual Jailbreak Challenges in LLMs. arXiv:2310.06474 NLLB Team (2022). No Language Left Behind. arXiv:2207.04672 Röttger et al. (2023). XSTest. arXiv:2308.01263 Mazeika et al. (2024). HarmBench. arXiv:2402.04249 Chao et al. (2024). JailbreakBench. arXiv:2404.01318

Full post: https://dev.to/ayush_singh_9b0d83152be5b/your-llm-guardrail-speaks-english-your-attacker-doesnt-4bf2

선택 사항 학습 커뮤니티: https://t.me/GyaanSetuAi