Tải bản đầy đủ (.docx) (59 trang)

Đề cương xây dựng giải pháp chống tấn công trên mạng DOSDDOS

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 (5.25 MB, 59 trang )

HỌC VIỆN KỸ THUẬT MẬT MÃ

KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN MÔN HỌC

THỰC TẬP CƠ SỞ
Đề tài:

XÂY DỰNG CÁC GIẢI PHÁP CHỐNG TẤN
CÔNG TRÊN MẠNG (DoS/DDoS)

Sinh viên thực hiện:

NGUYỄN VĂN ĐẠT AT160708
NGUYỄN VĂN HƯNG AT160720
TRƯƠNG MINH TỒN AT160751
Nhóm 21

Giảng viên hướng dẫn:

TS. NGUYỄN ĐÀO TRƯỜNG



MỤC LỤC
Table of Contents
MỤC LỤC............................................................................................................2
DANH MỤC TỪ VIẾT TẮT..............................................................................2
DANH MỤC HÌNH VẼ, BẢNG.........................................................................3
LỜI MỞ ĐẦU......................................................................................................5


CHƯƠNG 1. NỘI DUNG CƠ BẢN VỀ TẤN CƠNG DoS/DDoS...................5
1.1 Giới thiệu về tấn cơng DoS/DDoS......................................................................5
1.1.1 Tổng quan về DoS/DDoS.....................................................................5
1.1.2 Khái niệm..............................................................................................8
1.1.3 Các giai đoạn của một cuộc tấn công DDoS.......................................9
1.1.4 Phân loại tấn công dịch vụ phân tán.................................................10
1.1.5 Mạng BOTNET..................................................................................12
1.2 Các kĩ thuật tấn công DoS/DDoS phổ biến.....................................................14
1.2.1 Tấn công làm cạn kiệt băng thông.....................................................14
1.2.2 Tấn cơng làm cạn kiệt tài ngun......................................................19
CHƯƠNG 2. PHỊNG, CHỐNG MỘT CUỘC TẤN CÔNG DOS/DDOS...23
2.1 Giai đoạn ngăn ngừa.........................................................................................23
2.1.1 Phát hiện và ngăn chặn Agent (Detect and Prevent):.......................24
2.1.2 Phát hiện và vơ hiệu hóa các Handler...............................................25
2.1.3 Phát hiện dấu hiệu một cuộc tấn cơng DOS/DDOS.........................25
2.2 Biện pháp đối phó tấn công DOS/DDoS.........................................................27
2.2.1 Bảo vệ thứ cấp victims........................................................................27


2.2.2 Phát hiện tiềm năng tấn công............................................................27
2.2.3 Làm suy giảm cuộc tấn công..............................................................28
2.2.4 Chuyển hướng tấn công.....................................................................29
2.3 Biện pháp đối phó DOS/DoS............................................................................30
CHƯƠNG 3. TRIỂN KHAI THỰC NGHIỆM..............................................31
3.1 Tấn cơng Ping of death attack.........................................................................31
3.1.1 Môi trường thực nghiệm:...................................................................31
3.1.2 Triển khai tấn công:...........................................................................31
3.2 Tấn công Syn flood attack................................................................................34
3.2.1 Môi trường thực nghiệm:...................................................................34
3.2.2 Công cụ sử dụng:................................................................................37

3.2.3 Triển khai tấn công:...........................................................................37
3.3 Tấn công HTTP flood attack............................................................................41
3.3.1 Môi trường thực nghiệm:...................................................................41
3.3.2 Công cụ sử dụng:................................................................................41
3.3.3 Triển khai tấn cơng:...........................................................................42
3.4 Triển khai phịng thủ:.......................................................................................45
3.4.1 Giới thiệu cơng cụ...............................................................................45
3.4.2 Cấu hình cơng cụ................................................................................45
3.4.3 Tiến hành phịng thủ..........................................................................51
3.5 Kết luận..............................................................................................................53
TÀI LIỆU THAM KHẢO................................................................................53

4


DANH MỤC TỪ VIẾT TẮT

ST

Từ viết tắt

Tiếng Anh

Tiếng việt

1

DNS

Domain Name System


Hệ thống tên miền

2

ICMP

T

Internet Control Message
Protocol

3

ISP

Giao thức xử lí thơng
báo trạng thái cho IP

Internet Service Provider

Nhà cung cấp dịch vụ
mạng

4

OS

5


SMTP

Operation System

Simple Message Transfer
Protocol

Hệ điều hành

Giao thức dùng để
gửi thư thông qua
một chương trình


6

SYN

Synchronous Idle

Kí tự đồng bộ hóa

Character

7

TCP/IP

Transmission Control
Protocol and Internet


Bộ giao thức liên
mạng

Protocol

DANH MỤC HÌNH VẼ, BẢ
Hình 1. 1: Biểu đồ sự gia tăng của DDOS...............................................................................5
Hình 1. 2: Mơ hình Botnet.....................................................................................................11
Hình 1. 3: Mơ hình tấn cơng UDP Flood...............................................................................13
Hình 1. 4: Tấn cơng ICMP Flood..........................................................................................14
Hình 1. 5: Tấn cơng ICMP Flood..........................................................................................16
Hình 1. 6: Tấn cơng Ping of Death........................................................................................17
Hình 1. 7: Quy trình bắt tay 3 bước.......................................................................................18
Hình 1. 8: Tấn cơng SYN Floods..........................................................................................19
Hình 1. 9: Tấn cơng HTTP Flood..........................................................................................20
Y
Hình 2. 1: Mơ hình Agent-Handler.......................................................................................22

6


Hình 3. 1: Máy nạn nhân khi chưa tấn cơng..........................................................................31
Hình 3. 2: Tạo file bat...........................................................................................................31
Hình 3. 3: Tấn cơng POD......................................................................................................32
Hình 3. 4: Trạng thái máy khi bị tấn cơng.............................................................................33
Hình 3. 5: Trạng thái IP máy Kali.........................................................................................34
Hình 3. 6: Trạng thái IP máy Ubuntu....................................................................................34
Hình 3. 7: Trạng thái IP máy Win 7.......................................................................................35
Hình 3. 8: Máy win 7 trước tấn cơng....................................................................................36

Hình 3. 9: Nmap máy win 7..................................................................................................36
Hình 3. 10: Tool tấn cơng Hping3.........................................................................................37
Hình 3. 11: Máy win 7 sau tấn cơng......................................................................................38
Hình 3. 12: Dùng Wireshark kiểm tra...................................................................................38
Hình 3. 13: Cơng cụ PyFlooder.............................................................................................39
Hình 3. 14: Trạng thái Apache server....................................................................................40
Hình 3. 15: Tấn cơng qua PyFlooder.....................................................................................40
Hình 3. 16: PyFlooder thực hiện tấn cơng.............................................................................41
Hình 3. 17: Kiểm tra qua Wireshark......................................................................................41
Hình 3. 18: Status Apache Server..........................................................................................42
Hình 3. 19: Cơng cụ Pfsense.................................................................................................44
Hình 3. 20: Thơng tin về hệ thống Pfsense............................................................................44
Hình 3. 21: Cài đặt các package............................................................................................45
Hình 3. 22: Cài đặt các rules.................................................................................................45
Hình 3. 23: Updates Rules.....................................................................................................46
Hình 3. 24: Thơng tin về các rules........................................................................................46
Hình 3. 25: Cài đặt Alert ans Block.......................................................................................47


Hình 3. 26: Chi tiết từng bộ rules..........................................................................................47
Hình 3. 27: Hồn thành cấu hình Suricata.............................................................................48
Hình 3. 28: Trạng thái máy Kali............................................................................................48
Hình 3. 29: Kết quả phịng thủ..............................................................................................49
Hình 3. 30: Chi tiết các Alerts...............................................................................................50
Hình 3. 31: Thơng tin về các logs..........................................................................................50

LỜI MỞ ĐẦU
Ngày nay, mọi dịch vụ và sản phẩm đều sử dụng máy tính và internet như một
phương tiện để trao đổi dữ liệu hoặc tiền trong một thế giới mạng internet mở. Công nghệ
thông tin là một công nghệ thú vị và mới nổi từng ngày, đòi hỏi hệ thống thông tin liên lạc

để trao đổi dữ liệu và dịch vụ. Tuy nhiên, tại đó tiềm tàng những lỗ hổng bảo mật. Tấn công
từ chối dịch vụ phân tán (DDoS) là một cuộc tấn công vào sự sẵn sàng có của các tài nguyên
có sẵn, để người dùng được xác thực khơng sử dụng được các tài ngun đó. Đề tài này
nhằm khám phá các mối đe dọa và lỗ hổng hiện có của DoS/DDoS với các giải pháp chống
lại những cuộc tấn cơng này.
Tính bảo mật, tính tồn vẹn và tính khả dụng là ba tính năng chính của bất kỳ hệ
thống truyền thơng mạng máy tính nào. DDoS là một tập hợp con của cuộc tấn công Từ chối
dịch vụ (DoS), dẫn đến việc áp đảo máy nạn nhân và từ chối các dịch vụ cho người dùng
hợp pháp của nó, dẫn đến khơng có sẵn tài nguyên và dịch vụ cho các khách hàng quan tâm.
Từ những vấn đề thực tiễn trên, căn cứ vào lý thuyết về an ninh an tồn của hệ
thống thơng tin, đề tài sẽ trình bày
1. Giới thiệu tổng quan về DDos
2. Kỹ thuật tấn cơng DDos phổ biến
3. Phịng, chống một cuộc tấn cơng DDos;
4. Giải pháp phịng, chống DDos hiệu quả.

8


CHƯƠNG 1. NỘI DUNG CƠ BẢN VỀ TẤN CÔNG DoS/DDoS
1.1 Giới thiệu về tấn công DoS/DDoS
1.1.1 Tổng quan về DoS/DDoS

1.1.1.1 Tình hình an ninh mạng chung
Đại dịch COVID-19 đã tạo ra một điều kiện hoàn hảo cho các tác nhân đe dọa tăng
cường nỗ lực để phá vỡ các dịch vụ mà mọi người sử dụng như chăm sóc sức khỏe, giáo dục
và cơ sở hạ tầng quan trọng chẳng hạn như tiện ích, dịch vụ điện thoại và vận chuyển, hoặc
để ngăn chặn các thông tin liên lạc giữa các cá nhân hoặc cơ quan chính phủ. Trong khi thế
giới bắt đầu trạng thái bình thường mới, các cuộc tấn công mạng, bao gồm các cuộc tấn công
do nhà nước tài trợ tiếp tục gia tăng.

Các cuộc tấn công từ chối dịch vụ phân tán (DDoS) gây ra mối đe dọa rất lớn đối với
các doanh nghiệp và tổ chức cung cấp dịch vụ trực tuyến. Trong một cuộc tấn công như vậy,
tội phạm mạng gửi nhiều yêu cầu đến tài ngun web bị tấn cơng với mục đích vượt quá khả
năng của trang web để xử lý nhiều yêu cầu và ngăn trang web hoạt động bình thường. Các
cuộc tấn cơng này có thể kéo dài vài ngày, gây ra sự gián đoạn lớn cho các tổ chức. Từ tháng
10 đến cuối tháng 12 năm 2021, các nhà nghiên cứu của Kaspersky đã quan sát thấy sự gia
tăng lớn về số lượng các cuộc tấn công DoS/DDoS - một con số kỷ lục trong toàn bộ lịch sử
quan sát của Kaspersky về mối đe dọa này.

Hình 1. 1: Biểu đồ sự gia tăng của DDOS


Trong năm 2021, lỗ hổng Log4j phát sinh như một mối quan tâm chính đối với các tổ
chức trên tồn thế giới. Báo cáo nêu chi tiết vai trò của nó trong việc tạo ra các botnet
DDoS. Apache Log4j là một khung ghi nhật ký được sử dụng để ghi lại thông tin bảo mật và
hiệu suất và truyền đạt thơng điệp chẩn đốn cho các quản trị viên hệ thống. Nó được sử
dụng bởi hàng ngàn gói Java trong một loạt các sản phẩm tiêu dùng và doanh nghiệp. Việc
tiết lộ CVE-2021-44228 vào ngày 10 tháng 12 năm 2021 là một nguyên nhân thực sự gây lo
ngại vì quy mơ sử dụng của Log4j có thể mở rộng đến hàng tỷ thiết bị trên toàn thế giới
Cuộc xung đột đang diễn ra ở Ukraine là một ví dụ về chiến tranh mạng do nhà nước
tài trợ, nơi các cuộc tấn công mạng như DoS/DDoS đang được sử dụng không chỉ là các
công cụ tùy tiện của sự phân tâm hoặc gián đoạn trong thời bình, mà cịn là các cuộc tấn
công phối hợp chặt chẽ bổ sung cho cuộc đối đầu vật lý trên mặt đất. Khi cuộc chiến ở
Ukraine tiếp tục trên mặt đất, trên không và trên mặt nước, thì nó cũng tiếp tục trong khơng
gian mạng. Các đối tượng nhắm vào các công ty Ukraine dường như đang cố gắng bịt miệng
thông tin. Năm ngành công nghiệp bị tấn công nhiều nhất ở Ukraine đều là phát thanh truyền
hình, Internet, phương tiện truyền thơng trực tuyến và xuất bản - đó là gần 80% tất cả các
cuộc Tấn công DDoS nhắm vào Ukraine.
Một số lý do dẫn đến số lượng các cuộc tấn công gia tăng như vậy. Ba tháng cuối năm
ln có nhiều cuộc tấn công DoS/DDoS. Bán lẻ trực tuyến đạt đỉnh điểm do doanh số bán

hàng và các ngày lễ, kỳ thi của sinh viên bắt đầu và điều này dẫn đến sự gia tăng số lượng
các cuộc tấn cơng. Máy tính, máy chủ, bộ định tuyến, máy ảnh và các thiết bị IoT khác bị
nhiễm phần mềm độc hại và dưới sự kiểm soát của một tác nhân độc hại là những công cụ
được những kẻ tấn công DoS/DDoS sử dụng. Những vũ khí này, được gọi là drones, bot
hoặc botnet, có thể dễ dàng có nguồn gốc từ các địa điểm khác nhau, tùy thuộc vào yêu cầu
của kẻ tấn công.

Khối lượng của thị trường DoS/DDoS tỷ lệ nghịch với thị trường tiền điện tử. Điều
này là do khả năng tổ chức DoS/DDoS và khai thác tiền điện tử có thể hốn đổi cho nhau chủ sở hữu mạng botnet có xu hướng chuyển hướng sức mạnh khai thác khi tiền điện tử phát
triển và DoS/DDoS khi nó giảm. Đây chính xác là những gì chúng tơi quan sát thấy trong
q 4, sự gia tăng số lượng các cuộc tấn công DoS/DDoS trong bối cảnh giá trị của tiền điện

10


tử giảm mạnh. Hầu hết các cuộc tấn công DoS/DDoS trong Q4 được báo cáo ở Hoa Kỳ
(43,55%), Trung Quốc (9,96%), Hồng Kông (8,80%), Đức (4,85%) và Pháp (3,75%).
Cảnh quan về mối đe dọa DoS/DDoS liên tục thay đổi, phản ánh xu hướng kinh tế và
xã hội hiện tại. Chúng tôi dự kiến sự tăng trưởng của các cuộc tấn cơng DoS/DDoS trong Q4
do mùa bán hàng nhưng tình hình bất ổn trên thị trường tiền điện tử đã đặt cảnh quan
DoS/DDoS lên một cấp độ hoàn toàn khác với kỷ lục tuyệt đối về số lượng các cuộc tấn
công. Dựa trên xu hướng của những năm trước, quý đầu tiên của năm 2022 sẽ không cho
thấy sự sụt giảm đáng kể trong các cuộc tấn cơng DoS/DDoS. Vì vậy, chúng tơi khuyến
khích triển khai các giải pháp chun nghiệp để bảo vệ tổ chức của bạn trước các cuộc tấn
cơng DoS/DDoS.
1.1.1.2 Tình hình an ninh mạng tại Việt Nam
Tại khu vực Châu Á Thái Bình Dương, Việt Nam hiện đứng thứ 2 về nguồn tấn công
DDoS, và đứng thứ 6 trên thế giới (sau Trung Quốc, Mỹ, Pháp, Nga và Brazil) theo một
thống kê của Viettel Cyber Security. Gần đây nhất, báo điện tử VOV bị tấn công 5 Gbps
trong ngày 13/6/2021 gây ảnh hưởng dịch vụ. Tại khu vực Châu Á Thái Bình Dương, Việt

Nam đứng thứ 2 về nguồn tấn công DDoS.Trong 6 tháng đầu năm 2021, Việt Nam đã chịu
hơn 2.900 sự cố tấn công mạng. Dự kiến số lượng tấn công DDoS sẽ tiếp tục gia tăng trong
thời gian tới.
1.1.2 Khái niệm

DoS là viết tắt của cụm từ tiếng anh Denial of Service, nghĩa tiếng Việt là từ
chối dịch vụ. Tấn công từ chối dịch vụ DoS là một sự cố bảo mật xảy ra khi kẻ tấn
cơng có hành động ngăn cản người dùng hợp pháp truy cập hệ thống máy tính, thiết bị
hoặc các tài nguyên mạng khác.
DDos là viết tắt của cụm từ Distributed Denial of Service - từ chối dịch vụ phân
tán. Nó tương tự như DoS nhưng nguồn tấn cơng khơng đến từ một máy tính trên
Internet, mà đến từ một hệ thống nhiều máy tính với các địa chỉ IP khác nhau. DDoS
là cuộc tấn công nhằm làm tê liệt một máy chủ hoặc mạng. là hành động ngăn cản
nhữngngười dùng hợp pháp của một dịch vụ nào đó truy cập và sử dụng dịch vụ đó,
bằng cách gửi 1 lượng lớn traffic làm cho server không thể đáp ứng được các yêu cầu
sử dụng dịch vụ từ các client. Nạn nhân của tấn công DDoS thường là máy chủ web


của các tổ chức cao cấp như ngân hàng, doanh nghiệp thương mại, công ty truyền
thông, các trang báo, mạng xã hội...
Sự khác biệt giữa các cuộc tấn công DoS và DDoS là:

- DDoS sử dụng nhiều kết nối internet để khiến mạng máy tính của nạn nhân ngoại
tuyến trong khi cách tấn công DoS sử dụng một kết nối duy nhất. Các cuộc tấn cơng DDoS
khó phát hiện hơn vì chúng được phát động từ nhiều vị trí khiến nạn nhân không thể biết
được nguồn gốc của cuộc tấn cơng.

- Tốc độ tấn cơng: Bởi vì một cuộc tấn cơng DDoS đến từ nhiều địa chỉ IP, nó có thể
được triển khai nhanh hơn nhiều so với một cuộc tấn công DoS bắt nguồn từ một địa điểm
duy nhất. Tốc độ tấn công tăng lên làm cho việc phát hiện khó khăn hơn.

- Cách thức thực hiện: Một cuộc tấn công DDoS điều phối nhiều máy chủ bị nhiễm
phần mềm độc hại (bot), tạo ra một mạng botnet được quản lý bởi máy chủ chỉ huy và kiểm
soát (C&C). Ngược lại, một cuộc tấn công DoS thường sử dụng một tập lệnh hoặc một công
cụ để thực hiện cuộc tấn cơng từ một máy duy nhất.
- Truy tìm nguồn gốc: Việc sử dụng botnet trong một cuộc tấn công DDoS có nghĩa là
việc truy tìm nguồn gốc thực sự phức tạp hơn nhiều so với việc truy tìm nguồn gốc của một
cuộc tấn công DoS.

- Một điểm khác biệt chính khác là khối lượng tấn cơng được tận dụng, vì các cuộc tấn
cơng DDoS cho phép kẻ tấn cơng gửi một khối lượng lớn lưu lượng truy cập đến mạng mục
tiêu.
1.1.3 Các giai đoạn của một cuộc tấn công DDoS

1.1.3.1 Giai đoạn chuẩn bị
Chuẩn bị công cụ cho cuộc tấn công, công cụ này thông thường hoạt động theo mơ
hình Client- Server. Kẻ tấn cơng có thể tự viết phần mềm hay download các phần mềm được
chia sẻ trên Internet. Tiếp theo, kẻ tấn công chiếm quyền điều khiển các máy tính trên mạng,
tiến hành tải và cài đặt ngầm các chương trình độc hại trên máy tính đó. Để làm được điều
này, kẻ tấn công thường lừa cho người dùng click vào một link quảng cáo có chứa mã độc
(thường là Trojan, worm).
Kết thúc giai đoạn này, kẻ tấn cơng sẽ có một attack- network (một mạng các máy
tính ma phục vụ cho việc tấn cơng DDoS).
12


1.1.3.2 Giai đoạn xác định mục tiêu và thời điểm tấn công
Sau khi xác định được mục tiêu cần tấn công, kẻ tấn công sẽ điều chỉnh attacknetwork chuyển hướng tấn cơng mục tiêu đó.
Yếu tố thời điểm sẽ quyết định mức độ thiệt hại của cuộc tấn cơng. Vì vậy, nó phải
được hacker ấn định trước.
1.1.3.3 Giai đoạn phát động tấn cơng và xóa dấu vết

Đúng thời điểm đã định trước, kẻ tấn công phát động lệnh tấn công từ máy của mình.
Tồn bộ attack- network (có thể lên đến hàng ngàn, hàng vạn máy) đồng loạt tấn công mục
tiêu, mục tiêu sẽ nhanh chóng bị cạn kiệt băng thông và không thể tiếp tục hoạt động. Sau
một khoảng thời gian tấn cơng, kẻ tấn cơng tiến hành xóa dấu vết có thể truy ngược đến
mình, việc này địi hỏi trình độ cao của những kẻ tấn cơng chun nghiệp.
1.1.4 Phân loại tấn công dịch vụ phân tán

Trong khi tất cả các cuộc tấn công DDoS đều nhằm mục đích áp đảo một hệ thống có
q nhiều hoạt động, tin tặc có các chiến lược khác nhau mà chúng dựa vào để gây ra tình
trạng từ chối dịch vụ phân tán.
1.1.4.1 Các cuộc tấn công giao thức. (Protocol attacks.)
Các cuộc tấn cơng giao thức, cịn được gọi là cuộc tấn công cạn kiệt trạng thái, gây ra
gián đoạn dịch vụ do sử dụng quá nhiều tài nguyên máy chủ hoặc tài nguyên của thiết bị
mạng như tường lửa và bộ cân bằng tải.
Các cuộc tấn công giao thức sử dụng các điểm yếu trong lớp 3 và lớp 4 của ngăn xếp
giao thức để khiến mục tiêu không thể truy cập được. Các cuộc tấn công DDoS dựa trên sự
yếu kém trong các giao thức truyền thơng internet. Vì nhiều giao thức trong số này đang
được sử dụng toàn cầu nên việc thay đổi cách chúng hoạt động rất phức tạp và rất chậm
được triển khai. Hơn nữa, đối với nhiều giao thức, sự phức tạp vốn có của chúng có nghĩa là
ngay cả khi chúng được tái cấu trúc để sửa các lỗi hiện có, các điểm yếu mới thường được
đưa ra cho phép các kiểu tấn công giao thức và tấn công mạng mới.
Các kiểu tấn công giao thức khác nhau bao gồm Smurf DDoS, TCP Connection
Attacks, hoặc TCP SYN Floods. SYN Flood tương tự như một công nhân trong phịng tiếp
tế nhận u cầu từ phía trước cửa hàng. Nhân viên nhận được yêu cầu, đi và nhận gói hàng,
và đợi xác nhận trước khi mang gói hàng ra trước. Sau đó, nhân viên nhận được nhiều yêu


cầu gói hàng khác mà khơng cần xác nhận cho đến khi họ khơng thể mang thêm gói hàng
nào nữa, trở nên quá tải và các yêu cầu bắt đầu không được trả lời.
Cuộc tấn công này khai thác quá trình bắt tay TCP - chuỗi liên lạc mà hai máy tính

bắt đầu kết nối mạng - bằng cách gửi đến mục tiêu một số lượng lớn các gói SYN TCP “Yêu
cầu kết nối ban đầu” với các địa chỉ IP nguồn giả mạo. Máy mục tiêu phản hồi từng yêu cầu
kết nối và sau đó đợi bước cuối cùng trong q trình bắt tay, điều này khơng bao giờ xảy ra,
làm cạn kiệt tài nguyên của máy mục tiêu trong q trình này.
1.1.4.2 Các cuộc tấn cơng theo thể tích. (Volumetric attacks)

Trong các cuộc tấn cơng DDoS dựa trên thể tích những kẻ tấn cơng thường làm nạn
nhân q tải với khối lượng gói tin hoặc kết nối lớn, áp đảo thiết bị mạng, máy chủ hoặc tài
nguyên băng thơng. Đây là những cuộc tấn cơng DDoS điển hình nhất. Trong quá khứ, các
cuộc tấn công theo khối lượng được thực hiện bởi nhiều hệ thống bị xâm nhập là một phần
của mạng botnet; giờ đây những kẻ tấn công không chỉ sử dụng các phương pháp tấn công
thông thường mà cịn tuyển dụng những người tình nguyện để thực hiện các cuộc tấn cơng
này từ máy của chính họ. Ngồi ra, các làn sóng tấn cơng khổng lồ mới hiện đang được khởi
động từ các trung tâm dữ liệu của các nhà cung cấp dịch vụ đám mây, khi những kẻ tấn công
thuê hoặc xâm nhập các hệ thống dựa trên đám mây có băng thơng Internet cực lớn.
Volumetric DoS/DDoS Attack được thiết kế để áp đảo dung lượng mạng nội bộ bằng
khối lượng lớn lưu lượng độc hại. Các cuộc tấn công DDoS này cố gắng tiêu thụ băng thông
trong mạng/dịch vụ mục tiêu hoặc giữa mạng/dịch vụ mục tiêu và phần còn lại của Internet.
Các cuộc tấn công Volumetric DoS/DDoS Attack thường được thực hiện nhắm vào một mục
tiêu cụ thể, thường là các dịch vụ quan trọng của nhà cung cấp dịch vụ hoặc khách hàng
doanh nghiệp.
Những kẻ tấn cơng với kỹ năng cao có xu hướng kết hợp các cuộc tấn công
Volumetric DDoS Attack với các cuộc tấn công lớp ứng dụng (Application Layer Attack) để
che giấu những cuộc tấn công cấp ứng dụng tập trung hơn gây thiệt hại thực sự.
Các kiểu tấn công DDoS này lợi dụng những service dễ bị tấn công, như memcached,
NTP, DNS và SSDP, khởi chạy các truy vấn giả mạo, sẽ làm tràn ngập đích đến với các reply
packet (gói yêu cầu phản hồi) lớn, lấp đầy những liên kết và nhiều trường hợp dẫn đến cơ sở
hạ tầng mạng mục tiêu bị sập. Các cuộc tấn cơng theo thể tích (Volumetric) phổ biến bao
gồm: ICMP Flood, UDP Flood, IPSEC Flood…
14



1.1.4.3 Các cuộc tấn công ở lớp ứng dụng (Layer 7):
Một cuộc tấn công ở lớp ứng dụng nhắm mục tiêu và làm gián đoạn một ứng dụng cụ
thể, không phải tồn bộ mạng. Kẻ tấn cơng tạo ra một số lượng lớn các yêu cầu HTTP / SSL
làm cạn kiệt khả năng phản hồi của máy chủ mục tiêu. Đặc điểm là lưu lượng băng thông rất
nhỏ (vài trăm Kbps hoặc vài Mbps)
Các chuyên gia an ninh mạng đo lường các cuộc tấn công lớp ứng dụng theo yêu cầu
mỗi giây (Requests Per Second - RPS). Các mục tiêu phổ biến của các cuộc tấn công này
bao gồm:
1. Ứng dụng web.
2. Ứng dụng có kết nối Internet.
3. Dịch vụ điện toán đám mây.
Việc cố gắng ngăn chặn các cuộc tấn cơng DoS/DDoS kiểu này là một thách thức vì
các nhóm bảo mật thường phải vật lộn để phân biệt giữa các yêu cầu HTTP của người dùng
và request độc hại. Các cuộc tấn cơng này sử dụng ít tài nguyên hơn các chiến lược
DoS/DDoS khác và một số tin tặc thậm chí có thể chỉ sử dụng một thiết bị duy nhất để điều
phối một lớp ứng dụng tấn công. Kiểu tấn công phổ biến dựa trên lớp ứng dụng (Layer 7) là:
HTTP Flood.
1.1.5 Mạng BOTNET

Mạng BotNet: BotNet là thuật ngữ dùng để chỉ một tập hợp các máy tính đã bị tấn
cơng và đang chạy các chương trình độc hại, thường là sâu máy tính, Trojan hay backdoor,
dưới cùng một hạ tầng cơ sở lệnh và điều khiển. Các máy tính này có thể bị lợi dụng để đồng
loạt tấn cơng một trang web hay server nào đó mà ta gọi là DDoS. Hầu nạn nhân không hề
biết rằng hệ thống của họ đang bị sử dụng theo cách này.
Khi đã chiếm được quyền điều khiển, kẻ tấn công sẽ xâm nhập vào các hệ thống này,
ấn định thời điểm và phát động tấn công từ chối dịch vụ. Với hàng triệu các máy tính
cùng tấn cơng vào một thời điểm, nạn nhân sẽ bị ngốn hết băng thông trong thời gian ngắn,
dẫn tới không thể đáp ứng các yêu cầu hợp lệ và bị loại khỏi internet.



Hình 1. 2: Mơ hình Botnet

Bot là từ viết tắt của Robot, là các ứng dụng phần mềm chạy các tác vụ tự động
hóa trên mạng. Thơng thường, bot thực hiện các tác vụ đơn giản và có cấu trúc lặp đi
lặp lại với một tần suất cao hơn nhiều so với khả năng của một soạn thảo viên là con
người. Ứng dụng lớn nhất của bot là trong duyệt tự động web theo kiểu “bị loang”
(web spidering), trong đó một chương trình tự động tìm kiếm, phân tích và sắp xếp
thông tin từ các máy chủ web với tốc độ cao hơn nhiều lần tốc độ con người. Mỗi máy
chủ có một file có tên robots.txt chứa các quy tắc cho việc bị loang tự động tại máy
chủ đó, đây là các quy tắc mà con bot cần tuân theo.
Ngoài ra, bot thường được cài đặt tại những nơi đòi hỏi tốc độ phản ứng cao hơn
tốc độ của con người, như trong các trò chơi điện tử, các trang web đấu giá, hoặc trong
các tình huống cần đến sự bắt chước các hoạt động của con người (chẳng hạn các
chatbot- bot nói chuyện).
BotNet là từ chỉ một tập hợp các bot hoạt động một cách tự chủ, cũng có thể
dùng để chỉ một nhóm bot bất kỳ, chẳng hạn IRC bot, từ này thường đƣợc dùng để chỉ
một tập hợp các máy tính đã bị tấn cơng và đang chạy các chƣơng trình độc hại,
thƣờng là sâu máy tính, Trojan hay backdoor, dưới cùng một hạ tầng cơ sở lệnh và
điều khiển. Một chương trình chỉ huy BotNet (BotNet’s originator hay bot header) có
thể điều khiển cả nhóm bot từ xa, thƣờng là qua IRC, và thường nhằm các mục đích
bất chính.
Các BotNet đã trở thành một phần quan trọng của Internet. Do đa số các mạng
16


IRC truyền thống thực hiện các biện pháp cấm truy cập, sử dụng mạng BotNet, nên
những người điều khiển BotNet phải tự tìm các server cho mình, thường là trong các
mạng giáo dục, cơng ty, chính phủ và thậm chí là quân sự…, nơi có tốc độ đường truyền cao.

Botnet có những mục đích là:


Gây ra các cuộc tấn cơng DDoS: Kẻ tấn công điều khiển tất cả các máy tính nằm
trong mạng BotNet truy cập vào website hoặc server nhằm tạo ra tình trạng nghẽn
mạng, dẫn đến khơng truy cập được nữa. Từ đó Kẻ tấn cơng sẽ hăm dọa và tống tiền.



Botnet đào tiền giúp chúng thu về tiền ảo như Bitcoin cịn các chi phí khác nạn nhân
sẽ phải chịu.

 Botnet cũng tạo và phát tán các loại virut, malware đến máy tính của nạn nhân và
dùng nó tiếp tục lây lan sang các máy tính khác để tạo một mạng lưới Botnet lớn rộng
để phục vụ mục đích của chúng.

1.2 Các kĩ thuật tấn cơng DoS/DDoS phổ biến
1.2.1 Tấn công làm cạn kiệt băng thông

Trong tấn công tràn băng thông, các Agent (là thành phần thực hiện tấn công mục
tiêu) sẽ gửi một lượng lớn các gói tin làm hệ thống nạn nhân bị chậm lại, treo và khơng thể
đáp ứng các u cầu hợp lệ.


thể

chia
flood

attack:


Flood
Tấn

cơng

attack
tràn

băng

thành

-

UDP

thơng

bằng

-

ICMP flood attack: Tấn cơng tràn băng thơng bằng gói tin ICMP

2
gói

loại:
tin


UDP

1.2.1.1 UDP Flood attack
Giao thức UDP: UDP- User Datagram Protocol - là một trong những giao
thức cốt lõi của giao thức TCP/IP. Dùng UDP, chương trình trên mạng máy tính có thể
gửi những dữ liệu ngắn được gọi là datagram tới máy khác. Không giống TCP, UDP
không cung cấp sự tin cậy và thứ tự truyền nhận, tức là các gói dữ liệu có thể đến đích
khơng đúng thứ tự hoặc bị mất mà khơng có thơng báo. Tuy nhiên, UDP nhanh hơn
TCP và hiệu quả đối với việc truyền dẫn những gói tin có kích thước nhỏ với u cầu


khắt khe về thời gian. Do bản chất “không trạng thái” (statusless) của nó nên nó hữu
dụng đối với việc trả lời các truy vấn nhỏ với số lượng lớn người u cầu

Hình 1. 3: Mơ hình tấn cơng UDP Flood

Tấn công UDP Flood: Một cuộc tấn công UDP Flood hoạt động chủ yếu bằng cách
khai thác các bước mà máy chủ thực hiện khi phản hồi gói UDP được gửi đến một trong các
cổng của nó. Trong điều kiện bình thường, khi máy chủ nhận được gói UDP tại một cổng cụ
thể, nó sẽ trải qua hai bước để phản hồi:

Trước tiên, máy chủ sẽ kiểm tra xem có chương trình nào đang chạy hiện đang
lắng nghe các yêu cầu tại cổng được chỉ định hay khơng.

Nếu khơng có chương trình nào đang nhận gói tại cổng đó, máy chủ sẽ phản
hồi bằng gói ICMP (ping) để thơng báo cho người gửi rằng khơng thể truy cập được đích.
Khi mỗi packet UDP được máy chủ tiếp nhận, nó phải trải qua các bước để xử lý yêu
cầu. Sử dụng nguồn tài nguyên của server cho quá trình xử lý. Khi các packets UDP được
gửi đi, mỗi packets sẽ bao gồm địa chỉ IP của thiết bị nguồn. Trong kiểu tấn công DDoS này,

kẻ tấn công thường không sử dụng địa chỉ IP thực mà thay vào đó sẽ dùng địa chỉ IP giả mạo
nguồn của các packets UDP. Ngăn chặn vị trí thật của kẻ tấn cơng bị lộ và có khả năng hịa
lẫn các gói phản hồi từ máy chủ mục tiêu.
Do server mục tiêu sử dụng tài nguyên để kiểm tra và phản hồi từng packets UDP đã
nhận. Tài nguyên của server mục tiêu có thể nhanh chóng cạn kiệt khi nhận được một lượng
lớn các packets UDP từ đó dẫn tới server quá tải.
18


1.2.1.2 Tấn cơng tràn băng thơng bằng gói tin ICMP:

Hình 1. 4: Tấn công ICMP Flood

Khái niệm ICMP: ICMP được viết tắt bởi cụm từ Internet Control Message
Protocol. Người đọc có thể hiểu nghĩa một cách đơn giản là một giao thức của gói Internet
Protocol, hay được gọi là giao thức điều khiển truyền tin trên mạng. ICMP được dùng để
thơng báo các lỗi xảy ra trong q trình truyền đi của các gói dữ liệu trên mạng. Hay dùng
để thăm dị và quản lý q trình hoạt động của mạng.
Các chức năng chính của ICMP bao gồm:
 Điều khiển lưu lượng (Flow control): khi các gói dữ liệu đến quá nhanh, receiver
hoặc thiết bị định tuyến sẽ gửi một thông điệp ICMP trở lại sender, yêu cầu sender tạm thời
ngừng gửi dữ liệu.
 Thông báo lỗi: Trong trường hợp khơng tới được địa chỉ đích thì hệ thống sẽ gửi lại
một thông báo lỗi “Destination unsearchable”.
 Định hướng lại các tuyến (Redirect Router): Một Router gửi một thông điệp
ICMP cho một trạm thông báo nên sử dụng Router khác. Thơng điệp này chỉ có thể được
dùng khi trạm nguồn ở trên cùng một mạng với hai thiết bị định tuyến trở lên.
 Kiểm tra trạm làm việc: Khi 1 máy tính muốn kiểm tra 1 máy khác có tồn tại và
hoạt động nữa hay khơng, nó sẽ gửi 1 thơng báo Echo Request. Khi trạm đích nhận được



thơng báo trên, nó sẽ gửi lại 1 Echo Reply. Lúc này lệnh ping sử dụng các thông báo này để
kiểm tra kết nối.
ICMP Flood:
Là cuộc tấn cơng trong đó kẻ tấn công cố gắng áp đảo một thiết bị mục tiêu bằng các
yêu cầu packets ICMP. Khiến mục tiêu khơng thể có lưu lượng truy cập bình thường. Khi
lưu lượng tấn công đến từ nhiều thiết bị, cuộc tấn công sẽ trở thành một tấn công DdoS
Bước 1: Kẻ tấn công gửi nhiều packets ICMP-echo-request ICMP đến server mục
tiêu bằng nhiều thiết bị.
Bước 2: Sau đó, server mục tiêu sẽ gửi packets ICMP-echo-reply ICMP đến từng địa
chỉ IP của thiết bị yêu cầu phản hồi. Do số lượng quá lớn packets ICMP-echo-request dẫn
đến nghẽn đường truyền và không thể đáp ứng những yêu cầu hợp lệ

Hình 1. 5: Tấn cơng ICMP Flood

-

Có 1 biến thể cũ hơn của ICMP Flood đó là Ping of Dead attack. Vậy ping là gì?

20


Ping được viết tắt của từ Packet Internet Groper, là một cơng cụ cho mạng máy tính
sử dụng trên các mạng TCP/IP để kiểm tra xem có thể kết nối tới một máy chủ cụ thể nào đó
hay khơng. Ngồi ra, Ping còn ước lượng khoảng thời gian trễ trọn vịng để gửi gói dữ liệu
cũng như tỉ lệ các gói dữ liệu có thể bị mất giữa hai máy.
Nói đơn giản hơn, Ping dùng để kiểm tra kết nối của hai hay nhiều thiết bị trên 1
đường truyền, hoặc kiểm tra kết nối từ máy trạm tới máy chủ mà nó kết nối bằng cách đo
tổng thời gian gửi và trả về của gói dữ liệu chuẩn.
1.2.1.3 Tấn cơng Ping of Death (POD)

Kích thước của một gói IPv4 được định dạng chính xác bao gồm tiêu đề IP là 65.535
byte, bao gồm tổng dung lượng payload là 84 byte. Nhiều hệ thống máy tính trong quá khứ
chỉ đơn giản là khơng thể xử lý các gói lớn và sẽ gặp sự cố nếu nhận được chúng. Lỗi này dễ
dàng bị khai thác trong các quá trình triển khai TCP/IP ban đầu trong một loạt các hệ điều
hành, bao gồm Windows, Mac, Unix, Linux, cũng như các thiết bị mạng, như máy in và
router.
Vì việc gửi một gói ping lớn hơn 65.535 byte vi phạm Internet Protocol, những kẻ tấn
công nói chung sẽ gửi các gói khơng đúng định dạng trong những fragment. Khi hệ thống
đích cố gắng tập hợp lại các fragment và kết thúc bằng một gói quá lớn, lỗi tràn bộ nhớ có
thể xảy ra và dẫn đến nhiều sự cố hệ thống khác nhau bao gồm cả ngừng hoạt động. Các
cuộc tấn công Ping of Death đặc biệt hiệu quả, vì danh tính của kẻ tấn cơng có thể dễ dàng
bị giả mạo. Hơn nữa, kẻ tấn cơng Ping of Death sẽ khơng cần tìm hiểu quá chi tiết về máy
mà hắn ta đang tấn công, ngoại trừ địa chỉ IP của nó.

Hình 1. 6: Tấn công Ping of Death


1.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: Là các kiểu tấn công gây ra tình trạng tiêu thụ tất
cả các tài ngun có sẵn của hệ thống. Điều này sẽ ngăn cản các yêu cầu của người dùng
hợp lệ khi muốn truy cập vào ứng dụng hoặc server. Ví dụ: một cuộc tấn cơng cạn kiệt bộ
nhớ đối với một ứng dụng có thể làm chậm ứng dụng đó cũng như hệ điều hành chủ của nó.
1.2.2.1 SYN Floods:
Cuộc tấn cơng này khai thác quy trình bắt tay (handshake) TCP. Kẻ tấn cơng sẽ gửi
các yêu cầu TCP có địa chỉ IP giả đến mục tiêu. Hệ thống đích phản hồi và chờ người gửi
xác nhận bắt tay. Vì kẻ tấn cơng khơng bao giờ gửi phản hồi để hồn thành q trình bắt tay,
các quy trình khơng hồn chỉnh chồng chất và cuối cùng làm hỏng máy chủ.
Quy trình bắt tay 3 bước (Three-way HandShake):
 Bước 1: Đầu tiên, máy A gửi 1 packet tin SYN đến máy B để yêu cầu kết nối.

 Bước 2: Sau khi tiếp nhận packet SYN, máy B phản hồi lại máy khách bằng một
packet SYN/ACK, để xác nhận thông tin từ máy A.
 Bước 3: Cuối cùng, máy A nhận được packet tin SYN/ACK thì sẽ trả lời máy B bằng
packet tin ACK báo cho máy B biết rằng nó đã nhận được packet tin SYN/ACK, kết
nối đã được thiết lập và sẵn sàng trao đổi dữ liệu.

22


Hình 1. 7: Quy trình bắt tay 3 bước

Để tạo từ chối dịch vụ, thực tế kẻ tấn công sẽ khai thác sau khi nhận được packet
SYN ban đầu từ Client. Server sẽ phản hồi lại 1 hoặc nhiều packet SYN/ACK và chờ đến
bước cuối cùng trong quá trình Handshake. Ở đây, cách thức thực hiện của nó như sau:
Bước 1: Kẻ tấn công sẽ gửi một khối lượng lớn các packet tin SYN đến Server. Được
nhắm là mục tiêu và thường là các địa chỉ IP giả mạo.
Bước 2: Sau đó Server sẽ phản hồi lại từng yêu cầu kết nối. Để lại 1 cổng mở sẵn
sàng tiếp nhận và phản hồi.
Bước 3: Trong khi Server chờ packet ACK ở bước cuối cùng từ Client, packet mà
không bao giờ đến. Kẻ tấn công tiếp tục gửi thêm các packet SYN. Sự xuất hiện các packet
SYN mới khiến máy chủ tạm thời duy trì kết nối cổng mở mới trong một thời gian nhất định.
Một khi các cổng có sẵn được sử dụng thì Server khơng thể hoạt động như bình thường.
Trong kết nối mạng, khi Server bên này kết nối mở nhưng máy bên kia khơng kết nối
thì được coi là half-open. Trong kiểu tấn công Dos, sau khi server gửi gói tin SYN/ACK nó


sẽ phải đợi cho đến khi client trả lời. Đến khi các port trở lại bình thường. Kết quả của kiểu
tấn cơng này được coi là cuộc tấn cơng half-open.

Hình 1. 8: Tấn công SYN Floods


1.2.2.2 HTTP Flood:
Được thiết kế để áp đảo server mục tiêu với các yêu cầu HTTP. Khi mục tiêu đã bão
hòa với các yêu cầu và không thể đáp ứng lưu lượng truy cập thông thường. Việc từ chối
dịch vụ sẽ xảy ra đối với các yêu cầu từ người dùng thực tế.
Khi một client HTTP như trình duyệt web “giao tiếp” với ứng dụng hoặc máy chủ, nó
sẽ gửi một yêu cầu HTTP - thường là một trong hai loại yêu cầu: GET hoặc POST. Yêu cầu
GET được sử dụng để truy xuất nội dung tĩnh, tiêu chuẩn như hình ảnh, trong khi yêu cầu
POST được sử dụng để truy cập các tài nguyên động.
24


Hình 1. 9: Tấn cơng HTTP Flood

Cuộc tấn cơng có hiệu quả nhất khi nó buộc máy chủ hoặc ứng dụng cấp phát tài
nguyên tối đa có thể để đáp ứng từng yêu cầu. Do đó, tin tặc nói chung sẽ nhằm tới mục đích
làm “ngập” máy chủ hoặc ứng dụng với rất nhiều yêu cầu, mỗi yêu cầu càng dùng nhiều tài
nguyên để xử lý càng tốt.
Vì lý do này, các cuộc tấn công HTTP flood sử dụng những yêu cầu POST có xu
hướng “hiệu quả” nhất về tài ngun theo quan điểm của kẻ tấn cơng; vì các u cầu POST
có thể bao gồm những tham số kích hoạt xử lý phía máy chủ phức tạp. Mặt khác, các cuộc
tấn cơng dựa trên HTTP GET có thể được tạo đơn giản và mở rộng hiệu quả hơn trong kịch
bản botnet.
Có hai loại tấn cơng HTTP flood
 Tấn cơng HTTP GET: Hình thức tấn cơng này, nhiều máy tính hoặc thiết bị khác phối
hợp để gửi nhiều yêu cầu cho hình ảnh, tệp hoặc một số dữ liệu khác từ server mục
tiêu. Khi mục tiêu bị quá tải (Flood) trong các yêu cầu và phản hồi đến, việc từ chối
dịch vụ sẽ xảy ra làm cho các yêu cầu hợp pháp sẽ không thể kết nối.
 Tấn công POST HTTP: Thông thường khi một biểu mẫu (Form) được gửi trên một
trang web, server phải xử lý yêu cầu đến và đẩy dữ liệu vào cơ sở dữ liệu. Quá trình

xử lý dữ liệu biểu mẫu và chạy các lệnh cơ sở dữ liệu cần thiết là tương đối nhiều so


×