HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI FIREWALL
Tìm hiểu tấn công từ chối dịch vụ(DOS và DDOS)
và các chính sách an ninh FW chống tấn công này
MỤC LỤC
1
ĐỀ TÀI FIREWALL 1
CHƯƠNG 1: TỔNG QUAN VỀ TỪ CHỐI DỊCH VỤ VÀ CÁCH PHÒNG
CHỐNG 3
1. Tổng quan về tấn công từ chối dịch vụ: 3
KẾT QUẢ THU ĐƯỢC VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN 27
TÀI LIỆU THAM KHẢO 28
DANH MỤC HÌNH ẢNH
Hình 1: Một mô hình Dos cơ bản
Hình2: 1 mô hình DDOS
Hình 3: SYN attack
Hình 4: Mô hình tấn công khuếch đại
Hình 5: Mô hình tấn công DdoS
Hình 7: Mô hình agent handler
Hình 6: Sơ đồ mạng tấn công DDOS
Hình 8: Mô hình tấn công dạng IRC-Based
2
Hình 9: Smurf Attack (DRDoS)
CHƯƠNG 1: TỔNG QUAN VỀ TỪ CHỐI DỊCH VỤ
VÀ CÁCH PHÒNG CHỐNG
1. Tổng quan về tấn công từ chối dịch vụ:
1.1 Khái Niệm về tấn công từ chối dịch vụ:
1.1.1 Giới thiệu về DoS
- Tấn công DoS là một kiểu tấn công mà một người làm cho một hệ
thống không thể sử dụng, hoặc làm cho hệ thống đó chậm đi một cách
- Tuy nhiên, chỉ từ cuối năm 1999 mới có những báo cáo về những tấn
công như vậy, và đề tài này được công chúng biết đến chỉ sau khi một
cuộc tấn công lớn vào các site công cộng tháng 2/2000. Trong thời gian 3
ngày, các site Yahoo.com, amazon.com, buy.com, cnn.com và eBay.com
đã đặt dưới sự tấn công (ví dụ như Yahoo bị ping với tốc độ 1 GB/s). Từ
đó các cuộc tấn công Dos thường xuyên sảy ra ví dụ : Vào ngày 15 tháng
8 năm 2003, Microsoft đã chịu đợt tấn công DoS cực mạnh và làm gián
đoạn websites trong vòng 2 giờ; Vào lúc 15:09 giờ GMT ngày 27 tháng 3
năm 2003: toàn bộ phiên bản tiếng anh của website Al-Jazeera bị tấn
công làm gián đoạn trong nhiều giờ
1.1.3 Mục đích của tấn công DoS và hiểm họa
• Mục đích của tấn công DoS
4
- Cố gắng chiếm băng thông mạng và làm hệ thống mạng bị ngập (flood),
khi đó hệ thống mạng sẽ không có khả năng đáp ứng những dịch vụ khác
cho người dùng bình thường.
- Cố gắng làm ngắt kết nối giữa hai máy, và ngăn chặn quá trình truy cập
vào dịch vụ.
- Cố gắng ngăn chặn những người dùng cụ thể vào một dịch vụ nào đó
- Cố gắng ngăn chặn các dịch vụ không cho người khác có khả năng truy
cập vào.
- Khi tấn công DoS xảy ra người dùng có cảm giác khi truy cập vào dịch
vụ đó như bị:
+ Disable Network - Tắt mạng
+ Disable Organization - Tổ chức không hoạt động
+ Financial Loss – Tài chính bị mất
Như chúng ta biết ở bên trên tấn công DoS xảy ra khi kẻ tấn công sử
dụng hết tài nguyên của hệ thống và hệ thống không thể đáp ứng cho
người dùng bình thường được vậy các tài nguyên chúng thường sử dụng
để tấn công là gì:
nhiều nguồn tấn công nên không làm như vậy được. Một điểm quan
trọng là nếu bị tấn công DDoS thì không thể chống đỡ.
2 Các cơ chế tấn công từ chối dịch vụ:
2.1 Tấn công từ chối dịch vụ (DoS):
Là phương thức xuất hiện đầu tiên, giản đơn nhất trong kiểu tấn công từ
chối dịch vụ.Các kiểu tấn công thuộc phương thức này rất đa dạng:
2.1.1 Tấn công chiếm dụng tài nguyên (Resource Depletion):
Bằng cách lạm dụng quá trình giao tiếp của giao thức mạng hoặc
những gói tin dị thường, attacker sẽ chiếm dụng nguồn tài nguyên hệ
thống như CPU, RAM,… khiến cho người dùng chia sẽ không truy xuất
được hệ thống do hệ thống không đủ khả năng xử lý
2.1.1.a SYN Attack
Được xem là một trong những kiểu tấn công DoS kinh điển nhất. Lợi
dụng sơ hở của thủ tục TCP khi “bắt tay ba chiều”, mỗi khi client (máy
khách) muốn thực hiện kết nối (connection) với server (máy chủ) thì nó
thực hiện việc bắt tay ba lần (three – wayshandshake) thông qua các gói
tin (packet).
- Bước 1: Client (máy khách) sẽ gửi các gói tin (packet chứa SYN=1)
đến máy chủ để yêu cầu kết nối.
- Bước 2: Khi nhận được gói tin này, server sẽ gửi lại gói tin SYN/ACK
để thông báo cho client biết là nó đã nhận được yêu cầu kết nối và chuẩn
bị tài nguyên cho việc yêu cầu này. Server sẽ giành một phần tài nguyên
hệ thống như bộ nhớ đệm (cache) để nhận và truyền dữ liệu. Ngoài ra,
8
các thông tin khác của client như địa chỉ IP và cổng (port) cũng được ghi
nhận.
- Bước 3: Cuối cùng, client hoàn tất việc bắt tay ba lần bằng cách hồi âm
lại gói tin chứa ACK cho server và tiến hành kết nối.
Hình 3: SYN attack
Do TCP là thủ tục tin cậy trong việc giao nhận (end-to-end) nên trong lần
pháp này. Thứ nhất, những gói này có địa chỉ nguồn và địa chỉ đích
giống nhau. Nó làm cho hệ điều hành bị đảo lộn và sụp đổ (Land
Attack). Thứ 2 là thiết lập tất cả các trường chất lượng dịch vụ trong
gói IP bằng 1 để hệ thống nạn nhân phải tốn nhiều thời gian để phân
tích gói (Teardrop Attack). Nếu như agent gửi nhiều gói IP theo
phương pháp tấn công này, hệ thống victim phải xử lý nhiều, kết quả
là nó shut down
2.1.2 Tấn công chiếm dụng băng thông (Bandwidth Depletion):
Có 2 loại tấn công chính:
- Thứ nhất là làm ngập bằng cách gửi liên tục các gói tin có kích thước
lớn đến hệ thống nạn nhân, làm nghẽn băng thông nạn nhân
- Thứ hai là sử dụng mạng khuếch đại, attacker hay zombie gửi thông
10
tin đến một địa chỉ broadcast (phát quảng bá), tất cả hệ thống trong
mạng con victim trong phạm vi bởi địa chỉ broadcast sẽ gửi lại hệ thống
nạn nhân một thông điệp phản hồi cho máy victim chấp nhận trao đổi
dữ liệu. Phương pháp này khuếch đại dòng lưu lượng làm cho hệ thống
nạn nhân giảm băng thông đáng kể.
2.1.2.a Tấn công ngập lụt (Flood attack):
Trong một cuộc tấn công làm lụt DDoS, các zombie sẽ gửi một số
lượng lớn các gói tin đến máy victim làm khả năng thực thi, chậm máy
hay tràn ngập băng thông mạng. Điều này khiến cho người dùng hệ
thống hợp pháp bị cản trở truy cập vào hệ thống victim.
Tấ n c ôn g n g ậ p lụt b ằ ng UD P:
-UDP (User Datagram Protocol – giao thức dữ liệu người dùng) là
một giao thức hướng không kết nối. Có nghĩa là khi những gói tin
truyền bằng giao thức này, không có một cơ chế bắt tay nào giữa bên
gửi và bên nhận, và hệ thống bên nhận khi nhận được gói tin sẽ phải
xử lý nó. Khi gửi một số lượng lớn các gói tin UDP đến hệ thống nạn
nhân có thể gây ra tràn ngập mạng, làm suy yếu mạng.
của những gói tin này là phản hồi (reply). Cũng giống như tấn công làm
ngập UDP, địa chỉ IP nguồn bị giả mạo.
12
2.1.2.b Tấn công khuếch đại (Amplifier attack):
-Một cuộc tấn công khuếch đại DDoS nhắm vào việc sử dụng tính
chất của địa chỉ IP broadcast được tìm thấy trong hầu hết các router
để khuếch đại và phản xạ sự tấn công (xem hình 1.10). Tính năng này
cho phép một hệ thống bên gửi phát một địa chỉ IP broadcast đến nơi
nhận. Bộ định tuyến nơi nhận sẽ chuyển các gói tin đến tất cả địa chỉ
IP nằm trong dãy địa chỉ broadcast.
-Đối với loại tấn công DDoS này, attacker có thể gởi trực tiếp thông
điệp broadcast, hoặc attacker sử dụng những agent để gởi thông điệp
broadcast nhằm tăng thêm dòng lưu lượng. Nếu attacker gửi một
cách trực tiếp, loại tấn công này sẽ dùng những hệ thống nằm trong
dãy địa chỉ broadcast làm zombie mà không cần phải thâm nhập chúng
hay cài đặt phần mềm zombie. Có 2 loại tấn công được biết đến
đó là : Smurf và Fraggle.
13
Hình 4: Mô hình tấn công khuếch đại
• Tấn công Smurf:
Attacker gửi những gói tin đến mạng khuếch đại (hệ thống hỗ trợ
định vị broadcast) với địa chỉ IP giả mạo là địa chỉ của máy victim.
Những gói tin tấn công có dạng ICMP ECHO REQUEST, Những gói
tin này (dạng “ping”) yêu cầu bên nhận phản hồi lại với gói tin
ICMP ECHO REPLY. Bộ khuếch đại gửi những gói ICMP ECHO
REQUEST đến tất cả hệ thống nằm trong dãy địa chỉ broadcast, mỗi
một hệ thống trên sẽ đáp ứng ICMP ECHO REPLY đến địa chỉ máy
victim.
14
• Tấn công Fraggle
thường hoạt động theo mô hình client-server. Hacker có thể viết phần
mềm này hay down load một cách dễ dàng, theo thống kê tạm thời có
khoảng hơn 10 công cụ DDoS được cung cấp miễn phí trên mạng (các
công cụ này sẽ phân tích chi tiết vào phần sau)
- Kế tiếp, dùng các kỹ thuật hack 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 software cần thiết trên các host này, việc
cấu hình và thử nghiệm toàn bộ attack-netword (bao gồm mạng lưới các
máy đã bị lợi dụng cùng với các software đã đượ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 như điểm phát động
tấn công) cũng sẽ được thực hiện trong giai đoạn này.
2.2.1.b 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
attack-netword 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.
2.2.1.c 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.
Toàn bộ attack-network (có thể lên đến hàng ngàn máy), sẽ vắt cạn năng
17
lực của server mục tiêu liên tục, ngăn chặn không cho nó 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 trình độ khác cao và
không tuyệt đối cần thiết.
2.2.2 Kiến trúc tổng quan của DDoS attack-network
2.2.1.a Mô hình Agent – Handler:
Theo mô hình này, attack-network gồm 3 thành phần: Agent, Client và
Handler
Client : là software cơ sở để hacker điều khiển mọi hoạt động của
thiết kế cho hoạt động liên lạc theo kiểu hình thức tán gẫu thời gian
thực (ví dụ RFC 1459, các bản update RFC 2810, 2811, 2812, 2813)
dựa trên kiến trúc client-server. Hầu hết mọi máy chủ IRC đều cho
19
phép truy cập miễn phí, không kể đối tượng sử dụng. Người dùng có
thể tạo kênh riêng , kênh chung liên lạc trên Internet. IRC là một giao
thức mạng mở dựa trên nền tảng TCP (Transmission Control Protocol -
Giao thức điều khiển truyền vận), đôi khi được nâng cao với SSL
(Secure Sockets Layer - Tầng socket bảo mật). Một mạng tấn công
DDoS dựa trên IRC tương tự như trên mô hình Agent-handler
-Thay vì sử dụng chương trình handler cài đặt trên máy chủ mạng,
một kênh giao tiếp IRC được sử dụng để kết nối client đến agent. Bằng
cách tạo ra một kênh IRC, attacker có thể sử dụng những port (cổng)
IRC “hợp pháp” để gởi dòng lệnh đến agent. Phương pháp này rất khó
phát hiện những gói tin chứa mã lệnh DDoS. Attacker không cần phải
giám sát danh sách những agent, phần mềm agent được cài đặt trên
mạng IRC thường xuyên giao tiếp qua kênh IRC và thông báo về cho
attacker khi agent hiện diện và đang chạy. Một cải tiến khác đó là mạng
IRC cung cấp dễ dàng các tập tin chia sẽ. File (tập tin) chia sẽ là một
trong những phương thức truyền đoạn mã phân tán agent.
Trong kiến trúc tấn công DDoS dựa trên IRC, những agent còn được
gọi là “Zombie
Bots”. Có thể gọi chung là zombie cho cả 2 loại mô hình trên.
20
Hình 8: Mô hình tấn công dạng IRC-Based
2.3 Tấn công từ chối dịch vụ phản xạ phân tán (DRDoS):
2.3.1 Mô hình DRDoS
- Xuất hiện vào đầu năm 2002, là kiểu tấn công mới nhất, mạnh nhất
trong họ DoS. Nếu được thực hiện bởi kẻ tấn công có tay nghề thì nó có
thể hạ gục bất cứ hệ thống nào trên thế giới trong phút chốc.
dụng, và phương pháp bảo vệ các ứng dụng này như thế nào. Rủi ro là mặt đối lập
của bảo mật nên chúng ta thường cố gắng loại trừ nó. Tuy nhiên, thực tế cho thấy
các rủi ro không bao giờ loại trừ hết được.
Các chính sách chống lại tấn công từ chối dịch vụ:
23
- Đặc quyền tối thiểu: đây là nguyên tắc an ninh căn bản nhất. Mọi đối tượng
tượng (người dùng, người quản trị, chương trình, hệ thống ) chỉ nên có đủ
đặc quyền để đối tượng thực hiện nhiệm vụ của chúng. Ví dụ trong firewall
ta nên thiết lập rule mặc định là chặn tất cả các gói tin đi từ mạng bên trong
ra bên ngoài và ngược lại, sau đó thiết lập dịch vụ nào được chạy, những
user nào có quyền được làm gì… Để hạn chế sự mở rộng của tấn công và tác
hại của chúng.
- Kiểm soát dịch vụ: Xác định kiểu dịch vụ nào có thể được truy nhập
(vào/ra) Ví dụ: Dịch vụ web, mail, FTP, telnet, shh …
- Kiểm soát hướng: khi mở 1 dịch vụ sẽ cho request từ mạng nào vào(tin cậy
hoặc không tin cây)
Ví dụ: Một mạng định nghĩa có 3 miền: interner, externer, DMZ. Trong
miền DMZ cấu hình dịch vụ chia sẻ file FTP, chỉ cho phép những request từ
miền interner và drop những request từ miền khác. Firewall kiểm soát hướng
vào ra của gói tin.
- Kiểm soát số lượng connections trên 1 IP trong 1 đơn vị thời gian hay nói
các khác là giới hạn các gói SYN. Ví dụ chỉ cho phép 5 gói SYN tới server
trong 3 giây nhiều hơn firewall sẽ chặn để giảm tải cho server không phải xử
lí nhiều. Cách này là phương pháp tốt nhất để ngăn chặn SYN attack.
- Chỉnh các thông số TIME_WAIT , CLOSE_WAIT để tối ưu hệ thống , lọc
bỏ các cú truy cập không mong muốn. Server đi vào tình trạng
"TIME_WAIT" để bảo đảm cả hai đầu truy cập (cả client lẫn server) không
còn gởi nhận gì thêm trước khi socket hoàn toàn triệt tiêu. Đối với tình trạng
máy chủ bị DDoS, hạ thời gian TIME_WAIT xuống có tác dụng phụ trợ
server lấy lại memory để tiếp tục cung cấp. Các socket ở tình trạng