• Title/Summary/Keyword: 난독화

Search Result 103, Processing Time 0.029 seconds

Structural and Functional Analyses of ProGuard Obfuscation Tool (프로가드 난독화 도구 구조 및 기능 분석)

  • Piao, Yuxue;Jung, Jin-Hyuk;Yi, Jeong Hyun
    • The Journal of Korean Institute of Communications and Information Sciences
    • /
    • v.38B no.8
    • /
    • pp.654-662
    • /
    • 2013
  • Android applications can be easily decompiled owing to their structural characteristics, in which applications are developed using Java and are self-signed so that applications modified in this way can be repackaged. It will be crucial that this inherent vulnerability may be used to an increasing number of Android-based financial service applications, including banking applications. Thus, code obfuscation techniques are used as one of solutions to protect applications against their forgery. Currently, many of applications distributed on Android market are using ProGuard as an obfuscation tool. However, ProGuard takes care of only the renaming obfuscation, and using this method, the original opcodes remain unchanged. In this paper, we thoroughly analyze obfuscation mechanisms applied in ProGuard, investigate its limitations, and give some direction about its improvement.

Design of Source Code Obfuscation Tool based LLVM to improve security in Embedded System (임베디드 시스템의 보안성 향상을 위한 LLVM 기반의 소스코드 난독화 도구 설계)

  • Ha, Jae-Hyun;Kawk, Donggyu
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2022.11a
    • /
    • pp.201-203
    • /
    • 2022
  • 임베디드 시스템이 일상생활 및 각종 산업에 밀접하게 연관되어 개인 정보 및 국가 기술 등 지적 자산에 대한 보안의 필요성이 나타나고 있다. 이러한 문제점은 임베디드 시스템에 들어가는 소프트웨어의 역공학으로부터 초래된다. 따라서 본 논문은 소스 코드에 대해 제어 흐름 평탄화라는 난독화 알고리즘을 설계하는 방법을 제안한다. 이는 독자적으로 작성된 난독화 알고리즘이기 때문에 오픈 소스로 공개되어져 있는 다른 난독화 도구들에 비해 안전한 특징을 가진다. 제어 흐름 평탄화는 프로그램의 기능을 유지하면서 소스 코드의 정적 분석을 어렵게 하는 기법으로, 데이터를 탈취하려는 악의적인 행위를 사전에 예방할 수 있다. 본 논문에서 제안하는 제어 흐름 평탄화 알고리즘은 하나의 기본 블록으로 이루어진 단순한 소스 코드를 여러 개의 기본 블록으로 분할하고, 조건문을 통해 연결하는 방법을 사용하여 알고리즘의 복잡도를 높였다. 이처럼 새롭게 작성된 Pass를 통해 소스코드 난독화를 적용시켜 임베디드 시스템의 보안성을 향상시킬 수 있다.

VMProtect Operation Principle Analysis and Automatic Deobfuscation Implementation (VMProtect 동작원리 분석 및 자동 역난독화 구현)

  • Bang, Cheol-ho;Suk, Jae Hyuk;Lee, Sang-jin
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.30 no.4
    • /
    • pp.605-616
    • /
    • 2020
  • Obfuscation technology delays the analysis of a program by modifying internal logic such as data structure and control flow while maintaining the program's functionality. However, the application of such obfuscation technology to malicious code frequently occurs to reduce the detection rate of malware in antivirus software. The obfuscation technology applied to protect software intellectual property is applied to the malicious code in reverse, which not only lowers the detection rate of the malicious code but also makes it difficult to analyze and thus makes it difficult to identify the functionality of the malicious code. The study of reverse obfuscation techniques that can be closely restored should also continue. This paper analyzes the characteristics of obfuscated code with the option of Pack the Output File and Import Protection among detailed obfuscation technologies provided by VMProtect 3.4.0, a popular tool among commercial obfuscation tools. We present a de-obfuscation algorithm.

모바일 난독화 기술 동향

  • Yuxue, Piao;Jeong, Jin-Hyeok;Lee, Jeong-Hyeon
    • Information and Communications Magazine
    • /
    • v.29 no.8
    • /
    • pp.65-71
    • /
    • 2012
  • 스마트폰을 비롯한 다양한 모바일 기기 보급이 급속도로 증가하고 있고, 이들 기기에 저장된 각종 개인정보에 대한 불법적 접근을 노라는 악성 앱들로 인한 피해가 발생하고 있다. 이들 위변조 앱 출현의 원인 중의 하나는 앱 실행화일의 역컴파일이 쉽기 때문이다. 앱 역컴파일이 쉽게 이루어지지 않도록 하기 위한 기술 중의 하나가 코드 난독화 기술이다. 따라서, 본 고에서는 일반적인 난독화 기술들을 분류하고, 현존하는 안드로이드, 아이폰, 윈도폰에 적용가능한 난독화 도구들의 기능에 대하여 조사 분석한다.

Control Flow Reconstruction from Virtualization-Obfuscated Binaries (가상화를 이용하여 난독화된 바이너리의 제어 흐름 재건)

  • Hwang, Joonhyung;Han, Taisook
    • Journal of KIISE
    • /
    • v.42 no.1
    • /
    • pp.44-53
    • /
    • 2015
  • Control flow information is useful in the analysis and comparison of programs. Virtualization-obfuscation hides control structures of the original program by transforming machine instructions into bytecode. Direct examination of the resulting binary reveals only the structure of the interpreter. Recovery of the original instructions requires knowledge of the virtual machine architecture, which is randomly generated and hidden. In this paper, we propose a method to reconstruct original control flow using only traces generated from the obfuscated binary. We consider traces as strings and find an automaton that represents the strings. State transitions in the automaton correspond to the control transfers in the original program. We have shown the effectiveness of our method with commercial obfuscators.

Automatic Javascript de-obfuscation and Detection of Malicious WebSite using Hooking Method (후킹 기법을 이용한 난독화 자바 스크립트 자동 해독 및 악성 웹 사이트 탐지 기술)

  • Oh, JooHyung;Im, Chaetae;Jung, HyunCheol
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2010.11a
    • /
    • pp.1202-1205
    • /
    • 2010
  • 무작위 SQL 삽입 공격 등을 통해 웹서버 해킹 사례가 꾸준히 증가하고 있으며, 대부분의 해킹된 웹서버는 난독화된 자바 스크립트 코드가 웹페이지에 삽입되어 악성코드 경유/유포지로 악용되고 있다. 본 논문에서는 난독화된 자바 스크립트 복원 및 취약한 ActiveX 생성에 사용되는 주요 함수에 대해 후킹 기술을 적용한 브라우저를 이용해서 난독화된 스크립트를 자동으로 해독하고, 악성코드 경유/유포지로 악용되는 웹 서버를 탐지할 수 있는 기술을 제안한다. 또한 제안 기술을 프로토타입 시스템으로 구현하고, 악성 URL 공유 사이트를 통해 수집한 난독화된 자바 스크립트 샘플 분석을 통해 제안한 기술이 높은 악성코드 경유/유포지 탐지율을 보이는 것을 증명한다.

Design and Implementation of Server-based Resource Obfuscation Techniques for Preventing Copyrights Infringement to Android Contents (안드로이드 콘텐츠 저작권 침해 방지를 위한 서버 기반 리소스 난독화 기법의 설계 및 구현)

  • Park, Heewan
    • The Journal of the Korea Contents Association
    • /
    • v.16 no.5
    • /
    • pp.13-20
    • /
    • 2016
  • Most software is distributed as a binary file format, so reverse engineering is not easy. But Android is based on the Java and running on virtual machine. So, Android applications can be analyzed by reverse engineering tools. To overcome this problem, various obfuscation techniques are developed. In android environment, the Proguard is most widely used because it is included in the Android SDK distribution package. The Proguard can protect the Java source code from reverse engineering analysis. But it has no function to protect resources like images, sounds and databases. In this paper, we proposed and implemented resource obfuscation framework to protect resources of android application. We expect that this framework can protect android resources effectively.

Android App Birthmarking Technique Resilient to Code Obfuscation (난독화에 강인한 안드로이드 앱 버스마킹 기법)

  • Kim, Dongjin;Cho, Seong-Je;Chung, Youngki;Woo, Jinwoon;Ko, Jeonguk;Yang, Soo-Mi
    • The Journal of Korean Institute of Communications and Information Sciences
    • /
    • v.40 no.4
    • /
    • pp.700-708
    • /
    • 2015
  • A software birthmark is the set of characteristics of a program which can be used to identify the program. Many researchers have studied on detecting theft of java programs using some birthmarks. In case of Android apps, code obfuscation techniques are used to protect the apps against reverse-engineering and tampering. However, attackers can also use the obfuscation techniques in order to conceal a stolen program. A birthmark (feature) of an app can be alterable by code obfuscations. Therefore, it is necessary to detect Android app theft based on the birthmark which is resilient to code obfuscation. In this paper, we propose an effective Android app birthmark and app theft detection through the proposed birthmark. By analyzing some obfuscation tools, we have first selected parameter and the return types of methods as an adequate birthmark. Then, we have measured similarity of target apps using the birthmarks extracted from the apps, where some target apps are not obfuscated and the others obfuscated. The measurement results show that our proposed birthmark is effective for detecting Android app theft even though the apps are obfuscated.

A Study on Implementing an Automated Tool for De-Obfuscating a ConfuserEx (ConfuserEx의 난독화 복구 자동화 시스템 구축 연구)

  • Jae-hwi Lee;Young-seok Park;Dong-hyeon Kim;Gyu Heo
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.33 no.1
    • /
    • pp.129-137
    • /
    • 2023
  • According to a continuous attempts to manipulate content on portal sites using automated programs, a Naver, one of a portal site from Korea, is also trying to secure and analyze the programs to respond to the attempts. However, since some of the programs are secured by obfuscation tools, it is necessary to develop de-obfuscation technique. In this paper, we analyze a ConfuserEx, which occupied high percentage from obfuscation tools that applied to obtained programs, and propose an automated tool for de-obfuscating to save time for unpacking.

Program Slicing for Binary code Deobfuscation (역난독화를 위한 바이너리 프로그램 슬라이싱)

  • Mok, Seong-Kyun;Jeon, Hyeon-gu;Cho, Eun-Sun
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.27 no.1
    • /
    • pp.59-66
    • /
    • 2017
  • Hackers have obfuscated their malware to avoid being analyzed. Recently, obfuscation tools translate original codes into bytecodes to use virtualized-obfuscation, so that bytecodes are executed by virtual machines. In such cases, malware analysts fail to know about the malware before execution of the codes. We found that program slicing is one of promising program analysis techniques to solve this problem. The main concepts of program slice include slicing criteria given by analysts and sliced statements according to the slicing criteria. This paper proposes a deobfuscation method based on program slicing technique.