$\require{mediawiki-texvc}$

연합인증

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

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

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

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

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

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

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

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

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

분석 환경에 따른 안티 디버깅 루틴 자동 탐지 기법
An automatic detection scheme of anti-debugging routines to the environment for analysis 원문보기

Journal of Internet Computing and Services = 인터넷정보학회논문지, v.15 no.6, 2014년, pp.47 - 54  

박진우 (Department of Electronics and Computer Engineering, Hanyang University) ,  박용수 (Department of Computer Science and Engineering, Hanyang University)

초록
AI-Helper 아이콘AI-Helper

여러 가지 역공학 방지기술들 중 하나인 안티 디버깅 기술은 특정 프로그램을 대상으로 공격자나 분석가가 디버거를 사용하여 분석을 하지 못하도록 하기 위한 기술로써, 예전부터 악성코드 및 분석을 방지하고자 하는 여러 가지 프로그램들에 적용이 되었으며 현재까지도 많이 사용이 되고 있는 기술이다. 본 논문에서는 이러한 안티 디버깅 루틴에 대한 자동화 탐지 방법을 제안한다. 탐지는, 디버거 및 시뮬레이터를 통해 실행 명령어 및 API(Application Program Interface)에 대한 트레이스 정보들을 추출하고, 추출된 정보들을 비교하여 안티 디버깅 루틴으로 의심이 가는 지점을 찾는 방식으로 진행된다. 실험 결과, 알려진 25가지의 안티 디버깅 기법들 중 21가지에 대하여 정상적으로 탐지가 이루어졌다. 이와 같이, 본 기법은 특정 안티 디버깅 기술에 의존적이지 않으며, 추후 개발 및 발견되는 안티 디버깅 기술들에 대한 탐지의 경우에도 적용이 가능할 것으로 예상된다.

Abstract AI-Helper 아이콘AI-Helper

Anti-debugging is one of the techniques implemented within the computer code to hinder attempts at reverse engineering so that attackers or analyzers will not be able to use debuggers to analyze the program. The technique has been applied to various programs and is still commonly used in order to pr...

주제어

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

문제 정의

  • 다음으로는 본 논문에서 접근을 하고자 하는 방식 중일부가 유사하게 사용되면서 이를 통해 악성코드의 이중 적인 행위(Split Personality)를 탐지해내는 방식에 대하여 설명한 Davide Balzarotti 등의 연구를 보면[8], 해당 논문에서는 악성코드를 대상으로 하여 분석하고자 하는 악성코드의 이중적인 행위에 따라 서로 다르게 실행되는 시스템 콜 목록 및 인자 값들의 특성을 이용하여 단순하게 악성코드의 이중적인 행위만을 탐지해내는 것을 목적으로 한다. 분석 과정을 살펴보면, 먼저 서로 다른 분석 환경에서 동일한 악성코드에 대한 시스템 콜 트레이스들을 각각 추출한다.
  • 본 논문에서는 안티 디버깅 기술이 적용된 악성코드를 대상으로, 정상적인 흐름일 경우와 디버거의 탐지가 이루어질 경우에 대한 흐름 비교를 위하여 각각의 경우에 따른 명령어 및 API 트레이스 결과를 추출하고, 이를 토대로 실행 흐름의 비교 분석을 실시하여, 디버거의 탐지를 통해 분기가 발생되는 지점을 자동으로 탐지해내는 방안에 대하여 기술을 하였다.
  • 안티 리버싱 기술 중 하나인 안티 디버깅은 말 그대로 공격자나 분석가가 디버거를 통하여 인증과 관련된 프로그램이나 악성코드 혹은 기타 중요한 프로그램들의 내부 알고리즘과 중요 데이터들에 대한 분석을 하지 못하도록 하는데 목적을 가지는 기술이다.
  • 이에 본 논문에서는 안티 디버깅 기술이 적용된 악성코드를 대상으로 해당 안티 디버깅 기술의 적용 유무 및 루틴에 대한 자동화 탐지 기법에 대해 설명을 한다.

가설 설정

  • 본 논문은 80x86 컴퓨터 구조를 가정하고 있다. 80x86구조에서 바이너리 코드를 분석하는데 사용되는 도구들에는 Pin[2], OllyDbg[3], IDA Pro[4], Immunity Debugger, WinDbg 등이 있으며, 이 중 본 논문에서 실험 및 분석에 사용한 툴들은 Pin, OllyDbg, IDA Pro 이다.
본문요약 정보가 도움이 되었나요?

질의응답

핵심어 질문 논문에서 추출한 답변
악성코드가 사용하는 분석 방해 기술로 무엇이 있는가? 그 밖에 이러한 역공학 기술은 악성코드의 분석에도 사용이 되는데, 대다수의 악성코드들은 자신을 역공학을 통한 분석으로부터 보호하기 위해서 안티 디버깅, 실행 압축, 코드 가상화 등의 기술들을 사용한다.
안티 디버깅 기술이란 무엇인가? 여러 가지 역공학 방지기술들 중 하나인 안티 디버깅 기술은 특정 프로그램을 대상으로 공격자나 분석가가 디버거를 사용하여 분석을 하지 못하도록 하기 위한 기술로써, 예전부터 악성코드 및 분석을 방지하고자 하는 여러 가지 프로그램들에 적용이 되었으며 현재까지도 많이 사용이 되고 있는 기술이다. 본 논문에서는 이러한 안티 디버깅 루틴에 대한 자동화 탐지 방법을 제안한다.
리버스 엔지니어링은 어디에서 사용되고 있는가? 리버스 엔지니어링(reverse engineering)이라고 불리는 역공학 기술은 소프트웨어 공학의 한 분야로써, 이미 만들어진 시스템을 역으로 추적하여 처음의 문서나 설계기법 등의 자료를 얻어내는 기술을 말하며, 이 기술은 시스템을 이해하여 적절히 변경하는 소프트웨어 유지보수 과정의 일부로 사용되고 있다.
질의응답 정보가 도움이 되었나요?

참고문헌 (8)

  1. Xu Chen, Jon Andersen, Z. Morley Mao, Michael Bailey. Towards an Understanding of Anti-virtualization and Anti-debugging Behavior in Modern Malware. Dependable Systems and Networks With FTCS and DCC (DSN 2008), pp 177-186, 2008. 

  2. Pin tool. http://www.pintool.org/ 

  3. OllyDbg. http://www.ollydbg.de/ 

  4. IDA Pro. https://www.hex-rays.com/products/ida/index.shtml 

  5. Tyler Shields. Anti-Debugging - A Developers View. Whitepaper, Veracode Inc, 2009. 

  6. Peidai Xie, Xicheng Lu, Yongjun Wang, Jinshu Su, and Meijian Li. An Automatic Approach to Detect Anti-debugging in Malware Analysis. International Standard Conference on Trustworthy Computing and Services (ISCTCS 2012), Volume 320, pp 436-442, 2013. 

  7. JaeKeun Lee, BooJoong Kang, Eul Gyu Im. Rule-based Anti-anti-debugging System. Proceedings of the 2013 Research in Adaptive and Convergent Systems (RACS 2013), pp 353-354, 2013. 

  8. Davide Balzarotti, Marco Cova, Christoph Karlberger, Christopher Kruegel, Engin Kirda, and Giovanni Vigna. Efficient Detection of Split Personalities in Malware. Annual Network and Distributed System Security Symposium (NDSS 2010), 2010. 

저자의 다른 논문 :

관련 콘텐츠

오픈액세스(OA) 유형

BRONZE

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

저작권 관리 안내
섹션별 컨텐츠 바로가기

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

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

선택된 텍스트

맨위로