DOI QR코드

DOI QR Code

Kernel Hardening by Recovering Kernel Stack Frame in Linux Operating System

리눅스 운영체제에서 커널 스택의 복구를 통한 커널 하드닝

  • 장승주 (동의대학교 컴퓨터공학과)
  • Published : 2006.06.01

Abstract

The kernel hardening function is necessary in terms of kernel stability to reduce the system error or panic due to the kernel code error that is made by program developer. But, the traditional kernel hardening method is difficult to implement and consuming high cost. The suggested kernel hardening function that makes high availability system by changing the panic() function of inside kernel code guarantees normal system operation by recovering the incorrect address of the kernel stack frame. We experimented the kernel hardening function at the network module of the Linux by forcing panic code and confirmed the proposed design mechanism of kernel hardening is working well by this experiment.

리눅스 운영체제에서 커널 개발자의 오류로 인하여 발생되는 시스템 정지 현상을 줄이기 위해서 커널 하드닝이 필요하다. 그러나 기존의 커널 하드닝 방식은 고장 감내 기능을 통하여 제공되고 있기 때문에 구현이 어려울 뿐만 아니라 많은 비용이 소요된다. 본 논문에서 제안하는 커널 하드닝 방식은 패닉이 발생한 커널 주소에 대한 커널 스택 내의 값들을 정상적인 값으로 복구하기 위해서 커널 내의 panic() 함수 등 커널의 일부분을 수정하므로, 적은 비용으로 시스템 가용성을 높일 수 있다. 제안한 방식의 실험을 위하여 네트워크 모듈에 강제적인 패닉 현상 유발시키고, 잘못된 스택 값을 정상적인 값으로 복구하는 동작을 확인하였다.

Keywords

References

  1. 권수호, Linux programming bible, pp.20-35, 글로벌, 2002
  2. 장승주, 김해진, 김길용, '마이크로 커널 기반 운영체제에서 고장 감내 연구',pp.408-411,한국정보처리학회 추계학술발표논문집 제3권 제2호,1996
  3. Jeffery Oldham & Alex Samuel, Advanced Linux Programming, pp.45-55, Mark Mitchell, 2001
  4. John Mehaffey, 'Montavista Linux Canier GradeEdition [WHITE PAPER]', Montavista Software Inc., April 8, 2002
  5. Tim Udalll, 'kernel Hardening Guidelines', Sequoia, 1994
  6. SILBERSCHATZ&GALVIN&GAGNE, Operating System Concepts(6th), JOHNWILEY&SONGS INC. 2002
  7. Ivan Buetler, 'Compass Security Hardening Solaris', SunMicro System, 2001.3
  8. John Mehaffey, 'MontaVista Linux Carrier Grade Edition Version 2.1 : The Foundation for Next-Generation Carrier Grade Applications,' Montavista Software Inc., 2002
  9. ichael Beck,Mirko Dziadzka,Ulrich Kunitz and Harald Bohme, Linux Kernel Internals, Addison-Wesley, 1997
  10. The Linux Online, http://www.linux.org
  11. Gary Nutt, Kernel Projects for Linux, Addison Wesley Longman, 2001
  12. A.Rubini&J.Corbet, Linux Device Driver(2nd), O'Relly, 2001
  13. BOVET & CESATI, OREILLY, Understanding the Linux Kernel, pp.216-222, 2001
  14. G.B.Adams III, and H.J.Siegel, 'The Extra Stage Cube: A Fault-Tolerant Interconnection Network for Supersystems, pp. 443-454, IEEE Trans. on Comput, Vol. C-31, No.5 May 1982 https://doi.org/10.1109/TC.1982.1676021
  15. http://hpc.postech.ac.kr/~dolphin/research/ds/mighty/design/designfault.html, 2000
  16. Beck, Linux Kernel Programming, pp.2-5, ADDISON WESLEY, 2002