HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
VŨ THỊ QUYÊN
NGHIÊN CỨU GIẢI PHÁP CHỐNG TẤN CÔNG DDOS
CHO WEBSITE TRƯỜNG CAO ĐẲNG BÁCH KHOA
HƯNG YÊN
CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH
MÃ SỐ: 60.48.01.01
TÓM TẮT LUẬN VĂN THẠC SĨ
HÀ NỘI – 2013
- 2 -
MỞ ĐẦU
Trong thời đại công nghệ thông tin như hiện nay, khi mà
internet trở nên thân quen và dần trở thành một công cụ không thể
thiếu trong cuộc sống thì lợi ích của website đối với các cơ quan nhà
nước nói chung, người dân và các doanh nghiệp là vô cùng lớn.
Bên cạnh đó, các hình thức phá hoại mạng cũng trở nên tinh
vi và phức tạp hơn. Do đó đối với mỗi hệ thống, nhiệm vụ bảo mật
được đặt ra cho người quản trị mạng là hết sức quan trọng và cần
thiết. Xuất phát từ những thực tế đó, việc tìm hiểu về các cách tấn
công phổ biến nhất hiện nay và các phòng chống các loại tấn công
này là rất thiết thực.
Từ đầu tháng 7/2013, hàng loạt trang báo điện tử như
Vietnamnet, Tuổi Trẻ, Dân Trí bị tấn công từ chối dịch vụ (DDoS -
Distributed Denial of Service), gây ra nghẽn và ngưng trệ việc truy
cập thông tin từ phía người dùng. Các cơ quan quản lí, nhà mạng
cùng với chuyên gia an ninh thông tin của Hiệp hội An toàn Thông
tin (VNISA) cùng phối hợp tìm kiếm giải pháp chống lại.
Tại Website trường Cao đẳng Bách Khoa Hưng Yên nơi em
đang giảng dạy thường xuyên bị tấn công mà phương thức tấn công
chủ yếu là DDos làm cho việc truy cập không thể thực hiện được ảnh
hưởng không nhỏ đến các hoạt động trong nhà trường. Đồng thời
việc ngăn chặn các cuộc tân công ấy còn chưa hiệu quả. Vì vậy việc
nghiên cứu giải pháp về vấn đề đảm bảo an toàn chống tấn công
Website của trường có ý nghĩa hết sức quan trọng và cần thiết.
- 3 -
Xuất phát từ những thực tế trên tôi đã chọn đề tài ”Nghiên
cứu giải pháp chống tấn công Ddos cho Website trường Cao đẳng
Bách Khoa Hưng Yên “.
Bố cục của luận văn gồm phần mở đầu và 3 chương nội
dung, cụ thể là:
- Chương 1: Tổng quan về các phươn thức tấn công phổ biến
hiện nay
Trình bày sơ lược về quá trình phát triển và các mô hình hoạt
động của web, các phương thức tấn công cũng như cách phòng tránh
chúng.
- Chương 2: Tìm hiểu về cách thức tấn công DDos
Trình bày một cách chi tiết các phương thức tân công cũng như
cách thức phòng tránh DDos.
- Chương 3: Xây dựng giải pháp phòng chống Ddos cho
Website trường Cao đẳng Bách Khoa Hưng Yên.
Trình bày giải pháp thực nghiện phòng chống DDOS áp dụng
cho Website của trường Cao đẳng Bách Khoa Hưng Yên. Từ đó đưa
ra những kết luận và so sánh.
- 4 -
CHƯƠNG 1 - TỔNG QUAN VỀ CÁC PHƯƠNG THỨC
TẤN CÔNG PHỔ BIẾN HIỆN NAY
1.1. Mô tả Website và cách hoạt động
Website là tập hợp nhiều trang [web page]. Khi doanh
nghiệp xây dựng website nghĩa là đang xây dựng nhiều trang thông
tin, catalog sản phẩm, dịch vụ Để tạo nên một website cần phải có
3 yếu tố cơ bản:
Cần phải có tên miền (domain).
Nơi lưu trữ website (hosting).
Nội dung các trang thông tin [web page].
1.2. Các dịch vụ và ứng dụng trên nền Web
Với công nghệ hiện nay, website không chỉ đơn giản là một
trang tin cung cấp các tin bài đơn giản. Những ứng dụng viết trên
nền web không chỉ được gọi là một phần của website nữa, giờ đây
chúng được gọi là phần mềm viết trên nền web.
Có rất nhiều phần mềm chạy trên nền web như Google word
(xử lý văn bản), Google spreadsheets (xử lý bảng tính), Email ,…
1.3. Tìm hiểu về Local Attack (Tấn công cục bộ)
1.3.1 Cách tấn công Local Attack
Local attack là một trong những kiểu hack rất phổ biến và
không được khuyên dùng. Đối một web server thông thường khi
đăng ký một tài khoản trên server nào đó thì sẽ được cấp một tài
khoản trên server đó và một thư mục để quản lý site của mình.
- 5 -
1.3.2 Cách bảo mật cho Local Attack
Để hạn chế Local Attack, chúng ta nên Chmod
filemanager, di chuyển file config.php và sửa đổi file htaccess
và nhất là thường xuyên backup dữ liệu.
- Chmod File Manager:
- Thay đổi cấu trúc, tên file mặc định có chứa các thông tin quan
trọng . Nếu có thể hãy thay đổi cả cấu trúc CSDL .
- Chống local bằng cách bật safe-mode (dành cho root):
1.3.3. Các công cụ hỗ trợ
Công cụ hỗ trợ Local Attack phổ biến và hay dùng nhất là
các con shell.Các loại shell thường sử dụng là R57,C99,
1.4. Cách tấn công từ chối dịch vụ - Denial Of Service
1.4.1. Tấn công từ chối dịch vụ DOS (Denial Of Service )
1.4.1.1. Khái quát về DOS
DoS (Denial of Service) có thể mô tả như hành động ngăn
cản những người dùng hợp pháp của một dịch vụ nào đó truy cập và
sử dụng dịch vụ đó. Nó bao gồm cả việc làm tràn ngập mạng, làm
mất kết nối với dịch vụ… mà mục đích cuối cùng là làm cho server
không thể đáp ứng được các yêu cầu sử dụng dịch vụ từ các client.
Các cách thức tấn công:
- 6 -
- Phá hoại dựa trên tính giới hạn hoặc không thể phục hồi của
tài nguyên mạng. Thông qua kết nối:
Tấn công kiểu SYN flood:
Lợi dụng nguồn tài nguyên của chính nạn nhân để tấn công:
+ Tấn công kiểu Land Attack:
+ Tấn công kiểu UDP flood:
Sử dụng các nguồn tài nguyên khác:
+ Tấn công kiểu Smurf Attack:
+ Tấn công kiểu Tear Drop:
- Phá hoại hoặc chỉnh sửa thông tin cấu hình.
- Phá hoại hoặc chỉnh sửa vật lý phần cứng.
1.4.1.2. Các cách phòng chống DOS
- Thiết lập password bảo vệ các thiết bị hay các nguồn tài nguyên
quan trọng.
- Thiết lập các mức xác thực đối với người dùng cũng như các
nguồn tin trên mạng (các thông tin cập nhật định tuyến giữa các
router cũng nên thiết lập ở chế độ xác thực)
- Xây dựng hệ thống lọc thông tin trên router, firewall… và hệ
thống bảo vệ chống lại SYN flood.
- Chỉ chấp nhận các dịch vụ cần thiết, tạm thời dừng các dịch vụ
chưa có yêu cầu cung cấp hoặc không sử dụng.
- Xây dựng hệ thống định mức, giới hạn cho người sử dụng để
ngăn ngừa trường hợp người dùng có ác ý muốn lợi dụng các tài
nguyên trên server để tấn công chính server hay mạng, server khác.
- 7 -
- Liên tục cập nhật, nghiên cứu, kiểm tra để phát hiện các lỗ hổng
bảo mật và có biện pháp khắc phục kịp thời.
- Sử dụng các biện pháp kiểm tra hoạt động của hệ thống một
cách liên tục để phát hiện ngay những hành động bất bình thường.
- Xây dựng hệ thống dự phòng.
1.4.2 Tấn công từ chối dịch vụ phân tán DDOS (Distributed
Denial of Service)
Distributed Denial Of Service (DDoS) là kỹ thuật tấn công
làm các ISP lo âu, giới hacker chính thống thì không công nhận
DdoS là kỹ thuật tấn công chính thống. Thế nhưng Blackhat đang có
rất nhiều ưu thế khi triển khai tấn công bằng kỹ thuật DDOS. Việc
phòng ngừa và ngăn chặn DdoS vẫn còn đang thực hiện ở mức độ
khắc phục hậu quả và truy tìm thủ phạm
1.4.3 Tấn công từ chối dịch vụ phản xạ nhiều vùng DRDoS
(Distributed Reflection Denial of Service)
Về cơ bản, DrDoS là sự phối hợp giữa hai kiểu DoS và DDoS. Nó
có kiểu tấn công SYN với một máy tính đơn, vừa có sự kết hợp giữa
nhiều máy tính để chiếm dụng băng thông như kiểu DDoS. Kẻ tấn
công thực hiện bằng cách giả mạo địa chỉ của server mục tiêu rồi gửi
yêu cầu SYN đến các server lớn như Yahoo, Micorosoft…,để các
server này gửi các gói tin SYN/ACK đến server mục tiêu. Các server
lớn, đường truyền mạnh đã vô tình đóng vai trò zoombies cho kẻ tấn
công như trong DdoS.
- 8 -
1.5. SQL Injection
1.5.1. Tấn công SQL injection
1.5.1.1. SQL Injection là gì?
- SQL injection là một kĩ thuật cho phép những kẻ tấn công lợi
dụng lỗ hổng trong việc kiểm tra dữ liệu nhập trong các ứng dụng
web và các thông báo lỗi của hệ quản trị cơ sở dữ liệu để "tiêm vào"
(inject) và thi hành các câu lệnh SQL bất hợp pháp (không được
người phát triển ứng dụng lường trước). Hậu quả của nó rất tai hại vì
nó cho phép những kẻ tấn công có thể thực hiện các thao tác xóa,
hiệu chỉnh, … Lỗi này thường xảy ra trên các ứng dụng web có dữ
liệu được quản lí bằng các hệ quản trị cơ sở dữ liệu như SQL Server,
MySQL, Oracle, DB2, Sysbase.
1.5.1.2. Các Dạng Tấn Công SQL Injection
Có bốn dạng thông thường bao gồm:
- Dạng tấn công vượt qua kiểm tra đăng nhập
- Dạng tấn công sử dụng câu lệnh Select
- Dạng tấn công sử dụng câu lệnh INSERT
- Dạng tấn công sử dụng Stored-procedures
1.5.2. Cách phòng tránh SQL Injection
1.5.2.1 Kiểm soát chặt chẽ dữ liệu nhập vào
Để phòng tránh các nguy cơ có thể xảy ra, hãy bảo vệ các
câu lệnh SQL là bằng cách kiểm soát chặt chẽ tất cả các dữ liệu nhập
- 9 -
nhận được từ đối tượng Request (Request, Request.QueryString,
Request.Form, Request.Cookies, and Request.ServerVariables).
1.5.2.2. Thiết lập cấu hình an toàn cho hệ quản trị cơ sở dữ liệu
Cần có cơ chế kiểm soát chặt chẽ và giới hạn quyền xử lí dữ
liệu đến tài khoản người dùng mà ứng dụng web đang sử dụng. Các
ứng dụng thông thường nên tránh dùng đến các quyền như dbo hay
sa.
Quyền càng bị hạn chế, thiệt hại càng ít. Ngoài ra để tránh
các nguy cơ từ SQL Injection attack, nên chú ý loại bỏ bất kì thông
tin kĩ thuật nào chứa trong thông điệp chuyển xuống cho người dùng
khi ứng dụng có lỗi. Các thông báo lỗi thông thường tiết lộ các chi
tiết kĩ thuật có thể cho phép kẻ tấn công biết được điểm yếu của hệ
thống.
1.6. Cross Site Scripting (XSS)
Cross-Site Scripting (XSS) là một trong những kĩ thuật tấn
công phổ biến nhất hiên nay, đồng thời nó cũng là một trong những
vấn đề bảo mật quan trọng đối với các nhà phát triển web và cả
những người sử dụng web. Bất kì một website nào cho phép người
sử dụng đăng thông tin mà không có sự kiểm tra chặt chẽ các đoạn
mã nguy hiểm thì đều có thể tiềm ẩn các lỗi XSS.
1.6.1. Tấn công XSS
1.6.1.1. XSS là gì?
- 10 -
Cross-Site Scripting hay còn được gọi tắt là XSS (thay vì gọi
tắt là CSS để tránh nhầm lẫn với CSS-Cascading Style Sheet của
HTML) là một kĩ thuật tấn công bằng cách chèn vào các website
động (ASP, PHP, CGI, JSP ) những thẻ HTML hay những đoạn mã
Script nguy hiểm có thể gây nguy hại cho những người sử dụng
khác. Trong đó, những đoạn mã nguy hiểm đựơc chèn vào hầu hết
được viết bằng các Client-Site Script như JavaScript, JScript,
DHTML và cũng có thể là cả các thẻ HTML.
1.6.1.1. XSS là gì?
Cross-Site Scripting hay còn được gọi tắt là XSS (thay vì gọi
tắt là CSS để tránh nhầm lẫn với CSS-Cascading Style Sheet của
HTML) là một kĩ thuật tấn công bằng cách chèn vào các website
động (ASP, PHP, CGI, JSP ) những thẻ HTML hay những đoạn mã
Script nguy hiểm có thể gây nguy hại cho những người sử dụng
khác. Trong đó, những đoạn mã nguy hiểm đựơc chèn vào hầu hết
được viết bằng các Client-Site Script như JavaScript, JScript,
DHTML và cũng có thể là cả các thẻ HTML.
1.6.1.2. XSS hoạt động như thế nào?
Các đoạn mã trong thẻ script không hề bị giới hạn bởi chúng
hoàn toàn có thể thay thế bằng một file nguồn trên một server khác
thông qua thuộc tính src của thẻ script. Cũng chính vì lẽ đó mà
chúng ta chưa thể lường hết được độ nguy hiểm của các lỗi XSS.
Thật vậy, XSS là những Client-Side Script, những đoạn mã
này sẽ chỉ chạy bởi trình duyệt phía client do đó XSS không làm ảnh
hưởng đến hệ thống website nằm trên server.
- 11 -
Mục tiêu tấn công của XSS không ai khác chính là những
người sử dụng khác của website, khi họ vô tình vào các trang có
chứa các đoạn mã nguy hiểm do các hacker để lại họ có thể bị
chuyển tới các website khác, đặt lại homepage, hay nặng hơn là mất
mật khẩu, mất cookie thậm chí máy tính bạn có thể sẽ bị cài các loại
virus, backdoor, worm
1.6.2. Cách phòng chống XSS.
OWASP (The Open Web Application Standard Project) nói
rằng để có thể xây dựng các website bảo mật cao, đối với các dữ liệu
của người sử dụng bạn nên
Chỉ chấp nhận những dữ liệu hợp lệ.
Từ chối nhận các dữ liệu hỏng.
Liên tục kiểm tra và thanh lọc dữ liệu.
Kĩ thuật XSS được mô tả lần đầu tiên cách đây 2 năm và hầu
hết các khả năng tiềm ẩn của kĩ thuật này đã được biết đến. Tuy
nhiên chúng ta mới chỉ khắc phục được một phần của nó.
- 12 -
CHƯƠNG 2 - TÌM HIỂU VỀ CÁCH THỨC TẤN
CÔNG BẰNG DDOS
2.1. Tổng quan về DDOS
2.1.1. Khái niệm DDoS
DDoS – Distributed Denial of Service (Tấn công từ chối dịch vụ
phân tán ) là hoạt động làm chấm dứt hoặc gián đoạn các dịch vụ tại
máy nạn nhân. Tấn công DDoS huy động số lượng lớn các máy bị lợi
dụng để tấn công nạn nhân vào một cùng thời điểm.
Trên Internet tấn công DDOs là một dạng tấn công từ nhiều máy
tính tới một đích, nó gây ra từ chối các yêu cầu hợp lệ của các user
bình thường. Bằng cách tạo ra những gói tin cực nhiều đến một đích
cụ thể, nó có thể gây tình trạng tương tự như hệ thống bị shutdown.
Hình 2.1: Mô ph
ỏng t
ấn công DDOS
- 13 -
Khi một mạng máy tính bị Hacker tấn công nó sẽ chiếm một
lượng lớn tài nguyên trên server như dung lượng ổ cứng, bộ nhớ,
CPU, băng thông …. Lượng tài nguyên này tùy thuộc vào khả năng
huy động tấn công của mỗi Hacker. Khi đó Server sẽ không thể đáp
ứng hết những yêu cầu từ những client của những người sử dụng và
từ đó server có thể sẽ nhanh chóng bị ngừng hoạt động, crash hoặc
reboot.
2.1.2. Các đặc tính của DDoS
- Nó được tấn công từ một hệ thống các máy tính cực lớn trên
Internet, và thường dựa vào các dịch vụ có sẵn trên các máy tính
trong mạng botnet
- Các dịch vụ tấn công được điều khiển từ những "primary
victim" trong khi các máy tính bị chiếm quyền sử dụng trong mạng
Bot được sử dụng để tấn công thường được gọi là "secondary
victims".
- Là dạng tấn công rất khó có thể phát hiện bởi tấn công này được
sinh ra từ nhiều địa chỉ IP trên Internet.
2.1.3. Các giai đoạn tấn công DDOS
2.3.1.1. Giai đoạn chuẩn bị
- Chuẩn bị công cụ quan trọng của cuộc tấn công, công cụ này
thông thường hoạt động theo mô hình client-server.
- 14 -
- Kế tiếp, dùng các kỹ thuật hack khác để nắm trọn quyền một số
host trên mạng. tiến hành cài đặt các software cần thiết trên các host
này, việc cấu hình và thử nghiệm toàn bộ attack-netword
2.3.1.2. Giai đoạn xác định mục tiêu và thời điểm
- Sau khi xác định mục tiêu lấn cuối, hacker sẽ có hoạt động điều
chỉnh attack-netword chuyển hướng tấn công về phía mục tiêu.
- Sau khi xác định mục tiêu lấn cuối, hacker sẽ có hoạt động điều
chỉnh attack-netword chuyển hướng tấn công về phía mục tiêu.
2.3.1.3. Phát động tấn công và xoá dấu vết
- Sau một khoảng thời gian tấn công thích hợp, hacker tiến hành
xóa mọi dấu vết có thể truy ngược đến mình, việc này đòi hỏi trình
độ khác cao và không tuyệt đối cần thiết.
2.2. Phân loại các kiểu tấn công DDoS
Hình 2.2: Sơ đồ phân loại các kiểu tấn công DDoS
- 15 -
2.2.1. Tấn công làm cạn kiệt băng thông của mạng
(BandWith Depletion Attack)
Gồm có 2 loại:
Flood attack (tràn băng thông): điều khiển các Agent gửi một
lượng lớn traffic đến hệ thống dịch vụ của mục tiêu, làm dịch vụ này
bị hết khả năng về băng thông.
Amplification attack (khuyếch đại giao tiếp): Điều khiển các
Agent hay Client tự gửi message đến một địa chỉ IP broadcast, làm
cho tất cả các máy trong subnet này gửi message đến hệ thống dịch
vụ của mục tiêu. Phương pháp này làm gia tăng traffic không cần
thiết, làm suy giảm băng thông của mục tiêu.
2.2.1.1. Flood attack (tràn băng thông)
Phương pháp Flood Attack chia thành hai loại:
+ UDP Flood Attack:
+ ICMP Flood Attack:
2.2.1.2. Amplification Attack (khuyếch đại giao tiếp)
Amplification Attack nhắm đến việc sử dụng các chức năng hỗ
trợ địa chỉ IP broadcast của các router nhằm khuyếch đại và hồi
chuyển cuộc tấn công.
Attacker có thể gửi broadcast message trực tiếp hay thông qua
một số Agent nhằm làm gia tăng cường độ của cuộc tấn công.
Có thể chia Amplification Attack thành 2 loại:
+ Smuft attack:
+ Fraggle Attack:
- 16 -
2.2.2. Tấn công làm cạn kiệt tài nguyên.
Là kiểu tấn công trong đó Attacker gởi những packet dùng các
protocol sai chức năng thiết kế, hay gửi những packet với dụng ý làm
tắc nghẽn tài nguyên mạng làm cho các tài nguyên này không phục
vụ user thông thường khác được
Gồm có 2 loại:
Protocol Exploit Attack là cách tấn công khai thác lỗ
hỗng trên các giao thức
Malformed Packet Attack là cách tấn công dùng các Agent
để gửi các packet có cấu trúc không đúng chuẩn nhằm làm cho hệ
thống của nạn nhân bị treo.
2.2.2.1 Protocol Exploit Attack
TCP SYS Attack: Transfer Control Protocol hỗ trợ truyền nhận
với độ tin cậy cao nên sử dụng phương thức bắt tay giữa bên gửi và
bên nhận trước khi truyền dữ liệu. Bước đầu tiên, bên gửi gửi một
SYN REQUEST packet (Synchronize). Bên nhận nếu nhận được
SYN REQUEST sẽ trả lời bằng SYN/ACK REPLY packet. Bước
cuối cùng, bên gửi sẽ truyên packet cuối cùng ACK và bắt đầu
truyền dữ liệu.
2.2.2.3 Malformed Packet Attack
Là cách tấn công dùng các Agent để gửi các Packet có cấu trúc
không đúng chuẩn nhằm cho hệ thống của nạn nhân bị treo.
Có hai loại: Malformed Packet Attack
- 17 -
IP address attack: dùng packet có địa chỉ gửi và nhận giống
nhau làm cho hệ điều hành của nạn nhân không xử lý nổi và bị treo.
IP packet options attack: ngẫu nhiên hóa vùng OPTION trong
IP packet và thiết lập tất cả các bit QoS lên 1, điều này làm cho hệ
thống của nạn nhân phải tốn thời gian phân tích, nếu sử dụng số
lượng lớn Agent có thể làm hệ thống nạn nhân hết khả năng xử lý.
2.3 Các phương pháp xây dựng tài nguyên tấn công.
2.3.1 Cách thức cài đặt DDOS Agent
- Cách cài đặt Active:
+ Scaning: dùng các công cụ như Nmap, Nessus để tìm những
sơ hở trên các hệ thống đang online nhằm cài đặt Agentsoftware.
+ Backdoor: sau khi tìm thấy được danh sách các hệ thống có
thể lợi dụng, attacker sẽ tiến hành xâm nhập và cài Agent software
lên các hệ thống này.
+ Trojan: là một chương trình thực hiện một chức năng thông
thường nào đó, nhưng lại có một số chức năng tiềm ẩn phục vụ cho
mục đích riêng của người viết mà người dùng không thể biết được.
+ Buffer Overflow:
- Buffer Overflow xảy ra tại bất kỳ thời điểm nào có chương
trình ghi lượng thông tin lớn hơn dung lượng của bộ nhớ đệm trong
bộ nhớ.
2.3.2 Giao tiếp trên Attack-Network
- 18 -
- Protocol: giao tiếp trên attack-network có thể thực hiện trên
nền các protocol TCP, UDP, ICMP.
- Mã hóa các giao tiếp
- Cách kích hoạt Agen:
2. 4 Một số kiểu tấn công DDOS và các công cụ tấn
công DDOS.
2.4.1 Một số kiểu tấn công DDOS.
Dưới đây là phân loại một số cách tấn công Ddos theo giao thức:
HTTP Flood
SYN Flood
ICMP Flood
TCP Reset
UDP Flood
2.4.2 Một số công cụ tấn công DDOS.
2.4.2.1. Công cụ DDoS dạng Agent – Handler:
- TrinOO là một công cụ tấn công từ chối dịch vụ bằng kỹ
thuật UDP Flood được kết hợp từ nhiều nguồn, là một trong các công
cụ DDoS đầu tiên được phát tán rộng rãi.
- Tribe Flood Network (TFN): Kiểu kiến trúc Agent –
Handler, công cụ DDoS hoễ trợ kiểu Bandwidth Deleption Attack và
Resourse Deleption Attack.
- 19 -
- Stacheldraht: là biến thể của TFN có thêm khả năng
update Agent tự động. Giao tiếp telnet mã hóa đối xứng giữa
Attacker và Handler.
- Shaft: là biến thể của TrinOO, giao tiếp Handler – Agent
trên UDP, Attacker – Hendle trên Internet
2.4.2.1. Công cụ DDoS dạng IRC – Based
- Trinity: là một điển hình của công cụ dạng này. Trinity có
hầu hết các kỹ thuật tấn công bao gồm: UDP, TCP SYS, TCP ACK,
TCP fragment, TCP NULL, TCP RST, TCP random flag, TCP
ESTABLISHED packet flood.
- Ngoài ra có Knight, được thiết kế chạy trên Windows, sử
dụng kỹ thuật cài đặt của troijan back Orifice. Knight dùng các kỹ
thuật tấn công như SYV, UDP Flood và Urgent Pointer Flooder.
- Sau cùng là Kaiten, là biến thể của Knight, hỗ trợ rất nhiều
kỹ thuật tấn công như: UDP, TCP flood, SYN, PUSH + ACK attack.
Kaiten cũng thừa hưởng khả năng ngẫu nhiên hóa địa chỉ giả mạo
của Trinity.
2.5 Phòng chống DDOS.
2.5.1. Đối với các cuộc tấn công lớn và quy mô
Có 3 giai đoạn chính trong quá trình phòng chống Ddos
- Giai đoạn ngăn ngừa: Tối thiểu hoá lượng Agent, tìm và vô
hiệu hoá các Handle
- 20 -
- Giai đoạn đối đầu với cuộc tấn công: Phát hiện và ngăn chặn
cuộc tấn công, làm suy giảm và dừng cuộc tấn công, chuyển hướng
cuộc tấn công.
- Giai đoạn sau khi cuộc tấn công xảy ra: thu thập chứng cứ và
rút kinh nghiệm
Các giai đoạn chi tiết trong phòng chống DDoS:
Tối thiểu hóa số lượng Agent:
Tìm và vô hiệu hóa các Handler:
Phát hiện dấu hiệu của một cuộc tấn công:
Có nhiều kỹ thuật được áp dụng:
- Agress Filtering:
- MIB statistics:
Làm suy giàm hay dừng cuộc tấn công:
Dùng các kỹ thuật sau:
+ Load balancing:
+ Throttling:
+ Drop request:
Chuyển hướng của cuộc tấn công:
+ Honeyspots:
Giai đoạn sau tấn công:
Trong giai đoạn này thông thường thực hiện các công việc
sau:
+ Traffic Pattern Analysis:
+ Packet Traceback:
- 21 -
+ Bevent Logs:
2.5.2. Đối với các cuộc tấn công nhỏ lẻ
Cách 1: Chống iframe.
Đây là phương pháp được xem là thô sơ nhất. Kẻ tấn công sẽ
mượn 1 website có lượt truy cập lớn nào đó chèn các iframe hướng
về website cần đánh rồi cho chạy lệnh refresh (tải lại) nhiều lần hoặc
họ viết sẵn 1 tập tin.
Cách 2: Chống tải lại trang web có ác ý
Một hình thức tấn công khác nữa là dùng phím F5 liên tục có chủ
ý, hoặc dùng một phần mềm được lập trình sẵn với công dụng tương
tự .
Cách 3: Giới hạn số kết nối website tại một thời điểm
Khi một khách truy cập vào website thì sẽ tạo ra một truy vấn kết
nối với cơ sở dữ liệu (CSDL) lấy thông tin và trả về thông qua hiển
thị của website. Mỗi máy chủ sẽ có phép bao nhiêu truy vấn kết nối
là hạn định và khi vượt quá hạn mức này thì việc truy cập sẽ khó
khăn hoặc không thể truy xuất được.
- 22 -
CHƯƠNG 3 - XÂY DỰNG GIẢI PHÁP PHÒNG
CHỐNG DDOS CHO WEBSITE TRƯỜNG CAO ĐẲNG
BÁCH KHOA HƯNG YÊN
3.1. Hiện trạng Website trường cao đẳng Bách Khoa Hưng
Yên
Hình 3.1: Website trường Cao đẳng Bách Khoa Hưng Yên
Website lấy tên miền là BKIH.EDU.VN (địa chỉ IP là
113.160.133.152) được đặt tại máy chủ của nhà trường. Website
được thiết kế theo hướng mở, cho phép nâng cấp và cập nhật thêm
các tính năng mới
- 23 -
3.2. Giải pháp chống Ddos được đưa ra cho website trường
Cao đẳng Bách Khoa Hưng Yên
- Tăng băng thông kết nối tạm thời để giải quyết lượng truy
cập vào website
- Phân tán lượng truy cập đến một máy chủ khác với băng thông
lớn
- Thiết lập và cân bằng tải hệ thống máy chủ để tăng thời gian
chống ddos
- Cấu hình lại máy chủ, thiết lập thông số tường lửa để sàng lọc
các địa chỉ IP có dấu hiệu truy cập ảo.
Hiện nay trên thế giới có rất nhiều cách phòng chống Ddos nói
chung và phòng chống Ddos cho máy chủ Web nói riêng như sử
dụng Firewall, triển khai IPS (Intrusion Prevention System- Hệ thống
chống xâm nhập), load balancing (cân bằng tải) Có thể đơn cử ra
một vài công cụ cụ thể như :
- Firewall mềm:
+ Skyeagle anti-DDoS firewall
+ FortGuard Anti-DDoS Firewall Standard
- IPS :
+ Lokkit
+ Snort
+ Untangle
- 24 -
Trong luận văn này, em lựa chọn giải pháp sử dụng IPS gồm
Snort inline và Iptables để xây dựng giải pháp phòng chống DDoS
cho máy chủ web cũng như cho Website của nhà trường.
Lý do lựa chọn xây dựng mô hình IPS gồm Snort inline và
Iptables là:
- Đối với Snort inline : Snort được biết đến với các ưu điểm như
dễ cấu hình, miễn phí, sử dụng rộng rãi, chạy trên nhiều nền tảng
(Windows, Unix, Linux), liên tục được cập nhật. Snort inline là một
“module” của snort, thay vì lắng nghe trên cổng chỉ định và theo dõi
tất cả các traffic đi qua cổng đấy, Snort inline chỉ theo dõi các traffic
đặc biệt được chỉ định trước, do đó làm tăng khả năng và hiệu suất
của Snort.
- Cũng tương tự như Snort inline, Iptables mà nền tảng là
Netfilter cũng có những ưu điểm như dễ cấu hình, tốc độ sử lý
nhanh, được tích hợp sẵn trong Kernel Linux 2.6 trở lên.
- Việc sử dụng kết hợp Iptables với Snort inline sẽ tạo được
một hệ thống IPS hoạt động ổn định, dễ cấu hình, dễ dàng tinh chỉnh
khi cần thiết.
3.3. Thử nghiệm, đánh giá
Với mục tiêu đặt ra là tăng thời gian chống chịu DDoS cho
máy chủ web để những người quản trị có thời gian khắc phục, nên
em Đề mô thực tế trên Website của nhà trường.
Công cụ để đo thời gian đáp ứng được sử dụng là jmeter,
một project của apache
- 25 -
Sau đây là các bước sẽ triển khai để thực hiện kiểm tra, đánh giá.
Bước 1: Kiểm tra server khi chạy bình thường chưa có hệ thống
phòng thủ và chưa bị DDoS
- Đo thời gian đáp ứng của server sử dụng công cụ jmeter
- Kiểm tra tài nguyên của server đang dùng
Bước 2: Kiểm tra server khi cài đặt hệ thống phòng chống
và chưa bị DDoS
- Đo thời gian đáp ứng của server sử dụng công cụ jmeter
- Kiểm tra tài nguyên của server đang dùng
Bước 3: Kiểm tra server khi chưa cài hệ thống phòng chống
và đang bị DDoS
- Đo thời gian đáp ứng của server sử dụng công cụ jmeter
- Kiểm tra tài nguyên của server đang dùng.
Bước 4: Kiểm tra server khi đã cài hệ thống phòng chống và
đang bị DDoS
- Đo thời gian đáp ứng của server sử dụng công cụ jmeter
- Kiểm tra tài nguyên của server đang dùng.
3.4. Sử dụng phần mềm FortGuardwall
Ngoài ra ta có thể sử dụng tường lửa FortGuard Firewall để
thực hiện chống DDos cài đặt trên máy chủ Website.
FortGuard Firewall là một giải pháp giúp người dùng chống
lại các cuộc tấn công DDoS với độ chính xác và hiệu suất cao nhất