PHÒNG CHỐNG TẤN CÔNG TỪ CHỐI DỊCH VỤ PHÂN TÁN VÀO CÁC WEBSITE - Pdf 32

1
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Phạm Xuân Bách
PHÒNG CHỐNG TẤN CÔNG TỪ CHỐI DỊCH VỤ
PHÂN TÁN VÀO CÁC WEBSITE
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin
HÀ NỘI - 2010
2
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Phạm Xuân Bách
PHÒNG CHỐNG TẤN CÔNG TỪ CHỐI DỊCH VỤ
PHÂN TÁN VÀO CÁC WEBSITE
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Công nghệ thông tin
Cán bộ hướng dẫn: TS. Nguyễn Đại Thọ
HÀ NỘI - 2010
LỜI CẢM ƠN
Lời đầu tiên em xin bày tỏ lòng biết ơn sâu sắc đến thầy giáo TS. Nguyễn Đại Thọ
đã hướng dẫn chỉ bảo em rất tận tình trong suốt năm học vừa qua.
Em xin bày tỏ lòng biết ơn đến các thầy cô giáo trong khoa Công nghệ thông tin,
trường Đại học Công nghệ, Đại học Quốc gia Hà Nội. Các thầy cô đã dạy bảo, chỉ dẫn
em trong suốt bốn năm học tại trường Đại học Công nghệ, tạo điều kiện tốt nhất giúp
em hoàn thành khóa luận tốt nghiệp.
Tôi xin cảm ơn các bạn sinh viên K51 trường Đại học Công nghệ, đặc biệt là các
bạn sinh viên lớp K51CA và K51MMT cùng các thành viên cùng phòng 202B kí túc xá

ii
MỤC LỤC
LỜI CẢM ƠN.............................................................................................. i
TÓM TẮT.................................................................................................... ii
MỤC LỤC................................................................................................... iii
MỞ ĐẦU..................................................................................................... 1
Chương 1: CÁC CÁCH THỨC TẤN CÔNG TỪ CHỐI DỊCH VỤ.......... 3
1.1 Thiết lập nên mạng Agent................................................................ 3
1.1.1 Tìm kiếm các máy dễ bị tổn thương........................................ 3
1.1.2 Đột nhập vào máy dễ bị tổn thương......................................... 3
1.1.3 Phương pháp lây truyền .......................................................... 4
1.2 Điều khiển mạng lưới máy Agent.................................................... 5
1.2.1 Gửi lệnh trực tiếp..................................................................... 5
1.2.2 Gửi lệnh gián tiếp..................................................................... 5
1.2.3 Unwitting Agent....................................................................... 6
1.2.4 Thực hiện tấn công................................................................... 7
1.3 Các cách thức tấn công từ chối dịch vụ............................................ 8
1.3.1 Khai thác các điểm yếu của mục tiêu....................................... 8
1.3.2 Tấn công vào giao thức............................................................ 8
1.3.3 Tấn công vào Middleware........................................................ 10
1.3.4 Tấn công vào ứng dụng............................................................ 10
1.3.5 Tấn công vào tài nguyên.......................................................... 11
1.3.6 Pure Flooding........................................................................... 11
1.4 IP Spoofing....................................................................................... 12
1.5 Xu hướng của DoS........................................................................... 13
iii
Chương 2: CÁC BIỆN PHÁP PHÒNG CHỐNG TRUYỀN THỐNG...... 14
2.1 Biện pháp pushback.......................................................................... 14
2.2 Biện pháp Traceback........................................................................ 15
2.3 Biện pháp D-WARD........................................................................ 18

4.3.3.2.2 Với chương trình cải tiến........................................... 44
4.4.4 Đánh giá hiệu năng của chương trình cải tiến........................ 46
Chương 5: KẾT LUẬN............................................................................... 50
5.1 Các kết quả đã đạt được................................................................... 50
5.2 Các kết quả hướng tới....................................................................... 50
TÀI LIỆU THAM KHẢO........................................................................... 52
v
MỞ ĐẦU
Tấn công từ chối dịch vụ (Dos, 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. Một
nghiên cứu tại UCSD [23] đã chỉ ra rằng ngay từ đầu thập niên này các cuộc tấn công từ
chối dịch vụ đã diễn ra với một tỷ lệ lên tới 4000 cuộc tấn công mỗi tuần. Trong năm
2002, một cuộc tấn công từ chối dịch vụ [22] đã làm sập tới 9 trong số 13 máy chủ DNS
root của toàn thế giới. Mức độ ảnh hưởng nghiêm trọng của các cuộc tấn công từ chối
dịch vụ, mà đặc biệt được nhắc đến nhiều nhất là tấn công từ chối dịch vụ phân tán
DDoS, đã dẫn đến một loạt các nghiên cứu nhằm hiểu rõ hơn về các cơ chế tấn công, để
đưa tới các cách thức giúp có thể phòng chống ảnh hưởng tiêu cực của nó. 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ụ. Song các phương pháp chỉ có thể bảo vệ lại từng khía cạnh của
tấn công từ chối dịch vụ. Khóa luận của tôi trình bày một phương pháp phòng chống tấn
công từ chối dịch vụ phân tán rất hiệu quả và toàn diện hơn thế. Đó là việc áp dụng kiến
trúc mạng bao phủ, để bảo vệ mục tiêu khỏi sự tiếp cận của kẻ tấn công. Dựa trên kiến
trúc mạng bao phủ, có một số đề xuất được đưa ra đó là kiến trúc SOS và WebSOS.

thông số về độ trễ truy vấn thực hiện qua mô hình các kiến trúc này.
Chương 5: Kết luận tổng kết lại các kết quả đã đạt được, cùng với các kết quả mà
nghiên cứu khóa luận hướng tới nhằm hoàn thiện mô hình để hướng tới mục tiêu có thể
triển khai thực hiện.
2
Chương 1: CÁC CÁCH THỨC TẤN CÔNG TỪ
CHỐI DỊCH VỤ
Một cuộc tấn công DDoS cần phải được chuẩn bị kỹ lưỡng bởi kẻ tấn công. Trước
tiên là bước chiếm dụng các máy khác làm lực lượng cho bản thân. Việc này được thực
hiện bằng cách tìm máy dễ bị tổn thương, sau đó đột nhập vào chúng, và cài đặt mã tấn
công. Tiếp theo đó, kẻ tấn công thiết lập các kênh giao tiếp giữa các máy, để chúng có
thể được kiểm soát và tham gia cuộc tấn công một cách có phối hợp. Việc này được
thực hiện bằng cách sử dụng một kiến trúc handler/agent hoặc một điều khiển và kênh
điều khiển thông qua mạng IRC. Một khi các mạng DDoS được xây dựng, nó có thể
được sử dụng để tấn công nhiều lần, chống lại các mục tiêu khác nhau.
1.1 Thiết lập nên mạng Agent.
Tùy vào mỗi kiểu tấn công từ chối dịch vụ, kẻ tấn công cần tìm kiếm và thiết lập
cho mình một mạng lưới lớn các máy tính để dùng cho việc tấn công. Việc này có thể
thực hiện thủ công, bán tự động hoặc là tự động hoàn toàn. Trong các trường hợp của
hai DDoS công cụ nổi tiếng trước đây, trinoo và Shaft, chỉ quá trình cài đặt được tự
động, trong khi phát hiện và chiếm dụng các máy dễ bị tổn thương được thực hiện một
cách thủ công. Hiện nay, những kẻ tấn công thường sử dụng script để tự động hóa toàn
bộ quá trình.
1.1.1 Tìm kiếm các máy dễ bị tổn thương
Quá trình tìm kiếm dễ bị tổn thương được gọi là quét - scanning. Kẻ tấn công sẽ gửi một
gói vài mục tiêu lựa chọn để xem liệu nó có còn sống và dễ bị tổn thương. Nếu nhận
thấy máy phù hợp, những kẻ tấn công sẽ cố gắng đột nhập vào máy.
1.1.2 Đột nhập vào máy dễ bị tổn thương
Kẻ tấn công cần phải khai thác một lỗ hổng trong máy mà hắn đang có ý định
tuyển dụng để được truy cập vào và “sở hữu” chúng. Phần lớn các lỗ hổng bảo mật cung

mang công cụ của mình từ một máy chủ lưu trữ ban đầu bị tổn hại đến máy chủ để
chiếm dụng máy mới, cứ như vậy thành một chuỗi nối tiếp.
Cuối cùng, phương pháp chủ động, push, hay lan truyền thẳng kết hợp giữa việc
khai thác và lây truyền trong cùng một tiến trình. Điểm khác biệt so với back-chaining
đó là trong ngay chính tiến trình khai thác đã chứa các mã độc để lan truyền đến máy bị
tốn hại, chứ không phải là copy mã độc đó sau khi đã chiếm dụng các máy tổn hại.
1.2 Điều khiển mạng lưới máy Agent
4
Khi mạng lưới các agent lớn dần, kẻ tấn công cần giao tiếp với các máy này để
điều khiển chúng cho hoạt động tấn công. Mục đích của việc giao tiếp này nhằm giúp kẻ
tấn công có thế đưa ra lệnh bắt đầu/ kết thúc các cuộc tấn công cụ thể cũng như giúp
hắn có thể lấy những số liệu cụ thể về hành vi của các máy agent.
1.2.1 Gửi lệnh trực tiếp
[17] Một số các công cụ DDoS như trinoo xây dựng một mạng lưới handler/agent.
Đây là kiến trúc các lớp bao phủ giúp kẻ tấn công có thể che giấu định danh của bản
thân. Hắn sẽ sử dụng một, hoặc một vài máy để chuyển các lệnh điều khiển mạng DDoS
đến các máy nạn nhân – agents. Các máy này được gọi là các handler, hay master. Các
câu lệnh có thể là các văn bản không được mã hóa, hay được mã hóa, hoặc các chuỗi
byte nhị phân. Phân tích lệnh và điều khiển giao thông giữa các handler và các agent có
thể cho cái nhìn sâu sắc khả năng của những công cụ mà không cần phải truy cập vào
các phần mềm độc hại hay mã nguồn của nó.
Để các handler và agent, theo các công cụ như trinoo, Stacheldraht, và Shaft có thể
hoạt động, các handler phải biết địa chỉ của các agent và nhớ được chúng sau khi hệ
thống hoặc chương trình khởi động lại. Các công cụ DDoS trước đây thường mã hóa
chúng lại, rồi gửi thông báo với handler trong khi chiếm dụng máy agent. Các handler sẽ
lưu giữ chúng trong một file để duy trì thông tin về mạng lưới DDoS. Trong vài trường
hợp các handler còn không chứa cơ chế xác thực, nghĩa là bất kì máy nào cũng có thể
gửi lệnh đến cho handler. Các nghiên cứu trước đây về một số công cụ như trinoo, TFN,
Stacheldraht, Shaft, và mstream đều cho thấy các handler và agent đều có thể bị phát
hiện và điều khiển lại. Điều này khiến một số kẻ tấn công có thể sử dụng mạng lưới

bởi người khác, còn kẻ tấn công chỉ cần một kênh thông tin của server trong hàng ngàn
kênh chat khác, nên sẽ rất khó để phát hiện, dù cho là nó có thể trở thành một kênh khác
lạ khi có tới hàng ngàn, chục ngàn người đột nhiên tham gia chỉ trong vài phút. Thậm
chí khi bị phát hiện thì cũng cần phải tiếp xúc được với người quản lý server mới có thể
dừng kênh truyền, trong khi server IRC rất có thể lại là một server nước ngoài nào đó.
Hơn nữa, theo cơ chế phân tán của IRC, không cần tất cả các client phải truy cập vào
cùng một server IRC mới có thể tham gia vào kênh handler, mà chỉ cần truy cập vào một
server trong cùng mạng. Hầu hết các công cụ xuất hiện sau Trinity đều lợi dụng cơ chế
truyền thông này.
1.2.3 Unwitting Agent
[17] Ngoài ra còn có một lớp của các cuộc tấn công DDoS với lực lượng tham gia
là các máy tính có lỗ hổng bảo mật mà việc khai thác không nhất thiết đòi hỏi phải cài
đặt bất kỳ phần mềm độc hại trên máy tính này, nhưng, thay vào đó cho phép kẻ tấn
công kiểm soát các máy chủ để làm cho chúng tạo ra các giao thông tấn công. Kẻ tấn
6
công tập hợp một danh sách các hệ thống dễ bị tổn thương và, tại thời điểm vụ tấn công,
có các agent thông qua danh sách này gửi các lệnh để bắt đầu khai thác các luồng giao
thông. Các lưu lượng truy cập tạo ra là hợp pháp. Ví dụ, kẻ tấn công có thể lợi dụng một
lỗ hổng hiện nay tại một máy chủ Web để làm nó để chạy chương trình PING.EXE.
Một số nhà nghiên cứu đã gọi là các unwitting agent.
Sử dụng các unwitting agent, thay vì phải cài đặt mã độc trên máy nạn nhân, kẻ tấn
công sử dụng các lỗ hổng bảo mật để thâm nhập vào máy và chạy các phần mềm hợp
pháp sẵn có trên hệ thống, vì vậy việc chống trả lại hành động tấn công này trở nên rất
khó và phức tạp. Do trên máy nạn nhân không chứa mã độc hại, nên các chương trình
quét cổng truy cập, quét file hệ thống, hoặc quét virus không thể phát hiện.Thường chỉ
có thể phát hiện thông qua việc giám sát lưu lượng mạng, các chương trình quét lỗ hổng
bảo mật như Nessus. Và chỉ có cách vá các lỗi bảo mật mới giúp việc bị lạm dụng máy
và các phần mềm hợp pháp trong máy được hạn chế, giảm thiểu nguy cơ bị chiếm dụng
máy làm agent cho cuộc tấn công.
1.2.4 Thực hiện tấn công

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 hạt
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ể đượ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.3.2 Tấn công vào giao thức
[17][18]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
8
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 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.3.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 middle ware, 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
10
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.3.5 Tấn công vào tài nguyên
Những kẻ tấn công có thể nhắm mục tiêu một tài nguyên cụ thể như chu kỳ CPU
hoặc khả năng chuyển đổi router. Trong tháng 1 năm 2001, Microsoft phải chịu một lỗi

1.4 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:
- 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 cả.
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,

node trong mạng.
Nhiều nghiên cứu đã cố gắng tiếp cận để giải quyết bài toán con nhỏ hơn của vấn
đề phức tạp này. Do tính chất nhạy cảm của dữ liệu trong mạng và sự phức tạp của hiện
tượng này, thật khó để hiểu một cách đầy đủ ảnh hưởng của DDoS. Nhiều nguyên mẫu
được kiểm tra trong các môi trường phòng thí nghiệm mà không có nền hay giao thông
hoạt động. Một số ý tưởng cho rằng giao thông tấn công chủ yếu là giả mạo, và điều này
rõ ràng là sai lầm, và những người khác cho rằng kiến thức nhất định về topology của
mạng, hoặc truy cập vào cơ sở dữ liệu có thể nhận biết được lưu lượng truy cập là
DDoS hay không. Những người khác yêu cầu sửa đổi đáng kể về cơ sở hạ tầng Internet,
điều có thể làm cho nó trở thành không tương thích với các giao thức hiện tại và các ứng
dụng của khách hàng, hoặc là không thực tế về kỹ thuật, chính sách, hoặc lý do chính
trị.
Chương 2 này sẽ thảo luận về một số phương pháp tiếp cận nghiên nghiên cứu đã
được thực hiện và triển khai.
2.1 Biện pháp pushback
Pushback, đề xuất của Mahajan [19] vào tháng 7 năm 2002 , nổi lên từ các cuộc
thảo luận trong nhóm nghiên cứu DDoS tại hội thảo DSIT, Trung tâm Điều phối CERT.
Ý tưởng, lấy từ thực tế, là nhà quản trị mạng cố gắng để đẩy lùi các giao thông tấn công
trở lại nguồn của nó, hoặc bằng cách rút một cáp mạng trong các bộ định tuyến và xem
liệu lưu lượng truy cập có dừng lại không, hay bằng cách quan sát lưu lượng mạng trên
các thiết bị giám sát. Giới hạn tỷ lệ gửi gói tin ra ngoài từ nạn nhân (pushback), sau đó
giảm bớt áp lực vào nạn nhân, cho phép nó trao đổi lưu lượng truy cập và tồn tại hiệu
quả trong một thời điểm khi các nguồn tấn công ngừng hoặc gỡ bỏ. Trường hợp này với
giả định rằng các vi phạm giao thông phân bố không đều trên tất cả các điểm có thể
thâm nhập.
Có hai kỹ thuật sử dụng ở đây: Điều khiển tắc nghẽn tổng hợp (ACC) cấp địa phương
và pushback. Điều khiển tắc nghẽn tổng hợp cấp đại phương phát hiện ra tắc nghẽn ở
cấp router và đặt một tín hiệu tấn công (hoặc nhiều hơn trong từng bối cảnh thích hợp),
một tín hiệu tắc nghẽn, mà có thể được dịch ra trong một bộ lọc router. Các tín hiệu
định nghĩa ra một tập hợp băng thông cao, một tập hợp con của lưu lượng mạng, và điều

suất (PPM, Probabilistic Packet Marking). Một lần nữa, mỗi 20.000 gói gửi đến đích,
một router sẽ đánh dấu một gói tin với một tham chiếu đến chính nó.Một tần số lấy mẫu
thấp đã được lựa chọn để tránh một gánh nặng về cơ sở hạ tầng định tuyến do đánh dấu
một khối lượng lớn truy cập trong một cuộc tấn công gửi tràn gói tin. Bằng cách phân
tích một số gói dữ liệu được đánh dấu từ một nguồn nhất định, các nạn nhân của cuộc
tấn công sẽ cố gắng xây dựng một con đường quay trở lại kẻ tấn công, hoặc ít nhất là tới
15
mép gần nhất với người tấn công vào cơ sở hạ tầng đánh dấu. Đề nghị ban đầu của
Savage, 8-2000, đã không có bất kỳ quy định để xác thực đối với những dấu hiệu,
nhưng sau đó đã có thêm kĩ thuật sử dụng một đề nghị xác thực và toàn vẹn kiểm tra do
D.X.Song nêu lên vào tháng 3-2001 tại IEEE INFOCOM 2001.
Traceback dựa trên kĩ thuật băm, đề xuất bởi A.C.Snoeren vào tháng 8-2001 yêu
cầu router tham gia để ghi nhớ mỗi gói đi qua nó, nhưng trong một thời gian hạn chế.
Điều này cho phép truy tìm các cuộc tấn công một gói như "Ping of Death", nhưng chỉ
khi truy vấn nhanh. Các bộ máy cô lập nguồn (SPIE, Source Path Isolation Engine) nhớ
các gói thông qua việc tính toán hàm băm với các phần bất biến của một tiêu đề IP (ví
dụ, TTL và checksum). Để tăng thêm không gian bổ sung, hàm băm yếu, thay vì băm
mã hóa mạnh, được triển khai dưới hình thức các bộ lọc Bloom Filter. Những bản ghi
thụ động không cần phải tồn tại bên trong các router ngay cả khi các thiết kế phần cứng
để đưa chúng vào các router đã được thảo luận. Các nhà thiết kế SPIE nghĩ ra một cách
để đặt một bản ghi bị động trên mỗi giao diện của router. Một số người khi đó đã chỉ
trích và cho rằng nó sẽ là quá đắt để thêm một thiết bị cho mỗi giao diện, do đó, thiết bị
SPIE đã được mở rộng để có một SPIEDER với nhiều kết nối cho mỗi giao diện trên
router. Mặc dù hàm băm yếu cho phép có lỗi, chúng sẽ nhanh chóng được định hướng
qua nhiều hàm băm được áp dụng tại các bộ định tuyến khác nhau khi khoảng cách tăng
dần từ nạn nhân. Nạn nhân khởi tạo một yêu cầu traceback thông qua một mạng lưới
thay thế (thật hay ảo) kết nối các nhà quản lý traceback, các agent sinh dữ liệu, và các
bộ định tuyến. Do khối lượng giao thông lớn trên các mạng xương sống, thời gian giữa
việc nhận một gói tin vi phạm và yêu cầu cho traceback sẽ mất khoảng một vài phút, tùy
thuộc vào năng lực và mạng lưới giao thông.

D -WARD, đề xuất của Mirkovic và các đồng nghiệp [15] vào tháng 8-2003,
được phát triển tại UCLA dưới tài trợ của chương trình DARPA Fault Tolerant Network
(FTN). Hệ thống này dựa trên mạng nguồn nhằm mục đích phát hiện các cuộc tấn công
trước hoặc khi chúng rời khỏi mạng lưới DDoS của các agent. Nó là một hệ thống nội
tuyến, trong suốt với người sử dụng trên mạng, thông qua việc tập hợp số liệu thống kê
giao thông hai chiều từ các router biên tại các mạng nguồn và so sánh chúng với các mô
hình giao thông mạng xây dựng dựa trên giao thức ứng dụng và giao vận, phản ánh sự
bình thường (hợp pháp), nghi ngờ, hoặc hành vi tấn công Dựa trên mô hình ba tầng này
(tấn công, nghi ngờ, bình thường), D-WARD áp dụng tỷ lệ giới hạn tại router ở tất cả
các giao thông đi ra của một đích cho trước, ưu tiên giao thông kết nối hợp pháp, hơi
17
làm chậm lại lưu lượng truy cập đáng ngờ, và làm chậm lại các kết nối tấn công mà nó
cảm nhận. Tỷ lệ giới hạn năng động và thay đổi theo thời gian, dựa trên quan sát của tín
hiệu tấn công và các chính sách hạn chế về giao thông tiêu cực. Ít giao thông tiêu cực sẽ
làm giảm nhẹ các chính sách hạn chế.
Giống như hầu hết các hệ thống nghiên cứu, D-WARD đã được thử nghiệm với một
homegrown thiết lập các tiêu chí chuẩn DDoS, và giống như hầu hết các hệ thống
nghiên cứu, nó hoạt động tốt theo các tiêu chí chuẩn. Tuy nhiên, hệ thống D-WARD
cũng trải qua nhiều thử nghiệm độc lập vào cuối chu kỳ chương trình DARPA FTN.
Những thí nghiệm chỉ ra rằng D-WARD có khả năng để nhanh chóng phát hiện những
vụ tấn công tạo ra dị thường ở giao thông hai chiều, chẳng hạn như tấn công gửi tràn
nặng nề. D-WARD kiểm soát hiệu quả tất cả các giao thông, trong đó có giao thông tấn
công, và có thiệt hại và một mức độ sai lầm chủ động thấp. Nó kịp thời khôi phục hoạt
động bình thường khi kết thúc cuộc tấn công. Bằng cách giới hạn tỷ lệ lưu lượng tấn
công hơn là ngăn chặn nó, hệ thống này một cách nhanh chóng phục hồi từ các sai lầm
chủ động . Theo thiết kế, nó ngừng các cuộc tấn công tại nguồn mạng, do đó, nó yêu cầu
việc triển khai trên rộng (bao gồm một phần lớn các nguồn thực tế) để đạt được hiệu
quả mong muốn. Trừ khi có một hình phạt cho các các hosting của DDoS agent đặt ra
đối với các mạng nguồn, đây không phải là một hệ thống mà nhà khai thác mạng sẽ hăm
hở triển khai, bởi D-WARD không cung cấp một lợi ích đáng kể cho các nhà triển khai


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status