• Tidak ada hasil yang ditemukan

ỨNG DỤNG THUẬT TOÁN FUZZY RANDOM FOREST TRONG PHÁT HIỆN XÂM NHẬP MẠNG KHÔNG DÂY

N/A
N/A
Protected

Academic year: 2024

Membagikan "ỨNG DỤNG THUẬT TOÁN FUZZY RANDOM FOREST TRONG PHÁT HIỆN XÂM NHẬP MẠNG KHÔNG DÂY"

Copied!
101
0
0

Teks penuh

(1)

ĐẠI HỌC QUỐC GA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

--- 🙞🙞 ---

NGUYỄN VĂN LINH

ỨNG DỤNG THUẬT TOÁN FUZZY RANDOM FOREST TRONG PHÁT HIỆN XÂM NHẬP MẠNG

KHÔNG DÂY

Ngành: Công nghệ thông tin

Chuyên ngành: Khoa học máy tính Mã số: 60480101

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS. Lê Hoàng Sơn

Hà Nội - 2019

(2)

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

--- 🙞🙞 ---

NGUYỄN VĂN LINH

ỨNG DỤNG THUẬT TOÁN FUZZY RANDOM FOREST TRONG PHÁT HIỆN XÂM NHẬP MẠNG

KHÔNG DÂY

Ngành: Công nghệ thông tin

Chuyên ngành: Khoa học máy tính Mã số: 60480101

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS. Lê Hoàng Sơn Xác nhận của cán bộ hướng dẫn

PGS TS. Lê Hoàng Sơn

Hà Nội - 2019

(3)

LỜI CẢM ƠN

Trước tiên, tôi xin được gửi lời cảm ơn và lòng biết ơn sâu sắc nhất tới Thầy giáo, PGS. TS. Lê Hoàng Sơn đã tận tình chỉ bảo, hướng dẫn, động viên và giúp đỡ tôi trong suốt quá trình tôi thực hiện luận văn tốt nghiệp.

Tôi xin gửi lời cảm ơn tới các thầy cô trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội – những người đã tận tình giúp đỡ, hướng dẫn trong quá trình tôi học tập và tại trường.

Cuối cùng, tôi muốn gửi lời cảm ơn tới gia đình và bạn bè, những người thân yêu luôn bên cạnh, quan tâm, động viên tôi trong suốt quá trình học tập và thực hiện luận văn tốt nghiệp này.

Tôi xin chân thành cảm ơn!

Hà Nội, tháng 04 năm 2019 Học viên

Nguyễn Văn Linh

(4)

LỜI CAM ĐOAN

Tôi xin cam đoan kết quả đạt được trong Luận văn là sản phẩm của riêng cá nhân tôi, không sao chép lại của người khác. Những điều được trình bày trong nội dung Luận văn, hoặc là của cá nhân hoặc là được tổng hợp từ nhiều nguồn tài liệu. Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và được trích dẫn đúng quy cách. Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của mình.

Hà Nội, tháng 04 năm 2019 Tác giả luận văn

Nguyễn Văn Linh

(5)

MỤC LỤC

LỜI CẢM ƠN 0

LỜI CAM ĐOAN 1

MỤC LỤC 2

DANH SÁCH BẢNG 3

DANH SÁCH HÌNH VẼ 4

DANH SÁCH TỪ VIẾT TẮT 6

1 13

1.1 13

1.2 14

1.2.1 14

1.2.2 15

1.2.3 18

1.2.4 20

1.3 22

1.3.1 23

1.3.2 27

1.3.3 30

1.4 34

1.5 34

2 35

2.1 35

2.2 37

2.3 43

2.4 47

2.5 58

2.6 80

3 81

3.1 81

3.2 87

3.3 92

3.4 92

3.1 95

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 85

TÀI LIỆU THAM KHẢO 87

(6)

DANH SÁCH BẢNG

Bảng 1.1 : Dữ liệu sử dụng cho phân lớp Bayes 16

Bảng 2.1: Dữ liệu phân lớp sử dụng cây quyết định 28 Bảng 2.2: Dữ liệu kiểm thử thuật toán cây quyết định 29

Bảng 2.3: Tất cả thuộc tính Sunny của Outlook 30

Bảng 2.4: Tất cả thuộc tính Rain của Outlook 31

Bảng 2.5: Bảng đánh giá và kiểm tra kết quả của thuật toán DT 32 Bảng 2.6: Tập dữ liệu phân lớp cho thuật toán RF 38 Bảng 2.7: Dữ liệu được chọn ngẫu nhiên từ tập dữ liệu ban đầu cho cây 2 39 Bảng 2.8: Dữ liệu để kiểm tra độ chính xác thuật toán RF 39

Bảng 2.9: Tất cả dữ liệu Sunny của Outlook 41

Bảng 2.10: Tất cả dữ liệu Rain của Outlook 41

Bảng 2.11: Bảng đánh dấu dữ liệu được chọn ngẫu nhiên cho cây 3 42 Bảng 2.12: Bảng dữ liệu chọn ngẫu nhiên cho cây 3 43

Bảng 2.13: Tất cả dữ liệu nhánh Strong của Wind 45

Bảng 2.14: Nhánh Sunny của Outlook nốt tiếp Strong của Wind 46

Bảng 2.15: Đánh giá kết quả thuật toán RF 47

Bảng 2.16: Dự liệu training thuật toán FRF 53

Bảng 2.17: Dữ liệu đánh giá thuật toán FRF 54

Bảng 2.18 Giá trị fuzzy của các thuộc tính 57

Bảng 2.19: Nhánh Sunny của outlook (FRF 1) 62

Bảng 2.20: Nhánh rain của outlook(FRF 1) 64

Bảng 2.23: Đánh giá kết quả cây FRF 69

Bảng 3.1: Bộ dữ liệu AWID [36] 70

Bảng 3.2: Các lớp của bộ dữ liệu AWID [36] 71

Bảng 3.3: Tỉ lệ của các bản ghi và lớp trong bộ dữ liệu 71

Bảng 3.4: Thuộc tính trong 1 bảng ghi 71

Bảng 3.5: Đánh giá kết quả của thuật toán 81

(7)

DANH SÁCH HÌNH VẼ

Hình 1.1: Báo cáo hàng năm về tình hình bảo mật của Cisco [27] 1

Hình 1.2: Kiến trúc mạng không dây [37] 2

Hình 1.3: Cơ chế bảo mật WEP 3

Hình 1.4: Tấn công Flooding 9

Hình 1.5: Tấn công Injection 10

Hình 1.6: Tấn công Impersonation 10

Hình 1.7: Các điểm trong không gian D chiều 11

Hình 1.8: Siêu phẳng phân lớp các điểm trong không gian 12 Hình 1.9 : Đồ thị biểu diễn các điểm trong mặt phẳng R+ 13

Hình 1.10 : Các điểm lựa chọn cho siêu phẳng 13

Hình 1.11: Kiến trúc mô hình SVM 14

Hình 1.12: Đồ thị biểu diễn siêu phẳng tìm được 15

Hình 1.13: Kiến trúc chung của mạng nơ-ron 18

Hình 1.14: Mô hình mạng nơ-ron 19

Hình 1.15: Công thức và đồ thị hàm ngưỡng 20

Hình 1.16: Công thức và đồ thị hàm tuyến tính 20

Hình 1.17: Công thức và đồ thị hàm sigmod 21

Hình 1.18: Công thức và đồ thị hàm tanh 21

Hình 1.19: Công thức và đồ thị hàm gausian 22

Hình 2.1: Hình ảnh cây sau vòng lặp đầu tiên của thuật toán DT 30 Hình 2.2: Cây phân lớp sau vòng lặp thứ 2 của thuật toán DT 31 Hình 2.3: Cây phân lớp cuối cùng của thuật toán DT 32 Hình 2.4: Ví dụ về cây quyết định với phân lớp mờ và phân lớp rõ 33

Hình 2.5: Lớp rõ và lớp mờ 34

Hình 2.6: Đồ thị biểu diễn các miền giá trị 35

Hình 2.7: Mô hình thuật toán rừng ngẫu nhiên [3] 37

Hình 2.8: Cây RF 2 sau vòng lặp thứ nhất 40

Hình 2.9: Cây RF 2 sau vòng lặp thứ hai 42

Hình 2.10: Cây RF 2 hoàn chỉnh thứ nhất 42

Hình 2.11: Cây RF 3 sau vòng lặp 1 45

Hình 2.12: Cây RF 3 sau vòng lặp 2 46

Figure 2.13: Cây RF 3 hoàn thiện 46

Hình 2.14: Mô hình fuzzy random forest 51

Hình 2.15: Đồ thị miền giá trị mờ của outlook 55

Hình 2.16: Đồ thị miền giá trị mờ của temprature 56

(8)

Bảng 2.17: Đồ thị miền giá trị mờ của humidity 56

Hình 2.18: Đồ thị miền giá trị mờ của wind 57

Hình 2.19: Cấy FRF 1 sau vòng lặp đầu tiên 61

Hình 2.20: Cây FRF 1 sau vòng lặp 2 65

Hình 2.21: Cây FRF 1 sau vòng lặp 3 67

Hình 2.22: Cây FRF 1 sau vòng lặp 4 68

Hình 2.23: Cây FRF hoàn thiện 68

Hình 3.1: Dữ liệu sau khi chuyển sang hệ cơ số 10 77

Hình 3.2: Dữ liệu đã được xử lý 78

Hình 3.3: Nhãn cho tập thuộc tính 78

Hình 3.4: Vị trí các thuộc tính dùng để phân lớp 79

Hình 3.5: Khoảng giá trị cho từng thuộc tính 79

Hình 3.6: Đồ thị hàm singleton 79

Hình 3.7: Công thức và đồ thị hàm triangular 80

Hình 3.8: Công thức và đồ thị hàm trapezoidal 80

Hình 3.9: Công thức là đồ thị hàm hình thang phải 80 Hình 3.10: Công thức là đồ thị hàm hình thang trái 81

Hình 3.12: Cây sau khi chạy thuật toán 81

Hình 3.13: Đồ thị đánh giá độ chính xác của cây 82

Hình 3.14: Độ chính xác của từng lớp theo số cây theo precision 83 Hình 3.15: Độ chính xác của từng lớp theo số cây theo recall 83

(9)

DANH SÁCH TỪ VIẾT TẮT

STT Từ viết tắt Đầy đủ Ý nghĩa

1 AP Access Point

Điểm truy cập: là thiết bị cho phép các thiết bị không dây kết nối với mạng dây sử dụng WiFi hoặc các chuẩn liên quan

2 ARP Address Resolution Protocol

Giao thức phân giải địa chỉ là một giao thức truyền thông được sử dụng để chuyển địa chỉ từ tầng mạng sang tầng liên kết dữ liệu theo mô hình OSI.

3 CCMP

Counter Mode Cipher Block Chaining Message

Authentication Code Protocol

Giao thức CCMP là một giao thức truyền dữ liệu và kiểm soát tính truyền dữ liệu thống nhất để bảo đảm cả tính bảo mật và nguyên vẹn của dữ liệu được truyền đi

4 DoS Denial-of-service

Cuộc tấn công từ chối dịch vụ (tấn công DoS - hay tấn công từ chối dịch vụ phân tán là một nỗ lực làm cho những người dùng không thể sử dụng tài nguyên của một máy tính

5 DT Decision tree Cây quyết định là một thuật toán dùng để phân lớp dự liệu

6 FCS Frame check sequence

Một mã phát hiện lỗi được thêm vào một khung trong giao thức truyền thông. Khung được sử dụng để gửi dữ liệu tải trọng từ một nguồn đến đích.

7 FDT Fuzzy decision tree

Cây quyết định mờ là thuật toán phân lớp áp dụng lý thuyết mờ vào cây quyết định

(10)

8 FRF Fuzzy random forest

Rừng ngẫu nhiên mờ là thuật toán áp dụng lý thuyết mờ vào rừng ngẫu nhiên.

9 FTP File Transfer Protocol

Giao thức truyền tập tin: thường được dùng để trao đổi tập tin qua mạng lưới truyền thông dùng giao thức TCP/IP (chẳng hạn như Internet - mạng ngoại bộ - hoặc Intranet - mạng nội bộ)

10 HTTP Hypertext Transfer Protocol

Giao thức truyền tải siêu văn bản: là một trong năm giao thức chuẩn của mạng Internet, được dùng để liên hệ thông tin giữa Máy cung cấp dịch vụ và Máy sử dụng dịch vụ.

11 IEEE

The Institute of Electrical and

Electronics Engineers

Viện kỹ nghệ Điện và Điện tử: là một tổ chức phi lợi nhuận, chuyên nghiệp nhằm nâng cao sự thịnh vượng qua sự phát huy các đổi mới công nghệ tạo cơ hội nghề nghiệp cho các thành viên và cổ vũ cộng đồng thế giới mở rộng

12 IoT Internet of Thing

Internet Vạn Vật, hay cụ thể hơn là Mạng lưới vạn vật kết nối Internet hoặc là Mạng lưới thiết bị kết nối Internet là một liên mạng, trong đó các thiết bị, phương tiện vận tải (được gọi là "thiết bị kết nối" và "thiết bị thông minh"), phòng ốc và các trang thiết bị khác được nhúng với các bộ phận điện tử, phần mềm, cảm biến, cơ cấu chấp hành cùng với khả năng kết nối mạng máy tính giúp cho các

(11)

thiết bị này có thể thu thập và truyền tải dữ liệu

13 IP Internet Protocol

Giao thức Internet: là một địa chỉ đơn nhất mà những thiết bị điện tử hiện nay đang sử dụng để nhận diện và liên lạc với nhau trên mạng máy tính bằng cách sử dụng giao thức Internet.

14 MAC Media Access Control

Điều khiển truy nhập môi trường: là tầng con, một phần của tầng liên kết dữ liệu trong mô hình 7 tầng OSI 15 NLP Natural Language

Processing Xử lý ngôn ngữ tự nhiên

16 OOB Out of bag Là phương pháp đo lỗi dự đoán của random forest, decision tree .v.v..

17 RF Random forest

Rừng ngẫu nhiên: Tương tự cây quyết định là thuật toán dùng để phân lớp

18 SSID Service Set Identifier

Là tên chính của mạng cục bộ không dây 802,11 gồm mạng gia đình và các hotspot công cộng

19 STA STAtion

Một thiết bị client trong mạng không dây 802.11 như máy tính, máy tính xách tay hoặc điện thoại thông minh.

Thuật ngữ STA đôi khi cũng được sử dụng cho điểm truy cập, trong trường hợp đó, STA là bất kỳ thiết bị nào giao tiếp qua giao thức 802.11

20 TKIP Temporal Key

Integrity Protocol

Là một giao thức bảo mật được sử dụng trong chuẩn mạng không dây IEEE 802.11

(12)

21 WLAN Wireless LAN

Mạng cục bộ không dây (viết tắt từ tiếng Anh: wireless local area network) là mạng cục bộ gồm các máy tính liên lạc với nhau bằng sóng vô tuyến.

(13)

1 CHƯƠNG I: TỔNG QUAN BÀI TOÁN VÀ KIẾN THỨC NỀN

1.1 Đặt vấn đề

Ngày nay với sự phát triển của công nghệ và kinh tế, các thiết bị không dây như điện thoại di động, máy tính xách tay, v.v. không ngừng gia tăng. Kèm theo đó là sự phát triển của các hệ thống mạng không dây (WiFi) có mặt ở mọi nơi từ gia đình, các công ty đến các địa điểm công cộng như quán ăn, quán café. Tốc độ phát triển của các thiết bị không dây và mạng không dây đi kèm theo mối đe dọa từ an ninh mạng. Mỗi ngày có hàng triệu giao dịch được thực hiện qua mạng. Chính vì sự phổ biến và tầm quan trọng của nó như vậy mà vấn đề về bảo mật và an toàn cho mạng không dây được đặt lên cao đặc biệt là ở những nơi quan trọng như ngân hàng hay cơ quan chính phủ.

Các cuộc tấn công mạng ngày các phổ biến làm thiệt hàng tỷ đô cho nền kinh tế.

Trên thế giới thiệt hại do các cuộc tấn công mạng lên đến 200 tỷ usd mỗi năm.

Theo Báo cáo An ninh mạng thường niên năm 2017 của Cisco, hơn 1/3 tổ chức từng bị vi phạm an ninh trong năm 2016 chịu thiệt hại đáng kể do mất khách hàng, cơ hội và doanh thu lên đến hơn 20% [5].

Hình 1.1: Báo cáo hàng năm về tình hình bảo mật của Cisco [27]

Hơn nữa ngày nay với sự phát triển của IoT, các thiết bị kết nối internet, router wifi, trở thành đích nhắm của các hacker. Chính vì vậy rất nhiều biện pháp được đưa ra để phòng chống và ngăn chặn các hình thức tấn công mạng.

(14)

Do đó bài toán được đặt ra ở đây là xác định một truy cập là bình thường hay bất thường, Hay đúng hơn là bài toán phân lớp một truy cập mạng theo các thuộc tính đã biết.

Trong những năm gần đây với sự phát triển và hoàn thiện của các thuật toán học máy, nó được ứng dụng trong rất nhiều ngành khác nhau. Trong lĩnh vực an ninh mạng cũng tương với bài toán phân lớp xâm nhập mạng không dây việc áp dụng các thuật toán học máy đem lại hiệu quả cao. Trong luận văn này thì sẽ tìm hiểu và áp dụng thuật toán Fuzzy Random Forest cho bài toán này.

1.2 Tổng quan về mạng không dây 1.2.1 Kiến trúc mạng 802.11

802.11 là một tập các chuẩn của tổ chức IEEE bao gồm các đặc tả kỹ thuật liên quan đến hệ thống mạng không dây. Chuẩn IEEE 802.11 mô tả một giao tiếp "truyền qua không khí" sử dụng sóng vô tuyến để truyền nhận tín hiệu giữa một thiết bị không dây và tổng đài hoặc điểm truy cập, hoặc giữa 2 hay nhiều thiết bị không dây với nhau (mô hình ad-hoc) [6].

Hình 1.2: Kiến trúc mạng không dây [37]

802.11 cấu trúc gồm 3 thành phần chính: tầng quản lý, tầng điều khiển và tầng dữ liệu [28].

Tầng quản lý: Đóng vai trò cài đặt giao tiếp giữa STA với AP và duy trì kết nối [28].

(15)

Tầng điều khiển: Điều phối truy cập vào môi trường không dây và đóng vai trò trong việc phân phối các khung dữ liệu từ STA đến AP và ngược lại [28].

Tầng dữ liệu: Được sử dụng để truyền tải thông tin thực tế được tạo ra từ các lớp khác. Tất cả các khung dữ liệu đều có cùng cấu trúc bao gồm tiêu đề, thân khung và khung kiểm tra. Chiều dài thân khung trong byte là biến duy nhất của 4byte trong phạm vi từ 0 đến 2312 [28].

1.2.2 Cơ chế bảo mật

Wired Equivalent Privacy – WEP

WEP là một thuật toán bảo nhằm bảo vệ sự trao đổi thông tin chống lại sự nghe lén, chống lại những nối kết mạng không được cho phép .v.v.. WEP sử dụng stream cipher RC4 cùng với một mã 40bit và một số ngẫu nhiên 24bit (initialization vector – IV) để mã hóa thông tin. Thông tin mã hóa được tạo ra bằng cách thực hiện operation XOR giữa keystream và plain text [4].

Hình 1.3: Cơ chế bảo mật WEP

Do WEP sử dụng RC4, một thuật toán sử dụng phương thức mã hóa dòng, nên cần một cơ chế đảm bảo hai dữ liệu giống nhau sẽ không cho kết quả giống nhau sau khi được mã hóa hai lần khác nhau. Đây là một yếu tố quan trọng trong vấn đề mã hóa dữ liệu nhằm hạn chế khả năng suy đoán khóa của hacker. Để đạt mục đích trên, một giá trị có tên Initialization Vector (IV) được sử dụng để cộng thêm với khóa nhằm tạo ra khóa khác nhau mỗi lần mã hóa. IV là một giá trị có chiều dài 24bit và được chuẩn IEEE 802.11 đề nghị (không bắt buộc) phải thay đổi theo từng gói dữ liệu. Vì máy gửi tạo ra IV không theo định luật hay tiêu chuẩn, IV bắt buộc phải được gửi đến máy nhận

(16)

ở dạng không mã hóa. Máy nhận sẽ sử dụng giá trị IV và khóa để giải mã gói dữ liệu [4].

Cách sử dụng giá trị IV là nguồn gốc của đa số các vấn đề với WEP. Do giá trị IV được truyền đi ở dạng không mã hóa và đặt trong header của gói dữ liệu 802.11 nên bất cứ ai “tóm được” dữ liệu trên mạng đều có thể thấy được. Với độ dài 24 bit, giá trị của IV dao động trong khoảng 16.777.216 trường hợp. Những chuyên gia bảo mật tại đại học California-Berkeley đã phát hiện ra là khi cùng giá trị IV được sử dụng với cùng khóa trên một gói dữ liệu mã hóa (khái niệm này được gọi nôm na là va chạm IV), hacker có thể bắt gói dữ liệu và tìm ra được khóa WEP. Thêm vào đó, ba nhà phân tích mã hóa Fluhrer, Mantin và Shamir đã phát hiện thêm những điểm yếu của thuật toán tạo IV cho RC4. FMS đã vạch ra một phương pháp phát hiện và sử dụng những IV lỗi nhằm tìm ra khóa WEP [4].

Thêm vào đó, một trong những mối nguy hiểm lớn nhất là những cách tấn công thêm hai phương pháp nêu trên đều mang tính chất thụ động. Có nghĩa là kẻ tấn công chỉ cần thu nhận các gói dữ liệu trên đường truyền mà không cần liên lạc với Access Point. Điều này khiến khả năng phát hiện các tấn công tìm khóa WEP đầy khó thêm và gần như không thể phát hiện được [4].

Hiện nay, trên Internet đã sẵn có những công cụ có khả năng tìm khóa WEP như AirCrack, AirSnort, dWepCrack, WepAttack, WepCrack, WepLab. Tuy nhiên, để sử dụng những công cụ này đòi hỏi nhiều kiến thức chuyên sâu và chúng còn có hạn chế về số lượng gói dữ liệu cần bắt được [4].

Mặc dù các thuật toán được cải tiến và kích thước kí tự được tăng lên, qua thời gian nhiều lỗ hổng bảo mật được phát hiện trong chuẩn WEP khiến nó càng ngày càng dễ bị qua mặt khi mà sức mạnh của máy tính ngày càng được củng cố. Năm 2001, nhiều lỗ hổng tiềm tàng đã bị phơi bày trên mạng Internet. Đến năm 2005, FBI công khai trình diễn khả năng bẻ khóa WEP chỉ trong một vài phút bằng phần mềm hoàn toàn miễn phí nhằm nâng cao nhận thức về sự nguy hiểm của WEP.

Mặc dù nhiều nỗ lực cải tiến được tiến hành nhằm tăng cường hệ thống của WEP, chuẩn này vẫn đặt người dùng vào vị trí hết sức nguy hiểm và tất cả các hệ thống sử dụng WEP nên được nâng cấp hoặc thay thế. Tổ chức Liên minh WiFi chính thức cho WEP ngừng hoạt động vào năm 2004.

(17)

WiFi Protected Access - WPA

WiFi Protected Access là một chuẩn do liên minh WiFi đưa ra nhằm thay thế cho WEP. Chuẩn này chính thức được áp dụng vào năm 2003, một năm trước khi WEP được cho "nghỉ hưu". Cấu hình WPA phổ biến nhất là WPA-PSK. WPA sử dụng mã hóa 256-bit giúp tăng tính bảo mật lên rất nhiều so với 64-bit và 128-bit của WEP [7].

Một trong những yếu tố giúp WPA bảo mật tốt hơn là nó có khả năng kiểm tra tính toàn vẹn của gói tin - tính năng giúp kiểm tra xem liệu hacker có thu thập hay thay đổi gói tin truyền qua lại giữa điểm truy cập và thiết bị dùng WiFi hay không; và Temporal Key Integrity Protocol, hệ thống kí tự cho từng gói, an toàn hơn rất nhiều so với kí tự cố định của WEP. TKIP sau đó được thay thế bằng Advanced Encryption Standard [7].

Mặc dù đã có nhiều cải tiến so với WEP nhưng "bóng ma" của người tiền nhiệm một lần nữa lại ám ảnh WPA. Nguyên nhân nằm ở TKIP, một thành phần chủ chốt của thuật toán mã hóa này. Liên minh WiFi đã thiết kế để có thể nâng cấp lên TKIP từ phiên bản firmware của WEP và hacker có thể lợi dụng các điểm yếu của WEP để hack vào thành phần này từ đó hack vào mạng WPA. Cũng giống như WEP, các tổ chức về bảo mật đã chứng minh điểm yếu của WPA thông qua một loạt thử nghiệm. Một điểm thú vị là các phương thức phổ biến nhất để hack WPA không phải là những cuộc tấn công trực tiếp vào thuật toán này, mà thông qua 1 hệ thống bổ sung được phát hành cùng WPA là WiFi Protected Setup (WPS - một hệ thống giúp liên kết thiết bị với các điểm truy cập 1 cách dễ dàng) [7].

Wi-Fi Protected Access II

Đến năm 2006, WPA được thay thế bằng chuẩn mới là WPA2. Những thay đổi đáng kể nhất của WPA2 so với người tiền nhiệm của nó là WPA2 sử dụng 1 thành phần mới thay thế cho TKIP là có tên CCMP; đồng WPA2 yêu cầu phải sử dụng thuật toán AES. Có thể nói rằng chuẩn WPA2 mới nhất này đã tăng khả năng bảo mật của router WiFi lên cao nhất từ trước tới nay mặc dù nó vẫn còn 1 số lỗ hổng hơi khó hiểu. Tuy nhiên bạn có thể hình dung về lỗ hổng này là nó yêu cầu hacker phải có quyền truy cập được vào mạng WiFi trước sau đó chúng mới có thể tiến hành hack được vào các client khác trong cùng mạng. Bởi thế, WPA2 có thể coi là chuẩn an toàn cho mạng WiFi gia

(18)

đình và với lỗ hổng trên, hacker chỉ có thể thâm nhập được vào mạng WiFi của các doanh nghiệp (với rất nhiều thiết bị kết nối) mà thôi [7].

Ngoài ra, bạn nên lưu ý tắt tính năng WPS, hệ thống dễ bị tấn công trong WPA và vẫn còn được lưu lại trong WPA2 nhằm tránh các nguy cơ bị tấn công, mặc dù việc hack vào hệ thống này yêu cầu hacker phải mất từ 2 đến 14 tiếng thông qua một hệ thống máy tính có năng lực tính toán cao. Bên cạnh đó, việc flash firmware (sử dụng một bản firmware ngoài, không phải do nhà sản xuất router cung cấp) không hỗ trợ WPS sẽ giúp cho WiFi của bạn được đảm bảo an toàn tuyệt đối [7].

1.2.3 Các dạng tấn mạng không dây

Có nhiều phương pháp để tấn công mạng không dây, một số phương pháp phổ biến như:

Tấn công bị động:

Tấn công bị động hay nghe lén là kiểu tấn công không tác động trực tiếp vào thiết bị nào trên mạng, không làm cho các thiết bị trên mạng biết được hoạt động của nó vì thế kiểu tấn công này rất khó phát hiện. Các phương thức thường dùng trong tấn công bị động như: nghe trộm, phân tích luồng thông tin. Sử dụng cơ chế bắt gói tin Sniffing để lấy trộm thông tin khi đặt một thiết bị thu nằm trong vùng phủ sóng. Tấn công kiểu bắt gói tin khó bị phát hiện ra sự có mặt của thiết bị bắt gói tin nếu thiết bị đó không thực sự kết nối tới AP [8].

Có nhiều ứng dụng bắt gói tin có khả năng thu thập được password từ những địa chỉ HTTP, email, phiên làm việc FTP, telnet. Những kiểu kết nối trên đều truyền password theo dạng clear text (không mã hóa). Có nhiều ứng dụng có thể lấy được password trên mạng không dây của quá trình trao đổi giữa Client và Server khi đang thực hiện quá trình đăng nhập. Việc bắt gói tin giúp kẻ tấn công có thể nắm được thông tin, phân tích được lưu lượng của mạng và nó còn gián tiếp làm tiền đề cho các phương thức tấn công phá hoại khác [8].

Tấn công chủ động:

Tấn công chủ động là tấn công trực tiếp vào các thiết bị trên mạng như AP. Cuộc tấn công chủ động có thể được dùng để tìm cách truy cập tới một server để thăm dò, lấy

(19)

những dữ liệu quan trọng, thậm chí làm thay đổi cấu hình cơ sở hạ tầng mạng. Kiểu tấn công này dễ phát hiện nhưng khả năng phá hoại của nó rất nhanh. Kiểu tấn công cụ thể:

Mạo danh, truy cập trái phép [8].

Một trong những cách phổ biến là một máy tính tấn công bên ngoài giả mạo là máy tính trong mạng rồi xin kết nối vào mạng để rồi truy cập trái phép nguồn tài nguyên trên mạng. Hacker sẽ giả mạo địa chỉ MAC, địa chỉ IP của thiết bị mạng trên máy tính của mình thành các giá trị của máy tính đang sử dụng trong mạng, làm cho hệ thống hiểu nhầm và cho phép kết nối. Các thông tin về địa chị MAC, IP cần giả mạo có thể thu thập được từ việc bắt trộm các gói tin trên mạng. Việc thay đổi địa chỉ MAC của card mạng không dây có thể thực hiện dễ dàng trên hệ điều hành Windows, UNIX [8].

Tấn công kẻ ngồi giữa thao túng

Tấn công kiểu thu hút là trường hợp hacker sử dụng một AP giả mạo chèn vào giữa hoạt động của các thiết bị, thu hút và giành lấy sự trao đổi thông tin của các thiết bị về minh. AP chèn vào phải có vị trí, khả năng thu phát cao hơn nhiều so với AP hợp pháp trong vùng phủ sóng của nó để làm cho các client kết nối lại với AP giả mạo này.

Với kiểu tấn công này thì người dùng khó có thể phát hiện được. Để tấn công thu hút, hacker phải biết được giá trị SSID mà các client đang sử dụng và key WEP nếu mạng có sử dụng WEP. Kết nối ngược từ AP trái phép được điều khiển thông qua một thiết bị client như PC card hay workgroup bridge [8].

Tấn công thu hút có thể được thực hiện trên một laptop với 2 PCMCIA card.

Phần mềm AP chạy trên 1 laptop mà ở đó một PC card được sử dụng như một AP, 1PC card dùng để kết nối laptop với AP hợp pháp. Lúc này latop trở thành kẻ ở giữa hoạt động giữa client và AP hợp pháp. Hacker dùng kiểu tấn công này có thể lấy được các thông tin giá trị bằng cách sử dụng các chương trình phân tích trên máy tính [8].

Tấn công xác thực lại

Kẻ tấn công xác định mục tiêu tấn công là các người dùng trong mạng WLAN và các kết nối của họ đến AP. Sau đó sẽ chèn các frame yêu cầu xác thực lại vào mạng WLAN bằng cách giả mạo địa chỉ MAC của AP và các người dùng. Người dùng khi nhận được các frame yêu cầu xác thực lại sẽ hiểu nhầm là của AP gửi đến. Sau khi ngắt được kết nối của một người dùng ra khỏi mạng WLAN, hacker tiếp tục thực hiện ngắt kết nối với các người dùng còn lại. Sau khi bị ngắt kết nối, thông thường người dùng sẽ

(20)

kết nối lại để phục hồi dịch vụ, nhưng kẻ tấn công đã nhanh chóng tiếp tục gửi các gói yêu cầu xác thực lại cho người dùng [8].

Tấn công giả mạo điểm truy cập

Tấn công giả mạo AP là kiểu tấn công man-in-the-middle cổ điển. Đây là kiểu tấn công mà tin tặc đứng ở giữa và trộm lưu lượng truyền giữa hai nút. Kiểu tấn công này rất mạnh vì tin tặc có thể trộm tất cả lưu lượng đi qua mạng. Rất khó khăn để tấn công theo kiểu man-in-the-middle trong mạng có dây bời vì kiểu tấn công này yêu cầu truy cập thực sự vào đường truyền. Trong mạng không dây thì lại dễ bị tấn công kiểu này. Tin tặc sẽ tạo ra một AP giả mạo có cấu hình giống hệt như AP hợp pháp bằng cách sao chép SSID, địa chỉ MAC.v.v.. của AP hợp pháp (những thông tin cấu hình của AP hợp pháp có thể thu được bằng việc bắt các gói tin truyền trong mạng). Tin tặc phải chắc chắn AP giả mạo có cường độ tín hiệu mạnh hơn cả so với AP hợp pháp bằng cách đặt AP giả mạo gần với client hơn AP hợp pháp [8].

Bước tiếp theo là làm cho nạn nhân kết nối tới AP giả bằng cách đợi cho client tự kết nối hoặc gây ra một cuộc tấn công DoS vào AP hợp pháp do vậy client sẽ phải kết nối tới AP giả. Sau khi nạn nhân kết nối, nạn nhân vẫn hoạt động bình thường và nếu nạn nhân kết nối tới một AP hợp pháp khác thì dữ liệu của nạn nhân đều đi qua AP giả. Do đó, hacker có thể dùng các ứng dụng để thu thập các thông tin anh ta muốn.

Kiểu tấn công này tồn tại do trong 802.11 không yêu cầu chứng thực 2 hướng giữa AP và client, AP phát quảng bá ra toàn mạng, rất dễ bị nghe trộm và ăn cắp thông tin bởi hacker [8].

1.2.4 Các dấu hiệu tấn công mạng không dây

Có 3 loại dấu hiệu giúp chúng ta phát hiện được các điểm bất thường

Flooding Attacks: Loại tấn công này nhằm vào management frame thứ mà không được bảo vệ trong 802.11, mặc dù 802.11 đã cố gắng để lấp lỗ hổng này.

Flooding attacks tạo ra một lượng tăng management frame đột ngột trên một đơn vị thời gian. Nó là một dạng tấn công tiêu biểu trong trong tấn công DOS [28].

Hình dưới là một deauthentication attack trong các khoảng thời gian 1400 đến 1600 và 2800 đến 3000

(21)

Hình 1.4: Tấn công Flooding Injection Attacks:

Tạo ra một loạt các khung dữ liệu được mã hóa hợp lệ có kích thước nhỏ hơn.

Hình dưới ARP được thực hiện trên đó truyền một số lượng lớn các khung dữ liệu nhỏ trong một khoảng thời gian lớn có lặp lại IVs để gợi lên phản ứng của mạng [28].

Hình 1.5: Tấn công Injection Impersonation Attacks:

(22)

Tạo ra một AP giả thường đi kèm với một cuộc tấn công hủy cấp phép để buộc STA kết nối với AP riêng. Điểm chung của tất cả các cuộc tấn công mạo danh là số lượng khung đèn hiệu xấp xỉ gấp đôi so với network victim [28].

Hình 1.6: Tấn công Impersonation 1.3 Giới thiệu một số thuật toán học máy

Trong vài năm trở lại đấy lĩnh vực trí tuệ nhân tạo nói chung và học máy nói riêng phát triển cực kỳ mạnh vì khả năng ứng dụng của nó.

Học máy là một lĩnh vực của trí tuệ nhân tạo liên quan đến việc nghiên cứu và xây dựng các kĩ thuật cho phép các hệ thống "học" tự động từ dữ liệu để giải quyết những vấn đề cụ thể [9].

Theo Arthur Samuel (1959): Máy học là ngành học cung cấp cho máy tính khả năng học hỏi mà không cần được lập trình một cách rõ ràng

Theo Giáo sư Tom Mitchell – Carnegie Mellon University: Machine Learning là 1 chương trình máy tính được nói là học hỏi từ kinh nghiệm E từ các tác vụ T và với độ đo hiệu suất P. Nếu hiệu suất của nó áp dụng trên tác vụ T và được đo lường bởi độ đo P tăng từ kinh nghiệm E. Ngày nay học máy được ứng dụng rộng rãi trên nhiều lĩnh vực và đem lại thành công lớn. Một số lĩnh vực áp dụng học máy thành công như: Xử lý ngôn ngữ tự nhiên, Hệ thống gợi ý, Xử lý dữ liệu lớn, lĩnh vực robot, xe tự lái .v.v..

(23)

1.3.1 Support vector machine

Support vector machine là một khái niệm trong thống kê và khoa học máy tính cho một tập hợp các phương pháp học có giám sát liên quan đến nhau để phân loại và phân tích hồi quy [10].

Nguyên lý cơ bản của SVM là tìm một siêu phẳng phân hoạch tối ưu cho phép chia các điểm trong không gian nhiều chiều thành 2 lớp nằm ở 2 phía chưa siêu phẳng [37].

SVM dạng chuẩn nhận dữ liệu vào và phân loại chúng vào hai lớp khác nhau.

Do đó SVM là một thuật toán phân loại nhị phân.

Hình 1.7: Các điểm trong không gian D chiều

Cho trước n điểm trong không gian D chiều (mỗi điểm thuộc vào một lớp kí hiệu là +1 hoặc -1), mục đích của giải thuật SVM là tìm một siêu phẳng phân hoạch tối ưu cho phép chia các điểm này thành hai phần sao cho các điểm cùng một lớp nằm về một phía với siêu phẳng này [10].

{( ,

i i

) |

i p

,

i

{ 1,1}}

in1

D = x y x  y  −

= (1.1) Mỗi siêu phẳng đều có thể được viết dưới dạng một tập hợp các điểm x thỏa mãn:

0

w x b  − =

(1.2) Công thức trên là tích vô hướng với vector pháp tuyến của siêu phẳng (w) và b đóng vai trò là tham số.
(24)

Ta cần chọn wb để cực đại hóa lề, hay khoảng cách giữa hai siêu mặt song song ở xa nhau nhất có thể trong khi vẫn phân chia được dữ liệu [10]

Các siêu mặt ấy được xác định bằng:

w x b  − = 1

(1.3)

1

w x b  − = −

(1.4)

Hình 1.8: Siêu phẳng phân lớp các điểm trong không gian Ví dụ:

Giả sử ta có một tập được gán nhãn (+1): {(3,1), (3, -1), (6, 1), (6, -1)}

Và tập các điểm được gán nhãn âm (-1): {(1, 0), (0, 1), (0, -1), (-1, 0)}

trong mặt phẳng R+ [33].

Hình 1.9 : Đồ thị biểu diễn các điểm trong mặt phẳng R+

(25)

Ta sử dụng SVM để phân biệt hai lớp (+1 và -1). Bởi vì dữ liệu được chia tách một cách tuyến tính, nên chúng ta sử dụng một hàm tuyến tính để phân tách 2 lớp.

Theo quan sát, ta chọn ra ba vector hỗ trợ để thực thi các phép toán nhằm tìm ra mặt phẳng phân tách tối ưu nhất [33]:

{s1 = (1,0), s2 = (3,1), s3 = (3, -1)}

Hình 1.10 : Các điểm lựa chọn cho siêu phẳng

Các vector hỗ trợ được tăng cường bằng cách thêm 1. Tức là s1 = (1,0), thì nó sẽ được chuyển đổi thành s = (1, 0, 1). Theo kiến trúc SVM, Nhiệm vụ là tìm ra những giá trị αi.

1 ( )s1 ( )s1 2 ( )s2 ( )s1 3 ( )s3 ( )s1 1

  +   +   = − (1.5)

1 ( )s1 ( )s2 2 ( )s2 ( )s2 3 ( )s3 ( )s2 1

  +   +   = − (1.6)

1 ( )s1 ( )s3 2 ( )s2 ( )s3 3 ( )s3 ( )s3 1

  +   +   = − (1 .7)

Hình 1.11: Kiến trúc mô hình SVM

(26)

Do sử dụng SVM tuyến tính nên hàm Φ() - dùng để chuyển đổi vector từ không gia dữ liệu đầu vào sang không gian đặc trưng – sẽ bằngΦ = () I. Biểu thức trên được viết lại như sau [33]:

1 1

s s

1 2 2

s s

1 3 3

s s

1

1

  +   +   = −

(1.8)

1 1

s s

2 2 2

s s

2 3 3

s s

2

1

  +   +   = +

(1.9)

1 1

s s

3 2 2

s s

3 3 3

s s

3

1

  +   +   = −

(1.10) Rút gọn biểu thức thông qua tính tích vô hướng của các vector:

1 2 3

2 +4 +4 = −1 (1.11)

1 2 3

4 +11 +9 = +1 (1.12)

1 2 3

4 +9 +11 = +1 (1.13) Giải hệ phương trình trên có: α1 = -3.5, α2 = 0.75, α3 = 0.75. Tiếp đến tính trọng số ω thông qua công thức:

1 3 3 1

3.5 0 0.75 1 0.75 1 0

1 1 1 2

i i i

  s

       

       

= = −  +  +   − = 

      − 

       

(1.14) Siêu phẳng phân chia hai lớp đó là: y = wx + b với w = (1, 0) và b = -2

Hình 1.12: Đồ thị biểu diễn siêu phẳng tìm được

(27)

1.3.2 Thuật toán Bayesian Định lý Bayes:

( ) ( | ) ( )

( | )

( ) ( )

P XY P X Y P Y P Y X

P X P X

= =

(1.15)

Với:

P(X): Xác suất của sự kiện X xảy ra, không quan tâm đến Y P(Y): Xác suất của sự kiện Y xảy ra, không quan tâm đến X

P(X|Y): Xác suất (có điều kiện) của sự kiện X xảy ra, nếu biết rằng sự kiện Y xảy ra

P(Y|X): Xác suất hậu nghiệm của Y nếu biết X

Thuật toán bayes dựa trên định lý Bayes áp dụng cho các bài toán giả định điều kiện độc lập. Nghĩa là giả định đặc trưng của một lớp xảy ra không ảnh hưởng hay phụ thuộc vào đặc trưng của lớp khác [1].

Áp dụng vào bài toán phân lớp ta phát biểu bài toán như sau

D: Là tập dữ liệu huấn luyện D (x1, x2 …, xn) Các thuộc tính x1, x2…, xnđộc lập điều kiện đôi một với nhau

Ci: Phân lớp i, với i= {1, 2 …, m}

Theo định lý bayes:

( | ) ( ) ( | )

( )

i i

P X C P Ci P C X

= P X

(1.16) Theo tính chất độc lập của điều kiện:

1 2

1

( | ) ( | ) ( | ) ( | ) ... ( | )

n

i k i i i n i

k

P X C P x C P x C P x C P x C

= = =   

(1.17)

⇨ Khi đó xác suất xảy ra của một điều kiện x mới là:

1

max( ( )) ( | )

n

i k i

k

P c P x C

=

(1.18)

(28)

Trong đó:

P(Ci): được tính dựa trên tần suất xuất hiện tài liệu trong tập huấn luyện.

P(xk|Ci): được tính từ những tập thuộc tính đã được tính trong quá trình huấn luyện

Thuật toán Bayes [46]:

Bước 1: Huấn luyện tập dữ liệu:

Tính xác suất P(Ci) Tính xác suất P(xk|Ci)

Bước 2: Lớp của giá trị mới được gắn cho lớp có xác suất lớn nhật theo công thức:

1

max( ( )) ( | )

n

i k i

k

P C P x C

=

(1.19) Ví dụ

Bảng 1.1 : Dữ liệu sử dụng cho phân lớp Bayes

# Outlook Temp Humidity Wind Decision

1 Sunny Hot High Weak No

2 Sunny Hot High Strong No

3 Overcast Hot High Weak Yes

4 Rain Mild High Weak Yes

5 Rain Cool Normal Weak Yes

6 Rain Cool Normal Strong No

7 Overcast Cool Normal Weak Yes

8 Sunny Mild High Weak No

9 Sunny Cold Normal Weak Yes

10 Rain Mild Normal Strong Yes

11 Sunny Mild Normal Strong Yes

12 Overcast Mild High Strong Yes

13 Overcast Hot Normal Weak Yes

(29)

14 Rain Mild High Strong No Xác định Decision với giá trị thời tiết mới {sunny, cool, high, strong}

Bước 1:

Tính các xác suất P(Ci)

Với C1 = “yes” : P(C1) = P(“yes”) = 9/14 Với C2 = “no”: P(C2) = P(“no”) = 5/14

Tính các xác suất P(xk|Ci)

- Với thuộc tính Outlook: có các giá trị sunny, overcast, rain P(sunny|yes) = 2/9 P(sunny|no) = 3/5 P(overcast|yes) = 4/9 P(overcast|no) = 0/5 P(rain|yes) = 3/9 P(rain|no) = 2/5 - Với thuộc tính Temp: có các giá trị Hot, Cold, Mild

P(hot|yes) = 2/9 P(hot|no) = 2/5

P(cold|yes) = 3/9 P(cold|no) = 1/5

P(mild|yes) = 4/9 P(mild|no) = 2/5

- Với thuộc tính Humidity: có các giá trị Normal, High P(normal|yes) = 6/9 P(normal|no) = 1/5

P(high|yes) = 3/9 P(high|no) = 4/5

- Với thuộc tính Wind: có các giá trị Weak, Strong

P(weak|yes) = 6/9 P(weak|no) = 2/5 P(strong|yes) = 3/9 P(strong|no) = 3/5 Bước 2: Phân lớp Xnew = {sunny, cool, high, strong}

Tính các xác suất:

P(yes) * P(Xnew|yes) = 0.005 P(no) * P(Xnew|no) = 0.021 Vậy Xnew thuộc vào lớp “no”

(30)

1.3.3 Mạng neural

Mạng nơ ron nhân tạo là một mô hình xử lý thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật, bao gồm số lượng lớn các Nơ-ron được gắn kết để xử lý thông tin.

ANN hoạt động giống như bộ não của con người, được học bởi kinh nghiệm (thông qua việc huấn luyện), có khả năng lưu giữ các tri thức và sử dụng các tri thức đó trong việc dự đoán các dữ liệu chưa biết [2].

Một mạng nơ-ron là một nhóm các nút nối với nhau, mô phỏng mạng nơ- ron thần kinh của não người.

Mạng nơ ron nhân tạo được thể hiện thông qua ba thành phần cơ bản: mô hình của nơ-ron, cấu trúc và sự liên kết giữa các nơ ron. Trong nhiều trường hợp, mạng nơ ron nhân tạo là một hệ thống thích ứng, tự thay đổi cấu trúc của mình dựa trên các thông tin bên ngoài hay bên trong chạy qua mạng trong quá trình học [2].

Hình 1.13: Kiến trúc chung của mạng nơ-ron

Kiến trúc chung của một ANN gồm 3 thành phần đó là Input Layer, Hidden Layer và Output Layer

Trong đó, lớp ẩn gồm các nơ-ron, nhận dữ liệu input từ các Nơ-ron ở lớp trước đó và chuyển đổi các input này cho các lớp xử lý tiếp theo. Trong một mạng ANN có thể có nhiều Hidden Layer

(31)

Hình 1.14: Mô hình mạng nơ-ron Inputs: Mỗi Input tương ứng với 1 đặc trưng của dữ liệu.

Ví dụ: Trong ứng dụng của ngân hàng xem xét có chấp nhận cho khách hàng vay tiền hay không thì mỗi input là một thuộc tính của khách hàng như thu nhập, nghề nghiệp, tuổi, số con, .v.v..[2].

Output: Kết quả của một ANN là một giải pháp cho một vấn đề, ví dụ như với bài toán xem xét chấp nhận cho khách hàng vay tiền hay không thì output là yes hoặc no [2].

Connection Weights (Trọng số liên kết) : Đây là thành phần rất quan trọng của một ANN, nó thể hiện mức độ quan trọng, độ mạnh của dữ liệu đầu vào đối với quá trình xử lý thông tin chuyển đổi dữ liệu từ Layer này sang layer khác. Quá trình học của ANN thực ra là quá trình điều chỉnh các trọng số Weight của các dữ liệu đầu vào để có được kết quả mong muốn [2].

Summation Function (Hàm tổng): Tính tổng trọng số của tất cả các input được đưa vào mỗi Nơ-ron [2].

1 k

i i i

S w x

=

= 

(1.20) Transfer Function (Hàm chuyển đổi): Hàm tổng của một nơ-ron cho biết khả năng kích hoạt của nơ-ron đó còn gọi là kích hoạt bên trong. Các nơ-ron này có thể sinh ra một output hoặc không trong mạng ANN, nói cách khác rằng có thể output của 1 Nơ-ron có thể được chuyển đến layer tiếp trong mạng Nơ-ron theo hoặc không. Mối quan hệ giữa hàm tổng và kết quả output được thể hiện bằng

(32)

hàm chuyển đổi. Giá trị đầu ra của nơ-ron có thể biểu diễn theo công thức toán học sau [2].

( )

k i i i

y = f  w x − 

(1.21) Tùy vào từng bài toán, hàm chuyển đổi có thể là các hàm dưới đây:

● Hàm ngưỡng

Hình 1.15: Công thức và đồ thị hàm ngưỡng

● Hàm tuyến tính

Hình 1.16: Công thức và đồ thị hàm tuyến tính

● Hàm sigmod

(33)

Hình 1.17: Công thức và đồ thị hàm sigmod

● Hàm tanh

Hình 1.18: Công thức và đồ thị hàm tanh

● Hàm Gausian

Hình 1.19: Công thức và đồ thị hàm gausian

(34)

Mạng nơ-ron là một bộ phân lớp mạnh được sử dụng trong nhiều lĩnh vực khác nhau như xử lý ảnh, xử lý ngôn ngữ tự nhiên đồng thời cũng được sử dụng trong việc xác định xâm nhập mạng. Ngoài ra nó còn được kết hợp với nhiều phương pháp khác như cách tiếp cận thống kê và một số biến thể của nó [30] [31] [32].

1.4 Mục tiêu của luận văn

Luận văn tập trung nghiên cứu và áp dụng thuật toán fuzzy random forest vào bài toán phân lớp xâm nhập mạng không dây từ đó có thể đặt được một số điểm như nhau.

- Biết các dạng tấn công mạng không dây cơ bản

- Hiểu được một số thuật toán học máy áp dụng trong bài toán phân lớp mạng không dây

- Áp dụng được thuật toán fuzzy random forest và áp dụng vào bài toán phân lớp mạng không dây

Mục tiêu chính của luận văn là xây dựng được một thuật toán phân lớp hiệu quả và có độ chính xác cao.

1.5 Tổng kết chương

Bài toán phát hiện xâm nhập mạng không dây là một bài toán quan trọng hiện nay chính bởi vì tầm quan trọng và tốc độ phát triển nhanh của internet. Cùng với sự phát triển của AI nói chung và ML nói riêng trong những năm trở lại đây, cũng đã có rất nhiều nghiên cứu áp dụng các thuật toán học máy vào bài toán phân lớp và phát hiện xâm nhập mạng không dây đem lại những kết quả nhất định. Luận văn này cũng tập trung nghiên cứu và ứng dụng thuật toán fuzzy random forest vào bài toán này với mục đích xây dựng được một thuật toán phân lớp có kết quả tốt.

(35)

2 CHƯƠNG II: THUẬT TOÁN FUZZY RANDOM FOREST

2.1 Giới thiệu

Ngày nay với sự phát triển của xã hội dữ liệu ngày càng nhiều kèm theo sự phức tạp và tính đa dạng. Vì vậy phân lớp dữ liệu luôn là một bài toán đầy thách thức [38].

Rất nhiều thuật toán học máy đã được áp dụng vào bài toán phân lớp dữ liệu [13]. Đã có rất nhiều thuật toán giải quyết vấn đề phân lớp đem lại độ chính xác cao nhưng với điều kiện là dữ liệu đầy đủ và chính xác [40].

Trong đó cây quyết định [17] là một thuật toán phổ biến trong bài toán phân lớp [14,15]. Một số ưu điểm của cây quyết định là độ chính xác cao, đòi hỏi phải điều chỉnh một số lượng nhỏ các tham số và cây quyết định là một thuật toán dễ hiểu, dễ giải thích và cài đặt [16].

Nhưng đối với bài toán mà dữ liệu không chắc chắn, không đầy đủ thì thuật toán cây quyết định chưa phải là tốt nhất. Để giải quyết vấn đề này nhiều kỹ thuật và thuật toán được đưa ra. Trong đó kỹ thuật kết hợp các thuật toán với cho thấy sự hiệu quả.

Cây quyết định mờ là một trong những cải tiến của cây quyết định cơ bản dùng cho bài toán với dữ liệu không chắc chắn [18], [19]. Tương tự như cây quyết định cơ bản thì cây quyết định mờ cũng là một đồ thị không tuần hoàn gồm các thành phần như gốc, đỉnh, lá .v.v.. Cây được thiết lập theo hướng từ trên xuống dưới theo cách thức chia để trị, ở điểm ban đầu các mẫu huấn luyện nằm ở gốc của cây. Điều kiện dừng là khi tất cả các mẫu rơi vào một nút thuộc về cùng một lớp (nút lá), không còn thuộc tính nào để phân chia mẫu, không còn lại mẫu nào tại nút.

Điểm khác biệt giữa cây quyết định mờ và cây quyết định cơ bản là các đỉnh là các tập mờ thay vì các tập thông thường như ở cây quyết định cơ bản hoặc sử dụng tập mờ để định lượng các thuộc tính liên tục sau đó sử dụng ID3 để xây dựng cây quyết định. Entropy mờ, information gain, gain ratio được dùng để đánh giá các thuộc tính.

Các thuật toán khác khai thác sự mơ hồ tối thiểu (không cụ thể) của một phân bố khả năng [20], chỉ số Gini mờ [21], tầm quan trọng phân loại tối đa của thuộc tính góp phần vào hệ quả [22] và chuẩn hóa mờ Kolmogorov-Smirnov [23] để chọn thuộc tính được sử dụng trong nút tách.

(36)

Một cách tiếp cận khác là các thuộc tính liên tục được phân chia trước quá trình học cây quyết định mờ. Bằng cách tối ưu hóa các chỉ mục được xác định một cách có tổ chức [24]. Các tác giả đề xuất một phân tích thú vị về sự kết hợp khác nhau của các phương pháp discretization để phân chia các thuộc tính thành các phân vùng và các cách tiếp cận khác nhau để xác định các chức năng thành viên trên các phân vùng này [25].

Một số bài báo đã đề xuất các thuật toán phân chia các thuộc tính liên tục đồng thời với sự phát triển cây mờ. Các thuật toán này khai thác các phân đoạn mờ đặc biệt [21] hoặc các phương pháp khá phức tạp [26], [27].

Việc mờ hóa cây quyết định đã cho thấy sự hiệu quả rõ ràng. Từ sự hiệu quả này mà việc nghĩ đến áp dụng mờ hóa vào thuật toán random forest được phát triển, thuật toán gốc được Bonissone và cộng sự giới thiệu vào năm 2010 [5,6].

Về thuật toán fuzzy random forest dựa trên việc khai thác hai thuật toán. Đầu tiên là thuật toán sinh rừng cho mỗi cây, tiếp theo là lấy mẫu ngẫu nhiên và thay thế mẫu có sẵn. Thuật toán này dựa trên ID3 và xây dựng cây mờ rồi chọn một tập hợp con ngẫu nhiên các thuộc tính có sẵn tại mỗi nút và, sau đó, bằng cách chọn một trong những thuộc tính tốt nhất để thực hiện. Thuộc tính liên tục được phân chia trước khi bắt đầu việc tạo ra random forest bằng cách sử dụng bộ mờ hình thang.

Các phân vùng này thu được thông qua 2 bước. Đầu tiên 1 điểm phân chia được xác định bằng thuật toàn học cây quyết định C4.5, tiếp theo đó một thuật toán di truyền được sử dụng để lấy các tập mờ xác định việc phân chia các thuộc tính liên tục từ các điểm phân chia. Khi một đối tượng chưa được dán nhãn phải được phân loại, tất cả các cây mờ được kích hoạt và kết quả đầu ra được kết hợp. Các phương pháp kết hợp khác nhau được đề xuất và thử nghiệm trong [41].

Bonissone và cộng sự [42] tiếp đến Jose M. Cadenas và cộng sự đã có nhiều cải tiến cho thuật toán fuzzy random forest ban đầu [43] bằng cách mở rộng xử lý thông tin trong bộ FRF để kết hợp các dữ liệu có chứa các thuộc tính được đo bằng các giá trị khoảng cách và các thuộc tính được đo bằng các giá trị mờ có thể khác với các giá trị mờ tạo thành phân chia mờ của thuộc tính và do đó mức độ tương đồng của các giá trị mờ này cho mỗi phần tử của phân vùng mờ của thuộc tính có thể nhỏ hơn 1.

(37)

Matteis và cộng sự [16] đề xuất phương pháp tạo phân vùng mờ đồng thời với việc tạo cây quyết định mờ, khi tạo nút quyết định thông qua ba bộ mờ tam giác. Cốt lõi của tập mờ trung gian trùng với các cực trị phải và trái của các giá đỡ của tập mờ trái và phải. Do đó, phân vùng được xác định hoàn toàn bởi một điểm duy nhất: cốt lõi của bộ fuzzy trung gian. Đối với mỗi thuộc tính trong tập các thuộc tính được chọn ngẫu nhiên cho nút, chúng ta đánh giá các vị trí khác nhau của lõi và chọn vị trí cung cấp lợi ích thông tin cao nhất. Thu được thông tin được tính bằng cách sử dụng entropy mờ.

Do đó, nút cha mẹ được chia thành ba nút con (một cho mỗi tập mờ), chứa các đối tượng của nút cha với các giá trị thành viên cao hơn 0.5 đến tập mờ tương ứng. Cùng một biến liên tục có thể được xem xét trong các nút quyết định khác nhau từ gốc đến lá: cho mỗi nút quyết định chúng ta áp dụng cùng một phân vùng mờ. Vì mỗi nút này tập trung vào một khoảng thời gian cụ thể của vũ trụ của biến liên tục, điều này tương ứng với việc thực hiện phóng to ở khoảng thời gian cụ thể. Việc học của cây quyết định mờ sẽ chấm dứt khi không có nút nào có thể được tách ra thêm dựa trên các điều kiện xác định.

Meenakshi và Venkatachalam [44] đã đề xuất phương pháp sử dụng fuzzy entropy để tìm kiếm một cách tốt nhất cây quyết định đối với những bài toán về dữ liệu không chắc chắn.

Vitaly và Penka [45] đã sử dụng một kỹ thuật tính toán tích lũy thông tin và tích lũy entropy cho tập dữ liệu mờ làm giảm chi phí tạo cây quyết định tối thiểu dựa trên các tiêu chí tối ưu mới thu được một cái quyết định có trật tự.

2.2 Thuật toán Decision Tree

Trong lĩnh vực máy học cây quyết định là một kiểu mô hình dự báo, nghĩa là một ánh xạ từ các quan sát về một sự vật/hiện tượng tới các kết luận về giá trị mục tiêu của sự vật/hiện tượng. Mỗi một nút trong tương ứng với một biến; đường nối giữa nó với nút con của nó thể hiện một giá trị cụ thể cho biến đó. Mỗi nút lá đại diện cho giá trị dự đoán của biến mục tiêu, cho trước các giá trị của các biến được biểu diễn bởi đường đi từ nút gốc tới nút lá đó. Kỹ thuật máy học dùng trong cây quyết định được gọi là học bằng cây quyết định, hay chỉ gọi với cái tên ngắn gọn là cây quyết định [11].

Học bằng cây quyết định cũng là một phương pháp thông dụng trong khai phá dữ liệu. Khi đó, cây quyết định mô tả một cấu trúc cây, trong đó, các lá đại diện cho các phân loại còn cành đại diện cho các kết hợp của các thuộc tính dẫn tới phân loại đó.

(38)

Một cây quyết định có thể được học bằng cách chia tập hợp nguồn thành các tập con dựa theo một kiểm tra giá trị thuộc tính. Quá trình này được lặp lại một cách đệ quy cho mỗi tập con dẫn xuất. Quá trình đệ quy hoàn thành khi không thể tiếp tục thực hiện việc chia tách được nữa, hay khi một phân loại đơn có thể áp dụng cho từng phần tử của tập con dẫn xuất. Một bộ phân loại random forest sử dụng một số cây quyết định để có thể cải thiện tỉ lệ phân loại [11].

Giải thuật ID3 (gọi tắt là ID3) Được phát triển đồng thời bởi Quinlan trong AI và Breiman, Friedman, Olsen và Stone trong thống kê. 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, heuristic 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 [12].

ID3 biểu diễn các khái niệm ở dạng các cây quyết định. 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 hay còn gọi là dữ liệu rèn luyện.

Input: 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ó.

Output: 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 ID3 xây dựng cây quyết định được trình bày như sau [12]:

Lặp:

1. Chọn A <= thuộc tính quyết định “tốt nhất” cho nút kế tiếp 2. Gán A là thuộc tính quyết định cho nút

3. Với mỗi giá trị của A, tạo nhánh con mới của nút 4. Phân loại các mẫu huấn luyện cho các nút lá

5. Nếu các mẫu huấn luyện được phân loại hoàn toàn thì NGƯNG, Ngược lại, lặp với các nút lá mới.

(39)

Thuộc tính tốt nhất ở đây là thuộc tính có entropy trung bình thấp nhất theo thuộc tính kết quả với Entropy được tính như sau:

Gọi S là tập các mẫu huấn luyện Gọi p là tỷ lệ các mẫu dương trong S

Ta có H ≡ – p.log2p – (1 – p).log2(1 – p) Ví dụ:

Training data

Bảng 2.1: Dữ liệu phân lớp sử dụng cây quyết định

# Outlook Temperature Humidity Wind Decision

1 Sunny Hot High Weak No

2 Sunny Hot High Strong No

3 Overcast Hot High Weak Yes

4 Rain Mild High Weak Yes

5 Rain Cool Normal Weak Yes

6 Rain Cool Normal Strong No

7 Overcast Cool Normal Strong Yes

8 Sunny Mild High Weak No

9 Sunny Cool Normal Weak Yes

(40)

Test data

Bảng 2.2: Dữ liệu kiểm thử thuật toán cây quyết định

1 Rain Mild Normal Weak Yes

2 Sunny Mild Normal Strong Yes

3 Overcast Mild High Strong Yes

4 Overcast Hot Normal Weak Yes

5 Rain Mild High Strong No

Entropy: 1 2

( ) log ( )

n

i i

i

E p p p

=

= −

Information Gain: Gain X T( , )=E X( )E X T( | )

E(Decision) = -(p(no).log2(p(no) + p(yes).log2(p(yes))) = - (4/9.log2(4/9)+5/9.log2(5/9)) = 0.991

E(Decision|Outlook) = p(Sunny).E(Sunny|Decision) + p(Overcast).E(Overcast|Decision) + p(Rain).E(Rain|Decision) = 4/9.-(3/4. log2(3/4) + 1/4. log2(1/4)) + 2/9.0 + 3/9.-(1/3.

log2(1/3)+2/3. log2(2/3)) = 2/3

Gain(Decision|Outlook) = E(Decision) – E(Decision| Outlook) = 0.991-0.667 = 0.324

E(Decision|Temperature) = p(Hot).E(Hot|Decision) + p(Mild).E(Mild|Decision) + p(Cool).E(Cool|Decision) = 3/9.-(2/3. log2(2/3) + 1/3. log2(1/3)) + 2/9.-(1/2. log2(1/2) + 1/2.

log2(1/2)) + 4/9.-(1/4. log2(1/4)+3/4. log2(3/4)) = 8/9

Gain(Decision|Temperature) = E(Decision) – E(Decision| Temperature) = 0.991-8/9=0.1 E(Decision|Humidity) = p(High).E(High|Decision) + p(Normal).E(Normal|Decision) = 5/9.- (3/5. log2(3/5) + 2/5. log2(2/5)) + 4/9.-(1/4. log2(1/4) + 3/4. log2(3/4)) = 0.8999

Gain(Decision|Humidity) = E(Decision) – E(Decision| Humidity) = 0.991-0.8999=0.09

(41)

E(Decision|Wind) = p(Weak).E(Weak|Decision) + p(Strong).E(Strong|Decision) = 6/9.-(2/6.

log2(2/6) + 4/6. log2(4/6)) + 3/9.-(2/3. log2(2/3) + 1/3. log2(1/3)) = 0.92 Gain(Decision|Wind) = E(Decision) – E(Decision|Wind) = 0.991-0.92=0.071

Hình 2.1: Hình ảnh cây sau vòng lặp đầu tiên của thuật toán DT

Xét nhánh Overcast : Tất cả record trả về Yes = > Dừng E(Sunny) = -(3/4. log2(3/4) + 1/4. log2(1/4)) = 0.81 E(Rain) = -1/3.log2(1/3)-2/3.log2(2/3) = 0.918

Gain(Sunny|Temperature) = 0.81 - 2/4.0 - 1/4.0 + 1/4.0 = 0.81 Gain(Sunny|Humidity) = 0.81 – 3/4.0 – 1/4.0 = 0.81

Gain(Sunny|Wind) = 0.81 – 3/4.(-2/3.log2(2/3)-1/3.log2(1/3)) – 1/4.0 = 0.12 Bảng 2.3: Tất cả thuộc tính Sunny của Outlook

# Outlook Temperature Humidity Wind Decision

1 Sunny Hot High Weak No

2 Sunny Hot High Strong No

8 Sunny Mild High Weak No

9 Sunny Cool Normal Weak Yes

(42)

Gain(Rain|Temperature) = 0.918 - 1/3.0 – 2/3.(-1/2.log2(1/2)-1/2.log2(1/2)) = 0.25 Gain(Rain|Hunidity) = 0.918 - 1/3.0 – 2/3.(-1/2.log2(1/2)-1/2.log2(1/2)) = 0.25 Gain (Rain|Wind) = 0.918 – 2/3.0 – 1/3.0 = 0.918

Bảng 2.4: Tất cả thuộc tính Rain của Outlook

# Outlook Temperature Humidity Wind Decision

4 Rain Mild High Weak Yes

5 Rain Cool Normal Weak Yes

6 Rain Cool Normal Strong No

Hình 2.2: Cây phân lớp sau vòng lặp thứ 2 của thuật toán DT

Xét nhánh High: All record return No => Stop Xét nhánh Normal: All record return Yes = > Stop Xét nhánh Weak: All record return Yes => Stop Xét nhánh Strong: All record return No => Stop

(43)

Hình 2.3: Cây phân lớp cuối cùng của thuật toán DT Test result

Bảng 2.5: Bảng đánh giá và kiểm tra kết quả của thuật toán DT

# Outlook Temperature Humidity Wind Decision Tree result

1 Rain Mild Normal Weak Yes Yes

2 Sunny Mild Normal Strong Yes Yes

3 Overcast Mild High Strong Yes Yes

4 Overcast Hot Normal Weak Yes Yes

5 Rain Mild High Strong No No

2.3 Thuật toán Fuzzy Decision Tree

Fuzzy Decision Tree là mở rộng của cây quyết định áp dụng lý thuyết mờ trong việc phân lớp [34] [56].

(44)

Hình 2.4: Ví dụ về cây quyết định với phân lớp mờ và phân lớp rõ Hình trên cho thấy sự khác biệt của cây quyết định thông thường và cây quyết định mờ. Với cây quyết định thông thường đường phân tách sắc nét (a). Với hình (b) sử dụng phân giải mềm [56].

Tương tự như cây quyết định thông thường, ta thấy ở cả 2 cây quyết định từ điểm gốc đến lá đều được thiết lập theo một quy tắc phân loại. Tuy nhiên với cây quyết định thông thường sử dụng rời rạc hóa do đó đừng phân loại sắc nét tập không gian phân lớp chồng chéo như hình (a). Đối với cây quyết định mờ kết quá trong phạm vi trong khoảng [0,1] để lấy làm mức độ khả năng phù h�

Gambar

Hình 1.1: Báo cáo hàng năm về tình hình bảo mật của Cisco [27]
Hình 1.2: Kiến trúc mạng không dây [37]
Hình 1.3: Cơ chế bảo mật WEP
Hình 1.6: Tấn công Impersonation  1.3  Giới thiệu một số thuật toán học máy
+7

Referensi

Dokumen terkait