• 제목/요약/키워드: 안티리버싱

검색결과 4건 처리시간 0.018초

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 자동화 우회 코드를 작성하고 실험을 진행하여 성공적으로 우회됨을 확인하였다. 제안된 분석 방안을 개선하여 기법이 제시되지 않은 난독화 도구의 안티리버싱 기법을 분석하고 우회 방안을 찾아낼 수 있다.

분석 환경에 따른 안티 디버깅 루틴 자동 탐지 기법 (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가지에 대하여 정상적으로 탐지가 이루어졌다. 이와 같이, 본 기법은 특정 안티 디버깅 기술에 의존적이지 않으며, 추후 개발 및 발견되는 안티 디버깅 기술들에 대한 탐지의 경우에도 적용이 가능할 것으로 예상된다.

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

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

안드로이드 어플리케이션 역공학 보호기법

  • 하동수;이강효;오희국
    • 정보보호학회지
    • /
    • 제25권3호
    • /
    • pp.19-28
    • /
    • 2015
  • 현재 가장 높은 점유율을 보이고 있는 스마트 모바일 디바이스 플랫폼인 안드로이드는 바이트코드 기반의 어플리케이션을 동작시킨다. 바이트코드는 특성상 역공학에 취약하여 원본 코드의 노출이나 수정 후 재배포가 쉽게 이루어질 수 있다. 이를 보완하는 방법으로 난독화, 실행압축, 코드 분리, 기타 안티 리버싱 기법 등이 존재하지만, 이런 보호기법을 단독으로 사용하면 그 효과가 높지 않다. 이들은 각각 장단점을 가지고 있는데, 여러 기법을 조합해서 사용하면 보안성을 한층 높일수 있다. 그렇다고 각 기법의 특징을 무시한 채 무작정 사용하게 되면 오히려 어플리케이션의 성능이 낮아지고 크기가 늘어나는 문제가 발생한다. 따라서 보호기법의 정확한 이해와 필요에 맞는 올바른 선택적 사용이 중요하다. 본 논문에서는 지금까지 사용되어 온 안드로이드 어플리케이션 역공학 보호기법의 유형과 특징에 대하여 살펴보고, 보안성을 높이기 위한 올바른 조합과 선택에 대해 고찰한다.