원문
한글번역
DRDoS (Distributed Reflection Denial of Service)
개요
미국의 네트워크 회사인 깁슨리서치 (http://grc.com)는 베리오 (ISP업체)에서 T1을 통
해 인터넷 서비스를 받고 있었다. 2002년 1월11일 새벽2시 인터넷 공격이 시작되어 깁
슨리서치의 웹서버는 서비스를 하지 못하게 되었다.
깁슨리서치 웹서버로 흘러드는 패킷을 분석하면 Source IP가 Verio.net, Qwest.net, Ab
ove.net 네트워크에 속하는 주소로 나타났다. 이 패킷의 근원지 포트가 179이고 정상적
인 SYN/ACK 패킷이다. 웹서버가 웹서비스 요청에 대해 포트 80으로 응답하는 것처럼 이
SYN/ACK 패킷도 BGP 포트 179로부터 나오고 있었다.
라우터는 이웃라우터와 라우팅 테이블을 교환하기 위해 BGP (Border Gateway Protocol)
을 사용한다. 라우팅 테이블은 각 라우터가 포워드 할 수 있는 IP 범위에 대한 정보를
갖고 있다. 라우터는 포트179에 대한 TCP 접속 요청을 받아들일 것이다. 다시 말하면,
라우터는 179번 포트로 들어오는 SYN 패킷에 대하여 SYN/ACK 패킷으로 응답할 것이다.
[ DRDoS 공격 ]
이런 수백개의 라우터에는 어떤 좀비(Zombie)프로그램도 설치되어 있지 않고 정상적인
서비스를 수행하고 있었다. 이 라우터들은 grc.com이 서비스 포트 179로 TCP연결을 요
청한다고 판단, grc.com으로 SYN/ACK 패킷을 보내고 있는 것이다.
즉, 악의의 해커는 SYN 패킷을 보냄으로 TCP연결을 요청하려고 한다. 이 SYN 패킷의 So
urce IP는 grc.com의 IP로 위조되어 있다. 따라서 라우터는 SYN 패킷이 grc.com에서 온
것으로 믿고 SYN/ACK 패킷으로 응답을 한다.
반사공격 (Reflection attack)
인터넷에서 접속이 가능한 TCP서버들의 목록을 '반사서버목록 (Reflection Server List
)'라고 한다. 이 목록은 해커에 의해 쉽게 생성, 추가, 유지될 수 있다. 예를 들어 이
목록을 유지하고 추가하는 방법은 다음과 같다.
○ 'Trace Router' Command
이 명령은 원격의 서버와 tracer 사이에 경유하는 인터넷 라우터의 IP주소를 모두 보
여준다.
○ 포트스캔
'Yahoo.com' 같은 사이트에는 이용 가능한 웹서버가 많이 있다. 간단한 포트스캔을
통하여 공개적으로 이용가능한 TCP서버를 찾을 수 있다.
○ 인터넷 검색엔진
인터넷 검색엔진을 사용하면 잠재적으로 사용이 가능한 수많은 웹사이트의 도메인 주
소를 찾을 수 있고 분류할 수 있다.
이러한 반사서버 목록은 끊임 없는 확인과정을 거쳐 유지된다. 유효한 SYN 패킷을 보
내 그 서버가 SYN/ACK로 응답하게 되면 그 서버가 네트워크 상에 존재하고 있다는 것
을 확인하게 되고 무의식적으로 반사공격에 사용될 수 있다는 것을 의미한다.
위협이 되는 이유
○ 패킷경로확산(packet path diffusion)
공격트래픽이 수많은 TCP서버를 경유할 때 '패킷경로확산'의 정도가 높아야 공격자에
게 유리하다. 정상적인 반사서버의 추가는 공격의 형태를 변화시킨다. 타겟서버는 수
많은 정상적인 TCP서버의 SYN/ACK 패킷으로부터 공격을 당하게 된다. 각각의 SYN/ACK
패킷 흐름 자체만으로는 타겟에 피해를 주지 않지만 인터넷 도처에서 도착하는 SYN/
ACK 패킷의 집중적인 공격으로 타겟시스템이 충분히 다운될 수있다. 즉, 잠재하는 수
많은 서버로부터 원치않는 공격에 직면한 타겟서버나 네트워크는 심각한 문제에 빠진
다.
○ 반사서버 확산 (Reflector diffusion)
큰 반사 서버 목록을 사용해서 얻게 되는 또 다른 결과는 반사 서버 확산 (Reflector
diffusion)이다. 공격자가 SYN 패킷을 수많은 반사 서버에 흩어 전송하게 되면 SYN패
킷을 받아서 문제가 발생하는 반사서버는 거의 없을 것이다. 불완전 연결은 몇분후에
종료되기 때문에 불완전 연결이 결코 한계점을 넘을 만큼 생기지는 않는다. 서버는
이러한 연결을 클라이언트가 중단한 연결로 간주해서 대부분의 반사서버에서는 경고
도 하지 않을 것이다. 주의 깊은 관리자는 불완전 연결에 대해 관심을 가질 수도 있
지만 서버에 어떤 피해도 주지 않기 때문에 개의치 않을 것이다.
○ 대역폭 증대 (bandwidth multiplication)
TCP반사 공격의 중요한 특징은 반사 서버는 받아 들이는 SYN패킷보다 몇배 많은 SYN/
ACK 공격 패킷을 타겟 서버로 보내게 된다. 반사서버는 SYN/ACK 패킷에 대한 응답이
없을 경우 재전송을 하기 때문에 자연스럽게 SYN패킷보다 많게 된다.
○ 개선된 관리 (Improved manageability)
전통적인 DDOS공격은 큰 공격의 패킷 흐름과 공격의 근원지를 분산하기 위해 큰 네트
워크를 이용했다. 주어진 타겟에 대해 '대역폭 증대'와 '경로확산'을 조합함으로써
다음 두가지의 이점이 생긴다.
첫째, 대역폭 증대로 인해 공격에 필요한 호스트의 수를 줄일 수있다. 둘째, 인터넷
으로 경로가 확산되기 때문에 경로 역추적이 어려워진다.
이런 특징은 분산반사공격의 등장으로 공격에 사용되는 TCP서버를 찾고 관리하는 일
이 쉬워졌고 공격의 근원지를 밝혀내기가 어려워졌다.
○ 스텔스 (Stealth)
반사공격에 사용되는 전통적인 위조 SYN 패킷 흐름은 모니터링 스크린에 포착되지 않
는다. 그러나 반사 공격에서는 타겟 서버IP로 근원지 IP를 위조하게 된다. 결과적으
로 이 공격을 밝혀내기란 쉽지 않다. 이러한 이유로 DRDoS 공격은 쉽게 시도할 수 있
지만 공격을 역추적하는 것은 거의 불가능하다.
반사공격 방어 및 예방
인터넷 상의 서버는 클라이언트와 서버로 역할이 분리되어 있다. 클라이언트는 주로 포
트 1024 에서 65535를 이용하여 서버로 연결을 시도한다. 서버는 서비스 포트 1에서 10
23까지 서비스 포트를 이용하여 클라이언트 서비스 요청을 기다리고 있다.
SYN/ACK 패킷들은 TCP서버들을 통해 반사되고 거의 모든 서비스포트는 1-1023의 범위에
있다.
○ 서버보호 (Protecting a server)
보호해야 하는 대상 시스템이 서비스를 제공하고 있는 서버일 경우 반사공격에 대한
방어방법은 클라이언트 포트를 차단하거나 서비스포트를 차단하는 경우이다. 이런 경
우 문제점은 정상적인 클라이언트 연결 요청까지도 차단하게 될 것이다.
SMTP서버의 클라이언트로 동작하는 웹서버는 SMTP 서버의 포트 25번에서 응답을 기다
리게 될 것이다. 하지만 반사공격필터에 의해 SMTP서버의 포트 25로부터 생성된 인바
운드 트래픽은 모두 차단된다. 이 문제를 해결하기 위해서 신뢰하는 서버의 트래픽은
반사공격필터를 통과할 수있도록 해야 한다.
○ 클라이언트 보호 (Protecting a client)
ISP NAT를 이용하여 최종사용자를 보호할 수 있다.
○ 반사서버 악용막기 (Preventing reflection server exploitation)
절대 연결을 완료할 수 없는 근원지 IP를 가지고 있는 SYN 패킷을 인식하고 짧은 시
간에 일어나는 연결 실패는 일상적인 현상이 아니기 때문에 반사공격의 타겟이 정해
졌을 수도 있다. 반사공격의 동적인 방어 (Dynamic reflection attack prevention)는
연결을 완료할 수 없는 IP로부터 도착하는 SYN패킷에 대한 불랙리스트를 작성하는 것
이다.
○ ISP책임
반사공격에 이용되는 트래픽 생성은 근원지 IP 위조에 있다. ISP업체가 통제하는 네
트워크로 유입되는 위조된 패킷을 차단할 수 있다면 이 공격은 막을 수 있다.
○ 공격에 사용되는 플랫폼의 책임
데스크탑 PC에 Raw Socket API를 포함시키는 것은 신중해야 한다. MS 윈도우 2000/XP
raw socket을 포함시켰던 것을 잘못된 일이라고도 말한다. 이러한 것들은 악의적인
반사공격 생성기를 쉽게 만들 수 있도록 한다.
결론
대분분의 인터넷 공격은 인터넷 프로토콜이나 기술의 결함을 발견하여 그러한 취약점을
이용하는 것으로 나타났다. 여기서 말하는 반사공격은 마음만 먹으면 언제, 어디서, 누
구나 가능한 것이다.
DRDoS공격은 공격방법을 파악하기가 힘들고 피해도 크기 때문에 앞으로 이러한 취약점
을 분석하여 해결하는 것이 IT 전문가들의 의무가 아닌가 생각한다.
[참고] 정보보호진흥원, 분산반사서비스 거부에 대한 고찰, 2002. 8.18
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기