🇺🇸 English 🇰🇷 한국어 🇯🇵 日本語
홈 › SaaS & 클라우드
SaaS & 클라우드

ChatGPT 공유 링크로 계정 탈취 가능했다…비공개 대화 노출

보안업체 파라미터는 10월 28일 악성 ChatGPT 공유 링크로 로그인한 사용자의 세션에서 공격자 코드를 실행하고 비공개 대화를 읽을 수 있었다고 밝혔다. 오픈AI는 이를 P1 등급으로 분류해 10월 26일 수정하고 포상금 5,000달러를 지급했다.

악성 ChatGPT 공유 링크 하나로 로그인한 사용자의 계정을 장악하고 비공개 대화까지 읽을 수 있었다고 보안업체 파라미터(Parameter)가 10월 28일 공개한 보고서에서 밝혔다. 파라미터는 10월 18일 오픈AI 버그바운티로 신고했고, 오픈AI는 이를 최고 등급인 P1로 분류해 10월 26일 수정을 마치고 포상금 5,000달러를 지급했다. 해외 보안 매체 더해커뉴스(The Hacker News)도 10월 31일 보도했다.

사용자 질문과 답변이 표시된 ChatGPT 대화 화면
ChatGPT 대화 화면(자료사진). 파라미터의 공격은 이런 대화를 공개 공유하는 데서 시작됐다. 사진: Lugab89 / 위키미디어 공용(CC BY 3.0)

핵심 정리

  • 조작된 공유 링크를 열기만 해도 공격자 코드가 피해자 세션에서 chatgpt.com 권한으로 실행됐다.
  • 통제된 시험에서 연구진은 피해자의 대화 목록을 불러오고 한 번도 공유되지 않은 비공개 대화를 읽었다.
  • 오픈AI는 10월 26일까지 웹 프런트엔드 두 곳을 모두 고쳤다. 파라미터는 실제 악용 사례를 보고하지 않았다.

ChatGPT 공유 링크 계정 탈취, 어떻게 가능했나

파라미터 연구원 무쿨 고얄(Mukul Goyal)은 'Do the Math: How We Took Over ChatGPT Accounts'라는 글에서 공격 과정을 공개했다. 출발점은 인터랙티브 그래프가 들어간 공개 공유 대화였다. 그래프가 오픈소스 수식 입력 라이브러리 매스라이브(MathLive)를 불러오면서 메인 페이지에 메시지 수신기가 생겼다.

ChatGPT의 HTML 미리보기(Preview)는 신뢰할 수 없는 코드를 별도 출처(origin)의 격리된 프레임에서 실행한다. 그러나 이 프레임도 메인 페이지로 메시지를 보낼 수 있었고, 매스라이브의 수신기는 보낸 쪽을 확인하지 않았다. 메시지 하나로 라이브러리의 가상 키보드 배열을 공격자가 넣은 HTML로 바꿀 수 있었고, 매스라이브는 이를 정제하지 않은 채 페이지에 삽입했다.

삽입된 코드는 샌드박스 속성이 없는 아이프레임을 만들었고, 이 프레임은 chatgpt.com의 신원을 그대로 물려받았다. ChatGPT의 콘텐츠 보안 정책(CSP)은 인라인 스크립트를 막았지만 유튜브는 허용했다. 연구진은 문자열을 자바스크립트 응답에 반사하는 유튜브 oEmbed 주소로 코드를 공급했다.

고얄은 "피해자는 앱을 설치하거나 프로젝트에 참여하거나 코드를 붙여 넣거나 개발자 도구를 열 필요가 없었다"며 "공유 링크를 여는 것이 유일하게 필요한 행동이었다"고 썼다.

공격자가 볼 수 있었던 것

코드는 로그인 상태의 ChatGPT 프런트엔드 API를 호출할 수 있었다. 파라미터는 시연에서 최근 대화 목록을 불러오고, 서로 다른 시험 계정 사이의 비공개 대화를 연 뒤 일부를 자사 서버로 보냈다.

오픈AI 버그바운티 수정 일지

파라미터에 따르면 오픈AI는 10월 21일 문제를 재현하고 심각도를 P2에서 P1로 올렸다. 22일 웹 프런트엔드 한 곳을 고쳤고, 23일 CSP 변경으로 공격 사슬 일부를 막았으며, 26일 두 프런트엔드 모두 해당 메시지를 거부하도록 해 해결 처리했다.

맥락: 공유 콘텐츠가 공격 통로가 됐다

파라미터가 꼽은 근본 원인은 세 가지다. 매스라이브가 발신자 확인 없이 메시지를 받아들였고, 메시지가 원시 HTML을 담을 수 있었으며, 그 HTML이 샌드박스 없는 문서를 만들 수 있었다. 고얄은 "CSP는 가치 있는 다층 방어지만 안전하지 않은 렌더링 경로를 안전하게 만들 수는 없다"고 지적했다.

전망: 개발자가 점검할 부분

파라미터는 postMessage로 들어온 지시를 처리하기 전에 event.origin과 event.source를 모두 확인하고, 창 사이 설정값으로 원시 HTML을 넘기지 말며, 동적으로 만든 문서는 샌드박스 안에 두라고 권고했다. 고얄은 "격리는 그것을 가로지르는 모든 다리만큼만 강하다"고 썼다.

자주 묻는 질문

ChatGPT 사용자가 해야 할 조치가 있나?

없다. 더해커뉴스는 "수정은 오픈AI 쪽에서 이뤄졌으며 설치하거나 초기화할 것이 없다"고 보도했다.

실제 공격에 쓰였나?

파라미터는 통제된 시험 외의 악용 사례를 보고하지 않았다.

참고 자료

#ChatGPT #챗GPT #오픈AI #파라미터 #매스라이브 #계정 탈취 #보안 취약점 #버그바운티 #XSS #웹 보안
정
정승
AI Newsway · 개발자

AI Newsway의 편집 책임자이자 개발자입니다. 인공지능·개발 도구·클라우드·생산성 기술 기사를 씁니다.

기자의 다른 기사 ›
저작권자 © AI Newsway 무단전재 및 재배포, AI학습 및 활용 금지
공유
f X K

댓글 0

현재 댓글 작성이 비활성화되어 있습니다.

첫 댓글을 남겨보세요.