• Title/Summary/Keyword: 역공학 분석

Search Result 128, Processing Time 0.026 seconds

An analysis on Technics for Preventing Android Reverse Engineering (안드로이드 어플리케이션 역공학 방지 기술 분석)

  • Pak, Min-Gun;Oh, Jeonghui;Lyoo, Hwahn-il;Kim, Soo Min
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2014.04a
    • /
    • pp.353-356
    • /
    • 2014
  • 역공학 방지 기법이 적용되지 않은 어플리케이션은 악의적인 역공학에 취약할 수밖에 없다. 악의적인 역공학은 사회적으로 여러가지 손실을 가져온다. 그러므로 역공학 방지 기법을 적용하여 어플리케이션을 보호해야 한다. 역공학 방지 기법은 다양하며, 크게 자바 소스 난독화, Smali 코드 조작, Dex 파일 포맷 조작, 그리고 Zip 파일 포맷 조작 기법으로 나눌 수 있다. 자바 소스 난독화는 코드의 가독성을 떨어트려 안드로이드 어플리케이션의 역공학을 어렵게 하는 기법이다. Smali 코드 조작 기법은 Goto 문 추가, 예외 처리 재귀 기법 등을 통하여 역공학을 막는 기법이다. Dex 파일 포맷 조작 기법에는 클래스명 길이 변경, 헤더 크기 변경 등을 통해 역공학을 어렵게 만드는 기법이다. Zip 파일 포맷 조작 기법은 Zip 파일 포맷에서 헤더 값을 조작하여 마치 암호화된 것처럼 보이도록 만드는 기법이다. 본 논문에서는 이러한 다양한 기법들에 대해서 설명하고 이를 비교 분석한다.

설계 패턴의 자동 추출을 위한 역공학에 관한 연구

  • 황하진;차정은;김행곤
    • Proceedings of the Korea Association of Information Systems Conference
    • /
    • 1997.10a
    • /
    • pp.83-88
    • /
    • 1997
  • 시스템 성능을 개선하고 변화하는 환경에 적응하기 위해서는 기존 시스템을 실험, 분석함으로써 정확한 이해를 획득하고 나아가 재사용 자원으로 활용할 수 있는 소프트웨어 역공학이 필요하다. 또한 설계 문제의 추상화와 특정 영역의 일반적인 해결책에 대한 정보 표현 및 그 관계는 패턴 형식을 통해 효과적으로 나타낼 수 있다. 즉, 시스템의 설계 구조 를 추출하여 시스템 분석과 설계를 향상시키고 표준화 된 설계 용어 및 컴퍼넌트 관계 구조 를 통해 재사용을 용이하게 하는 설계 패턴 추출을 위한 역공학은 중요하다. 따라서 본 논 문에서는 기존 코드에서 설계 패턴 추출을 위한 역공학 적용의 타당성과 설계 패턴 자동 추 출을 위한 몇 개의 알고리즘을 살펴보고 간단히 적용시켜 본다.

  • PDF

XML Reverse Engineering System (XML 역공학 시스템)

  • Park, Hyungchul;Gan, Jeonhyeon;Jang, Taejin;Lee, Juyeon;Lee, Taehyuk;Kwon, Soonkak
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • 2012.10a
    • /
    • pp.692-695
    • /
    • 2012
  • 만들어진 소프트웨어 시스템을 역으로 추적하여 처음의 문서나 설계기법 등의 자료를 얻어 내는 역공학(Reverse Engineering)은 유지 보수 및 재사용 측면에서 필요하다. 본 논문은 역공학 개념을 이용하여 하나의 소스 파일에서 클래스, 클래스내의 멤버 변수 및 메소드, 서로 다른 클래스 사이의 연관 관계 등을 추출하여 xml 문서로 표시하여 저장하는 시스템을 구현한다. 또한, 역공학한 프로젝트 내에서 선언된 변수와 함수들의 사용횟수를 분석하며, 분석된 결과를 GUI 형태로 표시시켜 줌으로써 사용자의 편리성을 제공해준다.

  • PDF

Implementation of Reverse Engineering Analysis (역공학 분석 시스템 구현)

  • Park, Hyeong-Cheol;Gan, Jeon-Hyeon;Jang, Tae-Jin;Lee, Ju-Yeon;Kwon, Soon-Kak;Lee, Jung-Hwa
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • 2012.05a
    • /
    • pp.509-511
    • /
    • 2012
  • 역공학(Reverse Engineering)은 이미 만들어진 소프트웨어 시스템을 역으로 추적하여 처음의 문서나 설계기법 등의 자료를 얻어 내는 것을 의미한다. 본 논문은 역공학 개념을 이용하여 하나의 파일에서 뽑을 수 있는 데이터 즉, 클래스나 변수, 메소드, 연관 관계 등을 추출하여 xml문서에 저장 후 역공학한 프로젝트 내에서 선언된 변수와 함수들의 사용횟수를 도출하는 시스템을 구현한다. 이를 바탕으로 역공학한 프로젝트 내에서 선언된 변수와 함수들의 사용횟수를 도출함으로써 검출 및 유지 보수가 용이하며, 클래스 다이어그램이 좀 더 자세하게 그려줄 수 있다.

  • PDF

Reverse engineering of data abstractions on fragmented binary code (단편화된 실행파일을 위한 데이터 구조 역공학 기법)

  • Lee, Jong-Hyup
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.22 no.3
    • /
    • pp.615-619
    • /
    • 2012
  • Reverse engineering via static analysis is an essential step in software security and it focuses on reconstructing code structures and data abstractions. In particular, reverse engineering of data abstractions is critical to understand software but the previous scheme, VSA, is not suitable for applying to fragmented binaries. This paper proposes an enhanced method through dynamic region assignment.

A Study on the BIL Bitstream Reverse-Engineering Tool-Chain Analysis (BIL 비트스트림 역공학 도구 분석 연구)

  • Yoon, Junghwan;Seo, Yezee;Kim, Hoonkyu;Kwon, Taekyoung
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.28 no.2
    • /
    • pp.287-293
    • /
    • 2018
  • Field Programmable Gate Array (FPGA) is widely used in a variety of fields because of its ability to be programmed as desired. However, when an externally implemented program is loaded on FPGA in the form of a bitstream, there is a possibility that hardware Trojans which cause malfunctions or leak information may be included. For this reason, bitstream reverse engineering is essential, and therefore related research has been conducted, such as BIL. In this paper, we analyze the BIL bitstream reverse engineering tool, which is the most representative algorithm, regarding its performance and limitations.

오픈소스 e-Navigation 소프트웨어 역공학 사례 연구 : Enterprise Architect를 이용하여

  • Lee, Jae-Uk;Kim, Hyo-Seung;Im, Sang-U;Lee, Seo-Jeong
    • Proceedings of the Korean Institute of Navigation and Port Research Conference
    • /
    • 2014.10a
    • /
    • pp.47-49
    • /
    • 2014
  • 최근 e-Navigation 소프트웨어의 개발과 검증을 위한 다양한 시도가 국내외적으로 진행되고 있다. 본 논문에서는 국제공동실험에서 사용되고 있는 오픈소스 e-Navigation 소프트웨어를 대상으로 역공학을 통해서 해외에서 각종 실험이 시도 되고 있는 e-Navigation 소프트웨어의 기능적, 구조적 특성 등을 분석해 본다. 이 실험을 통해 관련 시스템에 대한 국제적 기여를 탐색하고자 한다.

  • PDF

A Study on Reverse-Engineering Analysis of Encryption Module applied to Software (소프트웨어에 적용된 암호화 모듈의 역공학 분석에 관한 고찰)

  • Kim, Kwon-Youp;Choi, Jae-Min;Lee, Sang-Jin;Lim, Jong-In
    • Proceedings of the Korean Society of Broadcast Engineers Conference
    • /
    • 2007.02a
    • /
    • pp.142-145
    • /
    • 2007
  • 최근 각종 정보통신 서비스를 제공하기 위한 소프트웨어는 정보보호 기술의 핵심요소인 암호화 모듈을 탑재하고 있다. 여기서 암호화 모듈은 사용자 인증, 콘텐츠-보호, 프라이버스 보호 등의 여러 가지 정보보호 기능을 구현하기 위한 핵심 모듈이다. 그러나 악의적인 공격자에게 암호화 모듈을 사용하는 소프트웨어는 기밀한 정보를 다룬다는 점에서 공격의 대상이 될 수 있다. 또한 사람이 제작하는 소프트웨어는 크기가 커질수록 복잡해질수록 위협 요소는 증가하기 마련이다.[1] 이에 본 논문에서는 암호화 모듈이 탑재된 소프트웨어가 역공학 분석측면에서 악의적인 공격자에게 어떠한 위협 요소를 노출할 수 있는지를 살펴보고 이러한 역공학 분석 공격으로부터 보호하기 위해 소프트웨어 제작에서 고려해야 할 사항을 제시한다.

  • PDF

Design and Implementation of An Obfuscation Tool for Preventing the Theft of Android Resources (안드로이드 리소스 도용 방지를 위한 난독화 도구의 설계 및 구현)

  • Park, Heewan;Kim, Heung-Soo
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2014.01a
    • /
    • pp.93-97
    • /
    • 2014
  • 소프트웨어는 대부분 바이너리 형태로 배포되기 때문에 역공학 분석이 쉽지 않다. 그러나 안드로이드는 자바를 기반으로 한다. 자바는 클래스 파일의 형태로 배포되는데 클래스 파일은 자바 소스 프로그램의 정보를 대부분 유지하고 있기 때문에 역공학 기술을 적용하기가 타 언어에 비해 쉽다. 이 문제에 대처하기 위해서 프로그램의 기능을 그대로 유지하고, 프로그램을 분석하기 어려운 형태로 변환하는 다양한 난독화 방법이 제안되었다. 안드로이드 환경에서는 안드로이드 SDK와 함께 배포되는 난독화 도구인 프로가드(Proguard)가 가장 널리 사용된다. 그러나 프로가드는 문자열 난독화를 기능을 제공하지 않는다. 본 논문에서는 프로가드의 한계를 보완할 수 있는 문자열 난독화 기법을 제안하고 구현하였다. 본 논문에서 제안하는 문자열 난독화 기법을 먼저 소스 코드에 적용하고, 이후 프로가드의 난독화 기능을 추가로 사용한다면 안드로이드 프로그램을 역공학 분석으로부터 보호하는 효과적인 방법으로 사용될 수 있을 것이다.

  • PDF

Design and Implementation of An Obfuscation Tool for Preventing the Infringement of Intellectual Property Rights of Android Contents (안드로이드 콘텐츠 지적재산권 침해 방지를 위한 난독화 도구의 설계 및 구현)

  • Kim, Heung-Soo;Park, Heewan
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2014.04a
    • /
    • pp.483-486
    • /
    • 2014
  • 소프트웨어는 대부분 바이너리 형태로 배포되기 때문에 역공학 분석이 쉽지 않다. 그러나 안드로이드는 자바를 기반으로 한다. 자바는 클래스 파일의 형태로 배포되는데 클래스 파일은 자바 소스 프로그램의 정보를 대부분 유지하고 있기 때문에 역공학 기술을 적용하기가 타 언어에 비해 쉽다. 이 문제에 대처하기 위해서 프로그램의 기능을 그대로 유지하고, 프로그램을 분석하기 어려운 형태로 변환하는 다양한 난독화 방법이 제안되었다. 안드로이드 환경에서는 안드로이드 SDK와 함께 배포되는 난독화 도구인 프로가드(Proguard)가 가장 널리 사용된다. 그러나 프로가드는 리소스 보호 기능을 제공하지 않는다. 본 논문에서는 프로가드의 한계를 보완할 수 있는 리소스 난독화 기법을 제안하고 구현하였다. 본 논문에서 제안하는 리소스 난독화 기법을 먼저 소스 코드에 적용하고, 이후 프로가드의 난독화 기능을 추가로 사용한다면 안드로이드 프로그램을 역공학 분석으로부터 보호하는 효과적인 방법으로 사용될 수 있을 것이다.