Tải bản đầy đủ (.doc) (46 trang)

XÁC THỰC các THÀNH PHẦN TRONG hệ THỐNG PAC để CHỐNG lừa dối và lợi DỤNG

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 (942 KB, 46 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Nguyễn Thế Hùng

XÁC THỰC CÁC THÀNH PHẦN TRONG HỆ
THỐNG PAC ĐỂ CHỐNG LỪA DỐI VÀ LỢI DỤNG

KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Mạng truyền thơng

HA NOI-2010


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Nguyễn Thế Hùng

XÁC THỰC CÁC THÀNH PHẦN TRONG HỆ
THỐNG PAC ĐỂ CHỐNG LỪA DỐI VÀ LỢI DỤNG

KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Mạng truyền thơng

Cán bộ hướng dẫn: ThS. Đoàn Minh Phương

HA NOI-2010



Tóm tắt nội dung luận văn
Giao thức lan tỏa ngược là một cơ chế để phòng chống lại các cuộc tấn công DDoS
theo phương pháp phản ứng lại và kết hợp nhiều vị trí. Giao thức lan tỏa ngược được
nhóm tác giả (ĐHCN) công bố lần đầu tại Hội nghị Khoa học Cơng nghệ Thái Ngun
(2007). Sau đó tác giả Hồng Văn Qn (K49 ĐHCN) đã trình bày chi tiết mơ hình lý
thuyết và cài đặt thử nghiệm phần lõi của giao thức trong khóa luận tốt nghiệp đại học
(2008 - ĐHCN). Những phần cịn lại trong mơ hình lý thuyết vẫn chưa được phát triển. Vì
vậy, dưới sự định hướng của giáo viên hướng dẫn và sự trợ giúp của tác giả, tơi thực hiện
khóa luận tốt nghiệp này với mục đích hồn thiện đầy đủ các thành phần đã nêu trong mơ
hình lý thuyết của giao thức.


MỤC LỤC
Mở đầu: Tính cấp thiết của đề tài....................................................................................... 1
Chương 1: Tổng quan về DDoS.......................................................................................... 2
1.1. Tổng quan về tấn công DDoS.................................................................................. 2
1.1.1.

Khái niệm về DDoS.................................................................................... 2

1.1.2. Tổ chức mạng lưới DDoS.............................................................................. 3
1.1.2.1. Tuyển mộ mạng lưới Agent......................................................................... 3
1.1.2.2. Điều khiển mạng lưới Agents...................................................................... 5
1.1.3. Các loại tấn công DDoS
……………………………………………………..7
1.1.3.1. SYN flood attack:...................................................................................... 8
1.1.3.2. UDP Flood attack......................................................................................... 9
1.1.3.3. Smurf attack............................................................................................ 14
1.1.3.4. DNS Zone Transfer based Flooding......................................................... 10

1.1.3.5. Ping based attacks.................................................................................... 16
1.1.3.6. CGI attacks(Common Gateway Interface)............................................... 16
1.2. Tổng quan về phòng thủ DDoS............................................................................ 17
1.2.1. Tại sao DDoS khó giải quyết........................................................................ 17
1.2.2. Những thách thức khi xây dựng hệ thống phòng thủ DDoS.......................18
1.2.2.1. Về mặt kĩ thuật........................................................................................... 18
1.2.2.2. Về mặt xã hội............................................................................................. 19
1.2.3. Mục tiêu khi xây dựng hệ thống phòng thủ................................................. 20
1.2.4. Các hướng phòng thủ DDoS......................................................................... 21
1.2.4.1. Phòng ngừa và Phản ứng lại....................................................................... 21


1.2.4.2. Vị trí của hệ thống phịng thủ..................................................................... 17
Chương 2: Các nghiên cứu về phòng chống DDoS.......................................................... 25
2.1.

Giao thức AITF................................................................................................. 25

2.1.1.

Giới thiệu …..…...................................................................................... 25

2.1.2.

Tổng quan về giao thức AITF.................................................................... 25

2.1.3.

Cơ chế hoạt động AITF ........................................................................ 26


2.1.4.

nhận xét..................................................................................................... 27

2.2.

Hệ thống D-WARD............................................................................................ 27

2.2.1.

Mục tiêu.................................................................................................... 27

2.2.2.

Triển khai D-WARD................................................................................ 28

3.2.3.

Nhận xét.................................................................................................... 29

Chương 3: GIAO THỨC LAN TỎA NGƯỢC................................................................. 29
3.1. Giới thiệu về giao thức Lan tỏa ngược.................................................................... 29
3.1.1. Khái niệm chung............................................................................................ 29
3.1.2. Các thuật ngữ................................................................................................. 30
3.1.2.1. Bộ lọc (Filter)............................................................................................. 30
3.1.2.2. Router/Gateway......................................................................................... 30
3.1.2.3. Cơ chế “Lan tỏa ngược”............................................................................. 30
3.2. Cơ chế hoạt động.................................................................................................... 31
3.2.1. Bước 1: Khởi động......................................................................................... 31
3.2.2. Bước 2: Bắt đầu............................................................................................. 32

3.2.3. Bước 3: Kiểm tra giả mạo............................................................................. 32
3.2.4. Bước 4: Rút gọn............................................................................................. 32


3.2.5. Bước 5: Ngăn chặn........................................................................................ 33
3.2.6. Bước 6: Lan tỏa ngược.................................................................................. 34
3.3. Chống lừa dối......................................................................................................... 35
3.3.1. Nguy cơ........................................................................................................... 35
3.3.2. Giải pháp........................................................................................................ 35
3.4. Chống lợi dụng giao thức....................................................................................... 36
3.4.1. Nguy cơ........................................................................................................... 36
3.4.2. Giải pháp........................................................................................................ 36
3.5. Nhận xét................................................................................................................. 37
3.5.1. Ưu điểm.......................................................................................................... 37
3.5.2. Nhược điểm.................................................................................................... 37
Chương 4: Phát triển chức năng rút gọn và xác thực cho giao thức lan tỏa ngược............38
4.1. Rút gọn................................................................................................................... 38
4.1.1. Ý tưởng........................................................................................................... 38
4.1.2. Cách thức xác định địa chỉ IP của Agw...................................................... 38
4.1.3. Thực thi quá trình rút gọn............................................................................ 40
4.1.4.

Nhận xét.................................................................................................... 41

4.2. xác thực...............................................................................................................................35
4.2.1. Ý tưởng.......................................................................................................... 41
4.2.2. Thực thi quá trình xác thực........................................................................ 42
4.2.3. Kết luận........................................................................................................ 43
Kết Luận........................................................................................................................... 43



Mở đầu: Tính cấp thiết của đề tài
Sự bùng nổ về công nghệ thông tin và viễn thông kéo theo sự xuất hiện của nhiều
vấn đề nan giải liên quan đến mạng Internet. Tấn công DDoS là một trong những vấn đề
nóng hổi, ln thu hút được sự quan tâm của cộng đồng Internet. Trong những năm gần
đây, ngày càng có nhiều các cuộc tấn cơng DDoS với qui mơ lớn, gây ảnh hưởng nghiêm
trọng đến các tổ chức lớn như:
Vào ngày 15 tháng 8 năm 2003, Microsoft đã chịu đợt tấn cơng DDoS 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ờ.
Tháng 6 năm 2004, một cuộc tấn công DDoS đánh sập Akamail name server, khiến
khách hàng không thể truy cập đến server dịch vụ, bao gồm cả cơng cụ tìm kiếm phổ biến
Google và Yahoo, một tháng sau đó một cuộc tấn cơng khác làm tràn ngập Doubleclick
name server khiến các khách hàng của dịch vụ này tê liệt trong vòng 3 giờ.
Trên thế giới đã có nhiều nghiên cứu về phịng chống DDoS, nhưng thực sự tất cả
chỉ là những lý thuyết thử nghiệm, mới được triển khai qui mô nhỏ trong phịng thí
nghiệm, chưa được áp dụng rộng rãi. Tơi viết luận văn này nhằm mục đích đưa ra một cái
nhìn rõ ràng hơn về DDoS và giới thiệu một cách thức phòng chống DDoS-giao thức Lan
tỏa ngược, với những phần phát triển thêm vào.

1


Chương 1: Tổng quan về DDoS
1.1. Tổng quan về tấn công DDoS
1.1.1. Khái niệm về DDoS
Tấn công DoS (Denial of Service) là một hành động cố ý của những kẻ có ý định
xấu nhằm mục đích làm q tải tài nguyên mạng, khiến mạng mất khả năng phục vụ
những người dùng hợp lệ. Phương pháp tấn công DDoS chủ yếu thường là tấn công tràn

ngập mạng thông qua việc gửi số lượng lớn các gói tin đến nạn nhân, việc làm này tiêu
tốn tài nguyên mạng như băng thông, bộ đệm router, khả năng xử lý của cpu. Một vài
phương pháp tấn cơng DDoS phổ biến có thể nêu tên như: SYN flooding, UDP flooding,
DNS base flooding, ICMP direct broadcast, Ping flood attack. Dựa trên số lượng các máy
tính tham gia để tiến hành một cuộc tấn công, tấn công DoS có thể được chia làm hai loại:
kẻ tấn cơng sử dụng tất cả băng thơng sẵn có thơng qua việc tạo ra một số lượng lớn các
gói tin từ một máy tính, hay là trường hợp tấn cơng phân tán, khi rất nhiều máy tính kết
hợp với nhau cùng gửi các truy vấn đến nạn nhân cùng một thời điểm- hay còn gọi là
DDoS (distributed denial of sevice). Tấn cơng DDoS rất đa dạng, thường thì rất khó để
tìm ra đâu là kẻ tấn công thực sự mà chỉ dị ra được đến các máy tính bị lợi dụng, điều
khiển tham gia cuộc tấn cơng, do vậy rất khó để ngăn ngừa tấn công DDoS.
Những khái niệm sau đây thường đi với tấn công DDoS: victim, agent, handle,
attacker và stepping stone. Victim là nạn nhân của cuộc tấn công, hay còn gọi là máy
mục tiêu. Agent là những máy trực tiếp gửi gói tin tấn cơng tới nạn nhân. Attacker là kẻ
tấn công thực sự, Attacker ra lệnh cho các Handle, mỗi Handle này sẽ chịu trách nhiệm
điểu khiển một lượng Agent trực tiếp tấn công vào nạn nhân. Khi truy tìm ngược lại các
vết tấn cơng, thường chỉ có thể tìm ra các Agent – máy tính bị lợi dụng, chứ khó có thể
tìm ra kẻ điều khiển thực sự. Ngoài ra, trong 1 số hệ thống DDoS, Attacker có thể sử dụng
thêm một máy tính nữa dùng để điều khiển hệ thống từ xa, được gọi là stepping stone,
nhằm che giấu hành tung của mình.

2


Xét về mặt cấu trúc gói tin, từng thơng điệp gửi đến nạn nhân là hợp lệ. Mặt khác
các core router khi định tuyến chỉ quan tâm đến địa chỉ đích chứ khơng quan tâm đến địa
chỉ nguồn, nên nếu attacker giả mạo IP của Agent, sự phức tạp của việc xác định các
Agent cũng như các gói tin tấn cơng trở nên rất khó khăn.
1.1.2. Tổ chức mạng lưới DDoS
Tùy theo kế hoạch tấn cơng mà attacker có thể huy động 1 số lượng lớn các máy

tính gián tiếp hay trực tiếp tham gia. Việc này có thể làm thủ cơng, bán thủ cơng hoặc
hồn tồn tự động. Các attacker thường hay sử dụng công cụ phổ biến Trinoo và Shaft,
công cụ trên sẽ điều khiển những những tiến trình được cài đặt tự động tại các máy agents
để tấn công vào victim. Ngày nay attacker thường sử dụng những kịch bản tự động để cài
đặt những tiến trình ngầm vào các agents, hoặc thậm chí sử dụng những cơng cụ tự động
scan để dị tìm những lỗ hổng rồi lây nhiễm qua máy khác . Điều này đang ngày càng trở
lên nguy hiểm, bởi lẽ một khi đã có thể điều khiển 1 tiến trình trong máy Victim, thì
attacker có thể cài đặt virut, các phần mềm độc hại khác, ăn cắp dữ liệu,thông tin cá nhân,
tài khoản ngân hàng… chứ không chỉ đơn thuần nhằm tấn công DDoS nữa.
Có 3 bước thực hiện chung để tổ chức 1 mạng lưới DDoS: tuyển mộ mạng lưới
agent, điều khiển mạng botnet đó và thực hiện tấn cơng.
1.1.2.1. Tuyển mộ mạng lưới Agent
Muốn thành lập mạng botnet, attacker phải tìm kiếm được những máy tính dễ bị
lợi dụng (Vulnerable Machines). Q trình này được gọi là q trình thăm dị, attacker gửi
1 vài gói tin để thử xem những host nào có thể lợi dụng. Q trình thăm dị có thể thực
hiện dễ dàng thông qua một số công cụ có sẵn, hoặc thực hiện tự động với sâu hay virut
máy tính .
Một bot (khái niệm này xuất phát từ robot) là 1 chương trình máy khách được chạy
ẩn trên máy tính bị hại, gửi thơng báo cho attacker các thơng tin trạng thái của máy tính bị
lợi dụng và chờ đợi lệnh điều khiển từ attacker để phát hành tấn cơng. Các chương trình
bot ngày nay thậm chí cịn có khả năng tự động scan các máy trong cùng dải mạng để tìm
3


những máy tính có khả năng bị lợi dụng như mình rồi thơng báo cho attacker để mở rộng
mạng botnet.
Những chương trình có thể tự động dị tìm, tự động lây nhiễm đến các máy có khả
năng bị lợi dụng được gọi là Internet Worm. Do cơ chế có thể hoạt động độc lập xây dựng
mạng botnet nên Worm rất được các attacker ưa thích. Worm có 3 chức năng chính là: dị
qt để tìm kiếm các máy tính có khả năng lợi dụng, khai thác lỗi nhằm lây nhiễm, nhân

bản và cho phép điều khiển từ xa, cuối cùng là tải về kịch bản tấn công DDoS hoặc 1
chương trình thực thi, thậm chí cả viruts. Worm có khả năng sử dụng những cách thức
che giấu mình, biết lẩn tránh và disable chương trình antivirut . Trong lịch sử đã có
những con Worm lây nhiễm cho hàng trăm nghìn máy tính, làm thiệt hại hàng triệu USD
như MyDoom, Bagle, Slammer …
Ngày nay, với sự bùng nổ của các dịch vụ Web và các mạng chia sẻ ngang hàng,
Attacker đã có thêm nhiều cách thức khác nhau để thành lập được một mạng botnet lớn
một cách nhanh chóng. Theo cách này, Attacker thường khai thác những lỗi của phần
mềm, lợi dụng sự cả tin và những thói quen khơng an tồn của người sử dụng máy tính để
cài đặt 1 tiến trình trên máy tính, từ đó có thể từ xa tra lệnh cho máy tính tấn cơng Victim.
Điển hình ở Việt Nam đã có thời kì bùng nổ Virut, Trojan lan truyền qua Yahoo
Messenger. Kẻ tấn công đã lợi dụng 1 lỗi bảo mật trên trình duyệt Web Internet Explorer
để tạo 1 trang web, sao cho mỗi khi người dùng vào trang web đó là bị cài đặt 1 chương
trình chạy ngầm trên máy tính. Từ đó chương trình này tiếp tục quảng bá nó, dụ dỗ người
khác vào website kia bằng cách gửi tin nhắn chứa link đến tất cả bạn bè của người bị hại
qua phần mềm Yahoo Messenger, đặt status có chứa link đến trang web… Mỗi khi sử
dụng YM trên máy bị nhiễm, thì hàng chục, hàng trăm bạn bè trong friend list đều được
‘giới thiệu’ đến Website độc hại đó. Và vì tin tưởng lẫn nhau, chỉ cần 1 người bạn lỡ dùng
IE mở website ấy lên là chương trình được nhân bản, và nó tiếp tục quảng bá đến hàng
chục, hàng trăm người khác. Chương trình ấy lây lan nhanh đến mức cơ quan quản lý dịch
vụ Yahoo Messenger Việt Nam đã phải chặn tất cả các tin nhắn offline có chứa link lạ
trong đó.

4


1.1.2.2. Điều khiển mạng lưới Agents
Khi mạng lưới các Agents đã trở lên rộng lớn, có thể lên tới hàng chục, hàng trăm
nghìn nên rất khó để Attacker liên lạc với từng agent, để điều khiền Agents, Attacker
thường sử dụng các cơng cụ kết nối “nhiều – nhiều”. Có 2 mục đích của việc làm này:

1 – Attacker ra lệnh rõ ràng, mạch lạc hơn
2 – Attacker dễ dàng thu thập được thông tin, hành vi của các Agents
Những công cụ tạo mạng lưới Agents trước đây như Trinoo, Tribe Flood Network
(TFN), và Shaft chỉ có thể tạo mạng botnet với vài trăm hoặc vài nghìn Agents. Nhưng
ngày nay số lượng 1 mạng botnet đã tăng lên rất lớn, điển hình là mạng Phatbot đã có đến
400.000 host.
Có một số cách thơng dụng để Attacker có thể điều khiển mạng botnet của mình:
Ra lệnh trực tiếp
Một số cơng cụ như Trinoo xây dựng 1 mạng gồm 2 thành phần là handler và
agents. Attacker sẽ điều khiển mạng qua handler, còn handler sẽ gửi lệnh đó đến nhiều
agents (đơi khi sử dụng 1 bộ lệnh khác với attacker đã dùng) để chúng trực tiếp tấn cơng
Victim.

(hình 1: ra lệnh tấn cơng)

5


Trong thời kì đầu, những chương trình điều khiển theo cách này thì khơng mã hóa
khi truyền thơng tin điều khiển hay có bất cứ authentication nào giữa Attacker – Handlers
và giữa Handler – Agents cả. Vì thế các Handler dễ bị phát hiện, thậm chí có thể bị 1
attacker khác lợi dụng. Những công cụ ngày nay đã cho phép mã hóa trên kênh truyền
lệnh giữa Attacker và Handler, hoặc yêu cầu password để điều khiển các Agents (ví dụ
như Stacheldraht)
Ra lệnh gián tiếp
Phương pháp ra lệnh trực tiếp có 1 số nhược điểm đối với Attacker. Handlers cần
phải lưu trữ những định nghĩa về các Agents, và đôi khi, chính những Agents cũng lưu
những giá trị để xác định Handler. Vì thế phương pháp ra lệnh trực tiếp thường tạo ra
nhiều hiện tượng bất thường trên mạng (ví dụ máy tính đột nhiên mở nhiều cổng lạ chờ
kết nối, Web server lại tự khởi tạo liên lạc với nhiều IP ngồi…), khiến cho người quản trị

nhanh chóng phát hiện ra dấu vết. Trong phương pháp ra lệnh trực tiếp thì Handler và
Agent ln ln phải ở trạng thái sẵn sàng đợi lệnh. Dù khơng có thơng điệp nào truyền
tải giữa Attacker với Handler, giữa Handler với Agent thì người quản trị vẫn có thể phát
hiện ra có những tiến trình ngầm hoạt động trong máy tính, mở những cổng lạ để chờ đợi
lệnh điều khiển. Vì thế, Attacker cần phải viết trước những đoạn code để lập kịch bản
trước, tránh để cho các quản trị viên phát hiện ra.
Điển hình của phương pháp ra lệnh gián tiếp này là việc sử dụng hệ thống Internet
Relay Chat (IRC) để điều khiển 1 số lượng lớn Agents. Hai chương trình nổi tiếng đã
được sử dụng là Kaiten bot trên Unix và Power bot trên Windows. Đầu tiên, cả Attacker
và Agent (bot) đều kết nối tới 1 IRC Server như là 1 IRC Client bình thường. Tới khi hầu
hết các sites đều chấp nhận các kênh IRC cho người dùng, thì những giao tiếp DDoS đều
chưa tạo bất cứ 1 hiện tượng bất thường nào. Vai trò của Attacker chỉ được thể hiện như
là 1 kênh truyền bình thường tới IRC Server, và được bảo vệ bởi password. Có những
đoạn code chuẩn định nghĩa về kênh truyền mặc định ở trong các bot, đầu tiên nó sẽ học

6


kênh điều khiển hiện tại ở đâu, bot sẽ nhảy sang kênh đó, và có thể nhận các lệnh điều
khiển từ Attacker thơng qua IRC Server.

(hình 2: mơ hình IRC)
Trong trường hợp này, khơng có Handler chắn giữa Attacker và Agents, vì thế
Attacker thường sử dụng 1 máy khác, được gọi là Stepping Stone để che giấu tung tích
của mình với IRC Server, và để đề phòng khi các cơ quan an ninh điều tra.
1.1.3. Các loại tấn công DDoS
Một cuộc tấn cơng DDoS có thể tiêu tốn hồn tồn băng thơng mạng, bộ đệm gói tin
trên router, làm tê liệt khả năng xử lý cpu, ram của nạn nhân. Tôi sẽ tập trung chủ yếu vào
cách tấn công làm tràn ngập băng thông mạng và thảo luận về cách hoạt động của một
packet flood (gói tin gửi bởi kẻ tấn công).


7


1.1.3.1. SYN flood attack:
Loại tấn công này sử dụng cơ chế của giao thức TCP, là loại tấn công chủ yếu để
làm tràn ngập băng thông của nạn nhân. Một kết nối TCP được hình thành sử dụng cơ chế
bắt tay 3 bước. đầu tiên một gói tin SYN với địa chỉ nguồn giả yêu cầu được gửi từ host
của kẻ tấn công đến nạn nhân. Nạn nhân tiếp nhận yêu cầu là một SYN-ACK, truy cập
cấu trúc dữ liệu cho kết nối, và lưu trữ thông tin cần thiết cho kết nối vào hàng đợi, chờ kẻ
tấn công gửi gói tin yêu cầu SYN-ACK ở trên. Khi thực hiện xong điều này, hàng đợi xóa
thơng tin kết nối, kết nối được thành lập. Nhưng nếu địa chỉ nguồn là địa chỉ giả mạo,
bước thứ 3 của quá trình bắt tay 3 bước ở trên khơng bao giờ được hồn thành. Do vậy,
thông tin cần thiết cho việc kết nối được lưu trữ trong hàng đợi cho đến hết một khoảng
thời gian mặc định được thiết lập rồi mới bị loại bỏ. Mỗi server chỉ có một số lượng hạn
chế bộ nhớ, do vậy sẽ hạn chế số lượng các kết nối chờ cho tới khi kết nối được thiết lập ,
một kẻ tấn cơng gửi tói tin SYN-REQUEST sử dụng địa chỉ nguồn ảo với một tốc độ cao
có thể khiến hàng đợi kết nối quá tải, do vậy ngăn cản những người dùng hợp lệ yêu cầu
dịch vụ của server.

(hình 3: SYN food attack)

8


1.1.3.2. UDP Flood attack
Khác với giao thức hướng kết nối TCP, UDP là giao thức không hướng kết nối. yếu
tố này có thể được kẻ tấn cơng lợi dụng để gửi một số lượng lớn luồng dữ liệu với địa chỉ
giả mạo tới một cổng sever nạn nhân. Server nạn nhân xử lý các gói tin này và sớm nhận
ra rằng đó khơng phải là u cầu cho một dịch vụ cụ thể. Vì vậy cpu của server nạn nhân

tốn hiệu năng vơ ích vào việc xử lý những u cầu này. Với việc gửi một số lượng lớn các
luồng dữ liệu giả mạo như vậy, kẻ tấn cơng có thể khiến cpu của server nạn nhân quá tải ,
hơn nữa UDP khơng có cơ chế điều khiển tắc nghẽn, nó sẽ có xu hướng cắt bớt băng
thơng khi tốc độ gửi các gói tin tăng nhanh và có thể ép những người dùng hợp lệ sử dụng
giao thức TCP(có cơ chế điều khiển tắc nghẽn) phải hạ thấp tốc độ gửi gói tin, gây ra sự
mất cân bằng trong phân phối dịch vụ.
1.1.3.3. Smurf attack
Kẻ tấn cơng gửi gói tin ping ICMP đến địa chỉ broadcast của mạng, điều này khiến
tất cả những host trong mạng phải gửi gói tin ICMP đáp lại, việc này thường tạo ra một
lượng lớn các luồng dữ liệu và có xu hướng tiêu tốn nhiều băng thơng mạng.

.
(Hình 4: smurf attack)

9


1.1.3.4. DNS Zone Transfer based Flooding
Một Zone Transfer(vùng chuyển đổi ) yêu cầu thông tin về tên server (Name
Server) của tất cả các vùng còn lại. Cách này thường được sử dụng khi một server khác tự
cập nhật thông tin bằng cách gửi yêu cầu đến server chính. Khi kẻ tấn công gửi những yêu
cập lập đi lặp lại đến name server có thể gây ra sự tiêu tốn băng thơng mạng rất lớn vì
luồng dữ liệu cho mỗi u cầu là khá lớn.

(hình 5: DNS zone transfer)

10


1.1.3.5. Ping based attacks

Hay còn gọi là Ping of death hay “Long ICMP” khi mà host tấn công gửi một lượng
lớn các gói tin ICMP đến server nạn nhân. Những kẻ tấn cơng thường sử dụng các gói tin
có độ dài lớn hơn 65536 bytes, độ dài lớn nhất của gói tin được quản lý bởi giao thức
TCP. Cách tấn công này ảnh hưởng đến cả khả năng xử lý của cpu và băng thơng mạng.

(hình 6: Ping base attack)
1.1.3.6. CGI attacks(Common Gateway Interface)
Cpu luôn tốn rất nhiều thời gian để xử lý các kịch bản CGI, vì vậy khi kẻ tấn công
gửi một số lượng lớn các kịch bản CGI đến server nạn nhân có thể làm chậm khả năng xử
lý của server.

11


Tất cả những cách tấn công trên đều nhằm mục đích làm giảm chức năng của hệ
thống mạng và có thể dẫn đến đánh sập hệ thống, làm hệ thống khơng có khả năng hoạt
động. Những cuộc tấn cơng DDoS có thể phân tán, rải rác, khiễn cho việc xác định kẻ tấn
cơng là rất khó khăn, cần phải hiểu về hành vi, hoạt động của các luồng dữ liệu trong hệ
thống mạng để từ đó phát hiện sớm và có những biện pháp hiệu quả để ngăn chặn tấn
cơng DDoS.
1.2. Tổng quan về phòng thủ DDoS
1.2.1. Tại sao DDoS khó giải quyết
Có 2 hướng để thực hiện tấn cơng DDoS: đó là nhằm vào điểm yếu (vulnerability
attack) và làm ngập mạng (flooding attack). Do có 1 số đặc tính về kĩ thuật như sau làm
khó giải quyết được triệt để các cuộc tấn công DDoS:
- Sự đơn giản: Một người sử dụng máy tính bình thường khơng rành về mạng cũng
có thể thực hiện 1 cuộc tấn cơng DDoS. Bởi vì đã có sẵn rất nhiều cơng cụ DDoS trên
mạng và cả hướng dẫn sử dụng rất chi tiết để thực hiện.
- Sự đa dạng của các gói tin tấn công: Sự giống nhau giữa các traffic tấn công và
các traffic hợp lệ làm quản trị viên khó có thể phân biệt được. Khác với các nguy cơ bảo

mật như virut, worm, adware… cần phải có những gói tin mánh khóe, mẹo mực lợi dụng
vào lỗ hổng, nhưng flood attack chỉ cần lưu lượng lớn traffic và header cũng như nội dung
packet đều có thể tùy ý theo Attacker
- Sự giả mạo IP làm cho các luồng dữ liệu tấn công từ agents đến như là từ những
người dùng hợp lệ. Vì thế quản trị viên rất khó phân biệt để có thể phát hiện các cuộc tấn
cơng.
- Lượng traffic lớn, gửi với tần suất cao: Lượng traffic khổng lồ mà DDoS tạo ra
không chỉ làm ngập tài nguyên của Victim, mà cịn làm quản trị viên rất khó mơ tả, phân
tích và tách biệt được packet hợp lệ và packet tấn công chúng.

12


- Số lượng lớn các Agents: Một trong những điểm mạnh của tấn cơng DDoS là có
thể huy động được 1 số lượng lớn Agent phân tán trên toàn Internet. Khi đó, luồng tấn
cơng sẽ lan tỏa trên nhiều nhánh tới Victim, điểm tụ tấn công sẽ gần sát nạn nhân, và hệ
thống phịng thủ sẽ rất khó có thể chống từ phía xa. Ngồi ra, hệ thống Agent phân tán
cũng đồng nghĩa với sự phức tạp, phong phú, khác biệt về mơ hình quản lý mạng giữa các
ISP khác nhau, vì thế các cơ cơ chế phịng thủ u cầu sự phối hợp từ nhiều nơi sẽ triển
khai khó khăn hơn rất nhiều.
- Những điểm yếu trên mơ hình mạng Internet: Có những cơ chế, giao thức mạng
mà khi thiết kế chưa lường trước được những điểm yếu có thể bị lợi dụng (ví dụ TCP
SYN, ping of Death, LAND Attack…). Đôi khi là lỗi của nhà quản trị khi cấu hình các
policy mạng chưa hợp lý.
1.2.2. Những thách thức khi xây dựng hệ thống phòng thủ DDoS
Do những tính chất phức tạp của DDoS như đã trình bày ở trên, nên xây dựng 1 hệ
thống phòng thủ DDoS là khơng đơn giản. Để làm được điều đó cần xử lý được cả trên 2
lĩnh vực: kĩ thuật và xã hội.
1.2.2.1. Về mặt kĩ thuật
- Xử lý phân tán từ nhiều điểm trên Internet: Vì các luồng tấn cơng xảy ra từ

nhiều nguồn khác nhau, đi qua toàn mạng Internet trong khi thường chỉ có một mình
Victim với ít thiết bị, quyền hạn, khả năng xử lý hạn chế nên không thể đạt được hiệu quả
cao. Sự tấn công phân tán thì cần sự phịng thủ phân tán thì mới giải quyết triệt để được.
- Thiếu thông tin chi tiết về các cuộc tấn cơng thực tế: Có khơng nhiều thông tin
về tác hại của DDoS gây lên cho các doanh nghiệp, nó thường chỉ có khi tác hại của nó là
rõ ràng và doanh nghiệp khơng thể tự xử lý được mà phải báo lên chính quyền. Vì thế lại
càng ít các thơng tin chi tiết, như là bản log các traffic, sơ đồ mạng chi tiết của doanh
nghiệp.

13


- Khó thử nghiệm trên thực tế: Những hệ thống thử nghiệm DDoS ở phịng thí
nghiệm khơng thể phản ánh đúng thực tế rộng lớn, phong phú trên mạng Internet được.
Trong khi đó nếu muốn triển khai để thử nghiệm thật qua Internet thì các điều luật khơng
cho phép, vì tấn công DDoS không chỉ ảnh hưởng đến Victim, mà còn liên quan đến rất
nhiều các thành phần khác như router, switch… của ISP quản lý ở phần lõi Mạng. Cịn
nếu thử nghiệm ln trên 1 hệ thống thật đang bị tấn cơng thì lại thiếu thơng tin cần đo
đạc ở Agent, Handler, Attacker…
- Chưa có chuẩn đánh giá các hệ thống phịng thủ: Có nhiều vendor đã cơng bố
rằng giải pháp của họ có thể giải quết được DDoS. Nhưng hiện tại chưa có 1 lộ trình
chuẩn nào để kiểm thử các hệ thống phịng thủ DDoS. Từ đó dẫn đến 2 vấn đề: thứ nhất là
những người phát triển hệ thống phịng thủ tự test chính họ, do đó những thiết kế sẽ ln
phù hợp nhất để hệ thống đó hoạt động thuận lợi. Thứ hai là những nghiên cứu về DDoS
không thể so sánh hiệu suất thực tế của các hệ thống phòng thủ khác nhau, thay vào đó,
họ chỉ có thể nhận xét về từng giải pháp trên môi trường thử nghiệm mà thôi.
1.2.2.2. Về mặt xã hội
Một thử thách lớn khi muốn giải quyết triệt để vấn nạn tấn công DDoS là về yếu tố
Xã hội. Có rất nhiều điều luật về an ninh, bảo mật của nhiều đất nước, nhiều ISP khác
nhau mà người triển khai khó có thể thỏa mãn tất cả để thực hiện hệ thống phịng thủ của

mình. Ví dụ ISP khơng cho bạn sơ đồ chi tiết cấu hình Mạng, khơng cho phép bạn tự do
cài đặt chương trình trên các router của họ… Đối với các nạn nhân của DDoS, thơng
thường là các doanh nghiệp, thì việc đầu tiên là họ sẽ cố gắng tự mình giải quyết, nếu
thành cơng thì sẽ giấu kín, khơng cơng bố cho bên ngồi là mình đang bị tấn cơng vì lo
ngại ảnh hưởng đến danh tiếng của công ty. Chỉ khi nào dịch vụ của họ bị chết hẳn, không
thể tự cứu thì mới liên hệ với các ISP và chính quyền.
Một vấn đề khác là đôi khi cần phải sửa đổi một số điểm yếu của các kiến trúc
mạng để giảm tác hại của DDoS, ví dụ như giao thức TCP, IP, HTTP… Nhưng không dễ

14



×