• Title/Summary/Keyword: 바이너리 프로그램

Search Result 75, Processing Time 0.024 seconds

Improving Resilience in Graph-based Structure Comparison for Binary Objects (그래프 기반 바이너리 구조 비교 기법의 강인성 개선)

  • Jang, Joon-Hyouk;Cho, Yoo-Kun;Hong, Ji-Man
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2012.06a
    • /
    • pp.104-106
    • /
    • 2012
  • 소프트웨어 버스마크 (Software Birthmark)는 프로그램 실행 파일로부터 프로그램의 고유한 정보를 추출하는 기법이다. 프로그램의 도용을 판별하기 위해 바이너리로부터 버스마크를 추출하여 원본 프로그램과의 유사도를 측정하거나 악성 코드 탐지에 사용된다. 본 논문에서는 그래프 기반 바이너리 구조 매칭기법을 기반으로 한 버스마크를 제안한다. 제안 기법은 원본 프로그램과 대상 프로그램 사이에서 함수와 함수, 기본 블록과 기본 블록의 매칭 방법을 개선함으로써, 기존 기법에 비해 강인성(Resilience)이 향상된 버스마크를 추출한다.

Static Control Flow Analysis of Binary Codes (이진 코드의 정적 제어 흐름 분석)

  • Kim, Ki-Tae;Kim, Je-Min;Yoo, Weon-Hee
    • The Journal of the Korea Contents Association
    • /
    • v.10 no.5
    • /
    • pp.70-79
    • /
    • 2010
  • We perform static program analysis for the binary code. The reason you want to analyze at the level of binary code, installed on your local computer, run the executable file without source code. And the reason we want to perform static analysis, static program analysis is to understand what actions to perform on your local computer. In this paper, execution flow graph representing information such as the execution order among functions and the flow of control is generated. Using graph, User can find execution flow of binary file and calls of insecure functions at the same time, and the graph should facilitate the analysis of binary files. In addition, program to be run is ensured the safety by providing an automated way to search the flow of execution, and program to be downloaded and installed from outside is determined whether safe before running.

Framework for Static Control Flow Analysis of Binary Codes (바이너리 코드의 정적 제어 흐름 분석을 위한 프레임워크)

  • Baek, Yeong-Tae;Kim, Ki-Tae
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2010.07a
    • /
    • pp.67-70
    • /
    • 2010
  • 본 논문은 바이너리 코드 수준에서 정적인 프로그램 분석을 수행하는 프레임워크를 설계 및 구현한다. 정적으로 바이너리 코드 수준에서 분석을 수행하려는 이유는 일반적으로 컴퓨터에 설치되는 실행 파일은 소스 코드 없이 단지 바이너리로 된 실행 파일만 주어지는 경우가 대부분이고, 정적 제어 흐름 분석을 통해 수행 전에 동작을 파악하기 위해서이다. 본 논문에서는 바이너리 실행 파일로부터 실행 순서 및 제어 흐름 등의 정보를 표현할 수 있는 제어 흐름 그래프를 작성하여 바이너리 파일의 실행 흐름과 위험한 함수의 호출 여부를 동시에 파악할 수 있도록 하며, 그래프 시각화를 통해 바이너리 파일의 분석을 용이하게 한다. 또한 실행 흐름에 대한 자동 탐색 방법을 제공한다.

  • PDF

A Out-of-Bounds Read Vulnerability Detection Method Based on Binary Static Analysis (바이너리 정적 분석 기반 Out-of-Bounds Read 취약점 유형 탐지 연구)

  • Yoo, Dong-Min;Jin, Wen-Hui;Oh, Heekuck
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.31 no.4
    • /
    • pp.687-699
    • /
    • 2021
  • When a vulnerability occurs in a program, it is documented and published through CVE. However, some vulnerabilities do not disclose the details of the vulnerability and in many cases the source code is not published. In the absence of such information, in order to find a vulnerability, you must find the vulnerability at the binary level. This paper aims to find out-of-bounds read vulnerability that occur very frequently among vulnerability. In this paper, we design a memory area using memory access information appearing in binary code. Out-of-bounds Read vulnerability is detected through the designed memory structure. The proposed tool showed better in code coverage and detection efficiency than the existing tools.

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.

The Study on Improvement of the Program that Traces the Binary Codes in Execution (실행 중인 바이너리 코드 추출 프로그램의 기능 확장 연구)

  • Chang, Hang-Bae;Kwon, Hyuk-Jun;Kim, Yang-Hoon;Kim, Guk-Boh
    • Journal of Korea Multimedia Society
    • /
    • v.12 no.9
    • /
    • pp.1309-1315
    • /
    • 2009
  • This research goal of developing and producing a tool that finds security weakness that may happen when a usual program is executed. The analyzing tool for security weakness has the major functions as follows. In case that a part of anticipated security weakness are in execution, it traces a machine language to a part in execution. And Monitoring System calls and DLL(API) calls when a program is in execution. The result of this study will enable to contribute to use as educational materials for security service in companies and related agencies and to prevent from hacking of external information invaders in the final analysis.

  • PDF

Development of eTV Binary Format Generator for User Interface of Data Broadcasting (데이터 방송의 사용자 인터페이스를 위한 eTV 바이너리 포맷 생성기의 개발)

  • Kim, Young-Keun;Kwon, Hyeok-Ju;Park, Jin-Ki;Lee, Yang-Sun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2007.05a
    • /
    • pp.1469-1472
    • /
    • 2007
  • 최근의 방송은 A/V 프로그램만을 보내주던 기존의 방송에서 데이터를 연동하여 서비스하는 방송으로 변화하였다. 데이터 방송은 지상파, 위성, 케이블 등의 방송망을 이용하여 하나의 방송사가 다수의 시청자에게 디지털 멀티미디어 콘텐츠를 여러 종류의 단말기에 전송하는 것이다. 이러한 데이터 방송을 통해 시청자가 직간접적으로 프로그램에 참여할 수 있게 된다. 이러한 서비스를 위해 필요한 여러 기술 중에 사용자의 인터페이스를 제공하기 위한 콘텐츠 표현 기술이 필요하다. 대표적인 콘텐츠의 표현 기술은 HAVi UI와 eTV 시스템이 있다. HAVi UI는 자바 컴포넌트 API로 구성되어 있으며 HAVi 컴포넌트 API로 셋톱박스 어플리케이션(Xlet)을 개발한다. 개발된 Xlet 프로그램은 미들웨어 시스템에 탑재된 자바 가상 머신을 통해 실행된다. eTV 시스템은 범용 마크업 언어인 XML로 어플리케이션을 개발한다. 개발된 eTV 어플리케이션은 eTV 바이너리 생성기를 통해 EBIF가 생성되고 셋톱박스에 탑재된 eTV 리시버에서 실행된다. 본 논문에서는 eTV 시스템을 구성하기 위한 구성요소에서 서버 모듈인 eTV 바이너리 포맷 생성기를 개발하였다. eTV 시스템 개발을 통해서 데이터 방송을 위한 사용자 인터페이스의 기능을 확대 할 수 있으며, 시청자의 선택에 따른 방송을 보다 폭 넓게 제공할 수 있다.

  • PDF

Analyzing Differences of Binary Executable Files using Program Structure and Constant Values (프로그램의 구조와 상수 값을 이용하는 바이너리 실행 파일의 차이점 분석)

  • Park, Hee-Wan;Choi, Seok-Woo;Seo, Sun-Ae;Han, Tai-Sook
    • Journal of KIISE:Software and Applications
    • /
    • v.35 no.7
    • /
    • pp.452-461
    • /
    • 2008
  • Binary diffing is a method to find differences in similar binary executables such as two different versions of security patches. Previous diffing methods using flow information can detect control flow changes, but they cannot track constant value changes. Biffing methods using assembly instructions can detect constant value changes, but they give false positives which are due to compiling methods such as instruction reordering. We present a binary diffing method and its implementation named SCV which utilizes both structure and value information. SCV summarizes structure and constant value information from disassembled code, and matches the summaries to find differences. By analyzing a Microsoft Windows security patches, we showed that SCV found necessary differences caused by constant value changes which the state-of-the-art binary diffing tool BinDiff failed to find.

Design and Implementation of Framework for Static Execution Flow Trace of Binary Codes (이진 코드의 정적 실행 흐름 추적을 위한 프레임워크 설계 및 구현)

  • Baek, Yeong-Tae;Kim, Ki-Tae;Jun, Sang-Pyo
    • Journal of the Korea Society of Computer and Information
    • /
    • v.16 no.6
    • /
    • pp.51-59
    • /
    • 2011
  • In domestic, the binary code analysis technology is insufficient. In general, an executable file that is installed on your computer without the source code into an executable binary files is given only the most dangerous, or because it is unknown if the action is to occur. In this paper, static program analysis at the binary level to perform the design and implementation framework. In this paper, we create a control flow graph. We use the graph of the function call and determine whether dangerous. Through Framework, analysis of binary files is easy.

Design and Implementation of Efficient Mitigation against Return-oriented Programming (반환 지향 프로그래밍 공격에 대한 효율적인 방어 기법 설계 및 구현)

  • Kim, Jeehong;Kim, Inhyeok;Min, Changwoo;Eom, Young Ik
    • Journal of KIISE
    • /
    • v.41 no.12
    • /
    • pp.1018-1025
    • /
    • 2014
  • An ROP attack creates gadget sequences which consist of existing code snippets in a program, and hijacks the control flow of a program by chaining and executing gadget sequences consecutively. Existing defense schemes have limitations in that they cause high execution overhead, an increase in the binary size overhead, and a low applicability. In this paper, we solve these problems by introducing zero-sum defender, which is a fast and space-efficient mitigation scheme against ROP attacks. We find a fundamental property of gadget execution in which control flow starts in the middle of a function without a call instruction and ends with a return instruction. So, we exploit this property by monitoring whether the execution is abused by ROP attacks. We achieve a very low runtime overhead with a very small increase in the binary size. In our experimental results, we verified that our defense scheme prevents real world ROP attacks, and we showed that there is only a 2% performance overhead and a 1% binary size increase overhead in several benchmarks.