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

Đồ án phòng chống tấn công DDoS qua mô hình cải tiến SOS WebSOS

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 (1.09 MB, 82 trang )

Đồ án tốt nghiệp đại học Phòng chống tấn công từ chối dịch vụ
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
Đề tài:
XÂY DỰNG VÀ CẢI TIẾN KIẾN TRÚC MẠNG BAO PHỦ TRONG
PHÒNG CHỐNG TẤN CÔNG TỪ CHỐI DỊCH VỤ PHÂN TẤN VÀO
CÁC WEBSITE
Sinh viên thực hiện : HOÀNG THANH HÙNG
Lớp : ĐIỆN TỬ 9 – K52
Giảng viên hướng dẫn : TS. TRẦN MINH TRUNG
Cán bộ phản biện :
Hà Nội, 6-2012
BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HÒA XÃ HÔI CHỦ NGHĨA VIỆT NAM
Hoàng Thanh Hùng – ĐT9 -K52 Trang 1
Đồ án tốt nghiệp đại học Phòng chống tấn công từ chối dịch vụ
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ và tên sinh viên: .…………….………….…… Số hiệu sinh viên: ………………
Khoá:…………………….Khoa: Điện tử - Viễn thông Ngành: ………………
1. Đầu đề đồ án:
………………………………………………
……………………………………………………………………………………………
………………………………………
2. Các số liệu và dữ liệu ban đầu:
…………………………………… ……………………………………………
……………………………………………………………………………………………


……………………………………………………………………………………………
………
3. Nội dung các phần thuyết minh và tính toán:
……………………………………………………………………………………………
………………… ….
……………………………………………………………………………………………
……………………………………… ….
……………………………………………………………………………
4. Các bản vẽ, đồ thị ( ghi rõ các loại và kích thước bản vẽ ):
Hoàng Thanh Hùng – ĐT9 -K52 Trang 2
Đồ án tốt nghiệp đại học Phòng chống tấn công từ chối dịch vụ
……………………………………………………………………………………………
………………………… ….
……………………………………………………………………………………………
…………………………… ……….……………………
5. Họ tên giảng viên hướng dẫn: ………………………………………………………
6. Ngày giao nhiệm vụ đồ án: ………………………………………………….………………
7. Ngày hoàn thành đồ án: ……………………………………………………………
Ngày tháng năm
Chủ nhiệm Bộ môn Giảng viên hướng dẫn
Sinh viên đã hoàn thành và nộp đồ án tốt nghiệp ngày tháng năm
Cán bộ phản biện
Hoàng Thanh Hùng – ĐT9 -K52 Trang 3
Đồ án tốt nghiệp đại học Phòng chống tấn công từ chối dịch vụ
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

BẢN NHẬN XÉT ĐỒ ÁN TỐT NGHIỆP
Họ và tên sinh viên: Số hiệu sinh viên:
Ngành: Khoá:

Giảng viên hướng dẫn:…………………………………………………………………
Cán bộ phản biện:
1. Nội dung thiết kế tốt nghiệp:









2. Nhận xét của cán bộ phản biện:



Hoàng Thanh Hùng – ĐT9 -K52 Trang 4
Đồ án tốt nghiệp đại học Phòng chống tấn công từ chối dịch vụ













Ngày tháng năm
Cán bộ phản biện
( Ký, ghi rõ họ và tên )
Hoàng Thanh Hùng – ĐT9 -K52 Trang 5
Đồ án tốt nghiệp đại học Phòng chống tấn công từ chối dịch vụ
MỤC LỤC
LỜI NÓI ĐẦU
Em xin chân thành cảm ơn các thầy cô giáo trong trường Đại học Bách Khoa Hà
Nội đã tận tình giúp đỡ và truyền đạt kiến thức cho em trong suốt 5 năm học qua để em
có đủ kiến thức hoàn thành luận án tốt nghiệp này.
Hoàng Thanh Hùng – ĐT9 -K52 Trang 6
Đồ án tốt nghiệp đại học Phòng chống tấn công từ chối dịch vụ
Đặc biệt, em xin gửi lời cảm ơn sâu sắc tới thầy Trần Minh Trung – người đã
nhiệt tình động viên, định hướng em trong quá trình định hình, nghiên cứu và hoàn
thành luận văn.
Đồng thời, em xin cảm ơn sự nhiệt tình chia sẻ kinh nghiệm, đóng góp ý kiến
hướng dẫn của anh Nguyễn Duy Hiếu – trưởng nhóm Hệ thống của công ty cổ phần và
phát triển công nghệ An Minh. Nhờ sự chỉ bạo tận tình của anh, em đã bổ sung được
các kiến thức còn thiếu sót trong quá trình hoàn thành luận văn tốt nghiệp.
Mặc dù đã rất cố gắng hoàn thành luận văn này, xong sẽ khó tránh khỏi những
thiếu sót, kính mong quý thầy cô tận tình chỉ bảo giúp em. Một lần nữa em xin cảm ơn
tất cả mọi người.
Hà Nội, ngày 15/6/2012
Hoàng Thanh Hùng
Hoàng Thanh Hùng – ĐT9 -K52 Trang 7
Đồ án tốt nghiệp đại học Phòng chống tấn công từ chối dịch vụ
TÓM TẮT LUẬN VĂN
Ngày nay, sự bùng nổ của Internet đã đem lại cho con người rất nhiều lợi ích.
Internet làm cho giao tiếp giữa mọi người trở nên dễ dàng hơn, hiệu quả công việc cũng
được gia tăng đáng kể. Tuy nhiên, bên cạnh những lợi ích đó, con người lại phải đối mặt

với nhiều vấn đề nguy hiểm mà Internet mang lại, đặc biệt là các hình thức tấn công
thông qua Internet với hình thức tấn công phổ biến nhất hiện nay chính là tấn công từ
chối dịch vụ (DoS). Theo thời gian, với kiến thức ngày càng được nâng cao, các hình
thức tấn công từ chối dịch vụ (DoS) cũng trở nên tinh vi và phức tạp hơn rất nhiều. Sẽ là
rất khó khăn cho giới quản trị mạng và bảo mật trong nhiệm vụ phát hiện và phòng chống
lại tấn công DoS, đặc biệt là các hệ thống nhỏ và vừa chỉ phục vụ một số lượng giới hạn
người sử dụng. Chính vì lẽ đó, trong luận văn này em sẽ trình bày một kiến trúc phòng
chống tấn công từ chối dịch vụ để giải quyết vấn đề trên. Kiến trúc có tên WebSOS, với
thành phần chính là mạng bao phủ bảo vệ làm nhiệm vụ kiểm tra và định tuyến toàn bộ
yêu cầu từ người sử dụng tới server đích, với mục tiêu chỉ cho phép các yêu cầu hợp lệ
tới đích sau khi vượt qua yêu cầu xác thực. Mặc dù khá thành công trong việc phân biệt
luồng dữ liệu giữa người dùng hợp lệ và không hợp lệ. Kiến trúc lại tỏ ra bất lực khi một
hoặc một số các node trong mạng bao phủ bị chiếm dụng trở thành node gây hại và tấn
công mạng. Luận văn đã thực hiện các cải tiến, để có thể phát hiện tình huống node gây
hại tấn công và tự động chuyển hướng truy vấn để tránh khỏi sự tấn công gây hại.
ABSTRACT
Nowadays, with the Internet explosion bring to human many benefits. It make
human in all over the word can communicate together easily, work more effectively.
Hoàng Thanh Hùng – ĐT9 -K52 Trang 8
Đồ án tốt nghiệp đại học Phòng chống tấn công từ chối dịch vụ
Besides that, the Internet is also an object of many attacks and one type of attack that
many current attackers using is Dos (Denial of service) attack. Moreover, with the
development of information, programs, there are more sophisticated methods that
attacker using to attack victim and it hard to detect and defense again attack with limited
infrastructure especially in small and medium system. So that SOS and WebSOS has
been developed to address this problem. WebSOS architecture consist of an overlay
network that will check all requests sent to server, and only valid requests that pass
captcha test are able to go to server. WebSOS is a good system for distinguish request
from legitimate user and zombie. However,the standard WebSOS architecture assume
that all nodes in system are safe and work right. The system will be in challenging if

some nodes in the overlay network are become malicious nodes under the control of
attackers. Therefore, the thesis will mention about improvement that be able to detect,
remove malicious nodes to guarantee query from real user can go to server.
DANH MỤC HÌNH VẼ
Hoàng Thanh Hùng – ĐT9 -K52 Trang 9
Đồ án tốt nghiệp đại học Phòng chống tấn công từ chối dịch vụ
THUẬT NGỮ VIẾT TẮT
STT
Từ viết tắt
Tên đầy đủ
01 DoS Denial of Service
02 PoD Ping of Death
03 ACK Acknowledgment
04 SYN Synchronize
05 UDP User Datagram Protocol
06 ICMP Internet Control Message Protocol
07 RST Reset Field
08 ISP Internet Service Provider
09 DNS Domain Name System
10 HTTP Hypertext Transfer Protocol
11 DDoS Distributed Denial of Service
12 DRDoS Distributed Reflection Denial of Service
13 IRC Internet Relay Chat
14 SSL Sercure Sockets Layer
15 TCP Transmission Control Protocol
16 ADSL Asymmetric Digital Subscriber Line
17 ADS Alternate Data Stream
18 NTFS New Technology File System
19 ACC Aggregate-Based Congestion Control
20 DSL Digital Subscriber Line

21 TTL Time to Live
22 SOAP Sercure Overlay Access Point
23 SOS Sercure Overlay Servcice
24 DHT Distributed Hash Table
25 P2P Peer to Peer
Hoàng Thanh Hùng – ĐT9 -K52 Trang 10
Đồ án tốt nghiệp đại học Phòng chống tấn công từ chối dịch vụ
26 TLS Transport Layer Sercurity
27 IP Internet Protocol
28 CAPTCHA Completely Automated Public Turing test to tell Computers
and Human Apart
29 GTT Graphic Turing Test
30 RC4 Rivest Cipher 4
31 GRE Generic Routing Encapsulation
32 HTML Hypertext Maker Language
33 MAC Message Access Control
34 MITM Man in the middle
35 UMAC Universe Message Access Control
36 GPL General Public License
37 BOT RoBOT
Hoàng Thanh Hùng – ĐT9 -K52 Trang 11
Đồ án tốt nghiệp đại học Phòng chống tấn công từ chối dịch vụ
MỞ ĐẦU
Tấn công từ chối dịch vụ (Denial of Services) đã ngày càng trở thành một mối đe
dọa lớn đối với sự tin cậy của mạng Internet. Là các cuộc tấn công sử dụng nhiều cách
thức tổ chức và thực hiện khác nhau, từ việc dùng chỉ một máy tới việc thu thập các máy
agent dưới quyền với số lượng lên đến hàng chục ngàn máy phục vụ tấn công, mục đích
của các cuộc tấn công là làm tê liệt các ứng dụng, máy chủ, toàn bộ mạng lưới, hoặc làm
gián đoạn kết nối của người dùng hợp pháp tới Website đích. Có nhiều phương pháp đã
được đề xuất nhằm chống lại các cuộc tấn công từ chối dịch vụ, từ việc lọc các gói tin để

tránh giả mạo địa chỉ nguồn, chuyển hướng tấn công, đẩy ngược luồng giao thông tấn
công trở lại mạng, cách ly để phân biệt máy khách và giao thông máy chủ, … Mỗi giải
pháp đó đều rất tốt, và cung cấp kĩ thuật giúp chúng ta định vị vấn đề tấn công từ chối
dịch vụ. Tuy nhiên các phương pháp chỉ có thể bảo vệ từng khía cạnh của tấn công từ
chối dịch vụ mà thôi. Trong khóa luận này, em sẽ trình bày một kiến trúc phòng chống
tấn công dịch vụ phân tán khá hiệu quả ở thời điểm hiện tại. Áp dụng kiến trúc mạng phủ
bảo vệ nhằm cách ly và bảo vệ mục tiêu khỏi sự tiếp cận của kẻ tấn công.
Trong kiến trúc này, một nhóm các SOAP - Secure Overlay Access Point, sẽ thực
hiện chức năng kiểm tra và phân biệt người truy cập với các chương trình độc hại của
những kẻ tấn công, để đưa yêu cầu của người dùng hợp lệ đến các node bí mật trong
mạng bao phủ bằng kết nối SSL thông qua mạng đó. Sau đó các node bí mật sẽ chuyển
tiếp yêu cầu người dùng qua một vùng lọc đến với Server đích. Việc dùng các bộ lọc
mạnh để lọc các yêu cầu độc hại gửi trực tiếp đến Server đích, chỉ cho phép các node bí
mật được truy cập, cùng với việc sử dụng mạng bao phủ để che giấu các node bí mật, và
nhóm các SOAP trong mạng bao phủ có thể bị tấn công để sẵn sàng được thay thế bằng
các SOAP khác, giúp cho Website được bảo vệ và hạn chế tối đa tác động của các cuộc
tấn công.
Ngoài phần mởi đầu, luận văn của em bao gồm các chương:
Hoàng Thanh Hùng – ĐT9 -K52 Trang 12
Đồ án tốt nghiệp đại học Phòng chống tấn công từ chối dịch vụ
• Chương 1: Khái niệm tấn công từ chối dịch vụ (DoS), các phương thức và một số
dạng tấn công DoS phổ biến.
• Chương 2: Khái niệm tấn công từ chối dịch vụ phân tán (DDoS), các mô hình triển
khai tấn công DDoS.
• Chương 3: Các mô hình phòng chống tấn công DDoS đã được sử dụng.
• Chương 4: SOS và WebSOS, giới thiệu về cơ chế của hai kiến trúc bảo vệ Website
khỏi tấn công từ chối dịch vụ thông qua việc sử dụng mạng bao phủ và node bí
mật.
• Chương 5: Mô phỏng hệ thống thực nghiệm trên mô hình máy ảo. Đề xuất các
kịch bản tấn công và các phân tích nhằm đưa ra cải tiến giúp hệ thống trở lên

mạnh mẽ hơn chống lại các cuộc tấn công ngay từ trong các node thuộc mạng bao
phủ khi một số node bị chiếm dụng trở thành nguồn tấn công.
CHƯƠNG 1
TẤN CÔNG DoS (DENIAL OF SERVICE)
1.1 Định nghĩa tấn công từ chối dịch vụ - DoS Attack
Là phương thức tấn công từ chối dịch vụ xuất hiện đầu tiên, giản đơn nhất, cổ điển
nhất trong kiểu tấn công từ chối dịch vụ. Về cơ bản, tấn công từ chối dịch vụ (Denial Of
Services Attack) chỉ là tên gọi chung của cách tấn công làm cho một hệ thống nào đó bị
Hoàng Thanh Hùng – ĐT9 -K52 Trang 13
Đồ án tốt nghiệp đại học Phòng chống tấn công từ chối dịch vụ
quá tải không thể cung cấp dịch vụ. Tấn công DoS [2] là tấn công ngăn cản người dùng
hợp pháp sử dụng tài nguyên được chỉ định như dịch vụ Web, mạng hoặc máy chủ.
Người tấn công cố tình ngăn chặn sự sẵn sàng của tài nguyên đến người dùng được xác
thực của nó.
DoS có thể làm ngưng hoạt động của một máy tính, một mạng nội bộ, thậm chí cả
một hệ thống mạng rất lớn. Về bản chất thực sự của DoS, kẻ tấn công sẽ chiếm dụng một
lượng lớn tài nguyên mạng như băng thông, bộ nhớ… và làm mất khả năng xử lý các yêu
cầu dịch vụ từ các client khác.và có thể nhanh chóng bị ngừng hoạt động, crash hoặc
reboot.
1.2 Phương thức tấn công từ chối dịch vụ
Tạo ra cuộc tấn công DoS là tất cả các cách có thể để phá hỏng hoặc làm cho hệ
thống ngừng hoạt động. Có nhiều cách để làm một hệ thống ngừng hoạt động, và thường
sẽ tồn tại nhiều lỗ hổng trong hệ thống để những kẻ tấn công sẽ cố gắng khai thác hoặc
định vị để tấn công vào trong chúng cho đến khi kẻ tấn công nhận được kết quả mong
muốn: mục tiêu bị phải chuyển sang trạng thái offline.
1.2.1 Khai thác các điểm yếu của mục tiêu
Việc tấn công bằng cách khai thác các điểm yếu của mục tiêu bao gồm việc gửi các
gói tin khai thác các lỗ hổng tồn tại trong máy mục tiêu đó. Ví dụ, có một lỗi trong
Windows 95 và NT, và một số phiên bản nhân Linux, trong việc xử lý không đúng các
gói phân mảnh. Thông thường, khi một gói tin quá lớn cho một mạng nào đó, nó được

chia thành hai (hoặc hơn) các gói nhỏ hơn, và mỗi phần trong số họ được đánh số thứ tự
phân mảnh. Việc đánh dấu chỉ ra thứ tự của byte đầu tiên và byte cuối cùng trong gói tin,
đối với bản gốc. Tại máy nhận các gói tin, chúng được hợp lại thành các gói dữ liệu gốc
thông qua việc nối các gói tin theo số thứ tự đã đánh. Tuy vậy các lỗ hổng trong nhân trên
đã khiến cho máy trở nên không ổn định khi nhận các gói tin không đúng số thứ tự phân
mảnh, khiến nó có thể treo, sụp đổ, hoặc khởi động lại. Điểm dễ bị tổn thương này có thể
Hoàng Thanh Hùng – ĐT9 -K52 Trang 14
Đồ án tốt nghiệp đại học Phòng chống tấn công từ chối dịch vụ
được khai thác bằng cách gửi gói tin UDP với số thứ tự lặp cho nạn nhân. Có một số biến
thể của việc khai thác này – gửi các mảnh có số thứ tự chồng nhau, một gói tin có offset
chồng lên gói thứ hai trước khi bắt đầu tiêu đề trong gói đầu tiên, và như vậy. Chúng
được biết đến như là các khai thác bonk, boink, teardrop, và newtear.
Các cuộc tấn công đặc biệt dễ gây tổn thương xấu bởi vì chúng có thể làm sụp đổ
hay treo máy bằng việc chỉ cần gửi lặp lại một hoặc hai gói tin được chọn lựa cẩn thận.
Tuy nhiên, một khi lỗ hổng được vá, các cuộc tấn công ban đầu trở nên hoàn toàn không
hiệu quả.
1.2.2 Tấn công vào giao thức
Một ví dụ lý tưởng của các cuộc tấn công giao thức đó là tấn công tràn ngập gói
TCP SYN. Một phiên kết nối TCP bắt đầu với việc bắt tay ba bước giữa một máy khách
và máy chủ. Khách hàng gửi một gói tin TCP SYN đến máy chủ, yêu cầu một số dịch
vụ. Trong phần đầu gói SYN, khách hàng cung cấp số thứ tự - sequence number của
mình, một uniqueper- số kết nối sẽ được sử dụng để đếm dữ liệu được gửi đến máy chủ
(vì vậy các máy chủ có thể nhận ra và xử lý mất tích, thủ tiêu dữ liệu không đúng, hoặc
dữ liệu lặp đi lặp lại). Khi nhận được gói SYN, máy chủ cấp phát một khối điều khiển
truyền dẫn (TCB), lưu trữ thông tin về khách hàng. Sau đó nó trả lời bằng một SYN-
ACK, thông báo cho khách hàng có yêu cầu rằng dịch vụ của nó sẽ được cấp, ghi nhận số
thứ tự của khách hàng và gửi thông tin về số thứ tự ban đầu của máy chủ. Các khách
hàng, khi nhận được gói SYN-ACK, cũng cấp phát một khối điều khiển truyền dẫn, sau
đó trả lời với một gói ACK đến máy chủ, để hoàn thành việc mở kết nối.
Tiềm năng lạm dụng nằm trong việc cấp phát nguồn tài nguyên của máy chủ ngay từ

khi nhận được gói SYN. Khi máy chủ giao TCB của mình và trả lời bằng một SYN-
ACK, kết nối được cho là nửa mở. Nghĩa là tài nguyên máy chủ cấp phát sẽ được giữ để
dành cho kết nối với khách hàng, cho đến khi khách hàng gửi một gói tin ACK, đóng kết
nối (bằng cách gửi gói tin RST) hoặc cho đến khi hết hạn chờ và server ngắt kết nối, giải
phóng không gian đệm. Và cho dù khách hàng có gửi lại gói tin khác, hay không, thì tài
Hoàng Thanh Hùng – ĐT9 -K52 Trang 15
Đồ án tốt nghiệp đại học Phòng chống tấn công từ chối dịch vụ
nguyên đó sẽ được cấp phát giữ trong một khoảng thời gian nhất định. Trong một cuộc
tấn công tràn gói tin TCP SYN, kẻ tấn công tạo ra vô số các kết nối nửa mở bằng cách sử
dụng giả mạo IP nguồn. Những yêu cầu nhanh chóng vắt kiệt bộ nhớ TCB của máy chủ,
và khi đó máy chủ sẽ không còn có thể chấp nhận yêu cầu kết nối đến nữa. Để có thể giữ
cho tình trạng này được kéo dài như mong muốn, kẻ tấn công cần phải tạo ra một dòng
đều đặn các gói SYN đối với nạn nhân (để giành lấy những tài nguyên đã được giải
phóng bởi thời gian tạm ngưng hoặc hoàn thành các phiên TCP).
Đây là một cuộc tấn công đặc biệt nguy hiểm, khi mà máy chủ nhận được một số
lượng lớn các gói SYN hợp pháp và không thể dễ dàng phân biệt các gói từ khách hàng
hợp pháp với các gói từ giao thông tấn công.
Để thực hiện thành công một cuộc tấn công tràn ngập gói SYN, kẻ tấn công cần xác
định vị trí cổng mở trên máy của nạn nhân. Sau đó, chỉ cần gửi một lưu lượng gói tin nhỏ,
tầm 10 gói SYN/ phút là có thể dần dần vắt kiệt tài nguyên của nạn nhân. Một kiểu tấn
công SYN ít phổ biến hơn đó là tấn công tràn gói SYN với cổng ngẫu nhiên. Trong đó,
kẻ tấn công tạo ra một khối lượng lớn các gói tin TCP SYN nhắm mục tiêu cổng ngẫu
nhiên của nạn nhân, với mục tiêu áp đảo tài nguyên mạng của nạn nhân, hơn là làm đầy
bộ nhớ đệm của nạn nhân.
Tấn công vào giao thức rất khó để có thể chống lại bằng phương pháp sửa chữa, tạo
bản vá. Bởi tạo bản vá yêu cầu phải thay đổi giao thức, trong khi thực tế cho thấy việc
thay đổi giao thức internet gần như là bất khả thi. Trong một số trường hợp, việc sử dụng
giao thức hiện tại một cách thông minh có thể giải quyết vấn đề. Như việc sử dụng TCP
SYN cookies có thể giải quyết được tấn công tràn gói SYN mà chỉ cần thay đổi cách
server xử lý kết nối đến.

1.2.3 Tấn công vào Middleware
Các cuộc tấn công có thể được thực hiện trên các thuật toán, chẳng hạn như hàm
băm mà thông thường sẽ thực hiện các hoạt động của mình trong thời gian tuyến tính cho
Hoàng Thanh Hùng – ĐT9 -K52 Trang 16
Đồ án tốt nghiệp đại học Phòng chống tấn công từ chối dịch vụ
mỗi mục tiếp theo. Bằng cách chèn các giá trị mà tạo ra các trường hợp xấu nhất, kẻ tấn
công có thể khiến các ứng dụng thực hiện chức năng của mình trong thời gian tiếp theo
hàm mũ đối với mỗi tham số nhập vào.
Khi kẻ tấn công có thể tự do gửi dữ liệu được xử lý bằng cách sử dụng hàm băm dễ
bị tổn thương, hắn có thể gây ra việc CPU của máy chủ bị sử dụng quá năng lực khiến
cho những hoạt động bình thường chỉ tốn vài phần của giây để xử lý, giờ phải mất vài
phút để hoàn thành. Và nó cũng không cần đến một số lượng lớn request để thực hiện
cũng có thể làm quá tải các ứng dụng, khiến nó không còn năng lực để phục vụ được
người dùng hợp pháp.
1.2.4 Tấn công vào ứng dụng
Những kẻ tấn công có thể nhắm mục tiêu một ứng dụng cụ thể và gửi gói tin để đạt
tới giới hạn của yêu cầu dịch vụ ứng dụng này có thể xử lý. Ví dụ, các máy chủ web phải
mất một thời gian nhất định để phục vụ yêu cầu trang Web bình thường, và do đó sẽ tồn
tại một số hữu hạn các yêu cầu tối đa cho mỗi giây mà họ có thể duy trì. Nếu chúng ta giả
định rằng các máy chủ Web có thể xử lý 1.000 yêu cầu mỗi giây để tải các file tạo nên
trang chủ của một công ty, do đó nhiều nhất là 1.000 yêu cầu của khách hàng có thể được
xử lý đồng thời. Chúng ta giả định là máy chủ Web này bình thường xử lý hàng ngày là
100 yêu cầu / giây (một phần mười công suất).
Nhưng nếu kẻ tấn công điều khiển 10.000 máy agent, và có khả năng mỗi một máy
trong số đó có thực hiện một yêu cầu mỗi 10 giây đến máy chủ Web. Đó là tần suất
1.000 yêu cầu / giây, cộng thêm vào giả định giao thông bình thường nữa trở thành 110%
công suất của máy chủ. Bây giờ một phần lớn các yêu cầu hợp pháp sẽ không thể thông
qua bởi vì máy chủ bị bão hòa.
Cũng như các cuộc tấn công vào middleware, một cuộc tấn công ứng dụng có thể
không làm tê liệt toàn bộ máy chủ lưu trữ hoặc xuất hiện như một số lượng lớn các gói

Hoàng Thanh Hùng – ĐT9 -K52 Trang 17
Đồ án tốt nghiệp đại học Phòng chống tấn công từ chối dịch vụ
tin gửi tới server. Vì vậy, một lần nữa, nhiều cách phòng thủ không thể giúp bảo vệ chống
lại loại hình tấn công này.
1.2.5 Pure Flooding
Với một số lượng đủ lớn các agent, kẻ tấn công chỉ cần gửi bất kì loại gói tin nào
đến mục tiêu, càng nhanh càng tốt từ mỗi máy là đủ tiêu thụ hết băng thông mạng của
mục tiêu. Đây được gọi là cuộc tấn công tiêu thụ băng thông. Nạn nhân không thể một
mình chống đỡ lại được cuộc tấn công này, vì các gói tin hợp pháp được gửi vào liên kết
giữa nhà cung cấp dịch vụ và mạng của nạn nhân. Vì vậy, nạn nhân thường phải yêu cầu
sự giúp đỡ của các ISP để lọc ra các gói tin tấn công gửi tới.
Trong các trường hợp đó, thường các ISP cũng bị ảnh hưởng bởi cuộc tấn công, ít
nhất là trên router kết nối giữa mạng của ISP và của nạn nhân. Thường chính họ cũng cần
phải lọc lại trên router và thậm chí còn phải yêu cầu nhà cung cấp đường truyền upstream
lọc các giao thông đến mạng của họ. Trong vài trường hợp, các gói tin tấn công là đơn
giản để lọc như các gói tin UDP đến các cổng không được sử dụng, các gói tin với giá trị
IP 255. Ở trường hợp khác, các gói tin rất khó để lọc, như gói DNS query, HTTP
request… thì việc lọc sẽ loại cả các gói tin hợp lệ, do đó sau khi lọc thì giao thông gửi tới
khách hàng của nạn nhân sẽ trở về không, kẻ tấn công đạt được kết quả của tấn công
DoS.
1.2.6 IP Spoofing
Một chiến thuật được sử dụng trong các cuộc tấn công nguy hiểm, đặc biệt ở DDoS
đó là IP Spoofing, hay IP giả mạo. Trong các gói tin mạng bình thường, trường tiêu đề sẽ
là nơi chứa địa chỉ IP của máy nguồn, địa chỉ máy đích. Giả mạo IP diễn ra khi một phần
mềm độc hại tạo ra các gói tin riêng và thay thế địa chỉ IP nguồn bằng một địa chỉ IP nào
khác, thông qua việc tạo và thiết lập các raw socket, socket do người dùng định nghĩa.
Có một vài mức giả mạo ip khác nhau:
Hoàng Thanh Hùng – ĐT9 -K52 Trang 18
Đồ án tốt nghiệp đại học Phòng chống tấn công từ chối dịch vụ
• Giả mạo IP một cách ngẫu nhiên: phần mềm sẽ tạo ra một địa chỉ IPv4 ngẫu nhiên

trong khoảng từ 0.0.0.0 đến 255.255.255.255. Trong một số trường hợp, nó sẽ tạo
ra các địa chỉ IPv4 sai, như địa chỉ thuộc miền 192.168.0.0 là miền dùng cho mạng
cá nhân, hoặc địa chỉ multicast, broastcast, địa chỉ không tồn tại (như 0.1.2.3). Tuy
vậy trong hầu hết trường hợp thì nó đều tạo được địa chỉ IP hợp lệ và có thể định
tuyến được.
• Giả mạo mặt nạ mạng: Nếu một máy thuộc mạng 192.168.1.0/24 thì nó dễ dàng
giả mạo một máy nào khác ở trong cùng một mạng, ví dụ như máy 192.168.1.34
có thể giả mạo dễ dàng máy 192.168.1.35 hoặc 192.168.1.99.
• Giả mạo chính địa chỉ của nạn nhân: Đây là một kiểu giả mạo rất nguy hiểm nếu
như máy chủ nạn nhân không có được những thiết lập phòng chống. Kẻ tấn công
chỉ cần đơn giản giả mạo địa chỉ của máy nạn nhân, gửi một gói tin request, ví dụ
như gói tin TCP SYN, và nếu máy nạn nhân không có một cơ chế lọc tốt, nó sẽ
nhận gói tin, cấp phát tài nguyên cho request và gửi trả lời lại cho chính nó. Điều
này dẫn tới một vòng lặp vô tận trong chính máy nạn nhân, giữa một bên cần nhận
thông tin phản hồi còn một bên thì không bao giờ gửi thông tin phản hồi đó cả.
Trong thực tế, giả mạo địa chỉ IP không phải là cần thiết cho một cuộc tấn công
DDoS thành công, bởi vì kẻ tấn công có thể vắt kiệt tài nguyên và khả năng xử lý của nạn
nhân với một lượng lớn các gói tin mà không cần liên quan gì đến địa chỉ nguồn. Tuy vậy
một số kẻ tấn công sử dụng IP Spoofing cho một vài lý do, như để che giấu địa chỉ của
các agent, từ đó che giấu được địa chỉ của handler và của kẻ tấn công tốt hơn, hoặc sử
dụng cho tấn công phản xạ nhiều vùng DRDoS là hình thức tấn công mạnh nhất hiện nay
giả mạo địa chỉ IP của nạn nhân để yêu cầu một số server lớn gửi các truy vấn hợp pháp
đến server nạn nhân, kết quả là nạn nhân bị tấn công các server lớn trên thế giới, và
không thể nào chống đỡ nổi. IP Spoofing cũng giúp kẻ tấn công vượt qua cơ chế bảo vệ
của một số máy chủ khi họ lưu địa chỉ các khách hàng thường xuyên và dùng nó làm
danh sách địa chỉ tin cậy ưu tiên truy cập trong trường hợp bị tấn công.
1.3 Tìm hiểu một số dạng tấn công từ chối dịch vụ DoS
Hoàng Thanh Hùng – ĐT9 -K52 Trang 19
Đồ án tốt nghiệp đại học Phòng chống tấn công từ chối dịch vụ
Tùy phương thức thực hiện mà tấn công DoS được biết dưới nhiều tên gọi khác

nhau. Các kiểu tấn công thuộc phương thức này rất đa dạng:
- Ping of Death Attack
- SYN Flood Attack
- UDP Flood Attack
- Land Attack
- Smurf Attack
- Teardrop Attack
- Buffer Overflow Attack
1.3.1 Tấn công kiểu Ping of Death
Phá hoại dựa trên tính giới hạn hoặc không thể phục hồi của tài nguyên mạng thông
qua sử dụng các nguồn tài nguyên khác. Một số máy tính sẽ ngưng hoạt động, reboot
hoặc bị crash khi gởi gói data ping với kích thước lớn (>65536 bytes) đến chúng.
Ví dụ: C:\ > ping -l 655540
Hình : Tấn công kiểu PoD
Gói tin IP lớn được chia nhỏ để chuyển đến đích. Bên hệ thống đích tiến hành gộp
các phân mảnh tạo gói IP hoàn chỉnh nhưng hệ điều hành không thể nhận biết được độ
lớn của gói tin này do quá kích thước cho phép của gói IP và sẽ bị khởi động lại, hay đơn
giản là sẽ bị gián đoạn giao tiếp. Để nhận biết kẻ tấn công gửi gói tin lớn hơn gói tin cho
phép thì tương đối dễ dàng.
Hoàng Thanh Hùng – ĐT9 -K52 Trang 20
Đồ án tốt nghiệp đại học Phòng chống tấn công từ chối dịch vụ
1.3.2 Tấn công kiểu SYN flood
Phá hoại dựa trên tính giới hạn hoặc không thể phục hồi của tài nguyên mạng thông
qua kết nối. Lợi dụng cách thức hoạt động của kết nối TCP/IP, attacker bắt đầu quá trình
thiết lập một kết nối TPC/IP tới mục tiêu muốn tấn công mà không gửi trả gói tin ACK,
khiến cho mục tiêu luôn rơi vào trạng thái chờ (đợi gói tin ACK từ phía yêu cầu thiết lập
kết nối) và liên tục gửi gói tin SYN ACK để thiết lập kết nối.
Một cách khác là giả mạo địa chỉ IP nguồn của gói tin yêu cầu thiết lập kết nối SYN
và cũng như trường hợp trên, máy tính đích cũng rơi vào trạng thái chờ vì các gói tin
SYN ACK không thể đi đến đích do địa chỉ IP nguồn là không có thật. Kiểu tấn công

SYN flood được các attacker áp dụng để tấn công một hệ thống mạng có băng thông lớn
hơn hệ thống của attacker.
Hình Kiểu tấn công SYN Flood
Hoàng Thanh Hùng – ĐT9 -K52 Trang 21
Đồ án tốt nghiệp đại học Phòng chống tấn công từ chối dịch vụ
1.3.2 Tấn công kiểu UDP flood
Phá hoại dựa trên tính giới hạn không thể phục hồi của tài nguyên mạng, lợi dụng
chính tài nguyên của nạn nhân để thực hiện hành vi tấn công. Attacker gửi gói tin UDP
echo với địa chỉ IP nguồn là địa chỉ của cổng loopback của chính mục tiêu cần tấn công
hoặc của một máy tính khác cùng mạng.Với mục tiêu sử dụng cổng UDP echo (port 7) để
thiết lập việc gửi và nhận các gói tin echo trên 2 máy tính (hoặc là giữa mục tiêu với
chính nó nếu mục tiêu có cấu hình cổng loopback). Khiến cho 2 máy tính này dần dần sử
dụng hết băng thông của chúng, cản trở hoạt động chia sẻ tài nguyên của các máy tính
khác trong mạng.
1.3.3 Tấn công kiểu Land Attack
Phá hoại dựa trên tính giới hạn không thể phục hồi của tài nguyên mạng và lợi dụng
chính nguồn tài nguyên của nạn nhân để tấn công. Kiểu tấn công Land attack cũng tương
tự như kiểu tấn công SYN flood, nhưng attacker sử dụng chính địa chỉ IP của nạn nhân
làm địa chỉ IP nguồn trong các gói tin được gửi đi, đẩy mục tiếu vào vòng lặp vô hạn khi
cố gắng thiết lập kết nối với chính nó.
Hình Kiếu tấn công Land Attack
1.3.4 Tấn công kiểu Smurf
Hoàng Thanh Hùng – ĐT9 -K52 Trang 22
Đồ án tốt nghiệp đại học Phòng chống tấn công từ chối dịch vụ
Phá hoại dựa trên tính giới hạn hoặc không thể phục hồi của tài nguyên mạng sử
dụng các nguồn tài nguyên khác. Thủ phạm sinh ra cực nhiều giao tiếp ICMP (ping) tới
địa chỉ Broadcast của nhiều mạng với địa chỉ nguồn là mục tiêu cần tấn công.
Hình : Kiểu tấn công Smuft Attack
Khi máy A ping tới máy B thì máy B phải reply lại hoàn tất quá trình. Khi A ping
tới địa chỉ Broadcast của mạng nào đó thì toàn bộ các máy tính trong mạng đó sẽ Reply

lại. Nhưng khi thay đổi địa chỉ nguồn, thay địa chỉ nguồn là máy C và ping tới địa chỉ
Broadcast của một mạng nào đó, thì toàn bộ các máy tính trong mạng đó sẽ reply lại vào
máy C chứ không phải A và đó là tấn công Smurf. Kết quả đích tấn công sẽ phải chịu
nhận một đợt Reply gói ICMP cực lớn và làm cho mạng bị treo hoặc bị chậm lại không
có khả năng đáp ứng các dịch vụ khác. Quá trình này được khuếch đại khi có luồng ping
reply từ một mạng được kết nối với nhau.
Hoàng Thanh Hùng – ĐT9 -K52 Trang 23
Đồ án tốt nghiệp đại học Phòng chống tấn công từ chối dịch vụ
Hình Kiểu tấn công Smuft sử dụng bản tin ICMP làm tràn ngập các giao tiếp khác
Dạng tấn công Smurf sử dụng gói ICMP làm ngập các giao tiếp khác. Kiểu tấn công
này cần một hệ thống rất quan trọng, đó là mạng khuyếch đại. Attacker dùng địa chỉ của
máy tính cần tấn công bằng cách gửi gói tin ICMP echo cho toàn bộ mạng (broadcast).
Các máy tính trong mạng sẽ đồng loạt gửi gói tin ICMP reply cho máy tính mà attacker
muốn tấn công. Kết quả là máy tính này sẽ không thể xử lý kịp thời một lượng lớn thông
tin và dẫn tới bị treo máy.
1.3.5 Tấn công kiểu Tear Drop
Phá hoại dựa trên tính giới hạn hoặc không thể phục hồi của tài nguyên mạng sử
dụng các nguồn tài nguyên khác.
Trong mạng chuyển mạch gói, dữ liệu được chia thành nhiều gói tin nhỏ, mỗi gói tin
có một giá trị offset riêng và có thể truyền đi theo nhiều con đường khác nhau để tới đích.
Tại đích, nhờ vào giá trị offset của từng gói tin mà dữ liệu lại được kết hợp lại như ban
đầu. Lợi dụng điều này, attacker có thể tạo ra nhiều gói tin có giá trị offset trùng lặp nhau
Hoàng Thanh Hùng – ĐT9 -K52 Trang 24
Đồ án tốt nghiệp đại học Phòng chống tấn công từ chối dịch vụ
hoặc khó hiểu (giá trị offset khó hiểu trong phân đoạn thứ 2 hoặc cuối cùng)gửi đến mục
tiêu muốn tấn công. Kết quả là máy tính đích không thể sắp xếp được những gói tin này
và dẫn tới bị treo máy vì bị "vắt kiệt" khả năng xử lý.
Hình Kiểu tấn công Tear Drop
1.3.6 Tấn công kiểu Buffer Overflow
- Buffer Overflow xảy ra tại bất kỳ thời điểm nào có chương trình ghi lượng thông

tin lớn hơn dung lượng của bộ nhớ đệm trong bộ nhớ.
- Kẻ tấn công có thể ghi đè lên dữ liệu và điều khiển đường dẫn thực thi chương
trình và đánh cắp quyền điều khiển của chương trình nhằm thực thi các đoạn mã
nguy hiểm của người tấn công thay vì xử lý mã.
- Quá trình gửi một bức thư điện tử mà file đính kèm dài quá 256 kí tự có thể sẽ xảy
ra quá trình tràn bộ nhớ đệm.
CHƯƠNG 2
DISTRIBUTED DENIAL OF SERVICE (DDOS)
2.1 Định nghĩa tấn công DDoS
Là một dạng tấn công DoS, kẻ tấn công thực hiện hành vi tấn công của mình từ
nhiều máy tính mà hắn có thể kiểm soát tới cùng một đích. Như vậy các gói tin trong
Hoàng Thanh Hùng – ĐT9 -K52 Trang 25

×