• Title/Summary/Keyword: 역공학 공격

Search Result 33, Processing Time 0.043 seconds

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는 보호할 핵심 클래스를 앱으로 부터 추출하여 바이트 코드 형태로 안전한 원격 서버에 관리하여 수행하며, 스마트폰(클라이언트)에는 저장하지 않는다. 스마트폰 앱이 해당 핵심 클래스를 호출하면, 그 호출이 원격 서버로 전송되어 수행된 후 결과가 스마트폰에 반환된다. 이처럼 핵심 클래스 코드가 클라이언트에 직접 노출 없이 원격지에서 관리되고 수행됨으로써 역공학 공격을 원천적으로 방지한다.

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

Implementation of an Obfuscation Tool for Visual C++ Source Code (Visual C++ 소스코드를 위한 Obfuscation 도구 구현)

  • Cho, Byoung-Min;Chang, Hye-Young;Noh, Jin-Uk;Oh, Hyun-Soo;Jung, Min-Gyu;Lee, Seung-Won;Park, Yong-Soo;Woo, Je-Hak;Cho, Seong-Je
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2006.10c
    • /
    • pp.521-525
    • /
    • 2006
  • 최근 소프트웨어의 주요 알고리즘 및 자료구조 등의 지적재산권을 역공학 분석과 같이 악의적인 공격들로부터 보호하기 위한 연구가 이루어지고 있다. 본 논문에서는 산업 현장에서 많이 사용되는 Visual C++ 또는 MFC로 작성된 프로그램의 소스 코드를 역공학 공격으로부터 보호하기 위한 Obfuscation 도구를 구현하고 그 성능을 평가한다. 구현된 도구는 3가지 Obfuscation 알고리즘을 적용하여 소스 코드를 생성하며 생성된 소스 코드들은 가독성이 떨어지고 역공학 분석이 어렵도록 변환되지만, 프로그램의 본래 기능은 그대로 유지하며 성능상의 변화가 크지 않음을 실험을 통해 확인할 수 있었다.

  • PDF

Security-Reverse-Attack Engineering Life-cycle Model for Attack System and Attack Specification Models (공격시스템을 위한 보안-역-공격공학 생명주기 모델과 공격명세모델)

  • Kim, Nam-Jeong;Kong, Mun-Soo;Lee, Gang-Soo
    • Journal of the Korea Convergence Society
    • /
    • v.8 no.6
    • /
    • pp.17-27
    • /
    • 2017
  • Recently, as cyber attacks have been activated, many such attacks have come into contact with various media. Research on security engineering and reverse engineering is active, but there is a lack of research that integrates them and applies attack systems through cost effective attack engineering. In this paper, security - enhanced information systems are developed by security engineering and reverse engineering is used to identify vulnerabilities. Using this vulnerability, we compare and analyze lifecycle models that construct or remodel attack system through attack engineering, and specify structure and behavior of each system, and propose more effective modeling. In addition, we extend the existing models and tools to propose graphical attack specification models that specify attack methods and scenarios in terms of models such as functional, static, and dynamic.

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.

Comparison of Data Structure and Control Flow Transformations in High-level Obfuscation (고급레벨 Obfuscation에서 자료구조 변환 및 제어흐름 변환의 비교)

  • Chang, Hye-Young;Cho, Byoung-Min;Cho, Seong-Je
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2007.06d
    • /
    • pp.89-94
    • /
    • 2007
  • 자동화된 obfuscatin은 보안 목적으로 코드를 이해하기 어렵게 만들어 역공학 공격을 방어하는데 가장 효과적인 방식이라는 알려져 있다. 본 논문에서는 역공학 공격과 같은 소프트웨어 지적재산권의 침해로부터 마이크로소프트사의 비주얼 C++소스 프로그램을 보호하기 위한 obfuscator를 구현하였다. 그리고 obfuscatio 알고리즘에 따라 potency(복잡도)를 측정하여 분석하여 각 알고리즘을 평가하였다. 또한 cost(비용)과 어셈블리 코드를 비교하여 obfuscator의 성능과 유효성을 평가하였다. 그 결과, 변환된 소스 코드가 실행시간 오버헤드를 일부 유발시키긴 하지만 프로그램 보호에는 효과적임을 알 수 있었다.

  • PDF

Implementation of an Obfuscator for Visual C++ Source Code (비주얼 C++소스 코드를 위한 obfuscator 구현)

  • Chang, Hye-Young;Cho, Seong-Je
    • Journal of KIISE:Software and Applications
    • /
    • v.35 no.2
    • /
    • pp.59-69
    • /
    • 2008
  • Automatic obfuscation is known to be the most viable method for preventing reverse engineering intentional1y making code more difficult to understand for security purposes. In this paper, we study and implement an obfuscation method for protecting MS Visual C++ programs against attack on the intellectual property in software like reverse engineering attack. That is, the paper describes the implementation of a code obfuscator, a tool which converts a Visual C++ source program into an equivalent one that is much harder to understand. We have used ANTLR parser generator for handling Visual C++ sources, and implemented some obfuscating transformations such as 'Remove comments', 'Scramble identifiers', 'Split variables', 'Fold array', 'Insert class', 'Extend loop condition', 'Add redundant operands', and 'Insert dead code'. We have also evaluated the performance and effectiveness of the obfuscator in terms of potency, resilience, and cost. When the obfuscated source code has been compared with the original source code, it has enough effectiveness for software protection though it incurs some run-time overheads.

An Implementation of Control Flow Obfuscator for C++ Language (C++언어를 위한 Control Flow Obfuscator 구현 및 평가)

  • Noh Jin-Uk;Cho Byoung-Min;Oh Hyun-Soo;Chang Hye-Young;Jung Min-Gyu;Lee Seung-Won;Park Yong-Soo;Woo Je-Hak;Cho Seong-Je
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2006.06c
    • /
    • pp.295-297
    • /
    • 2006
  • 많은 소프트웨어 개발자들은 자신들의 프로그램들이 역공학 공격의 대상이 되는 것을 우려하고 있다. 특히 프로그램 내에 핵심적인 알고리즘이 내재되어 있는 경우 역공학 공격을 대비하는 기법이 필수적이다. 또한, 유비쿼터스 컴퓨팅 시대가 발전할수록 프로그램의 규모가 대형화됨에 따라 공동 개발자들 간에 프로그램 소스가 공유될 기회가 많아졌고, 그 결과 프로그램 소스 수준의 보호 기법도 필요하게 되었다. 본 논문에서는 C++ 프로그램 보호를 위해 Control Flow Obfuscator 도구를 구현하여 실험하였으며, 실험 결과 크지 않은 오버헤드로 악의적인 공격으로부터 프로그램을 분석을 어렵게 할 수 있음을 보인다.

  • PDF

An Implementation of Framework for Software Protection against Reverse Engineering on Windows (Windows 상에서 소프트웨어 역공학 방지를 위한 프레임워크 구현)

  • Park, Young-Ung;Chang, Hye-Young;Cho, Seong-Je
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2010.06d
    • /
    • pp.130-135
    • /
    • 2010
  • 실형코드의 역공학(reverse engineering) 을 방지하기 위해서 패킹기법을 많이 사용하고 있다. 패킹을 적용하면 본래의 코드는 실형 압축되어 감춰지기 때문에 언패킹 과정을 거쳐야 바이너리 분석이 가능하게 된다. 언패킹을 위해 패킹된 프로그램에 스텁코드를 삽입하는데 스텁코드는 언패킹하기 위한 코드와 원본 프로그램의 IAT(Import Address Table) 등 중요한 정보를 담고 있다. 스텁코드를 보호하기 위하여 본 논문에서는 중요한 함수의 코드를 별도의 2차 스텁파일에 저장하고 중요한 함수가 있던 1차 스텁코드에는 더미코드를 삽입하여 역공학 공격을 방지하였다. 또한 본 논문에서 제안하는 프레임워크를 구현하고 성능을 평가하였다.

  • PDF

CHES 2020로 살펴본 부채널 분석 보안 컨퍼런스 연구 동향

  • ;Kim, Hui-Seok
    • Review of KIISC
    • /
    • v.30 no.6
    • /
    • pp.67-81
    • /
    • 2020
  • CHES는 암호 알고리즘의 하드웨어/소프트웨어 구현의 설계 및 분석에 대한 다양한 성과가 발표되는 부채널 분석 분야 최대 규모의 보안 컨퍼런스이다. 본 기고는 CHES 컨퍼런스에 발표된 논문들에 대하여 부채널 공격 관점, 부채널 대응 및 구현 관점, CHES에서 주제로 다루는 암호 알고리즘의 추이 관점으로 구분하여 동향을 분석한다. 이를 위하여 오류주입 공격, 머신러닝 기반 부채널 공격, 캐시공격, 부채널 누출 검증 방법론과 부채널 역공학 기술 등 다양한 부채널 공격을 소개하고 최신 논문 주제의 흐름에 대하여 논의한다. 또한, 소프트웨어 고차 마스킹과 하드웨어 TI, PUF/난수 발생기 등의 부채널 대응기술 및 구현 동향을 분석하며, CHES에 발표된 논문들이 주제로 다루는 대칭키, 공개키 암호 및 화이트박스 암호 추이를 분석한다. 이러한 CHES 컨퍼런스의 주제별 연구 동향 분석 결과는 부채널 분석 연구자에게 유용한 정보를 제공하고 향후 연구 방향에 대한 중요한 지표가 될 수 있을 것이다.