이번 블로그는 DDoS 공격에 대하여 알아보고 유형별 DDoS 공격에 어떤 대응방법이 있는지 포스팅 하고자 한다.
참고로 아래 내용의 대부분은 [자료:한국인터넷진흥원(KISA)]에서 인용하였으며, 해당 내용에 대한 파일 및 정확한 정보는 아래주소
참고 http://www.krcert.or.kr/kor/data/technicalView.jsp?p_bulletin_writing_sequence=1405#none
1. DDoS(디도스) 공격이란?
순간적으로 공격 대상 시스템이 처리할 수 없을 정도의 엄청난 분량의 패킷(Packet)을 동시에 유발시킴으로서, 네트워크의 전체 성능을 저하시키거나 시스템을 마비시켜 정상적인 서비스를 제공하지 못하도록 하는 공격이다.
2. DDoS 공격 대응 개요
가. DDoS 공격 대응 개요
- DDoS 공격 대응은 공격자와 방어자간의 가용성 확보(서비스 이용 유무) 싸움이다.
- 방어자는 자신이 관리하고 있는 웹 서버 및 방어시스템 자원의 한계점을 명확히 알고 있어야 한다.(여기서 자원이란 네트워크 라인카드의 대역폭 혹은 웹 서버의 성능 등 H/W적인 요소뿐만 아니라, 웹서버와 DB가 효율적으로 연동되어 있는가 등에 대한 논리적이 요소들도 포함됨)
- 운영장비의 자원 현황 모니터링 등 끊임없는 차단정책 개선 없이 단순히 장비에만 의존하는 것은 한계가 있다.
- 그러므로, 보호하기 위한 시스템과 벙어를 위해 사용하는 자원을 항시 모니터링하고 발생하는 DDoS 공격유형에 따른 차단정책을 찾고 적용한 것이 무엇보다 중요하다.
나. DDoS 공격 대응 절차
- (1단계: 공격 인지를 위한 체크포인트) 웹서비스 관련 이벤트 및 IDS/IPS 이벤트 발생시 해당 원인이 DDoS공격으로 인한 것인지에 대한 명확한 판단이 필요(이 판단을 하기위해서는 평소 본인의 시스템에 대한 정상/비정상 행위에 대한 명확한 구분이 있어야 한다)
- (2단계 : DDoS 공격 유형 파악) DDoS 공격 유형을 명확히 파악하여 차단정책 설정을 위한 근거로 활용
- (3단계 : 공격유형에 따른 차단정책 정의 및 대응)고격의 유형과 목적을 명확히 판단하여 차단정책을 설정함으로써 웹서비스의 가용성 확보
- (4단계 : 공격 대응 후, 사후조치) 공격트래픽 분석을 통해 공격 내용을 상세히 규명함으로써 추가 발생할 수 있는 공격 대비를 위해 정책을 업데이트하고 좀비 PC IP를 확보
3. DDoS 공격 대응 절차
가. (1단계) 공격의 인지 - check point
- 유입 트래픽 크기
- 방화벽, IDS등의 네트워크 장비를 통해 웹서비스 운영 망으로 유입되는 트래픽의 BPS와 PPS규모를 확인하여 평시와 비교 (10Mbps = 15,000PPS)
- 유입 트래픽의 크기가 비정상적인 증감을 나타내는 경우, 공격 발생 여부를 의심할 수 있다.
- 웹서버 접속 로그 (IIS : \inetpub\logs\logfiles, Apache : /usr/loca/apache/conf/var/log/httpd) 설정에 따라 다름
- 동시접속 정보(Concurrent Connection) : 웹서버와 클라이언트가 유지하고 있는 연결 규모를 확인하여 평시대비 증감률 비교
나. (2단계) 유입 트래픽을 이용한 DDoS 공격 유형의 파악
- 패킷 덤프(Packet Dump)를 이용한 유입 트래픽 확보 - tcpdump or 와이어샤크 같은 트래픽 캡처 툴을 이용하여 분석하고자 하는 기간 동안의 유입 트래픽 일부를 PCAP 형태로 저장 (PCAP : 네트워크 패킷을 파일로 저장한 것을 의미)
- 확보된 트래픽 분석(Analysis) - DDoS공격 특징을 파악하기 위해서는 프로토콜 정보, HTTP헤더 정보, 연결정보를 확인해야 함
분석도구 |
설 명 |
비고 |
tcpdstat |
수집된 트래픽의 프로토콜 종류 등에 관한 정보 확인 |
평균/최대 트래픽, 프로토콜 종류,사용량 |
ngrep, httpry |
http header에 관한 정보 (ngrep : 실시간 패킷 확인가능하고 Header와 data의 확인가능) (httpry : 80port를 사용하는 패킷을 캡처하고 호출하는 Method별 확인가능) |
ngrep : header 및 데이터(method, user-agent, referrer) httpry : SRC IP, DST IP, Method, URL |
argus |
네트워크 패킷을 모니터링 하는 툴로 bps,pps,cps,rps정보 생성 및 동시접속 정보에 관한 정보 확인 |
- 시나리오 기반의 공격유형 파악 - 대역폭 소진공격, DB부하 유발공격, 웹서버 자원 공격 등 대표적인 DDoS 공격 유형을 파악
분석도구 |
파악 유형 |
비고 |
tcpdstat |
-대역폭 소진 공격 유형 분석을 위해 UDP/ICMP Flooding 여부 등 프로토콜별 분포와 트래픽 규모 확인 |
|
ngrep, httpry |
-Get Flooding 등 DB Connection 부하유발 공격 유형 확인 -접속자의 요청 페이지에 대한 통계와 특정 시간동안 발생되는 요청 회수에 대한 통계를 확인 |
ngrep : Header 내용 중 특정 문자열을 검색하여 호출 횟수가 많은 URL 혹은 연결 횟수가 많은 IP에 대한 행위 분석 httpry : 연결 횟수가 많은 IP에 대한 분석 |
argus |
-Syn Flooding 등 웹서버 자원 부하유발 공격 유형 확인 -특정시간동안 연결된 Connection 규모를 확인 |
다. (3단계) 공격유형에 따른 차단정책 정의 및 대응
- 대역폭 소진 공격 대응 방안 (대부분 소스IP위조함, IP위변조 여부를 반드시 확인해야 함)
- 공격 유형 : UDP Flooding, ICMP Flooding
- 대응 방안 : 웹서버 망을 보호하는 방화벽이나 웹서범ㅇ 상단에 위치한 라우터에서 해당 프로토콜을 차단하도록 ACL설정
- 공격 유형 : TCP Flooding
- 웹서버 자원 소모 공격 대응 방안 (좀비 PC IP확보)
- 공격 유형 : Syn(Ack/FIN) Flooding
- 대응 방안 : 웹서버 OS의 TCP 스택 자원을 소모하는 특징이 있으므로 , 소스 IP별 PPS임계치를 설저하거나, 패킷 헤더 검사를 통해 정상적인 옵션 필드값을 가지지 않는 비정상 패킷 차단
- 공격 유형 : Slow Header Flooding, Slow Data Flooding
- 대응 방안 : 완료되지 않은 연결 상태를 지속적으로 유지하는 공격이므로 하나의 요청에 타임아웃을 설정하여 특정 타임아웃이 지나면 연결을 종료시켜 차단
- DB Connection 부하유발 공격 대응 방안
- 공격 유형 : Get Flooding, Post Flooding
- 대응 방안 : 다량의 HTTP요청으로 웹서버와 DB연동에 부하를 유발시키는 것이 특징으로, 클라이언트롭터의 요청 수에 대한 임계치를 설정하여 임계치를 초과하는 소스 IP의 접속을 차단하거나, HTTP헤더를 확인하여 HTTP표준에 맞지 않는 필드 값을 차단 시그티처(Signature)로 설정
라. (4단계) 공격 대응 후, 사후조치
- 공격 시점의 bps, pps, cps 변화 추이 확인 - 공격 규모를 확인하여 웹서버의 가용성이 침해될 수 있는 지점(즉 비정상 상태)을 확인하여 정확한 분석정보가 반영된 차단 정책 업데이트
- 프로토콜 통계, 패킷 크기에 대한 통계, 요청 형테에 대한 통계를 상세히 확인하여 시간에 따른 공격 유형의 변경 여부를 확인하여 차단 정책 업데이트
- HTTP요청 패킷 형태 확인- 특정 시간대의 HTTP요청 횟수를 확인하여 비정상적인 행위 여부 규명, HTTP헤더의 각 필드 정보를 조사하여 HTTP표준을 준수하지 않는 비정상 메시지를 차단할 수 있도록 차단 정책 업데이트
- 좀비 PC IP확보 - TCP기반의 웹서버 가용성 마비 공격은 TCP 3-way Handshake 완료와 함께 시작하므로 실제 공격 IP를 확보하여 차단하도록 조치
'IT > 해킹보안' 카테고리의 다른 글
웹 해킹과 방어 (0) | 2014.03.30 |
---|---|
보안장비 ESM, TMS, RMS (0) | 2013.12.10 |
악성코드와 멀웨어 포렌식 (0) | 2013.09.24 |
보안관제 3단계 분석 (2) | 2013.09.22 |
웹의 취약점 보안 (0) | 2013.09.08 |
댓글