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

MÔ HÌNH GIẢI PHÁP

Một phần của tài liệu KHAI PHÁ DỮ LIỆU LOGFILE CỦA FIREWALL TRONG HỆ THỐNG MẠNG IPTV NHẰM PHÁT HIỆN TẤN CÔNG TỪ CHỐI DỊCH VỤ (Trang 35 -35 )

3.2.1. Xây dựng mô hình

Kết quả phân tích bài toán cho thấy những thông tin sau đây cần phải được định nghĩa trước (giả thiết của bài toán):

- Danh sách địa chỉ và cổng dịch vụ của máy đích cần giám sát cảnh báo tấn công từ chối dịch vụ.

- Tham số cảnh báo tấn công từ chối dịch vụ, gồm 2 tham số là:  Ngưỡng kết nối (Threshold).

 Ngưỡng thời gian (Interval).

- Nguyên tắc cảnh báo: nếu số kết nối từ một cùng một máy trạm (ký hiệu là A) đến cùng một máy đích (ký hiệu là B) trong khoảng thời gian Interval lớn hơn hoặc bằng Threshold thì kết luận là đang diễn ra tấn công từ chối dịch vụ từ A vào B.

Dựa trên các bước chính của quá trình khai phá dữ liệu, đề xuất mô hình giải pháp như sau:

Đánh giá mẫu thu thập được (đưa ra cảnh báo) Xác định mẫu thu thập được

Khai phá dữ liệu

Thu thập và tiền xử lý dữ liệu + Thể hiện dữ liệu Xác định dữ liệu liên quan

Thu thập các bản ghi log theo thời

gian thực

Chọn các bản ghi thể hiện một kết nối được phép và có giao thức giống với giao thức mà dịch vụ trên các máy đích

sử dụng

Tách chọn lấy các trường dữ liệu: địa chỉ IP máy trạm, địa chỉ IP máy đích, cổng dịch

vụ trên máy đích

Lấy thông tin về địa chỉ IP máy trạm, địa chỉ IP máy đích, cổng dịch vụ trên máy đích, sau đó lưu vào cơ sở dữ liệu

Phân lớp các bản ghi theo địa chỉ và cổng máy đích, sau đó lưu vào cơ sở dữ liệu theo từng bảng. Mỗi bảng là

một lớp máy đích

Phân cụm các bản ghi trong từng lớp máy đích

theo địa chỉ máy trạm. Kết quả là một tập các

lớp máy trạm

Xác định tổng số kết nối trong từng lớp

máy trạm

Thể hiện số kết nối theo từng cặp (máy trạm, máy đích) trên giao diện

phần mềm

So sánh với tiêu chí cảnh báo DoS (ngưỡng kết nối, ngưỡng thời gian) và đưa ra thông điệp cảnh báo trên giao diện phần mềm

Trong đó:

- Bước 1 – Xác định dữ liệu liên quan: là những bản ghi trong

logfile của Firewall thỏa mãn điều kiện sau:

 Đại diện cho một kết nối được Firewall cho phép.

 Trường dữ liệu thể hiện giao thức kết nối giống với giao thức mà dịch vụ trên các máy đích sử dụng (ví dụ: HTTP).

- Bước 2 – Thu thập, tiền xử lý dữ liệu và thể hiện dữ liệu: thu

thập các bản ghi log có liên quan (thỏa mãn điều kiện trên) và tiến hành phân tích lấy ra các trường dữ liệu cần thiết, đó là: địa chỉ IP máy trạm, địa chỉ IP máy đích và cổng dịch vụ trên máy đích.

Thể hiện dữ liệu: dữ liệu log sau khi được thu thập và xử lý sẽ chỉ giữ lại những thông tin về địa chỉ IP máy trạm, địa chỉ IP máy đích và cổng dịch vụ trên máy đích. Các dữ liệu này sẽ được lưu vào cơ sở dữ liệu để tiếp tục phân tích.

- Bước 3 – Khai phá dữ liệu: để có thể kết luận có tấn công từ chối

dịch vụ hay không, cần xác định được các thông tin sau đây:

 Danh sách các máy trạm đang kết nối đến từng máy đích (trên cổng đích tương ứng) trong khoảng thời gian Interval.  Số lượng kết nối từ mỗi máy trạm tới từng máy đích (trên

cổng đích tương ứng) trong khoảng thời gian Interval, gọi là

NoOfConnection.

Trong khoảng thời gian Interval, mỗi máy trạm có thể tạo ra nhiều kết nối đến các máy đích. Số lượng các kết nối là không xác định. Mỗi kết nối được thể hiện là một bản ghi (hay một dòng log) trong logfile của Firewall.

Đầu tiên cần xác định được tập các kết nối được tạo ra trong khoảng thời gian Interval tới từng máy đích trên cổng đích tương ứng. Tức là cần xếp các bản ghi log vào các lớp khác nhau dựa trên địa chỉ IP và cổng của máy đích. Mỗi lớp được gán nhãn là chuỗi kết hợp giữa địa chỉ IP và cổng dịch vụ của một máy đích (sau này gọi là lớp máy đích). Phần tử của mỗi lớp chỉ có giá trị trong khoảng thời gian Interval. Bước này sử dụng phương pháp phân lớp dựa trên luật.

Tiếp theo, trong mỗi lớp máy đích, cần xác định danh sách các kết nối xuất phát từ cùng một máy trạm trong khoảng thời gian Interval, tức là xác định các bản ghi log có địa chỉ IP máy trạm giống nhau, các bản ghi này sẽ được xếp vào cùng một lớp được gán nhãn là địa chỉ IP của máy trạm (sau này gọi là lớp máy trạm). Do các máy trạm và số lượng kết nối mà mỗi máy trạm này tạo ra tới từng máy đích là không biết trước, nên cần áp dụng phương pháp phân cụm dữ liệu để xác định được các lớp máy trạm. Mỗi lớp

máy trạm chứa các phần tử thuộc cùng một lớp máy đích và có địa chỉ IP máy trạm giống nhau. Bước này sử dụng phương pháp phân cụm phân cấp, cụ thể là phương pháp Bottom-Up. Kết quả sau khi phân cụm là một tập các lớp máy trạm được khai phá. Việc phân cụm dữ liệu cho phép xác định được số lượng kết nối từ mỗi máy trạm tới từng máy đích trong khoảng thời gian Interval

(NoOfConnection).

- Bước 4: Xác định mẫu thu thập được: mẫu chính là các lớp máy

trạm được tạo ra sau bước khai phá dữ liệu. Số phần tử của mỗi lớp chính là NoOfConnection. Các lớp máy trạm lại nằm trong những lớp máy đích khác nhau. Các lớp máy đích và lớp máy trạm phải được xây dựng lại sau mỗi khoảng thời gian Interval.

- Bước 5: Đánh giá mẫu thu thập được: để giải quyết bài toán, chỉ cần quan tâm đến các lớp máy trạm có số phần tử (chính là

NoOfConnection) lớn hơn hoặc bằng Threshold (thỏa mãn tiêu chí

cảnh báo tấn công từ chối dịch vụ). Các lớp này được gọi là mẫu có giá trị. Mỗi mẫu có giá trị được phát hiện ra sẽ là điều kiện để đưa ra một cảnh báo. Các cảnh báo này sẽ được thể hiện trên giao diện của phần mềm DoSAlert.

Chi tiết bước phân lớp bản ghi logfile Firewall theo địa chỉ và cổng dịch vụ trên máy đích; và bước phân cụm bản ghi logfile Firewall theo địa chỉ máy trạm được mô tả dưới đây.

3.2.2. Phân lớp bản ghi logfile theo địa chỉ và cổng dịch vụ máy đích

Bước phân lớp các bản ghi logfile của Firewall theo địa chỉ và cổng dịch vụ của máy đích là để gom nhóm các bản ghi thể hiện những kết nối đến các máy đích và cổng dịch vụ khác nhau. Lưu ý rằng địa chỉ máy đích kết hợp với một cổng dịch vụ chạy trên đó tạo thành một lớp máy đích, như vậy cùng một máy đích nhưng cổng dịch vụ khác nhau thì vẫn được hiểu là hai lớp máy đích khác nhau. Tuy nhiên, chỉ cần quan tâm đến những lớp máy đích đã được xác định trước. Đây chính là danh sách các máy đích cùng cổng dịch vụ chạy trên đó cần theo dõi để cảnh báo tấn công từ chối dịch vụ.

Bước này sử dụng hai tham số để làm thuộc tính của lớp, đó là: địa chỉ máy đích và cổng dịch vụ chạy trên máy đích đó. Đề xuất sử dụng phương pháp phân lớp dựa trên luật, theo đó có thể xác định luật phân lớp như sau:

{địa chỉ IP máy đích A, cổng dịch vụ X} lớp máy đích(A,X)

Ví dụ: nếu bản ghi có trường địa chỉ máy đích là 192.168.0.219, trường cổng đích là 80 thì kết luận bản ghi đó thuộc lớp máy đích có thuộc tính

Trong quá trình thực nghiệm, để thuận tiện trong quá trình thể hiện các lớp máy đích trong cơ sở dữ liệu, các lớp máy đích sẽ được gán nhãn theo nguyên tắc:

Nhãn lớp máy đích = [địa chỉ IP máy đích]_[cổng dịch vụ]

Trong đó, [địa chỉ IP máy đích] là chuỗi địa chỉ IP đã được bỏ các dấu chấm phân cách. Như vậy, lớp máy đích có thuộc tính (192.168.0.219, 80) sẽ được gán nhãn là 1921680219_80.

Tiến hành kiểm thử phân lớp các bản ghi logfile của Firewall ISA 2006 với tập dữ liệu sau đây:

Hình 3.2: Tập dữ liệu kiểm thử

Giả thiết cần giám các máy đích sau:

- Máy 01: địa chỉ IP 192.168.0.219, chạy dịch vụ web trên cổng 80, giao thức HTTP.

- Máy 02: địa chỉ IP 192.168.0.218, chạy dịch vụ web trên cổng 8080, giao thức HTTP.

Giả thiết điều kiện chọn lọc bản ghi trên logfile là:

- Bản ghi thể hiện kết nối có giao thức là “HTTP” (trường thứ 12). - Bản ghi thể hiện kết nối được Firewall cho phép, tức là trường

Action có giá trị khác “denided” (trường thứ 9).

Đối với mỗi bản ghi được chọn, chỉ cần quan tâm đến các trường dữ liệu sau:

- Địa chỉ máy trạm

- Địa chỉ máy đích, cổng máy đích

Kết quả sau khi duyệt tập dữ liệu kiểm thử, trích chọn và khử nhiễu (lọc bỏ dữ liệu không cần thiết):

Địa chỉ IP máy trạm Địa chỉ IP máy đích Cổng dịch vụ trên máy đích 192.168.0.128 192.168.0.219 80 192.168.0.123 192.168.0.218 8080

192.168.0.123 192.168.0.218 8080 192.168.0.128 192.168.0.219 80 192.168.0.128 192.168.0.220 80 192.168.0.119 192.168.0.218 8080 192.168.0.123 192.168.0.219 80 192.168.0.128 192.168.0.220 80 192.168.0.119 192.168.0.219 80 192.168.0.119 192.168.0.218 8080

Bảng 3.1: Dữ liệu kiểm thử sau khi trích chọn và khử nhiễu

Tiếp theo, áp dụng kỹ thuật phân lớp với luật phân lớp như sau:

{địa chỉ IP máy đích A, cổng dịch vụ X} lớp máy đích(A’_X)

Trong đó A’ là địa chỉ IP của máy đích A sau khi bỏ dấu chấm phân cách.

Kết quả phân lớp như sau:

Lớp máy đích 1921680218_8080: Địa chỉ IP máy trạm Địa chỉ IP máy đích Cổng dịch vụ trên máy đích 192.168.0.123 192.168.0.218 8080 192.168.0.123 192.168.0.218 8080 192.168.0.119 192.168.0.218 8080 192.168.0.119 192.168.0.218 8080

Bảng 3.2 (a): Dữ liệu kiểm thử sau khi phân lớp

Lớp máy đích 1921680219_80: Địa chỉ IP máy trạm Địa chỉ IP máy đích Cổng dịch vụ trên máy đích 192.168.0.128 192.168.0.219 80 192.168.0.128 192.168.0.219 80 192.168.0.123 192.168.0.219 80 192.168.0.119 192.168.0.219 80

Lớp máy đích 1921680220_80: Địa chỉ IP máy trạm Địa chỉ IP máy đích Cổng dịch vụ trên máy đích 192.168.0.128 192.168.0.220 80 192.168.0.128 192.168.0.220 80

Bảng 3.2 (c): Dữ liệu kiểm thử sau khi phân lớp

Quá trình phân lớp cho ra kết quả là 03 lớp máy đích, tuy nhiên theo giả thiết ban đầu, chỉ cần quan tâm đến hai lớp: 1921680218_8080

1921680219_80.

Có thể thấy bài toán phân lớp trên thuộc dạng phân lớp đơn nhãn (mỗi bản ghi log chỉ thuộc một lớp) với luật phân lớp đơn giản. Kiểm thử với nhiều tập dữ liệu khác nhau đều cho kết quả chính xác.

3.2.3. Phân cụm bản ghi logfile theo địa chỉ máy trạm

Bước phân cụm được thực hiện trên từng lớp máy đích. Mục đích của bước phân cụm là để gom các bản ghi (thuộc cùng một lớp máy đích) có địa chỉ máy trạm giống nhau vào cùng một nhóm, mỗi nhóm chính là một lớp máy trạm. Mỗi phần tử của lớp máy trạm có thuộc tính là địa chỉ IP máy trạm và coi đó là thuộc tính của lớp. Các phần tử trong cùng một lớp máy trạm sẽ thuộc cùng một lớp máy đích và có địa chỉ máy trạm giống nhau.

Trong quá trình thực nghiệm, để thuận tiện cho việc thể hiện trong cơ sở dữ liệu, mỗi lớp máy trạm sẽ được gán nhãn theo nguyên tắc:

Nhãn lớp máy trạm = [địa chỉ IP máy trạm]

Trong đó [địa chỉ IP máy trạm] là chuỗi địa chỉ IP đã được bỏ các dấu chấm phân cách. Ví dụ: nếu địa chỉ máy trạm là 192.168.0.128 thì lớp máy trạm tương ứng sẽ là 1921680128.

Vì địa chỉ các máy trạm kết nối đến cùng một máy đích là không biết trước, số lượng các lớp máy trạm cũng không biết trước, do đó luận văn đề xuất sử dụng phương pháp phân cụm phân cấp, cụ thể là phương pháp Bottom-up, để tách các bản ghi trong logfile ra thành các nhóm khác nhau.

Phương pháp Bottom-up bắt đầu với mỗi đối tượng được khởi tạo tương ứng với các cụm riêng biệt, sau đó tiến hành nhóm các đối tượng theo một độ đo tương tự (như khoảng cách giữa hai trung tâm của hai nhóm), quá trình này được thực hiện cho đến khi tất cả các nhóm được hòa nhập vào một nhóm hoặc cho đến khi các điều kiện kết thúc thoả mãn.

Sử dụng phương pháp Bottom-up cần xác định 02 yếu tố sau:

- Hàm tính độ tương tự (ký hiệu là f), được dùng để xác định độ

- Ngưỡng tương tự (ký hiệu là T), dùng để xác định hai nhóm có tương tự nhau không. Nếu độ tương tự giữa hai nhóm nhỏ hơn hoặc bằng ngưỡng tương tự thì có thể nhập hai nhóm vào làm một.

Trong phương phápBottom-up, ban đầu mỗi bản ghi log sẽ được coi là thuộc một nhóm có phần tử duy nhất chính là bản ghi đó. Mục tiêu là phải gộp các bản ghi log có địa chỉ máy trạm giống nhau vào cùng một nhóm. Như vậy thuộc tính “địa chỉ IP máy trạm” sẽ được sử dụng để tính độ tương tự.

Ký hiệu thuộc tính “địa chỉ IP máy trạm” của nhóm A là AIP. Định nghĩa hàm tính độ tương tự như sau:

f(A,B) = {

Với hàm tương tự như trên thì độ tương tự của hai nhóm cũng chính bằng độ tương tự của hai phần tử bất kỳ thuộc mỗi nhóm. Do đó không cần xác định trung tâm của nhóm khi tính độ tương tự.

Định nghĩa ngưỡng T=0.

Như vậy, nếu f(A,B) T thì gộp A và B vào thành một nhóm.

Quá trình phân cụm được tiến hành như sau:

- Ký hiệu tập các bản ghi ban đầu cần phân cụm là X, mỗi phần tử ký hiệu là Xi, với i=1,..,n. Các bản ghi trong cùng một lớp máy đích được sắp xếp theo một thứ tự nhất định. Giả sử có n bản ghi. Khi đó ta có:

X={X1,X2,..,Xn}

- Ký hiệu tập các nhóm là C. Ban đầu, mỗi bản ghi được coi là thuộc một nhóm, tức là sẽ có n nhóm sau:

C={(X1), (X2),.., (Xn)}

- Thực hiện vòng lặp thứ nhất, ký hiệu là V1 duyệt từ nhóm đầu tiên cho đến nhóm cuối cùng. Ký hiệu vị trí duyệt của vòng lặp V1 tại nhóm thứ iV1i.

- Trong mỗi bước vòng lặp V1, thực hiện một vòng lặp thứ hai, ký hiệu là V2i, trong đó i là vị trí duyệt của vòng lặp V1. Vòng lặp V2i

sẽ duyệt các nhóm khác tính từ nhóm đứng sau phần tử hiện tại của vòng lặp V1 (tức là nhóm V1i+1) cho đến hết. Ký hiệu vị trí duyệt thứ j của vòng lặp V2iV2ij.

- Trong mỗi bước của vòng lặp V2i, tiến hành tính toán độ tương tự giữa V2ịjV1i. Nếu f(V2ij, Vi)≤T thì gộp V1i và V2ij vào thành một nhóm. Việc gộp nhóm sẽ sắp xếp lại thứ tự các nhóm, do đó khi có sự gộp nhóm thì vòng lặp V2i phải duyệt lại vị trí hiện tại một lần nữa. Sau mỗi vòng lặp V2, các nhóm có độ tương tự giống với

nhóm thứ i sẽ được gộp lại với nhau thành một nhóm, nhóm này sẽ chứa cả nhóm tại vị trí duyệt của vòng lặp V1.

- Bước tiếp theo, vòng lặp V1 sẽ duyệt nhóm khác gần nhất không thuộc nhóm mới tạo ra. Và tiếp tục duyệt vòng lặp V2 tính từ nhóm đứng sau vị trí duyệt của vòng lặp V1.

- Quá trình trên được thực hiện đến khi vòng lặp V1 duyệt hết các nhóm trong tập C.

Ví dụ mô tả về quá trình phân cụm như sau:

Giả thiết:

- Tập phần tử ban đầu X={a,b,c,c,b,a,d}, số phần tử n=7.

- Yêu cầu: gộp các phần tử giống nhau vào cùng một nhóm. Như vậy, thuộc tính nhóm ở đây chính là giá trị của phần tử. Thuộc tính của nhóm {a}a, thuộc tính của nhóm {a,a} cũng là a.

- Ký hiệu thuộc tính của nhóm AATT. - Hàm tính độ tương tự: f(A,B) = { - Ngưỡng T=0. Tập các nhóm ban đầu là: C={(a),(b),(c), (c),(b),(a),(d)}, số nhóm m=7.

Tiến hành quá trình phân cụm. Gọi i là thứ tự duyệt của vòng lặp V1, j là thứ tự duyệt của vòng lặp V2. V11: V212 C={(a),(b),(c), (c),(b),(a),(d)} m=7 V213 C={(a),(b),(c), (c),(b),(a),(d)} m=7 V214 C={(a),(b),(c), (c),(b),(a),(d)} m=7 V215 C={(a),(b),(c), (c),(b),(a),(d)} m=7 V216 C={(a,a),(b),(c), (c),(b),(d)} m=6 V216 C={(a,a),(b),(c), (c),(b),(d)} m=6 V12: V223 C={(a,a),(b),(c), (c),(b),(d)} m=6 V224 C={(a,a),(b),(c), (c),(b),(d)} m=6 V225 C={(a,a),(b,b),(c), (c),(d)} m=5 V225 C={(a,a),(b,b),(c), (c),(d)} m=5

V13: V234 C={(a,a),(b,b),(c,c),(d)} m=4

V234 C={(a,a),(b,b),(c,c),(d)} m=4

V14: Không duyệt C={(a,a),(b,b),(c,c),(d)} m=4

Kết thúc quá trình phân cụm.

Kết quả của quá trình phân cụm là: tập các phần tử ban đầu đã được phân

Một phần của tài liệu KHAI PHÁ DỮ LIỆU LOGFILE CỦA FIREWALL TRONG HỆ THỐNG MẠNG IPTV NHẰM PHÁT HIỆN TẤN CÔNG TỪ CHỐI DỊCH VỤ (Trang 35 -35 )

×