• 제목/요약/키워드: executable software

검색결과 79건 처리시간 0.023초

임베디드 가상 기계를 위한 실행파일포맷 (An Executable File formal for Embedded Virtual Machine)

  • 정한종;오세만
    • 한국멀티미디어학회논문지
    • /
    • 제8권5호
    • /
    • pp.721-728
    • /
    • 2005
  • 가상 기계란 하드웨어로 이루어진 물리적 시스템과는 달리 소프트웨어로 제작되어 논리적인 시스템 구성을 갖는 개념적인 컴퓨터이다 임베디드 시스템을 위한 가상 기계 기술은 모바일 디바이스나 디지털 TV 등의 다운로드 솔루션에 꼭 필요한 소프트웨어 기술이다 현재 EVM(Embedded Virtual Machine)이라 명명된 임베디드 시스템을 위한 가상 기계에 대한 연구가 진행 중이다 이러한 연구의 일환으로 본 논문에서는 임베디드 시스템을 위한 파일 포맷인 EFF(Executable File Form기)로 정의한다. 또한 기존에 널리 사용되고 있는 클래스 파일을 EFF에 매핑 시킴으로써 EFF의 완전성을 구조적으로 증명한다.

  • PDF

신뢰성 높은 동적 API 시퀀스를 이용한 소프트웨어 유사성 검사 (Software Similarity Detection Using Highly Credible Dynamic API Sequences)

  • 박성수;한환수
    • 정보과학회 논문지
    • /
    • 제43권10호
    • /
    • pp.1067-1072
    • /
    • 2016
  • 실행코드만으로 소프트웨어 간의 유사성을 비교하거나 표절을 검사하기 위해 소프트웨어만의 고유한 특징인 소프트웨어 버스마크를 이용한다. 일반적으로 소프트웨어 버스마크는 추출 방법에 따라 정적 버스마크와 동적 버스마크로 구분되고, 추출된 방법에 따라 장단점이 뚜렷하게 나타난다. 본 논문에서는 동적 분석을 이용하여 API 시퀀스 버스마크를 추출하고 실행코드 간의 유사성 검사에 이용하는 방법을 제안한다. 제안하는 동적 시퀀스 버스마크는 프로그램이 실행되는 과정에서 호출되는 모든 API 함수 및 시스템 호출을 포함하는 기존의 방법과는 다르게 실행코드 내에 정의되어 있는 API 함수만으로 구성된 API 시퀀스를 이용한다. 추출된 동적 버스마크는 프로그램의 시작에서 종료까지 호출되는 API 시퀀스이며 이를 효율적으로 비교하기 위해 서열정렬 알고리즘을 활용한 유사성 척도를 사용한다. 여러 오픈소스 소프트웨어를 비교하여 버스마크의 신뢰성과 강인성을 검증하였다. 제안하는 동적 API 시퀀스 버스마크는 실행코드의 유사성 검사에 용이하게 활용될 수 있을 것으로 기대된다.

실행 파일 형태로 복원하기 위한 Themida 자동 역난독화 도구 구현 (Implementation of the Automated De-Obfuscation Tool to Restore Working Executable)

  • 강유진;박문찬;이동훈
    • 정보보호학회논문지
    • /
    • 제27권4호
    • /
    • pp.785-802
    • /
    • 2017
  • 악성코드를 이용한 사이버 위협이 꾸준히 증가함에 따라 많은 보안 및 백신 관련 업체들이 악성코드 분석 및 탐지에 많은 노력을 기울이고 있다. 그러나 소프트웨어의 분석이 어렵도록 하는 난독화 기법이 악성코드에 적용되어 악성코드에 대한 빠른 대응이 어려운 실정이다. 특히 상용 난독화 도구는 빠르고 간편하게 변종 악성코드를 생성해 낼 수 있기 때문에 악성코드 분석가가 새로운 변종 악성코드의 출현 속도에 대응할 수 없도록 한다. 분석가가 빠르게 악성코드의 실제 악성행위를 분석하도록 하기 위해서는 난독화를 해제하는 역난독화 기술이 필요하다. 본 논문에서는 상용 난독화 도구인 Themida가 적용된 소프트웨어를 역난독화하는 일반적인 분석방법론을 제안한다. 먼저 Themida를 이용하여 난독화가 적용된 실행파일을 분석하여 알아낸 Themida의 동작 원리를 서술한다. 다음으로 DBI(Dynamic Binary Instrumentation) 프레임워크인 Pintool을 이용하여 난독화된 실행파일에서 원본 코드 및 데이터 정보를 추출하고, 이 원본 정보들을 활용하여 원본 실행파일에 가까운 형태로 역난독화할 수 있는 자동화 분석 도구 구현 결과에 대해 서술한다. 마지막으로 원본 실행파일과 역난독화한 실행파일의 비교를 통해 본 논문의 자동화 분석 도구의 성능을 평가한다.

유닛테스트를 활용한 c/c++ 라이브러리 그레이박스 퍼징 적용 자동화 (Automated Applying Greybox Fuzzing to C/C++ Library Using Unit Test)

  • 장준언;김휘강
    • 정보보호학회논문지
    • /
    • 제29권4호
    • /
    • pp.807-819
    • /
    • 2019
  • 그레이박스 퍼징은 소프트웨어에 존재하는 알려지지 않은 보안 취약점을 찾는 효과적인 방법으로 최근까지 활발하게 연구되고 있다. 단, 대부분의 그레이박스 퍼징 도구들은 실행파일을 필요로 하기 때문에 직접 실행할 수 없는 라이브러리는 별도의 실행파일을 준비해야 한다. 이러한 실행파일을 만드는 것은 라이브러리에 대한 이해 및 퍼징에 대한 이해가 동시에 필요한 어려운 일이다. 본 연구에서는 라이브러리를 위한 실행파일을 자동으로 생성하는 방법을 제안하고 이를 LLVM 기반의 도구로 구현한다. 제안하는 방법은 대상 라이브러리 프로젝트에 존재하는 유닛테스트에 대한 정적/동적 분석을 통해 라이브러리를 테스트할 수 있는 실행파일 및 시드파일을 자동으로 생성한다. 생성한 실행파일은 기존 그레이박스 퍼징 도구들이 주로 사용하는 인터페이스를 보유하여 AFL과 같은 다양한 그레이박스 퍼징 도구와 호환된다. 우리는 이 도구를 사용해 오픈소스 프로젝트로부터 생성한 실행파일과 시드파일을 바탕으로 코드 커버리지 및 알려지지 않은 취약점을 찾음으로써 제안하는 방법의 성능을 보인다.

Error Recovery Script of Immunity Debugger for C# .NET Applications

  • Shinde, Rupali;Choi, Min;Lee, Su-Hyun
    • Journal of Information Processing Systems
    • /
    • 제15권6호
    • /
    • pp.1438-1448
    • /
    • 2019
  • We present a new technique, called VED (very effective debugging), for detecting and correcting division by zero errors for all types of .NET application. We use applications written in C# because C# applications are distributed through the internet and its executable format is used extensively. A tool called Immunity Debugger is used to reverse engineer executable code to get binaries of source code. With this technique, we demonstrate integer division by zero errors, the location of the error causing assembly language code, as well as error recovery done according to user preference. This technique can be extended to work for other programming languages in addition to C#. VED can work on different platforms such as Linux. This technique is simple to implement and economical because all the software used here are open source. Our aims are to simplify the maintenance process and to reduce the cost of the software development life cycle.

스캐닝 기법을 이용한 실행 소프트웨어를 담을 수 있는 기능성 USB 솔루션 개발 (Development of Functional USB Solution to Contain Executable Software Using Scanning Mechanism)

  • 김남호;황부현
    • 한국정보통신학회논문지
    • /
    • 제16권5호
    • /
    • pp.947-952
    • /
    • 2012
  • 본 연구는 USB와 같은 이동형 저장장치에 실행 소프트웨어를 담아 어느 클라이언트 장치에서나 실행될 수 있도록 응용 프로그램을 설치하는 기법을 제안하고자 한다. 해결을 위해 스캐닝 기법을 이용하여 클라이언트 장치에 설치 대상 응용프로그램을 인스톨하기 전의 상기 클라이언트 장치의 파일, 레지스트리 및 서비스에 대한 정보를 미리 스캔한 정보를 저장하고, 상기 응용프로그램이 클라이언트 장치에 설치된 이후의 정보를 스캔하여 발생한 변화된 리소스들을 USB에 담아 관리한다. 이후 사용하고자 하는 클라이언트에 필요한 파일들만을 복사하여 사용할 수 있도록 하며, 사용 후에는 관련된 파일을 삭제하여 기존시스템 환경으로 복귀시키는 과정을 포함한다. 본 방법은 설치가 필요한 각종 응용프로그램을 USB와 같은 외장형 이동식 저장장치에 한번 설치하면, 불법복제 문제없이 설치된 응용프로그램은 어떠한 컴퓨터에서든지 실행할 수 있는 장점이 있다.

메소드 참조 빈도와 매니페스트 정보를 이용한 안드로이드 애플리케이션들의 유사도 측정 (Measuring Similarity of Android Applications Using Method Reference Frequency and Manifest Information)

  • 김규식;마수드;조성제;김성백
    • 한국차세대컴퓨팅학회논문지
    • /
    • 제13권3호
    • /
    • pp.15-25
    • /
    • 2017
  • 소프트웨어 가치와 중요성이 커짐에 따라 소프트웨어의 도용이 증가하고 있어 이에 대한 대책으로 소프트웨어 도용을 정확히 탐지하는 방안이 필요하다. 특히 안드로이드 앱의 경우, 소프트웨어 도용이 상대적으로 용이한 반면 안드로이드 마켓 상에서는 불법 앱에 대한 적절한 검수를 수행하지 않고 있다. 이에 본 논문에서는 소프트웨어 도용을 탐지하기 위해 실행파일 수준에서 안드로이드 앱 간의 유사도를 효과적으로 측정하는 기법을 제안한다. 제안 기법은 유사도 측정을 위한 주요 특징정보로, 안드로이드 앱의 실행파일을 정적으로 분석하여 메소드 참조 빈도와 매니페스트 정보를 추출한다. 각 앱을 이 두 가지 특징정보들의 n-차원 벡터로 표시하고, 코사인 유사도를 사용하여 두 앱의 유사도를 측정한다. 제안 기법을 검증하기 위해 대표적인 소스코드 기반의 유사도 측정 기법과 본 논문에서 제안한 기법을 비교 평가한다. 소스파일과 실행파일이 함께 주어진 안드로이드 앱을 대상으로 진행한 실험에서, 본 논문에서 제안한 실행파일 수준의 유사도 측정 결과와 기존의 잘 알려진 소스파일 수준의 유사도 측정 결과가 동등한 수준으로 나왔다.

연결기반 명령어 실행을 이용한 재구성 가능한 IoT를 위한 온칩 플래쉬 메모리의 클라우드화 (Cloudification of On-Chip Flash Memory for Reconfigurable IoTs using Connected-Instruction Execution)

  • 이동규;조정훈;박대진
    • 대한임베디드공학회논문지
    • /
    • 제14권2호
    • /
    • pp.103-111
    • /
    • 2019
  • The IoT-driven large-scaled systems consist of connected things with on-chip executable embedded software. These light-weighted embedded things have limited hardware space, especially small size of on-chip flash memory. In addition, on-chip embedded software in flash memory is not easy to update in runtime to equip with latest services in IoT-driven applications. It is becoming important to develop light-weighted IoT devices with various software in the limited on-chip flash memory. The remote instruction execution in cloud via IoT connectivity enables to provide high performance software execution with unlimited software instruction in cloud and low-power streaming of instruction execution in IoT edge devices. In this paper, we propose a Cloud-IoT asymmetric structure for providing high performance instruction execution in cloud, still low power code executable thing in light-weighted IoT edge environment using remote instruction execution. We propose a simulated approach to determine efficient partitioning of software runtime in cloud and IoT edge. We evaluated the instruction cloudification using remote instruction by determining the execution time by the proposed structure. The cloud-connected instruction set simulator is newly introduced to emulate the behavior of the processor. Experimental results of the cloud-IoT connected software execution using remote instruction showed the feasibility of cloudification of on-chip code flash memory. The simulation environment for cloud-connected code execution successfully emulates architectural operations of on-chip flash memory in cloud so that the various software services in IoT can be accelerated and performed in low-power by cloudification of remote instruction execution. The execution time of the program is reduced by 50% and the memory space is reduced by 24% when the cloud-connected code execution is used.

메시지 경로를 이용한 클래스 연합관계에서의 수정 테스트 방법 (Retesting Method of Classes in Associated Relation using Message Path)

  • 방정원
    • 한국컴퓨터정보학회논문지
    • /
    • 제10권5호
    • /
    • pp.49-56
    • /
    • 2005
  • 소프트웨어의 재사용이란 소프트웨어 시스템을 구축할 때 모든 것을 새로 만드는 것이 아니라 기존의 소프트웨어를 이용하여 소프트웨어 시스템을 만드는 과정을 말한다. 객체 지향 개념에서 동적 바인딩, 다형 현상 등은 수행 가능한 경로의 숫자를 현저히 증가시켜 수행 경로를 찾기 위한 소스 코드의 정적 분석은 거의 도움이 되지 않는다. 이러한 개념들은 수정 테스트에도 새로운 문제를 던져 주고 있다. 전통적인 테스트 방법은 상속 관계, 메시지 보냄, 실례 관계와 같은 복잡한 관계들에 대하여는 다루지 않으므로 객체 지향 프로그램의 수정 테스트에 그대로 적용하기 어렵다. 이 논문에서는 새로 대두된 클래스 관계 중에서도 특히 메시지 보냄 관계에 있는 클래스 연합 관계에서, 특정 메서드를 변경함으로서 영향 받는 메서드만을 찾아내어 수정 테스트 되어야 할 메서드 및 클래스를 줄이는 방법에 대하여 연구하였다.

  • PDF

악성 이메일 공격의 사전 탐지 및 차단을 통한 이메일 보안에 관한 연구 (A Study on Email Security through Proactive Detection and Prevention of Malware Email Attacks)

  • 유지현
    • 전기전자학회논문지
    • /
    • 제25권4호
    • /
    • pp.672-678
    • /
    • 2021
  • 시간이 지날수록 새로운 맬웨어는 계속 증가하고, 점점 고도화되고 있다. 악성 코드를 진단하기 위해 실행파일에 관한 연구는 다양하게 진행되고 있으나, 비실행 문서파일과 악성 URL, 문서 내 악성 매크로 및 JS 등을 악용하여 이메일에 악성 코드 위협을 내재화한 공격은 탐지하기 어려운 것이 현실이다. 본 논문에서는 악성 이메일 공격의 사전 탐지 및 차단을 통한 이메일 보안을 위해 악성 코드를 분석하는 방법을 소개하고, AI 기반으로 비실행 문서파일의 악성 여부를 판단하는 방법을 제시한다. 다양한 알고리즘 중에 효율적인 학습 모델링 방법을 채택하고 Kubeflow를 활용하여 악성 코드를 진단하는 ML 워크플로 시스템을 제안하고자 한다.