웹마스터 팁

### 리눅스 커널(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
제목 글쓴이 날짜
제로보드 XE - 오토셋에 설치하기 [11] file 차오이 2007.08.11
로그인 안되시는분들 참고 [8] 화니478 2007.08.14
설치 후 로그인 불가능 문제 해결방법 [14] 엘핀라즈 2007.08.14
최근글 및 카운터 로그인등등.. 모르시는분있을꺼라고 생각해서올려요 [7] file 장재혁512 2007.08.15
외부에서 회원정보 불러오기 [5] 미오유 2007.08.15
OpenID 적용 [6] file 맑은하늘75 2007.08.20
(수정) ZBXE 설치/로그인 등이 안될 때 시도해보세요. (MySQL DB) 핑크플로이드 2007.08.20
zbxe 일주일 사용기 및 팁 [1] 팔공산 2007.08.21
로그인 불가 - APM 관리자일 때 (일반적인 경우 아님) [3] Sx3 2007.08.26
관리자 아이디 사용제한 체크하는 어이없는 실수 & 해결 [5] refree 2007.09.01
회원에게는 구글 애드센스 보이지 않게 하기 [2] 스컬리지금어디야 2007.09.05
메인 페이지 링크 www. 주소 표시, 로그인 링크 문제.... [5] 마덴나 2007.09.08
(포인트 모듈) 추가 정보 출력 [8] file Simulz 2007.09.20
<수정>사이트 메신저 회원 연동해서 사용하기.... [3] 녀석참 2007.09.22
xe 폴더를 어딘가로 이전했을 때 로그인이 안되는 경우... [2] preware 2007.10.05
경험에 의지한 로그인 풀림현상 처리 남국 2007.10.06
상단에 로그인 회원가입 등 메뉴 넣기 (id/pw찾기 추가) [7] mireu 2007.10.16
ZBXE용 모니위키 연동 플러그인 소스 [4] 베니 2007.10.17
로그인/로그아웃 화면 첨부합니다. 이미지 변경법좀 ... [1] file 홍제헌 2007.10.30
제로보드xe 연동 프리하드2 설치방법 [8] hoaopoyoy 2007.11.03