SlideShare a Scribd company logo
1 of 27
DDoS and WAF Basics
2016.05 | Yoohyun Kim
목 차
1. DDoS Basics
2. WAF Basics
1. DDoS Basics
- 4 -
Denial of Service (DoS)
• 서비스 거부 공격 (Denial of Service attack): 서비스 거부 공격 또는 디오에스/도스(DoS)는 시스템을
악의적으로 공격해 해당 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 하는 공
격을 의미함.
1. 특정 서버에 수많은 접속 시도를 만들어 다른 이용자가 정상적으로 서비스 이용을 하지
못하게 하거나, 서버의 TCP 연결을 바닥내는 등의 공격이 이 범위에 포함됨.
2. 수단, 동기, 표적은 다양할 수 있지만, 보통 인터넷 사이트 또는 서비스의 기능을 일시적 또는 무기한
으로 방해 또는 중단을 초래하는 것이 목적임.
3. 통상적으로 DoS는 유명한 사이트, 즉 은행, 신용카드 지불 게이트웨이, 심지어는 루트 네임 서버를
상대로 이루어지기도 함. 2002년 10월 22일과 2007년 2월 6일의 Root DNS 서버에 대한 DNS 백 본
DDoS 공격은 인터넷 URL 주소체계를 무력화 시킨 인터넷 전체에 대한 공격이었음.
- 5 -
Distributed Denial of Service (DDoS)
• 분산 서비스 거부 공격 (Distributed Denial of Service attack): 분산 서비스 거부 공격 또는 디디오에
스/디도스(DDoS)는 분산 배치된 여러 대의 컴퓨터에서 한 웹 서버 (Victim)에 비정상적인 트
래픽을 흘려 보내 웹 서버가 과도한 트래픽 소모 및 프로세스 진행, 과도한 입출력 등을 통
해 서비스가 중지되게 하는 서버 공격 방법을 의미함.
1. 이는 IAB (Internet Architecture Board)의 정당한 인터넷 사용 정책에 반하는 것으로 여겨지며,
2. 거의 모든 인터넷 서비스 공급자의 허용할 수 있는 사용 정책도 위반하고,
3. 개별 국가의 법률에도 저촉됨. (대한민국의 경우, 정보통신망 이용촉진 및 정보보호 등에 관한
법률 제 48조 (정보통신망 침해행위 등의 금지) 3항을 위반할 경우 5년 이하의 징역 또는 5천만 원
이하의 벌금)
• 증상: 비정상적인 네트워크 성능 저하, 특정 웹사이트 접근 불가, 모든 웹사이트에 접근 불가, 특정 전자
우편의 급속한 증가 등이 나타나면 DoS 공격으로 의심할 수 있음.
1. DoS 공격은 공격을 받고 있는 컴퓨터 주위의 다른 컴퓨터에도 문제를 일으킬 수 있음.
예를 들어, 인터넷과 지역 망을 연결하는 라우터의 대역폭이 DoS 공격으로 소진되면 전체 네트워크
에 문제를 일으킬 수 있음.
2. 공격이 충분히 큰 규모로 이루어지면 전체 지역의 인터넷 접속이 영향을 받을 수도 있음.
- 6 -
Distributed Denial of Service attack
• 단순하게는 브라우저의 F5키를 연속해서 눌러 서버에 웹 페이지 크기만큼의 트래픽을 주어 DDoS 공격
을 할 수 있음. 물론 혼자 할 경우 여러 대의 분산된 컴퓨터라는 정의에 맞지 않기 때문에 단순 DoS 공
격일 뿐이고, 조직적으로 어떤 시간대에 동시에 F5 키를 연속적으로 누르면 DDoS라고 부르는 것이 가
능함. (예. 디시 인사이드의 2ch 공격, 경인대첩)
• 악성코드에 의한 좀비 PC
1. 유포한 악성 코드를 통해서 PC들을 ‘공격이 가능한‘ 좀비 PC로 만들어 공격에 동원하기도 함.
2. 감염된 수많은 컴퓨터가 일제히 서버에게 대량의 트래픽을 전송하여 서버가 허용하는 트래픽 용량
을 넘어서게 되면 정상적인 클라이언트가 서버로 접속할 수 없게 됨.
• 악성스크립트에 의한 좀비 PC
1. 악성 코드가 아닌 악성 스크립트를 활용하는 방법도 있음. 접속량 많은 제 3의 사이트를 해킹해
서 A사이트에 DDoS를 실행하라는 스크립트를 삽입하면, 그 순간부터 제 3의 사이트를
접속하는 사람은 자신도 모르게 A사이트를 접속하여 공격하게 됨.
2. 해킹 당한 제 3의 사이트는 자신의 사이트에 아무런 영향이 없기 때문에 해킹 당했다는 것을 알지
못하며, 공격을 하는 접속자는 자신의 컴퓨터가 감염된 것이 아니기 때문에 DDoS에 악용되고 있다
는 상황을 인지하지 못하게 됨.
- 7 -
Example of DDoS attack
• ICMP (Internet Control Message Protocol) Flood (대역폭 소진 공격)
1. ICMP는 IETF RFC 792에 정의된 프로토콜로써 호스트간 혹은 호스트와 라우터간의 에러 상태 혹은
상태 변화를 알려주고 요청에 응답을 하는 기능을 담당하는 네트워크 제어 프로토콜임.
2. 스머프 공격 (Smurf Attack)이라고도 부르는 ICMP Flood 공격은 Source (발신) 주소를 Victim의 주
소로 Destination (수신)주소를 Broadcast 주소 (네트워크 내 모든 노드에 패킷을 전송할 때 사용하
는 IP 주소)로 request 메시지를 보내는 공격으로,
3. 네트워크에 연결된 모든 노드들은 Broadcast에 대한 Response 메시지를 Victim으로 보내어
Victim (웹 서버)의 Bandwidth와 네트워크 Resource를 소모시키게 됨.
• UDP Flood (대역폭 소진 공격)
1. UDP Flood 공격은 많은 수의 UDP packet을 Victim에 전송하여 정상적인 서비스가 불가
능하도록 하는 공격임.
2. 예를 들어, 1500bytes 크기를 가지며 source IP가 spoofing된 UDP 패킷을 Victim으로 다량 전송하
여 네트워크 대역폭 (bandwidth)를 소모함.
• Spoofing: ‘속이다‘라는 사전적 의미를 가지고 있으며, 네트워크에서 spoofing 대상은 MAC 주소, IP 주
소, 포트 등 네트워크 통신과 관련된 모든 것이 될 수 있고, spoofing은 속임을 이용한 공격을 총칭함.
- 8 -
Example of DDoS attack
• SYN Flood (자원 고갈형 공격)
1. SYN Flood 공격은 TCP의 연결 과정인 3-way handshaking을 이용하여 공격자가 Victim에 Source IP
를 spoofing하여 SYN 패킷을 특정 포트로 전송하게 되면 이 포트의 대기 큐 (Backlog Queue)를 가
득 차게 하여 이 포트에 들어오는 연결 요청을 큐가 빌 때까지 무시하도록 하는 방법임.
2. 3-way handshaking 과정
I. 1단계: A 클라이언트는 B 서버에 접속을 요청하는 SYN 패킷을 보내고,
II. 2단계: B 서버는 요청을 받고 A 클라이언트에게 요청을 수락한다는 SYN 패킷과 ACK 패킷을 발
송하게 됨.
III. 3단계: A 클라이언트는 B 서버에게 ACK를 보내고 이후로부터 연결이 이루어지고 본격적으로
데이터가 교환되는 과정이 3-way handshaking 과정임.
3. 그런데, 공격자가 1단계만 요청 (SYN)하고 B 서버로부터 응답 (SYN+ACK)을 받은 후 3단계, 즉 클라
이언트에서 ACK를 보내지 않는다면, SYN+ACK를 받은 B 서버는 A로부터 응답이 올 것을 기대하고
반쯤 열린 상태에 머무른 후 일정 시간 후 다음 요청이 오지 않으면 해당 연결을 초기화하게 되는데,
초기화하기 전까지 이 연결은 메모리 공간인 Backlog Queue에 계속 쌓이게 됨.
4. 이 위조된 연결 시도를 초기화하기 전에 위조된 새로운 요구가 계속 들어오게 된다면
또한 위조된 새로운 요구가 연결을 초기화하는 속도보다 더 빨리 이루어진다면, SYN 패킷이
Backlog Queue에 저장이 되다 결국 꽉 차게 되어 더 이상의 연결을 받아들일 수 없는
상태, 즉 서비스 거부 상태로 들어가게 됨.
- 9 -
Example of DDoS attack
• 웹 페이지 부하 가중 공격
1. HTTP GET Flood: 3-way handshaking을 수행하여 정상적인 TCP connection을 맺은 후 짧은 시간
동안 반복적으로 웹 페이지를 요청하여 웹 서버의 과부하를 유발시키는 공격
2. HTTP CC (Cache Control) Attack: 공격자가 HTTP 헤더 user-agent 필드의 Cache-Control 옵션
을 ‘no-cache, no-store, must-revalidate, max-age=0’으로 설정하여 공격대상 웹 페이의
URL을 호출하여 웹 서버의 부하를 가중시키는 공격
3. Slowloris Attack (HTTP GET based flooding): 아파치 웹 서버를 대상으로 하는 공격기법으로 정
상적인 연결을 공격 대상 서버와 맺은 다음에 미완성된 HTTP 헤더를 대상 서버로 전송하여
대상 서버가 완성된 HTTP 헤더를 위해 연결을 유지한 가운데 대기 상태로 머물게 만들
어, 다수의 연결들로 인해 추가적인 접속 요청을 받아들일 수 없게 만드는 공격임. (웹 서
버에 HTTP 요청의 일부만 보내어 close하지 않도록 하게 함으로써 서버의 socket을 고갈 시키는 공
격 방법임.)
4. RUDY (HTTP POST based flooding): RUDY (R-U-DEAD-YET)는 FORM을 이용해 HTTP Post를 전송
하는 웹 페이지에 대해서 행하는 공격 방법임. Content length를 보고 그 길이만큼의
Content가 올 때까지 대기하고 있다는 점을 이용하여 초기에 길이를 크게 설정해 놓고,
Content는 일정한 시간 간격으로 한 문자씩 전송하여 서버로 하여금 한 세션당
‘Content length * interval seconds’만큼의 지연 시간을 발생시키는 공격 방법임.
- 10 -
Example of DDoS attack
• DRDoS (Distributed Reflection Denial of Service attack, 분산 반사 서비스 거부 공격)
1. DDoS보다 한층 발전된 서비스 거부 공격 기술로 IP spoofing을 이용한 internet protocol의 약점과
서버들의 응답성을 악용한 공격 방법임.
2. DRDoS의 공격 방식은 IP 헤더에 들어가는 발신 (Source) IP 주소를 피해자의 IP로 조작하여,
정상적인 서비스를 하는 서버들에게 어떤 요청을 보내면,
3. 서버들은 패킷의 송신자 IP를 보고 그 IP로 응답을 하므로, 엉뚱하게 피해자에게 모든
응답이 되돌아가게 되는 방식임.
4. 의도치 않게 공격을 가하게 되는 서버들을 반사체 (Reflector), 또는 반사 서버 (Reflection Server)라
고 하며, 인터넷 상에 연결되어 외부의 요청에 대한 응답을 하는 어떠한 컴퓨터 또는 디바이스라도
반사체로 악용될 가능성이 있음.
- 11 -
DDoS Protection
• DDoS 공격 대응 개요
1. DDoS 공격 대응은 기본적으로 ‘공격자'와 ‘방어자'의 가용성 (Availability) 확보 싸움임.
2. 방어자는 자신이 관리하고 있는 웹 서버 및 방어 시스템 자원 (네트워크 대역폭, 웹 서버 성
능 등 물리적 요소 및 웹 서버, DB의 효율적 연동 등의 논리적 요소 포함) 의 한계점을
명확히 알고 있어야 함.
3. 운영 장비의 자원 현황 모니터링 및 끊임 없는 차단정책 개선 없이 단순히 장비에만 의존하여 공격
을 대응하는 것에는 한계가 존재하므로, 보호하기 위한 시스템과 방어를 위해 사용하는 자원
을 항시 모니터링하고 발생하는 DDoS 공격 유형에 따른 차단정책을 찾고 적용하는 것
이 무엇보다 중요함.
- 12 -
DDoS Protection
• DDoS 공격 대응 절차
1. 1단계: 공격 인지 (공격 여부 check)
A. 유입 트래픽의 크기 (비정상적인 증가) 확인, 웹 서버의 접속 로그 (비정상 접속 증가 여부) 확인,
동시 접속 정보 (평시대비 증감률 비교) 확인, 유입 트래픽 샘플링 분석 등을 통해 DDoS 공격
여부를 검증
2. 2단계: DDoS 공격 유형 파악
A. 패킷 덤프 (Packet Dump)를 이용하여 유입 트래픽을 확보하고, 확보된 트래픽을 분석함으로써
(프로토콜 정보, HTTP 헤더 정보, 연결 정보 등) 공격 유형을 파악 (예. 대역폭 소진 공격, DB 부
하 유발공격, 웹 서버 자원 공격 등)
3. 3단계: 공격 유형에 따른 차단정책 정의 및 대응
A. 대역폭 소진 공격 대응 방안
I. UDP Flooding, ICMP Flooding: 웹 서버 망을 보호하는 방화벽이나 웹 서버 망 상단에 위치
한 라우터에서 해당 프로토콜을 차단하도록 ACL (Access Control List) 설정
II. TCP Flooding: Source IP별로 pps (packets per second) 임계치를 설정
B. 웹 서버 자원 소모 공격 대응 방안
I. SYN Flooding: Source IP별로 pps 임계치를 설정하거나, 패킷 헤더 검사를 통해 정상적인 옵
션 필드 값을 가지지 않는 비정상 패킷 차단
C. DB connection 부하유발 공격 대응 방안
I. HTTP Get Flooding, Post Flooding: 클라이언트로부터의 요청 수에 대한 임계치를 설정하여
임계치를 초과하는 Source IP 접속 차단 혹은 HTTP 헤더를 확인하여 HTTP 표준에 맞지 않
는 필드 값을 차단하는 Signature로 설정
- 13 -
DDoS Protection
• DDoS 공격 대응 절차
4. 4단계: 공격 대응 후 사후 조치
A. 공격 시점의 BPS (Bytes per second), PPS, CPS (Connection per second) 변화 추이 확인
I. 공격 규모를 확인하여 웹 서버의 가용성이 침해될 수 있는 지점을 확인하여 정확한 분석 정
보가 반영된 차단정책 업데이트
B. 공격 유형 확인
I. 프로토콜에 대한 통계, 패킷 크기에 대한 통계, 요청 형태에 대한 통계를 상세히 확인하여 시
간에 따른 공격 유형의 변경 여부 또는 복합 공격 여부를 확인하여 차단 정책 업데이트
C. HTTP 요청 패킷 형태 확인
I. 특정 시간대의 HTTP 요청 횟수를 확인하여 비정상적인 행위여부를 규명하고
II. HTTP 헤더의 각 필드 정보를 조사하여, HTTP 표준을 준수하지 않는 비정상 메시지를 차단
할 수 있도록 차단정책 업데이트
D. 좀비 PC IP 확보
I. TCP 기반의 웹 서버 가용성 마비 공격은 (GET(POST) flooding 등) TCP 3-way handshaking
완료와 함께 시작하므로 실제 공격 IP를 확보하여 차단하도록 조치
II. 대역폭 소진 공격의 경우, 공격자는 대부는 Source IP를 위조하므로 IP 위변조 여부를 반드
시 확인해야 함.
2. Web Application Firewall Basics
- 15 -
Firewall
• Firewall 시스템이란 인터넷과 같은 외부 네트워크로부터 기업 내부 네트워크를 보호하는
보안장치로 사설망과 공중망 사이의 경계에 위치하여 내부에서 외부로 또는 외부에서 내부로 흘러 다
니는 네트워크 트래픽을 제어하는 시스템을 말함.
• Firewall 시스템은 내부 사설망과 외부망을 논리적, 물리적으로 분리하게 하며 외부망과 통신하는 모든
트래픽들은 반드시 이 Firewall 시스템을 통과하게 되며 Firewall에 정의된 보안 정책에 따
라 사내 네트워크 접근제어, 사용자 접근제어를 수행하게 됨.
• Firewall은 허용된 네트워크 사용자에게 원하는 서비스를 제공하고, 허용되지 않은 사용자에게는 서비
스를 차단하고, 서비스의 허용 또는 실패에 대한 로그를 생성함. Firewall의 주요 기능은 다음과 같음.
1. 외부 네트워크와 연결된 유일한 통로 역할 수행 (Gateway)
2. 서비스 접속 및 거부, 사용자 인증
3. 내/외부 상호 접속된 네트워크에 대한 트래픽 감시, 기록
• 거의 모든 Firewall은 기본 보안 개념으로 ‘명백히 허용되지 않은 접근은 금지한다’는 정책을 수립하고
있음.
- 16 -
Firewall
• 구현 방식에 따른 Firewall 시스템의 종류
1. 패킷 필터링 방식 (Packet Filtering)
A. OSI 7 계층에서 3계층인 네트워크 레이어와 4계층인 트랜스포트 레이어에서 패킷 필터링 기능
을 수행하며,
B. IP Header와 Protocol (TCP/UDP/ICMP 등) Header 정보 (통상
Source/Destination IP 주소, Port number)만을 이용해 미리 설정된 보안정책
(Security policy 또는 Access Control rule)에 따라 해당 패킷을 통과시킬 것인지
말 것인지를 결정함.
C. 현재 출시되고 있는 대부분의 Router에는 기본 기능으로 내장되어 있으며, 대부분의 상용 방화
벽 솔루션들도 어떤 형태로든 패킷 필터링 기능을 기본적으로 제공하고 있음.
2. 프락시 방식 (Application-level Proxy)
A. 프락시 방식은 특정 애플리케이션 서비스에 대해 내부망과 외부망을 연결시켜 주는 중간 매개
자 역할을 하는 것으로, 클라이언트-서버 간의 Direct connection 대신, 클라이언트를
대신해서 서버와의 Connection을 열어 클라이언트-서버 사이의 통신을 중개해 줌.
B. 주요 기능
I. 정교한 접근 제어 가능 (IP Address, Port Number, 애플리케이션 서비스, 시간/날짜 별 접근
제어 구현 가능)
II. 상세 로그 기록 가능 (Address, Port Number, 실행된 Command, 전송된 File 이름, 바이트
수, 소요시간, 사용자 별 사용빈도 등 구현)
III. 비정상적인 Network Activity를 가려내어 대책을 세우는 데 필수적이며, 외부에서는 프락시
서버만 인식하므로 내부 망의 시스템 구성 (IP Address 등)을 외부로부터 완전히 은폐
- 17 -
Firewall
• 구현 방식에 따른 Firewall 시스템의 종류
3. 서킷 게이트웨이 방식 (Circuit Gateway)
A. 서킷 게이트웨이 방식은 애플리케이션 프락시와 유사한 프락시 기능을 제공하지만 클
라이언트와 서버 사이에 가상의 서킷을 형성하여 데이터를 전달하게 됨.
B. Firewall과의 통신을 위해 클라이언트는 특별한 프로토콜 (예. SOCKS)을 사용해야 함.
C. 또한 Application Protocol을 해석하지 않으므로, Application-specific access control이나 로그
기록/감시 기능을 제공하지는 못함.
4. Stateful Inspection 방식
A. Stateful Inspection 방식은 패킷 필터링 방식보다 발전된 형태로,
B. 단순히 Header 정보만 가지고 필터링을 하는 대신 Inspection은 Header 뿐만 아니라 패킷 내
용 (문맥) 전체를 해석하여 접근정책을 적용하는 방식으로 네트워크 레이어에서 어
플리케이션 레이어까지 모든 프로토콜을 이해하는 Inspection module에서 모든
레이어로부터 관련 정보를 얻은 후 이를 바탕으로 보안 정책을 수행함.
C. 특히, 과거의 패킷에 대한 정보, 즉 State information을 지속적으로 유지하여 이를 바탕으로 현
재 패킷의 통과 여부를 결정함.
- 18 -
Firewall
• 방화벽 구현 방식 별 장단점
구분 장점 단점
Packet Filtering • 처리속도가 상대적으로 빠름
• 사용자에게 투명성 제공
• 새로운 서비스에 대해 비교적 쉽게 연동 가능
• 다른 방식에 비해 저렴한 구축 비용
• 기존 응용서비스 프로그램에 대한 수정 불필요
• 데이터가 IP수준에서 처리되어 데이터 내용에 대
한 분석 불가능
• 접근제어를 위한 복잡한 규칙으로 운영 어려움
• IP패킷 헤더정보 (src/dst/port)에 대한 변조 가능
성 존재
• 로깅 및 사용자 인증 기능에 대한 한계성 존재
Proxy • 내부와 외부 네트워크간 직접 연결 허용되지 않
아 외부의 공격으로부터 1차 보호 가능
• 기존 응용서비스 프로그램에 대한 수정 불필요
• 일회용 패스워드 등의 향상된 인증기법 사용가능
• 강화된 로깅 및 감사 기능 제공
• 서비스 별 개별 접근제한/이용시간 등의 부가적
인 기능구현 용이
• 처리속도가 상대적으로 느리며 사용자에게 투명
성을 제공하기 힘든 방식
• 새로운 서비스 제공을 위해서 새로운 프락시가
추가되어야 하기 때문에 새로운 서비스에 대한
유연성 부족
Circuit Gateway • 단순하면서도 서비스의 유연성 높음
• 다른 방식에 비해 좀 더 높은 보안성 제공
• 서킷 프로토콜 통신을 위한 사용자측의 프로그램
수정 필요
Stateful Inspection • 보안성 우수
• 새로운 서비스 부가 용이
• 보안에 비례한 구축의 복잡성
• 높은 구축 비용 발생
• 관리의 복잡성
- 19 -
Firewall
• 방화벽의 주요 기능
기능 기능 설명
접근제어 • 시간대/사용자/네트워크/서비스 별 차등 보안정책 설정
• 침입탐지 모듈 탑재하여 주요 해킹 공격 탐지 및 차단
네트워크 주소 변환 • 외부의 공인 네트워크 주소를 내부의 사설 네트워크 주소로 변환 (1:1, 1:N, M:N, Reverse NAT 매핑 지원)
• NAT를 적용하지 않을 별도의 호스트 및 네트워크 지정 가능
• 특정 시스템으로 지정한 서비스를 Forwarding할 수 있는 Redirect NAT 지원
모니터링 및 알람 • 서비스의 실시간 세션상태 모니터링 및 검색 기능
• 실시간 모니터링 중 의심스러운 세션 차단 기능
• 일부 서비스에 대한 세션 캡쳐를 통한 사후 감사 추적 기능
• 주요 보안정책 위반 시 관리자에게 통보
• 실시간 NAT 상태 감시
사용자 인증 • 자체 Password 인증기법 및 일회용패스워드 등을 지원
• 프락시 이용 불가능한 서비스를 위한 클라이언트 인증 방식 (Telnet, SSL Web 기반)
가용성 보장 및 암호화 • 방화벽 SW간의 High Availability 모듈을 내장하여 Primary/Backup 구조 구현
• VPN 모듈을 내장하여 외부 네트워크간 데이터 암호화를 통한 VPN 구현
감사기록 및 통계 • 방화벽을 통해 제공되는 모든 네트워크 접근에 대한 상세한 감사기록을 DB형태로 저장
• 저장된 감사 기록에 대한 통계 기능
• 외부의 별도 로그 서버를 구성할 수 있는 외부 로그 저장 기능
시스템 운영 및 관리 • 관리자용 UI를 통한 방화벽 운영 기능 지원
• 128bit 이상의 SSL 지원
• 시스템 자체 취약성 진단을 통한 리포팅
• Scheduled backup 기능
- 20 -
Application Security Risk
• OWASP (Open Web Application Security Project)
1. 오픈 소스 웹 애플리케이션 보안 프로젝트를 의미하며, 주로 웹에 관한 정보 노출, 악성 파일 및 스
크립트, 보안 취약점 등을 연구하고, 10대 웹 애플리케이션의 취약점 (OWASP TOP 10)을 발표하였
음.
2. OWASP TOP 10을 선정하는 가장 큰 이유는 가장 중요한 웹 애플리케이션의 보안 취약점 개발자,
설계자, 아키텍트, 운영자, 혹은 기관들에게 주요 웹 애플리케이션 보안 취약점으로 인한 영향을 알
리기 위해서임.
3. TOP 10은 위험도가 큰 문제들에 대해 대응할 수 있는 기본적인 기술을 제공하며, 또한 이를 근거로
향후 방향을 제시하고 있음.
• 애플리케이션 보안 위험이란?
1. 공격자들은 애플리케이션을 통해 잠재적인 많은 경로를 이용하여 사업이나 조직에 피해를 입히게
되는데,
A. 이러한 경로들을 찾아내고 공격하는 것이 쉬울 수도 있고, 어떤 경로는 어려울 수도 있음.
B. 이로 인해 발생한 손해가 경미할 수도 있고, 사업을 몰락시킬 만큼 중대한 일일 수도 있음.
- 21 -
OWASP TOP 10 Risk
• OWASP TOP 10 Application Security Risk (2013)
1. Injection
A. SQL, 운영체제, LDAP 인젝션 취약점은 신뢰할 수 없는 데이터가 명령어나 질의문의 일부분으로
인터프리터로 보내질 때 발생하고,
B. 공격자의 악의적인 데이터는 예상하지 못하는 명령을 실행하거나 적절한 권한 없이 데이터에
접근하도록 인터프리터를 속일 수 있음.
C. SQL: 로그인 폼에 아이디와 비밀번호를 입력하면 입력한 값이 서버로 넘어가고, 데이터베이스
를 조회하여 정보가 있다면 로그인에 성공하게 되는데, 이 때 데이터베이스에 값을 조회하기 위
해 사용되는 언어를 SQL이라고 함.
D. SQL 인젝션: 코드 인젝션의 한 기법으로 클라이언트의 입력 값을 조작하여 서버의 데
이터베이스를 공격할 수 있는 공격 방식으로, 공격이 쉬운데 비해 파괴력이 매우 큰 특징
을 가지고 있음. 이러한 인젝션 계열의 취약점들은 테스트를 통해 발견하기는 힘들지만 스캐닝
툴이나 코드 검증절차를 거치면 보통 쉽게 발견되기 때문에 탐지하기는 쉬운 편임.
2. Broken Authentication and Session Management (인증 및 세션 관리 취약점)
A. 인증 및 세션 관리와 관련된 애플리케이션 기능은 정확하게 구현되어 있지 않아서,
B. 공격자가 패스워드, 키 또는 세션 토큰을 해킹하거나 다른 구현 취약점을 공격하여 다른 사용자
ID로 가장할 수 있음.
- 22 -
OWASP TOP 10 Risk
• OWASP TOP 10 Application Security Risk (2013)
3. Cross-Site Scripting (XSS) (크로스 사이트 스크립팅)
A. 웹 상에서 가장 기초적인 취약점 공격 방법의 일종으로 악의적인 사용자가 공격하려는 사
이트에 스크립트를 넣는 기법을 말함.
B. 공격에 성공하면 사이트에 접속한 사용자는 삽입된 코드를 실행하게 되며, 보통 의
도치 않은 행동을 수행시키거나 쿠키나 세션 토큰 등의 민감한 정보를 탈취하게 됨.
C. 주로 자바스크립트를 이용한 공격이 대표적이나 HTML 태그의 속성을 이용한 공격 방식 등 여
러 방식이 존재함.
D. 여러 사용자가 접근 가능한 게시판 등에 코드를 삽입하는 경우도 많으며, 경우에 따라서는 스팸
메일을 통해서도 전파되기도 함.
4. Insecure Direct Object References (취약한 직접 객체 참조)
A. 직접 객체 참조는 개발자가 파일, 디렉터리, 데이터베이스 키와 같은 내부 구현 객체를 참조하
는 것을 노출시킬 때 발생하며,
B. 접근 통제를 통한 확인이나 다른 보호수단이 없다면, 공격자는 노출된 참조를 조작하여 허가 받
지 않은 데이터에 접근할 수 있음.
5. Security Misconfiguration (보안 설정 오류)
A. 훌륭한 보안은 애플리케이션, 프레임워크, 애플리케이션 서버, 웹 서버, 데이터베이스 서버 및
플랫폼에 대한 보안 설정이 정의되고 적용되어 있음.
B. 기본으로 제공되는 값은 종종 안전하지 않기 때문에 보안 설정은 정의, 구현 및 유지되어야 하
며, 소프트웨어는 최신의 상태로 유지해야 함.
- 23 -
OWASP TOP 10 Risk
• OWASP TOP 10 Application Security Risk (2013)
6. Sensitive Data Exposure (민감 데이터 노출)
A. 많은 웹 애플리케이션들이 신용카드, 개인 식별 정보 및 인증 정보와 같은 중요한 데이터를 제
대로 보호하지 않으며,
B. 공격자는 신용카드 사기, 신분 도용 또는 다른 범죄를 수행하는 등 약하게 보호된 데이터를 훔
치거나 변경할 수 있음.
C. 중요 데이터가 저장 또는 전송 중이거나 브라우저와 교환하는 경우 특별히 주의하여야 하며, 암
호화와 같은 보호 조치를 취해야 함.
7. Missing Function Level Access Control (기능 수준의 접근 통제 누락)
A. 대부분의 웹 애플리케이션은 UI에 해당 기능을 보이게 하기 전에 기능 수준의 접근 권한을 확인
하지만,
B. 애플리케이션은 각 기능에 접근하는 서버에 동일한 접근 통제 검사를 수행하게 됨.
C. 요청에 적절히 확인하지 않을 경우 공격자는 적절한 권한 없이 기능에 접근하기 위한 요청을 위
조할 수 있음.
8. Cross-Site Request Forgery (CSRF) (크로스 사이트 요청 변조)
A. CSRF 공격은 로그온 된 피해자의 취약한 웹 애플리케이션에 피해자의 세션 쿠키와 기타 다른
인증 정보를 자동으로 포함하여 위조된 HTTP 요청을 강제로 보내도록 하는 것임.
B. 이것은 공격자가 취약한 애플리케이션이 피해자로부터의 정당한 요청이라고 오해할 수 있는 요
청들을 강제로 만들 수 있음.
- 24 -
OWASP TOP 10 Risk
• OWASP TOP 10 Application Security Risk (2013)
9. Using Components with Known Vulnerabilities (알려진 취약점이 있는 컴포넌트 사용)
A. 컴포넌트, 라이브러리, 프레임워크 및 다른 소프트웨어 모듈은 대부분 항상 전체 권한으로 실행
되는데,
B. 이러한 취약한 컴포넌트를 악용하여 공격하는 경우 심각한 데이터 손실이 발생하거나 서버가
장악되게 됨.
C. 알려진 취약점이 있는 컴포넌트를 사용하는 애플리케이션은 애플리케이션 방어 체계를 손상하
거나, 공격 가능한 범위를 활성화하는 등의 영향을 미치게 됨.
10. Invalidated Redirect and Forwards (검증되지 않은 리다이렉트 및 포워드)
A. 웹 애플리케이션은 종종 사용자들을 다른 페이지로 리다이렉트 하거나 포워드하고, 대상 페이
지를 결정하기 위해 신뢰할 수 없는 데이터를 사용하는데,
B. 적절한 검증 절차가 없으면 공격자는 피해자를 피싱 또는 악성코드 사이트로 리다이렉트 하거
나 승인되지 않은 페이지에 접근하도록 전달 할 수 있음.
- 25 -
Web Application Firewall
• 웹 방화벽이란? (Web Application Firewall: WAF)
1. 웹 방화벽 (Web Application Firewall, WAF)는 일반적인 네트워크 방화벽 (Firewall)과는 달리 웹 애
플리케이션 보안에 특화되어 개발된 솔루션을 의미함.
2. 웹 방화벽의 기본 역할은 SQL Injection, Cross-Site Scripting (XSS) 등과 같은 웹 공격
을 탐지하고 차단하는 것이며, 직접적인 웹 공격 대응 외에도 정보유출방지솔루션, 부정 로그
인 방지 솔루션, 웹사이트위변조방지솔루션 등으로 활용이 가능함.
A. 정보유출방지솔루션으로 웹 방화벽을 이용할 경우, 개인 정보가 웹 게시판에 게시되거나 개인
정보가 포함된 파일 등이 웹을 통해 업로드 및 다운로드 되는 경우에 대해서 탐지하고 이에 대
응하는 것이 가능함.
B. 부정로그인 방지솔루션으로서는 추정 가능한 모든 경우의 수를 대입하여 웹 사이트에 로그인을
시도하는 경우와 같은 비정상적인 접근에 대한 접근 제어 기능을 함.
C. 웹사이트위변조방지솔루션의 역할은 해커가 해킹을 한 후에 과시하는 것이 목적인 웹사이트 위
변조가 발생했을 경우, 이에 대해 탐지하고 대응하는 것임.
3. 웹 방화벽은 위에서 기술한 4가지 웹 보안 기능을 제공하면서, 웹 애플리케이션이라는 ‘집'을 미
처 예상하지 못했던 외부의 공격으로부터 지켜내고, 사전에 발견하지 못했던 내부의 위험 요소로부
터 지켜내는 ‘울타리‘ 역할을 수행하는 존재하고 할 수 있음.
- 26 -
Web Application Firewall
• 웹 방화벽의 진화
1. 1세대 웹 방화벽
A. 블랙리스트 방식과 더불어 안전한 접근에 대한 허용 리스트인 화이트리스트
(White List)를 병행하는 방식을 사용하였음.
B. 자동으로 온라인 업데이트 서비스를 제공하는 블랙리스트와는 달리 화이트리스트는 고객 환경
에 따라 다르게 적용이 되기 때문에 관리자가 직접 생성 및 관리를 할 수 밖에 없어 관리자에게
매우 큰 관리 부담으로 작용함.
C. 공격 유형이 다양해짐에 따라 등록된 시그니처의 수가 늘어날수록 성능이 저하되는 문제도 발
생함.
- 27 -
Web Application Firewall
• 웹 방화벽의 진화
2. 2세대 웹 방화벽
A. 보호 대상 웹 애플리케이션을 몇 주간의 모니터링을 통해 분석하여, 화이트리스트 생성을 자동
으로 처리해 줌.
B. 하지만 화이트리스트 또한 적용을 위한 최종 검토 및 관리가 필요했기 때문에 관리자의 부담은
여전히 존재했음.
3. 3세대 웹 방화벽 (지능형 웹 방화벽)
A. 웹 공격 유형별로 블랙리스트 탐지, 화이트리스트 탐지 및 웹 트래픽 컨텐츠 분석 등의 기법들
을 논리적으로 결합하여 공격을 탐지하는 방식을 사용함.
B. 1, 2세대 웹 방화벽 대비 오탐율을 대폭 줄이고, 특정 공격 유형의 새로운 변종 공격이 발생할
경우, 최소한의 시그니처의 추가만으로 바로 변종 공격의 방어가 가능해짐.

More Related Content

What's hot

LTM essentials
LTM essentialsLTM essentials
LTM essentialsbharadwajv
 
The WAF book (Web App Firewall )
The WAF book  (Web App Firewall )The WAF book  (Web App Firewall )
The WAF book (Web App Firewall )Lior Rotkovitch
 
Benefits of web application firewalls
Benefits of web application firewallsBenefits of web application firewalls
Benefits of web application firewallsEnclaveSecurity
 
A2 - broken authentication and session management(OWASP thailand chapter Apri...
A2 - broken authentication and session management(OWASP thailand chapter Apri...A2 - broken authentication and session management(OWASP thailand chapter Apri...
A2 - broken authentication and session management(OWASP thailand chapter Apri...Noppadol Songsakaew
 
Cross site scripting attacks and defenses
Cross site scripting attacks and defensesCross site scripting attacks and defenses
Cross site scripting attacks and defensesMohammed A. Imran
 
Type of DDoS attacks with hping3 example
Type of DDoS attacks with hping3 exampleType of DDoS attacks with hping3 example
Type of DDoS attacks with hping3 exampleHimani Singh
 
The OWASP Zed Attack Proxy
The OWASP Zed Attack ProxyThe OWASP Zed Attack Proxy
The OWASP Zed Attack ProxyAditya Gupta
 
Web Application Firewall intro
Web Application Firewall introWeb Application Firewall intro
Web Application Firewall introRich Helton
 
Lior rotkovitch ASM WAF unified learning – building policy with asm v12
Lior rotkovitch   ASM WAF  unified learning – building policy with asm v12Lior rotkovitch   ASM WAF  unified learning – building policy with asm v12
Lior rotkovitch ASM WAF unified learning – building policy with asm v12Lior Rotkovitch
 
Recon with Nmap
Recon with Nmap Recon with Nmap
Recon with Nmap OWASP Delhi
 
Gerenciamento de Redes com Zabbix
Gerenciamento de Redes com ZabbixGerenciamento de Redes com Zabbix
Gerenciamento de Redes com ZabbixAndré Déo
 
AWS 네트워크 보안을 위한 계층별 보안 구성 모범 사례 – 조이정, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
AWS 네트워크 보안을 위한 계층별 보안 구성 모범 사례 – 조이정, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집AWS 네트워크 보안을 위한 계층별 보안 구성 모범 사례 – 조이정, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
AWS 네트워크 보안을 위한 계층별 보안 구성 모범 사례 – 조이정, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집Amazon Web Services Korea
 
SAP, 아마존 클라우드에서 어떻게 하면 잘한다고 소문이 날까? AWS 클라우드 환경에서 ISMS-P(정보보호 관리체계) "인싸"가 되는 ...
SAP, 아마존 클라우드에서 어떻게 하면 잘한다고 소문이 날까? AWS 클라우드 환경에서 ISMS-P(정보보호 관리체계) "인싸"가 되는 ...SAP, 아마존 클라우드에서 어떻게 하면 잘한다고 소문이 날까? AWS 클라우드 환경에서 ISMS-P(정보보호 관리체계) "인싸"가 되는 ...
SAP, 아마존 클라우드에서 어떻게 하면 잘한다고 소문이 날까? AWS 클라우드 환경에서 ISMS-P(정보보호 관리체계) "인싸"가 되는 ...Amazon Web Services Korea
 
Open infradays 2019_msa_k8s
Open infradays 2019_msa_k8sOpen infradays 2019_msa_k8s
Open infradays 2019_msa_k8sHyoungjun Kim
 

What's hot (20)

LTM essentials
LTM essentialsLTM essentials
LTM essentials
 
The WAF book (Web App Firewall )
The WAF book  (Web App Firewall )The WAF book  (Web App Firewall )
The WAF book (Web App Firewall )
 
Benefits of web application firewalls
Benefits of web application firewallsBenefits of web application firewalls
Benefits of web application firewalls
 
WAF 101
WAF 101WAF 101
WAF 101
 
Denial Of Service Attack
Denial Of Service AttackDenial Of Service Attack
Denial Of Service Attack
 
A2 - broken authentication and session management(OWASP thailand chapter Apri...
A2 - broken authentication and session management(OWASP thailand chapter Apri...A2 - broken authentication and session management(OWASP thailand chapter Apri...
A2 - broken authentication and session management(OWASP thailand chapter Apri...
 
Owasp zap
Owasp zapOwasp zap
Owasp zap
 
Cross site scripting attacks and defenses
Cross site scripting attacks and defensesCross site scripting attacks and defenses
Cross site scripting attacks and defenses
 
F5 DDoS Protection
F5 DDoS ProtectionF5 DDoS Protection
F5 DDoS Protection
 
Type of DDoS attacks with hping3 example
Type of DDoS attacks with hping3 exampleType of DDoS attacks with hping3 example
Type of DDoS attacks with hping3 example
 
The OWASP Zed Attack Proxy
The OWASP Zed Attack ProxyThe OWASP Zed Attack Proxy
The OWASP Zed Attack Proxy
 
Web Application Firewall intro
Web Application Firewall introWeb Application Firewall intro
Web Application Firewall intro
 
Lior rotkovitch ASM WAF unified learning – building policy with asm v12
Lior rotkovitch   ASM WAF  unified learning – building policy with asm v12Lior rotkovitch   ASM WAF  unified learning – building policy with asm v12
Lior rotkovitch ASM WAF unified learning – building policy with asm v12
 
IDS and IPS
IDS and IPSIDS and IPS
IDS and IPS
 
Squid server
Squid serverSquid server
Squid server
 
Recon with Nmap
Recon with Nmap Recon with Nmap
Recon with Nmap
 
Gerenciamento de Redes com Zabbix
Gerenciamento de Redes com ZabbixGerenciamento de Redes com Zabbix
Gerenciamento de Redes com Zabbix
 
AWS 네트워크 보안을 위한 계층별 보안 구성 모범 사례 – 조이정, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
AWS 네트워크 보안을 위한 계층별 보안 구성 모범 사례 – 조이정, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집AWS 네트워크 보안을 위한 계층별 보안 구성 모범 사례 – 조이정, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
AWS 네트워크 보안을 위한 계층별 보안 구성 모범 사례 – 조이정, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
 
SAP, 아마존 클라우드에서 어떻게 하면 잘한다고 소문이 날까? AWS 클라우드 환경에서 ISMS-P(정보보호 관리체계) "인싸"가 되는 ...
SAP, 아마존 클라우드에서 어떻게 하면 잘한다고 소문이 날까? AWS 클라우드 환경에서 ISMS-P(정보보호 관리체계) "인싸"가 되는 ...SAP, 아마존 클라우드에서 어떻게 하면 잘한다고 소문이 날까? AWS 클라우드 환경에서 ISMS-P(정보보호 관리체계) "인싸"가 되는 ...
SAP, 아마존 클라우드에서 어떻게 하면 잘한다고 소문이 날까? AWS 클라우드 환경에서 ISMS-P(정보보호 관리체계) "인싸"가 되는 ...
 
Open infradays 2019_msa_k8s
Open infradays 2019_msa_k8sOpen infradays 2019_msa_k8s
Open infradays 2019_msa_k8s
 

Similar to DDoS and WAF basics

ShieldOne-SIG 제품소개서 3.5
ShieldOne-SIG 제품소개서 3.5ShieldOne-SIG 제품소개서 3.5
ShieldOne-SIG 제품소개서 3.5PLUS-I
 
사이버보안 핵심원리 / Cybersecurity Fundamentals
사이버보안 핵심원리 / Cybersecurity Fundamentals사이버보안 핵심원리 / Cybersecurity Fundamentals
사이버보안 핵심원리 / Cybersecurity FundamentalsJean Ryu
 
14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)
14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)
14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)JaeChun Lee
 
호두마루와 체리마루
호두마루와 체리마루호두마루와 체리마루
호두마루와 체리마루apxA
 
F5_Active-Active Data Center.pdf
F5_Active-Active Data Center.pdfF5_Active-Active Data Center.pdf
F5_Active-Active Data Center.pdfSolutions Architect
 
컴퓨터보안.pptx
컴퓨터보안.pptx컴퓨터보안.pptx
컴퓨터보안.pptxdalonn
 
01 Network Security
01 Network Security01 Network Security
01 Network SecuritySecureNomad
 
9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)
9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)
9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)Amazon Web Services Korea
 
소켓프로그래밍 기초요약
소켓프로그래밍 기초요약소켓프로그래밍 기초요약
소켓프로그래밍 기초요약세빈 정
 
Web hacking introduction
Web hacking introductionWeb hacking introduction
Web hacking introductionJinkyoung Kim
 
Bitscan appliance
Bitscan applianceBitscan appliance
Bitscan applianceBitscan
 
HTTP 완벽가이드 - ch5. web server
HTTP 완벽가이드 - ch5. web serverHTTP 완벽가이드 - ch5. web server
HTTP 완벽가이드 - ch5. web serverMungyu Choi
 
AWS CLOUD 2017 - AWS Shield를 통한 DDoS 대비 복원성 강한 AWS 보안 아키텍처 구성 (임기성 솔루션즈 아키텍트)
AWS CLOUD 2017 - AWS Shield를 통한 DDoS 대비 복원성 강한 AWS 보안 아키텍처 구성 (임기성 솔루션즈 아키텍트)AWS CLOUD 2017 - AWS Shield를 통한 DDoS 대비 복원성 강한 AWS 보안 아키텍처 구성 (임기성 솔루션즈 아키텍트)
AWS CLOUD 2017 - AWS Shield를 통한 DDoS 대비 복원성 강한 AWS 보안 아키텍처 구성 (임기성 솔루션즈 아키텍트)Amazon Web Services Korea
 
클라우드 플레어 101
클라우드 플레어 101클라우드 플레어 101
클라우드 플레어 101Jinseok Oh
 

Similar to DDoS and WAF basics (20)

씨디네트웍스_Cloud Security 소개서
씨디네트웍스_Cloud Security 소개서씨디네트웍스_Cloud Security 소개서
씨디네트웍스_Cloud Security 소개서
 
ShieldOne-SIG 제품소개서 3.5
ShieldOne-SIG 제품소개서 3.5ShieldOne-SIG 제품소개서 3.5
ShieldOne-SIG 제품소개서 3.5
 
사이버보안 핵심원리 / Cybersecurity Fundamentals
사이버보안 핵심원리 / Cybersecurity Fundamentals사이버보안 핵심원리 / Cybersecurity Fundamentals
사이버보안 핵심원리 / Cybersecurity Fundamentals
 
14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)
14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)
14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)
 
[DDos] Trus guard dpx
[DDos] Trus guard dpx[DDos] Trus guard dpx
[DDos] Trus guard dpx
 
CDN overview
CDN overviewCDN overview
CDN overview
 
호두마루와 체리마루
호두마루와 체리마루호두마루와 체리마루
호두마루와 체리마루
 
F5_Active-Active Data Center.pdf
F5_Active-Active Data Center.pdfF5_Active-Active Data Center.pdf
F5_Active-Active Data Center.pdf
 
컴퓨터보안.pptx
컴퓨터보안.pptx컴퓨터보안.pptx
컴퓨터보안.pptx
 
01 Network Security
01 Network Security01 Network Security
01 Network Security
 
9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)
9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)
9월 웨비나 - AWS에서의 네트워크 보안 (이경수 솔루션즈 아키텍트)
 
L4교육자료
L4교육자료L4교육자료
L4교육자료
 
소켓프로그래밍 기초요약
소켓프로그래밍 기초요약소켓프로그래밍 기초요약
소켓프로그래밍 기초요약
 
Web hacking introduction
Web hacking introductionWeb hacking introduction
Web hacking introduction
 
Bitscan appliance
Bitscan appliance Bitscan appliance
Bitscan appliance
 
Bitscan appliance
Bitscan applianceBitscan appliance
Bitscan appliance
 
HTTP 완벽가이드 - ch5. web server
HTTP 완벽가이드 - ch5. web serverHTTP 완벽가이드 - ch5. web server
HTTP 완벽가이드 - ch5. web server
 
3장
3장3장
3장
 
AWS CLOUD 2017 - AWS Shield를 통한 DDoS 대비 복원성 강한 AWS 보안 아키텍처 구성 (임기성 솔루션즈 아키텍트)
AWS CLOUD 2017 - AWS Shield를 통한 DDoS 대비 복원성 강한 AWS 보안 아키텍처 구성 (임기성 솔루션즈 아키텍트)AWS CLOUD 2017 - AWS Shield를 통한 DDoS 대비 복원성 강한 AWS 보안 아키텍처 구성 (임기성 솔루션즈 아키텍트)
AWS CLOUD 2017 - AWS Shield를 통한 DDoS 대비 복원성 강한 AWS 보안 아키텍처 구성 (임기성 솔루션즈 아키텍트)
 
클라우드 플레어 101
클라우드 플레어 101클라우드 플레어 101
클라우드 플레어 101
 

DDoS and WAF basics

  • 1. DDoS and WAF Basics 2016.05 | Yoohyun Kim
  • 2. 목 차 1. DDoS Basics 2. WAF Basics
  • 4. - 4 - Denial of Service (DoS) • 서비스 거부 공격 (Denial of Service attack): 서비스 거부 공격 또는 디오에스/도스(DoS)는 시스템을 악의적으로 공격해 해당 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 하는 공 격을 의미함. 1. 특정 서버에 수많은 접속 시도를 만들어 다른 이용자가 정상적으로 서비스 이용을 하지 못하게 하거나, 서버의 TCP 연결을 바닥내는 등의 공격이 이 범위에 포함됨. 2. 수단, 동기, 표적은 다양할 수 있지만, 보통 인터넷 사이트 또는 서비스의 기능을 일시적 또는 무기한 으로 방해 또는 중단을 초래하는 것이 목적임. 3. 통상적으로 DoS는 유명한 사이트, 즉 은행, 신용카드 지불 게이트웨이, 심지어는 루트 네임 서버를 상대로 이루어지기도 함. 2002년 10월 22일과 2007년 2월 6일의 Root DNS 서버에 대한 DNS 백 본 DDoS 공격은 인터넷 URL 주소체계를 무력화 시킨 인터넷 전체에 대한 공격이었음.
  • 5. - 5 - Distributed Denial of Service (DDoS) • 분산 서비스 거부 공격 (Distributed Denial of Service attack): 분산 서비스 거부 공격 또는 디디오에 스/디도스(DDoS)는 분산 배치된 여러 대의 컴퓨터에서 한 웹 서버 (Victim)에 비정상적인 트 래픽을 흘려 보내 웹 서버가 과도한 트래픽 소모 및 프로세스 진행, 과도한 입출력 등을 통 해 서비스가 중지되게 하는 서버 공격 방법을 의미함. 1. 이는 IAB (Internet Architecture Board)의 정당한 인터넷 사용 정책에 반하는 것으로 여겨지며, 2. 거의 모든 인터넷 서비스 공급자의 허용할 수 있는 사용 정책도 위반하고, 3. 개별 국가의 법률에도 저촉됨. (대한민국의 경우, 정보통신망 이용촉진 및 정보보호 등에 관한 법률 제 48조 (정보통신망 침해행위 등의 금지) 3항을 위반할 경우 5년 이하의 징역 또는 5천만 원 이하의 벌금) • 증상: 비정상적인 네트워크 성능 저하, 특정 웹사이트 접근 불가, 모든 웹사이트에 접근 불가, 특정 전자 우편의 급속한 증가 등이 나타나면 DoS 공격으로 의심할 수 있음. 1. DoS 공격은 공격을 받고 있는 컴퓨터 주위의 다른 컴퓨터에도 문제를 일으킬 수 있음. 예를 들어, 인터넷과 지역 망을 연결하는 라우터의 대역폭이 DoS 공격으로 소진되면 전체 네트워크 에 문제를 일으킬 수 있음. 2. 공격이 충분히 큰 규모로 이루어지면 전체 지역의 인터넷 접속이 영향을 받을 수도 있음.
  • 6. - 6 - Distributed Denial of Service attack • 단순하게는 브라우저의 F5키를 연속해서 눌러 서버에 웹 페이지 크기만큼의 트래픽을 주어 DDoS 공격 을 할 수 있음. 물론 혼자 할 경우 여러 대의 분산된 컴퓨터라는 정의에 맞지 않기 때문에 단순 DoS 공 격일 뿐이고, 조직적으로 어떤 시간대에 동시에 F5 키를 연속적으로 누르면 DDoS라고 부르는 것이 가 능함. (예. 디시 인사이드의 2ch 공격, 경인대첩) • 악성코드에 의한 좀비 PC 1. 유포한 악성 코드를 통해서 PC들을 ‘공격이 가능한‘ 좀비 PC로 만들어 공격에 동원하기도 함. 2. 감염된 수많은 컴퓨터가 일제히 서버에게 대량의 트래픽을 전송하여 서버가 허용하는 트래픽 용량 을 넘어서게 되면 정상적인 클라이언트가 서버로 접속할 수 없게 됨. • 악성스크립트에 의한 좀비 PC 1. 악성 코드가 아닌 악성 스크립트를 활용하는 방법도 있음. 접속량 많은 제 3의 사이트를 해킹해 서 A사이트에 DDoS를 실행하라는 스크립트를 삽입하면, 그 순간부터 제 3의 사이트를 접속하는 사람은 자신도 모르게 A사이트를 접속하여 공격하게 됨. 2. 해킹 당한 제 3의 사이트는 자신의 사이트에 아무런 영향이 없기 때문에 해킹 당했다는 것을 알지 못하며, 공격을 하는 접속자는 자신의 컴퓨터가 감염된 것이 아니기 때문에 DDoS에 악용되고 있다 는 상황을 인지하지 못하게 됨.
  • 7. - 7 - Example of DDoS attack • ICMP (Internet Control Message Protocol) Flood (대역폭 소진 공격) 1. ICMP는 IETF RFC 792에 정의된 프로토콜로써 호스트간 혹은 호스트와 라우터간의 에러 상태 혹은 상태 변화를 알려주고 요청에 응답을 하는 기능을 담당하는 네트워크 제어 프로토콜임. 2. 스머프 공격 (Smurf Attack)이라고도 부르는 ICMP Flood 공격은 Source (발신) 주소를 Victim의 주 소로 Destination (수신)주소를 Broadcast 주소 (네트워크 내 모든 노드에 패킷을 전송할 때 사용하 는 IP 주소)로 request 메시지를 보내는 공격으로, 3. 네트워크에 연결된 모든 노드들은 Broadcast에 대한 Response 메시지를 Victim으로 보내어 Victim (웹 서버)의 Bandwidth와 네트워크 Resource를 소모시키게 됨. • UDP Flood (대역폭 소진 공격) 1. UDP Flood 공격은 많은 수의 UDP packet을 Victim에 전송하여 정상적인 서비스가 불가 능하도록 하는 공격임. 2. 예를 들어, 1500bytes 크기를 가지며 source IP가 spoofing된 UDP 패킷을 Victim으로 다량 전송하 여 네트워크 대역폭 (bandwidth)를 소모함. • Spoofing: ‘속이다‘라는 사전적 의미를 가지고 있으며, 네트워크에서 spoofing 대상은 MAC 주소, IP 주 소, 포트 등 네트워크 통신과 관련된 모든 것이 될 수 있고, spoofing은 속임을 이용한 공격을 총칭함.
  • 8. - 8 - Example of DDoS attack • SYN Flood (자원 고갈형 공격) 1. SYN Flood 공격은 TCP의 연결 과정인 3-way handshaking을 이용하여 공격자가 Victim에 Source IP 를 spoofing하여 SYN 패킷을 특정 포트로 전송하게 되면 이 포트의 대기 큐 (Backlog Queue)를 가 득 차게 하여 이 포트에 들어오는 연결 요청을 큐가 빌 때까지 무시하도록 하는 방법임. 2. 3-way handshaking 과정 I. 1단계: A 클라이언트는 B 서버에 접속을 요청하는 SYN 패킷을 보내고, II. 2단계: B 서버는 요청을 받고 A 클라이언트에게 요청을 수락한다는 SYN 패킷과 ACK 패킷을 발 송하게 됨. III. 3단계: A 클라이언트는 B 서버에게 ACK를 보내고 이후로부터 연결이 이루어지고 본격적으로 데이터가 교환되는 과정이 3-way handshaking 과정임. 3. 그런데, 공격자가 1단계만 요청 (SYN)하고 B 서버로부터 응답 (SYN+ACK)을 받은 후 3단계, 즉 클라 이언트에서 ACK를 보내지 않는다면, SYN+ACK를 받은 B 서버는 A로부터 응답이 올 것을 기대하고 반쯤 열린 상태에 머무른 후 일정 시간 후 다음 요청이 오지 않으면 해당 연결을 초기화하게 되는데, 초기화하기 전까지 이 연결은 메모리 공간인 Backlog Queue에 계속 쌓이게 됨. 4. 이 위조된 연결 시도를 초기화하기 전에 위조된 새로운 요구가 계속 들어오게 된다면 또한 위조된 새로운 요구가 연결을 초기화하는 속도보다 더 빨리 이루어진다면, SYN 패킷이 Backlog Queue에 저장이 되다 결국 꽉 차게 되어 더 이상의 연결을 받아들일 수 없는 상태, 즉 서비스 거부 상태로 들어가게 됨.
  • 9. - 9 - Example of DDoS attack • 웹 페이지 부하 가중 공격 1. HTTP GET Flood: 3-way handshaking을 수행하여 정상적인 TCP connection을 맺은 후 짧은 시간 동안 반복적으로 웹 페이지를 요청하여 웹 서버의 과부하를 유발시키는 공격 2. HTTP CC (Cache Control) Attack: 공격자가 HTTP 헤더 user-agent 필드의 Cache-Control 옵션 을 ‘no-cache, no-store, must-revalidate, max-age=0’으로 설정하여 공격대상 웹 페이의 URL을 호출하여 웹 서버의 부하를 가중시키는 공격 3. Slowloris Attack (HTTP GET based flooding): 아파치 웹 서버를 대상으로 하는 공격기법으로 정 상적인 연결을 공격 대상 서버와 맺은 다음에 미완성된 HTTP 헤더를 대상 서버로 전송하여 대상 서버가 완성된 HTTP 헤더를 위해 연결을 유지한 가운데 대기 상태로 머물게 만들 어, 다수의 연결들로 인해 추가적인 접속 요청을 받아들일 수 없게 만드는 공격임. (웹 서 버에 HTTP 요청의 일부만 보내어 close하지 않도록 하게 함으로써 서버의 socket을 고갈 시키는 공 격 방법임.) 4. RUDY (HTTP POST based flooding): RUDY (R-U-DEAD-YET)는 FORM을 이용해 HTTP Post를 전송 하는 웹 페이지에 대해서 행하는 공격 방법임. Content length를 보고 그 길이만큼의 Content가 올 때까지 대기하고 있다는 점을 이용하여 초기에 길이를 크게 설정해 놓고, Content는 일정한 시간 간격으로 한 문자씩 전송하여 서버로 하여금 한 세션당 ‘Content length * interval seconds’만큼의 지연 시간을 발생시키는 공격 방법임.
  • 10. - 10 - Example of DDoS attack • DRDoS (Distributed Reflection Denial of Service attack, 분산 반사 서비스 거부 공격) 1. DDoS보다 한층 발전된 서비스 거부 공격 기술로 IP spoofing을 이용한 internet protocol의 약점과 서버들의 응답성을 악용한 공격 방법임. 2. DRDoS의 공격 방식은 IP 헤더에 들어가는 발신 (Source) IP 주소를 피해자의 IP로 조작하여, 정상적인 서비스를 하는 서버들에게 어떤 요청을 보내면, 3. 서버들은 패킷의 송신자 IP를 보고 그 IP로 응답을 하므로, 엉뚱하게 피해자에게 모든 응답이 되돌아가게 되는 방식임. 4. 의도치 않게 공격을 가하게 되는 서버들을 반사체 (Reflector), 또는 반사 서버 (Reflection Server)라 고 하며, 인터넷 상에 연결되어 외부의 요청에 대한 응답을 하는 어떠한 컴퓨터 또는 디바이스라도 반사체로 악용될 가능성이 있음.
  • 11. - 11 - DDoS Protection • DDoS 공격 대응 개요 1. DDoS 공격 대응은 기본적으로 ‘공격자'와 ‘방어자'의 가용성 (Availability) 확보 싸움임. 2. 방어자는 자신이 관리하고 있는 웹 서버 및 방어 시스템 자원 (네트워크 대역폭, 웹 서버 성 능 등 물리적 요소 및 웹 서버, DB의 효율적 연동 등의 논리적 요소 포함) 의 한계점을 명확히 알고 있어야 함. 3. 운영 장비의 자원 현황 모니터링 및 끊임 없는 차단정책 개선 없이 단순히 장비에만 의존하여 공격 을 대응하는 것에는 한계가 존재하므로, 보호하기 위한 시스템과 방어를 위해 사용하는 자원 을 항시 모니터링하고 발생하는 DDoS 공격 유형에 따른 차단정책을 찾고 적용하는 것 이 무엇보다 중요함.
  • 12. - 12 - DDoS Protection • DDoS 공격 대응 절차 1. 1단계: 공격 인지 (공격 여부 check) A. 유입 트래픽의 크기 (비정상적인 증가) 확인, 웹 서버의 접속 로그 (비정상 접속 증가 여부) 확인, 동시 접속 정보 (평시대비 증감률 비교) 확인, 유입 트래픽 샘플링 분석 등을 통해 DDoS 공격 여부를 검증 2. 2단계: DDoS 공격 유형 파악 A. 패킷 덤프 (Packet Dump)를 이용하여 유입 트래픽을 확보하고, 확보된 트래픽을 분석함으로써 (프로토콜 정보, HTTP 헤더 정보, 연결 정보 등) 공격 유형을 파악 (예. 대역폭 소진 공격, DB 부 하 유발공격, 웹 서버 자원 공격 등) 3. 3단계: 공격 유형에 따른 차단정책 정의 및 대응 A. 대역폭 소진 공격 대응 방안 I. UDP Flooding, ICMP Flooding: 웹 서버 망을 보호하는 방화벽이나 웹 서버 망 상단에 위치 한 라우터에서 해당 프로토콜을 차단하도록 ACL (Access Control List) 설정 II. TCP Flooding: Source IP별로 pps (packets per second) 임계치를 설정 B. 웹 서버 자원 소모 공격 대응 방안 I. SYN Flooding: Source IP별로 pps 임계치를 설정하거나, 패킷 헤더 검사를 통해 정상적인 옵 션 필드 값을 가지지 않는 비정상 패킷 차단 C. DB connection 부하유발 공격 대응 방안 I. HTTP Get Flooding, Post Flooding: 클라이언트로부터의 요청 수에 대한 임계치를 설정하여 임계치를 초과하는 Source IP 접속 차단 혹은 HTTP 헤더를 확인하여 HTTP 표준에 맞지 않 는 필드 값을 차단하는 Signature로 설정
  • 13. - 13 - DDoS Protection • DDoS 공격 대응 절차 4. 4단계: 공격 대응 후 사후 조치 A. 공격 시점의 BPS (Bytes per second), PPS, CPS (Connection per second) 변화 추이 확인 I. 공격 규모를 확인하여 웹 서버의 가용성이 침해될 수 있는 지점을 확인하여 정확한 분석 정 보가 반영된 차단정책 업데이트 B. 공격 유형 확인 I. 프로토콜에 대한 통계, 패킷 크기에 대한 통계, 요청 형태에 대한 통계를 상세히 확인하여 시 간에 따른 공격 유형의 변경 여부 또는 복합 공격 여부를 확인하여 차단 정책 업데이트 C. HTTP 요청 패킷 형태 확인 I. 특정 시간대의 HTTP 요청 횟수를 확인하여 비정상적인 행위여부를 규명하고 II. HTTP 헤더의 각 필드 정보를 조사하여, HTTP 표준을 준수하지 않는 비정상 메시지를 차단 할 수 있도록 차단정책 업데이트 D. 좀비 PC IP 확보 I. TCP 기반의 웹 서버 가용성 마비 공격은 (GET(POST) flooding 등) TCP 3-way handshaking 완료와 함께 시작하므로 실제 공격 IP를 확보하여 차단하도록 조치 II. 대역폭 소진 공격의 경우, 공격자는 대부는 Source IP를 위조하므로 IP 위변조 여부를 반드 시 확인해야 함.
  • 14. 2. Web Application Firewall Basics
  • 15. - 15 - Firewall • Firewall 시스템이란 인터넷과 같은 외부 네트워크로부터 기업 내부 네트워크를 보호하는 보안장치로 사설망과 공중망 사이의 경계에 위치하여 내부에서 외부로 또는 외부에서 내부로 흘러 다 니는 네트워크 트래픽을 제어하는 시스템을 말함. • Firewall 시스템은 내부 사설망과 외부망을 논리적, 물리적으로 분리하게 하며 외부망과 통신하는 모든 트래픽들은 반드시 이 Firewall 시스템을 통과하게 되며 Firewall에 정의된 보안 정책에 따 라 사내 네트워크 접근제어, 사용자 접근제어를 수행하게 됨. • Firewall은 허용된 네트워크 사용자에게 원하는 서비스를 제공하고, 허용되지 않은 사용자에게는 서비 스를 차단하고, 서비스의 허용 또는 실패에 대한 로그를 생성함. Firewall의 주요 기능은 다음과 같음. 1. 외부 네트워크와 연결된 유일한 통로 역할 수행 (Gateway) 2. 서비스 접속 및 거부, 사용자 인증 3. 내/외부 상호 접속된 네트워크에 대한 트래픽 감시, 기록 • 거의 모든 Firewall은 기본 보안 개념으로 ‘명백히 허용되지 않은 접근은 금지한다’는 정책을 수립하고 있음.
  • 16. - 16 - Firewall • 구현 방식에 따른 Firewall 시스템의 종류 1. 패킷 필터링 방식 (Packet Filtering) A. OSI 7 계층에서 3계층인 네트워크 레이어와 4계층인 트랜스포트 레이어에서 패킷 필터링 기능 을 수행하며, B. IP Header와 Protocol (TCP/UDP/ICMP 등) Header 정보 (통상 Source/Destination IP 주소, Port number)만을 이용해 미리 설정된 보안정책 (Security policy 또는 Access Control rule)에 따라 해당 패킷을 통과시킬 것인지 말 것인지를 결정함. C. 현재 출시되고 있는 대부분의 Router에는 기본 기능으로 내장되어 있으며, 대부분의 상용 방화 벽 솔루션들도 어떤 형태로든 패킷 필터링 기능을 기본적으로 제공하고 있음. 2. 프락시 방식 (Application-level Proxy) A. 프락시 방식은 특정 애플리케이션 서비스에 대해 내부망과 외부망을 연결시켜 주는 중간 매개 자 역할을 하는 것으로, 클라이언트-서버 간의 Direct connection 대신, 클라이언트를 대신해서 서버와의 Connection을 열어 클라이언트-서버 사이의 통신을 중개해 줌. B. 주요 기능 I. 정교한 접근 제어 가능 (IP Address, Port Number, 애플리케이션 서비스, 시간/날짜 별 접근 제어 구현 가능) II. 상세 로그 기록 가능 (Address, Port Number, 실행된 Command, 전송된 File 이름, 바이트 수, 소요시간, 사용자 별 사용빈도 등 구현) III. 비정상적인 Network Activity를 가려내어 대책을 세우는 데 필수적이며, 외부에서는 프락시 서버만 인식하므로 내부 망의 시스템 구성 (IP Address 등)을 외부로부터 완전히 은폐
  • 17. - 17 - Firewall • 구현 방식에 따른 Firewall 시스템의 종류 3. 서킷 게이트웨이 방식 (Circuit Gateway) A. 서킷 게이트웨이 방식은 애플리케이션 프락시와 유사한 프락시 기능을 제공하지만 클 라이언트와 서버 사이에 가상의 서킷을 형성하여 데이터를 전달하게 됨. B. Firewall과의 통신을 위해 클라이언트는 특별한 프로토콜 (예. SOCKS)을 사용해야 함. C. 또한 Application Protocol을 해석하지 않으므로, Application-specific access control이나 로그 기록/감시 기능을 제공하지는 못함. 4. Stateful Inspection 방식 A. Stateful Inspection 방식은 패킷 필터링 방식보다 발전된 형태로, B. 단순히 Header 정보만 가지고 필터링을 하는 대신 Inspection은 Header 뿐만 아니라 패킷 내 용 (문맥) 전체를 해석하여 접근정책을 적용하는 방식으로 네트워크 레이어에서 어 플리케이션 레이어까지 모든 프로토콜을 이해하는 Inspection module에서 모든 레이어로부터 관련 정보를 얻은 후 이를 바탕으로 보안 정책을 수행함. C. 특히, 과거의 패킷에 대한 정보, 즉 State information을 지속적으로 유지하여 이를 바탕으로 현 재 패킷의 통과 여부를 결정함.
  • 18. - 18 - Firewall • 방화벽 구현 방식 별 장단점 구분 장점 단점 Packet Filtering • 처리속도가 상대적으로 빠름 • 사용자에게 투명성 제공 • 새로운 서비스에 대해 비교적 쉽게 연동 가능 • 다른 방식에 비해 저렴한 구축 비용 • 기존 응용서비스 프로그램에 대한 수정 불필요 • 데이터가 IP수준에서 처리되어 데이터 내용에 대 한 분석 불가능 • 접근제어를 위한 복잡한 규칙으로 운영 어려움 • IP패킷 헤더정보 (src/dst/port)에 대한 변조 가능 성 존재 • 로깅 및 사용자 인증 기능에 대한 한계성 존재 Proxy • 내부와 외부 네트워크간 직접 연결 허용되지 않 아 외부의 공격으로부터 1차 보호 가능 • 기존 응용서비스 프로그램에 대한 수정 불필요 • 일회용 패스워드 등의 향상된 인증기법 사용가능 • 강화된 로깅 및 감사 기능 제공 • 서비스 별 개별 접근제한/이용시간 등의 부가적 인 기능구현 용이 • 처리속도가 상대적으로 느리며 사용자에게 투명 성을 제공하기 힘든 방식 • 새로운 서비스 제공을 위해서 새로운 프락시가 추가되어야 하기 때문에 새로운 서비스에 대한 유연성 부족 Circuit Gateway • 단순하면서도 서비스의 유연성 높음 • 다른 방식에 비해 좀 더 높은 보안성 제공 • 서킷 프로토콜 통신을 위한 사용자측의 프로그램 수정 필요 Stateful Inspection • 보안성 우수 • 새로운 서비스 부가 용이 • 보안에 비례한 구축의 복잡성 • 높은 구축 비용 발생 • 관리의 복잡성
  • 19. - 19 - Firewall • 방화벽의 주요 기능 기능 기능 설명 접근제어 • 시간대/사용자/네트워크/서비스 별 차등 보안정책 설정 • 침입탐지 모듈 탑재하여 주요 해킹 공격 탐지 및 차단 네트워크 주소 변환 • 외부의 공인 네트워크 주소를 내부의 사설 네트워크 주소로 변환 (1:1, 1:N, M:N, Reverse NAT 매핑 지원) • NAT를 적용하지 않을 별도의 호스트 및 네트워크 지정 가능 • 특정 시스템으로 지정한 서비스를 Forwarding할 수 있는 Redirect NAT 지원 모니터링 및 알람 • 서비스의 실시간 세션상태 모니터링 및 검색 기능 • 실시간 모니터링 중 의심스러운 세션 차단 기능 • 일부 서비스에 대한 세션 캡쳐를 통한 사후 감사 추적 기능 • 주요 보안정책 위반 시 관리자에게 통보 • 실시간 NAT 상태 감시 사용자 인증 • 자체 Password 인증기법 및 일회용패스워드 등을 지원 • 프락시 이용 불가능한 서비스를 위한 클라이언트 인증 방식 (Telnet, SSL Web 기반) 가용성 보장 및 암호화 • 방화벽 SW간의 High Availability 모듈을 내장하여 Primary/Backup 구조 구현 • VPN 모듈을 내장하여 외부 네트워크간 데이터 암호화를 통한 VPN 구현 감사기록 및 통계 • 방화벽을 통해 제공되는 모든 네트워크 접근에 대한 상세한 감사기록을 DB형태로 저장 • 저장된 감사 기록에 대한 통계 기능 • 외부의 별도 로그 서버를 구성할 수 있는 외부 로그 저장 기능 시스템 운영 및 관리 • 관리자용 UI를 통한 방화벽 운영 기능 지원 • 128bit 이상의 SSL 지원 • 시스템 자체 취약성 진단을 통한 리포팅 • Scheduled backup 기능
  • 20. - 20 - Application Security Risk • OWASP (Open Web Application Security Project) 1. 오픈 소스 웹 애플리케이션 보안 프로젝트를 의미하며, 주로 웹에 관한 정보 노출, 악성 파일 및 스 크립트, 보안 취약점 등을 연구하고, 10대 웹 애플리케이션의 취약점 (OWASP TOP 10)을 발표하였 음. 2. OWASP TOP 10을 선정하는 가장 큰 이유는 가장 중요한 웹 애플리케이션의 보안 취약점 개발자, 설계자, 아키텍트, 운영자, 혹은 기관들에게 주요 웹 애플리케이션 보안 취약점으로 인한 영향을 알 리기 위해서임. 3. TOP 10은 위험도가 큰 문제들에 대해 대응할 수 있는 기본적인 기술을 제공하며, 또한 이를 근거로 향후 방향을 제시하고 있음. • 애플리케이션 보안 위험이란? 1. 공격자들은 애플리케이션을 통해 잠재적인 많은 경로를 이용하여 사업이나 조직에 피해를 입히게 되는데, A. 이러한 경로들을 찾아내고 공격하는 것이 쉬울 수도 있고, 어떤 경로는 어려울 수도 있음. B. 이로 인해 발생한 손해가 경미할 수도 있고, 사업을 몰락시킬 만큼 중대한 일일 수도 있음.
  • 21. - 21 - OWASP TOP 10 Risk • OWASP TOP 10 Application Security Risk (2013) 1. Injection A. SQL, 운영체제, LDAP 인젝션 취약점은 신뢰할 수 없는 데이터가 명령어나 질의문의 일부분으로 인터프리터로 보내질 때 발생하고, B. 공격자의 악의적인 데이터는 예상하지 못하는 명령을 실행하거나 적절한 권한 없이 데이터에 접근하도록 인터프리터를 속일 수 있음. C. SQL: 로그인 폼에 아이디와 비밀번호를 입력하면 입력한 값이 서버로 넘어가고, 데이터베이스 를 조회하여 정보가 있다면 로그인에 성공하게 되는데, 이 때 데이터베이스에 값을 조회하기 위 해 사용되는 언어를 SQL이라고 함. D. SQL 인젝션: 코드 인젝션의 한 기법으로 클라이언트의 입력 값을 조작하여 서버의 데 이터베이스를 공격할 수 있는 공격 방식으로, 공격이 쉬운데 비해 파괴력이 매우 큰 특징 을 가지고 있음. 이러한 인젝션 계열의 취약점들은 테스트를 통해 발견하기는 힘들지만 스캐닝 툴이나 코드 검증절차를 거치면 보통 쉽게 발견되기 때문에 탐지하기는 쉬운 편임. 2. Broken Authentication and Session Management (인증 및 세션 관리 취약점) A. 인증 및 세션 관리와 관련된 애플리케이션 기능은 정확하게 구현되어 있지 않아서, B. 공격자가 패스워드, 키 또는 세션 토큰을 해킹하거나 다른 구현 취약점을 공격하여 다른 사용자 ID로 가장할 수 있음.
  • 22. - 22 - OWASP TOP 10 Risk • OWASP TOP 10 Application Security Risk (2013) 3. Cross-Site Scripting (XSS) (크로스 사이트 스크립팅) A. 웹 상에서 가장 기초적인 취약점 공격 방법의 일종으로 악의적인 사용자가 공격하려는 사 이트에 스크립트를 넣는 기법을 말함. B. 공격에 성공하면 사이트에 접속한 사용자는 삽입된 코드를 실행하게 되며, 보통 의 도치 않은 행동을 수행시키거나 쿠키나 세션 토큰 등의 민감한 정보를 탈취하게 됨. C. 주로 자바스크립트를 이용한 공격이 대표적이나 HTML 태그의 속성을 이용한 공격 방식 등 여 러 방식이 존재함. D. 여러 사용자가 접근 가능한 게시판 등에 코드를 삽입하는 경우도 많으며, 경우에 따라서는 스팸 메일을 통해서도 전파되기도 함. 4. Insecure Direct Object References (취약한 직접 객체 참조) A. 직접 객체 참조는 개발자가 파일, 디렉터리, 데이터베이스 키와 같은 내부 구현 객체를 참조하 는 것을 노출시킬 때 발생하며, B. 접근 통제를 통한 확인이나 다른 보호수단이 없다면, 공격자는 노출된 참조를 조작하여 허가 받 지 않은 데이터에 접근할 수 있음. 5. Security Misconfiguration (보안 설정 오류) A. 훌륭한 보안은 애플리케이션, 프레임워크, 애플리케이션 서버, 웹 서버, 데이터베이스 서버 및 플랫폼에 대한 보안 설정이 정의되고 적용되어 있음. B. 기본으로 제공되는 값은 종종 안전하지 않기 때문에 보안 설정은 정의, 구현 및 유지되어야 하 며, 소프트웨어는 최신의 상태로 유지해야 함.
  • 23. - 23 - OWASP TOP 10 Risk • OWASP TOP 10 Application Security Risk (2013) 6. Sensitive Data Exposure (민감 데이터 노출) A. 많은 웹 애플리케이션들이 신용카드, 개인 식별 정보 및 인증 정보와 같은 중요한 데이터를 제 대로 보호하지 않으며, B. 공격자는 신용카드 사기, 신분 도용 또는 다른 범죄를 수행하는 등 약하게 보호된 데이터를 훔 치거나 변경할 수 있음. C. 중요 데이터가 저장 또는 전송 중이거나 브라우저와 교환하는 경우 특별히 주의하여야 하며, 암 호화와 같은 보호 조치를 취해야 함. 7. Missing Function Level Access Control (기능 수준의 접근 통제 누락) A. 대부분의 웹 애플리케이션은 UI에 해당 기능을 보이게 하기 전에 기능 수준의 접근 권한을 확인 하지만, B. 애플리케이션은 각 기능에 접근하는 서버에 동일한 접근 통제 검사를 수행하게 됨. C. 요청에 적절히 확인하지 않을 경우 공격자는 적절한 권한 없이 기능에 접근하기 위한 요청을 위 조할 수 있음. 8. Cross-Site Request Forgery (CSRF) (크로스 사이트 요청 변조) A. CSRF 공격은 로그온 된 피해자의 취약한 웹 애플리케이션에 피해자의 세션 쿠키와 기타 다른 인증 정보를 자동으로 포함하여 위조된 HTTP 요청을 강제로 보내도록 하는 것임. B. 이것은 공격자가 취약한 애플리케이션이 피해자로부터의 정당한 요청이라고 오해할 수 있는 요 청들을 강제로 만들 수 있음.
  • 24. - 24 - OWASP TOP 10 Risk • OWASP TOP 10 Application Security Risk (2013) 9. Using Components with Known Vulnerabilities (알려진 취약점이 있는 컴포넌트 사용) A. 컴포넌트, 라이브러리, 프레임워크 및 다른 소프트웨어 모듈은 대부분 항상 전체 권한으로 실행 되는데, B. 이러한 취약한 컴포넌트를 악용하여 공격하는 경우 심각한 데이터 손실이 발생하거나 서버가 장악되게 됨. C. 알려진 취약점이 있는 컴포넌트를 사용하는 애플리케이션은 애플리케이션 방어 체계를 손상하 거나, 공격 가능한 범위를 활성화하는 등의 영향을 미치게 됨. 10. Invalidated Redirect and Forwards (검증되지 않은 리다이렉트 및 포워드) A. 웹 애플리케이션은 종종 사용자들을 다른 페이지로 리다이렉트 하거나 포워드하고, 대상 페이 지를 결정하기 위해 신뢰할 수 없는 데이터를 사용하는데, B. 적절한 검증 절차가 없으면 공격자는 피해자를 피싱 또는 악성코드 사이트로 리다이렉트 하거 나 승인되지 않은 페이지에 접근하도록 전달 할 수 있음.
  • 25. - 25 - Web Application Firewall • 웹 방화벽이란? (Web Application Firewall: WAF) 1. 웹 방화벽 (Web Application Firewall, WAF)는 일반적인 네트워크 방화벽 (Firewall)과는 달리 웹 애 플리케이션 보안에 특화되어 개발된 솔루션을 의미함. 2. 웹 방화벽의 기본 역할은 SQL Injection, Cross-Site Scripting (XSS) 등과 같은 웹 공격 을 탐지하고 차단하는 것이며, 직접적인 웹 공격 대응 외에도 정보유출방지솔루션, 부정 로그 인 방지 솔루션, 웹사이트위변조방지솔루션 등으로 활용이 가능함. A. 정보유출방지솔루션으로 웹 방화벽을 이용할 경우, 개인 정보가 웹 게시판에 게시되거나 개인 정보가 포함된 파일 등이 웹을 통해 업로드 및 다운로드 되는 경우에 대해서 탐지하고 이에 대 응하는 것이 가능함. B. 부정로그인 방지솔루션으로서는 추정 가능한 모든 경우의 수를 대입하여 웹 사이트에 로그인을 시도하는 경우와 같은 비정상적인 접근에 대한 접근 제어 기능을 함. C. 웹사이트위변조방지솔루션의 역할은 해커가 해킹을 한 후에 과시하는 것이 목적인 웹사이트 위 변조가 발생했을 경우, 이에 대해 탐지하고 대응하는 것임. 3. 웹 방화벽은 위에서 기술한 4가지 웹 보안 기능을 제공하면서, 웹 애플리케이션이라는 ‘집'을 미 처 예상하지 못했던 외부의 공격으로부터 지켜내고, 사전에 발견하지 못했던 내부의 위험 요소로부 터 지켜내는 ‘울타리‘ 역할을 수행하는 존재하고 할 수 있음.
  • 26. - 26 - Web Application Firewall • 웹 방화벽의 진화 1. 1세대 웹 방화벽 A. 블랙리스트 방식과 더불어 안전한 접근에 대한 허용 리스트인 화이트리스트 (White List)를 병행하는 방식을 사용하였음. B. 자동으로 온라인 업데이트 서비스를 제공하는 블랙리스트와는 달리 화이트리스트는 고객 환경 에 따라 다르게 적용이 되기 때문에 관리자가 직접 생성 및 관리를 할 수 밖에 없어 관리자에게 매우 큰 관리 부담으로 작용함. C. 공격 유형이 다양해짐에 따라 등록된 시그니처의 수가 늘어날수록 성능이 저하되는 문제도 발 생함.
  • 27. - 27 - Web Application Firewall • 웹 방화벽의 진화 2. 2세대 웹 방화벽 A. 보호 대상 웹 애플리케이션을 몇 주간의 모니터링을 통해 분석하여, 화이트리스트 생성을 자동 으로 처리해 줌. B. 하지만 화이트리스트 또한 적용을 위한 최종 검토 및 관리가 필요했기 때문에 관리자의 부담은 여전히 존재했음. 3. 3세대 웹 방화벽 (지능형 웹 방화벽) A. 웹 공격 유형별로 블랙리스트 탐지, 화이트리스트 탐지 및 웹 트래픽 컨텐츠 분석 등의 기법들 을 논리적으로 결합하여 공격을 탐지하는 방식을 사용함. B. 1, 2세대 웹 방화벽 대비 오탐율을 대폭 줄이고, 특정 공격 유형의 새로운 변종 공격이 발생할 경우, 최소한의 시그니처의 추가만으로 바로 변종 공격의 방어가 가능해짐.