[목차]
1. DOS/DDOS
2. PCRE / Suricata
3. IDS/IPS/FW 비교
[DOS/DDOS]
1. 정의
DoS(Denial of Service) 공격(1:1)
서비스 거부 공격: 공격자가 호스트의 H/W 또는 S/W 등을 무력하게 만들어
호스트에서 적법한 사용자의 서비스 요구를 거부하도록 만드는 공격
DDoS(Distributed Denial of Service) 공격(N:1)
분산 서비스 거부 공격: 네트워크로 연결된 분산 환경에서
여러대의 컴퓨터를 이용하여 한대의 공격대상 시스템에 대한 DoS 공격
(EX: BotNet)
2. Dos 공격의 특징
* 관리자 권한(ex: root)을 획득하는 것이 아니며
데이터를 파괴, 변조, 훔쳐가는 것을 목적으로 하지 않는다.
* 공격의 원인이나 공격자를 추적하기 힘들다.
* 공격시 해결하기 힘들다.
* 매우 다양한 공격 방법들이 가능하다.
* 같은 공격에 대해서 각 시스템마다 결과가 다르게 나타날수 있다.
* 다른 공격을 위한 사전 공격으로 사용될수 있다.
* 사용자의 실수로 발생될수 있다.
* 금전을 요구하는 사회 범죄 형태로 전이 되었다.
3. DOS 공격 유형
ㄱ. 내부 공격(Local Attack)
* 공격의 형태 :
시스템이 보유하고 있는 리소스를 점유하거나 모두 고갈시킴으로서 시스템 마비 발생
계정을 가진 내부 사용자에 의해 발생(EX: 로컬 계정을 가진 악의적인 사용자)
고의보다는 실수로 인해 발생(EX: 개발자에 의한 경우)
* 공격의 종류 :
디스크 채우기(EX: 디스크 full)
메모리 고갈(EX: 메모리 leak)
프로세스 만들기(EX: 많은 프로세스 생성)
ㄴ. 외부 공격(Remote Attack)
* 공격의 형태 :
특정 포트를 사용하는 서비스를 마비 시킴(EX: 서비스 거부 공격)
네트워크 기능 자체를 오동작 시킴
* 공격의 종류 :
응용 프로그램 수준
- Mail Bomb
- Buffer Overflow
- Java Applet Attack
프로토콜 수준
- SYN Flooding
- Ping Flooding
- Smurfing Attack
네트워크 수준
- UDP Storming(UDP Flooding)
- 네트워크 Bandwidth 공격
4. DDoS 공격 유형 (트래픽 구성에 따른 DDos 공격 유형 분석)
■ DDoS 프로토콜별 공격 유형 및 점유율
순위 |
프로토콜 |
공격유형 |
점유율 |
1 |
UDP |
악성 IRC Bot Flooding Source Spoofing |
70% 5% |
2 |
ICMP |
Fragementation Attack |
10% |
3 |
Garbage Packet |
Opentear, Fragement |
7% |
4 |
Service Attack |
GET/POST DDoS Attack |
8% |
-> UDP를 통한 악성 IRC BOT 공격이 DDoS의 주류를 이루고 있고, 프로토콜 중 UDP가 전체 DDoS에 약
70% 이상이다..
■ DDoS 공격 구분 - 피해 대상별
구분 |
접속량 증가 |
대용량 트래픽전송 |
||
PPS Consuming |
Connection Consuming |
Application Consuming |
Bandwidth/Infra Consuming |
|
프로토콜 |
TCP (Non-handshake) |
TCP (Handshake) |
HTTP, DNS, VoIP, DHCP |
UDP/ICMP |
공격PC위치 |
국내/국외 |
국내/국외 |
국내/국외 |
국내 |
IP변조여부 |
변조/실제 IP |
실제 IP(Zombie) |
실제 IP(Zombie) |
변조/실제 IP |
공격유형 |
64 bytes 이하 수십/백만 PPS |
64 bytes 수십/백만 PPS |
http cache-control DNS Query Flooding 등 |
1000 ~ 1500 bytes 수십만 PPS |
공격효과 |
네트워크 장비, 보안 장비, 서버 등의 부하 발생 |
웹 서버 접속 고갈 발생 |
서버 접속 고갈 발생 |
회선 대역폭 초과 |
피해시스템 |
공격 대상 시스템 또는 동일 네트워크에서 사용 중인 모든 시스템 |
공격 대상 서버 |
Application |
동일 네트워크에서 사용중인 모든 시스템 |
■ DDoS 공격 구분 - 서버 기반/대역폭 기반
|
서버 기반 DDoS 공격 |
대역폭 기반 DDoS 공격 |
이 전 |
접속량 고갈(L7) => 서버/응용프로그램 |
대역폭 고갈(L3/L4) => 네트워크/인프라 |
응용 계층 공격 http request flooding, CC Attack, VoIP 등 특정 응용층에 대한 공격으로 정당한 사용자의 서비스를 제한 공격(대상응용계층만 서비스 제한, 동일네트워크내의 시스템은 정상 공격 트래픽의 양이 매우적고, 다른 응용계층은 정상 동작 |
L3/L4 계층 공격 UDP/ICMP Flooding 네트워크/인프라를 공격하여 모든 외부의 요청을 차단 및 지연 시키는 특성 공격 대상 서비스 제한, 동일 네트워크내의 시스템 제한 공격트래기의 양이 매우 많고, 모든 계층의 통신 불능 상태 유발 |
|
현 재 |
접속량 고갈(L7) + 대역폭 고갈(L4) => 네트워크/응용/인프라 |
실존트래릭 유사(L3/L4) + 대역폭 고갈 => 네트워크/응용/인프라 |
응용 계층 + 인프라 계층 공격 http request bomb, DDoS evasion attack 응용계층 공격에 비정상적인 데이터 필드를 더하여 공격 Real IP를 이용하여 최초 정상 Handshake 후 대량 공격 공격 트래픽의 양이 매우 많고, 모든 인프라 파괴 다중 Flow(Mixed Attack)이 아닌 싱글 Flow로 효과 증대 |
Real dump attack, DDoS Evasion Attack UDP, ICMP Fragementation Attack으로 전이 VoIP의 경우 실제 패킷과 동일한 수준의 패킷을 대량 전송 DNS의 경우 정상쿼리 전송 L3/L4에서 응용계층으로 공격 전이 |
■ (예시)사이버 대란(7.7 DDoS & 3.4 DDoS 공격) 비교
구분 |
7.7 DDoS |
3.4 DDoS |
유포경로 |
파일 공유 사이트 |
파일 공유 사이트 |
유포방법 |
자동 업데이트되는 파일을 악성코드로 바꿈 |
자동 업데이트되는 파일을 악성코드로 바꿈 |
공격방법 |
Cache Control 공격 같은 파일 구성에 의한 공격 |
Cache Control 공격, 공격할 때마다 변화하는 파일 구성 |
특징 |
특정 일시에 동시 공격, 공격 대상 재지정, 데이터 삭제 등 |
특정 일시에 동시 공격, 공격 대상 재지정, 데이터 삭제, 정보 유출, 스팸 발송 등 |
C&C 서버 |
70개국 746대 3단계 구조 및 마스터 서버 존재 |
61개국 435대 4단계 구조 및 마스터 서버 존재 |
[DDoS 공격에 대해서]
파일 공유 사이트(P2P)에서 악성코드를 다운로드하고 설치되면 암호화된 통신을 통해 C&C 서버에 설정된 공격 대상 IP 및 Main DLL(Dynamic Linking Library)을 받아 온다. 그 후 공격에 사용되는 파일을 생성 또는 변종을 다운로드하며, hosts 파일을 변조한다. netbot /botnet 프로그램
5. DDoS 공격 대응 절차 및 목적
DDoS 공격 대응은 공격자와 방어자간의 가용성 확보 싸움이다.
방어자는 자신이 관리하고 있는 웹서버 및 방어시스템 자원의 한계점을 명확히 알고 있어야 한다.
(자원은 네트워크 대역폭, 웹서버의 성능 등 물리적인 요소뿐만 아니라
웹서버와 DB가 효율적으로 연동되어 있는가 등에 대한 논리적인 요소들을 포함한다.)
운영장비의 자원 현황 모니터링 및 끊임없는 차단 정책 개선 없이
단순히 장비에만 의존하여 공격을 대응하는 것에는 한계가 존재한다.
(공격자는 방어가 이루어질수록 더욱 많은 봇들을 동원하여
다양한 형태의 공격을 수행하기 때문에 장비가 가지는 정적 차단 정책에 의존하는 것은 위험한다.)
그러므로, 보호하기 위한 시스템과 방어를 위해 사용하는 자원을 항시 모니터링하고 발생하는 DDoS 공격유형에 따른 차단정책을 찾고 적용하는 것이 무엇보다 중요하다.
* 공격 대응 절차 및 목적 :
(1단계) 공격 인지를 위한 체크 포인트
웹서비스 관련 이벤트 발생 시 해당 원인이 DDoS 공격으로 인한 것인지에 대한 명확한 판단이 필요하다.
(2단계) DDoS 공격 유형 파악
DDoS 공격 유형을 명확히 파악하여 차단 정책 설정을 위한 근거로 활용한다.
(3단계) 공격 유형에 따른 차단 정책 정의 및 대응
공격의 유형과 목적을 명확히 판단하여 차단 정책을 설정함으로써 웹서비스의 가용성을 확보한다.
(4단계) 공격 대응 후, 사후조치
공격트래픽 분석을 통해 공격 내용을 상세히 규명함으로써 추가 발생할 수 있는 공격 대비를 위해 정책을 업데이트하고 좀비PC IP를 확보한다.
6. 실습
DOS 공격 실습 툴 :
LOIC(Low Orbit Ion Cannon)
DDOD 공격 실습 툴 :
UFOnet
[PCRE]
PCRE는
Perl Compatible Regular Expression
의 약자로 Perl 기반 정규 표현식을 뜻한다.
전산 분야에서 널리 사용되는 표준적인 방식으로
다야한 문자열을 비교적 쉬운 문법으로 표현하기 때문에
하나의 PCRE 패턴으로 다수의 변형된 여러 공격을 탐지할 수 있다.
* 참고 : 정규 표현식(Regular Expression) 이란?
특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어.
많은 텍스트 편집기와 프로그래밍 언어에서 문자열의 검색 치환을 위해 지원된다.
예) # grep '^root' /etc/passwd
사용 툴 :
Rad.RegexDesigner (https://www.radsoftware.com.au/regexdesigner/)
단점 :
이론적으로 많은 양의 변형 문자열을 탐지해야 하기 때문에
부하로 인한 성능 저하가 올 수 있음
대표 사용 예 :
Suricata 툴에서 사용하는 Rules = PCRE 지시자
[Suricata]
고성능 네트워크 IDS, IPS 및 네트워크 보안 모니터링 엔진이다.
오픈소스 커뮤니티 운영 비영리 재단인 OISF가 소유하고 있다.
Suricata는 OISF에 의해 개발되었다.
'정보보안공부 > 정보보안전문과정' 카테고리의 다른 글
정보보안 과정 Day115 : 리눅스 서버 보안 종료 (0) | 2021.02.23 |
---|---|
정보보안 과정 Day 109~114 : 프로젝트 기간 (0) | 2021.02.23 |
정보보안 과정 Day101~103: iptables / IDS(suricata) / dos-ddos (0) | 2021.02.03 |
정보보안 과정 Day100: 로그보안/시간포멧변경/로그기록삭제 (0) | 2021.01.29 |
정보보안 과정 Day99 : 로그 보안 시작 (냉무) (0) | 2021.01.28 |