• Title/Summary/Keyword: code reuse

Search Result 127, Processing Time 0.028 seconds

Probabilistic Analysis of Code-Reuse Attacks and Defenses in IoT

  • Ho, Jun-Won
    • International Journal of Internet, Broadcasting and Communication
    • /
    • v.9 no.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
    • /
    • v.5 no.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 (아날로지를 기반으로 한 객체모델의 재사용)

  • Bae, Je-Min
    • The KIPS Transactions:PartD
    • /
    • v.14D no.6
    • /
    • pp.665-674
    • /
    • 2007
  • Code reuse in software reuse has several limitations such as difficulties of understanding and retrieval of the reuse code written by other developers. To overcome these problems, it should be possible to reuse the analysis/design information than source code itself. Therefore, this paper present analogical matching techniques for the reuse of object models and patterns. And this paper have suggested the object model and the design patterns as reusable components and the representation techniques to store them. Namely, the contents of the paper are as follows. Analogical matching functions to retrieve analogous components from reusable libraries. And the representation of reusable components to be stored in the library in order to support the analogical matching.

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

  • Kim, Jin-sub;Moon, Jong-sub
    • Journal of Internet Computing and Services
    • /
    • v.19 no.3
    • /
    • pp.15-23
    • /
    • 2018
  • A code reuse attack is an attack technique that can execute arbitrary code without injecting code directly into the stack by combining executable code fragments existing in program memory and executing them continuously. ROP(Return-Oriented Programming) attack is typical type of code reuse attack and serveral defense techniques have been proposed to deal with this. However, since existing methods use Rule-based method to detect attacks based on specific rules, there is a limitation that ROP attacks that do not correspond to previously defined rules can not be detected. In this paper, we introduce a method to detect ROP attack by learning command pattern used in ROP attack code using RNN(Recurrent Neural Network). We also show that the proposed method effectively detects ROP attacks by measuring False Positive Ratio, False Negative Ratio, and Accuracy for normal code and ROP attack code discrimination.

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

  • Han, Sangjun;Heo, Ingoo;Paek, Yunheung
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2014.04a
    • /
    • 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% 만의 크기 증가를 일으키는 것으로 나타났다.

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

  • Kim, Jeong-A;Kim, Haeng-Gon
    • The Transactions of the Korea Information Processing Society
    • /
    • v.6 no.4
    • /
    • pp.916-931
    • /
    • 1999
  • Code reuse in software reuse has several limitations such as difficulties of understanding and retrieval of the reuse code written by other developers. To overcome these problems, it should be possible to reuse the analysis/design information than source code itself. In this paper, we present analogical matching techniques for the reuse of object models and patterns. We have suggested the design patterns as reusable components and the representation techniques to store them. The contents of the paper is as follows.1. analogical matching functions to retrieve analogous components from reusable libraries. 2. the representation of reusable components to be stored in the library in order to support the analogical matching. 3. the design library with more semantic informations about domains. 4. the analogical matching agent with a user-friendly interface that can retrieve the analogous components from the library based on analogical matching techniques.

  • PDF

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

  • 김덕남;김정현
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2001.10b
    • /
    • 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 (임베디드 소프트웨어의 에너지 효율성과 언어 변환 지원을 위한 코드 리팩토링 기법 확장)

  • Nam, Seungwoo;Hong, Jang-Eui
    • Journal of Convergence for Information Technology
    • /
    • v.8 no.2
    • /
    • pp.91-103
    • /
    • 2018
  • Refactoring is an engineering technique for securing the quality of existing legacy code, improving the internal structure without changing the functionality of the software. Along with the reuse of open source software, reuse of source code through programming language conversion is increasingly required due to technical or market requirements. In this situation, the refactoring technique including language conversion as well as energy efficiency is considered to be an important means for improving the productivity and the quality of embedded software development. This paper proposes a code refactoring technique that converts the grammar and structure of a programming language into those of a different language through comparison and mapping, in addition to the existing energy efficient refactoring technique. The use of the proposed refactoring technique can expect to improve the competitiveness of the product through rapid software development and quality improvement by coping with the environment change of the software development language and enhancing the reuse of the existing code.

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

  • Bang Jung Won
    • Journal of the Korea Society of Computer and Information
    • /
    • v.9 no.3
    • /
    • pp.103-107
    • /
    • 2004
  • Software Reuse have the advantages of increasing productivity and software reliability reducing the period for software development and cost, sharing the information which is related to software. Vertical Reuse is the method which reuse is restricted to a specific area and can increase the reliability of software reuse due to high understanding of related area. Bottom-up approach of Vertical Reuse classifies the related information and s the results. It allows the reuse of not only pure source code but also informal documents.

  • PDF

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

  • Heo, Ingeo;Han, Sangjun;Lee, Jinyong;Paek, Yunheung
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2014.11a
    • /
    • 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% 정도의 크기 증가를 일으키는 것으로 나타났다.