• 제목/요약/키워드: 난독화 해제

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

ConfuserEx의 난독화 복구 자동화 시스템 구축 연구 (A Study on Implementing an Automated Tool for De-Obfuscating a ConfuserEx)

  • 이재휘;박영석;김동현;허규
    • 정보보호학회논문지
    • /
    • 제33권1호
    • /
    • pp.129-137
    • /
    • 2023
  • 매크로 프로그램을 이용하여 포털 사이트의 컨텐츠를 생산하거나 변경하려는 시도는 계속해서발생하고있으며, 국내 포털 사이트인 네이버 또한 이러한 시도에 대응하기 위해 프로그램을 확보하고 분석할 수 있도록노력하고있다. 그러나 확보한 프로그램에 난독화가 적용된 경우가 있어, 난독화에 대응하는 방안 또한 필요한것으로보인다. 본 논문에서는 확보한 프로그램에 적용된 난독화 도구 중 높은 비율을 차지한 ConfuserEx에 대해분석하고, 실행파일에 적용된 분석방해 기능을 자동으로 해제하는 시스템을 제안해 난독화 해제에 소비되는 시간을단축할수있도록 한다.

역난독화를 위한 바이너리 프로그램 슬라이싱 (Program Slicing for Binary code Deobfuscation)

  • 목성균;전현구;조은선
    • 정보보호학회논문지
    • /
    • 제27권1호
    • /
    • pp.59-66
    • /
    • 2017
  • 해커들이 자신들이 만든 악성코드의 분석을 어렵게 하기 위하여 코드 난독화 기법을 적용하고 있다. 최근의 난독화 기법은 가상화 난독화 기법을 통해 원래의 코드를 바이트코드로 만들고 가상머신이 이를 실행시키는 방식으로, 실행시키기 전에는 원래의 코드를 알 수가 없다. 프로그램 슬라이싱은 프로그램 분석기술 중 하나로 슬라이싱 기준을 정하고 그와 관련된 문장을 추출해내는 기술이다. 본 논문에서는 슬라이싱 기법을 사용하여 난독화를 해제하는 방법을 제시한다.

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

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

레이아웃 파일 변환을 이용한 안드로이드 난독화 기법의 설계 및 구현 (Design and implementation of Android obfuscation technique using layout file transformation)

  • 박희완
    • 한국융합학회논문지
    • /
    • 제11권11호
    • /
    • pp.1-7
    • /
    • 2020
  • 안드로이드 앱은 주로 apk 파일 형태로 배포되고, apk 파일의 압축 해제하면 앱 디자인과 관련된 xml 파일, 이미지, 사운드와 같은 리소스 파일을 추출할 수 있다. 만일 은행이나 금융과 관련된 앱의 리소스가 도용되어 가짜 앱이 배포된다면 개인정보가 유출되거나 금융사기를 당할 수 있다. 따라서 앱을 배포할 때 코드뿐만 아니라 디자인을 도용하기 어렵게 만드는 노력이 필요하다. 본 논문에서는 xml 파일을 자바 코드로 변환한 후 프로가드(Proguard)를 이용하여 난독화하는 도구를 구현하였고 실행 성능을 평가하였다. 본 논문에서 제안하는 레이아웃 난독화 기법을 사용하면 앱구동 성능을 높일 수 있으며 화면 디자인 도용으로 인한 불법 복제 피해를 예방하는 효과도 있을 것으로 기대한다.

실행 파일 형태로 복원하기 위한 Themida 자동 역난독화 도구 구현 (Implementation of the Automated De-Obfuscation Tool to Restore Working Executable)

  • 강유진;박문찬;이동훈
    • 정보보호학회논문지
    • /
    • 제27권4호
    • /
    • pp.785-802
    • /
    • 2017
  • 악성코드를 이용한 사이버 위협이 꾸준히 증가함에 따라 많은 보안 및 백신 관련 업체들이 악성코드 분석 및 탐지에 많은 노력을 기울이고 있다. 그러나 소프트웨어의 분석이 어렵도록 하는 난독화 기법이 악성코드에 적용되어 악성코드에 대한 빠른 대응이 어려운 실정이다. 특히 상용 난독화 도구는 빠르고 간편하게 변종 악성코드를 생성해 낼 수 있기 때문에 악성코드 분석가가 새로운 변종 악성코드의 출현 속도에 대응할 수 없도록 한다. 분석가가 빠르게 악성코드의 실제 악성행위를 분석하도록 하기 위해서는 난독화를 해제하는 역난독화 기술이 필요하다. 본 논문에서는 상용 난독화 도구인 Themida가 적용된 소프트웨어를 역난독화하는 일반적인 분석방법론을 제안한다. 먼저 Themida를 이용하여 난독화가 적용된 실행파일을 분석하여 알아낸 Themida의 동작 원리를 서술한다. 다음으로 DBI(Dynamic Binary Instrumentation) 프레임워크인 Pintool을 이용하여 난독화된 실행파일에서 원본 코드 및 데이터 정보를 추출하고, 이 원본 정보들을 활용하여 원본 실행파일에 가까운 형태로 역난독화할 수 있는 자동화 분석 도구 구현 결과에 대해 서술한다. 마지막으로 원본 실행파일과 역난독화한 실행파일의 비교를 통해 본 논문의 자동화 분석 도구의 성능을 평가한다.

최신 버전의 Themida가 보이는 정규화가 어려운 API 난독화 분석방안 연구 (A Study on the Analysis Method to API Wrapping that Difficult to Normalize in the Latest Version of Themida)

  • 이재휘;이병희;조상현
    • 정보보호학회논문지
    • /
    • 제29권6호
    • /
    • pp.1375-1382
    • /
    • 2019
  • 최근 상용 프로텍터인 Themida의 최신 버전이 업데이트되면서, 추적할 초기 데이터를 제공하는 가상 메모리 할당을 사용하지 않도록 변경해 기존 연구의 정규화된 대응방안을 적용할 수 없게 되었다. 또한, 실행 중에 결정되는 값이 많아 동적으로 추적하기 수월했던 기존의 버전에 비해, 프로텍터를 적용하는 시점에 결정된 고정값이 많아 동적으로 추적하는데 어려움이 생겼다. API 난독화 과정을 정규화하기 어려워지도록 최신 버전의 Themida가 어떤 방식을 채용했는지 알아보고, 이를 해제하는 자동화된 시스템을 추후 개발하기 위해 어떠한 기술을 적용할 수 있을지 가능성을 검토해 본다.

Themida의 API 난독화 분석과 복구방안 연구 (A Study on API Wrapping in Themida and Unpacking Technique)

  • 이재휘;한재혁;이민욱;최재문;백현우;이상진
    • 정보보호학회논문지
    • /
    • 제27권1호
    • /
    • pp.67-77
    • /
    • 2017
  • 프로텍터란 프로그램의 핵심 아이디어를 보호하기 위해 실행파일을 압축하고 난독화를 적용하는 프로그램이다. 그리고 최근 악성코드가 자신의 악성행위를 분석하기 어렵게 만들기 위해 프로텍터를 적용하고 있다. 프로텍터가 적용된 실행파일을 정밀분석하기 위해서는 프로텍터를 해제하는 언패킹 작업이 필요하다. 기존의 연구에서는 OEP를 찾아 언패킹을 하는 것에 주력하였지만, 분석방해가 목적인 프로텍터의 경우 실행압축 해제가 완료된 이후의 실행에 분석방해 기능들이 남아있게 되어 여전히 분석에 어려움이 있다. 본 논문에서는 분석방해가 목적인 Themida 프로텍터가 사용하는 분석방해 기술을 분석하고 그에 대한 대응방안을 제안한다.

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후보를 줄일 수 있었다.