레이블이 Server인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Server인 게시물을 표시합니다. 모든 게시물 표시

2013년 2월 2일 토요일

Game에서 통계의 의미?

 통계는 Game을 기획하는 단계에서 가장 고려가 되지 않는 부분이지 않을까 해서 Server 개발자로서 기획에 바라는 Game에서 통계의 이야기를 해 보기로 한다.


 1. 통계에서 중요한 것은 핵심 요소 이다.

Game에는 다양한 요소가 어우러져서 이루어집니다. User, Rule, Character, Play, Money, Manage 등 Game 장르 나 플랫폼에 따라서 각각 다른 중요도를 띄게 됩니다. 통계를 먼저 요구할 때는 이 중에서 어느 것을 핵심 요소로 삼아서 다른 요소를 끼어 맞출 것이냐가 전제가 되어야 합니다.
 예를 들어서, RPG Game이라면 실제로 User는 Character에 의존해서 Game을 진행합니다. 그렇기 때문에 User의 Game Pattern을 분석하고 싶다면, Character를 핵심으로 해서 통계를 작성함으로써 User가 Character를 어떻게 Play하고, 어떤 Rule은 존중하고 어떤 Rule은 무시하는지 알 게 됨으로써 새로운 Rule을 만들고, 그 Rule을 Character에 어떻게 적용함으로써 재미 요소를 끌어낼 것인지 결정할 수 있게 됩니다.
 이렇게 운영되고 있는 Game의 재미 요소를 극대화하기 위해서 필요한 것이 통계라는 점을 고려한다면, 어떤 것을 핵심 요소로 삼아야 하는 지에 대해서는 기획 단계에서 먼저 고민을 해 주는 것이 맞지 않을까?
-핵심 요소만 부각시키고 나머지 요소를 낮추어서 보겠다는 이야기가 아니라, 핵심 요소를 기반으로 해서 다양한 요소를 통계로 묶어서 보여주겠다는 이야기라는 점을 인식해야 합니다. 경제나 사회 쪽에서 사용하는 통계 툴처럼 다양성을 모두 고려한 통계 작업을 진행하는 것은 Game에서는 어렵습니다. 대신 사용자가 어떻게 Game을 하는 지 Data를 수집하는 것은 매우 쉬운 일이니 이를 바탕으로 해서 Game 기획과 System을 개선해 나갈 수 있다면 가장 좋은 모범이 되지 않을까 싶다. 


 2. 통계에서 불변의 요소는 바로 시간이다.

인간도 시간에서 자유롭지 못하듯, Game도 시간에서 자유로울 수는 없다. User마다 Game에서 제공되는 시간이 다르다면, User간의 교류는 불가능하게 될 수 밖에 없다. 또 System에서 시간에 따라 User에게 제공되는 결과도 모두 다르게 인식된다는 것을 의미 한다.
통계에서도 마찬가지 이유로 시간은 불변의 것으로 취급받아야 한다. 시간을 중심으로 해서 변화되는 요소를 확인하고자 하는 통계라면, 그 대상에 대해서 시간은 동일한 규칙으로 작용되어야 한다. 동일한 규칙이 아니라면 혼돈으로 가득차게 되어서 결과적으로 모든 행위가 의미가 없어지게 될 것이기 때문이다.
통계에 시간적 혼돈이 개입된다면 통계 자체의 의미가 사라지게 되기 때문에 혼돈을 덜 일으키기 위해서 가장 먼저 해야 할 일이 바로 모든 요소에서 시간은 동일하다라는 것을 확인하는 것부터 시작해야 한다.
기획의 설계 단계에서 시간을 어떤 식으로 다루어야 할 지에 대해서 고민할 필요성은 없지만, 설계가 완료된 시점에서 운영으로 넘어가는 단계에서 시간이 가장 큰 고려 대상이 된다. 설계에서 부각된 요소를 운영에서는 관리 측면에서 점검을 하고, 이를 가능하게 할 수 있는 통계를 요구하게 된다. (개발 입장에서는 설계 단계에서 통계에 필요한 요소를 먼저 언급해 주면 운영 단계에서 논의하는 것이 빠르게 된다.) 고정된 시간 축을 중심으로 어떤 요소에 대해서 통계를 작성해야 할지 결정할 수 있게 된다.


 3.통계가 Server Resource를 소모하는가?

당연히 Program이 돌아가면 System의 Resource를 사용하게 되는 것은 당연하다. 그런데, 통계 때문에 Game을 운영해야 하는 Resource가 부족해진다면 문제가 되지 않을까? 통계와 관련된 작업이 많아진다면 당연히 System을 별도로 배정해야 하는 것으로 해결될 수 있을 것이라고 생각을 많이 한다. 그러나, 통계에 필요한 내용이 작성되는 순간은 Game의 진행 과정에 이루어지기 때문에 이미 Game을 운영하는 Resource에 포함이 되어 있다는 것이다. (보통 통계 결과를 보기 위해서 사용되는 Resource 만을 생각하는데, 통계에 필요한 Data를 작성하는 데 들어가는 Resource에 대해서도 생각을 해야 한다.)
 통계 작성을 위해서 필요한 Data 수집은 주로 Database를 통해서 이루어지게 된다. 통계를 위해서 필요한 특정 요소에 대해서 어떤 식으로 Data를 처리할 지에 대해서 구체적인 사항이 결정이 되어 있다면, Database 수준에서 1차적인 Data 확보가 완료될 수 있다. 그러나, 이 부분에 대해서 구체적으로 결정이 되어 있지 않다면, 통계를 위해서 관계를 만드는 작업이 System의 Resource를 소모할 수 밖에 없게 된다. 통계를 보는 동안 Game 진행에 영향을 줄 수 있는 요소가 발생할 수 있다는 것으로 받아 들여도 된다.
 통계에 반영되어야 할 Data를 Game 진행 과정에 녹이는 것도 Server 개발에서 중요한 요소가 된다는 것을 이해했을 것이다. 아무리 작은 통계라 해도, 그 Data를 만들기 위해서 Database 전반과 System Resource를 할당해야 한다면, 문제가 된다는 것이다.


 4.통계 요소를 개발 완료 후 추가하게 되면?

Server 개발이 완료된 후에 통계에 대해서 추가를 하게 된다면, 경우에 따라서는 기존 개발 내용을 번복하거나 전면적으로 수정해야 하는 일이 발생할 수도 있다는 것이 문제의 핵심이다.
기획에서 해당 통계 자체의 기술적 난이도만 고려해서 추가를 요구하게 된다면, 실제 개발에서 해당 통계 요소를 위해서 Game System에서 건드려야 할 Data와 통계를 위해서 어떻게 가공해야 할 지에 대해서는 면밀하게 고려하지 않은 요구라고 할 수 있다. 기획에 이러한 세세한 부분까지 고려해 달라고 이야기하는 것이 아니라, 통계 요소의 추가를 기획하는 단계에서 기존의 Game System에 대해서 조금 더 이해하고 접근하게 된다면, 현재 요구하는 통계 요소를 위해서 필요한 작업에 대해서 목록이 나오지 않을까?
통계 요소의 추가에 대해서는 신중하게 고려해야 하며, 전체적인 System의 변경까지 고려해 가면서 천천히 진행해야 할 요소이다.


 5. 통계를 보기 위해서 별도의 Tool이 필요한가?

통계 결과가 어떤 형태로 표시되는 가는 관리자나 경영 쪽에서 본다면 중요할 수 있다. 하지만, 유의미한 통계 결과를 보여주는 데 있어서 특별한 Tool은 필요하지 않다고 본다. Web 환경에서 실시간으로 통계를 봐야 한다고 해도, Web 기술로 충분히 진행이 가능하다. 그런 상황에서 별도의 Tool을 고집할 이유는 없다고 본다.
특히 Tool을 통해서 Game Server에 접근하는 것은 System Resource와 보안 측면에서도 그렇게 바람직한 것은 아니다. 다수의 사용자가 원하는 때에 통계에 접근할 수 있게 하는 것도 중요한 요소이기 때문에 Tool로 통계를 만드려고 하기 보다는 Web 환경에서 만드는 것이 더욱 효율적일 수 있다. (보통 Tool을 고집하는 이유는 다수의 사용자에 대해서 편리한 관리를 하고 여기에 통계를 붙이겠다는 생각 때문이다. 그러나, 실제로 Tool을 이용하면 복잡도만 높아질 뿐 절대로 편리한 관리가 이루어지지는 않는다.)


 Game 통계와 관련해서 주저리 주저리 글을 써 보았는데, 업무 진행하면서Architect로서 미리 조언하지 못한 부분도 많이 발견이 되어서 좋은 듯 싶다. 의견이 있으면 내용을 더 추가해 나가야 할 것 같다. (아직은 중구난방, 중언부언도 좀 많기는 하지만, 필요한 글인 듯 싶어서 쓰기 시작했다.)

2013년 1월 1일 화요일

다수의 취약 서버를 경유한 개인 계정 해킹


 대한민국에서 몇몇 개인정보 유출 사고가 있었는데, 이 중에는 사용자 아이디와 암호까지 고스란히 노출이 된 경우가 있었습니다.
 유출이 일어난 해당 서비스에서는 사용자 암호는 암호화가 되어 있어서 안전하다고 이야기하지만, 보안 쪽에서 본다면, 단방향 암호화를 사용하지 않았다면 해당 암호는 안전하다고 볼 수 없다는 게 통상적입니다. 거기다가, 다른 서비스에서 유출된 정보와 연계해서 분석하면 사용자 암호를 유추할 수 있는 경우는 매우 많습니다. 이렇게 해서 확보한 개인 정보를 통해서 다양한 해킹이 시도되고 있습니다.
 국내에서 이러한 해킹을 직접적으로 시도할 경우에 해당 계정의 사용자가 이를 탐지해서 경찰에 신고할 경우에 추적 당하게 되어 적발당할 수 있다는 사실을 해커들도 잘 알고 있습니다. 그래서, 여러 단계를 거쳐서 해킹을 해오고 있는데, 최근에 발견한 유형에 대해서 설명을 하고자 합니다.


0.서버 경유 해킹 방법
 일반적으로 서버를 경유해서 하는 해킹은 아래와 같은 방법을 선호해 왔었다



 그러나 포털이나 인터넷제공회사에서 중국에서 접근해 오는 해킹 시도를 차단하면서,
이를 우회하는 방법으로 취약서버를 이용하는 방향 쪽으로 전환을 했다.

 취약점은 여러가지가 있으나, 접근 권한 또는 백도어 등을 활용하는 경우가 많았습니다.



 취약 서버로 활용되는 서버를 지금까지 취합해 보면, 주로 IDC에 있는 서버가
1차적으로 손 꼽히고, 다음으로 개인 사무실에 설치된 서버, 다음으로 관리가
부실하다고 판단되는 사이트의 서버라고 할 수 있을 것입니다.
 직접 해당 방법으로 개인 메일 계정에 대한 해킹 시도를 경험했었고, 취약서버
리스트까지 정리해서 경찰 신고까지 접수하였으나, 취약 서버에 접속한
최종 위치가 중국이었기 때문에 그 이상은 추적하지 못한다 하여 조사가 종료가
된 상태입니다. (추적이 아예 불가능하냐고 물으신다면? 뒤에 조금 첨부되어
있습니다.)


1.스팸 메일 발송 및 불법 광고 게시물
 가장 많이 이루어지는 행위가 바로 스팸메일 발송입니다. 포털 대부분 '화이트 리스트'를
스팸 메일 분류에 활용하고 있기 때문에 스팸 메일 서버를 별도로 만들어서 메일을 보내는
것은 의미가 없는 상황입니다.
 또한 포털에 구축되어 있는 많은 커뮤니티들에 불법 게시물을 올려서 광고하는 것은
꽤 효과가 있는 영업 방식입니다.
 이를 위해서 개인정보를 이용해서 이러한 기능을 수행하는 것을 목적으로 해킹하는 경우가
가장 많은 경우였습니다.


2. 개인 정보 - 사생활 추적
 다음으로 가장 문제가 되는 것은 바로 사생활 추적입니다. 많은 사이버 흥신소가
특정 상대방의 메일이나 주소록 정보를 확보하기 위해서 이러한 시도를 하는 것으로
확인이 되었습니다.
 본인의 동의를 거치지 않거나, 수사기관의 도움 없이 개인의 메일 계정에서 메일이나
주소록을 가져오는 행위는 매우 큰 불법 행위입니다. 이를 사용하는 행위도 당연히
불법적인 것에 해당을 하지요.
 사이버 흥신소는 자신들이 어떤 경로를 통해서 이러한 개인 정보-사생활을 확보했는지
당연히 밝히지 않지만 현재 대한민국 몇몇 포털과 서비스에서 유출된 정보라면
이메일의 암호를 파악하거나 유추해서 사용하는 것은 어려운 일이 아닙니다.
 개인정보를 파악하지 않은 것처럼 보이기 위해서 스팸메일을 발송하거나 불법
게시물을 올리는 행위를 함께 수행하는 듯 합니다.


 취합을 위해서 기본으로 사용해 온 것이 바로 '주민등록번호' 입니다. 주민등록번호를
통해서 자주 사용하는 아이디를 알게 되면, 몇몇 사이트는 주민등록번호 만으로 암호를
알려 주기 때문에 암호를 유사하게 사용하는 경향을 이용해서 다른 사이트도 확인을
하게 됩니다.
 기존에 유출된 개인정보를 취합해서 개인정보 조사 자료를 만들어서 활용합니다.
개인정보 조사를 위한 자료를 만들어서 판매하는 브로고커도 있으며, 해킹하는 쪽
입장에서도 이러한 자료가 있는 것과 없는 것의 차이는 매우 큽니다.


3. 이러한 해킹 시도를 법적으로 막을 수는 없나?
  완벽하게 막는 것은 불가능합니다. 하지만, 이러한 방법으로 해킹하는 사람을
찾아내서 법적으로 처벌함으로써 막아 나가는 것은 가능합니다.
 해당 타이밍에 취약서버에 접근한 중국서버에 접근하는 한국 내 IP 정보를 통해서
추적을 해 나가는 일입니다. 이러한 일은 현재 대한민국의 ISP가 크게는 3개 업체의
국제망을 통해서 연결되고 있기 때문입니다.
 취약 서버의 숫자를 줄여 나가는 것도 중요하지만, 서버 관리나 보안 컨설팅과
관련해서 업체들이 제대로 된 비용 지불을 할 용의가 없기 때문에 대부분의
웹 에이전시나 SI 회사에 이러한 역할을 기대하는 것은 무리가 있습니다.


 꽤 오래된 일인데 이제서야 글을 올리네요.