$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

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

정보과학회논문지. Journal of KIISE. 시스템 및 이론, v.33 no.3, 2006년, pp.178 - 192  

최린 (고려대학교 전자컴퓨터공학과) ,  신용 (고려대학교 전자컴퓨터공학과) ,  이상훈 (고려대학교 전자컴퓨터공학과)

초록
AI-Helper 아이콘AI-Helper

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

Abstract AI-Helper 아이콘AI-Helper

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 t...

주제어

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

문제 정의

  • 게다가, 리눅스의 시그널 핸들러는 일반적으로 실행 가능한 스택에 의존하고 있다. Openwall 프로젝트의 리눅스 커널 패치는 시그널 핸들러를 수정하고 trampoline 함수의 구현을 수정하여 이러한 문제들을 해결하려 하였다. 하지만 이러한 패치는 여전히 데이타 변조에 대해 취약하며 이로 인해 서비스 거부 상태로 이어질 수 있다.
  • 특히, 어떻게 공격이 여러 데이타 및 제어 변조들을 일으키고, 결국 잘못된 프로그램행위를 유발하게 되는지 분석해 보고자 한다. 번째 목표는 제안된 마이크로구조 기법들이 얼마나 효율적으로 동작하는지 알아보는 것이다. 버퍼 오버플로우 시나리오의 다양한 상황들을 만들어내기 위해, 응용 프로그램의 스택 또는 데이타 영역에 임의로 쓰레기 값들을 삽입한다.
  • 또한, 악성 코드들은 종종 프로그램 주소 공간의 스택 또는 데이타 영역으로부터 명령어를 가져오려 하는데, 이 역시 보통의 프로그램 수행에서는 잘 일어나지 않는 동작이다. 본 논문에서는 이러한 비정상적인 증상들을 검출하기 위해 명령어와 데이타 참조들의 주소 영역을 검사하여 그 안전성을 검증하는 '안전점검 장치(safety guard)'라 불리는 새로운 마이크로구조 기술을 제안한다. 이러한 안전 점검 장치로 인한 성능 손실은 없으며 무시할 수 있는 아주 적은 하드웨어 비용으로 구현될 수 있다.
  • 있다. 본 논문에서는 프로세서에 쉽게 적용될 수 있는, 새로운 마이크로구조 기법들을 제안한다. 이 기법들은 실생활의 거의 모든 버퍼 오버플로우 시나리오를 방어하는데 있어 매우 효율적이다.
  • 본 논문에서는, 버퍼 오버플로우 문제에 대한 새로운 하드웨어적인 해결 방안을 제안한다. 그러므로, 소프트웨어적인 해결 방안에서 발생하는 재 컴파일이나 경계영역 검사 수행을 위한 별도의 코드 실행을 필요로 하지 않는다.
  • 이러한 이전의 기법들은 모든 다른 종류의 데이타 변조를 막아낼 수가 없다’ 이는 이전의 기법들을 이용하는 시스템들이 여전히 서비스 거부 상태에 대해 취약하다는 것을 의미한다. 이 논문에서는 버퍼 오버플로우 공격으로 인한 데이타 및 제어 변조들을 탐지하고 복구할 수 있는 하드웨어 기법들을 이용함으로써 이러한 문제점들을 다루게 될 것이다.
  • 첫째, 버퍼 오버플로우 공격들의 여러 시나리오들에 대해서 알아보려 한다. 특히, 어떻게 공격이 여러 데이타 및 제어 변조들을 일으키고, 결국 잘못된 프로그램행위를 유발하게 되는지 분석해 보고자 한다.
  • 첫째, 버퍼 오버플로우 공격들의 여러 시나리오들에 대해서 알아보려 한다. 특히, 어떻게 공격이 여러 데이타 및 제어 변조들을 일으키고, 결국 잘못된 프로그램행위를 유발하게 되는지 분석해 보고자 한다. 두 번째 목표는 제안된 마이크로구조 기법들이 얼마나 효율적으로 동작하는지 알아보는 것이다.

가설 설정

  • 1. 고장: 공격이 성공적일 경우, 이를 고장이라 부를 것이다. 이는 성공적인 공격이 시스템의 고장을 유발하기 때문이다.
  • 정확한 시뮬레이션을 위해서, SimpleScalar 2.0 tool- set을 사용하였으며 이를 이용해 기본 캐시/TLB를 가지며 4개의 비순차적인(out-of-order) 파이프라인을 가지는 프로세서 모델을 가정하였다. 각 응용 프로그램마다 50번의 독립적인 시뮬레이션을 수행하였으며, 각 시뮬레이션은 256바이트 크기의 쓰레기 값을 갖는 입력데이타를 실행 도중에 스택에 삽입하는 단일 공격을 동반한다.
본문요약 정보가 도움이 되었나요?

참고문헌 (18)

  1. CERT/CC Statistics 1988-2003, http://www.cert.org/stats/cert_stats.html 

  2. Cooperative Association for Internet Data Analysis(CAIDA), Analysis of the Sapphire Worm, http://www.caida.org/analysis/ security/sapphier/, Jan. 2003 

  3. Common Vulnerabilities and Exposures(CVE), [TECH] Vulnerability Types Seen in CVE, http://cve.mitre.org/board/archives/2002-10/msg00005.html 

  4. SANS Institute and FBI, The Twenty Most Critical Internet Security Vulnerabilities-The Expert's Consensus, http://www.sans.org/top20, 2003 

  5. Snow, B., Future of Security, Panel Presentation at IEEE Security and Privacy, May 1999 

  6. Openwall Project, Linux kernel patch from the open wall project, http://openwall.com/linux 

  7. Chiueh T.-c. and Hsu F.-H., RAD: A CompileTime Solution to Buffer Overflow Attacks, In Proceedings of the 21st International Conference on Distributed Computing Systems, 2001 

  8. Cowan, C., Beattie, S., Day R. F., Pu, C., Wagle, P., and Walthinsen, E., Protecting Systems from Stack Smashing Attacks with StackGuard, In the Linux Expo, 1999 

  9. Lee, G. and Tyagi, A., Encoded Program Counter: Self-Protection from Buffer Overflow Attack, In Proceedings of the International Conference on Internet Computing, June 2000 

  10. Pyo C. and Lee, G., Encoding Function Pointers and Memory Arrangement Checking against Buffer Overflow Attack, In Proceedings of the Fifth International Conference on Information and Communications Security, October 2003 

  11. Jones R. and Kelly, P., Bounds Checking for C, http://www-ala.doc.ic.ac.uk/-phjk/BoundsChecking.html, July 1995. 

  12. Baratloo, A., Singh, N., and Tsai, T., Transparent Run-Time Defense Against Stack Smashing Attacks, In Proceedings of the USENIX Annual Technical Conference, June 2000 

  13. Richard W M Jones and Paul H J Kelly, Backwards-Compatible Bounds Checking for Arrays and Pointers in C Programs, May 1997 

  14. Cowan, C., Wagle, P., Pu, C, Beattie S. and Walpole, L, Buffer Overflows: Attacks and Defenses for the Vulnerability of the Decade, In Proceedings of the DARPA Information Survivability Conference and Exposition. January 2000 

  15. Peter Silberman and Richard Johnson, A Comparison of Buffer Overflow Prevention Implementations and Weaknesses 

  16. Bulba and Ki13r, Bypassing Stackguard and Stackshield, Phrack, 10(56), May 2000 

  17. Jun Xu, Zbigniew Kalbarczyk, Sanjay Patel and Ravishankar K. Iyer, Architecture Support for Defending Against Buffer Overflow Attacks 

  18. John P. McGregor, David K. Karig, Zhijie Shi, and Ruby B. Lee, A Processor Architecture Defense against Buffer Overflow 

저자의 다른 논문 :

관련 콘텐츠

저작권 관리 안내
섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로