• Title/Summary/Keyword: 프로가드

Search Result 24, Processing Time 0.028 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 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)가 가장 널리 사용된다. 그러나 프로가드는 리소스 보호 기능을 제공하지 않는다. 본 논문에서는 프로가드의 한계를 보완할 수 있는 리소스 난독화 기법을 제안하고 구현하였다. 본 논문에서 제안하는 리소스 난독화 기법을 먼저 소스 코드에 적용하고, 이후 프로가드의 난독화 기능을 추가로 사용한다면 안드로이드 프로그램을 역공학 분석으로부터 보호하는 효과적인 방법으로 사용될 수 있을 것이다.

An Evaluation of the Proguard, Obfuscation Tool for Android (안드로이드를 위한 난독화 도구 프로가드(Proguard) 성능 평가)

  • Park, Heewan;Park, Heekwang;Ko, Kwangman;Choi, Kwanghoon;Youn, Jonghee
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2012.04a
    • /
    • pp.730-733
    • /
    • 2012
  • 소프트웨어는 대부분 바이너리 형태로 배포되기 때문에 역공학 분석이 쉽지 않다. 그러나 안드로이드는 자바를 기반으로 한다. 즉, 자바 언어로 프로그래밍하고 생성된 클래스 파일을 dx라는 도구를 사용하여 안드로이드용 달빅(Dalvik) 코드로 변환한다. 따라서 안드로이드 역시 자바의 취약점을 가지고 있고, 자바용으로 개발된 역공학 도구에 의해서 쉽게 분석될 수 있다. 한편으로 자바 프로그램의 저작권을 보호하고 핵심 알고리즘이 노출되지 않도록 다양한 난독화 도구들이 개발되었다. 그 중에서 안드로이드 SDK에 포함되어 함께 배포되고 있기 때문에 널리 사용되고 있는 프로가드(Proguard)에 대해서 대표적인 기능 및 사용법, 프로가드로 난독화된 코드가 원본과 비교하여 어떻게 변경되었는지 평가한다. 그리고 프로가드가 가지고 있는 한계를 알아보고, 이것을 극복할 수 있는 방법을 모색한다.

Gardening Program As Cognitive Rehabilitation Program For Mild Cognitive Impairment (경도인지장애 재활프로그램으로의 가드닝 프로그램)

  • Hong, Kwang-pyo;Jin, Heyyoung;LEE, Hyukjae
    • The Journal of the Convergence on Culture Technology
    • /
    • v.8 no.2
    • /
    • pp.59-67
    • /
    • 2022
  • The main purpose of this study is to quantitatively grasp the effectiveness of the gardening program by conducting a gardening program to induce active activities of the elderly and to induce healing functions and social activities, and then observing the results before and after implementation. In order to achieve the purpose of the study, as a result of conducting 30 gardening programs for 20 elderly people at two elderly care facilities, the measure of depression was found to have an improvement effect as a practice-oriented program, and it was found to revitalize the elderly. In addition, it was found that the quality of life was improved by the gardening program, and it was found to be helpful in activating the brain.

Safeguard Memory Operation for LEO Stellite (저궤도위성 세이프가드 메모리 운영)

  • Chae, Dong-Seok;Yang, Seung-Eun;Cheon, Yee-Jin
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2012.11a
    • /
    • pp.8-10
    • /
    • 2012
  • 위성을 전체적으로 제어하는 탑재소프트웨어가 동작하는 주 메모리와는 별도로 세이프가드 메모리가 있다. 세이프가드 메모리는 주로 위성의 장애관리를 위해 사용되는 것으로 프로세서 리셋 시에 전체적으로 초기화가 수행되는 주 메모리와는 달리 별도의 전원을 사용하여 항상 Power-ON 상태를 유지하고 주/부 2개의 메모리가 주/부 프로세서와 Cross-Strap으로 연결되어 어느 프로세서에서든 접속이 가능하도록 구성되어 있다. 위성에 심각한 장애가 발생하여 정상적인 운영이 불가능한 경우, 위성은 Fail-over 과정을 거치게 되는데, Fail-over 과정에서 2개의 세이프가드 메모리의 비상운영데이터 영역에 장애 발생원인 및 프로세서 리셋 이후에 필요한 정보들을 기록하고, 미리 정해진 Backup 하드웨어를 이용하여 시스템 초기화가 수행된다. Backup 하드웨어를 통하여 프로세서가 정상적으로 Boot-up되면 세이프가드 메모리에 저장된 비상운영데이터를 이용하여 위성의 장애발생 원인을 파악하고, 정상운영모드로 복귀하는 절차를 거치게 된다. 본 논문은 저궤도 위성에서 사용되는 세이프가드 메모리 운영방식에 대해 기술한 것이다.

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.

An Efficient Android Code Obfuscate (효율적인 안드로이드 코드 난독화 기법)

  • Jung, Hyo-Ran;Lee, Su-Hyun
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2014.07a
    • /
    • pp.57-59
    • /
    • 2014
  • 공개 플랫폼을 지향하는 안드로이드는 손쉽게 안드로이드 설치파일(APK)를 얻을 수 있어 디컴파일 하기 쉽다. 보안에 민감한 금융 앱이나 웹서버를 이용하여 데이터를 주고받는 앱일 경우 역공학을 통해 얻는 정보가 매우 위험할 수 있다. 이러한 문제는 최근에 사회적 큰 이슈가 되기 때문에 안드로이드 코드 보안에 유의해야 한다. 이 논문에서는 안드로이드 코드 난독화의 동향과 안드로이드에서 제공하는 프로가드의 기술에 대해서 알아보고 프로가드의 한계에 대해서 파악한 후 향후 안드로이드 코드 난독화 개선 방법에 대해서 알아본다.

  • PDF

Effect of Mouthguard on Tooth Distortion During Clenching (이악물기 시 발생되는 치아변형에 대한 구강보호장치의 역할)

  • Lee, Yun;Choi, Dae-Gyun;Kwon, Kung-Rock;Lee, Richard Sung-Bok;Noh, Kwan-Tae
    • Journal of Dental Rehabilitation and Applied Science
    • /
    • v.26 no.4
    • /
    • pp.405-417
    • /
    • 2010
  • Previous studies have already shown that mouthguard is effective in protecting jaw bone, teeth and oral tissue against sports trauma. However, other than severe trauma, repetitive force, such as disorders like clenching, cause teeth or oral tissue damage. These kinds of disorders usually present pathologic attrition in the posterior teeth, resorption in alveolar bone, loss of teeth and destruction of occlusion. Wearing a mouthguard is believed to be effective in preventing these disorders. But its effect is not examined thoroughly enough. The purpose of this study is to identify whether mouthguard is effective in reducing strain caused by clenching. Mandibular first molars in the normal occlusal relationship without any history of dental treatment were chosen. Biaxial type strain gauge was placed on the buccal surface of the tooth. Having maximum occlusal force, measured by load cell, as a standard, clenching intensity were divided into three stages; moment of slightly tooth contact, medium bite force (50% of maximum bite force), maximum bite force. Strain occurring in dentition in each stage with and without mouthguard was measured. Changes in strain (on dentition) between each stage and difference in strain, between with or without mouthguard were recorded by PCD-300 analyzer and PCD-30 soft ware. The data was statistically analyzed by Wilcoxon signed rank test. The following results were drawn; Without mouthguard, strain given on dentition increased as the clenching force increased. With mouthguard, strain given on dentition also increased as the clenching force increased. With mouthguard, strain decreased, in all cases of clenching force stages. Data on the moment of slightly tooth contact stage, had no statistical significance. However, with mouthguard, 50-90% of decrease in strain could be obtained in maximum occlusal force, compared to the group without mouthguard. Mouthguard decreased the strain on the dentition, caused by clenching. Therefore, mouthguard seems to be effective in preventing damage on dentition, by acting against clenching, which occurs both consciously and unconsciously during sports activities.

New RAD(Return Address Defender) : The Solution of Suffer Overflow Attack (New RAD : 버퍼 오버플로우 공격에 대한 해결책)

  • Lee, Min-Jae;Han, Kyung-Sook
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2005.11b
    • /
    • pp.979-981
    • /
    • 2005
  • "버퍼에 대한 바운드 체크를 하지 않는다"라는 작은 취약성 하나가 버퍼 오버플로우라는 큰 위협을 만들어냈다. 그러나 그것을 단지 C언어의 무결성 문제로 단정 지어 버릴 수도 없는 문제이다. 일반적으로 버퍼 오버플로우 공격은 메모리에 할당된 버퍼의 경계를 넘는 데이터를 입력하여 프로그램의 함수복귀주소를 조작하고 공격자가 원하는 코드를 삽입하여 이루어진다. 이러한 버퍼 오버플로우에 대한 여러가지 대응책들이 나왔지만 약간의 문제점들을 가지고 있다. 그래서 본 논문에서는 운영체제의 세그멘테이션 기법을 이용하여 그 공격에 대응할 수 있는 한 가지 방법을 제시하고자 한다. 기존의 스택가드(카나리아 버전)의 문제점인 우회공격과 카나리아 워드를 추측하여 이루어지는 공격 그리고 MineZone RAD의 문제가 되는 DRAMA 등에 있어서도 효과적으로 방어할 수 있을 것으로 기대한다. 또한 스택가드(Memguard 버전)에서 이곳저곳에 산재되어 관리하기 어려운 함수복귀주소를 별도의 세그먼트 테이블로 쉽게 관리할 수 있을 것이다.

  • PDF