Kỹ thuật học máy trong việc phát hiện xâm nhập mạngKỹ thuật học máy trong việc phát hiện xâm nhập mạngKỹ thuật học máy trong việc phát hiện xâm nhập mạngKỹ thuật học máy trong việc phát hiện xâm nhập mạngKỹ thuật học máy trong việc phát hiện xâm nhập mạngKỹ thuật học máy trong việc phát hiện xâm nhập mạngKỹ thuật học máy trong việc phát hiện xâm nhập mạngKỹ thuật học máy trong việc phát hiện xâm nhập mạngKỹ thuật học máy trong việc phát hiện xâm nhập mạngKỹ thuật học máy trong việc phát hiện xâm nhập mạngKỹ thuật học máy trong việc phát hiện xâm nhập mạngKỹ thuật học máy trong việc phát hiện xâm nhập mạngKỹ thuật học máy trong việc phát hiện xâm nhập mạngKỹ thuật học máy trong việc phát hiện xâm nhập mạng
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Lê Minh Kha
ĐỀ TÀI
KỸ THUẬT HỌC MÁY TRONG VIỆC PHÁT HIỆN XÂM NHẬP MẠNG
LUẬN VĂN THẠC SĨ KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH - 2016
Trang 2HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Lê Minh Kha
ĐỀ TÀI
KỸ THUẬT HỌC MÁY TRONG VIỆC PHÁT HIỆN XÂM NHẬP MẠNG
Chuyên ngành: Hệ thống Thông tin
Mã số: 60.48.01.04
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS.TS TRẦN VĂN LĂNG
THÀNH PHỐ HỒ CHÍ MINH - 2016
Trang 3LỜI CAM ĐOAN Trong quá trình thực hiện luận văn, dưới sự hướng dẫn trực tiếp của PGS.TS Trần Văn Lăng, tôi đã nghiên cứu và hoàn thành luận văn với sự nổ lực nghiên cứu của bản thân Do đó, tôi xin cam đoan rằng nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn của PGS.TS Trần Văn Lăng và mọi tham khảo được sử dụng trong luận văn đều có trích dẫn nguồn cụ thể, rõ ràng, trung thực về tên tác giả, tên công trình nghiên cứu, thời gian và địa điểm công bố
Mọi sao chép không hợp lệ hoặc vi phạm quy chế đào tạo tôi xin chịu hoàn toàn trách nhiệm./
TP HCM, ngày 27 tháng 06 năm 2016
HỌC VIÊN THỰC HIỆN LUẬN VĂN
Lê Minh Kha
Trang 4LỜI CẢM ƠN Trong quá trình thực hiện luận văn này, tôi xin gửi lời cảm ơn chân thành đến PGS.TS Trần Văn Lăng, Viện phó Viện cơ học và Tin học ứng dụng TP HCM, là người đã trực tiếp hướng dẫn tôi để hoàn thành luận văn này Đồng thời, tôi cũng xin gửi lời cảm ơn đếnquý thầy cô thuộc Học Viện Bưu chính Viễn thông nói chung, tại cơ sở Thành phố Hồ Chí Minh nói riêng đã tạo điều kiện thuận lợi cho tôi hoàn thành luận văn đúng tiến độ
Một lần nữa tôi xin gửi lời cảm ơn chân thành đến quý Thầy Cô
TP HCM, ngày 27 tháng 06 năm 2016
HỌC VIÊN THỰC HIỆN LUẬN VĂN
Lê Minh Kha
Trang 5MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC CÁC VIẾT TẮT v
DANH SÁCH CÁC BẢNG vi
DANH SÁCH HÌNH ẢNH vii
MỞ ĐẦU 1
CHƯƠNG 1- CƠ SỞ LÝ THUYẾT 4
1.1.Vai trò của IDS/IPS trong hệ thống mạng: 4
1.1.1.Tổng quan về bảo mật: 4
1.1.2 Những mối đe doạ: 5
1.1.3 Các phương thức tấn công: 6
1.1.4 Hệ thống phát hiện xâm nhập: 7
1.2 Đặc điểm của hệ thống IDS/IPS: 8
1.2.1.Cấu trúc chung: 8
1.2.2 Cơ chế hoạt động: 10
1.2.3 Các phương pháp nhận diện: 11
1.3 SNMP và hệ thống giám sát mạng: 12
1.3.1 Giới thiê ̣u giao thức SNMP: 12
1.3.2 Ca ́ c yêu cầu giám sát hê ̣ thống ma ̣ng: 14
TIỂU KẾT CHƯƠNG 1 15
CHƯƠNG 2 - TỔNG QUAN VỀ KỸ THUẬT MÁY HỌC 16
2.1 Máy học: 16
2.1.1 Giới thiệu máy học: 16
2.1.2 Các phân loại giải thuật máy học: 16
2.2 Các mô hình máy học cơ bản: 17
2.2.1 Mạng nơ-ron: 17
2.2.1.1 Khái niêm: 17
Trang 62.2.1.2 Kiến trúc của mạng kết nối đầy đủ: 18
2.2.1.3 Phương thức suy luận thông tin của mạng: 19
2.2.1.4 Mô hình học: 21
2.2.2 Cây quyết định: 22
2.2.2.1 Giới thiệu chung: 22
2.2.2.2 Các thuật toán: 23
2.2.2.3 Giới thiệu về thuật toán ID3: 24
2.2.3 Máy vectơ hỗ trợ: 31
2.2.3.1 Giới thiệu máy vectơ hỗ trợ: 31
2.2.3.2 Mô hình SVM: 31
2.2.3.3 Thuật toán phát hiện tấn công mạng dựa trên máy vectơ hỗ trợ: 32
2.3 Tập dữ liệu KDD99: 33
TIỂU KẾT CHƯƠNG 2 34
CHƯƠNG 3 – MÔ HÌNH PHÁT HIỆN XÂM NHẬP MẠNG VÀ KẾT QUẢ THỰC NGHIỆM 35
3.1 Giới thiệu bộ công cụ TensorFlow: 35
3.2 Phương pháp huấn luyện của Tensorflow: 36
3.3 Thuật toán lan truyền ngược – back propagation để huấn luyện mạng nơ-ron: 38
3.3.1 Mô tả thuật toán: 38
3.3.2 Hàm kích hoạt để chuyển các dữ liệu giữa các lớp: 40
3.3.3 Giải thuật gradient descent để tối ưu hóa hàm mất mát: 42
3.4 Mô hình cài đặt thực nghiệm: 44
3.4.1 Thu thập và xử lý tập dữ liệu: 44
3.4.2 Các module chính của chương trình: 45
KẾT LUẬN 49
DANH MỤC TÀI LIỆU THAM KHẢO 51
Trang 7DANH MỤC CÁC VIẾT TẮT
Viết tắt Tiếng Anh Tiếng Việt
IDS Intrusion Detection System Hệ thống phát hiện xâm nhập SNMP Simple Network Management Protocol Giao thức quản lý mạng đơn giản
OID Object Identifier Định danh đối tượng
NIDS Network Based IDS IDS trên mạng
HIDS Host Based IDS IDS trên máy tính
OSI Open Systems Interconnection Mô hình tham chiếu
UDP User Datagram Protocol Giao thức cốt lỗi TCP/IP
HTTP HyperText Transfer Protocol Giao thức truyền tải siêu văn bảnFTP File Transfer Protoco Giao thức truyền file
API Application Programming Interface Giao diện chương trình ứng dụng
Trang 8DANH SÁCH CÁC BẢNG
Bảng 1.1: Mô tả các phương thức SNMP 14
Bảng 2.1: Tập dữ liệu ví dụ về thời tiết và quyết định chơi Tennis 25
Trang 9DANH SÁCH HÌNH ẢNH
Hình 1.1: Các thành phần của một hệ IDS 10
Hình 1.2: Các thành phần chính của giao thức SNMP 13
Hình 1.3: Minh họa các phương thức của SNMP 14
Hình 2.1: Minh họa cho kết nối giữa các lớp trong mạng nơ-ron 19
Hình 2.2: Sơ đồ khối của mô hình học với một người dạy 22
Hình 2.3: Cây quyết định theo giải thuật ID3 26
Hình 2.4: Phân vùng cây quyết định 27
Hình 2.5: Cây quyết định sau khi phân vùng 27
Hình 2.6: Phân vùng cây quyết định sau khi tính Gain 29
Hình 2.7: Cây quyết định hoàn chỉnh 30
Hình 2.8: Tập luật được tạo thành từ cây quyết định 31
Hình 2.9: Hình ảnh của record trong dataset 34
Hình 3.1: Chương trình tensorflow cơ bản 36
Hình 3.2: Ma trận điểm ảnh của dữ liệu số trong 37
Hình 3.3: Đơn vị xử lý 37
Hình 3.4: Minh họa thuật toán Gradient descent 43
Hình 3.5: Các module chính của chương trình 46
Hình 3.6: Kết quả huấn luyện sau 100 bước học 47
Hình 3.7: Dữ liệu trước khi phân loại 47
Hình 3.8: Dữ liệu sau khi phân loại và dán nhãn 48
Hình 3.9: Kết quả đánh giá qua TensorBoard 48
Trang 10MỞ ĐẦU
Hiện nay, tình hình an ninh mạng của Việt Nam và trên thế giới ngày càng trở nên phức tạp Thế giới đã chứng kiến nhiều website của các tên tuổi tập đoàn lớn cũng từng bị hacker tấn công gây hậu quả lớn như JP Morgan, Bank of America, Citigroup, Ebay Chính vì điều này, vấn đề bảo mật thông tin đang ngày được nhiều người quan tâm và tìm hiểu
Các nghiên cứu về giải pháp bảo mật, an toàn thông tin trên thế giới đang phát triển ngày càng mạnh mẽ Hàng loạt các công ty đưa ra giải pháp về an toàn hệ thống, bảo mật thông tin cung cấp nhiều sản phẩm cho thị trường : trong số đó có PIX, ASA của Cisco, O2Security, Microsoft [1]
Với mục đích đưa ra phương pháp phát hiện sự xâm nhập bất hợp pháp vào môi trường mạng nhằm giúp cho dữ liệu được bảo mật, vấn đề an ninh mạng được đảm bảo, nghiên cứu về “kỹ thuật máy học trong việc phát hiện xâm nhập mạng” là một vấn đề đặt ra
Trong nước cũng có một số nghiên cứu liên quan đến xâm nhập mạng Chẳng hạn, báo cáo luận văn thạc sĩ kỹ thuật máy tính đề tài “Xây dựng hệ thống hỗ trợ giám sát mạng” tác giả Nguyễn Đăng Bảo Phúc – Đại học Đà Nẵng tháng 3/2012 Nội dung của luận văn tác giả hướng dẫn cách cài đặt và cấu hình chương trình mã nguồn mở Nagios để theo dõi giám sát một hệ thống mạng kết hợp Gammu để gửi tin nhắn đến quản trị mạng [2]
Báo cáo luận văn thạc sĩ kỹ thuật với đề tài “Hệ thống phát hiện và chống xâm nhập mạng(IDS/IPS): Khảo sát lý thuyết & ứng dụng” của tác giả Huỳnh Nguyên Chính – Học Viện Công nghệ Bưu chính Viễn Thông tháng 1/2010 Nội dung của luận văn nhằm xây dựng công cụ giám sát mạng tích hợp từ: Snort – Fwsnort – Nagios – Cacti, kết hợp với hệ thống báo động linh hoạt qua: web, audio, email và SMS [3]
Báo cáo nghiên cứu khoa học đề tài “Xây dựng hệ thống giám sát mạng dựa trên mã nguồn mở” tác giả nhóm sinh viên Khoa Công nghệ thông tin Đại học Đà
Trang 11Lạt năm 2010 Nội dung báo cáo là những tìm hiểu ban đầu về cách thức hoạt động của chương trình Nagios và hướng dẫn cài đặt [4]
Bên cạnh đó, trên thế giới cũng có rất nhiều đề tài nghiên cứu về kỹ thuật máy học trong phát hiện xâm nhập mạng Chẳng hạn, bài báo “A Survey on Machine Learning Techniques for Intrusion Detection Systems” của đồng tác giả Jayveer Singh và Manisha J Nene đã đánh giá được những ưu điểm và nhược điểm của một
số thuật toán máy học, theo đó kỹ thuật máy học dùng Mạng-nơ-ron (Neural Network) do quá trình huấn luyện chậm nên không thích hợp cho việc phát hiện trong thời gian thực, Support Vector Machine (SVM) thì khả năng học tốt hơn cho mẫu dữ liệu nhỏ, tỷ lệ huấn luyện và quyết định cao, nhưng chủ yếu sử dụng phân loại nhị phân mà không cung cấp thêm thông tin về loại phát hiện các cuộc tấn công còn thuật toán Genetic (Genetic Algorithm) có khả năng phát sinh các quy tắc phân loại tốt nhất và tối ưu nhưng thuật toán không thể đảm bảo thời gian đáp ứng tối ưu hóa liên tục Bài báo cũng đưa ra ý kiến, trong thuật toán phát hiện xâm nhập, một lượng lớn dữ liệu cần được phân tích để xây dựng quy tắc phát hiện mới để tăng số lượng phát hiện các cuộc tấn công mạng ở tốc độ cao Ngoài ra, thuật toán phát hiện xâm nhập nên xem xét tính phức tạp của các hành vi tấn công để nâng cao tốc độ phát hiện và phát hiện chính xác, đây được xem là lĩnh vực nghiên cứu quan trọng trong vấn đề về máy học [5]
Theo đó, bài báo “A Review of Intrusion Detection System Using Neural Network and Machine Learning Technique” của đồng tác giả Deepika P Vinchurkar, Alpa Reshamwala cũng giới thiệu về mô hình và một số thách thức của hệ thống phát hiện xâm nhập (IDS) hiện tại và bài báo cũng mô tả các cách tiếp cận khác nhau của hệ thống phát hiện xâm nhập, trong đó, mạng nơ-ron (Neural Network) và kĩ thuật học máy là phương pháp mà qua đó những thách thức của hệ thống IDS hiện tại được giải quyết, bên cạnh đó kỹ thuật phát hiện bất thường ( nomaly detection techniques) của hệ thống cũng được đề cập, phương pháp này dựa vào sự bất thường của máy chủ hoặc hệ thống mạng, rất nhiều kỹ thuật khác nhau được áp dụng dựa trên mô hình này: thống kê cơ bản, xích Markov và mô hình Marker, thuật toán Bayesian, Genetic và cả Neural Network…[6]
Trang 12Hầu hết các hệ thống phát hiện xâm nhập hiện tại chủ yếu dựa vào con người phân tích bản ghi trên hệ thống để phân biệt giữa xâm nhập và không xâm nhập Nhưng với sự gia tăng dữ liệu lưu lượng truy cập mạng, sự đánh giá của con người không đáp ứng được và không đảm bảo sự chính xác [5]
Việc ứng dụng các kĩ thuật máy học trong phát hiện xâm nhập là hướng tiếp cận
đã khắc phục được hạn chế trên và đang được quan tâm nghiên cứu
Các công trình nghiên cứu liên quan, các tác giả tập trung nghiên cứu chủ yếu các thuật toán trong các mô hình máy học nhằm nâng cao khả năng phát hiện xâm nhập mạng: Fuzzy logic, thuật toán Genetic, mạng nơ ron (Neural Network), cây quyết định (Decision Tree), Support vector machine(SVM) [7][8]…Tuy có nhiều phương pháp để phát hiện sự xâm nhập vào trong mạng, mỗi phương pháp đưa ra
có những ưu điểm và nhược điểm khách nhau, nhưng với sự phát triển và tiến bộ của máy tính và công nghệ , bộ công cụ nguồn mở TensorFlow của Google được áp dụng để giải quyết bài toán luồng dữ liệu có số chiều lớn ( bài toán mà trong đó dữ liệu có nhiều thuộc tính hoặc các thuộc tính có nhiều kiểu dữ liệu khác nhau) là phương pháp tương đối khả thi, cụ thể trong nghiên cứu này, chủ yếu tập trung vào phát hiện xâm nhập mạng của các dịch vụ sử dụng giao thức ftp ở lớp ứng dụng Ftp (file transfer protocol) là giao thứ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ạy trên hai cổng 20 và 21, ftp được đặc tả trong RFC 959 Hoạt động của ftp cần có hai máy tính, một máy chủ (server) và một máy khách (client) Máy chủ dùng chạy phần mềm cung cấp dịch vụ ftp gọi là trình chủ, lắng nghe yêu cầu về dịch vụ của các máy tính khác trên mạng lưới Máy khách chạy phần mềm ftp dành cho người sử dụng dịch vụ gọi là trình khách Một khi hai máy tính đã kết nối được với nhau, máy khách có thể xử lý một số thao tác
về tập tin như: tải tập tin lên máy chủ, tải tập tin từ máy chủ xuống máy của mình đổi tên của tập tin hoặc xóa tập tin ở máy chủ…Mục đích của giao thức là khuyến khích việc dùng chung tập tin hay dữ liệu, truyền tải dữ liệu một cách đáng tin cậy
và có hiệu quả Tuy nhiên, nó cũng bộc lộ những hạn chế về mặt an toàn thông tin, mật khẩu và nội dung của tập tin, dòng lệnh ftp có thể bị giám sát bởi kẻ tấn công Ngoài ra, kẻ tấn công có thể lợi dụng tính ủy quyển, được cài đặt sẵn trong giao thức để yêu cầu máy chủ gửi dữ liệu sang một cổng tùy chọn ở máy tính thứ ba
Trang 13Bên cạnh đó, bên nhận không có phương pháp để kiểm chứng tính toàn vẹn của
dữ liệu được truyền sang Nếu kết nối bị ngắt giữa chừng thì cũng không có cách gì
để nhận biết rằng tập tin nhận đã hoàn chỉnh hay chưa hoàn chỉnh [9]
Chính bởi những đều đó, việc tổng hợp tốt các kỹ thuật về máy học, khả năng phân tích tốt các nguồn dữ liệu để cải thiện được hiệu suất, nâng cao hiệu quả phát hiện xâm nhập vào mạng khi các kết nối sử dụng giao thức có liên quan đến ftp sẽ
là ứng dụng được khai thác trong đề tài này
CHƯƠNG 1- CƠ SỞ LÝ THUYẾT 1.1.Vai trò của IDS/IPS trong hệ thống mạng:
1.1.1.Tổng quan về bảo mật :
Bảo mật là một vấn đề lớn đối với tất cả các mạng trong môi trường doanh nghiệp ngày nay Hacker và Intruder (kẻ xâm nhập) đã nhiều lần thành công trong việc xâm nhập vào mạng công ty và đem ra ngoài rất nhiều thông tin giá trị Đã có nhiều phương pháp được phát triển để đảm bảo cho hạ tầng mạng và giao tiếp trên Internet như: sử dụng firewall, encryption (mã hóa), VPN (mạng riêng ảo)… trong
đó có hệ thống phát hiện xâm nhập
Khi hiểu sâu các khái niệm về bảo mật, phân tích chính xác các cuộc tấn công, phân tích các điểm yếu của hệ thống và tăng cường bảo mật những vùng cần thiết có thể làm giảm thiệt hại gây nên từ các cuộc tấn công Sau đây là khía cạnh quan trọng của bảo mật mà ta cần phải quan tâm đến nhằm gia tăng độ an toàn cho
hệ thống:
+ Tính cẩn mật (Confidentiality): nhằm đảm bảo dữ liệu được bảo vệ khỏi những nhóm không được phép truy nhập Tính cẩn mật yêu cầu dữ liệu trên máy và
dữ liệu truyền trên mạng chỉ có thể được đọc bởi những nhóm được phép
+ Tính toàn vẹn (Integrity): hệ thống đảm bảo tính toàn vẹn của dữ liệu nếu nó ngăn sự thay đổi dữ liệu trái phép Sự thay đổi bao gồm tạo, ghi, sửa đổi, xóa và xem lại thông điệp đã được truyền
Trang 14+ Tính sẵn sàng (Availability): yêu cầu tài sản hệ máy tính là sẵn sàng đối với nhóm được phép Mục tiêu của kiểu tấn công từ chối dịch vụ DoS là phá hoại tính sẵn sàng của tài nguyên hệ thống, bao gồm tạm thời và lâu dài
1.1.2 Những mối đe doạ:
a) Mối đe dọa không có cấu trúc(Untructured threat):
Hầu hết tấn công không có cấu trúc đều được gây ra bởi Script Kiddies (những
kẻ tấn công chỉ sử dụng các công cụ được cung cấp, không có hoặc có ít khả năng lập trình) hay những người có trình độ vừa phải Hầu hết các cuộc tấn công đó vì sở thích cá nhân, nhưng cũng có nhiều cuộc tấn công có ý đồ xấu
b) Mối đe dọa có cấu trúc(Structured threat):
Structured threat là các hành động cố ý, có động cơ và kỹ thuật cao Không như Script Kiddes, những kẻ tấn công này có đủ kỹ năng để hiểu các công cụ, có thể chỉnh sửa các công cụ hiện tại cũng như tạo ra các công cụ mới Động cơ thường thấy có thể vì tiền, hoạt động chính trị, tức giận hay báo thù Các cuộc tấn công này thường có mục đích từ trước Các cuộc tấn công như vậy thường gây hậu quả nghiêm trọng cho hệ thống Một cuộc tấn công structured thành công có thể gây nên sự phá hủy cho toàn hệ thống
c) Mối đe dọa từ bên ngoài(External threat):
External threat là các cuộc tấn công được tạo ra khi không có một quyền nào trong hệ thống Người dùng trên toàn thế giới thông qua Internet đều có thể thực hiện các cuộc tấn công như vậy
Các hệ thống bảo vệ vành đai là tuyến bảo vệ đầu tiên chống lại external threat Bằng cách gia tăng hệ thống bảo vệ vành đai, ta có thể giảm tác động của kiểu tấn công này xuống tối thiểu Mối đe dọa từ bên ngoài là mối đe dọa mà các công ty thường phải bỏ nhiều tiền và thời gian để ngăn ngừa
d) Mối đe dọa từ bên trong(Internal threat):
Các cách tấn công từ bên trong được thực hiện từ một khu vực được tin cậy trong mạng Mối đe dọa này khó phòng chống hơn vì các nhân viên có thể truy cập mạng và dữ liệu bí mật của công ty Khi một kẻ xâm nhập vượt qua vỏ bọc bảo mật cứng cáp của mạng, mọi chuyện còn lại thường là rất đơn giản
Trang 15Đôi khi các cuộc tấn công dạng structured vào hệ thống được thực hiện với sự giúp
đỡ của người bên trong hệ thống Trong trường hợp đó, kẻ tấn công trở thành structured internal threat, kẻ tấn công có thể gây hại nghiêm trọng cho hệ thống và
ăn trộm tài nguyên quan trọng của công ty Structured internel threat là kiểu tấn công nguy hiểm nhất cho mọi hệ thống [10]
1.1.3 Các phương thức tấn công :
a) Thăm dò:
Thăm dò là việc thăm dò và ánh xạ bản đồ hệ thống, dịch vụ hay điểm yếu một cách trái phép Nó cũng được biết như việc thu thập thông tin, và trong nhiều trường hợp là hành động xảy ra trước việc xâm nhập hay tấn công từ chối dịch vụ Một kẻ tấn công ban đầu thường rà quét bằng lệnh ping tới mục tiêu để xác định địa chỉ IP nào còn tồn tại, sau đó quét các cổng để xác định xem dịch vụ mạng hoặc mạng nào cổng nào đang mở Từ những thông tin đó, kẻ tấn công truy vấn tới các port để xác định loại, version của ứng dụng và cả của hệ điều hành đang chạy Từ những thông tin tìm được, kẻ tấn công có thể xác định những lỗ hổng có trên hệ thống để phá hoại Việc thăm dò thường được thực hiện bằng các công cụ hay câu lệnh có sẵn trên hệ điều hành
b)Truy nhập:
Truy cập là chỉ việc thao túng dữ liệu, truy nhập hệ thống hay leo thang đặc quyền trái phép Truy nhập vào hệ thống là khả năng của kẻ xâm nhập để truy nhập vào thiết bị mà không có tài khoản hay mật khẩu Việc xâm nhập đó thường được thực hiện bằng cách sử dụng các công cụ, đoạn mã hack nhằm tấn công vào điểm yếu của hệ thống hay ứng dụng Trong một số trường hợp kẻ xâm nhập muốn lấy quyền truy nhập mà không thực sự cần lấy trộm thông tin, đặc biệt khi động cơ của việc xâm nhập là do thách thức hay tò mò.Phương thức xâm nhập rất đa dạng Phương thức đầu tiên là lấy mật mã của tài khoản.Tài khoản và mật mã cũng có thể lấy được bằng các phương pháp nghe trộm từ bước thăm dò như Man-In-The-Middle attack, cho phép kẻ xâm nhập dễ dàng thu được nhiều thông tin Khi đã lấy được tài khoản, kẻ tấn công có thể vào hệ thống như người dùng hợp pháp bình thường, và nếu tài khoản đó có đặc quyền lớn thì kẻ xâm nhập có thể tạo ra backdoor cho các lần xâm nhập sau
Trang 16c) Từ chối dịch vụ:
Từ chối dịch vụ (DoS) là trạng thái khi kẻ tấn công vô hiệu hóa hay làm hỏng mạng, hệ thống máy tính, hay dịch vụ với mục tiêu từ chối cung cấp dịch vụ cho user dự định Nó thường liên quan đến việc phá hoại hay làm chậm hệ thống để người dùng không thể sử dụng được Trong hầu hết các trường hợp, việc tấn công chỉ cần thực hiện bằng cách chạy các công cụ, đoạn mã hack, kẻ tấn công không cần quyền truy nhập vào hệ thống Chỉ với lí do phá hoại, tấn công từ chối dịch vụ gây ra là rất lớn và đây là kiểu tấn công nguy hiểm nhất đặc biệt là cho các trang web thương mại
IDS phát hiện tấn công dựa trên các dấu hiệu đặc biệt về các nguy cơ đã biết (giống như cách các phần mềm diệt virus dựa vào các dấu hiệu đặc biệt để phát hiện
và diệt virus) hay dựa trên so sánh lưu thông mạng hiện tại với baseline (thông số
đo đạc chuẩn của hệ thống) để tìm ra các dấu hiệu khác thường
IDS được coi là công cụ bảo mật vô cùng quan trọng, nó được lựa chọn là giải pháp bảo mật được bổ sung cho Firewall Một IDS có khả năng phát hiện ra các đoạn mã độc hại hoạt động trong hệ thống mạng, có khả năng vượt qua được Firewall sau đó nó có thể kết hợp với Firewall hoặc một số công cụ khác để đưa ra cách đối phó với những đoạn mã độc đó
Các ứng dụng cơ bản của hệ IDS:
– Nhận diện các nguy cơ có thể xảy ra
– Ghi nhận thông tin, log để phục vụ cho việc kiểm soát nguy cơ
– Nhận diện các hoạt động thăm dò hệ thống
Trang 17– Nhận diện các yếu khuyết của chính sách bảo mật
– Ngăn chặn vi phạm chính sách bảo mật
Một hệ thống phát hiện xâm nhập trái phép cần phải thỏa mãn những yêu cầu sau: – Tính chính xác (Accuracy): IDS không được coi những hành động thông thường trong môi trường hệ thống là những hành động bất thường hay lạm dụng (hành động thông thường bị coi là bất thường được gọi là false positive)
– Hiệu năng (Performance): Hiệu năng của IDS phải đủ để phát hiện xâm nhập trái phép trong thời gian thực (nghĩa là hành động xâm nhập trái phép phải được phát hiện trước khi xảy ra tổn thương nghiêm trọng)
– Tính trọn vẹn (Completeness): IDS không được bỏ qua xâm nhập trái phép nào (những cuộc xâm nhập trái phép bị bỏ qua được gọi là false negative) Đây là một điều kiện khó có thể thỏa mãn được vì gần như không thể có tất cả thông tin về các tấn công từ quá khứ, hiện tại và tương lai
– Chịu lỗi (Fault Tolerance): yêu cầu bản thân IDS phải có khả năng chống lại tấn công
– Khả năng mở rộng (Scalability): IDS phải có khả năng xử lý trong trạng thái xấu nhất là không bỏ sót thông tin Yêu cầu này có liên quan đến hệ thống mà các sự kiện tương quan đến từ nhiều nguồn tài nguyên với số lượng host nhỏ Với sự phát triển nhanh và mạnh của mạng máy tính, hệ thống có thể bị quá tải bởi sự tăng trưởng của số lượng sự kiện
1.2 Đặc điểm của hệ thống IDS/IPS:
1.2.1.Cấu trúc chung:
Cấu trúc hệ thống IDS phụ thuộc vào kiểu phương pháp được sử dụng để phát hiện xâm nhập, các cơ chế xử lý khác nhau được sử dụng đối với một IDS.Công tác phòng chống xâm nhập đòi hỏi một sự kết hợp tốt được lựa chọn của “mồi
và bẫy” nhằm điều tra các mối đe dọa, nhiệm vụ chuyển hướng sự chú ý của kẻ xâm nhập từ các hệ thống cần bảo vệ sang các hệ thống giả lập là nhiệm vụ của 1 dạng IDS riêng biệt (Honeypot IDS), cả hai hệ thống thực và giả lập được liên tục giám sát và dữ liệu thu được được kiểm tra cẩn thận để phát hiện các cuộc tấn công có thể Một khi xâm nhập một đã được phát hiện, hệ thống IDS phát các cảnh báo đến
Trang 18người quản trị về sự kiện này Bước tiếp theo được thực hiện, hoặc bởi các quản trị viên hoặc bởi chính hệ thống IDS, bằng cách áp dụng các biện pháp đối phó (chấm dứt phiên làm việc, sao lưu hệ thống, định tuyến các kết nối đến Honeypot IDS hoặc sử dụng các cơ sở hạ tầng pháp lý…) – tùy thuộc vào chính sách an ninh của mỗi tổ chức
– Database: dùng lưu trữ thông tin từ Sensor/ Agent hay Management Server
– Console: là chương trình cung cấp giao diện cho IDS users/ Admins Có thể cài đăt trên một máy tính bình thường dùng để phục vụ cho tác vụ quản trị, hoặc để giám sát, phân tích
Sensor là yếu tố cốt lõi trong một hệ thống phát hiện xâm nhập, nó có trách nhiệm phát hiện các xâm nhập nhờ chứa những cơ cấu ra quyết định đối với sự xâm nhập Sensor nhận dữ liệu thô từ ba nguồn thông tin chính: kiến thức cơ bản (knowledge base) của IDS, syslog và audit trail Các thông tin này tạo cơ sở cho quá trình ra quyết định sau này
Sensor được tích hợp với các thành phần chịu trách nhiệm thu thập dữ liệu – một event generator Dựa vào các chính sách tạo sự kiện nó xác định chế độ lọc thông tin thông báo sự kiện Các event generator (hệ điều hành, mạng, ứng dụng) tạo ra một chính sách nhất quán tập các sự kiện có thể là log hoặc audit của các sự kiện của hệ thống, hoặc các gói tin Điều này, thiết lập cùng với các thông tin chính sách có thể được lưu trữ hoặc là trong hệ thống bảo vệ hoặc bên ngoài
Trong những trường hợp nhất định, dữ liệu không được lưu trữ mà được chuyển trực tiếp đến các phân tích (thông thường áp dụng với các gói packet)
Trang 19Hình 1.1: Các thành phần của một hệ IDS
1.2.2 Cơ chế hoạt động:
Hệ thống phát hiện xâm nhập hoạt động dựa trên cơ chế giám sát lưu lượng trên hệ thống, việc giám sát có thể thực hiện bằng nhiều phương pháp:
+ Mirror LAN traffic vào cổng monitoring của IDS
+ Sử dụng inline IDS (IOS IDS, PIX IDS như đối với Cisco; IDP như đối với Netscreen; một số còn gọi là IPS)
IDS có khả năng dò các kiểu tấn công vào mạng Chúng ta có thể hình dung hoạt động của IDS như một camera đặt trong mạng nhằm theo dõi tất cả các gói tin trong mạng Tuy nhiên , nó hơn camera thông thường ở chỗ nó có thể phản ứng lại các kiểu tấn công bằng cách tạo ra các alarm message, gửi đến network administrator thông qua một “console” gọi là CSPM (nếu của Cisco) hoặc báo cho các thiết bị
Trang 20mạng như PIX firewall, router để các thiết bị này chặn các session đó lại IDS có khả năng dò ra những kiểu tấn công như reconnaissance attack , access attack và denial of service attack…
1.2.3 Các phương pháp nhận diện:
Các hệ thống IDS thường dùng nhiều phương pháp nhận diện khác nhau, riêng
rẽ hoặc tích hợp nhằm mở rộng và tăng cường độ chính xác nhận diện Có thể chia làm ba phương pháp nhận diện chính là: Signature-base Detection, Anormaly-base Detection và Stateful Protocol Analysis và các phương pháp khác tùy vào yêu cầu
hệ thống
a) Nhận diện dựa vào dấu hiệu (Signature-base Detection):
Signature-base Detection sử dụng phương pháp so sánh các dấu hiệu của đối tượng quan sát với các dấu hiệu của các mối nguy hại đã biết Phương pháp này có hiệu quả với các mối nguy hại đã biết nhưng hầu như không có hiệu quả hoặc hiệu quả rất ít đối với các mối nguy hại chưa biết,các mối nguy hại sử dụng kỹ thuật lẩn tránh (evasion techniques), hoặc các biến thể Signature-based Detection không thể theo vết và nhận diện trạng thái của các truyền thông phức tạp
b) Nhận diện sự bất thường (Abnormaly-base Detection):
Abnormaly-base Detection so sánh định nghĩa của những hoạt động bình thường và đối tượng quan sát nhằm xác định các độ lệch Một hệ IDS sử dụng phương pháp Anormaly-base detection có các profiles đặc trưng cho các hành vi được coi là bình thường, được phát triển bằng cách giám sát các đặc điểm của hoạt động tiêu biểu trong một khoảng thời gian
c) Phân tích trạng thái giao thức (Stateful Protocol Analysis):
Phân tích trạng thái protocol là quá trình so sánh các profile định trước của hoạt động của mỗi giao thức được coi là bình thường với đối tượng quan sát từ đó xác định độ lệch Khác với phương pháp Anomaly-base Detection, phân tích trạng thái protocol dựa trên tập các profile tổng quát cung cấp bởi nhà sản xuất theo đó quy định 1 protocol nên làm và không nên làm gì “Stateful” trong phân tích trạng thái protocol có nghĩa là IDS có khả năng hiểu và theo dõi tình trạng của mạng, vận chuyển, và các giao thức ứng dụng có trạng thái Nhược điểm của phương pháp này
là chiếm nhiều tài nguyên do sự phức tạp trong việc phân tích và theo dõi nhiều
Trang 21phiên đồng thời Một vấn đề nghiêm trọng là phương pháp phân tích trạng thái protocol không thể phát hiện các cuộc tấn công khi chúng không vi phạm các đặc tính của tập các hành vi chấp nhận của giao thức
1.3 SNMP và hệ thống giám sát mạng:
1.3.1 Giơ ́ i thiê ̣u giao thức SNMP:
SNMP là giao thức quản lý mạng đơn giản, như vâ ̣y thế nào là giao thức quản lý mạng đơn giản.SNMP dùng để quản lý, nghĩa là có thể theo dõi, có thể lấy thông tin, có thể được thông báo, và có thể tác động để hệ thống hoạt động như ý muốn
SNMP dùng để quản lý mạng, nghĩa là nó được thiết kế để chạy trên nền TCP/IP và quản lý các thiết bị có nối mạng TCP/IP
SNMP là giao thức đơn giản, do nó được thiết kế đơn giản trong cấu trúc bản tin và thủ tục hoạt động, và còn đơn giản trong bảo mật (ngoại trừ SNMP version 3) Sử dụng phần mềm SNMP, người quản trị mạng có thể quản lý, giám sát tập trung từ xa toàn mạng của mình [11]
SNMP có 4 phiên bản : SNMPv1, SNMPv2c, SNMPv2u và SNMPv3 Các phiên bản này khác nhau một chút ở định dạng bản tin và phương thức hoạt động Hiện tại SNMPv1 là phổ biến nhất do có nhiều thiết bị tương thích nhất và có nhiều phần mềm hỗ trợ nhất Trong khi đó chỉ có một số thiết bị và phần mềm hỗ trợ
SNMPv3
a) Các thành phần chính của giao thức SNMP:
Theo RFC1157 kiến trúc của SNM bao gồm 2 thành phần: các trạm quản lý mạng (network management station) và các thành tố (networkelement) mạng Network management station thường là một máy tính chạy phần mềm quản lý SNMP (SNMP management application), dùng để giám sát và điều khiển tập trung các network element
Trang 22Hình 1.2: Các thành phần chính của giao thức SNMP
Network element là các thiết bị, máy tính, hoặc phần mềm tương thích SNMP
và được quản lý bởi network management station Như vậy element bao gồm device, host và aplication
Một management station có thể quản lý nhiều element, một element cũng có thể được quản lý bởi nhiều management station Vậy nếu một element được quản lý bởi
2 station thì điều gì sẽ xảy ra ? Nếu station lấy thông tin từ element thì cả 2 station
sẽ có thông tin giống nhau Nếu hai station tác động đến cùng một element thì element sẽ đáp ứngcả 2 tác động theo thứ tự cái nào đến trước
Ngoài ra còn có khái niệm SNMP agent SNMP agent là một tiến trình (process) chạy trên networkelement, có nhiệm vụ cung cấp thông tin của element cho station, nhờ đó station có thể quản lý được element Chính xác hơn là application chạy trên station và agent chạy trên element mới là 2 tiến trình SNMP trực tiếp liên hệ với nhau
b) Các phương thức của SNMP:
Giao thức SNMPv1 có 5 phương thức hoạt động, tương ứng với 5 loại bản tin như sau :
Trang 23Bảng 1.1: Mô tả các phương thức SNMP
Mỗi bản tin đều có chứa OID để cho biết object mang trong nó là gì OID trong GetRequest cho biết nó muốn lấy thông tin của object nào OID trong GetResponse cho biết nó mang giá trị của object nào OID trong SetRequest chỉ ra
nó muốn thiết lập giá trị cho object nào OID trong Trap chỉ ra nó thông báo sự kiện xảy ra đối với object nào
Hình 1.3: Minh họa các phương thức của SNMP
Đối với các phương thức Get/Set/Response thì SNMP Agent lắng nghe ở port UDP 161, còn phương thức Trap thì SNMP TrapReceiver lắng nghe ở port UDP 162 [11]
1.3.2 Ca ́ c yêu cầu giám sát hê ̣ thống mạng:
Các cơ chế giám sát ma ̣ng được nhìn nhâ ̣n từ hai góc đô ̣, góc đô ̣ ma ̣ng chỉ ra
hê ̣ thống giám sátnằm ta ̣i các mức cao của mô hình OSI và từ phía người điều hành giám sáthê ̣ thống ma ̣ng Mă ̣c dù cá rất nhiều quan điểm khác nhau về mô hình giám
Trang 24sát hê ̣ thống nhưng đều thống nhất bởi ba chức năng giám sátcơ bản gồm: giám sát, điều khiển và đưa ra báo cáo tới người điều hành
Chức năng giám sát có nhiệm vụ thu thập liên tục các thông tin về trạng thái của các tài nguyên được quản lý sau đó chuyển các thông tin này dưới dạng các sự kiện và đưa ra các cảnh báo khi các tham số của tài nguyên mạng được quản lý vượt quá ngưỡng cho phép
Chức năng quản lý có nhiệm vụ thực hiện các yêu cầu của người quản lý hoặc các ứng dụng quản lý nhằm thay đổi trạng thái hay cấu hình của một tài nguyên được quản lý nào đó
Chức năng đưa ra báo cáo có nhiệm vụ chuyển đổi và hiển thị các báo cáo dưới dạng mà người quản lí có thể đọc, đánh giá hoặc tìm kiếm, tra cứu thông tin được báo cáo
Cơ chế giám sát mạng bao gồm cả các giao thức quản lý mạng, các giao thức quản lý mạng cung cấp các cơ chế thu thập, thay đổi và truyền các dữ liệu quản lý mạng qua mạng
Thực hiện nhiệm vụ cấu hình chính là cài đặt các tham số trong một thiết bị mạng để điều hành và điều khiển các phần tử Các cơ chế cấu hình bao gồm truy nhập trực tiếp tới các thiết bị, truy nhập từ xa và lấy các file cấu hình từ các thiết bị
đó Dữ liệu cấu hình được thông qua các cách sau:
Các câu lệnh SET của SNMP
Truy nhập qua telnet và giao diện dòng lệnh
Truy nhập qua HTTP
Truy nhập qua kiến trúc CORBA
Sử dụng FTP/TFTP để lấy file cấu hình
TIỂU KẾT CHƯƠNG 1
Chương 1 đã nêu lên những nội dung cơ bản về IDS: vai trò, đặc điểm, cơ chế hoạt động và khả năng phát hiện và phòng chống xâm nhập thông qua giám sát lưu lượng, giám sát trạng thái hoạt động của thiết bị và dịch vụ trong hệ thống mạng
Trang 25CHƯƠNG 2 - TỔNG QUAN VỀ KỸ THUẬT MÁY HỌC
2.1 Máy học:
2.1.1 Giới thiệu máy học:
Học máy, có tài liệu gọi là Máy học (tiếng Anh: machine learning) là một
lĩnh vực của trí tuệ nhân tạo liên quan đến việc phát triển các kĩ thuật cho phép các máy tính có thể "học" Cụ thể hơn, học máy là một phương pháp để tạo ra các chương trình máy tính bằng việc phân tích các tập dữ liệu Học máy có liên quan lớn đến thống kê, vì cả hai lĩnh vực đều nghiên cứu việc phân tích dữ liệu, nhưng khác với thống kê, học máy tập trung vào sự phức tạp của các giải thuật trong việc thực thi tính toán Học máy có tính ứng dụng rất cao bao gồm máy truy tìm dữ liệu, chẩn đoán y khoa, phát hiện thẻ tín dụng giả, phân tích thị trường chứng khoán, phân loại các chuỗi DNA, nhận dạng tiếng nói và chữ viết, dịch tự động, chơi trò chơi và cử động rô-bốt
2.1.2 Các phân loại giải thuật máy học:
Các thuật toán học máy được phân loại theo kết quả mong muốn của thuật toán Các loại thuật toán thường dùng bao gồm:
Học có giám sát: thuật toán tạo ra một hàm ánh xạ dữ liệu vào tới kết quả mong muốn Một phát biểu chuẩn về một việc học có giám sát là bài toán phân loại: chương trình cần học một hàm ánh xạ một vector [X1,X2, ,Xn] tới một vài lớp bằng cách xem xét một số mẫu dữ liệu - kết quả của hàm đó
Học không giám sát : mô hình hóa một tập dữ liệu, không có sẵn các ví dụ đã được gắn nhãn
Học nửa giám sát: kết hợp các ví dụ có gắn nhãn và không gắn nhãn để sinh một hàm hoặc một bộ phân loại thích hợp
Học tăng cường: trong đó, thuật toán học một chính sách hành động tùy theo các quan sát về thế giới Mỗi hành động đều có tác động tới môi trường, và môi trường cung cấp thông tin phản hồi để hướng dẫn cho thuật toán của quá trình học
Trang 26Chuyển đổi: tương tự học có giám sát nhưng không xây dựng hàm một cách
rõ ràng Thay vì thế, cố gắng đoán kết quả mới dựa vào các dữ liệu huấn luyện, kết quả huấn luyện, và dữ liệu thử nghiệm có sẵn trong quá trình huấn luyện
Học cách học: trong đó thuật toán học thiên kiến quy nạp của chính mình, dựa theo các kinh nghiệm đã gặp Phân tích hiệu quả các thuật toán học máy là một nhánh của ngành thống kê, được biết với tên lý thuyết học điện toán
2.2 Các mô hình máy học cơ bản:
Synapse là một thành phần liên kết giữa các , nó nối đầu ra của nơ-ron này với đầu vào của nơ-ron khác Đặc trưng của synapse là một trọng số mà mỗi tín hiệu đi qua đều được nhận với trọng số này Các trọng số synapse chính là các tham số tự do cơ bản của mạng nơ-ron, có thể thay đổi được nhằm thích nghi với môi trường xung quanh
Mạng nơ-ron là một mô hình học máy có khả năng mô phỏng bất kỳ hàm số hay quan hệ nào Tuy không phải là mô hình duy nhất có khả năng này (một ví dụ khác là cây quyết định - decision tree), mạng nơ-ron là mô hình duy nhất hiện nay làm được điều đó với một số lượng tham số vừa phải mà máy tính có khả năng tính toán ra được trong thời gian hợp lý Tuỳ vào ứng dụng cụ thể, mạng nơ-ron có thể mang các kiến trúc khác nhau, cho phép thông tin giữa các nơ-ron trong mạng được lan truyền theo nhiều phương pháp và định hướng thích hợp Ở kiến trúc này, mạng
Trang 27nơ-ron gồm nhiều lớp nơ-ron(nơ-ron layer) được sắp xếp theo thứ tự tuyến tính Các nơ-ron trong cùng một lớp không được kết nối với nhau Giữa hai lớp liên tiếp được kết nối với nhau tạo thành một đồ thị hai phía đầy đủ với các cạnh có trọng số được biểu diễn bởi một ma trận trọng số Kết cấu này gợi liên tưởng đến mô hình trong bộ não con người với các trong mạng có vai trò như các trong não người, còn các cạnh nối ứng với các đường truyền synapse [12][13]
2.2.1.2 Kiến trúc của mạng kết nối đầy đủ:
Như đã nói ở phần giới thiệu, các nơ-ron trong một mạng nơ-ron kết nối đầy
đủ được phân chia thành nhiều lớp Mỗi nơ-ron trong một lớp nhận giá trị trả ra từ các nơ-ron ở lớp liền trước, kết hợp các giá trị này thành một giá trị trung gian, và sau cùng truyền giá trị trung gian qua một hàm kích hoạt để trả về kết quả cho ở lớp tiếp theo
Cụ thể hơn, xét một mạng nơ-ron gồm L − 1 lớp ẩn Ta sẽ ký hiệu L(l) là tập hợp các lớp nằm trong lớp thứ l, với l = 0, 1, ,L Lớp L(0) là lớp dữ liệu vào Lớp L(L) là lớp dữ liệu ra Các lớp còn lại được gọi là các lớp ẩn Nơ-ron trong lớp thứ l chỉ nhận thông tin từ các nơ-ron thuộc lớp thứ l − 1 và chỉ truyền thông tin cho các nơ-ron thuộc lớp thứ l + 1 Tất nhiên, các nơ-ron thuộc lớp L(0) không nhận dữ liệu vào từ các nơ-ron khác và các nơ-ron thuộc lớp L(L) không truyền dữ liệu ra cho các nơ-ron khác Hình 1 minh hoạ liên kết xung quanh một nơ-ron mẫu trong một mạng nơ-ron
Giữa hai lớp liên tiếp Ll và Ll+1 trong mạng kết nối đầy đủ, ta thiết lập một ma trận trọng số W (l) với kích thước là |Ll+1|×|Ll| 2 Phần tử Wij (l) của ma trận này thể hiện độ ảnh hưởng của nơ-ron j trong lớp l lên nơ-ron i trong lớp l + 1 Tập hợp các
ma trận trọng số W = {W (0), W (1), · · · , W (L−1)} được gọi là tập hợp các tham
số của mạng nơ-ron Việc xác định giá trị của tập tham số được biết đến như việc học (learn) hay huấn luyện (train) mạng nơ-ron
Trang 28Hình 2.1: Minh họa cho kết nối giữa các lớp trong mạng nơ-ron
2.2.1.3 Phương thức suy luận thông tin của mạng:
Giả sử rằng một khi các tham số của một mạng nơ-ron được xác định, làm thế nào để sử dụng mạng nơ-ron này như một hàm số thông thường Thuật toán lan truyền tới (feed-forwarding) cho phép mạng nhận một điểm dữ liệu vào và tính toán điểm dữ liệu ra tương ứng
Trong thuật toán 1, tham số x(0) là vector dữ liệu vào của mạng Ở dòng 3, W (l−1)
· x(l−1) chỉ phép nhân giữa ma trận W (l−1) với vector x(l−1) Ở dòng 4, hàm f : R
→ R là một hàm kích hoạt mà ta ta sẽ tìm hiểu ngay phần sau fnhận một số thực và trả về một số thực Tuy nhiên, trong thuật toán, ta sử dụng ký hiệu f trên một vector
và được hiểu là áp dụng f lên từng thành phần của vector
Tức là:
f([
𝑣0𝑣1
𝑣𝑙 − 1
]) = f([
𝑓(𝑣0)𝑓(𝑣1)𝑓(𝑣𝑙 − 1)
]) (2.1)
Ngoài giá trị của hàm số được mô phỏng, x(L), thuật toán lan truyền tới còn trả về giá trị của hàm mất mát Loss, thể hiện độ tốt của tập tham số hiện tại
a) Mô phỏng hàm xác suất và hàm phân loại:
Mạng được ứng dụng rộng rãi để giải các bài toán phân loại, tức là xác định xem dữ liệu vào thuộc loại gì trong một tập các lựa chọn cho trước Để giải bài toán này, ta dùng mạng để mô phỏng một phân bố xác suất trên tập các lựa chọn Ví dụ
ta muốn dùng mạng để giải bài toán xác nhận gương mặt (face verification) Tập các lựa chọn chỉ gồm hai phần tử: với một cặp ảnh chân dung bất kì, ta yêu cầu mạng trả lời "có" hoặc "không" cho câu hỏi rằng hai bức ảnh đó có phải cùng một
Trang 29người hay không Mạng đưa ra câu trả lời dựa vào việc tính toán xác suất xảy ra của từng đáp án rồi chọn câu trả lời có xác suất cao hơn Trong trường hợp này, giả
sử rằng tổng xác suất của hai đáp án là 1, vậy thì ta chỉ cần tính xác suất cho một đáp án và suy ra xác suất của đáp án còn lại Một mạng sử dụng hàm sigmoid kích hoạt ở lớp cuối rất phù hợp để làm điều này, vì hàm sigmoid nhận vào một số thực
trong khoảng (−∞,+∞) và trả về một số thực trong khoảng (0,1)
Tổng quát hơn, khi tập phương án lựa chọn có nhiều hơn hai phần tử, ta cần biến
mạng thành một phân bố xác suất P(x) thỏa mãn hai điều kiện sau:
1 P(x)≥ 0 x∈Ω (Ω là tập lực chọn); (2.2)
2 ∑x P(x) = 1
Xét vector trước khi kích hoạt ở lớp cuối, z(L) = z0 (L), z1 (L), , z|L (LL )|−1 Thay
vì sử dụng hàm sigmoid, ta dùng hàm softmax để đưa vector này thành một phân bố
xác suất Hàm softmax có dạng như sau:
Softmax(z(1))=(p0,p1,… ,p|Ll|-1) (2.3) trong đó
Pi = exp(𝑍𝑖)
∑|𝐿−1|𝑗=0 exp(𝑍𝑗) (2.4) với exp(.) là hàm lũy thừa theo cơ số tự nhiên e và 0 ≤ i ≤ |LL| − 1 Lưu ý là số lượng ởlớp cuối, |LL|, phải bằng với số các phương án lựa chọn
Dễ thấy là kết quả của hàm softmax thỏa mãn hai điều kiện của một phân bố xác suất và hàm sigmoid là một trường hợp đặc biệt của hàm softmax
b) Phương pháp ước lượng tham số của mạng nơ-ron:
Khi suy luận thông tin trên mạng , ta giả sử rằng các tham số (các ma trận W (l)) đều được cho sẵn Điều này dĩ nhiên là không thực tế, ta cần phải đi tìm các giá trị của tham số sao cho mạng suy luận càng chính xác càng tốt Như đã nói ở trên, công việc này được gọi là ước lượngtham số (parameter estimation), còn được biết đến như quá trình huấn luyện (train) hay học (learn) của mạng
Trang 30Ta gọi h(x; W) và g(x) lần lượt là hàm biểu diễn bởi mạng (với tập tham số W) và hàm mục tiêu cần mô phỏng Việc tìm ra công thức để tính ngay ra giá trị của tập số tham số rất khó khăn Ta chọn một cách tiếp cận khác, giảm thiểu dần khoảng cách giữa h(x; W) và g(x) bằng cách lặp lại hai bước sau:
1 Đo độ sai lệch của suy luận của mạng trên một tập điểm dữ liệu mẫu{(xd, g(xd))},gọi là tập huấn luyện (training set)
2 Cập nhật tham số của mạng W để giảm thiểu độ sai lệch trên
2.2.1.4 Mô hình học:
Một khía cạnh khác cũng được được quan tâm là cách thức một mạng nơ-ron quan hệ với môi trường trong quá trình học Trong khía cạnh này, chúng ta nói tới một mô hình học để ám chỉ một mô hình của môi trường trong đó mạng neuron hoạt động Có hai mô hình học chính Mô hình học không có người dạy liên quan đến quá trình tự tích luỹ từ các ví dụ không được gán nhãn của mạng nơ-ron
Học với một người dạy
Hình 2.5 cho ta một sơ đồ khối minh hoạ mô hình học thường được gọi là học có giám sát này Trong số các thuật ngữ mang tính khái niệm, chúng ta có thể nghĩ về “một người dạy” như là một người có kiến thức về môi trường, mà kiến thức đó được biểu diễn bởi một tập hợp các ví dụ đầu vào - đầu ra Tuy nhiên, mạng nơ-ron không biết gì về môi trường Bây giờ giả sử rằng cả người dạy và mạng nơ-ron đều tiếp nhận một vector tích luỹ thu được từ môi trường Bằng kiến thức vốn
có, người dạy có khả năng đưa ra cho mạng nơ-ron một đáp ứng mong muốn cho vector tích luỹ đó Tín hiệu lỗi được xác định như là sự khác biệt giữa đáp ứng mong muốn và đáp ứng thực sự Sự điều chỉnh này được thực hiện dần dần lặp đi lặp lại với mục đích làm cho mạng nơ-ron sánh được với người dạy Theo cách này, kiến thức về môi trường sẵn dùng của người dạy được chuyển sang mạng nơ-ron thông qua tích luỹ một cách đầy đủ nhất có thể được Khi đạt được điều kiện này, chúng ta có thể không cần tới người dạy nữa và để cho mạng nơ-ron tự nó quan hệ với môi trường
Trang 31M«i tr- êng Ng- êi d¹ y
Vector m« t¶
tr¹ ng th¸ i cña m«i tr- êng
HÖ thèng
+ -
§ ¸ p øng thùc sù
TÝn hiÖu lçi
§ ¸ p øng mong muèn
Hình 2.2: Sơ đồ khối của mô hình học với một người dạy
Dạng học có giám sát mà chúng ta vừa mô tả ở trên là phương pháp học hiệu chỉnh lỗi Đối với một thước đo tính năng hệ thống, chúng ta có thể nghĩ tới dạng lỗi bình phương trung bình hay tổng các lỗi bình phương trên toàn bộ các ví dụ tích luỹ, được xác định như là một hàm của các tham số tự do của mạng neuron (các trọng số synapse và các hệ số hiệu chỉnh) Hàm này có thể được hình dung như một
bề mặt lỗi tính năng, với các trục toạ độ là các tham số tự do Bề mặt lỗi được tính trung bình trên tất cả các ví dụ đầu vào - đầu ra có thể
2.2.2 Cây quyết định:
2.2.2.1 Giới thiệu chung:
Trong lĩnh vực học máy, 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ệntượ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á đó 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