SW/인공지능

인공지능 : 해킹이 인공지능 시스템을 방해하는 방법

얇은생각 2023. 8. 22. 07:30
반응형

AI 시스템을 보호하여 LLM의 신속한 해킹을 방지하고 데이터를 보호합니다. 이 새로운 위협에 대한 위험, 영향 및 예방 전략을 알아보십시오.

인공지능(AI) 환경이 계속 빠르게 진화함에 따라 새로운 위험과 취약성이 대두되고 있습니다. 대형 언어 모델(LLM)을 활용하여 프로세스를 강화하고 자동화할 수 있는 기업은 사이버 보안 문제의 새로운 최전방에 있는 LLM 기반 AI 솔루션에 부여하는 자율성과 액세스 권한에 대해 신중해야 합니다.

이 글에서는 사용자가 언어 모델에 주어진 초기 프롬프트를 맞춤화하여 잠재적으로 민감한 정보에 액세스할 수 있는 조작 기술인 신속 해킹(또는 신속 주입)에 대해 자세히 알아봅니다. 데이터베이스에 풍부한 민감한 데이터를 저장하는 프로덕션 시스템의 맥락에서 신속한 해킹은 악의적인 행위자로부터 데이터 사생활과 보안에 상당한 위협을 가합니다. 이러한 리소스에 대한 신속한 해킹 공격이 성공하면 데이터를 무단으로 읽거나 작성하여 침해, 손상 또는 심지어 시스템 장애를 초래할 수 있습니다.

대규모 언어 모델의 신속한 해킹과 관련된 위험을 이해하고 완화하는 것은 이러한 고급 AI 도구를 활용하는 조직에 매우 중요합니다. 우리는 이러한 위험의 본질, 잠재적 영향 및 디지털 인프라에 대한 이러한 새로운 위협을 방지하기 위한 전략을 자세히 조사할 것입니다. 정보에 입각한 조치를 통해 관련 사이버 보안 위험을 최소화하면서 AI 발전의 약속을 계속 활용할 수 있습니다.

 

 

LLM, 프롬프트 및 신속한 엔지니어링 기술

최근 LLM들은 자연어 처리(NLP)로 알려진 AI 하위 분야를 장악했습니다. 큰 텍스트 코퍼스에서 이러한 아키텍처를 훈련하면 많은 다른 언어에 걸쳐 많은 작업을 성공적으로 해결할 수 있는 것으로 나타났습니다. 이 중 가장 널리 알려진 예는 OpenAI ChatGPT입니다(현재 네 번째 반복을 사용하는 GPT-3.5 모델에 의해 구동되는 모델).

GPT-4와 같은 자동 회귀 대형 언어 모델은 방대한 양의 텍스트 데이터(수백만 권의 책, 웹 사이트, 지침, 코드 및 인간 피드백)에 대해 훈련되었으며, 가장 기본적인 수준의 작업은 이전의 모든 단어를 고려할 때 문장에서 다음 단어를 예측하는 것입니다.

답변 생성이 시작되면 이전 단어 중 일부가 모델 생성됩니다. 따라서 자동 회귀 측면. 통계에서 회귀는 이전 값을 기반으로 미래 값을 예측하는 것이고 자동은 모델이 미래 예측을 위한 입력으로 자신의 이전 출력을 사용한다는 것을 의미합니다.

이러한 맥락에서 프롬프트는 모델이 완료할 초기 사용자 제공 입력입니다. 따라서 GPT-4에 프롬프트를 주면 훈련 데이터에서 학습한 내용을 기반으로 다음 단어를 생성합니다. 그런 다음 해당 단어와 원래 프롬프트를 사용하여 다음 단어를 추측하는 등 전체 텍스트 응답을 생성합니다.

아직 LLM이 가지고 있는 전체 기능, 한계 및 시사점을 이해하기 위한 초기 연구 단계에 있습니다. 특히 사용자의 관점에서 프롬프트의 영향 또는 이러한 모델에 대한 입력은 아무리 강조해도 지나치지 않습니다. 동일한 모델은 이러한 시스템의 민감성과 예측 불가능성을 조명하면서 프롬프트의 사소한 변경에 기반하여 매우 다른 출력을 생성할 수 있습니다.

결과적으로, 신속한 엔지니어링(모델의 출력을 안내하기 위해 프롬프트를 신중하게 만드는 연습)이 이러한 모델 작업의 중요한 측면으로 부상했습니다. 이는 여전히 초기 관행이며 모델의 작동과 당면한 작업 모두에 대한 미묘한 이해가 필요합니다.

 

 

즉각적인 해킹 대응: 방어 및 공격 전략 탐색

연구자들은 LLM이 쉽게 조작되고 프롬프트가 정의하는 초기 작업에서 벗어나거나 모델에 주입된 일련의 행동 값(: ChatGPT의 경우와 같이 인간 피드백에 의한 미세 조정 또는 강화 학습을 통해)을 하도록 강요할 수 있음을 신속하게 보여주었습니다.

사용자로서 모델이 작동하는 맥락을 변경하는 척하면서 이전 지침을 대체하는 명령을 주입하여 AI가 미리 설정된 지침을 무시하도록 설득할 수 있습니다. 또는 시스템의 프롬프트(사용자 보기를 위한 것이 아님)에 숨겨진 컨텍스트가 노출되거나 유출되도록 조작할 수 있습니다. 일반적으로 숨겨진 프롬프트는 AI가 특정 페르소나를 채택하거나 특정 작업에 우선 순위를 지정하거나 특정 단어를 피하도록 지시합니다. 일반적으로 AI가 적대적이지 않은 사용자를 위해 이러한 지침을 준수할 것이라고 가정하지만 의도하지 않은 지침 위반이 발생할 수 있습니다.

현재 이러한 공격을 효과적으로 막을 수 있는 전략은 없으므로, 적대적인 사용자를 상대할 때 AI가 숨겨진 프롬프트 템플릿의 일부를 공개할 가능성에 대비하는 것이 중요합니다. 따라서: 숨김 프롬프트는 사용자 경험을 대상 개인 설정과 더 밀접하게 일치시키는 도구로 보아야 하며, 사용자가 화면에서 보는 데 적합하지 않은 정보를 포함해서는 안 됩니다.

LLM을 많이 사용하는 건설자는 구성에 따라 이러한 모델이 실제로 누가 작성했는지에 관계없이 이전 텍스트 덩어리를 따를 가능성이 있는 완성을 항상 생성한다는 것을 결코 잊지 말아야 합니다. 이는 시스템 및 적대적 입력 모두 원칙적으로 동일하다는 것을 의미합니다.

일반적으로, 신속한 해킹 위험을 완화하기 위한 일반적인 전략은 인기 있는 학습 프롬프트 리소스에 따라 방어적인 조치와 공격적인 조치로 분류될 수 있습니다.

 

 

방어 수단

신속한 해킹과 관련된 잠재적인 위험과 취약성으로부터 보호하기 위해서는 효과적인 방어 조치를 실행하는 것이 중요합니다. 이 절에서는 신속한 해킹 공격의 영향을 완화하기 위해 사용할 수 있는 다양한 방어 전략과 방법을 설명합니다.

 

필터링

초기 프롬프트 또는 생성된 출력에서 제한되어야 하는 특정 단어 또는 구문을 확인하는 것이 포함됩니다. 두 가지 일반적인 필터링 접근 방식은 블랙리스트와 화이트리스트의 사용입니다. 블랙리스트는 금지된 단어 및 구문으로 구성되는 반면 화이트리스트는 허용된 단어 및 구문으로 구성됩니다.

 

명령 방어

프롬프트 내에 명령을 포함함으로써 언어 모델을 안내하고 후속 텍스트 생성에서 그 동작에 영향을 미칠 수 있습니다. 이러한 지침은 모델이 주의를 발휘하고 주어진 입력에 응답하여 생성하는 내용을 유념하도록 촉구합니다. 이 기법은 명시적인 기대를 설정하고 다음 텍스트에 대한 신중한 고려를 장려함으로써 모델을 원하는 출력으로 유도하는 데 도움이 됩니다.

 

확인 후

프롬프트 후 방어는 프롬프트 자체보다 사용자 입력을 먼저 배치하는 것을 포함합니다. 순서를 재정렬함으로써 시스템이 의도한 대로 사용자 입력이 뒤따릅니다.

 

랜덤 시퀀스 인클로저

사용자 입력을 두 개의 문자 시퀀스로 둘러싸는 것을 포함합니다. 이 기술은 사용자 입력을 난독화하여 추가 보호 계층을 추가하는 것을 목표로 하며, 잠재적인 프롬프트 해커가 모델의 응답을 이용하거나 조작하는 것을 더욱 어렵게 만듭니다.

 

샌드위치 디펜스

샌드위치 방어는 두 개의 프롬프트 사이에 사용자 입력을 배치하는 것을 수반하는 전략입니다. 이 기술은 사용자 입력을 프롬프트로 둘러싸면 모델이 의도된 컨텍스트에 주의를 기울이고 그에 따라 텍스트를 생성하는 데 도움이 됩니다.

 

XML 태그 지정

XML 태깅은 신속한 해킹에 대한 강력한 방어 메커니즘의 역할을 할 수 있습니다. 이 접근 방식은 XML 태그 내에서 사용자 입력을 캡슐화하여 입력의 무결성을 효과적으로 묘사하고 보존하는 것을 포함합니다.

 

별도의 LLM 평가 또는 이중 LLM 패턴

이는 사용자 입력을 평가하기 위해 추가적인 언어 모델을 사용하는 것을 포함합니다. 이 보조 LLM은 입력의 안전성을 평가하는 역할을 합니다. 사용자 입력이 안전하다고 판단되면, 이후 추가 처리를 위해 다른 모델로 전달됩니다. 이는 듀얼 LLM 패턴과 유사하게 들립니다.

 

공격 수단

신속한 해킹의 영역에서 공격 수단을 사용하여 취약점을 이용하고 원하는 결과에 대해 언어 모델을 조작할 수 있습니다. 이 섹션에서는 신속한 해킹에 사용되는 다양한 공격 전략과 기술을 탐구하여 잠재적인 위험과 영향을 조명합니다.

 

난독화/토큰 밀수

난독화는 필터를 우회하는 데 사용됩니다. 이 기술은 필터를 트리거할 수 있는 단어를 동의어로 대체하거나 오타와 같은 약간의 수정을 단어 자체에 도입하는 것을 포함합니다.

 

페이로드 분할

페이로드 분할은 언어 모델의 동작을 조작하기 위해 신속한 해킹에 사용되는 기술입니다. 이 방법은 적대적 입력을 여러 세그먼트 또는 부분으로 분할하는 것을 포함합니다.

 

정의된 사전 공격

정의된 사전 공격은 샌드위치 방어를 우회하는 데 사용되는 프롬프트 주입 기술입니다. 이 방법에서는 사용자 입력에 이어지는 명령어를 매핑하기 위해 사전 정의된 사전을 만듭니다. 사전에는 실제 프롬프트와 원하는 명령어 사이의 특정 매핑이 포함되어 있어 공격자가 프롬프트를 조작하고 모델의 응답에 영향을 미칠 수 있습니다.

 

가상화

가상화는 일련의 연속적인 프롬프트를 통해 특정 컨텍스트 또는 시나리오를 설정함으로써 AI 모델의 동작에 영향을 미치는 것을 목표로 하는 기술입니다. 역할 프롬프트와 유사하게, 이 접근 방식은 모델이 바람직하지 않은 출력을 생성하도록 안내하기 위해 여러 개의 프롬프트를 연속적으로 보내는 것을 포함합니다.

 

간접 주입

간접적인 프롬프트 주입은 웹 검색이나 API 호출과 같은 제3자의 데이터 소스를 통해 적대적인 명령을 도입하는 것을 포함합니다. 악의적인 프롬프트 명령이 포함된 웹 사이트에서 콘텐츠를 읽도록 모델을 요청할 수 있습니다. 간접적인 프롬프트 주입의 핵심적인 차이점은 모델을 직접 지시하는 것이 아니라 외부 자원을 활용하여 명령을 전달한다는 것입니다.

 

재귀 주입

프롬프트 해킹에 대한 방어 메커니즘 중 하나는 하나의 언어 모델을 사용하여 다른 언어 모델의 출력을 평가하여 적대적인 내용이 없는지 확인하는 것입니다. 그러나 이 방어는 재귀 주입 공격으로 회피할 수 있습니다. 이 공격에서는 프롬프트가 첫 번째 LLM에 삽입되어 두 번째 LLM에 대한 주입 명령을 포함하는 출력을 생성합니다.

 

코드 주입

코드 주입은 공격자가 언어 모델 내에서 일반적으로 파이썬에서 임의의 코드를 실행하는 것과 관련된 프롬프트 해킹의 한 형태입니다. 이 공격은 해석기로 코드를 보낼 수 있는 도구로 증강된 LLM에서 발생할 수 있습니다. 또한 LLM 자체가 코드를 평가하고 실행하는 데 사용될 때도 발생할 수 있습니다.

 

 

인공지능 : 해킹이 인공지능 시스템을 방해하는 방법

 

 

끊임없이 진화하는 신속한 해킹 및 방어 환경 탐색

신속한 해킹으로부터 당신의 프롬프트를 보호하는 것은 언어 모델의 무결성과 신뢰성을 보장하기 위해 무엇보다 중요합니다. 이 기사를 통해 우리는 신속한 해킹과 관련된 위험을 완화하기 위해 사용될 수 있는 다양한 방어 조치를 탐구했습니다. 그러나 현재 그러한 공격으로부터 프롬프트를 완전히 보호할 수 있는 완전한 예방책이나 이상적인 해결책이 없다는 것을 인정하는 것이 중요합니다.

신속한 해킹 기술은 계속 진화하고 있으며, 연구자, 개발자 및 사용자 모두에게 지속적인 도전 과제를 제시하고 있습니다. 경계를 유지하고, 새롭게 등장하는 위협에 대해 계속 업데이트하고, 강력한 방어, 지속적인 모니터링 및 언어 모델의 책임 있는 사용을 결합한 다각적인 접근 방식을 채택하는 것이 필수적입니다. 이 분야가 발전함에 따라 지속적인 연구와 협업은 이러한 강력한 AI 시스템의 신속한 보호를 강화하고 지속적인 신뢰와 신뢰성을 보장하는 데 필수적입니다.

이중 LLM 패턴 솔루션을 구현하여 신속한 주입을 효과적으로 해결할 수 있습니다. 이 문서는 신속한 주입과 관련 문제를 완화하기 위한 귀중한 통찰력과 실제 단계를 제공합니다.

반응형