시스템관리자의 쉼터 커피닉스 커피향이 나는 *NIX
커피닉스
시스템/네트웍/보안을 다루는 곳
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

가입없이 누구나 글을 쓸 수 있습니다. 공지사항에 대한 댓글까지도..




BBS >> 설치, 운영 Q&A | 네트웍, 보안 Q&A | 일반 Q&A || 정보마당 | AWS || 자유게시판 | 구인구직 || 공지사항 | 의견제시
모든 리눅스 커널에 심각한 보안 결함 발견

 
글 쓰기   답변 달기    커피닉스, 시스템 엔지니어의 쉼터 게시판 인덱스 -> *NIX / IT 정보
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
pront40



가입: 2004년 8월 18일
올린 글: 2
위치: VVT

올리기올려짐: 2005.1.17 월, 9:47 am    주제: 모든 리눅스 커널에 심각한 보안 결함 발견 인용과 함께 답변

안녕하세요...

커널 보안결함입니다. 참고들 하시기 바랍니다.

원문출처 : certcc-kr 메일링리스크 2005. 01. 11.
-----------------------------------------------------------------------------
안녕하십니까? 오늘과내일의 홍석범입니다.

최근 들어 리눅스 커널에 몇 가지 보안 버그가 있었지만
대부분 특수한 환경에서의 취약성이었습니다.

그러나 최근 공개된 uselib() 함수에서의 보안 취약성을 통해서
내부의 일반 유저가 root 권한을 획득할 수 있는 취약성이 확인되었습니다.
본 취약성에 대한 정보는 아래와 같습니다.


* 취약한 커널버전
2.2.x : 모든 버전
2.4.x : 2.4.28을 포함한 2.4.29-pre3 까지, 2.4.28 이하 모든 버전
2.6.x : 2.6.10을 포함한 2.6.10 이하 모든 버전

* 취약하지 않은 커널 버전
2.4.x : 2.4.29-rc1
--> 2.4.28 설치후 2.4.29-rc1 으로 패치하여야 함
또는 2.4.28 설치후 http://maphia.flowsecurity.org/patch/uselib-2.4.28.patch 패치

2.6.x : 2.6.10-ac8
2.6.10 설치후 2.6.10-ac8 로 패치하여야 함

* 공격방법
Local exploit이며 remote에서의 공격은 불가합니다.
그러나 최근 php injection등을 통해 일반 권한을 쉽게 획득할 수 있으므로
조처를 취하시는 것이 좋습니다.


아래는 exploit 를 실행하여 성공했을때의 결과입니다.

$./exploit

[+] SLAB cleanup
child 1 VMAs 65527
child 2 VMAs 65527
child 3 VMAs 65527
...
child 18 VMAs 63322
[+] moved stack bfffb000, task_size=0xc0000000, map_base=0xbf800000
[+] vmalloc area 0xdf800000 - 0xfedbb000
Wait... \
[+] race won maps=49205
expanded VMA (0xbfffc000-0xffffe000)
[!] try to exploit 0xe2d25000
[+] gate modified ( 0xffec903c 0x0804ec00 )
[+] exploited, uid=0

sh-2.05b# id
uid=0(root) gid=0(root)

아래는 2.4.29-rc1으로 패치한 후의 실행 결과입니다.

$./exploit
[-] FAILED: open lib (/dev/shm/_elf_lib not writable?) (Permission denied)
$

일부에서는 /dev/shm을 커널에서 삭제하거나 umount를 하면 된다고 하지만
옵션에서 /tmp 등으로 변경할 수 있기 때문에 의미가 없습니다.

만약 패치가 어려운 경우에는 임시로 다음과 같이 해도 되는 것 같습니다.
(공식적으로 확인된 내용은 아니며 단지 저의 테스트 결과일 뿐입니다.)

# chmod 700 /proc/

즉, /proc 디렉토리를 700 으로 설정하도록 하는 것으로 이 설정을 통해서
일반 유저가 ps나 w 를 실행할 수 없는 것 외에 특별히 문제가 되는 것은 없습니다.
이는 공격코드내에서 /proc/slabinfo 정보를 읽어야 하기 때문입니다.

$ ./exploit

[+] SLAB cleanup
child 1 VMAs 65527
child 2 VMAs 65527
child 3 VMAs 65527
child 4 VMAs 65043
[+] moved stack bfffe000, task_size=0xc0000000, map_base=0xbf800000
[+] vmalloc area 0xe0000000 - 0xfffc1000
Wait... \
[-] FAILED: uselib (Cannot allocate memory)
Killed
$

$ ./exploit

[+] SLAB cleanup
[-] FAILED: get_slab_objs: /proc/slabinfo not readable? (Permission denied)
Killed
$

다른 정보/의견 있으시면 공유 부탁드립니다.



감사합니다.
위로
사용자 정보 보기 비밀 메시지 보내기 MSN 메신저
이전 글 표시:   
글 쓰기   답변 달기    커피닉스, 시스템 엔지니어의 쉼터 게시판 인덱스 -> *NIX / IT 정보 시간대: GMT + 9 시간(한국)
페이지 1 중 1

 
건너뛰기:  
새로운 주제를 올릴 수 있습니다
답글을 올릴 수 있습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB © 2001, 2005 phpBB Group