• Title/Summary/Keyword: obfuscation algorithm

Search Result 17, Processing Time 0.025 seconds

A Technique to Apply Inlining for Code Obfuscation based on Genetic Algorithm (유전 알고리즘에 기반한 코드 난독화를 위한 인라인 적용 기법)

  • Kim, Jung-Il;Lee, Eun-Joo
    • Journal of Information Technology Services
    • /
    • v.10 no.3
    • /
    • pp.167-177
    • /
    • 2011
  • Code obfuscation is a technique that protects the abstract data contained in a program from malicious reverse engineering and various obfuscation methods have been proposed for obfuscating intention. As the abstract data of control flow about programs is important to clearly understand whole program, many control flow obfuscation transformations have been introduced. Generally, inlining is a compiler optimization which improves the performance of programs by reducing the overhead of calling invocation. In code obfuscation, inlining is used to protect the abstract data of control flow. In this paper, we define new control flow complexity metric based on entropy theory and N-Scope metric, and then apply genetic algorithm to obtain optimal inlining results, based on the defined metric.

A strategy for effectively applying a control flow obfuscation to programs (제어 흐름 난독화를 효과적으로 수행하기 위한 전략)

  • Kim, Jung-Il;Lee, Eun-Joo
    • Journal of the Korea Society of Computer and Information
    • /
    • v.16 no.6
    • /
    • pp.41-50
    • /
    • 2011
  • Code obfuscation has been proposed to protect codes in a program from malicious software reverse engineering. It converts a program into an equivalent one that is more difficult to understand the program. Code obfuscation has been classified into various obfuscation technique such as layout, data, control, by obfuscating goals. In those obfuscation techniques, control obfuscation is intended to complicate the control flow in a program to protect abstract information of control flow. For protecting control flow in a program, various control obfuscation transformation techniques have been proposed. However, strategies for effectively applying a control flow obfuscation to program have not been proposed yet. In this paper, we proposed a obfuscation strategy that effectively applies a control flow obfuscation transformation to a program. We conducted experiment to show that the proposed obfuscation strategy is useful for applying a control flow transformation to a program.

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.

Semantics-aware Obfuscation for Location Privacy

  • Damiani, Maria Luisa;Silvestri, Claudio;Bertino, Elisa
    • Journal of Computing Science and Engineering
    • /
    • v.2 no.2
    • /
    • pp.137-160
    • /
    • 2008
  • The increasing availability of personal location data pushed by the widespread use of location-sensing technologies raises concerns with respect to the safeguard of location privacy. To address such concerns location privacy-preserving techniques are being investigated. An important area of application for such techniques is represented by Location Based Services (LBS). Many privacy-preserving techniques designed for LBS are based on the idea of forwarding to the LBS provider obfuscated locations, namely position information at low spatial resolution, in place of actual users' positions. Obfuscation techniques are generally based on the use of geometric methods. In this paper, we argue that such methods can lead to the disclosure of sensitive location information and thus to privacy leaks. We thus propose a novel method which takes into account the semantic context in which users are located. The original contribution of the paper is the introduction of a comprehensive framework consisting of a semantic-aware obfuscation model, a novel algorithm for the generation of obfuscated spaces for which we report results from an experimental evaluation and reference architecture.

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

  • Park, Seongwoo;Park, Yongsu
    • KIPS Transactions on Computer and Communication Systems
    • /
    • v.10 no.11
    • /
    • pp.297-304
    • /
    • 2021
  • Commercial obfuscation tools (protectors) aim to create difficulties in analyzing the operation process of software by applying obfuscation techniques and Anti-reversing techniques that delay and interrupt the analysis of programs in software reverse engineering process. In particular, in case of virtualization detection and anti-debugging functions, the analysis tool exits the normal execution flow and terminates the program. In this paper, we analyze Anti-reversing techniques of executables with Debugger Detection and Viralization Tools Detection options through VMProtect 3.5.0, one of the commercial obfuscation tools (protector), and address bypass methods using Pin. In addition, we predicted the location of the applied obfuscation technique by finding out a specific program termination routine through API analysis since there is a problem that the program is terminated by the Anti-VM technology and the Anti-DBI technology and drew up the algorithm flowchart for bypassing the Anti-reversing techniques. Considering compatibility problems and changes in techniques from differences in versions of the software used in experiment, it was confirmed that the bypass was successful by writing the pin automation bypass code in the latest version of the software (VMProtect, Windows, Pin) and conducting the experiment. By improving the proposed analysis method, it is possible to analyze the Anti-reversing method of the obfuscation tool for which the method is not presented so far and find a bypass method.

A Code Concealment Method using Java Reflection and Dynamic Loading in Android (안드로이드 환경에서 자바 리플렉션과 동적 로딩을 이용한 코드 은닉법)

  • Kim, Jiyun;Go, Namhyeon;Park, Yongsu
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.25 no.1
    • /
    • pp.17-30
    • /
    • 2015
  • Unlike existing widely used bytecode-centric Android application code obfuscation methodology, our scheme in this paper makes encrypted file i.e. DEX file self-extracted arbitrary Android application. And then suggests a method regarding making the loader app to execute encrypted file's code after saving the file in arbitrary folder. Encrypted DEX file in the loader app includes original code and some of Manifest information to conceal event treatment information. Loader app's Manifest has original app's Manifest information except included information at encrypted DEX. Using our scheme, an attacker can make malicious code including obfuscated code to avoid anti-virus software at first. Secondly, Software developer can make an application with hidden main algorithm to protect copyright using suggestion technology. We implement prototype in Android 4.4.2(Kitkat) and check obfuscation capacity of malicious code at VirusTotal to show effectiveness.

A Study on the Java Decompilation-Preventive Method by Obfuscating Algorithm (난독화 알고리즘을 이용한 자바 역컴파일 방지기법에 관한 연구)

  • Ahn, Hwa-Su
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2007.05a
    • /
    • pp.1457-1458
    • /
    • 2007
  • 자바 언어의 중요한 특징 중의 하나는 어떤 기계에서든지 실행될 수 있다는 점이다. 이러한 플랫폼에 대한 독립성은 자바 프로그램이 바이트 코드 형태로 배포되기 때문에 가능한 일이다. 바이트 코드는 특정 기계에 종속되지 않고 자바 가상 머신(Java Virtual Machine:JVM)를 지원하는 곳이면 어디에서든지 실행 가능하다. 그런데 바이트 코드로 번역된 코드에는 자바 소스 코드의 정보가 그대로 포함되어 있는데, 이로 인해서 바이트 코드에서 자바 소스코드로의 역컴파일(Decompilation)이 쉽게 이루어진다는 취약점이 있다. 본 논문에서는 자바 바이트 코드의 난독화 기법을 살펴보고, Code Encryption Algorithm을 이용해서 역컴파일 하기 어려운 형태로 만드는 기술인 코드 난독처리(Code Obfuscation) 기법을 제안하였다.

  • PDF

Effective Technique for Inlining Function Calls in Code Obfuscation Using Genetic Algorithm (유전 알고리즘을 이용한 코드 난독화에서의 효율적 함수 호출 인라인 기법)

  • Kim, Jung-Il;Lee, Eun-Joo
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2010.06b
    • /
    • pp.53-58
    • /
    • 2010
  • 코드 난독화 기법 중의 하나인 인라인(Inline)은 코드의 복사를 통하여 함수의 호출 구조를 파괴하여서 코드의 복원과 이해를 어렵게 만든다. 하지만 적절한 전략 없이 인라인 기법을 적용하게 되면, 프로그램 성능이 저하되며 난독화의 결과도 기대 이하일 가능성이 존재한다. 따라서 지나친 성능의 저하를 막으면서 결과적으로 코드의 복원과 이해를 최대한 어렵게 하기 위한 인라인 수행 전략이 필요하다. 이를 위하여 본 논문에서는 정적 함수 호출 그래프를 기반으로 인라인의 적용 여부를 유전 알고리즘을 사용하여 결정하도록 한다. 그리고 인라인 전후의 효용을 보여주기 위하여 정보이론 및 제어 흐름의 복잡도에 기반하여 전체 프로그램의 복잡도를 정의하였다. 마지막으로 해당 기법의 효용을 실험을 통해 보였다.

  • PDF

A Study on the Insider Behavior Analysis Using Machine Learning for Detecting Information Leakage (정보 유출 탐지를 위한 머신 러닝 기반 내부자 행위 분석 연구)

  • Kauh, Janghyuk;Lee, Dongho
    • Journal of Korea Society of Digital Industry and Information Management
    • /
    • v.13 no.2
    • /
    • pp.1-11
    • /
    • 2017
  • In this paper, we design and implement PADIL(Prediction And Detection of Information Leakage) system that predicts and detect information leakage behavior of insider by analyzing network traffic and applying a variety of machine learning methods. we defined the five-level information leakage model(Reconnaissance, Scanning, Access and Escalation, Exfiltration, Obfuscation) by referring to the cyber kill-chain model. In order to perform the machine learning for detecting information leakage, PADIL system extracts various features by analyzing the network traffic and extracts the behavioral features by comparing it with the personal profile information and extracts information leakage level features. We tested various machine learning methods and as a result, the DecisionTree algorithm showed excellent performance in information leakage detection and we showed that performance can be further improved by fine feature selection.

Detection of Malicious PDF based on Document Structure Features and Stream Objects

  • Kang, Ah Reum;Jeong, Young-Seob;Kim, Se Lyeong;Kim, Jonghyun;Woo, Jiyoung;Choi, Sunoh
    • Journal of the Korea Society of Computer and Information
    • /
    • v.23 no.11
    • /
    • pp.85-93
    • /
    • 2018
  • In recent years, there has been an increasing number of ways to distribute document-based malicious code using vulnerabilities in document files. Because document type malware is not an executable file itself, it is easy to bypass existing security programs, so research on a model to detect it is necessary. In this study, we extract main features from the document structure and the JavaScript contained in the stream object In addition, when JavaScript is inserted, keywords with high occurrence frequency in malicious code such as function name, reserved word and the readable string in the script are extracted. Then, we generate a machine learning model that can distinguish between normal and malicious. In order to make it difficult to bypass, we try to achieve good performance in a black box type algorithm. For an experiment, a large amount of documents compared to previous studies is analyzed. Experimental results show 98.9% detection rate from three different type algorithms. SVM, which is a black box type algorithm and makes obfuscation difficult, shows much higher performance than in previous studies.