$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

[국내논문] PinDemonium 기반 Original Entry Point 탐지 방법 개선
Improved Original Entry Point Detection Method Based on PinDemonium 원문보기

정보처리학회논문지. KIPS transactions on computer and communication systems 컴퓨터 및 통신 시스템, v.7 no.6, 2018년, pp.155 - 164  

김경민 (한양대학교 컴퓨터소프트웨어학부) ,  박용수 (한양대학교 컴퓨터소프트웨어학부)

초록
AI-Helper 아이콘AI-Helper

많은 악성프로그램은 역공학을 막기 위해 다양한 상용 패커를 사용해 압축 혹은 암호화를 했기 때문에 악성코드 분석가는 압축해제 혹은 복 호화를 먼저 수행해야 한다. OEP(Original Entry Point)는 암호화되거나 압축되어 있는 실행파일을 다시 원본 바이너리 상태로 되돌린 후 실행된 첫 번째 명령어의 주소이다. 여러 언패커는 OEP가 나타나기 전까지 패킹된 파일을 실행하며 주소를 기록한다. 그리고 기록된 주소들 중에 OEP를 찾는다. 그러나 일부 언패커에서 제공하는 OEP 후보들은 비교적 큰 OEP 후보 집합을 제공하거나 후보들 중에 OEP가 없는 경우가 있다. 이에 악성코드 분석가들은 더 적은 OEP 후보 집합을 제공하는 도구가 필요한 실정이다. 본 논문에서는 PinDemonium이라 불리는 언패커에 두 가지 OEP 탐지방법을 추가하여 더 적은 OEP 후보 집합을 제공하는 도구를 만들었다. 첫 번째 방법은 패킹된 프로그램이 완전히 원본 바이너리상태로 되돌아 간 후에는 원프로그램 함수 호출과 동일하다는 것을 활용한 OEP 탐지방법이다. C/C++ 언어로 작성된 프로그램은 바이너리 코드로 언어를 변환하는 컴파일 과정을 거친다. 컴파일 과정을 거친 프로그램에는 특정 시스템 함수들이 추가된다. 이 시스템 함수들은 컴파일러 별로 다르다. 컴파일러 별로 사용되는 시스템 함수를 조사한 후, 패킹된 프로그램에서 호출되는 시스템 함수와 패턴매칭하여 언패킹 작업이 끝났는지 탐지하는 방법이다. 두 번째 방법은 패킹된 프로그램이 완전히 원본 바이너리 상태로 돌아간 후 시스템함수에서 사용되는 매개 변수가 원프로그램과 동일하다는 것을 활용한 OEP 탐지방법이다. 시스템함수에서 사용되는 매개변수의 값을 이용해 OEP를 찾는 방법이다. 본 연구는 16종의 상용 패커로 압축된 샘플 프로그램을 대상으로 OEP 탐지 실험을 했다. 본 연구에선 안티 디버깅 기법으로 프로그램을 실행하지 못하는 경우인 2종을 제외하고 PinDemonium 대비 평균 40% 이상 OEP후보를 줄일 수 있었다.

Abstract AI-Helper 아이콘AI-Helper

Many malicious programs have been compressed or encrypted using various commercial packers to prevent reverse engineering, So malicious code analysts must decompress or decrypt them first. The OEP (Original Entry Point) is the address of the first instruction executed after returning the encrypted o...

주제어

질의응답

핵심어 질문 논문에서 추출한 답변
패커는 어떠한 프로그램인가? 안티 바이러스 및 정보보호 관련 연구 기관인 AV-TEST사에 따르면 전체악성코드 중 92% 이상이 압축 및 난독화가 적용되어 있다고 한다[1]. 패커는 실행 파일을 압축 및 암호화하고 복구하는 소프트웨어 프로그램이다. 패커가 압축 및 암호화 라이브러리를 사용하여 실행에 필요한 정보들을 압축, 난독화 하는 것을 패킹이라 한다[2].
PEiD의 단점은 무엇인가? 언패커는 아니지만 언 패킹에 이용되는 도구인 PEiD[11]의 경우는 데이터베이스를 사용해서 알려진 암호기법과 시스템함수를 저장해두고 패턴 매칭으로 패커타입이나 압축형태를 알려준다. 하지만 PEiD는패킹된 파일의 OEP를 찾지 못한다.
OEP를 찾는 일이 쉽지 않은 이유는 무엇인가? 하지만 OEP를 찾는 일은 쉽지 않다. 왜냐하면 패킹된 프로그램은 디버거의 동작을 탐지하며 프로그램 실행을 중단하거나 정상적인 동작이 아닌 행동을 수행하여 분석을 방해하기 때문이다. 또한, 프로그램의 실행 흐름을 복잡하게 하여 분석까지 많은 시간을 소요하도록 만들기도 하며 프로그램 실행 시, 매번 코드가 변하는 다형성 성질이 적용되어 있다.
질의응답 정보가 도움이 되었나요?

참고문헌 (15)

  1. AV-TEST, publication [internet], https://www.av-test.org/fileadmin/pdf/publications/blackhat_2006_avtest_presentation_runtime_packers-the_hidden_problem.pdf 

  2. W. Yan, Z. Zhang, and N. Ansari, "Revealing packed malware," ieee seCurity & PrivaCy, Vol.6, No.5, 2008. 

  3. J. Lenoir, "Implementing your own generic unpacker." 

  4. Wikipedia, Entry point [Internet], https://en.wikipedia.org/wiki/Entry_point 

  5. R. Isawa, D. Inoue, and K. Nakao, "An original entry point detection method withcandidate-sorting for more effective generic unpacking," IEICE TRANSACTIONS on Information and Systems, Vol.98, No.4, pp.883-893, 2015. 

  6. Hex-ray, Universal PE Unpacker [Internet], https://www.hex-rays.com/products/ida/support/tutorials/unpack_pe/index.shtml 

  7. P. Royal, M. Halpin, and D. Dagon, "PolyUnpack: Automating the Hidden-Code Extraction of Unpack-ExecutingMalware," In Computer Security Applications Conference, 2006. ACSAC'06. 22nd Annual, IEEE, pp.289-300, 2006. 

  8. D'ALESSIO, S. T. E. F. A. N. O., and S. MARIANI, "PinDemonium: a DBI-based generic unpacker for Windows executables," Black hat, 2016. 

  9. Intel, Pin User Manual [Internet], https://software.intel.com/sites/landingpage/pintool/docs/71313/Pin/html/ 

  10. Scylla, NtQuery Scylla - x64/x86 Imports Reconstruction, [internet], https://github.com/NtQuery/Scylla 

  11. Jibz, Qwerton, XineohPSnaker, and PEiD BOB. "Peid." Availablein: http://www.peid.info/, 2011. 

  12. YARA group, yara [internet], https://virustotal.github.io/yara/ 

  13. Microsoft, MSDN [internet], https://msdn.microsoft.com 

  14. X. Hu, K. G. Shin, S. Bhatkar, and K. Griffin, "MutantX-S: Scalable Malware Clustering Based on Static Features," USENIX Annual Technical Conference, pp.187-198, 2013. 

  15. AHTeam, Quick Unpack 2.2 [Internet], http://qunpack.ahteam.org/?author1 

저자의 다른 논문 :

LOADING...

관련 콘텐츠

오픈액세스(OA) 유형

BRONZE

출판사/학술단체 등이 한시적으로 특별한 프로모션 또는 일정기간 경과 후 접근을 허용하여, 출판사/학술단체 등의 사이트에서 이용 가능한 논문

유발과제정보 저작권 관리 안내
섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로