• 제목/요약/키워드: code reuse

검색결과 128건 처리시간 0.022초

Probabilistic Analysis of Code-Reuse Attacks and Defenses in IoT

  • Ho, Jun-Won
    • International Journal of Internet, Broadcasting and Communication
    • /
    • 제9권1호
    • /
    • pp.24-28
    • /
    • 2017
  • In the Internet of Things (IoT), resource-limited smart devices communicate with each other while performing sensing and computation tasks. Thus, these devices can be exposed to various attacks being launched and spread through network. For instance, attacker can reuse the codes of IoT devices for malicious activity executions. In the sense that attacker can craft malicious codes by skillfully reusing codes stored in IoT devices, code-reuse attacks are generally considered to be dangerous. Although a variety of schemes have been proposed to defend against code-reuse attacks, code randomization is regarded as a representative defense technique against code-reuse attacks. Indeed, many research have been done on code randomization technique, however, there are little work on analysis of the interactions between code randomization defenses and code-reuse attacks although it is imperative problem to be explored. To provide the better understanding of these interactions in IoT, we analyze how code randomization defends against code-reuse attacks in IoT and perform simulation on it. Both analysis and simulation results show that the more frequently code randomizations occur, the less frequently code-reuse attacks succeed.

Code-Reuse Attack Detection Using Kullback-Leibler Divergence in IoT

  • Ho, Jun-Won
    • International journal of advanced smart convergence
    • /
    • 제5권4호
    • /
    • pp.54-56
    • /
    • 2016
  • Code-reuse attacks are very dangerous in various systems. This is because they do not inject malicious codes into target systems, but reuse the instruction sequences in executable files or libraries of target systems. Moreover, code-reuse attacks could be more harmful to IoT systems in the sense that it may not be easy to devise efficient and effective mechanism for code-reuse attack detection in resource-restricted IoT devices. In this paper, we propose a detection scheme with using Kullback-Leibler (KL) divergence to combat against code-reuse attacks in IoT. Specifically, we detect code-reuse attacks by calculating KL divergence between the probability distributions of the packets that generate from IoT devices and contain code region addresses in memory system and the probability distributions of the packets that come to IoT devices and contain code region addresses in memory system, checking if the computed KL divergence is abnormal.

아날로지를 기반으로 한 객체모델의 재사용 (Analogy-based Reuse of Object Model)

  • 배제민
    • 정보처리학회논문지D
    • /
    • 제14D권6호
    • /
    • pp.665-674
    • /
    • 2007
  • 소스 코드 재사용은 다른 개발자에 의해 만들어진 코드를 정확하게 이해하거나 검색하기 어렵다는 점에서 몇 가지 제한점을 갖는다. 이러한 문제점을 해결하기 위해서 소스코드 자체보다는 분석 및 설계 정보를 재사용하는 것이 가능해야 한다. 이에 본 논문은 객체 모델 및 패턴을 재사용하기 위해 필요한 analogical 매칭 기법을 제안한다. 그리고_ 객체 모델과 디자인 패턴을 재사용 컴포넌트로서 저장할 수 있도록 표현하는 방법을 제안한다. 즉, 재사용 라이브러리에 저장된 유사 컴포넌트를 검색하는 analogical 매칭 함수와 매칭을 지원할 수 있는 라이브러리 구조 및 재사용 컴포넌트의 라이브러리내 표현 방법에 대해 기술하였다.

RNN을 이용한 코드 재사용 공격 탐지 방법 연구 (Detecting code reuse attack using RNN)

  • 김진섭;문종섭
    • 인터넷정보학회논문지
    • /
    • 제19권3호
    • /
    • pp.15-23
    • /
    • 2018
  • 코드 재사용 공격은 프로그램 메모리상에 존재하는 실행 가능한 코드 조각을 조합하고, 이를 연속적으로 실행함으로써 스택에 직접 코드를 주입하지 않고도 임의의 코드를 실행시킬 수 있는 공격 기법이다. 코드 재사용 공격의 대표적인 종류로는 ROP(Return-Oriented Programming) 공격이 있으며, ROP 공격에 대응하기 위한 여러 방어기법들이 제시되어왔다. 그러나 기존의 방법들은 특정 규칙을 기반으로 공격을 탐지하는 Rule-base 방식을 사용하기 때문에 사전에 정의한 규칙에 해당되지 않는 ROP 공격은 탐지할 수 없다는 한계점이 존재한다. 본 논문에서는 RNN(Recurrent Neural Network)을 사용하여 ROP 공격 코드에 사용되는 명령어 패턴을 학습하고, 이를 통해 ROP 공격을 탐지하는 방법을 소개한다. 또한 정상 코드와 ROP 공격 코드 판별에 대한 False Positive Ratio, False Negative Ratio, Accuracy를 측정함으로써 제안한 방법이 효과적으로 ROP 공격을 탐지함을 보인다.

효율적인 Code Reuse Attack 탐지를 위한 Meta-data 생성 기술 (A Meta-data Generation Technique for Efficient Code Reuse Attack Detection)

  • 한상준;허인구;백윤흥
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2014년도 춘계학술발표대회
    • /
    • pp.502-505
    • /
    • 2014
  • 최근 들어, 모바일 기기의 시스템을 장악하여 중요 정보를 빼내는 등의 악성 행위를 위해 Code Reuse Attack (CRA) 이 널리 사용되고 있다. 이러한 CRA 를 막기 위한 방법으로 branch 의 trace 를 분석하여 CRA 고유의 특성을 찾아내는 Signature 기반 탐지 기술이 있다. 이러한 탐지 기술을 효율적으로 지원하기 위하여, 본 논문에서는 ARM 프로세서용 바이너리를 분석하여, signature 분석을 위해 필수적으로 분석되어야 하는 gadget 의 크기를 빠르게 접근할 수 있는 meta-data 를 생성하는 기술을 제안한다. 이러한 meta-data 를 활용하는 방식은 gadget 의 크기를 계산하는 추가적인 코드의 수행을 제거해 주므로, 더욱 효율적으로 CRA 를 탐지할 수 있도록 도와준다. 실험 결과, 이러한 meta-data 는 본래의 바이너리 코드 대비 9% 만의 크기 증가를 일으키는 것으로 나타났다.

Analogy를 기반으로 한 분석/설계 패턴의 재사용 (Reuse of Analysis/Design patterns Based on Analogy)

  • 김정아;김행곤
    • 한국정보처리학회논문지
    • /
    • 제6권4호
    • /
    • pp.916-931
    • /
    • 1999
  • 소프트웨어 재사용에서 코드 재사용은 다른 개발자에 의해 작성된 재사용 코드의 이해와 검색의 어려움 등 한계점을 갖는다. 코드 재사용 한계를 극복하기 위해서는 코딩 단계 이전의 설계 단계나 분석 단계의 산물을 재사용 할 수 있어야 한다. 본 연구에서는 객체 모델링 단계에서 이전의 경험을 재사용할 수 있는 환경을 제공하기 위해 질의와 컴포넌트에 대한 analogy를 판단하여 라이브러리의 모델과 패턴을 재사용 할 수 있는 방법을 제안하였다. Analogy 매칭 기법은 설계 패턴의 검색, 이해 그리고 조합 등에 적용되며 본 논문에서 연구된 내용은 다음과 같다. 1. 재사용 라이브러리로부터 유사 컴포넌트 검색 및 추출을 위한 analogical 매칭 함수 제안 2. analogical 매칭을 위해 라이브러리 내에 저장될 재사용 컴포넌트 표현 및 정의 3. 특정 도메인에 대한 의미적 정보의 라이브러리 설계 4. 사용자를 위한 analogical 매칭 에이전트 구축

  • PDF

형태, 기능, 행위를 고려한 가상현실 객체 재사용 (VR Object Reuse based on Form, Function and Behavior)

  • 김덕남;김정현
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2001년도 가을 학술발표논문집 Vol.28 No.2 (2)
    • /
    • pp.532-534
    • /
    • 2001
  • Code and object reuse is big concern for fast and efficient Virtual Reality (VR) system development. Many VR packages offer reasonably nice abstractions for various functionalities. That is, software reuse at the functional level is well practiced. Many geometry models are rarely used for main \"characters\" but mostly for incidental and decorative objects. This is because the main \"character\" objects usually exhibit certain behavior incompatible with the way the geometric model is organized. Kim has made a clear distinction between form, function and behavior[1]. This naturally lends to a reuse method at the level form, function and behavior.nction and behavior.

  • PDF

임베디드 소프트웨어의 에너지 효율성과 언어 변환 지원을 위한 코드 리팩토링 기법 확장 (Extension of Code Refactoring Technique to Support Energy Efficiency and Language Conversion of Embedded Software)

  • 남승우;홍장의
    • 융합정보논문지
    • /
    • 제8권2호
    • /
    • pp.91-103
    • /
    • 2018
  • 리팩토링은 기존 레거시 코드에 대한 품질을 확보하기 위한 공학적 기술로서, 프로그램의 기능은 변하지 않으면서 내부 구조를 개선하는 작업이다. 다양한 오픈 소스 소프트웨어가 재사용되면서, 기술적 이유 또는 시장 요구로 인하여 프로그래밍 언어 변환을 통한 소스 코드 재사용이 점진적으로 요구되고 있다. 이러한 상황에서 에너지 효율성을 고려하는 언어 변환 리팩토링 기법은 임베디드 소프트웨어 개발의 생산성은 물론 품질 향상을 위한 중요한 수단으로 여겨지고 있다. 본 논문에서는 기존에 제시된 에너지 절감형 리팩토링 기법에 추가하여 프로그래밍 언어의 문법 및 구조의 비교와 매핑을 통해 다른 언어로 변환하는 코드 리팩토링 기법을 제시하였다. 제안하는 리팩토링 기법의 활용은 소프트웨어 개발 언어의 환경변화에 대처하고, 기존 코드의 재사용을 높임으로써 신속한 소프트웨어 개발 및 품질 향상을 통한 제품의 경쟁력 향상을 기대할 수 있다.

수직적 재사용을 위한 방법론 연구 (The Study of Software Analysis Process for Vertical Reuse)

  • 방정원
    • 한국컴퓨터정보학회논문지
    • /
    • 제9권3호
    • /
    • pp.103-107
    • /
    • 2004
  • 소프트웨어의 재사용은 생산성 향상, 소프트웨어의 신뢰성 향상, 소프트웨어 개발기간 단축, 개발비용 절감, 시스템 관련 정보 공유 등의 장점을 지닌다. 수직적 재사용은 하나의 영역 또는 응용 분야에서만 재사용함으로서, 높은 이해성으로 인해 재상용의 신뢰성을 높일 수 있는 방법이다. 소프트웨어 시스템을 개발할 때 사용되는 정보들을 재사용을 목적으로 분류하여, 결과물들을 추상화하는 상향식 방법을 이용하여 단순 코드의 재사용에서 벗어나 비형식적인 자료들을 포함해 모든 정보를 사용 가능하게 할 수 있다.

  • PDF

안전하고 효율적인 Code Reuse Attack 탐지를 위한 ARM 프로세서의 두 가지 명령어 세트를 고려한 Meta-data 생성 기술 (A Meta-data Generation Technique for Efficient and Secure Code Reuse Attack Detection with a Consideration on Two Types of Instruction Set)

  • 허인구;한상준;이진용;백윤흥
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2014년도 추계학술발표대회
    • /
    • pp.443-446
    • /
    • 2014
  • Code reuse attack (CRA)는 기존의 코드 내에서 필요한 코드 조각들 (gadgets)을 모아 indirect branch 명령어들로 잇는 방식으로 공격자가 원하는 악성 프로그램을 구성할 수 있는 강력한 공격 방법이다. 공격자는 자신의 코드를 대상 시스템에 심는 대신 기존의 코드를 이용하기 때문에, 대부분의 범용 운영체제 (OS)가 강제하는 W^X protection 을 무력화할 수 있다. 이러한 CRA 에 대응하기 위하여 다수의 연구들에서 branch 의 trace 를 분석하여 CRA 고유의 특성을 찾아내는 Signature 기반 탐지 기술을 제안하였다. 본 논문에서는 ARM 프로세서 상에서의 CRA 를 대응하기 위한 Signature 기반 탐지 기술을 효율적으로 도울 수 있는 binary 분석 및 meta-data 생성 기술을 제안한다. 특히, 본 논문은 우리의 이전 논문에서 고려 되지 못했던 ARM 의 두 가지 명령어 세트의 특성을 고려하여, 공격자가 어느 명령어 세트를 이용하여 CRA 를 시도하더라도 막아낼 수 있도록 meta-data 를 두 가지 mode 에 대해서 생성하였다. 실험 결과, meta-data 는 본래 바이너리 코드 대비 20.8% 정도의 크기 증가를 일으키는 것으로 나타났다.