웹마스터 팁

### 리눅스 커널(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
제목 글쓴이 날짜
플래시 swf파일 배경 투명하게 하기 ~~~ [8] kim's 2004.05.09
허접 팁....레이어로 플래시 뺨치는 홈페이지 만들기 -추가- [17] file 남규성 2004.05.05
자동 스크롤 메뉴 (끄기 기능, 무한 스크롤 X) [6] ☺심심 2004.05.02
홈페이지 빠르게하는 [로딩속도를 높히는 10가지방법] [20] kim's 2004.04.29
[tip]간단한 반투명 필터 적용법 [2] 드래군 2004.04.21
제로보드에서 손쉽게 복사하는 소스 (아래보다 더 편함..) [2] Danggn™ 2004.04.17
(For 초보)폼안에 내용을 자동선택+자동복사해줍니다. [6] 쉬드 2004.04.10
모든 스킨에서 중국어 간체 볼 수 있도록 해주는 법... [6] 학몽 2004.03.09
스타일 시트파일을 만들기 .. [4] 박종익 2004.03.07
서브 메뉴 나타났다가 사라지게 하는 방법. 그동안의 노가다는 이젠 끝! [22] file CoolUnit 2004.03.01
간단하게, 색깔있는 밑줄 긋기. [4] naughtykidd 2004.02.27
몇 가지 팁..( 좀 깁니다.. 어느 정도 안다고 생각하시는 분들, 추천 ) [3] naughtykidd 2004.02.26
스타일시트를 이용한 텍스트박스 스타일 제어(밑줄,점선) [8] 01CODE.com 2004.02.26
전송버튼의 테두리를 없애 BoA요 >_< [7] 플로렐라 2004.02.14
nzeo처럼 배너누르면 배너다는법 나오게하기! [6] Rollrang 2004.02.05
옅은 그레이 쓸때 붉은빛 들어가는경우 [10] 김영호 2004.01.29
마우스 오버시 서브메뉴 나타나게 하는방법 입니다 [12] 키드 2004.01.26
그림위에 마우스를 올렸을때 그림저장 버튼 안나타나게 하기... [17] file PHASE 2004.01.19
자동으로 새로고침되게 하기 [5] 권대건 2004.01.05
스크롤바 색상을 아름답게. [17] file 해리포터포에버 2003.12.16