Nghiên cứu triển khai thử nghiệm các hệ thống tấn công mạng dưới dạng DOS/DDOS và giải pháp phòng chống
Ngày nay, mạng Internet đang phát triển và mở rộng trên phạm vi toàn thế giới. Các cổng thông tin điện tử, dịch vụ mạng có thể là sự sống còn của cá nhân, tổ chức. Việc những hệ thống đó bị quá tải, không truy cập được trong một khoảng thời gian có thể gây ra tổn thất không nhỏ. Từ vấn đề thực tế trên kiểu tấn công từ chối dịch vụ phân tán, DDoS (Distributed Denial Of Service) đã xuất hiện rất sớm từ những năm 90 của thế kỷ XX. Kiểu tấn công này làm cạn kiệt tài nguyên của hệ thống. Người quản trị, người sử dụng không thể truy cập được hệ thống thông tin. Tài liệu giúp bạn tham khảo và đạt kết quả tốt. Mời bạn đọc đón xem!
Preview text:
lOMoARcPSD|16072870
BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA: AN TOÀN THÔNG TIN
BÀI TẬP LỚN MÔN HỌC CHUYÊN ĐỀ CƠ SỞ
Đề tài: NGHIÊN CỨU TRIỂN KHAI THỬ NGHIỆM
CÁC HỆ THỐNG TẤN CÔNG MẠNG DƯỚI DẠNG
DOS/DDOS VÀ GIẢI PHÁP PHÒNG CHỐNG
Nhóm thực hiện: Nhóm
Hà Nội, tháng 4 năm 2024 lOMoARcPSD|16072870 LỜI NÓI ĐẦU
Ngày nay, mạng Internet đang phát triển và mở rộng trên phạm vi toàn
thế giới. Các cổng thông tin điện tử, dịch vụ mạng có thể là sự sống còn của
cá nhân, tổ chức. Việc những hệ thống đó bị quá tải, không truy cập được
trong một khoảng thời gian có thể gây ra tổn thất không nhỏ. Từ vấn đề thực
tế trên kiểu tấn công từ chối dịch vụ phân tán, DDoS (Distributed Denial Of
Service) đã xuất hiện rất sớm từ những năm 90 của thế kỷ XX. Kiểu tấn
công này làm cạn kiệt tài nguyên của hệ thống. Người quản trị, người sử
dụng không thể truy cập được hệ thống thông tin.
Tấn công DDos xuất hiện từ năm 1999, cùng với sự phát triển không
ngừng của Công nghệ thông tin, các kỹ thuật tấn công mới của DDoS cũng
lần lượt ra đời. Tuy rằng tấn công DDoS không còn là mới mẻ, nhưng vẫn
luôn là nỗi lo lắng của các nhà quản trị mạng.
Không bằng cách nào khác để phòng vệ là chúng ta phải học cách tấn
công để tìm ra các lỗ hổng còn tồn tại trong hệ thống nhằm khắc phục và
đưa ra các bản vá lỗi cho hệ thống. Vì vậy, nhóm em quyết định lựa chọn đề
tài : “Tấn công DoS/DDoS và cách phòng chống”.
Từ những vấn đề thực tiễn trên, căn cứ vào lý thuyết về an ninh an toàn
của hệ thống thông tin, báo cáo sẽ trình bày:
1. Giới thiệu chung về DoS/DDOS
2. Các kỹ thuật tấn công DoS/DDOS
3. Thực nghiệm tấn công DoS/DDOS
4. Giải pháp phòng chống DoS/DDOS và hệ thống chống DDOS 5. 3 lOMoARcPSD|16072870 LỜI CẢM ƠN
Sau 2 tháng nỗ lực thực hiện, báo cáo về đề tài “NGHIÊN CỨU TRIỂN
KHAI THỬ NGHIỆM CÁC HỆ THỐNG TẤN CÔNG MẠNG DƯỚI
DẠNG DOS/DDOS VÀ GIẢI PHÁP PHÒNG CHỐNG ” phần nào đã hoàn
thành. Ngoài sự nỗ lực của cả nhóm, nhóm 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 nhóm em sự động viên rất lớn để nhóm em có thể
hoàn thành tốt báo cáo của nhóm.
Trước hết nhóm em xin cảm ơn thầy cô thuộc bộ môn “Chuyên Đề Cơ
Sở”, đặc biệt là thầy Lê Đức Thuận - giáo viên hướng dẫn của nhóm em đã
tận tình hướng dẫn và giúp chúng em mỗi khi gặp khó khăn trong quá trình
học tập cũng như trong quá trình làm báo cáo.
Nhóm em cũng xin gửi lời cảm ơn tới nhà trường nói chung và các thầy
cô khoa An Toàn thông tin – Học viện Kỹ thuật Mật Mã nói riêng đã đem lại
cho nhóm em nguồn kiến thức vô cùng quý giá để nhóm em có thể hoàn
thành báo cáo cũng như hành trang bước vào đời.
Nhóm em cũng xin chân thành cảm ơn bạn bè, gia đình và những người
thân đã cùng chia sẻ, giúp đỡ, động viên, tạo mọi điều kiện thuận lợi để
nhóm hoàn thành nhiệm vụ học tập và hoàn thành báo cáo này. Hà Nội, tháng 4 năm 2024 lOMoARcPSD|16072870 Mục lục
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mục lục. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mục lục hình ảnh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CHƯƠNG 1. GIỚI THIỆU CHUNG VỀ DOS/DDOS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1
Khái niệm về DoS/DDoS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8 1.2
Phân biệt DoS và DDoS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3
Phân loại các kiểu tấn công DDoS. . . . . . . . . . . . . . . . . . . . . . . . . . . .10
1.3.1 Tấn công làm cạn kiệt băng thông. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.2 Tấn công làm cạn kiệt tài nguyên hệ thống. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4
Mạng Botnet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.1 Khái niệm mạng Botnet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.2 Mô hình tấn công Handler - Agent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.3 Mô hình tấn công IRC - Base. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CHƯƠNG 2. TÌM HIỂU CÁC KĨ THUẬT TẤN CÔNG, THỰC NGHIỆM CUỘC
TẤN CÔNG DOS/DDOS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1
Các kĩ thuật tấn công. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1.1 SYN FLOOD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2 SLOWLORIS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2
THỰC NGHIỆM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
2.2.1 Mô hình thực nghiệm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2 Kịch bản. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.3 Đánh giá và hạn chế. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CHƯƠNG 3. GIẢI PHÁP PHÒNG CHỐNG DOS/ DDOS. . . . . . . . . . . . . . . . . . . . . . . . 3.1
TÌNH TRẠNG DOS/DDOS HIỆN NAY. . . . . . . . . . . . . . . . . . . . . . . 32
3.1.1 Trên thế giới. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 lOMoARcPSD|16072870
3.1.2 Ở Việt Nam. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2
Giải pháp phòng chống DDoS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2.1 Dựa trên vị trí triển khai. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.2 Dựa trên giao thức mạng. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.3 Dựa vào thời điểm hành động. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.4 Một số giải pháp cụ thể. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.5 Giải pháp nhóm đưa ra. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Phụ lục. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tài liệu tham khảo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lOMoARcPSD|16072870 Mục lục hình ảnh
Hình 1.1 Phân loại các kiểu tấn công DdoS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
Hình 1.2 Mô hình tấn công Handler - Agent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Hình 1.3 Mô hình tấn công IRC – Base. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Hình 2.1 Quá trình kết nối
TCP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Hình 2.2 mô tả cuộc tấn công SYN Flood. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Hình 2.3 mô hình hoạt động của HTTP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
Hình 2.4 mô hình tấn công Slowloris. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Hình 2.5 mô hình thực nghiệm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Hình 2.6 IP mục tiêu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Hình 2.7 Danh sách trạng thái cổng mục tiêu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Hình 2.8 Tool tấn công Pentmenu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Hình 2.9 Tool tấn công Pentmenu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Hình 2.10 Nhập các thông số mục tiêu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
Hình 2.11 CPU và Ethernet sau khi cuộc tấn công xảy ra. . . . . . . . . . . . . . . . . . . . . . 25
Hình 2.12 CPU và Ethernet trước khi cuộc tấn công diễn ra. . . . . . . . . . . . . . . . . . . 25
Hình 2.13 IP mục tiêu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Hình 2.14 Danh sách trạng thái cổng mục tiêu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Hình 2.15 Chạy code python đã chuẩn bị sẵn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Hình 2.16 Nhập các thông số mục tiêu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
Hình 2.17 Ethernet sau cuộc tấn công bằng code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Hình 2.18 CPU sau cuộc tấn công. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
Hình 2.19 Chạy file trên Visua Studio Code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Hình 2.20 Trang web trước khi bị tấn công. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
Hình 2.21 Trang web sau khi bị tấn công. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Hình 3.1 Ngăn chặn các cuộc tấn công Dos/DDos bằng định tuyến hố đen. . . . . . . . 35 7 lOMoARcPSD|16072870
Hình 3.2 Ngăn chặn các cuộc tấn công mạng bằng tường lửa ứng dụng web (WAF)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
Hình 3.3 Dùng mạng Anycast để phân tán traffic – nguyên nhân dẫn đến quá tải của
máy chủ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
CHƯƠNG 1. GIỚI THIỆU CHUNG VỀ DOS/DDOS
1.1 Khái niệm về DoS/DDoS
DoS viết tắt của cụm từ Denial of Service, là một kiểu tấn công từ chối
dịch vụ khi đó máy tính của bạn sẽ bị tấn công bởi lưu lượng truy cập từ hệ
thống của hacker. DoS là một cuộc tấn công trực tuyến thường nhắm vào
một trang web hoặc máy chủ điển hình. Bằng cách làm quá tải tài nguyên hệ
thống, tốc độ hệ thống của máy tính sẽ bị chậm lại đáng kể.
Cuộc tấn công này có thể khiến máy tính của bạn ngừng hoạt động hoặc tắt
đột ngột. Khi hiện tượng này xảy ra sẽ ảnh hưởng nghiêm trọng đến hệ
thống của máy tính và buộc máy tính phải tắt nguồn.
Tấn công từ chối dịch vụ phân tán (Distributed Denial of Service attack -
DDoS attack) là hành động ngăn cản những ngườ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 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. Nguồn lOMoARcPSD|16072870
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.
Xuất hiện lần đầu tiên vào năm 1999, so với tấn công dịch vụ (Denial of
Service attack - DoS attack), sức mạnh của DDoS cao hơn rất nhiều, do
nguồn tấn công không đến từ một máy tính như tấn công DoS mà đến từ
nhiều máy tính. Hầu hết các cuộc tấn công DDoS nhằm vào việc chiếm dụng
băng thông gây nghẽn mạng dẫn đến hệ thống ngưng hoạt động. Tuy nhiên
cùng với sự phát triển của các thiết bị phần cứng và các hệ thống phòng thủ,
các dạng tấn công DDos cũng ngày càng phức tạp thông minh, không chỉ
chiếm dụng băng thông, mà còn khai thác các lỗ hổng trong các ứng dụng để
tấn công làm cạn kiệt tài nguyên của hệ thống. Những kiểu tấn công này
được đánh giá là nguy hiểm hơn, do chúng có thể gây tổn hại trực tiếp đến cơ sở dữ liệu.
1.2 Phân biệt DoS và DDoS Tiêu chí DoS DDoS
Số lượng hệ thống tấn Chỉ có 1 hệ thống nhắm Nhiều hệ thống cùng tấn công
mục tiêu vào hệ thống công vào hệ thống nạn 9 lOMoARcPSD|16072870 nạn nhân nhân
Vị trí gửi gói dữ liệu
PC bị nhắm mục tiêu PC bị nhắm mục tiêu load
load gói dữ liệu được gửi gói dữ liệu được gửi từ từ 1 vị trí duy nhất nhiều vị trí khác nhau Tốc độ tấn công Chậm hơn so với DDoS Nhanh hơn so với DoS Khả năng ngăn chặn Dễ dàng hơn vì kẻ tấn Khó khăn hơn vì kẻ tấn tấn công
công chỉ dùng 1 hệ thống công dùng nhiều thiết bị
và từ nhiều vị trí khác nhau
Số lượng thiết bị tấn Chỉ 1 thiết bị duy nhất
Nhiều bot được sử dụng công và tấn công đồng thời
Khả năng theo dõi tấn Dễ theo dõi Khó theo dõi công
Lưu lượng truy cập Lưu lượng thấp hơn so Lưu lượng lớn đến mạng nạn nhân với tấn công DDoS Các loại tấn công 1. Tràn bộ đệm 1. Băng thông
2. ICMP flood hoặc Ping (Volumetric) of Death 2. Phân mảnh dữ liệu 3. Teardrop Attack (Fragmentation Attack) 3. Khai thác lỗ hổng trong ứng dụng (Application Layer Attack)
1.3 Phân loại các kiểu tấn công DDoS
Các loại tấn công DDoS có rất nhiều biến thể, nên việc phân loại cũng có
rất nhiều cách khác nhau. Tuy nhiên, giới chuyên môn thường chia các kiểu
tấn công DDoS thành 2 dạng chính, dựa vào mục đích của kẻ tấn công: lOMoARcPSD|16072870
- Tấn công DDoS làm cạn kiệt băng thông.
- Tấn công DDoS làm cạn kiệt tài nguyên hệ thống.
Hình 1.1 Phân loại các kiểu tấn công DdoS
1.3.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 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 của các lưu lượng 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 lưu lượng đế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 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. 11 lOMoARcPSD|16072870
1.3.2 Tấn công làm cạn kiệt tài nguyên hệ thống
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ắ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ụ những người dùng thông thường khác được. 1.4 Mạng Botnet
1.4.1 Khái niệm mạng Botnet
Botnet là một mạng gồm từ hàng trăm tới hàng triệu máy tính hoàn toàn
mất quyền kiểm soát. Các máy tính này vẫn hoạt động bình thường, nhưng
chúng không hề biết rằng đã bị các hacker kiểm soát và điều khiển. Các máy
tính này có thể bị hacker lợi dụng để tải về các chương trình quảng cáo, hay
cùng đồng loạt tấn công một trang web nào đó mà ta gọi là DDoS. Hầu hết
chủ của những máy tính này không hề biết rằng hệ thống của họ đang được sử dụng theo cách này.
Khi đã chiếm được quyền điều khiển, hacker 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 nháy mắt, 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. lOMoARcPSD|16072870
1.4.2 Mô hình tấn công Handler - Agent
Hình 1.2 Mô hình tấn công 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.
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 13 lOMoARcPSD|16072870
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.
1.4.3 Mô hình tấn công IRC - Base
Hình 1.3 Mô hình tấn công 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 tạo ba loại channel:
Public, Private và Secrect. Trong đó :
- 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. lOMoARcPSD|16072870
- 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.
Tổng kết, SYN flood và Slowloris là hai kiểu tấn công DDoS phổ biến
mà người tấn công sử dụng để quấy rối hoặc làm cho một dịch vụ trở nên
không khả dụng. Cả hai tấn công đều tận dụng các lỗ hổng trong giao thức
TCP để làm cho hệ thống mạng hoặc máy chủ không thể xử lý các yêu cầu
từ người dùng hợp lệ. 15 lOMoARcPSD|16072870
SYN flood là một hình thức tấn công khi kẻ tấn công gửi một lượng lớn
yêu cầu kết nối TCP SYN tới mục tiêu mà không hoàn thành quá trình bắt
tay TCP, dẫn đến việc tiêu tốn tài nguyên của máy chủ và làm cho nó không
thể phục vụ yêu cầu từ người dùng hợp lệ.
Slowloris là một kiểu tấn công DDoS khi kẻ tấn công gửi các yêu cầu
HTTP không hoàn chỉnh hoặc chậm rãi tới máy chủ mục tiêu, nhằm tiêu tốn
tài nguyên của máy chủ và làm cho nó không thể xử lý các yêu cầu từ người dùng khác.
⇨Kết luận: Cả hai kiểu tấn công đều đặt mục tiêu vào khả năng xử lý của máy
chủ và làm cho nó trở nên không khả dụng. Để phòng chống SYN flood và
Slowloris, các biện pháp bao gồm cấu hình chính xác cho tường lửa, sử dụng
giải pháp IDS/IPS để phát hiện và ngăn chặn các mô hình tấn công, và tăng
cường khả năng chịu tải của hệ thống mạng và máy chủ. lOMoARcPSD|16072870
CHƯƠNG 2. TÌM HIỂU CÁC KĨ THUẬT TẤN
CÔNG, THỰC NGHIỆM CUỘC TẤN CÔNG DOS/DDOS
2.1 Các kĩ thuật tấn công 2.1.1 SYN FLOOD
- Khái niệm: SYN flood (half-open attack) là một kiểu tấn công từ chối
dịch vụ (DDos). Tấn công này với mục đích làm cho Server không có
lưu lượng để truy cập hợp pháp. Bằng cách tiêu thụ tất cả tài nguyên
server đang có sẵn. Người tấn công có thể áp đảo tất cả các cổng
trên Server. Làm cho thiết bị Client đáp ứng lưu lượng hợp pháp một cách chậm chạp.
- Giao thức TCP: Giao thức điều khiển truyền vận (Transmission
Control Protocol) là giao thức tiêu chuẩn trên Internet đảm bảo trao
đổi thành công các gói dữ liệu giữa các thiết bị qua mạng. TCP là giao
thức truyền tải cơ bản cho nhiều loại ứng dụng, bao gồm máy chủ web
và trang web, ứng dụng email, FTP và các ứng dụng ngang hàng.
- Giao thức TCP hoạt động theo quy trình bắt tay 3 bước, quy trình đó xảy ra như sau:
+ Client yêu cầu mở cổng dịch vụ bằng cách gửi gói tin SYN đến cho Server
+ Server sẽ đáp lại bằng cách gửi ngược trở lại Client gói tin SYN/ACK 17 lOMoARcPSD|16072870
+ Để hoàn tất quá trình kết nối bên Client sẽ phải gửi lại gói tin ACK cho phía Server.
⇨ Sau khi Server nhận được gói tin ACK từ phía Client thì quá trình kết nối
TCP sẽ được thiết lập
Hình 2.1 Quá trình kết nối TCP
- Để tạo ra một cuộc tấn công DDoS tên là SYN Flood thì kẻ tấn công
sẽ khai thác vào “thời điểm” ngay sau khi Server nhận được gói tin
SYN từ phía Client, Server sẽ liên tục gửi 1 hoặc nhiều gói tin
SYN/ACK cho Client và mở cổng để đợi gói tin ACK từ phía Client
hoặc đợi cho tới khi hết thời gian chờ để hoàn tất quá trình bắt tay 3 bước. Cụ thể như sau:
+ Kẻ tấn công sẽ liên tục gửi các gói tin SYN đến cho Server để yêu
cầu kết nối, lúc này gói tin SYN được gửi tới càng nhiều thì số cổng
được mở ra càng nhiều, thông thường thì kẻ tấn công sẽ sử dụng địa
chỉ IP giả để hạn chế bị phát hiện.
+ Bên phía Server sau khi nhận được gói tin SYN thì sẽ liên tục gửi
lại cho phía Client gói tin SYN/ACK cho phía Client và duy trì
cổng mở để đợi gói tin phản hồi ACK từ Client.
+ Sau khi gửi gói tin cho Client thì cổng của Server vẫn duy trì
trạng thái mở mà không biết rằng các gói tin SYN/ACK đang liên
tục gửi cho Client thông qua địa chỉ IP lại bị gửi tới địa chỉ IP giả
mạo, đồng nghĩa rằng cổng của Server phải đợi cho hết thời gian lOMoARcPSD|16072870
chờ mới có thể đóng lại. Cùng lúc đó, kẻ tấn công liên tục gửi thêm
nhiều gói tin SYN để yêu cầu kết nối với Server.
⇨ Bằng cách trên thì số cổng mở ra sẽ liên tục tăng lên, mà số cổng mở để
phục vụ gói tin giả trước đó lại đóng không kịp, dần dần tài nguyên của
Server sẽ dần bị cạn kiệt dẫn tới việc không thể hoạt động bình thường được nữa của Server.
Hình 2.2 mô tả cuộc tấn công SYN Flood
- Có tổng cộng 3 cách để thực hiện 1 cuộc tấn công SYN Flood
+ Tấn công trực tiếp: nếu như kẻ tấn công sử dụng SYN Flood mà
sử dụng địa chỉ IP thật thì được gọi đó là một cuộc tấn công trực
tiếp. Kết quả của cuộc tấn công này là kẻ tấn công chỉ sử dụng 1
máy tấn công có địa chỉ IP thật, điều này dẫn tới kẻ tấn công rất dễ
bị phát hiện và mức độ thiệt hại gây ra đối với mục tiêu là không
nhiều bởi vì mục tiêu chỉ cần chặn địa chỉ IP này thì cuộc tấn công
sẽ chấm dứt ngay lập tức.
+ Tấn công giả mạo: Kẻ tấn công có thể giả mạo địa chỉ IP trên mỗi
gói tin SYN được gửi đi, giống như mỗi gói tin được gửi đi bởi
nhiều địa chỉ IP khác nhau, điều này làm cho quá trình ngăn chặn,
giảm thiểu thiệt hại và truy ngược ra danh tính kẻ tấn công trở nên
khó khăn hơn, tuy nhiên nếu có sự giúp đỡ của nhà cung cấp dịch
vụ Internet thì việc tìm ra kẻ tấn công sẽ dễ dàng hơn.
+ Tấn công phân tán: đây là kĩ thuật tấn công đỉnh cao nhất, yêu cầu
kĩ năng của kẻ tấn công là rất cao. Bởi vì với kiểu tấn công này thì
kẻ tấn công sử dụng mạng lưới Botnet, với các thiết bị sử dụng địa
chỉ IP thật bị điều khiển như “con rối”. Vì mạng lưới Botnet bao 19 lOMoARcPSD|16072870
gồm hàng trăm, hàng nghìn, hàng triệu thiết bị bị kiểm soát, không
phải sử dụng địa chỉ IP giả nên việc ngăn chặn, giảm thiểu thiệt hại và truy
ngược kẻ tấn công là rất khó khăn hoặc không thể dù cho có sự giúp
đỡ của nhà cung cấp dịch vụ Internet. 2.1.2 SLOWLORIS
- Khái niệm: Slowloris là một cuộc tấn công lớp ứng dụng hoạt động
bằng cách sử dụng các yêu cầu HTTP không hoàn chỉnh. Các chức
năng tấn công bằng cách mở các kết nối đến một máy chủ Web được
nhắm mục tiêu và sau đó giữ cho các kết nối đó mở miễn là có thể.
- Giao thức HTTP: Giao thức truyền tải siêu văn bản (HyperText
Transfer Protocol). Đây là giao thức tiêu chuẩn cho WWW (World
Wide Web) để truyền tải dữ liệu dưới dạng văn bản, âm thanh, hình
ảnh, video từ Web Server tới trình duyệt web của người dùng và
ngược lại. HTTP hoạt động dựa trên mô hình Client – Server. Các máy
tính của người dùng sẽ đóng vai trò làm Client. Sau một thao tác nào
đó của người dùng, các máy khách sẽ gửi yêu cầu đến Server và chờ
đợi câu trả lời từ những máy chủ này.
- Quá trình làm việc của một phiên http xảy ra như sau:
+ HTTP Client thiết lập một kết nối TCP đến Server. Nếu thiết lập
thành công thì Client và Server sẽ truyền nhận dữ liệu với nhau
thông qua kết nối này, kết nối được thiết lập còn gọi là socket lOMoARcPSD|16072870
interface bao gồm các thông tin: địa chỉ IP, loại giao thức vận hành
(ở đây là TCP) và số port.
+ Sau khi kết nối thành công, Client gửi 1 HTTP request đến Server
thông qua socket interface được thiết lập. Trong gói tin request sẽ
chứa đường dẫn yêu cầu (path name) là /category/interface-of-thing.
+ Server sẽ nhận và xử lý request từ Client thông qua socket, sau đó
đóng gói dữ liệu tương ứng và gửi một HTTP response về cho Client.
Dữ liệu trả về sẽ là một file HTML chứa các loại dữ liệu khác nhau
như văn bản, hình ảnh, …
+ Client nhận được phản hồi từ Server và cả 2 đóng kết nối TCP.
Hình 2.3 mô hình hoạt động của HTTP
- Các giai đoạn tấn công Slowloris
+ Kẻ tấn công trước tiên mở nhiều kết nối đến máy chủ được nhắm
mục tiêu bằng cách gửi nhiều yêu cầu HTTP không hoàn chỉnh.
+ Mục tiêu mở một luồng cho mỗi yêu cầu đến, với mục đích đóng
luồng sau khi kết nối hoàn tất. Để có hiệu quả, nếu kết nối mất quá
nhiều thời gian, máy chủ sẽ hết thời gian kết nối quá dài, giải phóng
chuỗi cho yêu cầu tiếp theo. 21