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
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
- 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
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)
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 -
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
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 -
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.
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.
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
http://www.netbot.com.cn
+ FortGuard Anti-DDoS Firewall Standard
http://www.fortguard.com/
- 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.
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