• Title/Summary/Keyword: 역공학 분석

Search Result 130, Processing Time 0.025 seconds

A Study on Vulnerabilities in the Android Data Sharing (안드로이드 데이터 공유 취약점 연구)

  • Kim, Jae-Hyeong;Cho, Hyeok-Ju;Seo, Seung-Hyun;Cho, Taenam
    • Annual Conference of KIPS
    • /
    • 2012.11a
    • /
    • pp.865-868
    • /
    • 2012
  • 스마트폰의 대중화와 보편화가 이루어지면서 스마트폰 개발 환경도 많은 발전을 이루었다. 스마트폰 운영체제들은 각각 고유의 특성을 가지고 다양한 기능들을 제공한다. 안드로이드에서는 서로 다른 어플리케이션끼리 데이터를 공유하기 위해 ContentProvider를 사용한다. 그러나 공격자가 역공학 기술을 이용할 경우 다른 어플리케이션이 데이터베이스에 접근하여 불법적 정보유출을 할 수 있다는 취약점을 가지고 있다. 본 논문에서는 ContentProvider를 통한 정보유출의 취약점을 분석하였다.

Design of Source Code Obfuscation Tool based LLVM to improve security in Embedded System (임베디드 시스템의 보안성 향상을 위한 LLVM 기반의 소스코드 난독화 도구 설계)

  • Ha, Jae-Hyun;Kawk, Donggyu
    • Annual Conference of KIPS
    • /
    • 2022.11a
    • /
    • pp.201-203
    • /
    • 2022
  • 임베디드 시스템이 일상생활 및 각종 산업에 밀접하게 연관되어 개인 정보 및 국가 기술 등 지적 자산에 대한 보안의 필요성이 나타나고 있다. 이러한 문제점은 임베디드 시스템에 들어가는 소프트웨어의 역공학으로부터 초래된다. 따라서 본 논문은 소스 코드에 대해 제어 흐름 평탄화라는 난독화 알고리즘을 설계하는 방법을 제안한다. 이는 독자적으로 작성된 난독화 알고리즘이기 때문에 오픈 소스로 공개되어져 있는 다른 난독화 도구들에 비해 안전한 특징을 가진다. 제어 흐름 평탄화는 프로그램의 기능을 유지하면서 소스 코드의 정적 분석을 어렵게 하는 기법으로, 데이터를 탈취하려는 악의적인 행위를 사전에 예방할 수 있다. 본 논문에서 제안하는 제어 흐름 평탄화 알고리즘은 하나의 기본 블록으로 이루어진 단순한 소스 코드를 여러 개의 기본 블록으로 분할하고, 조건문을 통해 연결하는 방법을 사용하여 알고리즘의 복잡도를 높였다. 이처럼 새롭게 작성된 Pass를 통해 소스코드 난독화를 적용시켜 임베디드 시스템의 보안성을 향상시킬 수 있다.

Analysis of Code Block Reuse in Android Systems (안드로이드 시스템에서 코드 블록 재사용 분석)

  • Ho, Jun-Won;Choi, Nayeon;Song, Jiyeon;Kim, Seoyoung;Lee, Jinju;Cha, Boyeon;Jeong, Wonjee
    • Annual Conference of KIPS
    • /
    • 2016.10a
    • /
    • pp.241-242
    • /
    • 2016
  • 안드로이드 시스템은 공개적인 구조 때문에 다양한 공격에 노출될 수 있다. 특히 공개된 앱의 코드를 재사용하는 앱 재사용(reuse) 공격에 취약하다. 안드로이드 앱 재사용 공격에서 공격자는 역공학을 통해서 파악한 기존 앱의 유용한 코드 블록을 재사용해서 악성앱을 만든다. 이러한 안드로이드 앱 재사용 공격에 대항하기 위해서 다양한 방어기법들이 제안되었다. 기존에 제안된 기법들이 앱 전체 코드에 대한 재사용 공격을 탐지하는데 반해, 본 논문에서는 앱에서 코드 블록 재사용에 대한 분석기법을 제안하고자 한다. 기본 아이디어는 Birthday paradox을 이용해서 앱에서 재사용되는 코드 블록에 대한 수리적 분석을 수행하는 것이다. 분석을 통해서 동일 코드 블록 재사용 확률은 전체 코드 블록중에서 재사용 코드 블록이 차지하는 비율과 코드 블록 재사용에 참여하는 악성앱들의 개수에 영향을 받는다는 것을 파악하였다.

Study on Structure for Robust App Protection through Commercial Android App Hardening Service (상용 안드로이드 앱 보호 서비스 분석을 통한 강건한 앱 보호 구조 연구)

  • Ha, Dongsoo;Oh, Heekuck
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.28 no.5
    • /
    • pp.1209-1223
    • /
    • 2018
  • Android apps are made up of bytecode, so they are vulnerable to reverse engineering, and protection services are emerging that robustly repackage the app to compensate. Unlike cryptographic algorithms, the robustness of these protection services depends heavily on hiding the protection scheme. Therefore, there are few systematic discussions about the protection method even if destruction techniques of the protection service are various. And it is implemented according to the intuition of the developer. There is a need to discuss systematic protection schemes for robust security chains, rather than simple deployment of techniques disrupting static or dynamic analysis. In this paper, we analyze bangcle, a typical commercial Android app protection service, to examine the protection structure and vulnerable elements. We propose the requirements for robust structure and principles of protection structure.

Design and Implementation of ATM Specification Code Converter for Software Round-Trip Engineering Environment (순환공학 환경을 위한 ATM 명세 코드 변환기 설계 및 구현)

  • Ko, Hyun;Joe, Sang-Kyu;Lee, Yun-Sik
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2001.04a
    • /
    • pp.607-609
    • /
    • 2001
  • 본 논문은 ATM(Abstract Time Machine)으로 명세된 실시간 시스템에 대한 재/역공학 측면에서의 검증을 위한 Ada 코드로의 변환 과정에서 요구되는 DoME/ATM 파스트리 생성과정과 이를 통해 추출되는 정보를 이용하여 ATM을 SRL/ATM으로의 변환방법을 설계 구현한다. 임무 위급 시스템 같은 실시간 시스템을 명세, 분석, 검증하기 위한 정형기법인 ATM은 순환공학에서의 실시간 시스템 속성은 물론 특정 환경과 동적 정보 등을 명세하기 위한 정형기법이다. 본 논문에서는 DoME을 이용하여 실시간 시스템에서의 특정 요구사항에 대한 DoME/ATM을 생성하고, DoME의 기능을 이용하여 ATM을 스크립트 코드로 저장한 후, DoME/ATM 파스트리 생성기를 통해 명세 정보를 추출하여 SRL/ATM으로의 변환기를 설계 구현한다. 변환기에 의해 생성된 매개언어인 SRL은 명시적인 정의와 효율적 분석 정보를 제공함으로써 Ada, COBOL, C 등과 같은 실행코드를 생성할 수 있도록 하는 기반을 제공한다.

  • PDF

Design of Code Converter for Development and Verification of Real-Time System in Software Round-Trip Engineering Environment (순환공학 환경에서의 실시간 시스템 개발 및 검증을 위한 코드 변환기 설계)

  • Ko, Hyun;Joe, Sang-Kyu;Kim, Kwang-Jong;Lee, Yon-Sik
    • Annual Conference of KIPS
    • /
    • 2001.04a
    • /
    • pp.193-196
    • /
    • 2001
  • 본 논문은 ATM(Abstract Timed Machine)으로 명세된 실시간 시스템에 대한 재/역공학 측면에서의 개발 및 검증을 위한 코드 변환기를 설계한다. ATM은 모드(mede), 전이(transition), 포트(per)로 구성되는데, 순공학 과정에서 실시간 시스템을 설계, 명세 하는 기존의 정형기법과는 달리 ATM은 소프트웨어의 순환공학 과정에서 사용하기 위해 설계되었다. ATM은 기존 정형기법이 순공학 과정에서의 특정 물리적 환경에서 실행되는 동적행위에 대한 부적절한 표현에 대해 순환공학에서 실시간 시스템의 속성은 물론 특정 환경과 동적 정보 등을 명세하기 위한 정형 기법으로서, 본 논문에서는 DoME을 이용하여 ATM 명세도구를 개발하고 이를 이용하여 실시간 시스템의 특정 요구사항을 위한 ATM을 명세한다. 또한 해당 ATM을 DOME/ATM 스크립트 파일로 저장하고 이에 대한 명세분석을 통해 노드와 관련된 정보를 추출하여 다른 분석도구가 이용할 수 있도록 DB에 저장하거나 매개 언어인 SRL/ATM으로 변환하며, 이러한 SRL/ATM으로부터 실행코드에 대한 관련 정보를 추출하여 실시간 시스템 개발 및 검증을 위한 Ada 코드를 생성할 수 있는 코드 변환기를 설계한다.

  • PDF

Techniques to Extract Object Based on Interface of Legacy System for Object Reusability (객체 재사용성을 위한 레거시 시스템 인터페이스 기반 객체 추출 기법)

  • Lee, Chang-Mog;Choi, Seong-Man;Yoo, Cheol-Jung;Chang, Ok-Bae
    • Annual Conference of KIPS
    • /
    • 2004.05a
    • /
    • pp.245-248
    • /
    • 2004
  • 본 연구는 레거시 시스템의 인터페이스 정보로부터 의미 있는 정보를 파악하여 새로운 시스템에 통합될 수 있도록 하기 위한 기존 레거시 시스템의 인터페이스에 기반한 객체 추출 기법(이하 TEILOR ; Techniques to extract Object based on Interface of Legacy System for Object Reusability)을 제안한다. 본 논문에서 제안하는 TEILOR는 인터페이스 사용사례 분석 단계, 인터페이스 객체 분할 단계, 객체구조 모델링 단계, 객체 모델 통합 단계 등 4단계로 구성되어 있다. 인터페이스 사용사례 분석 단계는 인터페이스 구조, 레거시 시스템과 사용자간의 상호작용 정보를 획득하는 단계이다. 인터페이스 객체분할 단계는 인터페이스 정보를 의미 있는 필드들로 구분하는 단계이며, 객체구조 모델링 단계는 인터페이스 객체들간의 구조적 관계와 협력 관계를 파악하여 모델링하는 단계이다. 마지막으로 객체 모델 통합 단계는 객체 단위의 단위 모델들을 통합하여 추상화된 정보를 포함한 상위 수준의 통합 모델을 유도하는 단계다. TEILOR에 의해 생성된 객체 통합 모델은 역공학 기술자들의 레거시 시스템 이해와 레거시 시스템의 정보를 새로운 시스템에 적용하는데 있어 효율성을 극대화할 수 있다.

  • 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.

랜섬웨어의 파일 암호화 키 관리 방법 분류와 그에 따른 분석 대상 식별

  • Park, Myungseo
    • Review of KIISC
    • /
    • v.32 no.3
    • /
    • pp.5-10
    • /
    • 2022
  • 랜섬웨어는 시스템을 잠그거나 데이터를 암호화해서 사용할 수 없도록 한 뒤 피해자에게 대가로 금전을 요구하는 악성 프로그램이다. 랜섬웨어는 암호학적으로 안전하다고 알려진 암호 알고리즘들을 이용하여 파일을 암호화 하기 때문에 암호 알고리즘 분석만으로는 감염된 파일을 복구할 수 없다. 따라서, 감염된 파일의 복구를 위해서는 암호 알고리즘 안전성 측면이 아닌 별도의 방법을 마련할 필요가 있다. 랜섬웨어는 파일 암호화 키를 이용하여 대상 파일들을 암호화하기 때문에 이를 복구할 수 있다면, 감염된 파일 복구가 가능하다. 하지만, 랜섬웨어들은 각각 다른 방법으로 파일 암호화키를 관리하기 때문에 일반적인 파일 암호화키 관리 방법을 미리 숙지하지 못한다면 파일 암호화키 복구를 위한 역공 학분석 시 비효율이 발생할 수 있다. 본 논문에서는 랜섬웨어가 파일 암호화키를 암호화하는 방식에 따라 세 가지로 분류하여 설명한다. 또한, 향후 랜섬웨어 분석가가 효율적인 분석을 할 수 있도록 각 관리 방법에 따라 파일 암호화키 복구를 위한 분석 대상을 식별하였다.

Analysis on the Infection Process and Abstract of the Hidden Files of Rustock B and C (Rustock B형과 C형의 감염절차 분석 및 은닉파일 추출)

  • Lee, Kyung-Roul;Yim, Kang-Bin
    • Journal of Advanced Navigation Technology
    • /
    • v.16 no.1
    • /
    • pp.41-53
    • /
    • 2012
  • The technologies used by the malicious codes have been being advanced and complicated through a merge of the existing techniques, while the damages by the malicious codes are moving from individuals and industries to organizations and countries. In this situation, the security experts are corresponding with the static analysis and the dynamic analysis such as signature searching and reverse engineering, respectively. However, they have had a hard time to respond against the obfuscated intelligent new zero day malicious codes. Therefore, it is required to prepare a process for a preliminary investigation and consequent detailed investigation on the infection sequence and the hiding mechanism to neutralize the malicious code. In this paper, we studied the formalization of the process against the infection sequence and the file hiding techniques with an empirical application to the Rustock malicious code that is most notorious as a spammer. Using the result, it is expected to promptly respond to newly released malicious codes.