본문 바로가기
etc

Themida - 어플리케이션 크랙 방어 Application Crack Protection

by (주)엠플 2010. 7. 13.

대다수의 응용프로그램이 해커들에 의해 Crack되고 있습니다.

힘들게 개발하여 상용화에 성공한 지적재산권의 보호를 위해, Crack을 막아줄 수 있는 Oreans Technologies의 Themida를 소개합니다.

일반적으로 해커들이 작업하는 Crack 과정을 설명하고, Crack을 막을 수 있는 솔루션을 제시하겠습니다.

우선 Crack은 디컴파일을 하면서 작업하기 때문에 컴파일 과정부터 순서대로 설명하겠습니다.

일반적으로 응용프로그램 개발과정은 아래와 같습니다.
 

먼저, Source Code를 여러개의 기계어(Object File)로 컴파일을 한후에, 각각의 Object File을 Link를 걸어, 최종적으로 실행파일을 생성합니다.

위와 역순으로, 응용프로그램은 다시 Source Code로  변환할 수 있으며, 이 때 Dissembler 또는 Decompiler를 사용하여 변환작업을 합니다.

해커는 Dissembler를 이용하여 Crack File을 작업하며, Dissembler를 이용하여 Source Code로 변환시킬 때 프로그램밍의 일정한 규칙 등을 파악할 수 있다. 이러한 알고리즘 파악으로 소프트웨어의 Trial 기간을 연장하거나 무상으로 사용하게 만들 수 있습니다.

이러한 Crack에 대비하기 위해, 많은 Software Protector가 개발되었지만, 물고 물리는 먹이사슬처럼 해커들 역시 Protector를 뚫기 위해 여러방면의 공격이 이루어져 결국 많은 Software Protector가 유명무실해지고 있습니다.

Software Protector의 로직은 보안설정이 된 응용프로그램이 실행될 때, Software Protector는 먼저 운영체제의 CPU를 통제하고, Cracking tool(Dissembler)이 실행되고 있는지 체크합니다.  그 후에, 보안설정된 응용프로그램을 복호화 할 수 있도록 CPU 통제를 해제하는 방식으로 Protection을 유지하며 아래 그림과 같습니다. 

하지만, Software Protector가 유명무실해지는 이유는 Software Protector는 운영시스템에 의해 제약 받는 제한사항이 많아 일반적인 보안등급 설정만 가능하기 때문에 쉽게 해커들한테 보안이 뚫린다는 것이다. 요즘 해커들은 Cracking Tool을 운영체제와 동등한 권한으로 설정하여 실행시킬 수 있고, Software Protector가 작업하는 보안설정 프로세스를 확인할 수 있기 때문에 로직을 뚫을 수 있다.

이러한 일반적인 Software Protection 기술의 한계를 극복한 제품이 Themida이며 아래와 같은 로직으로 구성되었습니다. 

참고: http://www.oreans.com/themida_features.php

 

참고: http://www.oreans.com/secureengine/

Themida를 사용해 볼 수 있는 Demo Version은 아래링크에서 받으세요!

http://www.oreans.com/downloads.php

License의 구매정보는 아래와 같습니다.
License는 유저별로 사용하는 Developer License와 전사적으로 사용할 수 있는 Company License로 구분됩니다.
또한, 지원버전은 Win32와 Win32/.Net 버전으로 나뉩니다.

댓글