Đề xuất cấu trúc cây phát hiện xung đột trong tập luật của tường lửa

14 50 0
Đề xuất cấu trúc cây phát hiện xung đột trong tập luật của tường lửa

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

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

Thông tin tài liệu

Bài viết này đề xuất cấu trúc cây phát hiện xung đột (CDT: Conflict Detection Tree) có khả năng phát hiện tất cả các loại xung đột trong một tập luật của tường lửa một cách hiệu quả. Tính chính xác và tính hiệu quả của cấu trúc CDT được giới thiệu và chứng minh chi tiết trong bài viết. Cấu trúc CDT được triển khai và kiểm chứng với dữ liệu thực tế, cho thấy tính khả dụng của nó.

Các cơng trình nghiên cứu phát triển Cơng nghệ Thơng tin Truyền thông Đề xuất cấu trúc phát xung đột tập luật tường lửa Nguyễn Mạnh Hùng1 , Vũ Duy Nhất2 Phòng Sau đại học, Học viện Kỹ thuật Quân Cục Cơ yếu, Bộ Tổng tham mưu Tác giả liên hệ: Vũ Duy Nhất, nhatbest@gmail.com Ngày nhận bài: 31/05/2017, ngày sửa chữa: 11/04/2018, ngày duyệt đăng: 25/12/2018 Xem sớm trực tuyến: 28/12/2018, định danh DOI: 10.32913/rd-ict.vol3.no40.478 Biên tập lĩnh vực điều phối phản biện định nhận đăng: PGS TS Nguyễn Khánh Văn Tóm tắt: Tường lửa thiết bị bảo mật mạng, sử dụng tập luật để kiểm sốt gói tin qua thiết bị Cấu hình luật tường lửa nhiệm vụ khó khăn chuyên gia bảo mật, đặc biệt hệ thống mạng phức tạp Sai sót q trình cấu hình thiết bị tác động tới hai khía cạnh: (i) làm ảnh hưởng tới an toàn hệ thống mạng cần bảo vệ (ii) làm suy giảm lực xử lý thiết bị tường lửa Bài báo đề xuất cấu trúc phát xung đột (CDT: Conflict Detection Tree) có khả phát tất loại xung đột tập luật tường lửa cách hiệu Tính xác tính hiệu cấu trúc CDT giới thiệu chứng minh chi tiết báo Cấu trúc CDT triển khai kiểm chứng với liệu thực tế, cho thấy tính khả dụng Từ khóa: Tường lửa, an ninh mạng, tiền tố, xung đột, sách an ninh Title: Abstract: Keywords: A New Conflict Detection Tree Structure in the Firewall Rule Set Firewall is a network security device that uses rules to control incoming and outgoing network traffic Configuring firewall rules is a very difficult task even for network security experts, especially for complex networks Mistakes made in the configuration process will cause two damaging effects: (i) affecting the security of the network that needs protection, and (ii) reducing the performance of the firewall device This article will introduce a Conflict Detection Tree (CDT) structure that effectively detects all conflicts in a firewall rule set The accuracy and effectiveness of the CDT structure is presented and substantiated in the article The proposed CDT structure has been implemented and tested with real data Firewall, network security, firewall rules, conflict, security policy I GIỚI THIỆU Một tập luật xây dựng người quản trị triển khai thiết bị bổ sung hay xóa bỏ luật có thay đổi sách an ninh trình vận hành hệ thống Số lượng luật tập luật tỷ lệ thuận với độ phức tạp sách an ninh triển khai thiết bị Trong thực tế nay, với việc phát triển mạnh mẽ quy mô hệ thống số lượng loại hình dịch vụ triển khai, sách an ninh cần triển khai thiết bị tường lửa ngày phức tạp Điều đồng nghĩa với việc tập luật sách an ninh mà người quản trị phải triển khai ngày tăng lên số lượng luật phức tạp cấu trúc Nhiệm vụ xây dựng quản lý sách an ninh cho tường lửa trở nên khó khăn Tường lửa loại thiết bị thiếu việc bảo đảm an ninh an toàn cho hệ thống mạng Thiết bị có chức ngăn cách bảo vệ cho mạng nội đơn vị hay tổ chức với mạng công cộng hay mạng tổ chức khác Các gói tin qua tường lửa kiểm soát theo chiều vào chiều Mỗi thiết bị tường lửa trang bị sách an ninh cho mục đích kiểm sốt gói tin nêu Chính sách an ninh tồn thiết bị tường lửa dạng tập luật người quản trị thiết lập Mỗi luật tập luật gồm giá trị điều kiện trường thông tin header gói tin cần thỏa mãn, trường quan trọng hành động luật gói tin thỏa mãn Hành động hai giá trị: Accept (cho phép gói tin qua) Deny (khơng cho phép gói tin qua) Các luật tập luật xung đột lẫn dư thừa, mâu thuẫn hành động, Các xung đột tập luật làm ảnh hưởng trực tiếp đến an ninh 19 Các cơng trình nghiên cứu phát triển Cơng nghệ Thông tin Truyền thông hệ thống cho phép gói tin khơng hợp pháp qua, ảnh hưởng đến hoạt động bình thường hệ thống mạng loại bỏ gói tin hợp lệ, hay làm ảnh hưởng đến hiệu (về mặt lưu trữ xử lý) thiết bị tường lửa tồn luật dư thừa Hình Các mối quan hệ hình học khơng gian luật hai luật: (a) R P tách biệt hoàn toàn; (b) R trùng khớp hoàn toàn với P; (c) R chứa P; (d) R P có phần giao Tại thời điểm năm 2004, kết khảo sát trình bày [1] cho thấy số lượng lớn xung đột tập luật tường lửa thực tế phải chấp nhận, số chắn lớn nhiều Chính vậy, việc nghiên cứu để phát xử lý xung đột tập luật tường lửa vấn đề nhiều nhà nghiên cứu quan tâm thực II CÁC KIẾN THỨC LIÊN QUAN Một số khái niệm Các kỹ thuật phát xung đột tập luật thiết bị mạng nói chung tường lửa nói riêng chia làm hai loại vào số chiều tập luật đó: (i) phát xung đột tập luật hai chiều (ii) phát xung đột tập luật nhiều chiều 1) Định dạng luật tường lửa: Mỗi luật tập luật tường lửa tạo tập giá trị mẫu trường hành động kèm Tập giá trị mẫu điều kiện trường thơng tin gói tin cần thỏa mãn muốn khớp với luật Các trường thơng tin trường IP, UDP hay TCP headers Trong thực tế trường thường IP nguồn, IP đích, cổng nguồn, cổng đích kiểu giao thức Hành động gắn luật Accept (cho phép gói tin qua) Deny (cấm qua) Các kỹ thuật phát xung đột tập luật hai chiều tiêu biểu gồm có [2–9] Các kỹ thuật thực kiểm tra, phát xử lý xung đột tập luật với hai chiều địa IP nguồn địa IP đích thiết bị mạng nói chung thiết bị định tuyến, tường lửa, bảo mật IPSec, v.v Các kỹ thuật có hạn chế áp dụng cho trường hợp tập luật có số chiều lớn kiểu liệu chiều bị hạn chế Về mặt hình thức, luật R biểu diễn R( f1, f2, , fn, Action), fi giá trị mẫu trường thứ i Giá trị mẫu cho dạng khoảng, tiền tố, hay tập giá trị khác Các kỹ thuật dạng thứ hai bao gồm công trình [10– 14] Các kỹ thuật đưa giải pháp nhằm phát xử lý xung đột luật nhiều chiều tập luật thiết bị tường lửa Riêng nhóm tác giả cơng trình [10] đề xuất hướng phát xử lý xung đột luật tập luật nhóm thiết bị tường lửa nằm đường di chuyển gói tin Các kỹ thuật đánh giá mang tính tổng quát kỹ thuật dạng đầu 2) Không gian luật: Không kể đến trường Action luật, xét không gian n chiều luật thuộc điểm hay đa diện hình học khơng gian Mối quan hệ hai không gian luật R luật P thuộc trường hợp thể hình 3) Các loại xung đột tập luật tường lửa: Bài báo đề xuất cấu trúc phát xung đột (CDT: Conflict Detection Tree) nhằm phát xung đột tập luật theo nhiều chiều thiết bị tường lửa đơn lẻ Cấu trúc CDT tối ưu mặt lưu trữ, thực với dạng liệu khác trường, có ưu điểm mặt thời gian trình xây dựng phát xung đột Ưu điểm cấu trúc CDT so với cấu trúc khác chứng minh lý thuyết đánh giá qua trình thực nghiệm Các loại xung đột luật tường lửa xác định từ mối quan hệ không gian luật, thứ tự hành động chúng Al-Shaer cộng [10] định nghĩa cơng thức hóa năm loại mối quan hệ hai không gian luật, bao gồm phân tách hoàn toàn (Completely Disjoint), khớp hoàn toàn (Exactly Matched), bao gồm (Inclusively Matched), phân tách vài phần (Partially Disjoint) tương quan (Correlated) Tuy nhiên tác giả cơng trình [12] coi quan hệ phân tách hồn tồn phân tách vài phần Bốn mối quan hệ lại tương ứng với bốn trường hợp mơ tả hình học hình Từ mối quan hệ trên, tác giả cơng trình [10] [12] bốn loại xung đột có hai luật, kiểu bóng (Shadowing), kiểu tương quan (Correlation), kiểu tổng quát (Generalization), kiểu dư thừa (Redundancy) Bài báo tổ chức với phần sau Mục II giới thiệu kiến thức chung xung đột số thuật toán phát xử lý xung đột tập luật nhiều chiều Mục III đề xuất cấu trúc CDT cho việc phát xung đột Mục IV trình bày kết thử nghiệm đánh giá thuật toán đề xuất Mục V kết luận xác định hướng nghiên cứu tiếp tục 20 Tập V-3, Số 40, 12.2018 Trong kiểu xung đột trên, bỏ qua kiểu tổng quát [12, 13] chia thành ba loại khơng gian, Allow (cho luật có hành động Allow), Deny (cho luật có hành động Deny) Conflict (các miền không gian luật mà có hành động khác nhau) xác định có miền Conflict chứa luật xung đột Với cách phân chia vậy, kỹ thuật phân mảnh có hạn chế bỏ qua loại xung đột kiều dư thừa Một hạn chế kỹ thuật phân mảnh cơng trình [13] đưa thuật tốn phân mảnh khơng gian luật luật đầu vào đề cốt lõi việc tính tốn xác định biên mảnh khơng gian luật theo chiều cụ thể luật không tác giả mô tả chi tiết, điều làm giảm tính thuyết phục đề xuất 3) Cấu trúc FAT: Các tác giả công trình [14] đề xuất xây dựng cấu trúc có tên FAT (Firewall Anormaly Tree), nhằm phát xử lý xung đột tập luật tường lửa Trong cơng trình [14], trường luật phân tách thành element element lưu trữ thông tin byte trường có định dạng ((byte, mask)b , (dim, or d)o ) Trong đó, mask số bít sử dụng byte xét, byte giá trị mask bit byte, dim trường xét (1: source IP, 2: destination IP, v.v.), ord vị trí byte xét trường dim Các tác giả đưa định nghĩa thứ tự element với nhau, element đứng trước có mask lớn hơn, trường hợp giá trị element có dim nhỏ đứng trước Cấu trúc FAT xây dựng từ tập tất element luật Một luật biểu diễn cấu trúc FAT đường dẫn luật gồm nút, nút xây dựng dựa thông tin element Các element đứng trước ưu tiên lựa chọn trước cho việc xây dựng nút Mỗi nút có ba tập, tập P (Primary) chứa luật khớp với đường dẫn từ nút gốc đến nút xét, tập S (Second) chứa luật có khơng gian luật chứa khơng gian khơng gian luật tập P tập T (Tertiary) chứa luật có khơng gian luật giao với khơng gian khơng gian luật tập P Việc xây dựng cấu trúc FAT thực đến tất element chọn hết mối quan hệ luật xác định nhờ tập P, S T nút Kỹ thuật có hạn chế sau đây: Kiểu bóng: Luật R1 bóng luật hay nhóm luật R2 trước tất gói tin khớp với R1 khớp với R2 hành động R1 khác với hành động R2 Mối quan hệ không gian luật R1 R2 tương ứng với kiểu xung đột R2 trùng khớp với R1 R2 chứa R1 Trong trường hợp này, tất gói tin mà luật muốn cấm lại cho phép luật trước Do đó, luật bị bóng khơng có tác dụng Kiểu tương quan: Luật R1 tương quan với luật R2 phần gói tin khớp với R1 khớp với R2 hành động R1 R2 khác Mối quan hệ không gian luật R1 R2 tương ứng với kiểu xung đột R2 R1 có phần giao Trong trường hợp này, gói tin khớp phần chung hai luật cho phép luật lại bị cấm luật khác Kiểu dư thừa: Luật R1 dư thừa tồn luật hay nhóm luật R2 trước thỏa mãn điều kiện tất gói tin khớp với R1 khớp với R2 hành động R1 R2 giống Mối quan hệ không gian luật R1 R2 tương ứng với kiểu xung đột R2 trùng khớp với R1 R2 chứa R1 Kiểu xung đột không ảnh hưởng đến an ninh thiết bị làm lãng phí khơng gian lưu trữ luật Một số kỹ thuật phát xung đột tập luật tường lửa 1) Kỹ thuật FIREMAN: Kỹ thuật FIREMAN tác giả công trình [11] đề xuất nhằm phát xung đột luật tập luật tường lửa đơn hay tường lửa phân đoạn mạng Trong FIREMAN, luật lưu trữ biểu đồ định nhị phân (BDDs: Binary Decision Diagrams) Kỹ thuật phát xung đột tập luật cách phân tích mối quan hệ luật cụ thể với tập hợp khoảng giá trị gói tin phù hợp với luật đứng trước Điều làm cho FIREMAN có hạn chế với luật kiểm tra luật trước mà bỏ qua tất luật đứng sau thực phân tích xung đột 2) Kỹ thuật phân mảnh: ◦ Phức tạp áp dụng cho trường liệu cho dạng khoảng cổng nguồn cổng đích cần phải xây dựng tập tiền tố đại diện cho khoảng giá trị [15] Điều làm tăng chi phí cho tính tốn việc xây dựng tập tiền tố tổng hợp xung đột cho luật bước cuối ◦ FAT có cấu trúc phức tạp nút phải lưu trữ nhiều thông tin Kỹ thuật phân mảnh (Rule-Based Segmentation) tác giả cơng trình [13] đề xuất Trong đó, kỹ thuật sâu vào phát xử lý xung đột luật qua việc tìm kiếm phần khơng gian luật giao luật Các tác đưa thuật toán phân tách không gian luật tất luật thuộc tập luật thành miền tách biệt gồm miền không giao miền giao Trong miền giao nhau, kỹ thuật phân mảnh 21 Các cơng trình nghiên cứu phát triển Cơng nghệ Thơng tin Truyền thông ◦ Việc sử dụng element cho việc lưu trữ byte dẫn đến số lượng element chuyển đổi lưu trữ luật tập luật lớn Do đó, cấu trúc yêu cầu chi phí cao nhớ, thời gian cho việc xây dựng thay đổi giá trị trường fn luật giá trị tập ban đầu coi khoảng mà giá trị đầu trùng với giá trị cuối mức độ chi tiết trường fn luật cao Ví dụ, luật R có trường địa nguồn luật cho dạng tiền tố 000100* |IPsource | = Trường cổng đích R có giá trị 80 coi cho dạng khoảng giá trị [80 : 80] |Portdes | = 16 III CẤU TRÚC CÂY PHÁT HIỆN XUNG ĐỘT TRONG TẬP LUẬT TƯỜNG LỬA 2) Mối quan hệ hai giá trị trường: Theo lý thuyết xung đột hai luật vào yếu tố: mối quan hệ không gian luật chúng, hành động (action) gắn với luật thứ tự luật Vì hành động thứ tự luật giá trị tường minh nên việc xác định xung đột hai luật thực chất việc xác định mối quan hệ khơng gian luật chúng Thuật tốn đề xuất gồm cấu trúc CDT thủ tục xây dựng cấu trúc CDT từ tập luật tường lửa nhằm tìm mối quan hệ khơng gian luật chúng cách hiệu quả, từ xác định xung đột luật Định nghĩa 2: Mối quan hệ hai giá trị trường V1 V2 trường fn V1 trùng V2 (ký hiệu V1 ≈ V2 ) khi: Nếu fn cho dạng tiền tố V1 = V2 ; Nếu fn cho dạng khoảng giá trị V1 = [a : b] V2 = [c : d] a = c b = d V1 thuộc V2 (ký hiệu V1 ∈ V2 ) khi: Nếu fn cho dạng tiền tố V2 tiền tố V1 ; Nếu fn cho dạng khoảng giá trị V1 = [a : b], V2 = [c : d] (a ≥ c b < d) (a > c b ≤ d) Các định nghĩa V1 giao V2 (ký hiệu V1 § V2 ) khi: Nếu fn cho dạng khoảng giá trị V1 = [a : b], V2 = [c : d] (a < c ≤ b < d) (c < a ≤ d < b) 1) Mức độ chi tiết trường: Trong thực tế, giá trị trường luật kiểu tiền tố, khoảng giá trị hay tập giá trị riêng biệt Mỗi tiền tố, hay khoảng giá trị bao gồm tập giá trị thỏa mãn, số lượng giá trị tập độ chi tiết trường cao Trong báo, sử dụng trọng số nên xây dựng định nghĩa V1 tách rời V2 (ký hiệu V1 >< V2 ) khi: Nếu fn cho dạng tiền tố V1 tiền tố V2 ngược lại; Nếu fn cho dạng khoảng giá trị V1 = [a : b], V2 = [c : d] b < c a > d Định lý 1: Cho hai giá trị trường V1 V2 trường fn , ta có: Định nghĩa 1: Độ chi tiết trường fn ký hiệu | fn | xác định sau (i) Điều kiện cần để V1 ∈ V2 |V1 | > |V2 |; (ii) Điều kiện cần để V1 ≈ V2 |V1 | = |V2 | Nếu fn kiểu tiền tố, độ chi tiết fn tính chiều dài tiền tố Với trường IP nguồn IP đích sử dụng địa IPv4 độ chi tiết cao trường 32 Chứng minh: (i) Theo định nghĩa mối quan hệ V1 ∈ V2 , có hai trường hợp xảy Trường hợp fn cho dạng tiền tố, để V2 tiền tố V1 trước hết chuỗi V1 phải có độ dài lớn chuỗi V2 , viết |V1 | = len(V1 ) > len(V2 ) = |V2 | Nếu fn kiểu khoảng giá trị [a : b], độ chi tiết fn tính dựa số lượng giá trị khoảng theo cơng thức sau: | fn | = MAX − (b − a) × L, MAX Trường hợp fn cho dạng khoảng giá trị V1 = [a : b] V2 = [c : d], ta có: (1) MAX giá trị lớn mà a b nhận, L bậc cao mà mức độ chi tiết fn đạt |V1 | − |V2 | Để phù hợp trình so sánh mức độ chi tiết trường có kiểu tiền tố với trường có kiểu liệu khoảng, chúng tơi chọn L độ dài tính bít số nguyên a b Trong gói tin IPv4 trường cổng nguồn cổng đích lưu số nguyên 16 bít nên L = 16 MAX = 65535 = = MAX − (b − a) ×L MAX MAX − (d − c) ×L − MAX (d − b) + (a − c) L× MAX Theo định nghĩa V1 ∈ V2 , ta có (a ≥ c b < d) (a > c b ≤ d) Với (a ≥ c b < d) (a − c) ≥ (d − b) > 0, từ (d − b) + (a − c) > 0, suy ra: |V1 | − |V2 | > ⇔ |V1 | > |V2 | Với (a > c d ≥ b) Với trường hợp giá trị trường fn tập gồm n giá trị riêng biệt luật tách thành n luật mà 22 Tập V-3, Số 40, 12.2018 (a − c) > (d − b) ≥ 0, từ (d − b) + (a − c) > 0, suy ra: |V1 | − |V2 | > ⇔ |V1 | > |V2 | DANH SÁCH (ii) Theo định nghĩa mối quan hệ trùng hai giá trị trường, dễ dàng thấy V1 ≈ V2 |V1 | = |V2 | Định lý 2: Cho tập giá trị trường V = (V1, V2, , Vm ) trường fn Nếu Vk giá trị trường có độ chi tiết lớn tập V với Vi ∈ V (i k, ≤ i ≤ m) ta ln có Vi Vk Bảng I UNIT CỦA CÁC R unit[0] unit[1] unit[2] unit[3] type detail 16 16 ruleid n n n n Value.isPrefix 1 0 80 80 65535 Value.begin Value.end Chứng minh: Vì Vk có độ chi tiết lớn V nên |Vk | ≥ |Vi | Mặt khác, theo định lý 1, điều kiện cần để Vi ∈ Vk |Vi | > |Vk |, nên Vi Vk LUẬT Value.prefix 00001010 00001010 0000 1010 3) Cấu trúc luật: Định nghĩa 3: Cho hai unit u1 u2 , phép so sánh u1 u2 xác định sau: u1 < u2 u1 detail < u2 detail, u1 > u2 u1 detail > u2 detail, u1 = u2 u1 detail = u2 detail Cấu trúc lưu trữ giá trị trường luật sau: struct typeofvalue{ public bool isPrefix; public string prefix; public int begin; public int end;} Định nghĩa 4: Các mối quan hệ hai unit u1 u2 (chỉ sử dụng u1 u2 có kiểu trường), bao gồm: u1 trùng u2 (ký hiệu u1 ≈ u2 ) u1 value ≈ u2 value, u1 thuộc u2 (ký hiệu u1 ∈ u2 ) u1 value ∈ u2 value, u1 giao u2 (ký hiệu u1 § u2 ) u1 value § u2 value đó, isPrefix liệu trường xét cho dạng tiền tố (source IP, destination IP, protocol), isPrefix liệu trường xét dạng tiền tố (source port, destination port), begin end giá trị bắt đầu kết thúc giá trị trường (trường hợp isPrefix = 0), prefix chuỗi tiền tố trường (trường hợp isPrefix = 1) Ý tưởng thuật tốn Thuật tốn chúng tơi đề xuất bao gồm xây dựng cấu trúc CDT từ luật nhằm xác định mối quan hệ không gian luật chúng Việc xây dựng cấu trúc CDT tuân theo nguyên tắc sau đây: Để lưu trữ luật cấu trúc CDT xây dựng lại cấu trúc luật gồm danh sách liệu trường Action Mỗi trường lưu trữ ghi unit gồm thông tin: i) Các luật chuyển sang cấu trúc gồm unit để làm đầu vào cho trình xây dựng ii) Để xác định mối quan hệ hai không gian luật, phải xét mối quan hệ chúng chiều khơng gian iii) Tại chiều khơng gian luật, luật có mức độ chi tiết cao xem xét mối quan hệ với luật lại Theo lựa chọn này, vào định lý luật hay nhóm luật xét có mối quan hệ với luật khác thuộc dạng: Trùng khớp (Match), tập (Subset), giao (Overlap), tách biệt (Disjoint) Trong mối quan hệ mối quan hệ tách biệt khơng tạo xung đột nên khơng cần xem xét Vì thời điểm, cần quan tâm đến luật có khơng gian luật trùng khớp (Match), chứa (Super), giao (Overlap) với không gian luật hay nhóm luật xét iv) Với luật xét, chiều thứ i + 1: Tập luật trùng khớp với kiểm tra tập Match chiều thứ i; tập luật chứa kiểm tra tập Match, Super chiều thứ i; tập struct unit{ public int type; public float detail; public int ruleid; public typeofvalue value;} đó, type kiểu trường (1: source IP, 2: destination IP, 3: source port, 4: destination port, 5: protocol), detail mức độ chi tiết trường, xác định theo định nghĩa 1, ruleid số luật, value giá trị trường Với cấu trúc trên, unit gắn với trường luật cụ thể lưu trữ liệu dạng tiền tố liệu dạng khoảng dạng giá trị đơn lẻ Ví dụ, luật R có số n với tham số (src IP, des IP, src port, des port, Action) = (10.10.0.0/16, 10.0.0.0/8, 80, ∗, Deny) biểu diễn danh sách unit bảng I Luật R biểu diễn dạng R = (unit[0], unit[1], unit[2], unit[3], Action), với giá trị unit thể bảng I 23 Các cơng trình nghiên cứu phát triển Cơng nghệ Thông tin Truyền thông luật giao kiểm tra tập Match, Super Overlap chiều thứ i Phép chuyển luật từ tập sau: (Match)i (Match)i (Super)i (Match)i (Super)i (Overlap)i −−−−−−−−−−−−−−→ condition_match (Match)i+1, (2) condition_super −−−−−−−−−−−−−−→ (Super)i+1, (3) condition_super (4) −−−−−−−−−−−−−−→ (Super)i+1, condition_overlap −−−−−−−−−−−−−−−−→ (Overlap)i+1, (5) condition_overlap −−−−−−−−−−−−−−−−→ (Overlap)i+1, (6) condition_overlap (Overlap)i+1, (7) −−−−−−−−−−−−−−−−→ “condition_x” điều kiện để luật chuyển từ tập bước thứ i sang tập bước thứ i + Gọi R luật xét, R( fm ) giá trị trường thứ m R, điều kiện “condition_x” để luật P chuyển công thức sau: condition_match: R( fi+1 ) ≈ P( fi+1 ) condition_super: R( fi+1 ) ∈ P( fi+1 ) condition_overlap: R( fi+1 ) § P( fi+1 ) v) Mối quan hệ thực không gian luật luật với luật khác xác định bước cuối tất chiều kiểm tra Hình Cấu trúc nút CDT ◦ Childs danh sách nút nút Nút thứ i chứa luật thuộc M thỏa mãn điều kiện trường thứ [TOF] có độ chi tiết [DETAIL] có giá trị Labels[i]; ◦ OtherChild nút đặc biệt nút xét, chứa luật thuộc M không thỏa mãn điều kiện: Trường TOF có mức độ chi tiết DETAIL Cấu trúc CDT CDT đa nhánh xây dựng từ tập liệu đầu vào unit tập luật Nút gốc ROOT CDT chứa danh sách tất luật tập luât Trong cây, đường dẫn từ nút gốc ROOT đến nút biểu diễn hồn chỉnh hay nhóm luật thỏa mãn điều kiện cụ thể đường dẫn Nút N mang thông tin kiểu trường fn mức độ chi tiết trường đó, nút N xây dựng theo giá trị trường fn độ chi tiết N lớn độ chi tiết trường lưu nút 2) Thủ tục xây dựng nút: Thủ tục xây dựng nút trình bày thuật toán Nút N xây dựng với đầu vào gồm ba tập unit: Unitmatchs chứa unit luật khớp với đường dẫn từ ROOT tới N; Unit-Supers chứa unit luật có khơng gian luật chứa không gian luật thỏa mãn điều kiện đường dẫn từ ROOT tới N; Unit-Overlaps chứa unit luật có khơng gian luật có phần chung với không gian luật thỏa mãn điều kiện đường dẫn từ ROOT tới N 1) Cấu trúc nút: Nút CDT có cấu trúc hình 2, đó: Các giá trị TOF DETAIL đặt sau: N.TOF = UMAX.type, N.DETAIL = UMAX.detail, UMAX ∈ Unit-matchs thỏa mãn với u ∈ Unit-matchs u.detail ≤ UMAX.detail ◦ TOF (Type Of Field) kiểu trường thể nút Các quy ước sau: source IP, destination IP, source port, destination port, protocol ◦ DETAIL mức độ chi tiết trường; ◦ M danh sách luật thỏa mãn điều kiện đường dẫn từ ROOT đến nút tại; ◦ S danh sách luật có khơng gian luật chứa khơng gian luật luật thuộc M; ◦ O danh sách luật có khơng gian luật có phần chung với không gian luật luật thuộc M; ◦ Labels tập nhãn gán cho nút N; Các tập M, S O lấy số luật ba tập tương ứng Unit-matchs, Unit-Supers Unit-Overlaps Ví dụ, tập Unit-matchs có unit luật số 1, 7, M bao gồm số 1, 7, Labels: Gọi lstUnit tập unit thuộc Unit-matchs có kiểu trường N.TOF độ chi tiết N.DETAIL Nếu mơ câu lệnh SQL lstUnit trả từ truy vấn “SELECT FROM Unit-matchs WHERE (type = 24 Tập V-3, Số 40, 12.2018 Thuật toán 1: BuildNode Input: List of unit UnitMats; List of unit UnitSups; List of unit UnitOvers; Output: CDTNode N Begin 1: UMAX = GetMaxUnit(UnitMats); 2: lstUnit = GetUnits(UMAX, UnitMats); 3: N.TOF = UMAX.type; 4: N.DETAIL = UMAX.detail; 5: for each u of lstUnit 6: ulabel= CreateLabel(u); 7: if ulabel not in N.Labels 8: N.Labels.add(ulabel); condition_match 9: (UnitMats) −−−−−−−−−−−−−−→ (uMatchs); Thuật toán 2: BuildTree Input: Rule Set; Output: CDTTree CDT; Begin 1: uMatchs =GetUnitFromRuleSet(Rule Set); 2: uSupers = ∅; 3: uOverlaps = ∅; 4: BuildNode(ROOT, uMatchs, uSupers, uOverlaps); End TOF#1, DETAIL#1 condition_super 10: (UnitMats) −−−−−−−−−−−−−−→ (uSupers); 11: (UnitSups) −−−−−−−−−−−−−−→ (uSupers); 12: (UnitMats) −−−−−−−−−−−−−−−−→ (uOverlaps); 13: (UnitSups) −−−−−−−−−−−−−−−−→ (uOverlaps); TOF, DETAIL condition_super TOF#2, DETAIL#2 condition_overlap condition_overlap condition_overlap 14: 15: 16: 17: 18: 19: 20: 21: (UnitOvers) −−−−−−−−−−−−−−−−→ (uOverlaps); CDTNode M; BuildNode(M, uMatchs, uSupers, uOverlaps); N.Childs.add(M); RemoveUnit(UnitMats, uMatchs); end if end for each BuildNode(N.OtherChild, UnitMats, UnitSups, UnitOvers); End TOF#0, DETAIL#0 TOF#n, DETAIL#n Hình Nút N sau xây dựng N.TOF AND detail = N.DETAIL)” Trong trường hợp unit thuộc lstUnit kiểu tiền tố Labels tập tiền tố khơng trùng unit thuộc lstUnit, trường hợp liệu kiểu khoảng Labels tập khoảng giá trị không trùng unit thuộc lstUnit dụng tạo N hay chưa dòng Dòng 8: Thêm nhãn tạm vào danh sách Dòng 9, 10, 11, 12, 13, 14: Xây dựng tập đầu vào cho N Dòng 15, 16, 17: Thêm cho N Childs: Nút thứ i xây dựng với ba đầu vào xác định theo phép chuyển luật (2), (3), (4), (5), (6), (7) với giá trị phân loại Labels(i) Dòng 18: Loại luật xét khỏi tập UnitMats Dòng 21: Xây dựng nút đặc biệt N.OtherChild Nút N sau xây dựng có cấu trúc hình OtherChild: Là nút đặc biệt N Tất luật thuộc tập Unit-matchs có kiểu trường N.TOF mà độ chi tiết nhỏ N.DETAIL đầu vào để xây dựng nút đặc biệt Tập S O OtherChild tập S O N 3) Thủ tục xây dựng cây: Thủ tục xây dựng trình bày thuật tốn Dòng 1: Đọc chuyển tất luật sang unit, lưu trữ tất vào uMatchs Dòng 1: Hàm GetMaxUnit trả unit - UMAX có độ chi tiết lớn tập UnitMats Dòng 2, 3: Khởi tạo tập uSupers, uOverlaps Dòng 2: Hàm GetUnits trả unit UnitMats có type detail với UMAX Dòng 4: Xây dựng CDT nút gốc ROOT Minh họa cho thuật toán thuật tốn 2, chúng tơi thực xây dựng CDT cho tập luật bảng II, đó, luật tập luật bao gồm chiều quy ước sau: R Rule, S-IP Source IP address, Dòng 3, 4: Gán giá trị TOF DETAIL cho nút N Dòng 6: Hàm CreateLabel(u) tạo nhãn tạm từ u.value, nhãn sử dụng để kiểm tra u.value sử 25 Các công trình nghiên cứu phát triển Cơng nghệ Thơng tin Truyền thông Bảng II TẬP LUẬT CHIỀU R S-IP D-IP S-P D-P Act R1 192.168.0.0/23 * 80:110 * Acc R2 192.168.10.0/23 10.0.0.0/9 80 * Acc R3 193.0.0.0/8 10.0.0.0/8 * * Acc R4 * 10.10.0.0/16 80 * Deny R5 192.168.1.1/32 10.0.0.0/8 80 * Acc Bảng III ĐỘ CHI TIẾT CỦA CÁC GIÁ TRỊ TRƯỜNG Value Prefix Detail 192.168.1.1/32 P1=1100000010101000 0000000100000001 32 192.168.0.0/23 P2=1100000010101000000000000 23 192.168.10.0/23 P3=1100000010101000000000101 23 10.10.0.0/16 P4=0000101000001010 16 80 16 80:110 15,99 10.0.0.0/9 P5=000010100 10.0.0.0/8 P6=00001010 193.0.0.0/8 P7=11000001 * Hình CDT tập luật bảng II [5; 4; 0] nên N1 = [3; 16] Q trình tương tự N1 có N2 = [2; 8] N2 có nút N3 = [4, 0] Tại N2 R5.DesIPAddr tiền tố R4.DesIPAddr nên N3 có N3.O = (4) Nhánh ROOT OtherChild xây dựng với tập đầu vào luật (1 4) Quá trình xây dựng tương tự nút ROOT D-IP Destination IP address, S-P Source port, D-P Destination port, Act Action Chú ý: Để tối ưu hóa q trình lưu trữ, đường dẫn luật, gặp nút có độ chi tiết trình phát triển nút kết thúc luật tập S unit có độ chi tiết khác khơng chuyển sang tập O Trường hợp đường dẫn luật R1, R4, R3 Việc tính tốn mức độ chi tiết giá trị trường tính tốn chuỗi tiền tố unit tập luật có bảng II thể bảng III Để dễ quan sát, ký hiệu unit thể theo định dạng sau: [ruleid; type; detail] giá trị khác 4) Thủ tục chèn luật mới: R1=[1;1;23], [1;3;15,99], [1;2;0],[1;4;0] Thủ tục chèn luật sử dụng nhằm thay đổi nội dung CDT mà không cần phải xây dựng lại tồn trường hợp thay đổi sách an ninh tường lửa từ cần thêm luật vào tập luật R2=[2;1;23], [2;3;16], [2;2;9],[2;4;0] R3=[3;1;8], [3;2;8], [3;3;0],[3;4;0] R4=[4;2;16], [4;3;16], [4;1;0],[4;4;0] R5=[5;1;32], [5;3;16], [5;2;8],[5;4;0] Chèn luật vào CDT thực việc chèn danh sách unit luật vào nút gốc Thuật tốn chèn (thuật tốn 3) chúng tơi xây dựng nhằm thực chèn danh sách unit vào nút N Các nút biểu diễn theo định dạng [TOF; DETAIL] CDT xây dựng từ tập unit luật Quá trình xây dựng sau: Gọi UnitsOfRule danh sách unit luật R cần chèn, UMAX = GetMaxUnit(unitsOfRule) k số luật cần chèn, trường hợp xảy sau Nút gốc ROOT xây dựng với đầu vào tất unit: ROOT M = (1 5), ROOT S = ROOT O = ∅ Unit có độ chi tiết lớn danh sách ROOT M [5; 1; 32], nên ROOT = [1; 32] Nút [1, 32] có nút N1, N1.M = (5), nhãn nhánh P1 Vì R1, R4 có trường địa nguồn tiền tố R5, nên N1.S = (1, 4), N1.O = ∅ Các unit lại N1.M [5; 3; 16], [5; 2; 8], Trường hợp 1: N nút rỗng Trong trường hợp việc chèn unit vào N việc xây dựng nút với đầu vào unitsOfRule Thao tác chèn minh họa hình 5(a) 26 Tập V-3, Số 40, 12.2018 Thuật toán 3: InsertRuleToNode Input: Units of Rule: unitsOfRule; CDTNode N; Output: CDTNode N; Begin 1: UMAX = GetMaxUnit(unitsOfRule); 2: ulabel = CreateLabel(u); Trường hợp 2: Độ chi tiết UMAX lớn N.DETAIL Trong trường hợp này, độ chi tiết unit lớn R lớn độ chi tiết N: ◦ Xây dựng nút với đầu vào ba tập sau: matchs = GetUnitFromID(N.M) ∪ unitsOfRule, supers = GetUnitFromID(N.S), overlaps = GetUnitFromID(N.O), đó, hàm GetUnitFromID thực lấy unit từ tập số luật Trong trình xây dựng nút bỏ qua bước xây dựng OtherChild ◦ N chuyển thành OtherChild nút //Trường hợp 5a if (N = NU LL) then 4: N = BuildNode(unitsOfRule, φ, φ); 5: return; 6: end if 3: Thao tác chèn minh họa hình 5(b) 7: Trường hợp 3: Độ chi tiết UMAX N.DETAIL 8: a) Trường hợp UMAX.type = N.TOF Tính nhãn tạm ulabel = CreateLabel(UMAX) Trường hợp ulabel = N.Labels[index] Giá trị UMAX thuộc thứ index nút N, thao tác thực sau: 9: 10: 11: 12: //Trường hợp 5b if (UMAX.detail > N.DETAIL) then X = BuildNode(N.M + k, N.S, N.O); X.OtherChild = N; N = X; return; end if //Trường hợp 5c, 5d if (UMAX.detail = N.DETAIL) and (UMAX.type = N.TOF) then 14: index = N.Labels.Find(ulabel); + Thêm số luật R vào N.M + Trong trường hợp UMAX cho dạng khoảng UMAX có khả có quan hệ giao với khoảng giá trị khác mức độ chi tiết nên phải cập nhật thông tin trường hợp Giao UMAX với nút từ N.Childs[0] đến N.Childs[index − 1] + Xây dựng lại nút N.Childs[index] 13: 15: 16: 17: 18: Thao tác chèn minh họa hình 5(c) Trường hợp ulabel N.Labels[index], ∀ index Giá trị UMAX không thuộc tập nút N, thao tác thực sau: 19: 20: + Thêm số luật R vào N.M + Cập nhật thông tin trường hợp Giao UMAX với nút N + Xây dựng thêm nút N Thao tác chèn minh họa hình 5(d) b) Trường hợp UMAX.type N.TOF Trong trường hợp trường N.TOF luật R có độ chi tiết nhỏ N.DETAIL Các thao tác thực sau: 21: 22: 23: 24: 25: 26: 27: + Thêm số luật R vào N.M + Cập nhật tập Supers Overlaps nút N + Chèn luật tập unitsOfRule vào N.OtherChild 28: 29: //Trường hợp 5c if (index >= 0) then for (i = 0; i < index; index + +) UpdateOverlaps(N.Childs[i]); end for N.Childs[index] = BuildNode (N.Childs[index].M + k, N.Childs[index].S, N.Childs[index].O); return; end if //Trường hợp 5d if (index < 0) then for each u in N.Childs UpdateOverlaps(u); end for X = BuildNode(N.M + k, N.S, N.O); N.Childs.add(X); return; end if end if //Trường hợp 5e 30: for each u in N.Childs UpdateSuperAndOverlaps(u); 31: end for each 32: InsertRuleToNode(unitsOfRule, N.OtherChild); End Thao tác chèn minh họa hình 5(e) Trường hợp 4: Độ chi tiết U M AX nhỏ N.DETAIL Trường hợp chất giống trường hợp 3-b), thao tác thực mơ tả hình 5(e) 27 Các cơng trình nghiên cứu phát triển Công nghệ Thông tin Truyền thơng TOF, DETAIL Hình Chèn luật vào nút N 28 Tập V-3, Số 40, 12.2018 Thuật toán 4: DeleteRuleFromNode Input: Index Of Rule: k; CDTNode N; Output: CDTNode N; Begin 1: if (N = NU LL) then 2: return; 3: end if 4: N.M.Remove(k); 5: N.S.Remove(k); 6: N.O.Remove(k); 7: if (N.M.count = 0) then 8: N = NU LL; 9: return; 10: end if 11: for each M in N.Childs DeleteRuleFromNode(k, M); 12: end for each 13: DeleteRuleFromNode(k, N.OtherChild); End động thì: R dư thừa (khi R đứng sau P), P dư thừa (khi R đứng trước P); Nếu R P có hành động khác thì: R bóng P (khi R đứng sau P), P bóng R (khi R đứng trước P); ◦ Trong tập S, tất luật P S kiểm tra với luật R M Nếu R P có hành động thì: R dư thừa (khi R đứng sau P), P dư thừa (khi R đứng trước P) Nếu R P có hành động khác thì: R bóng P (khi R đứng sau P), P bóng R (khi R đứng trước P); ◦ Trong tập O, tất luật P O kiểm tra luật R M Nếu R P khác hành động chúng xung đột với theo kiểu tương quan Trong thuật toán 5, ký hiệu R.order thứ tự luật R tập luật, ListOfAnomaly đầu thuật toán danh sách xung đột phát tập luật thủ tục ListOfAnomaly.add() thực thêm xung đột vừa phát vào danh sách Phát xung đột vấn đề phức tạp, giải dứt điểm xung đột vấn đề khó khăn nhiều Điều cơng trình [10– 14] Trong phạm vi báo, không sâu phát triển phương pháp xử lý xung đột cách tổng quan mà đưa phương án lựa chọn cho người quản trị hệ thống theo nguyên tắc xem xét bảo đảm an ninh hệ thống cách tốt Các nguyên tắc xử lý cách ứng xử với loại xung đột: 5) Thủ tục xóa luật: Cùng giống việc thủ tục thêm luật mới, thủ tục xóa luật (thuật tốn 4) sử dụng nhằm thay đổi nội dung CDT mà không cần phải xây dựng lại toàn trường hợp thay đổi sách an ninh tường lửa từ cần xóa hay nhiều luật tập luật Luật R có số k xóa khỏi CDT cách loại bỏ tất số k khỏi nút thuộc CDT Tại nút N, việc loại bỏ số k thực ba tập M, S O N nút N ◦ Xung đột dư thừa: Luật dư thừa bị xóa bỏ ◦ Xung đột bóng: Loại xung đột thuộc hai dạng cho phép gói tin bị cấm luật trước hay ngược lại cấm gói tin cho phép trước Đây nhầm lẫn cấu hình cần phải kiểm tra sách an ninh, trường hợp cho phép xóa bỏ luật bóng hay thay đổi lại luật đường trước Trong [14], tác giả đề xuất thay đổi vị trí hai luật nhiên điều không giải hết xung đột ◦ Xung đột tương quan: Có thể sử dụng giải pháp đề xuất [12, 13], tạo luật có không gian luật phần giao hành động luật phải định bới người quản trị luật đặt trước luật bị giao nhau; Các luật có khơng gian giao điều chỉnh cắt bỏ phần khơng gian chung Hoặc thay đổi thứ tự luật để gói tin thỏa mãn phần khơng gian chung định xác theo sách an ninh ◦ Dòng 4, 5, 6: Xóa k khỏi tập M, S, O N ◦ Trong trường hợp N.M chứa số k có nghĩa N nút khớp với luật R xóa R tương ứng N bị xóa Các dòng từ đến thực tác vụ ◦ Dòng 11: xóa k khỏi N ◦ Dòng 13: xóa k khỏi nút OtherChild N Phát xung đột CDT Thông tin mối quan hệ không gian luật luật chứa tất nút Cụ thể, nút N: Các luật thuộc tập N.M có khơng gian luật trùng nhau; Các luật thuộc tập N.S có khơng gian luật chứa khơng gian luật luật thuộc N.M; Các luật thuộc tập N.O có khơng gian luật giao với khơng gian luật luật thuộc tập N.M IV CÀI ĐẶT VÀ ĐÁNH GIÁ Loại xung đột xác định theo thuật toán 5, cụ thể sau: Với mục đích kiểm chứng tính đắn đánh giá cấu trúc CDT, triển khai cài đặt kiểm thử cấu trúc CDT FAT [14] kỹ thuật đề xuất ◦ Trong tập M, luật R M kiểm tra với luật P lại M Nếu R P có hành 29 Các cơng trình nghiên cứu phát triển Cơng nghệ Thông tin Truyền thông //Duyệt luật N.S for each P in N.S 25: for each R in N.M 26: if (R.Action = P.Action) then 27: if (R.order < P.order) then 28: P is Redanduncy of R; 29: else 30: R is Redanduncy of P; 31: ListOfAnomaly.Add(); 32: end if 33: else 34: if (R.order < P.order) then 35: P is Shadowing of R; 36: else 37: R is Shadowing of P; 38: ListOfAnomaly.Add(); 39: end if 40: end if 41: end for each 42: end for each //Duyệt luật N.O 43: for each P in N.O 44: for each R in N.M 45: if (R.Action P.Action) then 46: R and P is Correlation 47: ListOfAnomaly.Add(); 48: end if 49: end for each 50: end for each 51: else // Not (N is leaf) 52: for (i = 0; i < N.Childs.count; i + +) 53: DetectAnomaly(N.Childs[i]); 54: DetectAnomaly(N.OtherChild); 55: end for 56: end if End Thuật toán 5: DetectAnomaly Input: CDTNode N; Output: List Of Anomaly; Begin 1: if (N = NU LL) then 2: return; 3: end if 4: if (N is leaf) then //Duyệt luật N.M 5: for each R in N.M 6: for each (P R) in N.M 7: if (R.Action = P.Action) then 8: if (R.order < P.order) then 9: P is Redanduncy of R; 10: else 11: R is Redanduncy of P 12: ListOfAnomaly.Add(); 13: end if 14: else 15: if (R.order < P.order) then 16: P is Shadowing of R; 17: else 18: R is Shadowing of P; 19: ListOfAnomaly.Add(); 20: end if 21: end if 22: end for each 23: end for each 24: có nhiều điểm tương đồng Ngơn ngữ sử dụng cài đặt thuật tốn Visual C# 2013 Quá trình kiểm thử tảng hệ điều hành Windows 10, 64 bit, phần cứng CPU Intel Core i3 - 4010U, 1,7 GHz, cores, GB RAM Để đảm bảo sát với ứng dụng thực tế, chương trình sử dụng liệu nhân tạo tạo công cụ ClassBench Taylor, Turner thuộc Phòng Nghiên cứu ứng dụng, Khoa khoa học máy tính, Đại học Washington, Saint Louis tạo [http://www.arl.wustl.edu/classbench] Các liệu bao gồm tập luật tập tham số gói tin sinh cơng cụ có liệu đầu vào liệu thực nhà cung cấp dịch vụ Internet Đây công cộng đồng nghiên cứu sử dụng để đánh giá thuật toán thiết bị phân loại gói tin Trong q trình so sánh, FAT khơng thực với trường cổng nguồn cổng đích cho dạng khoảng giá trị nên lấy giá trị để kiểm thử với FAT Ví dụ, trường cổng nguồn 80:110 giá trị trường kiểm tra 80 với FAT khoảng [80:80] với CDT Kiểm tra khả phát xung đột Quá trình kiểm tra khả phát xung đột hai thuật toán sử dụng cấu trúc FAT CDT thử nghiệm tập liệu Classbench Kết cho thấy số lượng xung đột phát hai cấu trúc thể bảng IV So sánh số nút Về mặt trực quan, dễ dàng nhận thấy cấu trúc FAT, nút lưu thông tin liên quan đến byte giá trị thuộc trường cụ thể Với cấu trúc trường địa IPv4, số nút tối đa cho địa Trong cấu trúc CDT nút lưu thông tin giá 30 ACL1 ACL2 ACL3 CDT ACL4 ACL5 FAT Tập V-3, Số 40, 12.2018 Hình So sánh số lượng nút CDT FAT Bảng IV KẾT QUẢ PHÁT HIỆN Thời gian xây dựng (ms) XUNG ĐỘT TRÊN CÁC TẬP LUẬT KHÁC NHAU 300000 250000 Tập luật 200000 Số xung đột Số luật FAT CDT 150000 ACL1 17584 222396 222396 100000 ACL2 16194 1948040 1948040 50000 ACL3 18530 542839 542839 ACL4 19086 360136 360136 ACL5 15194 7501 ACL1 ACL2 CDT 7501 ACL3 ACL4 ACL5 FAT Hình So sánh thời gian xây dựng CDT FAT Số node Hình So sánh thời gian xây dựng CDT FAT 60000 Thời gian phát xung đột (ms) 50000 800 700 600 500 400 300 200 100 40000 30000 20000 10000 ACL1 ACL2 CDT ACL3 ACL4 ACL5 FAT ACL1 ACL2 CDT ACL3 FAT ACL4 ACL5 Hình So sánh số lượng nút CDT FAT Hình So sánh số lượng nút CDT FAT Hình So sánh thời gian phát xung đột Hình So sánh thời gian phát xung đột trị trường Việc thử nghiệm với tập luật ví dụ bảng II Thờicây gian FAT xây dựng 74 (ms)nút, cấu trúc CDT [14] cấu trúc gồm 300000 bao gồm 30 nút số lượng xung đột phát 250000 hai 22 Kết thử nghiệm với liệu 200000 thực tế, số nút FAT CDT thể hình So sánh thời gian phát xung đột Bộ nhớ sử dụng (Kbyte) 100000 Vì số lượng nút cấu trúc CDT số nút 90000 cấu trúc FAT nên thời gian di chuyển từ nút gốc đến nút 80000 nhằm phát xung đột luật CDT nhỏ 70000 60000 so với FAT Kết thực nghiệm cho kết 50000 40000 CDT thời gian phát xung đột nhỏ FAT (hình30000 8) 20000 150000 100000 50000 So sánh thời gian xây dựng Quá trình ACL1 xây dựngACL2 cấu ACL3 trúc FATACL4 CDT ACL5 gồm bước sau đây: CDT FAT 10000 So sánh nhớ lưu trữ ACL1 ACL2 ◦ Chuyển đổi từ tập luật nguyên thủy sang tập element (FAT) unit (CDT); Hình So sánh thời gian xây dựng CDT FAT ◦ Chèn liệu luật vào element (FAT) unit (CDT) ACL3 ACL4 ACL5 FAT Bộ nhớ sử dụng cácCDT cấu trúc CDT FAT phụ thuộc vào cấu trúc nút tổng số lượng nút biểu diễn tập luật Kết thực nghiệm hình 9, cho thấy CDT sử dụng nhớ hiệu FAT Quá trình chèn liệu luật bao gồm thời gian xây dựng tất nút Trong trình xây dựng nút, thời gian tính tốn cho q trình phân nhánh tới nút nhiều mà việc tính tốn cho ứng viên tập đầu vào (Primary, Secondary, Tertiary với FAT; Match, Super, Overlap với CDT) chiếm thời gian chủ yếu Trong tập luật, số lượng unit CDT số lượng element FAT phí cho việc lựa chọn ứng viên tập đầu vào CDT nhỏ FAT Kết thực nghiệm hình 7, cho thấy thời gian xây dựng CDT nhỏ hơn thời gian xây dựng FAT Hình So sánh nhớ sử dụng V KẾT LUẬN Bài báo có nghiên cứu đánh giá kỹ thuật phát xử lý xung đột tập luật nhiều chiều tưởng lửa Trên sở hạn chế kỹ thuật có, báo đề xuất cấu trúc CDT nhằm phát xung đột dựa việc xác định có hiệu mối quan hệ không gian luật luật tường lửa Cấu trúc CDT xây dựng sở chứng minh lý thuyết Các loại xung đột phát CDT xác kiểu đầy đủ số lượng 31 ACL1 ACL2 CDT ACL3 FAT ACL4 ACL5 Các cơng trình nghiên cứu phát triển Cơng nghệ Thơng tin Truyền thơng Hình So sánh thời gian phát xung đột [8] C.-Y Lai and P.-C Wang, “Fast and complete conflict detection for packet classifiers,” IEEE Systems Journal, vol 11, no 2, pp 1137–1148, 2017 [9] Vũ Duy Nhất and Nguyễn Mạnh Hùng, “Đề xuất thuật toán phát xung đột luật hai chiều thiết bị mạng,” in Kỷ yếu Hội thảo Quốc gia lần thứ XIX: Một số vấn đề chọn lọc Công nghệ Thông tin Truyền thông, Oct 2016 [10] E Al-Shaer, H Hamed, R Boutaba, and M Hasan, “Conflict classification and analysis of distributed firewall policies,” IEEE Journal on Selected Areas in Communications, vol 23, no 10, pp 2069–2084, 2005 [11] L Yuan, H Chen, J Mai, C.-N Chuah, Z Su, and P Mohapatra, “Fireman: A toolkit for firewall modeling and analysis,” in IEEE Symposium on Security and Privacy (S&P’06) IEEE, 2006, pp 15–pp [12] M Abedin, S Nessa, L Khan, and B Thuraisingham, “Detection and resolution of anomalies in firewall policy rules,” in Proceedings of the IFIP Annual Conference on Data and Applications Security and Privacy Springer, 2006, pp 15–29 [13] H Hu, G.-J Ahn, and K Kulkarni, “Detecting and resolving firewall policy anomalies,” IEEE Transactions on Dependable and Secure Computing, vol 9, no 3, pp 318–331, 2012 [14] T Abbes, A Bouhoula, and M Rusinowitch, “Detection of firewall configuration errors with updatable tree,” International Journal of Information Security, vol 15, no 3, pp 301–317, 2016 [15] N B Neji and A Bouhoula, “NAF conversion: an efficient solution for the range matching problem in packet filters,” in Proceedings of the 12th International Conference on High Performance Switching and Routing, 2011, pp 24–29 Bộ nhớ sử dụng (Kbyte) 100000 90000 80000 70000 60000 50000 40000 30000 20000 10000 ACL1 ACL2 CDT ACL3 ACL4 ACL5 FAT Hình So sánh nhớ sử dụng Hình So sánh nhớ sử dụng Kết thử nghiệm cho thấy so sánh với cấu trúc FAT hiệu cấu trúc CDT thể mặt: ◦ ◦ ◦ ◦ Số lượng nút giảm: 13% − 41%; Thời gian xây dựng giảm: 6% − 83%; Thời gian phát xung đột giảm: 15% − 54%; Bộ nhớ sử dụng giảm: 5% − 30% Cấu trúc CDT hồn tồn triển khai thực tế với mục đích xây dựng công cụ nhằm phát xử lý xung đột tập luật thiết bị tường lửa Đây hướng nghiên cứu TÀI LIỆU THAM KHẢO [1] E S Al-Shaer and H H Hamed, “Modeling and management of firewall policies,” IEEE Transactions on Network and Service Management, vol 1, no 1, pp 2–10, 2004 [2] A Hari, S Suri, and G Parulkar, “Detecting and resolving packet filter conflicts,” in Proceedings of the Conference on Computer Communications Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (IEEE INFOCOM 2000), vol 3, 2000, pp 1203–1212 [3] H Lu and S Sahni, “Conflict detection and resolution in two-dimensional prefix router tables,” IEEE/ACM Transactions on Networking, vol 13, no 6, pp 1353–1363, 2005 [4] A Kwok and C K Poon, “Two-dimensional packet classification and filter conflict resolution in the internet,” Theory of Computing Systems, vol 44, no 3, pp 289–303, 2009 [5] C Maindorfer, “Algorithms and data structures for IP lookup, packet classification and conflict detection,” Ph.D dissertation, University of Freiburg, Germany, 2009 [6] S Thanasegaran, Y Yin, Y Tateiwa, Y Katayama, and N Takahashi, “A topology-based conflict detection system for firewall policies using bit-vector-based spatial calculus,” International Journal of Communications, Network and System Sciences, vol 4, no 11, pp 683–695, 2011 [7] C.-L Lee, G.-Y Lin, and Y.-C Chen, “An efficient conflict detection algorithm for packet filters,” IEICE Transactions on Information and Systems, vol 95, no 2, pp 472–479, 2012 Nguyễn Mạnh Hùng tốt nghiệp đại học Công nghệ Thông tin năm 1998 Học viện Kỹ thuật Quân bảo vệ luận án tiến sĩ năm 2004 Trung tâm Tính toán, Viện hàn lâm Khoa học Liên bang Nga Hiện nay, ơng cơng tác Phòng Sau đại học, Học viện Kỹ thuật Quân Các hướng nghiên cứu tác giả triển khai cấu trúc liệu đại, khai phá liệu, xử lý song song khớp ontology Vũ Duy Nhất tốt nghiệp đại học Công nghệ Thông tin năm 2002 Học viện Kỹ thuật Quân Hiện nay, ông công tác Cục Cơ yếu, Bộ tổng tham mưu Lĩnh vực nghiên cứu quan tâm ông bảo mật công nghệ thông tin 32 ... Các loại xung đột tập luật tường lửa: Bài báo đề xuất cấu trúc phát xung đột (CDT: Conflict Detection Tree) nhằm phát xung đột tập luật theo nhiều chiều thiết bị tường lửa đơn lẻ Cấu trúc CDT tối... Các kỹ thuật phát xung đột tập luật thiết bị mạng nói chung tường lửa nói riêng chia làm hai loại vào số chiều tập luật đó: (i) phát xung đột tập luật hai chiều (ii) phát xung đột tập luật nhiều... giải pháp nhằm phát xử lý xung đột luật nhiều chiều tập luật thiết bị tường lửa Riêng nhóm tác giả cơng trình [10] đề xuất hướng phát xử lý xung đột luật tập luật nhóm thiết bị tường lửa nằm đường

Ngày đăng: 30/01/2020, 13:16

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan