Chương I – Tổng quan: trình bày tổng quan về ngữ cảnh của bài toán, mục tiêu, giới hạn và đóng góp của đề tài Chương II – Các công trình liên quan và kiến thức nền tảng: trình bày một số kiến thức nền tảng để người đọc có thể dễ dàng tiếp cận nội dung các chương sau. Các kiến thức này bao gồm khái niệm về các mô hình điều khiển truy xuất. Chương III – Mô hình HGABAC và mô hình GURAG: Trình bày hai mô hình được sử dụng để nghiên cứu và phân tích là HGABAC và GURAG, một số công thức và thành phần được thể hiện và điều chỉnh cho phù hợp với mục đích nghiên cứu. 4 Chương IV – Hiện thực: Trình bày cách hiện thực phương pháp tiếp cận ngược để giải quyết bài toán sử dụng công cụ MCMT.
Các tiếp cận và sử dụng ngôn ngữ đầu vào cho MCMT. Trình bày các heuristics nhằm làm giảm thời gian phân tích. Chương V – Thử nghiệm: sẽ trình bày phương pháp và kết quả thử nghiệm của chúng tôi. Chương VI - Kết luận và công việc trong tương lai: trình bày các vấn đề đã thực hiện được và chưa thực hiện được của đề tài.
Đưa ra hướng phát triển và mở rộng trong tương lai. 5 CHƯƠNG 2: TỔNG QUAN 1. CÁC CÔNG TRÌNH LIÊN QUAN Năm 2018, Shamik Sural và các cộng sự công bố công trình nghiên cứu về phân tích bảo mật cho mô hình quản trị của mô hình ABAC trong bài báo “Security Analysis of ABAC under an Administrative Model”[7]. Bài báo này nghiên cứu trên mô hình quản trị AMABAC (Administrative Model for ABAC).
Tuy nhiên, nghiên cứu này dựa trên một tập người dùng giới hạn. Vấn đề bùng nổ trạng thái chưa được đề cập đến trong nghiên cứu. CÁC KIẾN THỨC NỀN TẢNG 2. Mô hình điều khiển truy cập Điều khiển truy cập [10] là quá trình xác minh quyền truy cập hạn chế vào tài nguyên hệ thống.
Quá trình điều khiển truy cập là quá trình quyết định xem một người dùng nào đó có được phép xem, sửa hay xóa một tài nguyên nào đó trong hệ thống hay không. Vấn đề bảo vệ tài nguyên hệ thống khỏi tin tặc hoặc những người dùng cơ hội muốn lấy đi những thông tin quan trọng của hệ thống là vấn đề cực kỳ quan trọng trong lĩnh vực an ninh đối với các hệ thống máy tính. Từ nhu cầu bảo vệ tài nguyên của hệ thống máy tính mà hàng loạt các mô hình điều khiển truy cập ra đời và phát triển. Những mô hình điều khiển truy cập sớm nhất xuất hiện là mô hình điều khiển truy cập tùy quyền (Discretionary Access Control [11]) và mô hình điều khiển truy cập bắt buộc (Mandatory Access Control [12]) xuất hiện vào đầu những năm 1970.
Cả hai mô hình điều khiển truy cập tùy quyền và điều khiển truy cập bắt buộc đều xuất hiện những điểm yếu cố hữu sau một thời gian được ứng dụng trong thực tế. Các tin tặc có thể tận dụng được những điểm yếu cố hữu này để tấn công các hệ thống sử dụng mô hình điều khiển truy cập tùy quyền và mô hình điều 6 khiển truy cập bắt buộc. Do vậy, mô hình điều khiển truy cập dựa trên vai trò (Role - based access control [13] [14]) xuất hiện và thay thế các mô hình điều khiển truy cập tùy quyền và bắt buộc. Tuy nhiên các hệ thống máy tính càng ngày càng có xu hướng mở rộng với số lượng người dùng ngày càng lớn, số lượng các chính sách bảo mật và sự phức tạp ngày càng tăng.
Do vậy, các nghiên cứu gần đây có xu hướng tìm kiếm một mô hình mới thay thế cho mô hình điều khiển truy cập dựa trên vai trò. Do đó, mô hình điều khiển truy cập dựa trên thuộc tính ra đời, với tính linh hoạt và khả năng mở rộng cao, mô hình điều khiển truy cập dựa trên thuộc tính nổi lên như một mô hình điều khiển truy xuất thay thế cho mô hình điều khiển truy xuất dựa trên vai trò trong tương lai gần. Mô hình điều khiển truy cập dựa trên vai trò (RBAC) Mô hình điều khiển truy cập dựa trên vai trò lần đầu tiên được giới thiệu bởi D. Richard Kuhn và David Ferraiolo vào năm 1992 [4].
Sau đó mô hình RBAC được phát triển bởi R. Sandhu và các cộng sự vào năm 1996 [5]. Đến năm 2000, Sandhu, Ferraiolo, và Kuhn đã đề xuất một tiêu chuẩn thống nhất cho mô hình RBAC [6]. Năm 2004, tiêu chuẩn đã được thông qua với tên gọi INCITS 359-2004 bởi Viện Tiêu Chuẩn và Kỹ Thuật Quốc Gia Hoa Kỳ (NIST).
Các hệ thống điều khiển truy xuất dựa trên vai trò kiến tạo vai trò (role) để đảm nhận các công việc khác nhau. Đồng thời các vai trò gắn liền với các quyền hạn nhất định của người dùng trong hệ thống. Vì người dùng được cấp quyền một cách gián tiếp thông qua các vai trò, nên việc quản lý hệ thống trở nên đơn giản hơn. Mô hình RBAC gồm 2 thành phần chính: User to role assignment (UA) và Role to permission assignment (PA).
UA quản lý việc gắn các vai trò cho người dùng trong khi PA quản lý việc gán quyền cho vai trò. Sau đây là ví dụ về UA và PA. 7 UA PA Alice Student Student Read O1 Bob Teacher Teacher Write O2 Shan TA TA Read O2 Rose Student Khi hệ thống điều khiển truy cập dựa trên vai trò trở lên phức tạp hơn, với số lượng người dùng và vai trò lớn, những ràng buộc trở nên phức tạp. Một người dùng có thể sở hữu cùng lúc nhiều vai trò.
Với mỗi bối cảnh cụ thể, người dùng có thể được kích hoạt các vai trò khác nhau, vì vậy một số mô hình điều khiển truy xuất dựa trên vai trò có thêm những ràng buộc như không gian và thời gian ra đời. Mô hình điều khiển truy cập dựa trên thuộc tính (ABAC) Do những hạn chế của mô hình RBAC mô ABAC được ra đời và phát triển theo rất nhiều hướng khác nhau. rất nhiều mô hình đã được giới thiệu, trong đó mô hình ABACα [3] được giới thiệu năm 2012 bởi Ravi Sandhu và các đồng nghiệp trở thành mô hình cơ sở phát triển cho các mô hình ABAC khác. Trong mô hình ABAC, quyền truy cập được được cấp cho người dùng thông qua việc sử dụng các chính sách kết hợp các thuộc tính với nhau.
Hệ thống phân bổ thuộc tính cho người dùng dựa trên vai trò, nhiệm vụ và đặc điểm riêng của người dùng. Hệ thống đồng thời quản lý quyền truy cập dựa trên các chính sách kết hợp các thuộc tính. Một người dùng cần phải sở hữu một tập hữu hạn các thuộc tính để có thể thực hiện các truy cập mong muốn. Trong mô hình ABACα, người dùng thực hiện các quyền truy cập này gián tiếp thông qua các chủ thể (subject).
Các thành phần cơ bản của mô hình ABAC được thể hiện trong hình sau. 1 Cấu trúc mô hình ABAC [3] Trong đó U,S,O lần lượt tương ứng với tập người dùng, chủ thể và đối tượng. UA, SA, OA lần lượt tương ứng với tập thuộc tính của người dùng, chủ thể và đối tượng. P là hàm kiểm soát truy cập quyết định liệu chủ thể “s” có thể truy cập vào đối tượng “o” hay không.
9 CHƯƠNG 3: MÔ HÌNH HGABAC VÀ MÔ HÌNH GURAG 1. MÔ HÌNH HGABAC Năm 2014, Sylvia L. Osborn và các đồng sự đã giới thiệu mô hình phân cấp nhóm và điều khiển truy cập dựa trên thuộc tính (HGABAC) [2]. Mô hình HGABAC được phát triển từ mô hình ABACα.
Mô hình HGABAC cải thiện được nhiều nhược điểm của mô hình ABACα trước đây và có thể sớm được triển khai trên thực tế. Mô tả mô hình HGABAC Trong mô hình HGABAC, các thực thể (entity) của mô hình là người dùng (user), đối tượng (object) và chủ thể (subject). Đối tượng là tài nguyên của hệ thống (tệp, ứng dụng, v. Người dùng truy cập gián tiếp vào các đối tượng thông qua chủ thể.
Các chủ thể được tạo ra bởi người dùng (quá trình ‘processes’, phần ‘sections’) khi họ tương tác với hệ thống. Một chủ thể sở hữu các thuộc tính của người dùng tạo ra nó, các thuộc tính này có thể khác nhau theo thời gian nhưng không vượt quá các tập thuộc tính của người dùng tạo ra nó. Chủ thể và người dùng có cùng một tập hợp tối đa các thuộc tính trong khi, các đối tượng có một tập hợp các thuộc tính riêng biệt phản ánh các đặc điểm của chúng. Các hoạt động (operation) là các tác vụ truy cập hệ thống (đọc, ghi) được thực hiện bởi các chủ thể lên các đối tượng.
Các thuộc tính là một tập hợp các giá trị thuộc tính (attribute value). Sự cải tiến của mô hình HGABAC là mô hình được tổ chức theo các nhóm và các nhóm được phân theo các cấp. Người dùng, chủ thể và đối tượng thuộc về các nhóm. Người dùng, chủ thể hoặc đối tượng có các giá trị thuộc tính riêng của mình đồng thời kế thừa các giá trị thuộc tính từ nhóm mà nó thuộc về.
Thay vì thay đổi giá trị thuộc tính cho từng người dùng, admin có thể thay thay đổi giá trị thuộc tính từ nhóm. Do đó, mô hình HGABAC giảm hàng nghìn hành động quản trị bằng cách thay đổi giá trị thuộc tính trên các nhóm thay vì thay đổi giá trị thuộc tính trên hàng nghìn user đơn lẻ. 10 Nhằm đơn giản hóa mô hình HGABAC để dễ dàng hơn trong quá trình phân tích. Tôi tạm thời bỏ qua nhóm và hệ thống phân cấp nhóm trong mô hình HGABAC.
Công thức HGABAC thay thế Trong phần này, tôi sẽ trình bày những công thức của mô hình HGABAC, những công thức này bao gồm những công thức được đề xuất bởi Maanak Gupta và Ravi Sandhu và một số những được thay thế điều chỉnh. Những công thức thay thế này được biến đổi hoặc đơn giản hóa từ những công thức gốc để phù hợp hơn với nghiên cứu của tôi. Những công thức thay thế này không làm thay đổi bản chất của mô hình HGABAC.1 Mô hình khái niệm của HGABAC [1] UA, OA (một tập hợp hữu hạn các thuộc tính người dùng và thuộc tính đối tượng tương ứng) UA ⊆ U × A và OA ⊆ O × A Mô hình khái niệm HGABAC được minh họa trong Hình 1. U là tập người dùng, S là tập chủ thể, O là tập đối tượng, OP là tập hành động quản trị.
UG, OG lần lượt là tập nhóm người dùng và nhóm đối tượng. UA, OA là tập hợp hữu hạn các thuộc tính người dùng và thuộc tính đối tượng. 11 Gọi Au, Ao, lần lượt là tập hữu hạn các thuộc tính của người dùng, thuộc tính của đối tượng. Ta có UA ⊆ U × Au và OA ⊆ O × Ao Hàm ủy quyền Hàm ủy quyền (Authorization Function) [2].