레이블이 주니퍼인 게시물을 표시합니다. 모든 게시물 표시
레이블이 주니퍼인 게시물을 표시합니다. 모든 게시물 표시

2010년 1월 8일 금요일

조작된 패킷 전송으로 주니퍼 라우터 크래쉬 또는 리부팅

주니퍼 라우터에 조작된 패킷을 전송할 경우, 라우터가 Crash 되거나 또는 리부팅 될 수 있는 취약점이 보고 되었다. 주니퍼는 자사의 취약점 권고문을 외부로 공개하지 않고, 등록된 사용자만이 볼 수 있으므로 자세한 내용은 알 수 없으나, 알려진 것은 아래와 같다.

- TCP 헤더중 TCP 헤더 옵션에 조작된 패킷을 전송할 경우, JunOS 커널 크래쉬를 일으킬 수 있다.
   (JunOS 는 주니퍼 라우터 제품에서 사용하는 운영체제이다)
- 라우터에서 오픈되어 있는 TCP 포트에 전송하면 된다.
- JunOS 방화벽에서도 이번 이슈와 관련한 패킷을 차단하지 못한다.
TCP_Header.jpg

이미지출처 : tomdixons.com , TCP 헤더

옵션 헤더 필드는 TCP 헤더에서 가장 마지막에 위치한 것이다. 영향을 받는 것은 2009년1월28일 전의 JunOS 3.x - 10.x 까지 해당된다. 현재 주니퍼 라우터를 운영하는 곳에서는 업그레이드 방법 이외에 임시적으로 이 문제를 해결하기 위한 방법은 없는 것으로 알려져 있다.
다음은 이번 취약점과 관련해 간단한 Concept 을 구현한 화면이다.
hod# ping 169.254.1.1
PING 169.254.1.1 (169.254.1.1): 56 data bytes
64 bytes from 169.254.1.1: icmp_seq=0 ttl=254 time=4.623 ms
64 bytes from 169.254.1.1: icmp_seq=1 ttl=254 time=4.531 ms
64 bytes from 169.254.1.1: icmp_seq=2 ttl=254 time=4.315 ms
^C<...>

hod# ./hod-junos-test 169.254.1.1 22
[*] Target IP: 169.254.1.1, Port: 22
[+] Sending TCP-packets with various crafted TCP options
[+] TCP options bruteforce progress:
[..........................................................
...........................................................
...........................................................
.......................................................]
[+] OK

hod# ping 169.254.1.1
PING 169.254.1.1 (169.254.1.1): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
^C


라우터는 인터넷 운영에 있어 핵심적인 장비로, ISP(Internet Service Provider) 등에서는 이런 취약점이 치명적이다. 네트워크 운영에서 장비들이 취약점을 갖는 경우 큰 문제를 야기할 수 있어, 네트워크를 관리하는 담당자라면 사용하는 벤더의 보안 권고문을 구독하는등 관리 뿐만 아니라 보안에도 관심을 가져야 할 것이다.