• 제목/요약/키워드: stack overflow

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

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

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

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

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

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

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

  • PDF

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

  • 황도영;유동영
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제12권9호
    • /
    • pp.283-290
    • /
    • 2023
  • 최근 IoT 기술이 꾸준하게 발전되면서 의료 시스템, 스마트 TV 시계 등에서 많이 활용되고 있다. 소프트웨어 개발의 66%가 메모리 공격에 취약한 C 언어를 통해 개발되고 C 언어를 사용하는 IoT 기기에 위협적으로 작용한다. 스택스매싱 오버플로 공격은 사용자가 정의한 버퍼 크기보다 큰 값을 삽입하여 반환 주소가 저장된 영역을 덮어쓰게 하여 프로그램이 정상적으로 동작하지 못하게 한다. 메모리 가용량이 적은 IoT 기기는 스택스매싱 오버플로 공격에 취약하다. 또한, 기존의 백신 프로그램을 그대로 적용하게 되면 IoT 기기가 정상적으로 동작하지 못한다. 연구에서는 IoT 기기에 대한 스택스매싱 오버플로 공격을 방어하기 위해 여러 탐지 방법 중 카나리아를 사용하여 각각 무작위 값, 체크썸, DSLR(무작위 저장 위치)로 조건을 설정했다. 2개의 카나리아를 버퍼 내에 배치하여 하나는 버퍼의 끝인 반환 주소 앞에 배치하고 나머지 하나는 버퍼 내 무작위 위치에 저장했다. 이는 고정된 위치에 저장된 카나리아 값은 공격자가 위치를 예측하기 쉬우므로 무작위한 위치에 카나리아를 저장하여 공격자가 카나리아의 위치를 예측하기 어렵게 했다. 탐지 프로그램 실행 후 스택스매싱 오버플로 공격이 발생 후 각 조건을 만족하게 되면 프로그램이 종료된다. 설정한 조건을 각각 조합하여 8가지 경우의 수를 만들었고 이를 테스트했다. 이를 통해 IoT 기기에는 다중 조건을 사용한 탐지 방법보다 DSLR을 이용한 탐지 방법을 사용하는 것이 더 효율적이라는 결과를 얻었다.

Buffer Overflow Attack and Defense Techniques

  • Alzahrani, Sabah M.
    • International Journal of Computer Science & Network Security
    • /
    • 제21권12호
    • /
    • pp.207-212
    • /
    • 2021
  • A buffer overflow attack is carried out to subvert privileged program functions to gain control of the program and thus control the host. Buffer overflow attacks should be prevented by risk managers by eradicating and detecting them before the software is utilized. While calculating the size, correct variables should be chosen by risk managers in situations where fixed-length buffers are being used to avoid placing excess data that leads to the creation of an overflow. Metamorphism can also be used as it is capable of protecting data by attaining a reasonable resistance level [1]. In addition, risk management teams should ensure they access the latest updates for their application server products that support the internet infrastructure and the recent bug reports [2]. Scanners that can detect buffer overflows' flaws in their custom web applications and server products should be used by risk management teams to scan their websites. This paper presents an experiment of buffer overflow vulnerability and attack. The aims to study of a buffer overflow mechanism, types, and countermeasures. In addition, to comprehend the current detection plus prevention approaches that can be executed to prevent future attacks or mitigate the impacts of similar attacks.

Stack Trace 기반 Bug report 우선순위 자동 추천 접근 방안 (An Automatic Approach for the Recommendation of Bug Report Priority Based on the Stack Trace)

  • 이정훈;김태영;최지원;김순태;류덕산
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2020년도 추계학술발표대회
    • /
    • pp.866-869
    • /
    • 2020
  • 소프트웨어 개발 환경이 빠르게 변화함에 따라 시스템의 복잡성이 증가하고 있다. 이에 따라 크고 작은 소프트웨어의 버그를 피할 수 없게 되며 이를 효율적으로 처리하기 위해 Bug report 를 사용한다. 하지만, Bug report 에서 개발자가 해당 Bug report 의 우선순위를 결정하는 과정은 노력과 비용 그리고 시간을 많이 소모하게 만든다. 따라서, 본 논문에서는 Bug report 내의 Stack trace 를 기반으로 Bug 의 우선순위를 자동적으로 추천하는 기법을 제안한다. 이를 위해 본 연구에서는 첫 번째로 Bug report 로부터 Stack trace 를 추출하였으며 Stack trace 의 3 가지 요소(Exception, Reason 그리고 Stack frame)에 TF-IDF, Word2Vec 그리고 Stack overflow 를 사용하여 특징 벡터를 정의하였다. 그리고 Bug 의 우선순위 추천 모델을 생성하기 위해 4 가지의 Classification 알고리즘을(Random Forest, Decision Tree, XGBoost, SVM)을 적용하였다. 평가에서는 266,292 개의 JDK library 의 Bug report 데이터를 수집하였고 그중 Stack trace 를 가진 Bug report 로부터 68%의 정확도를 산출하였다.

함수요약 및 버퍼의 도메인 정보흐름 추적에 의한 정적 버퍼넘침 탐지방안 (A Device of Static Buffer Overflow Detection by using Function Summary and Tracking Information Flow of Buffer Domain)

  • 이형봉;박정현;박현미
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제7권6호
    • /
    • pp.703-714
    • /
    • 2001
  • C 언어에서 스택에 할당된 지역변수가 넘칠 경우 주변에 위치한 제어정보가 손상을 입는다. 이러한 C언어 특성이 악의적으로 사용되어 주변의 복귀주소가 교묘하게 조작되면 그 시스템을 심각한 보안상 위험에 노출된다. 본 논문에서는 이러한 버퍼넘침을 유발하는 라이브러리 함수에 전달된 버퍼의 도메인 정보흐름을 추적하여 프로그램 작성자에게 버퍼넘침 가능성을 통지할 수 있는 정적 어셈블리 소스코드 탐색(static assembly source code scan)방안을 제안하고 그 실현 가능성 및 유의성을 펜티엄기반 리눅스 환경에서의 프로토타입 구현으로 진단한다.

  • PDF

이진 코드 변환을 이용한 효과적인 버퍼 오버플로우 방지기법 (Efficient Buffer-Overflow Prevention Technique Using Binary Rewriting)

  • 김윤삼;조은선
    • 정보처리학회논문지C
    • /
    • 제12C권3호
    • /
    • pp.323-330
    • /
    • 2005
  • 버퍼 오버플로우 공격은 가장 흔하고 위협적인 취약점 중의 하나이다. 최근 이러한 버퍼 오버플로우 공격을 막기 위하여 많은 연구가 이루어지고 있으나 실행시 발생하는 오버헤드 때문에 이를 적용하는 문제가 있다. 본 논문은 이진코드 형태의 파일에서 사용자 정의 함수를 변환하여 리턴 주소의 복사본을 스택의 특정 구역에 저장하고 공격 위험이 있는 문자열 함수를 재작성하고, 재작성된 함수 종료시 리턴 주소와 복사된 리턴 주소의 비교와 ebp 레지스터 값의 비교를 통해 오버플로우 공격을 탐지하는 방법을 제안한다.

C 언어에서 프로세서의 스택관리 형태가 프로그램 보안에 미치는 영향 (A Study on the Effect of Processor Stack Frame Mechanism on Secure Programming in C Language)

  • 이형봉;차홍준;노희영;이상민
    • 정보처리학회논문지C
    • /
    • 제8C권1호
    • /
    • pp.1-11
    • /
    • 2001
  • 전통적으로 프로그램이 갖춰야 할 품질조건으로 정확성, 신뢰성, 효율성, 호환성, 이식성 등 여러 가지가 제안되어 왔지만, 최근에는 보안성이란 새로운 항목이 요구되고 있다. 보안성은 설계된 프로그램의 흐름을 사용자가 임의로 변경함으로써 보안 침해수단으로 사용하는 사례가 늘어나면서 그 중요성이 더욱 강조되고 있다. 이러한 보안 침해기법은 기본적으로 스택의 조작에서부터 출발한다. 스택과 관련된 일련의 동작들은 프로세서에 따라 고유하게 이루어지고, C 언어는 그러한 고유한 특성에 따라 스택을 관리한다. 본 논문에서는 스택 조작을 통한 보안침해의 개념을 살펴보고, 팬티엄(Pentium), 알파(Alpha), 스파크(SPARC) 등이 제공하는 스택 메커니즘을 자세히 조명해 본 후, 그 것들이 프로그램의 보안성에 어떻게 영향을 미치는지를 규명함으로써 안전 한 프로그램 작성을 위한 치침에 기여하도록 한다.

  • 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% 미만에 불과하다.