• Title/Summary/Keyword: 스택 오버플로우

Search Result 15, Processing Time 0.037 seconds

Performance Analysis of Shared Stack Management for Sensor Operating Systems (센서 운영 체제를 위한 공유 스택 기법의 성능 분석)

  • Gu, Bon-Cheol;Heo, Jun-Young;Hong, Ji-Man;Cho, Yoo-Kun
    • Journal of KIISE:Computer Systems and Theory
    • /
    • v.35 no.1
    • /
    • pp.53-59
    • /
    • 2008
  • In spite of increasing complexity of wireless sensor network applications, most of the sensor node platforms still have severe resource constraints. Especially a small amount of memory and absence of a memory management unit (MMU) cause many problems in managing application thread stacks. Hence, a shared-stack was proposed, which allows several threads to share one single stack for minimizing the amount of memory wasted by fixed-size stacks. In this paper, we present the memory usage models for thread stacks by deriving the overflow probability of the fixed-size stack and the shared-stack and also show that the shared-stack is more reliable than the fixed-size stack.

Return address stack for protecting from buffer overflow attack (버퍼오버플로우 공격 방지를 위한 리턴주소 스택)

  • Cho, Byungtae;Kim, Hyungshin
    • Journal of the Korea Academia-Industrial cooperation Society
    • /
    • v.13 no.10
    • /
    • pp.4794-4800
    • /
    • 2012
  • Many researches have been performed to resist buffer overflow attacks. However, the attack still poses one of the most important issue in system security field. It is because programmers are using library functions containing security hole and once buffer overflow vulnerability has been found, the security patches are distributed after the attacks are widely spreaded. In this paper, we propose a new cache level return address stack architecture for resisting buffer overflow attack. We implemented our hardware onto SimpleScalar simulator and verified its functionality. Our circuit can overcome the various disadvantages of previous works with small overhead.

Design of System Call Monitoring System for Command Execution Detection in Stack Memory Area (스택메모리상의 명령 수행 탐지를 위한 시스템콜 모니터링 도구 설계)

  • 최양서;서동일;이상호
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • 2004.05b
    • /
    • pp.772-775
    • /
    • 2004
  • After Morris' Internet Worm in 1988, the stack buffer overflow hacking became generally known to hackers and it has been used to attack systems and servers very frequently. Recently, many researches tried to prevent it, and several solutions were developed such as Libsafe and StackGuard; however, these solutions have a few problems. In this paper we present a new stack buffer overflow attack prevention technique that uses the system call monitoring mechanism and memory address where the system call is made.

  • PDF

New RAD(Return Address Defender) : The Solution of Suffer Overflow Attack (New RAD : 버퍼 오버플로우 공격에 대한 해결책)

  • Lee, Min-Jae;Han, Kyung-Sook
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2005.11b
    • /
    • pp.979-981
    • /
    • 2005
  • "버퍼에 대한 바운드 체크를 하지 않는다"라는 작은 취약성 하나가 버퍼 오버플로우라는 큰 위협을 만들어냈다. 그러나 그것을 단지 C언어의 무결성 문제로 단정 지어 버릴 수도 없는 문제이다. 일반적으로 버퍼 오버플로우 공격은 메모리에 할당된 버퍼의 경계를 넘는 데이터를 입력하여 프로그램의 함수복귀주소를 조작하고 공격자가 원하는 코드를 삽입하여 이루어진다. 이러한 버퍼 오버플로우에 대한 여러가지 대응책들이 나왔지만 약간의 문제점들을 가지고 있다. 그래서 본 논문에서는 운영체제의 세그멘테이션 기법을 이용하여 그 공격에 대응할 수 있는 한 가지 방법을 제시하고자 한다. 기존의 스택가드(카나리아 버전)의 문제점인 우회공격과 카나리아 워드를 추측하여 이루어지는 공격 그리고 MineZone RAD의 문제가 되는 DRAMA 등에 있어서도 효과적으로 방어할 수 있을 것으로 기대한다. 또한 스택가드(Memguard 버전)에서 이곳저곳에 산재되어 관리하기 어려운 함수복귀주소를 별도의 세그먼트 테이블로 쉽게 관리할 수 있을 것이다.

  • PDF

Heap과 Stack 영역에서의 경계 체크를 통한 Buffer Overflow공격 방지 기법에 대한 연구

  • 손태식;서정택;은유진;장준교;이철원;김동규
    • Review of KIISC
    • /
    • v.11 no.6
    • /
    • pp.42-52
    • /
    • 2001
  • 인터넷 기술의 발전은 정보화 사회로의 촉진이라는 측면 외에 사용 인구의 증가에 따라 해킹, 바이러스·악성 코드의 유포 등 그 역기능적인 측면이 점점 심각한 사회 문제로서 대두되고 있다. 현재 공개 운영체제로 각광 받고 있는 리눅스(Linux) 운영체제의 경우 운영체제 커널은 물론이거니와 관련 프로그램들에 대한 소스가 공개되어 단순한 기술 습득의 목적이 아닌 악의의 목적을 가진 사용자들에 의한 시스템 침해 사례가 빈번한 추세이다. 특히 이러한 시스템 침해 사례 중 프로그램 작성 과정의 오류 및 설계상 실수로 인한 버퍼 오버플로우(Buffer Overflow) 취약성을 이용한 공격은 해킹에 있어 큰 범주를 차지하고 있다. 따라서 본 논문에서는 버퍼 오버플로우 공격에 있어 그 기반이 되는 스택을 이용한 버퍼 오버플로우 및 스택 외에 힙과 같은 메모리 영역을 이용하는 공격 유형에 대하여 분석한다. 그 후 이러한 버퍼 오버플로우 공격 방지를 위한 메모리에서의 경계 검사 기법을 제안하고자 한다. 추후에는 본 논문에서 제안된 기법에 대한 실제 구현과 검증이 필요하다.

  • PDF

Performance Evaluation of Detecting Stack Inversion for Defending from Buffer Overflow Attack (버퍼 오버플로우 공격 방어를 위한 스택 역위 탐지의 성능 평가)

  • 양한근;표창우;이경호
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2002.10c
    • /
    • pp.586-588
    • /
    • 2002
  • 실행 시간 스택 프레임의 하단과 상단을 가리키는 프레임 포인터와 스택 포인터는 항상 일정한 대소 관계를 유지한다. 선형 스택 공격이 진행되면, 이관계가 반전된다. 이때 스택이 역위되었다고 한다. 본 논문은 x86프로세서 계열의 gcc 컴파일러에 스택 역위 탐지기능을 부여하여, 이 컴파일러를 사용하였을 때 실행 프로그램의 성능에 미치는 영향을 분석하였다.

  • PDF

Microarchitectural Defense and Recovery Against Buffer Overflow Attacks (버퍼 오버플로우 공격에 대한 마이크로구조적 방어 및 복구 기법)

  • Choi, Lynn;Shin, Yong;Lee, Sang-Hoon
    • Journal of KIISE:Computer Systems and Theory
    • /
    • v.33 no.3
    • /
    • pp.178-192
    • /
    • 2006
  • The buffer overflow attack is the single most dominant and lethal form of security exploits as evidenced by recent worm outbreaks such as Code Red and SQL Stammer. In this paper, we propose microarchitectural techniques that can detect and recover from such malicious code attacks. The idea is that the buffer overflow attacks usually exhibit abnormal behaviors in the system. This kind of unusual signs can be easily detected by checking the safety of memory references at runtime, avoiding the potential data or control corruptions made by such attacks. Both the hardware cost and the performance penalty of enforcing the safety guards are negligible. In addition, we propose a more aggressive technique called corruption recovery buffer (CRB), which can further increase the level of security. Combined with the safety guards, the CRB can be used to save suspicious writes made by an attack and can restore the original architecture state before the attack. By performing detailed execution-driven simulations on the programs selected from SPEC CPU2000 benchmark, we evaluate the effectiveness of the proposed microarchitectural techniques. Experimental data shows that enforcing a single safety guard can reduce the number of system failures substantially by protecting the stack against return address corruptions made by the attacks. Furthermore, a small 1KB CRB can nullify additional data corruptions made by stack smashing attacks with only less than 2% performance penalty.

Improved Protecting Method based on Stackguard against Buffer Overflow Attack (스택가드를 개선한 버퍼 오버플로우 공격으로부터의 대응책)

  • 정길균;권영미
    • Proceedings of the Korea Multimedia Society Conference
    • /
    • 2001.11a
    • /
    • pp.657-661
    • /
    • 2001
  • 버퍼 오버플로우는 최근에 나온 개념은 아니다. 1996년 버퍼 오버프로우가 Phrack 문서를 통해 세상에 알려지자 유닉스 계열의 운영체제들은 보안 문제로 많은 어려움을 겪게 되었다. 이 공격은 내부에서 쉘을 실행해 원격지에서 루트권한을 획득할 수 있기 때문에 보안상 위협 중에 가장 심각한 부류에 속한다. 아직까지도 공격 방법 중에서는 가장 많은 부분을 차지하고 있다. qs 논문에서는 버퍼 오버플로우의 원리 및 관련 연구에 관해서 살펴보고, 기존 대응책인 stackguard를 기본으로 하여 좀 더 개선시킨 대응책을 제안하고자 한다.

  • PDF

Efficient Binary Code Rewriting Technique for Buffer-Overflow Prevention (버퍼오버플로우 방지를 위한 효율적인 이진코드 재작성 기법)

  • Kim, Yun-Sam;Cho, Eun-Sun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2004.05a
    • /
    • pp.1047-1050
    • /
    • 2004
  • 버퍼 오버플로우 공격의 방어는 그 심각한 위험성 때문에 많은 연구가 되고 있지만 방어에 의한 오버헤드의 발생으로 인해 실제 적용되기 어려운 면이 있다. 본 논문은 이진 코드를 재작성 하여 스택의 리턴 주소 사본을 지역변수 아래 부분에 두고 함수 반환시 비교 검사를 하는 것으로써, 소스코드가 없는 경우에도 버퍼 오버플로우 공격을 막는 동시에 오버헤드를 줄일 수 있는 방법을 제안하였다.

  • PDF

MMU-less Memory Management for Stack Protection in Thread-based Operating System (MMU가 없는 Thread기반 운영체제에서 스택 보호를 위한 메모리 관리 기법)

  • Lee, Young-Rim;Kim, Young-Pil;Yoo, Chuck
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2006.10a
    • /
    • pp.409-413
    • /
    • 2006
  • 현재 많은 센서 네트워크 운영체제에서는 메모리 제약 때문에 스레드 스택을 공유한다. 하지만 대부분의 대상 플랫폼에서는 MMU가 없어서 하드웨어적으로 스택 보호가 이루어지기 어렵다. 이러한 문제를 해결하기 위해 본 논문에서는 운영체제 바이너리 코드 안에 존재하는 스택 연산 명령어들을 스택 보호 기능을 가진 래퍼 함수호출로 바꾸어 주었다. 이 래퍼 함수는 스택의 오버플로우/언더플로우를 관리해 주고 오리지널 코드에 있던 명령어를 실행한 후 원래 실행 흐름으로 돌아가게 한다. 본 논문에서는 이러한 동작을 수행하는 Post-Compile Processing Tool의 구조와 세부 메커니즘을 제안한다. 이 툴은 직접 바이너리를 조작하므로 개발의 유연성을 살리고, 정적인 조작만 가하기 때문에 실행시간 오버헤드가 적다. 또한 임베디드 플랫폼 환경과 같이 하드웨어 자원의 제약이 있는 구조에 적합하다.

  • PDF