멜론, 안티디버깅툴 갖추지 않아 손쉽게 크랙당해
멜론크랙 프로그램으로 바이러스 배포하는 것도 문제!
국내 인기 온라인 음악서비스를 제공하는 멜론의 멜론플레이어가 제대로 된 안티디버깅 툴도 갖추지 않은 상태여서 국내 크래커 혹은 리버서들에게 분석당하고 있다는 사실이 드러났다.멜론크랙 프로그램으로 바이러스 배포하는 것도 문제!
이 취약점을 공개한 국내 보안팀 H4C 맴버이자 리버서인 신인호씨는 “이 취약점은 정액제 결제 여부를 파일 내부에서 수행하기 때문에 발생한다”며 “정액제가 아닌 상태에서 노래를 1분 이상 들으면 결제하라는 메시지가 나오지만 그 부분을 무조건 넘기도록 리버스엔지니어링을 통해 작업을 해준다면 정액제가 아니어도 노래를 모두 들을 수 있게 된다”고 설명했다.
또한 “단순하게 프로텍터로 보호만 해준다면 분석이 불가능 할 텐데 아마도 외국 프로텍터의 비싼 가격 때문에 포기한 것이 아닐까 생각한다”며 “실제로 네이버에 ‘멜론’만 검색해도 연관검색어로 멜론 크랙이 바로 나온다. 뿐만 아니라 이를 악용한 스크립트키드들이 바이러스 파일을 멜론크랙으로 속여서 배포하고 있어 시급한 조치가 필요한 상황”이라고 강조했다.
좀더 자세히 살펴보면, 안티디버깅이란 개발자가 자신의 프로그램을 분석당하지 않기 위해 추가하는 코드나 행위를 말한다. 멜론 플레이어에는 이러한 안티디버깅이 되어 있지 않아서 디버거(ollydbg)를 통해 분석을 한다면 아무런 제약없이 분석이 가능한 상황이다.
만약 멜론플레이어가 크래커들에게 분석을 당하게 되면 우선 상용 프로그램의 경우 2차적 피해가 발생하게 된다. 예를 들어 한 달에 4만원을 지불하는 프로그램을 크래커가 크랙을 하고 판매한다면 3만원, 아니 2만원에만 팔아도 크래커는 이득을 취할 수 있다.
결제메시지를 무조건 넘기도록 리버싱하면 공짜로 노래를 들을 수 있다고 한 부분을 좀더 자세히 실펴보면, 정액제에 가입되지 않은 상태에서 멜론플레이어를 로그인하고 노래를 들으면 한 노래당 최대 1분 밖에 들을 수 없다.
하지만 정액제 가입 여부 확인이 프로그램 내부에서 수행되므로 멜론플레이어의 특정 메모리 영역의 JNZ (Jump if Not Zero)라는 구문을 JMP(무조건점프)로 변경해 주기만 한다면 가입여부 부분을 무조건점프 해 버리기 때문에 정액제에 가입이 되어 있지 않아도 노래를 공짜로 들을 수 있는 것이다. 이 또한 부당 이득이 발생할 수 있는 상황이다.
멜론 관리자는 어떤 조치를 취해야 할까? 신씨는 “제가 멜론 플레이어 개발자라면 아주 간단한 디버깅 감지소스를 추가하거나 프로텍터를 통해 해당 파일을 보호할 것”이라고 강조했다.
프로텍터는 어떤 역할을 하는 툴일까. 신씨는 프로텍터에 대해 “프로텍터는 패커라고도 부른다. 위에서 언급한 것과 같이 개발자가 개발한 프로그램은 안티디버깅이 되어 있지 않다면 취약하다. 하지만 패커를 통해서 패킹을 해주기만 하면 복잡한 패커의 경우 분석이 거의 불가능 하다고 봐도 된다”며 “Themida라는 패커가 유명하다. 기업용의 경우 299유로(한화 44만원)에 구매가 가능한데 멜론 측은 이런 44만원을 아끼려다 큰 손해를 볼 수도 있다”고 설명했다.
또 심각한 부분은 악의적 사용자들이 멜론크랙을 입수하기 위해 검색엔진에 검색을 하고 다운을 받으면 그 파일들은 대부분이 바이러스가 내포돼 있다고 경고했다.
신씨는 “사람들이 멜론크랙을 많이 찾는다는 특성을 이용해 스크립트키디들이 악성 봇이나 바이러스들을 소프트웨어 안에 삽입해 배포하고 있는 실정”이라며 “네이버에 멜론크랙을 검색하면 블로그에 업로드된 대부분의 파일이 바이러스 인 것을 알 수 있다”고 주의를 당부했다.
[데일리시큐=길민권 기자]
■ 보안 사건사고 제보 하기
★정보보안 대표 미디어 데일리시큐 / Dailysecu, Korea's leading security media!★
저작권자 © 데일리시큐 무단전재 및 재배포 금지