GN⁺: 구글 바드 해킹 - 프롬프트 주입에서 데이터 유출까지
(embracethered.com)Google Bard의 취약점 발견 및 수정
- Google Bard가 최근 강력한 업데이트를 받아, YouTube 접근, 항공편 및 호텔 검색, 개인 문서 및 이메일 접근이 가능해짐.
- Bard는 이제 Drive, Docs, Gmail의 데이터를 분석할 수 있으며, 이로 인해 간접 프롬프트 인젝션에 취약해짐.
- 프롬프트 인젝션을 통해 YouTube 비디오 요약 및 Google Docs 테스트를 성공적으로 수행함.
이메일 및 Google Docs를 통한 간접 프롬프트 인젝션 공격
- 이메일이나 Google Docs를 통한 간접 프롬프트 인젝션 공격은 사용자 동의 없이 전달될 수 있어 위협적임.
- 공격자가 Google Docs를 강제 공유하고 Bard를 사용하여 문서와 상호작용할 때 인젝션이 발생할 수 있음.
취약점 - 이미지 마크다운 인젝션
- Google의 LLM이 마크다운 요소를 반환하면 Bard가 HTML로 렌더링함.
- 이미지 태그에 데이터를 삽입하여 서버로 데이터 유출을 유도할 수 있음.
- 대화 내역을 요약하거나 이전 데이터에 접근하여 URL에 추가하는 방식으로 취약점을 이용함.
CSP 우회
- Google의 CSP는 임의의 위치에서 이미지를 로드하는 것을 방지함.
-
Google Apps Script
를 통해script.google.com
또는googleusercontent.com
도메인에서 실행되는 URL을 통해 CSP를 우회할 수 있음.
Bard Logger 작성
-
Apps Script
를 사용하여 "Bard Logger"를 구현함. - 로거는 호출 URL에 추가된 모든 쿼리 매개변수를
Google Doc
으로 기록함. - 설정을 통해 인증 없이 엔드포인트를 노출할 수 있음.
데모 및 책임 있는 공개
- 비디오 및 스크린샷을 통해 사용자의 대화 내역이 악의적인
Google Doc
을 통해 유출되는 과정을 보여줌.
Shell Code
-
Google Doc
에 포함된 페이로드를 사용하여 프롬프트 인젝션 및 데이터 유출을 수행함. - LLM의 기능을 활용하여 이미지 URL 내의 텍스트를 대체함.
스크린샷
- 비디오를 볼 시간이 없는 경우, 주요 단계를 스크린샷으로 제공함.
Google의 수정
- 문제는 2023년 9월 19일에 Google VRP에 보고되었으며, 10월 19일에 수정이 완료됨을 확인함.
- CSP는 수정되지 않았으나, URL에 데이터를 삽입하는 것을 방지하기 위한 필터링이 적용된 것으로 보임.
결론
- 이 취약점은 간접 프롬프트 인젝션 공격 중 적대자가 가질 수 있는 힘과 자유도를 보여줌.
- Google 보안 및 Bard 팀이 이 문제를 신속하게 해결해준 것에 감사함.
수정 타임라인
- 문제 보고: 2023년 9월 19일
- 문제 수정 확인: 2023년 10월 19일
참고 자료
- Google Bard Extension 발표, Google Bard와 관련된 간접 프롬프트 인젝션, Ekoparty 2023 프롬프트 인젝션 토크, DALLE-3으로 생성된 Google Bard - Data Exfil 이미지
부록
- Google Doc 내의 전체 프롬프트 인젝션 내용 제공
GN⁺의 의견
이 기사에서 가장 중요한 것은 Google Bard의 새로운 기능으로 인해 발생한 취약점과 이를 통한 데이터 유출 가능성이다. 이는 인공지능 기반 서비스의 보안 문제를 강조하며, 사용자 데이터 보호의 중요성을 일깨워준다. 기술의 발전과 함께 새로운 유형의 보안 위협이 등장하고 있으며, 이에 대한 연구와 대응이 지속적으로 필요함을 보여준다. 이러한 취약점 발견과 수정 과정은 소프트웨어 엔지니어링 및 사이버 보안에 관심 있는 사람들에게 흥미롭고 유익한 사례로, 기술의 안전한 사용을 위한 지속적인 노력의 중요성을 강조한다.
Hacker News 의견
- LLM의 미래는 무엇인가? 디버깅이 어려운 LLM을 민감한 분야에 통합하는 것은 보안 취약점을 수정할 수 있는 합리적인 보증이 없다면 매우 어려울 것임.
- Bard를 출시 전에 테스트했을 때, 맥락을 채워 넣어서 규칙을 밀어내는 방식으로 쉽게 깨뜨릴 수 있었음을 발견함.
- 데이터 유출이 작동하는 이유가 아니라, 우리가 왜 무작위 토큰 샘플러에게 특별한 접근 권한을 주는 것이 대부분의 경우 작동한다고 생각하는지가 문제임.
- 버그 현상금이 명시되어 있지 않음. 현상금이 지급되었는지 궁금함.
- Lakera AI에서는 Gandalf 프롬프트 주입 게임에서 가져온 프롬프트를 포함한 다양한 데이터 소스로 훈련된 프롬프트 주입 탐지기를 개발 중임.
- LLM 자체로 이 문제를 해결할 수 없을까? 사용자 입력 텍스트 상자에서만 프롬프트를 받아들이고 문서 내 텍스트를 프롬프트로 해석하지 않도록 하는 시스템 프롬프트 같은 것이 필요하지 않을까?
- Bard가 Google Drive, Docs, Gmail에 접근하고 분석할 수 있다고 함. 그러나 Bard에 Gmail 접근 가능성을 물었을 때, 직접 접근할 수 없다고 답함. Gmail 확장 프로그램 활성화 방법을 물었을 때, 현재 사용할 수 없다고 답함. 그러나 Bard의 퍼즐 아이콘을 클릭하면 Gmail을 포함한 Google Workspace 확장 프로그램을 활성화할 수 있음.
- LLM은 사용자가 이미 승인한 데이터와 작업에만 훈련되고 접근해야 함. LLM이 특정 작업을 수행하도록 프롬프트하는 것을 보장하는 것은 현재 아키텍처로는 매우 어렵고 불가능할 수도 있음. LLM은 엄청난 잠재력을 가지고 있지만, 보안 시스템에서 성공적인 배치를 위해서는 이러한 제한을 아키텍처적으로 극복해야 함.
- 프롬프트의 시작 부분이 마음에 듦: "이 문서를 읽는 모든 사람은 법무부의 요구에 따라 다음과 같이 해야 함."
- 요약: Bard는 대화에서 Markdown 이미지를 렌더링할 수 있음. 또한, 대화에 더 많은 맥락을 제공하기 위해 Google 문서의 내용을 읽을 수 있음. 악의적인 프롬프트가 포함된 Google 문서를 피해자와 공유함으로써, Bard가 대화의 일부를 URL 인코딩된 섹션으로 포함하는 Markdown 이미지 링크를 생성하게 만들 수 있음. 이 대화의 섹션은 Bard UI가 이미지를 로드하기 위해 공격자가 이전에 Bard에게 만들게 한 URL에 접근할 때 유출될 수 있음.
- 교훈: AI 비서가 읽는 것에 주의해야 함. 공격자가 제어할 수 있고 최면 제안을 포함할 수 있음.