일단 이전에 내가 쓴 글에서 말했 듯 겜 개발자로 일하고 있어서 온라인 게임 서비스 관련 코드도 많이 봤었거든
원래 게임 개발자 하다보면 이런저런 서드파티 모듈을 많이 만져보게 됨
(아닌 곳도 있지만, 내가 경험한 회사들은 그랬었음 ㅇㅇ)
그래서 기초적인 보안 지식은 박혀있는데, 이번에 메랜 핵 뚫리는거 보고 설마설마 싶었던 일이 실제로 발생하고 있었어서 좀 많이 놀라웠다, 그래도 머기업에서 관리하는 툴즈로 만드는 게임인데 이정도로 보안이 처참할 줄은 몰랐거든
일단 빠르게 이유를 설명하자면
원래 MMORPG라는 게임은 특성 상 실시간으로 서버와 데이터를 주고 받음, 당연히 서버에서 허락을 안하면 어떤 것도 못하고, 실제 데이터에도 반영이 안 됨, 그래서 클라이언트를 변조해도 소위 겉 값으로만 데이터가 나오고 실제로는 적용되지 않는 거임
당연히 해커들의 타겟은 저 서버로 보내는 값인데, 해당 값은 스니핑(Sniffing)이라는 해킹 방법으로 가져올 수 있음, 원리는 간단함, 아까도 말했듯 클라이언트에서 요청을 해야 서버는 응답을 하거든, 당연히 유저들 컴퓨터에 있는 클라이언트에서 값을 보내고, 그 값을 보내기 위한 일종의 경로가 마련되어 있음
그 경로에서 값을 읽어오기만 하면 되, 말만 들으면 어려워 보이지만 님들이 잘 아는 치트 엔진, 치트 오매틱이 이런 곳에 사용이 됨, 방법도 어렵지 않고
당연히 이건 게임사도 알고 있기 때문에 아주 기본적인 1차 적 조치로 배열 암호화를 사용함
암호화가 별개 아님 "ufuisdfhuidhfiudsiusdfhuisdfhuisdisdhf" 이런 식의 의미 없는 긴 배열의 문자를 보내는 데이터에 덮어 씌우는거야
모든 서버로 보내는 데이터는 1바이트 단위로 나눠서 보내기 때문에 그 1바이트마다 위의 의미 없는 나열을 차례대로 적용 시키는 거지
물론 이 방법은 너무 널리 알려져 있는 기초적인 암호화라 패킷을 패턴화해서 분석하다보면 뚫리게 되어 있음, 동일한 문자열을 사용하니까
그래서 보통은 아주 긴~~~ 배열을 쓰거나, 패치 때마다 바꾸거나, 아니면 저 패킷 값 마저도 요청마다 바꾸는 방법(결제 모듈, 로그인 등에서 주로 사용하고, 이 값을 '토큰(Token)'이라고 부름)을 씀
근데, 메이플 랜드에서 보내는 모든 패킷(서버로 보내는 데이터)은 암호화가 전혀 되어 있지 않음, 보여줄 수는 있지만 보여줬다간 내가 철컹철컹 될 수도 있어서 못 보여주고...
(현재 글을 쓰는 시각 기준으로도 암호화는 되어있지 않음)
내가 본대로라면 진짜 님들이 상상할 수 있는 모든 버그가 사용 가능 하다는 점만 알려줌
남이 드롭한 템을 뺏는 것도 가능하고, 특정 장비를 드롭한 기록이 있다면 해당 장비만 드롭하게 변조할 수도 있음
(무한 노우 드랍이나... 무한 뇌전 드랍도 가능함...)
물론 위처럼 대놓고 DB상에 들킬 수 있는 핵을 쓰면 운영 측에서 바로 눈치챌테니 아마 저런 건 못쓰겠지만
그 외에는 은근슬쩍 스리슬쩍 얼마든지 쓸 수 있다는 거임
가뜩이나 운영진 수도 적기 때문에 저런 내용을 전부 확인하는 것도 사실상 불가능할거고, 핵을 만드는 인간들은 저걸 노리는거지...
운영진들이 어떤 사람들인지 내가 모르니까 판단은 못하지만, 이번 문제는 지금의 운영진으로서 감당할 수 없는 수준이라고 생각함
인력은 압도적으로 부족한데, 메이플스토리 월드측은 ㅈ같은 불공정 계약에, 패널티를 몇 개는 걸어두고 남일 모르쇠 시전하고 있으니까, 개발 측 입장에서도 할 수 있는게 전혀 없는거임
보안 모듈도 결국엔 메이플스토리 월드꺼를 써야하는데 그게 뚫리면 진짜 운영진으로선 할 수 있는 방법이 없음
그나마, 할 수 있는 방법이 위에서 말한 패킷 암호화 인거지 ㅇㅇ
그래서 메랜 운영진이 이 글을 볼지는 모르지만 만약 보게 된다면 위의 암호화만이라도 적용해줬음 좋겠음
나도 메랜 재밌게 즐기는 사람이고, 개발자로서 운영진이 지금 매우 힘든 상황이라는 걸 알기 때문에 나는 응원해주고 싶음
아.. 근데 저 분명 클레릭으로 사냥하는데 공격 패킷에 파이널 어택이랑 쉐도우 파트너, 소울 에로우는 왜 들어가 있나요...? 직업 별로 필요하지 않은 값은 안 넣으셨으면 좋겠어요...
기기에 부수적으로 인기 많아지면 소소하게 수입가져갈수도 있게할게 하고 만든건데 이게 주객이 전도돼서 RPG만들고 돈이 주된게 돼서 그런거임
메이플 월드는 닌텐도 '차근차근 게임코딩'같은걸
생각하고 출시한거라... 저 게임도 코딩 어떻게 했는지 다 볼수있고 수정도 가능함.
돈은 프메 개발자들이 코딩 가지고 노는 게임에 RPG구현하고 돈벌이 하고있는데 이걸 넥슨을 욕하네ㅋㅋ
패킷에 정말 별의 별 정보가 다 들어있고, 지금 나오는 핵들과 비교가 안되는 수준의 핵도 나올 수 있기 때문에, 그걸 막지 못한다면 서비스 종료 수순을 밟는게 오히려 현명하다고 생각해요