Thuật toán K-means với phát hiện xâm nhập

Một phần của tài liệu Phát hiện xâm nhập dựa trên thuật toán KMeans (Trang 41)

2.2.1 Phân tích tập dữ liệu kiểm thử.

KDD CUP 99 là tập dữ liệu được sử dụng trong cuộc thi Khám phá kiến thức và Khai thác dữ liệu quốc tế lần thứ 3 cùng với Hội nghị Khám phá kiến thức và Khai thác dữ liệu KDD-99 lần thứ năm. Nhiệm vụ trong cuộc thi là xây dựng một máy phát hiện xâm nhập mạng, một mô hình tiên đoán có khả năng phân biệt giữa các kết nối “xấu” hay còn gọi là xâm nhập hoặc tấn công, và các kết nối “tốt” hay còn gọi là bình thường. Cơ sở dữ liệu này chứa một tập hợp các dữ liệu được kiểm toán, bao gồm một loạt các sự xâm nhập được mô phỏng trong một môi trường mạng quân đội.[2]

Phần mềm phát hiện xâm nhập mạng bảo vệ một mạng lưới máy tính từ người sử dụng trái phép và có thể bao gồm cả người trong cuộc. Phát hiện xâm nhập học có nhiệm vụ là xây dựng một mô hình tiên đoán (tức là phân loại) có khả năng phân biệt giữa kết nối "xấu" được gọi là sự xâm nhập hoặc tấn công, và "tốt" kết nối bình thường.

Năm 1998 Chương trình đánh giá phát hiện xâm nhập đã được DARPA chuẩn bị và quản lý bởi MIT Lincoln Labs. Mục tiêu là để khảo sát và đánh giá nghiên cứu trong việc phát hiện xâm nhập. Một tập hợp các tiêu chuẩn của dữ liệu được kiểm

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

36

toán, bao gồm một loạt các mô phỏng của sự xâm nhập được cung cấp trong một môi trường mạng quân sự. Cuộc thi phát hiện xâm nhập KDD 1999 sử dụng một phiên bản của tập dữ liệu này. Lincoln Labs thiết lập một môi trường để có được chín tuần dữ liệu thô TCP dump cho một mạng cục bộ (LAN) mô phỏng một mạng LAN không quân Mỹ điển hình. Họ hoạt động mạng LAN như thể nó là một môi trường Air Force nhưng nó rải rác với nhiều cuộc tấn công.

Dữ liệu huấn luyện thô là khoảng 4 gigabyte nén dữ liệu nhị phân TCP dump lấy từ bảy tuần lưu lượng mạng. Điều này đã được xử lý vào khoảng 5.000.000 bản ghi kết nối. Tương tự như vậy, hai tuần của dữ liệu thử nghiệm bắt được khoảng hai triệu bản ghi kết nối.

Một kết nối là một chuỗi các gói tin TCP bắt đầu và kết thúc tại một số thời gian được xác định rõ ràng, giữa những luồng dữ liệu đến và đi từ một địa chỉ IP nguồn đến một địa chỉ IP đích theo một số giao thức được xác định rõ. Mỗi kết nối được dán nhãn hoặc là bình thường, hoặc là một tấn công, với chính xác một loại tấn công cụ thể. Mỗi bản ghi kết nối bao gồm khoảng 100 byte.

Các thuộc tính cấp cao hơn có thể trợ giúp trong việc phân biệt các kết nối bình thường từ các cuộc tấn công. Có một vài loại thuộc tính có nguồn gốc từ:

Thuộc tính "Cùng một máy chủ" kiểm tra các kết nối chỉ có trong hai giây trong mà các máy chủ đích tương tự như các kết nối hiện tại, và tính toán các số liệu thống kê liên quan đến hành vi giao thức, dịch vụ,…Tương tự thuộc tính "cùng dịch vụ" kiểm tra các kết nối chỉ trong hai giây mà có dịch vụ tương tự như các kết nối hiện tại.

Các thuộc tính thuộc tính "Cùng một máy chủ" và "cùng một dịch vụ" đều được gọi là thuộc tính dựa trên lưu lượng thời gian truy cập của các bản ghi kết nối.

Một số cuộc tấn công thăm dò quét các máy chủ (hoặc cổng) bằng cách sử dụng một khoảng thời gian lớn hơn nhiều so với hai giây, ví dụ một phút. Vì vậy, bản ghi kết nối cũng được sắp xếp bởi các máy chủ đích, và các thuộc tính được xây dựng bằng cách sử dụng một cửa sổ của 100 kết nối cùng một máy chủ thay vì một

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

37

cửa sổ thời gian. Điều này mang lại một tập hợp các thuộc tính lưu thông được gọi là dựa trên máy chủ.

Không giống như hầu hết các cuộc tấn công DOS và các cuộc tấn công thăm dò, có vẻ như là không có mô hình tuần tự thường xuyên trong bản ghi của các cuộc tấn công R2L và U2R. Có lẽ là bởi vì các cuộc tấn công DOS và các cuộc tấn công thăm dò liên quan đến nhiều kết nối của một số máy chủ (s) trong một thời gian rất ngắn, nhưng các cuộc tấn công R2L và U2R được nhúng vào trong phần dữ liệu gói tin, và thường liên quan đến chỉ có một kết nối duy nhất.

Từ năm 1999, tập dữ liệu KDD 99 đã được sử dụng nhiều nhất cho việc thẩm định các phương pháp phát hiện bất thường. Tập hợp dữ liệu này được chuẩn bị và được xây dựng dựa trên các dữ liệu bắt được trong chương trình đánh giá Hệ thống phát hiện bất thường DARPA’98. DARPA có khoảng 4GB nén thô (nhị phân) dữ liệu tcpdump của 7 tuần lưu thông mạng có thể được xử lý thành khoảng 5 triệu bản ghi kết nối, với mỗi bản ghi khoảng 100 byte. Hai tuần của dữ liệu thử nghiệm có khoảng 2 triệu bản ghi kết nối. Tập dữ liệu KDD huấn luyện bao gồm khoảng 4.900.000 vectơ kết nối đơn trong đó chứa 41 thuộc tính và được dán nhãn là bình thường hoặc một loại tấn công cụ thể nào đó với sự chính xác là một loại tấn công cụ thể. Các cuộc tấn công được mô phỏng xếp vào một bốn loại sau đây:

 Tấn công từ chối dịch vụ (DoS): là một cuộc tấn công mà trong đó kẻ tấn công làm cho một số máy tính hoặc bộ nhớ tài nguyên quá bận hoặc quá đầy để xử ý các yêu cầu hợp lệ, hoặc từ chối người dùng hợp pháp truy cập vào một máy tính.

 Tấn công người dùng vào thư mục gốc (U2R): là một lớp khai thác trong đó kẻ tấn công bắt đầu với truy cập bình thường vào tài khoản người dùng trên hệ thông (có thể thu được bằng cách can thiệp mật khẩu, một cuộc tấn công từ điển, hoặc kỹ thuật xã hội) và có thể khai thác một số lỗ hổng để đạt được thư mục gốc sau đó truy cập vào hệ thống.

 Tấn công từ xa vào cục bộ (R2L): xảy ra khi một kẻ tấn công có khả năng gửi gói tin đến một máy tính qua mạng nhưng không có một tài khoản trên máy tính

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

38

đó để khai thác qua một số lỗ hổng để truy cập vào cục bộ như là một người sử dụng máy tính đó.

 Tấn công thăm dò (Probing): là một nỗ lực để thu thập thông tin về một mạng lưới các máy tính với mục đích rõ ràng là phá vỡ kiểm soát an ninh.

Điều quan trọng cần lưu ý là các dữ liệu thử nghiệm không cùng một phân phối xác suất như dữ liệu huấn luyện, và nó không có các loại tấn công cụ thể như trong dữ liệu huấn luyện mà bao gồm các tấn công thực tế hơn. Một số chuyên gia phát hiện xâm nhập cho rằng hầu hết các loại tấn công mới là các biến thể của các loại tấn công đã biết và dấu hiệu của các loại tấn công đã biết có thể đủ để nắm bắt được các biến thể mới lạ. Các tập dữ liệu huấn luyện chứa tổng số 24 các loại tấn công, và 14 loại bổ sung trong các dữ liệu thử nghiệm.

Các thuộc tính của tập dữ liệu KDD 99 có thể được phân thành ba nhóm:

1. Các thuộc tính cơ bản: nhóm này chứa tất cả các thuộc tính có được từ một kết nối TCP / IP. Hầu hết các thuộc tính này đều dẫn đến một tiềm ẩn là làm chậm việc phát hiện.

2. Các thuộc tính lưu thông: nhóm này bao gồm các thuộc tính mà nó được tính toán với khoảng thời gian một cửa sổ và nó được chia thành hai nhóm:

Thuộc tính "cùng máy chủ": kiểm tra các kết nối chỉ trong 2 giây mà có

cùng một đích đến là máy chủ kết nối hiện tại, và các số liệu tính toán thống kê liên quan đến hành vi giao thức, dịch vụ, … (adsbygoogle = window.adsbygoogle || []).push({});

Thuộc tính “cùng dịch vụ”: kiểm tra các kết nối chỉ trong 2 giây mà có

cùng một cùng một dịch vụ như dịch vụ kết nối hiện tại.

Hai loại thuộc tính “lưu thông” nói trên được gọi là thuộc tính dựa trên thời gian. Tuy nhiên, có một số cuộc tấn công thăm dò chậm, quét các máy chủ (hoặc cổng) sử dụng một khoảng thời gian lớn hơn 2 giây nhiều, ví dụ: trong mỗi phút. Kết quả là, các cuộc tấn công không sản xuất mô hình xâm nhập với một cửa sổ thời gian 2 giây. Để giải quyết vấn đề này, thuộc tính "cùng máy chủ" và “cùng dịch vụ" tính toán lại dựa trên cửa sổ kết nối của 100 kết nối chứ không phải là một cửa sổ

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

39

thời gian 2 giây. Những tính năng này được gọi là thuộc tính “lưu thông” dựa trên kết nối.

3. Các thuộc tính nội dung: Không giống hầu hết các cuộc tấn công DoS và Probing, các cuộc tấn công R2L và U2R không có bất kỳ xâm nhập thường xuyên nào theo mô hình tuần tự. Điều này là do các cuộc tấn công Dos và Probing liên quan đến nhiều kết nối của một số máy chủ trong một thời gian rất ngắn. Tuy nhiên các cuộc tấn công R2L và U2R được nhúng trong các phần dữ liệu của các gói dữ liệu, và thường liên quan đến việc chỉ có một kết nối duy nhất. Để phát hiện các loại tấn công, cần một số thuộc tính để có thể tìm ra những hành vi đáng ngờ trong các phần dữ liệu, ví dụ: số lượng cố gắng đăng nhập thất bại, các thuộc tính này được gọi là các thuộc tính nội dung. [2]

2.2.2 Mô hình phát hiện bất thƣờng dựa trên thuât toán K-means.

Hệ thống phát hiện bất thường dựa trên K-means áp dụng kỹ thuật phát hiện phần tử dị biệt để xác định tấn công, nó bao gồm các môdun chính:

- Môđun lọc thông tin nhằm hạn chế bớt khối lượng thông tin cần phân tích và theo dõi.

- Môđun trích xuất thông tin giúp trích xuất các yếu tố quan sát.

- Môđun phát hiện phần tử dị biệt là môđun chính xác định các cuộc xâm nhập.

- Môđun phản ứng (đối với hệ thống IPS) đưa ra các phản ứng tức thời ngăn chặn, chấm dứt các cuộc xâm nhập.

- Môđun tổng hợp nhằm rút gọn cảnh báo gửi lên Chuyên gia và xây dựng luật rút gọn để bổ sung tri thức cho hệ thống, môđun này cũng sử dụng một kỹ thuật khác của K-means là kỹ thuật tổng hợp (Summarization).[7]

Ngoài ra hệ thống còn sử dụng một bộ lọc các cuộc tấn công với dấu hiệu đã biết được rút ra từ môđun tổng hợp.

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

40

Hình 2.11: Mô hình hệ thống phát hiện bất thường sử dụng thuật toán K-means

a. Môđun lọc tin

Dữ liệu cần phân tích của hệ thống được tổng hợp từ nhiều nguồn khác nhau như Sensor, thiết bị mạng, SNMP hoặc là các file log, khối lượng dữ liệu này là rất lớn nên không thể lưu trữ hết toàn bộ chúng, mà chúng ta phải sử dụng các kỹ thuật để lọc bớt thông tin, một trong những kỹ thuật hay được sử dụng nhất là kỹ thuật cửa sổ thời gian. Ví dụ như chỉ lưu thông tin trong vòng một giờ trở lại. Nói chung, độ dài của cửa sổ thời gian phụ thuộc vào từng hệ thống mạng và do người quản trị chọn sao cho phù hợp. Nếu thời gian lưu thông tin ngắn, hệ thống có thể bỏ sót các cuộc tấn công, nhưng trong trường hợp thời gian dài có thể sẽ không đảm bảo tốc độ, không áp dụng được cho trường hợp thời gian thực.

Dữ liệu cần phân tích chủ yếu được lưu trên file ở dưới dạng bản ghi, hệ thống sẽ truy cập các file này để lấy thông tin. Môdun lọc thông tin sẽ loại bỏ những thông tin thừa, các lưu lượng mạng mà hệ thống biết chắc không có tấn công. Thông

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

41

thường các thông tin cần thiết cho việc phân tích chỉ chiếm khoảng 20% đến 25% lượng tin được thu thập.

b. Môđun trích xuất thông tin

Dữ liệu sau khi qua Môđun lọc thông tin sẽ được tiến hành trích xuất các thành phần cần quan sát, mỗi một thuật toán phát hiện bất thường sẽ có một tập các thông số cần quan sát riêng. Đối với các gói tin mạng, thông tin quan trọng chủ yếu nằm ở phần Header của gói tin. Một số thông tin quan trọng có thể được sử dụng là:

- Đối với header của Ethernet các thông tin trích xuất bao gồm : Packet size, Source address, Destination address, Protocol.

- IP header các thông tin trích xuất bao gồm : Source address, Destination address, Header length, TOS, Packet size, IP Fragment ID, IP Flag & Pointer, TTL, Checksum.

- TCP header gồm : Source port, Destination port, Sequence & ACK Number, Header length, Window size, Checksum.

- UDP header gồm : Source port, Destination port, Checksum, Length - ICMP bao gồm : Type & Code, Checksum (adsbygoogle = window.adsbygoogle || []).push({});

c. Môđun phát hiện xâm nhập dựa trên thuật toán K-means

Phân nhóm dữ liệu là quá trình nhóm các tài liệu văn bản thành một hoặc nhiều danh mục định trước dựa trên nội dung của chúng.

Hình 2.12 minh họa bốn mối quan hệ khác nhau mà một cuộc tấn công có thể có và các cuộc tấn công khác hành vi bình thường trong không gian đặc trưng. Các tam giác đại diện cho hành vi bình thường ánh xạ trong không gian đặc trưng, trong khi các vòng tròn đại diện cho các cuộc tấn công. Các vòng tròn đen hiển thị bốn kịch bản mối quan hệ của một cuộc tấn công. Ta quan sát thấy rằng các thuật toán chỉ có thể phát hiện các cuộc tấn công trong kịch bản 1 và 3, vì chúng đi chệch đáng kể với bộ bình thường. Các thuật toán cũng có thể xác định các cuộc tấn công trong kịch bản 2 và 3, vì chúng gần gũi hơn với các mẫu tấn công hơn so với các mẫu bình thường. Còn tại kịch bản 4 các thuật toán khó phát hiện tấn công vì nó không

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

42

đi chệch đáng kể các dữ liệu bình thường cũng không nằm gần với bất kỳ cuộc tấn công mẫu tham khảo nào.

Các giả mã cho phù hợp thuật toán Kmeans được trình bày như sau: ... Bắt đầu...

1. Chọn ngẫu nhiên các điểm dữ liệu làm trọng tâm trong K cụm ban đầu. 2 Repeat.

3 Vòng lặp For: Mỗi điểm dữ liệu x từ tập dữ liệu D 4. Tính khoảng cách từ x đến các trọng tâm.

5. Nhóm x vào nhóm có khoảng cách đến trọng tâm gần nhất. 6. Kết thúc For

7. Tính toán lại giá trị trung bình (Cập nhật lại trọng tâm). 8 Dừng khi cụm ổn định.

9. Sử dụng kết quả phân cụm.

10. Lựa chọn 20 thuộc tính của 2 cụm. 11. So sánh, đối chiếu với dữ liệu chuẩn 12. X là bất thường; thoát.

13.Ngược lại

14. X là bình thường

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

43

d. Môđun phản ứng

Dựa vào tín hiệu cảnh báo từ môđun phát hiện dị biệt trong trường hợp có hiện tượng bất thường, môđun phản ứng sẽ lập tức đưa ra các biện pháp nhằm ngăn chặn cuộc tấn công. Như chúng ta đã biết môđun phản ứng dựa trên một số kỹ thuật cơ bản : terminate session – gửi gói tin reset thiết lập lại kênh giao tiếp tới cả client và server, drop attack – dùng firewall để hủy bỏ gói tin, phiên làm việc hay luồng thông tin từ hacker đến victim, Modify firewall polices – tự động cấu hình lại một số chính sách bảo mật khi có cuộc tấn công, Real-time Alerting - gửi cảnh báo thời

Một phần của tài liệu Phát hiện xâm nhập dựa trên thuật toán KMeans (Trang 41)