안녕하세요

본 글은 오늘 진행된 강원기 디렉터 라이브 방송 정리글입니다

최대한 자세히 받아 적고자 하였는데 제가 컴알못이라 정확한 용어로 받아 적지 못했을 수 있습니다 잘못 적혀있는 부분 말씀해주시면 감사히 수정합니다

[주요 사항]
* 수정 사항 : 5~10초 정도의 로딩 시간이 늘어난다는 문장을 1번 항목으로 이동하였습니다

1. 늦어도 주말까지 데이터 전체 체크(보안 강화)하는 작업 완료할 것. 완료되면 리패킹 등의 행위는 불가해질 것으로 예상 : 적용 시 5~10초 정도의 로딩 시간 늘어날 것으로 예상되며 관련된 최적화 진행 예정
2. 데이터 패킹 암호화 알고리즘 상반기까지 적용 예정. 원천적인 언패킹/리패킹 방어를 위함
3. 더 시드는 1번 사항 적용 후 열겠다. 늦어도 일요일
4. 프레스티지 쿠폰 삭제
5. 금손은손 4월달 출시 예정
6. 매크로 핵 등 전담 인원 확대하였다. 관련해 제재 등 좀 더 타이트하게 관리할 것 
---------

-
1. 기 : 디렉터로서 제일 먼저 나와 용사님들의 불안한 마음을 해결시켜 드렸어야 함에도 역할을 다하지 못했다. 핵 이슈로 혼란스러운 상황을 만들게 되어 죄송합니다. 빨리 찾아뵙지 못하게 되어 정말 사과드린다.

준 : 라이브 방송으로 처음 인사드린다. 최근 상황에 대한 엄중함을 느껴 디렉터님과 함께 했다. 먼저 사과의 말씀 드린다. 최근 핵 이슈가 애정을 갖고 즐겨주시는 용사님들께 불안감을 드리고 있다. 죄송하다. 불안감을 더실 수 있도록 많은 설명 드리겠다.

2. 기 : 오늘 라이브를 킨 이유는 최근의 상황으로 답답하셨을 용사님들께 개발을 책임지고 있는 총괄디렉터로서 상세하고 구체적인 계획에 대해 말씀드리기 위함이다

먼저 이번 일의 공지에서 핵, 데이터 변조, 클라이언트 변조에 대해 정확히 말씀 못 드려 혼란을 가중시켜드린 점 죄송하다. 

3. 예를 들어 해킹이라는 활동은 클라, 데이터, 패킷, 메모리 등을 변조하는 활동을 모두 포함하는데, 클라이언트를 변조하는 것 또한 메모리, 패킷을 변조하는 행위랑 같은 것으로 볼 수 있고, 이런 행위를 돕는 것이 소위 핵이다. 이번에 자주 얘기가 나온 리패커 또한 이런 관점에서 핵 툴로 볼 수 있어 사실상 핵과 클라 변조를 정밀하게 구분하지 않고 동일하게 대응하려는 생각을 갖고 있었다. 그래서 대표적으로 알려진 핵이라는 표현을 사용했다.

중요한 건 이런 모든 행동은 정상적으로 게임을 즐기는 용사님들에게 피해를 입히는 행위이며 이에 대해 다시 한 번사과드린다. 공지에서 충분히 설명드리지 못한 점 죄송하다는 말씀 다시 드린다.

4. 준 : 오늘은 용사님들이 궁금해하시는 부분에 대해 말씀드리고 싶다. 먼저 디렉터님께서는 현재 상황에서 가장 핵심적인 문제가 뭐라고 생각하시는지 묻는다.

기 : 우선 용사님들께서 가장 중요하게 생각하시는 공정성이 위배되는 부분이고 이 부분에서 실망감을 크게 안겨드린 점 저희가 잘못한 부분이라고 생각하고 있다. 물론 당연하게도 핵 사용과 같은 행위가 적용되지 않도록 안전하고 철저한 게임을 구성했어야 하는데 그러지 못했던 점 진심으로 사과드린다

사실 게임을 하면서 내가 이뤄낸 성취와 기쁨을 얻으려 하는 것인데, 내가 플레이하는 게임이 정상적이지 않은 게임으로 이용할 수 있는 걸 알게 된 후의 허탈감은 이루 말할 수 없다고 생각한다. 이런 부분 용사님들께 다시 한 번 진심으로 사과드린다. 

5. 준 : 핵 사용 등이 공정성을 해친다는 말씀을 해주셨는데, 이런 것들이 어떻게 발생할 수 있었는지 설명해 달라

기 : 이런 부분들은 원래 발생하면 안 되는 거였고 저희의 잘못이란 걸 먼저 말씀드린다. 메이플은 온라인 게임이라 클라와 서버에 데이터가 있다. 각각이 분리돼 있고 실행하면 두 개를 비교한다.

현재 시작할 때 클라, 서버의 데이터를 검증하는 과정이 다 적용돼있지 않다. 일부 데이터에 대해서만 체크하고 있다. 서버 데이터가 올바르지 않다고 판단되면 자동적으로 조치가 진행된다. 이는 렉 현상들로 인해 잘못 체크가 될 수 있다. 특히 이동 스킬의 경우 이런 상황이 빈번하게 발생해 강력하게 체크를 하지 않고 있다. 또 체크해야 하는 중요 데이터는 별도로 관리하고 있다. 패치를 통해 일부 누락되는 현상이 있고, 핵 유저들이 이 누락 취약점을 발견해서 핵을 사용하는 현상이 발생했다

준 : 두 가지를 말씀해주셨다. 클라 서버 데이터를 체크하는 부분에서 강력히 하지 않은 부분, 누락이 된 부분이 있떤 것 같다. 근본적으로 데이터 체크 구조의 문제처럼 보인다. 

클라이언트를 언패킹하고 변조해서 리패킹하여 구동하는 방식이라고 하는데 왜 클라이언트 자체의 무결성 검증을 진행하지 않았는지 설명해 달라

기 : 이 배경 설명에 앞서 당연히 체크해야 될 데이터 부분이 모두 업데이트되지 않고 일부 누락된 부분에 대해 저희 업무 프로세스가 잘못된 부분이었던 점 다시 한 번 죄송하다는 말씀 드린다. 누락된 부분은 최우선적으로 업데이트하고 있는 상황이다. 보통 무결성 검증을 하게 되면 실행때마다 하게 되는데 이 과정이 게임 속에서 계속 진행되는 게 아니라 체크하는 단계를 지나면 오히려 더 취약해지는 상황이 발생할 수 있다. 그래서 지금과 같은 방식으로 진행되는 것이 더 실시간 체크에 가까운 개념이라 생각했다. 또한 로딩 시간이 늘어나게 되어 이런 부분이 용사님들께 불편함을 드리는 부분이라고 생각해서 지금의 보안 방식을 채택하였었다.

이 부분이 미스라고 생각한다. 지금은 게임 실행 시간이 조금 길어지더라도 보안을 강화하는 게 맞다고 생각하고 있
다.

6. 준 : 지금 알려진 리패킹, 언패킹 방식들도 해결돼야하는 문제라고 생각한다
기 : 무엇인지 먼저 말씀드리면 데이터를 만들 때 핵심 데이터를 묶어주는 작업을 패킹이라고 한다. 언패킹은 풀어주는 것, 리패킹은 풀어둔 데이터를 동작할 수 있게 하는 것을 말한다. 언패킹을 막을여면 클라이언트 암호화 방식을 변경해야 하는데, 이렇게 되면 바꿀 때마다 용사님들이 전체 데이터를 다운로드하셔야 돼서 불편함이 가중되고, 반복되어 추가적인 변경을 진행하지 않고 있었다. 이 부분에 대해 저희가 판단을 잘못 했다라고 생각하는 부분이었다.

저희는 데이터 검증 시스템으로 충분히 방어가 가능하다 생각하였지만 일부 누락된 부분으로 보안이 뚫린 부분이 발견되었다. 이러한 부분을 거치며 안전하게 게임할 수 있는 환경이 해쳐진 것 같다. 이번 사건을 계기로 보안에 무엇보다 핵심 가치를 두어야 한다고 다시금 확인하게 됐다.

이에 따라 데이터 패킹 암호화 알고리즘을 적용할 예정이며 최우서 작업으로 하고 있다. 빠르면 상반기 적용 예정이다

7. 준 : 최근에 한 보안 관련 업데이트에 대해 설명해달라
기 : 가장 먼저 누락된 데이터 체크 파일에 대해 업데이트를 계속하고 있다. 오늘 진행된 패치로 핵 매크로 탐지 강화 작업을 했었는데. 보안 강화 일환으로 지금 알려진 스킬 관련된 데이터 체크 작업들을 우선적으로 반영하였다

그와 더불어 지금까지는 중요한 데이터에 대해서만 하고 있던 것을 전체 파일에 대해 체크할 수 있는 작업을 하고 있다. 화요일부터 하고 있다. 빠르면 내일, 늦어도 일요일까지는 될 것 같다

준 : 주말까지 적용하신단 말씀이신가?
기 : 그렇다. 전체 패치가 적용되면 지금과 같이 리패킹 등의 행위는 정상적으로 클라이언트가 실행되지 않고, 탐지를 통해 제재가 진행될 것이다. 다만, 클라이언트 로딩 시간이 조금 길어질 수 있다. 측정한 예상 시간은 5~10초 정도이며 줄이기 위해 내부적으로 최적화 작업을 진행하고 있다. 그리고 언패킹, 리패킹 자체를 원천적으로 방어하기 위해서 데이터 패킹 암호화 알고리즘에 대해 적용할 예정이다. 고도화된 알고리즘을 적용할 예정이다. 이는 늦어도 상반기 중에 적용할 수 있도록 하겠다. 이번 주 작업이 끝나면 데이터를 활용한 클라이언트 변조는 원천적으로 막힐 것이라 생각된다

준 : 넥슨에서도 관련하여 최선을 다하겠다

8. 준 : 유저분들이 이런 과정 속에서 질문을 주시고 계신데 몇 가지 질문을 몇 가지 확인해보면 좋을 것 같다
우선 몇 가지 핵 리스트에 대해 궁금증이 많으실 것 같다. 설명해 달라

기 : 우선 알려진 리스트에는 없지만 새로 알려지고 있는 리스트도 인지를 하고 있따. 우선은 가장 발생했을 때 크리티컬 할 수 있는 그리드는 검수를 해보았고, 불가능함을 명확히 확인하였다. 시드, 맵 조작 핵 등 가능했던 부분은 불가능하도록 하게 하였다. 계속해서 방어 작업을 하고 있는데, 이 부분은 창과 방패라고 생각한다. 내일 모레 주말까지 전체 crc 검사가 추가되면 대부분의 핵은 막힐 거라 생각하고 있고, 막히더라도 당분간은 핵 사용 감지 민감도를 높여 보호모드, 팅, 제재 등의 수위를 타이트하게 진행할 예정이다

준 : 지금 계획한 방법으로 핵이 해결될 수 있는지, 클라를 다시 만들어야 되는지에 대한 궁금증도 제기된다
기 : 우려하시는 것처럼 클라이언트를 다시 만들어야 된다든가 하는 수준은 아니다. 앞서 말씀드린 것처럼 모든 데이터에 대한 체크가 주말까지 도입이 완료될 것이고(빠르면 내일) 이외 데이터 패킹 암호화 알고리즘에 대해서도 상반기 중에 도입이 될 것 같고, 흔히 이의 경우 바꿔도 금방 뚫린다고 생각하는데 그렇게 안 뚫릴 것이라 생각하고 있다.

녹방은 아니다. 열심히 채팅도 보고 있다

9. 프레스티지 bm에 대해서 말씀을 많이 주신다. 이거는 갑자기 다른 얘기가 됐는데 채팅창에서 많이해주셔서 말씀드리고 가겠다.

가격 책정을 한 게 기존 로얄 쿠폰의 경우 보통 시즌에 헤어는 인당 3개 정도, 성형은 인당 4개 정도 구매를 해주고 계셨다. 그래서 선택형으로 가는 과정에서 이 부분을 고려해서 3배 정도로 책정했었다. 이에 따라 등급을 나누고 프레스티지 헤어는 15000, 성형은 9900이라는 가격을 책정했다. 

다만 테섭 적용 후 원하시는 방향을 인지하여 5500/3500 두 가지의 프리미엄 쿠폰만 판매하고 프레스티지는 삭제될 것이다. 프리미엄 선택 쿠폰만 출시할 것이며 여기서 기존 목록에서 얻으실 것들을 모두 얻으실 수 있다. 목록은 늘어난다(신규 포함). 저희가 용사님들께서 사실은 원하시는 부분을 이해를 못 했던 부분이었다.  이 부분에서도 잘못한 부분이었던 것 같다. 사과드린다

10 . 준 : 보안 이슈로 다시 돌아가 보겠다. 핵/매크로 모니터링 관련해서 인력 등 전반적인 계획에 대해 말씀해달라
기 : 저희가 데이터 전체 체크는 이번 주 중으로 반영할 것이고, 강화되면 핵 매크로에 대해서도 더 강하게 대응할 것이다. 화요일부터 이슈가 발생하고 나서 모니터링 인원을 늘려 제재를 진행하고 있다. 이에 대한 민감도도 높여 더 빠르고 타이트하게 제재를 진행하고 있다.

11. 준 : 그리고 메이플에서의 매크로 방지책이 효용은 없고 일반 유저들에게 불편함을 초래한다는 의견에 대해 설명해달라

기 : 이 부분에 대해서는 최근에 말씀 주셨던 부분들에서 대표적으로 비올레타를 말씀 주셨다. 비올레타의 경우 모두가 예상하시는 것처럼 한 명이 다수의 pc를 운영하는 작업장을 타겟으로 만들어졌다. 기존 작업장은 한 명이 최대 7개까지 해제하는 걸 보고 비올레타를 만들었다. 가장 큰 목적은 동시에 한 개만 해제할 수 있게 만들어, 작업장의 효율을 낮추는 데 있었다. 그런데 최근에 핵 관련해서 각종 이슈가 나오며 비올레타 시스템을 여러 방식으로 답을 미리 확인할 수 있는 등의 얘기가 나오는데 답을 알 수 있긴 하나 여러가지 장치를 숨기고 있다. 이를 공개하면 타격을 입을 수 있는데 신뢰도 회복을 위해 조금 말씀드리자면. 정답을 입력했다 하더라도 입력하는 방식과 사용 프로그램을 검사해서 여기에서 비정상 활동에 대한 흔적을 찾고, 제재하고 있다. 이 부분에 대해서도 일부 핵 개발자는 알고 있다. 그 과정에서 막고, 작업장 단속을 반복하고 있다. 더불어 여러 요소를 통해 작업장 구조를 판단하여 제재하는 솔루션도 진행하고 있다.

12. 기 : 시드는 마이너 패치 후에도 잠시 닫아두고 있는데 시드에 대해서는 핵, 매크로가 확실히 막히고 나서 재오픈을 하겠다. 데이터 체크가 다 적용되는 시점에 맞춰 재오픈 하겠다(주말 즈음) 그리고 이건 핵이랑 다른 얘기긴 한데(채팅창에서 얘기 나온 듯), 금손 은손은 4월달 20주년 업데이트 때 재출시 예정하고 있다

13. 준 : 최근 문제들과 진행 중인 사안에 대해 전반적으로 설명 드렸는데 추가적으로 말씀드리고 싶은 내용이 있는지

기 : 사실 제가 이 자리에 오늘 나오기까지 많이 고민했다. 지난 번 방송 후 두렵기도 했었고 용사님들께 방송서 말씀드리는 거 자체가 면목이 없다고 생각했다. 그때 방송에서 했던 말들이 제가 하고 싶었던 말들이 의도와 다르게 전달되었지만 그런 부분에서 표현이 잘못되었었다. 말하는 능력이 부족한 사람인데 방송에 계속 나와도 되나 하는 자책이 많이 들었다. 저희가 부족한 부분들이 있고 개선한다고 말씀 드렸지만 이슈가 된 부분에서 박탈감, 상실감, 고정성을 해치는 부분에서 힘들어하시는것들에 비해 제가 힘든 게 비할 바가 아닌데 어떤 식으로든 사과드리고 싶었다. 앞으로 이런 부분이 게임에 영향을 주지 않도록 직접 말씀드리고 노력하는 모습을 보여드리는 게 메이플을 사랑하시는 용사님들께 최소한의 도리라고 생각했다. 더 열심히, 완벽하고 잘 했어야 되는데 그러지 못했던 점 다시 한 번 진심으로 사과드린다. 죄송하다 

저에 대해 질책, 비판, 욕하시는 것 모두 달게 받겠다. 저 말고 개발실에 대한 부분은 자제 부탁드린다. 다들 열심히 하고 계신다. 건의 등 말씀해주시는 것 적극적으로 반영하겠다. 최근 상황으로 인해 불안, 혼란을 겪으신 용사님들께 진심으로 사과 드린다. 메이플에 대해 깊은 애정에서 우러나오시는 용상님들께 마지막으로 안심하고 게임 하실 수 있도록 최선을 다하겠다. 안심하고 게임할 수 있는 환경을 만들어드리겠다

준 : 저도 진심어린 사과 드린다. 용사님들께 즐거움을 드릴 수 있도록 최선 다하겠다. 죄송하다
-
이 글은 30추만 보내주시면 감사드리겠습니다