Phân lớp dựa trên cây quyết định (Decision Tree)

Một phần của tài liệu (LUẬN văn THẠC sĩ) tìm hiểu, nghiên cứu hệ thống phát hiện xâm nhập dựa trên khai phá dữ liệu (Trang 48)

5. Phƣơng pháp nghiên cứu:

3.1.3 Phân lớp dựa trên cây quyết định (Decision Tree)

3.1.3.1. Khái niệm cây quyết định

Cây quyết định (Decision Tree) là một cây phân cấp cĩ cấu trúc đƣợc dùng để phân lớp các đối tƣợng dựa vào dãy các luật (Series of rules). Các thuộc tính của đối tƣợng (ngoại trừ thuộc tính phân lớp –Category attribute) cĩ thể thuộc các kiểu dữ liệu khác nhau (Binary, Nominal, Ordinal, Quantitative values) trong khi đĩ thuộc tính phân lớp phải cĩ kiểu dữ liệu là Binary (nhị phân) hoặc Ordinal (thứ tự).

Việc xây dựng cây quyết định đƣợc tiến hành một cách đệ qui, lần lƣợt từ nút gốc xuống tới tận nút lá. Tại mỗi nút hiện hành đang xét, nếu kiểm tra thấy thỏa điều kiện dừng: thuật tốn sẽ tạo nút lá. Nút này đƣợc gán một giá trị của nhãn lớp

tùy điều kiện dừng đƣợc thỏa. Ngƣợc lại, thuật tốn tiến hành chọn điểm chia tốt nhất theo một tiêu chí cho trƣớc, phân chia dữ liệu hiện hành theo điều kiện chia này. Lƣu ý dữ liệu hiện hành khơng phải hồn tồn là tập dữ liệu ngay khi bắt đầu thuật tốn, cĩ thể là tập dữ liệu đã đƣợc phân chia theo điều kiện chia của nút liền trƣớc đĩ (nút cha).

3.1.3.2. Giải thuật qui nạp cây quyết định (ID3)

Giải thuật quy nạp cây quyết định (gọi tắt là ID3) là một giải thuật học đơn giản nhƣng tỏ ra thành cơng trong nhiều lĩnh vực. ID3 là một giải thuật hay vì cách biểu diễn tri thức học đƣợc của nĩ, tiếp cận của nĩ trong việc quản lý tính phức tạp, khám phá của nĩ dùng cho việc chọn lựa các khái niệm ứng viên, và tiềm năng của nĩ đối với việc xử lý dữ liệu nhiễu. ID3 biểu diễn các khái niệm (concept) ở dạng các cây quyết định (decision tree). Biểu diễn này cho phép chúng ta xác định phân loại của một đối tƣợng bằng cách kiểm tra các giá trị của nĩ trên một số thuộc tính nào đĩ. Nhƣ vậy, nhiệm vụ của giải thuật ID3 là học cây quyết định từ một tập các ví dụ rèn luyện (Training example) hay cịn gọi là dữ liệu rèn luyện (Training data). Hay nĩi khác hơn, giải thuật cĩ:

- Đầu vào: Một tập hợp các ví dụ. Mỗi ví dụ bao gồm các thuộc tính mơ tả một tình huống, hay một đối tƣợng nào đĩ, và một giá trị phân loại của nĩ.

- Đầu ra: Cây quyết định cĩ khả năng phân loại đúng đắn các ví dụ trong tập dữ liệu rèn luyện, và hy vọng là phân loại đúng cho cả các ví dụ chƣa gặp trong tƣơng lai.

Giải thuật cơ bản (giải thuật tham lam) được chia thành các bước như sau:

- Cây đƣợc xây dựng đệ qui từ trên xuống dƣới (top-down) và theo cách thức chia để trị (divide-conquer).

- Ở thời điểm bắt đầu, tất cả những ví dụ huấn luyện ở gốc.

- Thuộc tính đƣợc phân loại (nếu là giá trị liên tục chúng đƣợc rời rạc hĩa).

- Những ví dụ huấn luyện đƣợc phân chia đệ qui dựa trên thuộc tính mà nĩ chọn lựa. - Kiểm tra những thuộc tính đƣợc chọn dựa trên nền tảng của heristic (khám phá) hoặc của một định lƣợng thống kê.

Điều kiện để dừng việc phân chia:

- Tất cả những mẫu huấn luyện đối với một node cho trƣớc thuộc về cùng một lớp. - Khơng cịn thuộc tính cịn lại nào để phân chia tiếp.

- Khơng cịn mẫu nào cịn lại.

3.1.3.3. Độ lợi thơng tin (Information Gain) trong cây quyết định

Độ lợi thơng tin là đại lƣợng đƣợc sử dụng để chọn lựa thuộc tính với độ lợi thơng tin lớn nhất. Giả sử cĩ hai lớp, P và N. Cho tập hợp của những ví dụ S chứa p phần tử của lớp P và n phần tử của lớp N. Khối lƣợng của thơng tin, cần để quyết định nếu những mẫu tùy ý trong S thuộc về P hoặc N đƣợc định nghĩa nhƣ là:

I(p,n) = -[p/(p+n)] [p/(p+n)] –[n/(p+n)] [n/(p+n)]

Giả sử rằng sử dụng thuộc tính A một tập hợp S đƣợc phân hoạch thành những tập hợp {S1,S2,..,Sv}. Nếu Si chứa những mẫu của P và ni mẫu của Ni entropy hoặc thơng tin mong đợi cần để phân loại những đối tƣợng trong cây con Si là:

Thơng tin nhận đƣợc ở nhánh A là: Gain(A) = I(p,n)-E(A)

3.1.3.4. Nội dung giải thuật học cây quyết định cơ bản ID3

ID3 là một giải thuật học cây quyết định đƣợc phát triển bởi Ross Quinlan (1983). Ý tƣởng cơ bản của giải thuật ID3 là để xây dựng cây quyết định bằng việc sử dụng một cách tìm kiếm từ trên xuống trên những tập hợp cho trƣớc để kiểm tra mỗi thuộc tính tại mỗi nút của cây. Để chọn ra thuộc tính là hữu ích nhất cho sự phân loại trên những tập hợp cho trƣớc, chúng ta sẽ đƣa ra một hệ số độ lợi thơng tin.

Để tìm ra một cách tối ƣu để phân loại một tập hợp thơng tin, vấn đề đặt ra là chúng ta cần phải làm tối thiểu hĩa (chẳng hạn, tối thiểu chiều cao của cây). Nhƣ vậy chúng ta cần một số chức năng mà cĩ thể đánh giá trƣờng hợp nào cho ra một sự phân chia cân bằng nhất. Hệ số độ lợi thơng tin sẽ là hàm nhƣ vậy.

ID3 ( Learning Sets S, Attributes Sets A, Attributesvalues V) Return Decision Tree.

Begin

Đầu tiên nạp các tập học dữ liệu, tạo nút gốc cho cây quyết định 'rootNode', thêm learning set S vào trong nút gốc nhƣ là tập con của nĩ.

For rootNode, đầu tiên chúng ta tính Entropy(rootNode.subset)

If Entropy(rootNode.subset)==0, then

rootNode.subset bao gồm records tất cả với cùng giá trị cho cùng giá trị thuộc tính xác định, trả về một nút lá với decision attribute:attribute value;

If Entropy(rootNode.subset)!=0, then

Tính độ lợi thơng tin (information gain) cho mỗi thuộc tính trái (chƣa đƣợc sử dụng để phân chia), tìm thuộc tính A với Maximum(Gain(S,A)). Tạo những nút con của rootNode này và thêm vào rootNode trong cây quyết định.

For mỗi con của rootNode, áp dụng

ID3(S,A,V) một cách đệ qui cho đến khi đạt đƣợc node mà cĩ entropy=0 hay đạt đƣợc nút lá.

End ID3.

Ví dụ :

Để mơ tả hoạt động của ID3 chúng ta sử dụng ví dụ “Play Tennis”. Sự mơ tả tƣợng trƣng thuộc tính nhƣ sau:

Các giá trị thuộc tính cĩ thể là (Attribute Possible Values):

Outlook sunny, overcast, rain Temperature hot, mild, cood Humidity high, normal Windy true, false

Decision n(negative), p(positive) Tập Leaning set cho ví dụ chơi tennis:

Bảng 3.1 - Dữ liệu chơi tenis

Giải thuật ID3 thực hiện nhƣ sau :

1. Tạo nút gốc( rootNode), chứa đựng tồn bộ learning set nhƣ là những tập hợp con của chúng (subset) sau đĩ tính :

Entropy(rootNode.subset)= -(9/14) ( 9/14 ) –( 5/14) (5/14)= 0.940 2. Tính tốn thơng tin nhận đƣợc cho mỗi thuộc tính :

Gain(S,Windy)= Entropy(S)-(8/14)Entropy( )–(6/14)Entropy( ) = 0.048 Gain(S,Humidity) = 0.151

Gain(S,Temperature) = 0.029 Gain(S,Outlook) =0.246

3. Chọn lựa những thuộc tính với thơng tin nhận đƣợc tối đa, đĩ chính là sự phân chia theo thuộc tính “outlook”.

4. Áp dụng ID3 cho mỗi nút con của nút gốc này, cho đến khi đạt đến nút lá hoặc nút cĩ entropy = 0.

3.1.3.5. Những thiếu sĩt của giải thuật ID3 Trường hợp thiếu sĩt thứ nhất: Trường hợp thiếu sĩt thứ nhất:

Một thiếu sĩt quan trọng của ID3 là khơng gian phân chia hợp lệ tại một node là cạn kiệt. Một sự phân chia là sự phân hoạch của mỗi trƣờng hợp của khơng gian mà kết quả đạt đƣợc từ việc thử nghiệm tại một node quyết định ID3 và con cháu của nĩ cho phép sự kiểm tra tại một thuộc tính đơn và nhánh trong kết quả cho ra từ sự kiểm tra này.

Trường hợp thiếu sĩt thứ hai:

Một thiếu sĩt mà ID3 mắc phải là nĩ dựa rất nhiều vào số lƣợng của những tập hợp dữ liệu đƣa vào. Quản lý sự tạp nhiễu của tập dữ liệu vào là vơ cùng quan trọng khi chúng ta ứng dụng giải thuật học cây quyết định vào thế giới thực. Cho ví dụ, khi cĩ sự lẫn tạp trong tập dữ liệu đƣa vào hoặc khi số lƣợng ví dụ đƣa vào là quá nhỏ để tạo ra một ví dụ điển hình của hàm mục tiêu đúng. ID3 cĩ thể dẫn đến việc tạo quyết định sai.

Cĩ rất nhiều những mở rộng từ giải thuật ID3 cơ bản đã phát triển để áp dụng những luật học cây quyết định vào thế giới thực, nhƣ là những post-pruning tree, quản lý những thuộc tính giá trị thực, liên quan đến việc thiếu những thuộc tính, sử dụng những tiêu chuẩn chọn lựa thuộc tính khác hơn thu thập thơng tin.

3.1.3.6. Các vấn đề cần xem xét khi phân lớp dựa trên cây quyết định

Các vấn đề đặc thù trong khi học hay phân lớp dữ liệu bằng cây quyết định gồm: xác định độ sâu để phát triển cây quyết định, xử lý với những thuộc tính liên tục, chọn phép đo lựa chọn thuộc tính thích hợp, sử dụng tập dữ liệu đào tạo với những giá trị thuộc tính bị thiếu, sử dụng các thuộc tính với những chi phí khác nhau và cải thiện hiệu năng tính tốn. Sau đây sẽ đề cập đến những vấn đề chính đã đƣợc giải quyết các thuật tốn phân lớp dựa trên cây quyết định.

Tránh “quá vừa” dữ liệu

Thế nào là quá vừa dữ liệu. Cĩ thể hiểu đây là hiện tƣợng cây quyết định chứa một số đặc trƣng riêng của tập dữ liệu đào tạo, nếu lấy chính tập dữ liệu huấn luyện để kiểm tra lại một mơ hình phân lớp thì độ chính xác sẽ rất cao, trong khi đối

với những dữ liệu tƣơng tự lại khác, nếu sử dụng cây đĩ lại khơng đạt đƣợc độ chính xác nhƣ vậy.

Quá vừa dữ liệu là một khĩ khăn đáng kể đối với học bằng cây quyết định và những phƣơng pháp học khác. Đặc biệt khi số lƣợng ví dụ trong tập dữ liệu đào tạo quá ít hay cĩ quá nhiều trong dữ liệu.

Cĩ hai phƣơng pháp tránh “quá vừa” dữ liệu trong cây quyết định:

 Dừng phát triển cây sớm hơn bình thƣờng, trƣớc khi đạt tới điểm phân lớp hồn hảo tập dữ liệu đào tạo. Với phƣơng pháp này, một thách thức đặt ra là phải ƣớc lƣợng chính xác thời điểm dừng phát triển.

 Cho phép cây cĩ thể “quá vừa” dữ liệu, sau đĩ sẽ cắt, tỉa cây

Mặc dù phƣơng pháp thứ nhất cĩ vẻ trực tiếp hơn, nhƣng với phƣơng pháp thứ hai cây quyết định khi sinh ra đƣợc thực nghiệm chứng minh là thành cơng hơn trong thực tế. Hơn nữa việc cắt tỉa cây quyết định cịn giúp tổng quát hĩa và cải thiện độ chính xác của mơ hình phân lớp. Dù thực hiện phƣơng pháp nào thì vấn đề mấu chốt ở đây là tiêu chuẩn nào đƣợc sử dụng để xác định kích thƣớc hợp lý của cây cuối.

Thao tác với thuộc tính liên tục

Việc thao tác với thuơc tính liên tục trên cây quyết định hồn tồn khơng đơn giản nhƣ với thuộc tính rời rạc. Thuộc tính rời rạc cĩ tập giá trị (domain) xác định từ trƣớc và tập hợp các giá trị rời rạc. Ví dụ loại ơ tơ là một thuộc tính rời rạc với tập giá trị là: {xe tải, xe khách, xe con, taxi}. Việc phân chia dữ liệu dựa vào phép kiểm tra giá trị của thuộc tính rời rạc đƣợc chọn tại một ví dụ cụ thể cĩ thuộc tập giá trị của thuộc tính đĩ hay khơng: value(A) X với X domain (A). Đây là phép kiểm tra logic đơn giản, khơng tốn nhiều tài nguyên tính tốn. Trong khi đĩ, với thuộc tính liên tục (thuộc tính dạng số) thì tập giá trị là khơng xác định trƣớc. Chính vì vậy, trong quá trình phát triển cây, cần sử dụng kiểm tra dạng nhị phân: value(A) 0. Với 0 là hằng số ngƣỡng (threshold) đƣợc lần lƣợt xác định dựa trên từng giá trị riêng biệt hay từng cặp giá trị liền nhau (theo thứ tự đã sắp xếp) của thuộc tính liên tục đang xem xét trong tập dữ liệu đào tạo. Điều đĩ cĩ nghĩa là nếu thuộc tính liên tục A trong tập dữ liệu đào tạo cĩ d giá trị phân biệt thì cần thực hiện d-1 lần

kiểm tra value(A) Với i=1…d-1 để tìm ra ngƣỡng tốt nhất tƣơng ứng với thuộc tính đĩ. Việc xác định giá trị của 0 và tiêu chuẩn tìm 0 tốt nhất tùy vào chiến lƣợc của từng thuật tốn. Trong thuật tốn C4.5, đƣợc chọn là giá trị trung bình của hai giá trị liền kề nhau trong dãy giá trị đã sắp xếp.

3.2 Xây dựng mơ hình phát hiện xâm nhập trái phép sử dụng các kỹ thuật phân lớp. phân lớp.

3.2.1 Mơ hình bài tốn

Khai phá dữ liệu đang ngày càng đƣợc ứng dụng nhiều hơn trong việc phát hiện xâm nhập trái phép. Trong đĩ, các thuật tốn phân lớp thƣờng đƣợc sử dụng nhằm xây dựng các mơ hình phát hiện xâm nhập trái phép, để dự đốn và phát hiện các tấn cơng mới. Mơ hình bài tốn thực nghiệm là sử dụng thuật tốn phân lớp trong phát hiện xâm nhập trái phép.

Mơ hình sẽ dựa trên 5 bƣớc cơ bản: Bƣớc đầu tiên là thu thập, thống kê tất cả các luồng dữ liệu, các gĩi tin TCP/IP trên mạng. Tiếp theo các gĩi tin đƣợc chuyển đổi thành các bản ghi dữ liệu cĩ các giá trị thuộc tính nhƣ: dịch vụ, khoảng thời gian, số byte dữ liệu,…. Những thuộc tính quan trọng sau đĩ đƣợc lựa chọn và cuối cùng là sử dụng các thuật tốn phân lớp để xây dựng ra các bộ phân lớp [6].

Hình 3.2 - Các bước xây dựng mơ hình xâm nhập trái phép

Tiền xử lý dữ liệu Thu thập dữ liệu trên mạng

Định dạng dữ liệu ARFF

Chọn lựa thuộc tính

3.2.1.1 Thu thập dữ liệu

Hình 3.3 - Quá trình khai phá tri thức

Để thực hiện đánh giá các thuật tốn phân lớp trong việc xây dựng các mơ hình phát hiện xâm nhập trái phép, trong phần thực nghiệm em sẽ sử dụng tập dữ liệu KDD Cup 1999[11] đƣợc xây dựng từ năm 1998 của tổ chức DARPA (cục quốc phịng Mỹ và quản lý bởi Trung tâm thí nghiệm MIT Lincoln).

Đây là tập dữ liệu đƣợc trích rút từ gĩi tin cĩ định dạng của giao thức TCP đƣợc thu thập thơng qua thời gian 9 tuần. Để thu thập đƣợc các dữ liệu tấn cơng, các cuộc tấn cơng đã đƣợc giả lập theo các hành động và mục tiêu cụ thể của kẻ tấn cơng. Tập dữ liệu bao gồm một kiểu dữ liệu bình thƣờng (normal) và 22 kiểu tấn cơng khác nhau đƣợc phân loại thành 4 lớp: Từ chối dịch vụ (DoS), trinh sát hệ thống (Probe), chiếm quyền hệ thống (U2L) và khai thác điểm yếu (R2L).

 Lớp từ chối dịch vụ (DoS - Denial of Service Attack):

Cho dù đa dạng về kích cỡ và hình dạng, từ subtle malformed packet đến full- blown packet storm, Denial of Service (DoS) attack cĩ mục đích chung là đĩng băng hay chặn đứng tài nguyên của hệ thống đích. Cuối cùng, mục tiêu trở nên khơng thể tiếp cận và khơng thể trả lời. DoS tấn cơng vào các mục tiêu bao gồm ba dạng là mạng, hệ thống và ứng dụng.

Hình 3.4 - Mơ hình DoS attack

- Network flooding bao gồm SYN flood, Ping flood hay multi echo request… - Phá hoại hệ thống, thiết bị bao gồm Ping of Death, Teardrop, Bonk, LAND, các kiểu tấn cơng nhằm lợi dụng lỗ hổng trên hệ điều hành nhằm phá hoại, gây quá tải hệ thống. Sự kiện này cĩ thể xảy ra bằng cách gửi gĩi tin cĩ định dạng khác thƣờng tới hệ thống và thiết bị, chúng cĩ thể đƣợc tạo ra bằng các cơng cụ tấn cơng đƣợc lập trình trƣớc.

- Phá hoại, gây quá tải ứng dụng bao gồm các kỹ thuật phá hoại và gây quá tải hệ thống bằng cách lợi cụng điểm yếu trên ứng dụng, cơ sở dữ liệu, email, trang web…

Một số kiểu tấn cơng DoS phổ biến được liệt kê dưới bảng sau: Bảng 3.2 - Mơ tả lớp tấn cơng từ chối dịch vụ (DoS)

TT Tên tấn cơng Mơ tả

1 Pod Gửi các gĩi tin cĩ kích thƣớc lớn thơng qua lệnh Ping đến máy đích

2 Smurfe Lợi dụng Router mạng để gửi Broadcast 3 Neptune Đột nhập vào hệ thống

4 Teardrop Gửi chồng chéo gĩi tin

5 Back Tấn cơng đến các đƣờng định tuyến

 Trinh sát hệ thống (Probe): Là loại tấn cơng cĩ mục đích là thu thập các thơng tin liên quan đến cấu hình của một hệ thống máy tính hoặc hệ thống mạng nhằm mục đích phá hoại. Phƣơng thức chung là sử dụng các cơng cụ dị quét, để tìm kiếm các cổng mở hay địa chỉ IP.

Bảng 3.3 - Bảng mơ tả lớp tấn cơng trinh sát hệ thống Probe

TT Tên tấn cơng Mơ tả

1 Santan Cơng cụ quét cổng và thăm dị

2 Portsweep Sử dụng các gĩi tin kết nối để xác định cổng mở

3 Nmap Cơng cụ quét cổng

4 Ipsweep Sử dụng các gĩi ping để xác định IP

 Lớp tấn cơng chiếm quyền hệ thống ( U2R - User-to-root): Đây là loại tấn

Một phần của tài liệu (LUẬN văn THẠC sĩ) tìm hiểu, nghiên cứu hệ thống phát hiện xâm nhập dựa trên khai phá dữ liệu (Trang 48)

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

(70 trang)