1 / 12

리버싱 (Reversing) 으로부터 실행파일을 보호하기 위한 Packing 기술 개발

리버싱 (Reversing) 으로부터 실행파일을 보호하기 위한 Packing 기술 개발. 신민용 , 한경수. 2011 년 Keeper – 보안 기술문서 – Packing. 순 서. 시작하기 전에 주제 및 목표 제안 배경 필요한 기술 연구 및 구현범위 참고할 문헌 일 정. 시작하기 전에. Reverse Engineering 이란 ? 장치 또는 시스템의 기술적인 원리를 그 구조분석을 통해 발견하는 과정 Packing

Download Presentation

리버싱 (Reversing) 으로부터 실행파일을 보호하기 위한 Packing 기술 개발

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 리버싱(Reversing)으로부터 실행파일을 보호하기 위한 Packing기술 개발 신민용, 한경수 • 2011년 Keeper – 보안 기술문서 – Packing

  2. 순 서 시작하기 전에 주제 및 목표 제안 배경 필요한 기술 연구 및 구현범위 참고할 문헌 일 정

  3. 시작하기 전에 • Reverse Engineering이란? • 장치 또는 시스템의 기술적인 원리를 그 구조분석을 통해 발견하는 과정 • Packing • Reverse Engineering을 막기위해 암호화하거나 실행파일을 압축하여 소스코드를 볼 수 없도록 만드는 것 • Packer : Packing을 해주는 프로그램

  4. 주제 및 목표 • 주 제 • PE(Portable Executable)파일을 리버싱으로부터 보호하기 위해 Protector기능을 포함하는 Packing기술 개발 • 목표 • 개발한 Packing기술을 적용할 수 있는 Packer개발

  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. 일 정

More Related