• Title/Summary/Keyword: 바이너리 파일변환

Search Result 26, Processing Time 0.026 seconds

An Anti-Forensic Technique for Hiding Data in NTFS Index Record with a Unicode Transformation (유니코드 변환이 적용된 NTFS 인덱스 레코드에 데이터를 숨기기 위한 안티포렌식 기법)

  • Cho, Gyu-Sang
    • Convergence Security Journal
    • /
    • v.15 no.7
    • /
    • pp.75-84
    • /
    • 2015
  • In an "NTFS Index Record Data Hiding" method messages are hidden by using file names. Windows NTFS file naming convention has some forbidden ASCII characters for a file name. When inputting Hangul with the Roman alphabet, if the forbidden characters for the file name and binary data are used, the codes are convert to a designated unicode point to avoid a file creation error due to unsuitable characters. In this paper, the problem of a file creation error due to non-admittable characters for the file name is fixed, which is used in the index record data hiding method. Using Hangul with Roman alphabet the characters cause a file creation error are converted to an arbitrary unicode point except Hangul and Roman alphabet area. When it comes to binary data, all 256 codes are converted to designated unicode area except an extended unicode(surrogate pairs) and ASCII code area. The results of the two cases, i.e. the Hangul with Roman alphabet case and the binary case, show the applicability of the proposed method.

Implementation of file format analyzer for binary vulnerability analysis (바이너리 취약점 분석을 위한 파일 포맷 분석기 구현)

  • Oh, DongYeop;Ryu, Jea-cheol
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2018.07a
    • /
    • pp.466-469
    • /
    • 2018
  • 최근 PC를 비롯한 모바일, IOT 기기 등 다양한 환경에서의 사이버 공격이 기승을 부리고 있으며, 그 방법 또한 나날이 발전하고 있다. 이러한 사이버위협으로부터 개인 및 기업의 자산을 지키기 위한 근본적인 대안이 없이는 매번 반복적인 피해를 피하기 어려운 현실이다. 다양한 환경이라고 함은, 다양한 OS(Operation System), 다양한 ISA (Instruction Set Architecture)의 조합으로 이루어지는 사이버환경을 의미한다. 이러한 조합들은 일반 사용자들에게 가장 많이 쓰이는 Windows & Intel 조합의 환경과, Linux & Intel 또는 Linux & ARM 등 기업에서 서비스를 위해 쓰이는 서버 환경 등을 예로 들 수 있다. 그밖에 최근 IOT기기나 모바일 기기와 같은 환경도 있을 수 있다. 바이너리 파일에 대한 보안은 다양한 연구가 진행되고 있지만 그 범위가 방대하고, 깊이가 필요한 영역이라 진입 장벽이 높은 실정이다. 본 논문에서는 이러한 바이너리의 취약점을 분석하기 위한 첫 번째 단계로써 다양한 바이너리 파일을 하나의 정형화된 자료구조로 변환하는 바이너리 포맷 분석기의 한 방법을 제시하고자 한다. 다양한 OS와 다양한 ISA환경에서 사용되는 바이너리들에서 공통적으로 존재하는 정보들 중, 바이너리의 취약점 분석을 위해 필요한 데이터를 보다 효율적으로 수집하고, 관리하는 것이 바이너리를 통한 사이버 위협을 탐지하는 연구에서 기초가 된다고 할 수 있기 때문이다.

  • PDF

A Study on Composite Data Type Inference using Word2vec Deep Learning Scheme on Binary File (바이너리 파일에서 Word2Vec 딥러닝 기법을 이용한 복합 자료형 추론 연구)

  • Min, Ye Sul;Jung, Hyunoh;Lee, Hyerin;Lee, Sungyeon;;Jeong, Junho;Son, Yunsik
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2017.11a
    • /
    • pp.306-309
    • /
    • 2017
  • 소프트웨어의 보안에 대한 중요성이 점차 높아짐에 따라, 소스코드 기반의 소프트웨어의 보안약점 분석 기법에서 더 나아가 소스 코드가 존재하지 않는 바이너리 파일을 대상으로 분석을 수행하는 연구가 진행되고 있다. 왜냐하면 소프트웨어 개발의 복잡성 증가에 따른 서드파티 라이브러리 활용과 레거시 코드의 관리 부재, 임베디드 소프트웨어의 특성 등으로 인해 소스 코드가 존재하지 않는 바이너리 코드의 사용이 늘어나고 있기 때문이다. 따라서 최근 바이너리 코드에 내제된 보안약점을 분석하기 위해서 중간코드를 이용하여 정적분석을 수행하는 다양한 연구가 진행되고 있다. 중간언어를 사용함으로 실행환경에 따라 달라지는 바이너리 코드가 중간언어로만 변환이 된다면 동일한 형태의 보안약점 분석기술을 통해 효과적인 수행이 가능하다. 본 논문에서는 이러한 바이너리 코드로부터 중간언어로 변환시 컴파일 과정에서 상실된 복합 자료형을 재구성하기 위해 Word2vec 딥러닝 기법을 이용한 추론기법을 제안한다.

Performance Analysis of the WML Contents Encoding based on Compression (압축을 이용한 WML 컨텐츠 인코딩의 성능분석)

  • 반영미;최창열
    • Proceedings of the Korea Multimedia Society Conference
    • /
    • 2000.11a
    • /
    • pp.279-282
    • /
    • 2000
  • 무선인터넷을 지원하는 WAP 게이트웨이는 프로토콜 변환과 함께 WML 파일을 바이너리 포맷으로 변환하여 무선 환경에 적합하게 한다. 인코딩에서의 공백제거와 태그변환에 따른 효과는 WML 파일의 크기와 특성에 따라 달라진다. 본 논문에서는 게이트웨이에서의 인코딩에 따른 파일크기 감소 효과를 분석하고 압축의 효용성에 대해 기술한다.

  • PDF

ARM to x86 Binary Translation Techniques (ARM to x86 바이너리 변환 기술)

  • Choi, Min;Lee, Wonjae;Bae, Sungjoon;Lee, Hyunwoo
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2012.11a
    • /
    • pp.455-458
    • /
    • 2012
  • 최근 각종 스마트 디바이스의 활용이 급속히 활용이 늘어나고 있다. 본 연구는 ARM to x86 바이너리 변환(Binary Translation) 기술을 통해 인텔의 x86 기반 ATOM 모바일 프로세서에서 ARM target 으로 컴파일된 NDK 활용 안드로이드 애플리케이션을 실행하는 것을 목표로 한다. 본 논문에서는 ARM to x86 관련 바이너리 변환 기존 연구를 분석한 후, 실제적인 ARM to x86 바이너리 변환 플랫폼을 통해 바이너리 변환 사례를 소개한다.

Design of Visual Tool for Efficient Descripting of Binary ECG File Formats (바이너리 심전도 파일 포맷의 효율적인 디스크립션을 위한 시각적 도구 설계)

  • Koo, Heung-Seo
    • Journal of the Korean Institute of Intelligent Systems
    • /
    • v.17 no.1
    • /
    • pp.26-31
    • /
    • 2007
  • In this study, A BED(Binary ECG description) based binary ECG conversion system is that supports the conversion of a binary ECG format into XML-based HL7 aECG for interoperability of ECG. HL7 aECG is a XML based standard lot interoperability of ECG waveform. However, it is difficult for beginners to write the BED document of binary BED conversion system in XML. We implement a BED Studio on the Java Servlet engine that allows beginners to write BED documents more easily. Our system consists of three parts: Visual Editor, Text Editor, and Format Checking Viewer. Format Checking Viewer support users to detect the format errors in the XML files, so-called BED documents, that describe the data format of the targer binary ECG file in the BED-based binary ECG conversion system, so may reduce the format errors in BED documents.

Design and Implementation of a SAF Assembler for the Ubiquitous Game Platform (유비쿼터스 게임 플랫폼을 위한 SAF 어셈블러의 설계 및 구현)

  • Choi, Hong-Suck;Lee, Yang-Sun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2007.05a
    • /
    • pp.1516-1519
    • /
    • 2007
  • 본 연구팀은 유비쿼터스 환경에서 다양한 분야의 콘텐츠를 보다 쉽게 개발하고 실행할 수 있는 통합소프트웨어 개발 솔루션인 유비쿼터스 게임 플랫폼(Ubiquitous Game Platform)을 개발하였다. 유비쿼터스 게임 플랫폼은 유비쿼터스 환경의 기기에 탑재되어 콘텐츠들을 C/C++/Java 언어 모두를 수용하며 가상기계 방식이어서 유비쿼터스 환경의 기기에 독립적으로 실행이 가능하다는 장점을 가지고 있다. 본 논문에서는 유비쿼터스 게임 플랫폼의 가상기계인 유비쿼터스 가상기계(u-VM)의 입력인 SEF(Standard Executable Format) 실행파일을 생성하기 위한 SAF 어셈블러를 설계 및 구현 하였다. SAF 어셈블러는 중간언어 형식인 SAF(Standard Assembly Format)를 입력으로 받아 u-VM이 실행 가능한 파일 형식인 SEF를 생성한다. SEF 파일을 생성하면서 SAF 어셈블러는 여러개의 SAF파일을 한 개의 SEF로 묶어주는 링커의 역할을 하여 주며, 실행 파일을 텍스트 형식의 SAF에서 바이너리 형식의 SEF로 바꿈으로써 보안상의 문제를 해결해 준다. 또한 SEF는 SAF에 비해 가볍게 변환이 되어 가상기계에서의 실행속도를 개선하는 역할을 하여 준다.

An Intermediate Language Translator for .NET Languages (.NET 언어를 위한 중간 언어 번역기)

  • 최성규;박진기;이양선
    • Proceedings of the Korea Multimedia Society Conference
    • /
    • 2003.11b
    • /
    • pp.533-536
    • /
    • 2003
  • 자바는 썬 마이크로시스템즈사가 개발한 언어로서 현재 가장 널리 사용되는 프로그래밍 언어 중 하나이며, 컴파일러에 의해 플랫폼에 독립적인 바이트코드를 바이너리 형태로 가지고 있는 클래스 파일을 생성하면 JVM에 의해 어떠한 하드웨어나 운영체제에 상관없이 수행이 가능한 플랫폼 독립적인 언어이다. 마이크로소프트사는 .NET 플랫폼을 개발하면서 자바 언어에 대응하기 위해 C# 프로그래밍 언어를 만들었다. C#은 C/C+.의 강력함과 자바나 비주얼 베이직의 높은 생산성을 매우 효과적으로 결합한 프로그래밍 언어이다. C#은 컴파일 과정을 거치면 자바의 바이트코드와 같은 중간 언어인 MSIL코드를 갖는 파일을 출력하게 되는데, C# 이외에도 모든 .NET 언어들은 컴파일과정을 거치면서 MSIL 코드를 얻기 때문에 여러 .NET 언어들을 이용해서 하나의 응용 프로그램을 만들 수 있다. 본 논문에서는 임베디드 시스템에서의 적용을 위해 C#을 컴파일 하여 나오는 중간 언어 형태인 MSIL 코드를 자바의 중간 언어의 한 종류인 Oolong 코드로 변환해 줌으로서 C#으로 구현된 프로그램이 자바 플렛폼에서 JVM에 의해 실행되도록 하는 중간 언어 번역기를 구현하였다.

  • PDF

A Method to Express Audio Binary Files by Color QR Codes and Its Application (오디오 바이너리 파일을 컬러 QR코드로 표현하는 방법과 그 응용)

  • Lee, Choong Ho
    • Journal of the Institute of Convergence Signal Processing
    • /
    • v.19 no.2
    • /
    • pp.47-53
    • /
    • 2018
  • This paper proposes a method to express an MP3 audio file by a series of color QR codes which can be printed on the paper. Moreover, the method can compress the data considerably. Firstly, an MP3 file is divided into many small files which have maximum capacity of binary file of a QR code. Secondly, the multiple files are converted to multiple black-and-white QR codes. Lastly, every three QR codes are combined into color QR codes. When combining, each of three black-and-white QR codes are regarded as red, green, blue components respectively. In this method, the areas of a color QR code where two QR codes are overlapped are expressed by the colors Cyan, Magenta and Yellow. And the areas where three components are overlapped are expressed by white color. Contrarily, the areas that no components are overlapped are expressed by white color. Experimentation result shows that an MP3 file with 8.5MB the original MP3 files are compressed with the compression rate around 15.7. This method has the advantage that can be used in the environments that the internet access is impossible.

Program Translation from Conventional Programming Source to Java Bytecode (기존 프로그래밍 원시코드에서 자바 바이트 코드로의 변환)

  • Jeon-Geun Kang;Haeng-Kon Kim
    • Journal of the Korea Computer Industry Society
    • /
    • v.3 no.8
    • /
    • pp.963-980
    • /
    • 2002
  • Software reengineering is making various research for solutions against problem of maintain existing systems. Reengineering has a meaning of development of software on exizting systems through the reverse engineering auf forward engineering. Most of the important concepts used in reengineering is composition that is restructuring of the existing objects. Is there a compiler that can compile a program written in a traditional procedural language (like C or Pascal) and generate a Java bytecode, rather than an executable code that runs oかy on the machine it was compiled (such as an a.out file on a Unix machine)\ulcorner This type of compiler may be very handy for today's computing environment of heterogeneous networks. In this paper we present a software system that does this job at the binary-to-binary level. It takes the compiled binary code of a procedural language and translates it into Java bytecode. To do this, we first translate into an assembler code called Jasmin [7] that is a human-readable representation of Java bytecode. Then the Jasmin assembler converts it into real Java bytecode. The system is not a compiler because it does not start at the source level. We believe this kind of translator is even more useful than a compiler because most of the executable code that is available for sharing does not come with source programs. Of course, it works only if the format of the executable binary code is known. This translation process consists of three major stages: (1) analysis stage that identifies the language constructs in the given binary code, (2) initialization stage where variables and objects are located, classified, and initialized, and (3) mapping stage that maps the given binary code into a Jasmin assembler code that is then converted to Java bytecode.

  • PDF