• 제목/요약/키워드: 스택 오버플로우

검색결과 15건 처리시간 0.033초

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

  • 구본철;허준영;홍지만;조유근
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제35권1호
    • /
    • pp.53-59
    • /
    • 2008
  • 무선 센서 네트워크의 발달에 따라 그 응용분야는 점점 더 복잡해져 가고 있음에도 불구하고, 대부분의 센서 노드 플랫폼은 여전히 심각한 자원 제약을 가지고 있다. 특히 적은 메모리 공간과 메모리 관리 유닛(MMU)의 부재는 스레드의 스택 관리에 있어 메모리 공간 낭비, 스택 오버플로우와 같은 문제를 야기해왔다. 이에 다 수의 스레드가 하나의 스택을 공유 함으로써 기존의 고정 크기 스택에 의해 낭비되는 메모리의 양을 최소화 시킬 수 있는 공유 스택 기법이 제안되었다. 본 논문에서는, 고정 크기 스택기법과 공유 스택 기법의 수학적 분석 모델을 제시하였다. 그 모델을 바탕으로 각각의 스택 오버플로우 확률을 계산하고 공유 스택 기법이 고정 크기 스택보다 더 안정적임을 확인하였다.

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

  • 조병태;김형신
    • 한국산학기술학회논문지
    • /
    • 제13권10호
    • /
    • pp.4794-4800
    • /
    • 2012
  • 버퍼오버플로우 취약점을 이용한 공격기법을 예방하기 위해서 그 동안 많은 연구가 진행되었으며, 여러 가지 탐지기술과 보안패치 등의 노력이 진행되었음에도 불구하고, 여전히 시스템 보안에 있어 가장 중요한 이슈로 지목되고 있는 이유는 아직까지도 프로그램 개발 시 버퍼오버플로우에 취약한 함수와 라이브러리를 이용하여 프로그램을 개발하고 있다는 점과 실제 버퍼오버플로우 취약점이 노출되어 시스템이 공격받은 후에 패치가 이루어진다는 점이다. 본 연구에서는 버퍼오버플로우 예방을 위한 하드웨어적인 보호기법으로 캐시레벨 기반의 리턴주소 스택을 이용한 버퍼오버플로우 보호기법에 대한 연구를 진행하였다. 제안한 스택구조의 성능평가는 SimpleScalar 시뮬레이터를 이용하여 진행하였으며, 본 연구에서 제안한 보호기법은 기존 버퍼오버플로우 취약점을 완벽히 보호할 수 있으며, 일부의 프로그램을 제외한 대부분의 프로그램에서 성능상의 차이가 발견되지 않은 시스템을 개발하였다.

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

  • 최양서;서동일;이상호
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국해양정보통신학회 2004년도 춘계종합학술대회
    • /
    • pp.772-775
    • /
    • 2004
  • 지난 1988년 인터넷 웜 사건을 계기로 널리 알려진 버퍼 오버플로우 해킹 기법은 최근까지도 가장 널리 사용되고 있는 해킹 기법이다. 최근 이러한 버퍼 오버플로우 해킹 공격 기법을 방어하기 위한 연구가 계속되었고, Libsafe, Stack guard 등 많은 해결책이 제시되기도 하였다 본 논문에서는 기존 호스트 기반 침입탐지 시스템에서 사용하는 시스템 콜 모니터링 기법을 이용하여 시스템 콜이 발생하는 메모리상의 위치를 확인함으로써 스택 버퍼 오버플로우 해킹 공격을 방지하기 위한 새로운 방어 기법을 제시한다.

  • PDF

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

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

  • PDF

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

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

  • PDF

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

  • 양한근;표창우;이경호
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2002년도 가을 학술발표논문집 Vol.29 No.2 (1)
    • /
    • pp.586-588
    • /
    • 2002
  • 실행 시간 스택 프레임의 하단과 상단을 가리키는 프레임 포인터와 스택 포인터는 항상 일정한 대소 관계를 유지한다. 선형 스택 공격이 진행되면, 이관계가 반전된다. 이때 스택이 역위되었다고 한다. 본 논문은 x86프로세서 계열의 gcc 컴파일러에 스택 역위 탐지기능을 부여하여, 이 컴파일러를 사용하였을 때 실행 프로그램의 성능에 미치는 영향을 분석하였다.

  • PDF

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

  • 최린;신용;이상훈
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제33권3호
    • /
    • pp.178-192
    • /
    • 2006
  • 버퍼 오버플로우 공격은 Code Red나 SQL Stammer와 같은 최근의 웜의 발발에서 알 수 있는 것과 같이 가장 강력하고 치명적인 형태의 악성 코드 공격이다. 버퍼 오버플로우 공격은 일반적으로 시스템에 비정상적인 증상들을 유발한다. 버퍼 오버플로우 공격에 대한 기존의 대처방안들은 심각한 성능 저하를 초래하거나, 다양한 형태의 버퍼 오버플로우 공격을 모두 방지하지 못했으며, 특히 일반적으로 사용되는 소프트웨어 패치를 사용하는 방법은 버퍼 오버플로우 입의 확산을 효과적으로 차단하지 못한다. 이러한 문제를 해결하고자 본 논문에서는 적은 하드웨어 비용과 성능 저하만으로 거의 모든 악성 코드 공격을 탐지하고 피해를 복구할 수 있도록 하는 복귀 주소 포인터 스택 (Return Address Pointer Stack: RAPS) 과 변조 복구 버퍼 (Corruption Recovery Buffer: CRB)라는 마이크로 구조 기술들을 제안한다. 버퍼 오버플로우 공격으로 인한 비정상적인 증상들은 RAPS를 통해 프로세스 실행 중 메모리 참조의 안전성을 점검함으로써 쉽게 탐지될 수 있으며, 이는 그러한 공격들에 의한 잠재적인 데이타 흑은 제어 변조를 피하는 것을 가능하게 한다. 안전 점검 장치의 사용으로 인한 하드웨어 비용과 성능 손실은 거의 발생하지 않는다. 또한, RAPS에 비해 더욱 강도 높은 방법인 CRB를 이용하여 보안 수준을 더욱 향상시킬 수 있다. 변조 복구 버퍼는 안전 점검 장치와 결합되어 버퍼 오버플로우 공격에 의해 발생했을 가능성이 있는 의심스러운 쓰기들을 저장함으로써 공격이 탐지되는 경우 메모리의 상태를 공격 이전의 상태로 복구시킬 수 있다. SPEC CPU2000 벤치마크 중에서 선정한 프로그램들에 대해 상세한 시뮬레이션을 수행함으로써, 제안된 마이크로구조 기술들의 효율성을 평가할 수 있다. 실험 결과는 안전 점검 장치를 사용하여 공격으로 인한 복귀 주소 변조로부터 스택 영역을 방어하는 것이 시스템의 이상 증상들을 상당 부분 감소시킬 수 있다는 것을 보여준다. 또한, 1KB 크기의 작은 변조 복구 버퍼를 안전 점검 장치와 함께 사용할 경우 스택 스매싱 공격으로 인해 발생하는 추가적인 데이타 변조들까지 막아낼 수가 있는데, 이로 인한 성능 저하는 2% 미만에 불과하다.

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

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

  • PDF

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

  • 김윤삼;조은선
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2004년도 춘계학술발표대회
    • /
    • pp.1047-1050
    • /
    • 2004
  • 버퍼 오버플로우 공격의 방어는 그 심각한 위험성 때문에 많은 연구가 되고 있지만 방어에 의한 오버헤드의 발생으로 인해 실제 적용되기 어려운 면이 있다. 본 논문은 이진 코드를 재작성 하여 스택의 리턴 주소 사본을 지역변수 아래 부분에 두고 함수 반환시 비교 검사를 하는 것으로써, 소스코드가 없는 경우에도 버퍼 오버플로우 공격을 막는 동시에 오버헤드를 줄일 수 있는 방법을 제안하였다.

  • PDF

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

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

  • PDF