• Title/Summary/Keyword: 역공학

Search Result 267, Processing Time 0.039 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 파일 포맷에서 헤더 값을 조작하여 마치 암호화된 것처럼 보이도록 만드는 기법이다. 본 논문에서는 이러한 다양한 기법들에 대해서 설명하고 이를 비교 분석한다.

RACC: A Reliable Android Applications Execution Method against Reverse-engineering Attacks using Remote Class (RACC: 원격 클래스 호출을 통한 안드로이드 애플리케이션 역공학 공격 방지)

  • Lim, Ji-Hyeog;Lee, Chan-Hee
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2012.06a
    • /
    • pp.116-118
    • /
    • 2012
  • 안드로이드 앱 시장이 활성화되면서, 안드로이드 앱의 불법복제나 역공학 공격으로 인한 피해가 증가하고 있다. 앱 불법복제는 앱 판매 수익의 저하뿐만 아니라 개발자의 의지를 뺏고 개발 노력에 대해 상대적 박탈감을 주게 된다. 자바 프로그램의 경우 역공학으로 인해 바이트 코드에 존재하는 핵심 알고리즘이 쉽게 노출되어 지적재산권이 유출될 수 있다는 점에서 개발자나 개발사에게 심각한 위협이 되고 있다. 본 논문에서는 안드로이드 환경에서 앱에 대한 역공학 공격의 위협을 보이고, 역공학 방지 기법인 RACC를 제안한다. RACC는 보호할 핵심 클래스를 앱으로 부터 추출하여 바이트 코드 형태로 안전한 원격 서버에 관리하여 수행하며, 스마트폰(클라이언트)에는 저장하지 않는다. 스마트폰 앱이 해당 핵심 클래스를 호출하면, 그 호출이 원격 서버로 전송되어 수행된 후 결과가 스마트폰에 반환된다. 이처럼 핵심 클래스 코드가 클라이언트에 직접 노출 없이 원격지에서 관리되고 수행됨으로써 역공학 공격을 원천적으로 방지한다.

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

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

  • PDF

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

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

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

A study of the reverse engineering for the modeling formed specification(UML) for from software source code (소프트웨어 원시코드로부터 모델링 정형명세(UML) 역공학 프로세스 연구)

  • Kim, Yeon-Jung;Kim, Byeong-Gi
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2003.05c
    • /
    • pp.1853-1856
    • /
    • 2003
  • 모든 소프트웨어 시스템은 시스템 확장 및 아키텍쳐의 변화로 인한 잠재적 이주 필요성을 안고 있다. 그런데, 이 소프트웨어 이주 요구가 갖는 문제점은 새로운 시스템이 기존 시스템의 도메인 지식을 손상시키지 않도록 요청 받는다는 점이다. 이로 인해 역공학의 필요성이 제기되나 하나의 소프트웨어 시스템은 다양한 측면의 시스템 요소를 갖고 있으므로 역공학을 통하여 직관적으로 이해가능 한 설계정보를 유도해내는 것은 어려움에 직면한다. 따라서 본 연구에서는 하나의 레거시 시스템을 역공학 하기 위하여 필요한 프로세스를 제안하고, 역공학 결과물을 정형명세인 UML로 표현하는 사례를 통하여 검증하고자 한다.

  • 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