• 제목/요약/키워드: obfuscation

검색결과 103건 처리시간 0.026초

모바일 게임 보안을 위한 게임내 데이터 난독화에 관한 연구 (A Study on Obfuscation of the InGame Data for the Mobile Game Security)

  • 김효남
    • 한국컴퓨터정보학회:학술대회논문집
    • /
    • 한국컴퓨터정보학회 2017년도 제55차 동계학술대회논문집 25권1호
    • /
    • pp.179-180
    • /
    • 2017
  • 현재 국내 모바일 게임 시장 규모와 사용자들이 지속적으로 증가되고 있으며, 스마트폰을 이용하여 게임을 즐기는 시간도 계속 늘어나고 있다. 이런 시장 현황의 이면에는 모바일 게임 시장이 사이버 범죄의 진원지로 급부상하고 있다. 본 논문에서는 모바일 게임을 개발하는데 있어서 게임 내부에서 사용하고 있는 데이터들의 난독화 기술과 관련한 프로그램을 제안하여 게임의 원본 소스 데이터를 해킹으로부터 보호할 수 있는 게임 보안 기술을 제안한다.

  • PDF

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

  • 장혜영;조성제
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제35권2호
    • /
    • pp.59-69
    • /
    • 2008
  • 자동화된 obfuscation은 보안 목적으로 코드를 이해하기 어렵게 만들어 역공학 공격을 방어하는데 가장 효과적인 방식이라고 알려져 있다. 본 논문에서는 역공학 공격과 같은 소프트웨어 지적재산권의 침해로부터 마이크로소프트사의 비주얼 C++ 소스 프로그램을 보호하기 위한 obfuscation 기법을 제안하고 구현하였다. 즉, 원본 비주얼 C++ 소스 프로그램을 기능은 동일하지만 이해하기에는 훨씬 힘든 또 다른 프로그램으로 변환시켜 주는 도구인 코드 obfuscator를 구현하였다. 비주얼 C++ 소스를 다루기 위해 ANTLR이라는 파서 생성기를 도입하여, '주석 제거', '식별자 스크램블', '변수 분할', '배열 중첩', '클래스 삽입', '루프 조건 확장'. '부가 피연산자 삽입', '무의미 코드 삽입' 등의 변환 방식들을 구현하였다. 또한, 복잡도, 복원력, 비용 등의 측면에서 본 obfuscator의 성능과 유효성을 평가하였다. 원본 소스 코드와 비교하여 실험한 결과, 변환된 소스 코드가 실행시간 오버헤드를 일부 유발시키긴 하지만 프로그램 보호에는 효과적임을 알 수 있었다.

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

  • 목성균;전현구;조은선
    • 정보보호학회논문지
    • /
    • 제27권1호
    • /
    • pp.59-66
    • /
    • 2017
  • 해커들이 자신들이 만든 악성코드의 분석을 어렵게 하기 위하여 코드 난독화 기법을 적용하고 있다. 최근의 난독화 기법은 가상화 난독화 기법을 통해 원래의 코드를 바이트코드로 만들고 가상머신이 이를 실행시키는 방식으로, 실행시키기 전에는 원래의 코드를 알 수가 없다. 프로그램 슬라이싱은 프로그램 분석기술 중 하나로 슬라이싱 기준을 정하고 그와 관련된 문장을 추출해내는 기술이다. 본 논문에서는 슬라이싱 기법을 사용하여 난독화를 해제하는 방법을 제시한다.

IOCP 게임 서버 및 게임 변수 난독화 프로그램 성능 평가 (Performance Evaluation of IOCP Game Server and Game Variable Obfuscation Program)

  • 차은상;김영식
    • 한국게임학회 논문지
    • /
    • 제19권6호
    • /
    • pp.71-82
    • /
    • 2019
  • 본 논문은 상용 게임 엔진인 언리얼 엔진이 지원하는 네트워킹 기능과 사용자 제작 IOCP 게임 서버의 성능을 게임 내의 변수 전달 관점에서 비교 분석하였다. 이를 위하여 언리얼 엔진 4를 기반으로 3D 게임과 IOCP 게임 서버를 자체 제작하였다. 그리고 코드 변조 게임 해킹 프로그램의 메모리 수정을 방지하기 위해서 게임 변수 난독화 프로그램에 관하여 고찰한다. 이를 위하여 언리얼 엔진 솔루션 인 SCUE4 안티-치트 Solution을 활용하여 메모리 수정을 하는 것을 방지하는 방법을 연구하고 성능 트레이드 오프에 대한 분석을 수행한다.

A Discovery System of Malicious Javascript URLs hidden in Web Source Code Files

  • Park, Hweerang;Cho, Sang-Il;Park, Jungkyu;Cho, Youngho
    • 한국컴퓨터정보학회논문지
    • /
    • 제24권5호
    • /
    • pp.27-33
    • /
    • 2019
  • One of serious security threats is a botnet-based attack. A botnet in general consists of numerous bots, which are computing devices with networking function, such as personal computers, smartphones, or tiny IoT sensor devices compromised by malicious codes or attackers. Such botnets can launch various serious cyber-attacks like DDoS attacks, propagating mal-wares, and spreading spam e-mails over the network. To establish a botnet, attackers usually inject malicious URLs into web source codes stealthily by using data hiding methods like Javascript obfuscation techniques to avoid being discovered by traditional security systems such as Firewall, IPS(Intrusion Prevention System) or IDS(Intrusion Detection System). Meanwhile, it is non-trivial work in practice for software developers to manually find such malicious URLs which are hidden in numerous web source codes stored in web servers. In this paper, we propose a security defense system to discover such suspicious, malicious URLs hidden in web source codes, and present experiment results that show its discovery performance. In particular, based on our experiment results, our proposed system discovered 100% of URLs hidden by Javascript encoding obfuscation within sample web source files.

난독화와 변화량 분석을 통한 IoT 센싱 데이터의 경량 유효성 검증 기법 (Lightweight Validation Mechanism for IoT Sensing Data Based on Obfuscation and Variance Analysis)

  • 윤준혁;김미희
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제8권9호
    • /
    • pp.217-224
    • /
    • 2019
  • 최근 가정, 교통, 의료, 전력망 등 우리 생활과 밀접한 연관을 가진 여러 분야에서 IoT(Internet of Things) 센서 장치를 활용해 데이터를 수집하는 센서 네트워크를 구축하고 활용하고 있다. 이러한 센서 네트워크에서 센싱 데이터 조작은 재산 상, 안전 상의 심각한 위협이 될 수 있다. 따라서 외부 공격자가 센싱 데이터를 조작하지 못하도록 하는 방법이 필요하다. 본 논문에서는 외부 공격자에 의해 조작된 센싱 데이터를 효과적으로 제거하기 위해 데이터 난독화와 변화량 분석을 활용한 IoT 센싱 데이터 유효성 검증 기법을 제안한다. IoT 센서 장치는 난독화 함수에 따라 센싱 데이터를 변조하여 사용자에게 전송하고, 사용자는 전송받은 값을 원래의 값으로 되돌려 사용한다. 적절한 난독화를 거치지 않은 거짓 데이터는 유효 데이터와 다른 변화 양상을 보이고, 변화량 분석을 통해 거짓 데이터를 탐지할 수 있다. 성능 분석을 위해 데이터 유효성 검증 성능 및 검증 소요시간을 측정하였다. 그 결과, 기존 기법에 비해 최대 1.45배 거짓 데이터 차단율을 향상시키고, 0.1~002.0% 수준의 오검출률을 보였다. 또한 저전력, 저성능 IoT 센서 장치에서 검증 소요시간을 측정 결과, 데이터량 증가에 따라 2.5969초까지 증가되는 RSA 암호화 기법에 비해 제안 기법은 0.0003초로 높은 검증 효율을 확인하였다.

VMProtect의 역공학 방해 기능 분석 및 Pin을 이용한 우회 방안 (Analysis of Anti-Reversing Functionalities of VMProtect and Bypass Method Using Pin)

  • 박성우;박용수
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제10권11호
    • /
    • pp.297-304
    • /
    • 2021
  • 상용 난독화 도구(프로텍터)들은 소프트웨어 역공학 과정에서 프로그램의 분석을 지연시키고 방해하는 난독화 기술 및 역공학 방해(안티리버싱) 기법을 적용시킴으로써 소프트웨어의 동작 과정을 분석하는데 어려움을 발생시키는데 목적이 있다. 특히, 가상화 탐지와 안티디버깅 기능 같은 경우 분석 도구가 발견되면 정상적인 실행 흐름을 벗어나 프로그램을 종료시킨다. 본 논문에서는 상용 난독화 도구(프로텍터) 중 하나인 VMProtect 3.5.0을 통해 Debugger Detection, Virualization Tools Detection 옵션을 적용시킨 실행 파일의 안티리버싱 기법을 분석하고 Pin을 이용한 우회 방안을 제안한다. 또한, 적용된 안티리버싱 기법을 분석하는 과정에서 Amti-VM 기술과 Anti-DBI 기술에 의해 프로그램이 종료되는 문제가 발생하기 때문에 API 분석을 통해 특정 프로그램 종료 루틴을 알아내어 적용된 안티리버싱 기법의 위치를 예상하고 위치를 바탕으로 안티리버싱 기법 우회 방안 알고리즘 순서도를 작성하였다. 실험에 사용된 소프트웨어들의 버전의 차이로부터 발생하는 호환성 문제, 기법의 변화 등을 고려하여 최신 버전의 소프트웨어(VMProtect, Windows, Pin)에서 Pin 자동화 우회 코드를 작성하고 실험을 진행하여 성공적으로 우회됨을 확인하였다. 제안된 분석 방안을 개선하여 기법이 제시되지 않은 난독화 도구의 안티리버싱 기법을 분석하고 우회 방안을 찾아낼 수 있다.

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

  • 장혜영;조병민;조성제
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2007년도 한국컴퓨터종합학술대회논문집 Vol.34 No.1 (D)
    • /
    • pp.89-94
    • /
    • 2007
  • 자동화된 obfuscatin은 보안 목적으로 코드를 이해하기 어렵게 만들어 역공학 공격을 방어하는데 가장 효과적인 방식이라는 알려져 있다. 본 논문에서는 역공학 공격과 같은 소프트웨어 지적재산권의 침해로부터 마이크로소프트사의 비주얼 C++소스 프로그램을 보호하기 위한 obfuscator를 구현하였다. 그리고 obfuscatio 알고리즘에 따라 potency(복잡도)를 측정하여 분석하여 각 알고리즘을 평가하였다. 또한 cost(비용)과 어셈블리 코드를 비교하여 obfuscator의 성능과 유효성을 평가하였다. 그 결과, 변환된 소스 코드가 실행시간 오버헤드를 일부 유발시키긴 하지만 프로그램 보호에는 효과적임을 알 수 있었다.

  • 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

Query Formulation for Heuristic Retrieval in Obfuscated and Translated Partially Derived Text

  • Kumar, Aarti;Das, Sujoy
    • Journal of Information Science Theory and Practice
    • /
    • 제3권1호
    • /
    • pp.24-39
    • /
    • 2015
  • Pre-retrieval query formulation is an important step for identifying local text reuse. Local reuse with high obfuscation, paraphrasing, and translation poses a challenge of finding the reused text in a document. In this paper, three pre-retrieval query formulation strategies for heuristic retrieval in case of low obfuscated, high obfuscated, and translated text are studied. The strategies used are (a) Query formulation using proper nouns; (b) Query formulation using unique words (Hapax); and (c) Query formulation using most frequent words. Whereas in case of low and high obfuscation and simulated paraphrasing, keywords with Hapax proved to be slightly more efficient, initial results indicate that the simple strategy of query formulation using proper nouns gives promising results and may prove better in reducing the size of the corpus for post processing, for identifying local text reuse in case of obfuscated and translated text reuse.