• 제목/요약/키워드: Anti-debugging

검색결과 9건 처리시간 0.021초

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

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 도구는 안티디버깅을 지원하는 프로텍터로 생성한 파일로 안티디버깅 우회 실험을 진행한다. 본 기법은 추후에 발견되는 안티디버깅 우회 코드 작성의 참고자료가 될 것이고 발견된 안티디버깅에 맞춰 수정 후 추가 적용이 가능할 것으로 예상된다.

코드패치 및 하이브리드 분석 환경을 활용한 악성코드 데이터셋 추출 프레임워크 설계 (Framework Design for Malware Dataset Extraction Using Code Patches in a Hybrid Analysis Environment)

  • 최기상;최상훈;박기웅
    • 정보보호학회논문지
    • /
    • 제34권3호
    • /
    • pp.403-416
    • /
    • 2024
  • 악성코드는 금전적인 목적에 의하여 서비스의 한 형태로 블랙마켓에 판매되고 있다. 판매에 따른 수요가 증가함에 따라 악성코드를 통한 공격이 확장되었다. 이에 대응하기 위해 인공지능을 활용한 탐지 및 분류 연구들이 등장하였지만, 공격자들은 분석을 방지하고자 다양한 안티 분석기술을 악성코드에 적용하고 있다. 본 논문에서는 안티 분석 기술이 적용된 악성코드들로부터 데이터셋을 확보하기 위해 하이브리드형 바이너리 분석 프레임워크 Malware Analysis with Dynamic Extraction(MADE)을 제안한다. MADE 프레임워크는 Anti-VM, Anti-Debugging이 적재된 바이너리를 포함하여 자동화된 동적 분석을 수행할 수 있다. MADE 프레임워크는 Anti-Analysis 기술이 적용된 다양한 악성코드들에 대해 90% 이상 우회가 가능하며, API 호출 정보를 포함한 데이터셋 추출이 가능함을 실험을 통해 검증하였다.

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

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

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가 동작할 수 있도록 하였다. 제안 시스템을 이용하여 대표적인 악성코드들을 분석해 봄으로써 제안 시스템 각각의 기능들의 활용을 살펴보고, 제안 시스템이 악성코드들을 정확하게 분석 및 탐지함을 보여준다.

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

PE Format 조작을 통한 소프트웨어 크랙 방지 기술 (How to Prevent Software crack for Control PE)

  • 김태형;장종욱
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2017년도 춘계학술대회
    • /
    • pp.249-251
    • /
    • 2017
  • 과거에는 소프트웨어 보안이 크게 중요하지 않게 생각해왔다. 그러나 소프트웨어를 공격하는 기술은 시대를 넘어 빠르게 성장하고 있으며 이로 인한 소프트웨어 산업의 성장은 감소하고 저작권자의 이익은 점점 감소하고 있다. 그래서 본 연구에서는 PE 포맷 조작을 통해 소프트웨어 크랙을 방지하는 것을 제안한다. 보통 해커는 프로그램을 정적으로 먼저 분석을 해서 1차적인 정보를 얻는데 PE 포맷의 약간의 조작만으로 정적 분석을 방해할 수 있다. 그리고 PE 포맷 조작을 통해 해당 프로그램에 여러 가지 보안 코드가 삽입 가능하며 이를 통해 해커들의 디버거를 이용한 접근이나 동적 분석을 방해 할 수 있다.

  • PDF

대형 차량용 ABS의 성능분석을 위한 DAS 구현 (Implementation of DAS for Performance Analysis of Heavy-Vehicle ABS)

  • 이기창;전정우;남택근;황돈하;김용주
    • 대한전기학회:학술대회논문집
    • /
    • 대한전기학회 2002년도 하계학술대회 논문집 D
    • /
    • pp.2373-2375
    • /
    • 2002
  • 전자 제어식 미끄럼 방지 제동 장치(ABS, Anti-lock Brake System)를 장착한 차량의 실차 제동 시험은 시험용 차량을 비롯하여, 많은 분석장비를 필요로 한다. 이러한 고가의 장비는 구하기가 어려울 뿐만 아니라 사용방법을 학습하는 데에도 상당한 기간을 필요로 하므로, 개발중인 ABS에 대하여 적용해 보기에는 그 사용에 제약을 받는다. 본 논문에서는 개발중인 미끄럼방지 제동 알고리즘과 전자제어장치(ECU, Electronic Control Unit)를 대형 버스에 장착하여, 저 점착 노면에서 주행 시험을 시행하였고, 그 주행 기록의 분석을 위하여 DAS(Data Acquisition System)를 구현하였다. 개발 ABS 알고리즘 및 ECU의 기능과 성능 검증이 목적인 DAS는 부가적인 센서 및 고가의 장비를 사용하지 않고 제어보드와 휴대용 노트북 컴퓨터를 이용하였다. 고정밀도의 자료를 획득할 수는 없었지만, 개발 DAS를 이용한 차량 실차 제동 시험은 경제적이면서도 효과적인 ECU 및 알고리즘의 성능 분석을 이룰 수 있었다. 특히 개발 DAS는 제어 및 Data Acquisition을 동일한 보드를 사용하여 구현함으로써, ABS 장착 실차 주행 시험 결과를 제어알고리즘에 즉각적으로 반영시킨 수 있었다. 이러한 One Board System 및 On-Vehicle Programming을 이용한 방법은 개발 알고리즘의 빠른 Debugging 및 파라미터 조정(Tuning)을 가능하게 하였으므로, 실차 제동 시험을 위한 한정된 기간 내에 개발 ABS ECU 및 제어 알고리즘의 성능을 효과적으로 검증할 수 있었다.

  • PDF

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