• Title/Summary/Keyword: 역공학기술

Search Result 70, Processing Time 0.028 seconds

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

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

A Study on The Data Structure Extraction using Database Reverse Engineering (데이터베이스 역공학을 이용한 데이터 구조 추출에 관한 연구)

  • 황태희;김미화;배석찬
    • Proceedings of the Korea Society for Industrial Systems Conference
    • /
    • 2000.11a
    • /
    • pp.447-451
    • /
    • 2000
  • 데이터베이스 역공학은 소프트웨어의 융통성을 개선하여 과거의 개발들을 재사용하고 유지비용을 감소하는데 목적이 있다. 파일과 데이터베이스 구조의 의미 기술을 회복하는 것은 역공학의 중요한 측면이다. 이것은 데이터베이스의 정확한 데이터 구조와 무결성 제약을 발견하는 데이터 구조 추출을 포함한다. 본 논문에서는 관계 데이터베이스에 초점을 두고 소프트웨어 유지 보수를 용이하게 하기 위하여 역공학을 이용한 데이터 구조 추출 방법을 제안한다.

  • PDF

System Requirements for the Development of a Personal Mobility Using Reverse Engineering and QFD (역공학과 QFD를 활용한 퍼스널모빌리티 시스템 요구사양 도출)

  • Kim, In-Kyu;Park, Tae-han;Chung, Yun-Chan
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2019.01a
    • /
    • pp.263-266
    • /
    • 2019
  • 본 연구에서는 주행승차감 및 안정성을 고려한 전동킥보드의 문제점을 해결하기 위해 역공학 기법을 사용하여 주요 시스템의 품질요소, 제품특성 등을 분석하고 사용자 요구사항을 도출하기 위해 품질기능전개(QFD: Quality Function Deployment)방법론을 적용하였으며 그 결과로 사용자 요구사항은 6개의 범주에서 20개를 도출하였으며 품질특성 요구사항은 16개 도출하여 최종 12개를 시스템 품질특성(CTQ: Critical To Quality)으로 선정하였다.

  • PDF

Reverse engineering technique on the evaluation of impression accuracy in angulated implants (경사진 임플란트에서 임플란트 인상의 정확도 평가를 위한 역공학 기법)

  • Jung, Hong-Taek;Lee, Ki-Sun;Song, So-Yeon;Park, Jin-Hong;Lee, Jeong-Yol
    • The Journal of Korean Academy of Prosthodontics
    • /
    • v.59 no.3
    • /
    • pp.261-270
    • /
    • 2021
  • Purpose. The aim of this study was (1) to compare the reverse engineering technique with other existing measurement methods and (2) to analyze the effect of implant angulations and impression coping types on implant impression accuracy with reverse engineering technique. Materials and methods. Three different master models were fabricated and the distance between the two implant center points in parallel master model was measured with different three methods; digital caliper measurement (Group DC), optical measuring (Group OM), and reverse engineering technique (Group RE). The 90 experimental models were fabricated with three types of impression copings for the three different implant angulation and the angular and distance error rate were calculated. One-way ANOVA was used for comparison among the evaluation methods (P < .05). The error rates of experimental groups were analyzed by two-way ANOVA (P < .05). Results. While there was significant difference between Group DC and RE (P < .05), Group OM had no significant difference compared with other groups (P > .05). The standard deviations in reverse engineering were much lower than those of digital caliper and optical measurement. Hybrid groups had no significant difference from the pick-up groups in distance error rates (P > .05). Conclusion. The reverse engineering technique demonstrated its potential as an evaluation technique of 3D accuracy of impression techniques.

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

A Re-engineering Methodology for Componentization of Legacy System (Legacy 시스템의 컴포넌트화를 위한 재공학 방법론)

  • Kim, Cheol-Hong;Cha, Jung-Eun;Yang, Young-Jong
    • 한국IT서비스학회:학술대회논문집
    • /
    • 2002.11a
    • /
    • pp.431-438
    • /
    • 2002
  • 본 논문은 레거시 시스템을 새로운 시스템 환경으로의 변환 및 통합을 위한 재공학 방법론을 제시하고자 하는 것이다. 기존의 역공학 및 재공학 방법들은 주로 프로그램 소스를 정적 분석하고 유지보수 하는데 중점을 두었으나, 본 방법론은 다양한 추상화 수준에서 역공학 정보를 복구하고, 컴포넌트화 단계를 통해 새로운 시스템으로 진화할 수 있는 절차 및 기법들을 제공한다. 레거시 시스템 컴포넌트화를 위한 방법론은 변환계획 단계, 역공학 단계, 컴포넌트화 단계, 인도 단계의 4 단계로 구성되어 있으며, 본 논문에서는 각 단계에 대한 활동 및 상세 절차에 대하여 기술한다.

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

A Study on the reverse engineering technique (C++ 원시코드에서 객체 모델로의 역공학 기술에 관한 연구 및 구현)

  • 유일준;홍찬기
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1998.10b
    • /
    • pp.511-513
    • /
    • 1998
  • 본 연구에서는 Object Modeling Technique를 기반으로 C++ 원시코드로부터 클래스 계층구조의 정보를 추출하여 데이터베이스에 저장하고 계층구조를 이해하기 위한 클래스 계층구조를 디자인으로 도식화하여 이를 다시 디자인 상태에서 C++ 원시코드와 동적 연결이 가능한 역공학 도구를 제안한다. 본 연구는 C++ 원시코드와 클래스 계층 구조를 표현하는 디자인과 상호 동적 연결이 가능하므로 C++원시코드의 이해와 관리가 효율적이다.

Robust Anti Reverse Engineering Technique for Protecting Android Applications using the AES Algorithm (AES 알고리즘을 사용하여 안드로이드 어플리케이션을 보호하기 위한 견고한 역공학 방지기법)

  • Kim, JungHyun;Lee, Kang Seung
    • Journal of KIISE
    • /
    • v.42 no.9
    • /
    • pp.1100-1108
    • /
    • 2015
  • Classes.dex, which is the executable file for android operation system, has Java bite code format, so that anyone can analyze and modify its source codes by using reverse engineering. Due to this characteristic, many android applications using classes.dex as executable file have been illegally copied and distributed, causing damage to the developers and software industry. To tackle such ill-intended behavior, this paper proposes a technique to encrypt classes.dex file using an AES(Advanced Encryption Standard) encryption algorithm and decrypts the applications encrypted in such a manner in order to prevent reverse engineering of the applications. To reinforce the file against reverse engineering attack, hash values that are obtained from substituting a hash equation through the combination of salt values, are used for the keys for encrypting and decrypting classes.dex. The experiments demonstrated that the proposed technique is effective in preventing the illegal duplication of classes.dex-based android applications and reverse engineering attack. As a result, the proposed technique can protect the source of an application and also prevent the spreading of malicious codes due to repackaging attack.