Pogl
기술·

AI 시대에 Pogl이 사이버 보안을 지키는 방법

최근 Pogl과 비슷한 서비스에서 개인정보가 유출되는 사고가 있었습니다. Pogl은 이를 계기로 모니터링과 보안 조치를 한층 강화했고, 지난 한 달 동안 들어온 공격 시도를 모두 안전하게 차단했습니다.

먼저 훑어보고 정리했어요
  • 10월 21일 홈 화면에 요청 2,600만 건이 몰리는 디도스 공격을 받았습니다. 지금은 로그인하지 않은 사람이 보는 화면을 CDN이 나눠 주고, 같은 순간에 몰린 요청은 DB에 한 번만 묻습니다.
  • 그 뒤로도 AI 탈옥 지시문, 가짜 결제 영수증, 서버 비밀번호 대입, 웹 취약점 스캔이 이어졌습니다. 모두 막혔고, 이 시도로 지급된 코인과 크레딧은 없습니다.
  • 모든 시도를 안전하게 차단했습니다. 이용자분들의 계정과 코인, 만든 게임에는 영향이 없으며, 따로 하실 조치는 없습니다.

Pogl을 쓰는 사람이 늘면서 공격 시도도 꾸준히 들어오고 있습니다. 최근 Pogl과 비슷한 서비스에서 개인정보가 유출되는 사고가 있었고, 이를 보며 Pogl은 모니터링과 보안 조치를 한층 강화했습니다. 11월 13일에는 지난 기록을 다시 열어, 어떤 시도가 있었고 어디서 막혔는지를 하나씩 확인했습니다. 만들기 요청과 AI 대화, 결제 기록, 서버 접속 기록, 웹 요청 기록을 함께 봤습니다.

결론부터 말씀드리면 모든 시도를 안전하게 차단했습니다. 서버와 DB에 들어온 흔적, 비밀 키가 밖으로 나간 흔적은 없었고, 이용자분들의 계정과 코인, 만든 게임에도 영향이 없습니다. 이용자분들이 따로 하실 조치는 없습니다. 아래는 시도별로 정리한 내용입니다.

10월 21일, 디도스 공격을 받았습니다

10월 21일 오후 6시, pogl.com 홈 주소로 디도스 공격이 들어왔습니다. 요청 2,600만 건이 한꺼번에 몰렸습니다. 방화벽이 대부분을 걸렀고, 통과한 260만 건은 하나하나 DB를 읽었습니다.

로그인하지 않은 사람에게 보이는 홈 화면은 누가 보든 거의 같은데, 요청이 올 때마다 DB에서 게임 목록을 새로 읽고 있었습니다. 요청 수가 늘면 DB가 받는 양도 그대로 늘어나는 구조여서, 공격 직후 이 구조를 바꿨습니다. 바꾼 것은 두 가지입니다.

  • 로그인하지 않은 사람이 여는 홈과 탐색 화면은 CDN이 60초 동안 같은 화면을 나눠 줍니다. 이 요청은 서버까지 오지 않습니다.
  • 서버까지 온 요청도, 공개 게임 목록처럼 누구에게나 같은 자료는 15초 동안 기억해 둡니다. 같은 순간에 몰린 요청은 하나로 합쳐 DB에 한 번만 묻습니다.
바꾸기 전요청2,600만 건방화벽260만 건 통과서버요청마다 DB 읽기DB요청마다 읽음지금요청로그인 안 한 화면CDN60초 같은 화면서버15초 기억 · 합치기DB가끔 한 번점선은 기억해 둔 화면·자료가 없을 때만 지나가는 길
로그인하지 않은 홈 화면 요청이 지나가는 길. 지금은 요청이 아무리 많아도 DB가 받는 양이 거의 늘지 않는다.

같은 상황을 시험 환경에서 다시 만들어 확인했습니다. 로그인하지 않은 홈 화면 요청 1,000개를 동시에 보냈을 때, DB가 받은 쿼리는 바꾸기 전 15,567번에서 바꾼 뒤 12번으로 줄었습니다.

AI에게 규칙을 어기게 하려는 시도는 기획 단계에서 멈췄습니다

만들기 칸에 게임 설명 대신, 인터넷에 도는 «AI 탈옥 지시문»을 붙여 넣은 경우가 있었습니다. AI에게 원래 규칙을 무시하라고 지시하는 글입니다. 10월 21일부터 11월 7일까지 5명이 7번 시도했고, 영어·중국어·한국어 지시문이 섞여 있었습니다. 다른 게임의 핵이나 자동 조준 프로그램을 만들어 달라는 요청도 함께 들어왔습니다.

Pogl은 만들기 요청을 받으면 먼저 기획 AI가 요청을 읽고 기획서를 씁니다. 7번 모두 이 단계에서 «게임 요청이 아님»으로 멈췄습니다. 만들어진 게임도, 공개된 게임도 없습니다. 학교 인터넷 차단을 우회하는 프로그램이나 Pogl 코인을 주고받는 장치처럼, 게임 모양을 한 악용 요청도 같은 단계에서 거절했습니다.

만들기 요청탈옥 지시문 포함기획 AI게임 요청인가기획서게임일 때만만들기→ 검사 → 공개멈춤 · 7번 모두
만들기 요청이 지나가는 길. 게임이 아닌 요청은 기획서를 쓰기 전에 멈추고, 만들기와 공개로 넘어가지 않는다.

가짜 결제 영수증은 서버가 거절했습니다

앱 결제를 조작하는 프로그램으로 만든 가짜 영수증도 들어왔습니다. 한 계정은 가입한 지 2분 만에 서명이 맞지 않는 영수증을 3번 냈고, 다른 계정은 1분 동안 확인되지 않는 결제를 8번 냈습니다.

Pogl은 앱에서 결제가 끝났다는 신호만으로 코인을 주지 않습니다. 서버가 영수증의 서명과 결제 기록을 직접 확인한 뒤에 지급합니다. 그래서 두 경우 모두 지급된 코인과 크레딧은 없습니다. 가짜 영수증을 낸 계정에는 자동으로 경고가 걸렸고, 같은 브라우저를 쓰는 다른 계정에도 함께 걸렸습니다.

서버 로그인 시도와 취약점 스캔은 모두 실패했습니다

11월 1일부터 서버 두 대에 비밀번호를 바꿔 가며 로그인하려는 시도가 약 1만 6천 번 있었습니다. 대부분 인터넷 전체를 돌며 아무 서버에나 시도하는 자동 프로그램이었고, 그중 71번은 «pogluser»처럼 Pogl 이름을 넣은 계정으로 시도했습니다.

저희 서버는 비밀번호 로그인을 꺼 두고, 미리 등록한 키로만 접속할 수 있게 해 두었습니다. 그래서 이 시도는 전부 실패했고, 성공한 로그인은 모두 저희가 등록한 키였습니다.

웹 주소로 .env, .git, wp-admin처럼 설정 파일이나 관리 화면이 흔히 있는 경로를 찔러 본 요청도 있었습니다. 이런 파일과 화면은 공개 주소에 없기 때문에 모두 «없는 주소»로 응답했습니다.

Pogl이 보안을 지키는 원칙

이번에 들어온 시도가 모두 막힌 것은 처음부터 아래 원칙을 지켜 왔기 때문입니다.

  • 중요한 권한은 서버 규칙에 둡니다. AI에게 어떤 지시문이 들어와도, 코인 지급과 결제, 게임 공개는 서버가 따로 확인합니다.
  • 누가 보든 같은 화면은 DB까지 보내지 않습니다. 공격 요청이 아무리 많아도 DB가 받는 양은 거의 늘지 않습니다.
  • 서버는 등록한 키로만 열립니다. 비밀번호 로그인은 꺼 두었고, 설정 파일과 관리 화면은 공개 주소에 두지 않습니다.
  • 기록을 꾸준히 다시 확인합니다. 공격이 막혔는지 기록으로 직접 확인하고, 새로운 방식의 시도가 보이면 바로 대응합니다.
  • AI로도 꾸준히 점검합니다. Anthropic의 Cyber Verification Program을 통해 Mythos로도 서비스를 지속적으로 모니터링하고 보안을 점검하고 있습니다.

정리하며

  • 지난 한 달 동안 들어온 디도스 공격, AI 탈옥 시도, 가짜 결제, 서버 로그인 시도와 취약점 스캔을 모두 차단했습니다.
  • 이용자분들의 계정과 코인, 만든 게임에는 영향이 없으며, 따로 하실 조치는 없습니다.
  • 공격 시도는 앞으로도 계속 들어올 것으로 보고, 기록을 꾸준히 점검하고, Anthropic의 Mythos로도 지속적으로 모니터링하며 대응하겠습니다.

다른 글