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

Search Result 3, Processing Time 0.017 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.

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

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