Themida는 강력한 프로텍터로 한창 이름을 날리고 있습니다.

거대한 바이너리와 많은 안티코드/스레드들, 가상의 cpu를 에뮬레이션하는 가상화등 리버서들에게 고통을 주고 있죠

특히 이 '가상화' 개념은 평이 좋아서, 제작사인 Oreans는 따로 Code Virtualizer(CV)란 제품도 내놓았습니다.

CV는 컴파일 전에 소스에 시작/끝의 인식자를 심어놓고 (vs의 경우 _asm _emit) 컴파일 후의 바이너리를 검색해서

인식자 사이를 가상화 해버립니다.

(이 가상화는 xen이나 vmware와 같은 자원 가상화와는 다른 개념의 가상화입니다. 
 x86 cpu의 경우 instruction set이 intel에 의해 정의되어 있는데 - 6a 00 이 push 0인 것 처럼요 -
 이 cpu instruction을 새로 만들어서 가상의 cpu로 코드를 돌리는 것 처럼 에뮬레이션 하는 스킬입니다.
 루틴도 크고, instruction set을 분석해야하므로 분석가가 분석하기 참 괴롭죠.)

상용인데 매출이 얼마나 될진 몰라도 간간히 게임업체들이 쓰는걸 볼 수 있습니다.

그런데 이런 Themida를 악성으로 잡아버리는 AV업체가 꽤 되네요.

http://www.virustotal.com/ko/analisis/688a187dd7691128c6f39f176547ae75



다른데야 그렇다 쳐도 NOD32, 닥터웹, ikarus등의 진단은 참 의외네요

AVG야 오진따위 아무렇지 않게 굉장히 공격적으로 잡으니 그렇다쳐도

닥터웹까지 잡으면.. 바이러스 체이서도 Themida를 악성으로 진단하겠는데요?

그리고 다른 일부 패커는 이름마저 무섭네요... 시스템 백도어라니.. 멀웨어라니...

논란의 여지는 있습니다. 진단해버린 AV업체도 할말이 있죠.

Themida는 원본 프로그램의 indirect call 코드를 변조해버립니다.

덤프, iat rebuild, api분석 등을 방해하려는 목적인데, 다른 패커에서도 많이 쓰입니다.

(다만 Themida가 좀 심하게 꼬아놓죠)

아무튼 이 원본을 수정해버리는 행위가 AV업체에게는 민감한일입니다.

AV의 기본 진단 방법인 Signature진단을 방해하기 때문이죠.

AV가 패커를 풀더라도 이 redirect code를 완전히 보정해주지 않으면 코드가 다르기 때문에 진단이 안됩니다.

그래서 원본을 바꾼다던지, 다형성 코드를 가진다던지 하는 패커는 AV업체에서 진단하는 경우가 꽤 있습니다.

그래도 역시 Themida 진단은 의외네요 ㅋㅋ




---------------------------------

2008. 11. 26. 00:30

바람의 나라 관련 문의가 있어 추가 내용을 덧붙입니다.

바람의 나라 창모드 프로그램이 피시그린과 같은 백신프로그램에 잡힌다고 합니다. 

제작자가 themida로 패킹해서 그렇다고 하며 이 포스트를 리퍼한 모양입니다.

그리고 그 툴을 이용한 사람들의 해킹 피해가 잇따르고 있습니다.
(원인이 그 툴인지는 물론 아직 모릅니다.)

피시그린은 카스퍼스키 엔진을 사용합니다.(Kaspersky)

위 그림파일을 보시면 아시겠지만, 카스퍼스키는 themida를 진단하지 않습니다.

해당 툴이 진단된다면 진단명을 보시기 바랍니다.

suspicious 진단이라던지, packed.themida 와 같은 진단명이면

themida란 이유로 진단된 것이라 볼 수 있지만

진단명이 다르다면 그 툴 속에 해킹툴이 심어져 있는 것이라 진단된 것일 수 있습니다.

즉 안전하지 않다는 것이죠.

진단명이 중요친 않지만 적어도 패커를 잡은 거라면 분명히 진단명에 나올 것입니다.

툴이 의심스러우신 분은 쓰지 마세요.

아니면 이곳에 업로드해서 진단명을 함 보세요.

http://www.virustotal.com/

물론 널리 퍼지지 않은 해킹툴이라면 진단 안될 수도 있습니다.

아니면 제게 툴을 보내주시면 제가 virustotal에 올려보거나, 시간이 나면 리버싱이라도 해보겠습니다.

----------------------------------

카넬리아님 말씀대로 인젝션을 통해 실험해 보았습니다. 아래 트랙백 참고하세요..