■ 개요
Linux 시스템의 GNU C 라이브러리 (glibc)의 특정 함수에서 임의코드를 실행할 수 있는 취약점이 공개 (2015. 1. 27)
※ 해당 취약점은 CVE-2015-0235 지정, 도메인 네임을 IP로 변환하는 기능이 포함된 서비스 (메일, 웹 등)들은 해당 취약점에 영향을 받을 수 있음.
■ 취약점 상세분석
- 리눅스 계열에서 사용하고 있는 glibc 라이브러리에 존재하는 __nss_hostname_digits_dots 함수에서 잘못된 메모리 사용으로 인해 메모리 변조 가능.
※ glibc 라이브러리 : GNU C 라이브러리로 리눅스 운영체제에서 기본적으로 사용하고 있는 라이브러리 .
※ __nss_hostname_digits_dots 함수 : 도메인 주소를 IP 주소로 변환하는 gethostbyname 함수 호출 시 호스트 이름이 ip형태일 경우, 내부적으로 호출되는 함수.
__nss_hostname_digits_dots 함수 내 메모리 사이즈 연산이 잘못되어 메모리 복사과정에서 오버플로우 발생.
■ 영향 받는 glibc 버전
glibc 2.2~2.17 버전의 모든 리눅스 시스템
※ glibc 2.18~2.20 버전, 2.1.3 이하버전은 취약하지 않음 (2.(2~17)버전에 해당)
■ glibc 버전 확인 방법
|
※ 업데이트된 후 버전이 바뀌지 않는 일부 운영체제도 있으니 취약점 확인 방법으로 패치 검증 권고
■ 영향 받는 OS 플랫폼
- CentOS 6*, 7*
- Debian 6*, 7*
- Red Hat Enterprise Linux 5*, 6*, 7*
- Ubuntu 10.04*, 12.04*
- CentOS 6*, 7*
- 취약한 glibc 버전을 사용하는 기타 리눅스 시스템
■ 취약점 확인 방법
- glibc를 사용하는 시스템에서 터미널 프로그램 실행 후 아래내용을 GHOST.c로 저장
/* ghosttest.c: GHOST vulnerability tester */ memset(name, '0', len); |
- GHOST.c 파일을 아래의 명령어로 컴파일 실행
|
- glibc 라이브러리에 의존하는 패키지 및 어플리케이션 확인 방법
# lsof | grep libc | awk '{print $1}' | sort | uniq
|
■ 해결 방법
<업데이트 버전 설치>
o 취약한 glibc 버전을 사용하고 있는 경우, 운영체제 제조사 홈페이지를
방문하여 패치 방법 확인
■ 패키지 버전 확인 방법
OS 종류 |
패키지 버전 확인 방법 |
CentOS / Redhat |
> rpm -qa | grep glibc |
Ubuntu / Debian |
> apt-cache show eglibc-source | grep Version |
■ 패키지 업데이트 방법
OS 종류 |
패키지 업데이트 방법 |
CentOS / Redhat |
> yum install glibc |
Ubuntu / Debian |
> apt-get clean && apt-get update && apt-get upgrade |
※ 패키지 업데이트 후 시스템 재부팅 수행
[참고문서]
[KISA]리눅스_Ghost_취약점_대응방안_권고_v2.pdf
'DB - ORACLE > Oracle DB Admin ' 카테고리의 다른 글
오라클 AWR 은 돈주고 사야 하는 기능입니다. (0) | 2015.05.12 |
---|---|
윤초 (Leap Second Time Adjustment) (0) | 2015.04.17 |
Oracle ADRCI (0) | 2015.03.28 |
glibc 보안 취약점 개요 및 해결방안 (1) | 2015.03.02 |
RMAN을 이용한Duplicating Test (1) | 2014.12.22 |