• 제목/요약/키워드: Buffer overflow attack

검색결과 29건 처리시간 0.028초

스택메모리상의 명령 수행 탐지를 위한 시스템콜 모니터링 도구 설계 (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을 이용한 탐지 방법을 사용하는 것이 더 효율적이라는 결과를 얻었다.

버퍼 오버플로우 공격에 대한 마이크로구조적 방어 및 복구 기법 (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% 미만에 불과하다.

24Bit BMP 이미지를 이용한 쉘코드 은닉 기법 (Hiding Shellcode in the 24Bit BMP Image)

  • 금영준;최화재;김휘강
    • 정보보호학회논문지
    • /
    • 제22권3호
    • /
    • pp.691-705
    • /
    • 2012
  • 1990년도 중반에 처음 개념이 소개된 이래, 현재까지도 가장 빈번하게 사용되고 매우 심각한 피해를 초래하는 공격기법으로 버퍼 오버플로우(buffer overflow) 취약점을 이용한 공격을 들 수 있다. 쉘코드(shellcode)는 이러한 버퍼 오버플로우 공격에 사용되는 기계어 코드(machine code)로서, 공격자는 자신이 의도한 바대로 수행되는 쉘코드를 작성하고 이를 공격 대상 호스트의 메모리에 삽입, EIP를 조작하여 시스템의 제어 흐름을 가로챌 수 있다. 따라서 버퍼오버플로우를 일으킨 후 쉘코드를 적재하려는 것을 탐지하기 위한 많은 연구들이 수행되어 왔으며, 공격자들은 이런 탐지기법들을 우회하는 기법을 끊임없이 개발해 왔다. 본 논문에서는 이러한 쉘코드 공격 기법 및 방어 기법들에 대해서 살펴보고, 24Bit BMP 이미지에 쉘코드를 은닉시킬 수 있는 새로운 기법을 제안하고자 한다. 이 기법을 통하여 쉘코드를 손쉽게 은닉할 수 있으며, 현재의 다양한 탐지 기법들을 쉽게 우회할 수 있음을 확인할 수 있었다.

실행시간 침입 방지 평가 프로그램(RIPE)의 개선 (Improvement of Runtime Intrusion Prevention Evaluator (RIPE))

  • 이현규;이담호;김태환;조동황;이상훈;김훈규;표창우
    • 정보과학회 논문지
    • /
    • 제42권8호
    • /
    • pp.1049-1056
    • /
    • 2015
  • 2011년에 발표된 RIPE는 프로그램 공격에 대한 완화 기법 평가 도구로서 850 가지 패턴의 버퍼 오버플로우 기반 공격에 대한 완화 기법만을 평가한다. RIPE는 공격과 방어 루틴이 하나의 프로세스로 실행되도록 구성되어, RIPE가 실행될 때에는 공격과 방어 루틴이 프로세스 상태와 주소 공간 배치를 공유할 수밖에 없게 된다. 그 결과 공격 루틴은 방어 루틴의 메모리 공간을 아무런 제약 없이 접근할 수 있게 된다. 이 논문에서는 RIPE의 공격과 방어 루틴이 독립적인 2개의 프로세스로 동작하도록 하여 주소 공간 배치 난독화와 같은 기밀성에 근거한 방어 기법을 정확히 평가할 수 있도록 개선하였다. 또한 억지 공격에 대한 방어 능력을 실험할 수 있도록 실행 모드를 추가하였다. 마지막으로 vtable 포인터 공격과 형식문자열 공격을 수행하도록 38 가지 패턴의 공격을 추가하여 확장하였다. 개선 결과 공격 패턴이 다양하게 되었고, 보호 효과 평가의 정확성도 높아졌다.

시그너쳐 매칭에 기반한 버퍼넘침 공격 탐지의 한계 및 대응 (Limits and Countermeasures on Buffer Overflow Attack Detection Based on Signature Matching)

  • 김성수;위규범
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2003년도 봄 학술발표논문집 Vol.30 No.1 (A)
    • /
    • pp.404-406
    • /
    • 2003
  • C언어는 포인터형 변수를 제공하며 배열의 경계를 인식하지 않는다. 이러한 특성에서 기인한 버퍼넘침 (buffer overflew)은 널리 알려진 취약점으로서 보안침해 수단으로 널리 악용되고 있다. 이 문제를 해결하기 위한 한 방법으로 오용탐지기술은 버퍼넘침에 공통적으로 사용되는 시그너쳐(Signature)를 가지고 클라이언트(client)가 전송한 패킷을 검사함으로서 고전적인 버퍼넘침을 탐지하고 있다. 본 논문에서는 이러한 탐지 방법을 우회할 수 있는 보다 위협적이고 지능적인 보안침해 가능성을 제시한다.

  • PDF

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

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

  • PDF

리눅스 커널 수준에서의 버퍼오버플로우 공격 방지 기법 (Prevention of Buffer Overflow Attack on Linux Kernel Level)

  • 김홍철;송병욱;박인성;김상욱
    • 한국정보보호학회:학술대회논문집
    • /
    • 한국정보보호학회 2001년도 종합학술발표회논문집
    • /
    • pp.111-114
    • /
    • 2001
  • 시스템 침입을 위해서 사용할 수 있는 공격 기법은 그 종류가 매우 다양하다. 그러나 최종적인 시스템 침입의 목표는 버퍼오버플로우 공격을 통한 관리자 권한의 획득이다. 버퍼오버플로우 현상은 메모리 공간의 경계 영역에 대한 프로그래밍 언어 수준의 검사 도구를 제공하지 않는 C/C++ 의 언어적 특성으로 인해 발생한다. 본 논문에서는 리눅스 커널 수준에서 시스템 보안을 위한 참조 모니터를 제안하고 이를 이용하여 버퍼오버플로우 공격에 대응할 수 있는 보안 기법을 제시한다.

  • 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

안전한 임베디드 시스템을 위한 E-BLP 보안 모델의 구현 (Implementation of the E-BLP Security Model for Trusted Embedded Systems)

  • 강정민;남택준;장인숙;이진석
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제32권10호
    • /
    • pp.512-519
    • /
    • 2005
  • E-BLP(Extended BLP) 보안모델은 시스템 내에서 실질적인 주체가 되는 프로세스에 대한 신뢰성을 고려한 BLP 모델의 확장이다. 본 논문은 임베디드 시스템의 보안을 위하여 E-BLP 보안모델을 구현한 내용을 다룬다. 구현된 EBSM(E-BLP Based Security Module)은 식별인증, 접근통제 및 프로세스의 동적 신뢰성 검사를 위한 DRC(Dynamic Reliability Check) 부분으로 구성된다. EBSM의 접근통제에 의해 악의적인 프로세스의 중요객체에 대한 접근 시도가 차단되는 것과, 정상적인 내부사용자가 불법적인 루트권한 탈취를 위해 버퍼 오버플로우 공격을 하는 경우 DRC에 의해 차단되는 것을 보인다. 또한 EBSM을 적용한 임베디드 시스템의 성능 오버헤드에 대해 소개한다.