Upload
sawyer-eaton
View
110
Download
1
Embed Size (px)
DESCRIPTION
리버싱 (Reversing) 으로부터 실행파일을 보호하기 위한 Packing 기술 개발. 신민용 , 한경수. 2011 년 Keeper – 보안 기술문서 – Packing. 순 서. 시작하기 전에 주제 및 목표 제안 배경 필요한 기술 연구 및 구현범위 참고할 문헌 일 정. 시작하기 전에. Reverse Engineering 이란 ? 장치 또는 시스템의 기술적인 원리를 그 구조분석을 통해 발견하는 과정 Packing - PowerPoint PPT Presentation
Citation preview
리버싱 (Reversing) 으로부터 실행파일을 보호하기 위한 Packing 기술 개발
2011 년 Keeper – 보안 기술문서 – Packing
신민용 , 한경수
순 서시작하기 전에주제 및 목표제안 배경필요한 기술연구 및 구현범위참고할 문헌일 정
시작하기 전에
Reverse Engineering 이란 ?
◦ 장치 또는 시스템의 기술적인 원리를 그 구조분석을 통해
발견하는 과정
Packing
◦ Reverse Engineering 을 막기위해 암호화하거나
실행파일을 압축하여 소스코드를 볼 수 없도록 만드는 것
Packer : Packing 을 해주는 프로그램
3
주제 및 목표
주 제
◦ PE(Portable Executable) 파일을 리버싱으로부터
보호하기 위해 Protector 기능을 포함하는 Packing
기술 개발
목표
◦ 개발한 Packing 기술을 적용할 수 있는 Packer 개발
4
제안 배경
5
리버스 엔지니어링이란 것은 상업적 또는 군사적으로하드웨어를 분석한 것에서 시작되었으며 , 목적은 최종 제품을 가지고 과정을 추론하는 것이다 . 따라서 오류 , 접근 불가 문서 수정 , 안전 감시 등의 좋은 용도로 사용될 수 있다 .
하지만 , 소프트웨어 불법 정품 인증 및 시리얼 코드 생성 / 키젠 및 크랙 생성 등을 통해 지적 재산권을 침해할 수 있으므로 이를 방지하는 기술을 만들어 보고자 함 .
필요한 기술
6
PE 구조 파악
필요한 기술
7
Section 수정 및 추가◦ 우리가 원하는 작업을 하기 위해서 Section 부분의 수정이
필요함
필요한 기술
8
Section 수정 및 추가◦ 우리가 원하는 작업을 하기 위해서 Section 부분의 수정이
필요함
◦ 암호화에 대한 복호화 가능한 데이터를 넣기 위해서는 Section 의 추가가 필요함
필요한 기술
9
프로그램이 실행되는 실제 API 주소를 얻어오고 조작하여 원하는 Entry Point 로 옮겨야 함◦ 이 때 , OS 에서 자동으로 IAT(Import Address Table) 를
못쓰므로 프로그램에서 사용되는 모든 dll 을 파악하여 로딩해야 함
IDT(Import Directory Table) / IAT 암호화 복호화 코드 작성
연구 및 구현범위
10
연구범위◦ 프로젝트를 진행하면서 PE 구조를 상세히 익힌다 .
◦ Section 부분을 수정해 암호화 / 복호화가 가능한 알고리즘을 적용시킨다 .
◦ 프로그램이 수행되면서 원래의 동작에 영향을 미치지 않는 범위 내에서 중간동작을 수정할 수 있는 방법을 연구한다 .
구현범위◦ W32Dasm, Ollydbg 를 속일 수 있는 Packer 구현
참고할 문헌
11
도서◦ 『 REVERSE ENGINEERING( 역분석 구조와 원리 ,
리버스엔지니어링 ) 』 , 박병익 , 이강석 저◦ 『정보 보안 개론과 실습 ( 시스템 해킹과 보안 ) 』 , 양대일
저
인터넷 http://seestory.tistory.com - 패킹 제작과정 http://gogil.tistory.com/ - 패킹 구현방법 http://www.reversecore.com/18 - PE 파일
일 정
12
구 분 1 주 2 주 3 주 4 주 5 주 6 주 7 주 8 주
PE 파일구조 분석
Section 수정 / 추가
암호화 / 복호화 알고리즘 구현
구현 확인 및 테스트
문서 정리 및 검증