Nghiên cứu phương pháp hình thức dựa trên logic trong phân tích an ninh mạng

11 14 0
Nghiên cứu phương pháp hình thức dựa trên logic trong phân tích an ninh mạng

Đ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

Kỷ yếu Hội nghị Quốc gia lần thứ X Nghiên cứu ứng dụng Công nghệ thông tin (FAIR), Đà Nẵng, ngày 17-18/08/2017 DOI: 10.15625/vap.2017.00078 NGHIÊN CỨU PHƯƠNG PHÁP HÌNH THỨC DỰA TRÊN LOGIC TRONG PHÂN TÍCH AN NINH MẠNG Nguyễn Thị Ánh Phượng, Nguyễn Trường Thắng, Trần Mạnh Đông, Bùi Thị Thư Viện Công nghệ thông tin, Viện Hàn lâm Khoa học Công nghệ Việt Nam { ntaphuong, ntthang, dongtm, btthu }@ioit.ac.vn TÓM TẮT: Ngày với phát triển không ngừng internet lĩnh vực công nghệ thông tin, thiết bị phần cứng, ứng dụng phần mềm dịch vụ internet trở nên phổ biến làm cho kinh tế nước toàn giới ngày phát triển Tuy nhiên, với phát triển nhanh chóng ln tiềm ẩn rủi ro, gây hệ lụy tổn thất tài chính, uy tín… cho tổ chức hay cá nhân tham gia dịch vụ Do đó, vấn đề đảm bảo an tồn, an ninh thơng tin q trình truyền tải thông tin môi trường mạng vấn đề nóng nghiên cứu ứng dụng thực tiễn Đặc biệt với mạng doanh nghiệp, vấn đề đảm bảo an ninh, an tồn thơng tin mạng ngày trở nên khó khăn Hiện với lan tỏa lỗ hổng phần mềm, nhà quản trị hệ thống phải đối mặt với nhiều thách thức khó khăn việc đảm bảo an ninh khơng gian mạng Bài báo trình bày cách tiếp cận phương pháp hình thức dựa logic việc phân tích an ninh mạng nhằm phát lỗ hổng tồn hệ thống cơng có nhằm vào hệ thống, giúp cho chuyên gia bảo mật nhà quản trị hệ thống quản lý tốt cấu hình mạng doanh nghiệp kiểm sốt rủi ro an ninh mạng Từ khóa: Enterprise network security, logic-programming, attack graphs I GIỚI THIỆU Lĩnh vực đảm bảo an toàn thông tin môi trƣờng mạng nhƣ việc tăng cƣờng khả phòng ngừa/khắc phục hệ thống trƣớc công mạng thu hút nghiên cứu giới, giới học thuật giới công nghiệp nhƣ đầu tƣ phủ Tuy nhiên, thực tế cách tiếp cận chuyên gia quản trị mạng thƣờng phi hình thức, mang tính chất tạm thời, xử lý tình huống, chắp vá Dựa cảnh báo lỗ hổng từ nhiều nguồn nhƣ CERT, BugTraq, họ tự đánh giá khả ảnh hƣởng lỗ hổng hệ thống tự xây dựng cách xử lý: vá lỗi khởi động lại hệ thống, tái thiết lập lại cấu hình tƣờng lửa (firewall), [1] Cách tiếp cận thƣờng phụ thuộc trình độ/kinh nghiệm cá nhân quản trị nên tiềm ẩn nhiều rủi ro Với trƣởng thành sở khoa học phƣơng pháp hình thức đồng thời phát triển vƣợt trội tốc độ tính tốn, việc ứng dụng phƣơng pháp hình thức vào kiểm chứng an toàn giao thức truyền tin mạng (kể internet, mạng viễn thông cố định không dây nhƣ IEEE 802.x [2]) nhƣ suy diễn tổn thƣơng hệ thống lỗ hổng tiềm phát đƣợc từ lỗi mã nguồn [3], [4] lỗi thiết lập cấu hình [1], trở thành hƣớng nghiên cứu chủ đạo lĩnh vực an ninh mạng giới khoảng 10 năm trở lại Tại Việt Nam, an tồn an ninh thơng tin vấn đề nóng ngày trở nên cấp thiết bối cảnh liên tiếp xảy vụ công mạng nhƣ kiện tin tặc công cổng thông tin ngành hàng không Việt Nam (Vietnam Airlines) hệ thống thông tin hiển thị bay cụm cảng hàng không Nội Bài Tân Sơn Nhất vào ngày 29/7/2016 Có thể nói công website hệ thống thông tin sân bay đƣợc đánh giá lớn từ trƣớc đến vào hệ thống thông tin hàng không Việt Nam Việc đối phó với lỗ hổng phần mềm máy chủ mạng đặt thách thức lớn cho nhà quản trị mạng số lƣợng máy chủ mạng tiếp tục phát triển quy mô lẫn độ phức tạp Do việc lựa chọn biện pháp đối phó với lỗ hổng quan trọng Hiện có số cơng cụ tự động qt, phát báo cáo lỗ hổng tồn máy chủ riêng biệt nhƣ: COPS [5], Nessus [6], OVAL [7] Tuy nhiên cần phải phân tích đánh giá ảnh hƣởng tƣơng tác lỗ hổng đến vấn đề an ninh an toàn mạng nhƣ Do việc nghiên cứu sử dụng phƣơng pháp cho hiệu áp dụng đƣợc thực quan trọng Trong đề tài đề xuất lựa chọn phƣơng pháp hình thức dựa logic Sử dụng Datalog, tập hợp cú pháp Prolog để tìm phần lớn cơng xảy mạng So với đồ thị khai thác phụ thuộc (exploit-dependency graph), Datalog ngôn ngữ logic khai báo hình thức, cung cấp đặc tả kỹ thuật rõ ràng Thời gian thực chƣơng trình Datalog thời gian đa thức phụ thuộc vào kích thƣớc liệu đầu vào Các cơng cụ logic đƣợc tối ƣu hóa nhiều thập kỷ để xử lý tập liệu lớn cách hiệu quả, Datalog đặc biệt thích hợp cho việc phân tích an ninh mạng lớn phức tạp Trong phần trình bày số kiến thức tảng an ninh mạng luật suy diễn Datalog dùng phân tích an ninh mạng Phần III vào phân tích sở liệu, đặc tả hình thức thơng tin cấu hình mạng, máy chủ, lỗ hổng,… Phần IV trình bày thuật tốn sinh đồ thị công Phần V thực nghiệm cuối phần VI phần kết luận Nguyễn Thị Ánh Phƣợng, Nguyễn Trƣờng Thắng, Trần Mạnh Đông, Bùi Thị Thƣ 657 II MỘT SỐ KIẾN THỨC NỀN TẢNG A Lỗ hổng bảo mật vấn đề quản lý an ninh mạng Các lỗ hổng bảo mật hệ thống điểm yếu tạo ngƣng trệ dịch vụ, thêm quyền ngƣời sử dụng cho phép truy nhập không hợp pháp vào hệ thống Các lỗ hổng nằm dịch vụ cung cấp nhƣ sendmail, web, ftp, Ngồi lỗ hổng cịn tồn tại hệ điều hành nhƣ Windows NT, Windows 95, UNIX; ứng dụng mà ngƣời sử dụng thƣờng xuyên sử dụng nhƣ Word processing, Các hệ databases,… Lỗi logic (Logic error): loại lỗ hổng thƣờng sinh ngƣời lập trình thực thiết kế chƣơng trình ứng dụng Đây loại lỗ hổng thƣờng đƣợc ngƣời quan tâm nghĩ đến Nó bao gồm loại lỗ hổng sau: Lỗ hổng hệ điều hành: Hệ điều hành phần mềm hệ thống đóng vai trị trung gian giao tiếp ngƣời dùng phần cứng máy tính cho phép ngƣời sử dụng phát triển thực ứng dụng họ cách dễ dàng Với góc độ xử lý ta có hệ điều hành đơn nhiệm MS-DOS, hệ điều hành đa nhiệm,… Với góc độ máy tính ta có hệ điều hành Window, Linux, MacOS Nếu ngƣời quản trị nguyên nhân dẫn tới hệ điều hành bị tin tặc cơng Nhƣng đơi thân hệ điều hành chứa đựng nhiều lỗ hổng, nhƣ tràn đệm “buffer overflow” Lỗ hổng ứng dụng: Khác với lỗ hổng hệ điều hành, để công thông qua lỗ hổng ứng dụng, ngƣời cơng phải xác định đƣợc cách xác máy tính nạn nhân sử dụng chƣơng trình ứng dụng tồn lỗ hổng bảo mật Tuy nhiên, lỗ hổng ứng dụng đơi cịn tùy thuộc vào cách thức cài đặt, cấu hình ứng dụng có ngƣời sử dụng Các hình thức công phổ biến thông qua lỗ hổng ứng dụng là: liên kết địa web, khai thác Cookie, làm tràn nhớ đệm, lỗ hổng giao thức Lỗ hổng sách bảo mật (Policy oversight): Là loại lỗ hổng sinh trình thiết lập sách bảo mật cho hệ thống nhƣ thiếu chế backup liệu, dự phòng cố phần cứng, nâng cấp phần mềm,… Hacker lợi dụng lỗ hổng để tạo chuỗi lỗ hổng Trong nhiều trƣờng hợp sau báo cáo lỗ hổng có vá lỗi sau đó, ngƣời ta thƣờng không vội vàng áp dụng vá lỗi việc vá lỗi vội vàng tạo thêm nhiều lỗi việc áp dụng gây nhiều thiệt hại Do vậy, việc nhà quản trị mạng tiếp tục cho chạy phần mềm lỗi khoảng thời gian phổ biến [7] Các nhà quản trị mạng phải đảm bảo tiềm khai thác lỗ hổng khơng xảy xảy không gây thiệt hại Một công việc hàng ngày quản trị mạng đọc báo cáo lỗ hổng từ nguồn khác hiểu đƣợc thực lỗ hổng có ảnh hƣởng đến an ninh mạng họ hay không Để khám phá cơng tiềm ẩn xảy mạng, khơng kiểm tra thơng số cấu hình phần tử mạng, máy móc, tƣờng lửa, định tuyến,… mà phải xem xét tất tƣơng tác xảy chúng Cơng việc gọi phân tích lỗ hổng đa máy chủ, đa trạng thái, công việc đƣợc thực ngƣời tốn nhiều thời gian, công sức dễ bị nhầm lẫn sai sót Do việc tự động hóa cơng việc quan trọng cần thiết Một công cụ phân tích an ninh mạng tự động khả thi mà mối đe dọa liên tục gia tăng thay đổi, suy luận logic cần phải đƣợc đặc tả cách hình thức để vừa thực lý thuyết vừa có hiệu thực tế Phần trình bày chi tiết việc sử dụng đặc tả hình thức để mơ hình hóa mạng nhằm phục vụ cho cơng cụ phân tích an ninh mạng tự động nhƣ MulVAL, cơng cụ phân tích an ninh mạng tự động cho mạng doanh nghiệp đƣợc sử dụng để thực nghiệm chƣơng cuối báo B Một số luật Datalog Datalog tập Prolog [8] Một khác biệt đáng kể Datalog Prolog Datalog có ngữ nghĩa tƣờng thuật túy Thứ tự mệnh đề chƣơng trình Datalog khơng liên quan đến ý nghĩa logic giá trị kết Trong đó, Prolog lệnh nhƣ quan trọng ảnh hƣởng đến kết đánh giá [8] Datalog đƣợc sử dụng nhƣ ngôn ngữ bảo mật để thể sách kiểm sốt truy cập [9, 10] Có nhiều lợi ích việc sử dụng Datalog nhƣ mơ hình hóa hình thức lý luận phân tích an ninh mạng thảo luận báo So với đồ thị khai thác phụ thuộc (exploit-dependency graph), Datalog ngơn ngữ logic khai báo hình thức, cung cấp đặc tả kỹ thuật rõ ràng Giống nhƣ cách tiếp cận kiểm chứng mơ hình, ngƣời ta tận dụng cơng cụ logic off-the-shelf để tiến hành phân tích Nhƣng khơng giống nhƣ kiếm chứng mơ hình, thời gian thực chƣơng trình Datalog đa thức theo kích thƣớc liệu đầu vào Các công cụ logic đƣợc tối ƣu hóa nhiều thập kỷ để xử lý tập liệu lớn cách hiệu quả, làm cho Datalog đặc biệt thích hợp cho việc phân tích an ninh mạng lớn phức tạp Một literal, p(t1, …., tk) vị từ, thành phần số biến Trong hình thức Prolog, biến định danh bắt đầu với chữ in hoa, số bắt đầu với chữ thƣờng Đặt L0, L1, …., Ln literals, mệnh đề Horn Datalog có dạng nhƣ sau: L0 :- L1, …., Ln 658 NGHIÊN CỨU PHƢƠNG PHÁP HÌNH THỨC DỰA TRÊN LOGIC TRONG PHÂN TÍCH AN NINH MẠNG Có nghĩa là, L1, …., Ln L0 Phía trái đƣợc gọi phần đầu (head), bên phải biểu thức đƣợc gọi phần thân (body) Một mệnh đề với body trống đƣợc gọi fact Một mệnh đề với body không trống đƣợc gọi rule Một số luật tồn lỗ hổng mạng: vulExists(Host,Program,ExploitRange,ExploitConsequence) vị từ có nguồn gốc xác định từ Program Host có ExploitRange ExploitConsequence riêng biệt Đây vị từ có nguồn gốc Program đƣờng dẫn đầy đủ file thực thi có chứa lỗi bảo mật ExploitRange local remote, lỗi khai thác địa phƣơng khai thác từ xa Hai giá trị phổ biến cho ExploitConsequence privilege Escalation, có nghĩa khai thác thành công cho phép kẻ công thực thi mã tùy ý, dos, có nghĩa kẻ cơng làm sụp đổ chƣơng trình (từ chối dịch vụ) vulExists(Host,ID,Program) vị từ nguyên thủy lỗ hổng với định danh ID tồn Program Host bugHyp(Host,Program,Range,Consequenc)là vị từ động giới thiệu lỗi giả định Program Host mà có ExploitRange ExploitConsequence Một số luật khai thác lỗ hổng: execCode(P,H,UserPriv) vị từ có nguồn gốc xác định P thực thi mã nhị phân với đặc quyền UserPriv máy H netAccess(P,Src,Dst,Protocol,Port) vị từ có nguồn gốc xác định P gửi gói tin từ máy Src đến Port máy Dst thông qua Protocol setuidProgram(H,Prog) vị từ nguyên thủy Prog setuid1 III PHÂN TÍCH CƠ SỞ DỮ LIỆU A Đặc tả hình thức cấu hình máy chủ cấu hình mạng Một cơng cụ phân tích an ninh mạng tự động thƣờng bao gồm máy quét (Scanner) chạy không đồng máy chủ thích nghi với cơng cụ có sẵn nhƣ OVAL Nessus phân tích chạy máy chủ có thơng tin đến từ máy qt Cấu hình máy chủ (Host configuration): Thơng tin cấu hình khác máy chủ cần thiết cho cơng cụ phân tích an ninh mạng nhƣ MulVAL Các thơng tin dễ dàng nhận đƣợc cách thực câu lệnh hệ điều hành xem file cấu hình Một máy qt OVAL / Nessus trích xuất thơng số cấu hình máy chủ Ví dụ kết chuyển đổi đầu máy quét dƣới dạng mệnh đề Datalog nhƣ sau: networkService(webServer,httpd,TCP,80,apache) Có nghĩa chƣơng trình dụng giao thức chạy máy sử dụng nghe cổng sử Cấu hình mạng (Network configuration): MulVAL mơ hình hóa cấu hình mạng (router tƣờng lửa) nhƣ danh sách kiểm soát truy cập máy chủ trừu tƣợng (host access-control lists - HACL) Đó danh sách có cấu trúc nhƣ sau: hacl(Source,Dest,Protocol,Port) Có nghĩa máy đạt đến đích thơng qua dịch vụ mạng đƣợc đặc tả Thơng tin đƣợc cung cấp công cụ quản lý tƣờng lửa nhƣ Smart Firewall [11] Dƣới ví dụ HACL cho phép lƣu lƣợng TCP chảy từ cổng 80 đến webServer: hacl(internet,webServer,TCP,80) B Đặc tả hình thức lỗ hổng Phần lớn lỗ hổng phần mềm liên quan tới bảo mật, quan báo cáo lỗ hổng cung cấp đặc tả hình thức cho lỗ hổng đƣợc phát hiện, định dạng mà máy đọc đƣợc Việc đặc tả hình thức lỗ hổng với công cụ xử lý tự động giúp cho việc trao đổi báo cáo lỗ hổng trở nên dễ dàng kịp thời đối phó với chúng Đặc tả lỗ hổng bao gồm phần: phần thứ đặc tả nhận dạng lỗ hổng (giúp nhận biết tồn Trong hệ điều hành Unix, chƣơng trình setuid có đặc quyền gốc (root) đƣợc thực Nguyễn Thị Ánh Phƣợng, Nguyễn Trƣờng Thắng, Trần Mạnh Đơng, Bùi Thị Thƣ 659 lỗ hổng hệ thống) phần thứ hai đặc tả ngữ nghĩa (ảnh hƣởng lỗ hổng hệ thống nhƣ nào) Trong phần sau mô tả ngắn gọn OVAL, ngôn ngữ đặc tả hình thức cho việc ghi nhận lỗ hổng ICAT sở liệu cung cấp ảnh hƣởng lỗ hổng Ngôn ngữ OVAL máy quét OVAL ngôn ngữ dựa XML nhằm xác định kiểm tra cấu hình máy Khi lỗ hổng phần mềm đƣợc phát hiện, định nghĩa OVAL xác định làm để kiểm tra tồn lỗ hổng máy tính Sau định nghĩa OVAL đƣợc đƣa vào máy quét OVAL tƣơng thích, máy tiến hành kiểm tra theo quy định báo cáo kết Hiện định nghĩa lỗ hổng OVAL có sẵn cho Windows, Red Hat Linux tảng Solaris Máy quét OVAL-compliant có sẵn cho tảng Windows Red Hat Linux Các định nghĩa lỗ hổng OVAL đƣợc tạo từ năm 2002 định nghĩa đƣợc đệ trình xem xét sở hàng ngày Đầu máy quét OVAL đƣợc chuyển đổi vào mệnh đề Datalog nhƣ sau: vulExists(webServer,’CVE-2002-0392’, httpd) Ảnh hƣởng lỗ hổng Ta tìm thấy thơng tin chi tiết lỗ hổng từ trang web OVAL Ví dụ OVAL mơ tả lỗi OVAL296 là: Multiple unknown vulnerabilities in Linux kernel 2.4 and 2.6 allow local users to gain privileges or access kernel memory, Mơ tả ngắn dƣới dạng khơng hình thức nhấn mạnh ảnh hƣởng lỗ hổng nhƣ là: lỗ hổng bị khai thác nhƣ hậu gây gì? Nếu sở liệu máy đọc đƣợc cung cấp thông tin ảnh hƣởng lỗi nhƣ: bug 2961 is only locally exploitable, one could formally prove properties like if all local users are trusted, then the network is safe from remote attacker Tuy nhiên OVAL không biểu diễn đƣợc thông tin ảnh hƣởng lỗ hổng định dạng mà máy tính đọc đƣợc Trong đó, sở liệu ICAT phân loại ảnh hƣởng lỗ hổng thành hai phần: phạm vi khai thác hậu Phạm vi khai thác: local, remote Hậu quả: tính bảo mật (confidentiality loss), tính tồn vẹn (integrity loss), từ chối dịch vụ (denial of service) leo thang đặc quyền (privilege escalation) Một khai thác (tấn công) địa phƣơng (local) yêu cầu kẻ công có vài truy cập địa phƣơng máy chủ Một khai thác từ xa (remote) khơng u cầu nhƣ Hậu hai cách công phổ biến leo thang đặc quyền từ chối dịch vụ Hiện tất định nghĩa OVAL có mục ICAT tƣơng ứng (cả hai đƣợc tham chiếu CVEId) Nếu OVAL ICAT đƣợc so khớp với vào sở liệu mà cung cấp đƣợc hai thông tin Thông tin sở liệu ICAT đƣợc chuyển vào mệnh đề Datalog nhƣ sau: vulProperty(’CVE-2004-00495’,localExploit,privEscalation) C Kết hợp thơng tin cấu hình Hình Cấu trúc MulVAL Hình minh họa kiến trúc MulVAL với nguồn liệu sở liệu phân tích Máy quét MulVAL, chạy máy chủ cá nhân, cung cấp thơng tin cấu hình máy Smart Firewall [11] cung cấp cấu hình mạng HACL Cơ sở liệu LDAP cung cấp thông tin ràng buộc Các sách bảo mật đƣợc xác 660 NGHIÊN CỨU PHƢƠNG PHÁP HÌNH THỨC DỰA TRÊN LOGIC TRONG PHÂN TÍCH AN NINH MẠNG định ngƣời quản trị hệ thống ngƣời quản trị hệ thống cần phải xác định ràng buộc liệu nhƣ phần sách bảo mật Các nguồn liệu bên trái đến từ quan báo cáo lỗ hổng (bug-reporting) bên thứ ba Họ cung cấp đặc tả hình thức lỗi phần mềm, định nghĩa OVAL từ sở liệu NVD Phần ta tìm hiểu làm từ lỗ hổng đƣợc báo cáo máy quét phát đƣợc sinh đồ thị cơng có hệ thống mạng IV THUẬT TỐN SINH ĐỒ THỊ TẤN CƠNG A Đồ thị công Đồ thị công logic đồ thị có hƣớng đƣợc biểu diễn dƣới dạng với liên kết chéo có nút Hình cho thấy biểu diễn dạng đồ thị công logic Có hai loại nút đồ thị: nút dẫn xuất (derivation node) nút kiện (fact node) Một nút dẫn xuất đƣợc biểu diễn hình chữ nhật nút kiện đƣợc biểu diễn vịng trịn Ngồi cịn có hai loại nút kiện: nút kiện nguyên thủy (biểu diễn vòng tròn) nút kiện dẫn xuất (biểu diễn vịng trịn với số đó) Mỗi nút kiện đồ thị logic đƣợc gán nhãn với biểu diễn logic dƣới dạng vị ngữ áp dụng cho đối số Nút gốc mục tiêu kẻ cơng; ví dụ hình 2: execCode (attacker, Workstation, root), có nghĩa "những kẻ cơng thực thi mã tùy ý người sử dụng root máy Workstation " Mỗi nút dẫn xuất đƣợc gán nhãn với luật tƣơng tác, luật đƣợc sử dụng cho bƣớc khai thác Trong biểu diễn cây, tất nút đƣợc bắt đầu với nút đƣợc đánh số dấu ngoặc (< >), nhãn nút Một nút khơng có số đƣợc đánh dấu cặp ngoặc vuông ([]) Các cạnh đồ thị biểu diễn mối quan hệ phụ thuộc Một nút kiện phụ thuộc vào nhiều nút dẫn xuất, số biểu diễn ứng dụng luật tƣơng tác tạo kiện; Một nút dẫn xuất phụ thuộc vào hay nhiều nút kiện, với chúng đáp ứng điều kiện tiên luật (rule) Vì vậy, đồ thị công logic đồ thị có hƣớng hai phía Các nút dẫn xuất phục vụ nhƣ trung gian kiện "nguyên nhân" nó, tức cách thức “sự kiện” trở thành thật Từ kiện có nhiều cách khác để trở thành thực, nút dẫn xuất đƣợc dẫn từ nút kiện tạo thành phép tuyển (disjunction) Một nút dẫn xuất đại diện cho viêc áp dụng thành công quy tắc tƣơng tác, tất điều kiện tiên đƣợc thỏa mãn nút Do nút kiện dẫn từ nút dẫn xuất hình thành phép hội (conjunction) Trong ví dụ hình nút có hai nút dẫn xuất (cũng nút nó): r2a r2b (lƣu ý biểu diễn sử dụng ký hiệu „||‟ để biểu thị nút kiện có nhiều dẫn xuất) Đó là, có hai cách để kẻ cơng sửa đổi tập tin fileserver Cách thứ để có đƣợc quyền root máy chủ tập tin cách khai thác lỗi CVE-2003-0252 chƣơng trình mountd cách thứ hai sử dụng chƣơng trình NFS Shell Cả hai phụ thuộc vào điều kiện mà kẻ công đạt đƣợc số quyền truy cập vào webserver (nút 5) Trong biểu diễn cây, có liên kết chéo (==> ) trỏ đến nút nhánh dẫn xuất thứ hai () Hình Ví dụ đồ thị cơng logic biểu diễn dƣới dạng Một đồ thị cơng logic đƣợc xem nhƣ đồ thị dẫn xuất cho truy vấn Datalog thành cơng Có thể có nhiều cách khác để lấy đƣợc kiện Datalog (tƣơng ứng với nhiều đƣờng để đột nhập vào Nguyễn Thị Ánh Phƣợng, Nguyễn Trƣờng Thắng, Trần Mạnh Đông, Bùi Thị Thƣ 661 mạng), nút dẫn xuất biểu diễn cho bƣớc dẫn xuất Theo cách logic, nút dẫn xuất nút “and”, tất nút đối số phép hội; nút kiện dẫn xuất nút “or”, tất nút biểu diễn cách khác để dẫn xuất chúng Một nút kiện nguyên thủy nút đồ thị Nó biểu diễn cho phần thơng tin cấu hình Sau định nghĩa thức đồ thị công logic Định nghĩa (Nr, Np, Nd, E, L, G) đồ thị cơng logic, Nr, Np Nd ba tập hợp nút rời đồ thị, E ⊂ (Nr × (Np ∪ Nd)) ∪ (Nd × Nr), L ánh xạ từ nút tới nhãn nó, G ∈ Nd mục tiêu kẻ công Nr, Np Nd tƣơng ứng tập hợp nút dẫn xuất, nút kiện nguyên thủy nút kiện dẫn xuất Một kiện nguyên thủy đến từ đầu vào tới công cụ suy diễn MulVAL Một kiện dẫn xuất kết việc áp dụng quy tắc tƣơng tác lặp lặp lại kiện đầu vào Các cạnh đồ thị công logic từ nút kiện dẫn xuất đến nút dẫn xuất, từ nút dẫn xuất đến nút kiện Các chức ghi nhãn ánh xạ nút kiện tới kiện biểu diễn nút dẫn xuất tới quy tắc đƣợc sử dụng cho dẫn xuất Một cách hình thức, ngữ nghĩa đồ thị cơng logic đƣợc định nghĩa nhƣ sau: Tính chất Với nút dẫn xuất R, đặt P nút cha nút R C tập hợp nút R Khi (∧L(C)) ⇒ L(P) thể luật tƣơng tác L(R) Trong ∧ tốn tử hội Định nghĩa Truy vết mô công TraceStep : : = because (interactionRule, Fact, Conjunct) Fact : : = predicate(list of constant) Conjunct : : = [list of Fact] interactionRule chuỗi liên kết với luật tƣơng tác MulVAL Một danh sách (list) đƣợc biểu diễn nhƣ loạt mục (item) cách dấu phẩy Ngữ nghĩa bƣớc truy vết là:" Conjunct ⇒ Fact thể của interactionRule" Nó ghi lại lý mục tiêu (true) đánh giá Datalog B Thuật toán sinh đồ thị công Đầu vào: Tập τ chứa tất TraceStep, 𝒢 mục tiêu kẻ công Đầu ra: đồ thị công logic (Nr, Np, Nd, E, L, 𝒢) Nr, Np, Nd, E, L ⟵ ∅ Vòng lặp với t ∈ τ { Đặt t = because(interactionRule, Fact, Conjunct) Tạo nút dẫn xuất r Nr ⟵ Nr ∪ {r} L ⟵ L ∪ {r → interactionRule} Tìm n ∈ Nd cho L(n) = Fact, Nếu không tồn n { Tạo nút fact n L ⟵ L ∪ {n → Fact} Nd ⟵ Nd ∪ {n} } E ⟵ E ∪ {(r,n)} Vòng lặp với fact f Conjunct { Tìm nút fact c ∈ (Np, ∪ Nd) cho L(c) = f, Nếu c không tồn { Tạo nút fact c L ⟵ L ∪ {c → f } Nếu f nguyên thủy { Np ⟵ Np ∪ {c}} Ngƣợc lại {Nd ⟵ Nd ∪ {c}} } 10 E ⟵ E ∪ {(r,c)} } } Hình Thuật tốn sinh đồ thị cơng logic Một đồ thị công logic đƣợc xây dựng từ thơng tin có đƣợc bƣớc truy vết Thuật tốn sinh đồ thị cơng logic đƣợc mơ tả Hình Nói cách đơn giản, thuật ngữ TraceStep trở thành nút dẫn xuất 662 NGHIÊN CỨU PHƢƠNG PHÁP HÌNH THỨC DỰA TRÊN LOGIC TRONG PHÂN TÍCH AN NINH MẠNG đồ thị cơng Các trƣờng Fact bƣớc truy vết trở thành nút cha trƣờng Conjunct nút Số lần lặp tối đa cho vòng lặp dòng giống nhƣ số lƣợng lớn điều kiện tiên đề số tất quy tắc tƣơng tác, số cho quy tắc tƣơng tác cố định Vì vậy, vòng lặp dòng dòng thời gian số, thuật tốn xây dựng đồ thị cần có thời gian tuyến tính theo số lƣợng bƣớc truy vết C Phân tích độ phức tạp Q trình tính tốn đồ thị công logic bao gồm hai giai đoạn Giai đoạn tính mơ dấu vết cơng thơng qua Datalog đánh giá XSB; giai đoạn thứ hai xây dựng cấu trúc liệu đồ thị cơng cách sử dụng thuật tốn Hình Độ phức tạp tính tốn truy vết công Mỗi hệ truy vết công đƣa số thời gian cận cho dẫn xuất Datalog thành cơng Vì vậy, phức tạp giai đoạn giống nhƣ phức tạp việc đánh giá chƣơng trình MulVAL Datalog XSB Sự phức tạp việc đánh giá chƣơng trình Datalog cố định đầu vào kích thƣớc biến phụ thuộc vào chi tiết cụ thể chƣơng trình Các tài liệu XSB có số thảo luận làm để xác định phức tạp việc đánh giá chƣơng trình Datalog XSB [13] Để dễ hiểu hơn, xem xét quy tắc tƣơng tác Datalog sau MulVAL: netAccess(Attacker,H2,Protocol,Port):execCode(Attacker,H1,_User), hacl(H1,H2,Protocol,Port) Ý nghĩa quy tắc là: kẻ cơng trở thành ngƣời dùng cục máy H1 mạng cho phép H1, H2 truy cập thông qua Protocol Port , sau kẻ cơng truy cập H2 thông qua giao thức cổng Quy luật cho thấy truy cập multi-hop mạng: kẻ cơng chiếm quyền, sử dụng máy để làm bƣớc đệm cho việc thỏa hiệp máy khác Khi XSB đánh giá luật tính tốn tất máy có kẻ cơng thực thi mã tùy ý (các mục tiêu phụ đầu tiên) sau tìm kiếm đầy đủ tất H1và H2 mạng truy cập (các mục tiêu phụ thứ hai H2) Khi tất liệu đƣợc tính tốn, vị từ mục tiêu netAccess đƣợc tính cách kết hợp kết hai mục tiêu phụ Sử dụng mơ hình so khớp mẫu XSB hiệu việc sử dụng bảng băm thử nghiệm Vì vậy, chi phí thời gian bị chi phối số lƣợng liệu trung gian cần phải đƣợc tính tốn Việc tính tốn trung gian gọi quy tắc tƣơng tác khác Trong bảng thực thi XSB, lời gọi tính tốn tất kết mục tiêu đó, đƣợc tái sử dụng sau Định lý Đánh giá luật tương tác MulVAL với liệu cấu hình biểu diễn N máy O(N 2) bước dẫn xuất Nếu mơ hình so khớp mẫu XSB thời gian số, bƣớc dẫn xuất cần có thời gian số để kết thúc thời gian chạy tổng thể để đánh giá MulVAL Datalog bậc hai Vì bƣớc truy vết đƣợc tạo bƣớc dẫn xuất đánh giá Datalog Hệ Số lượng term truy vết tạo mô công O(N 2) Độ phức tạp việc xây dựng đồ thị Định lý Đồ thị công logic mạng gồm N máy có kích thước lớn O(N 2) Chứng minh Có tƣơng ứng một-một term TraceStep nút dẫn xuất Cho D số lƣợng bƣớc truy vết, sau có D nút dẫn xuất đồ thị Nếu số lƣợng tối đa điều kiện tiên cho quy tắc tƣơng tác m, số cạnh tối đa đồ thị mD số lƣợng tối đa nút kiện mD + Theo Hệ 1, biết D O (N2) mD+1 Định lý Các thuật toán xây dựng đồ thị Hình độ phức tạp thời gian O(δN 2) để hồn thành, N số lượng host mạng δ chi phí thời gian tối đa cho việc tra cứu bảng dòng thuật tốn Chứng minh Các vịng lặp thuật tốn xây dựng đồ thị hình qua tất term TraceStep Theo hệ 1, biết có O (N2) term nhƣ Trong lần lặp, thuật toán tạo nút dẫn xuất cho term TraceStep tạo liên kết từ nút cha đến nút Mỗi hành động có chi phí thời gian số, ngoại trừ việc tìm kiếm bảng dịng Do đó, thời gian cần thiết để xây dựng cấu trúc liệu đồ thị bậc hai theo số máy chủ, tạo bảng tra cứu với thời gian số để lƣu trữ nút đồ thị Để thực hiện, đơn giản sử dụng cấu trúc liệu Nguyễn Thị Ánh Phƣợng, Nguyễn Trƣờng Thắng, Trần Mạnh Đông, Bùi Thị Thƣ 663 "map" thƣ viện chuẩn C++, thời gian tra cứu log(n) Từ định lý 2, biết kích thƣớc bảng O(N2) Vì vậy, δ = log (N2) thời gian chạy để sinh đồ thị O(N2log (N)) V THỰC NGHIỆM Về mặt hình thức, phƣơng pháp tiếp cận dựa logic để sinh đồ thị công giống nhƣ Sheyner sử dụng phƣơng pháp ad-hoc để sinh đồ thị công Tuy nhiên việc sử dụng kĩ thuật logic hợp lý gặp phải lỗi so với thuật toán tùy chỉnh thiết kế, đặc biệt vấn đề phức tạp phân tích an ninh Một ngữ nghĩa logic rõ ràng cho biểu đồ cơng làm cho việc phân tích dễ dàng dựa cấu trúc liệu đồ thị Để xác định lỗ hổng phần mềm ảnh hƣởng đến an ninh mạng xác định ta phải xem xét tƣơng tác thành phần mạng Đối với cơng cụ phân tích lỗ hổng để có đƣợc tính hữu dụng thực tế cần phải có hai tính quan trọng Đầu tiên mơ hình sử dụng phân tích phải có khả tự động tích hợp đặc tả hình thức lỗ hổng từ bug-reporting Thứ hai, phân tích phải có khả mở rộng quy mơ đến mạng với hàng ngàn máy MulVAL đáp ứng đƣợc hai điều kiện Khi sử dụng công cụ Sheyner để phân tích an ninh mạng thực tế kết cho thấy thời gian sinh đồ thị kích thƣớc đồ thị lớn Ví dụ: mạng lƣới gồm 10 máy chủ với lỗ hổng máy chủ khoảng 15 phút để tạo đồ thị kết đồ thị gồm 10 triệu cạnh Trong đồ thị công Sheyner nút tập hợp biến Boolean mã hóa tồn trạng thái mạng giai đoạn công Trong số lƣợng biến đa thức theo kích thƣớc mạng, số lƣợng có trạng thái số mũ Do sử dụng MulVAL (Multihost, multistage Vulnerability Analysis), framework cho việc mơ hình hóa tƣơng tác lỗi phần mềm với hệ thống cấu hình mạng để phân tích ảnh hƣởng lỗ hổng tồn hệ thống mạng cho kết tốt MulVAL sử dụng ngơn ngữ mơ hình hóa Datalog Thông tin lỗi sở liệu đƣợc cung cấp cộng đồng bug-reporting Thơng tin cấu hình máy, mạng thông tin liên quan khác tất đƣợc mã hóa nhƣ kiện Datalog Đây Framework đƣợc thực tảng Red Hat Linux Kết thử nghiệm sử dụng MulVAL để phân tích an ninh mạng thực tế: Nhóm thực nghiệm phân tích an ninh máy chủ mạng Viện Hàn lâm Khoa học Công nghệ Việt Nam [16] Các bƣớc thực nhƣ sau: Bƣớc 1: Sử dụng máy quét OVAL để quét tìm lỗ hổng mạng tạo file đầu vào cho MulVAL - Thời gian quét: 13 phút - Tổng số lỗ hổng phát hiện: 20 Hình sau minh họa số lỗ hổng phát đƣợc: Hình Danh sách lỗ hổng 664 NGHIÊN CỨU PHƢƠNG PHÁP HÌNH THỨC DỰA TRÊN LOGIC TRONG PHÂN TÍCH AN NINH MẠNG File đầu máy quét đƣợc xuất dƣới định dạng XML chứa thông tin lỗi phát đƣợc Bƣớc 2: Tạo file đầu vào cho MulVAL Chuyển File kết máy quét từ định dạng XML sang mệnh đề Datalog: inCompetent('www.vast.ac.vn_victim') hasAccount('www.vast.ac.vn_victim', 'www.vast.ac.vn', user) attackerLocated(internet) attackGoal(execCode('www.vast.ac.vn', _)) hacl(_,_,_,_) Bƣớc 3: Chạy thử nghiệm MulVAL để xem ảnh hƣởng lỗi quét đƣợc có tạo nên cơng khơng? Kết với lỗi mà máy quét phát hệ thống mạng chƣa đủ để tạo nên công tiềm ẩn Do giới hạn nguồn tài nguyên để thử nghiệm thực tế với mạng bị cơng nên nhóm chạy file ví dụ đầu vào MulVAL Kết thơng báo sinh đƣợc đồ thị cơng file AttackGraph.pdf (Hình 5) Hình Kết chạy file ví dụ mẫu Hình đồ thị cơng logic Hình Đồ thị công logic Dƣới biểu đồ so sánh thời gian chạy CPU sinh đồ thị cơng hai cơng cụ phân tích an ninh mạng tự động MulVAL Sheyner Kết cho thấy thời gian chạy MulVAL nhanh nhiều so với Sheyner Nguyễn Thị Ánh Phƣợng, Nguyễn Trƣờng Thắng, Trần Mạnh Đơng, Bùi Thị Thƣ 665 Hình Biểu đồ so sánh thời gian chạy CPU sinh đồ thị công hai công cụ MulVAL Sheyner VI KẾT LUẬN Trong báo chúng tơi trình bày phƣơng pháp tiếp cận hình thức dựa logic phân tích an ninh an tồn mạng Phƣơng pháp có khả ứng dụng thực tế nhằm đảm bảo an ninh không gian mạng cho đất nƣớc ta Đó việc sử dụng lập trình logic mệnh đề Datalog để mơ hình hóa thơng tin cấu hình mạng, cấu hình máy chủ việc đặc tả thơng tin lỗ hổng mạng Tiếp tìm hiểu thuật tốn sinh đồ thị công, chạy thực nghiệm mạng thực tế để phát lỗ hổng mạng sinh đồ thị cơng có Hƣớng nghiên cứu phối hợp nhà quản trị mạng việc nghiên cứu mơ hình hóa hình thức sách bảo mật, tập luật tƣơng tác nhà quản trị mạng đặt ra, để bổ sung thêm vào luật suy diễn MulVAL nhằm giúp cho việc quản lý an ninh mạng tốt hơn, hiệu TÀI LIỆU THAM KHẢO [1] O Udrea, C Lumezanu, and J S Foster, “Rule-based static analysis of network protocol implementations,” in Proceedings of the 15th Conference on USENIX Security Symposium – Volume 15, ser USENIX-SS‟06 Berkeley, CA, USA: USENIX Association, 2006 [Online] Available: http://dl.acm.org/citation.cfm?id=1267336.1267350 [2] C He and J C Mitchell, “Analysis of the 802.11i 4-way handshake,” in Proceedings of the 3rd ACM Workshop on Wireless Security, ser WiSe ‟04 New York, NY, USA: ACM, 2004, pp 43–50 [Online] Available: http://doi.acm.org/10.1145/1023646.1023655 [3] N Jovanovic, C Kruegel, and E Kirda, “Pixy: A static analysis tool for detecting web application vulnerabilities (short paper),” in Proceedings of the 2006 IEEE Symposium on Security and Privacy, ser SP ‟06 Washington, DC, USA: IEEE Computer Society, 2006, pp 258–263 [Online] Available: http://dx.doi.org/10.1109/SP.2006.29 [4] V B Livshits and M S Lam, “Finding security vulnerabilities in java applications with static analysis,” in Proceedings of the 14th Conference on USENIX Security Symposium - Volume 14, ser SSYM‟05 Berkeley, CA, USA: USENIX Association, 2005, pp.18-18.[Online].Available: http://dl.acm.org/citation.cfm?id=1251398.1251416 [5] D Farmer and E Spafford The COPS security checker system In Proceedings of the Summer Usenix Conference, 1990 [6] R Deraison Nessus Scanner http://www nessus.org [7] Ou, X., Appel, A W.: A logic-programming approach to network security analysis.Phd, Princeton University Princeton (2005) [8] W F Clocksin and C.S Mellish Programming in Prolog Springer-Verlag New York, Inc., 1987 [9] John DeTreville Binder, a logic-based security language In Proceedings of the 2002 IEEE Symposium on Security and Privacy, page 105 IEEE Computer Society, 2002 [10] Ninghui Li, Benjamin N Grosof, and Joan Feigenbaum Delegation Logic: A logic-based approach to distributed authorization ACM Transaction on Information and System Security (TISSEC), February 2003 [11] James Burns, Aileen Cheng, Proveen Gurung, David Martin, Jr., S Raj Rajagopalan, Prasad Rao, and Alathurai V Surendran Automatic management of network security policy In DARPA Information Survivability Conference and Exposition (DISCEX II‟01), volume 2, Anaheim, California, June 2001 [12] D S Warren Programming in Tabled Prolog Department of Computer Science SUNY @ Stony Brook, July 1999 [13] D S Warren On the Complexity of Tabled Datalog Programs Department of Computer Science, SUNY @ Stony Brook, Stony Brook, NY 11794-4400, U.S.A., July 1999 666 NGHIÊN CỨU PHƢƠNG PHÁP HÌNH THỨC DỰA TRÊN LOGIC TRONG PHÂN TÍCH AN NINH MẠNG [14] Xinming Ou, Sudhakar Govindavajhala, and Andrew W Appel Mulval: A logic-based network security analyzer In 14th USENIX Security Symposium, Baltimore, MD, USA, August 2005 [15] http://vast.ac.vn RESEARCH FORMAL METHOD BASED ON LOGIC IN NETWORK SECURITY ANALYSIS Nguyen Thi Anh Phuong, Nguyen Truong Thang, Tran Manh Dong, Bui Thi Thu ABSTRACT: Nowadays, with the continuous development of the Internet and the fields of information technology, hardware devices, software applications and Internet services have become very popular making the economy Of countries around the world growing However, along with the rapid development there is always potential risks, causing the financial loss, reputation for organizations or individuals to participate in the service Therefore, the problem of ensuring safety and security of information in the process of transmitting information in the network environment is always a hot issue in research and practical application Especially with an enterprise network, the problem of ensuring network security and information security is becoming increasingly difficult Now with the spread of software vulnerabilities, system administrators are facing many challenges and difficulties in securing cybersecurity This paper will present an approach of logic-based methodology in network security analysis to identify existing vulnerabilities in the system and possible attacks on the system It helps security professionals and system administrators better manage the configuration of an enterprise network and can control the risks of network security ... gian quét: 13 phút - Tổng số lỗ hổng phát hiện: 20 Hình sau minh họa số lỗ hổng phát đƣợc: Hình Danh sách lỗ hổng 664 NGHIÊN CỨU PHƢƠNG PHÁP HÌNH THỨC DỰA TRÊN LOGIC TRONG PHÂN TÍCH AN NINH MẠNG... 1999 666 NGHIÊN CỨU PHƢƠNG PHÁP HÌNH THỨC DỰA TRÊN LOGIC TRONG PHÂN TÍCH AN NINH MẠNG [14] Xinming Ou, Sudhakar Govindavajhala, and Andrew W Appel Mulval: A logic- based network security analyzer... VI KẾT LUẬN Trong báo chúng tơi trình bày phƣơng pháp tiếp cận hình thức dựa logic phân tích an ninh an tồn mạng Phƣơng pháp có khả ứng dụng thực tế nhằm đảm bảo an ninh không gian mạng cho đất

Ngày đăng: 12/09/2022, 10:41

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

Tài liệu liên quan