• 제목/요약/키워드: 안티디버깅

검색결과 8건 처리시간 0.022초

Pin을 이용한 안티디버깅 우회 설계 및 구현 (The design and implementation of pin plugin tool to bypass anti-debugging techniques)

  • 홍수화;박용수
    • 인터넷정보학회논문지
    • /
    • 제17권5호
    • /
    • pp.33-42
    • /
    • 2016
  • Pin은 프로그램 동적 분석 도구를 생성할 수 있는 프레임워크로, 리눅스와 윈도우에서 사용자 영역의 프로그램 분석을 수행할 수 있게 한다. 역공학 방지 프로그램이나 악성코드는 프로그램 분석을 방해하는 안티디버깅이 적용되어 있기 때문에 Pin을 사용한 분석이 어렵다. 본 논문에서는 Pin을 이용해서 프로그램에 적용된 안티디버깅을 우회하여 동적 분석을 진행할 수 있는 Pin 플러그인 프로그램을 설계한 내용과 구현한 내용을 제안한다. Pin 탐지 안티디버깅을 우회할 수 있는 각각의 Pin 코드를 작성하고, Pin 코드를 하나로 합쳐 여러 안티디버깅을 우회할 수 있는 Pin 도구를 구현한다. 구현된 Pin 도구는 안티디버깅을 지원하는 프로텍터로 생성한 파일로 안티디버깅 우회 실험을 진행한다. 본 기법은 추후에 발견되는 안티디버깅 우회 코드 작성의 참고자료가 될 것이고 발견된 안티디버깅에 맞춰 수정 후 추가 적용이 가능할 것으로 예상된다.

효율성 관점의 APK 분석 및 안티 디버깅 우회 방법

  • 박민수
    • 정보보호학회지
    • /
    • 제32권6호
    • /
    • pp.47-52
    • /
    • 2022
  • 안드로이드 환경은 디컴파일을 통해 개발자가 작성한 코드를 쉽게 획득할 수 있고, 해당 코드의 분석을 통해 유사 앱을 개발하거나 기능을 변조할 수 있다. 이러한 문제에 대응하기 위해 다양한 난독화, 안티 디버깅 기법을 개발하여 적용하고 있다. 하지만 해당 기법들은 충분한 시간과 노력을 투자한다면 분석 및 우회가 가능하므로 개발자는 분석을 원천적으로 막기보다 분석을 지연하는 목적으로 활용하고 있다. 안티 디버깅을 지원하는 대부분의 상용 SW 또한 이런 한계를 크게 벗어나지 않고 있으며 적용하는 안티 디버깅 기법의 종류와 수의 차이만 있다. 특히 기존의 연구는 안티 디버깅 기법의 우회에 집중하고 있으며 해당 연구는 분석을 위한 사전 단계의 개념이며 실제 분석 단계에서는 활용하지 못해 분석 효율을 올리지는 못한다. 본 연구에서는 분석의 관점에서 안티 디버깅을 무력화하고, 실제 분석 시 활용할 수 있는 방법을 소개한다.

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

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

사물인터넷 환경에서 시스템에 대한 비정상행위 방지 기법 (A Scheme on Anomaly Prevention for Systems in IoT Environment)

  • 이근호
    • 사물인터넷융복합논문지
    • /
    • 제5권2호
    • /
    • pp.95-101
    • /
    • 2019
  • 4차 산업혁명시대와 사물인터넷의 시대로 접어들면서 다양한 서비스가 빠르게 성장하고 있으며 관련된 다양한 연구가 활발히 진행중에 있다. 그중에서도 사물인터넷에서 사용이 되고 있는 다양한 디바이스에 대한 비정상행위에 대한 연구도 진행이 되고 있다. 초연결의 사회에서 하나의 잘못된 디바이스로 인한 피해가 발생하면 다양하게 연결되어 있는 시스템에 심각한 영향을 줄 수 밖에 없다. 본 논문에서는 이러한 사물인터넷 환경에서 디바이스에 대한 안전성을 높일 수 있는 방법과 안전하게 디바이스와 서비스를 이용하 수 있는 방법에 대하여 안티디버깅 기법, 이상 프로세스 탐지 기법, 백도어 탐지 기법 등 여러 가지 비정상적인 행위로 인한 위협요소에 대응하기 위한 기법을 제안한다.

지능형 악성코드 분석을 위한 안티리버싱 코드 우회 프레임워크 설계 및 구현 (Design and Implementation of Anti-reversing Code Evasion Framework for Intelligent Malware Analysis)

  • 이선준;김규호;신용구;이정현
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2018년도 추계학술발표대회
    • /
    • pp.218-221
    • /
    • 2018
  • 최근 악성코드의 수가 급격하게 증가하고 있으며 단순히 악성 행위를 하는 것 뿐 아니라 안티디버깅과 같은 다양한 분석 방지 기능을 탑재하여 악성코드의 분석을 어렵게 한다. 역공학 방지 기법이 적용된 지능형 악성코드를 기존 분석 도구를 사용하여 분석하면 악성행위를 하지 않거나 임의로 자기 자신을 종료시키는 방식으로 분석이 용이하지 않다. 이러한 지능형 악성코드들은 분석하기 어려울 뿐만아니라 기존 백신의 탐지 기능에 전혀 제약을 받지 않는다. 본 논문은 이와 같은 최신 지능형 악성코드에 보다 빠르게 대처하기 위해 역공학 방지 기법이 적용된 악성코드들이 메모리상에서 종료되지 않고 정상 동작하여 악성행위를 자동으로 파악할 수 있는 동적 코드 계측 프레임워크를 제안한다. 또한, 제안한 프레임워크를 개념 검증하기 위해 프로토타입을 설계 및 구현하고, 실험을 통해 그 유효성을 확인한다.

VMProtect의 역공학 방해 기능 분석 및 Pin을 이용한 우회 방안 (Analysis of Anti-Reversing Functionalities of VMProtect and Bypass Method Using Pin)

  • 박성우;박용수
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제10권11호
    • /
    • pp.297-304
    • /
    • 2021
  • 상용 난독화 도구(프로텍터)들은 소프트웨어 역공학 과정에서 프로그램의 분석을 지연시키고 방해하는 난독화 기술 및 역공학 방해(안티리버싱) 기법을 적용시킴으로써 소프트웨어의 동작 과정을 분석하는데 어려움을 발생시키는데 목적이 있다. 특히, 가상화 탐지와 안티디버깅 기능 같은 경우 분석 도구가 발견되면 정상적인 실행 흐름을 벗어나 프로그램을 종료시킨다. 본 논문에서는 상용 난독화 도구(프로텍터) 중 하나인 VMProtect 3.5.0을 통해 Debugger Detection, Virualization Tools Detection 옵션을 적용시킨 실행 파일의 안티리버싱 기법을 분석하고 Pin을 이용한 우회 방안을 제안한다. 또한, 적용된 안티리버싱 기법을 분석하는 과정에서 Amti-VM 기술과 Anti-DBI 기술에 의해 프로그램이 종료되는 문제가 발생하기 때문에 API 분석을 통해 특정 프로그램 종료 루틴을 알아내어 적용된 안티리버싱 기법의 위치를 예상하고 위치를 바탕으로 안티리버싱 기법 우회 방안 알고리즘 순서도를 작성하였다. 실험에 사용된 소프트웨어들의 버전의 차이로부터 발생하는 호환성 문제, 기법의 변화 등을 고려하여 최신 버전의 소프트웨어(VMProtect, Windows, Pin)에서 Pin 자동화 우회 코드를 작성하고 실험을 진행하여 성공적으로 우회됨을 확인하였다. 제안된 분석 방안을 개선하여 기법이 제시되지 않은 난독화 도구의 안티리버싱 기법을 분석하고 우회 방안을 찾아낼 수 있다.

Intel VT 기술을 이용한 Xen 기반 동적 악성코드 분석 시스템 구현 및 평가 (Development and Analyses of Xen based Dynamic Binary Instrumentation using Intel VT)

  • 김태형;김인혁;엄영익;김원호
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제37권5호
    • /
    • pp.304-313
    • /
    • 2010
  • 악성코드를 분석하기 위한 기법에는 다양한 방법들이 존재한다. 하지만 기존의 악성코드 분석 기법으로는 악성코드들의 동작들을 정확하게 분석하는 것이 점점 어려워지고 있다. 특히, 분석 시스템들이 악성코드의 안티-디버깅 기술에 의해 감지되기 쉽고, 실행속도 등 여러 가지 한계점을 보임에 따라 이를 해결할 수 있는 분석 기법이 요구되고 있다. 본 논문에서는 동적 코드 분석을 위한 기본 요구사항인 명령어 단위 분석 및 메모리 접근 추적 기능을 제공하는 동적 코드 분석 시스템을 설계 및 구현한다. 그리고 DLL 로딩 추적을 통한 API 호출 정보를 추출하여, 다양한 실행 코드들을 분석 할 수 있는 기반 환경을 구축한다. 제안 시스템은 Intel의 VT 기술을 이용하여 Xen 기반으로 전가상화 환경을 구축하였으며, 게스트에서는 윈도우즈 XP가 동작할 수 있도록 하였다. 제안 시스템을 이용하여 대표적인 악성코드들을 분석해 봄으로써 제안 시스템 각각의 기능들의 활용을 살펴보고, 제안 시스템이 악성코드들을 정확하게 분석 및 탐지함을 보여준다.

PinDemonium 기반 Original Entry Point 탐지 방법 개선 (Improved Original Entry Point Detection Method Based on PinDemonium)

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