웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
리눅스 커널(kernel)에 심각한 보안 결함 발견
2003.12.04 03:49
### 리눅스 커널(kernel)에 심각한 보안 결함 발견 ###
2.4.23을 제외한 모든 리눅스 커널(2.4.22 포함)에 심각한 보안 결함이
발견되어 일반유저가 root 권한을 획득할 수 있는 취약성이 발견되었습니다.
이 취약성을 통해 얼마전 debian project 관련 서버가 해킹을 당하였는데,
이는 일반유저인 한 개발자의 id 로 로그인 후 상위 권한(uid 0 ) 을 획득하였다고 합니다.
이 공격코드에 대해 자세히 알려지지는 않았지만 알려진 바로는
대략 다음과 같습니다.
* 본 취약성은 do_brk() 함수에서 발생하는데, 이 함수는 프로세스의 메모리
heap 을 관리하는 역할을 하며 만약 "ulimit -d" 로 일반유저의 data segment size 를
제한할 경우 임시 방편이 될 수 있는 것으로 알려져 있습니다.
그러나, 다른 몇 가지 방식으로도 공격이 가능하므로 근본적으로는
2.4.23 으로 업그레이드 할 것을 권장합니다.
* 이미 underground 에서는 공격코드가 일부 공유되었다고 합니다.
따라서 public 으로 공개되는 것은 시간문제일 것입니다.
* intel 기반의 H/W 인 경우만 본 취약성에 영향을 받으며
Sun H/W 는 영향을 받지 않는다고 알려져 있습니다.
* Grsecurity 등을 설치하였을 경우에도 영향을 받는다고 알려져 있습니다.
* 커널의 취약성이므로 본 취약성은 배포판에 관계없습니다.
본 취약성에 대해서는 아래의 URL 을 참고하시기 바랍니다.
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2003-0961
http://rhn.redhat.com/errata/RHSA-2003-392.html
http://www.zdnet.com.au/newstech/security/story/0,2000048600,20281486,00.htm
http://www.securitytracker.com/alerts/2003/Dec/1008343.html
### bind 8.x 의 negative cache poisoning 취약성 발견 ###
bind 8.x 버전에서 악의적인 공격자가 DNS 서버에 negative cache poisoning 이
가능함으로써 특정 도메인에 대한 잘못된 Cache 정보를 전달하여 DoS 공격을
수행할 수 있습니다.
이에 대해 bind 8.3.x 사용자는 8.3.7 로, bind 8.4.x 사용자는 8.4.3 으로
업그레이드하실 것을 권장합니다.
예) named 버전정보 확인방법.
# named -v
BIND 9.2.1
[참고] cache poisoning 공격에 대응하기 위해
(1) cache poisoning 공격이 쉬운 것은 아니지만 그렇다고 불가능한 것은 아닙니다.
실제로 bind 4.x 는 말할 것도 없고 bind 8.x 버전에서는 negative 뿐만 아니라
positive cache poisoning 공격도 가능하며 공격툴도 공개되어 있습니다.
(2) bind 8.x 가 bind 9.x에 비해 cache poisoning 에 취약하다고 할 수 있는 근거는
cache poisoning 공격의 원리를 이해하면 알 수 있습니다.
cache poisoning 을 위해서는 source ip / source port /transaction id 만 위조하면
되는데, 앞의 두개는 쉽게 위조 가능하며 transaction id 도 16비트(1-65535까지)이므로
bind 8.x 의 경우 순차적으로 변화하는 특성을 이용하면 쉽게 추측가능하다는 것입니다.
bind 9.x 의 경우 애초부터 보안을 고려하여 design 되었고, 또한 transaction id 가
random 하게 변화하므로, cache poisoning 이 매우 어렵습니다.
또한 bind 의 대안으로 개발중인 djbdns 의 경우 transaction id 뿐만 아니라
source port 도 random 하게 변화하므로 cache poisoning 이 가장 어려운 것으로 알려져 있습니다.
그러나 몇가지 표준을 따르지 않는 문제가 있으므로 bind 9.x 로 사용하실 것을 권장합니다.
(3) cahce poisoning 은 원리상 recursion(순환질의)이 허용된 서버에서만
공격할 수 있습니다. 따라서 recursion 을 허용할 필요가 없다면
ip 대역을 엄격하게 제한하실 것을 권장합니다. 아래의 경우 recursion 을 허용할 ip로
100.100.100.100 및 192.168.1.0/24 대역으로 제한한 예입니다.
options {
allow-recursion {100.100.100.100; 192.168.1.0/24; };
};
IP 대신 TSIG(Transaction SIGnatures)를 이용하여 인증할 수도 있습니다.
아예, recursion 을 허용할 필요가 없다면 아래와 같이 차단하는 것이 좋습니다.
options {
allow-recursion {none;};
};
또는,
options {
recursion no;
};
본 취약성에 대해서는 아래의 URL을 참고하시기 바랍니다.
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2003-0914
http://www.kb.cert.org/vuls/id/734644
기타 관련뉴스 http://news.kbench.com/?no=23033&priority=1&category=61
2.4.23을 제외한 모든 리눅스 커널(2.4.22 포함)에 심각한 보안 결함이
발견되어 일반유저가 root 권한을 획득할 수 있는 취약성이 발견되었습니다.
이 취약성을 통해 얼마전 debian project 관련 서버가 해킹을 당하였는데,
이는 일반유저인 한 개발자의 id 로 로그인 후 상위 권한(uid 0 ) 을 획득하였다고 합니다.
이 공격코드에 대해 자세히 알려지지는 않았지만 알려진 바로는
대략 다음과 같습니다.
* 본 취약성은 do_brk() 함수에서 발생하는데, 이 함수는 프로세스의 메모리
heap 을 관리하는 역할을 하며 만약 "ulimit -d" 로 일반유저의 data segment size 를
제한할 경우 임시 방편이 될 수 있는 것으로 알려져 있습니다.
그러나, 다른 몇 가지 방식으로도 공격이 가능하므로 근본적으로는
2.4.23 으로 업그레이드 할 것을 권장합니다.
* 이미 underground 에서는 공격코드가 일부 공유되었다고 합니다.
따라서 public 으로 공개되는 것은 시간문제일 것입니다.
* intel 기반의 H/W 인 경우만 본 취약성에 영향을 받으며
Sun H/W 는 영향을 받지 않는다고 알려져 있습니다.
* Grsecurity 등을 설치하였을 경우에도 영향을 받는다고 알려져 있습니다.
* 커널의 취약성이므로 본 취약성은 배포판에 관계없습니다.
본 취약성에 대해서는 아래의 URL 을 참고하시기 바랍니다.
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2003-0961
http://rhn.redhat.com/errata/RHSA-2003-392.html
http://www.zdnet.com.au/newstech/security/story/0,2000048600,20281486,00.htm
http://www.securitytracker.com/alerts/2003/Dec/1008343.html
### bind 8.x 의 negative cache poisoning 취약성 발견 ###
bind 8.x 버전에서 악의적인 공격자가 DNS 서버에 negative cache poisoning 이
가능함으로써 특정 도메인에 대한 잘못된 Cache 정보를 전달하여 DoS 공격을
수행할 수 있습니다.
이에 대해 bind 8.3.x 사용자는 8.3.7 로, bind 8.4.x 사용자는 8.4.3 으로
업그레이드하실 것을 권장합니다.
예) named 버전정보 확인방법.
# named -v
BIND 9.2.1
[참고] cache poisoning 공격에 대응하기 위해
(1) cache poisoning 공격이 쉬운 것은 아니지만 그렇다고 불가능한 것은 아닙니다.
실제로 bind 4.x 는 말할 것도 없고 bind 8.x 버전에서는 negative 뿐만 아니라
positive cache poisoning 공격도 가능하며 공격툴도 공개되어 있습니다.
(2) bind 8.x 가 bind 9.x에 비해 cache poisoning 에 취약하다고 할 수 있는 근거는
cache poisoning 공격의 원리를 이해하면 알 수 있습니다.
cache poisoning 을 위해서는 source ip / source port /transaction id 만 위조하면
되는데, 앞의 두개는 쉽게 위조 가능하며 transaction id 도 16비트(1-65535까지)이므로
bind 8.x 의 경우 순차적으로 변화하는 특성을 이용하면 쉽게 추측가능하다는 것입니다.
bind 9.x 의 경우 애초부터 보안을 고려하여 design 되었고, 또한 transaction id 가
random 하게 변화하므로, cache poisoning 이 매우 어렵습니다.
또한 bind 의 대안으로 개발중인 djbdns 의 경우 transaction id 뿐만 아니라
source port 도 random 하게 변화하므로 cache poisoning 이 가장 어려운 것으로 알려져 있습니다.
그러나 몇가지 표준을 따르지 않는 문제가 있으므로 bind 9.x 로 사용하실 것을 권장합니다.
(3) cahce poisoning 은 원리상 recursion(순환질의)이 허용된 서버에서만
공격할 수 있습니다. 따라서 recursion 을 허용할 필요가 없다면
ip 대역을 엄격하게 제한하실 것을 권장합니다. 아래의 경우 recursion 을 허용할 ip로
100.100.100.100 및 192.168.1.0/24 대역으로 제한한 예입니다.
options {
allow-recursion {100.100.100.100; 192.168.1.0/24; };
};
IP 대신 TSIG(Transaction SIGnatures)를 이용하여 인증할 수도 있습니다.
아예, recursion 을 허용할 필요가 없다면 아래와 같이 차단하는 것이 좋습니다.
options {
allow-recursion {none;};
};
또는,
options {
recursion no;
};
본 취약성에 대해서는 아래의 URL을 참고하시기 바랍니다.
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2003-0914
http://www.kb.cert.org/vuls/id/734644
기타 관련뉴스 http://news.kbench.com/?no=23033&priority=1&category=61
제목 | 글쓴이 | 날짜 |
---|---|---|
아파치 httpd.conf 2차 설정본 - php 연동 | 이성헌 | 2005.12.15 |
php 4.3.2 의 php.ini 내용 (내컴 설치본) | 이성헌 | 2005.12.15 |
apache httpd.conf 의 1차 설치본 - alias 사용 | 이성헌 | 2005.12.15 |
아파치 인증에서 .htaccess 의 내용. | 이성헌 | 2005.12.15 |
wo.to (유료서버) 의 아파치 폴더 인증 방법. | 이성헌 | 2005.12.15 |
아파치 설정 활용 예(서비스 제한측면) [4] | 좋은진호 | 2005.01.31 |
FTP서버설치 (filezilla server) [6] | 이주성 | 2004.05.20 |
리눅스 커널(kernel)에 심각한 보안 결함 발견 [1] | 아치 | 2003.12.04 |
안전한 FTP, vsftpd 설치와 운영 (한글로그 패치 포함) [1] | 좋은진호 | 2003.10.15 |
apache-1.3.28 release [5] | 아치™ | 2003.09.19 |
apache 서버에서 디렉토리 보기 방지. [5] | 이성헌 | 2003.06.08 |
apache 서버에서 apache 인증 (윈도우에서 apm 설치후) | 이성헌 | 2003.06.05 |
트래픽관리 Throttle-status 사용자 인증시키기 [1] | Cksoft | 2003.03.18 |
apache-1.3.x설치⑤ (apahce설치, php가속기 추가) | 비츠로 | 2003.03.02 |
apache-1.3.x설치① (필수조건과 pre configure) | 비츠로 | 2003.03.02 |
qmail-1.03설치⑧ (squirrel웹메일과 연동) | 비츠로 | 2003.02.28 |
qmail-1.03설치⑤ (courier-imap연동) | 비츠로 | 2003.02.28 |
phpMyAdmin 보안설정하기 [5] | 겨울늑대 | 2003.02.27 |
htaccess를 활용하자 3탄! 사용자인증 [4] | [쿨럭]블루엔젤 | 2003.01.23 |
무료 호스팅 서버 만들기 -4부 [18] | 장동민 | 2003.01.04 |