Xây dựng giải pháp phòng chống DDoS cho máy chủ web - Pdf 10

Luận văn
Đề tài: Xây dựng giải pháp phòng
chống DDoS cho máy chủ web
1
ĐỒ ÁN TỐT NGHIỆP
Chương I. Giới thiệu chung 6
1. Đặt vấn đề 7
2. Mục tiêu và giới hạn 8
3. Hướng giải quyết 8
4. Tóm tắt kết quả 9
5. Nội dung đồ án 10
Chương II. Tổng quan về DDoS 11
1. Giới thiệu chung về DDoS 12
2. Phân loại các kiểu tấn công DDoS 12
2.1 Tấn công làm cạn kiệt băng thông 13
2.2 Tấn công làm cạn kiệt tài nguyên 16
3. Sơ đồ mạng Botnet 19
3.1 Sơ đồ Handler-Agent 19
3.2 Sơ đồ IRC Base 20
4. Các phương pháp xây dựng tài nguyên tấn công 21
4.1 Cách thức cài đặt DDoS Agent 22
4.2 Giao tiếp trên mạng Botnet 23
5. Một số kiểu tấn công DDoS và các công cụ tấn công DDoS 24
5.1 Một số kiểu tấn công DDoS 24
5.2 Một số công cụ tấn công DDoS 24
6. Phòng chống DDoS 29
6.1 Phòng chống DDoS 29
6.2 Những vấn đề có liên quan 33
Chương III. Tổng quan về Iptables 36
và Snort inline 36
1. Tổng quan về Iptables 37

viên, ủng hộ, chăm sóc và tạo mọi điều kiện tốt nhất để con hoàn thành nhiệm vụ của
mình.
Em xin cảm ơn nhà trường nói chung và Khoa Công Nghệ Thông Tin nói riêng
đã đem lại cho em nguồn kiến thức vô cùng quý giá để em có đủ kiến thức hoàn thành
đồ án cũng như làm hành trang bước vào đời.
Em xin cảm ơn các thầy cô thuộc bộ môn Mạng Máy Tính, đặc biệt là thầy Ngô
Hồng Sơn- giáo viên hướng dẫn của em đã tận tình hướng dẫn và giúp đỡ chúng em
mỗi khi chúng em có khó khăn trong quá trình học tập cũng như trong quá trình làm đồ
án tốt nghiệp.
Xin cảm ơn tất cả bạn bè thân yêu đã động viên, giúp đỡ em trong suốt quá trình
học tập cũng như làm đề tài.
Hà Nội, 05/2008
Sinh viên thực hiện
Nguyễn Huy Lợi
5
Chương I. Giới thiệu chung
 Đặt vấn đề
 Mục tiêu
 Tóm tắt kết quả
 Nội dung đồ án
6
1. Đặt vấn đề
“ Ngày 7/3/2000, yahoo.com đã phải ngưng phục vụ hàng trăm triệu user trên toàn
thế giới nhiều giờ liền. Vài giờ sau, Yahoo đã tìm ra nguyên nhân gây nên tình
trạng này, họ đang phải gánh chịu một đợt tấn công DDoS với quy mô vài ngàn
máy tính liên tục gửi hàng triệu request đến các server dịch vụ làm các server này
không thể phục vụ các user thông thường khác.
Vài ngày sau, một sự kiện tương tự diễn ra nhưng có phần “ồn ào” hơn do một
trong các nạn nhân mới là hãng tin CNN, amazon.com, buy.com, Zdnet.com, E-
trade.com, Ebay.com. Tất cả các nạn nhân là những gã khổng lồ trên Internet

bị DDoS , em đã lựa chọn đề tài : “Xây dựng biện pháp phòng chống DDoS cho
máy chủ web” .
Nhận thấy vừa là một đề tài tốt nghiệp, vừa có vai trò ứng dụng trong thực tế
và với sự giúp đỡ tận tình của thầy Ngô Hồng Sơn, em đã cố gắng hết sức để thực
hiện tốt đề tài của mình.
2. Mục tiêu và giới hạn
Đồ án có 2 mục tiêu chính :
- Nghiên cứu tìm hiểu về DDoS, phân loại DDoS, giới thiệu một số công cụ
tấn công DDoS và giải pháp phòng chống nói chung
- Xây dựng giải pháp phòng chống DDoS cho web server, sử dụng module
connlimit của Iptables và Snort inline .
Do tính chất đa dạng của DDoS nên không có giải pháp phòng chống DDoS
nào là tối ưu nhất cho mọi trường hợp. Giải pháp mà đồ án đề cập đến là dành cho
mô hình mạng chỉ có một server kết nối với Internet bằng một liên kết.
3. Hướng giải quyết
Hiện nay, trên thế giới có rất nhiều cách phòng chống DDoS nói chung và phòng
chống DDoS cho máy chủ web nói riêng như sử dụng firewall, triển khai IPS
(Intrusion Prevention System- Hệ thống chống xâm nhập), load balancing (cân
bằng tải) Có thể đơn cử ra một vài ví dụ cụ thể như :
- Firewall mềm:
8
+ Skyeagle anti-DDoS firewall
+ FortGuard Anti-DDoS Firewall Standard /> - IPS :
+ Lokkit
+ Snort
+ Untangle
Trong đồ án này, em lựa chọn giải pháp sử dụng IPS gồm Snort inline và
Iptables để xây dựng giải pháp phòng chống DDoS cho máy chủ web.
Lý do lựa chọn xây dựng mô hình IPS gồm Snort inline và Iptables là:
- Đối với Snort inline : Snort được biết đến với các ưu điểm như dễ cấu hình,

- Chương II. Tổng quan về DDoS: Giới thiệu chung về DDoS, phân loại các
kiểu tấn công DDoS, cách thức xây dựng mạng Botnet, giới thiệu một số công cụ
tấn công DDoS và các cách phòng chống DDoS.
- Chương III. Tổng quan về Iptables và Snort inline: Trình bày về lý thuyết và
một số cấu hình cơ bản và quan trọng của Iptables và Snort inline.
- Chương IV. Xây dựng giải pháp phòng chống DDoS cho máy chủ web :
Trình bày mô hình thực tế, giải pháp, mô hình thực nghiệm và quá trình kiểm tra
đánh giá, nhận xét hệ thống phòng chống xâm nhập.10
Chương II. Tổng quan về DDoS
 Giới thiệu chung về DDoS
 Phân loại các kiểu tấn công DDoS
 Cấu trúc mạng Botnet
 Các phương pháp xây dựng tài nguyên tấn
công
 Một số kiểu tấn công và các công cụ tấn công
DDoS
 Phòng chống DDoS
11
1. Giới thiệu chung về DDoS
DDoS (distributed denial-of-service attack) là một kiểu tấn công đưa một hệ thống
cung cấp dịch vụ đến mức hoạt động tới hạn về tài nguyên, hay gây nhầm lẫn logic
dẫn đến hệ thống ngừng hoạt động.
Khác với DoS (denial-of-service attack) là chỉ cần một máy để tấn công, DDoS
sử dụng nhiều máy tính bị chiếm quyền điều khiển kết nối với nhau (mạng Botnet)
để tấn công nên sức hủy hoại là rất lớn.
2. Phân loại các kiểu tấn công DDoS
Nhìn chung, có rất nhiều cách để phân loại các kiểu tấn công DDoS nhưng theo em

Nếu port bị tấn công không sẵn sàng thì hệ thống mục tiêu sẽ gửi ra một
ICMP packet loại “destination port unreachable”. Thông thường các
Agent software sẽ dùng địa chỉ IP giả để che giấu hành tung, cho nên
các packet trả về do không có port xử lý sẽ dẫn đến một địa chỉ IP khác.
13
UDP Flood attack cũng có thể làm ảnh hưởng đến các kết nối xung
quanh mục tiêu do sự hội tụ của packet diễn ra rất mạnh.
- ICMP Flood Attack: được thiết kế nhằm mục đích quản lý
mạng cũng như định vị thiết bị mạng. Khi các Agent gửi một lượng lớn
ICMP ECHO REQUEST đến hệ thống mục tiêu thì hệ thống này phải
reply một lượng tương ứng Packet để trả lời, sẽ dẫn đến nghẽn đường
truyền. Tương tự trường hợp trên, địa chỉ IP của các Agent có thể bị giả
mạo.
2.1.2 Amplification Attack:
Amplification Attack nhắm đến việc sử dụng các chức năng hỗ trợ địa chỉ IP
broadcast của các router nhằm khuyếch đại và hồi chuyển cuộc tấn công.
Chức năng này cho phép bên gửi chỉ định một địa chỉ IP broadcast cho toàn
subnet bên nhận thay vì nhiều địa chỉ. Router sẽ có nhiệm vụ gửi đến tất cả
địa chỉ IP trong subnet đó packet broadcast mà nó nhận được.
Attacker có thể gửi broadcast packet trực tiếp hay thông qua một số
Agent nhằm làm gia tăng cường độ của cuộc tấn công. Nếu attacker trực tiếp
gửi packet, thì có thể lợi dụng các hệ thống bên trong broadcast network như
một Agent.
14
Hình 02: Amplification Attack
Có thể chia amplification attack thành hai loại, Smuft va Fraggle
attack:
- Smuft attack: trong kiểu tấn công này attacker gửi packet đến
network amplifier (router hay thiết bị mạng khác hỗ trợ broadcast), với địa
chỉ của nạn nhân. Thông thường những packet được dùng là ICMP ECHO

Nếu bên server đã trả lời một yêu cầu SYN bằng một SYN/ACK nhưng
không nhận được ACK packet cuối cùng sau một khoảng thời gian quy định
thì nó sẽ gửi lại SYN/ACK cho đến hết thời gian timeout. Toàn bộ tài nguyên
hệ thống “dự trữ” để xử lý phiên giao tiếp nếu nhận được ACK packet cuối
cùng sẽ bị “phong tỏa” cho đến hết thời gian timeout.
Hình 04: Trường hợp IP nguồn giả
Nắm được điểm yếu này, attacker gửi một SYN packet đến nạn nhân với
địa chỉ bên gửi là giả mạo, kết quả là nạn nhân gửi SYN/ACK đến một địa chỉ
khác và sẽ không bao giờ nhận được ACK packet cuối cùng, cho đến hết thời
gian timeout nạn nhân mới nhận ra được điều này và giải phóng các tài
nguyên hệ thống. Tuy nhiên, nếu lượng SYN packet giả mạo đến với số lượng
nhiều và dồn dập, hệ thống của nạn nhân có thể bị hết tài nguyên.
- PUSH và ACK Attack: Trong TCP protocol, các packet được
chứa trong buffer, khi buffer đầy thì các packet này sẽ được chuyển đến nơi
cần thiết. Tuy nhiên, bên gửi có thể yêu cầu hệ thống unload buffer trước khi
buffer đầy bằng cách gửi một packet với cờ PUSH và ACK mang giá trị là 1.
Những packet này làm cho hệ thống của nạn nhân unload tất cả dữ liệu trong
TCP buffer ngay lập tức và gửi một ACK packet trở về khi thực hiện xong
17
điều này, nếu quá trình được diễn ra liên tục với nhiều Agent, hệ thống sẽ
không thể xử lý được lượng lớn packet gửi đến và sẽ bị treo.
2.2.2 Malformed Packet Attack
Malformed Packet Attack là cách tấn công dùng các Agent để gửi các packet
có cấu trúc không đúng chuẩn nhằm làm cho hệ thống của nạn nhân bị treo.
Có hai loại Malformed Packet Attack:
- IP address attack: dùng packet có địa chỉ gửi và nhận giống
nhau làm cho hệ điều hành của nạn nhân không xử lý nổi và bị treo.
- IP packet options attack ngẫu nhiên hóa vùng OPTION
trong IP packet và thiết lập tất cả các bit QoS lên 1, điều này làm cho hệ
thống của nạn nhân phải tốn thời gian phân tích, nếu sử dụng số lượng lớn

network cho phép user tao ba loại channel: Public, Private và Secrect. Trong đó :
20
- Public channel: Cho phép user của channel đó thấy IRC name và nhận được
message của mọi user khác trên cùng channel.
- Private channel: Được thiết kế để giao tiếp với các đối tượng cho
phép.Không cho phép các user không cùng channel thấy IRC name và message
trên channel. Tuy nhiên , nếu user ngoài channel dùng một số lệnh channel locator
thì có thể biết được sự tồn tại của private channel đó.
- Secrect channel: Tương tự private channel nhưng không thể xác định bằng
channel locator.
Mạng IRC-based cũng tương tự như mạng Agent-Handler nhưng mô hình này
sử dụng các kênh giao tiếp IRC làm phương tiện giao tiếp giữa Client và Agent
(không sử dụng Handler). Sử dụng mô hình này, attacker còn có thêm một số lợi
thế khác như :
- Các giao tiếp dưới dạng chat message làm cho việc phát hiện chúng là vô
cùng khó khăn.
- Lưu thông IRC có thể di chuyển trên mạng với số lượng lớn mà không bị
nghi ngờ.
- Không cần phải duy trì danh sách các Agent, hacker chỉ cần logon vào IRC
server là đã có thể nhận được report về trạng thái các Agent do các channel gửi
về.
- Sau cùng: IRC cũng là một môi trường chia sẻ file tạo điều kiện phát tán các
Agent code lên nhiều máy khác.
4. Các phương pháp xây dựng tài nguyên tấn
công
Có rất nhiều điểm chung của các công cụ DDoS attack. Có thể kể ra một số điểm
chung như: cách cài chương trình Agent, phương pháp giao tiếp giữa các attacker,
Handler và Agent, điểm chung về loại hệ điều hành hỗ trợ các công cụ này. Sơ đồ
sau mô tả sự so sánh tương quan giữa các công cụ tấn công DDoS này.
21

user truy cập nội dung của trang web, thì trang web download và cài đặt chương
trình Agent một cách bí mật. Microsoft Internet Explorer (IE) thường là mục tiêu
của cách cài đặt này, với các lỗi của ActiveX có thể cho phép trình duyệt IE tự
động download và cài đặt code trên máy của người dùng duyệt web.
+ Corrupted file: một phương pháp khác là nhúng code vào trong các
file thông thường. Khi user đọc hay thực thi các file này, máy của họ lập tức bị
nhiễm chương trình Agent software. Một trong những kỹ thuật phổ biến là đặt tên
file rất dài, do mặc định của các hệ điều hành chỉ hiển thị phần đầu của tên file
nên attacker có thể gửi kèm theo email cho nạn nhân file như sau:
iloveyou.txt_hiiiiiii_NO_this_is_DDoS.exe, do chỉ thấy phần “Iloveyou.txt” hiển
thị nên user sẽ mở file này để đọc và lập tức file này được thực thi và Agent code
được cài vào máy nạn nhân. Ngoài ra còn nhiều cách khác như ngụy trang file,
ghép file…
4.2 Giao tiếp trên mạng Botnet
Protocol: giao tiếp trên mạng Botnetcó thể thực hiện trên nền các protocol TCP,
UDP, ICMP.
23
Mã hóa các giao tiếp: một vài công cụ DDoS hỗ trợ mã hóa giao tiếp trên
toàn bộ mạng Botnet. Tùy theo protocol được sử dụng để giao tiếp sẽ có các
phương pháp mã hóa thích hợp. Nếu mạng Botnet ở dạng IRC-based thì private
và secrect channel đã hỗ trợ mã hóa giao tiếp.
Cách kích hoạt Agent: có hai phương pháp chủ yếu để kích hoạt Agent.
Cách thứ nhất là Agent sẽ thường xuyên quét thăm dò Handler hay IRC channel
để nhận chỉ thị (active Agent). Cách thứ hai là Agent chỉ đơn giản là “nằm vùng”
chờ chỉ thị từ Handler hay IRC Channel.
5. Một số kiểu tấn công DDoS và các công cụ tấn công DDoS
5.1 Một số kiểu tấn công DDoS
Bên cạnh việc phân loại các kiểu tấn công theo mục đích tấn công, ta còn có thể
phân loại theo cách tấn công vào giao thức. Dưới đây là phân loại một số cách tấn
công DDoS theo giao thức :

Stacheldraht cung cấp cho attacker khá nhiều phương thức tấn công từ
chối dịch vụ : ICMP flood, SYN flood, UDP flood và Smurf .
Mô hình :
client(s) >handler(s) >agent(s) >victim(s)
- Client > handler(s) : port 16660/tcp
- Handler < > agent(s): port 65000/tcp, ICMP ECHO REPLY
5.2.4 Trinity
Trinity có hầu hết các kỹ thuật tấn công bao gồm: UDP, TCP SYN, TCP ACK,
TCP fragment, TCP NULL, TCP RST, TCP random flag, TCP
ESTABLISHED packet flood. Nó có sẵn khả năng ngẫu nhiên hóa địa chỉ bên
gởi. Trinity cũng hỗ trợ TCP flood packet với khả năng ngẫu nhiên tập
CONTROL FLAG. Trinity có thể nói là một trong số các công cụ DDoS nguy
hiểm nhất.
25


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status