RISS 학술연구정보서비스

검색
다국어 입력

http://chineseinput.net/에서 pinyin(병음)방식으로 중국어를 변환할 수 있습니다.

변환된 중국어를 복사하여 사용하시면 됩니다.

예시)
  • 中文 을 입력하시려면 zhongwen을 입력하시고 space를누르시면됩니다.
  • 北京 을 입력하시려면 beijing을 입력하시고 space를 누르시면 됩니다.
닫기
    인기검색어 순위 펼치기

    RISS 인기검색어

      안드로이드 어플리케이션에 대한 동적 역공학 방지 기법

      한글로보기

      https://www.riss.kr/link?id=T14198554

      • 저자
      • 발행사항

        용인 : 단국대학교 대학원, 2016

      • 학위논문사항
      • 발행연도

        2016

      • 작성언어

        한국어

      • DDC

        005.268 판사항(22)

      • 발행국(도시)

        경기도

      • 기타서명

        An Android Application Protection Scheme against Dynamic Reverse Engineering Attacks

      • 형태사항

        vi, 43장 : 삽화,표 ; 30cm.

      • 일반주기명

        단국대학교 학위논문은 저작권에 의해 보호받습니다
        지도교수 : 조성제
        참고문헌 : 40-41장

      • 소장기관
        • 단국대학교 율곡기념도서관(천안) 소장기관정보
        • 단국대학교 퇴계기념도서관(중앙도서관) 소장기관정보
      • 0

        상세조회
      • 0

        다운로드
      서지정보 열기
      • 내보내기
      • 내책장담기
      • 공유하기
      • 오류접수

      부가정보

      국문 초록 (Abstract) kakao i 다국어 번역

      안드로이드 어플리케이션은 주로 자바 언어로 작성되어 바이트 코드로 이루어져 있다. 바이트 코드는 특성상 역공학 공격에 취약한 단점이 있어 많은 안드로이드 어플리케이션들의 저작권 침해 및 악성코드 삽입 등의 문제가 발생하고 있다. 안드로이드 어플리케이션을 역공학 공격으로부터 방어하기 위해 난독화 기법, 패킹, 암호화, 난독화 등의 정적 역공학 방지 기법들이 연구되고 있다. 하지만 이러한 정적 역공학 방지 기법들은 메모리 덤프, 실시간 디버깅 등과 같은 동적 역공학에 무력화된다. 또한, 동적 역공학 방지 기법으로는 주로 에뮬레이터 환경 탐지 연구들이 진행되고 있다. 하지만 최근 실기기 기반의 동적 역공학 기법들이 공개되어 에뮬레이터 기반 연구만으로는 한계점을 지닌다.
      따라서 본 논문에서는, 안드로이드 어플리케이션에 대해 실기기 기반의 동적 역공학 방지 기법을 제안한다. 제안 기법을 안드로이드 어플리케이션에 적용하기 위해서 스텁 DEX 파일을 생성한다. 생성한 스텁 DEX파일의 기능은 동적 역공학 방지를 위해 어플리케이션이 실행되고 있는 환경이 루팅된 디바이스인지 검사를 진행하고, 어플리케이션에 대해 디버깅이 진행되고 있는지 검사를 진행한다. 검사 결과 루팅된 환경 혹은 디버깅 진행시 어플리케이션을 강제 종료하게 된다. 그리고 탐지 기법에 대한 우회 공격을 방어하기 위해 호출 스택 기반의 우회 공격 탐지를 진행한다. 본 제안 기법은 소스코드가 없는 어플리케이션에 적용이 가능한 장점을 갖고 있다.
      구글 플레이 스토어에 등록된 어플리케이션 중 루팅 및 디버깅 탐지를 하지 않는 앱을 대상으로 제안 기법을 구현하였다. 실험 결과, 제안 기법이 호출 스택 트레이스 기반으로 최신 우회 공격까지 고려하면서, 루팅된 환경과 디버깅 시도를 효과적으로 탐지하는 것을 확인하였다. 제안 기법의 추가 시간 오버헤드는 평균 1953.2ms였다.
      번역하기

      안드로이드 어플리케이션은 주로 자바 언어로 작성되어 바이트 코드로 이루어져 있다. 바이트 코드는 특성상 역공학 공격에 취약한 단점이 있어 많은 안드로이드 어플리케이션들의 저작권 ...

      안드로이드 어플리케이션은 주로 자바 언어로 작성되어 바이트 코드로 이루어져 있다. 바이트 코드는 특성상 역공학 공격에 취약한 단점이 있어 많은 안드로이드 어플리케이션들의 저작권 침해 및 악성코드 삽입 등의 문제가 발생하고 있다. 안드로이드 어플리케이션을 역공학 공격으로부터 방어하기 위해 난독화 기법, 패킹, 암호화, 난독화 등의 정적 역공학 방지 기법들이 연구되고 있다. 하지만 이러한 정적 역공학 방지 기법들은 메모리 덤프, 실시간 디버깅 등과 같은 동적 역공학에 무력화된다. 또한, 동적 역공학 방지 기법으로는 주로 에뮬레이터 환경 탐지 연구들이 진행되고 있다. 하지만 최근 실기기 기반의 동적 역공학 기법들이 공개되어 에뮬레이터 기반 연구만으로는 한계점을 지닌다.
      따라서 본 논문에서는, 안드로이드 어플리케이션에 대해 실기기 기반의 동적 역공학 방지 기법을 제안한다. 제안 기법을 안드로이드 어플리케이션에 적용하기 위해서 스텁 DEX 파일을 생성한다. 생성한 스텁 DEX파일의 기능은 동적 역공학 방지를 위해 어플리케이션이 실행되고 있는 환경이 루팅된 디바이스인지 검사를 진행하고, 어플리케이션에 대해 디버깅이 진행되고 있는지 검사를 진행한다. 검사 결과 루팅된 환경 혹은 디버깅 진행시 어플리케이션을 강제 종료하게 된다. 그리고 탐지 기법에 대한 우회 공격을 방어하기 위해 호출 스택 기반의 우회 공격 탐지를 진행한다. 본 제안 기법은 소스코드가 없는 어플리케이션에 적용이 가능한 장점을 갖고 있다.
      구글 플레이 스토어에 등록된 어플리케이션 중 루팅 및 디버깅 탐지를 하지 않는 앱을 대상으로 제안 기법을 구현하였다. 실험 결과, 제안 기법이 호출 스택 트레이스 기반으로 최신 우회 공격까지 고려하면서, 루팅된 환경과 디버깅 시도를 효과적으로 탐지하는 것을 확인하였다. 제안 기법의 추가 시간 오버헤드는 평균 1953.2ms였다.

      더보기

      다국어 초록 (Multilingual Abstract) kakao i 다국어 번역

      Reverse engineering of Android applications is easy because the applications are written in the high level but simple byte code language. Due to malicious reverse engineering attacks, many Android applications are tampered and repackaged into malicious applications. To protect Android applications from reverse engineering, many researches have been conducted to develop anti-reverse engineering techniques such as obfuscation, packing (packed executable), encryption, and anti-debugging. Obfuscation, packing and encryption are the defense techniques against static reverse engineering, which cannot prevent dynamic reverse engineering like memory dumping and runtime debugging.
      On the other hand, the existing defense techniques against dynamic reverse engineering have usually tried to protect applications by determining whether they are being executed on an emulation-based analysis environment and stopping their execution on the emulator. However, these techniques based on detecting the emulators become ineffective because attackers recently make dynamic reverse engineering directly on real mobile devices.
      This thesis proposes a new protection scheme for Android applications against dynamic reverse engineering which is used for real mobile devices. The proposed scheme aims to check if a device on which the application is running is rooted and detect whether the application is being debugged. If the mobile device is rooted or the application is being executed in debug mode, the scheme stops the execution of the application. The proposed scheme can effectively protect Android applications against dynamic reverse engineering by investigating the generated call stack traces. The strength of the proposed scheme is that it can be applied to Android applications whose source code is not available.
      The proposed scheme can be implemented on the Android applications which do not detect a rooted device as well as whether a debugger is being used. Experimental results show that the scheme works very well using call stack traces under the situation that the latest existing detection techniques can be bypassed. The total time overhead incurred by the scheme is about 1.95 seconds on average.
      번역하기

      Reverse engineering of Android applications is easy because the applications are written in the high level but simple byte code language. Due to malicious reverse engineering attacks, many Android applications are tampered and repackaged into maliciou...

      Reverse engineering of Android applications is easy because the applications are written in the high level but simple byte code language. Due to malicious reverse engineering attacks, many Android applications are tampered and repackaged into malicious applications. To protect Android applications from reverse engineering, many researches have been conducted to develop anti-reverse engineering techniques such as obfuscation, packing (packed executable), encryption, and anti-debugging. Obfuscation, packing and encryption are the defense techniques against static reverse engineering, which cannot prevent dynamic reverse engineering like memory dumping and runtime debugging.
      On the other hand, the existing defense techniques against dynamic reverse engineering have usually tried to protect applications by determining whether they are being executed on an emulation-based analysis environment and stopping their execution on the emulator. However, these techniques based on detecting the emulators become ineffective because attackers recently make dynamic reverse engineering directly on real mobile devices.
      This thesis proposes a new protection scheme for Android applications against dynamic reverse engineering which is used for real mobile devices. The proposed scheme aims to check if a device on which the application is running is rooted and detect whether the application is being debugged. If the mobile device is rooted or the application is being executed in debug mode, the scheme stops the execution of the application. The proposed scheme can effectively protect Android applications against dynamic reverse engineering by investigating the generated call stack traces. The strength of the proposed scheme is that it can be applied to Android applications whose source code is not available.
      The proposed scheme can be implemented on the Android applications which do not detect a rooted device as well as whether a debugger is being used. Experimental results show that the scheme works very well using call stack traces under the situation that the latest existing detection techniques can be bypassed. The total time overhead incurred by the scheme is about 1.95 seconds on average.

      더보기

      목차 (Table of Contents)

      • Ⅰ. 서 론 1
      • Ⅱ. 관련연구 4
      • 2.1. 안드로이드 어플리케이션 구조 4
      • 2.2. 암호화 및 동적 로딩을 이용한 정적 역공학 방지 기법 5
      • 2.3. 안드로이드 디버깅 탐지 기법 7
      • Ⅰ. 서 론 1
      • Ⅱ. 관련연구 4
      • 2.1. 안드로이드 어플리케이션 구조 4
      • 2.2. 암호화 및 동적 로딩을 이용한 정적 역공학 방지 기법 5
      • 2.3. 안드로이드 디버깅 탐지 기법 7
      • 2.4. 안드로이드 루팅 및 루팅 탐지 기법 8
      • Ⅲ. 안드로이드 어플리케이션 동적 역공학 방지 기법 12
      • 3.1. 스텁 DEX의 구성 및 기능 12
      • 3.2. 제안기법 적용 후 앱 변화 14
      • 3.3. 루팅 탐지 기법 설계 및 구현 15
      • 3.4. NetBeans를 이용한 자바 수준 디버깅 탐지 17
      • 3.5. 호출 스택 기반의 우회 공격 차단 방법 19
      • Ⅳ. 실험 및 분석 23
      • 4.1. Xposed를 이용한 우회 공격 실험 23
      • 4.2. 우회 공격에 대해 호출 스택을 이용한 방어 실험 33
      • 4.3 오버헤드 측정 37
      • Ⅴ. 결론 및 향후 연구 39
      • 참고문헌 40
      • 영문요약 42
      더보기

      분석정보

      View

      상세정보조회

      0

      Usage

      원문다운로드

      0

      대출신청

      0

      복사신청

      0

      EDDS신청

      0

      동일 주제 내 활용도 TOP

      더보기

      주제

      연도별 연구동향

      연도별 활용동향

      연관논문

      연구자 네트워크맵

      공동연구자 (7)

      유사연구자 (20) 활용도상위20명

      이 자료와 함께 이용한 RISS 자료

      나만을 위한 추천자료

      해외이동버튼