• 제목/요약/키워드: 역공학 분석

검색결과 130건 처리시간 0.023초

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

  • 박민건;오정희;류환일;김수민
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2014년도 춘계학술발표대회
    • /
    • pp.353-356
    • /
    • 2014
  • 역공학 방지 기법이 적용되지 않은 어플리케이션은 악의적인 역공학에 취약할 수밖에 없다. 악의적인 역공학은 사회적으로 여러가지 손실을 가져온다. 그러므로 역공학 방지 기법을 적용하여 어플리케이션을 보호해야 한다. 역공학 방지 기법은 다양하며, 크게 자바 소스 난독화, Smali 코드 조작, Dex 파일 포맷 조작, 그리고 Zip 파일 포맷 조작 기법으로 나눌 수 있다. 자바 소스 난독화는 코드의 가독성을 떨어트려 안드로이드 어플리케이션의 역공학을 어렵게 하는 기법이다. Smali 코드 조작 기법은 Goto 문 추가, 예외 처리 재귀 기법 등을 통하여 역공학을 막는 기법이다. Dex 파일 포맷 조작 기법에는 클래스명 길이 변경, 헤더 크기 변경 등을 통해 역공학을 어렵게 만드는 기법이다. Zip 파일 포맷 조작 기법은 Zip 파일 포맷에서 헤더 값을 조작하여 마치 암호화된 것처럼 보이도록 만드는 기법이다. 본 논문에서는 이러한 다양한 기법들에 대해서 설명하고 이를 비교 분석한다.

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

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

  • PDF

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

  • 박형철;간정현;장태진;이주연;이태혁;권순각
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2012년도 추계학술대회
    • /
    • pp.692-695
    • /
    • 2012
  • 만들어진 소프트웨어 시스템을 역으로 추적하여 처음의 문서나 설계기법 등의 자료를 얻어 내는 역공학(Reverse Engineering)은 유지 보수 및 재사용 측면에서 필요하다. 본 논문은 역공학 개념을 이용하여 하나의 소스 파일에서 클래스, 클래스내의 멤버 변수 및 메소드, 서로 다른 클래스 사이의 연관 관계 등을 추출하여 xml 문서로 표시하여 저장하는 시스템을 구현한다. 또한, 역공학한 프로젝트 내에서 선언된 변수와 함수들의 사용횟수를 분석하며, 분석된 결과를 GUI 형태로 표시시켜 줌으로써 사용자의 편리성을 제공해준다.

  • PDF

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

  • 박형철;간정현;장태진;이주연;권순각;이중화
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2012년도 춘계학술대회
    • /
    • pp.509-511
    • /
    • 2012
  • 역공학(Reverse Engineering)은 이미 만들어진 소프트웨어 시스템을 역으로 추적하여 처음의 문서나 설계기법 등의 자료를 얻어 내는 것을 의미한다. 본 논문은 역공학 개념을 이용하여 하나의 파일에서 뽑을 수 있는 데이터 즉, 클래스나 변수, 메소드, 연관 관계 등을 추출하여 xml문서에 저장 후 역공학한 프로젝트 내에서 선언된 변수와 함수들의 사용횟수를 도출하는 시스템을 구현한다. 이를 바탕으로 역공학한 프로젝트 내에서 선언된 변수와 함수들의 사용횟수를 도출함으로써 검출 및 유지 보수가 용이하며, 클래스 다이어그램이 좀 더 자세하게 그려줄 수 있다.

  • PDF

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

  • 이종협
    • 정보보호학회논문지
    • /
    • 제22권3호
    • /
    • pp.615-619
    • /
    • 2012
  • 실행파일에 대한 정적인 분석을 통한 역공학 과정은 소프트웨어 보안에서 필수적인 단계이다. 역공학은 크게 소프트웨어가 사용하는 데이터 구조와 제어 구조에 대하여 수행된다. 특히 데이터 역공학은 소프트웨어를 이해하기 위해 필수적이지만 기존의 VSA 기법은 단편화된 실행파일에 대한 한계를 가지고 있다. 본 논문에서는 동적인 영역할당을 통해 이러한 문제점을 해결하고 데이터 구조 역공학의 성능을 향상시킨다.

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

  • 윤정환;서예지;김훈규;권태경
    • 정보보호학회논문지
    • /
    • 제28권2호
    • /
    • pp.287-293
    • /
    • 2018
  • FPGA (Field Programmable Gate Array)는 개발자가 유연하게 프로그래밍 할 수 있다는 장점으로 인해 다양한 분야에서 사용되고 있다. 하지만 외부에서 구현된 시스템이 비트스트림 형태로 FPGA에 탑재 될 경우 오작동을 일으키거나 정보를 유출시키는 등의 하드웨어 악성 기능이 포함될 가능성이 있다. 이러한 이유로 비트스트림 역공학은 필수적이며, 따라서 이와 관련된 연구들이 진행되어 왔다. 본 논문에서는 FPGA 비트스트림 역공학 연구 사례 중 가장 대표적인 역공학 알고리즘을 활용한 BIL 비트스트림 역공학 도구에 대한 분석 실험을 진행하여 성능 및 한계점을 확인하였다.

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

  • 이재욱;김효승;임상우;이서정
    • 한국항해항만학회:학술대회논문집
    • /
    • 한국항해항만학회 2014년도 추계학술대회
    • /
    • pp.47-49
    • /
    • 2014
  • 최근 e-Navigation 소프트웨어의 개발과 검증을 위한 다양한 시도가 국내외적으로 진행되고 있다. 본 논문에서는 국제공동실험에서 사용되고 있는 오픈소스 e-Navigation 소프트웨어를 대상으로 역공학을 통해서 해외에서 각종 실험이 시도 되고 있는 e-Navigation 소프트웨어의 기능적, 구조적 특성 등을 분석해 본다. 이 실험을 통해 관련 시스템에 대한 국제적 기여를 탐색하고자 한다.

  • PDF

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

  • 김권엽;최재민;이상진;임종인
    • 한국방송∙미디어공학회:학술대회논문집
    • /
    • 한국방송공학회 2007년도 동계학술대회
    • /
    • pp.142-145
    • /
    • 2007
  • 최근 각종 정보통신 서비스를 제공하기 위한 소프트웨어는 정보보호 기술의 핵심요소인 암호화 모듈을 탑재하고 있다. 여기서 암호화 모듈은 사용자 인증, 콘텐츠-보호, 프라이버스 보호 등의 여러 가지 정보보호 기능을 구현하기 위한 핵심 모듈이다. 그러나 악의적인 공격자에게 암호화 모듈을 사용하는 소프트웨어는 기밀한 정보를 다룬다는 점에서 공격의 대상이 될 수 있다. 또한 사람이 제작하는 소프트웨어는 크기가 커질수록 복잡해질수록 위협 요소는 증가하기 마련이다.[1] 이에 본 논문에서는 암호화 모듈이 탑재된 소프트웨어가 역공학 분석측면에서 악의적인 공격자에게 어떠한 위협 요소를 노출할 수 있는지를 살펴보고 이러한 역공학 분석 공격으로부터 보호하기 위해 소프트웨어 제작에서 고려해야 할 사항을 제시한다.

  • PDF

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

  • 박희완;김흥수
    • 한국컴퓨터정보학회:학술대회논문집
    • /
    • 한국컴퓨터정보학회 2014년도 제49차 동계학술대회논문집 22권1호
    • /
    • 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)

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