Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Cao đẳng - Đại học Nghiên cứu đề xuất một số thuật toán phân loại gói tin và phát hiện xung đột nhằ...

Tài liệu Nghiên cứu đề xuất một số thuật toán phân loại gói tin và phát hiện xung đột nhằm phát triển tường lửa hiệu năng cao.

.PDF
130
151
111

Mô tả:

BỘ GIÁO DỤC ĐÀO TẠO BỘ QUỐC PHÒNG VIỆN KHOA HỌC VÀ CÔNG NGHỆ QUÂN SỰ -------------------------------- Vũ Duy Nhất NGHIÊN CỨU ĐỀ XUẤT MỘT SỐ THUẬT TOÁN PHÂN LOẠI GÓI TIN VÀ PHÁT HIỆN XUNG ĐỘT NHẰM PHÁT TRIỂN TƯỜNG LỬA HIỆU NĂNG CAO Chuyên ngành: Cơ sở Toán học cho Tin học Mã số: 9460110 LUẬN ÁN TIẾN SĨ TOÁN HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC: 1.TS Nguyễn Mạnh Hùng 2.TS Thái Trung Kiên Hà Nội - 2019 i LỜI CAM ĐOAN Tôi xin cam đoan đây là công trình nghiên cứu của tôi. Những nội dung, số liệu và kết quả trình bày trong luận án là hoàn toàn trung thực và chưa có tác giả nào công bố trong bất kỳ một công trình nào khác, các dữ liệu tham khảo được trích dẫn đầy đủ. Tác giả luận án Vũ Duy Nhất ii LỜI CẢM ƠN Luận án được thực hiện tại Viện Công nghệ thông tin – Viện Khoa học và Công nghệ quân sự. Lời đầu tiên, NCS xin bày tỏ lòng biết ơn sâu sắc tới các thầy giáo TS. Nguyễn Mạnh Hùng và TS. Thái Trung Kiên, những người đã tận tình định hướng nghiên cứu, đào tạo và hướng dẫn NCS trong suốt quá trình học tập và nghiên cứu để hoàn thành luận án này. NCS xin được cảm ơn Viện Công nghệ Thông tin – Viện Khoa học và Công nghệ Quân sự đã nhiệt tình đóng góp ý kiến vào luận án và giúp đỡ NCS trong quá trình nghiên cứu. NCS xin được cảm ơn thủ trưởng và các đồng nghiệp thuộc Cục Cơ yếu – Bộ tổng tham mưu đã tạo mọi điều kiện thuận lợi cho NCS trong suốt thời gian nghiên cứu đề tài. NCS xin được bày tỏ lòng biết ơn chân thành tới các Thầy, Cô, các nhà khoa học đã chân thành góp ý và giúp đỡ cho NCS hoàn thành luận án này. Cuối cùng, NCS cảm ơn gia đình, bạn bè, đồng nghiệp đã luôn hỗ trợ, động viên, chia sẻ và giúp NCS có thêm quyết tâm và động lực vượt qua những khó khăn để quyết tâm hoàn thành luận án này. Xin trân trọng cảm ơn! iii MỤC LỤC DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT .....................................................................v DANH MỤC CÁC BẢNG .......................................................................................................... vii DANH MỤC CÁC HÌNH VẼ ................................................................................................... viii MỞ ĐẦU .................................................................................................................................1 CHƯƠNG 1. TỔNG QUAN VỀ PHÂN LOẠI GÓI TIN TRÊN TƯỜNG LỬA ..........................5 1.1 Một số khái niệm về tường lửa .........................................................................................5 1.1.1 1.1.2 1.1.3 1.1.4 1.2 Lịch sử hình thành tường lửa ....................................................................................5 Định nghĩa về tường lửa............................................................................................5 Chức năng của tường lửa ..........................................................................................6 Các kiểu tường lửa ....................................................................................................6 Hiệu năng và mối quan hệ với quá trình phân loại gói tin của tường lửa ........................8 1.2.1 Mối quan hệ giữa hiệu năng và tốc độ phân loại gói tin ..........................................8 1.2.2 Quá trình phân loại gói tin trên tường lửa..............................................................10 1.3 Các hướng nâng cao tốc độ phân loại gói tin trên tường lửa..........................................13 1.3.1 1.3.2 1.3.3 1.3.4 1.4 Các nghiên cứu trong lĩnh vực phần cứng ..............................................................13 Các nghiên cứu trong lĩnh vực phần mềm ..............................................................16 Một số nghiên cứu trong nước ................................................................................25 Xác định hướng nghiên cứu trong luận án ..............................................................26 Kết luận chương 1 ..........................................................................................................28 CHƯƠNG 2. THUẬT TOÁN PHÂN LOẠI GÓI TIN TRÊN TƯỜNG LỬA ............................29 2.1 2.2 Giới thiệu chương ...........................................................................................................29 Một số khái niệm ............................................................................................................30 2.2.1 2.2.2 2.2.3 2.2.4 2.3 Đề xuất phân loại gói tin trên cấu trúc cây Ưu tiên đa nhánh – MWP...........................33 2.3.1 2.3.2 2.3.3 2.3.4 2.4 Tập luật phân loại gói tin ........................................................................................30 Cách biểu diễn các trường của bộ lọc.....................................................................30 Tiêu chí lựa chọn luật ..............................................................................................31 Các tham số đánh giá một thuật toán phân loại gói tin ..........................................32 Lí do đề xuất ............................................................................................................34 Các cấu trúc có liên quan........................................................................................34 Ý tưởng chính của đề xuất và các định nghĩa .........................................................39 Cấu trúc cây MWP ..................................................................................................41 Kết luận chương 2 ..........................................................................................................53 CHƯƠNG 3. LOẠI SỚM GÓI TIN TRÊN TƯỜNG LỬA .........................................................54 3.1 3.2 Giới thiệu chương ...........................................................................................................54 Đề xuất kỹ thuật loại sớm gói tin dựa trên việc kết hợp các trường ..............................54 3.2.1 Ý tưởng của việc loại sớm gói tin bằng việc kết hợp các trường ............................54 3.2.2 Loại sớm gói tin sử dụng phép kết hợp COM trên hai trường ................................55 3.2.3 Loại sớm gói tin sử dụng phép XOR kết hợp nhiều trường .....................................69 iv 3.2.4 Hiệu quả của việc sử dụng trường kết hợp trong loại sớm gói tin ..........................79 3.3 Kết luận chương 3 ..........................................................................................................81 CHƯƠNG 4. PHÁT HIỆN VÀ XỬ LÝ XUNG ĐỘT TRONG TẬP LUẬT TƯỜNG LỬA .....82 4.1 4.2 Giới thiệu chương ...........................................................................................................82 Một số khái niệm chung .................................................................................................83 4.2.1 Biểu diễn luật trong tường lửa ................................................................................83 4.2.2 Không gian luật và các mối quan hệ không gian luật .............................................83 4.2.3 Các loại xung đột trong tập luật tường lửa .............................................................84 4.3 Đề xuất cấu trúc cây phát hiện xung đột trên tập luật – CDT ........................................85 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.4 Các định nghĩa mới .................................................................................................86 Ý tưởng của thuật toán ............................................................................................90 Cấu trúc cây CDT....................................................................................................91 Phát hiện xung đột trên cây CDT ..........................................................................103 Cài đặt thử nghiệm và đánh giá ............................................................................105 Kết luận chương 4 ........................................................................................................109 KẾT LUẬN .............................................................................................................................111 TÀI LIỆU THAM KHẢO ..........................................................................................................114 v DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT ACL ABV AFBV ASIC BDD BV CAM CDT DCFL DoS EGT ERFC FPGA FVSC GoT GPU HiCuts HSM H-Tries LAN MWP NP RFC SA-BSPL SP-Tries TCAM TCDA TCP UDP Ln(P) Sn(P) Max(G) Danh sách kiểm soát truy nhập (Access Control List) Thuật toán bít véc tơ hỗn hợp (Aggregated Bit Vector) Thuật toán bít véc tơ hỗn hợp và phân nhóm (Aggregated and Folded Bit Vector) Vi mạch tích hợp chuyên dụng (Application-specific integrated circuit) Sơ đồ quyết định nhị phân (Binary Decision Diagram) Thuật toán bít véc tơ (BitVector) Bộ nhớ có thể đánh địa chỉ nội dung (Content Addressable Memory) Cây phát hiện xung đột (Conflict Detect Trie) Thuật toán phân loại kết hợp chéo các trường riêng biệt theo nhãn (Distributed Cross producing of Field Labels) Tấn công từ chối dịch vụ (Denial-of-Service) Cây dạng lưới mở rộng (Extended Grid of Tries) Thuật toán phân loại đệ quy theo luồng mở rộng (Enhanced Recursive Flow Classiflcation) Mảng cổng lập trình được dạng trường (Field Programmable Gate Array) Tập giá trị bao phủ trường (Field Value Set Cover) Cây dạng lưới (Grid of Tries) Khối xử lý đồ họa (Graphics Processing Unit) Thuật toán các lát cắt theo tầng thông minh (Hierarchical intelligent Cuts) Cây ánh xạ không gian phân cấp (Hierarchical Space Mapping) Cây phân cấp (Hierarchical Tries) Mạng nội bộ (Local Area Network) Cây ưu tiên đa nhánh (Multi-Way Priority) Bộ xử lý mạng (Network Processor) Thuật toán phân loại đệ quy theo luồng (Recursive Flow Classification) Tìm kiếm trên cây nhị phân tự hiệu chỉnh với độ dài tiền tố (Self Adjusting Binary Search on Prefix Length) Cây cắt tỉa (Set Pruning tries) Bộ nhớ có thể đánh địa chỉ nội dung theo 3 trạng thái (Ternary ContentAddressable Memory) Thuật toán phát hiện xung đột dựa trên bộ tham số về độ dài (Tuple-base Conflict Detection Algorithm) Giao thức truyền tải (Transmission Control Protocol) Giao thức dữ liệu người dùng (User Datagram ProtocolV Bậc n của tiền tố P Tập các tiền tố bậc n của tiền tố P Tiền tố có độ dài lớn nhất trong tập tiền tố G <|, >| Ký hiệu mối quan hệ giao nhau giữa hai khoảng giá trị [a,b] và [c,d] ℜD Mối quan hệ tách biệt của không gian giữa hai luật ℜEM Mối quan hệ trùng khớp của không gian giữa hai luật vi ℜIM Mối quan hệ chứa nhau của không gian giữa hai luật ℜC Mối quan hệ giao nhau của không gian giữa hai luật |fn| Độ chi tiết của trường fn của luật phân loại gói tin Mối quan hệ trùng nhau giữa hai giá trị trường >< Mối quan hệ tách rời nhau giữa hai giá trị trường cho dưới dạng khoảng ⊆ Mối quan hệ thuộc giữa hai giá trị trường vii DANH MỤC CÁC BẢNG Trang Bảng 1.1. Thông lượng tính theo bps và tốc độ phân loại gói tin cần đạt ............................. 9 Bảng 2.1. Ví dụ tập luật gồm 4 luật ..................................................................................... 37 Bảng 2.2. Quá trình cắt và tính toán entropy cho các luật bảng 2.1 .................................... 37 Bảng 2.3. Tập luật gồm 12 luật một chiều cho dưới dạng tiền tố........................................ 44 Bảng 2.4. Các tập tiền tố theo bậc của R1 ........................................................................... 44 Bảng 2.5. So sánh độ phức tạp giữa cấu trúc MWP với JA-trie và PT ............................... 48 Bảng 2.6. Tốc độ phân loại gói tin trên các cấu trúc với các tập dữ liệu khác nhau ........... 52 Bảng 3.1.Qui tắc kết hợp COM ........................................................................................... 56 Bảng 3.2. Tập luật gồm 5 luật Accept ................................................................................. 60 Bảng 3.3. Các quy tắc chèn đoạn [x,y] vào nút N ............................................................... 61 Bảng 3.4. Kiểm tra tính chính xác và hiệu quả của kỹ thuật loại sớm với fCOM............... 65 Bảng 3.5. Tập luật gồm 8 luật 3 chiều của tường lửa .......................................................... 71 Bảng 3.6. Ví dụ bảng tiền tố và khoảng giá trị trường fXOR ............................................. 72 Bảng 3.7. Các bước xây dựng tập D của các luật trong Bảng 3.5 ....................................... 74 Bảng 3.8. Loại sớm gói tin trên trường fXOR với các tập luật khác nhau .......................... 75 Bảng 3.9. Sử dụng trường fXOR trong thuật toán tìm kiếm tuần tự ................................... 78 Bảng 4.1. Danh sách các unit của luật R ............................................................................. 90 Bảng 4.2. Tập luật gồm 5 luật 4 chiều ................................................................................. 96 Bảng 4.3. Tiền tố và độ chi tiết của các giá trị trường của các luật thuộc Bảng 4.2 ........... 96 Bảng 4.4. Phát hiện xung đột trên các tập luật khác nhau với cấu trúc CDT .................... 106 viii DANH MỤC CÁC HÌNH VẼ Trang Hình 1-1. Quá trình phân loại gói tin trên tường lửa ........................................................... 10 Hình 1-2. Quá trình phân loại gói tin với tập luật của tường lửa ........................................ 12 Hình 1-3. Quan hệ giữa hiệu năng với các thành phần cấu tạo của tường lửa .................... 13 Hình 1-4. Các hướng nghiên cứu về phần cứng .................................................................. 14 Hình 1-5. Các hướng nghiên cứu về phần mềm .................................................................. 16 Hình 1-6. Các thuật toán phân loại gói tin trên nhiều trường .............................................. 17 Hình 1-7. Tấn công DoS vào luật mặc định của tường lửa ................................................. 20 Hình 1-8. Mô hình loại sớm gói tin bằng module loại sớm gói tin ..................................... 21 Hình 1-9. Cải tiến nâng cao tốc độ phân loại gói tin trên tường lửa ................................... 27 Hình 1-10 Các hướng cải tiến trong quá trình phân loại gói tin của luận án ....................... 28 Hình 2-1. Ví dụ cây nhị phân ưu tiên .................................................................................. 35 Hình 2-2. JA-trie gắn với các luật Bảng 2.1 ........................................................................ 38 Hình 2-3. Cấu trúc một nút N của cây MWP ...................................................................... 42 Hình 2-4. Sơ đồ thuật toán xây dựng nút trên cây MWP .................................................... 43 Hình 2-5. Cây MWP xây dựng từ tập luật trong Bảng 2.3 .................................................. 45 Hình 2-6. Thuật toán phân loại gói tin trên cây MWP ........................................................ 46 Hình 2-7. Thuật toán xác định nhanh số bít bên trái trùng nhau giữa hai tiền tố ................ 47 Hình 2-8. So sánh thời gian phân loại giữa cấu trúc MWP và các cấu trúc khác................ 51 Hình 2-9. So sánh nhu cầu sử dụng bộ nhớ giữa cấu trúc MWP với các cấu trúc khác ...... 52 Hình 3-1. Cách tạo tiền tố COM.......................................................................................... 56 Hình 3-2. Ví dụ tạo tiền tố COM ......................................................................................... 56 Hình 3-3. Cách xây dựng tập luật loại sớm dựa trên trường fCOM .................................... 59 Hình 3-4. Ví dụ xây dựng tập luật loại sớm từ trường fCOM ............................................. 60 Hình 3-5. Thuật toán loại sớm gói tin với trường fCOM .................................................... 63 Hình 3-6 Mô hình thử nghiệm kỹ thuật loại sớm ................................................................ 64 Hình 3-7. Các mô hình triển khai module phân loại gói tin ................................................ 65 Hình 3-8. Phân loại gói tin trên các cấu trúc cây khác nhau với trường fCOM .................. 66 Hình 3-9. Thời gian xây dựng tập luật loại sớm với các cấu trúc cây khác nhau................ 67 Hình 3-10. Mô hình cài đặt kỹ thuật FVSC ......................................................................... 68 Hình 3-11. So sánh kỹ thuật loại sớm fCOM với kỹ thuật FVSC ....................................... 68 Hình 3-12. Phép kết hợp các trường bằng phép XOR ......................................................... 70 Hình 3-13. Cách tạo trường fXOR ...................................................................................... 71 Hình 3-14. Thời gian loại sớm gói tin trên trường fXOR khi cố định số luật ..................... 76 ix Hình 3-15. Phân loại gói tin trong kỹ thuật SA-BSPL với trường fXOR ........................... 79 Hình 4-1. Các mối quan hệ không gian luật của hai luật ..................................................... 83 Hình 4-2. Cấu trúc nút của cây CDT ................................................................................... 92 Hình 4-3. Nút N sau khi được xây dựng.............................................................................. 95 Hình 4-4. Cây CDT của tập luật Bảng 4.7 ........................................................................... 98 Hình 4-5. Chèn luật mới vào node N ................................................................................. 102 Hình 4-6. So sánh số lượng nút trên cây CDT và cây FAT ............................................... 106 Hình 4-7. So sánh thời gian xây dựng cây CDT và FAT .................................................. 107 Hình 4-8. So sánh thời gian phát hiện xung đột giữa hai cấu trúc FAT và CDT .............. 108 Hình 4-9. So sánh bộ nhớ sử dụng giữa hai cấu trúc FAT và CDT .................................. 108 1 MỞ ĐẦU 1. Tính cấp thiết của đề tài Ngày nay, mạng máy tính có sự phát triển mạnh mẽ về các mặt quy mô kết nối, các loại hình dịch vụ, số lượng người sử dụng. Cùng với sự phát triển đó là sự ra đời của các công nghệ truyền dẫn tiên tiến, kết quả dẫn đến lưu lượng dữ liệu được trao đổi trên mạng là rất lớn. Điều này đem lại nhiều lợi ích cho người sử dụng nhưng cũng đặt ra các vấn đề phải giải quyết, một trong số đó là bảo đảm an ninh cho hệ thống. Có nhiều biện pháp kết hợp để bảo đảm an ninh cho hệ thống mạng, một trong các biện pháp đó là sử dụng tường lửa. Tường lửa là một thiết bị kiểm soát truy nhập được đặt ở điểm kết nối giữa mạng cần được bảo vệ với mạng bên ngoài. Việc đảm bảo an ninh được thực hiện bằng cách kiểm tra tất cả các gói tin đi qua tường lửa theo cả hai chiều vào và ra theo một chính sách an ninh do người quản trị thiết lập. Với chức năng và vị trí được triển khai, tường lửa sẽ trở thành một rào cản giữa mạng cần bảo vệ với các mạng khác. Thiết bị này sẽ tác động đến hệ thống mạng theo hai khía cạnh tích cực và tiêu cực: Tích cực – Bảo đảm an ninh an toàn của hệ thống với chức năng kiểm soát tính hợp pháp của các gói tin đi qua; Tiêu cực – Làm giảm tốc độ trao đổi thông tin giữa mạng được bảo vệ với mạng bên ngoài. Nâng cao hiệu năng của tường lửa chính là cách làm giảm tác động tiêu cực nói trên. Hiệu năng của tường lửa cao sẽ tăng cường khả năng bảo vệ mạng bên trong và hạn chế việc làm suy giảm tốc độ trao đổi thông tin qua nó. Hiện nay và trong tương lai, yêu cầu về an ninh an toàn ngày càng phức tạp, lưu lượng thông tin cần trao đổi giữa các hệ thống mạng ngày càng cao và băng thông của hạ tầng truyền dẫn ngày càng lớn thì tác động tiêu cực của tường lửa đối với hệ thống mạng ngày càng mạnh. Chính vì vậy, hiệu năng của tường lửa cần phải được nâng cao nhằm không làm ảnh hưởng đến hoạt động của hệ thống. Cho tới nay, các nhà nghiên cứu cả trong và ngoài nước đã có nhiều công trình nghiên cứu nhằm nâng cao hiệu năng của tường lửa để đáp ứng yêu cầu sử dụng. Mỗi giải pháp đều có ưu nhược điểm riêng và thường chỉ giải quyết một vấn đề trong việc cải tiến hiệu năng của thiết bị, chưa có giải pháp nào thực sự tối ưu và mang tính tổng quát. Hiệu năng của tường lửa đã, đang và sẽ vẫn cần thiết phải được nâng cao nhằm 2 cho phép nó đáp ứng được nhu cầu thực tế. Đây chính là lý do NCS lựa chọn vấn đề nghiên cứu này trong luận án. 2. Mục tiêu nghiên cứu Các phương án kỹ thuật nhằm nâng cao hiệu năng của tường lửa thuộc một trong hai kiểu cơ bản đó là: Sử dụng các công nghệ mới hay nâng cao cấu hình phần cứng thiết bị; Đề xuất mới hay cải tiến các kỹ thuật, thuật toán trong phần mềm tường lửa. Về cốt lõi, nâng cao hiệu năng của tường lửa là làm giảm thời gian kiểm tra gói tin đi qua, mà quá trình kiểm tra các gói tin đi qua thực chất là việc phân loại gói tin theo các tiêu chuẩn cho trước. Chính vì vậy, tăng tốc quá trình phân loại gói tin trên tường lửa cũng chính là nâng cao hiệu năng của thiết bị này. Luận án được thực hiện nhằm vào mục tiêu: Đề xuất các kỹ thuật mới trong phân loại gói tin và phát hiện xung đột trong tập luật tường lửa nhằm nâng cao tốc độ phân loại gói tin từ đó phát triển tường lửa hiệu năng cao. 3. Phạm vi, đối tượng và phương pháp nghiên cứu Phạm vi nghiên cứu của luận án tập trung vào việc nghiên cứu các cải tiến về phần mềm, cụ thể hơn là các thuật toán phân loại gói tin, các kỹ thuật nhằm phát hiện và xử lý xung đột trong tập luật nhằm nâng cao thông lượng của tường lửa, đây là một trong các yếu tố để nâng cao hiệu năng của thiết bị. Đối tượng được trực tiếp nghiên cứu trong luận án là: Cấu trúc dữ liệu lưu trữ các luật phân loại và thuật toán phân loại dựa trên cấu trúc đó; Các kỹ thuật nhằm tối thiểu hóa thời gian phân loại trung bình cho mỗi gói tin trên tường lửa. Luận án sử dụng phương pháp kết hợp giữa nghiên cứu lý thuyết và mô phỏng thử nghiệm. Nghiên cứu lý thuyết dựa trên toán học nhằm chứng minh tính đúng đắn của các kỹ thuật, thuật toán đề xuất mới. Quá trình mô phỏng thử nghiệm nhằm kiểm tra tính khả thi, đánh giá và so sánh hiệu năng của thuật toán, kỹ thuật đề xuất mới với các thuật toán, kỹ thuật đã được công bố. 4. Ý nghĩa của đề tài nghiên cứu Nâng cao hiệu năng là yêu cầu tất yếu để tường lửa có thể đáp ứng được nhu cầu bảo đảm an ninh an toàn mà không làm ảnh hưởng đến hoạt động của hệ thống mạng. Phân tích, đánh giá và đề xuất các phương án nâng cao hiệu năng của tường 3 lửa là lĩnh vực đã và đang được các nhà nghiên cứu trong và ngoài nước quan tâm. Tuy nhiên ở trong nước, lĩnh vực này chưa được quan tâm đúng mức. Các nội dung nghiên cứu của đề tài sẽ là cơ sở để chúng ta làm chủ từ đó có thể tự phát triển các tường lửa nhằm đáp ứng nhu cầu về an ninh an toàn cho các hệ thống mạng nói chung và đặc biệt các hệ thống mạng thuộc lĩnh vực an ninh quốc phòng. 5. Nội dung và cấu trúc của luận án Nội dung của luận án bao gồm nghiên cứu về các kỹ thuật nhằm nâng cao hiệu năng của tường lửa. Trong đó tập trung nghiên cứu và đưa ra các đề xuất mới về các cấu trúc dữ liệu và thuật toán nhằm nâng cao tốc độ phân loại gói tin. Luận án được bố cục thành 4 chương: Chương 1 bao gồm các nội dung: Tổng quan về tường lửa; Hiệu năng của tường lửa; Quá trình phân loại gói tin trên tường lửa; Mối quan hệ giữa hiệu năng của tường lửa với phân loại gói tin trên thiết bị. Trên cơ sở phân tích các hướng nghiên cứu nhằm nâng cao hiệu năng của tường lửa từ đó xác định các hướng các nội dung chính sẽ được thực hiện trong luận án nhằm đạt được mục đích đề ra. Chương 2 đề xuất thuật toán phân loại gói tin trên một trường dựa trên cấu trúc cây ưu tiên đa nhánh MWP (Multi-Way Priority). Cấu trúc cây MWP dựa trên việc phân tích các ưu nhược điểm của hai cấu trúc Cây ưu tiên PT (Priority trie) và Cây đa bít MT (Multi-Bit trie). Tính đúng đắn của thuật toán phân loại gói tin được chứng minh bằng toán học và thử nghiệm với các bộ dữ liệu chuẩn nhằm so sánh với các cấu trúc và kỹ thuật khác. Chương 3 đề xuất kỹ thuật loại sớm gói tin nhằm hạn chế tấn công DoS vào tường lửa. Kỹ thuật đề xuất sử dụng phép kết hợp (phép COM và XOR) nhiều trường với nhau nhằm làm giảm số chiều phải kiểm tra đối với mỗi gói tin từ đó làm giảm thời gian phân loại trung bình cho mỗi gói tin đi qua thiết bị. Với mỗi phép kết hợp, các nội dung trình bày gồm: Nguyên tắc kết hợp; Cách xây dựng bộ luật loại sớm; Cấu trúc lưu trữ luật loại sớm và loại sớm gói tin trên cấu trúc đó; Kết quả thử nghiệm kỹ thuật đề xuất. Chương 4 đề xuất thuật toán phát hiện và xử lý xung đột trong tập luật của tường lửa. Chương này trình bày về Đề xuất thuật toán phát hiện và xử lý xung đột 4 trên nhiều chiều trong tập luật tường lửa với cấu trúc cây CDT. Tính đúng đắn của thuật toán được chứng minh bằng toán học và thử nghiệm với các bộ dữ liệu chuẩn nhằm so sánh với các cấu trúc và kỹ thuật khác. Cuối cùng là phần kết luận, tóm tắt những đóng góp chính, các hướng nghiên cứu phát triển tiếp theo của luận án và những vấn đề được NCS quan tâm. 5 CHƯƠNG 1. TỔNG QUAN VỀ PHÂN LOẠI GÓI TIN TRÊN TƯỜNG LỬA 1.1 Một số khái niệm về tường lửa 1.1.1 Lịch sử hình thành tường lửa An ninh máy tính mượn khái niệm tường lửa từ việc xử lý và ngăn chặn lửa, tại đó một tường lửa là một vật chắn được thiết lập để ngăn chặn quá trình mở rộng của đám cháy. Khi các tổ chức bắt đầu chuyển từ việc sử dụng các máy tính lớn (mainframe) và các trạm khai thác đầu cuối sang mô hình khách-chủ (client-server), thì việc kiểm soát truy cập tới máy chủ (server) là vấn đề được ưu tiên. Trước khi khái niệm tường lửa xuất hiện vào cuối những năm 1980, chức năng an ninh mạng chỉ được thực hiện bởi các Danh sách điều khiển truy nhập (ACL) được triển khai trên các thiết bị định tuyến. Các ACL xác định địa chỉ IP nào được phép hay không được phép truy nhập vào mạng. Với sự phát triển của mạng internet và việc gia tăng về khả năng kết nối liên mạng thì các ACL không đủ khả năng kiểm soát các kết nối độc hại nhờ các thông tin cơ bản trích xuất trong header của gói tin. Từ thách thức đó, Digital Equipment Corp đã đưa ra sản phẩm tường lửa thương mại đầu tiên (DEC SEAL vào năm 1992) và công nghệ tường lửa đã phát triển để chống lại các cuộc tấn công mạng với sự phức tạp ngày càng tăng. 1.1.2 Định nghĩa về tường lửa Không có một định nghĩa chính thức về tường lửa nhưng nhìn chung các tài liệu đều khẳng định: Tường lửa là một hệ thống an ninh mạng, dựa trên nền tảng phần mềm, phần cứng hoặc kết hợp cả hai, mà trên đó sử dụng các luật để kiểm soát lưu lượng mạng theo chiều đi vào và đi ra của một mạng cụ thể [59], [81]. Tường lửa hoạt động như một rào cản giữa một mạng tin cậy và một mạng không tin cậy. Thiết bị này kiểm soát truy cập vào các tài nguyên của một mạng thông qua một mô hình kiểm soát tích cực. Quá trình kiểm soát được thực hiện thông qua chính sách an ninh mà trong đó chỉ rõ những truy cập nào được phép và không được phép đi qua. 6 1.1.3 Chức năng của tường lửa Tùy theo yêu cầu sử dụng, tường lửa được triển khai sẽ nhằm thực hiện một hay nhiều chức năng sau:  Cấp phép cho các dịch vụ truy nhập ra ngoài (từ mạng được bảo vệ).  Cấp phép cho các dịch vụ truy nhập vào trong mạng bảo vệ.  Theo dõi luồng dữ liệu mạng giữa mạng bảo vệ và mạng bên ngoài.  Cấp phép cho các địa chỉ được phép truy cập vào bên trong mạng và ra bên ngoài mạng.  Kiểm soát người sử dụng và việc truy nhập của người sử dụng.  Kiểm soát nội dung thông tin lưu chuyển trên mạng. Ngoài các chức năng chính như trên, tường lửa hiện nay có thể được tích hợp thêm các chức năng khác như cảnh báo phát hiện xâm nhập, mã hóa dữ liệu đường truyền, phòng chống virut… Tuy nhiên, các tính năng này không phải là tính năng cơ bản của tường lửa. 1.1.4 Các kiểu tường lửa Tường lửa được phân loại theo nhiều tiêu chí khác nhau như: Dựa trên nền tảng phần cứng, phần mềm; Dựa trên kỹ thuật sử dung trong kiểm soát truy cập; Dựa trên đối tượng sử dụng (cá nhân hay mạng); Dựa trên loại mã nguồn tường lửa (mã nguồn mở, thương mại)… Tuy nhiên, phân loại căn cứ vào cách thức kiểm soát truy nhập là cách phổ biến nhất, theo đó thì tường lửa gồm các loại: Lọc gói (Packet firewall); Lọc gói với đầy đủ trạng thái (Stateful firewalls); Mức ứng dụng; Ủy quyền (Proxy firewall). 1.1.4.1 Tường lửa lọc gói Đây là loại tường lửa thể hệ thứ nhất chỉ với chức năng như một bộ lọc gói tin, nó chỉ kiểm tra các gói tin trao đổi giữa các máy tính trong một mạng. Khi một gói tin đi qua tường lửa lọc gói, địa chỉ IP nguồn, IP đích, giao thức, cổng nguồn và cổng đích được kiểm tra theo các luật định sẵn. Các gói tin không được phép đi vào mạng sẽ bị loại (drop), ngược lại chúng sẽ được chuyển tiếp (forward). 7 Tường lửa lọc gói chủ yếu làm việc trên 3 lớp đầu tiên của mô hình tham chiếu OSI (vật lý, liên kết dữ liệu và tầng mạng). Loại này có ưu điểm là nhanh và hiệu quả, tuy nhiên các tường lửa lọc gói không có khả năng phân biệt một gói tin thuộc một luồng dữ liệu nào vì chúng coi các gói tin là độc lập. Chính điều này cũng làm chúng dễ bị tấn công kiểu giả mạo cũng như hạn chế trong việc đưa ra các quyết định phức tạp dựa trên trạng thái kết nối giữa các thực thể trên mạng. 1.1.4.2 Tường lửa lọc gói với đầy đủ trạng thái Để khắc phục các điểm yếu của tường lửa lọc gói, thế hệ tường lửa thứ hai được phát triển – Tường lửa lọc gói với đầy đủ trạng thái được xây dựng. Các thiết bị này có khả năng nhận biết trạng thái kết nối của một gói tin. Với khả năng đó, nó biết được hoặc gói tin là bắt đầu của một kết nối, một phần của kết nối đã có hay không thuộc kết nối nào cả. Chức năng này được gọi là “Kiểm tra đầy đủ thông tin của gói” (stateful packet inspection) và được giới thiệu vào năm 1994 bởi Check Point Software [56]. Kỹ thuật này trở nên phổ biến và là một tính năng cơ bản của tường lửa từ cuối những năm 1990. Các thông tin bổ sung này có thể được sử dụng để cho phép hay loại bỏ một gói tin dựa vào lịch sử của nó trong bảng trạng thái một cách nhanh chóng. Một gói tin nếu thuộc một kết nối đã được lưu trong bảng trạng thái sẽ được phép đi qua mà không phải thực hiện các kiểm tra khác. Nếu một gói tin không thuộc các kết nối đã được đánh dấu thì nó sẽ được xem xét như một kết nối mới sau khi đã được kiểm tra bằng các luật ban đầu. 1.1.4.3 Các tường lửa lớp ứng dụng Đây là tường lửa giai đoạn thứ ba. Khi các cuộc tấn công vào các máy chủ nói chung và máy chủ Web nói riêng trở nên phổ biến hơn, thì nhiệm vụ của tường lửa là có thể bảo vệ các máy chủ và các ứng dụng đang chạy trên chúng, mà không chỉ là các tài nguyên mạng. Công nghệ tường lửa lớp ứng dụng lần đầu tiên xuất hiện vào năm 1999 [46], cho phép tường lửa kiểm tra và lọc các gói tin trên bất kỳ lớp OSI nào đến lớp ứng dụng. Một đặc điểm mạnh của các tường lửa lớp ứng dụng là khả năng chặn các nội dung cụ thể, chẳng hạn như phần mềm độc hại hoặc trang web nhất định, và nhận 8 dạng khi các ứng dụng và giao thức nhất định - chẳng hạn như HTTP, FTP và DNS đang bị tấn công. 1.1.4.4 Các tường lửa ủy quyền Một máy chủ ủy quyền [53] có thể hoạt động như một tường lửa lớp ứng dụng, đóng vai trò là lớp trung gian giữa các yêu cầu từ mạng này sang một mạng khác cho một ứng dụng cụ thể. Một tường lửa ủy quyền ngăn chặn các kết nối trực tiếp giữa hai bên tường lửa; Cả hai bên đều bị buộc phải tiến hành phiên kết nối thông qua nó, do đó có thể chặn hoặc cho phép truy cập dựa trên bộ qui tắc của nó. Một dịch vụ ủy quyền phải được chạy cho mỗi loại ứng dụng mạng mà tường lửa sẽ hỗ trợ, chẳng hạn như một proxy HTTP cho các dịch vụ Web. Ngoài các loại tường lửa phổ biến nói trên, trong thời gian gần đây xuất hiện các loại tường lửa đó là: Unified threat management (UTM) [68]: Đây là sự phát triển của tường lửa truyền thống thành một sản phẩm bảo mật có khả năng thực hiện nhiều chức năng trong một thiết bị duy nhất: tường lửa mạng, phát hiện xâm nhập mạng (IDS / IPS), cổng chống virut (gateway antivirut) , mạng riêng ảo - VPN, lọc nội dung, cân bằng tải, chống mất mát dữ liệu… Tường lửa thế hệ tiếp theo (Next-generation firewall - NGFW) [22], [68]: là một phần của công nghệ tường lửa thế hệ thứ ba, kết hợp tường lửa truyền thống với các chức năng lọc các thiết bị mạng khác như tường lửa ứng dụng sử dụng kiểm tra nội dung gói tin, hệ thống phòng chống xâm nhập (IPS ). Các kỹ thuật khác cũng có thể được sử dụng, như kiểm tra truy cập được mã hóa TLS / SSL, lọc trang web, quản lý chất lượng dịch vụ - QoS / băng thông, chống virut …. 1.2 Hiệu năng và mối quan hệ với quá trình phân loại gói tin của tường lửa 1.2.1 Mối quan hệ giữa hiệu năng và tốc độ phân loại gói tin Hiệu năng của một tường lửa được đánh giá theo các tiêu chí thuộc “RFC3511: Methodology for Firewall Performance”, bao gồm:  Thông lượng IP.  Khả năng kết nối TCP đồng thời. 9         Tỷ lệ thiết lập kết nối TCP tối đa. Tỷ lệ rớt kết nối TCP tối đa. Khả năng xử lý tấn công từ chối dịch vụ. Tốc độ trao đổi HTTP. Tốc độ trao đổi HTTP tối đa. Xử lý giao dịch bất hợp pháp. Xử lý phân mảnh gói tin. Độ trễ gói tin. Tiêu chí đầu tiên được sử dụng để đánh giá là thông lượng IP (IP Throutput), được định nghĩa là số gói tin lớn nhất đi qua tường lửa trong một giây mà không có hiện tượng mất gói. Trong thực tế, thông lượng của một thiết bị mạng nói chung và tường lửa nói riêng có thể còn được tính theo đơn vị khác là số bít được trao đổi qua thiết bị trong một giây. Trong trường hợp đó, thông lượng phụ thuộc trực tiếp vào kích thước gói tin và số lượng gói tin đi qua thiết bị trong một giây. Bảng 1.1 thể hiện yêu cầu về tốc độ phân loại gói tin cần đáp ứng để tường lửa đạt được thông lượng tính bằng bít trên giây tương ứng với trường hợp kích thước của gói tin là nhỏ nhất 40 byte (gói nhỏ nhất của giao thức TCP). Như vậy, với bất cứ cách tính như thế nào thì thông lượng IP của tường lửa đều gắn với tốc độ phân loại gói tin trên thiết bị đó. Điều này cũng đồng nghĩa tốc độ phân loại gói tin có thể được coi là một tiêu chí để đánh giá hiệu năng của tường lửa và các nghiên cứu nhằm nâng cao tốc độ phân loại gói tin trên tường lửa cũng tương đương với mục đích nâng cao hiệu năng của thiết bị này. Bảng 1.1. Thông lượng tính theo bps và tốc độ phân loại gói tin cần đạt Thông lượng 1 Mbps 10 Mbps 100 Mbps 1 Gbps 10 Gbps 100 Gbps Số gói tin cần được phân loại mỗi giây 3.125 31.250 31.2500 3.125.000 31.250.000 312.500.000 Với muc tiêu và phạm vi nghiên cứu của luận án, Tường lửa hiệu năng cao được xác định theo nghĩa là tường lửa có tốc độ phân loại gói tin cao. 10 1.2.2 Quá trình phân loại gói tin trên tường lửa Phân loại gói tin là một tính năng không thể thiếu trên các thiết bị mạng nói chung như Thiết bị định tuyến (router), chuyển mạch (switch), phát hiện xâm nhập (IPS, IDS)… Tường lửa cũng không nằm ngoài quy luật này, để thực hiện chức năng kiểm soát các truy nhập thì thì thiết bị phải phân loại gói tin đi qua nó nhằm xác định tính hợp lệ của gói tin đó. Hai yêu cầu đối với quá trình phân loại gói tin là: Tính chính xác – quyết định đến việc bảo đảm an ninh hệ thống của thiết bị; Tốc độ phân loại – quyết định việc không làm chậm các kết nối qua thiết bị. Không xét đến việc phân loại dựa trên nội dung của gói tin của tường lửa mức ứng dụng thì các tường lửa hiện nay thực hiện việc phân loại gói tin theo hai pha chính: Pha 1 – Phân loại với bảng trạng thái; Pha 2 – Phân loại với tập luật. Gói tin chỉ được phân loại tại Pha 2 khi không được cấp phép tại Pha 1. Toàn bộ quá trình phân loại gói tin được thể hiện trong Hình 1.1. CHẤP NHẬN Header DATA Khớp với một thực thể LOẠI BỎ Header DATA Không khớp luật nào CHẤP NHẬN Header DATA Phân loại với Bảng trạng thái Phân loại với Tập luật DATA Khớp với một luật Thông tin trạng thái Tập luật Thông tin trạng thái Bảng trạng thái Header Hình 1-1. Quá trình phân loại gói tin trên tường lửa 1.2.2.1 Phân loại với bảng trạng thái Tường lửa duy trì một bảng tra cứu theo dõi tất cả các kết nối được phép đi qua nó. Trong đó, mỗi kết nối được nhận dạng bởi bộ tham số tối thiểu gồm 4 thông tin địa chỉ IP nguồn, IP đích, cổng nguồn và cổng đích. Khi một gói tin đến, tường
- Xem thêm -

Tài liệu liên quan