Tải bản đầy đủ (.pdf) (58 trang)

Xây dựng giải pháp chống tấn công từ chối dịch vụ trên tầng ứng dụng cho websites

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.42 MB, 58 trang )

LỜI CAM ĐOAN
Tơi xin cam đoan đây là cơng trình nghiên cứu của riêng tôi. Các số liệu sử dụng
trong luận văn và các kết quả nghiên cứu được trình bày trong luận văn là trung
thực.
Hà Nội, Ngày tháng

năn 2016

Tác giả luận văn

Nguyễn Xuân Quang

i


LỜI CẢM ƠN
Trong thời gian học tập, nghiên cứu và thực hiện luận văn này, tôi đã nhận được sự
giúp đỡ vô cùng to lớn của quý thầy cô trường Đại học Bách Khoa Hà Nội, cơ quan,
gia đình, bạn bè và đồng nghiệp. Tơi xin tỏ lịng biết ơn chân thành đến:
PGS.TS. Nguyễn Linh Giang, người đã tận tình hướng dẫn và giúp đỡ tôi trong suốt
thời gian học tập, nghiên cứu thực hiện đề tài.
Tập thể quý thầy cô trực tiếp giảng dạy lớp Hệ thống thôn tin – chun ngành Hệ
thống thơng tin đã tận tình giảng dạy, hướng dẫn tôi trong suốt thời gian học tập,
nghiên cứu tại Đại học Bách Khoa Hà Nội.
Ban lãnh đạo công ty đã tạo điều kiện về thời gian và động viên về mặt tinh thần
trong q trình tơi thực hiện đề tài.
Đặc biệt là gia đình, bạn bè, đồng nghiệp và các bạn học viên lớp Hệ thống thông
tin chuyên ngành Hệ thống thông tin thông tin đã ủng hộ, động viên, giúp đỡ tôi
trong suốt thời gian học tập nghiên cứu và thực hiện đề tài.
Xin chân thành cảm ơn !
Hà Nội, Ngày tháng năm 2016


Tác giả luận văn

Nguyễn Xuân Quang

ii


MỤC LỤC
Danh mục các từ viết tắt ...........................................................................................v
Danh mục các hình vẽ ............................................................................................. vi
MỞ ĐẦU ....................................................................................................................1
CHƯƠNG 1: NGHIÊN CỨU CÁC GIẢI PHÁP NGĂN CHẶN TẤN CÔNG
TỪ CHỐI DỊCH VỤ TRÊN TẦNG ỨNG DỤNG CHO WEBSITES. .................4
1.1. Phân tích tổng quan về nguy cơ, rủi ro và tác động của các kiểu tấn công từ chối
dịch vụ websites. ................................................................................................................ 4
1.1.1. Khái niệm tấn công từ chối dịch vụ. .................................................................... 4
1.1.2. Phân loại tấn công từ chối dịch vụ. ...................................................................... 5
1.1.3 Đặc điểm và ảnh hưởng của tấn công từ chối dịch vụ vào tầng ứng dụng của
websites. ....................................................................................................................... 10
1.1.3.1. Slowloris ......................................................................................................... 10
1.1.3.2. Slow read, slow post. ...................................................................................... 11
1.1.3.3. Http Flood. ...................................................................................................... 12
1.2. Phương pháp luận nghiên cứu các giải pháp ngăn chặn tấn công từ chối dịch vụ. .. 15
1.2.1. Các yêu cầu đối với một hệ thống chấn tấn công từ chối dịch vụ. .................... 15
1.2.2. Phương pháp để xác định tấn công từ chối dịch vụ. .......................................... 16
1.2.2.1. Xác thực người dùng....................................................................................... 16
1.2.2.2. Xác thực các bot của trang tìm kiếm. ............................................................. 18

CHƯƠNG 2: XÂY DỰNG HỆ THỐNG NGĂN CHẶN TẤN CÔNG TỪ CHỐI
DICH VỤ CHO WEBSITES. .................................................................................19

2.1. Thiết kế tổng quan mơ hình và chức năng của hệ thống. ......................................... 19
2.1.1. Kiến trúc tổng quan và các thành phần của hệ thống. ....................................... 19
2.1.2. Mơ hình hoạt động của hệ thống. ...................................................................... 20
2.2. Xây dựng hệ thống ngăn chặn tấn công từ chối dịch vụ. .......................................... 24
2.2.1. Lựa chọn công nghệ. .......................................................................................... 24
2.2.2. Xây dựng các thành phần của hệ thống. ............................................................ 25
2.2.2.1. Cài đặt môi trường. ......................................................................................... 25
2.2.2.2. Module tạo cookie xác thực. ........................................................................... 27
2.2.2.3. Module xác thực người dùng bằng javascript. ................................................ 29
2.2.2.4. Module xác thực bằng captcha. ...................................................................... 29
2.2.2.5. Module xác thực bot của các cơng cụ tìm kiếm.............................................. 31
2.2.2.6. Module giới hạn số request của người dùng. .................................................. 32
2.2.3. Triển khai hệ thống thực tế. ............................................................................... 33

iii


CHƯƠNG 3: TRIỂN KHAI, THỬ NGHIỆM HỆ THỐNG. ..............................36
3.1. Mô hình và quy mơ triển khai thử nghiệm của hệ thống. ......................................... 36
3.2. Mẫu dữ liệu thử nghiệm và các phương án thử nghiệm. .......................................... 37
3.2.1. Thử nghiệm với các công cụ tấn công từ chối dịch vụ phổ biến trên internet. .. 37
3.2.2. Thử nghiệm với công cụ tấn cơng dùng mơ phịng browser để qua mặt được
cookie xác thực. ........................................................................................................... 39
3.3. Phân tích đánh giá kết quả thử nghiệm. .................................................................... 40
Trong thời gian đồ án hoàn thành hệ thống đã được dùng để bảo vệ website thực tế
trước tấn công từ chối dịch vụ với cường độ lớn với cấu hình là: ............................... 42

KẾT LUẬN ..............................................................................................................43
TÀI LIỆU THAM KHẢO ......................................................................................44
PHỤ LỤC .................................................................................................................45


iv


Danh mục các từ viết tắt
DDoS
DoS
http
Dns
Cpu
Ram
CIDR

distributed denial-of-service
Denial-of-service
The Hypertext Transfer Protocol
The Domain Name System
A central processing unit
Random-access memory
Classless Inter-Domain Routing

v


Danh mục các hình vẽ
Hình 1. Tấn cơng từ chối dịch vụ website bằng cơng cụ slowhttptest................................. 12
Hình 2. Tấn cơng từ chối dịch vụ bằng mạng botnet. .......................................................... 13
Hình 3. Server quá tải khi bị tấn công từ chối dịch vụ. ....................................................... 14
Hình 4. Captcha để xác thực người dùng với bot. ............................................................... 17
Hình 5. Cách thức triển khai hệ thống. ................................................................................ 20

Hình 6. Sơ đồ logic của hệ thống. ........................................................................................ 21
Hình 7. Tấn cơng trực tiếp vào website. .............................................................................. 38
Hình 8. Tấn cơng thơng qua hệ thống nginx cấu hình bảo vệ với roboo. ............................ 38
Hình 9. Tấn công vào website khi đã được bảo vệ bởi hệ thống chống tấn cơng từ chối dịch
vụ. ........................................................................................................................................ 39
Hình 10. Tấn cơng vào website với mã tự viết. ................................................................... 40
Hình 11. Chạy thử để đánh giá tải của hệ thống so sánh với hệ thống dùng module roboo.
............................................................................................................................................. 41
Hình 12. Cpu xử dụng khi website được bảo vệ với module roboo và nginx. .................... 41
Hình 13. Cpu xử dụng khi website được bảo vệ bằng hệ thống chống tấn công tự xây dựng.
............................................................................................................................................. 41
Hình 14. Tải của hệ thống khi dùng module roboo. ............................................................ 42
Hình 15. Tải của hệ thống chống tấn cơng tự xây dựng. ..................................................... 42
Hình 16. Tải của hệ thống khi đang bị tấn công từ chối dịch vụ ......................................... 42

vi


MỞ ĐẦU
Trong những năm gần đây nền công nghệ thông tin ngày càng phát triển và
phố biến. Đi cùng với sợ phát triển của nó là một số nghành nghề mới đang ngày
càng phát triển là thương mại điện tử và kinh doang qua mạng. Việc kinh doanh
trên mạng với việc khơng phải mất chi phí mặt bằng đắt đỏ do đó có rất nhiều
doanh nghiệp mở ra dưới hình thức kinh doanh qua mạng. Tuy vậy cùng với những
thuận lợi đó do có nhiều người kinh doanh hơn vì vậy có nhiều áp lực cạnh tranh
hơn, một số doanh nghiệp kinh doanh trên mạng đặc biệt là các doanh nghiệp kinh
doanh các mặt hàng mà lượng khách hàng thường xuyên không nhiều như ( đồ nội
thất, thiết bị điện..) đã thực hiện các việc cạnh tranh không lành mạng với đối thủ
bằng cách tấn công từ chối dịch vụ vào website của các cơng ty đối thủ của mình.
Thêm vào đó do hiện tại việc thực hiện tấn cơng từ chối dịch vụ vào website có thể

thực hiện tương đối dễ dàng bằng các công cụ được chia sẻ miễn phí trên mạng
càng khiến vấn đề này thêm nhức nhối. Khi bị tấn công từ chối dịch vụ các doanh
nghiệp kinh doanh qua mạng không thể tiếp cận được với khánh hàng do kênh tiếp
cận với khách hàng chủ yếu là qua website do đó bị tổn hại về mặt doanh thu rất
lớn. Các doanh nghiệp cần có một giải pháp bảo vệ mình trước các cuộc tấn cơng từ
chối dịch vụ với chi phí thấp và hiệu quả cao.
Các hệ thống chống tấn công từ chối dịch vụ của websites đã được nghiên
cứu khá nhiều, tuy vậy các nghiên cứu trước đây phần lớn tập trung vào xây dựng
hệ thống bảo vệ chống tấn công từ chối dịch vụ ở tầng 3 và 4. Một số hệ thống được
cơng bố miễn phí mới chỉ chống được một phần các kiểu tấn công thường gặp trên
thực tế. Các hệ thống chống tấn công từ chối dịch vụ ở tầng ứng dụng cũ hầu như
đều dùng kỹ thuật xác thực người dùng thơng qua một cookie xác thực, chưa có xác
thực bot của các cơng cụ tìm kiếm.
Trong luận văn tác giả sẽ đưa ra các yêu cầu cũng như các yếu tố kỹ thuật để
xây dựng một hệ thống chống tấn cơng từ chối dịch vụ có hiệu quả tốt hơn. Hệ
thống chống tấn công chủ yếu tập trung vào chống các dạng tấn công ở tầng ứng
dụng đối với websites. Do thời gian có hạn nên tác giả chỉ tập trung xây dựng một
1


hệ thống để có thể chống được các đạng tấn công vào tầng ứng dụng của website
phổ biến nhất, một số cách thức tấn cơng đặc biệt địi hỏi phải triển khai các biện
pháp kỹ thuật rất phức tạp để ngăn chặn sẽ được xây dựng trong thời gian sau.
Bằng việc nghiên đặc điểm kỹ thuật của tất cả các dạng tấn công phổ biến ở
tầng ứng dụng tác giả đã xây dựng được một hệ thống hoàn chỉnh bao gồm các
thành phần chính: xác thực người dùng bằng cookie xác thực thông qua javascript
hoặc captcha, xác thực các dạng bot của cơng cụ tìm kiếm phổ biến, giới hạn số
request người dùng gửi nên để phát hiện các request tấn công từ chối dịch vụ vượt
qua được phương pháp xác thực bằng javascript. Kết hợp các thành phần lại tác giá
đã xây dựng được một hệ thống chống tấn cơng từ chối dịch vụ có thể chạy được

trong thực tế và có hiệu qủa bảo vệ các websites khỏi các cuộc tấn công từ chối dịch
vụ ở tầng ứng dụng.
Cấu trúc luận văn:
Nội dung chính của luận văn gồm có 3 chương:
Chương 1: Nghiên cứu các giải pháp ngăn chặn tấn công từ chối dịch vụ trên
tầng ứng dụng cho websites.
Chương chính đầu tiên của luận văn thực hiện việc tìm hiểu một cách tổng
quan về các nguy cơ rủi ro, cũng như các đặc điểm của các dạng tấn công từ chối
dịch vụ hay gặp phải hiện nay. Phân loại ra các kiểu tấn công vào tầng ứng dụng đối
với website phổ biến hiện tại. Từ các đặc điểm của các dạng tấn công với cách thức
tấn công đã nghiên cứu đề xuất ra phương pháp để bảo vệ website trước các cuộc
tấn công từ chối dịch vụ.
Chương 2: Xây dựng hệ thống ngăn chặn tấn công từ chối dịch vụ cho
websites.
Chương này là phần cốt lõi quan trọng nhất của luận văn. Trong chương tập
trung chính vào việc nghiên cứu các kỹ thuật và phương pháp thực tế để ngăn chặn
tấn công từ chối dịch vụ ở tầng ứng dụng vào website. Cùng với đó trình bày chi
tiết cách thức, cơng nghệ, cũng như q trình xây dựng hệ thống ngăn chặn tấn

2


công từ chối dịch vụ. Đưa ra phương thức triển khai cấu hình hệ thống trong thực
tế.
Chương 3: Triển khai và thử nghiệm hệ thống.
Chương này trình bày quá trình thử nghiệm hệ thống với các điều kiện giả
định giống với thực tế nhất có thể. Qua đó đánh giá kết quả thử nghiệm để cho thấy
tính hiệu quả của hệ thống. Phân tích các kết quả thử nghiệm làm tiền đề đề đề xuất
các cải tiến cũng như tính năng trong tương lai.


3


CHƯƠNG 1: NGHIÊN CỨU CÁC GIẢI PHÁP NGĂN
CHẶN TẤN CÔNG TỪ CHỐI DỊCH VỤ TRÊN TẦNG
ỨNG DỤNG CHO WEBSITES.
1.1. Phân tích tổng quan về nguy cơ, rủi ro và tác động của các
kiểu tấn công từ chối dịch vụ websites.
1.1.1. Khái niệm tấn công từ chối dịch vụ.
Tấn công từ chối dịch vụ (Denial of Service - DoS) là dạng tấn công nhằm
ngăn chặn người dùng hợp pháp truy nhập các tài nguyên mạng. Tấn công DoS đã
xuất hiện từ khá sớm, vào đầu những năm 80 của thế kỷ trước. Tấn công từ chối
dịch vụ phân tán (Distributed Denial of Service - DDoS) là một dạng phát triển ở
mức độ cao của tấn công DoS được phát hiện lần đầu tiên vào năm 1999. Khác biệt
cơ bản của tấn công DoS và DDoS là phạm vi tấn công. Trong khi lưu lượng tấn
công DoS thường phát sinh từ một hoặc một số ít host nguồn, lưu lượng tấn cơng
DDoS thường phát sinh từ rất nhiều host nằm rải rác trên mạng Internet. Hiện nay,
có hai phương pháp tấn cơng DDoS chủ yếu. Trong phương pháp thứ nhất, kẻ tấn
công gửi các gói tin được tạo theo dạng đặc biệt gây lỗi trong giao thức truyền hoặc
lỗi trong ứng dụng chạy trên máy nạn nhân. Một dạng tấn công DDoS điển hình
theo phương pháp này là tấn cơng khai thác lỗ hổng an ninh của các giao thức hoặc
dịch vụ trên máy nạn nhân. Phương pháp tấn công DDoS thứ hai phổ biến hơn
phương pháp thứ nhất, gồm hai dạng: (i) dạng tấn công DDoS gây ngắt quãng kết
nối của người dùng đến máy chủ dịch vụ bằng cách làm ngập lụt đường truyền
mạng, cạn kiệt băng thông hoặc tài nguyên mạng, và (ii) dạng tấn công DDoS gây
ngắt quãng dịch vụ cung cấp cho người dùng bằng cách làm cạn kiệt các tài nguyên
của máy chủ dịch vụ, như thời gian xử lý của CPU, bộ nhớ, băng thông đĩa, cơ sở
dữ liệu. Dạng tấn công này bảo gồm các loại tấn công gây ngập lụt ở mức ứng
dụng.
Kể từ cuộc tấn công DDoS đầu tiên được xác nhận vào năm 1999, nhiều


4


cuộc tấn công DDoS gây ngập lụt đã được thực hiện vào hệ thống mạng của các
công ty và các tổ chức. Hầu hết các cuộc tấn công DDoS gây ngập lụt cho đến hiện
nay đều tập trung vào làm ngắt quãng hoặc ngừng dịch vụ chạy trên hệ thống nạn
nhân. Hậu quả là làm giảm doanh thu, tăng chi phí phịng chống và phục hồi dịch
vụ. Ví dụ, vào tháng Hai năm 2000, hệ thống mạng của công ty Internet Yahoo phải
hứng chịu đợt tấn công DDoS đầu tiên làm các dịch vụ của công ty phải ngừng hoạt
động trong 2 giờ, gây thiệt hại lớn về doanh thu quảng cáo. Tháng Hai năm 2004,
một đợt tấn công DDoS rất lớn xuất phát từ một lượng rất lớn các máy tính bị
nhiễm virus Mydoom làm trang web của tập đồn SCO khơng thể truy nhập. Virus
Mydoom chứa các đoạn mã độc hại chạy trên hàng ngàn máy tính bị lây nhiễm
đồng loạt tấn cơng trang web của tập đồn SCO. Mã độc của virus Mydoom còn
được tái sử dụng vào tháng Bảy năm 2009 để tấn công một loạt các trang web của
Chỉnh phủ và các tổ chức tài chính ở Hàn Quốc và Mỹ gây nhiều hậu quả nghiêm
trọng. Vào tháng Mười Hai năm 2010, một nhóm tin tặc có tên là “Anonymous” đã
đạo diễn một loạt các cuộc tấn công DDoS gây ngừng hoạt động các trang web của
các tổ chức tài chính, như Mastercard, Visa International, Paypal và PostFinance.
Tháng Chín năm 2012, một đợt tấn cơng DDoS rất lớn do nhóm tin tặc “Izz ad-Din
al-Qassam Cyber Fighters” thực hiện gây ngắt quãng hoặt ngừng hoạt động các
trang web ngân hàng trực tuyến của 9 ngân hàng lớn của Mỹ. Các dạng tấn công
DDoS được thực hiện ngày một nhiều với quy mô ngày một lớn và tinh vi hơn nhờ
sự phát triển của các kỹ thuật tấn công và sự lan tràn của các công cụ tấn công.

1.1.2. Phân loại tấn công từ chối dịch vụ.
Các cuộc tấn công DDoS thường được tin tặc thực hiện bằng cách huy động
một số lượng rất lớn các máy tính có kết nối Internet bị chiếm quyền điều khiển –
tập hợp các máy này được gọi là mạng máy tính ma hay mạng bot, hoặc botnet. Các

máy của botnet có khả năng gửi hàng ngàn yêu cầu giả mạo mỗi giây đến hệ thống
nạn nhân, gây ảnh hưởng nghiêm trọng đến chất lượng dịch vụ cung cấp cho người
dùng. Do các yêu cầu của tấn công DDoS được gửi rải rác từ nhiều máy ở nhiều vị
trí địa lý nên rất khó phân biệt với các yêu cầu của người dùng hợp pháp. Một trong
5


các khâu cần thiết trong việc đề ra các biện pháp phịng chống tấn cơng DDoS hiệu
quả là phân loại các dạng tấn cơng DDoS và từ đó có biện pháp phịng chống thích
hợp. Nhiều phương pháp phân loại tấn cơng DDoS đã được đề xuất như trong các
cơng trình.Một cách khái qt, tấn cơng DDoS có thể được phân loại dựa trên 6 tiêu
chí chính: Dựa trên phương pháp tấn công, Dựa trên mức độ tự động, Dựa trên giao
thức mạng, Dựa trên phương thức giao tiếp, Dựa trên cường độ tấn công và Dựa
trên việc khai thác các lỗ hổng an ninh. Phần tiếp theo của mục này trình bày chi
tiết từng loại.
Dựa trên phương pháp tấn cơng
Phân loại DDoS dựa trên phương pháp tấn công là một trong phương pháp phân
loại cơ bản nhất. Theo tiêu chí này, DDoS có thể được chia thành 2 dạng:
1) Tấn công gây ngập lụt (Flooding attacks): Trong tấn công gây ngập lụt, tin
tặc tạo một lượng lớn các gói tin tấn cơng giống như các gói tin hợp lệ và gửi đến
hệ thống nạn nhân làm cho hệ thống không thể phục vụ người dùng hợp pháp. Đối
tượng của tấn công dạng này là băng thông mạng, không gian đĩa, thời gian của
CPU,...
2) Tấn công logic (Logical attacks): Tấn công logic thường khai thác các tính
năng hoặc các lỗi cài đặt của các giao thức hoặc dịch vụ chạy trên hệ thống nạn
nhân, nhằm làm cạn kiệt tài nguyên hệ thống. Ví dụ tấn cơng TCP SYN khai thác
q trình bắt tay 3 bước trong khởi tạo kết nối TCP, trong đó mỗi yêu cầu kết nối
được cấp một phần không gian trong bảng lưu yêu cầu kết nối trong khi chờ xác
nhận kết nối. Tin tặc có thể gửi một lượng lớn yêu cầu kết nối giả mạo – các kết nối
không thể thực hiện, chiếm đầy không gian bảng kết nối và hệ thống nạn nhân

không thể tiếp nhận yêu cầu kết nối của người dùng hợp pháp.
Dựa trên mức độ tự động
Theo mức độ tự động, có thể chia tấn công DDoS thành 3 dạng:
1) Tấn công thủ công: Tin tặc trực tiếp quét các hệ thống tìm lỗ hổng, đột
nhập vào hệ thống, cài đặt mã tấn cơng và ra lệnh kích hoạt tấn cơng. Chỉ những tấn
công DDoS trong giai đoạn đầu mới được thực hiện thủ công.

6


2) Tấn công bán tự động: Trong dạng này, mạng lưới thực hiện tấn công
DDoS bao gồm các máy điều khiển (master/handler) và các máy agent (slave,
deamon, zombie, bot). Các giai đoạn tuyển chọn máy agent, khai thác lỗ hổng và
lây nhiễm được thực hiện tự động. Trong đoạn tấn công, tin tặc gửi các thông tin
bao gồm kiểu tấn cơng, thời điểm bắt đầu, khoảng thời gian duy trì tấn cơng và đích
tấn cơng đến các agent thơng qua các handler. Các agent sẽ theo lệnh gửi các gói tin
tấn công đến hệ thống nạn nhân.
3) Tấn công tự động: Tất cả các giai đoạn trong quá trình tấn công DDoS, từ
tuyển chọn máy agent, khai thác lỗ hổng, lây nhiễm đến thực hiện tấn công đều
được thực hiện tự động. Tất cả các tham số tấn công đều được lập trình sẵn và đưa
vào mã tấn cơng. Tấn công dạng này giảm đến tối thiểu giao tiếp giữa tin tặc và
mạng lưới tấn công, và tin tặc chỉ cần kích hoạt giai đoạn tuyển chọn các máy
agent.
Dựa trên giao thức mạng
Dựa trên giao thức mạng, tấn công DDoS có thể chia thành 2 dạng:
1) Tấn cơng vào tầng mạng hoặc giao vận: Ở dạng này, các gói tin TCP,
UDP và ICMP được sử dụng để thực hiện tấn công.
2) Tấn công vào tầng ứng dụng: Ở dạng này, các tấn công thường hướng đến
các dịch vụ thông dụng ứng với các giao thức tầng ứng dụng như HTTP, DNS và
SMTP. Tấn cơng DDoS tầng ứng dụng cũng có thể gây ngập lụt đường truyền và

tiêu hao tài nguyên máy chủ, làm ngắt quãng khả năng cung cấp dịch vụ cho người
dùng hợp pháp. Dạng tấn công này rất khó phát hiện do các u cầu tấn cơng tương
tự yêu cầu từ người dùng hợp pháp.
Dựa trên phương thức giao tiếp
Thông thường, để thực hiện tấn công DDoS, tin tặc phải tuyển chọn và chiếm quyền
điều khiển một số lượng lớn các máy tính có kết nối Internet, và các máy tính này
sau khi bị cài phần mềm agent trở thành các bots - công cụ giúp tin tặc thực hiện tấn
công DDoS. Tin tặc thông qua các máy điều khiển (master) giao tiếp với các bots để

7


gửi thông tin và các lệnh điều khiển tấn công. Theo phương thức giao tiếp giữa các
master và bots, có thể chia tấn công DDoS thành 4 dạng:
1) DDoS dựa trên agent-handler: Tấn công DDoS dựa trên dạng này bao
gồm các thành phần: clients, handlers và agents (bots/zombies). Tin tặc chỉ giao tiếp
trực tiếp với clients. Clients sẽ giao tiếp với agents thông qua handlers. Nhận được
lệnh và các thông tin thực hiện tấn công, agents trực tiếp thực hiện việc tấn công.
2) DDoS dựa trên IRC: Internet Relay Chat (IRC) là một hệ thống truyền
thông điệp trực tuyến cho phép nhiều người dùng tạo kết nối và trao đổi các thông
điệp theo thời gian thực. Trong dạng tấn công DDoS này tin tặc sử dụng IRC làm
kênh giao tiếp với các agents, không sử dụng handlers.
3) DDoS dựa trên web: Trong dạng tấn công này, tin tặc sử dụng các trang
web làm phương tiện giao tiếp qua kênh HTTP thay cho kênh IRC. Các trang web
của tin tặc được sử dụng làm trung tâm điều khiển và lây nhiễm các phần mềm độc
hại, các công cụ khai thác các lỗ hổng an ninh, cài đặt các agents chiếm quyền điều
khiển hệ thống máy tính và biến chúng thành các bots. Các bots có thể được xác lập
cấu hình hoạt động từ đầu, hoặc chúng có thể gửi các thơng điệp đến trang web điều
khiển thông qua các giao thức web phổ biến như HTTP và HTTPS.
4) DDoS dựa trên P2P: Ở dạng này, tin tặc sử dụng giao thức Peer to Peer –

một giao thức ở tầng ứng dụng làm kênh giao tiếp. Bản chất của các mạng P2P là
phân tán nên rất khó để phát hiện các bots giao tiếp với nhau thông qua kênh này.
Dựa trên cường độ tấn công
Dựa trên cường độ hoặc tần suất gửi u cầu tấn cơng, có thể phân loại tấn cơng
DDoS thành 5 dạng:
1) Tấn công cường độ cao: Là dạng tấn công gây ngắt quãng dịch vụ bằng
cách gửi cùng một thời điểm một lượng rất lớn các yêu cầu từ các máy
agents/zombies nằm phân tán trên mạng.
2) Tấn công cường độ thấp: Các agents/zombies được phối hợp sử dụng để
gửi một lượng lớn các yêu cầu giả mạo, nhưng với tần suất thấp, làm suy giảm dần

8


dần hiệu năng mạng. Dạng tấn cơng này rất khó bị phát hiện do lưu lương tấn công
tương tự như lưu lượng đến từ người dùng hợp pháp.
3) Tấn công cường độ hỗn hợp: Là dạng kết hợp giữa tấn công cường độ cao
và tấn công cường độ thấp. Đây là dạng tấn cơng phức hợp, trong đó tin tặc thường
sử dụng các cơng cụ để sinh các gói tin tấn công gửi với tần suất cao và thấp.
4) Tấn công cường độ liên tục: Là dạng tấn công được thực hiện liên tục với
cường độ tối đa trong suốt khoảng thời gian từ khi bắt đầu đến khi kết thúc.
5) Tấn công cường độ thay đổi: Đây là dạng tấn cơng có cường độ thay đổi
động nhằm tránh bị phát hiện và đáp trả.
Dựa trên việc khai thác các lỗ hổng an ninh
Dựa trên việc khai thác các điểm yếu và lỗ hổng an ninh, tấn cơng DDoS có thể
được phân loại thành 2 dạng:
1) Tấn công gây cạn kiệt băng thông: Các tấn công DDoS dạng này được
thiết kế để gây ngập lụt hệ thống mạng của nạn nhân bằng các yêu cầu truy nhập giả
mạo, làm người dùng hợp pháp không thể truy nhập dịch vụ. Tấn công dạng này
thường gây tắc nghẽn đường truyền bằng lượng yêu cầu giả mạo rất lớn gửi bởi các

máy tính ma (zombie) của các botnets. Dạng tấn công này cũng cịn được gọi là tấn
cơng gây ngập lụt hoặc tấn công khuếch đại.
2) Tấn công gây cạn kiệt tài nguyên: Các tấn công DDoS dạng này được
thiết kế để tiêu dùng hết các tài nguyên trên hệ thống nạn nhân, làm cho nó khơng
thể phục vụ các u cầu của người dùng hợp pháp. Dạng tấn cơng DDoS này có thể
được chia nhỏ thành 2 dạng (i) tấn công khai thác tính năng hoặc lỗi cài đặt của các
giao thức và (ii) tấn cơng sử dụng các gói tin được tạo đặc biệt. Trong dạng thứ
nhất, tin tặc khai thác các lỗi hoặc các tính năng đặc biệt của các giao thức trên hệ
thống nạn nhân để gây cạn kiệt tài nguyên. Trong dạng thứ hai, kẻ tấn công tạo ra
các gói tin đặc biệt, như các gói sai định dạng, gói có khiếm khuyết, gửi đến hệ
thống nạn nhân. Hệ thống nạn nhân có thể bị trục trặc khi cố gắng xử lý các gói tin
dạng này. Ví dụ, trong tấn công Ping of Death, tin tặc gửi các gói tin ICMP có kích
thước lớn hơn 64KB gây lỗi các máy chạy hệ điều hành Windows XP.

9


1.1.3 Đặc điểm và ảnh hưởng của tấn công từ chối dịch vụ vào tầng ứng
dụng của websites.
1.1.3.1. Slowloris
Lỗi này được phát hiện và công bố từ năm 2009 do thiết kế của của máy chủ
web apache được dùng rất phổ biến trên internet. Máy chủ apache được thiết kế một
lúc sẽ chỉ phục vụ số người dùng theo tham số MaxClients được cấu hình từ trước.
Thêm vào đó khi nhận request từ người dùng apache sẽ đợi request kết thúc bằng
cách đợi dữ liệu kết thúc request “\r\n\r\n” và mặc định apache sẽ làm việc này theo
tham số cấu hình timeout là 300 giây. Lợi dụng lỗi này người tấn công website sẽ
làm một mã khai thác dể tấn công vào bằng cách giữ được connection trong thời
gian nhiều nhất có thể để chiến tồn bộ số slot mà apache dùng để phục vụ người
dùng. Người tấn công lúc đó sẽ viết mã nhằm tạo ra request http vào server cần tấn
cơng, khác với cách request bình thường mã này sẽ làm chậm quá trình request lên

bằng cách gửi dữ liệu chậm lên server: cứ 1 đến 2 giây mới gửi dữ lệu 1 lần, thêm
rất nhiều dữ liệu rác vào request và chậm gửi kết thúc request. Khi website bị tấn
cơng bởi dạng tấn cơng này thì tất cả các người dùng khác rất khó truy cập vào
server vì gần như tất cả các slot để phục vụ người dùng hầu như đã bị người tấn
công chiếm dụng hết. Thêm vào đó đạng tấn cơng này khơng phải là dạng tấn công
đánh vào tài nguyên của server, khi đó người quan trị chưa từng có kinh nghiệm sẽ
rất khó tìm ra lý do tại sao người dùng khơng thể truy cập vào được server. Với
dạng tấn công này thì log của apache cũng hồn tồn bình thường chỉ thể hiện một
số dòng log ghi lại việc request bị timeout rất dễ nhầm với log khi đang bị tấn cơng
từ chối dịch vụ bình thường. Việc tấn cơng lỗi này khá dễ dàng do trên internet có
rất nhiều cơng cụ được công bố, hiện tại các phiên bản apache được cài mặc định
trên các hệ điều hành hay dùng cho máy chủ vẫn chưa chống được dạng tấn công
này. Cộng vào đó cách tấn cơng này khơng địi hỏi máy của người tấn cơng phải có
cấu hình tốt hoặc đường truyền tốt do vậy việc tấn công càng dễ dàng hơn. Khi
website bị tấn công dạng này gần như tất cả người dùng không thể truy cập vào
website được. Nhất là trang thương mại điện tử mà số lượng khách hàng đến rất lớn

10


từ website thì ảnh hưởng khi bị tấn cơng dạng này rất lớn. Việc khắc phục lỗi này
trong thời gian gắn lại cần có chuyên gia có kinh nghiệm xử lý tấn công từ chối dịch
vụ mà các công ty làm về thương mại điện tử nhỏ thì khó có thể thuê được hoặc nhờ
hỗ trợ được từ chuyên gia kiểu này.

1.1.3.2. Slow read, slow post.
Sau khi các web service và một số web application firewall miễn phí cập
nhập để chặn lỗi Slowloris. Thì khoảng năm 2012 các chuyên gia bảo mật tìm ra
kiểu tấn cơng mới hơn vào các web service với mức độ lớn hơn ngoài apache bị ảnh
hưởng cịn có cả iis là web service được dùng khá phổ biến ở Việt Nam. Để hạn chế

ảnh hưởng của lỗi slowloris thêm vào đó hiện tại tốc độ mạng đã tốt hơn rất nhiều
nên việc đợi request trong 300 giây là thực sự không cần thiết lắm. Các cấu hình
mặc định của apache đã giảm thời gian timeout xuống dưới thành 60 giây và cùng
đó có xử lý riêng cho phần headers và phần body của request. Khi có cập nhật mới
đó các chuyên gia bảo mật đã nghĩ ra được cách tấn công mới hơn là Slow Post,
cách thức tấn công của slow post là người tấn cơng sẽ gửi POST request lên server
với phần header hồn tồn bình thường sau đó q trình gửi body lên thì sẽ tiến
hành làm chậm đi bằng cách gửi dữ liệu lên rất chậm. Trong request bình thường thì
thơng tường quá trình gửi header lên sẽ nhanh hơn rất nhiều khi gửi body lên do
kích thước của body thường rất lớn do đó người tấn cơng có thể đơn giản gửi
request với size của body rất lớn và gửi dần dữ liệu lên. Do thời gian timeout của
quá trình nhận body sẽ nhiều hơn nên kẻ tấn công sẽ chiếm được nhiều connections
hơn rất nhiều. Đặc biệt cách tấn công ảnh hưởng đến cả iis vốn không bị ảnh hưởng
bởi lỗi slowloris do đã triển khai timeout khác nhau cho từng phần của request. Sau
đó khi một số web service cập nhật bản vá cho lỗi này bằng cách kiểm tra tốc độc
upload của client lên server thì các chuyên gian bảo mật lại nghĩ ra một cách tấn
công mới khi phát hiện ra quá trình server gửi response trả xuống client thì timeout
quá trình này rất hớn. Slow read lợi dụng cách hoạt động này của web service tiến
hành tấn cơng bằng cách tạo request lên bình thường với header hợp lệ hồn tồn
tuy vậy q trình nhận response trả về sẽ nhận rất chậm như là kết nối mạng có vấn

11


đề. Cách thức tấn cơng này cực kỳ khó phát hiện nếu chỉ xem log của server không
và cách thức chặn cũng rất phức tạp. Về ảnh hưởng thì khi bị tấn công bởi 2 dạng
tấn công này ảnh hưởng cũng tương đối giống lỗi SlowLoris khi tấn công cũng
không yêu cầu băng thông cũng như tài nghiên của người tấn công các mã tấn công
cũng đã được public trên mạng rất nhiều.


Hình 1. Tấn cơng từ chối dịch vụ website bằng công cụ slowhttptest.

1.1.3.3. Http Flood.
Kiểu tấn công phổ biến nhất vào website ở tầng ứng dụng, cách tấn công này
nhằm vào tài nguyên của server khiến server quá tải để không đáp ứng được yêu
cầu của người dùng. Cách thức tấn công theo cách này khá phổ biến và có rất nhiều
cơng cụ thực hiện được. Hiện tại thì khi triển khai kiểu tấn cơng này người tấn cơng
có thể thực hiện qua 3 cách chính: botnet, qua tận dụng khác website, công cụ tạo
requests.
Tấn công từ chối dịch vụ ở mức úng dụng vào website bằng botnet để thực
hiện kiểu tấn công này người tấn công bằng cách nào đó chiếm quyền điều khiển
các máy tính hoặc thiết bị mạng, các thiết bị có mạng và dùng để thực hiện request
lên server cần tấn công. Để thực hiện kiểu tấn cơng này thì người tấn cơng cần có

12


tìm hiểu và có kỹ thuật một chút, hoặc phải th được người có kỹ thuật để thực
hiện tấn cơng. Đặc điểm của kiểu tấn công là trên server sẽ thấy một loạt request
liên tục ở các địa chỉ ip khác nhau. Tải của server thường lên rất cao trong q trình
tấn cơng và rất dễ nhận biết khi bị tấn công kiểu này. Khi bị tấn công này các quản
trị website bình thường hay dùng cách chặn địa chỉ ip bằng firewall dạng iptables
hoặc cấm không cho truy cập trên web service. Kiểu tấn công này tương đối phổ
biến và đã diễn ra nhiều cuộc tấn công tương tự vào các trang web của Việt Nam,
tuy vậy về yêu cầu kỹ thuật hoặc chi phí để thực hiện nên đối với các trang thương
mại điện tử vừa và nhỏ thường khơng hay bị tấn cơng bằng phương thức này.

Hình 2. Tấn công từ chối dịch vụ bằng mạng botnet.
Tấn công thông qua một số website khác, cách thức tấn công người tấn công
sẽ dùng một số điểm yếu của các website lớn có người dùng lớn. Người tấn cơng

bằng cách nào đó có thể chèn file ảnh vào chữ ký vào bài viết, chèn javascript hoặc
flash vào các website có lượng truy cập lớn với mục đích khi người dùng vào các
website đó sẽ gửi request đến web cần tấn công. Kiểu tấn công này thường được
dùng khá nhiều tuy vậy gần đây các website lớn đã dùng nhiều biện pháp để chặn

13


kiểu tấn công này như xác thực nội dung được người dùng nhập lên web, không cho
phép chèn script vào site.... Do vậy kiểu tấn cơng này khơng cịn phổ biến lắm. Việc
chặn kiểu tấn công này trước đây đối với các quản trị viên đơn giản là kiểm tra http
reference rồi tiến hành chuyển hướng người dùng về trang chủ, tuy vậy hiện tại kiểu
tấn cơng này cũng có nhiều kỹ thuật mới để vượt qua kiểu tấn công trên.
Dùng các công cụ tạo request để tấn công lên website, các công cụ này đơn
giản là tạo request bằng cách viết mã chỉ tạo request gửi lên và không nhận
response, lợi dụng các lỗi các website tự động lấy content của một links bất kỳ... để
tạo request lên website cần tấn cơng. Các cơng cụ kiểu này có thể tìm được rất dễ
trên internet và cũng có rất nhiều cách thức triển khai khác nhau. Các công cụ mới
hiện tại các nhiều cách để có thể vượt qua được các cơng cụ phịng chống tấn cơng
từ chối dịch vụ như: thay vì request từ ip gốc thì tấn cơng qua các hệ thống proxy
hay socks, giả headers của request sau cho request hợp lệ nhất có thể, tạo các
request giống người dùng bình thường thay vì chỉ request vào 1 link cụ thể như
công cụ cũ. Kiểu tấn công là kiểu tấn công hay gặp phải đối với các trang thương
mại điện tử cỡ vừa và nhỏ ở Việt Nam nhất do cách sử dụng công cụ rất rõ ràng và
dễ làm các tài nguyên cần để thực hiện tấn cơng có thể tìm kiếm dễ trên internet.

Hình 3. Server quá tải khi bị tấn công từ chối dịch vụ.
Khi bị tấn cơng theo dạng này thì rủi do đối với trang web thường rất lớn do
kiểu tấn công này đánh thẳng vào tài nguyên của server rất hay dẫn đến một số vấn
đề lớn hơn như hỏng server do server quá tải, hỏng database do ổ cứng quá tải. Một

số trường hợp khi web thuê hạ tầng của bên cung cấp khác thì bên cung cấp thường

14


dừng cung cấp hạ tầng cho web việc tìm đơn vị cung cấp mới cài đặt lại web tốn rất
nhiều thời gian và công sức.

1.2. Phương pháp luận nghiên cứu các giải pháp ngăn chặn tấn công từ
chối dịch vụ.
Để tiến hành nghiên cứu giải pháp ngăn chặn tấn công từ chối dịch vụ ở tầng
ứng dụng ta sẽ đi vào nghiên cứu các vấn đề chung nhất cần được giải quyết để có
thể phát hiện được kiểu tấn cơng này.

1.2.1. Các yêu cầu đối với một hệ thống chấn tấn công từ chối dịch vụ.
Phát hiện nhiều cơ chế
Hiện nay các hình thức tấn cơng từ chối dịch vụ rất đa dạng và luôn được
phát triển không ngừng. Càng ngày càng có nhiều kiểu tấn cơng mới. Do vậy, một
hệ thống phát hiện từ chối dịch vụ thật sự hiệu quả khi phát hiện được hầu hết các
kiểu tấn cơng. Ln đánh giá được hệ thống mạng khi có những dấu hiệu bất
thường, phải cập nhật thường xuyên những kiểu tấn cơng mới để có biện pháp phát
hiện nhanh nhất.
Tính trong suốt với người dùng
Về cơ bản khi triển khai hệ thống phát hiện từ chối dịch vụ phải hoàn toàn
trong suốt với người dùng. Người dùng hoàn toàn khơng biết hoặc rất khó để biết có
sự tồn tại của hệ thống là yêu cầu rất cần thiết. Một hệ thống chống tấn công từ chối
dịch vụ khiến trải nghiệm của người dùng bị giảm sút sẽ khơng có giá trị nhiều
trong thực tế.
Phân biệt được bot của các trang tìm kiếm
Các trang tìm kiếm trên thế giới hầu như đều có bot để tiến hành lấy nội

dung của tất cả các website trên internet. Về mặt kỹ thuật các con bot này hoạt động
rất giống các công cụ tấn công từ chối dịch vụ hay botnet. Thêm vào đó lượng
khách hàng của các trang thương mại điện tử đến từ các trang tìm kiếm như google
là rất nhiều. Do đó nếu hệ thống chống tấn cơng mà chặn nhầm bot của các trang
tìm kiếm thì cũng ảnh hưởng nhiều đến website hệ thống đang bảo vệ.
Phản ứng

15


Khi một cuộc tấn công từ chối dịch vụ xảy ra. Bước đầu tiên và cũng là quan
trọng nhất là phát hiện chính xác cách tấn cơng. Hệ thống phịng thủ phải đáp ứng
trong thời gian thực, đặc biệt là tốc độ phản ứng phải cao. Tránh trường hợp chặn
nhầm người dùng hợp lệ.

1.2.2. Phương pháp để xác định tấn công từ chối dịch vụ.
1.2.2.1. Xác thực người dùng.
Vấn đề quan trọng của một hệ thống chống tấn công từ chối dịch vụ trên tầng
ứng dụng cho website là làm sao phân biệt được người dùng thật với request đến từ
công cụ hay botnet hay các hệ thống khác. Để làm được việc này ta phải nghiên cứu
kỹ các thức thực hiện của các dạng tấn công từ chối dịch vụ mà ta đã từng biết. Các
công cụ tấn công từ chối dịch vụ như đã nói ở phần 1.1.3 kể cả botnet hiện tại đều
thực hiện tấn công bằng cách tạo request http bằng một thư viện nào đó mức socket
vì nếu thực hiện đầy đủ request như một browser bình thường thì dữ liệu phải nhận
về sẽ rất lớn, phải mơ phỏng được browser chạy do đó kích thước và mức độ tiêu
tốn tài nguyên cũng rất cao. Cùng với đó các kỹ thuật tấn cơng qua các website có
người dùng nhiều cũng có những vấn đề như khi load ảnh thì browser chỉ lấy được
cookie của trang web khi cookie đó được set qua header, javascript cũng chỉ có
được cookie nếu cookie đó khơng được bật cờ http only. Do đó để xác thực được
người dùng với các request tấn cơng từ chối dịch vụ thì cách tốt nhất là dùng một

cookie để xác thực người dùng vào cookie đó nên được set thơng qua javascript.
Tuy vậy nếu việc kiểm tra bằng cookie này không được làm tốt thì người tấn cơng
có thể có cách để qua mặt được cơ chế kiểm tra này như: dùng browser hoặc mô
phỏng browser để lấy được cookie xác thực sau đó dùng cookie này để tạo các
request tấn cơng ddos sau này. Để giải quyết vấn đề đó thì cookie khi được tạo ra
phải có thời gian tồn tại tức là sau thời gian đó browser phải xác thực lại mới có thể
request tiếp được. Để đảm bảo tính an tồn và tránh khả năng người tấn cơng có thể
tìm cách tạo ra được cookie hợp lệ, cookie xác thực này phải được tạo ra bằng các
phương pháp mã hoá đủ tốt. Trong trường hợp người tấn công dùng cách nào đó
như mơ phỏng browser để vượt qua được tất cả các bước này ta cần có cách xác

16


thực tốt hơn q trình này có thể làm bằng cách dùng phương thức giới hạn số
request trong một thời gian xác định, nếu người dùng vượt qua giới hạn này thì phải
được xác thực bằng phương pháp xác thực khó vượt qua hơn. Phương thức xác thực
thế này cũng đã được google triển khai ở hệ thống của mình. Hiện tại một số công
cụ mô phỏng browser đã phát triển rất mạnh do đó phương thức xác thực chỉ dùng
cookie và javascript là chưa đủ, captcha là công cụ để phát hiện người dùng và máy
rất hữu hiệu và khả năng để có thể vượt qua được là khơng cao.

Hình 4. Captcha để xác thực người dùng với bot.
Với những vấn đề đã nêu ở trên tác giả đề xuất ra giải pháp để xác thực
người dùng như sau: khi người dùng vào sẽ được cấp một cookie xác thực theo các
đặc điểm chỉ riêng người dùng đó có, cookie này sẽ được chuyển xuống người dùng
thông qua javascript đây là bước xác nhận người dùng đầu tiên và gần như trong
suốt với người dùng do hoàn toàn do browser thực hiện. Khi người dùng tạo request
quá một giới hạn nào đó trên một khoảng thời gian thì người dùng sẽ phải xác thực
thơng qua catpcha để có được cookie xác thực. Cookie xác thực được tạo thành bởi

các yếu tố riêng biệt từ người dùng với một mã bí mật chỉ server có và có thời gian
tồn tại xác định. Với các xác thực thế này có thể tạo thành một hệ thống khá tốt để
ngăn chặn gần như tất cả các request tấn công từ chối dịch vụ đến hệ thống website.

17


1.2.2.2. Xác thực các bot của trang tìm kiếm.
Khi xây dựng tường lửa cho website ta cũng phải chú ý đến việc xác thực
được bot đến từ các trang tìm kiếm. Các công cụ chống tấn công từ chối dịch vụ
được phổ biến rộng rãi trên mạng làm việc này bằng cách là kiểm tra xem useragent
trong phần request có phải là useragent của các bot này không nếu đúng thì sẽ cho
qua ln khơng cần xác thực gì. Tuy vậy việc này dẫn đến người tấn cơng có thể dễ
dàng qua mặt được hệ thống bảo vệ này khi đặt useragent của request là useragent
của các bot tìm kiếm này. Cách làm này được phổ biến rất rộng rãi trên các diễn đàn
của Việt Nam từ những năm 2009 đến nay. Thêm vào đó các bot của các cơng cụ
tìm kiếm này đều khơng hỗ trợ javascript hay bất cứ cách nào để giải mã được
captcha do đó phương thức xác thực người dùng như ở phần 1.2.2.1 là khơng thể
dùng được trong trường hợp này.
Q trình nghiên cứu đặc điểm của các bot của các cơng cụ tìm kiếm lớn tác
giả thấy rằng việc kiểm tra xem bot có phải của các cơng cụ tìm kiếm có 2 cách đơn
giản sau đây: kiểm tra dựa vào dns, kiểm tra dựa vào địa chỉ ip.
Kiểm tra dựa vào dns được dùng với 2 cơng cụ tìm kiếm phổ biến trên
internet là google và bing. Các bot tìm kiếm của 2 công cụ này khi truy vấn đến các
website sẽ đến từ các ip có hostname là id của bot đó và một domain được quy định
chung nhất. Do đó các bot này rất dễ để xác thực bằng cách kiểm tra địa chỉ ip của
bot có phải có hostname theo tiêu chuẩn nêu trên không. Việc kiểm tra này thông
qua dns là một giao thức rất nhanh nên không tiêu tốn quá nhiều tài nguyên của
server.
Kiểm tra dựa vào địa chỉ ip thông thường các hãng công nghệ lớn trên thế

giới để đăng ký cho mình các dải ip cụ thể. Một số bot của một số hãng công nghệ
như facebook không dùng tiêu chuẩn như google hay bing là các địa chỉ ip nó dùng
được gắn với hostname theo định dạng cụ thể do đó việc kiểm tra tính xác thực của
bot này phải thơng qua việc kiểm tra ip của bot có thuộc sở hữu của các hãng cơng
nghệ cụ thể của bot khơng. Q trình kiểm tra này cũng đúng với cả các bot tìm
kiếm của google và bing.

18


CHƯƠNG 2: XÂY DỰNG HỆ THỐNG NGĂN CHẶN
TẤN CÔNG TỪ CHỐI DICH VỤ CHO WEBSITES.
2.1. Thiết kế tổng quan mô hình và chức năng của hệ thống.
2.1.1. Kiến trúc tổng quan và các thành phần của hệ thống.
Như đã trình bày ở phần trên với các chức năng mong muốn của hệ thống
phịng chống phịng chống tấn cơng từ chối dịch vụ. Tác giả đề xuất hệ thống sẽ
hoạt động như một hệ thống proxy đứng trước website. Để dùng được hệ thống thì
người chủ website sẽ cấu hình địa chỉ dns của web trỏ vào hệ thống. Các request khi
đến website sẽ được lọc thông qua hệ thống chống tấn công từ chối dịch vụ. Hệ
thống chỉ cho các request bình thường đến hệ thống website đằng sau, cịn các
request đến từ botnet hoặc người tấn công sẽ bị chặn và không thể đến được web
đằng sau. Cách làm như này sẽ khiến website khó có thể bị quá tải hơn, cách thứ
triển khai dễ hơn rất nhiều.
Cũng theo như các yêu cầu từ phần trên hệ thống sẽ phải gồm các module
chính: module sinh cookie xác thực, module xác thực qua javascript, module xác
thực qua catpcha, module limit requests, module xác thực bot của các trang tìm
kiếm. Trong đó yêu cầu với từng module như sau:
Module tạo cookie xác thực: các thứ tạo cookie xác thực phải có u cầu là chỉ
phía trên server mới có thể tạo được cookie xác thực được. Quá trình tạo cookie
phải tốn ít tài ngun nhất có thể khơng dùng các thuật toán mã hoá quá phực tạp

dẫn đến hệ thống phải chịu tải lớn khi bị tấn công từ chối dịch vụ. Cơ chế xác thực
cookie xem có hợp lệ khơng phải đơn giản. Module này sẽ được dùng cho 2 module
xác thực còn lại để xác thực người dùng hợp lệ.
Module xác thực qua javascript: Module dùng để người dùng có thể nhận được
cookie xác thực tạo ra từ module trước. Mã dùng trong module này phải tương thích
với tất cả các trình duyệt phổ biến. Mã cũng phải có kích thước nhỏ và đơn giản để
tránh tốn quá nhiều băng thông của hệ thống.

19


×