"핵에 관한 경험적 고찰"을 읽고 감동 받아서 "핵 동작 불능 작업을 왜 안하는가?"글 올려봅니다

<<기술지원 카테고리만 작성할 수 있어서 여기에 올립니다. 다른 카테고리 작성 방법을 알려주시면 감사하겠습니다.>>

“핵에 관한 경험적 고찰” 장문의 글 잘 봤습니다. 대부분이 저의 생각과 비슷하였고 우리들의 외침 같은 글이라 정말 감사드립니다.
저는 왜 블리자드가 핵 동작을 불능 시키는 업데이트와 싸움을 하지 않는지에 고민을 하고 있습니다. 핵의 동작원리는 크게 몇 갈래가 있지만 대부분은 메모리상 플레이어 위치 주소값에 접근하여 동작하는 방식을 취하고 있습니다.
메모리의 구조와 주소가 바뀌게 되면 핵 개발자는 거기에 맞춰서 핵을 업데이트 하여야 합니다. 창과 방패의 싸움이지만 노력을 보면 게임쪽은 적게 들고 핵쪽은 많이 드는 구조입니다. 장기전이 된다면 유리한데 핵 동작 불능 업데이트가 되는 경우를 옵치2에서 본적이 없습니다. 매번 업데이트가 되면 동작 불능이 며칠만이라도 된다면 그사이 경쟁좀 뛰어야 겠다 생각으로 기대하며 업데이트 직후 플레이 해보지만 상황이 바뀌지 않더군요. 핵 사용자를 잡아내서 처벌을 주는 것에만 노력을 하는것 같습니다.
중고 게임을 구하게 되면 스팀등의 계정이 저렴한 가격에 따라옵니다. 그래서 스팀 계정유저가 핵이 많은게 아닌가 생각됩니다.
@@@계정이 저렴하게 거래가 되니 정지 먹으면 또 계정을 구매해서 사용하니 악순환이 아닌가 생각이 됩니다.@@@
제가 보기에는 40% ~ 70% 정도가 핵 유저인것 같습니다. 이제는 핵 동작 불능 방향으로 블리자드에서 노력을 해주셔야 할 때가 된것 같습니다.
1~2일 정도면 핵 프로그램이 업데이트 하며 따라올것 입니다. 하지만 작은 노력으로 바로 핵 동작 불능 업데이트를 해버리면 핵 개발자는 그것 보다는 더큰 노력으로 업데이트를 하게 됩니다.
장기전 지속적인 동작 불능 업데이트로 밀어부치면서 선량한 유저들을 보호해 주셔야지 않겠습니까? 권선징악을 바래봅니다.

  • 은퇴한 타사 개발자 올림 -
좋아요 3개

인정합니다 대놓고 핵 쓰는 사람들이 많은데도 정지가 너무 늦게 된다는 것도 문제라고 생각합니다 신고하면 거의 3달? 길만 5달 뒤에 정지가 들어간다고 하던데요

좋아요 2개

핵이 너무 많아서 유튜브에서 정보 좀 찾아봤는데.
요즘은 메모리 / 패킷 이렇게 사용되나보더군요.

메모리는 클라이언트 다 털려서 즉시 반영되는 수준이라는 말이 있었고
패킷도 다 분석되어서 그냥 실시간으로 털리는 거 같더군요.

종단간 암호화 방식을 고도화 시킬 필요가 있어 보이는데.
이때 핑 문제나 다양한 문제가 있을 수 있는 거 같습니다.

현재 치팅 프로그램 개발자(개발사)들이 거의 실시간으로 대응한다는 이야기가 있는데.
클라이언트 보안이 얼마나 허술하길래 이런지 궁금하긴 합니다.

이렇게 쉽게 털리는 것을 보면 개발진 중 부업으로 해킹 프로그램 소스를 공급하는 사람이 있는 것은 아닌지 의심될 정도입니다.

1차 벤더에게 소스를 공급하고 판매는 2차 3차 벤더로 내려가는 방식이 아닐까 싶은 상상을 해보았습니다.

좋아요 2개

저는 은퇴한지 꽤 오래되었고 그 후 개발은 하지않고 취미로 리버싱 조금 하는 정도라 요즘 실태를 잘 알지 못합니다. 얼마전까지만해도 클라이언트에 보안이라는 건 생소했습니다. 대부분 서버와 네트워크 패킷만 생각했었죠.(보안-서버-클라이언트 각 팀간의 힘겨루기와 회피로 진전없을때가 많음)
현역 분들의 고충도 이해가 됩니다만 회사의 대응 방향성이 중요하다고 봅니다. 문제가 될까싶어서 깊이 보지는 않았지만 핵 동작을 막는 방향으로 노력이 잘 보이지가 않은 점에 생각이 많아집니다. 근래에 계정 거래가 활발해지는 상황이라 계정을 정지 시키는 방법이 효과를 보지 못하고 있는 듯 합니다. 그래서 핵 프로그램을 타겟으로 무력화 시키는 방향으로 가야하지 않는가 합니다. 이 부분은 회사의 철학과 부딪히는 부분으로 보입니다. 2월중에 업데이트가 있다고 하니 기대하고 있습니다.^^
잘 모르지만 저라면 핵 동작 무력화에 집중 할것 같습니다.
1.패킷은 암호화 알고리즘 교체와 키값 변경으로 쉽게(자주 업데이트) 읽지 못하게 가능합니다.
2.메모리 데이터는 검색으로 잡히지 않도록 부하를 봐서 깊이 조절한 암호화된 값을 사용한다.
또한 메모리 구조와 주소를 쉽게 자주 바꿀수 있는 설계를 해 두고 자주 업데이트 함.(클라이언트)
패킷이 안전하다면 서버에서 클라이언트 메모리 사용 위치를 컨트롤 할 수 있는 구조도 좋음.(플레이어 위치값 만이라도)
실시간으로 메모리 위치가 바뀌게 컨트롤이 됨. 서버에서는 지정한 위치에 사용하는지 체크 루틴도 반드시 넣어야됨.(이부분은 개발자가 읽어야 이해 될것임)
3.시중의 모든 핵은 반드시 구매하여 항상 보유 및 관찰하고 탐지 되도록 적용 시키고 빠른 정지를 자동화 한다.(개발실과 격리된 곳에서) 3번만 철저히 하여도 핵이 상업화가 될 수 없기에 가성비 좋은 방법임. 극 소수만 사용하는 비상업적 핵만 존재.

좋아요 1개

조상이 오랑캐인 짐승만도 못한놈들이 넘쳐나는게 현실.
경쟁에서 쓰는건 다반사고 경쟁 돌리고 티어 높일라고 빠대에서 스팀 계정으로 핵 그룹 돌리는게 줜_____나게 많습니다 정 뚝떨어져 오버워치

좋아요 2개

많은 분들이 핵 동작 불능을 바라고 저또한 그러합니다.
댓글에 힘입어 또하나 한가지 팁을 더 올려봅니다.
물론 알고 계실수도 있으리라 생각합니다.

원리적인 부분만 올려봅니다.(소스 스파게티 만든다고 부름 - 기계어분석 난독화)

(예)만약 누군가 메모리를 읽고 디버깅 하고 있다? → 게임 종료 시킨다
이 체크 루틴이 한곳 이라면 JMP(asm-체크루틴 피하기)로 쉽게 해결이 될 수도 있습니다.
이 체크 루틴을 1000개쯤 만들어 놓고 그중 필요할때 랜덤하게 사용한다면 체크 루틴을
무력화 시키는데 많은 시간과 노력이 필요할 것입니다.

중요한 체크 루틴은 이렇게 난독화 시켜서 보호가 그나마 기계어 분석에 시간이 많이 필요하게 만들며 업데이트 할때 갯수나 스타일을 바꾼다면 분석이 정말 힘들것이라 봅니다.
물론 실행파일 패키지화등으로 1차로는 분석을 막겠지만 결국은 기계어로 보게됩니다.
기계어로 훤히 보이더라도 많은 양으로 분석하는 시간을 끄는 전략입니다.

요점은 “다 드러나 보이더라도 원하는 처리를 집어넣기까지 시간이 많이 걸리게 한다” 입니다.
윈도우 기반에서는 '안보이게 못 읽게 접근 못하게 한다’는 것은 할수 없는 일이기 때문입니다.
핵 개발자들은 고급 리버싱 엔지니어라 가정을 하셔야 할 것입니다.
읽어 주셔서 감사합니다.^^

좋아요 1개