ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN VĂN LINH
GIẢM THIỂU ẢNH HƯỞNG CỦA CÁC TẤN CÔNG TỪ CHỐI
DỊCH VỤ PHÂN TÁN VÀO CÁC WEBSITE
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội – Năm 2015
1
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN VĂN LINH
GIẢM THIỂU ẢNH HƯỞNG CỦA CÁC TẤN CÔNG TỪ CHỐI
DỊCH VỤ PHÂN TÁN VÀO CÁC WEBSITE
Ngành: Công nghệ thông tin
Chuyên ngành: Truyền dữ liệu và mạng máy tính
Mã số:
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: TIẾN SĨ NGUYỄN ĐẠI THỌ
Hà Nội – Năm 2015
2
LỜI CAM ĐOAN
Tôi xin cam đoan: Luận văn này là công trình nghiên cứu thực sự của cá nhân
tôi, được thực hiện dưới sự hướng dẫn khoa học của Tiến sĩ Nguyễn Đại Thọ.
Các số liệu, những kết luận nghiên cứu được trình bày trong luận văn này
trung thực do tôi thực hiện không sao chép kết quả của bất cứ ai khác. Tôi xin chịu
trách nhiệm về nghiên cứu của mình.
Học viên
Nguyễn Văn Linh
3
LỜI CẢM ƠN
Đầu tiên tôi xin gửi lời cảm ơn chân thành đến các thầy, cô trường Đại học
Công nghệ - Đại học Quốc gia Hà Nội đã nhiệt tình giảng dạy và hướng dẫn tôi
trong thời gian học tập tại trường.
Tiếp đó, tôi xin bày tỏ lòng biết ơn sâu sắc tới thầy TS.Nguyễn Đại Thọ đã
nhiệt tình hướng dẫn, tích cực phân tích, lắng nghe và phản biện giúp tôi hiểu và đi
đúng hướng để có thể hoàn thành bài khóa luận này.
Tôi cũng xin gửi lời cảm ơn đến GS.TS. Đỗ Văn Tiến – Đại học BME –
Hungary đã nhiệt tình cố vấn và định hướng giúp tôi trong quá trình nghiên cứu,
đánh giá kết quả thu được đảm bảo tính khoa học và tin cậy.
Mặc dù đã rất cố gắng để hoàn thiện bài khóa luận này song không thể không
có những thiếu sót, rất mong nhận được sự góp ý và nhận xét từ các thầy, cô và các
bạn.
Một lần nữa, tôi xin chân thành cảm ơn thầy cô.
Học viên thực hiện
Nguyễn Văn Linh
4
TÓM TẮT
Phân loại lưu lượng truy vấn hợp lệ và tấn công dựa trên các đặc điểm hành vi
truy cập của người dùng là một trong các phương pháp hiệu quả để phòng chống tấn
công DDoS với chi phí rẻ, dễ triển khai mà không phải can thiệp vào cấu trúc mạng,
giao thức. Tuy vậy những đề xuất, kết quả nghiên cứu trước đó vẫn tồn tại những
hạn chế, do sử dụng các kết quả thống kê về hành vi truy cập đã khá lỗi thời. Hiện
nay sự xuất hiện của công nghệ WebCache, Ajax, RSS, nén và giải nén... đã làm
thay đổi phương thức tải dữ liệu cũng như hành vi tương tác của người dùng với
web dẫn đến các thuộc tính về hành vi truy cập này cũng thay đổi. Vì vậy trong luận
văn này, chúng tôi chứng minh rằng khi sử dụng mô hình dữ liệu mới thì các
phương pháp cũ cho kết quả phát hiện sai truy cập hợp pháp là tấn công tương đối
lớn. Từ đó chúng tôi giới thiệu một đề xuất mới dựa trên việc sử dụng các bẫy thời
gian, thống kê tần xuất các yêu cầu tải trang cũng như độ lớn của các đối tượng tải
trong mỗi khoảng thời gian được phân chia hợp lý, phân biệt với những thuộc tính
có tính chất lặp lại liên tục, có hệ thống của lưu lượng tấn công. Thông qua quá trình
mô phỏng và kết quả thu được sẽ chứng minh tính hiệu quả của phương pháp cũng
như đảm bảo độ tin cậy, tỉ lệ phát hiện sai chấp nhận được.
Từ khóa: Hành vi truy cập Web, DDoS, Network Security, Network Performance
5
ABSTRACT
Distinguish legitimate clients and malicious traffic on behavioral model of
legitimate users is one of the effective methods to prevent DDoS attacks with low
cost, easy to deploy without any intervention to network architecture, protocols ...
However previous research results remains limited due to the out-of-dated
behavioral model of web traffic. At present, the web has advanced with the
emergence of many new techniques WebCache, Ajax, RSS, compress model ... has
changed the way of transferring data and interacting of user on website as well as
the charisteristics of behavioral model of Web traffic. This thesis will demonstrate
that using old model makes steadily increasing of false positive rate of previous
filter. Therefore we propose a novel approach and architecture to attenuate
attacker’s bandwidth tried to fake legal user’s traffic. Goal is to use trap time and
frequency of the request page as well as the magnitude of the object loaded in
dynamic period to utilizes these properties of legitimate client traffic as well as
penalize deterministic zombie traffic tends to be repeated and continuous. Through
extensive simulation results show that it can defeat attack traffic effectively as well
as ensure the reliability with acceptable false negative or false positive rate.
Keywords: Behavioral model of Web Traffic, DDoS, Network Security, Network
Performance
6
MỤC LỤC
..................................................................................................................................... 2
LỜI CAM ĐOAN ....................................................................................................... 3
TÓM TẮT ................................................................................................................... 5
MỤC LỤC................................................................................................................... 7
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT ............................................... 10
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ ................................................................... 12
MỞ ĐẦU................................................................................................................... 14
CHƯƠNG I: TỔNG QUAN VỀ CƠ SỞ CỦA ĐỀ TÀI ........................................... 16
1.1
Giới thiệu ..................................................................................................... 16
1.1.1 Lý do chọn chủ đề giảm thiểu thiệt hại từ tấn công DDoS ...................... 16
1.1.2 Phạm vi nghiên cứu .................................................................................. 16
1.2
Những kết quả của nghiên cứu liên quan và đánh giá ................................. 18
1.2.1 Phương pháp tấn công DDoS ................................................................... 18
1.2.2 Những nghiên cứu làm giảm thiểu thiệt hại do tấn công DDoS .............. 21
1.3
Thách thức và bài toán cần giải quyết ......................................................... 22
1.4
Định hướng giải quyết bài toán ................................................................... 23
CHƯƠNG II: MÔ HÌNH HÓA LƯU LƯỢNG WEB .............................................. 24
2.1 Giới thiệu ......................................................................................................... 24
2.2 Các nghiên cứu về mô hình hóa lưu lượng Web ............................................. 25
2.2.1 Mô hình B.Mah......................................................................................... 25
2.2.2 Mô hình Choi & Lim ................................................................................ 26
2.2.3 Mô hình Lee & Gupta ............................................................................... 28
2.2.4 Các mô hình khác ..................................................................................... 29
2.3 Vài trò ảnh hưởng của công nghệ mới trong mô hình lưu lượng hiện đại ...... 31
7
2.3.1 WebCache ................................................................................................. 31
2.3.2 Ajax........................................................................................................... 33
2.4 Chọn lựa mô hình hóa phù hợp ....................................................................... 36
CHƯƠNG III: ĐỀ XUẤT CẢI TIẾN VÀ GIẢI PHÁP ........................................... 37
3.1 Phân tích .......................................................................................................... 37
3.1.1 Bài toán cần chứng minh .......................................................................... 37
3.1.2 Mệnh đề 1 ................................................................................................. 38
3.1.3 Mệnh đề 2 ................................................................................................. 42
3.2
Kiến trúc hệ thống mới ................................................................................ 42
3.2.1 Kiến trúc hệ thống mới ............................................................................. 42
3.2.2 So sánh với các kiến trúc khác ................................................................. 43
3.3
Các thành phần xử lý ................................................................................... 45
3.3.1 Bẫy thời gian............................................................................................. 45
3.3.2 Bẫy tần suất .............................................................................................. 47
3.3.3 Trạng thái tối thiểu ................................................................................... 49
3.3.4 Hàng đợi ưu tiên ....................................................................................... 50
3.4 Thiết kế giải thuật ............................................................................................ 51
3.4.1 Giải thuật .................................................................................................. 51
3.4.2 Lưu đồ thuật toán ...................................................................................... 52
3.4.3 Mô phỏng lưu lượng hợp lệ ...................................................................... 52
3.4.4 Minh họa giải thuật ................................................................................... 53
3.5
Đánh giá....................................................................................................... 61
3.5.1 Độ phức tạp của thuật toán ....................................................................... 61
3.5.2 Độ tin cậy của phương pháp ..................................................................... 61
CHƯƠNG IV: MÔ PHỎNG VÀ ĐÁNH GIÁ ......................................................... 62
4.1 Thực hiện mô phỏng........................................................................................ 62
8
4.1.1 Mô hình mô phỏng ................................................................................... 62
4.1.2 Chương trình mô phỏng, yêu cầu thiết bị và cấu hình ............................. 62
4.1.3 Kịch bản mô phỏng................................................................................... 63
4.1.4 Tham số đo đạc ......................................................................................... 64
4. 2 Tiến hành mô phỏng ....................................................................................... 65
4.2.1 Kịch bản 1: Áp dụng mô hình lưu lượng mới .......................................... 65
4.2.4 Kịch bản 2: Áp dụng bộ lọc mới cho các dạng tấn công .......................... 68
4.2.5 Hiệu quả sử dụng tài nguyên .................................................................... 73
4.3 Đánh giá kết quả nghiên cứu ........................................................................... 74
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ................................................................ 76
TÀI LIỆU THAM KHẢO......................................................................................... 77
9
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
AOP
Average Off Period - thời gian trung bình của giai đoạn OFF
ACK
Acknowledgement
ASM
Anti-Spoofing Mechanism – Cơ chế chống giả mạo
Bot-net
Mạng lưới các máy bị chiếm quyền điều khiển sử dụng làm công
cụ tấn công DDOS
Client
Máy khách của người dùng
DOS
Denial-of-service, tấn công từ chối dịch vụ
DDoS
Distributed Denial-of-service, tấn công từ chối dịch vụ phân tán
False-Positive
Trường hợp một đánh giá cho rằng kết quả là đúng, trong khi
thực tế kết quả là sai
Firewall
Tường lửa
ISP
Internet Service Provider, nhà cung cấp dịch vụ mạng internet
ICMP
Internet control message protocol
HTML
Hypertext Markup Language - Ngôn ngữ đánh dấu siêu văn bản
HTTP
Hypertext Transfer Protocol: giao thức truyền tải siêu văn bản
LDOS
Low-rate Denial-of-service, tấn công từ chối dịch vụ tốc độ thấp
NAT
Network address translation – Kĩ thuật dịch địa chỉ IP riêng –
private sang địa chỉ IP công khai – public nhằm sử dụng chung
địa chỉ IP công khai cho một mạng riêng
RTT
Round Trip Time, là khoảng thời gian một tín hiệu hoặc một gói
tin chạy từ Source đến Destination và quay ngược lại
RTO
Retransmission Timeout, khoảng thời gian truyền lại gói tin nếu
không nhận được phản hồi
Request
Yêu cầu
Response
Đáp ứng
10
QoS
Quality of service – Chất lượng dịch vụ
Session
Phiên làm việc.
STH
Session threshold - Ngưỡng của phiên hiện tại
TCP
Transmission Control Protocol - Giao thức điều khiển truyền tin
TCP SYN
Gói TCP SYN (đồng bộ hóa)
TRAP
Bẫy
TTL
Time to live
UDP
User Datagram Protocol
Zombie
Thuật ngữ chỉ các máy bị chiếm quyền điều khiển sử dụng làm
công cụ tấn công DDOS
WDA
Web farm DDoS Attack attenuator, kiến trúc nhằm mục đích làm
suy giảm lưu lượng của các cuộc tấn công từ chối dịch vụ phân
tán trên web
Web farm
Cụm các web server
Web-request
là một trang hoặc một tập trang dữ liệu trả về từ một yêu cầu của
người dùng
Server
Máy chủ Web
11
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1 Mô hình tấn công DDoS sử dụng mạng máy tính ma botnet ........................18
Hình 2 Cách xác định mối liên hệ giữa hai kết nối HTTP.........................................25
Hình 3 Mô hình tổng quát của tương tác trình duyệt và máy chủ .............................26
Hình 4 thống kê các tham số mô tả đặc tính của phiên truy cập Web .......................27
Hình 5 Mô hình của Jee & Gupta ..............................................................................28
Hình 6 Thống kê định lượng đo một số tham số của phiên truy cập. ........................29
Hình 7 Tỉ lệ nén dữ liệu trong phiên truy cập với các công nghệ mới ......................30
Hình 8 Mô hình hoạt động của cache ........................................................................32
Hình 9 Mô hình Browser Cache ................................................................................32
Hình 10 Dùng các CDN Server chứa bản sao của Website để phục vụ client theo vị
trí gần nhất .................................................................................................................33
Hình 11 Mô hình hoạt động cơ bản của Ajax so với truy vấn truyền thống .............34
Hình 12 Mô hình hoạt động chi tiết của Ajax – minh họa của Jesse James Garrett..35
Hình 13Kết quả thống kê thuộc tính nổi bật của mô hình Choi & Lim ....................38
Hình 14Thống kê thuộc tính nổi bật của mô hình Lee&Gupta .................................39
Hình 15 Minh họa mô hình ON – OFF của Choi & Lim..........................................39
Hình 16 Minh họa mô hình dữ liệu mới ....................................................................40
Hình 17 Hiệu quả của thuật toán cũ trên mô hình mới ..............................................41
Hình 18 Trường hợp người dùng yêu cầu nhiều dữ liệu hơn ....................................41
Hình 19 Xác định quan hệ giữa hai kết nối HTTP ....................................................45
Hình 20 So sánh giữa mô hình dữ liệu hành vi cũ và mô hình mới ..........................46
Hình 21 Tần suất gửi tin của truy cập hợp lệ và không hợp lệ theo mô hình mới ....48
Hình 22 Hàng đợi ưu tiên ..........................................................................................50
Hình 23 Truy vấn liên tiếp gửi dữ liệu lớn mà không có thời gian nghỉ ...................53
Hình 24 Mô hình hoạt động của bộ lọc khi tấn công Simple Flooding .....................54
Hình 25 Lưu lượng và thời gian nghỉ lặp đi lặp lại trong các phiên truy cập liên tiếp
....................................................................................................................................55
Hình 26 Mô hình hoạt động của bộ lọc khi tấn công High-burst-slow .....................56
12
Hình 27 Mô hình hoạt động của bộ lọc khi tấn công Low-burst-fast ........................59
Hình 28 Mô hình hoạt động của bộ lọc khi tấn công Low-burst-slow ......................60
Hình 29 Kiến trúc bộ xử lý lọc thế hệ mới ................................................................42
Hình 30 Kiến trúc WDA chống tấn công các dạng tấn công .....................................43
Hình 31 Kiến trúc của khối RWDA chống tấn công Low-burst-slow hiệu quả ........44
Hình 32 Mô hình mô phỏng .......................................................................................62
Hình 33 Hiệu quả của thuật toán cũ trên mô hình mới trường hợp 1 ........................65
Hình 34 Hiệu quả của thuật toán cũ trên mô hình mới trường hợp 2 ........................66
Hình 35 Hiệu quả của thuật toán mới trên mô hình mới trường hợp 1 .....................67
Hình 36 Hiệu quả của thuật toán mới trên mô hình mới trường hợp 2 .....................67
Hình 37Mô phỏng hiệu quả tỉ về tỉ lệ phát hiện đúng và băng thông của TLF01 với
dạng tấn công Simple Flooding. ...............................................................................69
Hình 38 Mô phỏng hiệu quả tỉ về tỉ lệ phát hiện đúng và băng thông của TLF01 với
dạng tấn công High-Burst-Slow................................................................................70
Hình 39 Mô phỏng hiệu quả tỉ về tỉ lệ phát hiện đúng và băng thông của TLF01 với
dạng tấn công Low-burst-fast ...................................................................................71
Hình 40 Mô phỏng hiệu quả tỉ về tỉ lệ phát hiện đúng và băng thông của TLF01 với
dạng tấn công Low-burst-slow..................................................................................72
Hình 41 Mô phỏng hiệu quả tỉ về tỉ lệ phát hiện đúng và băng thông của TLF01 với
dạng tấn công Low-burst-slow có áp dụng thêm cơ chế RED .................................73
Hình 42 Thống kê sử dụng tài nguyên của áp dụng bộ lọc TLF01 ...........................73
Hình 43 Thống kê thông lượng trung bình trong các trường hợp áp dụng TLF01 ...74
13
MỞ ĐẦU
Tấn công từ chối dịch vụ phân tán (DDoS) đã có lịch sử hơn 15 năm, gây ra
nhiều thiệt hại không nhỏ với các Website hoặc các dịch vụ liên quan đến WWW.
Đặc biệt khi lưu lượng truy cập đến các dịch vụ Web chiếm đến 90% [21] lưu lượng
truy cập Internet toàn cầu. Hiện nay xuất hiện nhiều hình thức tấn công DDoS tinh
vi và phức tạp, một trong những cách thức tấn công hiện nay khó chống nhất là kẻ
tấn công sử dụng một mạng lưới máy tính ma hay botnet - gồm số lượng lớn các
máy tính bị chiếm quyền điều khiển - đồng loạt gửi lượng lớn yêu cầu truy vấn tới
máy chủ nạn nhân thông qua các kết nối tự động. Kết quả là các ứng dụng đang
chạy trên server bị tê liệt, suy giảm hoặc mất khả năng phục vụ người dùng hợp lệ.
Kẻ tấn công sử dụng mô hình botnet để gửi các yêu cầu tải trang thực sự mà không
có sự giả mạo địa chỉ hoặc thông tin nào làm quá trình phân tích phát hiện lưu lượng
bất hợp pháp phức tạp hơn nhiều. Những cuộc tấn công tăng lên hàng giờ, năm
2014, Abor Network [5] thống kê mỗi tháng có đến hơn 100 cuộc tấn công DDoS
vào các Website công cộng phổ biến đạt băng thông trên 20Gbps. Do 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ụ phân tán tới chất lượng
dịch vụ và tính sẵn sàng của mạng internet đã dẫn đến các nghiên cứu sâu rộng
nhằm hướng tới phòng chống dạng tấn công nguy hiểm này. Một trong những giải
pháp tối ưu nhất là xây dựng cơ chế phân loại đặc tính lưu lượng hợp pháp và lưu
lượng tấn công, từ đó có chiến lược ưu tiên lưu lượng tiếp theo. Vấn đề cốt lõi là
xây dựng các đặc tính mô phỏng chính xác nhất hành vi hợp lệ của người dùng Web,
điều mà thường xuyên thay đổi khi xuất hiện các công nghệ Web mới. Vì vậy phần
trọng tâm nghiên cứu của chúng tôi là chứng minh rằng sự thay đổi các đặc tính lưu
lượng hợp pháp trong phiên kết nối của người dùng Web hợp pháp hiện nay làm
tăng tỉ lệ phát hiện sai truy cập hợp pháp là tấn công của các phương pháp cũ đến
mức không thể chấp nhận được. Các kết quả mô phỏng cũng đã chứng tỏ phương
pháp mới của chúng tôi có thể chống được các dạng tấn công từ đơn giản đến phức
tạp với tỉ lệ sai sót dưới 5%. Trong khi với các phương pháp cũ áp dụng mô hình dữ
liệu mới cho tỉ lệ phát hiện sai rất cao đến 40%. Các kết quả cũng chỉ ra phương
pháp mới có thể chịu đựng được các cuộc tấn công của hàng trăm ngàn máy tính
14
zombie mà không làm suy giảm tỉ lệ truy cập thành công của người dùng hợp pháp
quá 10%. Do đó kẻ tấn công sẽ phải huy động lượng máy tính zombie lớn gấp nhiều
lần hoặc phải trả nhiều chi phí cho đợt tấn công hơn để bù đắp lượng băng thông bị
suy giảm do hiệu quả của phương pháp mang lại.
Về bố cục, các phần của luận văn được tổ chức như sau:
Chương 1: Trong chương này, chúng tôi trình bày tổng quan về lý do chọn bài
toán, phạm vi nghiên cứu, chi tiết những ý tưởng và cách xử lý của các tác giả hiện
tại, điểm yếu của chúng. Từ đó chúng tôi định hướng giải quyết từng vấn đề của bài
toán đưa ra.
Chương 2: Ở chương này, chúng tôi giới thiệu những điểm cốt lõi của các mô
hình hành vi của lưu lượng Web đã được công bố. Những thay đổi, tiến hóa của mỗi
mô hình tương ứng, ảnh hưởng của những công nghệ Web hiện đại tới các kết quả
của các nghiên cứu trước kia trong mỗi mô hình. Chúng tôi cũng chọn lựa một mô
hình phù hợp nhất cho những nghiên cứu cải tiến của chúng tôi.
Chương 3: Chúng tôi đưa ra các đề xuất cải tiến và mô tả phương pháp giải
quyết từng vấn đề đặt ra của đề xuất cũng như mô hình thiết kế tổng thể các thành
phần của bộ lọc mới.
Chương 4: Đưa ra các thông số cấu hình, yêu cầu về các thành phần cho từng
trường hợp máy chủ Web không bị tấn công, tấn công rồi từ đó đánh giá hiệu năng
của phương pháp mới dựa trên các kịch bản và kết quả thu được.
Phần cuối: Tổng kết và đưa ra kết luận, những vấn đề cần cải tiến trong tương
lai.
Với triết lý mô tả chi tiết, đầy đủ tiến trình hình thành ý tưởng, lập kế hoạch,
xây dựng chương trình và cải tiến phương pháp, chúng tôi đã cố gắng mô tả rõ ràng
nhất những vấn đề chúng tôi đã đọc, gặp phải hoặc tự đặt câu hỏi trong quá trình
nghiên cứu để có được các giải pháp, kết quả cuối cùng.
15
CHƯƠNG I: TỔNG QUAN VỀ CƠ SỞ CỦA ĐỀ TÀI
1.1 Giới thiệu
1.1.1 Lý do chọn chủ đề giảm thiểu thiệt hại từ tấn công DDoS
Lịch sử của tấn công từ chối dịch vụ bắt đầu từ những năm 2000 khi lần đầu
tiên một cậu thiếu niên 15 tuổi Micheal Calce với biệt hiệu aka_mafiaboy từ
Quebec, Canada tấn công vào một loạt các Website thương mại điện tử lớn như
Amazon, eBay, Yahoo, Fifa, Dell Inc làm chúng không thể truy cập trong hàng giờ
đồng hồ. Năm 2005, một lập trình viên 18 tuổi tên là Farid Essabar đã viết ra sâu
máy tính để lây nhiễm và thành lập mạng Botnet tấn công vào máy chủ của hãng tin
CNN làm sập dịch vụ trực tuyến của hãng. Hình thức tấn công này đã mở ra một kỷ
nguyên mới cho các phương pháp tấn công DDoS mới, nguy hiểm và tinh vi hơn.
Ngày nay DDoS đã sử dụng nhiều mánh khóe, kỹ thuật mới hơn như kỹ thuật
khuếch đại tấn công, sử dụng máy chủ điều khiển lệnh từ xa… làm mức độ thiệt hại
tăng lên đáng kể. Điển hình là vụ tấn công Spamhus năm 2013 với mức băng thông
có thời điểm đến 300Gbps, thậm chí mạng Internet toàn cầu cũng bị ảnh hưởng khi
truy cập vào hầu hết các website đều chậm đi rõ rệt.
Việc không có một cơ chế hiệu quả hoàn toàn để chống lại dạng tấn công nguy
hiểm và gây nhiều thiệt hại này là một chủ đề công nghệ sôi động, được nhiều nhà
nghiên cứu quan tâm, chia sẻ và học hỏi kinh nghiệm. Bất cứ công trình nào mang
lại hiệu quả phòng chống hoặc giảm thiểu thiệt hại do DDoS cũng đều mang lại lợi
ích rất lớn cho thương mại toàn cầu, có khả năng triển khai rộng rãi tạo ra một môi
trường mạng Internet an toàn. Đây là động lực chính giúp chúng tôi lựa chọn chủ đề
này.
1.1.2 Phạm vi nghiên cứu
Tấn công DDoS có nhiều dạng và để xây dựng được một giải pháp phòng thủ
hiệu quả cho tất cả các dạng tấn công không phải là một việc làm dễ dàng cũng như
khó khả thi trong thực tế. Thực tế để triển khai giải pháp giảm thiểu tấn công vào
một mạng cần bảo vệ, người ta áp dụng tổng hợp các phương pháp rà soát, phát hiện
16
và cơ chế ngăn chặn khác nhau. Để tập trung vào nội dung trọng tâm chúng tôi đã
nghiên cứu giải quyết, chúng tôi chọn chỉ một số dạng tấn công phổ biến quen thuộc
rồi từ đó sẽ áp dụng giải pháp đề xuất để đánh giá tính hiệu quả và hạn chế của nó.
Dựa theo các tiêu chí khác nhau thì các chuyên gia có sự phân chia về các dạng
tấn công DDoS khác nhau. Ở đây chúng tôi chọn phương pháp phân loại của các
chuyên gia tại các công ty đang cung cấp các giải pháp phòng chống DDoS hiệu quả
được nhiều người sử dụng vì chúng phản ánh thực tế tin cậy nhất hiện trạng tình
trạng tấn công DDoS hiện nay:
Tấn công vào băng thông (Volumn based Attack): Với dạng tấn công này,
mục tiêu của kẻ tấn công là làm cạn kiệt băng thông của mục tiêu thông qua lưu
lượng phát sinh cực lớn. Thông thường tính bằng Gbps. Một số phương pháp tấn
công phổ biến là: UDP Flood, ICMP Flood.
Tấn công vào giao thức (Protocol Attack): Đây là dạng tấn công nhằm mục
đích làm cạn kiệt tài nguyên của máy chủ (bộ nhớ, CPU) hoặc các thiết bị trung gian
phục vụ mạng như tường lửa, hệ thống cân bằng tải, hệ thống chống xâm nhập
mạng… Thông thường người ta đo bằng số gói trên giây. Một số phương pháp tấn
công phổ biến của dạng này là: SYN Flood, Ping of Death, Smurf DDoS…vv..
Tấn công vào ứng dụng (Application based Attack): Với các dạng tấn công
này, mục tiêu chủ yếu của kẻ tấn công là hạ gục Webserver như Apache, IIS… Đơn
vị đo của kiểu tấn công này là số yêu cầu trên giây. Một số dạng tấn công phổ biến
của nó là Shrew Attack, Slowloris, Low rate Attack.
Phương pháp tấn công phức tạp nhất: Tấn công DDoS sử dụng mạng máy
tính ma botnet được sử dụng rộng rãi và mang lại hiệu quả nhất. Bước đầu tiên là kẻ
tấn công sẽ tìm cách lây nhiễm các Trojian Horse lên máy tính của người dùng rồi
tìm cách chiếm quyền điều khiển máy tính đó – máy sau khi bị chiếm quyền điều
khiển này gọi là zombie. Kẻ tấn công sau đó có thể sử dụng máy tính của người
dùng vào các mục đích khác nhau, trong đó có sử dụng làm địa chỉ nguồn tấn công
DDoS, mà người dùng không hề hay biết. Mô hình tấn công sử dụng botnet giản
lược được minh họa như sau:
17
Hình 1 Mô hình tấn công DDoS sử dụng mạng máy tính ma botnet
Như vậy với việc sử dụng botnet thì kẻ tấn công có thể lợi dụng mỗi zombie
như một người dùng hợp pháp thực thụ để tiến hành bất kỳ kiểu tấn công nào vào
mục tiêu mà hắn muốn.
Mô hình tấn công vào ứng dụng Web sử dụng botnet và phương pháp phòng
chống là mục tiêu nghiên cứu chính của đề tài này do kiểu tấn công này gây thiệt
hại lớn và khó chống hơn nhiều so với các phương pháp tấn công khác.
1.2 Những kết quả của các nghiên cứu liên quan và đánh giá
Hiện đã có rất nhiều những nghiên cứu, thử nghiệm và đánh giá theo cách
giảm thiểu thiệt hại do tấn công DDoS bằng cách phân biệt lưu lượng bất thường từ
kẻ tấn công và lưu lượng hợp pháp sinh ra khi người dùng bình thường tương tác với
website. Chúng tôi thống kê lại các nghiên cứu theo hai chủ đề chính:
1.2.1 Phương pháp tấn công DDoS
DDoS (Distributed Denial of Service) là một nỗ lực tấn công làm cho người
dùng không thể tiếp tục sử dụng dịch vụ hoặc tài nguyên mạng [2]. DDoS nhìn
chung là sự phối hợp, tấn công có chủ đích để một website, hay hệ thống mạng
18
không thể sử dụng, làm gián đoạn, hoặc làm cho hệ thống đó chậm đi một cách đáng
kể với người dùng bình thường, bằng cách làm quá tải tài nguyên của hệ thống. Thủ
phạm tấn công từ chối dịch vụ thường nhắm vào các Website có tầm quan trọng cao
hoặc tiêu biểu như ngân hàng, cổng thanh toán thẻ tín dụng và thậm chí là các máy
chủ phân giải tên miền DNS. Ngày nay nó còn tấn công vào cả các dịch vụ Game
[Minecraft Online], mạng phim ảnh [Sony Playstation Network]… Nó được ví như
“phù thủy” của Internet [4] khi hiện tại chưa có phương pháp nào phòng chống hiệu
quả hoàn toàn.
Phương thức tấn công đặc trưng của DDoS là làm bão hòa yêu cầu phục vụ
truy cập từ những kết nối từ xa, đến mức máy chủ hoặc mạng không thể đáp ứng
được nhu cầu truy cập của người dùng hoặc đáp ứng rất chậm và kết quả thường
thấy là máy chủ bị quá tải. Nhìn chung, các cuộc tấn công DDOS thường ép các
máy mục tiêu khởi động lại hoặc tiêu thụ hết tài nguyên đến mức máy chủ không thể
cung cấp dịch vụ, hoặc làm tắc nghẽn liên lạc giữa người sử dụng bình thường và
nạn nhân.
Ở đây, chúng tôi thống kê lại một số dạng tấn công phức tạp mà những kẻ tấn
công thường sử dụng để từ đó hiểu hơn về cách chiến thuật phòng chống mà các nhà
nghiên cứu sử dụng. Vì phạm vi nghiên cứu chúng tôi đã trình bày ở 1.1.2 nên
chúng tôi tập trung vào những tấn công tới tầng ứng dụng mà cụ thể là tới ứng dụng
Web. Những dạng tấn công vào tài nguyên như bộ nhớ, CPU, băng thông, truy xuất
cơ sở dữ liệu sẽ không xem xét ở đây.
Dạng tấn công Simple Flood là dạng tấn công phổ biến và sơ khai nhất. Kẻ tấn
công tìm cách gửi liên tục số lượng lớn các yêu cầu chứa nhiều dữ liệu tới máy chủ
web trong thời gian ngắn nhằm làm hệ thống máy chủ không có đủ bộ nhớ hoặc
băng thông để xử lý. Dạng tấn công này có đặc điểm dễ nhận dạng do lượng dữ liệu
lớn hướng tới máy chủ trong thời gian ngắn nên chiến thuật phòng chống tổng quát
là ngăn không cho các kết nối có gửi quá nhiều dữ liệu liên tục đến máy chủ trong
thời gian quá ngắn.
E.Doron [12] khi đề xuất phương pháp WDA cũng đã gợi ý một số phương
pháp tấn công trong đó kẻ tấn công sẽ lợi dụng những ngưỡng băng thông, đặc tính
19
thời gian đọc trang … để tìm cách thích nghi với những chiến thuật phòng chống tấn
công của chúng ta.
Với dạng tấn công High-burst- Slow thì kẻ tấn công gửi nhiều nhất dữ liệu có
thể rồi lại nghỉ một khoảng thời gian đủ dài như thời gian đọc trang. Dạng tấn công
này có thể phòng chống nếu hạn chế ngưỡng băng thông đến một mức đủ nhỏ.
Đối với dạng tấn công Low-burst- fast thì kẻ tấn công lại thực hiện gửi các gói
tin có ít dung lượng nhưng trong thời gian ngắn. Điều này không gây tác hại lớn nếu
có ít số lượng máy tính tham gia tấn công vì nó không ảnh hưởng nhiều đến băng
thông tuy nhiên mọi chuyện sẽ phức tạp hơn nếu lượng máy tính tấn công là lớn thì
sẽ gây ra hiện tượng tấn công dai dẳng, dần dần làm cạn kiệt băng thông và tài
nguyên CPU của máy chủ. Đặc điểm nhận dạng của hình thức tấn công này là tốc độ
gửi các gói tin dung lượng thấp trong khoảng thời gian vừa đủ ngắn và theo chu kỳ.
Dạng tấn công low-burst-slow hoặc random hay A. Kuzmanovic, E.W.
Knightly [8] gọi là “Shrew attack” là dạng tấn công phức tạp trong đó kẻ tấn công sẽ
gửi các gói tin có dung lượng vừa đủ thấp nhưng mật độ cao trong khoảng thời gian
ngẫu nhiên để giả mạo lưu lượng thông thường. Mặc dù vậy vẫn có những đặc điểm
về tần suất gửi tin có thể áp dụng để ngăn chặn
R.K.C. Chang và đồng nghiệp [9] thì lại đưa ra mô hình tấn công định kỳ theo
kiểu sóng chu kỳ Wavelet. Ở đây kẻ tấn công thực hiện tấn công định kỳ và thay đổi
chiến thuật tấn công theo định kỳ do đó sẽ mất nhiều thời gian hơn để phân tích,
nhận dạng và đưa ra một chu kỳ đúng để áp dụng chế độ ngăn chặn.
Sherwood và đồng nghiệp [10] đề xuất một cách tiếp cận tấn công khác. Kẻ tấn
công ở đây sẽ đóng vai trò là người nhận các kết nối TCP. Tuy nhiên ý tưởng ở đây
là các máy tấn công sẽ gửi trả lại các gói ACK xác nhận mà không cần đợi dữ liệu
từ máy chủ trả lời. Dạng tấn công này cố ý phá vỡ các kết nối TCP liên tục làm máy
chủ phải dành nhiều tài nguyên để cố gắng hoàn thành các kết nối TCP này.
Nhìn chung, các kiểu tấn công luôn tìm cách tận dụng những kẽ hở của giao
thức TCP để tìm cách gửi nhiều nhất dữ liệu đến phía mục tiêu có thể trong thời
gian ngắn hoặc cố gắng giả mạo những đặc tính thông thường của các truy vấn hợp
pháp để gửi lưu lượng rác đến máy chủ Web. Vấn đề nhận dạng những đặc tính lưu
20
lượng hợp pháp để phân biệt đâu là kết nối từ kẻ tấn công, đâu là yêu cầu thực của
người dùng sẽ là bài toán mô hình hóa lưu lượng web phải giải quyết.
1.2.2 Những nghiên cứu làm giảm thiểu thiệt hại do tấn công DDoS
Những phương pháp chúng tôi đề cập sau đây sẽ liên quan trực tiếp đến các
dạng chiến thuật phòng chống tấn công DDoS cho dịch vụ Web và là cơ sở cho
những ý tưởng đề xuất của chúng tôi.
Mirkovic và đồng nghiệp đề xuất mô hình D-Ward [19] với ý tưởng là xác
định và loại bỏ nguồn tấn công ngay từ mạng nguồn. D-Ward sẽ kiểm tra các nguồn
lưu lượng bất thường theo đặc tính giao thức truy cập rồi áp đặt một tỉ lệ giới hạn
các loại gói tin có thể gửi trong trường hợp phát hiện tấn công. Tuy nhiên điểm yếu
của nó là cần phải thay đổi cấu trúc Internet để hỗ trợ D-Ward trên từng mạng, điều
mà không dễ cũng như không phải nhà cung cấp dịch vụ nào cũng sẵn sàng đầu tư.
Thomas và đồng nghiệp [11] thì giới thiệu phương pháp lọc mới trong nền
tảng NetBouncer khi đưa ra tập danh sách các hành vi mẫu được gọi là hợp lệ để từ
đó phát hiện các truy cập có hành vi lạ không nằm trong tập này. Tác giả đã xây
dựng tập dữ liệu đặc tính lưu lượng hợp pháp cho cả mức giao thức lẫn mức ứng
dụng để tăng độ hiệu quả. Tuy nhiên điểm yếu của nó là tập dữ liệu mẫu đôi khi
phản ảnh chưa chính xác nếu công nghệ có điều chỉnh.
E.Doron và A.Wool [12] cũng giới thiệu WDA, một bộ lọc có chức năng gần
tương tự. WDA sử dụng các ngưỡng linh động để tìm cách xác định tính hợp pháp
của lưu lượng với những đặc tính đã được thống kê đã được lượng hóa về thời gian
đọc trang, lượng dữ liệu tải trong mỗi phiên truy cập từ một IP nguồn. Cách tiếp cận
này dựa trên thống kê về hành vi người dùng đã khá cũ, từ những năm 1999 mà hiện
nay không còn phù hợp cũng như dễ dàng bị phát hiện sai với các hành vi truy cập
từ công nghệ Ajax hoặc RSS.
Bremler-Barr và các đồng sự [20] lại tiếp cận theo hướng sử dụng hàng đợi
phân phối theo mức độ ưu tiên WFQ để xây dựng lên APFQ. Tác giả dựa trên lịch
sử sử dụng băng thông của các phiên truy cập để điều chỉnh trọng số ưu tiên lưu
lượng được phép đi qua. Phương pháp này khá hiệu quả nếu việc phát hiện lịch sử
sử dụng băng thông của truy cập hợp pháp là chính xác. Tuy nhiên, phương pháp rõ
21
ràng vẫn còn phụ thuộc vào những thống kê dữ liệu chuẩn của mô hình hành vi của
lưu lượng Web.
Kim và đồng nghiệp [21] thì sử dụng cơ chế xác định số liệu thống kê lưu
lượng truy cập vào một liên kết cụ thể là ổn định trong phiên làm việc thông thường
và thay đổi trong suốt cuộc tấn công DDoS. Ý tưởng chính ở đây là xác định những
thay đổi trong đặc tính lưu lượng truy cập và sử dụng chúng để phân biệt các gói tin
tấn công và từ những nguồn hợp pháp. Tuy vậy những kẻ tấn công thông minh vẫn
có thể điều chỉnh những thông số để khai thác điểm yếu là những ngưỡng tin cậy
của thuật toán.
Zhangwang [13] cũng đề xuất một số các phương pháp mới khi sử dụng RRED
để chống tấn công từ chối dịch vụ tốc độ thấp tuy nhiên điểm yếu về mặt sử dụng
các hằng số ngưỡng thời gian để kiểm chứng lưu lượng vẫn chưa được chứng minh
tính hiệu quả trong thực tế.
Một số các tập đoàn lớn về an ninh mạng, chuyên cung cấp dịch vụ chống
DDoS lại sử dụng các cơ chế về giao thức BGP mới, trang bị các mạng lưu trữ dữ
liệu phân tán, hệ thống cân bằng tải khắp nơi, sử dụng các cơ chế tự động phát hiện
độc quyền không được công bố nên không thể đánh giá được ý nghĩa của giải pháp.
1.3 Thách thức và bài toán cần giải quyết
Như đã trình bày ở trên, kẻ tấn công có thể sử dụng botnet để tận dụng mạng
lưới các máy tính bị chiếm quyền điều khiển tự động thực hiện gửi các yêu cầu phục
vụ đến website mục tiêu dẫn đến các hành vi giả mạo này rất khó bị phát hiện do
thực chất đó là các yêu cầu từ một máy tính thực thụ.
Thách thức chính là phân loại được các đặc tính của lưu lượng truy cập xem
đâu là từ nguồn tấn công, đâu là từ nguồn hợp lệ. Những đặc tính nổi bật phản ánh
lưu lượng hợp pháp sử dụng cho mô hình hóa phải được phân tích và đo đạc kỹ
lưỡng sao cho phản ánh đúng nhất hành vi của người dùng hợp lệ. Đặc biệt khi
website chứng kiến một loạt tấn công DDoS xen kẽ với các truy cập thực từ người
dùng dịch vụ.
Khi xây dựng các cơ chế phòng thủ thì bản thân các giải pháp không nên là
mục tiêu bị lợi dụng hoặc là căn nguyên gây quá tải dịch vụ Web cần bảo vệ. Đây là
22
điều cần phải đánh giá kỹ càng trong quá trình xây dựng mô hình và kiến trúc hệ
thống.
Thêm nữa khi áp dụng các giải pháp lọc, xử lý tấn công không được làm tăng
đáng kể hoặc phải đầu tư cơ sở hạ tầng vượt quá giá trị thực sự của dịch vụ đang
chạy. Điều này là tất yếu, giải pháp nào hiệu quả mà không làm tăng đáng kể về việc
sử dụng tài nguyên như bộ nhớ, CPU, băng thông tất nhiên sẽ mang lại lợi ích kinh
tế và có tính ứng dụng trong thực tế lớn hơn.
1.4 Định hướng giải quyết bài toán
Thông qua kết quả nghiên cứu của một số công trình nổi bật, chúng tôi nhận
thấy phương pháp phân loại lưu lượng dựa theo đặc tính bản chất của hành vi người
dùng có giá trị hơn cả do tính hiệu quả của nó. Phương pháp phân loại này cũng
cung cấp cho chúng ta những hiểu biết sâu sắc về hành vi người dùng thật khi đang
truy cập tới Website: đọc gì, thời gian đọc trong bao lâu, sở thích của người dùng,
những trang nào có tỉ lệ đọc và lưu lại lâu nhất…Dựa trên các nghiên cứu [11, 12,
20] thì cách thức chung là lựa chọn một mô hình dữ liệu hành vi lưu lượng để tìm
kiếm những đặc tính bản chất phù hợp nhất rồi sau đó xây dựng chiến thuật phòng
thủ tương ứng. Vì vậy hướng đi chính được chúng tôi xác định cũng chia ra làm hai
giai đoạn:
-
Xây dựng một cơ sở dữ liệu về thông tin thống kê các đặc tính của hành vi
người dùng Web càng giống nhất với các đặc tính truy cập của người dùng
hợp lệ đối với Website cần bảo vệ càng tốt.
-
Dựa trên cơ sở dữ liệu thống kê bên trên, tùy theo những đặc tính chọn lựa
tiến hành thiết kế thuật toán để giúp phân loại chính xác nhất các lưu lượng
từ kẻ tấn công mà không chặn các lưu lượng hợp pháp.
Chúng tôi sẽ tiến hành nghiên cứu từng giai đoạn và đưa ra giải pháp đề xuất
trong chương II và III.
23
CHƯƠNG II: MÔ HÌNH HÓA LƯU LƯỢNG WEB
Thách thức chính của giải pháp phòng chống tấn công DDoS dựa trên hành vi
người dùng đó là khó khăn khi chúng ta mô hình hóa các hành vi sao cho gần nhất
với hành vi tương tác thực của người dùng thật khi truy cập Web. Trong chương
này, chúng tôi mô tả cơ bản các kết quả của những nghiên cứu về công việc mô hình
hóa này, những điểm lợi, hại và chọn một mô hình hóa lưu lượng điển hình phù hợp
nhất với thực tiễn công nghệ Web đang sử dụng hiện nay.
2.1 Giới thiệu
Ngày nay lưu lượng của các ứng dụng WWW đang tăng với tốc độ chóng mặt,
hiện chiếm đến hơn 90% lưu lượng toàn bộ Internet [21]. Các công nghệ được tăng
cường bổ sung để giảm tối đa độ trễ truyền tải, tăng tốc độ hiển thị, tăng trải nghiệm
của người dùng dẫn đến tương tác giữa trình duyệt với máy chủ, sự kiện xảy ra trên
trang Web có sự thay đổi cơ bản về bản chất.
Mô hình hóa lưu lượng là gì
Mô hình lưu lượng Web là mô hình của dữ liệu gửi và nhận từ trình duyệt của
người sử dụng.
Mô hình hóa lưu lượng Web thực chất là tìm các đặc tính đặc trưng phản ánh
những hành vi hợp lệ truy cập của người dùng hợp pháp và mối quan hệ giữa chúng.
Từ các tham số đó có thể xây dựng được quy trình tương tác gần đúng nhất với các
tương tác giữa trình duyệt, hành vi người dùng và máy chủ Web diễn ra trong thực
tế.
Tại sao phải mô hình hóa lưu lượng Web?
Để phân biệt được đâu là các truy cập từ kẻ tấn công, đâu là yêu cầu truy vấn
từ người dùng hợp pháp muốn dùng dịch vụ điều đầu tiên là chúng ta phải hiểu bản
chất trong tương tác của người dùng thật với máy chủ web có những đặc tính nổi bật
cơ bản nào để từ đó có thể xây dựng bộ quy tắc phân loại dữ liệu. Mô hình hóa lưu
lượng chính là cơ sở để chúng ta hiểu được các tương tác này, cung cấp các dữ liệu
có giá trị giúp ích lớn trong hình thành chiến thuật thuật toán phân loại hiệu quả
hơn.
24
2.2 Các nghiên cứu về mô hình hóa lưu lượng Web
Thông thường, xây dựng mô hình hóa lưu lượng truy cập Web là khá khó
khăn. Thứ nhất, các trình duyệt khác nhau, webserver có nền tảng khác nhau có thể
có cách hành xử khác nhau, giao thức HTTP thì luôn luôn được thay đổi để phù hợp
với các công nghệ mới, trong khi giao thức gốc TCP thì lại có một chút khác nhau
tùy thuộc vào hệ điều hành. Thứ hai, các tương tác trên Web trở lên ngày càng phức
tạp hơn. Người dùng có xu hướng mở nhiều tab trình duyệt cùng lúc, trong các trang
web lại có các trang khác chạy độc lập – frame – hoặc javascript. Kỹ thuật tải trang
bất đồng bộ lại làm nhiều phần trang có thể chạy song song cùng nhau. Những
nghiên cứu sau đây cơ bản đã chỉ ra những đặc tính cơ bản đó.
2.2.1 Mô hình B.Mah
Dựa trên các thống kê lưu lượng từ tháng 9 đến tháng 11 năm 1995, B.A.Mah
[7] tiến hành xây dựng mô hình lưu lượng dữ liệu HTTP dựa trên phương pháp thực
nghiệm heuristic. Khái niệm về “Web page” lần đầu tiên được định nghĩa là đơn vị
cơ sở của các truy vấn liên quan đến HTTP. Thông qua phân tích dấu vết các gói tin
trong các phiên trao đổi HTTP, tác giả đưa ra tính toán xác xuất phân bố về một số
các đặc tính nổi trội phản ánh hành vi truy cập web của người dùng. Tác giả đã tổng
kết lại những đặc điểm chính: độ dài yêu cầu dữ liệu, thời gian người dùng suy nghĩ,
kích cỡ tài liệu, độ dài dữ liệu trả về… Ngoài ra nghiên cứu còn xác định được
ngưỡng thời gian để phân biệt hai phiên kết nối HTTP là 1 giây < TThresh < 30 giây.
Hình 2 Cách xác định mối liên hệ giữa hai kết nối HTTP
25