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

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




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

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



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

올리기올려짐: 2005.1.24 월, 10:56 am    주제: 모든 리눅스 커널에 또 다른 보안 결함 발견 인용과 함께 답변

안녕하세요
sec-info 메일링리스트에 홍석범님이 올린 글입니다.

아래부터 원글입니다.
------------------------------------------------------
안녕하십니까? 오늘과내일의 홍석범입니다.

지난주에 uselib() 함수에서의 보안 취약성을 통해서 로컬의 일반 유저가
root 권한을 획득할 수 있는 취약성에 대해 메일을 드린 적이 있었는데,
며칠 후 다른 종류의 심각한 취약성이 공개되었습니다.

이 취약성은 커널의 page fault handler에서의 race condition 에 의한 것으로
본 취약성을 이용하여 로컬의 일반 유저가 root 권한을 쉽게 획득할 수 있습니다.
자세한 취약성 정보는 아래와 같습니다.

* 취약한 커널
2.4.x 버전 : 2.4.29-rc1 이전 버전(2.4.28 포함)
2.6.x 버전 : 2.6.10
* 취약하지 않은 커널
2.4.x 버전 : 2.4.29-rc2 버전 또는 2.4.29
2.6.x 버전 : 1월 12일 이후의 -ac나 -rc 패치버전
* 취약한 시스템
i386 계열의 SMP(symmetric multiprocessing) 시스템
즉, 단일 CPU를 사용하는 시스템은 본 취약성에 해당하지 않습니다.
그러나, 단일 CPU라도 hyperthreading이 지원될 경우
본 취약성에 해당합니다.

* 테스트 코드

http://packetstormsecurity.nl/0501-exploits/stackgrow.c

위 코드를 다운로드후 컴파일하여 실행하면 취약한지 여부를 확인할 수 있습니다.

## 취약한 경우

$ ./test

[+] in thread 1 (pid = 5791)
[+] in thread 2 (pid = 5792)
[+] rdtsc calibration: 32877
[+] exploiting race, wait...
[+] race won (shift: 572)
[+] kernel might be vulnerable.

## 취약하지 않은 경우

$ ./test
[+] in thread 1 (pid = 731)
[+] in thread 2 (pid = 732)
[+] rdtsc calibration: 35668
[+] exploiting race, wait...


아래는 커널 2.4.28인 SMP 시스템에서 실제 공격코드를 실행했을 때의 결과입니다.

$ ./exploit

[+] in thread 1 (pid = 7382)
[+] in thread 2 (pid = 7383)
[+] rdtsc calibration: 32596
[+] exploiting race, wait...
[+] race won (shift: 539)
bash# id
uid=0(root)

아래는 커널 2.4.29인 SMP 시스템에서 실제 공격코드를 실행했을 때의 결과입니다.

$ ./exploit

[+] in thread 1 (pid = 787)
[+] in thread 2 (pid = 788)
[+] rdtsc calibration: 35626
[+] exploiting race, wait...
[-] unable to exploit race in 30s,
kernel patched or load too high.


* 대응 방법

아래와 같은 3가지 방법이 있을 것 같습니다.

(1) 가급적 최신의 커널인 2.4.29 나 2.6.11-rc-1 등으로 패치/업그레이드 하십시오.

(2) 만약 커널 업그레이드가 여의치 않을 경우 임시로 /proc의 퍼미션을 일반 유저가
읽을 수 없도록 설정하십시오. 이와 같이 설정할 경우 exploit 실행을 막을 수 있습니다.
/proc의 디렉토리를 700 등으로 설정하면 됩니다.

(3) 공격 코드가 실행시에는 root 소유의 suid/sgid 파일을 필요로 합니다.
따라서 시스템내 root 소유의 suid/sgid 파일이 있다면 이 파일의 s비트를 제거하십시오.
suid/sgid는 find / -type f -perm +6000 -ls 를 실행하면 찾을 수 있습니다.


본 취약성에 대한 좀 더 자세한 내용은 아래의 URL 을 참고하시기 바랍니다.

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-0001




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

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


Powered by phpBB © 2001, 2005 phpBB Group