게임 서비스에 대한 모의해킹 이벤트
기존 resistance 프로젝트를 kubernetes로 배포하면서 모의해킹 이벤트를 소소하게 준비했다.
음 사실 kubernetes로 서비스를 배포해서 운영하는데 테스터들이 필요했다.

동아리에서 가볍게 참여할 인원을 모집했는데, 외부 인원까지 합쳐서 20명 가량 모여서 모의해킹을 진행했다.

그리고 명세서나 취약점 보고 양식을 노션으로 배포해서 이벤트를 진행했다.
게임도 원래 모바일 게임인데 WebGL로 포팅해서 가볍게(가볍지 않았다.) 웹으로 배포해서 진행했다.

모바일에서도 열리긴 하던데.. 솔직히 해상도 안맞고 게임하기 불편한 부분이 좀 보였다.
애초에 개발 단계에서 어떤 취약점도 막지 않았다. jwt와 Vault 라이브러리로 비밀번호 암호화하는 정도?
ssh/tls 설정도 안했는데 왠지 모르게 설정이 더 빡빡했다. 그놈의 https 안쓸거냐고 왜이리 닦달인지 원..
노션에 적어놓은 시스템 호출도 못할거 같아서 각 마이크로서비스의 Swagger도 그대로 뒀다.
게임이 원체 불편하고 불친절하다보니 API 명세서라도 보라고 의도한건데 도움 됐을런지 모르겠다.
1. 자고 일어났는데 오류가 넘쳐난다!

새벽에 배포하고 일어났는데 그새 누가 게시글을 지워놔서 오류 로그가 뜨고 있었다고 한다.
최신글이 올라왔는지 timestamp를 확인하는 API가 있는데 빈 값이라 로그를 출력하도록 했었는데 이거 때문에 계속해서 오류가 출력되고 있었던거였다.
다른 분들을 위해서 게시글만 다시 작성해뒀다.
2. 주요 취약점
로그인에 사용한 토큰으로 다른 사용자의 데이터에 접근하거나 게시글을 삭제할 수 있는 취약점으로 서비스를 공격한 내용이 많았다.
jwt 토큰값과 요청하는 사용자의 id를 검증하는 과정을 우회할 수 없도록 빡빡하게 처리했다.
바로 조치해서 잠수함 패치하고 취약점 발견자에게 개선사항을 알렸다.
느낀점 및 후기
기능 자체는 일반적인 웹서비스보다 더 많은거 같은데, 게임이다보니 모의해킹을 위한 로직 실행이나 테스트하기 불편한 부분이 많다는 어려움이 있는거 같다.
kubernetes 서비스의 취약점 찾는 경험을 할 기회가 별로 없을 거라 생각해서 모의해킹을 준비했는데 그냥 웹해킹이 되어버린거 같아서 아쉽다.
'project > resistance' 카테고리의 다른 글
Kubernetes 운영과 모니터링 및 오류 해결 (0) | 2024.12.17 |
---|---|
Kubernetes 배포를 위한 클라우드 환경 구축 (0) | 2024.11.27 |
웹서버 마이그레이션, MSA 설계하기 (1) | 2024.11.27 |
환율 변동과 환전 시스템 구현 (Redis 캐싱으로 성능 개선) (0) | 2024.11.23 |