Tải bản đầy đủ (.doc) (100 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.46 MB, 100 trang )

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


1.1 Giới thiệu chung về Iptables 37
1.2 Cấu trúc của Iptables 37
1.3 Targets 40
1.4 Các tùy chọn quan trọng của Iptables 42
2. Tổng quan về Snort inline 44
2.1 Giới thiệu chung về Snort và Snort inline 44
2.2 Tổng quan về Snort 45
Chương IV. Xây dựng giải pháp phòng chống DDoS cho máy chủ web 67
1. Mô hình triển khai thực tế 67
Mô hình mạng triển khai hệ thống phòng chống : 69
2. Giải pháp 69
3. Mô hình thử nghiệm 72
2
4. Triển khai hệ thống 72
4.1 Tối ưu hóa server ở tầng TCP/IP 72
4.2 Cài đặt module connlimit cho Iptables 74
4.3 Cài đặt Snort inline 76
4.4 Thử nghiệm, đánh giá 84
Kết luận: 97
3
Danh sách các hình vẽ
Danh sách các bảng
4
LỜI CẢM ƠN
Sau 3 tháng nỗ lực thực hiện, đồ án nghiên cứu “Xây dựng giải pháp phòng
chống DDoS cho máy chủ web ” phần nào đã hoàn thành.Ngoài sự nỗ lực của bản
thân, em còn nhận được sự khích lệ rất nhiều từ phía nhà trường, thầy cô, gia đình và
bạn bè trong khoa.Chính điều này đã mang lại cho em sự động viên rất lớn để em có
thể hoàn thành tốt đồ án của mình.
Trước hết con xin cảm ơn bố mẹ, ông bà và những người thân yêu đã luôn động

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

thuộc nhiều lĩnh vực khác nhau. Theo Yankke Group, tổng thiệt hại do cuộc tấn
công lên đến 1.2 triệu USD, nhưng không đáng kể bằng sự mất mát về lòng tin của
khách hàng, uy tín của các công ty là không thể tính được.
Làm đảo lộn mọi dự tính, thủ phạm là một cậu bé 15 tuổi người Canada, với
nickname “mafiaboy”. Lại là một thiên tài bẩm sinh như Kevin Mitnick xuất hiện?
Không. Mafiaboy chỉ tìm tòi và download về một số chương trình công cụ của các
hacker. Cậu đã dùng một công cụ DDoS có tên là TrinOO để gây nên các cuộc tấn
công kiểu DDoS khủng khiếp trên. Một điểm đáng lưu ý khác là Mafiaboy bị bắt do
tự khoe khoang trên các chatroom công cộng, không ai truy tìm được dấu vết của
cậu bé này.
Còn rất nhiều gã khổng lồ khác đã gục ngã dưới các cuộc tấn công kiểu DDoS
sau đó, trong đó có cả Microsoft. Tuy nhiên cuộc tấn công trên là điển hình nhất về
DDoS, nó nói lên một đặc điểm chết người của DDoS: Rất dễ thực hiện, hầu như
không thể tránh, hậu quả rất nặng nề.”
Đây chỉ là phần mở đầu của một trong số rất nhiều bài báo viết về DDoS, tuy
khá ngắn gọn nhưng cũng đã nêu bật được những đặc điểm nổi bật nhất của DDoS :
“Rất dễ thực hiện, hầu như không thể tránh, hậu quả rất nặng nề ”. Một điều mà
các chuyên gia ai cũng thừa nhận, đó là nếu DDoS được thực hiện bởi một hacker
có trình độ, thì việc chống đỡ là không thể. Rất may mắn, cách đây 5 năm, giới
hacker chính quy thế giới đã khai trừ kĩ thuật tấn công này, và chấm dứt mọi hoạt
7
động nghiên cứu, trình diễn hay phát triển công cụ do chính bản thân họ cũng nhìn
thấy mức độ nguy hiểm và không công bằng của kiểu tấn công này.
Tuy rằng không còn là mới mẻ, nhưng DDoS vẫn tiếp tục gây rất nhiều thiệt
hại cho cộng đồng mạng nói chung và cho các doanh nghiệp nói riêng. Gần đây
nhất, trang web của Bkis bị DDoS làm gián đoạn trong nhiều giờ liền và sau khi
phối hợp với các bên liên quan, đã điều tra ra thủ phạm là một học sinh trung học ở
Quảng Nam.
Không những phục vụ cho nhu cầu của bản thân mà còn giúp nâng cao ý thức
của người dùng mạng Internet, làm sao để tránh hoặc ít nhất giảm được thiệt hại khi

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,

miễn phí, sử dụng rộng rãi, chạy trên nhiều nền tảng (Windows, Unix, Linux), liên
tục được cập nhật. Snort inline là một “module” của snort, thay vì lắng nghe trên
cổng chỉ định và theo dõi tất cả các traffic đi qua cổng đấy, Snort inline chỉ theo dõi
các traffic đặc biệt được chỉ định trước, do đó làm tăng khả năng và hiệu suất của
Snort.
- Cũng tương tự như Snort inline, Iptables mà nền tảng là Netfilter cũng
có những ưu điểm như dễ cấu hình, tốc độ sử lý nhanh, được tích hợp sẵn trong
Kernel Linux 2.6 trở lên.
- Việc sử dụng kết hợp Iptables với Snort inline sẽ tạo được một hệ thống
IPS hoạt động ổn định, dễ cấu hình, dễ dàng tinh chỉnh khi cần thiết.
4. Tóm tắt kết quả
Theo yêu cầu đặt ra ban đầu là “Xây dựng hệ thống phòng chống DDoS ”, cho đến
thời điểm hiện tại, đồ án đã làm được những nội dung sau :
- Về lý thuyết :
+ Tìm hiểu được những kiểu tấn công của DDoS.
+ Tìm hiểu được mô hình mạng Botnet (mô hình, cách cài đặt, giao
tiếp).
+ Một số công cụ tấn công DDoS.
+ Cách phòng chống DDoS.
9
+ Những vấn đề có liên quan đến DDoS.
- Triển khai hệ thống phòng chống DDoS bao gồm
+ Tối ưu hóa server.
+ Cài đặt và cấu hình module connlimit cho Iptables.
+ Cài đặt và cấu hình Snort inline.
+ Kiểm tra đánh giá hiệu quả.
5. Nội dung đồ án
Đồ án bao gồm 4 chương :
- Chương I. Giới thiệu chung : Giới thiệu khái quát về đồ án, lý do lựa chọn đồ
án, mục tiêu và giới hạn, kết quả đạt được trong quá trình làm đồ án.

- 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

cách phân loại theo mục đích tấn công là khá đầy đủ, đơn giản và dễ hiểu. Dưới đây
là sơ đồ mô tả sự phân loại các kiểu tấn công DDoS dựa theo mục đích tấn công:
làm cạn kiệt băng thông và làm cạn kiệt tài nguyên hệ thống.
Hình 01: 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
Tấn công làm cạn kiệt băng thông (BandWith Depletion Attack) được thiết kế
nhằm làm tràn ngập mạng mục tiêu với những traffic không cần thiết, với mục
địch làm giảm tối thiểu khả năng của các traffic hợp lệ đến được hệ thống cung
cấp dịch vụ của mục tiêu.
Có hai loại tấn công làm cạn kiệt băng thông :
- Flood attack: Điều khiển các Agent gửi một lượng lớn traffic đến hệ
thống dịch vụ của mục tiêu, làm dịch vụ này bị hết khả năng về băng thông.
- Amplification attack: Điều khiển các Agent hay Client tự gửi packet đến
một địa chỉ IP broadcast, làm cho tất cả các máy trong subnet này gửi packet đến
hệ thống dịch vụ của mục tiêu. Phương pháp này làm gia tăng traffic không cần
thiết, làm suy giảm băng thông của mục tiêu.
2.1.1 Flood attack:
Trong phương pháp này, các Agent sẽ gửi một lượng lớn IP traffic làm hệ
thống dịch vụ của mục tiêu bị chậm lại, hệ thống bị treo hay đạt đến trạng
thái hoạt động bão hòa. Làm cho những người dùng thực sự của hệ thống
không sử dụng được dịch vụ.
Ta có thể chia Flood Attack thành hai loại:
- UDP Flood Attack: do tính chất connectionless của UDP, hệ
thống nhận UDP message chỉ đơn giản nhận vào tất cả các packet mình
cần phải xử lý. Một lượng lớn các UDP packet được gửi đến hệ thống
dịch vụ của mục tiêu sẽ đẩy toàn bộ hệ thống đến ngưỡng tới hạn.
- Các UDP packet này có thể được gửi đến nhiều port tùy ý hay
chỉ duy nhất một port. Thông thường là sẽ gửi đến nhiều port làm cho hệ
thống mục tiêu phải căng ra để xử lý phân hướng cho các packet này.

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

REQUEST, các packet này yêu cầu yêu cầu bên nhận phải trả lời bằng một
ICMP ECHO REPLY packet. Network amplifier sẽ gửi đến ICMP ECHO
REQUEST packet đến tất cả các hệ thống thuộc địa chỉ broadcast và tất cả
các hệ thống này sẽ REPLY packet về địa chỉ IP của mục tiêu tấn công
Smuft Attack.
- Fraggle Attack: tương tự như Smuft attack nhưng thay vì dùng
ICMP ECHO REQUEST packet thì sẽ dùng UDP ECHO packet gửi đến
15
mục tiêu. Thật ra còn một biến thể khác của Fraggle attack sẽ gửi đến UDP
ECHO packet đến chargen port (port 19/UNIX) của mục tiêu, với địa chỉ bên
gửi là echo port (port 7/UNIX) của mục tiêu, tạo nên một vòng lặp vô hạn.
Attacker phát động cuộc tấn công bằng một ECHO REQUEST với địa chỉ
bên nhận là một địa chỉ broadcast, toàn bộ hệ thống thuộc địa chỉ này lập tức
gửi REPLY đến port echo của nạn nhân, sau đó từ nạn nhân một ECHO
REPLY lại gửi trở về địa chỉ broadcast, quá trình cứ thế tiếp diễn. Đây chính
là nguyên nhân Flaggle Attack nguy hiểm hơn Smuft Attack rất nhiều.
2.2 Tấn công làm cạn kiệt tài nguyên
Tấn công làm cạn kiệt tài nguyên (Resource Deleption Attack) là kiểu tấn công
trong đó Attacker gửi những packet dùng các protocol sai chức năng thiết kế, hay
gửi những packet với dụng ý làm tắt nghẽn tài nguyên mạng làm cho các tài
nguyên này không phục vụ những người dùng thông thường khác được.
2.2.1 Protocol Exploit Attack
- TCP SYN Attack: Transfer Control Protocol hỗ trợ truyền nhận với
độ tin cậy cao nên sử dụng phương thức bắt tay giữa bên gửi và bên nhận
trước khi truyền dữ liệu. Bước đầu tiên, bên gửi gửi một SYN REQUEST
packet (Synchronize). Bên nhận nếu nhận được SYN REQUEST sẽ trả lời
bằng SYN/ACK packet. Bước cuối cùng, bên gửi sẽ truyên packet cuối cùng
ACK và bắt đầu truyền dữ liệu.
Hình 03: Ba bước kết nối TCP/IP
16

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

Agent có thể làm hệ thống nạn nhân hết khả năng xử lý.
18
3. Sơ đồ mạng Botnet
3.1 Sơ đồ Handler-Agent
Hình 05: Sơ đồ Handler-Agent
Mạng Handler-Agent thông thường bao gồm 3 thành phần: Agent, Client và
Handler. Trong đó :
- Client: Là phần mềm cơ sở để hacker điều khiển mọi hoạt động của
mạng Handler-Agent.
- Handler: Là một phần mềm trung gian giữa Agent và Client.
- Agent: Là một phần mềm thực hiện sự tấn công mục tiêu, nhận điều
khiển từ Client thông quan các Handler.
Attacker sẽ từ Client giao tiếp với Handler để xác định số lượng các Agent
đang online, điều chỉnh thời điểm tấn công và cập nhật các Agent. Tuỳ theo cách
attacker cấu hình mạng Botnet, các Agent sẽ chịu sự quản lý của một hay nhiều
Handler.
19
Thông thường Attacker sẽ đặt các Handler trên một Router hay Server có
lượng lưu thông lớn. Việc này nhằm làm cho các giao tiếp giữa Client, Handler và
Agent khó bị phát hiện. Các giao thức này thường diễn ra trên các giao thức TCP,
UDP hay ICMP. Chủ nhân thực sự của các Agent thường không biết họ bị lợi
dụng trong các cuộc tấn công DDoS, do họ không đủ kiến thức hoặc các chương
trình Backdoor Agent chỉ sử dụng rất ít tài nguyên hệ thống làm cho hầu như
không thể thấy ảnh hưởng gì đến hiệu năng của hệ thống.
3.2 Sơ đồ IRC Base
Hình 06: Sơ đồ IRC Base
Internet Relay Chat(IRC) là một hệ thống online chat nhiều người. IRC cho
phép người sử dụng tạo một kết nối đến nhiều điểm khác với nhiều người sử dụng
khác nhau và chat thời gian thực. Kiến trúc cũ của IRC network bao gồm nhiều
IRC server trên khắp Internet, giao tiếp với nhau trên nhiều kênh (channnel). IRC

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

Hình 07: Các phương pháp xây dựng tài nguyên tấn công
4.1 Cách thức cài đặt DDoS Agent
Attacker có thể dùng phương pháp active và passive để cài đặt chương trình
Agent lên các máy khác nhằm thiết lập mạng tấn công kiểu Agent-Handler hay
IRC-based.
- Các cách cài đặt sử dụng phương pháp active như:
+ Scaning: dùng các công cụ như Nmap, Nessus để tìm những sơ
hở trên các hệ thống đang online nhằm cài đặt chương trình Agent. Chú ý, Nmap
sẽ trả về những thông tin về một hệ thống đã được chỉ định bằng địa chỉ IP,
Nessus tìm kiếm từ những địa chỉ IP bất kỳ về một điểm yếu biết trước nào đó.
+ Backdoor: sau khi tìm thấy được danh sách các hệ thống có thể lợi
dụng, attacker sẽ tiến hành xâm nhập và cài chương trình Agent lên các hệ thống
này. Có rất nhiều thông tin sẵn có về cách thức xâm nhập trên mạng, như site của
tổ chức Common Vulnerabilities and Exposures (CVE), ở đây liệt kê và phân loại
trên 4.000 loại lỗi của tất cả các hệ thống hiện có. Thông tin này luôn sẵn sàng
cho cả giới quản trị mạng lẫn hacker.
22
+ Trojan: là một chương trình thực hiện một chức năng thông
thường nào đó, nhưng lại có một số chức năng tiềm ẩn phục vụ cho mục đích
riêng của người viết mà người dùng không thể biết được. Có thể dùng Trojan như
một chương trình Agent.
+ Buffer Overflow: tận dụng lỗi buffer overflow, attacker có thể làm
cho chu trình thực thi chương trình thông thường bị chuyển sang chu trình thực
thi chương trình của hacker (nằm trong vùng dữ liệu ghi đè). Có thể dùng cách
này để tấn công vào một chương trình có điểm yếu buffer overflow để chạy
chương trình Agent.
- Cách cài đặt passive:
+ Bug trình duyệt web: attacker có thể lợi dụng một số lỗi của trình
duyệt web để cài chương trình Agent vào máy của user truy cập. Attacker sẽ tạo
một trang web mang nội dung tiềm ẩn những code và lệnh để đặt bẫy user. Khi

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 :

( tham khảo từ
/>4/dos_attacks.html)
- HTTP Flood
- SYN Flood
- ICMP Flood
- TCP Reset
- UDP Flood
5.2 Một số công cụ tấn công DDoS
5.2.1 Trinoo
Trinoo là một công cụ tấn công từ chối dịch vụ bằng kĩ thuật UDP Flood được
kết hợp từ nhiều nguồn.
Một cuộc tấn công DDoS bằng Trinoo được thực hiện bởi kết nối của
attacker đến một hay nhiều Trinoo Master và chỉ dẫn cho Master phát động tấn
công DDoS đến một hoặc nhiều mục tiêu. Master sẽ liên lạc với các daemons
để ra lệnh cho các daemons gửi các UDP packet đến mục tiêu.
24
Mô hình :
attacker(s) >Master(s) >daemon(s) >victim(s)
- Attacker > Master : port 27665/TCP
- Master > Deamons : port 27444/UDP
- Daemon > Master : port 31335/UDP
- Deamon > UDP Flood đến mục tiêu (random port) .
5.2.2 Tribe Flood Network (TFN/TFN2K)
Tương tự như Trinoo nhưng Tribe Flood Network còn cho phép attacker sử
dụng thêm ICMP flood, SYN flood và Smurf .
Mô hình :
attacker(s) >client(s) >daemon(s) >victim(s)
5.2.3 Stacheldraht
Stacheldraht là sự kết hợp các tính năng của Trinoo và TFN, bên cạnh đó còn
thêm khả năng mã hóa giao tiếp giữa attacker và stacheldraht masters.

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

×