Luận văn Giải pháp phát hiện và ngăn chặn truy cập trái phép vào mạng

Tài liệu Luận văn Giải pháp phát hiện và ngăn chặn truy cập trái phép vào mạng: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN PHƯƠNG CHÍNH GIẢI PHÁP PHÁT HIỆN VÀ NGĂN CHẶN TRUY CẬP TRÁI PHÉP VÀO MẠNG LUẬN VĂN THẠC SĨ Hà Nội – 2009 LỜI CẢM ƠN Lời đầu tiên, tôi xin chân thành cảm ơn PGS. TS Nguyễn Văn Tam, Viện công nghệ thông tin, người đã gợi ý đề tài và tận tình hướng dẫn cho tôi hoàn thành luận văn cao học này. Tôi cũng xin gửi lời cảm ơn chân thành tới Phòng đào tạo sau đại học và các thầy cô giáo trong khoa Công nghệ - Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội đã giảng dạy, truyền đạt và tạo điều kiện học tập tốt nhất cho tôi suốt quá trình học cao học cũng như thời gian thực hiện luận văn cao học. Hà Nội, tháng 06 năm 2009 Nguyễn Phương Chính I MỤC LỤC LỜI CẢM ƠN BẢNG CÁC TỪ VIẾT TẮT, KÝ HIỆU MỤC LỤC MỞ ĐẦU.....................................................................................................................1 Đặt vấn đề ...........................................................

pdf80 trang | Chia sẻ: haohao | Lượt xem: 1586 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Luận văn Giải pháp phát hiện và ngăn chặn truy cập trái phép vào mạng, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN PHƯƠNG CHÍNH GIẢI PHÁP PHÁT HIỆN VÀ NGĂN CHẶN TRUY CẬP TRÁI PHÉP VÀO MẠNG LUẬN VĂN THẠC SĨ Hà Nội – 2009 LỜI CẢM ƠN Lời đầu tiên, tôi xin chân thành cảm ơn PGS. TS Nguyễn Văn Tam, Viện công nghệ thông tin, người đã gợi ý đề tài và tận tình hướng dẫn cho tôi hoàn thành luận văn cao học này. Tôi cũng xin gửi lời cảm ơn chân thành tới Phòng đào tạo sau đại học và các thầy cô giáo trong khoa Công nghệ - Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội đã giảng dạy, truyền đạt và tạo điều kiện học tập tốt nhất cho tôi suốt quá trình học cao học cũng như thời gian thực hiện luận văn cao học. Hà Nội, tháng 06 năm 2009 Nguyễn Phương Chính I MỤC LỤC LỜI CẢM ƠN BẢNG CÁC TỪ VIẾT TẮT, KÝ HIỆU MỤC LỤC MỞ ĐẦU.....................................................................................................................1 Đặt vấn đề ................................................................................................................1 Nội dung của đề tài ..................................................................................................1 Cấu trúc luận văn .....................................................................................................2 CHƯƠNG 1. TỔNG QUAN VỀ HỆ THỐNG IPS ......................................................3 1.1 Lịch sử ra đời .......................................................................................................3 1.2 Hệ thống IDS .........................................................................................................4 1.2.1 Một hệ thống IDS bao gồm các thành phần .....................................................4 1.2.2 Phân loại các hệ thống IDS..............................................................................5 1.2.2.1 Network-based Intrusion Detection System (NIDS) ..................................5 1.2.2.2 Host-based Intrusion Detection System (HIDS) ........................................7 1.2.2.3 Hybrid Intrusion Detection System ...........................................................8 1.3 Hệ thống IPS..........................................................................................................9 1.3.1 Phân loại IPS .................................................................................................10 1.3.2 Các thành phần chính ....................................................................................11 1.3.2.1 Module phân tích gói (packet analyzer)..................................................11 1.3.2.2 Module phát hiện tấn công .....................................................................11 1.3.2.3 Module phản ứng ....................................................................................14 1.3.3 Mô hình hoạt động ........................................................................................15 1.3.4 Đánh giá hệ thống IPS ...................................................................................17 1.4. Kết chương .........................................................................................................18 I CHƯƠNG 2 : TÌM HIỂU VÀ NGHIÊN CỨU CÁC PHƯƠNG PHÁP PHÁT HIỆN TẤN CÔNG TRONG HỆ THỐNG IPS .................................................................... 21 2.1 Tổng quan về phương pháp phát hiện bất thường .................................................21 2.1.1 Thế nào là bất thường trong mạng?................................................................21 2.1.2 Các nguồn dữ liệu dùng cho phát hiện bất thường .........................................22 2.1.2.1 Network Probes ......................................................................................23 2.1.2.2 Lọc gói tin cho việc phân tích luồng ( Packet Filtering ) ........................23 2.1.2.3 Dữ liệu từ các giao thức định tuyến.........................................................24 2.1.2.4 Dữ liệu từ các giao thức quản trị mạng....................................................24 2.1.3 Các phương pháp phát hiện bất thường..........................................................25 2.1.3.1 Hệ chuyên gia ( Rule-based ) ..................................................................25 2.1.3.2 Mạng Nơ-ron ( Artificial Neural Network)..............................................27 2.1.3.3 Máy trạng thái hữu hạn ..........................................................................31 2.1.3.4 Phân tích thống kê...................................................................................32 2.1.3.5 Mạng Bayes ............................................................................................34 2.2. Kết chương .........................................................................................................35 CHƯƠNG 3: PHƯƠNG PHÁP PHÁT HIỆN BẤT THƯỜNG DỰA TRÊN KHAI PHÁ DỮ LIỆU .......................................................................................................... 36 3.1 Khai phá dữ liệu...................................................................................................36 3.2 Các thuật toán phát hiện bất thường trong khai pháp dữ liệu ...............................39 3.2.1 Đánh giá chung về hệ thống ..........................................................................39 3.2.2 Phần tử dị biệt ...............................................................................................41 3.2.2.1 Phương pháp điểm lân cận gần nhất (NN) ...............................................42 3.2.2.2 Phương pháp pháp hiện điểm dị biệt dựa trên khoảng cách Mahalanobis 43 3.2.2.3 Thuật toán LOF.......................................................................................44 3.2.2.4 Thuật toán LSC-Mine .............................................................................48 3.3 Mô hình phát hiện bất thường dựa trên kỹ thuật KPDL .......................................50 I 3.3.1 Module lọc tin ...............................................................................................51 3.3.2 Module trích xuất thông tin ...........................................................................51 3.3.3 Môđun phát hiện phần tử di biệt ....................................................................52 3.3.4 Module phản ứng...........................................................................................55 3.3.5 Module tổng hợp ...........................................................................................55 3.4 Giới thiệu về hệ thống phát hiện xâm nhập MINDS .............................................58 3.4.1 Giới thiệu hệ thống ........................................................................................58 3.4.2 So sánh SNORT và MINDS ..........................................................................64 3.4.3.1 Tấn công dựa trên nội dung.....................................................................64 3.4.3.2 Hoạt động scanning................................................................................65 3.4.3.3 Xâm phạm chính sách ............................................................................66 3.5 Kết chương .........................................................................................................66 KẾT LUẬN ............................................................................................................... 68 Hướng phát triển của luặn văn:...............................................................................69 TÀI LIỆU THAM KHẢO II BẢNG CÁC TỪ VIẾT TẮT, KÝ HIỆU Từ viết tắt Đầy đủ Tiếng Việt IPS IDS NIDS HIDS OOB IPS In-line IPS UDP TCP FTP DNS ROC DoS OSPF SNMP MIB FCM MLP SOM Intrusion Prevension System Instrusion Detection System Network-based Intrusion Detection System Host-based Intrusion Detection System Out of band Intrusion Prevension System In line Intrusion Prevension System User Datagram Protocol Transmission Control Protocol File Transfer Protocol Domain Name Server Recevier Operating Characteristic Curve Denial of Service Open shortest path first Simple Network Management Protocol Management information base Fuzzy cognitive map Multi-layered Perceptron Self-Organizing Maps Hệ thống ngăn chặn truy cập trái phép Hệ thống phát hiện truy cập trái phép Hệ thống phát hiện truy cập cho mạng Hệ thống phát hiện truy cập cho máy trạm Hệ thống IPS bố trí bên ngoài Hệ thống IPS bố trí thẳng hàng Giao thức truyền dữ liệu UDP Giao thức truyền dữ liệu TCP Giao thức truyền file FTP Dịch vụ phân giải tên miền Đường cong đặc trưng hoạt động Tấn công từ chối dịch vụ Giao thức định tuyến OSPF Tập hớp giao thức quản lý mạng đơn giản Cơ sở quản lý thông tin Bản đồ nhận thức mờ Kiến trúc nhận thức đa tầng Bản đồ tổ chức độc lập II FSM IDES NIDES EMERALD LOF MINDS Finite states machine Intrusion Detection Expert System Next Generation Intrusion Detection Expert System Event Monitoring Enabling Responses to Anomalous Live Disturbances Local Outlier Factor Minnesota Intrusion Detection System Máy trạng thái hữu hạn Hệ thống chuyên gia phát hiện truy cập trái phép Thế hệ tiếp theo của hệ thống chuyên gia phát hiện truy cập trái phép Hệ thống phát hiện truy cập EMERALD Nhân tố dị biệt địa phương Hệ thống phát hiện truy cập Minnesota III THÔNG TIN HÌNH VẼ/BẢNG Hình vẽ/bảng Trang Hình 1.1 : Hệ thống Network-based Intrusion Detection Hình 1.2 : Hệ thống Host-based Intrusion Detection Hình 1.3: Hệ thống Hybrid Intrusion Detection Hình 1.4 : Mô hình thêm luật phương pháp phát hiện dựa trên dấu hiệu Hình 1.5: Mô hình thêm luật phương pháp phát hiện dựa trên phát hiện bất thường Hình 1.6 : Mô hình hoạt động của hệ thống IPS Hình 1.7 : Minh họa đường cong ROC Hình 2.1: Mô hình hệ thống phát hiện bất thường dựa trên tập luật Hình 2.2: Mô hình mạng nơron Hình 2.3: Cấu trúc một hệ thống phát hiện bất thường sử dụng SOM Hình 2.4: Công thức chuẩn hóa dữ liệu đầu vào Hình 2.5: Thiết kế của mạng SOM Hình 2.6: Mô hình FSM cho kết nối TCP Hình 3.1: Gán giá trị để lượng hóa các cuộc tấn công trên sơ đồ Hình 3.2: Minh họa bài toán phát hiện phần tử dị biệt. Hình 3.3: Minh họa phương pháp điểm lân cận gần nhất phát hiện phần tử dị biệt. Hình 3.4: Ưu điểm của phương pháp dựa trên khoảng cách Mahalanobis khi tính các khoảng cách. Hình 3.5: Ví dụ khoảng cách R-dis (reach-dist) Hình 3.6: Ưu điểm của phương pháp LOF Hình 3.7: Thuật toán LSC-Mine Hình 3.8: Mô hình hệ thống phát hiện bất thường sử dụng kỹ thuật KPDL Hình 3.9: Đường cong ROC của các thuật toán 6 8 9 12 13 15 18 26 27 29 30 30 31 40 41 43 44 45 47 50 50 54 III Hình 3.10: Mô tả hoạt động của môđun tổng hợp Hình 3.11: Mô hình hoạt động của hệ thống MINDS Hình 3.12: Bảng kết quả đầu ra của hệ thống MINDS – cột đầu tiên là giá trị bất thường Bảng 3.1: Danh sách các cảnh báo chưa rút gọn Bảng 3.2: Danh sách các cảnh báo sau khi đã rút gọn Bảng 3.3: Những đặc điểm chọn “dựa trên thời gian” Bảng 3.4: Những đặc điểm chọn “dựa trên kết nối” 56 59 62 57 58 60 60 1 MỞ ĐẦU Đặt vấn đề Vấn đề an toàn, an ninh mạng không mới nhưng càng ngày càng trở nên quan trọng cùng với sự phát triển theo chiều rộng và chiều sâu của xã hội thông tin. Lấy ví dụ đơn giản như gần đây rất nhiều trang web, các hệ thống mạng ở Việt Nam bị hacker tấn công gây hậu quả đặc biệt nghiêm trọng. Hơn nữa các cuộc tấn công hiện nay ngày một tinh vi, phức tạp và có thể đến từ nhiều hướng khác nhau. Trước tình hình đó các hệ thống thông tin cần phải có những chiến lược, những giải pháp phòng thủ theo chiều sâu nhiều lớp. IPS (Intrusion Prevension System – Hệ thống ngăn chặn truy nhập trái phép) là một hệ thống có khả năng phát hiện trước và làm chệch hướng những cuộc tấn công vào mạng. IPS đáp ứng được yêu cầu là một hệ thống phòng thủ chiến lược theo chiều sâu, nó hoạt động dựa trên cơ sở thu thập dữ liệu mạng, tiến hành phân tích, đánh giá, từ đó xác định xem có dấu hiệu của một cuộc tấn công hay không để đưa ra các cảnh báo cho các nhà quản trị mạng hoặc tự động thực hiện một số thao tắc nhằm ngăn chặn hoặc chấm dứt tấn công. Các hệ thống IPS hiện nay có hai hướng tiếp cận chính là dựa trên dấu hiệu và dựa trên phát hiện bất thường. Đối với hướng dựa trên dấu hiệu, hệ thống sẽ sử dụng các mẫu tấn công từ các lần tấn công trước tiến hành so sánh để xác định dữ liệu đang xét có phải là một cuộc tấn công không, hướng này được sử dụng tương đối rộng rãi nhưng có điểm yếu là chỉ phát hiện được các dạng tấn công đã biết trước. Đối với hướng dựa trên phát hiện bất thường, hệ thống sẽ xây dựng các hồ sơ mô tả trạng thái bình thường, từ đó xét được một hành động là bất thường nếu các thông số đo được của hành động đó có độ khác biệt đáng kể với mức “bình thường”. Hướng tiếp cận này có nhiều ưu điểm hơn cách tiếp cận dựa trên dấu hiệu do nó có khả năng phát hiện ra các cuộc tấn công mới. Nội dung của đề tài Xuất phát từ vấn đề nêu trên, nội dung của đề tài sẽ bao gồm những vấn đề sau: 2  Nghiên cứu, tìm hiểu các vấn đề tông quan về hệ thống IPS bao gồm phân loại, chức năng cơ bản và hoạt động, các hướng phát triển.  Tìm hiểu hệ thống IPS dựa trên phát hiện bất thường, phân tích ưu nhược điểm của hướng tiếp cận này. Nghiên cứu các kỹ thuật được sử dụng như: Phân tích thống kê, mạng Neutral, Hệ chuyên gia, Máy trạng thái hữu hạn, Khai phá dữ liệu ….  Nghiên cứu cụ thể một kỹ thuật sử dụng trong phát hiện bất thường đó là kỹ thuật Khai phá dữ liệu (data mining). Đưa ra các đánh giá, so sánh hệ thống sử dụng kỹ thuật nay so với các kỹ thuật khác. Cấu trúc luận văn Luận văn sẽ được chia thành 3 chương chính dựa vào nội dung nêu trên:  Chương 1: Giới thiệu tổng quan về hệ thống IPS , những thành phần và chức năng chính của hệ thống.  Chương 2: Tìm hiểu các phương pháp phát hiện tấn công dựa trên phát hiện bất thường đang được áp dụng hiện nay như: Phân tích thống kê, Mạng Neutral, Hệ chuyên gia….  Chương 3: Tìm hiểu về kỹ thuật Khai phá dữ liệu cũng như hệ thống IPS có sử dụng phương pháp phát hiện bất thường ứng dụng khai phá dữ liệu. 3 CHƯƠNG 1. TỔNG QUAN VỀ HỆ THỐNG IPS 1.1 Lịch sử ra đời Hệ thống Firewall (tường lửa) cổ điển đã được ứng dụng trong hệ thống mạng để bảo vệ mạng khỏi các cuộc tấn công hoặc truy nhập trái phép từ rất lâu. Tuy nhiên trong quá trình hoạt động Firewall đã thể hiện nhiều nhược điểm cố hữu. Thứ nhất, hệ thống Firewall là một hệ thống thụ động, Firewall hoạt động trên cơ sở các tập luật, các luật trên Firewall phải được người quản trị cấu hình hay chỉ định cho phép hay không cho phép gói tin đi qua. Bản thân hệ thống Firewall không thể nhận biết được các mối nguy hại đến từ mạng mà nó phải được người quản trị mạng chỉ ra thông qua việc thiết lập các luật trên đó. Thứ hai, Hệ thống Firewall hoạt động chủ yếu ở lớp mạng trở xuống, Firewall ngăn chặn các truy nhập thông qua các trường địa chỉ IP đích và nguồn, các cổng dịch vụ (TCP/UDP), một số Firewall còn ngăn chặn ở lớp vật lý thông qua địa chỉ MAC Address. Như vậy, các thông tin mà Firewall dùng để ngăn chặn các truy nhập là ở trong phần tiêu đề của gói tin, Firewall cổ điển không thể đọc thông tin trong phần tải của gói tin (Pay Load) là nơi chứa nội dung thông tin được truyền đi, nơi tiềm ẩn các mã nguy hiểm gây hại cho hệ thống. Thứ ba, do không có khả năng đọc nội dung gói tin nên hệ thống Firewall chỉ có khả năng bảo vệ vòng ngoài của hệ thống, bản thân nó không có khả năng chống các cuộc tấn công xuất phát từ bên trong mạng. Trong bối cảnh đó, IDS ra đời như là một sự bổ sung cho hệ thống Firewall cổ điển. IDS có khả năng bắt và đọc gói tin, phân tích gói tin để phát hiện ra các nguy cơ tấn công tiềm ẩn trong nội dung của gói tin. Tuy nhiên IDS lại chỉ sinh ra các cảnh báo cho hệ thống hoặc cho người quản trị mạng, có nghĩa hoạt động IDS chỉ mang tính chất cảnh báo và trợ giúp thông tin cho người quản trị mạng, căn cứ trên các thông tin cảnh báo về bảo mật, người quản trị mạng phải tiến hành ra lệnh cho Firewall ngăn chặn cuộc tấn công. Như thế bản thân hệ thống IDS vẫn là một hệ thống thụ động. IDS là sự bổ sung cần thiết cho hệ thống an ninh cổ điển, tuy nhiên nó chưa triệt để, do đó người ta phải kết hợp hoạt động của IDS với hệ thống Firewall để tạo ra một 4 hệ thống an ninh có khả năng phát hiện dấu hiệu các cuộc tấn công và chủ động ngăn chặn các cuộc tấn công đó. Hệ thống như vậy được biết đến với cái tên hệ thống ngăn chặn truy nhập IPS. Các phần tiếp theo sẽ trình bày về cấu trúc cũng như hoạt động của hệ thống IDS và IPS. 1.2 Hệ thống IDS IDS là từ viết tắt tiếng anh của Intrusion Detection System hay còn gọi là hệ thống phát hiện các truy nhập trái phép. IDS có nhiệm vụ rà quét các gói tin trên mạng, phát hiện các truy nhập trái phép, các dấu hiệu tấn công vào hệ thống từ đó cảnh báo cho người quản trị hay bộ phận điều khiển biết về nguy cơ xảy ra tấn cống trước khi nó xảy ra. Một hệ thống phát hiện các truy nhập trái phép có khả năng phát hiện tất cả các luồng dữ liệu có hại từ mạng vào hệ thống mà các Firewall không thể phát hiện được. Thông thường các cuộc tấn công trên mạng thuộc các kiểu tấn công: từ chối dịch vụ, phá hoại các dữ liệu trên các ứng dụng, các cuộc tấn công vào máy trạm như thay đổi quyền trên máy, đăng nhập bất hợp pháp và truy nhập vào các tệp tin nhạy cảm hoặc là các loại Virus, Trojan, Worm độc hại khác. 1.2.1 Một hệ thống IDS bao gồm các thành phần  Bộ phát hiện (Sensor): Là bộ phận làm nhiệm vụ phát hiện các sự kiện có khả năng đe dọa an ninh của hệ thống mạng, bộ phát hiện có chức năng rà quét nội dung của các gói tin trên mạng, so sánh nội dung với các mẫu và phát hiện ra các dấu hiệu tấn công hay còn gọi là sự kiện.  Bộ giao diện (Console):Là bộ phận làm nhiệm vụ giám sát các sự kiện, các cảnh báo được phát hiện và sinh ra từ các Sensor và điều khiển hoạt động của các bộ Sensor.  Bộ xử lý (Engine): Có nhiệm vụ ghi lại tất cả các báo cáo về các sự kiện được phát hiện bởi các Sensor trong một cơ sở dữ liệu và sử dụng một hệ thống các luật để đưa ra các cảnh báo trên các sự kiện an ninh nhận được cho hệ thống hoặc cho người quản trị. Như vậy, hệ thống IDS hoạt động theo cơ chế “phát hiện và cảnh báo”. Các Sensor là bộ phận được bộ trí trên hệ thống tại những điểm cần kiểm soát, Sensor bắt 5 các gói tin trên mạng, phân tích gói tin để tìm các dấu hiệu tấn công, nếu gói tin có dấu hiệu tấn công, Sensor lập tức đánh dấu đấy là một sự kiện và gửi báo cáo kết quả về cho Engine, Engine ghi nhận tất cả các báo cáo của tất cả các Sensor, lưu các báo cáo vào trong cơ sở dữ liệu của mình và quyết định đưa ra mức cảnh báo đối với sự kiện nhận được. Console làm nhiệm vụ giám sát các sự kiện và các cảnh báo, đồng thời điều khiển hoạt động của các Sensor. Các mẫu (Signatures): Các Sensor hoạt động theo cơ chế “so sánh với mẫu”, các Sensor bắt các gói tin trên mạng, đọc nội dung gói tin và so sánh các xâu trong nội dung gói tin với hệ thống các mẫu tín hiệu nhận biết các cuộc tấn công hoặc mã độc gây hại cho hệ thống, nếu trong nội dung gói tin có một xâu trùng với mẫu, Sensor đánh dấu đó là một sự kiện bình thường hay đã có dấu hiệu của sự tấn công từ đó sinh ra cảnh báo. Các tín hiệu nhận biết các cuộc tấn công được tổng kết và tập hợp thành một bộ gọi là mẫu hay signatures. Thông thường các mẫu này được hình thành dựa trên kinh nghiệm phòng chống các cuộc tấn công, người ta thành lập các trung tâm chuyên nghiên cứu và đưa ra các mẫu này để cung cấp cho hệ thống IDS trên toàn thế giới. 1.2.2 Phân loại các hệ thống IDS Có nhiều mô hình và cách để phân loại các hệ thống IDS, có thể dựa theo loại và vị trí đặt của các Sensor hoặc phương pháp sử dụng của Engine để sinh ra các cảnh báo. Hầu hết các IDS đơn giản đều kết hợp ba thành phần Sensor, Console, Engine vào trong một thiết bị phần cứng hoặc một ứng dụng. 1.2.2.1 Network-based Intrusion Detection System (NIDS) Network-based Instrusion Detection System (Hệ thống phát hiện truy nhập cho mạng) là một giải pháp độc lập để xác định các truy nhập trái phép bằng cách kiểm tra các luồng thông tin trên mạng và giám sát nhiều máy trạm, Network Instrusion Detection Systems truy nhập vào luồng thông tin trên mạng bằng cách kết nối vào các Hub, Switch được cấu hình Port mirroring hoặc Network tap để bắt các gói tin, phân tích nội dung gói tin và từ đó sinh ra các cảnh báo. 6 Hình 1.1: Hệ thống Network-based Intrusion Detection Port mirroring được sử dụng trong một switch mạng để gửi một bản sao của tất cả các gói tin trên mạng khi nó đi qua cổng của Switch tới một thiết bị giám sát mạng trên cổng khác của Switch đó. Nó thường được sử dụng để các thiết bị mạng cần giám sát luồng trên mạng, ví dụ hệ thống IDS, Port mirroring trên Switch của Cisco System thường được gọi là Switched Port Analyzer (SPAN) hoặc của 3Com là Roving Analysis Port (RAP). Network tap là một thiết bị phần cứng cung cấp phương tiện để truy nhập vào luồng dữ liệu đi ngang qua một máy tính mạng. Các máy tính mạng bao gồm cả Internet là một tập hợp các thiết bị như máy tính, router, switch và nối với các hệ thống khác. Các kết nối có thể được tạo ra bằng nhiều công nghệ khác nhau như là Etherenet, 802.11, FDDI và ATM. Trong nhiều trường hợp nó được xem như là một thành phần thứ 3 để giám sát luồng dữ liệu trao đổi giữa hai điểm trên mạng, điểm A và điểm B. Nếu mạng giữa điểm A và điểm B chứa một kết nối vật lý, một network tap là giải pháp tốt cho việc giám sát. Network tap có ít nhất là 3 cổng kết nối, một cổng A, một cổng B, và một cổng giám sát. Để đặt Network tap giữa điểm A và điểm B, cáp mạng giữa hai điểm A, B được thay thế bằng một cặp dây, một dây đấu vào cổng A và dây kia đấu vào cổng B. Network tap cho qua tất cả các dữ liệu giữa A và B vì thế giao tiếp giữa hai điểm A và B vẫn diễn ra bình thường, tuy nhiên dữ liệu trao đổi đã bị Network tap sao chép và đưa vào thiết bị giám sát thông qua cổng giám sát. 7 Trong hệ thống Network-based Intrusion Detection System (NIDS), các Sensor được đặt ở các điểm cần kiểm tra trong mạng, thường là trước miền DMZ hoặc ở vùng biên của mạng, các Sensor bắt tất cả các gói tin lưu thông trên mạng và phân tích nội dung bên trong của từng gói tin để phát hiện các dấu hiệu tấn công trong mạng. Theo chức năng sử dụng, hệ thống NIDS còn được phân thành hai hệ thống nhỏ đó là Protocol-based Intrusion Detection System (PIDS – Hệ thống phát hiện truy cập dựa trên giao thức) và Application Protocol-based Intrusion Detection System (APIDS – Hệ thống phát hiện truy nhập dựa trên ứng dụng). PIDS và APIDS được sử dụng để giám sát các giao vận và giao thức không hợp lệ hoặc không mong muốn trên luồng dữ liệu hoặc hạn chế các ngôn ngữ giao tiếp. Hệ thống Protocol-based Intrusion Detection System (PIDS) chứa một hệ thống (System) hoặc một thành phần (Agent) thường được đặt ngay trước một máy chủ, giám sát và phân tích các giao thức trao đổi giữa các thiết bị được nối mạng (Một máy trạm hoặc một hệ thống). Một hệ thống Application Protocol-based Intrusion Detection System (APIDS) bao gồm một hệ thống (System) hoặc một thành phần (Agent) thường nằm giữa một nhóm các máy chủ, giám sát và phân tích các trao đổi ở lớp ứng dụng của một giao thức định sẵn. Ví dụ; trên một máy chủ web với một cơ sở dữ liệu thì nó giám sát giao thức SQL để ngăn chặn các truy nhập vào ứng dụng khi trao đổi với cơ sở dữ liệu. 1.2.2.2 Host-based Intrusion Detection System (HIDS) Trong hệ thống HIDS (Hệ thống phát hiện truy nhập dựa trên máy trạm), các Sensor thường thường là một phần mềm trên máy trạm (Software agent), nó giám sát tất cả các hoạt động của máy trạm mà nó nằm trên đó. Hệ thống Host-based Intrusion Detection System bao gồm thành phần (Agent) cài đặt trên các máy trạm, nó xác định các truy nhập trái phép vào hệ thống bằng cách phân tích các trao đổi của hệ thống, các bản ghi của các ứng dụng, sự sửa đổi các tệp tin trên hệ thống (Các file dạng binary, mật khẩu của file, dung lượng và các acl của các cơ sở dữ liệu) các hoạt động và trạng thái khác của hệ thống để từ đó phát hiện ra các dấu hiệu truy nhập trái phép vào hệ thống. Khi phát hiện ra các truy nhập trái phép, Agent lập tức sinh ra một sự kiện và gửi báo cáo về Engine, Engine lưu các báo cáo 8 của Agent vào cơ sở dữ liệu và tiến hành phân tích thông tin để đưa ra các cảnh báo cho người quản trị hoặc hệ thống. Hình 1.2: Hệ thống Host-based Intrusion Detection 1.2.2.3 Hybrid Intrusion Detection System Hybrid Intrusion Detection System là một hệ thống lai giữa hệ thống Network- based IDS và Hệ thống Host-based IDS. Nó kết hợp một hoặc nhiều các thành phần thích hợp của hai hệ thống lại với nhau. Các thông tin thu thập được trên máy trạm (Host agent data) kết hợp với thông tin thu thập được ở trên mạng để có được sự phân tích một cách chi tiết về hiện trạng hệ thống mạng. 9 Hình 1.3: Hệ thống Hybrid Intrusion Detection 1.3 Hệ thống IPS IPS là viết tắt tiếng anh của Intrusion Prevention System hay thường được gọi là hệ thống ngăn chặn truy nhập trái phép. Hiện nay, hệ thống IDS/IPS đã được triển khai rộng rãi trên toàn thế giới, với đặc điểm mô hình triển khai đơn giản, cách thức phát hiện các truy nhập hiệu quả đã góp phần nâng cao độ tin cậy của hệ thống an ninh. IPS là hệ thống kết hợp giữa hệ thống IDS và hệ thống Firewall, nó có ba thành phần chính đó là: Hệ thống Firewall, hệ thống IDS và thành phần trung gian kết nối hai hệ thống trên lại với nhau. Firewall: là thành phần bảo vệ hệ thống mạng ở vùng biên, Firewall căn cứ trên tập luật mà nó được thiết lập từ trước để xác định cho phép hay không cho phép các gói tin được hay không được phép đi qua nó. IDS: làm nhiệm vụ rà quét tất cả các gói tin trước khi hoặc sau khi đi vào mạng, đọc nội dung gói tin, phát hiện ra các dấu hiệu tấn công chứa đựng trong gói tin, nếu phát hiện có dấu hiệu tấn công, nó sinh ra cảnh báo cho hệ thống. Thành phần trung gian kết nối: Thành phần trung gian kết nối nhận các cảnh báo và thông tin đưa ra từ hệ thống IDS, phân tích mức độ cảnh báo, tiến hành tác động lên hệ thống Firewall để cấu hình lại tập luật trên đó nhằm ngăn chặn các cuộc tấn công. 10 Như vậy, hệ thống IPS là một hệ thống chủ động, có khả năng phát hiện và ngăn ngừa các truy nhập trái phép, có khả năng ngăn chặn các cuộc tấn công, các nguy cơ tiềm ẩn trong nội dung của gói tin. Vì vậy hình thành nên một thế hệ Firewall mới có khả năng hoạt động ở lớp ứng dụng hay còn gọi là Application Layer Firewall. 1.3.1 Phân loại IPS Có nhiều cách để phân loại IPS, nhưng thông thường người ta dựa vào kiểu IDS được sử dụng, như vậy chúng ta có các kiểu IPS phổ biến là NIPS (Network-based Intrusion Prevention System) sử dụng trên cả một hệ thống mạng, HIPS (Host-based Intrusion Prevention System) sử dụng trên các máy tính riêng lẻ, và Hybrid Intrusion Prevention System kết hợp của 2 hệ thộng NIPS và HIPS. IPS không đơn giản chỉ dò các cuộc tấn công, chúng còn khả năng ngăn chặn các cuộc hoặc cản trở các cuộc tấn công đó. Chúng cho phép tổ chức ưu tiên, thực hiện các bước để ngăn chặn lại xự xâm nhập. Phần lớn hệ thống IPS được đặt ở vành đai mạng, đủ khả năng bảo vệ tất cả các thiết bị trong mạng. Do đó nếu phân loại theo mô hình triển khai sẽ có hai kiểu chính là out-of-band IPS và in-line IPS:  Out-of-band IPS (OOB IPS): hệ thống IPS đứng “dạng chân” trên firewall. Như vậy luồng dữ liệu vào hệ thống mạng sẽ cùng đi qua firewall và IPS. IPS có thể kiểm soát luồn dữ liệu vào, phân tích và phát hiện các dấu hiệu của sự xâm nhập, tấn công. Với vị trí này, OOB IPS có thể quản lý firewall, chỉ dẫn nó chặn lại các hành động nghi ngờ.  In-line IPS: Vị trí IPS nằm trước firewall, luồng dữ liệu phải đi qua chúng trước khi tới firewall. Điểm khác chính so với OOB IPS là có thêm chức năng traffic- blocking. Điều đó làm cho IPS có thể ngăn chặn luồng giao thông nguy hiểm nhanh hơn so với OOB IPS. Tuy nhiên vị trí này sẽ làm cho tốc độ luồng thông tin qua ra vào mạng chậm hơn. Với mục tiêu ngăn chặn các cuộc tấn công, hệ thống IPS phải hoạt động theo thời gian thực. Tốc độ họat động của hệ thống là một yếu tố rất quan trọng. Quá trình phát hiện xâm nhập phải đủ nhanh để có thể ngăn chặn các cuộc tấn công ngay lập tức. Nếu không đáp ứng được điều này thì các cuộc tấn công đã được thực hiện xong và hệ thống IPS là vô nghĩa. 11 1.3.2 Các thành phần chính Hệ thống IPS gồm 3 module chính: module phân tích gói, module phát hiện tấn công ( kế thừa từ IDS), module phản ứng. Dưới đây ta xét cụ thể các module đó: 1.3.2.1 Module phân tích gói (packet analyzer) Module này có nhiệm vụ phân tích cấu trúc thông tin trong các gói tin. Card mạng (NIC) của máy giám sát được đặt ở chế độ “không phân biệt” (promiscuous mode), tất cả các gói tin qua chúng đều được copy lại và chuyển lên lớp trên. Bộ phân tích gói đọc thông tin từng trường trong gói tin, xác định chúng thuộc kiểu gói tin nào, dịch vụ gì… Các thông tin này được chuyển đến module phát hiện tấn công. 1.3.2.2 Module phát hiện tấn công Đây là module quan trọng nhất trong hệ thống, có khả năng phát hiện các cuộc tấn công. Nó chính là hệ thống IDS mà chúng ta đã xem xét ở trên. Nó cũng chính là thành phần mà chúng ta áp dụng các phương pháp khác nhau để cải tiển nhằm nâng cao hiệu quả hoạt động. Việc nghiên cứu, tìm hiểu các phương pháp nhằm tăng khả năng phát hiện tấn công chính là mục đích chính của luận văn này. Có một số phương pháp để phát hiện các cuộc tấn công, xâm nhập đó là: Misuse Detection (dò sự lạm dụng) và Anomaly Detection (dò sự không bình thường). Misuse Detection: Phương pháp này phân tích các hoạt động của hệ thống, tìm kiếm các sự kiện giống với các mẫu tấn công đã biết trước. Thông thường hệ thống sẽ lưu trữ trong cơ sở dữ liệu những gói tin có liên quan đến kiểu tấn công từ trước dưới dạng so sánh được, trong quá trình xử lý sự kiện sẽ được so sánh với các thông tin trong cơ sở dữ liệu nếu giống hệ thống sẽ đưa ra cánh báo hoặc ngăn chặn. Các mẫu tấn công biết trước này gọi là các dấu hiệu tấn công. Do vậy phương pháp này còn được gọi là phương pháp dò dấu hiệu (Signature Detection). 12 Hình 1.4 : Mô hình thêm luật phương pháp phát hiện dựa trên dấu hiệu Một số ví dụ cho các dấu hiệu như: một lệnh telnet cố gắng sử dụng “username” là “root’ để truy cập điều này trái với quy định trong các chính sách về bảo mật, hay một thư điện tử với tiêu đề “Free pictures” và kèm theo một tệp tin “freepics.exe” nó hội tụ đầy đủ tính chất của một “malware” hoặc “trojan”, thông tin bản ghi quá trình hoạt động của một hệ điều hành có giá trị là 645, nó cho thấy chức năng kiểm tra quản lý của host bị vô hiệu hóa…. Kiểu phát hiện tấn công bằng dấu hiệu có ưu điểm là phát hiện các cuộc tấn công nhanh và chính xác, không đưa ra các cảnh báo sai làm giảm khả năng họat động của mạng và giúp người quản trị xác định các lỗ hổng bảo mật trong hệ thống của mình. Tuy nhiên, phương pháp này có nhược điểm là không phát hiện được các cuộc tấn công không có trong mẫu, các kiểu tấn công mới, do vậy hệ thống luôn phải cập nhật các mẫu tấn công mới dẫn đến tình trạng cơ sở dữ liệu sẽ trở nên rất lớn, hơn nữa dấu hiệu càng cụ thể càng ít gây cảnh báo nhầm nhưng lại gây khó khăn cho việc phát hiện các biến thể như trong ví dụ ở trên nếu đối tượng tấn công thay đổi tên của tệp đính kèm thành “freepics2.exe” mà hệ thống lại so sánh với “freepics.exe” sẽ không khớp với nhau nên không đưa ra cảnh báo. Anomaly Detection: Đây là kỹ thuật dò thông minh bằng cách nhận dạng các hành động không bình thường của mạng. Quan niệm của phương pháp này về các cuộc tấn công khác so với các hoạt động thông thường. Ban đầu, chúng lưu trữ các mô tả sơ lược về các họat động bình thường của hệ thống. Các cuộc tấn công sẽ có những hành động khác so với trạng thái bình thường do đó có thể nhận dạng được chúng. 13 Hình 1.5 : Mô hình thêm luật phương pháp phát hiện dựa trên phát hiện bất thường Có một số kỹ thuật giúp thực hiện dò sự không bình thường của các cuộc tấn công như dưới đây:  Threshold Detection (Dò theo ngưỡng): kỹ thuật này nhấn mạnh thuật ngữ đếm (“count”). Các mức ngưỡng (threshold) về các họat động bình thường được đặt ra, nếu có sự bất thường nào đó như login với số lần quá quy định, số lượng các tiến trình họat động trên CPU, số lượng một loại gói tin được gửi vượt quá mức…  Self-learning Detection (Dò tự học): kỹ thuật dò này bao gồm hai bước, khi thiết lập hệ thống phát hiện tấn công, nó sẽ chạy ở chế độ tự học thiết lập một profile về cách cư xử của mạng với các họat động bình thường. Sau thời gian khởi tạo, hệ thống sẽ chạy ở chế độ sensor theo dõi các hoạt động bất thường của mạng so sánh với profile đã thiết lập. Chế độ tự học có thể chạy song song với chế độ sensor để cập nhật bản profile của mình nhưng nếu dò ra tín hiệu tấn công thì chế độ tự học phải dừng lại tới khi cuộc tấn công kết thúc.  Anomaly protocol detection (Dò theo bất thường): kỹ thuật dò này căn cứ vào họat động của các giao thức, các dịch vụ của hệ thống để tìm ra các gói tin không hợp lệ, các họat động bất thường là dấu hiệu của sự xâm nhập, tấn công. Kỹ thuật này rất hiệu quả trong việc ngăn chặn các hình thức quét mạng, quét cổng để thu thập thông tin của các hacker. Phương pháp dò sự không bình thường của hệ thống rất hữu hiệu trong việc phát hiện các cuộc tấn công kiểu từ chối dịch vụ. Ưu điểm của phương pháp này là có thể phát hiện ra các kiểu tấn công mới, cung cấp các thông tin hữu ích bổ sung cho phương pháp dò sự lạm dụng, tuy nhiên chúng có nhược điểm là thường tạo ra một số lượng tương đối lớn các cảnh báo sai làm giảm hiệu suất họat động của mạng. Tuy 14 nhiên phương pháp này sẽ là hướng được nghiên cứu nhiều hơn, hoàn thiện các nhược điểm, đưa ra ít cảnh báo sai để hệ thống chạy chuẩn xác hơn. Chúng ta sẽ tìm hiểu kỹ hơn về các phương pháp sử dụng để phát hiện bất thường trong Chương 2 : “Tìm hiểu và nghiên cứu các phương pháp phát hiện tấn công trong hệ thống IPS ” và Chương 3: “Phương pháp phát hiện bất thường dựa trên Khai phá dữ liệu” là nội dung chính của luận văn. 1.3.2.3 Module phản ứng Khi có dấu hiệu của sự tấn công hoặc xâm nhập, module phát hiện tấn công sẽ gửi tín hiệu báo hiệu có sự tấn công hoặc xâm nhập đến module phản ứng. Lúc đó module phản ứng sẽ kíck hoạt firewall thực hiện chức năng ngăn chặn cuộc tấn công. Tại module này, nếu chỉ đưa ra các cảnh báo tới người quản trị và dừng lại ở đó thì hệ thống này được gọi là hệ thống phòng thủ bị động. Module phản ứng tùy theo hệ thống mà có các chức năng khác nhau. Dưới đây là một số kỹ thuật ngăn chặn:  Terminate session (Chấm dứt phiên): cơ chế của kỹ thuật này là hệ thống IPS gửi gói tin reset, thiết lập lại cuộc giao tiếp tới cả client và server. Kết quả cuộc giao tiếp sẽ được bắt đầu lại, các mục đích của hacker không đạt được, cuộc tấn công bị ngừng lại. Tuy nhiên phương pháp này có một số nhược điểm như thời gian gửi gói tin reset đến đích là quá lâu so với thời gian gói tin của hacker đến được Victim, dẫn đến reset quá chậm so với cuộc tấn công, phương pháp này không tác dụng với các giao thức hoạt động trên UDP như DNS, ngoài ra gói Reset phải có trường Sequence number đúng (so với gói tin trước đó từ client)thì server mới chấp nhận, do vậy nếu hacker gửi các gói tin với tốc độ nhanh và trường Sequence number thay đổi thì rất khó thực hiện được phương pháp này.  Drop attack (Loại bỏ tấn công): kỹ thuật này dùng firewall để hủy bỏ gói tin hoặc chặn đường một gói tin đơn, một phiên làm việc hoặc một luồng thông tin giữa hacker và victim. Kiểu phản ứng này là an toàn nhất nhưng lại có nhược điểm là dễ nhầm với các gói tin hợp lệ.  Modify firewall polices (Thay đổi chính sách tường lửa): kỹ thuật này cho phép người quản trị cấu hình lại chính sách bảo mật khi cuộc tấn công xảy ra. Việc cấu 15 hình lại là tạm thời thay đổi các chính sách điều khiển truy cập bởi người dùng đặc biệt trong khi cảnh báo tới người quản trị.  Real-time Alerting (Đưa thông báo thời gian thực): gửi các cảnh báo thời gian thực đến người quản trị để họ lắm được chi tiết các cuộc tấn công, các đặc điểm và thông tin về chúng.  Log packet (Lưu các gói tin log): Các dữ liệu của các gói tin sẽ được lưu trữ trong hệ thống các file log. Mục đích để các người quản trị có thể theo dõi các luồng thông tin và là nguồn thông tin giúp cho module phát hiện tấn công hoạt động. Ba module trên họat động theo tuần tự tạo nên hệ thống IPS hoàn chỉnh. Một hệ thống IPS được xem là thành công nếu chúng hội tụ được các yếu tố: thực hiện nhanh, chính xác, đưa ra các thông báo hợp lý, phân tích được toàn bộ thông lượng, cảm biến tối đa, ngăn chặn thành công và chính sách quản lý mềm dẻo. 1.3.3 Mô hình hoạt động Từ cấu tạo của IPS ta có thể thấy mô hình hoạt động của một hệ thống IPS bao gồm 5 giai đoạn chính: Giám sát, Phân tích, Liên lạc, Cảnh báo và Phản ứng. Hình 1.6 : Mô hình hoạt động của hệ thống IPS. Giám sát Phân tích Liên lạc Cảnh báo Phản ứng 16  Giám sát: có nhiệm vụ thu thập các thông tin về lưu thông trên mạng, công việc sẽ do các Sensor đảm nhiệm. Kết quả của quá trình này sẽ là các thông tin đầy đủ về trạng thái của toàn mạng. Nhưng nhìn chung chúng ta thường khó có thể thu thập được một lượng thông tin toàn diện như vậy vì nó sẽ tiêu tốn rất nhiều tài nguyên do đó người ta thường thu thập thông tin theo thời gian nghĩa là thu thập liên tục trong một khoảng thời gian hoặc thu thập theo từng chu kì nhất định.  Phân tích: đây chính là giai đoạn thiết yếu nhất trong một hệ thống IPS. Sau khi thu thập thông tin hệ thống sẽ tiến hành phân tích tùy theo môi trường mạng có các cách phân tích khác nhau. Nhưng nói chung hệ thống sẽ xem xét trong luồng những thông tin thu được những dấu hiệu khả nghi để đưa ra cảnh báo. Như đã biết ở trên có 2 cách chính để phát hiện dấu hiệu khả nghi là đối sánh mẫu và phân tích hành vi bất thường.  Liên lạc: giai đoạn này cũng là một giai đoạn quan trọng trong hệ thống, nó đảm bảo các thành phần trao đổi thông tin được với nhau khi cần thiết như gửi các thông tin khi phát hiện tấn công cho bộ phận đưa ra cảnh báo hoặc gửi các thông tin về cấu hình.  Cảnh báo: kết thúc quá trình phân tích nếu hệ thống nhận thấy được dấu hiệu tấn công sẽ đưa ra các cảnh báo cho hệ thống. Các cảnh bảo như: một máy cố truy cập vào một máy không được phép hoặc sử dụng các account như “root” từ ngoài mạng hay sử dụng các dịch vụ không hợp lệ…  Phản ứng: sau khi nhận được các cảnh báo hệ thống IPS sẽ đưa ra các phản ứng của riêng mình mà không cần đợi quản trị mạng đảm bảo kịp thời ngăn chặn và giảm thiểu tối đa những tác động do các cuộc tấn công gây ra. Các phản ứng của IPS thường là: o Ngắt kết nối mạng hoặc phiên làm việc của người dùng được sử dụng cho hành động tấn công. o Khóa quyền truy cập đến đối tượng đích từ tài khoản người dùng gây tấn công, khóa địa chỉ IP… o Khóa tất cả các quyền truy cập vào đối tượng đích, các dịch vụ, các ứng dụng và các tài nguyên khác. 17 o Các IPS tiên tiến còn có khả năng thay đổi môi trường bảo mật như thay đổi cấu hình sang một loại điều khiển bảo mật khác để ngăn chặn tấn công. o Các IPS cũng có thể thay thế nội dung tấn công bằng cách loại bỏ các phần mã nguy hiểm trong gói tin… 1.3.4 Đánh giá hệ thống IPS Để đánh giá chất lượng hệ thống IPS người ta đưa ra các định nghĩa:  False Positive: Hệ thống sinh ra các cảnh báo khi các luồng dữ liệu bình thường đi qua, không có tấn công. Loại cảnh báo này là không thể tránh khỏi nếu quá nhiều sẽ gây nhiễu.  True Positive: Hệ thống sinh ra các cảnh báo khi các cuộc tấn công thực sự diễn ra. Càng nhiều cảnh bào này hệ thộng IPS càng được đánh giá cao đây là mục tiêu hàng đầu để cải tiến hệ thống.  False Negative: có ý nghĩa ngược với False Positive, cảnh báo xảy ra khi hệ thống không nhận ra được các cuộc tấn công, nguyên nhân có thể do thông tin về dạng tấn công chưa được biết. Các cảnh bảo này được các hệ thống IPS cố gắng tối thiểu hóa.  True Negative: Các luồng dữ liệu bình thường đi qua và hệ thống không sinh cảnh báo.  Đánh giá các hệ thống IPS người ta chủ yếu dựa vào 2 thông số False Positive ( cảnh báo sai ), True Positive ( cảnh báo đúng ), dùng tỷ lệ của 2 yếu tố này chúng ta có thể xây dựng nên đường cong ROC ( Recevier Operating Characteristic Curve). 18 Hình 1.7 Minh họa đường cong ROC. 1.4. Kết chương Phát hiện truy cập trái phép là tiến trình theo dõi sự kiện xảy ra trong hệ thống máy tính hoặc mạng và phân tích chúng để tìm ra những dấu hiệu của các mối nguy hiểm có thể xảy ra, chúng vi phạm hoặc sắp vi phạm các chính sách bảo mật của hệ thống máy tính, các chính sách được chấp nhận sử dụng, hoặc các chuẩn bảo mật thông thường. Ngăn chặn truy cập trái phép là tiến trình hoạt động bao gồm cả phát hiện truy cập và cố gắng ngăn chặn những mối nguy hiểm được phát hiện. Hệ thống ngăn chặn truy cập trái phép tập trung chủ yếu vào việc phát hiện các mối đe dọa có thể đối với hệ thống, ghi lại thông tin về chúng, cố gắng ngăn chặn và thông tin cho người quản trị mạng. Ngoài ra IPS còn được sử dụng cho các mục đích khác như phát hiện các lỗi trong chính sách bảo mật, lập tài liệu các mối đe dọa đã biết, cản trở những cá nhân vi phạm chính sách bảo mật. IPS đang ngày càng trở nên cần thiết và là một thành phần bảo mật không thể thiếu trong các hệ thống. Có nhiều loại IPS khác nhau phụ thuộc vào loại của các sự kiện mà chúng có thể nhận ra và các phương thức chúng sử dụng để phát hiện các mối đe dọa. Thông thường người ta chia IPS thành các loại : NIPS (Network-based Intrusion Prevention System) theo dõi và phát hiện sự cố trên một hệ thống mạng, HIPS (Host-based Intrusion Prevention System) theo dõi và xử lý sự cố trên các máy tính riêng lẻ, và Hybrid Intrusion Prevention System kết hợp của 2 hệ thống NIPS và HIPS thu thập thông tin 19 trên máy trạm kết hợp với thông tin thu thập được ở trên mạng để có được sự phân tích một cách chi tiết về hiện trạng hệ thống mạng. Ngoài ra người ta còn phân loại hệ thống IPS dựa trên quá trình triển khai :  Out-of-band IPS (OOB IPS) luồng dữ liệu vào hệ thống mạng sẽ cùng đi qua firewall và IPS, IPS có thể quản lý firewall, chỉ dẫn nó chặn lại các hành động nghi ngờ.  In-line IPS: luồng dữ liệu phải đi qua IPS trước khi tới firewall nhờ đó có thể ngăn chặn luồng giao thông nguy hiểm nhanh hơn so với OOB IPS, tuy nhiên sẽ làm cho tốc độ luồng thông tin ra vào mạng chậm hơn. Hệ thống IPS bao gồm 3 module chính : module phân tích gói tin, module phát hiện tấn công và module phản ứng trong đó module phát hiện tấn công đóng vai trò đặc biệt, có thể nói là quan trọng nhất. Module phát hiện tấn công được cài đặt theo nhiều phương pháp khác nhau nhưng nhìn chung được chia thành 2 phương pháp chính: phương pháp phát hiện dựa trên dấu hiệu ( mẫu) và phương pháp dò dựa trên phát hiện bất thường. Phương pháp phát hiện dựa trên dấu hiệu sử dụng các mẫu tấn công đã có sẵn trong cơ sở dữ liệu so sánh với các dấu hiệu hiện tại nhằm xác định xem nó có phải là một cuộc tấn công hay không. Phương pháp này được sử dụng rộng rãi trước đây vì nó có ưu điểm là cảnh báo chính xác, nhanh chóng, người quản trị có khả năng chỉnh sửa tập các dấu hiệu. Tuy nhiên phương pháp này có rất nhiều nhược điểm như nó đòi hỏi phải mô tả một cách chính xác các dấu hiệu điều này là rất khó, cũng vì phải so sánh các mẫu chính xác tuyệt đối nên chúng ta cũng phải tốn nhiều tài nguyên để lưu trữ các mẫu bao gồm cả các biến thể của chúng nếu không hệ thống sẽ không nhận ra được, nó phụ thuộc khá nhiều vào công việc của người quản trị khi thường xuyên phải cập nhật các cuộc tấn công mới trong khi các cuộc tân công ngày càng trở nên tinh vi và đa dạng hơn. Phương pháp dò dựa trên phát hiện bất thường hoạt động dựa trên nguyên tắc, sẽ định ra các trạng thái hoạt động bình thường của hệ thống, các IPS sẽ dò và so sánh nếu tồn tại các cuộc tấn công sẽ có các hành động bất thường. Hệ thống IPS dựa trên phát hiện bất thường xây dựng các profile về hoạt động bình thường của mạng làm cơ sở so sánh. Hệ thống này hạn chế được nhiều nhược điểm của hệ thống sử dụng mẫu 20 so sánh. Nó có khả năng dò ra các cuộc tấn công chưa biết là rất cao, đồng thời tốn ít tài nguyên hơn cho việc xây dựng các profile về hoạt động bình thường của hệ thống so với việc xây dựng các mẫu tấn công. Vấn đề chủ yếu của hệ thống này là việc xây dựng các profile là tương đối khó để phản ánh toàn diện trạng thái bình thường xét về mặt không bị tấn công, nó có thể đưa ra rất nhiều cảnh báo sai khi hệ thống hoạt động trái bình thường nhưng bởi các nguyên nhân khác không phải các cuộc tấn công. Nhưng tóm lại hệ thống này rõ ràng có nhiều ưu điểm hơn hệ thống dựa trên mẫu nếu được cải tiến tốt, trong chương kế tiếp của luận văn sẽ chủ yếu tập trung tìm hiểu, đánh giá các cách cải tiến phương pháp này. 21 CHƯƠNG 2 : TÌM HIỂU VÀ NGHIÊN CỨU CÁC PHƯƠNG PHÁP PHÁT HIỆN TẤN CÔNG TRONG HỆ THỐNG IPS Hệ thống IPS sử dụng 2 phương pháp chính để phát hiện tấn công là phương pháp so sánh mẫu và phương pháp so sánh dựa trên bất thường. Như chúng ta đã biết phương pháp so sánh mẫu có khá nhiều khuyết điểm và hiện nay không được sử dụng rộng rãi nữa, hầu hết các hệ thống IPS hiện nay chủ yếu hỗ trợ và phát triển phương pháp so sánh dựa trên bất thường với khả năng phát hiện ra các kiểu tấn công mới vì thế trong chương này cũng như xuyên suốt luận văn tôi sẽ chủ yếu tập trung tìm hiểu và nghiên cứu các phương pháp phát hiện tấn công bằng phát hiện bất thường. Luận văn sẽ lần lượt đi qua các phương pháp cơ bản trong hệ thống sử dụng phát hiện bất thường trong đó sẽ đi sâu vào phương pháp sử dụng Datamining ( Khai phá dữ liệu ), là hướng nghiên cứu được nói đến nhiều nhất hiện nay. 2.1 Tổng quan về phương pháp phát hiện bất thường 2.1.1 Thế nào là bất thường trong mạng? Những bất thường trong mạng thường dùng để chỉ những hoàn cảnh khi hoạt động của mạng đi chệch so với các trạng thái bình thường. Bất thường trong mạng có thể phát sinh từ nhiều nguyên nhân như các thiết bị mạng bị hỏng hóc, hệ thống mạng quá tải, hệ thống gặp phải các cuộc tấn công từ chối dịch vụ, và các cuộc xâm nhập phá vỡ khả năng vận chuyển của các dịch vụ mạng …. Những sự kiện bất thường sẽ phá vỡ trạng thái bình thường của một vài dữ liệu mạng mà chúng ta có thể đo được. Người ta sẽ dựa vào trạng thái của các dữ liệu này để xác định trạng thái của mạng là bình thường hay không bình thường. Các dữ liệu dùng để xác định trạng thái của mạng phụ thuộc vào một vài nhân tố đặc biệt như khả năng hoạt động của 1 hệ thống dựa trên dung lượng lưu thông, loại dữ liệu hệ thống sẵn có hay những loại ứng dụng chạy trên hệ thống… 22 Tóm lại những sự bất thường của hệ thống được xác định thông qua những thay đổi chớp nhoáng liên tục trong dữ liệu hệ thống trước hoặc trong khi 1 sự kiện bất thường đang xảy ra. Thuật ngữ “những thay đổi chớp nhoáng” dùng để diễn tả những thay đổi đột ngột trong dữ liệu xảy ra theo 1 trật tự thời gian giống như tần số hay tần suất. Khoảng thời gian diễn ra các thay đổi đột ngột này biến thiên theo bản chất của sự kiện bất thường đó. Bất thường trong mạng có thể được chia làm 2 lớp chính. Lớp thứ nhất liên quan đến những sự cố và những lỗi về hiệu năng của mạng như sự cố liên quan đến File Server, sự cố phân trang bộ nhớ qua mạng (paging across the network), broadcast storms, babbling node, hay tắc nghẽn đường truyền (transient congestion). Ví dụ cho sự cố File server đó là sự cố của một web server, xảy ra khi có một số lượng lớn yêu cầu tới server vượt quá khả năng đáp ứng. Sự cố phân trang qua mạng (paging network) xảy ra khi một chương trình ứng dụng phình to hơn dung lượng bộ nhớ giới hạn của máy trạm làm việc và bắt đầu phân trang bộ nhớ tới một File server, việc này không ảnh hưởng đến cá nhân người dùng nhưng nó ảnh hưởng đến các người dùng khác do sẽ gây ra sự thiếu hụt băng thông mạng. Vấn đề babbling node là tình huống khi một nốt mạng gửi ra ngoài những gói tin nhỏ trong một vòng lặp vô hạn để kiểm tra một vài thông tin như các báo cáo về trạng thái… Trong một vài trường hợp những lỗi phần mềm cũng có thể gây ra các bất thường trong mạng như những lỗi khi xây dựng giao thức mạng khiến cho một máy liên tục gửi các gói tin gây tắc nghẽn mạng… Lớp bất thường thứ 2 là những vấn đề liên quan đến an ninh mạng. Ví dụ của những bất thường dạng này là tấn công từ chối dịch vụ (DoS) và xâm nhập hệ thống. Tấn công DoS diễn ra khi các dịch vụ được cung cấp bởi 1 hệ thống bị 1 phần tử độc hại nào đó điều khiển. Bên cung cấp dịch vụ do đó có thể ngưng 1 dịch vụ trọng yếu như DNS chẳng hạn và điều này sẽ gây ra 1 sự sụp đổ thực sự của cả 1 hệ thống. Trong trường hợp mạng bị xâm nhập, các phần tử nguy hiểm ( virus, spyware, worm, troyjan… ) cũng có thể chiếm dung lượng lớn đường truyền khiến cho hệ thống chạy chậm đi và dẫn đến hiện tượng tắc nghẽn mạng. 23 2.1.2 Các nguồn dữ liệu dùng cho phát hiện bất thường Thu thập các loại dữ liệu về hiệu năng của mạng là công việc cơ bản cho việc phát hiện bất thường. Các loại bất thường có thể phát hiện được phụ thuộc vào bản chất của dữ liệu mạng. Trong phần này chúng ta sẽ xem xét một số nguồn có thể thu thập dữ liệu và phân tích sự thích hợp của chúng trong việc phát hiện bất thường. Bản chất của phương pháp phát hiện bất thường là xây dựng nên tập các hồ sơ trạng thái bình thường của mạng để so sánh do đó dữ liệu thu thập càng chính xác khả năng phát hiện càng cao, thuật toán càng hiệu quả. 2.1.2.1 Network Probes Network Probes [4] là các công cụ đặc biệt như lệnh ping và traceroute, được sử dụng để thu thập các thông số mạng cần thiết như thời gian trễ và tỉ lệ mất gói tin. Các công cụ Probing cung cấp các số liệu mạng một cách tức thời. Nhưng phương thức này không yêu cầu sự phối hợp của các nhà cung cấp dịch vụ mạng. Tuy vậy, các nhà cung cấp dịch vụ có thể chọn không cho phép các công cụ này hoạt động thông qua Firewall của họ. Hơn nữa các gói tin IP được sử dụng bởi các công cụ này không nhất thiết phải đi theo các quỹ đạo hoặc được các thiết bị mạng xử lý giống như các gói tin IP thông thường. Phương thức này cũng giả thiết tồn tại một con đường đối xứng giữa nguồn và đích đến. Trên mạng Internet, giả thiết này là không được đảm bảo. Do đó các thông số thu thập được từ các công cụ này có thể chỉ cho chúng ta cái nhìn ở mức thô về hệ thống mạng. Cho nên dữ liệu lấy từ các probing không có nhiều giá trị cho mục đích phát hiện bất thường. 2.1.2.2 Lọc gói tin cho việc phân tích luồng ( Packet Filtering ) Trong phương thức lọc gói tin [4], các luồng gói tin sẽ được thống kê, lấy mẫu bằng cách ghi lại các thông tin IP header của các gói tin ở các thời điểm khác nhau ở các vị trí khác nhau. Các thông tin thu được từ IP header có thể cung cấp chi tiết về hoạt động của mạng, chúng có thể được sử dụng trong việc phát hiện các bất thường về luồng. Một luồng thông tin được xác định bởi địa chỉ nguồn, địa chỉ đích và số hiệu cổng. Tóm lại phương pháp này cho phép có được thống kê chính xác về giao dịch 24 trong mạng nhưng khó áp dụng trong thực tế vì nó đòi hỏi những công nghệ lấy mẫu tinh vi cũng như các thiết bị phần cứng đặc biệt để lấy các thông tin từ các gói IP. 2.1.2.3 Dữ liệu từ các giao thức định tuyến Thông tin về các sự kiện mạng có thể được thu thập thông qua các giao thức định tuyến [4]. Ví dụ như sử dụng giao thức OSPF ( open shortest path first), nó có thể thu thập tất cả thông tin cập nhật về bảng định tuyến được trao đổi bởi các router. Dữ liệu thu được có thể xây dựng toplogy của mạng và cung cấp trạng thái cập nhật của đường truyền như về băng thông, độ trễ, mức độ tắc nghẽn mạng… 2.1.2.4 Dữ liệu từ các giao thức quản trị mạng Các giao thức quản trị mạng cung cấp tất cả thông tin thống kê về giao thông trên mạng. Những giao thức này hỗ trợ rất nhiều thông số có thể giám sát chính xác hoạt động thiết bị mạng. Những thông tin thu thập được có thể không cung cấp trực tiếp các thông số đo lường về giao thông mạng nhưng có thể dùng để nhận dạng các hành vi trên mạng do đó có thể được sử dụng trong phát hiện bất thường mạng. Sử dụng loại thông tin này đòi hỏi sự kết hợp với phần mềm quản trị mạng của nhà cung cấp dịch vụ. Tuy nhiên những giao thức này cung cấp một lượng thông tin phong phú và chất lượng. Tiếp theo chúng ta xem xét chi tiết một giao thức là SNMP ( Simple Network Management Protocol). SNMP hoạt động dựa trên mô hình client-server. Giao thức này cung cấp một cơ chế giúp các manager giao tiếp với agent. Một SNMP manager có thể giám sát hàng trăm SNMP agent khác nằm trên các thiết bị mạng. SNMP được cài đặt ở tầng ứng dụng và chạy trên giao thức UDP. SNMP manager có khả năng thu thập các dữ liệu quản lý được cung cấp bởi SNMP agent nhưng lại không có khả năng xử lý những dữ liệu này. SNMP server sẽ lưu giữ 1 cơ sở dữ liệu bao gồm những thông số quản lý được gọi là những thông số thông tin quản lý cơ bản MIB ( management information base). Các thông số này chứa các thông tin liên quan đến hoạt động của các chức năng khác nhau trên những thiết bị mạng. Bất kỳ thiết bị mạng nào cũng có một tập các thông số MIB đặc trưng cho các chức năng của nó. Các thông số MIB được định nghĩa dựa trên loại thiết bị cũng như tầng giao thức mà nó hoạt động. Ví dụ như bridges (cầu) hoạt động ở tầng liên kết dữ 25 liệu chứa các thông số cung cấp thông tin về trao đổi thông tin ở mức liên kết dữ liệu. Routers là thiết bị ở tầng mạng chứa các thông số cung cấp thông tin về tầng mạng. Lợi ích của việc sử dụng giao thức SNMP vì nó là một giao thức được phát triển rộng rãi và mang tính chuẩn hóa trên tất cả các thiết bị mạng. Nhờ đó các thông tin lấy được từ giao thức SNMP là các dữ liệu lý tưởng sử dụng cho việc phát hiện bất thường. Các thông số MIB được chia thành các nhóm : hệ thống, giao diện ( if), dịch địa chỉ ( address translation – af ), giao thức internet (ip), giao thức điều khiển tin nhắn internet (icmp), giao thức điều khiển giao vận (tcp), giao thức udp ( udp), giao thức cổng ngoài ( egp). Mỗi nhóm các thông số miêu tả chức năng của một giao thức chuyên biệt của thiết bị mạng. Tùy thuộc vào loại nút mạng nào được theo dõi, một nhóm các thông số cụ thể có thể được xem xét. Nếu nút đang được xem xét là router, nhóm thông số ip sẽ được nghiên cứu. Các thông số ip mô tả các đặc điểm trao đổi dữ liệu ở tầng mạng. Không có một thông số MIB nào có thể nắm bắt được mọi bất thường trong hệ thống hoặc những dấu hiệu bất thường hệ thống. Vì vậy, việc lựa chọn các thông số MIB phụ thuộc vào hoàn cảnh tìm ra những bất thường đó. Ví dụ trong trường hợp router, nhóm ip của MIB được chọn, ngược lại nều là bridge nhóm if được sử dụng. 2.1.3 Các phương pháp phát hiện bất thường Trong phần này chúng ta sẽ xem xét các phương pháp hay được sử dụng trong phát hiện bất thường. Các phương pháp này bao gồm hệ chuyên gia ( rule-based ), mô hình máy trạng thái hữu hạn, so sánh mẫu, phân tích thống kê, mạng nơ-ron. Chúng ta sẽ nghiên cứu cơ chế hoạt động điểm mạnh, điểm yếu của từng phương pháp. 2.1.3.1 Hệ chuyên gia ( Rule-based ) Phương pháp này được áp dụng từ rất sớm trong lĩnh vực dò lỗi hay phát hiện bất thường trong mạng. Trong hệ chuyên gia, một cơ sở dữ liệu toàn diện chứa tập luật miêu tả hành vi của hệ thống được sử dụng để xác định nếu một lỗi nào đó xảy ra. Trên thực tế phương pháp này ít được áp dụng do hệ thống chạy quá chậm không đáp ứng được yêu cầu của các ứng dụng thời gian thực và phụ thuộc nhiều vào cơ sở tri thức về các triệu chứng lỗi trước đó. Những triệu chứng này có thể là : dung lượng 26 đường truyền bị quá tải, số lượng kết nối TCP mở nhiều trên mức cho phép, thông lượng đạt mức tối đa … Phương pháp này còn có một nhược điểm là phụ thuộc khá nhiều vào người quản trị mạng và không đáp ứng kịp khi hệ thống mạng được mở rộng do mỗi khi hệ thống có sự thay đổi thì cần có sự bổ sung về tập luật. Người ta có thể sử dụng mô hình hệ chuyên gia FCMs ( fuzzy cognitive maps) để khắc phục nhược điểm này. FCM có thể được sử dụng để tạo ra một mô hình thông minh có sự thừa kế và tác động qua lại với nhau của các triệu chứng mạng. Cơ chế hoạt động của phương pháp dựa vào tập luật có thể xác định như sau :  Giả thiết các sự kiện phát triển theo một trình tự nhất định.  Mô tả hành vi hoạt động bình thường của hệ thống dưới dạng các luật đã được rút gọn nhất có thể. Ví dụ như A1A2 ==> B1, sự kiện A1 xảy ra xong đến sự kiện A2 thì có thể xảy ra sự kiện B1 tiếp theo.  Ta có một tập luật, so sánh các chuỗi sự kiện đưa vào với tập luật, nếu các sự kiện đưa vào phù hợp với vế trái của một luật mà không trùng với về phải của luật thì có thể xem xét xác định bất thường ở đây. Như ở ví dụ trên trong thực tế sự kiện A1, sự kiện A2 xảy cuối cùng lại dẫn đến sự kiện C1 xảy ra thì có thể kết luận là có sự kiện bất thường diễn ra ở đây. Hình 2.1 : Mô hình hệ thống phát hiện bất thường dựa trên tập luật 27 2.1.3.2 Mạng Nơ-ron ( Artificial Neural Network) Như chúng ta đã biết ở trên, một trong những phương pháp phổ biến dùng để phát hiện bất thường là hệ chuyên gia, tuy nhiên phương pháp này có nhược điểm là phụ thuộc khá nhiều vào tập luật được định nghĩa trước bởi người quản trị và phải được cập nhật thường xuyên. Nhược điểm này có thể được khắc phục bằng cách áp dụng công nghệ mạng nơ-ron. Hệ thống phân tích bất thường sử dụng mạng nơron tập trung vào việc phát hiện các thay đổi trong hành vi của chương trình, theo đó mạng nơron sẽ học và dự đoán hành vi của người sử dụng và các chương trình ứng dụng. Ưu điểm của mạng nơron là thích ứng được với các kiểu dữ liệu không đầy đủ, dữ liệu với độ chắc chắn không cao và không cần cập nhật tri thức thường xuyên do nó có quá trình tự học, điểm yếu của mạng nơron là tốc độ xử lý, trong quá trình tự thu thập dữ liệu, phân tích và điểu chỉnh các nơron. Chúng ta sẽ đi vào chi tiết hơn. Mạng nơ-ron nhân tạo hay thường gọi ngắn gọn là mạng nơ-ron là một mô hình tính toán được xây dựng dựa trên các mạng nơ-ron sinh học. Nó gồm có một nhóm các nơ-ron nhân tạo (nút) nối với nhau, và xử lý thông tin bằng cách truyền theo các kết nối và tính giá trị mới tại các nút. Trong nhiều trường hợp, mạng nơ-ron nhân tạo là một hệ thống thích ứng (adaptive system) tự thay đổi cấu trúc của mình dựa trên các thông tin bên ngoài hay bên trong chảy qua mạng trong quá trình học. Hình 2.2 Mô hình mạng nơron Một mạng nơron bao gồm các nút input, nút output và các nút trong các lớp ẩn ( hidden layer). Cấu trúc mạng nơ-ron được chia thành 2 loại: 28 Loại thứ nhất sử dụng các thuật toán đào tạo được giám sát (Supervised training algorithms), ở giai đoạn tự học, hệ thống sẽ nghiên cứu một đầu ra mong muốn cho mỗi đầu vào đã được định sẵn. Cấu trúc phổ biến của mạng nơ ron giám sát là kiến trúc nhận thức đa tầng MLP (Multi-layered Perceptron). MLP là mạng chuyển tiếp đa tầng ( feed-forward) bao gồm lớp đầu vào, một hoặc một vài lớp ẩn và lớp đầu ra. Lớp đầu ra cung cấp phản hồi của hệ thống đến các mẫu hoạt động áp dụng trong lớp đầu vào. Nghiên cứu hiện tại của MLP mới nhằm giải quyết mẫu bài toán phát hiện 3 lớp, nghĩa là tập trung xác định hệ thống là bình thường hoặc bị tấn công dạng neptune ( tấn công từ chối dịch vụ - SYN) và tấn công dạng Satan( tấn công bằng cách dò quét tự động mạng hoặc máy tính để tìm lỗ hổng xâm nhập), nó có thể mở rộng cho các trường hợp có nhiều dạng tấn công. Mục đích của MLP là chuyển giao những mẫu đầu vào cho một trong những nhóm mà chúng được đại diện xét theo khía cạnh các đầu ra ( bình thường, neptune hoặc satan ) của mạng nơ ron sao cho chúng thể hiện đặc tính của một thành viên lớp. Sự thể hiện mang tính biểu trưng này được dùng theo cách sau: số 1 ở cột biểu thị sự xuất hiện/ tồn tại dấu hiệu tương ứng của cột đó, còn số 0 biểu thị sự không tồn tại. Vì vậy chúng ta có 3 trường hợp có thể nhận biết được kết quả ở đầu ra, đó là: [1 0 0] - tình trạng bình thường,[ 0 1 0] cho tấn công dạng Neptune và [ 0 0 1] nếu gặp tấn công dạng satan. Loại thứ hai sử dụng các thuật toán đào tạo không qua giám sát (Unsupervised training algorithms): ở giai đoạn tự học, hệ thống sẽ nghiên cứu mà không xác định đầu ra mong muốn. Các bản đồ tổ chức độc lập (SOM - Self-Organizing Maps) là một dạng tiêu biểu của loại này. Trong hệ thống phát hiện bất thường sử dụng SOM, người ta tập trung vào việc phân lớp các hành vi từ đó phát hiện ra các hành vi nghi vấn. Tiến trình xử lý của hệ thống diễn ra như sau: các dữ liệu về mạng được thể hiện dưới dạng vectơ tham số đặc trưng, sau đó được lưu trong một Input vectơ để tiến hành phân lớp, việc phân lớp sẽ lặp đi lặp lại cho đến khi hội tụ, khi đã xây dựng nên được các SOM, hệ thống sẽ tiến hành xác định khoảng cách giữa hành vi đang xét với hành vi bình thường, nếu nó vượt quá ngưỡng cho phép thì có bất thường xảy ra ở đây. Ví dụ xét nguồn dữ liệu mạng được xét lấy từ các tệp logs ghi lại hành vi của người dùng:  Thời gian họat động của người dùng ( User activity times): Thời gian một người dùng hoạt động bình thường. 29  Các host người dùng đăng nhập ( User login hosts): Các host mà một người dùng đăng nhập bình thường.  Các host người dùng bên ngoài ( User foreign hosts): Các host mà người dùng truy bình thường nhập thông qua lệnh hệ thống như các host FTP.  Các tập lệnh (Command set): các lệnh mà người dùng bình thường sử dụng .  Sử dụng CPU ( CPU usage): Mức độ sử dụng CPU thông thường của một người dùng.  Sử dụng bộ nhớ ( Memory Usage): Mức độ sử dụng bộ nhớ thông thường của một người dùng. Hình 2.3 Cấu trúc một hệ thống phát hiện bất thường sử dụng SOM Hình 2.3 mô tả một kiến trúc hoành chỉnh cho một hệ thống phát hiện bất thường sử dụng SOM. Bộ phận phối hợp xử lý ( coordianting process) chịu trách nhiệm cho các kênh thông tin của mạng nơron. Mỗi một tính chất hành vi (Thời gian hoạt động của người dùng, các host đăng nhập … ) được mô hình hóa bởi một mạng SOM cũng như được kiểm tra bởi các quy tắc lọc cố định để phát hiện các lỗ hổng bảo mật đơn giản. Dữ liệu thu được từ hệ thống logs được lọc tiếp thông qua bộ phận tiền xử lý đầu 30 vào ( data preprocessing ) chỉ chọn những dữ liệu cần thiết. Như chúng ta đã biết đầu vào của mạng nơron là dữ liệu dạng vector bao gồm 6 thuộc tính đặc trưng cho thời gian hoạt động, các host người dùng đăng nhập, các host người dùng bên ngoài, các tập lệnh, việc sử dụng CPU, việc sử dụng bộ nhớ. Theo đó một số lượng lớn các biến của dữ liệu này cần được chuẩn hóa để mỗi vectơ đầu vào có giá trị trong khoảng [- 1,1]. Khoảng xác định này được lấy từ các hệ thống phát hiện bất thường bằng mạng nơron khác trước đây. Người ta sử dụng công thức trong hình 2.4 để chuẩn hóa dữ liệu: Hình 2.4 Công thức chuẩn hóa dữ liệu đầu vào Trong đó nv[i] là dữ liệu đã được chuẩn hóa của đặc điểm i, v[i] là giá trị của đặc điểm i, K là số đặc điểm có trong vectơ dữ liệu đầu vào. Nếu giá trị lấy từ người dùng vượt quá giá trị ngưỡng đặc biệt thu được thông qua mạng SOM chứng tỏ hành vi đó là không bình thường. Nếu dữ liệu đầu ra nằm trên giá trị ngưỡng đặc biệt hành vi đó cũng là bất thường. Hình 2.5 Thiết kế của mạng SOM 31 2.1.3.3 Máy trạng thái hữu hạn Mô hình máy trạng thái hữu hạn ( FSM – finite states machine ) phát hiện bất thường bằng cách mô hình hóa các trạng thái hoạt động bình thường của mạng, sau đó cho dữ liệu đi qua là chuỗi các hành vi cần dò bất thường, bất thường có thể xác định nếu chuỗi đi qua không đạt được trạng thái kết thúc. Mô hình FSM xây dựng dựa trên cơ sở đặt các chuỗi báo động ( sequence of alarm ) ở các điểm khác nhau trên mạng để ghi lại trạng thái của máy. Theo cách thông thường một máy trạng thái hữu hạn được định nghĩa bởi một tập Q = ( Q, ∑, q0, δ, F ) với:  Q : tập các trạng thái có thể  q0: trạng thái ban đầu  ∑: tập ngôn ngữ hữu hạn  δ: hàm chuyển Q x ∑  Q  F là tập con của Q: tập các trạng thái kết thúc. Người ta thường dùng máy trạng thái hữu hạn để xác định bất thường trong các giao thức, các giao thức này sẽ được theo dõi một cách độc lập và coi như không bị ảnh hưởng bới các sự kiện khác. Ví dụ với giao thức TCP chúng ta mô hình kiểm tra như trong hình 2.6. Hình 2.6 : Mô hình FSM cho kết nối TCP. q0 SYN? TRUE FALSE SYN /ACK? TRUE TRUE TRUE Success FALSE FALSE FALSE Anomaly ACK? GET? 32 Tóm lại phương pháp phát hiện bất thường sử dụng máy trạng thái hữu hạn có ưu điểm là chúng ta có thể xác định chính xác nguyên nhân gây ra bất thường phân biệt được đó có phải là một cuộc tấn công hay không vì xây dựng được mô hình hoạt động của các sự kiện. Nhưng trên thực tế phương pháp này rất khó triển khai do rất tốn tài nguyên, phải có một tập dữ liệu lớn đầy đủ về hoạt động mạng, có máy hiệu năng lớn để tính toán. Các sự kiện khác nhau phải xây dựng các mô hình riêng, độc lập để theo dõi. 2.1.3.4 Phân tích thống kê Sử dụng thống kê để xác định các sự kiện bất thường được sử dụng rộng rãi trong các hệ thống phát hiện truy nhập từ nhiều năm nay. Hệ thống hoạt động trên nguyên tắc thu thập dữ liệu của các thông số trên mạng và áp dụng một số kỹ thuật thống kê trên dữ liệu được thu thập để tạo ra các tập hồ sơ cho các thông số trong thời điểm hoạt động bình thường, ví dụ hệ thống có thể nghiên cứu sự phân phối của các thông số được giám sát. Hệ thống sau đó sẽ xem xét sự khác nhau giữa thông số đang xem xét ở thời điểm hiện tại với tệp hồ sơ của nó, thông thường nếu dữ liệu của thông số hiện tại cao hơn thì nhiều khả năng hệ thống bị tấn công. Hệ thống có thể sử dụng nhiều quy luật đơn giản để phát hiện ra sự khác nhau. Sự dụng ngưỡng ( threshold) là cách đơn giản nhất, khi thông số được theo dõi vượt quá ngưỡng đặt ra thì có cảnh báo. Các hệ thống sử dụng phân tích thống kê điển hình là Haystack(Smaha, 1988), IDES(Lunt et al, 1988), EMERALD(Porras and Neumann, 1997). Haystack(Smaha,1988) được phát triển cho việc phát hiện xâm nhập dựa trên tệp thông tin người dùng log. Hệ thống được phát triển cho cả 2 phương thức dựa trên so sánh mẫu và dựa trên bất thường. Đối với phương pháp dựa trên bất thường, từ các thống kê điều kiện trước đây hệ thống trên cả 2 loại : từng người dùng riêng lẻ và mô hình nhóm người dùng. Rất nhiều đặc điểm trong phiên làm việc của người dùng được theo dõi, bao gồm : thời gian làm việc, số lượng tệp tạo ra, số lượng trang được in ra… chúng sẽ được mô hình hóa như là các biến độc lập và ngẫu nhiên. Đối với từng đặc điểm, hệ thống sẽ xác định một khoảng giá trị được coi là bình thường, trong một phiên làm việc nếu yếu tố quan sát có giá trị nằm ngoài khoảng bình thường thì hệ 33 thống sẽ tính điểm dựa trên phân bố xác suất, một cảnh báo sẽ được sinh ra nếu điểm quá cao. Ngoài ra đối với người dùng Haystack còn xác định quyền cho từng người, nếu hành vi của ai đó vượt qua quyền được cho phép thì sẽ bị coi là bất thường. Nhược điểm lớn nhất của hệ thống Haystack là thiết kế chỉ chạy offline, không giám sát được thời gian thực. IDES ( Intrusion Detection Expert System – Lunt, 1988) là một trong những lớp hệ thống phát hiện xâm nhập đầu tiên. Dự án IDES được phát triển trong một số năm,sau khi hoàn thành thì nó được cải tiến thành NIDES ( Next Generation Intrusion Detection Expert System). Các hệ thống IDES dựa trên nguyên tắc hành vi người dùng trong các trường hợp thích hợp sẽ được tổng kết, tính toán thống kê, sau đó các hành động hiện tại sẽ được so sánh cùng các tệp hồ sơ tự nghiên cứu, và sự chênh lệch có thể được đánh dấu như là hành vi bất thường. IDES theo dõi ba loại đối tượng : người dùng, các host truy cập từ xa, các hệ thống đích. Trong đó có khoảng 36 thông số được xem xét: 25 cho người dùng, 6 cho các host truy cập từ xa, và 5 cho các hệ thống đích. IDES đo đạc các thông số này trong mỗi phiên người dùng và dựa vào các tham số đó sinh ra các tệp hồ sơ, chúng cũng được cập nhật để phản ánh hành vi của người dùng từng ngày. IDES sau đó cũng sử dụng một hệ chuyên gia để kiểm tra từng bản ghi mới ngoài những bản ghi đã biết. Ngoài ra hệ thống còn gán cho các bản ghi một trọng số đi kèm, cứ 30 ngày trọng số này giảm đi một nửa nhằm phân biệt các sự kiện xảy ra từ lâu với các sự kiện mới. Nhược điểm của phương pháp này là chỉ tính thống kê trên từng yếu tố quan sát nên không phát hiện được các cuộc tấn công ảnh hưởng trên diện rộng, tác động đến nhiều thành phần khác nhau của hệ thống. EMERALD ( Event Monitoring Enabling Responses to Anomalous Live Disturbances – Porras and Naumann, 1997 ) là một hệ thống phát hiện xâm nhập có khả năng mở rộng và tích hợp cùng các hệ thống khác, nó tập trung vào việc phát hiện những xâm nhập từ bên ngoài, và được thiết kế để hoạt động tốt trên 3 mức : mức phân tích dịch vụ, mức domain, mức cho các tổ chức. Kiến trúc của EMERALD được xây dựng trên các hệ thống theo dõi EMERALD địa phương, chúng được phân bố và hoạt động tương đối độc lập trên các mức khác nhau. Mỗi hệ thống theo dõi kết nối với các hệ thống theo dõi khác thông qua mạng, chúng kết hợp việc phân tích dựa trên dấu hiệu và thống kê hồ sơ để tạo ra khả năng bảo vệ thời gian thực cho các dịch vụ người 34 dùng mạng rộng lớn trên internet. Một hệ thống theo dõi EMERALD bao gồm 4 thành phần chính: đối tượng tài nguyên (resource object), phương tiện hồ sơ (profiler engine), phương tiện dấu hiệu ( signature engine ) và thiết bị giải quyết chung ( universal resolver ). Đối tượng tài nguyên nắm bắt tất cả các thông số cấu hình, duy trì danh sách các hệ thống khác có kết nối đến nó … Phương tiện hồ sơ thực hiện một số thao tác phát hiện bất thường trên các dữ liệu đã được kiểm tra, nó có thể phát triển trên các thành phần IDES và NIDES, các hồ sơ dữ liệu được cung cấp dưới dạng các lớp từ thành phần đối tượng tài nguyên. Phương tiện dấu hiệu cung cấp khả năng phát hiện dựa trên dấu hiệu, nó hoạt động cùng với một tập các quy tắc nhỏ. Thiết bị giải quyết chung đóng vai trò bộ xử lý trung tâm, nó tổng hợp các dữ liệu từ các thành phần địa phương, quyết định có hay không một sự xâm nhập xảy ra hoặc quyết định một phản ứng nào được sinh ra. Nó đồng thời cũng quản lý sự kết nối giữa các hệ thống theo dõi. Thiết bị giải quyết chung sử dụng một hệ chuyên gia để đưa ra kết luận từ các thông báo của phương tiện hồ sơ, phương tiện dấu hiệu và hệ thống theo dõi khác. 2.1.3.5 Mạng Bayes Mạng Bayes là mô hình đồ thị thể hiện mối quan hệ nguyên nhân – kết quả, dựa chủ yếu trên lý thuyết xác suất có điều kiện kết hợp với lý thuyết đồ thị để giải quyết hai vấn đề quan trọng là tính không chắc chắn và tính phức tạp, do đó được ứng dụng rộng rãi. Mạng Bayes hoạt động trên nguyên tắc mô tả mối quan hệ phụ thuộc giữa các biến, nó có thể hoạt động được trong trường hợp dữ liệu không đầy đủ và phân bố không đều như dữ liệu mạng. Ưu điểm của mạng Bayes là tính ổn định với dữ liệu đồng thời nó có khả năng đoán trước được kết quả của một hành vi do sử dụng mối quan hệ nhân quả. Các hệ thống phát hiện bất thường dựa trên mạng Bayes là mô hình của Valdes, có khả năng phát hiện các chuỗi tấn công phân tán trong khi từng tấn công tách biệt không sinh ra cảnh báo. Mô hình này sử dụng hệ thống Bayes để xây dựng mối quan hệ nguyên nhân kết quả giữa tấn công và các yếu tố quan sát. Sau đó dựa trên phân bố xác suất của các yếu tố quan sát được để tính xác suất có tấn công.Một mô hình khác là của Kruegel sử dụng cách tiếp cận là sử dụng nhiều bộ cảm ứng khác 35 nhau, đầu ra của các bộ cảm ứng này được tập hợp để sinh ra cảnh báo. Các bộ cảm ứng sẽ sử dụng phương pháp Bayes. Tóm lại việc sử dụng mạng Bayes cho phát hiện bất thường có ưu điểm là giảm được tỷ lệ cảnh báo sai. Tuy nhiên nó có hạn chế là hiệu suất hoạt động giảm khi các yếu tố quan sát tăng lên. 2.2. Kết chương Chương này nghiên cứu một cách chi tiết về hệ thống IPS dựa trên phát hiện bất thường, nó đặc biệt khác với hệ thống IPS dựa trên dấu hiệu, IPS dựa trên bất thường sẽ xây dựng một hệ thống thông tin mô tả trạng thái bình thường, từ đó làm cơ sở để xác định sự bất thường có nhiều khả năng dẫn đến tấn công. Phần sau của chương giới thiệu các khái niệm và kỹ thuật phát hiện bất thường với những ưu nhược điểm cụ thể. Có nhiều phương pháp phát hiện bất thường như Phân tích thống kê, Máy trạng thái hữu hạn, Mạng Nơ-ron, Hệ chuyên gia, Mạng Bayes… Tuy nhiên các phương pháp này có những điểm yếu nhất định như cần nhiều thời gian khi hệ thống thay đổi và phát triển và cần một quá trình đánh giá, đào tạo lại một cách có hệ thống. Nhưng điểm yếu lớn nhất của các phương pháp này là tính ổn định trong trường hợp dữ liệu lớn, số lượng yếu tố quan sát tăng, dữ liệu không đầy đủ, không chính xác. Để khắc phục những điểm yếu trên chúng ta có thể sử dụng phương pháp phát hiện bất thường dựa trên Khai phá dữ liệu được trình bày trong chương tiếp theo. 36 CHƯƠNG 3: PHƯƠNG PHÁP PHÁT HIỆN BẤT THƯỜNG DỰA TRÊN KHAI PHÁ DỮ LIỆU Phương pháp phát hiện bất thường dựa trên khai phá dữ liệu là một phương pháp khá mới có nhiều ưu điểm hơn so với các phương pháp trước đây như khả năng tương tác cao với các CSDL ở dạng thô, có nhiều nhiễu hay dữ liệu không đầy đủ, biến đổi liên tục, những tính chất thường gặp ở dữ liệu mạng. Để tìm hiểu sâu về phương pháp này trước hết chúng ta sẽ xem xét qua một số khái niệm về khai phá dữ liệu. 3.1 Khai phá dữ liệu Trong thời đại công nghệ thông tin, các hệ thống thông tin có thể lưu trữ một khối lượng lớn dữ liệu về hoạt động hàng ngày của chúng. Từ khối dữ liệu này, chúng ta có thể áp dụng các kỹ thuật trong Khai phá dữ liệu ( KPDL ) để lấy ra những thông tin hữu ích mà chúng ta quan tâm. Các thông tin thu được có thể vận dụng ngược trở lại nhằm cải thiện hiệu năng của hệ thống thông tin ban đầu. Định nghĩa về KPDL được phát biểu như sau: “KPDL là việc sử dụng dữ liệu lịch sử để khám phá những quy tắc và cải thiện những quyết định trong tương lai.” Với một cách tiếp cận mang tính ứng dụng hơn, Tiến sỹ Fayyad đã đưa ra một định nghĩa khác : “ KPDL thường được xem là việc khám phá tri thức trong các cơ sở dữ liệu, là một quá trình trích dẫn những thông tin ẩn, trước đây chưa biết và có khả năng hưu ích dưới dạng các quy luật, ràng buộc, qui tắc trong cơ sở dữ liệu.” Nói chung, KPDL là một quá trình học tri thức mới từ những dữ liệu thu thập được trước đó. KPDL có năm giai đoạn chính và có thể được lập lại nhiều lần ở một hay nhiều giai đoạn, chúng bao gồm:  Tìm hiểu nghiệp vụ và dữ liệu  Chuẩn bị dữ liệu  Mô hình hóa dữ liệu  Hậu xử lý và đánh giá mô hình  Triển khai tri thức 37 Tham gia chính trong quá trình KPDL là các nhà tư vấn và phát triển chuyên nghiệp trong lĩnh vực KPDL. Trong giai đoạn Tìm hiểu nghiệp vụ và dữ liệu, nhà tư vấn nghiên cứu kiến thức về lĩnh vực sẽ áp dụng, bao gồm các tri thức cấu trúc về hệ thống và tri thức, các nguồn dữ liệu hiện hữu, ý nghĩa, vai trò và tầm quan trọng của các thực thể dữ liệu. Việc nghiên cứu này được thực hiện qua việc tiếp xúc giữa nhà tư vấn và người dùng. Khác với phương pháp giải quyết vấn đề truyền thống khi bài toán được xác định chính xác ở bước đầu tiên, nhà tư vấn tìm hiểu các yêu cầu sơ khởi của người dùng và đề nghị các bài toán tiềm năng có thể giải quyết với nguồn dữ liệu hiện hữu. Tập các bài toán tiềm năng được tinh chỉnh và làm hẹp lại trong các giai đoạn sau. Các nguồn và đặc tả dữ liệu có liên quan đến tập các bài toán tiềm năng cũng được xác định. Giai đoạn Chuẩn bị dữ liệu sử dụng các kỹ thuật tiền xử lý để biến đổi và cải thiện chất lượng dữ liệu để thích hợp với những yêu cầu của các giải thuật học. Phần lớn các giải thuật KPDL hiện nay chỉ làm việc trên một tập dữ liệu đơn và phẳng, do đó dữ liệu phải được trích xuất và biến đổi từ các dạng cơ sơ dữ liệu phân bố, quan hệ hay hướng đối tượng sang dạng cơ sở dữ liệu quan hệ đơn giản với một bảng dữ liệu. Các giải thuật tiền xử lý tiêu biểu bao gồm:  Xử lý dữ liệu bị thiếu hoặc mất: các dữ liệu bị thiếu sẽ được thay thế bởi các giá trị thích hợp.  Khử sự trùng lặp: các đối tượng dữ liệu trùng lặp sẽ bị loại bỏ đi. Kỹ thuật này không được sử dụng cho các tác vụ có quan tâm đến phân bố dữ liệu.  Giảm nhiễu: nhiễu và các đối tượng tách rời (outlier) khỏi phân bố chung sẽ bị loại đi khỏi dữ liệu.  Chuẩn hóa: miền giá trị của dữ liệu sẽ được chuẩn hóa.  Rời rạc hóa: các dữ liệu số sẽ được biến đổi ra các giá trị rời rạc.  Rút trích và xây dựng đặc trưng mới từ các thuộc tính đã có.  Giảm chiều: các thuộc tính chứa ít thông tin sẽ được loại bỏ bớt. Các bài toán được giải quyết trong giai đoạn Mô hình hóa dữ liệu. Các giải thuật học sử dụng các dữ liệu đã được tiền xử lý trong giai đoạn hai để tìm kiếm các qui tắc ẩn và chưa biết. Công việc quan trọng nhất trong giai đoạn này là lựa chọn kỹ thuật 38 phù hợp để giải quyết các vấn đề đặt ra. Các bài toán được phân loại vào một trong những nhóm bài toán chính trong KPDL dựa trên đặc tả của chúng. Các mô hình kết quả của giai đoạn ba sẽ được hậu xử lý và đánh giá trong giai đoạn 4. Dựa trên các đánh giá của người dùng sau khi kiểm tra trên các tập thử, các mô hình sẽ được tinh chỉnh và kết hợp lại nếu cần. Chỉ các mô hình đạt được mức yêu cầu cơ bản của người dùng mới đưa ra triển khai trong thực tế. Trong giai đoạn này, các kết quả được biến đổi từ dạng học thuật sang dạng phù hợp với nghiệp vụ và dễ hiểu hơn cho người dùng. Trong giai đoạn cuối, Triển khai tri thức, các mô hình được đưa vào những hệ thống thông tin thực tế dưới dạng các module hỗ trợ việc đưa ra quyết định. Mối quan hệ chặt chẽ giữa các giai đoạn trong quá trình KPDL là rất quan trọng cho việc nghiên cứu trong KPDL. Một giải thuật trong KPDL không thể được phát triển độc lập, không quan tâm đến bối cảnh áp dụng mà thường được xây dựng để giải quyết một mục tiêu cụ thể. Do đó, sự hiểu biết bối cảnh vận dụng là rất cần thiết. Thêm vào đó, các kỹ thuật được sử dụng trong các giai đoạn trước có thể ảnh hưởng đến hiệu quả của các giải thuật sử dụng trong các giai đoạn tiếp theo. Trong KPDL, các bài toán có thể phân thành bốn loại chính. Bài toán thông dụng nhất trong KPDL là Phân lớp (Classification). Với một tập các dữ liệu huấn luyện cho trước và sự huấn luyện của con người, các giải thuật phân loại sẽ tạo ra bộ phân loại (classifier) dùng để phân các dữ liệu mới vào một trong những lớp (còn gọi là loại) đã được xác định trước. Nhận dạng cũng là một bài toán thuộc kiểu Phân loại. Với mô hình học tương tự như bài toán Phân loại, lớp bài toán Dự đoán (Prediction) sẽ tạo ra các bộ dự đoán. Khi có dữ liệu mới đến, bộ dự đoán sẽ dựa trên thông tin đang có để đưa ra một giá trị số học cho hàm cần dự đoán. Bài toán tiêu biểu trong nhóm này là dự đoán giá sản phẩm để lập kế hoạch trong kinh doanh. Các giải thuật Tìm luật liên kết (Association Rule) tìm kiếm các mối liên kết giữa các phần tử dữ liệu, ví dụ như nhóm các món hàng thường được mua kèm với nhau trong siêu thị. Các kỹ thuật Phân cụm (Clustering) sẽ nhóm các đối tượng dữ liệu có tính chất giống nhau vào cùng một nhóm. 39 3.2 Các thuật toán phát hiện bất thường trong khai pháp dữ liệu Các phương pháp phát hiện xâm nhập truyền thống chủ yếu dựa vào những hiểu biết về những dấu hiệu của các vụ tấn công đã biết. Các sự kiện cần theo dõi sẽ được đối chiếu với các ký hiệu để phát hiện các cuộc xâm nhập. Các phương pháp này trích xuất đặc điểm từ những chuỗi dữ liệu mạng và phát hiện ra xâm nhập bằng cách so sánh những giá trị đặc điểm với 1 dãy các ký hiệu tấn công được cung cấp bởi các chuyên gia. Cơ sở dữ liệu dấu hiệu sẽ được chỉnh sửa bằng tay mỗi khi chúng ta tìm được 1 xâm nhập mới. Điểm hạn chế rõ rệt của các phương pháp dựa trên dấu hiệu là chúng không thể phát hiện các cuộc tấn công mới không có trong cơ sở dữ liệu. So với các phương pháp truyền thống thì Khai phá dữ liệu mang lại nhiều điểm cải tiến rõ rệt: khai phá dữ liệu có thể sử dụng với các CSDL chứa nhiều nhiễu, dữ liệu không đầy đủ, biến đổi liên tục, đặc biệt là phương pháp này đòi hỏi mức độ sử dụng các chuyên gia không quá thường xuyên. Các ưu điểm này đem lại cho phương pháp phát hiện xâm nhập trái phép bằng Khai phá dữ liệu khả năng xử lý khối lượng dữ liệu lớn, có thể sử dụng trong các hệ thống thời gian thực. 3.2.1 Đánh giá chung về hệ thống Các kỹ thuật phát hiện xâm nhập dựa trên khai phá dữ liệu thường được chia làm 2 loại: phát hiện dựa trên dò sự lạm dụng và phát hiện bất thường. Trong phát hiện dò sự lạm dụng, các mẫu trong tập dữ liệu được gán nhãn là “bình thường” hoặc “bất thường” và một thuật toán học được áp dụng cho toàn bộ các dữ liệu đã gán nhãn. Kỹ thuật này sẽ được sử dụng trên các tập dữ liệu đầu vào khác nhau để phát hiện tấn công. Không giống với các hệ thống phát hiện xâm nhập dựa trên dấu hiệu, các mô hình của phương pháp dò sự lạm dụng được tạo ra một cách tự động và có thể tinh vi và chính xác hơn so với các dấu hiệu được tạo ra một cách thủ công. Một ưu điểm nổi bật của phương pháp phát hiện dò sự lạm dụng là phát hiện ra các hành vi tấn công đã biết và các biến thể của chúng có tính chính xác cao. Tuy nhiên nhược điểm dễ thấy của phương pháp này là khó có thể phát hiện các hành vi tấn công mang các đặc điểm đặc biệt chưa từng biết đến cũng như nó đòi hỏi phải gán nhãn bình thường hoặc bất thường việc này mất rất nhiều thời gian của các chuyên gia. Trong khi đó, phương pháp phát hiện bất thường xây dựng những mô hình về biểu hiện bất và đánh dấu 40 những nghi vấn trong tập dữ liệu. Vì vậy kỹ thuật này có khả năng xác định các dạng xâm nhập mới chưa được biết đến trước đó. Mặc dù chúng ta có thể nhận thấy sự ưu việt, mạnh mẽ của phương pháp này, nhưng chúng vẫn ẩn chứa một tỷ lệ báo động nhầm nhất định. Điều này là do các biểu hiện hệ thống chưa từng thấy trước đó (nhưng vẫn hợp lệ) bị liệt vào danh sách các bất thường và bị đánh dấu như các hành vi tiềm ẩn sự xâm nhập. Nói chung chúng ta thường gặp 2 loại tấn công vào hệ thống [5] : loại tấn công liên quan đến các kết nối đơn lẻ và loại tấn công liên quan đến nhiều kết nối(bursty attacks – tấn công bùng nổ). Giả sử trong 1 giao thông mạng tại 1 thời điểm nào đó cho trước, mỗi kết nối được gán 1 giá trị và được biểu thị theo 1 đường nằm dọc (hình 3.1). Giá trị này sẽ tương ứng với khả năng mà kết nối mạng bị xâm nhập. Hình 3.1 : Gán giá trị để lượng hóa các cuộc tấn công trên sơ đồ. Đại lượng đo lường phát sinh đầu tiên tương ứng với phần diện tích bề mặt giữa đường tấn công thực sự và đường tấn công giả định (bề mặt được gạch chéo \\\ như minh họa ở hình 3.1 – surface area). Nếu diện tích bề mặt dưới đường tấn công thực càng nhỏ thì thuật toán phát hiện xâm nhập càng hiệu quả. Tuy nhiên bản thân diện tích bề mặt chưa đủ để nắm bắt đầy đủ những khía cạnh khác của thuật toán phát hiện xâm nhập (ví dụ có bao nhiêu kết nối liên quan đến 1 tấn công, hay mất bao nhiêu thời gian để thuật toán xử lý phát hiện xâm nhập, vv… ). Vì vậy, các đại lượng đo lường khác có thể được dùng giúp mổ tả rõ ràng các vấn đề. Chúng được định nghĩa như sau:  Tỉ lệ phát hiện tấn công bùng nổ (BRD) được xác định cho mỗi cuộc tấn công bùng nổ và nó biểu thị tỉ số giữa tổng số kết nối mạng mang tính xâm nhập ndi có điểm số cao hơn ngưỡng xác định trước trong tấn công mang tính bùng nổ và 41 tổng số những kết nối mạng mang tính xâm nhập trong các điểm đầu cuối tấn công (Hình 3.1)  Thời gian phản ứng (tresponse)là khoảng thời gian bắt đầu từ khi xuất hiện tấn công đến khi kết nối mạng đầu tiên tìm được giá trị cao hơn ngưỡng đã định trước (xem tresponse phản ứng ở hình 3.1) 3.2.2 Phần tử dị biệt Chúng ta biết rằng trong Khai phá dữ liệu có một lớp bài toán là “phát hiện phần tử dị biệt – Outlier Detection”. Nhiệm vụ của lớp bài toán này là tìm ra các phần tử có đặc điểm khác biệt nhất trong một tập dữ liệu đã cho. Nếu ta coi dữ liệu mạng cần quan sát là một tập dữ liệu cho bài toán phát hiện phần tử dị biệt, các phần tử là các hành động bình thường trên mạng thì các phần tử dị biệt có thể tương ứng với các hành động tấn công. Như vậy chúng ta có thể đưa bài toán phát hiện bất thường về bài toán phát hiện phần tử dị biệt trong Khai phá dữ liệu. Hình 3.2 : Minh họa bài toán phát hiện phần tử dị biệt. Hầu hết các phương pháp tiếp cận phát hiện xâm nhập đã biết đều cố gắng xây dựng 1 loại mô hình trên các dữ liệu thông thường và sau đó kiểm tra mức độ thích hợp của những dữ liệu mới với mô hình đó từ đó rút ra kết luận bất thường là những mẫu chưa từng được quan sát trước đó. Với cách tiếp cận theo phương pháp phát hiện phần tử dị biệt thì bất thường là mẫu có nhiều khác biệt nhất so với các phần tử còn lại. 42 Dị biệt (Outlier) là gì? Trong cuốn sách “Statistical Design and Analysis of Experiments”, các tác giả Mason, Gunst, và Hess định nghĩa outlier như sau: “dị biệt là các giá trị cực so với các giá trị khác được quan sát trong cùng một điều kiện. Outlier có thể là một giá trị đơn lẻ, nhưng cũng có thể là giá trị từ hai hay nhiều biến số.” Vấn đề ở đây là thế nào là “giá trị cực”? Thật là khó trả lời. Không có câu trả lời định tính, nhưng có thể có câu trả lời định lượng. Có nhiều cách để đánh giá xem một số liệu có phải là outlier hay không. Trong kỹ thuật phát hiện điểm dị biệt dựa trên số liệu thống kê, các điểm dữ liệu được mô hình hóa bằng 1 bảng phân phối ngẫu nhiên. Các điểm này có được coi là thuộc vùng biên hay không sẽ phụ thuộc vào mối quan hệ của chúng với mô hình. Tuy nhiên, với mật độ lớn và ngày càng tăng, việc ước lượng bảng phân phối đa chiều của các điểm này ngày càng trở nên phức tạp và thiếu chính xác. Những thuật toán phát hiện dị biệt mà chúng ta sử dụng sẽ xem xét dưới đây lại dựa vào việc tính toán các khoảng cách không gian giữa các điểm và tính toán mật độ của các điểm lân cận. 3.2.2.1 Phương pháp điểm lân cận gần nhất (NN) Phương pháp này dựa trên khoảng cách D k (O) [5] của điểm lân cận gần nhất thứ k tính từ gốc/ điểm O. Ví dụ những điểm có các giá trị D k (O) lớn hơn thường có các điểm lân cận thưa thớt và chúng có khả năng là điểm dị biệt hơn những điểm nằm trong các cụm dày đặc. Trong phương pháp này, chúng ta chọn k = 1 và xác định 1 “ngưỡng xem xét” để quyết định liệu điểm đó có phải là 1 dị biệt hay không. Ngưỡng này chỉ dựa trên các dữ liệu luyện tập và nó được giới hạn trong 2%. Đối với toàn bộ các điểm dữ liệu trong bảng dữ liệu(giả sử chúng đều là dữ liệu bình thường), ngưỡng đó được tính dựa trên khoảng cách giữa chúng tới những điểm lân cận gần nhất, sau đó được sắp xếp lại. Những điểm dữ liệu kiểm tra nào có khoảng cách tới các điểm lân cận gần nhất lớn hơn ngưỡng đã định sẽ được xếp vào các dữ liệu dị biệt. 43 Hình 3.3 : Minh họa phương pháp điểm lân cận gần nhất phát hiện phần tử dị biệt. 3.2.2.2 Phương pháp pháp hiện điểm dị biệt dựa trên khoảng cách Mahalanobis Như đã biết dữ liệu để đào tạo trong mô hình tương ứng với các hành vi bình thường từ đó có thể tính ra được Trung vị và Độ lệch chuẩn của dữ liệu bình thường. Khoảng cách Mahalanobis giữa điểm dữ liệu p và Trung vị µ được tính như sau: Trong đó tổng Σ là ma trận hiệp phương sai của các dữ liệu bình thường. Tương tự như phương pháp trước, ngưỡng sẽ được tính dựa trên những điểm có khoảng cách gần nhất tính từ giá trị của các dữ liệu bình thường và nó bằng 2% trong tổng số các điểm. Mọi điểm dữ liệu kiểm tra có khoảng cách tới trung vị của các dữ liệu đào tạo bình thường lớn hơn ngưỡng đã định sẽ được xếp vào dạng phần tử dị biệt. Việc tính khoảng cách theo hệ mét Ơclit chuẩn không phải lúc nào cũng chính xác, nhất là khi các dữ liệu được phân bố giống như hình minh họa dưới đây. Bằng cách sử dụng hệ mét Ơclit, khoảng cách giữa p2 và điểm lân cận gần nó nhất lớn hơn khoảng cách từ điểm p1 đến điểm lân cận gần nó nhất. Rõ ràng trong trường hợp này, phương pháp dựa trên khoảng cách Mahalanobis sẽ hiệu quả hơn phương pháp hệ mét Ơ-cơ-lit. [5] 44 Hình 3.4 : Ưu điểm của phương pháp dựa trên khoảng cách Mahalanobis khi tính các khoảng cách. 3.2.2.3 Thuật toán LOF Ý tưởng chủ đạo của phương pháp này là gắn cho mỗi mẫu dữ liệu 1 mức độ dị biệt nào đó, được gọi là nhân tố dị biệt địa phương ( Local Outlier Factor). Như vậy đối với từng mẫu, mật độ phần tử lân cận đóng một vai trò đặc biệt. Một mẫu không phải được phân loại là “dị biệt” hay “không dị biệt” mà được đánh giá là mức độ “dị biệt” như thế nào, tùy theo giá trị LOF của mẫu đó. [7] Ký hiệu k-dis(x) là khoảng cách đến phần tử lân cận thứ k của mẫu x Ký hiệu Nk-dis(x) là số lượng phân tử lân cận của x có khoảng cách tới x bé hơn k-dis(x). Khoảng cách tiếp cận trung bình của một mẫu x đối với một mẫu y, ký hiệu là R – dis(x,y) được tính như sau: R – dis(x,y) = max(k – dis(x),d(x,y)) 45 Hình 3.5 : Ví dụ khoảng cách R-dis (reach-dist) Chẳng hạn có 7 phần tử như hình 3.5, R – dis(p1,O) và R – dis(p2,O) được tính trong trường hợp k = 3. Ta có thể tính được giá trị LOF của một phần tử p như sau: Với : Hàm lrd( ) chỉ mật độ tiếp cận địa phương của một mẫu, và được tính dựa trên tính nghịch đảo của R – dis(p,o) và MnPts ( số lượng mẫu tối thiểu) các phần tử lân cận của mẫu p. Thuật toán tính LOF cho các mẫu dữ liệu được thực hiện qua nhiều bước:  Tính k – dis(p) cho mẫu p  Tính R – dis(p,o) cho mẫu o  Tính hàm lrd( )  Tính LOF(p) Chúng ta sẽ áp dụng thuật toán trên cho một ví dụ nhỏ cụ thể như sau : Gọi D là cơ sở dữ liệu có 4 đối tượng ký hiệu lần lượt là P1, P2, P3 và P4 có các khoảng cách P1P4 = 4, P1P3 = 3, P1P4 = 7, P2P3 = 5, P2P4 = 6 và P3P4 = 8 thu được nhờ một hàm tính khoảng cách đã biết và xét với MinPts(k) = 2. [8] 46 Bước 1: tính kdistance của p: Mục đích tính kdistance của p là xác định các lận cận của p. Định nghĩa đơn giản, kdistance của p là khoảng cách lớn nhất từ đối tượng p khi mọi đối tượng trong tập dữ liệu được xem xét có ít nhất k lân cận. kdistance của p được ký hiệu là kdistance(p) và thu được bằng cách :  Đầu tiên, tính tất cả các khoảng cách của tất cả các đối tượng từ P1 qua một hàm tính khoảng cách. Các khoảng cách P1P2 = 4, P1P3 = 3, P1P4 = 7  Tiếp theo, chọn ra 2 khoảng cách nhỏ nhất không trùng nhau từ P1. Tất cả các khoảng cách từ P1 được sắp xếp và 2 khoảng cách nhỏ nhất được chọn. Min(P1P2=4,P1P3=3,P1P4=7)  Cuối cùng, giá trị lớn nhất trong 2 khoảng cách nhỏ nhất được lựa chọn ở trên là kdistance của P1. Do đó kdistance(P1) = max(3,4), suy ra kdistance(P1) = 4. kdistance của các đối tượng còn lại được tính tương tự. Bước 2: Tìm lân cận kdistance của p: Lân cận kdistance của p được ký hiệu là ( Nk(p) ), chứa tất cả các đối tượng với khoảng cách không lớn hơn kdistance(p). Cơ sở cho việc tính ra lân cận kdistance là tìm các lân cận gần nhất của mỗi đối tượng. Ví dụ lân cận kdistance của P1 bao gồm P2 và P3 từ kdistance(P1) = 4 và khoảng cách của P2, P3 từ P1 không lớn hơn 4( P1P2 = 4, P1P3 = 3). Bước 3: Tính khoảng cách có thể tới được của p ( reachability distance) Khoảng cách có thể tới được của đối tượng p với đối tượng o là khoảng cách lớn hơn trong 2 khoảng cách distance(p,o) và kdistance(o). reachdistk(p,o) = max{kdistance(o), distance(p,o)}. Mục đích là đảm bảo cho tất cả các đối tượng trong một lân cạn là đồng nhất. Thêm vào đó, LOF trở nên ổn định khi các đối tượng trong một lân cận là đồng nhất mặc dù MinPts(k) thay đổi. Sự thay đổi của khoảng cách có thể tới được (reachability distance) có thể điều khiển bằng việc chọn giá trị k lớn. Khoảng cách có thể tới của P1 được tính toán theo các bước: Đầu tiên, xác định lân cận kdistance của P1 ( Nk(P1) = (P2,P3)). Khoảng cách có thể tới của P1 được tính cùng mối liên hệ tới P2 và P3 khi chúng là lân cận của P1. Với P2 trong lân cận của P1: reachdistk(P1,P2) = max(kdistance(P2),distance(P1,P2)) = max(5,4) =5. Với P3 trong lân cận của P1: reachdistk(P1,P3) = max(kdistance(P3),distance(P1,P3)) = 47 max(5,3) =5. Do đó reachdistk(P1,o) = (5,5) nó bao gồm các khoảng cách tới được của các lân cận của P1. Bước 4: Tính mật độ tới được địa phương của p - local reachbility density Mật độ tới được địa phương của một đối tượng p, được ký hiệu là lrdk(p) là nghịch đảo của giá trị trung bình các khoảng cách tới được từ lân cận kdistance của p. Nó cung cấp một cách so sánh giữa các khoảng cách tới được. Mật độ tới được địa phương của P1 được tính như sau : lrdk(P1) = 1/{(5+5)/2} = 2/10, khi (5,5) là khoảng cách tới được địa phương của P1 và số các lân cận của kdistance là 2. Ta cũng có lrdk(P2) = 2/9, lrdk(P3) = 2/9, lrdk(P4) = 2/13. Bước 5: Nhân tố dị biệt địa phương của p Nhân tố dị biệt địa phương là tỷ số đánh giá một đối tượng là dị biệt hoặc không trong lân cận của nó. Nhân tố dị biệt địa phương của một đối tượng được ký hiệu là LOFk(p) là trung bình các tỷ số của mật độ tới được địa phương của p và k lân cận gần nhất của p. Ưu điểm của thuật toán LOF so với thuật toán dựa trên khoảng cách được thể hiện qua ví dụ sau: Hình 3.6 Ưu điểm của phương pháp LOF Nếu trong cách tiếp cận khoảng cách thì mẫu p2 không bị coi là tách biệt do khoảng cách từ p2 đến C2 gần hơn so với từ C1 đến C2. Trong khi đó với cách tiếp cận LOF, cả p1, p2 đều là phần tử dị biệt. 48 Hạn chế lớn nhất của thuật toán LOF nằm trong việc tính toán khoảng cách có thể tính được (reachability distance) được định nghĩa reachdistk(p,o) = max{kdistance(o),distance(p,o)}. Việc tính toán khoảng cách reachability của p bao gồm việc tính toán khoảng cách của tất cả các đối tượng trong lân cận của p, sau đó so sánh từng khoảng cách này với kdistance của lân cận đó, việc này sẽ rất tốn kém khi MinPts lớn. Hơn thế nữa, LOF phải tính toán cho tất cả các đối tượng trước khi một vài điểm dị biệt được phát hiện. Đây không phải là điều chúng ta mong muốn khi các phần tử dị biệt chỉ là một phần rất nhỏ trong toàn bộ tập dữ liệu. 3.2.2.4 Thuật toán LSC-Mine Thuật toán LSC-Mine [8] cơ bản dựa vào các định nghĩa của thuật toán LOF nhưng nó tránh được việc tính toán các khoảng cách reachability và các mật độ reachability địa phương - những thứ rất tốn kém khi sử dụng thuật toán LOF. Thay vào đó là tỷ số phân bố thưa thớt địa phương ( local sparsity ratio) nhận được từ việc tính toán các khoảng cách lân cận. Thêm vào đó, LSC-Mine loại bỏ bớt các đối tượng dữ liệu, không có khả năng trở thành điểm dị biệt nhờ nhân tố cắt xén ( pruning factor) cũng được tính toán từ khoảng cách của các lân cận. Các đối tượng dữ liệu còn lại nằm trong tập các ứng cử viên có thể trở thành điểm dị biệt. Tỷ số phân bố thưa thớt địa phương của một đối tượng p ký hiệu lsrk(p) được định nghĩa là tỷ số của số các số kdistance trong lân cận của p trên tổng số của tất cả các khoảng cách thực trong lân cận đó. Trong đó distofNk(P) bao gồm các khoảng cách thực của các đối tượng trong lân cận kdistance của p, tỷ số lsr đo sự tập trung của các đối tượng xung quanh đối tượng p. Các đối tượng với mức lsr thấp có khả năng cao trở thành các phần tử dị biệt. Điểm chú ý cuối cùng đó là các điểm dị biệt phụ thuộc vào hệ số “local sparsity” hơn là tỷ số. Nhân tố cắt xét được bắt nguồn từ việc cho rằng lrs của một đối tượng p trong một 49 tập dữ liệu không nên nhỏ hơn một tỷ số đồng dạng được tính toán từ tất cả dữ liệu nếu đối tượng đó không phải là dị biệt. Nhân tố cắt xén (Pf) là tỷ số giữa tổng của các khoảng cách tuyệt đối trên toàn bộ tổng của các khoảng cách lân cận thực. Công thức toán học là : Một khi Pf được xác định, bất kỳ đối tượng nào với lsr nhỏ hơn Pf sẽ được loại bỏ vì nó không thể thuộc danh sách các ứng cử viên trở thành điểm dị biệt. Với việc sử dụng Pf ta có thể loại bỏ hơn một nửa đối tượng của dữ liệu, đây chính là bước đột phá lớn của thuật toán LSC so với LOF. Hệ số phân bố thưa thớt địa phương của p ký hiệu là LSCk(p) là tỷ số trung bình của lsr của p trên kdistance các lân cận của nó. Một hệ số LSC cao đánh dấu lân cận xung quanh một đối tượng là không đông đúc và do đó có tiềm năng cao trở thành một điểm dị biệt, ngược lại một hệ số LSC thấp đánh dấu một lân cận đông đúc và vì vậy có tiềm năng tương đối thấp để trở thành điểm dị biệt. Hình sau sẽ miêu tả tuần tự các bước trong thuật toán LSC-Mine để xác định điểm dị biệt. Thuật toán LSC-Mine sẽ tính toán kdistance của từng đối tượng (1), (2) lân cận kdistance của chúng, (3) tỷ số lsr của nó, nhân tố cắt xén Pf (4), tập dữ liệu ứng cử không bị cắt xén (5), LSC của các đối tượng trong tập dữ liệu không bị cắt xén (6), và cuối cùng xếp loại các đối tượng có LSC cao nhất như là các điểm có khả năng cao nhất thành điểm dị biệt. 50 Hình 3.7 Thuật toán LSC-Mine 3.3 Mô hình phát hiện bất thường dựa trên kỹ thuật KPDL Hình 3.8 Mô hình hệ thống phát hiện bất thường sử dụng kỹ thuật KPDL 51 Hệ thống phát hiện bất thường dựa trên KPDL áp dụng kỹ thuật phát hiện phần tử dị biệt để xác định tấn công, nó bao gồm các module chính : module lọc thông tin nhằm hạn chế bớt khối lượng thông tin cần phân tích và theo dõi, Module trích xuất thông tin giúp trích xuất các yếu tố quan sát, module phát hiện phần tử dị biệt là module chính xác định các cuộc xâm nhập, module phản ứng (đối với hệ thống IPS) đưa ra các phản ứng tức thời ngăn chặn, chấm dứt các cuộc xâm nhập, module tổng hợp nhằm rút gọn cảnh báo gửi lên Chuyên gia và xây dựng luật rút gọn để bổ sung tri thức cho hệ thống, module này cũng sử dụng một kỹ thuật khác của KPDL là kỹ thuật tổng hợp (Summarization), ngoài ra hệ thống còn sử dụng một bộ lọc các cuộc tấn công với dấu hiệu đã biết được rút ra từ môđun tổng hợp. 3.3.1 Module lọc tin Dữ liệu cần phân tích của hệ thống được tổng hợp từ nhiều nguồn khác nhau như Sensor, thiết bị mạng, SNMP hoặc là các file log, khối lượng dữ liệu này là rất lớn nên không thể lưu trữ hết toàn bộ chúng, mà chúng ta phải sử dụng các kỹ thuật để lọc bớt thông tin, một trong những kỹ thuật hay được sử dụng nhất là kỹ thuật cửa sổ thời gian, ví dụ như chỉ lưu thông tin trong vòng một giờ trở lại. Nói chung, độ dài của cửa sổ thời gian phụ thuộc vào từng hệ thống mạng và do người quản trị chọn sao cho phù hợp. Nếu thời gian lưu thông tin ngắn, hệ thống có thể bỏ sót các cuộc tấn công, nhưng trong trường hợp thời gian dài có thể sẽ không đảm bảo tốc độ, không áp dụng được cho trường hợp thời gian thực. Dữ liệu cần phân tích chủ yếu được lưu trên file ở dưới dạng bản ghi, hệ thống sẽ truy cập các file này để lấy thông tin. Module lọc thông tin sẽ loại bỏ những thông tin thừa, các lưu lượng mạng mà hệ thống biết chắc không có tấn công. Thông thường các thông tin cầ

Các file đính kèm theo tài liệu này:

  • pdfLUẬN VĂN-GIẢI PHÁP PHÁT HIỆN VÀ NGĂN CHẶN TRUY CẬP TRÁI PHÉP VÀO MẠNG.pdf