암호화된 악성 명령으로 Grok이 사용자 데이터 유출
보안업체 Adversa의 연구원이 유해 명령을 암호화하여 Grok의 안전 가드레일을 우회하는 공격 기법을 발견했습니다. Grok은 복호화된 명령을 따라 사용자의 이름, 위치, 채팅 기록을 공격자 서버로 전송하며, 6월에 xAI에 보고되었음에도 글 작성 시점까지 수정되지 않았습니다. 이는 프롬프트 인젝션의 근본 원인을 LLM이 해결할 수 없음을 보여주는 사례입니다.
이번 주 초, 연구자들은 Microsoft 365 Copilot for enterprise가 제공하는 비밀 입력을 이용해 AI 어시스턴트가 사용자 받은편지함에 있는 비밀번호를 유출시키는 공격을 공개했습니다. 이제 별도의 팀이 Grok에 대한 유사한 공격을 고안해냈습니다. 이 새로운 데이터 절도 해킹은 놀랍도록 단순한 트릭을 사용해 일론 머스크 소유의 LLM이 사용자 채팅과 기타 개인 정보를 훔치도록 강제합니다. 이 글이 게시된 시점에도, xAI가 6월에 이 문제를 통보받았음에도 어시스턴트는 계속 데이터를 내놓고 있었습니다.
이번 주 사례들과 그 이전의 수많은 사례들이 주는 교훈은, LLM이 프롬프트 인젝션(가장 심각한 취약점 유형)의 근본 원인을 해결할 수 없다는 것입니다. 그렇기 때문에 AI 개발자에게는 모델이 유해한 행동을 하지 않도록 유도하는 가드레일을 구축하는 것 외에 다른 선택지가 없습니다. 화요일 기사에서 언급했듯이, 이 접근법은 위험한 커브 길에 경사면을 만드는 대신 보호 난간을 세우는 도로 교통 안전 엔지니어와 같습니다.
프롬프트 인젝션은 가능한 한 사용자 요청을 따르도록 훈련된 LLM의 특성을 악용합니다. 공격자는 이러한 경향을 이용해 어시스턴트에게 요약하도록 지시된 이메일이나 웹페이지에 유해한 명령을 밀반입할 수 있습니다. LLM은 신뢰할 수 없는 상대가 보낸 이메일 내용과 프롬프트에 직접 입력된 사용자 명령을 신뢰성 있게 구별할 수 없기 때문에, 지나치게 순종적인 LLM은 이를 충실히 따릅니다. 지금까지 Grok과 다른 LLM의 유일한 대응책은 의심스러운 명령을 플래그하여 실행을 금지하는 가드레일을 만드는 것이었습니다.
보안 회사 Adversa의 연구원 로니 우테프스키(Rony Utevsky)는 최근 이 제한을 완전히 우회하는 단순한 방법을 발견했습니다. 해커는 유해한 명령을 평문이 아닌 암호문으로 작성합니다. 암호문을 호스팅하는 웹사이트에는 암호화된 콘텐츠를 복호화하기 위한 평문 지시문과 복호화 키도 함께 포함되어 있습니다. 이 단순한 절차를 통해 Grok은 사용자가 어시스턴트에게 해당 페이지를 요약하라고 지시하자마자 명령을 따릅니다. 경고도 없고 확인도 요구되지 않습니다.
복호화된 명령은 LLM에게 복호화 키로 가장된 것을 생성하도록 지시합니다. 실제로는 전혀 다른 것입니다. 가짜 키의 값은 사용자의 이름, 위치, 채팅 기록입니다. 이 값은 나중에 공격자 사이트로 연결되는 URL에 추가되는 매개변수로 사용됩니다. Grok이 링크를 열면 데이터는 공격자 서버의 로그에 남습니다.
Adversa는 Grok이 똑같은 평문 명령은 거부하면서 암호화된 명령은 따르는 정확한 원인을 확신할 수 없습니다. 주요 이론은 Grok의 필터링 가드레일이 모델에 들어오고 나가는 텍스트는 검사하지만, 모델 자체의 코드 실행 결과는 검사하지 않는다는 것입니다. PBKDF2와 AES-256-GCM으로 암호문을 처리하라는 명령은 분류기가 읽을 수는 있지만 그것이 무엇을 여는지 해석할 수 없기 때문에 일반 요청으로 필터를 통과합니다. 추가 명령이 복호화되면 모델 자신의 도구 출력으로 도달하고, 필터링 가드레일의 검사를 받지 않은 채 실행됩니다.
우테프스키는 목요일에 이렇게 작성했습니다. "정적 안전 가드레일은 입력을 텍스트로 분류하며 실행하지 않습니다. 공격자는 암호문과 키 자료, 그리고 이를 복호화하라는 지시를 함께 전달하고, 모델은 자신의 코드 실행 샌드박스 안에서 복호화를 수행합니다. 가드레일 스캐너에 필요한 모든 것이 페이지에 그대로 있지만, 평문을 복구하려면 PBKDF2와 AES-256-GCM을 실행해야 하고, 어떤 콘텐츠 분류기도 검사 시점에 이를 수행하지 않습니다." 이메일에서 연구자는 이러한 가드레일이 "콘텐츠를 텍스트로만 읽기 때문에" 정적이라고 불리며, "코드를 실행하거나 복호화하지 않습니다. 그것이 우리가 악용하는 간극입니다"라고 말했습니다.