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

Search Result 130, Processing Time 0.023 seconds

CHES 2020을 중심으로 살펴본 SW/HW 암호 분석 및 구현 기술 연구 동향

  • An, Sang-U;Song, Jin-Gyo;Park, Bo-Seon;Seo, Seok-Chung
    • Review of KIISC
    • /
    • v.30 no.6
    • /
    • pp.57-66
    • /
    • 2020
  • 세계적으로 저명한 학회인 Cryptogrpahic Hardware and Embedded Systems(CHES)에서는 매년 부채널 공격, 암호 S/W, H/W 구현을 포함하는 정보 보안 분야에서의 화제가 되는 분야를 연구하고 공유한다. CHES 2020의 경우 부채널 공격, 양자 내성 암호, 머신 러닝과 같이 최근에 제시되어 활발하게 연구가 진행되고 있는 주제뿐만 아니라 역공학, 하드웨어 구현, 타원 곡선 암호, 화이트 박스 등의 다양한 결과들이 발표되었다. 본 논문에서는 CHES 2020을 통해 암호화 소프트웨어/하드웨어 및 임베디드 시스템에서의 보안 기술 개발 및 연구 동향을 살펴보며, 이에 따른 향후 연구 전망을 제시한다.

포렌식 관점에서 차세대 파일시스템 연구 동향

  • Hwang, Hyunuk;Oh, Junghoon;Lee, Seungyong;Kim, Kibom;Sohn, Kiwook
    • Review of KIISC
    • /
    • v.29 no.6
    • /
    • pp.13-22
    • /
    • 2019
  • 기존의 NTFS, HFS+, Ext4와 같은 전통적인 파일시스템들은 디스크 사용, 공간 관리, 데이터 암호화 등 여러 측면에서 한계점을 가지고 있었다. 특히 디스크 사용 측면에서 기본적으로 단일 디스크 안에서 동작하도록 설계되었기 때문에 여러 개의 디스크에서 동작하도록 하려면 RAID와 같은 별도의 구성이 필요했다. 이에 따라 주요 운영체제들은 위와 같은 기존 파일시스템들의 한계점들을 극복하도록 설계된 Pooled Storage 파일시스템들을 공개하였다. Pooled Storage 파일시스템에 관한 연구는 2017년 여름 미국 오스틴에서 열린 DFRWS 학회에서 독일의 Jan-Niclas Hilgert에 의해 발표된 이후 디지털 포렌식 학계 및 산업계에서 집중적인 연구개발이 진행되고 있다. 2017년 Hilgert는 ZFS 파일시스템에 대한 분석기능을 공개소프트웨어인 SleuthKit에 추가한 기술을 발표하였고, 2018년 DFRWS에서는 BtrFS 파일시스템에 대한 분석기능을 공개하였다. BlackBag Technologies의 Joe Syle은 APFS 파일시스템에 대한 분석기능을 SleuthKit에 추가한 결과를 DFRWS 2018에서 발표하였다. 노르웨이의 Rune Nordvik은 2019년 DFRWS에서 REFS를 역공학을 통하여 분석한 결과를 공개하였다. 국내에서는 고려대학교를 중심으로 ReFS에 대한 연구가 진행 중이다. 본 논문에서는 주요 운영체제들이 공개한 Pooled Storage 파일시스템 형태의 차세대 파일시스템인 ReFS, APFS, BtrFS를 소개하고 각 파일시스템의 특징과 주요 기능들을 설명한다.

A Technique of Object Extraction Based on the Legacy System Interface for the Improvement of Object Reusability (객체 재사용성 향상을 위한 레거시 시스템 인터페이스기반 객체추출 기법)

  • 이창목;최성만;유철중;장옥배
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2004.10b
    • /
    • pp.472-474
    • /
    • 2004
  • 본 연구는 레거시 시스템의 인터페이스 정보로부터 의미 있는 정보를 파악하여 새로운 시스템에 통합될 수 있도록 하기 위한 기존 레거시 시스템의 인터페이스에 기반한 객체추출 기법을 제안한다. 본 논문에서 제안하는 객체추출 기법은 인터레이스 사용사례 분석 단계, 인터페이스 객체 분할 단계, 객체구조 모델링 단계, 객체 모델 통합 단계 등 4단계로 구성되어 있다. 인터페이스 사용사례 분석 단계는 인터페이스 구조, 레거시 시스템과 사용자간의 상호작용 정보를 획득하는 단계이다. 인터페이스 객체분할 단계는 인터페이스 정보를 의미 있는 필드들로 구분하는 단계이며, 객체구조 모델링 단계는 인터페이스 객체들간의 구조적 관계와 협력 관계를 파악하여 모델링 하는 단계이다. 마지막으로 객체 모델 통합 단계는 객체 단위의 단위 모델들을 통합하여 추상화된 정보를 포함한 상위 수준의 통합 모델을 유도하는 단계다. 객체추출 기법에 의해 생성된 객체 통합 모델은 역공학 기술자들의 레거시 시스템 이해와 레거시 시스템의 정보를 새로운 시스템에 적용하는데 있어 효율성을 극대화할 수 있다.

  • PDF

A Study of Positive Object-Oriented Refactoring Technique for the Software Reuse (소프트웨어 재사용을 위한 실증적 객체지향 Refactoring 프로세스 설계)

  • 박진호;이종호;류성열
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2000.10a
    • /
    • pp.382-384
    • /
    • 2000
  • 현재 기업들은 거의 모든 부분이 전산화 작업으로 이루어지고 있으며, 기업의 중요한 업무는 모두 방대한 시스템이 사람을 대신해서 처리해 주고 있는 실정이다. 하지만 시스템 유지보수의 체계적인 프로세스에 대해서는 현재 연구된 바가 없어 쉽게 적용할 수 없는 문제가 존재한다. 재공학은 재사용하려는 소프트웨어를 분석, 재정의, 재문서화 등의 소프트웨어 역공학 방법을 통하여 좀더 효율적으로 소프트웨어를 분석할 수 있고, 순공학을 통해 문제점들의 교환과 새로운 구조와 시스템의 수정을 통해 더욱 경제적인 시스템을 만들 수 있다. 객체지향 어플리케이션의 Refactoring에서는 대표적으로 클래스간의 공통성을 추출하고, 이를 일반화시켜 추상클래스를 생성 및 삭제, 이동하는 과정을 통해 소프트웨어의 구조를 변경시켜 시스템의 성능향상을 도모하게 된다. 본 논문에서는 시스템의 재사용을 위한 실증적인 객체지향 Refactoring 기법을 제시한다.

  • PDF

Identifying Platform Independent Elements of Web Applications (웹 응용의 플랫폼 독립적인 구성요소 식별)

  • 정우성;이기열;이병정;김희천;이종석;우치수
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2004.04b
    • /
    • pp.385-387
    • /
    • 2004
  • 웹 응용은 서로 의존관계를 가지는 다양한 구성요소들이 복잡하게 뒤섞여 있기 때문에 구성요소를 효과적으로 분석하기 어렵고 개발을 병행하거나 유지보수를 하는 과정에서 않은 비용과 시간을 소요하게 된다. 본 논문에서는 웹 응용의 구성요소들을 아키텍쳐 관점에서 모델링하여 관계형 집합으로 표현하고 종속성을 파악하였다 또한 관련 구성요소들을 독립적인 영역으로 나누는데 필요한 프로토콜 변수를 파악하고자 하였다 본 논문에서 제안하는 웹 응용 아키텍쳐 정보는 관계형 집합으로 DBMS에 테이블로 저장되는 경우 SQL문을 통하여 항해나 패턴 분석, 기타 설계단계에서 웹 응용에 대한 다양한 질의를 가능하게 한다. 이러한 구성요소 정보는 기존의 웬 응용으로부터 역공학을 통해 얻을 수도 있으며, 재구조화를 통해 재공학의 도구로 활용될 수도 있다. 향후 추상화 아키텍쳐를 구체적인 릴 기술과 매핑시킬 경우 자동화를 통해 구현에 필요한 기초 코드를 생성하는데 응용될 수도 있다.

  • PDF

A Static Analysis Technique for Android Apps Written with Xamarin (자마린으로 개발된 안드로이드 앱의 정적 분석 연구)

  • Lim, Kyeong-hwan;Kim, Gyu-sik;Shim, Jae-woo;Cho, Seong-je
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.28 no.3
    • /
    • pp.643-653
    • /
    • 2018
  • Xamarin is a representative cross-platform development framework that allows developers to write mobile apps in C# for multiple mobile platforms, such as Android, iOS, or Windows Phone. Using Xamarin, mobile app developers can reuse existing C# code and share significant code across multiple platforms, reducing development time and maintenance costs. Meanwhile, malware authors can also use Xamarin to spread malicious apps on more platforms, minimizing the time and cost of malicious app creation. In order to cope with this problem, it is necessary to analyze and detect malware written with Xamarin. However, little studies have been conducted on static analysis methods of the apps written in Xamarin. In this paper, we examine the structure of Android apps written with Xamarin and propose a static analysis technique for the apps. We also demonstrate how to statically reverse-engineer apps that have been transformed using code obfuscation. Because the Android apps written with Xamarin consists of Java bytecode, C# based DLL libraries, and C/C++ based native libraries, we have studied static reverse engineering techniques for these different types of code.

A Study on Memory Hacking Prevention System in Windows Environment (윈도우 환경에서의 메모리 해킹 방지 시스템 연구)

  • Kim, Yo-Sik;Yun, Young-Tae;Park, Sang-Seo
    • Convergence Security Journal
    • /
    • v.5 no.3
    • /
    • pp.75-86
    • /
    • 2005
  • Recently, illegal manipulation and forgery threats on computer softwares are increasing due to the advances in reverse engineering techniques. Furthermore someone who has concerns about these area can crack the software by using the open-to-public simple tools on the internet. The software companies are struggling to defend their own softwares against threats, while the crackers are continuing to crack the softwares. In this paper, we first establish the generic software threat model and, analyze and experiment on the software cracks, before suggest a memory hacking prevention system in Microsoft Windows environment.

  • PDF

Verification of Reverse specification for Real-Time System in Abstract Timed Machine (추상 시간 기계를 사용한 실시간 시스템의 역명세 검증)

  • 박지연;노경주;이문근
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2000.04a
    • /
    • pp.489-491
    • /
    • 2000
  • 본 논문은 ATM(Abstract Timed Machine)으로 명세된 실시간 시스템을 검증하기 위한 방법을 기술한다. ATM은 임무 위급 시스템인 실시간 시스템을 명세, 분석, 검증하기 위한 정형기법이다. ATM은 모드와 전이, 포트로 구성된다. 다른 정형기법과 비교하여 ATM은 소프트웨어의 순환공학 과정에서 사용하기 위해 설계되었다. 역공학 과정에서 ATM은 계산 논리 뿐만 아니라 실시간 시스템의 실제 소스코드에 있는 설계나 환경정보를 표현할 수 있다. 이러한 목적을 위해 ATM은 다양한 모드를 사용한다. ATM을 사용한 실시간 시스템의 검증은 도달성 그래프를 생성함으로써 수행한다. 도달성 그래프는 상태와 시간을 추상화되고 압축된 형태로 표현할 수 있으며 그 결과 시간 속성을 지닌 상태 공간을 감소시킬 수 있다. 또한 시스템의 교착상태를 쉽게 발견할 수 있다. 본 논문은 ATM과 실행 모델, 도달성 그래프, 검증을 위한 속성 등을 기술하며 이들을 다른 정형 기법들과 예제를 통하여 비교한다.

  • PDF

A Study on the Extraction Design Pattern (설계패턴 추출에 관한 연구)

  • Lee, Sang-Sik;Song, Young-Jae
    • Annual Conference of KIPS
    • /
    • 2001.10a
    • /
    • pp.425-428
    • /
    • 2001
  • 소프트웨어 역공학은 기존 원시코드에서 구성요소와 그들의 관계 파악을 통하여 설계요소를 추출함으로써 논리적이고 구현에 독립된 추상화된 설계정보를 제공하고 재사용 하게 함으로써 그 역할이 중요시되어왔다. 최근 패턴구조 컴포넌트의 재사용은 기존의 클래스 단위의 재사용 시스템에 비하여 시스템 설계 및 구현단계에서 개발비용의 절감과 개발기간의 단축에 도움을 줄 수 있으며, 이를 통해 개발되는 시스템의 생산성과 안정성을 보다 향상시킬 수 있다. 본 연구는 기존의 소스코드를 분석하여 재사용 가능한 객체를 추출하고 클래스와 클래스들 간의 관련성을 찾아내어 패턴정보를 추출하고 그 정보를 저장하기 위한 데이터베이스 스키마를 설계하였다.

  • PDF

A Design and Implementation of Variable Reference Graph (Variable Reference Graph 의 설계 및 구현)

  • Lee, Heon-Ki;Lee, Mun-Su;Shin, Gyu-Sang
    • Annual Conference of KIPS
    • /
    • 2000.04a
    • /
    • pp.815-820
    • /
    • 2000
  • Variable Reference Graph 는 C 언어로 작성된 프로그램으로부터 상호 절차적인 자료 흐름 분석 정보를 수평적 방향 그래프(directed graph)로 자동 생성해주는 역공학(reverse engineering) 도구들 중 하나이다. 본 논문에서는 판독성 있는 구조적 정보를 제공하기위한 그래픽 표현의 전략을 바탕으로 JAVA 로 구현된 그래픽 사용자 인터페이스(graphic user interface) 및 그래프 레이아웃 알고리즘(graph layout algorithm)을 기술한다. 이 알고리즘은 4 단계로 구성되어 있다: 정보 모형, 레벨 알고리즘, 순서 알고리즘, 위치 알고리즘. 각 단계별에서 수행되는 주요 알고리즘을 살펴 본다. 특히, 이 알고리즘들은 사이클(cycle) 및 비사이클(acyclic) 방향 그래프, 그리고 트리(tree)를 수평적 계층 구조를 생성하는데 사용될 수 있다. 본 논문에서 구현된 Variable Reference Graph 는 소프트웨어 재공학 도구를 개발하는 RESORT(RESearch on object-oriented SOftware Reengineering Technology) 과제에서 개발되었다.

  • PDF