Tải bản đầy đủ (.docx) (22 trang)

Phát hiện tấn công DDoS dựa trên entropy của địa chỉ IP

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 (460.83 KB, 22 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA AN TOÀN THÔNG TIN
----------

HỌC PHẦN: CHUYÊN ĐỀ AN TOÀN THÔNG TIN

BÀI BÁO CÁO
PHÁT HIỆN TẤN CÔNG DDoS DỰA TRÊN ENTROPY CỦA
ĐỊA CHỈ IP

HÀ NỘI, 04/2017


Mục Lục


CHƯƠNG I: TỔNG QUAN VỀ TẤN CÔNG DOS/DDOS VÀ CÁC BIỆN PHÁP
PHÒNG CHỐNG
1. Khái quát về DOS/DDOS:
1.1. Khái niệm DOS:
− Tấn công từ chối dịch vụ DOS (Denial of Service) là các cách thức tấn

công mà kẻ tấn công làm cho hệ thống không thể sử dụng hoặc chậm đi
đáng kể bằng cách làm quá tải tài nguyên hệ thống
1.2. Khái quát về các dạng tấn công DOS:
− Các nguồn tài nguyên tin tặc nhắm tới trong một cuộc tấn công DoS có

thể là một máy tính cụ thể, một cổng hoặc một dịch vụ trên hệ hống,
toàn bộ mạng, một thành phần mạng hoặc cũng có thể nhắm đến giao
tiếp giữa con người và hệ thống
− Ngoài ra tấn công DoS được thiết kế để thực thi malware có thể khuếch



đại bộ vi xử lý, ngăn chặn khả năng sử dụng hệ thống; kích hoạt lỗi
trong mã máy khiến máy tính rơi vào trạng thái không ổn định; khai
thác lỗ hổng hệ điều hành khiến treo hoàn toàn thiết bị.
1.3. Khái niệm DDOS:
− Tấn công từ chối dịch vụ phân tán (Distributed Denial of Service) là một

dạng tấn công DOS phát triển ở mức độ cao hơn.
− Với DOS, lưu lượng tấn công thường chỉ khởi phát ở một hay một số ít

host nguồn còn với DDOS, lưu lượng tấn công được khởi phát từ rất
nhiều host nằm rải rác trên mạng Internet.
− Tập hợp các máy tính này được gọi là mạng máy tính ma hay botnet.

2. Kiến trúc tấn công DDOS:
− Kiến trúc tấn công DDOS được chia làm 2 loại chính:
 Kiến trúc tấn công trực tiếp
 Kiến trúc tấn công gián tiếp (phản chiếu)

a. Kiến trúc tấn công trực tiếp:


Hình 1. Kiến trúc tấn công DDOS trực tiếp

− Theo kiến trúc này, đầu tiên kẻ tấn công sẽ tạo ra các máy trung gian

(master zombies). Để làm được điều này, attacker sẽ rà quét một số host
trên Internet để tìm ra các lỗ hổng. Thông qua việc khai thác lỗ hổng
này, attacker có thể chiếm được quyền điều khiển của các máy trung
gian này và tiến hành cài đặt các công cụ tấn công trên chúng. Các máy

trung gian này là ngẫu nhiên trên Internet và kết nối giữa attacker và
chúng có thể được mã hóa. Các máy trung gian này không trực tiếp tiến
hành tấn công vào máy tính nạn nhân. Với số lượng máy trung gian
càng lớn thì càng khó để truy vết ra kẻ tấn công.
− Tiếp theo, kẻ tấn công sẽ sử dụng các máy trung gian đã bị chiếm để

tiếp tục quét và chiếm quyền điều khiển của nhiều host khác trên
Internet. Các máy mà bị điều khiển bởi các máy trung gian được gọi là
zombies. Kết nối giữa các máy trung gian và zombies cũng có thể được
mã hóa. Zombies chính là tác nhân chính tấn công tới victim bằng cách


gây ngập lụt đường truyền mạng. Đa số những người sở hữu máy
zombies không biết rằng máy của họ đã bị điều khiển và đang tham gia
tấn công tới máy nạn nhân
b. Kiến trúc tấn công gián tiếp:
Hình 2. Kiến trúc tấn công gián tiếp

− Với kiến trúc tấn công này, đầu tiên attacker cũng chiếm quyền điều

khiển của các máy trung gian (masters) qua đó chiếm quyền điều khiển
của các máy zombies (slaves) giống như kiến trúc tấn công trực tiếp
− Khác với kiến trúc tấn công trực tiếp, attacker thay vì sử dụng slave để

tấn công trực tiếp tới máy nạn nhân, họ sẽ dùng slave để gửi request
đến các reflectors (ví dụ như DNS server) với địa chỉ nguồn là địa chỉ
của máy nạn nhân. Khi nhận được request thì như thường lệ các
reflectors sẽ gửi lại reply tới địa chỉ nguồn. Và với việc nhận một số
lượng phản hồi lớn như vậy sẽ khiến máy nạn nhân bị cạn kiệt tài
nguyên.

3. Phân loại tấn công DDOS:
− Tấn công DDOS có thể được phân loại dựa trên 6 yếu tố 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
 Dựa trên việc khai thác các lỗ hổng an ninh

a. Dựa trên phương pháp tấn công:
− Theo kiểu phân loại này, tấn công DDOS có thể được chia thành 2 dạng:
 Tấn công gây ngập lụt (Flooding attacks): kẻ tấn công tạo một lượng

lớn các gói tin giống với gói tin hợp lệ và gửi đến hệ thống nạn nhân
nhằm làm cho hệ thống không thể phục vụ người dùng hợp pháp
 Tấn công logic (Logical attacks): loại tấn công này thường khai thác

các tính năng hoặc các lỗi cài đặt của 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.
b. Dựa trên mức độ tự động:
− Theo kiểu phân loại này có thể chia tấn công DDOS thành 3 dạng:
 Thủ công: kẻ tấn công trực tiếp làm mọi việc như quét lỗ hổng, chiếm

quyền điều khiển, cài đặt mã độc, và ra lệnh tấn công.
 Bán tự động: các giai đoạn khai thác lỗ hổng và chiếm quyền điều khiển

của handler và agent được thực hiện tự động. Giai đoạn tấn công sẽ
được tin tặc điều khiển bằng cách gửi các thông tin về kiểu tấn công,

thời gian tấn công và đích tấn công
 Tự động: tất cả các giai đoạn đều được thực hiện tự động

c. Dựa trên giao thức mạng:
− Theo kiểu phân loại này có thể chia tấn công DDOS thành 2 dạng:
 Tấn công vào tầng mạng hoặc tầng giao vận: ở dạng này, tin tặc sử

dụng các gói tin TCP, UDP, ICMP để tấn công
 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 giao thức thông dụng ở tầng ứng dụng như HTTP, SMTP, DNS.


d. Dựa trên phương thức giao tiếp:
− Theo dạng này, tấn công DDOS có thể được chia thành 4 dạng:
 Dựa trên agent-handler: tấn công theo dạng này gồm client, handler và

agent. Tin tặc chỉ giao tiếp trực tiếp với client. Client giao tiếp với agent
để tấn công thông qua handler
 Dựa trên IRC: tấn công theo dạng này, tin tặc sử dụng IRC để giao tiếp

với agent
 Dựa trên web: theo dạng tấn công này, tin tặc sử dụng các trang web để

giao tiếp thay cho IRC
 Dựa trên P2P: ở dạng này, tin tặc sử dụng giao thức P2P để giao tiếp

e. Dựa trên cường độ tấn công:
− Theo dạng tấn công này, tấn công DDOS có thể được chia thành 5 dạng:
 Tấn công cường độ cao: là dạng tấn công gửi một lượng lớn các yêu


cầu từ các agent tại cùng 1 thời điểm
 Tấn công cường độ thấp: các agent gửi một lượng lớn yêu cầu giả mạo

nhưng với tần suất thấp giống như các yêu cầu đến từ người dùng hợp
pháp
 Tấn công cường độ thay đổi: là dạng tấn công thay đổi cường độ để

tránh bị phát hiện và đáp trả
 Tấn công cường độ hỗn hợp: là dạng kết hợp giữa cường độ cao và

thấp
 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
f. Dựa trên việc khai thác các lỗ hổng an ninh:
− Theo kiểu này, tấn công DDOS có thể được chia thành 2 dạng:
 Tấn công gây cạn kiệt băng thông: tấn công dạng này gây ngập lụt hệ

thống mạng của nạn nhân thông qua các yêu cầu giả mạo, làm người
dùng hợp pháp không thể sử dụng dịch vụ


 Tấn công gây cạn kiệt tài nguyên: dạng tấn công này sẽ tiêu tốn hết tài

nguyên trên máy nạn nhân dẫn đến việc không thể phục vụ các yêu cầu
của người dùng hợp pháp
4. Các biện pháp phòng chống tấn công DDOS:
− Có thể chia biện pháp phòng chống thành 3 dạng theo 3 tiêu chí chính:
 Dựa trên vị trí triển khai

 Dựa trên giao thức mạng
 Dựa trên thời điểm hành động

a. Dựa trên vị trí triển khai:
− Theo vị trí triển khai có thể chia thành 3 dạng
 Triển khai ở nguồn tấn công: lọc các gói tin có địa chỉ giả mạo tại các

bộ định tuyến ở cổng mạng, sử dụng tường lửa để nhận dạng và giảm
tần suất chuyển gói tin không được xác nhận
 Triển khai ở đích tấn công: nhận dạng địa chỉ giả mạo, lọc và đánh dấu

các gói tin để phân biệt gói tin tấn công
 Triển khai ở mạng đích tấn công: lọc và phát hiện gói tin độc hại ở bộ

định tuyến
b. Dựa trên giao thức mạng:
− Các biện pháp được chia thành 3 dạng theo 3 tầng ứng dụng, giao vận

và mạng
 Tầng ứng dụng: giám sát hành vi người dùng trong các phiên làm việc,

tối thiểu hóa việc truy nhập trang web, sử dụng các phương pháp thống
kê để phát hiện tấn công
 Tầng giao vận: lọc gói tin dựa trên địa chỉ IP, giảm thời gian chờ xác

nhận yêu cầu kết nối, tăng kích thước cache để tăng số lượng kết nối
chờ xác nhận, sử dụng tường lửa lọc gói tin, thực thi các chính sách an
toàn đã được thiết lập
 Tầng mạng: giảm tần suất truyền gói tin qua lại giữa các bộ định tuyến


c. Dựa trên thời điểm hành động:


− Các biện pháp chia theo 3 thời điểm:
 Trước khi bị tấn công: cập nhật hệ thống, sửa vá các lỗ hổng, cấu hình

phù hợp
 Trong khi bị tấn công: sử dụng tường lửa và IDS/IPS (Intrusion

Detection/Prevention System) để phát hiện và ngăn chặn tấn công
 Sau khi bị tấn công: ghi log, lần vết, truy tìm nguồn gốc tấn công


CHUƠNG 2: PHÁT HIỆN TẤN CÔNG DDoS DỰA TRÊN IP ENTROPY
2.1. Khái quát về entropy
2.1.1. Khái niệm entropy và ứng dụng trong phát hiện bất thường
mạng.
Entropy thước đo của sự không chắc chắn, có thể được sử dụng để tổng
hợp phân bố của các tính chất ở dạng rút gọn.
Entropy thông tin mô tả mức độ hỗn loạn trong một tín hiệu lấy từ một sự
kiện ngẫu nhiên. Nói cách khác, entropy cũng chỉ ra có bao nhiêu thông
tin trong tín hiệu, với thông tin là các phần không hỗn loạn ngẫu nhiên của tín
hiệu.
Ví dụ, nhìn vào một dòng chữ tiếng Việt, được mã hóa bởi các chữ cái,
khoảng cách, và dấu câu, tổng quát là các ký tự. Dòng chữ có ý nghĩa sẽ không
hiện ra một cách hoàn toàn hỗn loạn ngẫu nhiên; ví dụ như tần số xuất hiện
của chữ cái x sẽ không giống với tần số xuất hiện của chữ cái phổ biến hơn
là t. Đồng thời, nếu dòng chữ vẫn đang được viết hay đang được truyền tải,
khó có thể đoán trước được ký tự tiếp theo sẽ là gì, do đó nó có mức độ ngẫu
nhiên nhất định. Entropy thông tin là một thang đo mức độ ngẫu nhiên này.

Có nhiều dạng entropy, nhưng chỉ có một số ít được ứng dụng cho việc
phát hiện các bất thường trong mạng và phổ biến nhất là Shannon entropy.
Shannon entropy được ứng dụng như entropy tương đối và entropy có điều
kiện để phát hiện các dấu hiệu bất thường trong mạng. Ngoài ra, Shannon
entropy còn được sử dụng để tổng hợp một phân phối của các tính chất của
các luồng mạng.

2.1.2. Shannon entropy và entropy tham số
2.1.2.1 Shannon entropy
Định nghĩa về entropy được xuất hiện lần đầu vào những năm 1950 bởi
Clausius trong ngành nhiệt động lực học. Năm 1948 Shannon đưa entropy vào
lý thuyết thông tin. Trong lý thuyết thông tin, entropy là một thước đo của sự
không chắc chắn liên quan đến một biến ngẫu nhiên. Càng nhiều các biến
ngẫu nhiên thì entropy càng lớn và ngược lại, biến càng chắc chắn thì entropy


càng nhỏ. Đối với một phân bố xác suất p (X = xi) của một biến rời rạc, ngẫu
nhiên X, Shannon entropy được định nghĩa như sau:
Định nghĩa về entropy để thoả mãn các giả định sau:


Entropy phải tỷ lệ thuận liên tục với các xác suất xuất hiện của các phần tử
ngẫu nhiên trong tín hiệu. Thay đổi nhỏ trong xác suất phải dẫn đến thay đổi
nhỏ trong entropy.



Nếu các phần tử ngẫu nhiên đều có xác suất xuất hiện bằng nhau, việc tăng số
lượng phần tử ngẫu nhiên phải làm tăng entropy.




Có thể tạo các chuỗi tín hiệu theo nhiều bước, và entropy tổng cộng phải bằng
tổng có trọng số của entropy của từng bước.
Shannon cũng chỉ ra rằng bất cứ định nghĩa nào của entropy, cho một tín hiệu
có thể nhận các giá trị rời rạc, thoả mãn các giả định của ông thì đều có dạng:

H(x)=

với


K là một hằng số, chỉ phụ thuộc vào đơn vị đo.



n là tổng số các giá trị có thể nhận của tín hiệu.



i là giá trị rời rạc thứ i.



p(i) là xác suất xuất hiện của giá trị i.
Dưới đây là một số tính chất quan trọng của Shannon entropy:

Tính không âm (Nonnegativity)
∀p(xi )∈[0,1] Hs (X) ≥ 0
- Tính cân xứng (Symmetry)

-

Hs (p(x1 ), p(x2 ), … ) = Hs (p(x2), p(x1) … , )
Tính tối đa (Maximality)
Hs(p(x1 ), … , p(xn )) ≤ Hs ( 1/1, … ,1/ n ) = loga (n)
- Tính cộng (Additivity)
Hs(X, Y) = Hs(X) + Hs(Y) với điều kiện X và Y là các biến độc lập.
-

2.1.2.2 Entropy tham số


Shannon entropy giả định có sự cân bằng giữa phân bố khối chính và
đuôi. Để kiểm soát sự cân bằng này, hai Shannon entropy tham số tổng quát
đã được đề xuất, bởi Renyi và Tsallis . Nếu tham số ký hiệu là α (hoặc q) có
một giá trị tích cực, nó cho thấy nhiều khối chính (tập trung các sự kiện xảy ra
thường xuyên), nếu giá trị là tiêu cực - nó đề cập đến đuôi (sự phân tán gây ra
bởi các sự kiện hiếm khi xảy ra). Cả hai entropy tham số (Renyi và Tsallis)
xuất phát từ trung bình tổng quát Kolmogorov-Nagumo:

ϕ là công thức mà thỏa mãn các định đề cộng (chỉ có hàm afin, hoặc
hàm lũy thừa thỏa mãn điều này) và Φ -1 là hàm ngược. Do phép biến đổi afin
∮(xi)→ λ(xi) = a ϕ (xi) + b (trong đó a và b là các số tự nhiên).
Renyi entropy có thể được tính toán từ Shannon entropy với các biến
đổi sau:

Reney entropy thỏa mãn các nguyên lý tương tự như entropy Shannon
và có những mối quan hệ sau đây:

Tsallis đưa ra hàm ϕ như sau:


Chúng ta có thể thấy entropy này phi logarit. Có một vài mối quan hệ
giữa Shannon entropy và Tsallis entropy:


Tuy nhiên, Tsallis entropy là không thể mở rộng, nó chỉ thỏa mãn tính
chất cộng. Đối với các biến ngẫu nhiên rời rạc độc lập X, Y ta có:

Nó có nghĩa là:



Có thể rút ra các kết luận với hai Renyi và Tsallis entropy tham số:
● Tập trung với α>1 và phân tán nếu α<1,
● Hội tụ đến Shannon entropy với α -> 1

2.1.3. Một số dạng entropy khác
2.1.3.1 N-gram entropy
Shannon đã tìm ra được các trường hợp mà pi không xác định nhưng
phải được thu thập từ quan sát. Shannon entropy dựa trên giả định rằng các
ký hiệu liên tiếp sinh ra bởi một nguồn thông tin là không liên quan. Tuy
nhiên, giả định này không luôn đúng với nhiều nguồn thông tin trong thực tế,
chẳng hạn như các ngôn ngữ tự nhiên như tiếng Anh. Shannon do đó mở rộng
khái niệm entropy bằng cách đề xuất N-gram entropy. Theo Shannon, một
chuỗi của L ký hiệu đầu tiên được chia thành các khối có kích thước từ 1 đến L
được gọi là N-gram.
Shannon sử dụng số lần xuất hiện của mỗi N-gram để ước tính giá trị pi
cho mỗi N-gram trong số các N-gram có thể có. Đối với mỗi N, kết quả này
trong một phân bố xác suất mà các N- gram entropy FN có thể dễ dàng được
tính toán với phương trình sau:


Do N tiệm cận vô cực, Shannon khuyến nghị sử dụng giới hạn của dãy giá trị
kết quả như entropy tổng thể của chuỗi:


Cách tiếp cận này bộc lộ một số vấn đề nếu chuỗi là hữu hạn. Thứ nhất,
giới hạn không tồn tại cho chuỗi hữu hạn. Thứ hai, entropy sẽ trở nên vô
nghĩa ngay khi N đạt đến bậc log L: vào thời điểm đó sẽ không còn khả năng
tính toán cho tất cảcác mẫu nhận được và việc dự toán xác suất kết quả ngày
càng trở nên sai lệch.
2.1.3.2 T-Thông tin và T-entropy
Titchener

dự đoán rằng các giới hạn trên của T-phức tạp (T-

complexity) là gần tương đương với li(|x|). Để có được một Shannon entropy
đo thông tin tương thích từ T-phức tạp, Titchener đã đề xuất tích phân
logarit nghịch đảo li-1 (x) là hàm thích hợp cho việc tuyến tính hóa T-phức
tạp. Do đó Titchener đã đưa ra các khái niệm như sau: Định nghĩa T-thông tin:
T-thông tin của một chuỗi x là định nghĩa là tích phân logarit nghịch đảo của
T-phức tạp của x:

Tích phân logarit li(x) được định nghĩa như sau:

li(x) có một điểm kỳ dị (singularity) tại x=1 và một số không dương tại
x=1,4513692. . ., là hằng Ramanujan-Soldner. T-thông tin được đo trong bằng
nats nếu logarit tự nhiên được sử dụng trong tính toán tích phân logarit
nghịch đảo. Nếu cơ số của logarit được chọn là 2, đơn vị được sử dụng là bit.
T-thông tin như vậy không mô tả tỷ lệ entropy. Do đó, Titchener đưa ra
một phương pháp được gọi là T-entropy từ T-thông tin. T-entropy được xác

định thông qua độ chênh lệch của T-thông tin. Định nghĩa T-entropy: Tentropy của một chuỗi x được định nghĩa là độ chênh lệch của T-thông tin của
x đối với chiều dài với |x| của x:


T-entropy khác nhau trên khắp chiều dài chuỗi |x|, nó được tính toán
bằng đơn vị nats trên mỗi ký hiệu nếu logarit tự nhiên được sử dụng cho việc
tính toán của T-thông tin. Nếu cơ số của logarit là 2 thì các đơn vị như bit cho
mỗi bit hay tổng quát hơn, bit cho mỗi ký hiệu được sử dụng. Các tính toán
của T-phức tạp (và do đó T-entropy) liên quan đến các khối có độ dài thay đổi
phụ thuộc vào các mẫu (patterns) trong các đầu vào. Đây là một cách tiếp cận
khác cơ bản đối với các phép đo N-gram entropy của Shannon, trong đó kích
thước khối N được cố định.

2.2. Mô hình phát hiện tấn công DDoS dựa trên entropy của IP nguồn
2.2.1. Giới thiệu mô hình
Mặc dù đặc điểm của tấn công DDoS là các nguồn khởi phát tấn công có
số lượng lớn và phân tán trên mạng Internet, tần xuất gửi các yêu cầu tấn
công từ mỗi host đến máy nạn nhân là khá lớn. Ngoài ra, do các địa chỉ IP giả
mạo thường được sử dụng trong các yêu cầu tấn công DDoS, nên miền địa chỉ
IP nguồn của các yêu cầu giả mạo có nhiều khác biệt so với miền IP của các
yêu cầu hợp lệ. Trên cơ sở tính các mẫu entropy của IP nguồn của các yêu cầu
truy nhập khi hệ thống ở trạng thái làm việc bình thường, có thể giám sát
phát hiện tấn công DDoS trên cơ sở liên tục tính entropy IP nguồn của các yêu
cầu truy nhập và so sánh với các mẫu entropy đã thu thập trong trạng thái
làm việc bình thường.
Mô hình phát hiện tấn công DDoS dựa trên entropy của IP nguồn gồm 2
giai đoạn: huấn luyện và phát hiện như biểu diễn trên Hình :


Mô hình phát hiện tấn công DDoS dựa trên entropy của IP nguồn


2.2.2 Hoạt động của mô hình
Mô hình phát hiện tấn công DDoS dựa trên entropy của IP nguồn gồm 2 giai
đoạn: (a) huấn luyện và (b) phát hiện.
2.2.2.1 Giai đoạn huấn luyện
Giai đoạn huấn luyện gồm các bước:
● Thu thập dữ liệu: Dữ liệu các gói tin IP dùng cho huấn luyện được thu thập

trong điều kiện hệ thống làm việc bình thường, không có tấn công DDoS. Các
gói tin được thu thập liên tục trên card hoặc cổng mạng, hoặc có thể sử dụng
các tập dữ liệu các gói tin IP có sẵn.
● Trích địa chỉ IP nguồn: Địa chỉ IP nguồn của từng gói tin được trích ra phục
vụ cho tính toán giá trị entropy.
● Tính entropy của chuỗi IP nguồn: sử dụng phương pháp cửa sổ trượt theo
thời gian, hoặc theo số lượng gói tin để tính entropy của dữ liệu huấn luyện.
Entropy được tính toán bởi công thức :


Trong đó pi là giá trị của xác suất xuất hiện của IP thứ i gửi các yêu đến
máy chủ trên tổng số các IP đang gửi yêu cầu trong khoảng thời gian của cửa
sổ trượt. Kết quả các giá trị entropy được lưu thành file để sử dụng cho giai
đoạn phát hiện đồng thời các kết quả này cũng cho phép quản trị viên có thể
tính toán được giá trị của entropy khi mạng hoạt động trong thời điểm không
có tấn công nằm trong khoảng nào.
2.2.2.2 Giai đoạn phát hiện
Giai đoạn phát hiện gồm các bước:
● Thu thập dữ liệu: Dữ liệu các gói tin IP được thu thập trong điều kiện giám

sát hệ thống, được thực hiện tương tự như trong giai đoạn huấn luyện.
● Trích địa chỉ IP nguồn: Địa chỉ IP nguồn của từng gói tin được trích ra phục

vụ cho tính toán giá trị entropy giống như trong giai đoạn huấn luyện.
● Tính entropy của chuỗi IP nguồn: sử dụng phương pháp cửa sổ trượt theo
thời gian, hoặc theo số lượng gói tin để tính entropy của dữ liệu giám sát.
Cách thức tính toán entropy và kích thước cửa sổ trượt được chọn giống như
giai đoạn huấn luyện, sau đó các kích thước của cửa sổ trượt sẽ thay đổi trong
các thử nghiệm sau để xem xét ảnh hưởng của kích thước cửa sổ lên khả năng
phân biệt entropy của miền lưu lượng bình thường và miền lưu lượng mạng
bị tấn công.
Đối sánh với tập entropy mẫu: Thực hiện đối sánh các giá trị entropy của dữ
liệu giám sát với mẫu entropy thu được trong giai đoạn huấn luyện.


CHƯƠNG 3: CÀI ĐẶT THỬ NGHIỆM MÔ HÌNH PHÁT HIỆN TẤN CÔNG
DDOS
3.1. Thử nghiệm phát hiện tấn công DDoS dựa trên tập dữ liệu gói tin mẫu
3.1.1. Các bộ dữ liệu sử dụng để thử nghiệm
Sử dụng 2 bộ dữ liệu NZIX và CAIDA để thử nghiệm mô hình phát hiện
tấn công DDoS dựa trên entropy của địa chỉ IP nguồn.
Bộ dữ liệu NZIX là bộ dữ liệu thu thập theo định dạng Ethernet bởi
Network Research Group của trường đại học Waikato, New Zealand. Bộ dữ
liệu gồm có 835 triệu gói tin với tổng dung lượng 200 GB được thu thập liên
tục trong 5 ngày vào tháng 7 năm 2000. Trong bộ dữ liệu này, thử nghiệm chỉ
sử dụng file dữ liệu có mã số 20000710-000000 chứa 19 triệu gói tin với dung
lượng nén khoảng 475 MB. Sử dụng traceconvert legacyeth:nzixII2000071.gz pcapfile:nzixII-20000710.pcap trong bộ công cụ Libtrace để
chuyển đổi các file dữ liệu nén lưu các gói tin sang file dữ liệu theo định dạng
pcap để có thể đọc hiểu được.
Bộ dữ liệu CAIDA được sử dụng là CAIDA "DdoS Attack 2007" chứa vết
lưu lượng mạng khoảng 1 giờ hệ thống bị tấn công DDoS vào ngày 4 tháng 8
năm 2007, từ 20:50:08 UTC đến 21:56:16 UTC, bộ dữ liệu với dung lượng
21GB không nén. Tấn công DDoS này gây ngập lụt toàn bộ đường truyền kết

nối máy chủ đích với Internet. Bộ dữ liệu này được chia thành 5 file, thử
nghiệm chỉ sử dụng dữ liệu có mã CAIDA-ddos-20070804.
3.1.2. Cài đặt thử nghiệm
3.1.2.1 Tính mẫu entropy trong giai đoạn huấn luyện
Thực hiện tính toán entropy trên phần trích tập dữ liệu NZIX trong thời
gian 600 giây. Cửa sổ thời gian kéo dài trong 1 giây nghĩa là giá trị của
entropy được tính toán từng giây cho các luồng dữ liệu hợp lệ trong mạng.
Kết quả tính toán entropy được biểu biễn trên đồ thị. Giá trị của entropy trong
đồ thị nằm trong khoảng 5,7 tới 7,6, điều này cho thấy rằng giá trị của
entropy nằm trong khoảng tương đương nhau trong suốt khối dữ liệu gói tin
và không có sự biến thiên quá lớn trong miền giá trị của entropy.


Entropy trong giai đoạn huấn luyện
3.1.2.2 Tính mẫu entropy trong giai đoạn phát hiện
Tính mẫu entropy với cửa sổ thời gian
Kịch bản này xem xét ảnh hưởng của một cuộc tấn công DDoS lên giá
trị entropy: Kết hợp phần lưu lượng mạng trong 600 giây được trích ra từ bộ
dữ liệu NZIX với một phần dữ liệu tấn công DDoS trích từ bộ dữ liệu CAIDA,
bắt đầu từ giây thứ 250 và kết thúc vào giây 300. Kịch bản này tập trung vào
việc phát hiện tấn công dựa trên địa chỉ nguồn.
(*) Tính toán entropy sử dụng cửa sổ kích thước 1 giây:
Trước khi cuộc tấn công bắt đầu, entropy địa chỉ nguồn nằm hoàn toàn trong
phạm vi 5,7-7,6. Trong cuộc tấn công, entropy giảm xấp xỉ 2 và chỉ đạt ở mức
gần 2,1 – 3,7. Tổng số lần tính entropy là 600. Như vậy, có thể thấy entropy
sinh bởi các gói tin tấn công có giá trị khác biệt hoàn toàn so với entropy sinh
với gói tin hợp lệ. Điều này cho phép phát hiện các cuộc tấn công một cách
chính xác.



(*) Tính toán entropy sử dụng cửa sổ kích thước 2 giây:
Thực hiện kiểm tra luồng dữ liệu hợp pháp cả hợp pháp và cả dữ liệu tấn
công trong mạng trong cùng một thời gian: tính entropy cho cả lưu lượng
hợp pháp và lưu lượng tấn công được tính toán sau mỗi 2 giây. Tổng số lần
tính entropy là 300. Kết quả tính toán entropy biểu biễn trên đồ thị sau.

Trong thời gian từ 1 giây đến 250 giây, giá trị của entropy trong đồ thị này
nằm trong phạm vi 6,3- 7,6 và thời gian từ 250 giây đến 300 giây, giá trị của
entropy rơi xuống trong khoảng 2,2-3,8. Sau đó, giá trị của entropy trở lại
nằm trong phạm vi hẹp 6,3-7,6 trong khoảng thời gian từ 300 giây đến 600
giây. Kết quả chỉ ra rằng khi giá trị entropy nằm giữa 6,3-7,6, thì hệ thống


mạng hoạt động bình thường. Chỉ khi giá trị entropy giảm đột ngột, hệ thống
mạng đã bị tấn công giữa khoảng thời gian 300 giây đến 360 giây.
(*) Tính toán entropy sử dụng cửa sổ kích thước 5 giây:
Entropy được tính bằng cách lấy độ dài của cửa sổ thời gian là 5 giây.

Đồ thị trên cho thấy rằng trong suốt thời gian tấn công, giá trị của entropy
nằm trong khoảng giữa 2,4-3,9, trong khi đó giá trị entropy nằm giữa khoảng
6,9-7,8 thì chỉ có lưu lượng mạng hợp pháp.
3.1.2.3 Một số nhận xét
Từ các thử nghiệm, có thể rút ra một số nhận xét:
-

Miền giá trị của entropy (theo thời gian) của lưu lượng mạng bình
thường thường khá ổn định trong một khoảng hẹp, trong khi đó miền
giá trị của entropy của lưu lượng mạng khi bị tấn công có sự khác biệt
rõ nét với miền giá trị của entropy của lưu lượng mạng bình thường.
Như vậy, có thể sử dụng phân bố giá trị entropy để nhận dạng tấn công

DDoS một cách chính xác.

-

Kích thước cửa sổ thời gian có ảnh hưởng đến giá trị entropy, tuy nhiên
nó không ảnh hưởng quyết định đến khả năng phân biệt lưu mạng khi
bị tấn công và lưu mạng bình thường. Chọn kích thước cửa số lớn có
thể giảm được số lượng tính toán, nhưng giảm khả năng phát hiện sớm
tấn công. Ngược lại, chọn kích thước cửa sổ nhỏ làm tăng khả năng
phát hiện sớm tấn công, nhưng yêu cầu lượng tính toán lớn hơn.




×