• Title/Summary/Keyword: 버퍼오버플로

Search Result 5, Processing Time 0.022 seconds

Efficient Stack Smashing Attack Detection Method Using DSLR (DSLR을 이용한 효율적인 스택스매싱 공격탐지 방법)

  • Do Yeong Hwang;Dong-Young Yoo
    • KIPS Transactions on Computer and Communication Systems
    • /
    • v.12 no.9
    • /
    • pp.283-290
    • /
    • 2023
  • With the recent steady development of IoT technology, it is widely used in medical systems and smart TV watches. 66% of software development is developed through language C, which is vulnerable to memory attacks, and acts as a threat to IoT devices using language C. A stack-smashing overflow attack inserts a value larger than the user-defined buffer size, overwriting the area where the return address is stored, preventing the program from operating normally. IoT devices with low memory capacity are vulnerable to stack smashing overflow attacks. In addition, if the existing vaccine program is applied as it is, the IoT device will not operate normally. In order to defend against stack smashing overflow attacks on IoT devices, we used canaries among several detection methods to set conditions with random values, checksum, and DSLR (random storage locations), respectively. Two canaries were placed within the buffer, one in front of the return address, which is the end of the buffer, and the other was stored in a random location in-buffer. This makes it difficult for an attacker to guess the location of a canary stored in a fixed location by storing the canary in a random location because it is easy for an attacker to predict its location. After executing the detection program, after a stack smashing overflow attack occurs, if each condition is satisfied, the program is terminated. The set conditions were combined to create a number of eight cases and tested. Through this, it was found that it is more efficient to use a detection method using DSLR than a detection method using multiple conditions for IoT devices.

Buffer Overflow Malicious Code Detection by Tracing Executable Area of Memory (메모리 실행영력 추적을 사용한 버퍼오버플로 악성코드 탐지기법)

  • Choi, Sung-Woon;Cho, Jae-Ik;Moon, Jong-Sub
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.19 no.5
    • /
    • pp.189-194
    • /
    • 2009
  • Most of anti-virus programs detect and compare the signature of the malicious code to detect buffer overflow malicious code. Therefore most of anti-virus programs can't detect new or unknown malicious code. This paper introduces a new way to detect malicious code traces memory executable of essentials APIs by malicious code. To prove the usefulness of the technology, 7 sample codes were chosen for compared with other methods of 8 anti-virus programs. Through the simulation, It turns out that other anti-virus programs could detect only a limited portion of the code, because they were implemented just for detecting not heap areas but stack areas. But in other hand, I was able to confirm that the proposed technology is capable to detect the malicious code.

Implementation of Software Assurance System Based on Trust and Reputation (신뢰와 평판 기반의 소프트웨어 보증 시스템 구현)

  • Park, Dae-Myeong;Lee, Seok-Min;Yoo, Dae-Hun;Choi, Woong-Chul
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2010.06d
    • /
    • pp.61-66
    • /
    • 2010
  • 소프트웨어 보증은 소프트웨어의 신뢰성, 예측 가능한 실행으로 정의할 수 있다. 신뢰성은 악의적인 의도로 발생할 수 있는 버퍼 오버플로, 메모리 릭 등의 보안 취약점이 존재하지 않아야 한다는 것이고, 예측 가능한 실행은 소프트웨어가 개발 시 의도한대로 실행되어야 한다는 것 이다. 소프트웨어 보증을 위한 작업은 소프트웨어 개발 생명 주기의 개발과 유지보수 단계 모두에서 수행되어야 한다. 국외 기관인 NIST, SANS 등은 개발 단계에서의 보증을 위해 필요한 툴, 프로그래밍 가이드라인, 오류 식별 문서 등을 공개하고 관련 프로젝트를 지원하였다. 본 논문에서는 상대적으로 연구가 부족한 유지보수 단계에서의 소프트웨어 보증을 위해 신뢰와 평판 기반의 소프트웨어 보증 시스템을 구현하였다. 본 시스템은 사용자에게 해당 소프트웨어에 대한 다른 사용자의 평판과 다양한 의견을 제공하고, 이에 따른 신뢰도를 함께 제공한다. 이는 사용자가 안전한 소프트웨어를 선별하고 사용하는데 도움을 준다.

  • PDF

Multiple ASR for efficient defense against brute force attacks (무차별 공격에 효과적인 다중 Address Space Randomization 방어 기법)

  • Park, Soo-Hyun;Kim, Sun-Il
    • The KIPS Transactions:PartC
    • /
    • v.18C no.2
    • /
    • pp.89-96
    • /
    • 2011
  • ASR is an excellent program security technique that protects various data memory areas without run-time overhead. ASR hides the addresses of variables from attackers by reordering variables within a data memory area; however, it can be broken by brute force attacks because of a limited data memory space. In this paper, we propose Multiple ASR to overcome the limitation of previous ASR approaches. Multiple ASR separates a data memory area into original and duplicated areas, and compares variables in each memory area to detect an attack. In original and duplicated data memory areas variables are arranged in the opposite order. This makes it impossible to overwrite the same variables in the different data areas in a single attack. Although programs with Multiple ASR show a relatively high run-time overhead due to duplicated execution, programs with many I/O operations such as web servers, a favorite attack target, show 40~50% overhead. In this paper we develop and test a tool that transforms a program into one with Multiple ASR applied.

A Study on Replica Generation Techniques for Multi-Variant Execution Environment (Multi-Variant Execution Environment의 레플리카 생성 기법에 대한 연구)

  • Hwang, Dongil;Shin, Jangseop;Jung, Seonhwa;Baek, Sehyun;Paek, Yunheung
    • Annual Conference of KIPS
    • /
    • 2017.11a
    • /
    • pp.322-325
    • /
    • 2017
  • C와 C++는 컴파일된 결과물의 실행 속도가 타 프로그래밍 언어로 작성된 것보다 빠르고 기존의 시스템과 호환성이 좋다는 점 등의 장점을 갖고 있기 때문에 많은 프로그래머들로부터 여전히 사랑받는 프로그래밍 언어이다. 하지만 C와 C++로 생성된 프로그램은 버퍼 오버플로 취약점과 같은 다양한 메모리 커럽션 취약점을 갖고 있기 때문에 쉽게 외부의 공격자들에게 노출된다. 따라서 사용자가 이와 같은 언어로 생성된 프로그램을 안전하게 실행하기 위해서는 시스템에 신뢰할 수 있는 방어 기법이 미리 적용되어 있어야만 한다. 본 연구에서는 메모리 커럽션 취약점을 이용한 공격을 탐지하기 위한 기법 중 하나인 Multi-variant Execution Environment (MVEE)를 소개하고, MVEE의 핵심 요소 기술인 레플리카 생성 기법들에 대하여 설명하고 비교 분석하고자 한다.