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, các dang tấn công, mã độc, sử dụng kỹ thuật khai phá dữ liệu (Trang 45 - 55)

 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.

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 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.

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 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 đó để 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.

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ụ, …

- 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ổ 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.

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).

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.

Hình 3.5: Mô hình hệ thống pháp hiện bất thƣờng 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ọ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 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

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 3.6 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 đ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

Hình 3.6: Bốn quan hệ của một cuộc tấn công 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 gian thực đến ngƣời quản trị, Log packet: lƣu lại thông tin các gói tin trong các file log.

e. Môđun tổng hợp

Trong các hệ thống mạng thời gian thực thông thƣờng số lƣợng kết nối đƣợc hình thành là rất lớn, với một khoảng thời gian ngắn vài phút có thể lên đến hàng triệu kết nối nếu chỉ 0,1% số kết nối này đƣợc đánh giá là có dấu hiệu bất thƣờng thì sẽ tƣơng đƣơng với hàng trăm cảnh báo đƣợc gửi đến cho chuyên gia giám sát, để kiểm soát đƣợc hết lƣợng cảnh báo này đối với các chuyên gia là tƣơng đối khó. Vì vậy cần một giải pháp nhằm tổng hợp các kết nối đƣợc đánh dấu là bất thƣờng để rút gọn dữ liệu đầu ra. Hơn thế hệ thống cũng cần có chức năng bổ sung các dạng tấn công đã biết để tạo cơ sở dữ liệu giúp hệ thống nhận biết nhanh hơn các cuộc tấn công trong tƣơng lai.

Một phần của tài liệu Phát hiện xâm nhập, các dang tấn công, mã độc, sử dụng kỹ thuật khai phá dữ liệu (Trang 45 - 55)

Tải bản đầy đủ (PDF)

(95 trang)