2017/12(52)
-
코드 가상화 개인 공부 [0x04]
이번에는 질문을 하나 던지고 시작할까합니다. 역 공학(Reverse Engineering)을 막으려면 어떻게 해야할까요? 프로그램을 안만들면 되지? (X) 프로그램은 만들어야 먹고 삽니다 ^ , ^ 프로그램은 0과 1로 이루어져 있기 때문에 "막을 순" 없습니다. 그럼 질문 자체가 잘못되었다는 것 이겠죠? 역공학을 최대한 지연시키려면 혹은 분석 할 맘이 안들게 하려면? ==> 안티디버깅이라는 방법을 사용하면 됩니다. 그렇다면 어떠한 안티디버깅 방법이 있는지 궁금할 수 밖에 없을 것입니다. 지금 부터 하나하나 살펴보겠습니다. 설명을 할 때는 반말로 적겠습니다. (양해 바랍니다..) Start ~~ ♪ 안티 디버깅 기술에는 크게 4가지가 존재한다. 예전에 안티 디버깅에 대해 간단하게 공부를 하고 PDF 형식..
2017.12.20 -
코드 가상화 개인 공부 [0x03]
코드 난독화 기술들을 접해보았다. 다형성(Polymorphic) 코드 다형성 코드는 바이러스 제 4세대에서 즐겨 사용한 기법이기도 하다. 잠시 바이러스 관점에서 설명을 하면, 바이러스는 안티 바이러스의 탐지를 피하기 위해 독특한 식별자를 사용한다.Polymorphic 바이러스는 변조된 프로그램에 결합이 되어 있다. 바이러스 코드는 실행할 때 마다 자기 스스로 변하게 되어 식별자를 구분하기 어렵게 한다. 다시 본래의 논문으로 돌아가보면, 다형성 코드는 코드가 코드를 수정하는 방법인데, 런타임에 코드 decode를 수행하는 방법을 이용한다고 한다.그렇기 때문에 코드를 실행하기 전에는 원래의 코드를 확인할 수 없다. 이전 글에서 리소스에 암호화를 시켜두는 원리와 비슷하다고 생각된다. Metamorphic 기법..
2017.12.20 -
코드 가상화 개인 공부 [0x02]
두 번째로 살펴볼 도구는 Code Virtualizer 이다. 이 친구는 개인적으로 처음 보는 친구여서 조금 더 집중해서 문서를 읽었다. 우선 프로그램에 대한 설명을 하자면 Oreans사의 코드 난독화 시스템이면서 최소한의 시스템의 자원으로 리버스 엔지니어링(리버싱)으로 부터기술 유출 등에 민감한 코드를 보호한다. Code Virtualizer는 intel cpu가 알아 듣는 본래의 instruction을 내부의 가상머신(VCPU)이 이해할 수 있는 가상 명령어로 변경을 한다고 한다. 이 도구는 32bit, 64bit의 PE파일을 보호할 수 있다. PE파일은 exe, dll, ocx, activeX, control, device dirver etc 문재인 정부에서 ActiveX를 폐지하겠다는 공지를 며칠..
2017.12.20 -
코드 가상화 개인 공부 [0x01]
코드 가상화 공부를 이어가보자.해당 글은 코드 가상화 기법이 적용된 악성코드 분석 방법 연구 위탁과제 최종보고서 라는 파일명을 지닌 PDF문서를 기반으로 공부하고 복습하기 위해 작성하였다. 우선 사람들이 잘 아는 Themida Protector에 대한 내용이다. Themida는 주로 게임 및 상용프로그램에 사용되는 프로텍터이다. 더미다는 여러가지 기능이 내포되어 있다. Anti-Debugger Detection커널 디버거 및 소프트웨어 디버거의 탐지 시 어플리케이션을 보호 할 수 있다. Anti Dumper프로그램은 메모리안에 상주하게 된다. 그렇다면, 우리는 메모리를 들여다 보면 프로그램의 정보를 볼 수도 있다는 말이 된다.크래커는 보통 메모리 덤퍼를 이용하여 메모리 내용을 디스크로 덤프하여 보호코드를..
2017.12.20 -
테스트
보호되어 있는 글입니다.
2017.12.19 -
자료 백업 중
보호되어 있는 글입니다.
2017.12.19