1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Khoa học máy tính: Nghiên cứu xây dựng hệ thống phát hiện bất thường cho mạng SDN sử dụng các kỹ thuật machine learning

117 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Trang 1

LÊ TẤN LONG

NGHIÊN CỨU XÂY DỰNG HỆ THỐNG PHÁTHIỆN BẤT THƯỜNG CHO MẠNG SDN SỬDỤNG CÁC KỸ THUẬT MACHINE LEARNING

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

LUẬN VĂN THẠC SỸ

TP HỒ CHÍ MINH, tháng 8 năm 2021

Trang 2

3 Phản biện 1: PGS TS ĐINH ĐỨC ANH VŨ4 Phản biện 2: TS BÙI TRỌNG TÚ

Trang 3

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: LÊ TẤN LONG MSHV: 1870385

Ngày, tháng, năm sinh: 25/05/1995 Nơi sinh: Thừa Thiên - HuếNgành: Khoa học máy tính Mã số: 8480101

I TÊN ĐỀ TÀI: NGHIÊN CỨU XÂY DỰNG HỆ THỐNG PHÁT HIỆN BẤTTHƯỜNG CHO MẠNG SDN/NFV SỬ DỤNG CÁC KỸ THUẬT MACHINELEARNING

II NHIỆM VỤ VÀ NỘI DUNG:

• Tìm hiểu về SDN, các vấn đề về bất thường mạng, các kỹ thuậtMachine Learning và các cơ sở lý thuyết liên quan.

• Thiết kế và xây dựng mô hình phát hiện xâm nhập mạng bất thườngsử dụng các kĩ thuật Machine Learning.

• Tích hợp mô hình phát hiện xâm nhập mạng bất thường sử dụng cáckĩ thuật Machine Learning vào hệ thống SDN.

• Xây dựng mô hình đánh giá, kiểm thử hệ thống.

III NGÀY GIAO NHIỆM VỤ: 22/02/2021

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 05/08/2021

Trang 4

Tôi xin chân thành cám ơn PGS.TS Trần Ngọc Thịnh và các cộng sự tạibộ môn Kỹ thuật Máy tính, Khoa Khoa học và Kỹ thuật Máy Tính, Đại họcBách Khoa - ĐHQG-HCM đã hỗ trợ, đồng hành, giúp đỡ, tạo những điềukiện tốt nhất để tôi hoàn thành đề tài luận văn này.

Tp Hồ Chí Minh, tháng 8 năm 2021Lê Tấn Long

i

Trang 5

Software Defined-Networking (SDN) với ý tưởng “mạng có khả năng lậptrình” được đánh giá là mô hình mạng tương lai Khác với mạng truyềnthống, trong SDN, các thành phần điều khiển được tách bạch khỏi thànhphần chuyển tiếp để tích hợp vào một lớp điều khiển tập trung Từ đó, việctriển khai, vận hành và quản lý mạng trở nên dễ dàng hơn; các chức năngmạng mới có thể được phát triển và cập nhật một cách linh động, hiệu quảvề mặt chi phí Mặc dù hứa hẹn mang lại nhiều lợi ích, tuy nhiên, việc triểnkhai SDN trong thực tế vẫn đang đối mặt với nhiều thách thức, trong đó cócác vấn đề liên quan đến bảo mật và an ninh mạng Cụ thể, trong kiến trúcSDN, nhiều thành phần mạng và các lớp giao tiếp mạng mới được hìnhthành, do đó có thể dễ dàng bị khai thác bởi các người dùng có mục đíchxấu Những năm gần đây, Machine Learning (ML) được nghiên cứu và ứngdụng rộng rãi trong nhiều lĩnh vực, đặc biệt trong mạng máy tính và anninh mạng Trong đề tài này, tác giả đề xuất giải pháp xây dựng hệ thốngphát hiện xâm nhập bất thường (ANIDS) sử dụng các kỹ thuật ML để tíchhợp bảo vệ mạng SDN Hệ thống đề xuất xây dựng mô hình SSAE-CGAN-RF cho ANIDS, trong đó SSAE (Stacked & Sparse Autoencoder) được sửdụng để cải thiện hiệu quả trong quá trình học các đặc trưng từ dữ liệumạng; CGAN (Conditional Generative Adversarial Network) được sử dụngđể giải quyết vấn đề mất cân bằng dữ liệu trong các tập dữ liệu mạng; vàRF(Random Forest) được sử đụng để phân loại và phát hiện dữ liệu mạngbất thường Ngoài ra, tác giả khai thác tích hợp nền tảng NetFPGA vàoANIDS để tăng tốc xử lý gói tin, nhằm đảm bảo việc phân loại và phát hiệnbất thường diễn ra với tốc độ cao, độ trễ thấp Kết quả thực nghiệm chothấy ANIDS mang lại hiệu quả tốt trong việc tăng cường bảo mật cho hệthống SDN, giúp phát hiện sớm nhiều phương thức xâm nhập bất thườngkhác nhau với độ chính xác cao, hỗ trợ bộ điều khiển SDN kịp thời ngănchặn tấn công.

Từ khóa - SDN, Machine Learning, IDS, An ninh mạng,

ii

Trang 6

Software-Defined Networking (SDN) has emerged as next-generationparadigm promising to build a vendor-neutral networking environment.By decoupling forwarding plane from control plane, SDN shifts networkintelligent logic into a logically centralized controller, thereby helpingaddress many thorny problems in conventional network architecture.Despite of offering immense benefits, SDN faces a range of newchallenges beyond those of existing in traditional networks, especially innetwork security Particularly, the appearance of new components andinterfaces in SDN architecture can be vulnerable by cyber securityattacks, which have seen a tremendous dangerous growth in recent years.Opportunely, Machine Learning (ML) has meanwhile come into being themost powerful weapon to deal with security issues, especially in networkanomaly detection and prevention ML provides cognitive capabilities foridentifying potential security threats and vulnerabilities, thereby can beapplied in solving the most common tasks of cyber security such asregression, prediction, or classification In this paper, we suggests anAnomaly-based Network Intrusion Detection System (ANIDS) for earlydetecting anomaly network traffic, thereby promptly protecting SDNnetworks from malicious activities The proposed ANIDS is built based ona combination of Machine Learning techniques including Stacked andSparse Autoencoder (SSAE) for reducing dimension and learningmeaningful feature representation in network data; ConditionalGenerative Adversarial Network (CGAN) for solving data imbalanceproblem in ANIDS’s datasets; and Random Forest for classifying anomalytraffic Moreover, we leverage NetFPGA, a high-speed networkingplatform, to accelerate the packet processing task for ANIDS By empiricalevaluating on NSL-KDD and UNSW-NB15 datasets, we show that theproposed ANIDS is capable of fast classification network traffic with highdetection accuracy rate and relatively low false negative/positive rate.

Keywords: SDN, Machine Learning, IDS, Cyber Security.

iii

Trang 7

Lời cam đoan

Tôi xin cam đoan ngoại trừ các trường hợp tham khảo cụ thể đối vớicông việc của người khác thì nội dung này là bản gốc và chưa được đệtrình toàn bộ nội dung cho bất kỳ công trình nào khác Nếu không đúngnhư đã nêu trên, tôi xin hoàn toàn chịu trách nhiệm về đề tài của mình.

Một phần của công trình này đã được công bố dưới hình thức bài báokhoa học:

1 Long Tan Le and Tran Ngoc Thinh, “Enhancing Security and

Robustness for SDN-Enabled Cloud Networks,” In Symposium of

Computer Science and Engineering (SCSE 2021), Ho Chi Minh,

Vietnam, 2021.

Lê Tấn Long

Trang 9

3TỔNG QUAN TÀi LIỆU38

3.1 Công trình liên quan 38

4.3 Thiết kế và hiện thực ANIDS 55

4.3.1 Tiền xử lý dữ liệu (Data Preprocessing) 55

4.3.2 Rút gọn đặc trưng (Dimensionality Reduction) 60

4.3.3 Tạo dữ liệu cân bằng dựa trên ConditionalGenerative Adversarial Networks 64

4.3.4 Xây dựng mô hình phân loại sử dụng thuật toán hỗnhợp (Ensemble Classification) 68

4.4 Tăng tốc xử lý ANIDS sử dụng nền tảng NetFPGA 70

4.5 Tích hợp bộ phát hiện bất thường với hệ thống SDN 73

5THỰC NGHIỆM VÀ ĐÁNH GIÁ765.1 Các tiêu chí đánh giá 76

5.1.1 Khả năng phân loại 76

5.1.2 Thời gian đáp ứng 79

5.1.3 Khả năng mở rộng 79

5.2 Kết quả thực nghiệm 80

5.2.1 Thông số tập dữ liệu 80

5.2.2 Kết quả tạo mẫu dữ liệu sử dụng mạng CGAN 80

5.2.3 Kết quả đánh giá khả năng phân loại ANIDS 84

Trang 10

2.6 Phân loại hệ thống phát hiện xâm nhập 13

2.7 Các phương pháp học phổ biến trong Machine Learning 17

2.8 Các nhóm thuật toán phổ biến trong Machine Learning 21

2.9 Cấu trúc của một mạng nơ-ron sâu 28

2.10 Kiến trúc của mô hình Autoencoder 29

2.11 Quá trình huấn luyện của mô hình Autoencoder 30

2.12 Kiến trúc GAN 31

4.1 Các nguy cơ bảo mật trong mạng SDN 47

4.2 Các đặc tính của ANIDS 49

4.3 Phân bố các lớp trong tập dữ liệu NSL-KDD 50

4.4 Phân bố các lớp trong tập dữ liệu UNSW-NB15 51

4.5 Các phương pháp rút gọn đặc trưng trong Machine Learning 524.6 Mô hình tổng quan hệ thống đề xuất 54

4.7 Các thành phần trong hệ thống phát hiện xâm nhập bấtthường 55

4.8 Các phương pháp tiền xử lý dữ liệu trong Machine Learning 574.9 Kiến trúc của mô hình Autoencoder 60

4.10 Quá trình huấn luyện của các mô hình Autoencoder 62

4.11 Kiến trúc Stack & Spare Autoencoder 63

4.12 Kiến trúc mạng CGAN 66

4.13 Quy trình sinh dữ liệu đối nghịch sử dụng mạng CGAN 67

4.14 Mô hình hoạt động của thuật toán Random Forest 69

4.15 Tăng tốc xử lý ANIDS sử dụng nền tảng NetFPGA 72

4.16 Kiến trúc tiền xử lý gói tin sử dụng nền tảng NetFPGA 72vii

Trang 11

4.17 Kiến trúc Software-Defined Networking tích hợp IDS 745.1 Phân bố các lớp trong tập dữ liệu NSL-KDD trước khi sinh tạo 825.2 Phân bố các lớp trong tập dữ liệu NSL-KDD sau khi sinh tạo 825.3 Phân bố các lớp trong tập dữ liệu UNSW-NB15 trước khi

sinh tạo 835.4 Phân bố các lớp trong tập dữ liệu UNSW-NB15 sau khi sinh

tạo 835.5 Biểu đồ so sánh thông số đánh giá của các mô hình ANIDS

trên tập dữ liệu NSL-KDD 855.6 Biểu đồ so sánh thông số đánh giá của các mô hình ANIDS

trên tập dữ liệu UNSW-NB15 85

Trang 12

2.1 Các đặc trưng của tập dữ liệu NSL-KDD 36

2.2 Các đặc trưng của tập dữ liệu UNSW-NB15 37

3.1 Một số giải pháp bảo mật dựa trên kĩ thuật MachineLearning cho SDN 45

4.1 So sánh các kỹ thuật phát hiện trong IDS 48

4.2 Các tham số cấu hình cho SSAE trên tập dữ liệu NSL-KDD 644.3 Các tham số cấu hình cho SSAE trên tập dữ liệu UNSW-NB15 644.4 Tài nguyên trên chip FPGA Virtex-7 XC7V690T 71

5.1 Confusion Matrix 77

5.2 Phân bố dữ liệu trong tập dữ liệu NSL-KDD 80

5.3 Phân bố dữ liệu trong tập dữ liệu UNSW-NB15 80

5.4 Tập dữ liệu huấn luyện NSL-KDD mới sau khi sinh dữ liệubằng CGAN 81

5.5 Tập dữ liệu huấn luyện UNSW-NB15 mới sau khi sinh dữliệu bằng CGAN 81

5.6 Confusion Matrix trên tập dữ liệu NSL-KDD 84

5.7 Confusion Matrix trên tập dữ liệu UNSW-NB15 84

ix

Trang 13

GIỚI THIỆU

Trải qua gần 50 năm hình thành và phát triển, mạng máy tính nóichung và Internet1nói riêng đã dần trở thành một tài nguyên căn bản củacuộc sống Theo báo cáo mới nhất của tổ chức Statista [1], tính đến năm2021, trên thế giới có khoảng 4.66 tỉ người dùng Internet, chiếm tỉ lệ xấp xỉ59.5% tổng dân số thế giới Những con số này vẫn đang trên đà tăngtrưởng từng ngày khi không chỉ máy tính mà những vật dụng phổ thôngkhác như ô-tô, xe máy, điện thoại di động, đồng hồ, mắt kính, v.v hiệnnay đều có thể tham gia vào các hệ thống mạng Hệ quả của sự gia tăngtrong nhu cầu sử dụng Internet là quá trình liên tục phân cấp và mở rộngquy mô của các hệ thống mạng, gây khó khăn cho việc vận hành quản lý.Thêm vào đó, kiến trúc mạng truyền thống cũng xuất hiện những hạn chếlớn khác như:

Cấu hình mạng tốn nhiều thời gian và dễ bị lỗi: Trong quá trình

thiết lập mạng, việc thực hiện các tác vụ như thêm, xóa hoặc chỉnhsửa cấu hình trên một thiết bị có thể dẫn đến việc phải cấu hình lạinhiều thiết bị hay thậm chí toàn bộ mạng trong trường hợp thiết bịđó được đặt ở vị trí quan trọng Cấu hình cho từng thiết bị sẽ tiêu tốnrất nhiều thời gian và rất dễ xảy ra sai xót.

Thiết bị được sản xuất trên những phần cứng chuyên dụng : Hầu

1

Trang 14

hết các thiết bị mạng được thiết kế dựa trên vi mạch ASIC2chuyêndụng khiến cho mỗi thiết bị chỉ thực hiện được một số chức năng chỉđịnh, khó khăn trong việc điều chỉnh hoặc nâng cấp cải tiến.

Nhiều nhà cung cấp thiết bị, dịch vụ khác nhau: Việc sử dụng các

thiết bị mạng được tạo ra và đóng gói theo các tiêu chuẩn, công nghệkhác nhau từ nhiều nhà sản xuất đòi hỏi người quản trị mạng phảiam tường kiến thức do các nhà sản xuất cung cấp đồng thời cũng gâykhó khăn trong việc nghiên cứu, thử nghiệm các chuẩn mạng cũngnhư giao thức mạng mới.

Phức tạp trong việc triển khai các tổ hợp mạng : Sự gia tăng về cả

số lượng lẫn tính đa dạng của các thiết bị mạng sẽ tạo ra các tháchthức không nhỏ đối với các nhà cung cấp dịch vụ mạng, đặc biệt làtrong các vấn đề về kết hợp giữa các thiết bị để tạo thành những tổhợp mạng an toàn, có cấu trúc.

Với những hạn chế nói trên, trong tương lai không xa, việc triển khai,vận hành, quản lý các hệ thống mạng truyền thống sẽ trở nên cực kỳ phứctạp và gặp nhiều trở ngại Do đó, những năm gần đây, nhiều công nghệ, kĩthuật đã được nghiên cứu, ứng dụng để có thể thay thế, cải tiến kiến trúc

mạng này Những xu hướng công nghệ như ảo hóa chức năng mạng

(Network Functions Virtualization - NFV), điện toán đám mây (CloudComputing) đã và đang đem lại những sự chuyển biến tích cực cho lĩnh

vực mạng máy tính trong những năm gần đây Song song đó là sự xuất

hiện của ý tưởng "mạng khả lập trình"(SoftwareDefined Networking

-SDN), một khái niệm mới thu hút đông đảo sự chú ý đến từ các nhóm

nghiên cứu cũng như các bộ phận công nghiệp trên toàn thế giới SDNđược đánh giá là kiến trúc mạng linh động, dễ quản lý, khả mở, và hiệuquả trong việc triển khai các dịch vụ mạng phức tạp phù hợp với nhu cầucủa các người dùng và thiết bị hiện nay Khác với kiến trúc truyền thống,SDN thực hiện cơ chế tách bạch việc kiểm soát luồng điều khiển mạngvới luồng dữ liệu Nói cách khác, các chức năng điều khiển mạng trongSDN sẽ được quản lý tập trung trên một lớp điều khiển, khi đó các thiết bịmạng sẽ chịu trách nhiệu thực hiện quá trình chuyển tiếp các luồng dữliệu dựa trên sự chỉ đạo của các bộ điểu khiển.

2ASIC (Application-Specific Integrated Circuit): các vi mạch tích hợp chuyên dụng trong

lĩnh vực điện tử học

Trang 15

Từ một khái niệm mang tính lý thuyết, SDN đang dần trở thành mộtgiải pháp khả thi khi các bộ tiêu chuẩn và giao thức dành riêng cho kiếntrúc này đã dần hoàn thiện Một số bộ tiêu chuẩn và giao thức SDN tiêubiểu hiện này có thể kể đến như OpenFlow [2], ForCES [3], v.v Trong đó,OpenFlow, phát triển bởi một nhóm các kĩ sư tại đại học Stanford vào năm2008, được biết đến là một trong những bộ giao thức SDN hoàn thiện nhất.Kể từ khi phiên bản đầu tiên của OpenFlow [4] chính thức được công bốvào năm 2009, đến nay, bộ giao thức này đã được cải tiến qua nhiều phiênbản với các đặc điểm kĩ thuật ngày càng được hoàn chỉnh và tối ưu Các bộchuyển mạch SDN sử dụng OpenFlow (OpenFlow Switch) cũng đã đượchiện thực và vận hành trên các nền tảng ảo hóa hay điện toán đám mâynhư OpenVSwitch [5] Ngoài ra, một số sản phẩm phần cứng cũng đã đượcphát triển để cải thiện hiệu năng, tốc độ, băng thông cho OpenFlow nhưNetFPGA OpenFlow Switch [6] Bên cạnh đó, một số nhà cung cấp cũng đãcho ra đời một số thiết bị tích hợp OpenFlow, đây có thể xem là động tháithể hiện sự sẵn sàng cho việc áp dụng SDN trong tương lai gần.

Có thể thấy rằng, SDN với cơ chế linh hoạt giúp các hệ thống mạngđược phân cấp rõ ràng, khả mở, tiết kiệm chi phí và dễ dàng triển khai,giám sát Tuy nhiên, bên cạnh những lợi ích mà SDN mang lại, vẫn cònnhiều thách thức để kiến trúc này có thể được hiện thực và triển khaitrong thực tế Một trong những thách thức gây trở ngại nhất và cũng làmối quan tâm hàng đầu của các nhà nghiên cứu về SDN chính là các vấnđề về bảo mật và an ninh mạng Với tính chất của SDN là quản lý tậptrung kết hợp với khả năng lập trình qua lớp giao tiếp mở, những tháchthức về an ninh mạng đang thực sự trở thành vấn đề cấp bách cần giảiquyết nếu muốn đưa kiến trúc này vào hoạt động thực tế Theo báo cáomới nhất của Kaspersky, một trong những hãng sản xuất và phân phốiphần mềm bảo mật tốt nhất thế giới, các hoạt động gây ảnh hưởng anninh mạng ngày càng gia tăng trong thời buổi công nghệ hiện nay Nổitrội là các cuộc tấn công từ chối dịch vụ (Denial of Service – DoS) vớinhiều cơ chế tinh vi, gây thiệt hại nặng nề cho các tổ chức, quốc gia Cụthể, tài nguyên số của hơn 72 quốc gia đã bị ảnh hưởng bởi các cuộc tấncông DoS ở quý 1 năm 2021 [7] Ngoài ra, tình trạng đánh cắp dữ liệu,phát tán virus, mã độc, v.v đang ngày càng phổ biến và trở nên khó kiểmsoát Các loại hình tấn công mạng này có thể dễ dàng được thực hiệnnhắm vào SDN thông qua việc khai thác các lỗ hổng bảo mật ở các lớp

Trang 16

giao tiếp, lớp điều khiển cũng như các thiết bị ở lớp chuyển tiếp.

Hiện nay, sự phát triển không ngừng của lĩnh vực trí tuệ nhân tạo(Artificial Intelligence - AI) nói chung và học máy (Machine Learning -ML) nói riêng mang lại triển vọng lớn trong việc giải quyết các bài toán anninh mạng phức tạp Các kĩ thuật AI/ML ngày càng được hoàn thiện,mang đến nhiều phương án trong việc phát hiện xâm nhập mạng bấtthường Tuy nhiên, việc áp dụng các kĩ thuật học máy vào việc ngăn chặnvà phát hiện tấn công trên mạng SDN vẫn đang là một xu hướng mới,chưa được nghiên cứu rộng rãi Hơn nữa, việc tìm kiếm một giải pháp tốiưu cho việc phát hiện xâm nhập bất thường là một nhu cầu cấp thiết đốivới nhằm đảm bảo an toàn thông tin cho xã hội.

Nhiều công trình khoa học đã được thực hiện nhằm đề xuất các giảipháp tăng cường bảo mật cho mạng SDN nhằm phù hợp với yêu cầu thựctiễn Những giải pháp này được phân tích, hiện thực, đánh giá đầy đủ vàphần nào đem lại sự hiệu quả, góp phần giải quyết được một số nguy cơbảo mật Tuy nhiên, hầu hết các giải pháp hiện nay hoặc là chỉ giải quyếtđược một vấn đề cụ thể, hoặc là không tuân thủ theo các tiêu chuẩn màSDN đặt ra Tại Việt Nam, SDN vẫn đang còn là một lĩnh vực khá mới mẻ,chưa được phổ biến rộng rãi Nhiều nhóm nghiên cứu về SDN đã đượcthành lập trong các trường đại học, học viện hàng đầu Việt Nam songphạm vi nghiên cứu chưa thực sự đa dạng đặc biệt trong các vấn đề vềbảo mật.

1.1.MỤC TIÊU ĐỀ TÀI

Có thể thấy rằng, SDN, Machine Learning, IDS hay các vấn đề về bảomật an ninh mạng đều là những xu hướng được quan tâm của lĩnh vựccông nghệ thông tin trên thế giới hiện nay Do đó, với mục đích tiếp cậncác công nghệ mới, các nền tảng tri thức mới, nhóm chúng tôi xin đề xuấtnghiên cứu một số vấn đề kết hợp giữa các lĩnh vực nói trên thông qua đềtàiNghiên cứu xây dựng hệ thống phát hiện bất thường cho mạng SDNsử dụng các kỹ thuật Machine Learning Đề tài tập trung thực hiện các

mục tiêu sau:

1 Tìm hiểu về Software-Defined Networking, các vấn đề về phát hiệnxâm nhập mạng bất thường, các kỹ thuật Machine Learning và cáccơ sở lý thuyết liên quan.

Trang 17

2 Thiết kế và xây dựng mô hình phát hiện xâm nhập mạng bất thườngsử dụng các kĩ thuật Machine Learning.

3 Tích hợp mô hình phát hiện xâm nhập mạng bất thường sử dụng cáckĩ thuật Machine Learning vào hệ thống SDN.

4 Xây dựng mô hình đánh giá, kiểm thử hệ thống

1.3.NỘI DUNG ĐỀ TÀI

Nội dung thực hiện đề tàiNghiên cứu xây dựng hệ thống phát hiệnbất thường cho mạng SDN sử dụng kỹ thuật Machine Learning sẽ được

chia thành sáu chương chính:

1 Chương 1 - GIỚI THIỆU: Giới thiệu sơ lược về các lĩnh vực, các vấn

đề liên quan đến đề tài; nêu lên mục đích ý nghĩa, sự cần thiết, ảnhhưởng của đề tài đối với tình hình kinh tế xã hội hiện nay.

2 Chương 2 - CƠ SỞ LÝ THUYẾT: Trình bày các kiến thức nền tảng liên

quan đến nội dung đề tài như SDN, OpenFlow, Machine Learning vàcác vấn đề về bảo mật an ninh mạng.

Trang 18

3 Chương 3 - CÔNG TRÌNH LIÊN QUAN: Trình bày các tài liệu liên

quan đến nội dung đề tài.

4 Chương 4 - PHƯƠNG PHÁP NGHIÊN CỨU: Phân tích các vấn đề cần

được giải quyết trong phạm vi đề tài; đề xuất phương án giải quyếtnhắm đạt được các mục tiêu đề ra.

5 Chương 5 - THỰC NGHIỆM VÀ ĐÁNH GIÁ: Trình bày phương án

kiểm thử, thu thập kết quả thử nghiệm; đánh giá hệ thống dựa trêncác tiêu chí liên quan.

6 Chương 6 - KẾT LUẬN: Trình bày kết luận về công tác triển khai thực

hiện đề tài, các ưu nhược điểm cũng như các vấn đề còn tồn tại trongquá trình thực hiện đề tài, định hướng phát triển đề tài trong thờigian tiếp theo.

Ngoài ra, một nội dung khác như Tài liệu tham khảo, Mục lục, v.v được tác

giả sử dụng để ghi chú các tiêu đề, hình ảnh, bảng biểu cũng như các tríchdẫn, tham khảo trong suốt quá trình thực hiện đề tài.

Trang 19

CƠ SỞ LÝ THUYẾT2.1.SOFTWARE-DEFINEDNETWORKING

Kiến trúc của SDN gồm 3 lớp riêng biệt: lớp ứng dụng, lớp điều khiểnvà lớp chuyển tiếp [8], được mô tả như hình2.1 Trong đó:

Hình 2.1: Kiến trúc mạng Software-Defined Networking

7

Trang 20

Lớp ứng dụng (Application Layer): bao gồm các ứng dụng mạng;

cung cấp các chức năng quản lý vận hành mạng, các mô hình địnhtuyến, chuyển tiếp; hỗ trợ lớp điều khiển trong việc cấu hình mạng;cung cấp khả năng lập trình lại mạng thông qua việc điều chỉnh cáctham số như băng thông, độ trễ, giải thuật định tuyến,v.v Ngoài ra,lớp này còn có khả năng quan sát, theo dõi tình trạng mạng mộtcách tổng quát Từ đó người quản trị có thể đưa ra các chỉ thị đểthay đổi mạng phù hợp với tình hình hiện tại, hay nói cách khácmạng sẽ được trừu tượng hóa Giao tiếp giữa lớp ứng dụng và lớpđiều khiển được gọi chung là giao tiếp Northbound.

Lớp điều khiển (Control and Virtualization Layer): là nơi tập trung

các bộ điều khiển hay còn được gọi là các Controller; chịu tráchnhiệm trong việc ra quyết định và quản lý hoạt động của lớp chuyểntiếp bằng cách tận dụng các thông tin nhận được từ lớp chuyển tiếpđể định nghĩa các hoạt động mạng; cung cấp thông tin cho lớp ứngdụng Các Controller này có thể là các phần mềm được lập trình,giao tiếp với lớp chuyển tiếp thông qua một số chuẩn giao tiếp đượcgọi chung là giao tiếp Southbound Một trong số những giao thứcđược dùng phổ biến trong giao tiếp Southbound là giao thứcOpenFlow.

Lớp chuyển tiếp (Data Layer): là nơi tập trung các thiết bị mạng vật

lý hoặc thiết bị ảo, thực hiện việc chuyển tiếp gói tin dựa trên sự điềukhiển của các Controller ở lớp điều khiển Lớp này chịu trách nhiệmthực hiện chuyển tiếp các luồng dữ liệu cũng như giám sát các thôngtin cục bộ, thu thập, thống kê các thông số về dữ liệu Một thiết bịmạng có thể được kết nối với nhiều Controller khác nhau, giúp tăngcường tính sẵn sàng và khả năng ảo hóa của mạng.

Với kiến trúc như trên, SDN có thể mang lại sự linh hoạt, khả mở, tiếtkiệm chi phí và đơn giản hóa chức năng quản lý Cụ thể, lớp điều khiển cóthể được lập trình trực tiếp; mạng được điều chỉnh thay đổi một cáchnhanh chóng thông qua việc tùy chỉnh trên lớp điều khiển; mạng đượcquản lý tập trung; các cấu hình ở lớp chuyển tiếp có thể được lập trìnhtrên lớp ứng dụng và đưa xuống các lớp dưới thông qua các giao tiếpNorthbound và Southbound Sự linh hoạt, phân cấp rõ ràng giúp SDN

Trang 21

mang lại nhiều lợi ích không chỉ cho các doanh nghiệp mà còn cho cácnhà cung cấp dịch vụ, cơ sở hạ tầng mạng.

2.2.NỀN TẢNG NETFPGA

Field-programmable Gate Array (FPGA)1là một loại mạch tích hợp cỡlớn dùng cấu trúc mảng phần tử logic mà người dùng có thể lập trình được.Vi mạch FPGA được cấu thành từ các bộ phận như các khối logic cơ bản lậptrình được (programmable logic block); hệ thống mạch liên kết lập trìnhđược; khối vào/ra (IO Pads); phần tử thiết kế sẵn khác như DSP slice, RAM,ROM, nhân vi xử lý, v.v Ưu điểm lớn nhất của FPGA là có thể tái cấu hìnhkhi đang sử dụng, công đoạn thiết kế đơn giản, nhờ vậy rút ngắn thời gianvà chi phí sản xuất sản phẩm.

Tính linh hoạt trong thiết kế cho phép FPGA giải quyết những lớp bàitoán phức tạp mà không một phần cứng chuyên dụng nào có thể giải quyếtđược trước đây Ngoài ra, việc tích hợp mật độ phần tử logic lớn giúp FPGAcó thể giải quyết những công việc có khối lượng tính toán lớn FPGA đượcsử dụng trong rất nhiều ứng dụng, bao gồm: xử lý tín hiệu số; tiền thiết kếmẫu ASIC; các hệ thống điều khiển trực quan; ứng dụng thị giác máy tính;kiến trúc máy tính; xử lý dữ liệu lớn; mạng máy tính; các hệ thống làm việctheo thời gian thực hay các hệ thống hàng không vũ trụ, quốc phòng.

Trong mạng máy tính, FPGA có thể sử dụng để chế tạo ra các thiết bịnhư Router, Switch, Firewall,v.v Đặc biệt là thiết bị hỗ trợ cho việc thửnghiệm SDN là IDS, OpenFlow Switch.

NetFPGA [9] là nền tảng lý thưởng cho việc thiết kế và hiện thực cácthiết bị mạng máy tính có mật độ, tốc độ và hiệu suất cao Sản phẩm nàyra đời nhờ một nỗ lực hợp tác giữa nhiều phía đặc biệt là hai trường đạihọc hàng đầu thế giới Cambridge và Standford NetFPGA có mọi thứ cầnthiết để nghiên cứu và phát triển chuyên sâu các hệ thống kết nối mạngtân tiến nhất Hiện nay, các nhà phát triển đã cho ra đời nhiều nền tảngNetFPGA như NetFPGA-10G [9], NetFPGA-SUME [10],v.v

1https://en.wikipedia.org/wiki/Field-programmable_gate_array

Trang 22

NETFPGA-10G [11]

Các thông số phần cứng của nền tảng NetFPGA-10G:

• Hỗ trợ chip Xilinx Virtex-5 TX240T (Hệ thống hiệu năng cao, cácphần tử logic kết nối trực tiếp với công nghệ tiên tiến, mật độ lớn)

• Hỗ trợ 4 cổng SFP+ (Cổng giao tiếp mạng với tốc độ xử lý lên đến10Gbps)

• Hỗ trợ cổng PCI Express thế hệ 2 với 8 kênh, mỗi kênh có thể giaotiếp với tốc độ 5Gbps.

• Hỗ trợ 20 bộ thu phát nối tiếp có thể cấu hình GTX thông qua haicổng kết nối tốc độ cao SAMTEC.

• Hỗ trợ 3 bộ nhớ SRAM 72-Mbit QDR II với xung nhịp 333 MHz, tổngdung lượng 27 MB

• Hỗ trợ 4 bộ nhớ DRAM 576-Mbit RLDRAM II với xung nhịp lên đến533MHz, tổng dung lượng 288 MB

• Kích thước board 9.5” x 4.25”

• Hỗ trợ các phần tử LED và nút bấm cho người dùng.

Hình2.2và2.3mô tả sản phẩm NetFPGA-10G và kiến trúc của nó.

Hình 2.2: Nền tảng NetFPGA-10G

Trang 23

Hình 2.3: Kiến trúc nền tảng NetFPGA-10G

Hình 2.4: Nền tảng NetFPGA-SUME

Hình 2.5: Kiến trúc nền tảng NetFPGA-SUME

Trang 24

• Hỗ trợ 4 cổng SFP+ (10Gbps), 2 cổng SATA-III(6Gbps)

• Hỗ trợ 5 bộ nhớ độc lập tốc độ cao được xây dựng từ ba linh kiện500MHz 72 MBit QDRII+ SRAM với đường truyền dữ liệu có độ rộng36 bit và 2 bộ nhớ 1866MT/s 4Gb DDR3 SoDIMM với đường truyềndữ liệu có độ rộng 64 bit.

• Hỗ trợ 20 bộ thu phát tính tổng trên các đầu nối mở rộng FMC vàQTH, và các cổng SATA.

Hình2.4và2.5mô tả sản phẩm NetFPGA-SUME và kiến trúc của nó.

2.3.HỆ THỐNG PHÁT HIỆN XÂM NHẬP MẠNG BẤT THƯỜNG

Hệ thống phát hiện xâm nhập (Intrusion Detection System - IDS) làmột thiết bị hoặc phần mềm thực thi nhiệm vụ theo dõi, giám sát quátrình trao đổi thông tin trong các mạng máy tính để kịp thời phát hiện vàngăn chăn sự xâm nhập, phá hoại bảo mật hệ thống [12] Cơ chế hoạt độngcủa IDS là thu thập thông tin từ nhiều nguồn trong hệ thống, sau đó tiếnhành phân tích những thông tin đó theo các cách khác nhau để phát hiệnnhững xâm nhập trái phép Hay nói cách khác, IDS có khả năng phát hiệnnhững hành vi khai thác trái phép tài nguyên của hệ thống hoặc nhữnghành vi mang dấu hiệu của các cuộc tấn công vào hệ thống như dò tìm,nghe lén, tấn công từ chối dịch vụ, v.v qua đó đảm bảo tính bảo mật, tínhtoàn vẹn và tính sẵn sàng của hệ thống.

Hiện nay, IDS được chia thành nhiều loại dựa trên các kỹ thuật hoặccác cách tiếp cận lưu lượng xâm nhập khác nhau, Hình2.6mô tả một sốphương pháp phân loại IDS phổ biến Trong đó:

Trang 25

Hình 2.6: Phân loại hệ thống phát hiện xâm nhập

PHÂN LOẠIIDSTHEO VỊ TRÍ XÂM NHẬP

Dựa vào vị trí xâm nhập (types of intruders), IDS có thể được triển khai

để bảo vệ hệ thống từ các hành vi xâm nhập nội bộ (Internal Intruders)

điển hình như các cuộc tấn công từ chính nhân viên hoặc khách hàng

trong hệ thống hay các hành vi xâm nhập từ bên ngoài (External Intruders)

như các cuộc tấn công bởi hacker.

PHÂN LOẠIIDSTHEO KIỂU XÂM NHẬP

IDS có thể được thiết kế để phát hiện và ngặn chặn các kiểu xâm nhậpan ninh mạng phổ biến như tấn công thăm dò (Probe Attack), tấn côngRemote to Local (R2L Attack), tấn công User to Root (U2R Attack), tấn côngtừ chối dịch vụ (Denial-of-Services - DoS), tấn công Web (Web Attacks) vàtấn công Zero-Day (Zero-Day Attack) Trong đó:

Probe Attack [13]: Đặc điểm chung của các loại tấn công thuộc nhóm

này là tin tặc khai thác điểm yếu của mạng hoặc các máy tính bằng cáchquét thăm dò thông tin từ các cổng đang mở, các dịch vụ đang chạy hoặccác thông tin nhạy cảm khác như địa chỉ IP, địa chỉ MAC, các luật tườnglửa,v.v qua đó tin tặc có thể lấy được thông tin về hệ thống để tấn công.Các kiểu tấn công thăm dò phổ biến có thể kể đến như IP Sweep, Nmap,

Trang 26

Port Scan, Satan, v.v.

R2L Attack [13]: Đặc điểm chung của các loại tấn công thuộc nhóm này

là tin tặc cố gắng đạt được quyền truy cập vào hệ thống máy tính bằng việcgửi các gói tin xâm nhập từ xa đến hệ thống thông qua mạng Mục đíchchính của tấn công R2L là để khai thác dữ liệu bất hợp pháp hoặc cài cắmvirus hoặc phần mềm độc hại vào các hệ thống để gây thiệt hại cho máytính hoặc mạng mục tiêu Các kiểu tấn công R2L phổ biến có thể kể đếnnhư FTP Write, Guess Password, IMap, Multihop, Phf, Spy, Warezmaster,v.v.

U2R Attack [13]: Đặc điểm chung của các loại tấn công thuộc nhóm

này là tin tặc lạm dụng các quyền của một người dùng bình thường để cốgắng đạt được quyền truy cập cao nhất vào hệ thống một cách bất hợppháp (như đặc quyền của người quản trị hệ thống) Các kiểu tấn công U2Rphổ biến có thể kể đến như Buffer Overflow, Load Module, Perl, Rootkit,v.v.

DoS/DDoS Attack [13]: là loại tấn công phổ biến với mật độ xuất hiện

nhiều trong các hệ thống mạng ngày nay Các kiểu tấn công thuộc nhómnày là những tấn công làm bão hòa tài nguyên hệ thống khiến hệ thốngkhông còn khả dụng với các người dùng hợp lệ Hay nói các khác, tấncông DoS làm cho tài nguyên các máy tính bị trưng dụng để xử lý sốlượng lớn các yêu cầu vô nghĩa dẫn đến cạn kiệt, không đủ để xử lý cácyêu cầu từ người dùng hợp lệ Hai hình thức tấn công phổ biến trongnhóm này là tấn công từ chối dịch vụ từ một cá thể (DoS) và tấn công từchối dịch vụ phân tán (Distributed Denial-of-Services - DDoS) Các kiểutấn công DoS/DDoS phổ biến có thể kể đến như TCP SYN Flooding,ICMP Flooding, Back, Land, Neptune, Pod, Smurf, Teardrop, v.v.

Web Attack: Các website thường xuyên là mục tiêu tấn công của tin tặc

để khai thác đánh cắp các thông tin liên quan bên trong Một trong nhữngphương thức tấn công phổ biến là khai thác các lỗi bảo mật liên quan đếnứng dụng web Các lỗi bảo mật ứng dụng web là nguyên nhân chủ yếu gâyra các lỗi đối với website đang vận hành Sau khi xác định các lỗi này, tintặc sẽ sử dụng các kỹ thuật khác nhau để tiến hành khai thác hệ thống đích.Một số kỹ thuật tấn công web thường được sử dụng như Buffer Overflows,SQL Injection, Cross-site Scripting, v.v.

Zero-Day Attack: Zero-Day là tên gọi chung của các lỗ hổng bảo mật

chưa được biết tới, hay nói cách khác là những kiểu tấn công mới chưa có

Trang 27

giải pháp ngăn chặn chính thức Các cuộc tấn công khai thác lỗ hổng Day thường xảy ra một cách bất ngờ mà các nhà phát triển phần mềmkhông thể dự liệu trước Do đó, hậu quả của việc tấn công vào các lỗ hổngnày thường gây ra thiệt hại vô cùng nặng nề cho nạn nhân Đối với mạngSDN, có rất nhiều lỗ hổng có thể bị khai thác bởi các cuộc tấn công Zero-Day, do đó việc phát hiện các kiểu tấn công thuộc nhóm này là hết sứcquan trọng và cần thiết.

Zero-PHÂN LOẠIIDSTHEO KỸ THUẬT PHÁT HIỆN XÂM NHẬP

Dựa vào các kỹ thuật phát hiện xâm nhập (Detection Techniques) cóthể chia IDS thành ba loại chính bao gồm IDS phát hiện dựa trên dấu hiệu(Signature-based IDS), IDS phát hiện dựa trên sự bất thường (Anomaly-based IDS), và IDS phát hiện dựa trên sự phân tích trạng thái giao thức(Stateful Protocol Analysis Detection) Trong đó:

Signature-based IDS: là các IDS hoạt động dựa trên các dấu hiệu cho

trước (signature) Loại IDS này hoạt động theo cơ chế giám sát các lưulượng mạng và so sánh chúng với các tập dấu hiệu được xây dựng sẵn dựatrên những thuộc tính thu thập từ những mối đe dọa đã biết trước, tươngtự như cách phần mềm diệt virus hoạt động Vấn đề đối với hệ thống IDSnày là có thể không phát hiện ra mối đe dọa mới, khi chữ ký để nhận biếtnó chưa được IDS kịp cập nhật.

Anomaly-based IDS: là các IDS có chức năng phát hiện mối đe dọa dựa

trên sự bất thường của lưu lượng mạng Loại IDS này hoạt động theo cơchế giám sát lưu lượng mạng và so sánh với các cơ sở phân loại (baseline)đã được thiết lập Dựa vào sự phân tích bằng các phương pháp phân loại,hồi quy hoặc thống kê, các baseline sẽ giúp xác định đâu là tình trạng bìnhthường của mạng ví dụ các giao thức hay loại băng thông thường đượcdùng trong mạng, cổng và thiết bị thường được kết nối với nhau Qua đó,cảnh báo cho quản trị mạng hoặc người dùng khi phát hiện lưu lượng truycập bất thường, hay nói cách khác là những lưu lượng có sự khác biệt đángkể so với baseline Các mô hình phân loại của IDS phát hiện dựa trên sựbất thường thường được xây dựng bằng các phương pháp trong lĩnh vựchọc máy hoặc học sâu So với các IDS phát hiện dựa vào dấu hiệu, IDSphát hiện dựa vào bất thường có khả năng tự phát hiện các hình thức xâmnhập mới, chưa được ghi nhận trước đó.

Stateful Protocol Analysis Detection [14]: kỹ thuật phát hiện này được

Trang 28

sử dụng để xác định sự sai lệch trong trạng thái giao thức tương tự nhưphương pháp dựa trên sự bất thường nhưng sử dụng các cấu hình chungđược xác định trước dựa trên "các định nghĩa được chấp nhận về hoạtđộng lành tính"được phát triển bởi các nhà cung cấp dịch vụ mạng lớn

PHÂN LOẠIIDSTHEO HỆ THỐNG

Dựa vào đặc điểm hệ thống của nguồn dữ liệu thu thập được, IDS cóthể được chia thành hai loại chính bao gồm IDS dựa trên mạng (Network-based IDS), IDS dựa trên máy chủ (Host-based IDS) Trong đó:

Host-based IDS (HIDS): là IDS được triển khai chạy trên máy chủ riêng

hoặc một thiết bị đặc biệt trên mạng HIDS chỉ giám sát lưu lượng đi vào(inbound) và đi ra (outbound) từ thiết bị và cảnh báo người dùng hoặcquản trị viên khi những hoạt động xâm nhập trái phép bị phát hiện Mộtsố đặc điểm cơ bản của HIDS như sau:

• Chỉ phát hiện xâm nhập trên 1 máy chủ cụ thể

• Hỗ trợ bảo vệ ngay cả khi ở ngoài mạng LAN

• HDIS xem xét hoạt động của host (ứng dụng, file , kernel logs, v.v.) đểphát hiện những hoạt động bất thường và ngăn chặn

• HIDS chỉ phát hiện khi đối tượng tấn công đã xâm nhập và bắt đầuthực hiện tấn công

Network-based IDS (NIDS): là IDS được triển khai tại một điểm chiến

lược để giám sát lưu lượng đến và đi từ tất cả các thiết bị trong mạng Khácvới HIDS, NIDS kiểm tra toàn bộ thông tin của tất cả các gói tin để khôngbỏ sót các dấu hiệu bất thường Một số đặc điểm cơ bản của NIDS như sau:

• Phát hiện xâm nhập trên một mạng LAN nhiều thiết bị

• Không bảo vệ máy chủ khi máy chủ rời khỏi mạng LAN

• NIDS phân tích các gói tin lưu thông giữa các thiết bị mạng để pháthiện bất thường không cho đối tượng tấn công bắt đầu cuộc tấn công

• Việc sử dụng NIDS này có thể tạo ra nút thắt cổ chai vì phát quét toànbộ lưu lượng mạng, do đó có thể làm giảm tốc độ chung của mạng.

Trang 29

Ngoài ra, hiện nay một số nhà cung cấp cũng phát triển các công cụphân tích hành vi mạng (Network Behavior Analysis System) với mục đíchthương mại, được thiết kế để triển khai trong các môi trường mạng chuyêndụng của các tổ chức, doanh nghiệp.

2.4.HỌC MÁY

Học máy (Machine Learning - ML) là một loại hình trí tuệ nhân tạo baogồm tập các kĩ thuật, phương pháp, thuật toán giúp hệ thống "học", xử lývà nhận diện các bài toán và các đối tượng mà không cần phải lập trình đểthực hiện các tác vụ cụ thể Các thuật toán Machine learning thường đượcphân thành hai nhóm phổ biến: dựa trên phương thức học (Learning Style)hoặc dựa trên chức năng (Functionality) của mỗi thuật toán.

Theo phương thức học, các thuật toán ML thường được chia làm 4

nhóm chính bao gồm: học giám sát (Supervised Learning), học phi giám

sát (Unsupervised Learning), học bán giám sát (Semi-supervised Learning)

và học tăng cường (Reinforcement Learning) Hình2.7mô tả một số thuậttoán tiêu biểu của từng phương pháp học, trong đó:

Hình 2.7: Các phương pháp học phổ biến trong Machine Learning

HỌC GIÁM SÁT

Học giám sát (Supervised Learning) là phương pháp học máy sử dụngnhững dữ liệu đã được gán nhãn (label) hay còn được gọi là dữ liệu huấnluyện (Training Data) để suy luận ra mối quan hệ quan hệ giữa đầu vào

Trang 30

(input) và đầu ra (output) Học giám sát sẽ xem xét các tập dữ liệu huấnluyện này để từ đó có thể đưa ra dự đoán đầu ra cho một đầu vào mới chưagặp bao giờ Cụ thể, thông qua một quá trình huấn luyện, một mô hình sẽđược xây dựng để cho ra các dự đoán, trong trường hợp các dự đoán bị saithì mô hình này sẽ được tinh chỉnh lại Việc huấn luyện sẽ tiếp tục cho đếnkhi mô hình đạt được mức độ chính xác mong muốn trên tập dữ liệu huấnluyện Một số bài toán điển hình áp dụng hiệu quả phương pháp học giámsát có thể kể đến như dự đoán giá nhà, phân loại email, v.v.

Các thuật toán học giám sát còn được phân ra thành hai loại chính là

phân lớp (Classification) và hồi quy (Regression) Trong đó:

Phân lớp: Một bài toán được gọi là phân lớp nếu các nhãn của dữ

liệu đầu vào nằm trong một nhóm hữu hạn các lớp (miền giá trị làrời rạc) Hầu hết các bài toán phân loại (email, hình ảnh, v.v.) thườngđược xếp vào bài toán phân lớp.

Hồi quy: Một bài toán được xem là hồi quy nếu nhãn không được

chia thành các nhóm mà là một giá trị thực cụ thể (miền giá trị là liêntục) Hầu hết các bài toán dự báo (giá cổ phiếu, giá nhà, ) thườngđược xếp vào bài toán hồi quy.

Một số thuật toán nổi tiếng thuộc về nhóm học có giám sát như:k-Nearest Neighbors, cây quyết định (Decision Tree), máy vec-tơ hỗ trợ(Support Vector Machine), Hồi quy tuyến tính (Linear Regression), v.v.

HỌC PHI GIÁM SÁT

Học phi giám sát (Unsupervised Learning) là phương pháp học máy sửdụng những tập dữ liệu huấn luyện mà trong đó tất cả các mẫu dữ liệu đềuchưa được gán nhãn hay nói cách khác là ta không biết câu trả lời chínhxác cho mỗi dữ liệu đầu vào từ trước để suy luận Khác với học giám sát,mục tiêu của phương pháp này không phải là tìm đầu ra chính xác màhướng tới việc tìm ra cấu trúc hoặc sự liên hệ trong dữ liệu để thực hiệnmột công việc nào đó, ví như gom cụm (clustering) hoặc giảm số chiềucủa dữ liệu (dimension reduction) để thuận tiện trong việc lưu trữ và tínhtoán.

Các thuật toán học phi giám sát được chia thành hai loại chính là làphân cụm (Clustering) và luật kết hợp (Association Rule) Trong đó:

Trang 31

Phân cụm: Một bài toán phân cụm thực hiện phân nhóm toàn bộ dữ

liệu X thành các nhóm/cụm nhỏ dựa trên sự liên quan giữa các dữliệu trong mỗi nhóm Ví dụ như phân nhóm khách hàng dựa vào độtuổi, giới tính.

Luật kết hợp: Các thuật toán luật kết hợp thường được sử dụng để

khám phá ra một quy luật dựa trên nhiều dữ liệu cho trước Ví nhưnhững khách hàng mua mặt hàng này sẽ mua thêm mặt hàng kia;hoặc khán giả xem phim này sẽ có xu hướng thích xem phim kia,dựa vào đó ta có thể xây dựng những hệ thống gợi ý khách hàng(Recommendation System) nhằm thúc đẩy nhu cầu mua sắm hoặcxem phim.

Một số thuật toán điển hình thuộc nhóm học không giám sát như Means clustering, hierachical clustering, DBSCAN, v.v.

k-HỌC BÁN GIÁM SÁT

Học bán giám sát (Semi-supervised Learning) là phương pháp học máyđược sử dụng trong các bài toán mà khi tập dữ liệu đầu vào X là hỗn hợpcác mẫu có nhãn và không có nhãn, trong đó số lượng có nhãn chỉ chiếmmột phần nhỏ Phần lớn các bài toán thực tế của ML thuộc nhóm này vìviệc thu thập dữ liệu có nhãn tốn rất nhiều thời gian và có chi phí cao Rấtnhiều loại dữ liệu thậm chí cần phải có chuyên gia mới gán nhãn được,chẳng hạn như ảnh y học hoặc các cặp câu song ngữ Ngược lại, dữ liệuchưa có nhãn có thể được thu thập với chi phí thấp từ internet.

Với phương pháp này, mô hình phải tìm hiểu các cấu trúc để tổ chứcdữ liệu cũng như đưa ra dự đoán Hay nói cách khác, học bán giám sát sửdụng các thuật toán học phi giám sát để khám phá và tìm hiểu cấu trúctrong dữ liệu đầu vào, đồng thời sử dụng học giám sát để dự đoán cho dữliệu không được gán nhãn Sau đó đưa dữ liệu vừa dự đoán trở lại làm dữliệu huấn luyện cho các thuật toán học giám sát và sử dụng mô hình saukhi huấn luyện để đưa ra dự đoán về dữ liệu mới.

Một số thuật toán học bán giám sát điển hình như Self Training,Generative models, S3VMs, Graph-Based Algorithms, MultiviewAlgorithms, v.v.

Trang 32

HỌC TĂNG CƯỜNG

Học tăng cường (Reinforcement Learning) là phương pháp học máygiúp cho một hệ thống tự động xác định hành vi dựa trên hoàn cảnh hoặcmôi trường cụ thể để đạt được lợi ích cao nhất Khác với học có giám sát,phương pháp học này không sử dụng cặp dữ liệu gán nhãn trước làm đầuvào và cũng không có đánh giá các hành động là đúng hay sai.

Học tăng cường chủ yếu được áp dụng vào lý thuyết trò chơi (GameTheory), các thuật toán cần xác định nước đi tiếp theo để đạt được điểmsố cao nhất AlphaGo2- một phần mềm chơi cờ vây trên máy tính đượcxây dựng bởi Google DeepMind hay chương trình dạy máy tính chơi gameMario3là những ứng dụng sử dụng học tăng cường.

Ngoài ra, dựa vào sự tương đồng về chức năng hay cách thức hoạt độngmà các thuật toán học máy sẽ được gom nhóm với nhau Các thuật toánhọc máy được chia thành một số nhóm chính như hình2.8.

CÁC THUẬT TOÁN HỒI QUY

Hồi quy (Regression) là quá trình tìm mối quan hệ phụ thuộc của mộtbiến (được gọi là biến phụ thuộc hay biến được giải thích, biến được dựbáo, biến được hồi quy, biến phản ứng, biến nội sinh) vào một hoặc nhiềubiến khác (được gọi là biến độc lập, biến giải thích, biến dự báo, biến hồiquy, biến tác nhân hay biến kiểm soát, biến ngoại sinh) nhằm mục đíchước lượng hoặc tiên đoán giá trị kỳ vọng của biến phụ thuộc khi biết trướcgiá trị của biến độc lập.

Các thuật toán hồi quy (Regression Algorithms) phổ biến trong họcmáy có thể kể đến như:

• Linear Regression

• Logistic Regression

• Locally Estimated Scatterplot Smoothing (LOESS)

• Multivariate Adaptive Regression Splines (MARS)

• Ordinary Least Squares Regression (OLSR)

• Stepwise Regression

3https://supermariobros.io/

Trang 34

CÁC THUẬT TOÁN DỰA TRÊN MẪU

Mô hình học tập dựa trên mẫu hay thực thể (Instance-based) là bàitoán ra quyết định dựa vào các trường hợp hoặc các mẫu dữ liệu huấnluyện được coi là quan trọng hay bắt buộc đối với mô hình Nhóm thuậttoán này thường xây dựng cơ sở dữ liệu về dữ liệu mẫu và so sánh dữ liệumới với cơ sở dữ liệu bằng cách sử dụng thước đo tương tự để tìm kết quảphù hợp nhất và đưa ra dự đoán.

Các thuật toán dựa trên mẫu (Instance-based Algorithms) phổ biếnnhất là:

• k-Nearest Neighbor (kNN)

• Learning Vector Quantization (LVQ)

• Locally Weighted Learning (LWL)

• Self-Organizing Map (SOM)

CÁC THUẬT TOÁN CHUẨN HÓA

Các thuật toán chuẩn hoá (Regularization Algorithms) ra đời từ sự mởrộng các phương pháp đã có (điển hình là các phương pháp hồi quy) bằngcách xử phạt các mô hình dựa trên mức độ phức tạp của chúng nhằm đảmbảo quá trình huấn luyện của mô hình có tính thiên vị và phương sai phùhợp.

Các thuật toán chuẩn hoá phổ biến nhất trong học máy là:

• Elastic Net

• Least Absolute Shrinkage and Selection Operator (LASSO)

• Least-Angle Regression (LARS)

• Ridge Regression

CÁC THUẬT CÂY QUYẾT ĐỊNH

Cây quyết định (Decision Tree) là phương pháp xây dựng mô hình raquyết định dựa trên các giá trị thực của những thuộc tính trong dữ liệu.Sự quyết định được rẽ nhánh trong cấu trúc cây cho đến khi quyết địnhdự đoán được đưa ra cho một mẫu nhất định Phương pháp này được sử

Trang 35

dụng trong việc huấn luyện dữ liệu cho bài toán phân lớp và hồi quy Ưuđiểm của cây quyết định là khả năng suy luận nhanh chóng với độ chínhxác tương đối cao, do đó, phương pháp này được sử dụng khá phổ biếntrong lĩnh vực học máy.

Một số thuật toán cây quyết định phổ biến nhất trong học máy là:

• Chi-squared Automatic Interaction Detection (CHAID)

• Classification và Regression Tree – CART

• Conditional Decision Trees

• C4.5 và C5.0

• Decision Stump

• Iterative Dichotomiser 3 (ID3)

• M5

CÁC THUẬT TOÁNBAYES

Thuật toán Bayes (Bayesian Algorithms) là nhóm các thuật toán ápdụng Định lý Bayes cho bài toán phân loại và hồi quy.

Các thuật toán phổ biến trong nhóm Bayes có thể kể đến là:

• Averaged One-Dependence Estimators (AODE)

• Bayesian Belief Network (BBN)

• Bayesian Network (BN)

• Gaussian Naive Bayes

• Multinomial Naive Bayes

• Naive Bayes

Trang 36

THUẬT TOÁN MÁY VEC-TƠ HỖ TRỢ

Máy vec-tơ hỗ trợ (Support Vector Machine - SVM) là một thuật toánthuộc nhóm học giám sát dùng để phân chia dữ liệu thành các nhóm riêngbiệt SVM hoạt động dựa trên cơ chế nhận dữ liệu vào và phân loại chúngvào hai lớp khác nhau, hay nói cách khác SVM là một thuật toán phân loạinhị phân Với một tập dữ liệu huấn luyện thuộc hai nhóm cho trước, thuậttoán huấn luyện xây dựng mô hình SVM để phân loại các dữ liệu khác vàohai nhóm đó Cụ thể, mô hình SVM là một cách biểu diễn các điểm trongkhông gian và lựa chọn vec-tơ ranh giới giữa hai nhóm sao cho khoảngcách từ các dữ liệu huấn luyện tới ranh giới là xa nhất có thể Các dữ liệumới cũng được biểu diễn trong cùng một không gian và được thuật toándự đoán thuộc một trong hai nhóm tùy vào dữ liệu đó nằm ở phía nào củaranh giới.

CÁC THUẬT TOÁN PHÂN CỤM

Các thuật toán phân cụm (Clustering Algorithms) có đặc điểm chunglà sử dụng các cấu trúc vốn có trong dữ liệu để tổ chức dữ liệu thành cácnhóm sao cho dữ liệu bên trong mỗi nhóm đạt độ tương đồng (Similarity)một cách cao nhất có thể.

Các thuật toán phổ biến trong nhóm Bayes có thể kể đến là:

• Expectation Maximization

• Hierarchical Clustering

• k-Means

CÁC THUẬT TOÁN MẠNG NƠ-RON

Mạng nơ-ron nhân tạo (Artificial Neural Network) là các mô hình đượclấy cảm hứng từ cấu trúc và chức năng của mạng lưới thần kinh sinh học.Nhóm thuật toán này có thể được sử dụng cho bài toán phân lớp và hồiquy với rất nhiều biến thể khác nhau cho hầu hết các vấn đề.

Một số thuật toán mạng nơ-ron nhân tạo phổ biến là:

• Back-Propagation (Mạng lan truyền ngược)

• Perceptron (Mạng lan truyền thẳng)

• Multi-layer perceptron (Mạng truyền thẳng đa lớp)

Trang 37

Việc kết hợp nhiều mô hình đơn lẻ thành một mô hình hỗn hợp sẽgiúp cải thiện khả năng dự đoán và phân loại, đặc biệt cải thiện các thôngsố đánh giá quá trình huấn luyện như:

Độ lệch (Bias): biểu thị sự chênh lệch giữa giá trị trung bình mà mô

hình dự đoán và giá trị thực tế của dữ liệu Một số mô hình hoạt độngtốt và cho độ lệch nhỏ, ngược lại cũng có một số mô hình cho độ lệchlớn Việc kết hợp các mô hình sẽ tạo ra độ lệch trung bình chấp nhậnđược, có thể tốt hơn khi sử dụng các mô hình đơn lẻ.

Phương sai (Variance): biểu thị độ phân tán của các giá trị mà mô

hình dự đoán so với giá trị thực tế Kết quả dự đoán tổng hợp củamột loạt các mô hình thường sẽ cho giá trị phương sai tốt hơn so vớikết quả dự đoán của các mô hình đơn lẻ.

Overfiting : là hiện tượng khi mô hình hoạt động rất tốt với dữ liệu

huấn luyện, nhưng kết quả dự đoạn lại rất kém đối với dữ liệu kiểmthử Việc kết hợp nhiều mô hình cùng lúc giúp giảm vấn đề này.Một số thuật toán hỗn hợp phổ biến như:

• AdaBoost

• Boosting

• Bootstrapped Aggregation (Bagging)

• Gradient Boosting Machines (GBM)

• Gradient Boosted Regression Trees (GBRT)

• Random Forest

• Stacked Generalization (blending)

Trang 38

CÁC THUẬT TOÁNGIẢM CHIỀU DỮ LIỆU

Giảm chiều dữ liệu (Dimensionality Reduction) trong học máy là quátrình giảm thiểu số lượng đặc trưng biểu diễn dữ liệu Việc này có thể đượcthực hiện theo hướng lựa chọn các đặc trưng quan trọng hoặc trích xuấtcác đặc trưng mới từ các đặc trưng đã có Giảm chiều dữ liệu hữu ích trongcác trường hợp như trực quan hóa, lưu trữ và năng lực tính toán hạn chế.

Một số thuật toán giảm chiều dữ liệu phổ biến trong học máy là:

• Flexible Discriminant Analysis (FDA)

• Linear Discriminant Analysis (LDA)

• Mixture Discriminant Analysis (MDA)

• Multidimensional Scaling (MDS)

• Partial Least Squares Regression (PLSR)

• Principal Component Analysis (PCA)

• Principal Component Regression (PCR)

Chọn mô hình: Chọn một mô hình thống kê cho tập dữ liệu Ví dụ

như mô hình thống kê Bec-nu-li, mô hình phân phối chuẩn.

Tìm tham số: Các mô hình thống kê có các tham số tương ứng, nhiệm

vụ lúc này là tìm các tham số này sao cho phù hợp với tập dữ liệunhất có thể.

Suy luận: Sau khi có được mô hình và tham số, ta có thể dựa vào

chúng để đưa ra suy luận cho một đầu vào mới nào đó.

Trong phạm vi đề tài, tác giả sẽ khai thác các lý thuyết liên quan đến cácthuật toán hỗn hợp (Ensemble Algorithm) và các thuật toán giảm chiềudữ liệu (Dimensionality Reduction)để làm cơ sở cho phương pháp nghiêncứu.

Trang 39

2.5.HỌC SÂU

Học sâu (Deep Learning - DL) là một lĩnh vực trí tuệ nhân tạo có xuhướng bùng nổ trong những năm gần đây Thực chất, học sâu là mộtnhánh của học máy, tập trung giải quyết các vấn đề liên quan đến mạngnơ-ron nhân tạo nhằm nâng cấp các công nghệ học máy hiện tại nhưnhận diện giọng nói, thị giác máy tính, xử lý ngôn ngữ tự nhiên, v.v.

Ý tưởng chính của học sâu là huấn luyện các loại mạng nơ-ron nhântạo có nhiều lớp nơ-ron ẩn (Deep Neural Network) để phân tích dữ liệu vềnhiều chi tiết khác nhau, khác với học máy thường chỉ sử dụng mạng nơ-ron với một lớp nơ-ron ẩn Về cơ bản, học sâu cũng cho phép huấn luyệnmột mô hình có thể dự đoán được các đầu ra dựa vào một tập các đầu vào.Cả hai phương pháp có giám sát và không giám sát đều có thể sử dụngđể huấn luyện cho các thuật toán này Tuy nhiên, các thuật toán học sâuthường quan tâm đến việc làm sao để khai thác hiệu quả các bộ dữ liệu lớnchứa rất ít dữ liệu đã được gán nhãn.

Một số thuật toán học sâu phổ biến có thể kể đến như mạng nơ-ron

sâu (Deep Neural Network - DNN), mạng nơ-ron tích chập (ConvolutionalNeural Network - CNN), mạng nơ-ron hồi quy (Recurrent Neural Network- RNN), mạng tự mã hóa (Autoencoder) hay mạng sinh đối nghịch(Generative Adversarial Network - GAN) [15] Trong phạm vi đề tài, tác giảsẽ khai thác các lý thuyết liên quan đến mạng nơ-ron sâu, mạng tự mãhóa (Autoencoder) và mạng GAN để làm cơ sở cho phương pháp nghiêncứu.

Mạng nơ-ron sâu (Deep Neural Network) hay còn gọi là mạng nơ-ronđa lớp gồm nhiều lớp nơ-ron, mỗi nơ-ron được kết nối đầy đủ với các nơ-ron khác ở tầng kế tiếp [15] Hình2.9mô tả cấu trúc cơ bản của một mạngnơ-ron sâu.

Các nơ-ron được nhóm vào 3 loại lớp khác nhau: lớp đầu vào (InputLayer), các lớp ẩn (Hidden Layer), và lớp đầu ra (Output Layer) Trong đó:

Lớp đầu vào: nhận các dữ liệu đầu vào để đưa các đầu vào này vào

lớp ẩn thứ nhất.

Các lớp ẩn: thực hiện các phép tính toán cho các đầu vào Độ sâu

của mạng nơ-ron phụ thuộc vào số lượng lớp ẩn cũng như số lượng

Trang 40

Hình 2.9: Cấu trúc của một mạng nơ-ron sâu

nơ-ron cho mỗi lớp.

Lớp đầu ra: trả về dữ liệu đầu ra, thường là các kết quả phân loại.

Mỗi một kết nối giữa các nơ-ron được liên kết với một trọng số (weight).Trọng số này chỉ rõ ra tầm quan trọng của giá trị đầu vào Thông thường,trọng số được khởi tạo bằng cách chọn ngẫu nhiên khác 0 Bên cạnh đó,mỗi một nơ-ron sẽ được gắn một Hàm kích hoạt phi tuyến tính (NonlinearActivation Function) Các hàm này sử dụng các thuật toán như: sigmoid,softmax, gaussian, v.v để chuẩn hóa giá trị đầu ra từ nơ-ron Khi một tậpdữ liệu đầu vào được truyền qua tất cả các lớp của mạng nơ ron, nó sẽ trảvề dữ liệu đầu ra thông qua lớp đầu ra.

Việc huấn luyện một mạng nơ-ron sâu cũng tương tự như huấn luyệnmạng nơ-ron cơ bản hay các thuật toán học máy, một mạng nơ-ron sâu sửdụng các tập dữ liệu huấn luyện để tính toán dữ liệu đầu ra, sau đó so sánhkết quả đầu ra với hàm mất mát (Loss Function hay Cost Function) để chỉra sự sai sót của mô hình so với đầu ra thực tế Sau mỗi vòng lặp trong tậpdữ liệu huấn luyện, trọng số giữa các nơ-ron sẽ được điều chỉnh bằng cácphương pháp tối ưu để giảm giá trị mất mát.

Mạng tự mã hóa (Autoencoder - AE) là một dạng mạng nơ-ron nhântạo được dùng để học cách mã hóa dữ liệu hiệu quả theo cách học phigiám sát [15] Mục tiêu mạng tự mã hóa là học các đặc tính (mã hóa) từmột tập dữ liệu, thông thường được sử dụng trong giảm chiều dữ liệu

Ngày đăng: 03/08/2024, 12:40

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN