ĐẠ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
ĐẠ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
04
Học viên
Nguyễn Văn Linh
năm
2019
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
MỤC LỤC
LỜI CẢM ƠN
0
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
47
2.5
58
2.6
80
3
81
3.1
81
3.2
87
3.3
92
3.4
92
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
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
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
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
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
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
DANH SÁCH TỪ VIẾT TẮT
STT
Từ viết tắt
Đầy đủ
Ý nghĩa
Điểm truy cập: là thiết bị cho phép
Giao thức CCMP là một giao thức
Block Chaining
truyền dữ liệu và kiểm soát tính
Message
truyền dữ liệu thống nhất để bảo đảm
Authentication Code
cả tính bảo mật và nguyên vẹn của dữ
Protocol
liệu được truyền đi
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
4
DoS
Denial-of-service
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
Rừng ngẫu nhiên mờ là thuật toán áp
8
FRF
Fuzzy random forest
dụng lý thuyết mờ vào rừng ngẫu
nhiên.
Giao thức truyền tập tin: thường được
dùng để trao đổi tập tin qua mạng
9
FTP
File Transfer Protocol
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ộ)
Giao thức truyền tải siêu văn bản: là
10
HTTP
Hypertext Transfer
Protocol
12
IoT
Internet of Thing
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
thiết bị này có thể thu thập và truyền
tải dữ liệu
Giao thức Internet: là một địa chỉ đơn
nhất mà những thiết bị điện tử hiện
13
IP
Internet Protocol
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.
Điều khiển truy nhập môi trường: là
Random forest
quyết định là thuật toán dùng để phân
lớp
Là tên chính của mạng cục bộ không
18
SSID
Service Set Identifier
dây 802,11 gồm mạng gia đình và các
hotspot công cộng
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.
19
STA
STAtion
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
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.
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
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
ở 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í
đá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
đì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
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ẽ
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à
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..
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
w x − b = −1
(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+
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