Tải bản đầy đủ (.pdf) (55 trang)

Tìm hiểu kỹ thuật tấn công ddos và giải pháp giảm thiểu

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.9 MB, 55 trang )

TRƢỜNG ĐẠI HỌC VINH
KHOA CƠNG NGHỆ THƠNG TIN
--------------------------

HỒNG HỮU TIẾN

BÁO CÁO
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Tên đồ án:

TÌM HIỂU KỸ THUẬT TẤN CÔNG DDOS
VÀ GIẢI PHÁP GIẢM THIỂU

Nghệ An, tháng 05 năm 2016


TRƯỜNG ĐẠI HỌC VINH
KHOA CÔNG NGHỆ THÔNG TIN
--------------------------

BÁO CÁO
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Tên đồ án:
TÌM HIỂU KỸ THUẬT TẤN CÔNG DDOS
VÀ GIẢI PHÁP GIẢM THIỂU

Sinh viên thực hiện : HOÀNG HỮU TIẾN
MSSV

: 1151076186


Lớp

: 52K2 - CNTT

Giáo viên hƣớng dẫn : TS. PHAN ANH PHONG

Nghệ An, tháng 05 năm 2016


Đồ án tốt nghiệp đại học

LỜI CẢM ƠN

Để hoàn thành đề tài này ngoài nổ lực cố gắng của bản thân, em đã nhận
được sự giúp đỡ nhiệt tình của các thầy giáo, cơ giáo, của gia đình và bạn bè.
Em xin bày tỏ lời cảm ơn sâu sắc tới Ts. Phan Anh Phong người đã tận
tình hướng dẫn, giúp đỡ và chỉ bảo trong suốt quá trình thực hiện đề tài.
Mặc dù đã cố gắng tiếp thu các ý kiến của các thầy giáo, cô giáo hướng
dẫn và nổ lực trong nghiên cứu, song đề tài này chắc chắn khơng thể tránh khỏi
những sai sót.Vì vậy, rất mong được sự góp ý của các thầy giáo, cơ giáo và các
bạn để em có được cái nhìn sâu sắc hơn về vấn đề nghiên cứu, hoàn thiện đề tài
và đạt chất lượng cao hơn.
Em xin chân thành cảm ơn!
Vinh, tháng 5 năm 2016
Sinh viên
Hoàng Hữu Tiến

Hoàng Hữu Tiến - Lớp 52K2 - Khoa CNTT

1



Đồ án tốt nghiệp đại học

MỤC LỤC
Trang
LỜI CẢM ƠN ................................................................................................................1
MỤC LỤC ......................................................................................................................2
LỜI MỞ ĐẦU ................................................................................................................4
1. Lý do chọn đề tài .....................................................................................................4
2. Đối tượng nghiên cứu và khách thể .........................................................................4
3. Mục đích nghiên cứu ...............................................................................................4
4. Nội dung thực hiện ..................................................................................................4
CHƢƠNG 1: TỔNG QUAN VỀ TẤN CÔNG DDOS ................................................5
1.1. Khái niệm tấn công DDOS ...................................................................................5
1.2. Giới thiệu về DDOS .............................................................................................5
1.3. Các giai đoạn của một cuộc tấn công DDOS .......................................................6
1.4. Kiến trúc tổng quan của mạng tấn cơng DDOS ...................................................6
1.4.1. Mơ hình Agent – Handler ..............................................................................7
1.4.2. Mơ hình dựa vào mạng IRC (IRC – Based) ..................................................9
1.5. Phân loại tấn công DDOS ..................................................................................10
1.5.1. Những kiểu tấn công làm cạn kiệt băng thông mạng (Bandwidth
Depletion Attack) .................................................................................................12
1.5.1.1. Tấn công ngập lụt .................................................................................12
1.5.1.2. Tấn công khuếch đại .............................................................................13
1.5.2. Những kiểu tấn công làm cạn kiệt tài nguyên .............................................14
1.5.2.1. Tấn công khai thác giao thức (Protocol Exploit Attack) ...................... 14
1.5.2.2. Tấn cơng bằng gói tin độc hại (Malformed Packet Attack)..................16
1.6. Một số đặc tính của cơng cụ tấn công DDOS .....................................................17
1.6.1. Cách thức cài đặt DDOS Agent ..................................................................17

1.6.1.1 Cách cài đặt Active ................................................................................17
1.6.1.2. Cách cài đặt bị động .............................................................................18
1.6.2. Giao tiếp trên mạng tấn công .......................................................................19
1.6.3. Các nền tảng hỗ trợ Agent: ..........................................................................19
1.6.4. Các chức năng của công cụ DDOS.............................................................. 19
1.7. Một số công cụ DDOS: ......................................................................................21
CHƢƠNG 2: CÁC GIẢI PHÁP GIẢM THIỂU TẤN CÔNG DDOS ....................23
2.1. Các giai đoạn chi tiết trong phòng chống DDOS ...............................................23
Hoàng Hữu Tiến - Lớp 52K2 - Khoa CNTT

2


Đồ án tốt nghiệp đại học
2.1.1. Tối thiểu hóa số lượng Agent: .....................................................................23
2.1.2. Tìm và vơ hiệu hóa các Handler: .................................................................24
2.1.3. Phát hiện dấu hiệu của một cuộc tấn công: .................................................24
2.1.4. Làm suy giảm hay dừng cuộc tấn công ....................................................... 24
2.1.5. Chuyển hướng của cuộc tấn công: .............................................................. 25
2.1.6. Giai đoạn sau tấn công: ...............................................................................25
2.2. Sử dụng Load balancing ....................................................................................26
2.2.1. Giới thiệu chung: ......................................................................................... 26
2.2.2.Tổng quan về công nghệ Clustering ............................................................. 26
2.2.3. Các yêu cầu của 1 hệ thống Cluster ............................................................ 28
2.2.4. Cluster nhiều địa điểm phân tán ..................................................................28
2.2.5. Chế độ hoạt động của Network Load Balancing .........................................29
2.2.6. Network Load Balancing của Goole và Yahoo! trong việc phòng chống
Denial of Service: ..................................................................................................31
2.2.6.1. Cơ chế chung ........................................................................................ 31
2.2.6.2. Giải pháp thực tế của Google ............................................................... 31

CHƢƠNG 3: TRIỂN KHAI CÀI ĐẶT VÀ CẤU HÌNH .........................................34
3.1. Xây dựng mơ hình thử nghiệm.......................................................................34
3.2. Cách thức triển khai tấn công và giảm thiểu ......................................................35
3.2.1. Kiểm tra CPU và mạng................................................................................36
3.2.2. Sử dụng phần mềm để giảm thiểu tấn công ................................................37
3.2.2.1. Anti DDOS guardian ............................................................................37
3.2.2.2. IP blocker ............................................................................................. 39
3.3. Cài đặt và cấu hình anti ddos Guardian ..............................................................40
3.3.1. Cài đặt ..........................................................................................................40
3.3.2. Cấu hình.......................................................................................................45
3.4. Xem kết quả sau khi đã cài anti ddos guardian và ip blocker ............................48
CHƢƠNG 4: ĐÁNH GIÁ KẾT QUẢ VÀ HƢỚNG PHÁT TRIỂN ....................... 50
4.1 Đánh giá kết quả .................................................................................................50
4.2.Hướng nghiên cứu phát triển ...............................................................................50
KẾT LUẬN ..................................................................................................................52
Tài liệu tham khảo .......................................................................................................53

Hoàng Hữu Tiến - Lớp 52K2 - Khoa CNTT

3


Đồ án tốt nghiệp đại học

LỜI MỞ ĐẦU
1. Lý do chọn đề tài
Đi cùng với sự phát triển công nghệ thơng tin là mức độ tinh vi, khó
lường của một bộ phận hacker mũ đen, chuyên chống phá nhằm kiểm sốt
thơng tin, đánh cắp dữ liệu, gián đoạn hoạt động của tổ chức, doanh nghiệp.
Trong những năm gần đây có rất nhiều vụ tấn công từ chối dịch vụ (Distributed

Denial of Service Attack_ DDOS) lớn, chủ yếu là nhắm vào trang web của các
tổ chức chính phủ hay các doanh nghiệp thương mại điện tử lớn trên toàn thế
giới, gây ra khơng ít thiệt hại về an ninh dữ liệu, doanh thu và uy tín của các tổ
chức đó. Do đó, các tổ chức doanh nghiệp cần phải có sự chuẩn bị tốt nhất để
ứng phó với các vụ tấn cơng bất ngờ và có biện pháp khắc phụ kịp thời để hạn
chế tối đa các thiệt hại mà DDOS gây ra.
2. Đối tƣợng nghiên cứu và khách thể
- Tìm hiểu các kỹ thuật tấn cơng DDOS
- Tìm hiểu các thuật tốn tấn cơng DDOS
- Triển khai cài đặt, cách thức tấn cơng
3. Mục đích nghiên cứu
- Giải thích được các kỹ thuật tấn cơng DDOS
- Phân tích được các thuật tốn tấn cơng DDOS
- Tìm hiểu cách ngăn chặn tấn cơng DDOS
4. Nội dung thực hiện
- Tìm hiểu về khái niệm tấn cơng DDOS
- Tìm hiểu các kỹ thuật tấn cơng DDOS
- Tìm hiểu các thuật tốn tấn cơng DDOS

Hoàng Hữu Tiến - Lớp 52K2 - Khoa CNTT

4


Đồ án tốt nghiệp đại học

CHƢƠNG 1
TỔNG QUAN VỀ TẤN CƠNG DDOS
1.1. Khái niệm tấn cơng DDOS
Tấn cơng từ chối dịch vụ (Distributed Denial of Service Attack_ DDOS)

là nhiều máy tính hoặc nhiều hệ thống máy tính cùng yêu cầu tài ngun trên
máy đích làm cho máy đích khơng đủ tài nguyên để phục vụ, hậu quả là có thể
treo (mất khả năng phục vụ) và khởi động lại.
Hacker thường tấn công từ chối dịch vụ thường nhắm vào các trang tin
tức mạng hay máy chủ của các ngân hàng, cổng thanh tốn thẻ tín dụng v.v.
Cách thực hiện: Hacker có thể lợi dụng các máy chủ Free Proxy trên thể
giới hoặc sử dụng BOTNET để điều khiển của tấn công, hoặc viết các tools
upload lên các diễn đàn để rồi các tools tự động gửi các yêu cầu tới các máy chủ
cần tấn công
1.2. Giới thiệu về DDOS
Ngày 7/2/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 là do họ phải gánh chịu một đợt tấn công DDOS với quy mơ
vài nghìn máy tính liên tục gửi hàng triệu yêu cầu đến các máy chủ dịch vụ làm
các máy chủ này không thể phục vụ các user thông thường khác.
Tiếp tục sau đó ít ngày, 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, Fifa.com, amazon.com,
dell.com, Zdnet.com, E-trade.com, Ebay.com. Đây là những công ty lớn 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. Theo kết quả điều tra đã được
cơng bố thì cậu bé 15 tuổi người Canada, với nickname “mafiaboy” đã tìm tịi và
tải về một số chương trình và cơng cụ của các hacker. Cậu bé này đã 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 phịng chát cơng cộng, khơng ai tự truy tìm được dấu vết của
cậu bé này.
Từ đó đến nay, trên thế giới cũng như tại Việt Nam, có rất nhiều cơng ty
Hồng Hữu Tiến - Lớp 52K2 - Khoa CNTT


5


Đồ án tốt nghiệp đại học

khổng lồ khác đã gục ngã dưới các cuộc tấn cơng kiểu DDOS, 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 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ề”.
1.3. Các giai đoạn của một cuộc tấn công DDOS
Một cuộc tấn công DDOS thông thường gồm bao gồm 03 giai đoạn.
a. Giai đoạn 1: Giai đoạn chuẩn bị.
- Chuẩn bị công cụ là giai đoạn quan trọng của cuộc tấn công, công cụ sử
dụng cho tấn cơng thơng thường hoạt động theo mơ hình client-server. Hacker
có thể viết phần mềm này hay tải từ Internet một cách dễ dàng, có rất nhiều cơng
cụ DDoS được cung cấp miễn phí trên mạng.
- Kế tiếp, hacker dùng các kỹ thuật tấn công khác để nắm trọn quyền một

số host trên mạng, tiến hành cài đặt các phần mềm cần thiết trên các host này.
Việc cấu hình và thử nghiệm tồn bộ mạng tấn cơng (attack network - bao gồm
mạng lưới các máy đã bị lợi dụng cùng với các phần mềm đã được thiết lập trên
đó, máy của hacker hoặc một số máy khác đã được thiết lập tạo thành các điểm
phát động tấn công) cũng sẽ được thực hiện trong giai đoạn này.
b. Giai đoạn 2: Giai đoạn xác định mục tiêu và thời điểm.
- Sau khi xác định mục tiêu lần cuối, hacker sẽ có hoạt động điều chỉnh

mạng tấn công chuyển hướng tấn công về phía mục tiêu.
- Yếu tố thời điểm sẽ quyết định mức độ thiệt hại và tốc độ đáp ứng của

mục tiêu đối với cuộc tấn công.

c. Giai đoạn 3: Phát động tấn cơng và xóa dấu vết.
Đúng thời điểm đã định, hacker phát động tấn cơng từ máy của mình
Lệnh tấn cơng này có thể đi qua nhiều cấp mới đến host thực sự tấn cơng. Tồn
bộ mạng tấn cơng (có thể lên đến hàng nghìn máy), sẽ vắt cạn năng lực của máy
chủ mục tiêu, ngăn chặn không cho các máy chủ này hoạt động như thiết kế.
- Sau một khoảng thời gian tấn cơng thích hợp, Hacker tiến hành xóa mọi

dấu vết có thể truy ngược đến mình. Việc này địi hỏi các kỹ thuật xóa dấu vết ở
trình độ cao.
1.4. Kiến trúc tổng quan của mạng tấn cơng DDOS
Nhìn chung mạng tấn cơng DDOS có hai mơ hình chính:
Hồng Hữu Tiến - Lớp 52K2 - Khoa CNTT

6


Đồ án tốt nghiệp đại học

+ Mơ hình Agent – Handler
+ Mơ hình IRC – Based (mơ hình dựa vào mạng trao đổi thơng tin).
Dưới đây là sơ đồ chính phân loại các kiểu tấn cơng DDOS (Hình 1.1).
1.4.1. Mơ hình Agent – Handler

Mạng tấn cơng
DDoS

IRC - Based

Agent -Handler


TCP

Trao đổi Client –

Trao đổi Client –

Kênh riêng /

Handler

Handler

Kênh bí mật

UDP

Kênh cơng
cộng

ICMP
TCP

UDP

ICMP

Hình 1.1. Mơ hình Agent – Handler
Theo mơ hình này, mạng tấn cơng gồm 3 thành phần: Agent, Client và
Handler (Hình 1.1):
 Client: là thành phần phần mềm cơ sở để hacker điều khiển mọi hoạt


động của mạng tấn công.
 Handler: là một thành phần phần mềm trung gian giữa Agent và Client,

làm nhiệm vụ giúp Client điều khiển các Agent.
Hoàng Hữu Tiến - Lớp 52K2 - Khoa CNTT

7


Đồ án tốt nghiệp đại học
 Agent: là thành phần phần mềm thực hiện sự tấn công vào mục tiêu,

nhận điều khiển từ Client thông qua các Handler
Kiến trúc mạng tấn cơng kiểu Agent – Handler được mơ tả trên

Hacker

Handler

Agent

Hacker

Handler

Handler

Agent


Agent

Handler

Agent

Agent

Victim

Hình 1.2. Kiến trúc mạng tấn công kiểu Agent – Handler
Hacker sẽ từ Client giao tiếp với Handler để xác định số lượng Agent đang
hoạt động, điều chỉnh thời điểm tấn công và cập nhật các Agent. Tùy theo cách
Hacker thiết lập cấu hình mạng tấn cơng, các Agent sẽ chịu sự quản lý của một
hay nhiều Handler (Hình 1.2).
Hồng Hữu Tiến - Lớp 52K2 - Khoa CNTT

8


Đồ án tốt nghiệp đại học

Thông thường Hacker sẽ đặt phần mềm Handler trên một bộ định tuyến
hay một máy chủ có lưu lượng mạng lưu thơng nhiều. 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 tiếp này
thơng thường xảy ra trên các giao thức TCP, UDP hay ICMP. Chủ nhân thực sự
của các máy tính bị cài Agent thơng thường không hề hay biết họ bị lợi dụng
vào cuộc tấn công kiểu DDOS, do người dùng không đủ khả năng phát hiện.
Mặt khác, các Agent được cài dưới dạng cửa hậu (Backdoor) thường chỉ sử
dụng rất ít tài nguyên hệ thống làm cho người dùng hầu như không thể thấy ảnh

hưởng của chúng đến hiệu năng của hệ thống.
1.4.2. Mơ hình dựa vào mạng IRC (IRC – Based)
Internet Relay Chat (IRC) là một hệ thống liên lạc trực tuyến qua mạng
Internet, IRC cho phép người dùng tạo một kết nối đến đa điểm đến nhiều
người dùng khác và trao đổi thảo luận (chat) theo thời gian thực. Kiến trúc
của mạng IRC bao gồm nhiều máy chủ IRC trên khắp mạng giao tiếp với
nhau qua nhiều kênh. Mạng IRC cho phép người dùng tạo ba loại kênh: kênh
chung; kênh riêng; kênh bí mật.
- Kênh chung (Public Channel): Cho phép người dùng của kênh đó thấy

tên IRC và nhận được thơng điệp của mọi người dùng khác trên cùng kênh.
- Kênh riêng (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 người dùng không cùng kênh thấy tên IRC
và thông điệp trên kênh. Tuy nhiên, nếu người dùng ngoài kênh dùng một số
lệnh channel locator thì có thể biết được sự tồn tại của kênh riêng đó.
- Kênh bí mật (Secret Channel): Tương tự kênh riêng nhưng không thể

xác định bằng bộ định vị kênh (channel locator).
Kiến trúc mạng tấn công của kiểu dựa vào IRC được mơ tả trên (Hình
1.3).

Hồng Hữu Tiến - Lớp 52K2 - Khoa CNTT

9


Đồ án tốt nghiệp đại học

Hacker


Hacker

IRC NETWORK

Agent

Agent

Agent

Agent

Agent

Victim
Hình 1.3. Kiến trúc mạng tấn cơng kiểu dựa vào mạng IRC
Mơ hình mạng tấn công dựa vào IRC cũng tương tự như mô hình 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,
Hacker cịn có thêm một số lợi thế khác như:
+ Các giao tiếp dưới dạng bản tin trao đổi (chat message) làm cho việc
phát hiện ra chúng là vô cùng khó khăn.
+ Lưu lượng IRC có thể di chuyển trên mạng với số lượng lớn mà không bị nghi
+ Không cần phải duy trì danh sách các Agent, hacker chỉ cần đăng nhập
(logon) vào máy chủ IRC là đã có thể nhận được báo cáo về trạng thái các Agent
do các kênh gửi về.
+ Sau cùng: IRC cũng là một môi trường chia sẻ tệp tin tạo điều kiện phát
tán các mã Agent lên các máy khác.
1.5. Phân loại tấn cơng DDOS

Nhìn chung, có rất nhiều biến thể của kỹ thuật tấn cơng DDOS nhưng nếu
Hồng Hữu Tiến - Lớp 52K2 - Khoa CNTT

10


Đồ án tốt nghiệp đại học

nhìn dưới góc độ chun mơn thì có thể chia các biến thề này thành hai loại dựa trên
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.
Dưới đây là sơ đồ mô tả sự phân loại các kiểu tấn cơng DDOS (Hình 1.4).
DDoS attack

Bandwith Deleption

Resource Deleption

Amplification

Flood Attack

Malformed Paclket

Protocol Exploit Attack

Attack

UDP

ICMP


Random

Static

Spoof

Port

Port

Source

Attack

Attack

Attack

Attack

Smuft

Flaggle

TCP SYN

PUSH

IP @


IP Packet

Attack

Attack

Attack

+ACK
SYN

Attack

Options

Direct

Loop

Attack

Attack

Attack

Spoof

Spoof


Spoof

Spoof

Source

Source

Source

Source

Attack

Attack

Attack

Attack

Hình 1.4. Phân loại tấn cơng kiểu DDOS
Hồng Hữu Tiến - Lớp 52K2 - Khoa CNTT

11


Đồ án tốt nghiệp đại học

1.5.1. Những kiểu tấn công làm cạn kiệt băng thông mạng (Bandwidth
Depletion Attack)

Tấn công làm cạn kiệt băng thông mạng được thiết kế nhằm làm tràn ngập
mạng mục tiêu với những lưu lượng không cần thiết, với mục đích làm giảm tối
thiểu khả năng lưu thông các lưu lượng hợp lệ đến 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 mạng:
+ Tấn công ngập lụt (Flood Attack): Điều khiển các Agent gửi một lưu
lượng lớn đế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
cung cấp băng thông.
+ Tấn công khuếch đại (Amplification Attack): Điều khiển các Agent hay
Client tự gửi thông điệp đến một địa chỉ IP quảng bá, làm cho tất cả các máy
trong mạng con (subnet) này đồng loạt gửi thông điệp đến hệ thống dịch vụ của
mục tiêu. Phương pháp này làm gia tăng lưu lượng không cần thiết, làm suy
giảm băng thông của mục tiêu.
1.5.1.1. Tấn công ngập lụt
Trong phương pháp này, các Agent sẽ gửi một lượng lớn lưu lượng mạng
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. Hậu quả là người dùng thực sự của hệ thống không
sử dụng được dịch vụ như mong đợi.
Ta có thể chia tấn công ngập lụt thành hai loại:
+ Tấn công ngập lụt UDP (UDP Flood Attack): Do tính chất truyền khơng
theo hướng kết nối của UDP, hệ thống nhận gói tin UDP chỉ đơn giản nhận vào
tất cả các gói tin mình cần phải xử lý. Một lượng lớn các gói tin UDP đượ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 gói tin UDP này có thể được gửi đến các cổng tùy ý hay chỉ duy nhất
một cổng.
Thông thường các gói tin sẽ được gửi đến nhiều cổng làm cho hệ thống
mục tiêu phải căng ra để xử lý phân hướng cho các gói tin này. Nếu cổng 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 gói tin ICMP thơng
báo "khơng tới được cổng đích" (“destination port unreachable”). Thơng thường
các phần mềm Agent sẽ dùng địa chỉ IP giả để che giấu hành vi, cho nên các gói

tin trả về do khơng có cổng xử lý sẽ dẫn đến một địa chỉ IP khác. Tấn cơng ngập
Hồng Hữu Tiến - Lớp 52K2 - Khoa CNTT

12


Đồ án tốt nghiệp đại học

lụt UDP 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 các gói tin diễn ra rất mạnh.
+ Tấn công ngập lụt ICMP (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_REPLY đến hệ thống mục tiêu thì hệ thống này phải reply
một lượng tương ứng gói tin để 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.
1.5.1.2. Tấn công khuếch đại
Tấn công khuếch đại nhắm đến việc sử dụng các chức năng hỗ trợ địa
chỉ IP quảng bá của các bộ định tuyến (router) nhằm khuyếch đại và hồi
chuyển cuộc tấn công. Mô đun này cho phép bên gửi chỉ định một địa chỉ IP
quảng bá cho tồn subnet bên nhận thay vì nhiều địa chỉ. Bộ định tuyến sẽ có
nhiệm vụ gửi đến tất cả địa chỉ IP trong mạng con (subnet) đó quảng bá gói tin
mà nó nhận được.
Hacker có thể gửi thơng điệp quảng bá 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 Hacker trực tiếp gửi thơng điệp,
thì có thể lợi dụng các hệ thống bên trong mạng để quảng bá như một Agent(Hình
1.5).

Hình 1.5. Tấn cơng khuếch đại
Hồng Hữu Tiến - Lớp 52K2 - Khoa CNTT


13


Đồ án tốt nghiệp đại học

Có thể chia tấn cơng khuếch đại thành hai loại, tấn công Smurf và tấn
công Fraggle:
+ Tấn công kiểu Smurf: Trong kiểu tấn công này Hacker gửi các gói tin
đến mạng khuếch đại (router hay thiết bị mạng khác hỗ trợ quảng bá), với địa
chỉ của nạn nhân. Thơng thường những gói tin được dùng là ICMP ECHO
REQUEST, các gói tin này yêu cầu bên nhận phải trả lời bằng một gói tin ICMP
ECHO REPLY. Mạng khếch đại sẽ gửi đến gói tin ICMP ECHO REQUEST đến
tất cả các hệ thống thuộc địa chỉ quảng bá và tất cả các hệ thống này sẽ gửi gói
tin REPLY về địa chỉ của mục tiêu tấn cơng.
+ Tấn công Fraggle: Tương tự như tấn công Smurf nhưng thay vì dùng
gói tin ICMP ECHO REQUEST, Hacker dùng gói tin UDP ECHO gửi đến mục
tiêu. Thật ra còn một biến thể khác của tấn cơng Fraggle sẽ gửi gói tin UDP
ECHO đến cổng charge (port 19/UNIX) của mục tiêu, với địa chỉ bên gửi là
cổng echo (port 7/UNIX) của mục tiêu, tạo nên một vịng lặp vơ hạn. Hacker
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 cổng 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ỉ quảng bá, quá trình cứ thế tiếp diễn. Đây chính là ngun nhân làm
cho tấn công Flaggle nguy hiểm hơn tấn công Smurf rất nhiều.
1.5.2. Những kiểu 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 là kiểu tấn cơng trong đó Hacker gửi
những gói tin dùng các giao thức sai chức năng thiết kế, hay gửi những gói tin
với dụng ý làm tắc nghẽn tài nguyên mạng, làm cho các tài nguyên này không
phục vụ người dùng thông thường khác được.
1.5.2.1. Tấn công khai thác giao thức (Protocol Exploit Attack)

+ Tấn công TCP SYN: TCP 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 gói tin SYN REQUEST (Synchronize). Bên nhận nếu nhận
được SYN REQUEST sẽ trả lời bằng gói tin SYN/ACK REPLY. Bước cuối cùng,
bên gửi sẽ truyền gói tin cuối cùng ACK và bắt đầu truyền dữ liệu (Hình 1.6).

Hồng Hữu Tiến - Lớp 52K2 - Khoa CNTT

14


Đồ án tốt nghiệp đại học

SYS

TCP

TCP
Server

Client

SYN/ACK

Client Port
1024-65535

80

Service Port

1-1023

ACK

Hình 1.6. Mơ tả về bắt tay ba bƣớc
Nếu bên máy chủ đã trả lời một yêu cầu SYN bằng một SYN/ACK
REPLY nhưng khơng nhận được gói tin ACK cuối cùng sau một khoảng thời
gian quy định thì nó sẽ gửi trả lại SYN/ACK REPLY 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 gói tin ACK cuối cùng sẽ bị “phong tỏa” cho đến hết thời gian
timeout.

Malicious

SYS packet with a deliberately fraudulent
(spoofed) source IP return address

TCP
Client

Victim TCP
Server

SYN

?
80

SYS/ACK


Hình 1.7. Tấn cơng TCP SYN
Nắm được điểm yếu này, Hacker gửi một gói tin SYN đế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 REPLY đến một
địa chỉ khác và sẽ không bao giờ nhận được gói tin ACK 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 gói tin SYN 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 ngun (Hình 1.7).
Hồng Hữu Tiến - Lớp 52K2 - Khoa CNTT

15


Đồ án tốt nghiệp đại học

Client

Server

Hacker/Agent

SYN

Server

SYN

SYN/ACK

SYN/ACK


SYN/ACK

ACK

+ PUSH = tấn công ACK: Trong giao thức TCP, các gói tin được chứa
trong bộ đệm (buffer), khi bộ đệm đầy thì các gói tin 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
bộ đệm đầy bằng cách gửi một gói tin với PUSH và ACK mang giá trị là 1.
Những gói tin này làm cho hệ thống của nạn nhân unload tất cả dữ liệu trong bộ
đệm TCP ngay lập tức và gửi một gói tin ACK trở về khi thực hiện xong đ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 gói tin gửi đến và sẽ bị treo.
1.5.2.2. Tấn cơng bằng gói tin độc hại (Malformed Packet Attack)
Tấn cơng bằng gói tin độc hại là cách tấn cơng dùng các Agent để gửi
các gói tin 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 tấn cơng bằng gói tin độc hại:
+ Tấn công địa chỉ IP (IP address attack): dùng gói tin 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.
+ Tấn công phần lựa chọn gói tin IP (IP packet option attack): ngẫu nhiên
hóa vùng OPTION trong gói tin IP 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ý.

Hoàng Hữu Tiến - Lớp 52K2 - Khoa CNTT

16


Đồ án tốt nghiệp đại học


1.6. Một số đặc tính của cơng cụ tấn cơng DDOS

Hình 1.8. Cơng cụ tấn cơng DDOS
Các cơng cụ tấn cơng DDoS có rất nhiều điểm chung như: cách cài phần
mềm Agent, phương pháp giao tiếp giữa các Hacker, handler và Agent, điểm
chung về loại hệ điều hành hỗ trợ các công cụ này. Sơ đồ trên mô tả sự so sánh
tương quan giữa các cơng cụ tấn cơng DDoS này (Hình 1.8).
1.6.1. Cách thức cài đặt DDOS Agent
Hacker có thể dùng phương pháp active và passive để cài đặt phần mềm
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.
1.6.1.1 Cách cài đặt Active
+ Quét (Scanning): dùng các công cụ như Nmap, Nessus để tìm những
Hồng Hữu Tiến - Lớp 52K2 - Khoa CNTT

17


Đồ án tốt nghiệp đại học

sơ hở trên các hệ thống đang hoạt động nhằm cài đặt phần mềm 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 đó.
+ Cửa hậu (Backdoor): Sau khi tìm thấy được danh sách các hệ thống có
thể lợi dụng, Hacker sẽ tiến hành xâm nhập và cài phần mềm 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ư
trang web của tổ chức
Common Vulnerabilities and Exposures (CVE). Trang nà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.
+ 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
phần mềm Agent.
+ Tràn bộ đệm: Tận dụng lỗi tràn bộ đệm, Hacker 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 gây tràn bộ đệm để chạy chương
trình phần mềm Agent.
1.6.1.2. Cách cài đặt bị động
+ Bug Website: Hacker có thể lợi dụng một số lỗi của trình duyệt web để
cài phần mềm Agent vào máy của user truy cập. Hacker sẽ tạo một website
mang nội dung tiềm ẩn những code và lệnh để đặt bẫy người dùng. Khi người
dùng truy cập nội dung của website, thì website tải và cài đặt phần mềm Agent
một cách bí mật. Trình duyệt web 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 web IE tự động tải và cài đặt
mã thực thi trên máy của user duyệt web.
+ Lỗ file: Một phương pháp khác là nhúng mã thực thi vào trong các file
thông thường. Khi người dùng đọc hay thực thi các file này, máy của họ lập tức
bị nhiễm phần mềm Agent. Một trong những kỹ thuật phổ biến là đặt tên file rất dài,
do ngầm định của các hệ điều hành chỉ hiển thị phần đầu của tên file nên Hacker 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 người dùng
Hoàng Hữu Tiến - Lớp 52K2 - Khoa CNTT

18


Đồ án tốt nghiệp đại học


sẽ mở file này để đọc và lập tức file này được thực thi và phần mềm Agent đượ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…
- Rootkit: Là những chương trình dùng để xóa dấu vết về sự hiện diện của
Agent hay Handler trên máy của nạn nhân. Rootkit thường được dùng trên phần
mềm Hander đã được cài, đóng vai trị xung yếu cho sự hoạt động của mạng tấn
công hay trên các môi trường mà khả năng bị phát hiện của Handler là rất cao.
Rootkit rất ít khi dùng trên các
Agent do mức độ quan trọng của Agent khơng cao và nếu có mất một số
Agent cũng không ảnh hưởng nhiều đến mạng tấn công.
1.6.2. Giao tiếp trên mạng tấn công
- Giao thức: Giao tiếp trên mạng tấn cơng có thể thực hiện trên nền các

giao thức TCP, UDP, ICMP.
- 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 tồn bộ mạng tấn cơng. Tùy theo giao thức đượ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 tấn cơng ở dạng IRC-based thì
kênh riêng và kênh bảo mật đã 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 kênh IRC để
nhận chỉ thị. Cách thứ hai là Agent chỉ đơn giản là “nằm vùng” chờ chỉ thị từ
Handler hay kênh IRC.
1.6.3. Các nền tảng hỗ trợ Agent:
Các công cụ DDOS thơng thường được thiết kế hoạt động tương thích với nhiều
hệ điều hành khác nhau như: Unix, Linux, Solaris hay Windows. Các thành phần của
mạng tấn cơng có thể vận hành trên các môi trường hệ điều hành khác nhau.
Thông thường Handler sẽ vận hành trên các hệ điều hành chạy trên các

server lớn như Unix, Linux hay Solaris. Agent thông thường chạy trên hệ điều
hành phổ biến nhất là Windows do cần số lượng lớn dễ khai thác.
1.6.4. Các chức năng của công cụ DDOS
Mỗi công cụ DDOS có một tập lệnh riêng, tập lệnh này được Handler và
Agent thực hiện. Tuy nhiên ta có thể phân loại tổng quát tập lệnh chung của mọi
công cụ như sau (Bảng 1.1) (Bảng 1.2):
Hoàng Hữu Tiến - Lớp 52K2 - Khoa CNTT

19


Đồ án tốt nghiệp đại học

Bảng 1.1. Tập lệnh của Handler

TẬP LỆNH CỦA HANDLER
Lệnh

Mô tả

Log On

Dùng để logon vào Handler software (user + password)

Turn On

Kích hoạt Handler sẵn sàng nhận lệnh

Log Off


Dùng để Logoff ra khỏi Handler software

Turn Off

Chỉ dẫn Handler ngưng hoạt động, nếu Handler đang quét
tìm Agent thì dừng ngay hành vi này

Initiate Attack

Ra lệnh cho Handler hướng dẫn mọi Agent trực thuộc tấn
công mục tiêu đã định

List Agents

Yên cầu Handler liệt kê các Agent trực thuộc

Kiss Agents

Loại bỏ một Agent ra khỏi hàng ngũ Attack-Network

Add victim

Thêm một mục tiêu để tấn công

Download

Cập nhật cho Handler software (downloads file.exe về và

Upgrades


thực thi)

Set Spoofing

Kích hoạt và thiết lập cơ chế giả mạo địa chỉ IP cho các
Agent

Set Attack Time Định thời điểm tấn công cho các Agent
Set Attack

Thiết lập độ dài của cuộc tấn công vào mục tiêu

Duration
BufferSize

Thiết lập kích thước buffer của Agent (nhằm gia tăng sức
mạnh cho Agent)

Help

Hướng dẫn sử dụng chương trình

Hồng Hữu Tiến - Lớp 52K2 - Khoa CNTT

20


Đồ án tốt nghiệp đại học

Bảng 1.2. Tập lệnh của Agent


TẬP LỆNH CỦA AGENT
Turn On

Kích hoạt Agent sẵn sàng nhận lệnh

Turn Off

Chỉ dẫn Agent ngưng hoạt động, nếu Agent đang quét tìm
Handler/IRC Channel thì dừng ngay hành vi này lại

Initiate Hacker Ra lệnh Agent tấn công mục tiêu đã định
Download
Upgrades

Cập nhật phần mềm Agent (downloaf file .exe về và thực thi)

Set Spoofing

Thiết lập cơ chế giả mạo địa chỉ IP cho các Agent hoạt động

Set Attack
Duration

Thiết lập độ dài các cuộc tấn công vào mục tiêu

Set Packet Size Thiết lập kích thước của attack packet
Help

Hướng dẫn sử dụng chương trình

1.7. Một số công cụ DDOS:

Dựa trên nền tảng chung của phần trên, đã có nhiều cơng cụ được viết ra,
thơng thường các công cụ này là mã nguồn mở nên mức độ phức tạp ngày càng
cao và có nhiều biến thể mới lạ.
Công cụ DDOS dạng Agent – Handler:
- TrinOO: là một trong các công cụ DDOS đầu tiên được phát tán rộng rãi.
TrinOO có kiến trúc Agent – Handler, là công cụ DDOS kiểu Bandwidth
Depletion Attack, sử dụng kỹ thuật UDP flood. Các version đầu tiên của TrinOO
không hỗ trợ giả mạo địa chỉ IP.
TrinOO Agent được cài đặt lợi dụng lỗi remote buffer overrun. Hoạt động
trên hệ điều hành Solaris 2.5.1 à Red Hat Linux 6.0. Attack – network giao tiếp
dùng TCP (attacker client và handler) và UDP (Handler và Agent). Mã hóa giao
tiếp dùng phương pháp mã hóa đối xứng giữa Client, handler và Agent.
- Tribe Flood Network (TFN): Kiểu kiến trúc Agent – Handler, công cụ

DDoS hoễ trợ kiểu Bandwidth Deleption Attack và Resourse Deleption Attack.
Sử dụng kỹ thuật UDP flood, ICMP Flood, TCP SYN và Smurf Attack. Các
Hoàng Hữu Tiến - Lớp 52K2 - Khoa CNTT

21


Đồ án tốt nghiệp đại học

version đầu tiên không hỗ trợ giả mạo địa chỉ IP, TFN Agent được cài đặt lợi
dụng lỗi buffer overflow. Hoạt động trên hệ điều hành Solaris 2.x và Red Hat
Linux 6.0. Attack – Network giao tiếp dùng ICMP ECHO REPLY packet
(TFN2K hỗ trợ thêm TCP/UDP với tính năng chọn protocol tùy ý), khơng mã
hóa giao tiếp (TFN2K hỗ trợ mã hóa)

- Stacheldraht: là biến thể của TFN có thêm khả năng updat Agent tự

động. Giao tiếp telnet mã hóa đối xứng giữa Attacker và Handler.
- Shaft: là biến thể của TrinOO, giao tiếp Handler – Agent trên UDP,

Attacker – Hendle trên Internet. Tấn công dùng kỹ thuật UDP, ICMP và TCP
flood. Có thể tấn cơng phối hợp nhiều kiểu cùng lúc. Có thống kê chi tiết cho
phép attacker biết tình trạng tổn thất của nạn nhân, mức độ quy mô của cuộc tấn
công để điều chỉnh số lượng Agent.
Công cụ DDoS dạng IRC – Based:
Công cụ DDoS dạng IRC-based được phát triển sau các công cụ dạng
Agent – Handler. Tuy nhiên, công cụ DDOS dạng IRC phức tạp hơn rất nhiều,
do tích hợp rất nhiều đặc tính của các cơng cụ DDoS dạng Agent – Handler.
- Trinity: là một điển hình của cơng cụ dạng này. Trinity có hầu hết các

kỹ thuật tấn cơng bao gồm: UDP, TCP SYS, 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 nhâ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.
- Ngồi ra có thể nhắc thêm về một số cơng cụ DDOS khác như Knight,

được thiết kế chạy trên Windows, sử dụng kỹ thuật cài đặt của troijan back
Orifice. Knight dùng các kỹ thuật tấn công như SYV, UDP Flood và Urgent
Pointer Flooder.
- Sau cùng là Kaiten, là biến thể của Knight, hỗ trợ rất nhiều kỹ thuật tấn

công như: UDP, TCP flood, SYN, PUSH + ACK attack. Kaiten cũng thừa
hưởng khả năng ngẫu nhiên hóa địa chỉ giả mạo của Trinity.


Hồng Hữu Tiến - Lớp 52K2 - Khoa CNTT

22


Đồ án tốt nghiệp đại học

CHƢƠNG 2
CÁC GIẢI PHÁP GIẢM THIỂU TẤN CƠNG DDOS
Có rất nhiều giải pháp và ý tưởng được đưa ra nhằm đối phó với các cuộc
tấn cơng kiểu DDOS. Tuy nhiên khơng có giải pháp và ý tưởng nào là giải quyết
trọn vẹn bài toán Anti- DDOS. Các hình thái khác nhau của DDOS liên tục xuất
hiện theo thời gian song song với các giải pháp đối phó, tuy nhiên cuộc đua vẫn
tuân theo quy luật tất yếu của bảo mật máy tính: “Hacker ln đi trước giới bảo
mật một bước”.
Có ba giai đoạn chính trong quá trình Anti- DDOS:
- Giai đoạn ngăn ngừa: tối thiểu hóa lượng Agent, tìm và vơ hiệu hóa các

Handler
- Giai đoạn đối đầu với cuộc tấn công: Phát hiện và ngăn chặn cuộc tấn

công, làm suy giảm và dừng cuộc tấn công, chuyển hướng cuộc tấn công.
- Giai đoạn sau khi cuộc tấn công xảy ra: thu thập chứng cứ và rút kinh nghiệm

2.1. Các giai đoạn chi tiết trong phịng chống DDOS
2.1.1. Tối thiểu hóa số lượng Agent:
- Từ phía User: một phương pháp rất tốt để ngăn ngừa tấn cơng DDOS

là từng internet user sẽ tự đề phịng không để bị lợi dụng tấn công hệ thống
khác. Muốn đạt được điều này thì ý thức và kỹ thuật phòng chống phải được

phổ biến rộng rãi cho các internet user. Attack-Network sẽ khơng bao giờ
hình thành nếu khơng có user nào bị lợi dụng trở thành Agent. Các user phải
liên tục thực hiện các quá trình bảo mật trên máy vi tính của mình. Họ phải tự
kiểm tra sự hiện diện của Agent trên máy của mình, điều này là rất khó khăn
đối với user thơng thường.
Một số giải pháp tích hợp sẵn khả năng ngăn ngừa việc cài đặt code nguy
hiểm thông ào hardware và software của từng hệ thống. Về phía user họ nên cài
đặt và update liên tục các software như antivirus, anti_trojan và server patch của
hệ điều hành.
- Từ phía Network Service Provider: Thay đổi cách tính tiền dịch vụ truy

cập theo dung lượng sẽ làm cho user lưu ý đến những gì họ gửi, như vậy về mặt
ý thức tăng cường phát hiện DDOS Agent sẽ tự nâng cao ở mỗi User. :D
Hoàng Hữu Tiến - Lớp 52K2 - Khoa CNTT

23


×