HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG
Nguyễn Văn Hạnh
PHÂN TÍCH VÀ MÔ HÌNH HÓA TẤN CÔNG
TỪ CHỐI DỊCH VỤ PHÂN TÁN
Chuyên ngành: Truyền dữ liệu và mạng máy tính
Mã số: 60.48.15
TÓM TẮT LUẬN VĂN THẠC SĨ
HÀ NỘI - 2013
Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học: PGS. TSKH. Hoàng Đăng Hải
Phản biện 1: ……………………………………………………………………………
Phản biện 2: …………………………………………………………………………
Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu
chính Viễn thông
Vào lúc: giờ ngày tháng năm
Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
ơ
HÀ NỘI - 2013
1
LỜI CẢM ƠN
Lời đầu tiên của bản luận văn này cho phép em được bày tỏ lòng cảm ơn sâu sắc đối
với thầy giáo PGS.TSKH.Hoàng Đăng Hải, Phó Giám đốc Trung tâm Ứng cứu khẩn cấp
máy tính Việt Nam (VNCERT) đã chỉ bảo tận tình đầy trách nhiệm cho các ý kiến chỉ đạo
trong suốt quá trình làm khóa luận, đã động viên, tạo điều kiện thuận lợi để em hoàn thành
khóa luận này.
Em xin chân thành cảm ơn các thầy, cô khoa Quốc tế và đào tạo sau đại học. Đặc
biệt, Em cũng xin bày tỏ lòng biết ơn sâu sắc các thầy giáo, cô giáo tham gia giảng dạy lớp
Cao học Công nghệ Thông tin, người đã truyền đạt những kiến thức bổ ích và lý thú giúp
ích cho em trên con đường học tập của mình.
Chân thành cảm ơn lãnh đạo trường sư phạm kỹ thuật Hưng Yên, đồng nghiệp luôn
tạo điều kiện thuận lợi và hỗ trợ em trong suốt quá trình học tập, cung cấp nhiều tư liệu và
các kiến thức về nghiệp vụ giúp cho khóa luận của em có kết quả tốt.
Cuối cùng xin cảm ơn sự ủng hộ của gia đình và bạn bè cùng khoa đã đóng góp ý
kiến quý báu, động viên, giúp đỡ cho việc hoàn thành khóa luận này.
Hà Nội, ngày 24 tháng 1 năm 2013
Học viên
Nguyễn Văn Hạnh
2
MỞ ĐẦU
Internet có vai trò to lớn đối với đời sống con người hiện nay, giúp cho quá trình trao
đổi thông tin, truyền thông trở nên nhanh chóng, hiệu quả và có tính tương tác cao. Sự ra
đời của Internet kéo theo rất nhiều các dịch vụ, ứng dụng được xây dựng, hỗ trợ con người
trong công việc một cách tốt nhất với khả năng truyền đạt thông tin đa dạng, với nhiều kiểu
dữ liệu như: Hình ảnh, âm thanh, video. Khi Internet ngày càng phát triển, phạm vi ứng
dụng của Web ngày càng mở rộng thì khả năng xuất hiện lỗi và bị tấn công càng cao, trở
thành đối tượng cho tấn công với các ý đồ, mục đích khác nhau, nhằm vào tất cả các máy
tính có mặt trên Internet, các tổ chức quân sự, ngân hàng, các trang thông tin điện tử lớn….
Có rất nhiều các kiểu tấn công nhưng thời gian gần đây nổi trội nên là kiểu tấn công
vô cùng phổ biến và tỏ ra rất là nguy hiểm, đó là các cuộc tấn công từ chối dịch vụ phân tán
(Distributed Denial of Service-DDoS). Các hacker sử dụng phương pháp tấn công này để
tấn công vào các trang web của các chính phủ, doanh nghiệp lớn, các thiết bị của các công
ty lớn làm cho các hệ thống máy chủ này bị tê liệt và không còn khả năng phục vụ.
Mục tiêu của luận văn là nghiên cứu tìm hiểu về bản chất của tấn công DDoS, phân
tích và mô hình hóa tấn công, xây dựng mô hình bảo vệ chống tấn công DDoS và thử
nghiệm đánh giá kết quả thông qua mô phỏng.
Luận văn sử dụng các phương pháp phân tích, phương pháp mô hình hoá, giải thuật,
phương pháp mô phỏng, thực nghiệm, phân tích, đánh giá…
Cấu trúc của luận văn gồm 4 chương chính:
Chương 1: Tổng quan về tấn công DoS và DDoS. Chương này trình bày khái quát về
các kiểu tấn công DoS và DDoS điển hình, một số công cụ tấn công DDoS điển hình. Nội
dung chương tập trung chủ yếu vào các kiểu tấn công DDoS.
Chương 2: Phân tích, mô hình tấn công DDoS. Chương trình bày các đặc tính của tấn
công DDoS, phân tích mô hình mạng Botnet, các mô hình tấn công DDoS điển hình.
Chương 3: Mô hình bảo vệ chống tấn công DDoS. Trong chương này, bài trình bày
các vấn đề khi xây dựng hệ thống chống DDoS, các đặc trưng của mô hình, mô hình hóa
Chương 4: Mô phỏng phát hiện tấn công và chống tấn công DDoS. Bài thực hiện mô
phỏng với công cụ NeSSi2 của trưởng Đại học TU Berlin (CHLB Đức).
3
Chƣơng 1 - TỔNG QUAN VỀ TẤN CÔNG TỪ CHỐI DỊCH VỤ
DoS/DDoS
1.1. Khái niệm chung về tấn công từ chối dịch vụ.
Tấn công từ chối dịch vụ là sự cố gắng làm cho tài nguyên của một máy tính không
thể sử dụng được nhằm vào những người dùng của nó. Mặc dù phương tiện để tiến hành,
động cơ, mục tiêu của tấn công từ chối dịch vụ là khác nhau, nhưng nói chung nó gồm có sự
phối hợp, sự cố gắng ác ý của một người hay nhiều người để chống lại Internet site hoặc
service (dịch vụ Web) vận hành hiệu quả hoặc trong tất cả, tạm thời hay một cách không
xác định. Thủ phạm tấn công từ chối dịch vụ nhằm vào các mục tiêu site hay server tiêu
biểu như ngân hàng, cổng thanh toán thẻ tín dụng và thậm chí DNS root servers.
Tấn công bằng từ chối dịch vụ 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 khả năng truy cập và sử dụng vào một dịch vụ nào đó. Nó bao
gồm việc làm tràn ngập mạng, mất kết nối với dịch vụ… mà mục đích cuối cùng là máy chủ
(Server) không thể đáp ứng được các yêu cầu sử dụng dịch vụ từ các máy trạm (Client).
DoS có thể làm ngưng hoạt động của một máy tính, một mạng nội bộ hoặc cả một hệ
thống mạng rất lớn.Về bản chất thực sự của DoS, kẻ tấn công sẽ chiếm dụng một lượng lớn
tài nguyên mạng như băng thông, bộ nhớ… và làm mất khả năng xử lý các yêu cầu dịch vụ
từ các client khác.
1.2. Tấn công từ chối dịch vụ phân tán DDoS
Tấn công từ chối dịch vụ phân tán (DDoS - Distributed Denial Of Service) là kiểu tấn
công làm cho hệ thống máy tính hay hệ thống mạng quá tải, không thể cung cấp dịch vụ hoặc
phải dừng hoạt động, song từ nhiều nguồn tấn công khác nhau, phân tán trên mạng. Trong các
cuộc tấn công DDoS, máy chủ dịch vụ sẽ bị "ngập" bởi hàng loạt các lệnh truy cập từ lượng kết
nối khổng lồ từ nhiều máy tấn công ở nhiều nơi. Khi số lệnh truy cập quá lớn, máy chủ sẽ quá tải
và không còn khả năng xử lý các yêu cầu. Hậu quả là người dùng không thể truy cập vào các dịch
vụ trên các trang web bị tấn công DDoS. Như vậy, sự khác biệt cơ bản giữa tấn công DoS và
DDoS là DDoS sử dụng một mạng lưới tấn công rộng khắp, gồm nhiều máy tấn công nằm rải rác
trên mạng (còn gọi là các máy tính ma - Zoombi, hay mạng Botnet).
1.3.1. Mạng lưới tấn công từ chối dịch vụ phân tán.
1.3.1.1. Tuyển mộ mạng Agent.
4
Trước tiên kẻ tấn công phải làm đó là xây dựng lên mạng botnet. Kẻ tấn công tiến
hành thăm dò những máy tính nào dễ bị lợi dụng. Quá trình này được gọi là scanning.
Scanning có thể được làm bằng tay do kẻ tấn công sử dụng các công cụ hỗ trợ scaning như
nmap Các công cụ này đang ngày càng được phát triển hoàn thiện hơn.
1.3.1.2. Điều khiển mạng Agent.
Khi số lượng Agent lớn, có thể lên đến hàng nghìn host. Kẻ tấn công phải có những
phương pháp điều khiển mạng lưới Agent. Việc tìm ra những phương pháp tốt sẽ giúp kẻ
tấn công dễ dàng thu thập được các thông tin và hành vi của các Agent.
Ở đây có hai mô hình chính để kẻ tấn công điều khiển mạng lưới Agent.
1.3.1.2 Cập nhật mã độc (malware)
Cũng như các phần mềm khác, các chương trình được cài đặt trên Handler hay Agent
phải được thường xuyên cập nhật. Hầu hết các công cụ DDos hiện nay đều yêu cầu kẻ tấn
công gửi những dòng lệnh cập nhật trên các Handler và Agent bằng việc download các
phiên bản mới hơn qua giao thức HTTP.
1.3.2. Mục tiêu tấn công từ chối dịch vụ phân tán.
1.3.2.1. Tấn công vào băng thông mạng.
1.3.2.2. Tấn công giao vào thức.
1.3.2.3. Tấn công bằng những gói tin khác thường.
1.3.2.4 Tấn công qua phần mềm trung gian.
1.4. Nguyên lý các tấn công DDoS điển hình.
- SYN flood attack.
- UDP Flood attack.
- Smurf attack
- DNS Zone Transfer based Flooding.
- Ping based attacks.
- CGI attacks (Common Gateway Interface.
Tất cả những cách tấn công trên đều nhằm mục đích làm giảm chức năng của hệ
thống mạng và có thể dẫn đến đánh sập hệ thống, làm hệ thống không có khả năng hoạt
động. Những cuộc tấn công DDoS có thể phân tán, rải rác, khiến cho việc xác định kẻ
tấn công là rất khó khăn. Cần phải hiểu về hành vi, hoạt động của các luồng dữ liệu
trong hệ thống mạng để từ đó phát hiện sớm và có những biện pháp hiệu quả để ngăn
chặn tấn công DDoS.
5
1.5. Một số công cụ tấn công DDoS điển hình.
- Trinoo. .
- Tribe Flood Network (TFN.
- Stacheldraht.
- Shaft.
- Trinity.
- Knight.
1.6. Một số tấn công DDoS điển hình ở Việt Nam.
Vào đầu tháng 2 cư dân mạng trên các diễn đàn xôn xao việc trang web của Bkav bị
hacker tấn công và khiến người dùng không thể truy cập vào địa chỉ www.bkav.com.vn.
Trong 2 năm gần đây, nhiều website và báo điện tử của Việt Nam bị tấn công DDoS
gây ra những thiệt hại không nhỏ. Cuộc chiến chống lại những cuộc tấn công từ chối dịch
vụ DDoS được coi là vô cùng khó khăn và dường như không thể có biện pháp ngăn chặn
hoàn toàn.
Trang hvaonline.net (HVA), một trong các diễn đàn hacker lớn nhất tại Việt Nam
thông báo bị tấn công từ chối dịch vụ (DDOS) tới 2 lần chỉ trong nửa đầu tháng 6/2011.
- Ngày nay mục tiêu chính của tấn công là doanh nghiệp lớn, doanh nghiệp kinh doanh trực
tuyến. …dự báo trong thời gian sắp tới các cuộc tấn công DDoS cũng nhằm vào khối các cơ
quan Chính phủ, tài chính công, làm đình trệ việc cung cấp dịch vụ, gây thiệt hại nặng nề
cho nền kinh tế, xã hội…
1.7. Tóm tắt chương
Chương 1 của luận văn đã giới thiệu khái quát về các kiểu tấn công DoS và DDoS
điển hình, một số công cụ tấn công DDoS điển hình. Nội dung chương tập trung chủ yếu
vào các kiểu tấn công DDoS. Chương 2 tiếp theo sẽ đi sâu phân tích mô hình tấn công
DDoS.
6
Chƣơng 2 - PHÂN TÍCH MÔ HÌNH TẤN CÔNG
TỪ CHỐI DỊCH VỤ PHÂN TÁN
2.1. Các đặc tính của tấn công DDoS.
Tấn công DDoS là cuộc tấn công từ một hệ thống các máy tính cực lớn trên Internet.
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. Chúng có các đặc
điểm chính như sau:
- Các dịch vụ tấn công được điều khiển từ những máy nạn nhân sơ cấp ("primary
victim") là các máy lây nhiễm mã độc ban đầu, trong khi các máy tính bị chiếm quyền sử
dụng trong mạng Bot (máy bị lây lan khác) được sử dụng để tấn công thường được gọi là
máy nạn nhân thứ cấp ("secondary victims").
- DDoS 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.
- Nếu một địa chỉ IP tấn công một công ty, nó có thể được chặn bởi Firewall. Nếu nó
từ 30.000 địa chỉ IP khác, thì điều này là vô cùng khó khăn.
2.2. Mô hình mạng Botnet
2.2.1. Đặc trưng của mạng Botnet
- Bot (hay Internet bot, còn gọi là robot) là một ứng dụng phần mềm thực thi các
nhiệm vụ đặc biệt theo yêu cầu của tin tặc một cách tự động và lan truyền qua Internet.
- Mạng Bot là những chương trình tương tự Trojan backdoor cho phép kẻ tấn công sử
dụng máy của nạn nhân (Victim) như là những Zoombie (máy tính thây ma – máy tính bị
chiếm quyền điều khiển hoàn toàn) và chúng chủ động kết nối với một Server để dễ dàng
điều khiển. Cần lưu ý chữ “chủ động” vì đó là một đặc điểm khác của bot so với trojan
backdoor. Chính vì sự chủ động này mà máy tính bị cài đặt chúng kết nối trở nên chậm chạp
, Một đặc điểm giúp ta dễ dàng nhận diện bot.
- Mạng botnet là một mạng rất lớn gồm hàng trăm hàng ngàn máy tính Zombie kết
nối với một máy chủ mIRC (Internet Replay Chat) qua các máy chủ DNS để nhận lệnh từ
hacker một cách nhanh nhất. Các mạng bot gồm hàng ngàn “thành viên” (gọi tắt là bot hay
robot) là một công cụ lý tưởng cho các cuộc giao tranh trên mạng như DDOS, spam, cài đặt
các chương trình quảng cáo.
2.2.2. Các dạng của mạng Botnet: Agobot/Phatbot/Forbot/XtremBot,
SDBot/Rbot/UrBot/UrXbot, mIRC-Based Bots – GT-Bots.
7
2.2.3. Phân tích các bước thiết lập Botnet.
Để hiểu hơn về xây dựng hệ thống mạng BotNet chúng ta nghiên cứu từ cách lây
nhiễm vào một máy tính, cách tạo ra một mạng Bot và dùng mạng Bot này tấn công vào một
đích nào đó của mạng Botnet được tạo ra từ Agobot‟s.
Bƣớc 1: Cách lây nhiễm vào máy tính
Đầu tiên kẻ tấn công lừa cho người dùng chạy file "chess.exe", một Agobot thường
copy chúng vào hệ thống và sẽ thêm các thông số trong Registry để đảm bảo sẽ chạy cùng
với hệ thống khi khởi động. Trong Registry có các vị trí cho các ứng dụng chạy lúc khởi
động tại.
HKLM\Software\Microsoft\Windows\CurrentVersion\Run.
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices.
Bƣớc 2: Cách lây nhiễm và xây dựng tạo mạng Botnet.
Sau khi trong hệ thống mạng có một máy tính bị nhiễm Agobot, nó sẽ tự động tìm kiếm các
máy tính khác trong hệ thống và lây nhiễm sử dụng các lỗ hổng trong tài nguyên được chia
sẻ trong hệ thống mạng.
- Chúng thường cố gắng kết nối tới các dữ liệu share mặc định dành cho các ứng
dụng quản trị (administrator or administrative) ví dụ như: C$, D$, E$ và print$ bằng cách
đoán usernames và password để có thể truy cập được vào một hệ thống khác và lây nhiễm.
- Agobot có thể lây nhiễm rất nhanh bởi chúng có khả năng tận dụng các điểm yếu trong hệ
điều hành Windows, hay các ứng dụng, các dịch vụ chạy trên hệ thống.
Bƣớc 3: Kết nối vào IRC.
Bước tiếp theo của Agobot sẽ tạo ra một IRC-Controlled Backdoor để mở các yếu tố
cần thiết, và kết nối tới mạng Botnet thông qua IRC-Controll, sau khi kết nối nó sẽ mở
những dịch vụ cần thiết để khi có yêu cầu chúng sẽ được điều khiển bởi kẻ tấn công thông
qua kênh giao tiếp IRC.
Bƣớc 4: Điều khiển tấn công từ mạng BotNet.
Kẻ tấn công điều khiển các máy trong mạng Agobot download những file .exe về
chạy trên máy.
+ Lấy toàn bộ thông tin liên quan và cần thiết trên hệ thống mà kẻ tấn công muốn.
+ Chạy những file khác trên hệ thống đáp ứng yêu cầu của kẻ tấn công.
+ Chạy những chương trình DDoS tấn công hệ thống khác.
2.2.4. Sơ đồ hệ thống lây lan của mạng Botnet (Agobot).
8
2.3. Các mô hình tấn công DDoS.
2.3.1. Mô hình tấn công Agent Handler Model
Theo mô hình này mạng tấn công (attack-network) gồm 3 thành phần: Agent, Client
và Handler.
+ Client: Là software cơ sở để hacker điều khiển mọi hoạt động tấn công.
+ Handler: Là một thành phần software trung gian giữa Agent và Client.
+ Agent: Là thành phần software thực hiện sự tấn công mục tiêu, nhận điều khiển từ
Client thông qua các Handler.
+ Attacker sẽ từ Client giao tiếp với Handler để xác định số lượng agent đang online,
điều chỉnh thời điểm tấn công và cập nhật các Agent. Tùy theo cách attacker cấu hình
attack-network, agent sẽ chịu sự quản lý của một hay nhiều Handler.
Thông thường Attacker sẽ đặt Handler software trên một Router hay một server có
lượng traffic lưu thông nhiều. Việc này nhằm làm cho các giao tiếp giữa Client, handler và
Agent khó bị phát hiện. Chủ nhân thực sự của các Agent thông thường không hề hay biết họ
bị lợi dụng vào cuộc tấn công kiểu DDOS, do họ không đủ kiến thức hoặc các chương trình
Backdoor Agent chỉ sử dụng rất ít tài nguyên hệ thống làm cho hầu như không thể thấy ảnh
hưởng gì đến hiệu năng của hệ thống.
2.3.2. Mô hình tấn công DDoS dựa trên nền tảng IRC.
- IRC là một hệ thống online chat multiuser, IRC cho phép User tạo một kết nối đến
multipoint đến user khác và chat thời gian thực. Kiến trúc của IRC network bao gồm nhiều
IRC server trên khắp internet giao tiếp với nhau trên nhiều kênh. IRC network cho phép
user tao ba loại kênh: Public, private, serect.
+ Public channel: Cho phép user của channel đó thấy IRC name và nhận được
mesage của mọi user khác trên cùng channel.
+ Private channel: Được thiết kế để giao tiếp với các đối tượng cho phép. Không cho
phép các user không cùng channel thấy IRC name và message.Tuy nhiên, nếu user ngoài
channel dùng một số lệnh locator thì có thể biết được sự tồn tại của private channel đó.
+ Secret channel: Tương tự như private channel nhưng không thể xác định bằng
channel locator.
- IRC -Based network cũng tương tự như Agent -Handler network nhưng mô hình
này sử dụng các kênh giao tiếp IRC làm phương tiện giao tiếp giữa Client và Agent. Sử
dụng mô hình này, kẻ tấn công còn có thêm một số lợi thế khác như:
9
+ Các giao tiếp dưới gạnh chat message làm cho việc phát hiện chúng vô cùng khó khăn.
+ Các IRC traffic có thể di chuyển trên mạng với số lượng lớn mà không bị nghi ngờ.
Không cần phải duy trì danh sách các Agent, tin tặc chỉ cần logon vào IRC sever là đã có
thể nhận được thông báo về trạng thái các Agent do các channel gửi về.
Sau cùng: IRC cũng là một môi trường chỉa sẻ tệp tại điều kiện phát tán các Agent
code lên nhiều máy khác. Kẻ tấn công sử dụng các mạng IRC để điều khiển, khuyếch đại và
quản lý kết nối với các máy tính trong mạng Botnet.
2.4. Tóm tắt chƣơng 2.
Chương 2 của luận văn đã trình bày chi tiết về mô hình tấn công DDoS, trong đó đặc
biệt quan tâm đến các đặc tính của tấn công DDoS, mô hình mạng Botnet. Nội dung chương
cũng đã giới thiệu một số dạng Botnet điển hình; phân tích quá trình thiết lập mạng Botnet
và các mô hình tấn công DDoS.
10
Chƣơng 3 - MÔ HÌNH BẢO VỆ CHỐNG TẤN CÔNG
TỪ CHỐI DỊCH VỤ PHÂN TÁN
3.1. Các vấn đề đặt ra khi xây dựng hệ thống chống DDoS.
3.1.1. Những khó khăn cần giải quyết.
Nhìn chung, có hai hướng để DDoS tận dụng nhằm thực hiện tấn công Đó là: Nhằm
vào điểm yếu (vulnerability) hệ thống và làm ngập mạng (flooding). Do tấn công DDoS có
một số đặc tính kỹ thuật như sau, nên việc giải quyết được triệt để các cuộc tấn công DDoS
luôn là điều hết sức khó khăn.
- Sự phổ biến của các công cụ tấn công và đơn giản trong sử dụng.
- Đa dạng của các gói tin tấn công.
- Sự giả mạo IP: Làm cho các luồng dữ liệu tấn công từ các agent đến như là từ những
người dùng hợp lệ. Vì thế quản trị viên rất khó phân biệt để có thể phát hiện các cuộc tấn.
- Lượng lưu lượng lớn, gửi với tần suất cao: Lưu lượng khổng lồ mà DDoS tạo ra
không chỉ làm ngập tài nguyên của máy nạn nhân, mà còn làm quản trị viên rất khó mô tả,
phân tích và tách biệt được gói tin hợp lệ và gói tin tấn công của chúng.
- Số lượng lớn các Agents: Một trong những điểm mạnh của tấn công DDoS là có thể huy
động được 1 số lượng lớn Agent phân tán trên toàn Internet. Khi đó, luồng tấn công sẽ lan tỏa
trên nhiều nhánh tới máy nạn nhân, điểm tụ tấn công sẽ gần sát nạn nhân, và hệ thống phòng thủ
sẽ rất khó có thể chống từ phía xa. Ngoài ra, hệ thống Agent phân tán cũng đồng nghĩa với sự
phức tạp, phong phú, khác biệt về mô hình quản lý mạng giữa các ISP khác nhau, vì thế các cơ cơ
chế phòng thủ yêu cầu sự phối hợp từ nhiều nơi sẽ triển khai khó khăn hơn rất nhiều.
- Những điểm yếu trên mô hình mạng Internet: Có những cơ chế, giao thức mạng mà
khi thiết kế chưa lường trước được những điểm yếu có thể bị lợi dụng (ví dụ TCP SYN,
ping of Death, LAND Attack…).Đôi khi là lỗi của nhà quản trị khi cấu hình các chính sách
mạng chưa hợp lý.
3.1.2. Thách thức khi xây dựng hệ thống phòng thủ.
- Về mặt kĩ thuật, phải xử lý phân tán từ nhiều điểm trên Internet: Vì các luồng tấn công
xảy ra từ nhiều nguồn khác nhau, đi qua toàn mạng Internet trong khi thường chỉ có một mình
Victim với ít thiết bị, quyền hạn, khả năng xử lý hạn chế nên không thể đạt được hiệu quả cao. Sự
tấn công phân tán thì cần sự phòng thủ phân tán thì mới giải quyết triệt để được.
11
+ Thiếu thông tin chi tiết về các cuộc tấn công thực tế: Có không nhiều thông tin về
tác hại của DDoS gây lên cho các doanh nghiệp, nó thường chỉ có khi tác hại của nó là rõ
ràng và doanh nghiệp không thể tự xử lý được mà phải nhờ cậy sự trợ giúp khác từ bên
ngoài. Vì thế lại càng ít các thông tin chi tiết, như là bản nhật ký lưu lượng (log các traffic),
sơ đồ mạng chi tiết của doanh nghiệp.
+ Khó thử nghiệm trên thực tế: Những hệ thống thử nghiệm DDoS ở phòng thí nghiệm
không thể phản ánh đúng thực tế rộng lớn, phong phú trên mạng Internet được. Trong khi
đó nếu muốn triển khai để thử nghiệm thật qua Internet thì các điều luật không cho phép, vì
tấn công DDoS không chỉ ảnh hưởng đến Victim, mà còn liên quan đến rất nhiều các thành
phần khác như router, switch… của ISP quản lý ở phần lõi Mạng. Còn nếu thử nghiệm luôn
trên 1 hệ thống thật đang bị tấn công thì lại thiếu thông tin cần đo đạc ở Agent, Handler,
Attacker…
+ Chưa có chuẩn đánh giá các hệ thống phòng thủ: Có nhiều nhà sản xuất đã công bố rằng
giải pháp của họ có thể giải quết được DDoS. Nhưng hiện tại vẫn chưa có một lộ trình
chuẩn nào để kiểm thử các hệ thống phòng thủ DDoS. Từ đó dẫn đến 2 vấn đề: Thứ nhất là
những người phát triển hệ thống phòng thủ tự test chính họ, do đó những thiết kế sẽ luôn
phù hợp nhất để hệ thống đó hoạt động thuận lợi. Thứ hai là những nghiên cứu về DDoS
không thể so sánh hiệu suất thực tế của các hệ thống phòng thủ khác nhau, thayvào đó, họ
chỉ có thể nhận xét về từng giải pháp trên môi trường thử nghiệm mà thôi.
- Về mặt xã hội: Một thử thách lớn khi muốn giải quyết triệt để vấn nạn tấn công DDoS là
về yếu tố xã hội. Có rất nhiều điều luật về an ninh, bảo mật của nhiều đất nước, quy định
của nhiều ISP khác nhau mà người triển khai khó có thể thỏa mãn tất cả để thực hiện hệ
thống phòng thủ của mình. Ví dụ ISP không cho biết sơ đồ chi tiết cấu hình Mạng, không
cho phép chúng ta tự do cài đặt chương trình trên các router của họ… Đối với các nạn nhân
của DDoS, thông thường là các doanh nghiệp, thì việc đầu tiên là họ sẽ cố gắng tự mình giải
quyết, nếu thành công thì sẽ giấu kín, không công bố cho bên ngoài là mình đang bị tấn
công vì lo ngại ảnh hưởng đến danh tiếng của công ty. Chỉ khi nào dịch vụ của họ bị chết
hẳn, không thể tự cứu thì mới liên hệ với các ISP và chính quyền.
Yếu tố cuối cùng là thiếu sự thống nhất về các điều luật, chế tài xử phạt các Attacker,
Handler, Agents giữa các bộ luật về Công nghệ thông tin của các nước và giữa các quy định
về bảo mật, an toàn của các Internet Service Provider.
3.1.3. Mục tiêu xây dựng.
12
Cho dù triển khai hệ thống phòng thủ theo cách thức nào thì cuối cùng cũng phải
hướng tới 4 mục tiêu chính như sau:
- Tính hiệu quả: Yêu cầu các thành phần tham gia vào hệ thống phòng thủ victim,
router… đều không phải chịu thêm tải quá nặng. Ví dụ khi bình thường CPU của Server chỉ
chạy 10% để phục vụ cho các Client, nhưng sau khi cài đặt hệ thống phòng thủ vào, cho dù
chưa xảy ra DDoS thì tải CPU do phải tính toán thêm nhiều nên đã lên đến 20% là không
chấp nhận được.
- Tính trọn vẹn: Một hệ thống phòng thủ tốt cần phải bảo vệ Victim được khỏi tất cả
các kiểu tấn công DDoS. Bởi vì đối với Attacker, một khi đã điều khiển được mạng botnet
thì hắn hoàn toàn có thể sử dụng nhiều kịch bản tấn công khác nhau, lợi dụng nhiều điểm
yếu của giao thức, của mạng hoặc thay đổi thông số bên trong packet. Vì thế nếu hệ thống
chỉ có thể phòng thủ được 1 số cách tấn công nhất định, thì khi attacker thay đổi, hệ thống
đó sẽ sụp đổ hoàn toàn.
- Cung cấp dịch vụ cho tất cả các traffic hợp lệ: Đây là yêu cầu quan trọng nhất khi
triển khai một hệ thống phòng thủ DDoS.
- Chi phí phát triển và điều hành thấp.
3.2. Các đặc trƣng của mô hình bảo vệ chống DDoS.
Như chúng ta đã thấy, khả năng phát hiện một cuộc tấn công ngay lập tức sẽ ảnh hưởng
rất lớn đến quá trình ngăn chặn và làm giảm đến mức thấp nhất tác hại mà một cuộc tấn công
DDos gây ra. Hiện nay các hệ thống phát hiện đang được phát triển và khá công phu.
Những hệ thống phát hiện DDos này thường sử dụng rất nhiều phương thức để dò
tìm và phát hiện. Thông thường các công cụ này so sánh lưu lượng hiện tại với lưu lượng có
thể chấp nhận được. Công nghệ này vẫn còn có một vài thiếu sót. Trước tiên, ngưỡng này
thường đặt tĩnh và yêu cầu người sử dụng phải cấu hình để phù hợp với mọi môi trường, tuy
nhiên sẽ khó có thể thay đổi thích ứng với môi trường mới. Thứ hai, chỉ có một số ít các
ngưỡng được thiết lập vì sự thống kê chi tiết các giao thức không có giá trị cho người sử
dụng. Thứ 3, ngưỡng chỉ áp dụng ở mức độ tổng hợp cao. Sự thiếu sót này có thể dẫn tới sự
đánh giá sai về tính rõ ràng và tính phủ định của hệ thống phát hiện. Thậm chí một phát hiện
sự xâm hại có thể chặn nhầm một địa chỉ hợp lệ.
Do vậy, để hiệu quả một hệ thống phát hiện xâm nhập phải thêm nhiều tính năng để
phát hiện và phân biệt một sự tấn công với các hoạt động bình thường.
13
- Phát hiện nhiều cơ chế: Hiện nay các hình thức tấn công DDos 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 Ddos thật sự hiệu quả khi phát hiện được hầu hết các kiểu tấn công. Luôn
đá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 .
- Phản ứng: Khi một cuộc tấn công DDos 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ác gói tin 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 gói tin hợp lệ.
3.3. Mô hình hóa tấn công và bảo vệ chống tấn công DDoS.
3.3.1. Phòng chống và đáp trả.
Phương pháp phòng ngừa áp dụng các chính sách để kẻ tấn công không thể hoặc khó
tấn công hệ thống. Phương pháp này có thể được thực hiện bằng cách tăng cường sức mạnh
của hệ thống: năng lực xử lý các yêu cầu dịch vụ, băng thông… để giảm thiểu tối đa tác hại
của cuộc tấn công DDoS. Nhưng do mạng lưới tấn công có đặc điểm phân tán, là tập trung
của nhiều máy tính cấu hình trung bình nên dễ tập hợp được số lượng lớn để hội tụ thành
một lượng băng thông gấp nhiều lần so với hệ thống của victim. Vì vậy việc tăng cường sức
mạnh không thực sự có hiệu quả.
Phương pháp phản ứng lại chấp nhận cho cuộc tấn công xảy ra, sau đó truy tìm và tiêu
diệt các hướng tấn công, làm giảm thiểu rủi ro hoặc chấm dứt cuộc tấn công. Bằng cách
phát hiện chính xác kẻ tấn công, nạn nhân sẽ có chính sách cấm những truy nhập, từ đó
giảm thiểu được tác hại của cuộc tấn công. Phương pháp này hiện là hướng nghiên cứu
chính trong việc giải quyết DDoS.
Nhược điểm chung của phương pháp phản ứng lại là việc giải quyết không triệt để và
không chủ động. Nạn nhân bị tấn công đã phải hứng chịu các hậu quả. Biện pháp này chỉ
giúp chấm dứt hậu quả sớm và giảm thiểu thiệt hại.
3.3.2. Vị trí của hệ thống phòng thủ.
Phương pháp đặt gần victim là phương pháp đơn giản nhất do ít phụ thuộc vào các
tác nhân khác, nạn nhân tự giải quyết vấn đề. Phương pháp này thường dùng để phản ứng
lại sau khi nạn nhân phát hiện bị tấn công. Tuy nhiên cách tiếp cận này không thể giải quyết
tận gốc, quản trị viên chỉ có thể giảm thiểu thiệt hại chứ không thể chấm dứt cuộc tấn công.
Phương pháp đặt gần kẻ tấn công (attacker) là phương pháp ngăn chặn các gói tin
DDoS ngay khi vừa được sinh ra tại nguồn. Nó có ưu điểm là giảm được tối đa tác hại của
14
gói tin DDoS, chống được giả mạo IP. Tuy nhiên lại rất khó thực hiện do phải thay đổi hệ
thống mạng trên quy mô lớn. Hiện mới chỉ có khoảng ba hướng nghiên cứu theo cách tiếp
cận này. Trong đó, D-WARD là có kết quả tốt nhất với khả năng hoạt động độc lập.
Một vị trí khác là đặt tại phần lõi của Internet. Cách tiếp cận này ít được quan tâm
rộng rãi do để tiếp cận được phần lõi của Internet cần có một khoản chi phí không nhỏ, cũng
như sự đảm bảo chắc chắn về tính hiệu quả đem lại khi tăng sự phức tạp của phần lõi.
Phương pháp cuối cùng và hay được nghiên cứu hiện nay là phương pháp kết hợp nhiều vị trí:
Nạn nhân phát hiện và bắt đầu xử lý, sau đó cố gắng đẩy vị trí phòng chống ra hệ thống mạng gần kẻ
tấn công nhất có thể, từ đó giúp giảm tải cho toàn mạng Internet chứ không chỉ cho Victim nữa.
3.3.3. Vị trí kiểm tra và phát hiện tấn công DDoS.
- Phát hiện ở gần nguồn tấn công.Các phương án này thường không có hiệu quả cao
khi mà cuộc tấn công diễn ra với quy mô rất lớn. Do vậy việc phát hiện tấn công gần nguồn
sẽ tránh được tắc nghẽn và đạt hiệu quả cao nhất.
- Phát hiện tấn công tại nạn nhân, phương pháp này không khó vì lúc đó lưu lượng mạng
tại nạn nhân sẽ trở nên rất cao và tất nhiên sẽ dẫn đến tình trạng không thể cung cấp được các
dịch vụ. Tuy nhiên, thông thường việc phát hiện và phản ứng lại tại nạn nhân thường muộn và
vào lúc cuộc tấn công đang ở mức cao. Nạn nhân lựa chọn tắt server và sau đó liên hệ với các
ISP. Các ISP sau khi đã nhận được lời đề nghị của nạn nhân sẽ tiến hành đẩy ngược lại lưu lượng
tấn công tại các router. Công việc này thường tốn rất nhiều thời gian.
3.4. Thuật toán sử dụng để phát hiện ra tấn công DDoS.
3.4.1. Thuật toán Adaptive Threshold (ngưỡng giới hạn khả năng đáp ứng)
Thuật toán này nói chung khá đơn giản và dễ hiểu. Thuật toán phát hiện sự không
bình thường dựa trên sự vị phạm của một ngưỡng khả năng đáp ứng của lưu lượng mạng
trong thời gian gần. Thuật toán đặc biệt có khả năng phát hiện cao nhất khi kẻ tấn công tiến
hành một cuôc tấn công TCP SYN. Thuật toán tin tưởng vào việc kiểm tra phép đo lưu
lượng có vượt qua một ngưỡng giới hạn cụ thể hay không. Nếu vượt qua, chứng tỏ đã có
một cuộc tấn công xảy ra.
3.4.2. Thuật toán (SIM).
Thuật toán tổng tích lũy dựa trên giá trị trung bình của một quá trình xử lý thống kê.
Sự phát hiện điểm thay đổi cần phải theo dõi trong các khoảng thời gian. Một công thức
được xây dựng để theo dõi sự thay đổi này, khi vượt qua một ngưỡng giới hạn chứng tỏ đã
xảy ra một cuộc tấn công.
15
3.4.3. Thuật toán CUSUM (tổng tích lũy).
Trong giai đoạn này, tiến hành phân tích thống kê các lưu lượng đến giữa hai khoảng
thời gian là n. Với kỹ thuật phát hiện tấn công này, một bảng băm sẽ được sử dụng để ghi
lại các địa chỉ IP xuất hiện giữa hai khoảng thời gian. Trong bảng băm nay sẽ gồm 2 trường:
IP address và timestamp. So sánh các trường này với các trường trong IAD để có thể tính
toán có bao nhiêu địa chỉ IP mới đã xuất hiện trong các khe thời gian. Phân tích các địa chỉ
IP mới này cho biết khi nào cuộc tấn công DDos xảy ra.
3.5. Một số giải pháp phòng chống DDoS điển hình.
3.5.1. Giao thức AITF.
3.5.2. Hệ thống D-Ward.
3.5.3. Giao thức lan tỏa ngược.
3.5.3.1. Giới thiệu về giao thức lan tỏa ngược.
Giao thức „Lan tỏa ngược‟ dựa trên 3 nguyên tắc sau để ngăn chặn các cuộc tấn công:
+ Sử dụng các bộ lọc (Filter) trên các router để chặn các gói tin DDoS.
+ Dùng cơ chế „lan tỏa ngược‟ để đẩy nhiệm vụ lọc cho các router gần Attacker.
+ Sử dụng một số giải thuật để nâng cao hiệu suất và chống lừa dối, lợi dụng giao thức.
3.5.3.2. Bộ lọc
- Bộ lọc (Filter): Filter là 1 bộ các luật để xác định cách thức 1 router truyền hay ngăn
chặn dữ liệu []. Cụ thể trong trường hợp này thì Filter của router có chức năng chặn tất cả các gói
tin DDoS có IP nguồn là IP của Agent, hoặc IP bị Agent giả mạo, và IP đích là IP của Victim.
- Cơ chế “Lan tỏa ngược”:Là phương pháp cho phép xác định được chính xác nguồn
tấn công từ chối dịch vụ bằng cách lan truyền bộ lọc trên các router qua cơ chế pushback.
Khi có 1 địa chỉ IP được xác định là nguồn tấn công. Trên gateway của Victim sẽ bật 1
bộ lọc, vừa để loại bỏ các gói tin DDoS, vừa lắng nghe xem các gói tin ấy đến từ interface
nào. Sau khi xác định được thì sẽ gửi 1 yêu cầu qua interface ấy, đến router hàng xóm yêu
cầu lập Filter tương tự. Router hàng xóm lập Filter, lắng nghe rồi xác định gói tin đến từ
interface nào, và lại gửi yêu cầu lập Filter cho router kế tiếp. Cứ như vậy sẽ xác định được
router gần nguồn tấn công nhất, cho dù là IP nguồn tấn công có bị giả mạo hay không.
3.5.3.3. Cơ chế hoạt động.
- Bước 1: Khởi động.
- Bước 2: Bắt đầu
- Bước 3: Kiểm tra giả mạo
16
Bước 4: Rút gọn
- Bước 5: ngăn chặn.
- Bước 6: Lan tỏa ngược.
3.5.3.4. Chống lợi dụng giao thức.
- Nguy cơ: Một router G nào đó giả vờ là người bị DDoS, để ngăn cho mạng của nạn
nhân H không thể truy xuất đến 1 mạng K được. Router G sẽ giả vờ H chính là kẻ tấn công
mạng K, yêu cầu chạy giao thức lan tỏa ngược để các router khác chặn không cho H liên lạc
được với K. Có 2 cách để G làm được điều này:
+ G giả vờ mình là gateway của K, đang bị mạng H tấn công (G đóng giả Victim_GW), G
kết nối đến gateway của mạng H, yêu cầu lập bộ lọc ngăn chặn H truy cập đến K.
+ G đóng vai trò là router trên đường đi, chạy giao thức lan tỏa ngược, yêu cầu hàng
xóm lập filter ngăn truy xuất từ H đến K.
- Giải pháp: Trong trường hợp 1, khi G kết nối đến gateway của mạng H thì theo giao
thức đây phải là 1 kết nối tin cậy => G không thể fake ip được. Sau đó gateway của H còn
kiểm tra xem G có đứng kề trước K hay không bằng cách thực hiện 2 lần ping như ở trên đã
nói. Nếu xác nhận đúng thì gateway của H mới lập Filter.
Trường hợp G đóng vai trò là router trên đường đi, yêu cầu hàng xóm lập filter để
ngăn chặn truy xuất từ H đến K là rất khó xảy ra. Thứ nhất là router trong phần lõi của
Internet được các ISP quản lý rất kĩ, gần như không thể xâm nhập được. Thứ hai là router
trong phần lõi là các thiết bị đơn giản hơn máy tính rất nhiều, rất ít ứng dụng và lỗ hổng để
hacker có thể khai thác. Thứ ba là kiến trúc của mạng Internet là packet switching, do đó
con đường đi từ mạng H đến mạng K không cố định, có thể thay đổi động theo thời gian.
Việc nắm bắt được đường đi này để tấn công vào đúng router ở giữa để lừa đảo cũng là 1
khó khăn không nhỏ. Tổng kết lại, chi phí để thực hiện phương pháp lợi dụng giao thức này
lớn hơn rất nhiều lần so với mục đích cuối cùng là ngăn chặn H truy xuất tới K.
3.5.3.5. Nhận xét.
- Ưu điểm: Thuật toán giúp giao thông trên Internet nhẹ hơn nhiều so với AITF, “Lan
tỏa ngược” chỉ được kích hoạt khi Victim bị tấn công. Còn AITF luôn luôn phải ghi thêm
Route Record vào gói tin IP khiến cho tải của toàn bộ Internet tăng lên đáng kể.
– Do Victim_GW đẩy nhiệm vụ lọc gói tin cho Router gần Agent. Vì vậy sẽ sớm
ngăn chặn được các gói tin DDoS và đỡ tốn băng thông mạng và giảm tình trạng nút cổ chai
ở gần Victim.
17
– Chống được Fake IP, lừa dối và lợi dụng giao thức.
– Chặn được DDoS ngay cả khi từ Attacker đến Victim có nhiều đường đi và có sự
thay đổi động trên các router ở phần lõi Internet.
– Xây dựng trên tầng network, kể cả 1 router trên mạng không cài đặt giải thuật này
thì mạng vẫn có thể hoạt động bình thường.
– “Lan tỏa ngược” hoạt động tốt ngay cả khi DDoS được thiết kế có độ phân tán cao.
Nhược điểm: Do phải huy động router ở lõi lập Filter phần lõi của Internet phải chịu thêm
tải. Trong trường hợp 1 router ở lõi không được cài thuật toán, hoặc bị Attacker chiếm
quyền điều khiển thì khi có DDoS đi qua, router lõi liền kề nó sẽ phải lập Filter với thời
gian t
long
.Nếu attacker có cơ chế giả mạo (fake) nhiều IP luân phiên, thì ứng với mỗi 1 IP,
A_GW sẽ phải tạo 1 bộ lọc khác nhau.
3.6. Tóm tắt chƣơng 3
Trên cơ sở kết quả nghiên cứu về các hành vi tấn công, mô hình tấn công DDoS đã
nêu ở chương trước, chương 3 của luận văn trình bày cụ thể về mô hình bảo vệ chống tấn
công DDoS. Nội dung chương đã nêu các vấn đề đặt ra khi xây dựng hệ thống chống DDoS,
các đặc trưng của mô hình bảo vệ chống tấn công; đi sâu phân tích một số thuật toán điển
hình để phát hiện ra tấn công DDoS như: thuật toán Adaptive Thresholds, SIM, CUSUM.
Ba giao thức điển hình cho phòng chống DDoS là AITF, D-Ward, giao thức lan tỏa ngược,
trong đó giao thức lan tỏa ngược là hiệu quả nhất. Kết quả chương đã đưa ra đề xuất về mô
hình bảo vệ chống DDoS.
18
Chƣơng 4 - MÔ PHỎNG PHÁT HIỆN TẤN CÔNG VÀ CHỐNG
TẤN CÔNG DDoS.
4.1. Giới thiệu bộ công cụ NeSSi2.
4.1.1. Tổng quan.
NeSSiNeSSi (Network Security Simulator) là một công cụ mô phỏng kết hợp nhiều
tính năng liên quan đến an ninh mạng, được phát triển tại phòng nghiên cứu DAI-Labs
thuộc Trường Đại học TU Berlin (CHLB Đức) (xem www.nessi2.de). Thông qua công cụ
NeSSi, chúng ta có thể mô phỏng các cuộc tấn công tự động dựa trên các profile đã được
thiết lập, phân tích lưu lượng NeSSi được sử dụng trong lĩnh vực nghiên cứu an ninh và
các mục đích đánh giá. Trong các trường hợp muốn thử nghiệm các thuật toán phát hiện
xâm nhập,tiến hành phân tích tình hình an ninh mạng thì NeSSi là công cụ mạng lại hiệu
quả rất cao.
Các cơ hở hạ tầng truyền thông hiện đại, hệ thống mạng máy tính dựa trên nền tảng
IP đóng vai trò chủ đạo. Việc triển khai các mạng này đang phát triển theo cấp số mũ. Thật
vậy hầu hết các tập đoàn, các cơ quan và cá nhân đều sử dụng các dịch vụ phúc tạp và hệ
thống thông tin liên lạc cho mình.
Đối với an ninh thông tin, điều này dẫn đến những thách thức mới như một lượng lớn
dữ liệu, trong đó có thể chứa nội dung độc hại như sâu, virus, hoặc Trojans, được chuyển
qua các mạng mở. Mạng biện pháp an ninh đối phó với những mối đe dọa này có thể được
thực hiện trong mạng riêng của mình cũng như tại các máy chủ kết nối để truy cập vào bộ
định tuyến của mạng.
Bản thân các nhà cung cấp mạng cũng luôn phấn đẩu để cung cấp các tính năng bảo
mật cho khách hàng của họ. Để làm được điều này thì bên trong hệ thống của họ sẽ đặt thiết
bị an ninh để phát hiện và ngăn chặn các hiểm họa có thể xảy ra. Trước khi làm được điều
này thì các nhà cung cấp dịch vụ phải sử dụng các công cụ mô phỏng mạng mà trong đó các
tính năng khác nhau của các kiến trúc bảo mật có thể kiểm tra để đảm bảo tối đa phát hiện
tấn công trước khi triển khai thực tế.
NeSSi cho phép thử nghiệm với các hệ thống mạng khác nhau, thiết lập chính sách
bảo mật và các thuật toán để đánh giá và so sánh hiệu quả của việc phát hiện xâm nhập và
chi phí triển khai.
19
4.1.2. Các thành phần của bộ công cụ.
4.1.2.1. Graphical User Interface
Giao diện người dùng (Graphical User Interface): Đây là thành phần cho phép người
dùng tạo và thay đổi tất cả các thành phần cần thiết cho một mô phỏng.Kết quả của các mô
phỏng hoàn thành có thể xem được ở đây.
Các thành phần cốt lõi của giao diện người dùng được xây dựng trên Eclipse, đặc
biệt với các mô-đun đã được xây dựng trong các tập tin và thư mục cho phép người sử dụng
kết hợp tất cả các dự án trong một thử nghiệm mới. Giao diện người dùng đồ họa cho phép
người dùng có thể thao tác một các dễ dàng hơn.
4.1.2.2. Simulation Backend
Các ví dụ mô phỏng thực tế được thực hiện trên một máy tính với phần cứng dành
riêng cho mục đích này, kết hợp với các phụ trợ mô phỏng. Sau khi một phiên được được
thiết lập,tiến trình trình thực hiện chạy thì các phụ trợ mô phỏng sẽ phân tích các thông số
các phiên mong muốn (chẳng hạn như log của các sự kiện) từ đó tạo ra một môi trường mô
phỏng tương ứng, thiết lập các kết nối cơ sở dữ liệu và lịch trình mô phỏng để chạy sau khi
các nguồn tài nguyên xử lý cần thiết có sẵn.
4.2.1.3. Database.
Chúng ta có thể sử dụng hệ cơ sở dữ liệu Mysql 5.5 trở lên để lưu trữ. Trong NeSSi2,
các kịch bản mô phỏng được thực hiện thông qua các phiên (session). Mỗi phiên sẽ được
xác định với các node mạng, mô hình mạng, kịch bản và thời gian xác định. Kết quả sau khi
chạy phiên sẽ cho chúng ta kết quả, từ các kết quả đó chúng ta có thể đánh giá khả năng bảo
mật,độ an toàn của hệ thống,phát hiện các mối nguy hiểm, từ đó có thể xây dựng các chính
sách bảo mật cho hệ thống.
Với mục đích mô phỏng như vậy chúng ta sử dụng cơ sở dữ liệu phân tán. Hệ cơ sở
dữ liệu sẽ lưu trữ các traffic được tạo khi chúng ta chạy các session.
Với một phiên session thì log traffic của các node mạng, dữ liệu được phát hiện sẽ
được gửi đến cơ sở dữ liệu.
4.2. Phƣơng thức mô phỏng với NeSSi2
4.2.1. Thiết lập mạng.
4.2.2. Thiết lập Profile
4.2.3. Thiết lập kịch bản mô phỏng
20
4.2.4. Thiết lập phiên kịch bản
4.2.5. Thực hiện mô phỏng
4.3. Mô hình mô phỏng tấn công DDoS với NeSSi2.
4.3.1.Sơ đồ mạng mô phỏng, chức năng các thành phần.
4.3.1.1. Xây dựng lại sơ đồ hệ thống mạng công ty trên phần mềm mô phỏng NeSSi2.
4.3.2. Tạo nguồn lưu lượng
4.3.3. Kịch bản mô phỏng
Trong phạm vi bài, ba kịch bản mô phỏng sau đây được thiết lập để mô phỏng tấn
công DDoS với NeSSi2.
4.3.3.1. Kịch bản 1: Kiểm tra hệ thống mạng hiện tại.
- Bước 1: Chạy chương trình mô phỏng với hệ thống mạng đã xây dựng.
- Bước 2: Quan sát kết quả, phân tích kết quả.
- Bước 3: Dựa vào kết quả vẽ biểu đồ.
- Bước 4: Đánh giá.
4.3.3.1. Kịch bản 2: Tấn công DDoS vào Server trong mạng.
- Bước 1: Tấn công DDoS vào Server.
- Bước 2: Quan sát kết quả, phân tích gói tin, traffic giữa các thiết bị.
- Bước 3: Dựa vào kết quả vẽ biểu đồ.
- Bước 4: Đánh giá.
4.3.3.1. Kịch bản 3: Tìm ra lỗi hệ thống mà các hacker có thể lợi dụng để tấn công DDoS,
phân tích để tìm ra nguồn tấn công.Vá lỗ hổng, ngăn chặn và cô lập nguồn tấn công.Kiểm
tra mức độ bảo mật của hệ thống sau khi được vá lỗi.
- Bước 1: Tấn công DDoS vào Server.
- Bước 2: Quan sát kết quả, phân tích gói tin, lưu lượng.
- Bước 3: Dựa vào kết quả vẽ biểu đồ.
- Bước 4: Đánh giá.
4.3.4. Các kết quả mô phỏng
- Kết quả chạy chương trình mô phỏng thành công.
- Kết quả kịch bản 1: Kiểm tra hệ thống mạng hiện tại.
- Kết quả kịch bản 2: Thực hiện tấn công DDoS.
o Tấn công vào WebServer có địa chỉ IP là 10.1.0.12
o Tấn công vào WebServer thông qua giao thức UDP, và tấn công vào cổng 1234.
21
o Tấn công vào Server bằng cách gửi gói tin có kích thước lớn 999999.
o Tấn công trong khoảng thời gian 1000 giây.
- Kết quả kịch bản 3: Khi phát hiện bị tấn công, thực hiện các biện pháp chặn port,
chặn nguồn tấn công.
4.4. Nhận xét, đánh giá.
Chương 4 đã trình bày về một khả năng mô phỏng phát hiện tấn công và chống tấn
công DDoS với bộ công cụ NeSSi2. Luận văn đã thực hiện thiết lập hệ thống phần mềm mô
phỏng; xây dựng ba kịch bản mô phỏng điển hình; triển khai mô phỏng tấn công DDoS trên
hệ thống mạng máy tính của một công ty; hiển thị kết quả mô phỏng và đánh giá kết quả.
Để chống DDoS hoàn toàn là một điều khó khăn. Chúng ta muốn hạn chế các hậu
quả do DDoS gây ra thì cần phải luôn luôn cập nhập công nghệ, nâng cao kiến thức, am
hiểu về các dạng và các công cụ tấn công để từ đó đưa ra biện pháp phòng chống hiệu quả.
Ví dụ:
+ Trinoo: Clients, handlers and agents mặc định sử dụng các port sau để tấn công
(1524 TCP, 27665 TCP, 27444 UDP, 31335 UDP). Vì vậy, cần đóng các port này lại.
+ TFN: Công cụ này sử dụng các gói tin ICMP ECHO and ICMP ECHO REPLY
giữa clients, handlers and agents để tấn công.
+ Stacheldraht: Clients, handlers and agents mặc định sử dụng các port sau để tấn
công (16660 TCP, 65000 TCP, ICMP ECHO, ICMP ECHO REPLY).
Sau khi tìm hiểu và mô hình hóa kiểu tấn công DDoS đối với hệ thống mạng của
công ty An Phát. Em xin đưa ra một số giải pháp để chống kiểu tấn công DDoS như sau:
+ Scan và đóng tất cả các port không cần thiết (1524 TCP, 27665 TCP, 27444
UDP, 31335 UDP, 16660 TCP, 65000 TCP, ICMP ECHO).
+ Thường xuyên update phiên bản mới nhất của hệ điều hành.
+ Luôn luôn bật tường lửa để bảo vệ.
+ Tại Router ngoài biên nên sử dụng lệnh ip verify unicast reverse-path. Câu lệnh
này sẽ yêu cầu Router kiểm tra từng gói tin nhận được theo chiều vào của interface đó, nếu
nó phát hiện địa chỉ IP nguồn không có trong bảng định tuyến CEF tại giao diện còn lại các
gói tin sẽ bị loại bỏ. Như vậy chúng có thể chống kiểu tấn công Smurf mà các hacker hay
dùng và nó rất lợi hại. Câu lệnh này giúp hệ thống mạng có thể chống lại kiểu tấn công giả
mạo địa chỉ IP nguồn.
22
+ Như đã nói ở trên, DDoS rất khó phòng chống vì vậy khi phát hiện ra cuộc tấn
công DDoS cần nhanh chóng phân tích để tìm ra nguồn tấn công. Dựa vào kết quả phân tích
sử dụng các biện pháp để ngăn chặn.
+ Sử dụng câu lệnh Access Control Lists (ACLs) để ngăn chặn các nguồn tấn công.
+ Giới hạn gói tin ICMP.
23
KẾT LUẬN
Trong luận văn này em đã trình bày, phân tích, mô hình hóa các đặc trưng cũng như
đặc điểm nhận dạng của kiểu tấn công từ chối dịch vụ phân tán (DDoS); làm rõ sự khác
nhau giữa 2 kiểu tấn công từ chối dịch vụ đó là từ chối dịch vụ thông thường (DoS) và kiểu
tấn công từ chối dịch vụ phân tán (DDoS). Từ đó, luận văn đã chỉ ra mức độ nguy hiểm của
kiểu tấn công từ chối dịch vụ phân tán. Luận văn đã tập trung đi sâu vào tìm hiểu bản chất,
cách thức hoạt động, cách thức tấn công, các kỹ thuật tấn công hiện tại, các công cụ tấn
công từ chối dịch vụ phân tán, từ đó giúp hiểu rõ hơn bản chất của kiểu tấn công này. Trên
cơ sở đó, luận văn đã đề xuất một số biện pháp cơ bản để ngăn chặn các cuộc tấn công từ
chối dịch vụ phân tán. Ngoài ra, luận văn cũng đã giới thiệu qua về các thuật toán phát hiện
DDos được sử dụng phổ biển trên thế giới. Những thuật toán này có thể giúp phát triển
những hệ thống dựa trên những nền tảng đã có. Luận văn đã đặc biệt chú ý đến giao thức
lan tỏa ngược vì đây là một giao thức khá mạnh, có thể ngăn chặn ngay cả khi Agent giả
mạo địa chỉ IP. Việc đặt bộ lọc ở gần nguồn tấn công nhất của giao thức lan tỏa ngược là
phương pháp tối ưu nhất trong các giao thức ngăn chặn DDos hiện nay.
Việc phát hiện và ngăn chặn các cuộc tấn công từ chối dịch vụ phân tán hoàn toàn là
một điều rất khó khăn. Muốn hạn chế đến mức thấp nhất những hậu quả của cuộc tấn công
này thì mỗi cá nhân, tổ chức cần phải luôn luôn cảnh giác. Một trong những cách hữu hiệu
là kiểm tra tính bảo mật thông qua phần mềm mô phỏng để đánh giá mức độ bảo mật của hệ
thống, khả năng bị tấn công, từ đó đưa ra biện pháp cải thiện,nâng cấp hệ thống cho hệ
thống mạng của mình. Hy vọng luận văn này có thể giúp làm rõ về bản chất, cách thức tấn
công và các kỹ thuật để phòng chống lại kiểu tấn công DDoS.
Kết quả luận văn có thể được sử dụng làm cơ sở tham khảo trong việc xây dựng hệ
thống có khả năng chông lại được các cộng tấn công từ chối dịch vụ phân tán, có thể áp
dụng ngay vào thực tiễn phục vụ cho việc kiểm tra khả năng chống DDoS của các hệ thống
mạng trong các công ty.
Các kết quả cụ thể đã đạt được của luận văn gồm:
o Nghiên cứu các dạng tấn công từ chối dịch vụ đặc biệt là DdoS, mức độ nguy
hiểm của kiểu tấn công DDoS, giới thiệu một số công cụ tấn công DDoS điển hình; Nhu cầu
của hệ thống có khả năng chống lại tấn công từ chối dịch vụ phân tán.