• 제목/요약/키워드: virtualization-obfuscation

검색결과 5건 처리시간 0.016초

가상화 난독화 기법이 적용된 실행 파일 분석 및 자동화 분석 도구 구현 (Analysis of Virtualization Obfuscated Executable Files and Implementation of Automatic Analysis Tool)

  • 석재혁;김성훈;이동훈
    • 정보보호학회논문지
    • /
    • 제23권4호
    • /
    • pp.709-720
    • /
    • 2013
  • 가상화 난독화 기법은 보호하고자 하는 코드영역에 가상화 기법을 적용함으로써 코드의 분석을 어렵게 하는 기법이다. 상용 가상화 난독화 도구로 보호된 프로그램은 가상화된 코드가 원본코드로 복원되는 시점이 존재하지 않고 다양한 난독화 기법으로 가상화 영역이 보호되어 있어 분석하기 어렵기로 잘 알려져 있다. 그러나 이러한 가상화 난독화 기법이 악성코드 보호에 악용되면서 악성코드의 분석 및 대응에 어려움을 겪고 있는 현실이다. 본 논문에서는 상용 가상화 난독화 기법의 핵심 요소들을 자동으로 추출하고 실행 과정을 트레이스 할 수 있는 도구를 구현함으로써 상용 가상화 난독화 도구로 보호되어 있는 악성코드의 분석 및 대응에 활용할 수 있도록 한다. 이를 위하여 가상화 난독화 기법의 기본 구조와 동작 과정을 정리하고, 상용 가상화 난독화 기법으로 보호된 실행 파일을 대상으로 프로그램 분석 기법 중 하나인 Equation Reasoning System을 활용한 분석 결과를 제시한다. 또한 상용 가상화 난독화 도구로 보호되어 있는 실행 파일에서 가상화 구조를 추출하고 프로그램 실행 순서를 도출할 수 있는 자동화 분석 도구를 구현한다.

가상 머신 기반으로 난독화된 실행파일의 구조 및 원본의미 추출 동적 방법 (A Dynamic Approach to Extract the Original Semantics and Structure of VM-based Obfuscated Binary Executables)

  • 이성호;한태숙
    • 정보과학회 논문지
    • /
    • 제41권10호
    • /
    • pp.859-869
    • /
    • 2014
  • 최근 몇 년 동안, 난독화 기술은 악성 코드를 보호하기 위해 악용되어 큰 위협이 되고 있다. 특히, 가상 머신 기반으로 난독화된 악성 코드의 경우, 원본 프로그램이 직접적으로 드러나지 않고 가상머신의 의미와 원본 프로그램의 의미가 함께 수행되므로 분석하기 어렵다. 이러한 위협에 대응하기 위하여, 가상 머신 기반으로 난독화된 프로그램을 분석하는 동적 분석 기반의 프레임워크를 제안한다. 첫째, 난독화된 실행파일의 동적 실행 트레이스를 추출한다. 둘째, 동적 실행 트레이스를 중간언어로 변환하고 동적 제어 흐름 그래프를 이용하여 가상 머신의 구조를 추출한다. 결과적으로, 추출된 가상 머신 구조를 이용하여 원본 프로그램의 의미를 추출한다. 본 논문은 최신 상용 난독화 도구로 난독화된 실행파일에서 원본 프로그램을 추측할 수 있는 방안을 제시한다. 개발된 도구는 가상 머신 기반으로 난독화된 프로그램을 이해하고 프로그램 분석 기법을 적용하는 데 활용될 수 있으며 추출된 원본 프로그램의 요약 의미를 이용하여 추가적인 분석을 적용할 수 있을 것으로 기대한다.

가상화 기반 난독화 및 역난독화를 위한 코드 자동 분석 기술 (Code Automatic Analysis Technique for Virtualization-based Obfuscation and Deobfuscation)

  • 김순곤
    • 한국정보전자통신기술학회논문지
    • /
    • 제11권6호
    • /
    • pp.724-731
    • /
    • 2018
  • 코드 난독화는 프로그램을 해석하거나 위조 또는 변조 방지를 목적으로 프로그램을 쉽게 이해할 수 없도록하는 기술이다. 역난독화는 난독화된 프로그램을 입력으로 받아 원 소스의 의미를 역공학 기술을 통해 분석하는 기술이다. 본 논문은 가상화 기반 환경에서 바이너리 코드에 대한 난독화 및 역난독화 기술에 대한 분석 연구이다. VMAttack를 기반으로 정적 코드분석, 동적 코드분석, 최적화 기법에 대한 구체적인 분석을 통해 난독화 및 역난독화 기술을 구체적으로 분석한 후 실레 바이너리 코드에 대해 난독화와 역난독화 기술을 실험하였다. 본 논문를 통하여 다양한 가상화, 난독화에 대한 연구를 진행할 수 있을 것으로 기대된다. 특히, 스택-기반 가상 머신에서 연구한 것을 레지스터-기반 가상 머신에서 실행될 수 있게끔 기능을 추가하여 연구를 시도해볼 수 있을 것이라 기대된다.

가상화를 이용하여 난독화된 바이너리의 제어 흐름 재건 (Control Flow Reconstruction from Virtualization-Obfuscated Binaries)

  • 황준형;한태숙
    • 정보과학회 논문지
    • /
    • 제42권1호
    • /
    • pp.44-53
    • /
    • 2015
  • 제어 흐름 정보는 프로그램이 실행되는 구조를 담고 있어 소프트웨어를 분석할 때 기준이 되고 소프트웨어를 서로 비교할 때에도 유용하게 쓰인다. 가상화를 이용한 난독화는 실제 기계의 명령을 구조가 숨겨진 가상 기계의 명령으로 바꾸어 프로그램의 제어 흐름 정보를 감춘다. 난독화가 적용된 바이너리에서는 가상 기계의 명령을 실행하는 인터프리터의 구조만 직접 드러난다. 이 논문에서는 가상화로 난독화된 바이너리를 실행해서 수행되는 명령들을 기록한 트레이스를 이용해 숨겨져 있는 프로그램의 본질적인 제어 흐름을 다시 만들어내는 방법을 제안한다. 트레이스를 기계 명령으로 이루어진 문자열로 보고 생성되는 트레이스들을 모두 받아들일 수 있는 오토마톤을 찾은 다음, 해당되는 제어 흐름 그래프를 만든다. 기계 명령의 수행은 오토마톤의 상태 전이에 대응하며, 이는 제어 흐름 그래프의 간선에 대응한다. 제안한 방법을 상용 가상화 도구로 난독화된 바이너리에 적용해 보았으며, 원본 바이너리와 유사한 제어 흐름 그래프가 생성되는 것을 확인하였다.

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