질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

리눅스커널 2.6.x의 심각한 보안취약성 공개

작성자 정보

  • 홍석범 작성
  • 작성일

컨텐츠 정보

본문

안녕하십니까?  홍석범니다.
 
지난 2006년 8월에 이어 또 다시 일반 유저가 root 권한 획득이 가능한
리눅스 커널의 심각한 보안취약성이 공개되었기에 급하게 메일을 드립니다.
 
아래의 내용을 확인하시어 패치 or 업그레이드 하시기 바랍니다.
 
취약성내용 :  vmsplice system call 처리 취약성
취약 대상 : 커널 2.6.17~2.6.24.1까지.
                 커널의 취약성이므로 배포판에 관계없음
 취약성 및 exploit 공개일자 : 2008년 2월 8일
 영향 : 쉘권한을 가진 일반유저가 root 권한을 획득할 수 있음
 
공격코드 시연
 
[antihong @www antihong ]$ ./exploit
 
[+] mmap: 0x0 .. 0x1000
[+] page: 0x0
[+] page: 0x20
[+] mmap: 0x4000 .. 0x5000
[+] page: 0x4000
[+] page: 0x4020
[+] mmap: 0x1000 .. 0x2000
[+] page: 0x1000
[+] mmap: 0xb7df9000 .. 0xb7e2b000
[+] root
 
[root@www antihong]# id
uid=0(root) gid=0(root) groups=509(antihong)
 
 
 
방어방법 :
 
-. 이번 취약성은 특정 파일이나 디렉토리의 퍼미션을 변경함으로써 해결할 수 있는 방법이 없으며
    커널 패치 or 업그레이드만이 해결방법입니다.
-. 2.6.24.2 이후 버전으로 설치하셔야 합니다. 
-. 또는 기존 커널버전을 유지하여야 할 경우 /usr/src/linux/fs/splice.c 파일에서 아래의 빨강 부분을
    추가한 후 재컴파일후 재부팅하여 적용하시면 됩니다. 
 

                error = -EFAULT;
                if (unlikely(!base))
                        break;
 
                 if(!access_ok(VERIFY_READ, base, len)) {
                        error = -EFAULT;
                        break;
                 }
 
                /*
                 * Get this base offset and number of pages, then map
                 * in the user pages.
                 */
                off = (unsigned long) base & ~PAGE_MASK;
 

커널 패치후 exploit을 실행하면 다음과 같은 에러가 발생하며 작동하지 않습니다.
 
[+] mmap: 0x0 .. 0x1000
[+] page: 0x0
[+] page: 0x20
[+] mmap: 0x4000 .. 0x5000
[+] page: 0x4000
[+] page: 0x4020
[+] mmap: 0x1000 .. 0x2000
[+] page: 0x1000
[+] mmap: 0xb7de5000 .. 0xb7e17000
[-] vmsplice: Bad address
 
-.  특정 시스템에서는 exploit을 실행하면 segmentation fault가 나는 경우가 있는데,
     이러한 경우 exploit를 여러번 시도하면 root 권한이 획득되거나 시스템이 crash되어
     다운 되기도 하므로 주의하셔야 합니다.
 
-. 금번 exploit에 대한 미봉책으로서 anti-모듈을 로딩하여 사용하는 방법도 있지만,
    메모리를 핸들링하는만큼 적용시에는 안정성 측면을 고려해 보셔야 합니다.
 
-. 본 취약성은 2.4.x 버전과 2.6.17이하 버전은 적용되지 않으나 이미 2006년에 공개된 취약성의 경우
     2.6.17 이하 모든 버전에 해당하며 이미 exploit이 대중적으로 공개되어 있는만큼
     2.6 사용자는 금번에 패치를 하여야 합니다.
 
-. RHEL등 rpm 커널의 경우 2008년 2월 8일 이후에 업데이트된 버전을 사용하시면 안전합니다.
 
 
감사합니다.
 
 
 
 
 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,045 명
  • 현재 강좌수 :  35,861 개
  • 현재 접속자 :  90 명